:root{color-scheme:light;--paper: #ffffff;--surface: #faf9f6;--surface-raised: #f2f0ea;--line: #e3e0d8;--line-strong: #cfcbc0;--ink: #000000;--ink-body: #24231f;--ink-soft: #55524c;--ink-faint: #6e6a62;--gold: #cbb452;--olive: #c9ba5f;--orange: #ff8235;--burgundy: #703235;--sky: #a6c7d3;--gold-ink: #7d691c;--orange-ink: #a5480d;--sky-ink: #3e6c80;--accent: var(--gold);--accent-ink: var(--gold-ink);--danger: var(--burgundy);--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-sans: "Jost", "Segoe UI", system-ui, -apple-system, Helvetica, Arial, sans-serif;--font-mono: Consolas, "Courier New", monospace;--radius: 4px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .04)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink-body);font-family:var(--font-sans);font-size:.9375rem;font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem;flex-wrap:wrap;padding:1.15rem 1.5rem;background:var(--paper);border-bottom:1px solid var(--ink)}.brand{display:flex;align-items:center;gap:.9rem}.brand-mark{display:inline-flex;align-items:center;color:var(--ink);text-decoration:none}.brand-mark:hover{color:var(--gold)}.brand-wordmark{height:15px;width:auto;display:block}.brand-divider{width:1px;align-self:stretch;min-height:1.9rem;background:var(--line-strong)}.brand-product{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.brand-title{color:var(--ink);text-decoration:none;font-family:var(--font-display);font-size:1.05rem;font-weight:600;letter-spacing:.005em}.brand-title:hover{color:var(--gold-ink)}.module-tag{color:var(--ink);background:var(--accent);font-size:.66rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;padding:.25rem .6rem;border-radius:999px;white-space:nowrap}.build-badge{color:var(--ink-soft);border:1px solid var(--line-strong);font-size:.66rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;padding:.25rem .6rem;border-radius:999px;white-space:nowrap}.header-side{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}@media(max-width:720px){.brand{flex-wrap:wrap;gap:.5rem .9rem}.brand-divider{display:none}.brand-wordmark{height:13px}.brand-title{font-size:.95rem}}.auth-controls{display:flex;align-items:center;gap:.6rem}.auth-user{color:var(--ink-soft);font-size:.85rem;font-weight:500}.auth-button{background:transparent;color:var(--ink);border:1px solid var(--ink);border-radius:999px;padding:.35rem .95rem;font-family:inherit;font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:background-color .15s ease,color .15s ease}.auth-button:hover{background:var(--ink);color:var(--paper)}.auth-button:focus-visible{outline:2px solid var(--gold-ink);outline-offset:2px}.app-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem 1.5rem 3rem}h2{font-family:var(--font-display);font-size:1.45rem;font-weight:600;color:var(--ink);margin:0 0 .75rem;letter-spacing:.005em}h3{font-size:1rem;font-weight:500;color:var(--ink);margin:0 0 .5rem}.section-head{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.75rem}.section-head h2{margin:0}.count-note{color:var(--ink-soft);font-size:.85rem;font-weight:500}.section-lede{margin:-.25rem 0 1.1rem;max-width:68ch;color:var(--ink-soft);font-size:.88rem}.warnings-card .section-lede{margin:0 0 .55rem}.block-title{margin-top:2rem;color:var(--ink);text-transform:uppercase;font-size:.72rem;font-weight:600;letter-spacing:.16em}.ingest-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-card);padding:1.25rem 1.4rem 1.4rem;margin-bottom:2rem}.ingest-head{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap;margin-bottom:.95rem}.ingest-head h2{margin:0}.ingest-lede{color:var(--ink-soft);font-size:.88rem;flex:1 1 18rem}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;width:100%;padding:1.9rem 1rem;background:var(--paper);border:2px dashed var(--line-strong);border-radius:var(--radius);color:var(--ink-body);font-family:inherit;font-size:.95rem;text-align:center;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.drop-zone:hover:not(:disabled),.drop-zone-active{border-color:var(--orange-ink);background:var(--surface-raised)}.drop-zone:focus-visible{outline:2px solid var(--gold-ink);outline-offset:2px}.drop-zone:disabled{cursor:progress;border-color:var(--orange-ink)}.drop-zone-title{font-weight:500;color:var(--ink)}.drop-zone-action{color:var(--orange-ink);font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em}.drop-zone-hint{margin:.5rem 0 0;color:var(--ink-faint);font-size:.8rem}.file-input{display:none}.ingest-result{margin-top:1.25rem;border-top:1px solid var(--line);padding-top:1.1rem}.ingest-source{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem 1.25rem;margin:0 0 .9rem}.ingest-source dt{color:var(--ink-faint);font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;margin-bottom:.15rem}.ingest-source dd{margin:0;color:var(--ink-body);font-size:.9rem}.wrap-any{overflow-wrap:anywhere}.ingest-headline{margin:0 0 .5rem;color:var(--ink);font-weight:500}.ingest-headline-ok{color:var(--ink)}.ingest-headline-ok:before{content:"";display:block;width:2.5rem;height:3px;background:var(--accent);margin-bottom:.55rem}.ingest-note{margin:0 0 .75rem;color:var(--ink-soft);font-size:.88rem}.ingest-block{margin-top:1rem}.ingest-block h3{color:var(--ink-faint);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;margin-bottom:.4rem}.ingest-block-error h3{color:var(--danger)}.ingest-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.ingest-list li{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);border-left:3px solid var(--accent);padding:.45rem .75rem;color:var(--ink-body);font-size:.88rem}.ingest-list-muted li{background:var(--surface);border-left-color:var(--line-strong);color:var(--ink-soft)}.ingest-block-error .ingest-list li{border-color:#70323559;border-left-color:var(--danger);background:#7032350a;color:var(--ink-body)}.ingest-meta{color:var(--ink-faint);font-size:.8rem}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-card)}table{width:100%;border-collapse:collapse;min-width:720px}th{text-align:left;color:var(--ink-faint);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;padding:.75rem;background:var(--surface);border-bottom:1px solid var(--line-strong);white-space:nowrap}td{padding:.65rem .75rem;border-bottom:1px solid var(--line);color:var(--ink-body);vertical-align:top}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface)}th.num,td.num{text-align:right}.mono{font-family:var(--font-mono);font-size:.86rem}.intake-link{color:var(--ink);text-decoration:none;font-family:var(--font-mono);font-size:.86rem;border-bottom:1px solid var(--accent-ink);padding-bottom:1px}.intake-link:hover{color:var(--accent-ink);border-bottom-color:var(--accent-ink);text-decoration:underline}.pill{display:inline-block;min-width:3.4em;text-align:center;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:500;letter-spacing:.02em}.pill-high{background:var(--accent);color:var(--ink)}.pill-mid{background:#ff823524;color:var(--orange-ink);border:1px solid rgba(255,130,53,.5)}.pill-low{background:#70323514;color:var(--danger);border:1px solid rgba(112,50,53,.45)}.warning-count{color:var(--danger);font-weight:600}.chip-row{display:flex;flex-wrap:wrap;gap:.3rem}.chip{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;font-size:.8rem;line-height:1;white-space:nowrap}.chip-size{background:var(--surface-raised);color:var(--ink);font-weight:600;padding:.3rem .45rem}.chip-qty{color:var(--ink-body);padding:.3rem .45rem}.back-link{display:inline-block;color:var(--ink-soft);text-decoration:none;font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.25rem}.back-link:hover{color:var(--ink)}.detail-head{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}.detail-head h2{margin:0}.po-ref{color:var(--ink-soft);font-family:var(--font-mono);font-size:.95rem}.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1.25rem 1.4rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem 1.25rem;margin:0}.summary-grid dt{color:var(--ink-faint);font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;margin-bottom:.2rem}.summary-grid dd{margin:0;color:var(--ink-body);overflow-wrap:anywhere}.warnings-card{margin-top:1.5rem;background:#7032350a;border:1px solid rgba(112,50,53,.3);border-radius:var(--radius);padding:1rem 1.3rem}.warnings-card h3{color:var(--danger);margin-bottom:.4rem}.warnings-card ul{margin:0;padding-left:1.2rem}.warnings-card li{color:var(--ink-body);margin:.2rem 0}.file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.file-list li{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .8rem}.state-message{color:var(--ink-soft);padding:1rem 0}.state-error{color:var(--danger)}.empty-state{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:3rem 2rem;text-align:center;max-width:560px;margin:3rem auto}.empty-state h2{color:var(--ink);margin-bottom:.5rem}.empty-state p{margin:0;color:var(--ink-soft)}.arrival-banner{margin:0 0 1rem;padding:.7rem 1rem;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:var(--radius);color:var(--ink-body)}.view-switch{margin-left:auto;background:none;border:none;padding:0;font-family:inherit;font-size:.85rem;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.view-switch:hover{color:var(--ink)}.view-switch:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.row-removed td{color:var(--ink-faint)}.row-flag{display:inline-block;margin-left:.5rem;padding:.05rem .4rem;border:1px solid var(--orange);border-radius:var(--radius);color:var(--orange-ink);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}.row-note{display:block;color:var(--ink-faint);font-size:.8rem}.action-confirmation{margin:0 0 1.25rem;padding:.75rem 1rem;background:var(--surface-raised);border:1px solid var(--line-strong);border-left:3px solid var(--ink);border-radius:var(--radius);color:var(--ink);font-weight:500}.action-confirmation:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.removed-banner{margin:0 0 1.25rem;padding:1rem 1.3rem;background:var(--surface-raised);border:1px solid var(--line-strong);border-left:3px solid var(--ink-faint);border-radius:var(--radius)}.removed-headline{margin:0;color:var(--ink);font-weight:500}.removed-reason,.removed-arrival{margin:.35rem 0 0;color:var(--ink-soft);font-size:.9rem}.button-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.action-button{background:var(--paper);border:1px solid var(--ink);border-radius:var(--radius);padding:.4rem .9rem;font-family:inherit;font-size:.88rem;color:var(--ink);cursor:pointer}.action-button:hover:not(:disabled){background:var(--surface-raised)}.action-button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.action-button:disabled{border-color:var(--line-strong);color:var(--ink-faint);cursor:not-allowed}.action-button-strong:not(:disabled){background:var(--ink);color:var(--paper)}.action-button-strong:hover:not(:disabled){background:var(--ink-body)}.action-button-quiet{border-color:var(--line-strong);color:var(--ink-soft)}.remove-section{margin-top:2rem}.remove-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.3rem 1.2rem}.remove-card .block-title{margin-top:0}.reason-panel{margin-top:.75rem}.discard-warning{margin:0 0 .6rem;color:var(--ink-body);font-size:.88rem;font-weight:500}.reason-label{display:block;color:var(--ink-faint);font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;margin-bottom:.35rem}.suggestion-chip{background:var(--paper);border:1px dashed var(--line-strong);border-radius:var(--radius);padding:.2rem .6rem;font-family:inherit;font-size:.82rem;color:var(--ink-soft);cursor:pointer}.suggestion-chip:hover:not(:disabled){border-style:solid;border-color:var(--accent);color:var(--ink)}.suggestion-chip:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.reason-input{display:block;width:100%;margin-top:.5rem;padding:.5rem .65rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);color:var(--ink-body);font-family:inherit;font-size:.9rem;resize:vertical}.reason-input:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.history-list li{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem;background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius);padding:.45rem .75rem;font-size:.88rem}.history-when{color:var(--ink-faint);font-family:var(--font-mono);font-size:.8rem}.history-what{color:var(--ink);font-weight:500}.history-why{color:var(--ink-soft)}.history-why:before{content:"·";margin-right:.5rem;color:var(--ink-faint)}
