.adm-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:12px;display:flex}.adm-head h1{margin:0}.adm-head .sub{color:var(--muted);margin-top:2px;font-size:.9rem}.adm-back{margin-bottom:6px;font-size:.9rem;text-decoration:none;display:inline-block}.adm-section>h2{align-items:center;gap:8px;display:flex}.adm-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width>=640px){.adm-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=960px){.adm-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}.adm-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text);padding:12px 14px;text-decoration:none;display:block}.adm-tile .label{color:var(--muted);font-size:.85rem}.adm-tile .stat{line-height:1.1}.adm-tile.warn .stat{color:var(--warn)}.adm-tile.danger .stat{color:var(--danger)}.adm-tile.info .stat{color:var(--info)}.adm-tile.zero .stat{color:var(--muted)}.adm-item{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 16px;display:flex}.adm-item .main{flex:260px;min-width:0}.adm-item .meta{color:var(--muted);font-size:.875rem}.adm-item .actions{flex-wrap:wrap;gap:8px;display:flex}.adm-note{border-left:3px solid var(--border);background:var(--surface-2);white-space:pre-wrap;border-radius:0 8px 8px 0;margin-top:6px;padding:6px 10px;font-size:.9rem}.adm-filters{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;display:grid}@media (width>=760px){.adm-filters{grid-template-columns:repeat(4,minmax(0,1fr)) auto}}.adm-filters .checks{flex-direction:column;grid-column:1/-1;gap:4px;display:flex}@media (width>=760px){.adm-filters .checks{grid-column:auto}}.adm-check{cursor:pointer;align-items:center;gap:8px;min-height:32px;display:inline-flex}.adm-check input{width:18px;height:18px;accent-color:var(--brand)}.adm-table td.num,.adm-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.adm-table td.nowrap{white-space:nowrap}.adm-table tfoot td{background:var(--surface-2);font-weight:700}.adm-table tr.muted td{color:var(--muted)}.adm-table tr.clickable:focus-visible td{outline:2px solid var(--brand);outline-offset:-2px}.adm-cell-badges{flex-wrap:wrap;gap:4px;display:flex}.adm-visit-cards{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0;padding:0;list-style:none;display:none}.adm-visit-cards>li+li{border-top:1px solid var(--border)}.adm-visit-cards a{color:var(--text);gap:4px;padding:10px 12px;text-decoration:none;display:grid}.adm-visit-cards a.muted{color:var(--muted)}@media (width<=639px){.adm-visit-cards{display:block}.adm-visit-table{display:none}}.adm-dl{grid-template-columns:minmax(110px,max-content) 1fr;gap:6px 14px;margin:0;display:grid}.adm-dl dt{color:var(--muted);font-size:.875rem}.adm-dl dd{overflow-wrap:anywhere;min-width:0;margin:0}.adm-radios{gap:8px;display:grid}@media (width>=760px){.adm-radios.cols{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.adm-radio{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.adm-radio input{width:18px;height:18px;accent-color:var(--brand);flex:none;margin-top:3px}.adm-radio .t{font-weight:600}.adm-radio .d{color:var(--muted);font-size:.875rem}.adm-radio:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}.adm-radio:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:1px}fieldset.adm-fieldset{border:none;min-width:0;margin:0;padding:0}.stack>.adm-fieldset+*,.stack>*+.adm-fieldset{margin-top:20px}fieldset.adm-fieldset>legend{margin-bottom:4px;padding:0;font-size:.875rem;font-weight:600}fieldset.adm-fieldset>.hint{color:var(--muted);margin:-2px 0 8px;font-size:.8rem}.adm-form-actions{background:var(--bg);border-top:1px solid var(--border);z-index:5;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;display:flex;position:sticky;bottom:0}.adm-radius{align-items:center;gap:10px;display:flex}.adm-radius input[type=range]{min-height:0;accent-color:var(--brand);background:0 0;border:none;flex:1;padding:0}.adm-radius input[type=number]{flex:none;width:110px}.adm-map{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;width:100%;height:340px}.adm-week{grid-template-columns:1fr;gap:8px;display:grid}@media (width>=900px){.adm-week{grid-template-columns:repeat(7,minmax(0,1fr))}}.adm-day{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-height:60px;padding:8px}.adm-day>h3{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 6px;font-size:.85rem}.adm-slot{text-align:left;width:100%;font:inherit;color:var(--text);background:var(--brand-soft);cursor:pointer;border:1px solid #0000;border-radius:8px;margin-bottom:6px;padding:6px 8px;font-size:.85rem;display:block}.adm-slot.inactive{background:var(--surface-2);color:var(--muted)}.adm-slot .time{font-variant-numeric:tabular-nums;font-weight:700}.adm-json summary{cursor:pointer;color:var(--brand);font-size:.85rem}.adm-json pre{background:var(--surface-2);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-width:420px;max-height:260px;margin:6px 0 0;padding:8px;font-size:.78rem;overflow:auto}.adm-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem}.adm-tabs{flex-wrap:wrap;gap:4px;display:flex}.adm-tabs button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.9rem}.adm-tabs button[aria-pressed=true]{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);font-weight:600}.sticker-toolbar{max-width:210mm;margin:0 auto;padding:16px}.sticker-sheet{color:#000;width:210mm;max-width:100%;box-shadow:var(--shadow);background:#fff;grid-template-columns:repeat(2,90mm);justify-content:center;gap:8mm 10mm;margin:0 auto 24px;padding:10mm;display:grid}.sticker{text-align:center;break-inside:avoid;page-break-inside:avoid;width:90mm;height:120mm;font-family:var(--font);border:1px dashed #9aa4b2;border-radius:4mm;flex-direction:column;align-items:center;padding:6mm 5mm;display:flex;overflow:hidden}.sticker .biz{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-bottom:1mm solid #4cc3c9;justify-content:center;width:100%;padding:1mm 0 2.5mm;display:flex}.sticker .biz img{width:auto;height:8mm;display:block}.sticker .site{max-height:2.4em;margin-top:1.5mm;font-size:15pt;font-weight:700;line-height:1.15;overflow:hidden}.sticker .qr{width:62mm;height:62mm;image-rendering:pixelated;margin:4mm 0 3mm}.sticker .qr-missing{color:#b42318;border:1px solid #ccc;justify-content:center;align-items:center;width:62mm;height:62mm;margin:4mm 0 3mm;font-size:10pt;display:flex}.sticker .how{font-size:11pt;font-weight:600;line-height:1.3}.sticker .ver{color:#555;margin-top:auto;font-size:8pt}@media (width<=220mm){.sticker-sheet{box-shadow:none;background:0 0;grid-template-columns:repeat(auto-fit,90mm);padding:4mm}.sticker{background:#fff}}@media print{@page{size:A4;margin:10mm}.sticker-sheet{width:auto;box-shadow:none;background:#fff;grid-template-columns:repeat(2,90mm);margin:0;padding:0}.sticker{border-color:#bbb}.sticker .qr{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.adm-stock-lines{margin:6px 0 0;padding:0;list-style:none}.adm-stock-line{align-items:baseline;gap:8px;padding:2px 0;display:flex}.cl-page h1{margin-bottom:0}.cl-hello{color:var(--muted);margin:4px 0 0;font-weight:600}.cl-tight{margin:0}.cl-block{display:block}.cl-right{text-align:right}.row.cl-nowrap{flex-wrap:nowrap;align-items:flex-start}.cl-left{text-align:left}.cl-centre-text{text-align:center}.cl-lead{font-size:1.1rem}.cl-icon{font-size:2.5rem;line-height:1}.cl-status{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;align-items:flex-start;gap:6px;padding:22px 20px;display:flex}.cl-status-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);align-items:center;gap:8px;font-size:1rem;font-weight:700;display:flex}.cl-status.on .cl-status-label{color:var(--brand)}.cl-dot{background:var(--muted);opacity:.6;border-radius:50%;width:12px;height:12px}.cl-status.on .cl-dot{background:var(--brand);opacity:1;box-shadow:0 0 0 0 color-mix(in srgb, var(--brand) 60%, transparent);animation:2s infinite cl-pulse}@keyframes cl-pulse{70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.cl-status.on .cl-dot{animation:none}}.cl-site-name{font-size:1.45rem;font-weight:700;line-height:1.2}.cl-since{color:var(--muted);font-size:1.05rem}.cl-elapsed{font-variant-numeric:tabular-nums;margin:4px 0;font-size:2.6rem;font-weight:800;line-height:1.1}.cl-status-help{margin:4px 0 0;font-size:1.05rem}.btn.huge.cl-main{min-height:88px;box-shadow:var(--shadow);border-radius:20px;font-size:1.6rem}.btn.cl-main-out{background:var(--text);border-color:var(--text);color:var(--bg)}.cl-queue{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.cl-flow{z-index:60;background:var(--bg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overscroll-behavior:contain;flex-direction:column;display:flex;position:fixed;inset:0}.cl-page>.cl-flow{margin:0}.cl-flow.dark{color:#fff;background:#000}.cl-flow-bar{grid-template-columns:1fr auto 1fr;align-items:center;min-height:56px;padding:6px 8px;display:grid}.cl-flow-title{font-size:1.05rem;font-weight:700}.cl-flow-close{justify-self:start}.cl-flow.dark .cl-flow-close{color:#fff}.cl-flow-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;display:flex;overflow-y:auto}.cl-sheet{width:100%;max-width:520px;margin:0 auto;padding:8px 20px 28px}.cl-sheet h1{font-size:1.6rem}.cl-centre{text-align:center;flex-direction:column;align-items:center;display:flex}.cl-centre>.btn{width:100%}.cl-sheet.cl-centre{margin-top:auto;margin-bottom:auto}.cl-badge-icon{border-radius:50%;place-items:center;width:84px;height:84px;font-size:2.6rem;font-weight:800;line-height:1;display:grid}.cl-badge-icon.ok{background:var(--ok-soft);color:var(--ok)}.cl-badge-icon.info{background:var(--info-soft);color:var(--info)}.cl-badge-icon.warn{background:var(--warn-soft);color:var(--warn)}.cl-badge-icon.danger{background:var(--danger-soft);color:var(--danger)}.cl-result-time{font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:800}.cl-flag-list{margin:6px 0 0;padding-left:20px}.cl-scan{flex-direction:column;flex:1;min-height:0;display:flex}.cl-viewfinder{background:#111;flex:1;min-height:260px;position:relative;overflow:hidden}.cl-viewfinder video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cl-frame{aspect-ratio:1;outline-offset:-3px;border-radius:20px;outline:3px solid #ffffffe6;width:min(72vw,48vh,340px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #00000073}.cl-scan-overlay{text-align:center;color:#fff;background:#0000008c;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:absolute;inset:0}.cl-scan-overlay p{margin:0}.cl-scan-failed{background:var(--bg);color:var(--text);text-align:left;justify-content:flex-start;align-items:stretch;overflow-y:auto}.cl-scan-panel{background:#000;flex-direction:column;gap:10px;padding:14px 16px 18px;display:flex}.cl-scan-hint{text-align:center;margin:0;font-size:1.1rem;font-weight:600}.cl-scan-hint.wrong{color:#fecaca}.btn.cl-on-dark-btn{color:#fff;background:#ffffff1f;border-color:#ffffff40}.cl-geo{text-align:left;width:100%}.cl-geo-line{justify-content:center;align-items:center;gap:8px;font-weight:600;display:flex}.cl-geo-dot{background:var(--muted);border-radius:50%;flex:none;width:10px;height:10px}.cl-geo.ok .cl-geo-dot{background:var(--ok)}.cl-geo.wait .cl-geo-dot{background:var(--warn);animation:1.2s infinite cl-blink}.cl-geo.bad .cl-geo-dot{background:var(--danger)}.cl-geo.on-dark{color:#fff}.cl-geo.on-dark.ok .cl-geo-dot{background:#4ade80}.cl-geo.on-dark.bad .cl-geo-dot{background:#f97066}@keyframes cl-blink{50%{opacity:.3}}.cl-help h2,.cl-help p{margin:0}.cl-details{background:var(--surface-2);border-radius:10px;margin-top:8px;padding:10px 12px;font-size:.95rem}.cl-details summary{cursor:pointer;min-height:28px;font-weight:600}.cl-details p{margin:8px 0 0}.cl-geo.on-dark .cl-details{color:#fff;background:#ffffff1a}.cl-phone+.cl-phone{margin-top:10px}.cl-phone>.cl-phone-title{display:block}.cl-path{overflow-wrap:anywhere}.cl-steps{margin:0;padding-left:22px}.cl-steps li+li{margin-top:4px}.cl-sites{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.cl-sites legend{margin-bottom:8px;padding:0;font-weight:600}.cl-site-option{border:2px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;align-items:center;gap:12px;min-height:56px;padding:14px;display:flex}.cl-site-option.selected{border-color:var(--brand);background:var(--brand-soft)}.cl-site-option input{width:22px;height:22px;accent-color:var(--brand);flex:none}.cl-visits{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.cl-visit{padding:14px 16px}.cl-visit-date{font-weight:700}.cl-visit-total{font-size:1.05rem;font-weight:700}.cl-visit-site{margin-top:2px;font-size:1.05rem}.cl-badges{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.cl-badges:empty{display:none}.cl-schedule .badge{margin-top:4px}.cl-switch{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:56px;display:flex}.cl-switch input{appearance:none;background:var(--border);cursor:pointer;border:none;border-radius:999px;flex:none;width:56px;height:32px;min-height:0;padding:0;transition:background .2s;position:relative}.cl-switch input:after{content:"";background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.cl-switch input:checked:after{transform:translate(24px)}.cl-switch input:disabled{opacity:.5}.cl-stock-group h2{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px;font-size:.8rem}.cl-stock-items,.cl-stock-lines{margin:0;padding:0;list-style:none}.cl-stock-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.cl-stock-item:last-child{border-bottom:none;padding-bottom:0}.cl-stock-name{align-items:center;gap:10px;min-width:0;font-weight:600;display:inline-flex}.cl-stock-item.picked .cl-stock-name{color:var(--brand)}.cl-seg{border:0;flex:none;gap:6px;min-inline-size:0;margin:0;padding:0;display:inline-flex}.cl-seg-btn{appearance:none;font:inherit;border:1.5px solid var(--border);background:var(--surface);min-height:40px;color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:.875rem;font-weight:600}.cl-seg-btn[aria-pressed=true].low{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.cl-seg-btn[aria-pressed=true].out{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.cl-seg-btn[aria-pressed=true].collect{background:var(--info-soft);border-color:var(--brand);color:var(--brand)}.cl-swatch{vertical-align:-2px;border:1px solid #0d323a33;border-radius:50%;flex:none;width:14px;height:14px;display:inline-block}.cl-swatch.none{background:0 0;border-style:dashed}.cl-swatch.black{background:#1f2a2c}.cl-swatch.white{background:#fff}.cl-swatch.red{background:#d63b3b}.cl-swatch.blue{background:#2f6fd6}.cl-swatch.green{background:#2e9b55}.cl-swatch.yellow{background:#e8bf27}.cl-stock-req>*+*{margin-top:4px}.cl-stock-line{font-size:.92rem}.cl-stock-history h2{margin-top:8px}.cl-stock-prompt{justify-content:space-between;align-items:center;gap:10px;display:flex}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--ink:#0d323a;--ink-lift:#13424c;--teal:#19525d;--turquoise:#4cc3c9;--on-dark:#c9dfe1;--bg:#f8fbfb;--surface:#fff;--surface-2:#f3f8f8;--text:#0d323a;--muted:#5a7176;--border:#e3ecec;--brand:#19525d;--brand-strong:#0d323a;--brand-soft:#e8f7f8;--on-brand:#fff;--accent:#4cc3c9;--accent-strong:#3fb2b8;--on-accent:#0d323a;--danger:#b42318;--danger-soft:#fee4e2;--warn:#9a6700;--warn-soft:#fff4d6;--info:#19525d;--info-soft:#dcf1f2;--ok:#15803d;--ok-soft:#dcfce7;--radius:8px;--radius-control:6px;--shadow:0 1px 2px #0d323a0a, 0 2px 8px #0d323a0d;--font:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-text-size-adjust:100%;margin:0;font-size:16px;line-height:1.45}body{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}a{color:var(--brand)}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0 0 .75rem}.small{font-size:.875rem}.mono{font-variant-numeric:tabular-nums}.page{max-width:1100px;margin:0 auto;padding:16px}.page-narrow{max-width:520px;margin:0 auto;padding:16px}.stack>*+*{margin-top:12px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.grid{gap:12px;display:grid}@media (width>=760px){.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}}.topbar{z-index:10;background:var(--surface);border-top:3px solid var(--turquoise);border-bottom:1px solid var(--border);color:var(--text);position:sticky;top:0}.brand-logo{min-width:0;color:var(--text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-logo img{width:auto;height:26px;display:block}.brand-logo .app-label{letter-spacing:.04em;text-transform:uppercase;color:var(--brand);border-left:1px solid var(--border);white-space:nowrap;padding-left:10px;font-size:.8rem;font-weight:600}.topbar-inner{align-items:center;gap:12px;max-width:1100px;margin:0 auto;padding:10px 16px;display:flex}.brand{color:var(--text);font-weight:700;text-decoration:none}.brand-compact{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=430px){.brand-compact{max-width:34vw;font-size:.95rem}.brand-logo img{height:22px}.brand-logo .app-label{display:none}.topbar-inner .nav a{padding:6px 8px}}.offline-strip{background:var(--warn-soft);color:var(--warn);text-align:center;padding:8px 16px;font-size:.875rem}.nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:4px;display:flex;overflow-x:auto}.nav a{border-radius:var(--radius-control);color:var(--muted);white-space:nowrap;padding:6px 10px;font-size:.95rem;font-weight:500;text-decoration:none}.nav a:hover{color:var(--text)}.nav a.active{background:var(--brand-soft);color:var(--brand);box-shadow:inset 0 -2px 0 var(--turquoise);font-weight:600}.subnav{max-width:1100px;margin:0 auto;padding:0 12px 8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.stat{font-size:1.75rem;font-weight:700}.btn{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:var(--radius-control);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent-strong);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--accent-strong)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.ghost{color:var(--brand);background:0 0;border-color:#0000}.topbar .btn.ghost{color:var(--brand)}.btn.sm{min-height:34px;padding:6px 10px;font-size:.875rem}.btn.block{width:100%}.btn.huge{border-radius:var(--radius);width:100%;min-height:72px;font-size:1.35rem}.field,.field>label{display:block}.field>label>span{margin-bottom:4px;font-size:.875rem;font-weight:600;display:block}.field .hint{color:var(--muted);margin-top:4px;font-size:.8rem}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);width:100%;min-height:44px;padding:10px 12px}input[type=checkbox],input[type=radio]{width:auto;min-height:0}textarea{min-height:80px}input:focus,select:focus,textarea:focus,.btn:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.code-input{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.75rem}.banner{border-radius:var(--radius-control);border:1px solid #0000;padding:12px 14px}.banner.ok{background:var(--ok-soft);color:var(--ok)}.banner.warn{background:var(--warn-soft);color:var(--warn)}.banner.danger{background:var(--danger-soft);color:var(--danger)}.banner.info{background:var(--info-soft);color:var(--info)}.badge{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.info{background:var(--info-soft);color:var(--info)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:var(--surface-2);font-size:.78rem}tr:last-child td{border-bottom:none}tr.clickable{cursor:pointer}.list{margin:0;padding:0;list-style:none}.list>li{border-bottom:1px solid var(--border);padding:12px 0}.list>li:last-child{border-bottom:none}.spinner{border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.center{justify-content:center;align-items:center;min-height:40vh;display:flex}.dialog-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=640px){.dialog-backdrop{align-items:center}}.dialog{background:var(--surface);border-radius:16px 16px 0 0;width:100%;max-width:520px;max-height:90dvh;padding:18px;overflow:auto}@media (width>=640px){.dialog{border-radius:16px}}@media print{.no-print{display:none!important}body{background:#fff;padding:0}}.signin-brand{flex-direction:column;align-items:center;gap:8px;margin-bottom:4px;padding:8px 16px 20px;display:flex}.signin-brand img{width:auto;height:38px}.signin-brand .app-name{color:var(--brand);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:600}:root{--bg:#e7f0f1;--bg-top:#eff5f6;--bg-bottom:#dfe9eb;--surface:#fff;--surface-2:#f1f6f7;--text:#0d323a;--body:#3f5a60;--muted:#4f686d;--border:#d8e3e4;--border-strong:#c6d6d8;--brand:#19525d;--brand-strong:#0d323a;--brand-soft:#e3f4f5;--accent:#4cc3c9;--accent-strong:#38b0b6;--on-accent:#0d323a;--info-soft:#dbf0f1;--radius:16px;--radius-sm:12px;--radius-control:12px;--radius-pill:999px;--shadow-xs:0 1px 2px #0d323a12;--shadow:0 1px 2px #0d323a0f, 0 3px 8px #0d323a0a, 0 14px 30px -12px #0d323a29;--shadow-lg:0 1px 2px #0d323a12, 0 6px 14px #0d323a0d, 0 28px 50px -18px #0d323a42;--glow:0 1px 1px #0d323a24, 0 6px 14px -6px #38b0b699, inset 0 1px 0 #ffffff4d;--ink-glow:0 1px 1px #0d323a4d, 0 10px 24px -8px #0d323a8c, inset 0 1px 0 #ffffff1a;--focus:0 0 0 3px #4cc3c973}html{background:var(--bg-bottom)}body{color:var(--text);background:radial-gradient(900px 360px at 50% -120px, #4cc3c921, transparent 70%), linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 100%);background-repeat:no-repeat;background-color:var(--bg-bottom);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{color:var(--text);letter-spacing:-.025em;font-weight:800}h1{font-size:1.75rem;line-height:1.12}h2{letter-spacing:-.02em;font-size:1.2rem;font-weight:750}h3{letter-spacing:-.01em;font-weight:700}p{color:inherit}.muted{color:var(--muted)}a{color:var(--brand);text-underline-offset:3px;text-decoration-color:#4cc3c9b3;text-decoration-thickness:2px}a:hover{color:var(--text);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.topbar{-webkit-backdrop-filter:saturate(160%)blur(14px);backdrop-filter:saturate(160%)blur(14px);background:#ffffffe0;border-top:0;border-bottom:1px solid #0d323a14;box-shadow:inset 0 1px #ffffffb3,0 6px 20px -14px #0d323a4d}.topbar:before{content:"";background:linear-gradient(90deg,#19525d 0%,#4cc3c9 45% 100%);height:3px;display:block}.topbar-inner{padding-top:10px;padding-bottom:10px}.brand-logo .app-label{letter-spacing:.12em;color:var(--brand);border-left-color:var(--border-strong);font-size:.72rem;font-weight:700}.nav{gap:2px}.nav a{border-radius:var(--radius-pill);color:var(--muted);padding:7px 13px;font-weight:600;transition:background-color .15s,color .15s}.nav a:hover{color:var(--text);background:#0d323a0d}.nav a.active{background:var(--brand-soft);color:var(--text);font-weight:700;box-shadow:inset 0 0 0 1px #4cc3c973}.nav a:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.subnav{padding-bottom:10px}@media (width<=430px){.topbar-inner{gap:8px;padding-left:12px;padding-right:12px}.topbar-inner .nav{gap:0}.topbar-inner .nav a{padding:7px 8px;font-size:.875rem}}.nav .nav-icon{vertical-align:-4px;display:none}@media (width<=430px){.topbar-inner.five .brand-logo img{height:18px}.topbar-inner.five .nav a{padding:7px 6px}.topbar-inner.five .nav .nav-text{display:none}.topbar-inner.five .nav .nav-icon{display:inline-block}}@media (width<=374px){.topbar-inner .brand-logo img{height:18px}.topbar-inner .nav a{padding:6px;font-size:.82rem}}.topbar .btn.ghost:hover{background:var(--brand-soft)}.offline-strip{border-bottom:1px solid #9a67002e;font-weight:600}.card{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #0d323a12;padding:18px}.card.flat{box-shadow:var(--shadow-xs), 0 6px 16px -10px #0d323a2e}.stat{letter-spacing:-.03em;font-weight:800}.list>li{border-bottom-color:var(--border)}.btn{border-radius:var(--radius-pill);border-color:var(--border-strong);letter-spacing:-.005em;box-shadow:var(--shadow-xs);padding:10px 18px;font-weight:650;transition:background-color .15s,box-shadow .15s,transform .1s,border-color .15s}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{color:var(--on-accent);box-shadow:var(--glow);background:linear-gradient(#55c8ce 0%,#47bec4 100%);border-color:#3cb3b9;font-weight:700}.btn.primary:hover:not(:disabled){background:linear-gradient(#4fc4ca 0%,#38b0b6 100%);border-color:#2f9fa5}.btn.ghost{box-shadow:none;border-color:#0000}.btn.ghost:hover:not(:disabled){background:#0d323a0d;border-color:#0000}.btn.danger{box-shadow:0 1px 1px #0d323a29,0 6px 16px -6px #b4231880}.btn.sm{padding:6px 14px}.btn.huge{border-radius:var(--radius-pill);letter-spacing:-.015em;min-height:64px;font-size:1.25rem;font-weight:750}.btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px;box-shadow:var(--focus)}input,select,textarea{border-color:var(--border-strong);border-radius:var(--radius-control);background:#fff;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px 2px #0d323a0d}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:0;border-color:var(--brand);box-shadow:var(--focus)}.field>label>span{color:var(--text);font-weight:700}.code-input{font-weight:700}.banner{border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);border-color:#0d323a0f;padding:12px 16px}.banner.ok{border-color:#15803d33}.banner.warn{border-color:#9a670038}.banner.danger{border-color:#b4231833}.banner.info{border-color:#19525d2e}.badge{letter-spacing:.01em;padding:3px 10px;font-weight:700;box-shadow:inset 0 0 0 1px #0d323a0f}.table-wrap{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #0d323a12}th{letter-spacing:.07em;color:var(--muted);background:var(--surface-2);border-bottom-color:var(--border-strong);font-size:.72rem;font-weight:700}td{border-bottom-color:#e4ecee}.dialog-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0d323a73}.dialog{box-shadow:var(--shadow-lg);border-radius:22px 22px 0 0}@media (width>=640px){.dialog{border-radius:22px}}.signin-brand{gap:12px;padding-bottom:24px}.signin-brand img{height:42px}.signin-brand .app-name{letter-spacing:.14em;color:var(--brand);border-radius:var(--radius-pill);box-shadow:var(--shadow-xs);background:#ffffffbf;border:1px solid #0d323a14;align-items:center;gap:8px;padding:5px 12px 5px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.signin-brand .app-name:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #4cc3c938}.signin-brand+.card{box-shadow:var(--shadow-lg);border-radius:22px;padding:24px 22px}.cl-page>*+*{margin-top:16px}.cl-hello{color:var(--text);letter-spacing:-.035em;margin:14px 0 4px;font-size:2.1rem;font-weight:800;line-height:1.05}.cl-hello:after{content:"";background:var(--accent);vertical-align:baseline;border-radius:50%;width:.24em;height:.24em;margin-left:.08em;display:inline-block}.cl-status{box-shadow:var(--shadow-lg);border:1px solid #0d323a12;border-radius:22px;gap:8px;padding:22px 22px 24px;position:relative;overflow:hidden}.cl-status.on{background:radial-gradient(420px 200px at 100% 0,#4cc3c938,#0000 70%),linear-gradient(#fff 0%,#eef9f9 100%);border-color:#4cc3c973}.cl-status-label{letter-spacing:.12em;color:var(--muted);font-size:.78rem;font-weight:800}.cl-dot{opacity:1;background:#9fb2b5;width:10px;height:10px}.cl-status.on .cl-dot{background:var(--accent);box-shadow:0 0 #4cc3c999}.cl-status-help{color:var(--body);font-size:1.05rem;line-height:1.5}.cl-site-name{letter-spacing:-.025em;font-size:1.5rem;font-weight:800}.cl-since{color:var(--muted)}.cl-elapsed{letter-spacing:-.04em;color:var(--text);font-size:3rem}.btn.huge.cl-main{border-radius:var(--radius-pill);letter-spacing:-.02em;min-height:84px;font-size:1.55rem;font-weight:800}.btn.huge.cl-main.primary{box-shadow:0 1px 1px #0d323a24,0 4px 8px -2px #0d323a1a,0 16px 28px -14px #28a0a6bf,inset 0 1px #ffffff4d}.btn.cl-main-out{color:#fff;box-shadow:var(--ink-glow);background:linear-gradient(#13424c 0%,#0d323a 100%);border-color:#0d323a}.btn.cl-main-out:hover:not(:disabled){background:linear-gradient(#19525d 0%,#0d323a 100%);border-color:#0d323a}.btn.cl-main-out:focus-visible{outline-color:var(--accent)}.cl-flow:not(.dark){background:radial-gradient(700px 300px at 50% -120px, #4cc3c924, transparent 70%), linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 100%)}.cl-flow:not(.dark) .cl-flow-bar{background:#ffffff8c;border-bottom:1px solid #0d323a0f}.cl-flow-title{letter-spacing:-.015em;font-weight:800}.cl-sheet{padding-top:20px}.cl-sheet h1{letter-spacing:-.035em;font-size:1.85rem}.cl-lead{color:var(--text)}.cl-icon{width:76px;height:76px;box-shadow:var(--shadow), 0 0 0 8px #4cc3c91a;background:radial-gradient(circle at 50% 35%,#fff 0%,#e3f4f5 100%);border:1px solid #4cc3c959;border-radius:50%;place-items:center;font-size:2.3rem;display:grid}.cl-badge-icon{box-shadow:var(--shadow), 0 0 0 8px #0d323a0a}.cl-result-time{letter-spacing:-.04em}.cl-details{border-radius:var(--radius-sm);border:1px solid #0d323a0f}.cl-site-option{border-width:1.5px;border-color:var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-xs);font-weight:600}.cl-site-option.selected{border-color:var(--accent);background:var(--brand-soft);box-shadow:0 0 0 3px #4cc3c940}.cl-scan-failed{background:var(--bg-top)}.cl-page h2{letter-spacing:-.025em;font-size:1.3rem}.cl-page h2:before,.adm-section>h2:before,.adm-section h2:first-child:before{content:"";background:var(--accent);vertical-align:.15em;border-radius:50%;flex:none;width:7px;height:7px;margin-right:9px;display:inline-block}.adm-section>h2:before,.adm-section>h2:first-child:before{margin-right:1px}.cl-visits{gap:12px}.cl-visit{border-radius:var(--radius);padding:16px 18px}.cl-visit-date{letter-spacing:-.01em;font-weight:800}.cl-visit-total{letter-spacing:-.02em;color:var(--brand);font-size:1.15rem;font-weight:800}.cl-visit-site{color:var(--body);font-weight:600}.cl-page strong{color:var(--text)}.list.cl-schedule{padding:4px 18px}.cl-switch input{background:var(--border-strong)}.cl-switch input:checked{background:var(--accent)}.cl-switch input:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.adm-head{margin-bottom:16px}.adm-head h1{letter-spacing:-.035em;font-size:1.85rem}.adm-head .sub{color:var(--muted);font-weight:500}.adm-section{margin-top:16px}.adm-tiles{gap:12px}.adm-tile{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #0d323a12;padding:14px 16px;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.adm-tile:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.adm-tile:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.adm-tile:after{content:"";background:var(--accent);border-radius:3px 3px 0 0;width:28px;height:3px;position:absolute;bottom:0;left:16px}.adm-tile.zero:after{background:var(--border-strong)}.adm-tile.warn:after{background:#e0a526}.adm-tile.danger:after{background:#e0574b}.adm-tile .stat{font-size:2rem}.adm-tile .label{color:var(--muted);font-weight:600}.adm-item .title{font-weight:700}.adm-note{border-left-color:var(--accent);color:var(--body);border-radius:0 10px 10px 0}.adm-visit-cards{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #0d323a12;overflow:hidden}.adm-table tfoot td{border-top:1px solid var(--border-strong);font-weight:800}.adm-radio{border-radius:var(--radius-sm);border-color:var(--border-strong)}.adm-radio:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px #4cc3c938}.adm-day{border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);border-color:#0d323a14}.adm-slot{border-radius:10px}.adm-slot:hover{border-color:var(--accent)}.adm-tabs button{border-color:var(--border-strong);font-weight:600}.adm-tabs button[aria-pressed=true]{border-color:var(--accent);color:var(--text);font-weight:700}.adm-map{border-radius:var(--radius-sm)}.adm-form-actions{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#e7f0f1e6}.topbar .btn.ghost{border-radius:var(--radius-pill)}tr.clickable:hover td{background:#f0f8f8}
