@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-latin-var.woff2)format("woff2")}@font-face{font-family:Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plexmono-400.woff2)format("woff2")}@font-face{font-family:Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plexmono-500.woff2)format("woff2")}@font-face{font-family:Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plexmono-600.woff2)format("woff2")}:root{--paper:#efebe1;--paper-deep:#e5dfd0;--ink:#211f1a;--haze:#8b8572;--line:#d9d3c2;--zone-green:#3e7a4e;--zone-red:#bc3a2e;--lcd:#cbd9b4;--lcd-warn:#e8a79b;--font-body:"Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{background:var(--ink);min-height:100%;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:manipulation;margin:0;padding:0}button,input{touch-action:manipulation}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}#app{background:var(--paper);max-width:460px;min-height:100dvh;padding:22px 20px calc(72px + var(--safe-bottom));margin:0 auto}@media (width>=520px){#app{border-radius:10px;min-height:auto;margin:28px auto;box-shadow:0 0 0 1px #ffffff0d,0 28px 70px #0000008c}}.mono-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--haze);font-size:10px;font-weight:500}.btn{border:1.5px solid var(--ink);color:var(--ink);font-family:var(--font-body);letter-spacing:.02em;cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:9px 16px;font-size:13px;font-weight:700;display:inline-flex}.btn:active{transform:scale(.97)}.btn-ink{background:var(--ink);color:var(--paper)}.btn-lg{width:100%;padding:14px;font-size:14px}.btn-link{color:var(--haze);text-underline-offset:3px;background:0 0;border:none;min-height:0;padding:4px 2px;font-size:12.5px;font-weight:600;text-decoration:underline 1px}.btn-link:active{color:var(--ink);transform:none}.page-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-bottom:16px;display:flex}.brand{letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:15px;font-weight:800;font-stretch:115%}.detail-head{border-bottom:none;padding-bottom:4px}.detail-head .brand{text-align:center;flex:1;font-size:14px}.btn-back{font-family:var(--font-body);color:var(--ink);cursor:pointer;background:0 0;border:none;min-height:0;padding:6px 2px;font-size:20px;line-height:1}.rows{margin-top:4px}.row{border:none;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;align-items:center;gap:12px;padding:16px 0;font-family:inherit;display:flex}.row:last-child{border-bottom:none}.row:active{background:#211f1a0a}.row-accent{border-radius:2px;flex-shrink:0;width:4px;height:34px}.row-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.row-name{letter-spacing:.06em;text-transform:uppercase;font-size:14px;font-weight:700}.row-sub{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--haze);font-size:10px}.row-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.row-readout{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:20px;font-weight:500}.row-max{color:var(--haze);font-size:12px}.lamp{border-radius:50%;flex-shrink:0;width:9px;height:9px}.lamp-green{background:var(--zone-green)}.lamp-red{background:var(--zone-red)}.lamp-off{border:1.5px solid #211f1a47}.quota-wrap{flex-direction:column;align-items:center;padding:24px 0 0;display:flex}.quota{align-items:center;gap:8px;padding:8px 0;display:flex}.quota-cell{background:#211f1a12;border:1.5px solid #211f1a47;border-radius:6px;width:28px;height:28px}.quota-last{border-color:var(--zone-red)}.quota-new{animation:.45s cubic-bezier(.34,1.56,.64,1) pop}@keyframes pop{0%{transform:scale(.4)}to{transform:scale(1)}}.quota-kick{animation:.14s ease-out kick}@keyframes kick{0%{transform:translateY(2px)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.quota-new,.quota-kick{animation:none}}.quota-num{gap:10px}.quota-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:48px;font-weight:600;line-height:1}.quota-over{color:var(--zone-red)}.quota-max{font-family:var(--font-mono);color:var(--haze);font-size:15px;font-weight:500}.plate{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--haze);margin:10px 0;font-size:10px;font-weight:500}.lcd{background:var(--ink);width:min(100%,300px);color:var(--lcd);font-family:var(--font-mono);border-radius:7px;justify-content:space-between;align-items:baseline;gap:10px;padding:12px 16px;display:flex}.lcd-main{letter-spacing:.03em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:500}.lcd-side{letter-spacing:.12em;text-transform:uppercase;opacity:.75;font-size:10px;font-weight:500}.lcd-warn{color:var(--lcd-warn);opacity:1}.record-area{flex-direction:column;align-items:center;gap:14px;margin:30px 0 4px;display:flex}.record{border:1.5px solid var(--ink);background:var(--paper);width:100%;min-height:64px;box-shadow:inset 0 0 0 4px var(--paper), inset 0 0 0 5.5px var(--ink);color:var(--ink);font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:9px;font-size:15px;font-weight:700;transition:transform 80ms,background 80ms}.record:active{background:var(--paper-deep);transform:translateY(1px)scale(.99)}.record-limit{border-color:var(--zone-red);box-shadow:inset 0 0 0 4px var(--paper), inset 0 0 0 5.5px var(--zone-red);color:var(--zone-red)}.last-row{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--haze);align-items:center;gap:12px;font-size:10px;font-weight:500;display:flex}.sec{margin-top:34px}.sec-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:14px;display:flex}.sec-title{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--haze);margin:0;font-size:10px;font-weight:600}.hm{scrollbar-width:none;flex-direction:column;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.hm::-webkit-scrollbar{display:none}.hm-months{grid-template-columns:repeat(12,1fr);gap:3px;margin-left:28px;display:grid}.hm-months span{font-family:var(--font-mono);letter-spacing:.04em;color:var(--haze);white-space:nowrap;font-size:8.5px;overflow:visible}.hm-body{gap:4px;display:flex}.hm-days{font-family:var(--font-mono);color:var(--haze);flex-direction:column;flex-shrink:0;justify-content:space-between;width:24px;font-size:8.5px;display:flex}.hm-days span{height:14px;line-height:14px}.hm-grid{flex:1;grid-template-columns:repeat(12,1fr);gap:3px;display:grid}.hm-cell{aspect-ratio:1;border-radius:2.5px;flex-shrink:0}button.hm-cell{border:none;padding:0}.hm-cell[data-date]{cursor:pointer;transition:transform 80ms}.hm-cell[data-date]:active{transform:scale(.82)}.hm-cell-selected{box-shadow:inset 0 0 0 2px var(--paper), inset 0 0 0 3.5px var(--ink)}.hm-info{font-family:var(--font-mono);letter-spacing:.02em;color:var(--haze);margin-top:14px;font-size:11px}.hm-info strong{color:var(--ink);font-weight:600}.hm-legend{font-family:var(--font-mono);letter-spacing:.08em;color:var(--haze);align-items:center;gap:4px;font-size:9px;display:flex}.hm-legend .hm-cell{border-radius:2px;width:8px;height:8px}.log{margin:0;padding:0;list-style:none}.log li{border-bottom:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;align-items:baseline;gap:12px;padding:9px 0;font-size:11px;display:flex}.log li:last-child{border-bottom:none}.log-no{font-weight:600}.log-clock,.log-date{color:var(--haze)}.log-rel{color:var(--haze);margin-left:auto}.log-empty{color:var(--haze);font-size:13px}.danger-zone{flex-direction:column;align-items:center;gap:14px;margin-top:40px;display:flex}.danger{color:var(--zone-red)}.dashboard-clear{text-align:center;margin-top:30px}.overlay{z-index:20;background:#0f0e0b8c;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.form-card{background:var(--paper);padding:22px 20px calc(20px + var(--safe-bottom));border-radius:10px;width:100%;max-width:460px;box-shadow:0 28px 70px #00000080}.form-title{margin:0 0 20px;font-size:17px;font-weight:700}.form-card form{flex-direction:column;display:flex}.form-card label{color:var(--haze);flex-direction:column;gap:4px;margin-bottom:16px;font-size:12px;font-weight:600;display:flex}.form-card input[type=text],.form-card input[type=number]{border:none;border-bottom:1.5px solid var(--line);width:100%;font-family:var(--font-body);color:var(--ink);background:0 0;border-radius:0;min-height:42px;padding:8px 0;font-size:16px;font-weight:500}.form-card input[type=number]{font-family:var(--font-mono)}.form-card input:focus{border-bottom:2px solid var(--ink);outline:none}.form-row{gap:16px;display:flex}.form-row label{flex:1}.swatches{flex-wrap:wrap;gap:10px;padding-top:8px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:30px;height:30px;padding:0}.swatch:hover{border-color:var(--line)}.swatch-selected{border-color:var(--ink);transform:scale(1.08)}.form-actions{justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.empty{text-align:center;flex-direction:column;align-items:center;gap:0;padding-top:18vh;display:flex}.empty .brand{font-size:20px}.empty-lead{margin:22px 0 0;font-size:15px;font-weight:700}.empty-sub{max-width:300px;color:var(--haze);margin:10px 0 26px;font-size:13.5px;line-height:1.7}
