:root{--brand:#354259;--accent:#2b7bb9;--accent-hover:#1f5a87;--bg:#f8f9fa;--card:#ffffff;--ink:#1a1a2e;--muted:#6b7a8d;--line:#e2e8f0;--ok:#16a34a;--warn:#d97706;--bad:#dc2626;--radius:8px;--tap:44px}*{box-sizing:border-box}#root,body,html{height:100%;margin:0}body{background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;-webkit-text-size-adjust:100%;overscroll-behavior:none}body,button{color:var(--ink)}button{font:inherit;min-height:var(--tap);padding:0 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);cursor:pointer}button:active{transform:translateY(1px)}button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.app{display:grid;grid-template-columns:minmax(260px,30%) 1fr;grid-template-rows:1fr auto;height:100%;grid-gap:1px;gap:1px;background:var(--line)}.panel{background:var(--card);overflow:auto}.stack{flex-direction:column;gap:10px;padding:12px}.row,.stack{display:flex}.row{gap:8px;align-items:center;flex-wrap:wrap}.grow{flex:1 1}.h,.muted{color:var(--muted)}.h{font-weight:600;font-size:13px;letter-spacing:.04em;text-transform:uppercase}.sheet{touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;display:block}.totalbar{grid-column:1/-1;background:var(--brand);color:#fff;display:flex;gap:18px;align-items:center;padding:10px 14px;min-height:56px}.totalbar b{font-size:19px}.totalbar button{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}.totalbar button[aria-pressed=true]{background:#fff;color:var(--brand);border-color:#fff}.chip{border:1px solid var(--line);border-radius:999px;padding:8px 12px;min-height:var(--tap);background:var(--card)}.warnbox{border-left:3px solid var(--warn);background:#fffaf3;padding:10px;border-radius:var(--radius)}.qcard{border:1px solid var(--line);border-radius:var(--radius);padding:10px}.hint{font-size:13px;color:var(--muted)}table.lines{width:100%;border-collapse:collapse;font-size:13px}table.lines td{border-bottom:1px solid var(--line);padding:6px 4px;vertical-align:top}table.lines td.n{text-align:right;white-space:nowrap}.worktop{display:flex;flex-direction:column;gap:12px}.worksheet{height:min(34vh,270px);border:1px solid var(--line);border-radius:var(--radius)}.workside{min-height:120px}.surfacelist{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.surfacelist button{flex:0 0 auto}@media (max-width:820px){.app{grid-template-columns:1fr;grid-template-rows:38vh 1fr auto}}.uploadpulse{height:100%;width:35%;background:var(--accent);border-radius:2px;animation:uploadpulse 1.6s ease-in-out infinite}@keyframes uploadpulse{0%{transform:translateX(-100%)}to{transform:translateX(300%)}}