:root{--bg:#f6f6f3;--surface:#fff;--surface-2:#fbfbf9;--ink:#17242b;--muted:#5c6873;--faint:#8a949e;--border:#e6e7e2;--border-strong:#d3d6cf;--accent:#0d6e5f;--accent-strong:#094f44;--accent-soft:#e7f1ee;--warn:#a4610b;--warn-soft:#fbf1e2;--error:#b3261e;--radius-card:10px;--radius-btn:7px;--shadow-card:0 1px 2px #17242b0d;--font:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.75}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon{vertical-align:-.18em;flex:none;display:inline-block}.container{max-width:960px;margin:0 auto;padding:0 16px}.header{background:var(--surface);border-bottom:1px solid var(--border)}.header .container{justify-content:space-between;align-items:center;height:56px;display:flex}.logo{letter-spacing:.02em;color:var(--ink);align-items:center;gap:9px;font-size:17px;font-weight:700;text-decoration:none;display:inline-flex}.logo .logo-mark{color:var(--accent);display:inline-flex}.header-link{color:var(--accent);border:1px solid var(--border-strong);border-radius:var(--radius-btn);cursor:pointer;background:0 0;padding:6px 14px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none}.header-link:hover{background:var(--accent-soft);border-color:var(--accent)}.hero{text-align:left;max-width:720px;padding:52px 16px 20px}.hero h1{letter-spacing:.01em;margin:0 0 14px;font-size:32px;font-weight:700;line-height:1.35}.hero .sub{color:var(--muted);max-width:620px;margin:0 0 24px;font-size:15px}.badges{flex-wrap:wrap;justify-content:flex-start;gap:10px;display:flex}.badge{background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);border-radius:999px;align-items:center;gap:7px;padding:6px 14px 6px 12px;font-size:13px;font-weight:600;display:inline-flex}.badge .icon{color:var(--accent)}.stepper{justify-content:flex-start;gap:10px;padding:22px 0 26px;display:flex}.step-item{color:var(--faint);cursor:default;background:0 0;border:none;align-items:center;gap:8px;padding:0 6px 0 0;font-family:inherit;font-size:14px;display:flex}.step-item:not(:last-child):after{content:"";background:var(--border-strong);width:22px;height:1px;margin-left:4px}.step-item.clickable{cursor:pointer}.step-dot{border:1.5px solid var(--border-strong);background:var(--surface);width:26px;height:26px;color:var(--faint);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.step-item.current .step-dot{background:var(--accent);border-color:var(--accent);color:#fff}.step-item.current{color:var(--ink);font-weight:700}.step-item.done .step-dot{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.step-item.done{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-bottom:16px;padding:24px}.btn{border-radius:var(--radius-btn);cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);justify-content:center;align-items:center;gap:7px;padding:10px 18px;font-family:inherit;font-size:15px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:var(--faint)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 1px 2px #0d6e5f40}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-locked{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 40%, transparent);color:var(--warn)}.actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.dropzone{border:2px dashed var(--border);border-radius:var(--radius-card);min-height:180px;color:var(--muted);cursor:pointer;text-align:center;background:var(--surface);flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;padding:24px;font-family:inherit;font-size:15px;display:flex}.dropzone:hover{border-color:var(--border-strong);background:var(--surface-2)}.dropzone.dragover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.dropzone .dz-icon{color:var(--faint);display:inline-flex}.dropzone.dragover .dz-icon{color:var(--accent)}.sample-link{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:12px;font-family:inherit;font-size:14px;text-decoration:underline}.filecard{border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface);flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;padding:12px 16px;display:flex}.filecard .fname{font-weight:600}.pill{background:var(--accent-soft);color:var(--accent-strong);letter-spacing:.02em;border-radius:6px;padding:2px 9px;font-size:12px;font-weight:700}.pill.unknown{background:var(--warn-soft);color:var(--warn)}.filemeta{color:var(--muted);font-size:13px}.filemeta .haserr{color:var(--warn);font-weight:600}.del-btn{cursor:pointer;color:var(--faint);background:0 0;border:none;border-radius:6px;align-items:center;margin-left:auto;padding:4px;transition:color .15s,background .15s;display:inline-flex}.del-btn:hover{color:var(--error);background:color-mix(in srgb, var(--error) 8%, transparent)}.mapping{flex-wrap:wrap;gap:8px;width:100%;margin-top:8px;display:flex}.mapping label{color:var(--muted);flex-direction:column;gap:2px;font-size:13px;display:flex}select,input[type=text]{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:6px;padding:6px 8px;font-family:inherit;font-size:14px}.filters{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;font-size:14px;display:flex}.filters label{align-items:center;gap:4px;display:inline-flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:8px 12px}th{color:var(--faint);background:var(--surface-2);letter-spacing:.04em;text-transform:none;border-bottom:1px solid var(--border-strong);font-size:11.5px;font-weight:600}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr:hover td{background:var(--surface-2)}td.est{background:var(--warn-soft);position:relative}td.est:hover{background:var(--warn-soft)}td.est .est-label{color:var(--warn);border:1px solid color-mix(in srgb, var(--warn) 35%, transparent);vertical-align:1px;border-radius:4px;margin-left:5px;padding:0 3px;font-size:10px}.warn-ico{color:var(--warn);display:inline-flex}.neg{color:var(--error)}tr.total-row td{border-top:1.5px solid var(--ink);background:var(--surface-2);font-weight:700}.more-note{color:var(--muted);padding:8px 0;font-size:13px}.summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:16px}.stat-card .stat-label{color:var(--muted);font-size:13px}.stat-card .stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:25px;font-weight:700}.stat-card .stat-note{color:var(--warn);align-items:center;gap:4px;margin-top:2px;font-size:12px;display:inline-flex}.band-200k{border-radius:var(--radius-card);background:var(--accent-soft);color:var(--accent-strong);margin-bottom:16px;padding:12px 16px;font-size:14px}.band-200k.over{background:var(--warn-soft);color:var(--warn)}.band-200k .fine{opacity:.85;font-size:12px;display:block}.export-card h3{margin:0 0 4px;font-size:16px}.export-card p{color:var(--muted);margin:0 0 12px;font-size:14px}.export-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.tax-toggle{gap:12px;font-size:14px;display:flex}details.accordion{margin-top:8px}details.accordion summary{cursor:pointer;color:var(--accent);font-size:14px}details.accordion .acc-body{color:var(--muted);padding:8px 0;font-size:13px}dialog{border:1px solid var(--border);border-radius:var(--radius-card);width:90%;max-width:420px;font-family:var(--font);color:var(--ink);padding:24px;box-shadow:0 8px 30px #1f293333}dialog::backdrop{background:#1f293366}dialog h2{margin:0 0 8px;font-size:20px}dialog p{color:var(--muted);font-size:14px}dialog input{width:100%;margin:8px 0}.dialog-error{color:var(--error);min-height:20px;font-size:13px}.dialog-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.buy-link{color:var(--accent);align-items:center;gap:5px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.buy-link:hover{text-decoration:underline}.toast{background:var(--ink);color:#fff;box-shadow:var(--shadow-card);z-index:50;border-radius:999px;padding:10px 24px;font-size:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.footer{border-top:1px solid var(--border);color:var(--muted);margin-top:48px;padding:24px 0 48px;font-size:12px}.footer .disclaimer{white-space:pre-line;margin-bottom:8px}.warn-text{color:var(--warn);font-size:13px}.error-text{color:var(--error);font-size:13px}@media (max-width:640px){.summary-grid{grid-template-columns:repeat(2,1fr)}.stepper{gap:12px}.step-item .step-label{display:none}.step-item.current .step-label{display:inline}.actions .btn{flex:1}.hero h1{font-size:22px}}.hstack{gap:8px;display:flex}.hidden{display:none}.ta-center{text-align:center}.spacer-24{height:24px}
