:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f7f5;--surface:#fff;--text:#1b2421;--muted:#5b6862;--border:#d5dbd7;--accent:#0f766e;--on-accent:#fff;--danger:#b42318;--ok:#1a7f37;--warn:#9a6700;--radius:10px;--tap:48px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#121816;--surface:#1b2421;--text:#e8efeb;--muted:#a0aca6;--border:#33403a;--accent:#2dd4bf;--on-accent:#06201c;--danger:#ff8a80;--ok:#56d364;--warn:#e3b341}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:17px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{margin:0;font-size:1.15rem}h2{margin:0 0 .5rem;font-size:1.3rem}button,input{font:inherit;color:inherit}button{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;padding:0 1rem}button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}button:disabled{opacity:.55;cursor:default}button.link{min-height:36px;color:var(--danger);background:0 0;border:0;padding:0 .4rem;text-decoration:underline}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted,small{color:var(--muted)}.error{color:var(--danger);margin:.5rem 0}.loading{text-align:center;color:var(--muted);padding:2rem 1rem}.login{max-width:28rem;margin:0 auto;padding:3rem 1rem}.login h1{margin-bottom:1.5rem;font-size:1.6rem}.login form{gap:.5rem;display:grid}.login input{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:0 .75rem}.shell{flex-direction:column;min-height:100dvh;display:flex}.top{z-index:2;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.25rem 1rem;display:flex;position:sticky;top:0}.top h1{flex:auto}.menu-button{width:40px;min-height:40px;padding:0;font-size:1.3rem}.menu,.menu [role=menu]{flex:1 0 100%;gap:.25rem;display:grid}.banner{background:var(--surface);border-bottom:2px solid var(--warn);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.content{flex:1;padding:1rem 1rem 6rem}.tabs{background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;inset:auto 0 0}.tabs a{min-height:56px;color:var(--muted);flex:1;place-items:center;font-weight:600;text-decoration:none;display:grid}.tabs a[aria-current=page]{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.sync{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.sync-state{align-items:center;gap:.4rem;display:inline-flex}.dot{background:var(--warn);border-radius:50%;width:.65rem;height:.65rem}.sync-up_to_date .dot{background:var(--ok)}.sync-error .dot,.sync-update_required .dot,.sync-unauthenticated .dot{background:var(--danger)}.panel{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);flex:1 0 100%;padding:.75rem}.panel header{justify-content:space-between;align-items:center;display:flex}.panel h2{margin:0;font-size:1rem}.panel ul{gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.panel li{display:grid}.panel header{gap:.5rem}.subtabs{gap:.5rem;margin-bottom:1rem;display:flex}.subtabs button{flex:1}.subtabs button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.row{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.4rem 0;display:flex}.row .grow{flex:8rem}.row input[type=search],.row input:not([type]){flex:10rem}input,select{font:inherit;color:inherit;min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-width:100%;padding:0 .6rem}button.danger{background:var(--danger);color:var(--on-accent);border-color:var(--danger)}.group h3,.named-list h3,.recap h3{letter-spacing:.03em;color:var(--muted);margin:.45rem .25rem .1rem;font-size:.8rem;font-weight:600;line-height:1.2}.group ul,.named-list ul,.flat-list,.recap ul{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.item,.named-list li{border-bottom:1px solid var(--border);padding:0 .25rem 0 .75rem}.group li:last-child,.named-list li:last-child,.flat-list li:last-child,.recap li:last-child{border-bottom:0}.line{align-items:center;gap:.1rem;min-height:40px;display:flex}.line .grow{overflow-wrap:anywhere;flex:auto;min-width:0}.tags{margin:-.3rem 0 .4rem;font-size:.8rem;display:block}.icon-btn{width:40px;height:40px;min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;text-decoration:none;display:inline-grid}.icon-btn.is-on{color:var(--warn)}.icon-btn.add-btn{background:var(--accent);color:var(--on-accent)}.icon-btn.fab{right:1rem;bottom:calc(57px + 1rem + env(safe-area-inset-bottom));z-index:2;width:56px;height:56px;position:fixed;box-shadow:0 2px 8px #00000059}.base-items{padding-bottom:3rem}.icon-btn:disabled{opacity:.4}.nested{margin:.25rem 0 0 .75rem}.nested .named-list ul{background:var(--bg)}.badge{background:var(--warn);color:var(--on-accent);border-radius:999px;padding:.1rem .6rem;font-size:.8rem}.item-form{gap:.75rem;display:grid}.item-form label{gap:.25rem;display:grid}.item-form label.check{min-height:var(--tap);align-items:center;gap:.6rem;display:flex}.item-form input[type=checkbox]{width:1.4rem;height:1.4rem;min-height:0}.item-form fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:.25rem .75rem}.departure .dep-bar{top:var(--top-h,56px);z-index:1;background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:.35rem;margin:-1rem -1rem .1rem;padding:.15rem .5rem .3rem;display:flex;position:sticky}.dep-title{flex-direction:column;flex:auto;min-width:0;line-height:1.2;display:flex}.dep-title h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.05rem;overflow:hidden}.dep-title span{font-size:.8rem}.dep-count{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.dep-bar progress{width:100%;height:4px;accent-color:var(--ok);position:absolute;inset:auto 0 0}.tabs-row{margin:.3rem 0 0}.tabs-row button{min-height:32px;padding:0 .8rem}.departure-row .check-row{cursor:pointer;align-items:center;gap:.75rem;min-height:40px;display:flex}.departure-row input[type=checkbox]{width:1.5rem;height:1.5rem;min-height:0;accent-color:var(--ok);flex:none}.departure-row.is-checked strong{color:var(--muted);text-decoration:line-through}.item:has(.departure-row.is-checked){background:var(--bg)}.ticked{margin-top:.7rem}.ticked-toggle{min-height:40px;color:var(--muted);background:0 0;border:0;align-items:center;gap:.3rem;padding:0 .4rem;font-weight:600;display:flex}.recap{margin-top:1rem}.recap-line select{flex:0 11rem;min-height:40px}.undo-host{inset:auto 0 calc(64px + env(safe-area-inset-bottom)) 0;pointer-events:none;z-index:3;justify-content:center;display:flex;position:fixed}.undo-bar{pointer-events:auto;background:var(--text);color:var(--bg);border-radius:var(--radius);align-items:center;gap:.75rem;padding:.25rem .5rem .25rem 1rem;display:flex}.undo-name{text-overflow:ellipsis;white-space:nowrap;max-width:40vw;overflow:hidden}.undo-bar button{min-height:40px;color:var(--accent);background:0 0;border:0;font-weight:700}.item-form .form-actions{bottom:calc(57px + env(safe-area-inset-bottom));z-index:1;background:var(--bg);border-top:1px solid var(--border);border-radius:0 0 calc(var(--radius) - 1px) calc(var(--radius) - 1px);margin:.5rem -.75rem -.75rem;padding:.5rem .75rem;position:sticky}.item-form:has(.form-actions) :is(input,select,textarea){scroll-margin-bottom:calc(57px + 4.5rem + env(safe-area-inset-bottom))}
