:root { --ink:#eaf5ee; --muted:#9eaea5; --line:rgba(226,255,235,.12); --panel:rgba(16,31,26,.78); --green:#7ce2a1; --yellow:#f5d46c; --bg:#07130f; }
* { box-sizing:border-box; } body { margin:0; min-width:320px; color:var(--ink); font-family:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; background:radial-gradient(circle at 8% 0%, #174f3a 0, transparent 30rem), radial-gradient(circle at 88% 18%, #533f1c 0, transparent 26rem), var(--bg); }
button,input { font:inherit; } button { cursor:pointer; } .shell { max-width:1440px; margin:auto; padding:44px 28px 64px; }.hero { display:flex; justify-content:space-between; align-items:start; gap:24px; padding:8px 0 38px; }.eyebrow,.label { margin:0 0 8px; color:var(--green); font-size:11px; letter-spacing:.16em; font-weight:700; }.hero h1 { margin:0; font-family:Georgia,serif; font-size:clamp(36px,5vw,67px); font-weight:500; line-height:1.05; }.lede { max-width:590px; margin:15px 0 0; color:var(--muted); line-height:1.7; }.status,.count { white-space:nowrap; border:1px solid var(--line); color:var(--muted); border-radius:99px; padding:7px 10px; font-size:12px; }.workspace { display:grid; grid-template-columns:minmax(290px,360px) 1fr; gap:18px; }.panel { border:1px solid var(--line); background:var(--panel); box-shadow:0 20px 60px rgba(0,0,0,.2); backdrop-filter:blur(12px); border-radius:18px; }.inventory { padding:20px; }.panel-heading { display:flex; justify-content:space-between; align-items:start; gap:12px; }.panel h2 { font-size:18px; margin:0; }.drop-zone { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:145px; margin:21px 0; padding:18px; border:1px dashed rgba(124,226,161,.45); border-radius:14px; color:var(--green); background:rgba(67,151,101,.07); text-align:center; cursor:pointer; }.drop-zone input { display:none; }.drop-zone small,.hint { display:block; margin-top:7px; color:var(--muted); font-size:12px; line-height:1.5; }.drop-icon { margin-bottom:4px; font-size:30px; }.field-label { display:block; margin:16px 0 8px; color:var(--muted); font-size:12px; }.search-wrap { position:relative; } input { width:100%; padding:12px 13px; border:1px solid var(--line); border-radius:10px; color:var(--ink); outline:none; background:rgba(0,0,0,.18); } input:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(124,226,161,.1); }.search-results { max-height:230px; overflow:auto; }.search-wrap .search-results { position:absolute; z-index:4; top:calc(100% + 5px); width:100%; background:#10241c; border-radius:10px; }.search-result { display:flex; width:100%; justify-content:space-between; padding:10px 12px; color:var(--ink); border:0; border-bottom:1px solid var(--line); text-align:left; background:transparent; }.search-result:hover { background:rgba(124,226,161,.12); }.search-result small { color:var(--muted); }.chip-list { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }.pal-chip { display:flex; gap:7px; align-items:center; border:1px solid rgba(124,226,161,.3); border-radius:99px; padding:6px 8px 6px 9px; color:var(--ink); background:rgba(124,226,161,.08); font-size:12px; }.pal-chip:hover { border-color:#ef8e84; }.dex { color:var(--green); font-variant-numeric:tabular-nums; }.remove { color:var(--muted); }.planner { min-width:0; display:grid; gap:18px; }.target { padding:22px; }.target-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; margin-top:18px; }.primary { border:0; border-radius:10px; padding:0 17px; color:#052313; font-weight:750; background:var(--green); }.primary:disabled { cursor:not-allowed; opacity:.4; }.target-results { margin-top:8px; border-radius:10px; background:rgba(0,0,0,.12); }.selected-target { margin-top:14px; color:var(--muted); font-size:13px; }.selected-target strong { color:var(--yellow); }.result-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.result-panel { padding:22px; min-height:380px; }.result-list,.route-result { margin-top:18px; }.empty-state { color:var(--muted); font-size:14px; line-height:1.65; }.result-card { display:block; width:100%; margin:9px 0; padding:12px; border:1px solid var(--line); border-radius:11px; color:var(--ink); text-align:left; background:rgba(255,255,255,.025); }.result-card:hover { border-color:var(--green); }.result-card strong { display:block; }.result-card small { display:block; margin-top:5px; color:var(--muted); }.route-step { display:grid; grid-template-columns:30px 1fr; gap:11px; padding:0 0 16px; }.route-step:not(:last-child) .step-number:after { content:""; display:block; width:1px; height:40px; margin:7px auto 0; background:var(--line); }.step-number { color:var(--green); font-size:12px; text-align:center; }.route-step strong { color:var(--yellow); }.scan-result { margin:-10px 0 18px; color:var(--muted); font-size:12px; line-height:1.5; }.scan-result button { margin:4px 4px 0 0; border:1px solid var(--line); border-radius:7px; padding:5px 7px; color:var(--ink); background:transparent; font-size:12px; }
@media (max-width:900px) { .workspace,.result-grid { grid-template-columns:1fr; }.hero { display:block; }.status { display:inline-block; margin-top:18px; } }
@media (max-width:520px) { .shell { padding:24px 15px; }.target-row { grid-template-columns:1fr; }.primary { min-height:44px; } }
.capture-helper { margin:22px 0; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.capture-helper h3 { margin:0; font-size:16px; }.picker-toolbar { display:flex; align-items:center; justify-content:space-between; gap:6px; margin:12px 0 8px; }.subtle { border:1px solid var(--line); border-radius:8px; padding:6px 8px; color:var(--muted); background:transparent; font-size:11px; }.subtle:disabled { opacity:.35; cursor:not-allowed; }.picker-page { color:var(--muted); font-size:11px; }.pal-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; max-height:430px; overflow:auto; }.picker-card { min-height:44px; padding:7px; border:1px solid var(--line); border-radius:8px; color:var(--ink); text-align:left; background:rgba(0,0,0,.13); }.picker-card:hover { border-color:var(--yellow); }.picker-card.selected { border-color:var(--green); background:rgba(124,226,161,.14); }.picker-card span { display:block; color:var(--green); font-size:10px; }.picker-card strong { display:block; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.route-register { display:block; margin-top:8px; border:1px solid rgba(124,226,161,.45); border-radius:7px; padding:5px 8px; color:var(--green); background:rgba(124,226,161,.08); font-size:11px; }.route-register:hover { background:rgba(124,226,161,.18); }.route-register:disabled { border-color:var(--line); color:var(--muted); background:transparent; cursor:default; }
.route-heading { margin:0 0 13px; color:var(--green); font-size:12px; font-weight:700; }.alternative-heading { margin-top:8px; padding-top:16px; border-top:1px solid var(--line); }.alternative-route { display:flex; width:100%; justify-content:space-between; gap:10px; margin:7px 0; padding:9px 10px; border:1px solid var(--line); border-radius:8px; color:var(--ink); text-align:left; background:rgba(255,255,255,.025); font-size:12px; }.alternative-route:hover,.alternative-route.active { border-color:var(--yellow); background:rgba(245,212,108,.08); }.alternative-route small { color:var(--muted); white-space:nowrap; }
.route-note { margin:-4px 0 14px; color:var(--muted); font-size:11px; line-height:1.55; }
.hero-statuses { display:grid; justify-items:end; gap:8px; }.account { display:flex; align-items:center; justify-content:space-between; gap:22px; margin:-13px 0 22px; padding:17px 20px; }.account h2 { margin:0; font-size:17px; }.account-copy .hint { max-width:570px; margin-bottom:0; }.auth-form,.signed-in-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }.auth-form[hidden],.signed-in-actions[hidden] { display:none; }.auth-form input { width:190px; padding:9px 10px; font-size:13px; }.auth-form .primary { min-height:38px; padding:0 13px; }.signed-in-email { max-width:210px; overflow:hidden; text-overflow:ellipsis; color:var(--muted); font-size:12px; white-space:nowrap; }.danger { color:#efaaa2; border-color:rgba(239,170,162,.3); }.sync-status { border-color:rgba(124,226,161,.28); } .sync-status.error { border-color:rgba(239,170,162,.4); color:#efaaa2; }
@media (max-width:900px) { .hero-statuses { justify-items:start; }.account { display:block; }.auth-form,.signed-in-actions { justify-content:flex-start; margin-top:14px; }.auth-form input { flex:1 1 190px; } }
