@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f2f5f3;--surface:#fff;--surface-2:#e9eeeb;--surface-3:#dfe6e2;--text:#121a16;--muted:#5a6962;--border:#d9e1dc;--accent:#0e7a4b;--accent-hover:#0b6640;--accent-text:#fff;--accent-soft:#dcefe5;--taken:#9fb0a8;--taken-mine:var(--accent);--warn:#8a5300;--warn-soft:#fbefd9;--danger:#b42318;--danger-soft:#fce7e4;--r-lg:16px;--r-md:12px;--r-sm:6px;--shadow:0 1px 2px #1232220f, 0 6px 20px -8px #12322224;--shadow-lift:0 2px 4px #12322214, 0 14px 32px -12px #12322238;--ring:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);--ease:cubic-bezier(.2, .7, .2, 1);--nav-h:64px;--font:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0d1210;--surface:#151c19;--surface-2:#1c2521;--surface-3:#25302b;--text:#e6ece8;--muted:#93a49b;--border:#26302c;--accent:#43c98c;--accent-hover:#5fd6a0;--accent-text:#052417;--accent-soft:#163428;--taken:#46544e;--warn:#eeb35c;--warn-soft:#30250f;--danger:#ff8a7d;--danger-soft:#371a17;--shadow:0 1px 0 #ffffff08 inset, 0 8px 24px -12px #0009;--shadow-lift:0 1px 0 #ffffff0a inset, 0 16px 36px -14px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.5}a{color:var(--accent);text-underline-offset:3px}h1,h2,h3{text-wrap:balance;margin:0 0 8px}h1{letter-spacing:-.025em;font-size:1.6rem;font-weight:650;line-height:1.15}h2{letter-spacing:-.012em;font-size:1.12rem;font-weight:600;line-height:1.25}h3{font-size:1rem;font-weight:600}p{text-wrap:pretty;max-width:65ch;margin:0 0 10px}strong{font-weight:600}.muted{color:var(--muted)}.small{font-size:.875rem}.center{text-align:center}.center p{margin-inline:auto}.m0{margin:0}.mt-xs{margin-top:4px}.mt-sm{margin-top:8px}.indent{margin-left:30px}.w-auto{width:auto}.break-all{word-break:break-all}.self-start{align-self:flex-start}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.row.nowrap{flex-wrap:nowrap;align-items:flex-start}.stack>*+*{margin-top:12px}.grow{flex:1}.hidden{display:none!important}.skip-link{z-index:30;background:var(--accent);color:var(--accent-text);border-radius:var(--r-md);transition:top .15s var(--ease);padding:10px 14px;font-weight:600;text-decoration:none;position:absolute;top:-48px;left:12px}.skip-link:focus{top:calc(env(safe-area-inset-top) + 8px)}.topbar{z-index:10;background:color-mix(in srgb, var(--surface) 97%, transparent);-webkit-backdrop-filter:saturate(160%)blur(16px);border-bottom:1px solid var(--border);padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;position:sticky;top:0}.topbar-inner{align-items:center;gap:12px;max-width:760px;margin:0 auto;display:flex}.brand{letter-spacing:-.015em;color:var(--text);align-items:center;gap:10px;font-weight:650;text-decoration:none;display:flex}.brand img{border-radius:8px;width:30px;height:30px}.topnav{gap:2px;margin-left:auto;display:none}.topnav a,.bottomnav a{color:var(--muted);border-radius:var(--r-md);transition:color .16s var(--ease), background-color .16s var(--ease);padding:8px 12px;font-size:.9rem;font-weight:550;text-decoration:none}.topnav a:hover{color:var(--text);background:var(--surface-2)}.topnav a.on{background:var(--accent-soft);color:var(--accent)}main{max-width:760px;padding:18px 16px calc(var(--nav-h) + 32px + env(safe-area-inset-bottom));margin:0 auto}main:focus{outline:none}.bottomnav{z-index:10;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:saturate(160%)blur(12px);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottomnav a{flex-direction:column;flex:1;align-items:center;gap:3px;min-width:52px;padding:4px;font-size:.72rem;display:flex}.bottomnav a:active{transform:scale(.96)}.bottomnav a.on{color:var(--accent)}@media (width>=760px){.topnav{display:flex}.bottomnav{display:none}main{padding-bottom:48px}}.card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:18px}@media (prefers-color-scheme:dark){.card{border:1px solid var(--border)}}.card+.card{margin-top:12px}.card.hero{box-shadow:inset 0 0 0 1.5px var(--accent), var(--shadow)}a.card{color:inherit;transition:box-shadow .2s var(--ease), transform .2s var(--ease);text-decoration:none;display:block}a.card:hover{box-shadow:inset 0 0 0 1.5px var(--accent), var(--shadow-lift)}a.card:active{transform:scale(.99)}button,.btn{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:var(--r-md);cursor:pointer;white-space:nowrap;min-height:44px;transition:background-color .16s var(--ease), border-color .16s var(--ease), color .16s var(--ease), box-shadow .16s var(--ease), transform .12s var(--ease);justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}button:hover:not(:disabled),.btn:hover{background:var(--surface-2)}button:active:not(:disabled),.btn:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.primary:hover:not(:disabled),.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, transparent);background:0 0}button.danger:hover:not(:disabled){background:var(--danger-soft)}button.ghost{color:var(--accent);background:0 0;border-color:#0000;padding-inline:8px}button.ghost:hover:not(:disabled){background:var(--accent-soft)}button.link{min-height:0;color:var(--accent);background:0 0;border:0;padding:0;font-weight:600}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}button.block,.btn.block{width:100%}button.big,.btn.big{min-height:54px;font-size:1.05rem}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--ring);outline:none}label{margin-bottom:6px;font-size:.9rem;font-weight:550;display:block}input[type=text],input[type=email],input[type=number],input[type=date],input[type=time],input:not([type]),select,textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);min-height:46px;transition:border-color .16s var(--ease), box-shadow .16s var(--ease);padding:11px 12px}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}input:focus,select:focus,textarea:focus{border-color:var(--accent)}::placeholder{color:color-mix(in srgb, var(--muted) 80%, transparent)}input.code{font-family:var(--mono);letter-spacing:.3em;text-align:center;font-size:1.6rem}input.rego{text-transform:uppercase;letter-spacing:.08em;font-family:var(--mono)}.field+.field{margin-top:14px}.check{cursor:pointer;align-items:center;gap:10px;font-weight:500;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent);flex:none}.chips{scrollbar-width:none;gap:8px;padding:2px 2px 6px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);border-radius:999px;flex:none;padding:8px 14px;font-size:.9rem;font-weight:600}.chip.on,.chip.on:hover:not(:disabled){background:var(--text);border-color:var(--text);color:var(--bg)}.chip small{opacity:.75;margin-left:2px;font-size:.75rem;font-weight:500}a.chip{align-items:center;text-decoration:none;display:inline-flex}.badge{border-radius:var(--r-sm);background:var(--surface-2);color:var(--muted);white-space:nowrap;align-items:center;gap:6px;padding:3px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.badge.green{background:var(--accent-soft);color:var(--accent)}.badge.solid{background:var(--accent);color:var(--accent-text)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.red{background:var(--danger-soft);color:var(--danger)}.notice{border-radius:var(--r-md);background:var(--surface-2);padding:11px 13px;font-size:.92rem}.notice.warn{background:var(--warn-soft);color:var(--warn)}.notice.error{background:var(--danger-soft);color:var(--danger)}.notice.ok{background:var(--accent-soft);color:var(--accent)}a.notice{text-decoration:none;display:block}.status-dot{background:currentColor;border-radius:50%;width:8px;height:8px;display:inline-block}.list{margin:0;padding:0;list-style:none}.list li{padding:11px 0}.list li+li{border-top:1px solid var(--border)}.dayline{border-radius:var(--r-md);background:var(--accent-soft);height:38px;position:relative;overflow:hidden}.dayline .past{background:repeating-linear-gradient(135deg, var(--surface-2) 0 6px, transparent 6px 12px);position:absolute;top:0;bottom:0;left:0}.dayline .blk{background:var(--taken);position:absolute;top:0;bottom:0}.dayline .blk.mine{background:var(--taken-mine)}.dayline .blk.maint{background:repeating-linear-gradient(135deg, var(--warn) 0 5px, color-mix(in srgb, var(--warn) 55%, transparent) 5px 10px)}.dayline .sel{border:2px solid var(--text);box-shadow:0 0 0 2px var(--surface);border-radius:8px;position:absolute;top:3px;bottom:3px}.ticks{color:var(--muted);justify-content:space-between;margin-top:6px;font-size:.72rem;display:flex}.seg{flex-wrap:wrap;align-items:center;gap:4px 10px;padding:10px 0;display:flex}.seg-actions{flex-wrap:wrap;flex-basis:100%;gap:4px;margin-left:-8px;padding-left:calc(9.5em + 10px);display:flex}@media (width<=420px){.seg-actions{margin-left:-8px;padding-left:0}}.seg+.seg{border-top:1px solid var(--border)}.seg .when{min-width:9.5em;font-size:.9rem}.seg.free .when{color:var(--accent);font-weight:600}.seg.free{cursor:pointer;border-radius:var(--r-sm);transition:background-color .16s var(--ease)}.seg.free:hover{background:var(--accent-soft)}.bar{height:8px;margin-top:6px}.bar>span{background:var(--accent);border-radius:999px;min-width:8px;height:100%;display:block}.topbar-btn{color:var(--muted);padding-inline:8px;font-size:.85rem}.share-btn{margin-left:auto}@media (width>=760px){.topnav+.share-btn{margin-left:4px}}.topbar-btn span{display:none}@media (width>=420px){.topbar-btn span{display:inline}}dialog.sheet{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);width:min(520px,100% - 24px);color:var(--text);box-shadow:var(--shadow-lift);padding:20px}dialog.sheet[open]{animation:rise .22s var(--ease)}dialog.sheet::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#080e0b80}textarea{resize:vertical;min-height:120px;line-height:1.45}.card.install{box-shadow:inset 0 0 0 1.5px var(--border);background:0 0}.card.install .app-icon{border-radius:10px;flex:none;width:44px;height:44px}.toast{z-index:50;left:50%;bottom:calc(var(--nav-h) + 20px + env(safe-area-inset-bottom));background:var(--text);color:var(--bg);border-radius:var(--r-md);max-width:calc(100% - 32px);box-shadow:var(--shadow-lift);animation:toast-in .22s var(--ease);padding:12px 18px;font-weight:550;position:fixed;transform:translate(-50%)}.toast.error{background:var(--danger);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.skeleton-page>*+*{margin-top:12px}.sk{border-radius:var(--r-sm);background:var(--surface-2);position:relative;overflow:hidden}.sk:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--surface) 55%, transparent), transparent);animation:1.4s ease-in-out infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.sk-title{border-radius:8px;width:45%;height:26px}.sk-line{width:100%;height:14px}.sk-line.short{width:60%}.sk-block{border-radius:var(--r-md);height:44px}.sk-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:18px}.sk-card>*+*{margin-top:10px}@keyframes shimmer{to{transform:translate(100%)}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}main>.stack>*{animation:rise .32s var(--ease) both}main>.stack>:nth-child(2){animation-delay:40ms}main>.stack>:nth-child(3){animation-delay:80ms}main>.stack>:nth-child(4){animation-delay:.12s}main>.stack>:nth-child(n+5){animation-delay:.16s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.auth-wrap{max-width:420px;margin:0 auto;padding:56px 16px 40px}.auth-wrap .logo{width:60px;height:60px;box-shadow:var(--shadow);border-radius:14px;margin:0 auto 18px;display:block}.auth-wrap h1{text-align:center}.auth-wrap>*{animation:rise .32s var(--ease) both}.tabs{scrollbar-width:none;gap:6px;margin-bottom:14px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}table.data{border-collapse:collapse;width:100%;font-size:.92rem}table.data td,table.data th{text-align:left;border-top:1px solid var(--border);vertical-align:top;padding:8px 6px}table.data th{color:var(--muted);border-top:0;font-size:.8rem}.poster{color:#111;border:1px solid var(--border);border-radius:var(--r-lg);text-align:center;background:#fff;margin-bottom:16px;padding:32px 24px}.poster h2{align-items:center;gap:10px;margin-bottom:6px;font-size:2rem;display:inline-flex}.poster p{margin-inline:auto}.poster .qr{width:min(320px,80%);margin:18px auto}.poster .qr svg{width:100%;height:auto;display:block}.poster .url{font-family:var(--mono);word-break:break-all;color:#444;font-size:.85rem}@media print{@page{size:A4;margin:14mm}body{background:#fff}.topbar,.bottomnav,.no-print,.skip-link{display:none!important}main{max-width:none;padding:0}main>.stack>*{animation:none}.poster{page-break-after:always;break-after:page;border:0;padding-top:30mm}.poster h2{font-size:34pt}.poster p{font-size:16pt}.poster .qr{width:120mm}}.steps{padding-left:20px}.steps li+li{margin-top:4px}.inline-icon{vertical-align:-3px}.rego-tag{border-radius:var(--r-sm);font-family:var(--mono);letter-spacing:.06em;background:var(--surface-2);border:1px solid var(--border);margin-top:4px;padding:2px 8px;font-size:.85rem;font-weight:600;display:inline-block}.edit-user{border-radius:var(--r-md);background:var(--surface-2);flex-basis:100%;margin-top:10px;padding:12px}.help ul{margin:0;padding-left:20px}.help li+li{margin-top:8px}.help-wrap{max-width:640px}.changes{margin:10px 0 0;padding-left:20px}.changes li+li{margin-top:6px}.device-info summary{cursor:pointer}.device-info dl{gap:4px;max-height:40vh;margin:8px 0 0;display:grid;overflow:auto}.device-info dl div{grid-template-columns:110px 1fr;gap:8px;display:grid}.device-info dt{color:var(--muted)}.device-info dd{overflow-wrap:anywhere;margin:0}.booking-note{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem;font-style:italic;display:block}.charge-helper{background:var(--accent-soft);border-radius:12px;padding:12px}.charge-helper .soc{width:76px}.chips.wrap{flex-wrap:wrap;overflow:visible}fieldset.field{border:0;min-width:0;margin:0;padding:0}fieldset.field legend{margin-bottom:6px;padding:0;font-size:.9rem;font-weight:600}
