:root {color-scheme: light; --ink:#202126; --muted:#71717c; --line:#e8e5e4; --surface:#fff; --canvas:#f8f7f5; --wine:#5e1521; --wine-dark:#3f0e17; --gold:#b8975a; --success:#19734c; --danger:#a42335; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-size:14px;line-height:1.5}h1,h2,h3,p{margin-top:0}h1{font-size:34px;line-height:1.2;letter-spacing:-1.2px;margin:10px 0 14px}h2{font-size:20px;letter-spacing:-.5px;margin:0 0 8px}h3{font-size:14px;margin:25px 0 12px}.muted{color:var(--muted)}.small-text{font-size:13px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;color:var(--wine)}.topbar{background:#fff;border-bottom:1px solid var(--line)}.topbar-inner{max-width:1150px;padding:15px 26px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit}.brand strong{display:block;font-size:16px}.brand span{display:block;font-size:11px;color:var(--muted)}.logo-mark{background:var(--wine);color:#fff;width:52px;height:52px;display:grid;place-items:center;border-radius:13px;font-weight:800;letter-spacing:-1px;font-size:23px}.logo-mark span{color:#edc78c}.logo-mark.small{width:38px;height:38px;font-size:17px;border-radius:9px}.top-actions{display:flex;gap:15px;align-items:center}.tag{display:inline-flex;padding:5px 10px;border-radius:999px;background:#f3f1ef;color:#706c67;font-size:11px;font-weight:700;white-space:nowrap}.tag.good{background:#eaf7ee;color:var(--success)}.tag.bad{background:#ffeaed;color:var(--danger)}.container{max-width:1150px;margin:auto;padding:38px 26px 40px}.compact-container{max-width:950px}.page-heading{max-width:740px;margin-bottom:28px}.page-heading p{color:var(--muted);font-size:15px}.cards-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{position:relative;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 20px rgba(37,32,31,.025)}.panel-number{position:absolute;top:25px;right:27px;color:#eee9e3;font-size:36px;font-weight:800;line-height:1}.stack{display:flex;flex-direction:column;gap:11px}.stack.compact{gap:8px;margin-top:17px}.stack>label,.stack.compact>label,.stack>div>label{font-weight:600;font-size:12px;color:#464148}input,select{border:1px solid #d7d4d1;border-radius:9px;background:#fff;color:var(--ink);font-family:inherit;font-size:14px;padding:12px 13px;width:100%;min-width:0}input:focus,select:focus{outline:2px solid #c6a8a8;outline-offset:1px;border-color:var(--wine)}button{font-family:inherit;cursor:pointer;transition:background .15s ease,transform .1s ease;font-size:13px;font-weight:700;border-radius:9px;padding:12px 16px;border:1px solid transparent}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--wine);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:12px}.btn-primary:hover:not(:disabled){background:var(--wine-dark)}.btn-secondary{background:#fff;color:var(--wine);border:1px solid #d8c7ca;text-decoration:none;display:inline-flex;justify-content:center;align-items:center}.btn-secondary:hover{background:#fdf7f8}.btn-quiet{background:transparent;color:var(--muted);border-color:transparent;padding:8px;text-decoration:none}.btn-quiet:hover{color:var(--wine)}.notice{border:1px solid #cdded5;background:#eff8f2;border-radius:9px;color:#22613e;padding:12px 15px;margin:16px 0;font-size:13px}.notice.error{background:#fff0f0;border-color:#f2cdd0;color:#8c2030}.shop-list{display:grid;gap:7px;margin:17px 0}.shop-row{display:flex;align-items:center;gap:11px;padding:10px;background:#faf9f8;border:1px solid #f1efed;border-radius:9px}.shop-row>div:nth-child(2){min-width:0;flex:1}.shop-row strong{display:block;font-size:13px}.shop-row span:not(.tag){font-size:11px;display:block;color:var(--muted);overflow-wrap:anywhere}.shop-icon{width:32px;height:32px;background:#dbefe2;color:#2a7250;display:grid;place-items:center;font-weight:800;border-radius:8px}.disclosure{border-top:1px solid var(--line);padding-top:14px;margin-top:16px}.disclosure summary{font-weight:650;color:var(--wine);cursor:pointer;font-size:13px}.disclosure[open] summary{margin-bottom:12px}.hint{font-size:11px;line-height:1.65;color:var(--muted);margin:3px 0 7px}.hint code,.pill-list code{font-size:11px;background:#f2f1f0;padding:2px 4px;border-radius:4px}.file-zone{border:1.5px dashed #cfbdc0;background:#fdfbfb;padding:20px 18px;text-align:center;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:4px}.file-zone span{font-size:12px;color:var(--muted)}.file-zone input{border:none;padding:8px;font-size:11px;max-width:330px}.file-icon{font-size:31px;color:var(--wine)}.result-panel,.history-panel{margin-top:23px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:21px}.section-head p{font-size:13px;margin:0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0 20px}.stat{background:#f8f5f3;border:1px solid #eee9e6;border-radius:10px;padding:18px}.stat strong{display:block;font-size:25px;letter-spacing:-.8px;color:var(--wine);line-height:1.3}.stat span{font-size:11px;color:var(--muted);display:block;margin-top:7px}.pill-list{display:flex;gap:8px;flex-wrap:wrap;max-height:180px;overflow:auto}.history-list{display:grid;gap:6px}.history-row{display:flex;justify-content:space-between;align-items:center;padding:12px 7px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.history-row:last-child{border-bottom:none}.history-row strong,.history-row span{display:block}.history-row div span{font-size:12px;color:var(--muted)}.history-row:hover strong{color:var(--wine)}.empty-state{padding:20px;border:1px dashed #ddd5d5;border-radius:10px;color:var(--muted);text-align:center;font-size:13px}footer{font-size:11px;color:#9b9792;text-align:center;padding:35px 0 10px}.auth-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#f3e7e5,#f8f7f5 65%)}.login-card{width:min(100%,440px);background:#fff;border:1px solid #eee8e7;border-radius:18px;box-shadow:0 20px 60px rgba(72,30,30,.07);padding:42px}.login-card .eyebrow{margin-top:22px}.login-card h1{font-size:29px}.login-card .muted{margin-bottom:30px}.login-card .stack label{font-weight:650;font-size:12px}.footnote{font-size:11px;margin-top:30px;color:var(--muted)}.hidden{display:none!important}.progress-track{height:10px;border-radius:10px;background:#f0ece9;overflow:hidden}.progress-track>div{height:100%;width:0;background:linear-gradient(90deg,var(--wine),var(--gold));transition:width .3s ease}.console{background:#28252a;color:#f3ede9;border-radius:12px;padding:19px;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto;min-height:140px;max-height:440px;white-space:pre-wrap;overflow-wrap:anywhere}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
@media(max-width:800px){.container{padding:26px 15px}.cards-row{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.panel{padding:22px}.topbar-inner{padding:13px 15px}.page-heading h1{font-size:28px}.login-card{padding:29px}.top-actions .tag{display:none}}
.setup-banner{display:flex;align-items:flex-start;gap:15px;margin:0 0 22px;padding:22px 24px;border:1px solid #e7d9c7;background:linear-gradient(125deg,#fffdf9,#fbf4ed);border-radius:15px}.setup-banner-icon{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:9px;background:#e7f3e8;color:#277344;font-weight:800;font-size:18px}.setup-banner-body{min-width:0}.setup-banner h2{font-size:18px;letter-spacing:-.3px;margin:5px 0 8px}.setup-banner p{margin:0;color:#625f60;font-size:13px;line-height:1.55}.setup-banner code{overflow-wrap:anywhere}.setup-steps{display:flex;flex-wrap:wrap;gap:9px 16px;margin:14px 0}.setup-steps span{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#51454a}.setup-steps strong{display:inline-grid;place-items:center;flex-shrink:0;width:22px;height:22px;border-radius:50%;background:#5e1521;color:#fff;font-size:11px}.setup-banner .setup-footnote{color:#8b7677;font-size:11px}@media(max-width:800px){.setup-banner{padding:17px 16px;gap:11px}.setup-banner h2{font-size:16px}.setup-steps{flex-direction:column;align-items:flex-start}}
