:root{--bg:#fff;--surface-1:#fafbfc;--surface-2:#f4f5f7;--border:#e8eaed;--border-strong:#d0d5dd;--text-1:#111827;--text-2:#4b5563;--text-3:#6b7280;--text-4:#9ca3af;--accent:#1d4ed8;--accent-hover:#1e40af;--accent-pressed:#1e3a8a;--accent-soft:#eff4ff;--expense:#b91c1c;--income:#047857;--ok:#047857;--ok-soft:#ecfdf5;--warning:#b45309;--warning-soft:#fffbeb;--danger:#dc2626;--danger-soft:#fef2f2;--font-sans:Geist, "Noto Sans JP", system-ui, sans-serif;--font-mono:"Geist Mono", "SFMono-Regular", ui-monospace, monospace}*{box-sizing:border-box}body{background:var(--bg);color:var(--text-1);font-family:var(--font-sans);margin:0}button,input,select{font:inherit}:focus-visible{outline:1px solid var(--accent);box-shadow:0 0 0 3px #1d4ed826}.top-nav{z-index:10;border-bottom:1px solid var(--border);background:var(--bg);justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.brand,.nav-links a,.section-header a,.ai-notice a{color:inherit;text-decoration:none}.brand{align-items:center;gap:8px;font-weight:600;display:flex}.brand-mark{border:1px solid var(--border-strong);width:28px;height:28px;color:var(--accent);font-family:var(--font-mono);border-radius:8px;place-items:center;font-size:14px;display:inline-grid}.nav-links{gap:4px;display:flex}.nav-links a{color:var(--text-2);border-radius:8px;padding:9px 12px 8px;font-size:14px;font-weight:500}.nav-links a.active{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.nav-links a:hover{background:var(--surface-2)}.app-shell{width:min(100%,720px);margin:0 auto;padding:0 24px 64px}.hero{text-align:center;padding:48px 0}.eyebrow,.hero-meta,.section-header span,.review-row p,.ai-notice p,.foundation-item small{color:var(--text-3)}.eyebrow{margin:0 0 12px;font-size:14px}.hero h1{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:0;margin:0;font-size:56px;line-height:1}.hero-meta{margin:12px 0 0;font-size:13px}.progress{background:var(--surface-2);border-radius:999px;width:min(320px,100%);height:6px;margin:16px auto 0;overflow:hidden}.progress span,.bar span{border-radius:inherit;background:var(--accent);height:100%;display:block}.ok-line{color:var(--ok);align-items:center;gap:6px;margin:12px 0 0;font-size:14px;font-weight:500;display:inline-flex}.section{border-top:1px solid var(--border);padding:32px 0}.section-header{align-items:baseline;gap:8px;display:flex}.section-header h2,.summary h2,.foundation h2{margin:0;font-size:18px;line-height:1.3}.section-header a{color:var(--accent);margin-left:auto;font-size:14px;font-weight:500}.review-list{margin-top:12px}.review-row{border-bottom:1px solid var(--border);grid-template-columns:56px minmax(0,1fr) 112px auto;align-items:center;gap:16px;padding:16px 0;display:grid}.review-row time,.review-row p,.category-row span{font-size:13px}.review-row h3{overflow-wrap:anywhere;margin:0;font-size:15px}.review-row p{margin:4px 0 0}.review-row strong,.amount-row strong,.category-row strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.review-row strong,.expense{color:var(--expense)}.income{color:var(--income)}.row-actions{gap:8px;display:flex}.primary-button,.secondary-button{border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.primary-button{background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-hover)}.secondary-button{border:1px solid var(--border-strong);background:var(--bg);color:var(--text-1)}.compact{min-height:32px;padding:0 12px;font-size:13px}.summary-grid{grid-template-columns:1fr 1fr;gap:48px;margin-top:20px;display:grid}.summary h3{margin:0 0 12px;font-size:15px}.amount-row,.category-row{align-items:center;margin:0;padding:8px 0;display:grid}.amount-row{grid-template-columns:1fr auto}.category-row{grid-template-columns:64px 1fr 96px;gap:12px}.bar{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.bar span{background:var(--text-3)}.ai-notice{background:var(--accent-soft);border:1px solid #1d4ed859;border-radius:12px;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;padding:16px 20px;display:grid}.ai-badge{background:var(--accent);color:#fff;border-radius:6px;place-items:center;width:24px;height:24px;font-size:11px;font-weight:600;display:inline-grid}.ai-notice h2{margin:0;font-size:15px}.ai-notice p{color:var(--text-2);margin:4px 0 0;font-size:14px}.ai-notice a{color:var(--accent);font-size:14px;font-weight:500}.ai-disclosure{background:var(--accent-soft);border:1px solid #1d4ed847;border-radius:8px;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:12px;padding:14px 16px;display:grid}.ai-disclosure strong{font-size:14px;display:block}.ai-disclosure p{color:var(--text-2);margin:4px 0 0;font-size:13px;line-height:1.6}.foundation{padding:32px 0}.foundation-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;display:grid}.foundation-item{border:1px solid var(--border);border-radius:8px;gap:4px;min-height:120px;padding:16px;display:grid}.foundation-item span{color:var(--accent)}@media (width<=760px){.top-nav{padding:0 20px}.nav-links{display:none}.app-shell{padding:0 20px 80px}.hero{padding:40px 0}.review-row{grid-template-columns:44px minmax(0,1fr) auto}.row-actions{grid-column:2/-1;justify-content:flex-end}.summary-grid,.foundation-grid{grid-template-columns:1fr;gap:16px}.ai-notice{grid-template-columns:28px 1fr}.ai-notice a{grid-column:2}}.top-action{white-space:nowrap}.app-shell.wide{width:min(100%,1040px)}.page-heading{gap:8px;padding:32px 0 20px;display:grid}.page-heading.horizontal{grid-template-columns:1fr auto;align-items:end}.page-heading.compact-heading{padding-bottom:8px}.page-heading h1{margin:0;font-size:30px;line-height:1.2}.page-heading p,.back-link,.login-status,.login-footer,.filter-box span,.search-box span,.candidate-card p,.candidate-date,.warning-callout p,.drop-zone p,.file-row p,.import-modal p,.mapping-panel span,.settings-row p,.usage-row small{color:var(--text-3)}.back-link{width:fit-content;margin-top:24px;font-size:14px;text-decoration:none;display:inline-flex}.chips,.filter-bar,.card-actions,.message-actions,.suggestions,.pagination div,.import-modal footer{flex-wrap:wrap;gap:8px;display:flex}.chip,.pagination button,.evidence-box button,.suggestions button,.import-modal header button,.settings-row button{border:1px solid var(--border);background:var(--bg);min-height:34px;color:var(--text-2);font:inherit;border-radius:8px}.chip{padding:0 14px}.chip.active,.pagination button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.candidate-stack,.file-list,.chat-window,.settings-card,.settings-list{gap:12px;display:grid}.candidate-stack,.upload-section,.chat-window,.settings-card,.settings-list{margin-top:20px}.candidate-card{border:1px solid var(--border);background:var(--bg);border-radius:8px;grid-template-columns:132px minmax(0,1fr) auto;gap:14px 20px;padding:20px;display:grid}.candidate-date{align-content:start;gap:8px;font-size:13px;display:grid}.candidate-date mark,.transaction-row mark,.file-row mark,.status,.plan-badge{border:1px solid var(--border);background:var(--surface-2);width:fit-content;color:var(--text-2);border-radius:8px;padding:4px 8px;font-size:12px}.candidate-main{gap:12px;display:flex}.candidate-main h2{margin:0;font-size:18px}.candidate-amount{color:var(--expense);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;font-size:18px}.category-icon,.avatar,.file-icon{background:var(--surface-2);width:40px;height:40px;color:var(--accent);border-radius:8px;flex:0 0 40px;place-items:center;font-weight:600;display:inline-grid}.warning-callout{background:#d9770614;border:1px solid #d9770659;border-radius:8px;grid-column:2/-1;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.warning-callout p{color:#78350f}.warning{color:#92400e;border-color:#d977068c}.evidence-link{width:fit-content;color:var(--accent);font:inherit;background:0 0;border:0;grid-column:2/-1;font-size:14px}.card-actions{grid-column:2/-1;justify-content:flex-end}.filter-bar{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:16px}.filter-box,.search-box{flex:1;gap:6px;min-width:180px;font-size:13px;display:grid}.filter-box button,.search-box div,.input-row,.composer-row{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:0 12px;display:flex}.filter-box button:focus-visible,.search-box div:focus-within,.input-row:focus-within,.composer-row:focus-within{border-color:var(--accent);outline:1px solid var(--accent);box-shadow:0 0 0 3px #1d4ed826}.filter-box button{color:var(--text-1);font:inherit;justify-content:space-between}.search-box input,.input-row input,.composer-row input{min-width:0;color:var(--text-1);font:inherit;background:0 0;border:0;outline:0;flex:1}.transaction-table{border:1px solid var(--border);border-radius:8px;margin-top:20px;overflow:auto}.transaction-header,.transaction-row{border-bottom:1px solid var(--border);grid-template-columns:36px 92px minmax(180px,1fr) 120px 120px 110px 92px;align-items:center;gap:12px;min-width:800px;padding:12px 16px;display:grid}.transaction-header{background:var(--surface);color:var(--text-3);font-size:12px;font-weight:600}.transaction-row{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border-left:0;border-right:0;font-size:14px}.transaction-row.selected{background:var(--accent-soft)}.checkbox{border:1px solid var(--border-strong);border-radius:5px;place-items:center;width:18px;height:18px;display:inline-grid}.checkbox.checked{border-color:var(--accent);background:var(--accent)}.checkbox.checked:after{color:#fff;content:"✓";font-size:12px}.pagination{color:var(--text-3);justify-content:space-between;align-items:center;margin-top:18px;font-size:14px;display:flex}.login-page{background:var(--surface);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{width:min(100%,420px)}.login-brand{align-items:center;gap:12px;margin-bottom:24px;font-size:22px;display:flex}.brand-mark.large{width:40px;height:40px;font-size:18px}.auth-card{border:1px solid var(--border);background:var(--bg);border-radius:8px;gap:12px;padding:20px;display:grid}.full{width:100%}.login-footer{justify-content:center;gap:8px;font-size:13px;display:flex}.login-footer a{color:inherit}.chat-window{padding-bottom:96px}.user-message,.ai-message{border-radius:8px;width:fit-content;max-width:88%;padding:14px 16px}.user-message{background:var(--text-1);color:var(--bg);justify-self:end}.ai-message{border:1px solid var(--border);background:var(--bg);gap:12px;display:grid}.ai-message-head,.evidence-box p,.check-list div,.settings-row,.settings-list-row,.usage-row{align-items:center;gap:10px;display:flex}.evidence-box{background:var(--surface);border-radius:8px;gap:8px;padding:12px;display:grid}.evidence-box p{grid-template-columns:68px minmax(0,1fr) 88px auto;margin:0;display:grid}.check-list{gap:8px;display:grid}.check-list span{background:var(--ok);color:#fff;border-radius:6px;place-items:center;width:18px;height:18px;display:inline-grid}.chat-composer{background:var(--bg);padding:12px 0 20px;position:sticky;bottom:0}.composer-row button{background:var(--accent);color:#fff;border:0;border-radius:8px;place-items:center;width:40px;height:40px;display:inline-grid}.suggestions{margin-top:10px}.suggestions button{padding:0 12px}.drop-zone{border:1px dashed var(--border-strong);background:var(--surface);text-align:center;border-radius:8px;place-items:center;gap:10px;min-height:220px;display:grid}.file-row{border-bottom:1px solid var(--border);grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 0;display:grid}.file-row h3,.settings-card h2{margin:0;font-size:16px}.file-icon.pdf{color:#b91c1c;background:#dc26261a}.file-icon.csv{color:#14532d;background:#16a34a1a}.status.processing{color:#92400e;background:#d977061a}.status.completed{color:#15803d;background:#16a34a1a}.danger{color:var(--expense)}.modal-overlay{z-index:20;background:#0f172a73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.import-modal{background:var(--bg);border-radius:8px;gap:16px;width:min(100%,760px);max-height:calc(100vh - 48px);padding:20px;display:grid;overflow:auto}.import-modal header{justify-content:space-between;align-items:start;display:flex}.edit-modal{width:min(100%,520px)}.edit-candidate-form{gap:12px;display:grid}.edit-candidate-form label{color:var(--text-2);gap:6px;font-size:13px;display:grid}.edit-candidate-form input{border:1px solid var(--border);background:var(--bg);width:100%;min-height:40px;color:var(--text-1);font:inherit;border-radius:8px;padding:0 10px}.form-status{color:var(--expense);margin:0;font-size:13px}.mapping-panel{border:1px solid var(--border);border-radius:8px;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:12px;display:grid}.mapping-panel strong,.mapping-panel span{grid-column:1/-1}.mapping-panel label{gap:6px;font-size:13px;display:grid}.mapping-panel select{border:1px solid var(--border);background:var(--bg);border-radius:8px;min-height:36px}.preview-table{border:1px solid var(--border);border-radius:8px;display:grid;overflow:hidden}.preview-row{border:0;border-bottom:1px solid var(--border);width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;grid-template-columns:36px 92px minmax(0,1fr) 124px 100px;align-items:center;gap:10px;padding:12px;display:grid}.settings-card,.settings-list{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:16px}.settings-row>div{flex:1}.settings-row button{align-items:center;padding:0 10px;display:inline-flex}.plan-badge{border-color:var(--accent);background:var(--accent);color:#fff}.usage-row{grid-template-columns:28px minmax(120px,1fr) minmax(120px,2fr) 52px;padding:10px 0;display:grid}.usage-track{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.usage-track span{border-radius:inherit;background:var(--accent);height:100%;display:block}.settings-group-title{color:var(--text-3);margin:24px 0 0;font-size:13px}.settings-list-row{width:100%;min-height:42px;color:var(--text-1);font:inherit;background:0 0;border:0;text-decoration:none}.settings-list-row span{text-align:left;flex:1}.danger-row{color:var(--expense)}.danger-zone{background:var(--danger-soft);border-color:#dc262659}.support-card{margin-top:12px}.support-form{gap:12px;display:grid}.support-form label{color:var(--text-2);gap:6px;font-size:13px;display:grid}.support-form select,.support-form textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-1);font:inherit;border-radius:8px}.support-form select{min-height:38px;padding:0 10px}.support-form textarea{resize:vertical;min-height:120px;padding:10px}@media (width<=760px){.top-action{display:none}.hero h1{font-size:44px}.page-heading h1{font-size:26px}.page-heading.horizontal,.candidate-card,.warning-callout,.file-row,.usage-row,.mapping-panel{grid-template-columns:1fr}.candidate-amount{text-align:left}.warning-callout,.evidence-link,.card-actions{grid-column:auto}.filter-box,.search-box{min-width:100%}.evidence-box p,.preview-row{grid-template-columns:1fr}.user-message,.ai-message{max-width:100%}.modal-overlay{padding:12px}}.empty-state{color:var(--text-3);text-align:center;padding:40px 0}.evidence-detail{border-left:2px solid var(--accent);background:var(--surface-1);border-radius:6px;grid-column:2/-1;gap:6px;padding:12px 14px;font-size:13px;display:grid}.evidence-detail small{color:var(--text-3)}button[disabled]{opacity:.55;cursor:not-allowed}.composer-row input[disabled]{background:var(--surface-2)}.notice-row{border:1px solid var(--border);background:var(--surface-1);color:var(--text-2);border-radius:8px;align-items:center;gap:8px;margin:12px 0;padding:12px 14px;font-size:13px;display:flex}.notice-row.warning{background:var(--warning-soft);color:#92400e;border-color:#b4530959}
