:root{color-scheme:dark;--navy: #0C2340;--primary: #007FA3;--primary-hover: #006B8A;--accent: #64A70B;--card: #FFFFFF;--card-dark: #1A3050;--surface: #1A3050;--surface-elevated: #243B5C;--border: #2D4A6F;--divider: #1E3A5F;--text: #FFFFFF;--text-secondary: #94A3B8;--text-muted: #6B7280;--text-on-light: #0C2340;--red: #DC2626;--amber: #D97706}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--navy);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%}.screen{min-height:100dvh;padding:24px}.center{display:flex;align-items:center;justify-content:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;width:100%;max-width:380px;box-shadow:0 12px 40px #00000059}.login{display:flex;flex-direction:column;gap:14px}.login-logo{width:100%;max-width:260px;margin:4px auto 12px;display:block}.login label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-secondary)}.login input{padding:11px 13px;border-radius:10px;border:1px solid var(--border);background:var(--navy);color:var(--text);font-size:16px}.login input:focus{outline:none;border-color:var(--primary)}.err{color:#fca5a5;font-size:13px}.primary{padding:12px 16px;border-radius:10px;border:none;cursor:pointer;background:var(--primary);color:#fff;font-weight:700;font-size:15px}.primary:hover{background:var(--primary-hover)}.primary:disabled{opacity:.6;cursor:default}.ghost{background:transparent;border:1px solid var(--border);color:var(--text);border-radius:8px;padding:7px 12px;cursor:pointer;font-size:13px}.app{min-height:100dvh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--card-dark);border-bottom:1px solid var(--border)}.brand-pill{background:#fff;border-radius:8px;padding:6px;display:inline-flex}.brand-pill img{height:30px;width:auto;display:block}.brand-name{font-weight:800;letter-spacing:-.01em}.topbar .ghost{margin-left:auto}.ready{text-align:center;max-width:420px}.ready-badge{width:56px;height:56px;border-radius:50%;margin:0 auto 14px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;border:2px solid var(--accent)}.ready h1{font-size:22px;margin:0 0 8px}.muted{color:var(--text-secondary);font-size:14px}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.main{flex:1;padding:14px;max-width:760px;width:100%;margin:0 auto}.dash{display:flex;flex-direction:column;gap:14px}.sm{font-size:12px}.unit{font-size:.72em;color:var(--text-secondary);margin-left:2px}.tabs{display:flex;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:4px}.tab{flex:1;padding:9px 12px;border-radius:9px;border:none;cursor:pointer;background:transparent;color:var(--text-secondary);font-weight:700;font-size:14px}.tab.on{background:var(--primary);color:#fff}.county-toggle{align-self:flex-start}.county-filter{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px}.county-actions{display:flex;gap:6px;margin-bottom:8px}.county-chips{display:flex;flex-wrap:wrap;gap:6px}.cchip{padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--card-dark);color:var(--text-secondary);font-size:13px;cursor:pointer}.cchip.on{background:color-mix(in srgb,var(--primary) 22%,transparent);border-color:var(--primary);color:var(--text)}.mini.ghost{padding:5px 10px;font-size:12px}.drop{border:2px dashed var(--border);border-radius:16px;background:var(--surface);padding:40px 20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;margin-top:8vh}.drop-over{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.drop-icon{width:52px;height:52px;border-radius:50%;margin:0 auto 12px;font-size:26px;font-weight:700;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.drop-title{font-weight:700;font-size:16px;margin-bottom:4px}.summary{display:flex;flex-direction:column;gap:10px}.summary-file{display:flex;align-items:center;justify-content:space-between;gap:10px}.summary-name{font-weight:700;word-break:break-all}.chips{display:flex;gap:8px}.chip{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.chip-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.chip-value{font-weight:800;font-size:17px}.chip.good .chip-value{color:var(--accent)}.chip.bad .chip-value{color:#f87171}.warn{font-size:12px;color:var(--amber)}.cards{display:flex;flex-direction:column;gap:10px}.pcard{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 12px 10px}.pcard-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.pcard-name{font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:var(--surface-elevated);color:var(--text-secondary);border-radius:6px;padding:2px 6px}.tag.amber{background:color-mix(in srgb,var(--amber) 22%,transparent);color:var(--amber)}.goal-btn{background:var(--surface-elevated);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:5px 10px;font-weight:800;cursor:pointer;font-size:14px;white-space:nowrap}.goal-edit{display:inline-flex;gap:5px;align-items:center}.goal-edit input{width:68px;padding:6px 8px;border-radius:8px;border:1px solid var(--primary);background:var(--navy);color:var(--text);font-size:15px}.mini{padding:6px 9px;border-radius:8px;border:none;cursor:pointer;font-weight:800}.weeks{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(74px,1fr);gap:6px;overflow-x:auto;padding-bottom:4px}.wk{background:var(--card-dark);border:1px solid var(--border);border-radius:10px;padding:7px 8px;min-width:74px}.wk-label{font-size:10.5px;color:var(--text-secondary);white-space:nowrap}.wk-val{font-weight:800;font-size:15px}.wk-bar{height:4px;border-radius:3px;background:var(--border);margin-top:5px;overflow:hidden}.wk-bar span{display:block;height:100%;background:var(--text-secondary)}.wk.good{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.wk.good .wk-bar span{background:var(--accent)}.wk.warn .wk-bar span{background:var(--amber)}.wk.bad{border-color:color-mix(in srgb,#f87171 45%,var(--border))}.wk.bad .wk-bar span{background:#f87171}.pcard-foot{display:flex;gap:8px;margin-top:10px;border-top:1px solid var(--divider);padding-top:9px}.foot{flex:1;display:flex;flex-direction:column;gap:1px}.foot-label{font-size:10.5px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.foot-value{font-weight:800;font-size:15px}.foot.good .foot-value{color:var(--accent)}.foot.bad .foot-value{color:#f87171}.manage-toggle{align-self:flex-start}.manage{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px}.manage-add{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.manage-add input,.manage-add select{padding:9px 10px;border-radius:9px;border:1px solid var(--border);background:var(--navy);color:var(--text);font-size:14px}.manage-add input:first-child{flex:1;min-width:160px}.manage-add input[type=number]{width:84px}.manage-add .primary{padding:9px 12px}.manage-list{display:flex;flex-direction:column}.manage-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:7px 2px;border-top:1px solid var(--divider);font-size:14px}@media(min-width:620px){.cards{display:grid;grid-template-columns:1fr 1fr}}
