:root{--text:#3b3744;--text-h:#08060d;--bg:#fff;--surface:#f4f5f7;--border:#e5e4e7;--accent:#5b3bff;--accent-text:#fff;--danger:#b00020;--absent:#8a4b00;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--text:#c9ccd3;--text-h:#f3f4f6;--bg:#16171d;--surface:#1f2028;--border:#2e303a;--accent:#a78bfa;--accent-text:#16171d;--danger:#ff8a9b;--absent:#f5b041;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--text:#c9ccd3;--text-h:#f3f4f6;--bg:#16171d;--surface:#1f2028;--border:#2e303a;--accent:#a78bfa;--accent-text:#16171d;--danger:#ff8a9b;--absent:#f5b041;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{margin:0}h1{color:var(--text-h);margin:0 0 .5rem}main{max-width:60rem;margin:0 auto;padding:1.5rem 1rem}main.center{text-align:center;place-content:center;gap:.5rem;min-height:80vh;display:grid}.bar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.bar .spacer{flex:1}.bar .email{font-size:.9rem}.who select{font:inherit;padding:.2rem .4rem}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer;border-radius:.35rem;padding:.4rem .9rem}.bar button{color:var(--accent);background:0 0}[role=alert]{color:var(--danger)}dl{grid-template-columns:max-content 1fr;gap:.25rem 1rem;display:grid}dt{font-weight:600}dd{margin:0}.tabs{border-bottom:1px solid var(--border);gap:1rem;padding:.4rem 1rem;display:flex}.tabs a{color:var(--text);border-bottom:2px solid #0000;padding:.2rem 0;text-decoration:none}.tabs a[aria-current=page]{color:var(--text-h);border-bottom-color:var(--accent);font-weight:600}form.settings,form.filters{gap:.9rem;display:grid}form.settings{max-width:28rem}form.filters{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));align-items:end;margin-bottom:1rem}label{gap:.2rem;font-size:.95rem;display:grid}label small{color:var(--text);opacity:.8}input,select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:.3rem;padding:.35rem .5rem}table.log{border-collapse:collapse;width:100%;margin-bottom:1rem;font-size:.9rem}table.log th,table.log td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.4rem .6rem}[role=status]{color:var(--text-h)}form.panel{border:1px solid var(--border);background:var(--surface);border-radius:.5rem;gap:.8rem;max-width:30rem;margin-bottom:1.2rem;padding:1rem;display:grid}nav.subtabs{border-bottom:1px solid var(--border);gap:1rem;margin:0 0 1rem;padding-bottom:.4rem;display:flex}nav.subtabs a[aria-current=page]{font-weight:700}.days{flex-wrap:wrap;gap:.2rem 1rem;display:flex}.monthbar{flex-wrap:wrap;align-items:end;gap:.8rem;margin-bottom:.8rem;display:flex}table.month{border-collapse:separate;border-spacing:.2rem;margin-bottom:.6rem}table.month th{opacity:.8;font-size:.8rem;font-weight:600}button.day{border:1px solid var(--border);background:var(--bg);width:2.6rem;height:2.4rem;color:var(--text-h);cursor:pointer;border-radius:.3rem;padding:0}button.day.runs,.swatch.runs{color:#14391a;background:#c8e6c9}button.day.off,.swatch.off{color:#546e7a;background:#eceff1}button.day.extra,.swatch.extra{box-shadow:inset 0 0 0 2px #2e7d32}button.day.holiday,.swatch.holiday{border-width:2px;border-color:#c62828}button.day.outside{opacity:.45}button.day.selected{outline-offset:1px;outline:3px solid #5b3df5}.legend{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.swatch{border:1px solid var(--border);border-radius:.2rem;width:1rem;height:1rem;margin-left:.6rem;display:inline-block}form.panel.wide{max-width:44rem}.map{border:1px solid var(--border);border-radius:.4rem;height:22rem;overflow:hidden}fieldset.lookup{border:1px solid var(--border);border-radius:.4rem;gap:.6rem;padding:.6rem .8rem;display:grid}ul.results{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}ul.results button{text-align:left;width:100%}.hint{opacity:.8;margin:0;font-size:.85rem}.pair{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}form.panel h2{margin:0}label.check{align-items:center;gap:.5rem;display:flex}.actions{flex-wrap:wrap;gap:.5rem;display:flex}button.secondary{color:var(--accent);background:0 0}tr.inactive td{opacity:.6}section h2 small{font-weight:400}form.panel.template{max-width:64rem}table.stops input:not([type=checkbox]){width:5.5rem}table.stops select{max-width:16rem}fieldset.leg{border:1px solid var(--border);border-radius:.4rem;gap:.6rem;padding:.6rem .8rem;display:grid}main.wide{max-width:none}.dayhead{flex-wrap:wrap;align-items:end;gap:.5rem;margin-bottom:.5rem;display:flex}.dayhead .spacer{flex:1}.ganttwrap{position:relative}.gantt{border:1px solid var(--border);background:var(--bg);border-radius:6px;position:relative;overflow:auto}.gantt canvas{display:block;position:sticky;top:0;left:0}.gantttip{z-index:2;pointer-events:none;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem;font-size:.85rem;position:absolute;box-shadow:0 2px 8px #00000026}.unassigned{columns:2 22rem;max-height:16rem;padding-left:1.2rem;overflow:auto}button.linklike{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.warning{border-left:4px solid var(--danger);background:var(--surface);padding:.4rem .7rem}.picker{padding:.4rem 0}.picker ul{max-height:12rem;padding-left:0;list-style:none;overflow:auto}.gantt.grabbing,.gantt.grabbing *{cursor:grabbing;-webkit-user-select:none;user-select:none}.tripbox{border:1px solid var(--border);background:var(--surface);border-radius:6px;margin-top:.75rem;padding:.25rem .75rem .5rem}.tripbox h2{margin-top:.4rem}.history{padding-left:1.2rem}.dropzone{border:1px dashed var(--border);border-radius:6px;min-height:3rem;padding:.25rem .5rem}.unassigned li[draggable=true]{cursor:grab}.warningbox{border:1px solid var(--danger);border-radius:6px;margin-top:.75rem;padding:.25rem .75rem .5rem}.warningbox h2{color:var(--danger);margin-top:.4rem}.warnings{padding-left:1.2rem}.warnings li{margin-bottom:.5rem}.warnings li.acknowledged{opacity:.85}.ackform{margin-top:.25rem}.absencebox{border:1px solid var(--border);background:var(--surface);border-radius:6px;margin-top:.75rem;padding:.25rem .75rem .5rem}.absencebox h2{margin-top:.4rem}.themeswitch{align-items:center;gap:.25rem;font-size:.85rem;display:inline-flex}.filterbar{flex-wrap:wrap;align-items:end;gap:.5rem 1rem;margin:.5rem 0;display:flex}.filterbar label{font-size:.85rem;display:grid}.selectedtrips{columns:2 16rem;margin:.25rem 0;padding-left:1.2rem}.shortcuts{grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:.25rem 0 .75rem;display:grid}.shortcuts dt,.shortcuts dd{margin:0}kbd{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-bottom-width:2px;border-radius:4px;padding:.05rem .4rem;font:.85em ui-monospace,monospace}.legend{padding-left:0;list-style:none}.legend li{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.swatch{background:var(--accent);box-sizing:border-box;border-radius:2px;flex:none;width:1.6rem;height:.9rem;display:inline-block}.swatch.warn{border-top:4px solid var(--danger)}.swatch.absent{border-top:4px solid var(--absent)}.swatch.overridden{border:2px dashed var(--text-h)}.swatch.changed{border-bottom:3px solid var(--accent-text)}.swatch.selected{border:3px solid var(--text-h)}.swatch.faded{opacity:.25}.swatch.shade{background:var(--text-h);opacity:.35}.swatch.unassigned{background:var(--bg);border:2px solid var(--danger)}.unassigned .unassigned-item{border-left:3px solid var(--danger);padding-left:.4rem}.gantttip{max-width:26rem}.tipstops,.tipwarnings{margin:.25rem 0 0;padding-left:1.1rem}.tipwarnings{color:var(--danger)}.planning.compact{font-size:.9rem;line-height:1.3}.planning.compact h1{margin-bottom:.15rem;font-size:1.3rem}.planning.compact h2{margin:.4rem 0 .2rem;font-size:1.05rem}.planning.compact .tripbox,.planning.compact .warningbox,.planning.compact .absencebox{margin-top:.4rem;padding:.1rem .5rem .3rem}.planning.compact .hint,.planning.compact p{margin:.2rem 0}.planning.compact .unassigned{max-height:11rem}button[aria-pressed=true]{outline:2px solid var(--accent)}
