*{box-sizing:border-box}:root{--bg:#f7f8f5;--surface:#fff;--surface-soft:#eef5f1;--text:#15211d;--muted:#60716a;--border:#d9e0dc;--accent:#1f6b5d;--accent-strong:#155247;--warning:#fff5d7;--warning-border:#e6c05c;--danger:#a53b31;--shadow:0 14px 34px #15211d14}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Yu Gothic,Meiryo,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh;padding-bottom:82px}.page{width:min(1180px,100%);margin:0 auto;padding:18px}.two-column{grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);align-items:start;gap:14px;display:grid}.hero,.page-header-card,.panel,.metric-card,.import-card,.check-summary{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px}.hero{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:22px;display:flex}.hero>div,.page-header-card>div,.panel>div{min-width:0}.hero h1,.page-header-card h1,.panel h1{letter-spacing:0;overflow-wrap:anywhere;margin:0;font-size:1.55rem;line-height:1.3}.hero p,.page-header-card p,.panel p{color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0;line-height:1.7}.page-header-card,.panel{margin-bottom:14px;padding:18px}.panel h2,.history-list h2{margin:0 0 12px;font-size:1.08rem}.comparison-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.metric-card{align-content:space-between;gap:8px;min-height:132px;padding:16px;display:grid}.metric-card span{color:var(--muted);font-size:.86rem;font-weight:700}.metric-card strong{overflow-wrap:anywhere;font-size:1.45rem;line-height:1.2;display:block}.metric-card small,.list-card small,.check-item small,.import-card small{color:var(--muted);line-height:1.5}.warning-banner{background:var(--warning);border:1px solid var(--warning-border);color:#62480d;overflow-wrap:anywhere;border-radius:8px;margin-bottom:12px;padding:12px 14px;font-weight:700}.success-banner{color:#155247;overflow-wrap:anywhere;background:#e7f6ef;border:1px solid #9fcfba;border-radius:8px;margin-bottom:12px;padding:12px 14px;font-weight:700}.action-strip,.button-row,.choice-grid,.check-summary{gap:10px;display:grid}.action-strip{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.button-row{grid-template-columns:repeat(4,minmax(0,1fr))}.button-row--split{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0}.check-summary{grid-template-columns:1fr 1fr minmax(180px,.6fr);align-items:stretch;margin-bottom:14px;padding:12px}.button{color:#193a33;text-align:center;background:#fff;border:1px solid #bfd0ca;border-radius:8px;min-height:44px;padding:10px 12px;font-weight:700}.button--primary{background:var(--accent);border-color:var(--accent);color:#fff}.button--primary:hover{background:var(--accent-strong)}.button--danger{color:var(--danger);border-color:#d5a19b}.button--full{width:100%}.field{gap:6px;margin-bottom:12px;display:grid}.field span{font-size:.9rem;font-weight:800}input,select,textarea{width:100%;color:var(--text);background:#fff;border:1px solid #cbd7d2;border-radius:8px;min-height:44px;padding:11px 12px}textarea{resize:vertical;min-height:88px}.ai-json-panel,.manual-section,.support-section{border:1px solid var(--border);background:#fff;border-radius:8px;gap:12px;margin-bottom:16px;padding:14px;display:grid}.ai-json-panel{background:#f4fbf8;border-color:#9fcec1}.ai-json-panel h2,.manual-section h2{margin:0;font-size:1.05rem}.json-paste{min-height:160px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.5}.json-note{color:var(--muted);margin:0;font-size:.9rem;line-height:1.6}.json-review-card{background:#fff;border:1px solid #bdd8cf;border-radius:8px;gap:8px;padding:12px;display:grid}.json-review-card small,.json-review-card span{color:var(--muted);overflow-wrap:anywhere}.support-section summary{cursor:pointer;color:var(--accent-strong);font-weight:800}.preview{object-fit:contain;border:1px solid var(--border);background:#f2f4f1;border-radius:8px;width:100%;max-height:360px;margin-top:12px;display:block}.ocr-box{color:#e8f5ef;white-space:pre-wrap;background:#15211d;border-radius:8px;max-height:180px;padding:12px;overflow:auto}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.summary-line{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.history-list{gap:10px;display:grid}.master-list{gap:8px;display:grid}.master-row{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:72px minmax(0,1fr) 92px;align-items:center;gap:8px;padding:8px;display:grid}.master-row--category{grid-template-columns:72px minmax(0,1fr) 92px 104px}.master-row>span{color:var(--muted);font-weight:800}.master-row label{color:#40534d;white-space:nowrap;align-items:center;gap:6px;font-weight:800;display:flex}.master-row input[type=checkbox]{width:auto;min-height:auto}.inline-edit-row{border-top:1px solid var(--border);grid-template-columns:minmax(120px,1fr) minmax(90px,.6fr) minmax(120px,.8fr) 86px 96px;align-items:center;gap:8px;padding:8px 0;display:grid}.inline-edit-row label{color:#40534d;align-items:center;gap:6px;font-weight:800;display:flex}.inline-edit-row input[type=checkbox]{width:auto;min-height:auto}.line-items-box{border:1px solid var(--border);background:#f9fbf8;border-radius:8px;gap:10px;margin-top:10px;padding:12px;display:grid}.line-item-card{border:1px solid var(--border);background:#fff;border-radius:8px;gap:8px;padding:12px;display:grid}.check-label{align-items:center;gap:8px;font-weight:800;display:flex}.check-label input{width:auto;min-height:auto}.prompt-details{gap:8px;display:grid}.prompt-details summary{cursor:pointer;color:var(--accent);font-weight:800}.prompt-details pre{border:1px solid var(--border);max-height:260px;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f8f5;border-radius:8px;padding:12px;font-size:.82rem;line-height:1.55;overflow:auto}.list-card,.check-item,.row-card{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.list-card{grid-template-columns:minmax(0,1fr) auto minmax(120px,170px) auto}.list-card div,.check-item div{gap:4px;min-width:0;display:grid}.list-card span,.check-item span,.row-card span{color:var(--muted);overflow-wrap:anywhere}.is-focused{border-color:var(--accent);outline:3px solid #1f6b5d3d}.empty-state{text-align:center;color:var(--muted);background:#fff;border:1px dashed #b8c7c2;border-radius:8px;padding:28px}.monthly-flow{grid-template-columns:repeat(7,minmax(110px,1fr));gap:8px;margin-bottom:14px;display:grid;overflow-x:auto}.monthly-flow div{text-align:center;background:var(--surface-soft);border:1px solid #cfe0d8;border-radius:8px;place-items:center;min-height:72px;padding:12px;font-size:.88rem;font-weight:800;display:grid}.diff-table{gap:6px;max-height:360px;margin-top:12px;display:grid;overflow:auto}.diff-table>div{background:#f6f8f5;border-radius:8px;grid-template-columns:120px 80px minmax(0,1fr) minmax(0,1fr);gap:8px;padding:10px;font-size:.84rem;display:grid}.diff-table span{overflow-wrap:anywhere}.bottom-nav{z-index:10;background:#c9d3ce;border-top:1px solid #bdcac4;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#40534d;overflow-wrap:anywhere;background:#fff;border:0;min-width:0;min-height:60px;padding:8px 4px;font-size:.82rem;font-weight:800}.bottom-nav .is-active{background:var(--surface-soft);color:var(--accent)}@media (width<=920px){.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column{grid-template-columns:1fr}.action-strip,.button-row{grid-template-columns:repeat(2,minmax(0,1fr))}.check-summary{grid-template-columns:1fr}}@media (width<=640px){.page{padding:12px}.hero h1,.page-header-card h1,.panel h1{font-size:1.32rem}.hero,.section-head{flex-direction:column;align-items:stretch}.comparison-grid,.action-strip,.button-row,.choice-grid,.master-row,.master-row--category,.inline-edit-row{grid-template-columns:1fr}.metric-card{min-height:116px}.list-card,.check-item,.row-card{grid-template-columns:1fr;align-items:stretch}.diff-table>div{grid-template-columns:1fr}.bottom-nav button{font-size:.72rem}}
