.login-shell{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:#f3f7f6;color:#203b3e}.login{width:100%;max-width:430px;padding:36px;background:#fff;border:1px solid #dce6e3;border-radius:20px;box-shadow:0 12px 40px #12382f0a}.login .brand-mark{color:#147d68}.login .brand-mark svg{width:40px;height:40px}.login .brand{font-size:18px;font-weight:700;margin:4px 0 30px}.login h1{font-size:26px;letter-spacing:-.6px;margin:0 0 8px}.login .intro{margin:0 0 30px;color:#5b6d70;font-size:15px}.login label{display:block;font-size:14px;font-weight:600;margin:18px 0 8px}.login input{width:100%;font:inherit;padding:12px;border:1px solid #aabfba;border-radius:8px;min-width:0}.login .password-row{display:flex;position:relative}.login .password-row input{padding-right:70px}.login .password-row button{position:absolute;right:4px;top:4px;bottom:4px;border:0;background:none;color:#286456;padding:8px;font-size:14px}.login button{cursor:pointer;font:inherit;border-radius:8px;min-height:42px}.login button:disabled{cursor:wait;opacity:.6}.login .primary,.login .google{width:100%;padding:12px 16px;margin-top:22px;font-weight:600}.login .primary{background:#176d5d;border:1px solid #176d5d;color:#fff}.login .google{margin:0;background:#fff;color:#203b3e;border:1px solid #aabfba}.login .link{display:inline-block;color:#176d5d;border:0;background:transparent;font-size:14px;padding:12px 0;text-decoration:underline}.login .divider{text-align:center;color:#849591;border-bottom:1px solid #e3ebe8;line-height:0;margin:18px 0 28px}.login .divider span{background:#fff;padding:0 12px}.login [role=status]{font-size:14px;line-height:1.5;min-height:20px}.login .access-note{font-size:12px;line-height:1.5;color:#6f7f7c;margin-bottom:0}.login input:focus-visible,.login button:focus-visible{outline:3px solid #72bfb0;outline-offset:2px}@media(max-width:480px){.login{padding:28px 22px}}:root{--bg: #eef3f4;--surface: #ffffff;--ink: #14303a;--muted: #56696f;--line: #d3dee1;--accent: #1d5f74;--accent-ink: #ffffff;--accent-soft: #e2eff3;--focus: #2b86a8;--green-bg: #e2f3e9;--green-fg: #145c36;--green-line: #74bf95;--yellow-bg: #fcf0d2;--yellow-fg: #6f4600;--yellow-line: #deae4a;--red-bg: #fbe3e0;--red-fg: #962016;--red-line: #e0958d;--late-bg: #fde9dc;--late-fg: #8a3510;--late-line: #e8a27a;--demo-bg: #fde7f3;--demo-fg: #86134f;--font-display: "Figtree", "Segoe UI", system-ui, sans-serif;--font-body: "Atkinson Hyperlegible", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--radius: 14px;--radius-sm: 10px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0e191d;--surface: #152429;--ink: #e3eef0;--muted: #9db2b8;--line: #2a3f46;--accent: #7cc4d8;--accent-ink: #0e191d;--accent-soft: #1b3440;--focus: #9fd8ea;--green-bg: #12301f;--green-fg: #95e0b4;--green-line: #2f7a50;--yellow-bg: #33280e;--yellow-fg: #f4cc72;--yellow-line: #86661f;--red-bg: #3b1714;--red-fg: #ffa39a;--red-line: #88352c;--late-bg: #3a2113;--late-fg: #ffbf94;--late-line: #8e4f2a;--demo-bg: #3a1229;--demo-fg: #ffb3da;color-scheme:dark}}:root[data-theme=dark]{--bg: #0e191d;--surface: #152429;--ink: #e3eef0;--muted: #9db2b8;--line: #2a3f46;--accent: #7cc4d8;--accent-ink: #0e191d;--accent-soft: #1b3440;--focus: #9fd8ea;--green-bg: #12301f;--green-fg: #95e0b4;--green-line: #2f7a50;--yellow-bg: #33280e;--yellow-fg: #f4cc72;--yellow-line: #86661f;--red-bg: #3b1714;--red-fg: #ffa39a;--red-line: #88352c;--late-bg: #3a2113;--late-fg: #ffbf94;--late-line: #8e4f2a;--demo-bg: #3a1229;--demo-fg: #ffb3da;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.5}button,input{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}a{color:var(--accent)}.shell{max-width:640px;margin:0 auto;padding-inline:16px;padding-block:16px 40px;display:flex;flex-direction:column;gap:16px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink)}.brand-name{display:block;font-family:var(--font-display);font-weight:800;font-size:1.05rem;letter-spacing:.01em;line-height:1.1}.brand-sub{display:block;color:var(--muted);font-size:.85rem}.lede{margin:0;color:var(--muted);max-width:60ch}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.form{display:flex;flex-direction:column;gap:22px}.form-fields{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:22px}.form-fields:disabled{opacity:.7}.q{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:8px}.q-prompt{font-family:var(--font-display);font-weight:700;font-size:1.05rem;line-height:1.3;padding:0;text-wrap:balance}.q-prompt-lg{font-size:1.3rem}.q-help{margin:-4px 0 0;color:var(--muted);font-size:.9rem}.followups{display:flex;flex-direction:column;gap:22px;padding-top:20px;border-top:1px dashed var(--line)}.followups-intro{margin:0;color:var(--muted);font-size:.95rem}.search{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);font-size:1rem}.dest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.dest{display:flex;align-items:center;gap:10px;text-align:left;min-height:56px;padding:10px 12px;cursor:pointer;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-sm)}.dest:hover{border-color:var(--accent)}.dest.is-on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.dest-name{font-weight:700;line-height:1.2}.dest-other .dest-name{font-weight:400;color:var(--muted)}.seg{display:grid;gap:8px;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr))}.seg-2{--cols: 2}.seg-3{--cols: 3}.seg-4{--cols: 4}@media(max-width:520px){.seg-4{--cols: 2}}.seg-opt{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;padding:8px 10px;cursor:pointer;font-weight:700;line-height:1.2;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.seg-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.seg-opt:hover{border-color:var(--accent)}.seg-opt:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.seg-opt.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.seg-opt.is-unsure:not(.is-on){font-weight:400;color:var(--muted);border-style:dashed}.date-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.date-input{min-height:52px;padding:8px 12px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-size:1.05rem;font-variant-numeric:tabular-nums;min-width:0;flex:1 1 200px;max-width:280px}.date-input:disabled{opacity:.45}.check{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:8px 14px;cursor:pointer;border:1.5px dashed var(--line);border-radius:var(--radius-sm);color:var(--muted)}.check.is-on{border-style:solid;border-color:var(--accent);color:var(--ink);background:var(--accent-soft)}.check input{width:20px;height:20px;accent-color:var(--accent)}.submit-row{display:flex;flex-direction:column;gap:8px;padding-top:4px}.btn-check{width:100%;min-height:60px;border:0;border-radius:var(--radius);cursor:pointer;background:var(--accent);color:var(--accent-ink);font-family:var(--font-display);font-weight:800;font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase}.btn-check:disabled{opacity:.4;cursor:not-allowed}.missing{margin:0;color:var(--muted);font-size:.9rem;text-align:center}.warn-demo{margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--demo-bg);color:var(--demo-fg);font-weight:700}.api-error{margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--red-bg);color:var(--red-fg);font-weight:700}.status-line{margin:0;color:var(--muted);font-size:.92rem}.btn-link{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font-weight:700}.btn-ghost{background:transparent;border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;color:var(--muted)}.btn-ghost:hover{color:var(--ink);border-color:var(--ink)}.btn-new{background:var(--ink);color:var(--bg);border:0;border-radius:999px;padding:10px 18px;cursor:pointer;font-weight:700;min-height:44px}.btn-small{align-self:flex-start;background:var(--surface);border:1.5px solid var(--accent);color:var(--accent);border-radius:999px;padding:8px 16px;cursor:pointer;font-weight:700;min-height:44px}.result-wrap{display:flex;flex-direction:column;gap:16px}.result-actions,.result-footer{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}.result{border-radius:var(--radius);border:2px solid;overflow:hidden;display:flex;flex-direction:column}.result-doable{background:var(--green-bg);color:var(--green-fg);border-color:var(--green-line)}.result-review{background:var(--yellow-bg);color:var(--yellow-fg);border-color:var(--yellow-line)}.result-not_by_date{background:var(--late-bg);color:var(--late-fg);border-color:var(--late-line)}.result-cannot{background:var(--red-bg);color:var(--red-fg);border-color:var(--red-line)}.ticket{display:flex;flex-wrap:wrap;gap:6px 18px;padding:10px 20px;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;border-bottom:2px dashed currentColor;opacity:.9}.result-main{display:flex;gap:16px;padding:24px 20px 20px;align-items:flex-start}.result-icon svg{width:56px;height:56px;flex:none}.result-text{min-width:0}.result-label{margin:0;font-family:var(--font-display);font-weight:800;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase}.result h2{margin:2px 0 8px;font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,6vw,2.6rem);line-height:1.05;text-wrap:balance}.result h2:focus{outline:none}.result-summary{margin:0;font-size:1.05rem;color:var(--ink);max-width:55ch}.earliest{display:flex;flex-direction:column;gap:2px;margin:0 20px 20px;padding:12px 16px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--red-line)}.earliest-label{font-size:.85rem;color:var(--muted)}.earliest-date{font-family:var(--font-display);font-weight:800;font-size:1.4rem;color:var(--ink);font-variant-numeric:tabular-nums}.result .warn-demo{margin:16px 20px 0}.sections{display:flex;flex-direction:column;gap:24px}.sections section{display:flex;flex-direction:column;gap:8px}.sections h3{margin:0;font-family:var(--font-display);font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.reasons,.steps,.todos{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:6px}.steps li::marker{font-weight:700;color:var(--accent)}.todos{list-style:none;padding:0}.todos li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--bg)}.todo-by{font-family:var(--font-mono);font-size:.85rem;color:var(--muted);white-space:nowrap}.script{margin:0;padding:14px 16px;border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:1.08rem;line-height:1.55}.muted{color:var(--muted);margin:0;font-size:.92rem}.disclaimer{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:.95rem}.copy-fallback{margin:0;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);white-space:pre-wrap;font-family:var(--font-mono);font-size:.85rem;-webkit-user-select:all;user-select:all}.foot{color:var(--muted);font-size:.85rem;text-align:center}@media(max-width:480px){.card{padding:16px}.result-main{padding:20px 16px 16px;gap:12px}.result-icon svg{width:44px;height:44px}.ticket{padding:10px 16px}.earliest{margin:0 16px 16px}.result-actions .btn-new,.result-footer .btn-new{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
