:root{--bg: #f3f4f6;--card: #ffffff;--ink: #1f2328;--muted: #5b6168;--line: #dfe2e6;--accent: #3d434a;--accent-ink: #ffffff;--silver: #b4b9bf;--ok: #157f3b;--warn: #9a5b00;--err: #b42318;--input-bg: #ffffff;--disabled-bg: #b4b9bf;--disabled-ink: #ffffff;--notice-bg: #fff8e6;--notice-line: #e8c37a;--banner-bg: #fff3c4;--badge-bg: #e6f4ea;--bubble: #e9ebee;--shadow: rgba(0, 0, 0, .12);color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1{font-size:22px;margin:0 0 12px}h2{font-size:18px;margin:0 0 14px}.muted{color:var(--muted)}.center{display:grid;place-items:center;min-height:100vh}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}input,select{font:inherit;color:var(--ink);padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--input-bg);min-width:0}input:focus,select:focus{outline:2px solid var(--silver);border-color:var(--accent)}button{font:inherit;cursor:pointer}button.primary{background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;padding:10px 18px}button.primary:disabled{background:var(--disabled-bg);color:var(--disabled-ink);opacity:1;cursor:not-allowed}button.link{background:none;border:0;color:var(--muted);text-decoration:none;padding:4px 6px;border-radius:6px}button.link:hover{color:var(--ink);background:var(--bg)}a,a:hover,button{text-decoration:none}.error{color:var(--err);margin:8px 0 0}.warn{color:var(--warn)}.ok{color:var(--ok);margin:8px 0 0}.auth{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:16px}.auth-logo{width:220px;max-width:70vw}.auth .card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px}.app{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 24px;background:var(--card);border-bottom:1px solid var(--line);flex-wrap:wrap}.topbar-logo{height:56px}.topbar-right{display:flex;align-items:center;gap:12px;font-size:14px;flex-wrap:wrap}.content{max-width:1200px;margin:0 auto;padding:24px 16px;display:flex;flex-direction:column;gap:20px}.quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end}.list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.list-head h2{margin:0}.search{width:280px;max-width:100%}.log-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.log-filters label{display:flex;flex-direction:column;gap:4px;font-size:13px}.nowrap{white-space:nowrap}.list{width:100%;border-collapse:collapse;font-size:14px}.list th{text-align:left;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);padding:8px}.list td{border-bottom:1px solid var(--line);padding:8px;white-space:nowrap}.list td small{color:var(--muted)}.plate{font-weight:600;letter-spacing:.5px}.soon{color:var(--soon);font-weight:600}.month{color:var(--month)}.pending{color:var(--pending)}.expired{color:var(--err)}section.card{overflow-x:auto}button.secondary{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 18px}.conflict{margin-top:14px;border:1px solid var(--notice-line);background:var(--notice-bg);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.conflict p{margin:0;line-height:1.5}.conflict-actions{display:flex;gap:10px;flex-wrap:wrap}.conflict-help{margin:0;padding-left:18px;font-size:13px;line-height:1.5}button.primary.small{padding:4px 12px;font-size:13px;margin-left:6px}.update-banner{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:10px 16px;background:var(--banner-bg);border-bottom:1px solid var(--notice-line);font-size:14px}h3{font-size:15px;margin:18px 0 10px}.settings-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.settings-body{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start}.settings-menu{display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px}.settings-menu button{text-align:left;background:none;border:0;border-radius:8px;padding:10px 12px;color:var(--ink)}.settings-menu button.active{background:var(--bg);font-weight:600}.choice-row{display:flex;gap:12px;flex-wrap:wrap}.choice{flex-direction:row;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px 16px;color:var(--ink);cursor:pointer}.choice.on,.template.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.templates{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.template{border:1px solid var(--line);border-radius:10px;padding:14px;color:var(--ink);cursor:pointer;gap:8px}.template-head{display:flex;align-items:center;gap:8px}.template-text{margin:0;background:var(--bg);border-radius:8px;padding:10px 12px;line-height:1.45;font-size:14px}.badge{font-size:12px;background:var(--accent-soft);color:var(--accent-soft-ink);border-radius:999px;padding:2px 8px}.sms-help{margin:16px 0;font-size:14px;line-height:1.5}.sms-help p{margin:0 0 8px}@media(max-width:720px){.settings-body{grid-template-columns:1fr}}button:not(:disabled):hover{text-shadow:0 0 .65px currentColor,0 0 .65px currentColor}.okc{color:var(--ok)}.reminder-cell{display:inline-flex;align-items:center;gap:8px}.sms-eye{position:relative;display:inline-flex;color:var(--muted);cursor:help;outline:none}.sms-eye:hover,.sms-eye:focus{color:var(--ink)}.sms-preview{position:fixed;z-index:50;display:flex;flex-direction:column;gap:8px;white-space:normal;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:0 8px 24px var(--shadow);color:var(--ink);font-size:13px;pointer-events:none}.sms-row{display:block;line-height:1.4}.sms-row.small{font-size:12px}.sms-bubble{display:block;background:var(--bubble);border-radius:14px 14px 14px 4px;padding:10px 12px;line-height:1.45;font-size:14px}:root[data-theme=dark]{--bg: #16191d;--card: #1f2328;--ink: #e8eaed;--muted: #a3a9b0;--line: #343a41;--accent: #d6d9dd;--accent-ink: #16191d;--silver: #6b7178;--ok: #5fcf86;--warn: #f0b45a;--err: #ff8a80;--input-bg: #16191d;--disabled-bg: #4a5058;--disabled-ink: #a3a9b0;--notice-bg: #2d2717;--notice-line: #7a6430;--banner-bg: #3a3218;--badge-bg: #173322;--bubble: #2c3238;--shadow: rgba(0, 0, 0, .5);color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #16191d;--card: #1f2328;--ink: #e8eaed;--muted: #a3a9b0;--line: #343a41;--accent: #d6d9dd;--accent-ink: #16191d;--silver: #6b7178;--ok: #5fcf86;--warn: #f0b45a;--err: #ff8a80;--input-bg: #16191d;--disabled-bg: #4a5058;--disabled-ink: #a3a9b0;--notice-bg: #2d2717;--notice-line: #7a6430;--banner-bg: #3a3218;--badge-bg: #173322;--bubble: #2c3238;--shadow: rgba(0, 0, 0, .5);color-scheme:dark}}.logo-dark{display:none}:root[data-theme=dark] .logo-light{display:none}:root[data-theme=dark] .logo-dark{display:inline}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .logo-light{display:none}:root:not([data-theme=light]) .logo-dark{display:inline}}.import{display:flex;flex-direction:column;gap:20px}.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:14px;line-height:1.5}.steps div{margin-top:8px}label.file-btn{display:inline-flex;flex-direction:row;background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:10px 18px;cursor:pointer;font-size:16px}label.file-btn.disabled{background:var(--disabled-bg);color:var(--disabled-ink);cursor:not-allowed}label.file-btn:not(.disabled):hover{text-shadow:0 0 .65px currentColor,0 0 .65px currentColor}.import-summary{display:flex;gap:14px;flex-wrap:wrap;font-size:14px}.status-cell{white-space:normal!important;min-width:240px}.decide{display:flex;flex-direction:column;gap:6px;margin:4px 0}.import-actions{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}button.link.current{color:var(--ink);font-weight:600}.error-box{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.small-link{font-size:12px;padding:2px 4px}.error-detail{margin:0;max-width:100%;white-space:pre-wrap;word-break:break-word;font-size:12px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--muted)}.device{border-top:1px solid var(--line);padding:14px 0}.device-head{display:flex;gap:12px;flex-wrap:wrap;align-items:baseline}.device-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.pair-code{margin-top:10px}.pair-code-digits{font-size:34px;font-weight:700;letter-spacing:4px;font-variant-numeric:tabular-nums}.pair-confirm{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.pair-confirm p{margin:0 0 6px}.row-actions{white-space:nowrap}.row-actions>*{vertical-align:middle}.eye-slot{display:inline-flex;width:22px;justify-content:center;margin-right:6px}.correct-row td{background:var(--bg);padding:12px}.correct-form{margin-bottom:6px}:root{--accent-soft: #e9ebee;--accent-soft-ink: #3d434a}:root[data-theme=dark]{--accent-soft: #2a2f35;--accent-soft-ink: #dfe2e6}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--accent-soft: #2a2f35;--accent-soft-ink: #dfe2e6}}:root[data-accent=blue]{--accent: #185FA5;--accent-ink: #ffffff;--accent-soft: #E6F1FB;--accent-soft-ink: #0C447C}:root[data-accent=green]{--accent: #0F6E56;--accent-ink: #ffffff;--accent-soft: #E1F5EE;--accent-soft-ink: #085041}:root[data-accent=bordo]{--accent: #8C2438;--accent-ink: #ffffff;--accent-soft: #FBEAF0;--accent-soft-ink: #72243E}:root[data-accent=graphite]{--accent: #111111;--accent-ink: #ffffff;--accent-soft: #ececec;--accent-soft-ink: #111111}:root[data-theme=dark][data-accent=blue]{--accent: #85B7EB;--accent-ink: #042C53;--accent-soft: #0C447C;--accent-soft-ink: #E6F1FB}@media(prefers-color-scheme:dark){:root:not([data-theme=light])[data-accent=blue]{--accent: #85B7EB;--accent-ink: #042C53;--accent-soft: #0C447C;--accent-soft-ink: #E6F1FB}}:root[data-theme=dark][data-accent=green]{--accent: #5DCAA5;--accent-ink: #04342C;--accent-soft: #085041;--accent-soft-ink: #E1F5EE}@media(prefers-color-scheme:dark){:root:not([data-theme=light])[data-accent=green]{--accent: #5DCAA5;--accent-ink: #04342C;--accent-soft: #085041;--accent-soft-ink: #E1F5EE}}:root[data-theme=dark][data-accent=bordo]{--accent: #ED93B1;--accent-ink: #4B1528;--accent-soft: #72243E;--accent-soft-ink: #FBEAF0}@media(prefers-color-scheme:dark){:root:not([data-theme=light])[data-accent=bordo]{--accent: #ED93B1;--accent-ink: #4B1528;--accent-soft: #72243E;--accent-soft-ink: #FBEAF0}}:root[data-theme=dark][data-accent=graphite]{--accent: #f2f2f2;--accent-ink: #111111;--accent-soft: #2a2a2a;--accent-soft-ink: #f2f2f2}@media(prefers-color-scheme:dark){:root:not([data-theme=light])[data-accent=graphite]{--accent: #f2f2f2;--accent-ink: #111111;--accent-soft: #2a2a2a;--accent-soft-ink: #f2f2f2}}button.link.current{color:var(--accent)}.choice-title{font-size:15px;margin:16px 0 8px}.swatch{display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid var(--line);vertical-align:-3px;margin-right:2px}:root[data-accent=glass]{--glass: rgba(255, 255, 255, .42);--glass-strong: rgba(255, 255, 255, .72);--glass-line: rgba(255, 255, 255, .65);--glass-hl: rgba(255, 255, 255, .8);--input-bg: rgba(255, 255, 255, .6);--b1: #9ec5ff;--b2: #ffc6e0;--b3: #b8f0d8;--b4: #ffe2a8;--bg: #eef1f6}:root[data-theme=dark][data-accent=glass]{--glass: rgba(30, 34, 40, .45);--glass-strong: rgba(24, 28, 33, .78);--glass-line: rgba(255, 255, 255, .14);--glass-hl: rgba(255, 255, 255, .18);--input-bg: rgba(0, 0, 0, .28);--b1: #1f4f8f;--b2: #6a2650;--b3: #145a48;--b4: #6b4a12;--bg: #0d1014}@media(prefers-color-scheme:dark){:root:not([data-theme=light])[data-accent=glass]{--glass: rgba(30, 34, 40, .45);--glass-strong: rgba(24, 28, 33, .78);--glass-line: rgba(255, 255, 255, .14);--glass-hl: rgba(255, 255, 255, .18);--input-bg: rgba(0, 0, 0, .28);--b1: #1f4f8f;--b2: #6a2650;--b3: #145a48;--b4: #6b4a12;--bg: #0d1014}}:root[data-accent=glass] body:before{content:"";position:fixed;top:-10%;right:-10%;bottom:-10%;left:-10%;z-index:-1;filter:blur(60px);opacity:.8;background:radial-gradient(40% 40% at 10% 10%,var(--b1),transparent 70%),radial-gradient(35% 35% at 90% 30%,var(--b2),transparent 70%),radial-gradient(35% 35% at 30% 95%,var(--b3),transparent 70%),radial-gradient(25% 25% at 55% 50%,var(--b4),transparent 70%)}:root[data-accent=glass] .card,:root[data-accent=glass] .topbar{background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);border:1px solid var(--glass-line);box-shadow:inset 0 1px 0 var(--glass-hl),0 8px 30px #00000014}:root[data-accent=glass] .card{border-radius:18px}:root[data-accent=glass] .topbar{margin:12px 16px 0;border-radius:18px}:root[data-accent=glass] .card:has(table.list){background:var(--glass-strong)}:root[data-accent=glass] input,:root[data-accent=glass] select{border-color:var(--glass-line)}:root[data-accent=glass] body{background:transparent}:root[data-accent=metal]{--page: #d9dde2;--metal: linear-gradient(180deg, #fbfcfd 0%, #e9ecef 45%, #d5dade 55%, #eef1f3 100%);--metal-card: linear-gradient(180deg, #ffffff 0%, #f1f3f5 50%, #e6e9ec 100%);--edge: #b9bfc6;--hl: rgba(255, 255, 255, .95);--sh: rgba(40, 48, 58, .18);--chrome: linear-gradient(180deg, #5d646c 0%, #3d434a 50%, #2c3137 100%);--chrome-ink: #ffffff;--chrome-hl: rgba(255, 255, 255, .35);--metal-input: linear-gradient(180deg, #eef0f2, #ffffff);--brush: rgba(255, 255, 255, .18)}:root[data-theme=dark][data-accent=metal]{--page: #16191d;--metal: linear-gradient(180deg, #4a5057 0%, #33383e 45%, #272b30 55%, #3a3f45 100%);--metal-card: linear-gradient(180deg, #3a3f45 0%, #2b2f34 50%, #22262a 100%);--edge: #5a6168;--hl: rgba(255, 255, 255, .22);--sh: rgba(0, 0, 0, .5);--chrome: linear-gradient(180deg, #f4f6f8 0%, #d3d8dd 50%, #b9c0c7 100%);--chrome-ink: #16191d;--chrome-hl: rgba(255, 255, 255, .9);--metal-input: linear-gradient(180deg, #1b1e22, #25292e);--brush: rgba(255, 255, 255, .04)}@media(prefers-color-scheme:dark){:root:not([data-theme=light])[data-accent=metal]{--page: #16191d;--metal: linear-gradient(180deg, #4a5057 0%, #33383e 45%, #272b30 55%, #3a3f45 100%);--metal-card: linear-gradient(180deg, #3a3f45 0%, #2b2f34 50%, #22262a 100%);--edge: #5a6168;--hl: rgba(255, 255, 255, .22);--sh: rgba(0, 0, 0, .5);--chrome: linear-gradient(180deg, #f4f6f8 0%, #d3d8dd 50%, #b9c0c7 100%);--chrome-ink: #16191d;--chrome-hl: rgba(255, 255, 255, .9);--metal-input: linear-gradient(180deg, #1b1e22, #25292e);--brush: rgba(255, 255, 255, .04)}}:root[data-accent=metal] body{background:repeating-linear-gradient(90deg,var(--brush) 0 1px,transparent 1px 3px),radial-gradient(120% 80% at 50% 0%,rgba(255,255,255,.35),transparent 60%),var(--page);background-attachment:fixed}:root[data-accent=metal] .card{background:repeating-linear-gradient(90deg,var(--brush) 0 1px,transparent 1px 4px),var(--metal-card);border:1px solid var(--edge);border-radius:14px;box-shadow:inset 0 1px 0 var(--hl),inset 0 -1px #00000014,0 6px 18px var(--sh)}:root[data-accent=metal] .topbar{background:repeating-linear-gradient(90deg,var(--brush) 0 1px,transparent 1px 4px),var(--metal);border-bottom:1px solid var(--edge);box-shadow:inset 0 1px 0 var(--hl),0 4px 14px var(--sh)}:root[data-accent=metal] input,:root[data-accent=metal] select{background:var(--metal-input);border-color:var(--edge);box-shadow:inset 0 1px 2px #0000001f}:root[data-accent=metal] button.primary:not(:disabled),:root[data-accent=metal] label.file-btn:not(.disabled){background:var(--chrome);color:var(--chrome-ink);border:1px solid rgba(0,0,0,.35);box-shadow:inset 0 1px 0 var(--chrome-hl),0 2px 4px var(--sh)}:root[data-accent=metal] button.secondary{background:var(--metal);border:1px solid var(--edge);box-shadow:inset 0 1px 0 var(--hl)}:root[data-accent=metal] .badge{background:var(--metal);color:var(--ink);border:1px solid var(--edge);box-shadow:inset 0 1px 0 var(--hl)}:root{--soon: #c2410c;--month: #a16207;--pending: #1d4ed8}:root[data-theme=dark]{--soon: #fb923c;--month: #facc15;--pending: #7cb3ff}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--soon: #fb923c;--month: #facc15;--pending: #7cb3ff}}
