:root{--bg:#f6f7f9;--surface:#fff;--text:#1c2128;--muted:#59636e;--border:#d8dee4;--accent:#1f6feb;--accent-text:#fff;--selected:#ddf4ff;--danger:#cf222e;--in-bg:#dafbe1;--in-text:#116329;--out-bg:#eaeef2;--out-text:#424a53;--warn-bg:#fff1c2;--warn-text:#7a4b00;--moved:#8250df;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0d1117;--surface:#161b22;--text:#e6edf3;--muted:#8d96a0;--border:#30363d;--accent:#2f81f7;--selected:#1c2d41;--danger:#f85149;--in-bg:#12361f;--in-text:#56d364;--out-bg:#262c36;--out-text:#b1bac4;--warn-bg:#3d2e00;--warn-text:#f2cc60;--moved:#a371f7}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,h3{margin:0}h2{font-size:1.25rem}h3{margin-top:28px;margin-bottom:8px;font-size:1rem}h3.flush{margin-top:0}a{color:var(--accent)}code{word-break:break-all;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em}button{font:inherit;cursor:pointer;background:var(--accent);color:var(--accent-text);border:1px solid #0000;border-radius:6px;padding:6px 14px}button:disabled{opacity:.6;cursor:default}button.secondary{background:var(--surface);border-color:var(--border);color:var(--text)}button.danger{border-color:var(--border);color:var(--danger);background:0 0}button.link{color:var(--accent);background:0 0;border:none;padding:4px 8px}button.link.danger{color:var(--danger)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:6px;width:100%;padding:6px 10px}input[type=checkbox],input[type=radio]{width:auto}fieldset{border:none;min-width:0;margin:0;padding:0}legend{color:var(--muted);padding:0;font-size:.85rem}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger)}.pre{white-space:pre-wrap}.app{max-width:1280px;margin:0 auto;padding:16px}.header{align-items:center;gap:24px;margin-bottom:16px;display:flex}.header h1{font-size:1.3rem}.tabs{flex-wrap:wrap;gap:4px;display:flex}.tab{color:var(--muted);border:1px solid #0000;border-radius:6px;padding:6px 14px;text-decoration:none}.tab.active{background:var(--surface);border-color:var(--border);color:var(--text)}.user{flex-wrap:wrap;align-items:center;gap:4px;margin-left:auto;display:flex}@media (width<=760px){.header{flex-wrap:wrap;gap:8px 24px}}.page{flex-direction:column;gap:12px;min-width:0;display:flex}.page.narrow{max-width:860px}.page>p{margin:0}.page-header,.section-header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.page-header>h2,.page-header>div:first-child,.section-header h3{margin-right:auto}.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px}.notice{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-message{text-align:center;padding:32px}.split{grid-template-columns:280px 1fr;align-items:start;gap:16px;display:grid}@media (width<=760px){.split{grid-template-columns:1fr}}.side-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.side-item{text-align:left;background:var(--surface);width:100%;color:var(--text);border-color:var(--border);flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.side-item.selected{background:var(--selected);border-color:var(--accent)}.plain{margin:0;padding:0;list-style:none}.plain.rows li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.add-row{max-width:420px;margin-top:12px}.sign-in{place-items:center;min-height:100vh;padding:16px;display:grid}.sign-in form{width:min(360px,100%)}.stacked-form{flex-direction:column;gap:12px;display:flex}.stacked-form h1{font-size:1.4rem}.stacked-form p{margin:0}.stacked-form label,.inline-form label,.form-grid label,.filter-panel label,.label{color:var(--muted);flex-direction:column;gap:2px;font-size:.85rem;display:flex}.form-grid label>input,.form-grid label>select,.form-grid label>textarea,.filter-panel label>input{color:var(--text);font-size:1rem}.inline-form{flex-wrap:wrap;align-items:end;gap:8px;margin-bottom:16px;display:flex}.inline-form label{flex:180px}.inline-form .full{flex-basis:100%;margin:0}.form-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:start;gap:12px 16px;display:grid}.form-grid>fieldset.contents{display:contents}.form-grid .full{grid-column:1/-1}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.time-range{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.time-range label{flex:100px}.with-unit{color:var(--muted);align-items:center;gap:8px;display:flex}.with-unit input{width:100px}.filter-group{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}label.toggle{color:var(--text);flex-direction:row;align-items:center;gap:6px;font-size:.95rem}.weekdays{flex-wrap:wrap;gap:4px 12px;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.filters>input[type=search]{flex:280px;width:auto}.filters>select{width:auto}.filter-panel{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:start;gap:12px 16px;display:grid}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;flex-wrap:wrap;align-items:center;gap:4px;padding:2px 4px 2px 10px;font-size:.9rem;display:inline-flex}.chips.inline .chip{padding-right:10px}.chip.inactive{opacity:.6;text-decoration:line-through}.chip-remove{color:var(--muted);background:0 0;border-radius:999px;padding:0 6px}.multiselect{border:1px solid var(--border);background:var(--bg);border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;padding:4px;display:flex}.multiselect input{background:0 0;border:none;min-width:140px;padding:4px 6px}.grow{flex:140px}.clash-wrap{position:relative}.clash{background:var(--warn-bg);color:var(--warn-text);border-radius:999px;padding:0 8px;font-size:.78rem;font-weight:600}.clash-list{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:6px;min-width:280px;margin:4px 0 0;padding:8px 12px;font-size:.9rem;list-style:none;position:absolute;top:100%;left:0;box-shadow:0 6px 16px #00000026}.clash-list li+li{margin-top:6px}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 12px 8px 0}.table th{color:var(--muted);white-space:nowrap;font-size:.85rem;font-weight:500}.table.compact td,.table.compact th{padding:4px 8px 4px 0}.table.clickable tbody tr{cursor:pointer}.table.clickable tbody tr:hover{background:var(--selected)}button.sort{color:inherit;font-weight:inherit;background:0 0;padding:0}.badge{white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.8rem;font-weight:600;display:inline-block}.badge.in{background:var(--in-bg);color:var(--in-text)}.badge.out{background:var(--out-bg);color:var(--out-text)}.dialog{border:1px solid var(--border);background:var(--surface);width:min(560px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--text);border-radius:10px;padding:20px}.dialog.wide{width:min(860px,100vw - 32px)}.dialog::backdrop{background:#0006}.dialog-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.device-picker{flex-direction:column;gap:6px;display:flex}.pending-devices{border:1px solid var(--border);border-radius:6px;margin:0;padding:0;list-style:none}.pending-devices li{justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.pending-devices li+li{border-top:1px solid var(--border)}.pending-devices li.selected{background:var(--selected)}.audit{margin:0;padding:0;list-style:none}.audit li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:6px 0}.address-facts{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.facts{flex:320px;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{min-width:0;margin:0}.map{border:1px solid var(--border);background:var(--out-bg);border-radius:8px;max-width:100%;display:block;position:relative;overflow:hidden}.map img{width:256px;height:256px;position:absolute}.map-radius{border:2px solid var(--accent);background:#1f6feb26;border-radius:50%;position:absolute}.map-pin{background:var(--danger);border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute}.map-attribution{color:#333;background:#fffc;padding:0 4px;font-size:.7rem;position:absolute;bottom:0;right:0}.schedule{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.schedule+.schedule{margin-top:8px}.schedule.ended{opacity:.7}.schedule-head{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.actions{white-space:nowrap}.assignments{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.assignments>.multiselect{align-self:stretch}.calendar-nav{align-items:center;gap:12px;margin-bottom:8px;display:flex}.calendar{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekday,.calendar-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0;padding:4px}.calendar-weekday{color:var(--muted);text-align:center;font-size:.8rem}.calendar-day{background:var(--surface);flex-direction:column;gap:2px;min-height:84px;display:flex}.calendar-day.outside{background:var(--bg);opacity:.6}.calendar-day.today .calendar-date{background:var(--accent);color:var(--accent-text);border-radius:999px;padding:0 6px}.calendar-date{align-self:flex-start;font-size:.8rem}.occurrence{text-align:left;text-overflow:ellipsis;white-space:nowrap;border:1px solid #0000;border-radius:4px;width:100%;padding:1px 4px;font-size:.75rem;display:block;overflow:hidden}span.occurrence{width:auto;display:inline-block}.occurrence.planned{background:var(--selected);color:var(--text)}.occurrence.moved{border-color:var(--moved);color:var(--moved);background:0 0}.occurrence.skipped{color:var(--muted);background:0 0;text-decoration:line-through}.occurrence:disabled{opacity:1;cursor:default}.legend{margin-top:6px}@media (width<=760px){.calendar-day{min-height:56px}.occurrence .small{display:none}}.combobox{position:relative}.suggestions{z-index:10;background:var(--surface);border:1px solid var(--border);min-width:220px;max-height:320px;color:var(--text);border-radius:6px;margin:2px 0 0;padding:4px 0;font-size:.95rem;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 6px 16px #00000026}.suggestions li{flex-direction:column;padding:6px 10px;display:flex}.suggestions li[role=option]{cursor:pointer}.suggestions li.active{background:var(--selected)}.suggestions .attribution{border-top:1px solid var(--border);margin-top:4px;font-size:.75rem}
