@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/inter-latin-wght-normal.260c81a4759b.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/inter-latin-ext-wght-normal.1ad231aac0a8.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/inter-cyrillic-wght-normal.de93fdc85e3d.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/inter-cyrillic-ext-wght-normal.251d36f2b5a6.woff2") format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}:root{--brand:#0f5e63;--brand-ink:#ffffff;--brand-text:#0f5e63;--brand-soft:#e7efef;--brand-line:#c3d7d8;--brand-strong:#0b4a4e;--accent:#c8963e;--accent-text:#7a5a1e;--bg:#f7f7f5;--surface:#ffffff;--ink:#111827;--muted:#4b5563;--faint:#6b7280;--line:#e5e7eb;--line-strong:#d1d5db;--ok:#15803d;--ok-soft:#dcfce7;--warn:#b45309;--warn-soft:#fef3c7;--danger:#b91c1c;--danger-soft:#fee2e2;--info:#1d4ed8;--info-soft:#dbeafe;--ok-ink:#14532d;--ok-bd:#86efac;--warn-ink:#78350f;--warn-bd:#fcd34d;--danger-ink:#7f1d1d;--danger-bd:#fca5a5;--info-ink:#1e3a8a;--info-bd:#93c5fd;--way-soft:#ede9fe;--way-ink:#4c1d95;--danger-solid:#b91c1c;--ok-solid:#15803d;--head-bg:#fafafa;--off-bg:#f3f4f6;--res-soft:#fde7c4;--res-ink:#6b4710;--sos-bg:#fef2f2;--sos-bd:#f3c2c2;--sos-active:#fde2e2;--sos-num:#b42318;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-base:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:24px;--fs-3xl:30px;--fs-display:40px;--r-xs:4px;--r-sm:8px;--r-md:10px;--r-lg:12px;--r-xl:22px;--r-pill:999px;--radius:var(--r-lg);--radius-sm:var(--r-md);--cat-blue:#2456d6;--cat-blue-soft:#e8f0fe;--cat-green:#167447;--cat-green-soft:#e6f6ec;--cat-amber:#b45309;--cat-amber-soft:#fff3dc;--cat-pink:#c2185b;--cat-pink-soft:#fde8f1;--cat-violet:#6d28d9;--cat-violet-soft:#ede9fe;--cat-teal:#0f766e;--cat-teal-soft:#d9f2ef;--cat-slate:#40566f;--cat-slate-soft:#e8edf3;--shadow:0 1px 2px rgba(17,24,39,0.06),0 4px 16px rgba(17,24,39,0.06);--shadow-lg:0 12px 40px rgba(17,24,39,0.18);--tap:44px;--font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","PingFang SC","Microsoft YaHei",sans-serif;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#10151c;--surface:#1a212b;--ink:#edf0f4;--muted:#a8b0bd;--faint:#8b93a1;--line:#2a3340;--line-strong:#3b4654;--ok:#4ade80;--ok-soft:#11291c;--ok-ink:#86efac;--ok-bd:#14532d;--warn:#fbbf24;--warn-soft:#2c2310;--warn-ink:#fcd34d;--warn-bd:#78350f;--danger:#f87171;--danger-soft:#341a1a;--danger-ink:#fca5a5;--danger-bd:#7f1d1d;--info:#93c5fd;--info-soft:#15202e;--info-ink:#a5c8ff;--info-bd:#1e3a8a;--way-soft:#241b36;--way-ink:#cbb4f8;--head-bg:#161d26;--off-bg:#141a23;--res-soft:#3a2b14;--res-ink:#f5cf8d;--sos-bg:#341a1a;--sos-bd:#5f2a2a;--sos-active:#3f2020;--sos-num:#fca5a5;--brand-soft:color-mix(in srgb,var(--brand),#10151c 80%);--brand-line:color-mix(in srgb,var(--brand),#10151c 50%);--brand-text:color-mix(in srgb,var(--brand),#ffffff 62%);--accent-text:color-mix(in srgb,var(--accent),#ffffff 55%);--shadow:0 1px 2px rgba(0,0,0,0.5),0 4px 16px rgba(0,0,0,0.35);--shadow-lg:0 12px 40px rgba(0,0,0,0.6);color-scheme:dark}}:root[data-theme="dark"]{--bg:#10151c;--surface:#1a212b;--ink:#edf0f4;--muted:#a8b0bd;--faint:#8b93a1;--line:#2a3340;--line-strong:#3b4654;--ok:#4ade80;--ok-soft:#11291c;--ok-ink:#86efac;--ok-bd:#14532d;--warn:#fbbf24;--warn-soft:#2c2310;--warn-ink:#fcd34d;--warn-bd:#78350f;--danger:#f87171;--danger-soft:#341a1a;--danger-ink:#fca5a5;--danger-bd:#7f1d1d;--info:#93c5fd;--info-soft:#15202e;--info-ink:#a5c8ff;--info-bd:#1e3a8a;--way-soft:#241b36;--way-ink:#cbb4f8;--head-bg:#161d26;--off-bg:#141a23;--res-soft:#3a2b14;--res-ink:#f5cf8d;--sos-bg:#341a1a;--sos-bd:#5f2a2a;--sos-active:#3f2020;--sos-num:#fca5a5;--brand-soft:color-mix(in srgb,var(--brand),#10151c 80%);--brand-line:color-mix(in srgb,var(--brand),#10151c 50%);--brand-text:color-mix(in srgb,var(--brand),#ffffff 62%);--accent-text:color-mix(in srgb,var(--accent),#ffffff 55%);--shadow:0 1px 2px rgba(0,0,0,0.5),0 4px 16px rgba(0,0,0,0.35);--shadow-lg:0 12px 40px rgba(0,0,0,0.6);color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:var(--fs-base);line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--brand-text);text-underline-offset:2px}h1,h2,h3{line-height:1.25;margin:0 0 8px;letter-spacing:-0.01em}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-base)}p{margin:0 0 12px}small,.small{font-size:var(--fs-md)}.muted{color:var(--muted)}.faint{color:var(--faint)}.nowrap{white-space:nowrap}.num{font-variant-numeric:tabular-nums}.hidden,[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid var(--brand-line);outline-offset:2px}.skip-link{position:absolute;left:8px;top:-60px;z-index:100;background:var(--surface);padding:10px 14px;border-radius:var(--r-sm)}.skip-link:focus{top:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:10px 18px;border:1.5px solid transparent;border-radius:var(--radius-sm);font:inherit;font-weight:600;font-size:var(--fs-base);line-height:1.2;text-decoration:none;cursor:pointer;user-select:none;background:var(--surface);color:var(--ink);border-color:var(--line-strong);transition:background-color 0.15s,border-color 0.15s,transform 0.05s}.btn:active{transform:translateY(1px)}.btn[disabled],.btn.is-disabled{opacity:0.55;cursor:not-allowed}.btn-primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.btn-primary:hover{filter:brightness(0.95)}.btn-accent{background:var(--accent);color:#1f1608;border-color:var(--accent)}.btn-danger{background:var(--danger-solid);color:#fff;border-color:var(--danger-solid)}.btn-ok{background:var(--ok-solid);color:#fff;border-color:var(--ok-solid)}.btn-ghost{background:transparent;border-color:transparent;color:var(--brand-text)}.btn-soft{background:var(--brand-soft);color:var(--brand-text);border-color:var(--brand-line)}.btn-block{display:flex;width:100%}.btn-lg{min-height:52px;font-size:var(--fs-lg);padding:12px 22px}.btn-sm{min-height:36px;padding:6px 12px;font-size:var(--fs-md)}.btn-icon{width:var(--tap);padding:0}.btn-row{display:flex;flex-wrap:wrap;gap:8px}.btn-row>form{display:contents}.link-btn{background:none;border:0;padding:0;font:inherit;color:var(--brand-text);text-decoration:underline;cursor:pointer;min-height:var(--tap)}label,.label{display:block;font-weight:600;font-size:var(--fs-base);margin-bottom:6px}input[type="text"],input[type="tel"],input[type="password"],input[type="number"],input[type="email"],input[type="url"],input[type="time"],input[type="date"],input[type="search"],input:not([type]),select,textarea{display:block;width:100%;min-height:var(--tap);padding:10px 12px;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-base);color:var(--ink);background:var(--surface)}textarea{min-height:88px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:3px solid var(--brand-soft);outline-offset:0}input[type="file"]{font-size:var(--fs-base);min-height:var(--tap)}.check{display:flex;align-items:center;gap:10px;min-height:var(--tap);font-weight:500;cursor:pointer;margin:0}.check input{width:22px;height:22px;accent-color:var(--brand);flex:none}.field{margin-bottom:16px}.field .hint{font-size:var(--fs-md);color:var(--muted);margin-top:4px}.field .error,.errorlist{color:var(--danger);font-size:var(--fs-md);margin:4px 0 0;padding:0;list-style:none}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--danger)}.pin-input{letter-spacing:0.4em;font-size:var(--fs-xl);text-align:center;font-variant-numeric:tabular-nums}.form-grid{display:grid;gap:0 16px}@media (min-width:720px){.form-grid.cols-2{grid-template-columns:1fr 1fr}}fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px 4px;margin:0 0 16px}legend{font-weight:700;padding:0 6px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.card + .card{margin-top:12px}.card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-bottom:12px}.card-head h2,.card-head h3{margin:0}.stack>* + *{margin-top:12px}.grid{display:grid;gap:12px}@media (min-width:720px){.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.stat .value{font-size:var(--fs-3xl);font-weight:700;font-variant-numeric:tabular-nums}.stat .label{font-weight:500;color:var(--muted);margin:0;font-size:var(--fs-md)}.divider{height:1px;background:var(--line);margin:16px 0;border:0}.empty{text-align:center;color:var(--muted);padding:32px 16px}.empty .icon{width:48px;height:48px;margin:0 auto 10px;color:var(--faint)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;line-height:1.4;white-space:nowrap;background:var(--line);color:var(--ink)}.badge-ok{background:var(--ok-soft);color:var(--ok-ink)}.badge-warn{background:var(--warn-soft);color:var(--warn-ink)}.badge-danger{background:var(--danger-soft);color:var(--danger-ink)}.badge-info{background:var(--info-soft);color:var(--info-ink)}.badge-brand{background:var(--brand-soft);color:var(--brand-text)}.status-NEW{background:var(--info-soft);color:var(--info-ink)}.status-ACCEPTED,.status-PREPARING{background:var(--warn-soft);color:var(--warn-ink)}.status-READY{background:var(--ok-soft);color:var(--ok-ink)}.status-DELIVERING{background:var(--way-soft);color:var(--way-ink)}.status-DELIVERED{background:var(--line);color:var(--muted)}.status-CANCELLED{background:var(--danger-soft);color:var(--danger-ink)}.alert{border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:12px;border:1px solid;font-size:var(--fs-base)}.alert-success{background:var(--ok-soft);border-color:var(--ok-bd);color:var(--ok-ink)}.alert-error{background:var(--danger-soft);border-color:var(--danger-bd);color:var(--danger-ink)}.alert-warning{background:var(--warn-soft);border-color:var(--warn-bd);color:var(--warn-ink)}.alert-info{background:var(--info-soft);border-color:var(--info-bd);color:var(--info-ink)}.net-status{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:90;max-width:calc(100vw - 32px);padding:10px 16px;border-radius:var(--r-md);font-size:var(--fs-md);font-weight:600;box-shadow:var(--shadow-lg);background:var(--danger-solid);color:#fff}.net-status.is-back{background:var(--ok-solid)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}table.table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.table th,.table td{padding:12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.table th{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:0.04em;color:var(--muted);background:var(--head-bg)}.table tr:last-child td{border-bottom:0}.list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.list>li{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;justify-content:space-between}.list>li:last-child{border-bottom:0}.icon{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-sm{width:18px;height:18px}.staff-body{min-height:100vh;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--line)}.topbar .brand{display:flex;align-items:center;gap:10px;font-weight:700;text-decoration:none;color:var(--ink);min-height:var(--tap)}.topbar .brand .logo{width:32px;height:32px;border-radius:var(--r-sm);object-fit:cover}.topbar .brand .mark{width:32px;height:32px;border-radius:var(--r-sm);background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-size:var(--fs-base)}.topbar .spacer{flex:1}.page{max-width:1180px;margin:0 auto;padding:16px}.page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.page-head h1{margin:0}.crumbs{font-size:var(--fs-md);color:var(--muted);margin-bottom:4px}.crumbs a{color:var(--muted)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:60px;padding:6px 2px;font-size:var(--fs-xs);font-weight:600;color:var(--muted);text-decoration:none;position:relative}.bottom-nav a.active{color:var(--brand-text)}.bottom-nav a.active::before{content:"";position:absolute;top:0;left:25%;right:25%;height:3px;border-radius:0 0 var(--r-xs) var(--r-xs);background:var(--brand)}.nav-count{position:absolute;top:6px;left:calc(50% + 6px);min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-md);background:var(--danger-solid);color:#fff;font-size:var(--fs-xs);line-height:20px;text-align:center}.side-nav{display:none}@media (min-width:1024px){.staff-body{padding-bottom:0;padding-left:232px}.bottom-nav{display:none}.side-nav{display:flex;flex-direction:column;gap:2px;position:fixed;top:0;bottom:0;left:0;width:232px;padding:16px 12px;background:var(--surface);border-right:1px solid var(--line);overflow-y:auto}.side-nav .brand{display:flex;align-items:center;gap:10px;padding:6px 10px 18px;font-weight:700;color:var(--ink);text-decoration:none}.side-nav a.nav-link{display:flex;align-items:center;gap:12px;min-height:var(--tap);padding:8px 12px;border-radius:var(--r-md);color:var(--muted);font-weight:600;text-decoration:none;position:relative}.side-nav a.nav-link:hover{background:var(--bg);color:var(--ink)}.side-nav a.nav-link.active{background:var(--brand-soft);color:var(--brand-text)}.side-nav .nav-count{position:static;margin-left:auto}.topbar .brand{display:none}.topbar{padding:10px 20px 4px;background:var(--bg);border-bottom:0}.page{padding-top:8px}}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.room-tile{display:flex;flex-direction:column;gap:4px;padding:12px;min-height:96px;border-radius:var(--radius);border:1.5px solid var(--line);background:var(--surface);text-decoration:none;color:var(--ink)}.room-tile .no{font-size:var(--fs-xl);font-weight:700;font-variant-numeric:tabular-nums}.room-tile.is-busy{border-color:var(--brand-line);background:var(--brand-soft)}.room-tile.is-off{opacity:0.6;background:var(--off-bg)}.floor-title{font-size:var(--fs-md);text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);margin:20px 0 8px}.order-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.order-card .head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.order-card .room{font-size:var(--fs-xl);font-weight:800}.order-card .meta{font-size:var(--fs-md);color:var(--muted)}.order-card ul.items{list-style:none;margin:8px 0;padding:0}.order-card ul.items li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px dashed var(--line)}.order-card ul.items li:last-child{border-bottom:0}.order-card .note{background:var(--warn-soft);color:var(--warn-ink);border-radius:var(--r-sm);padding:8px 10px;font-size:var(--fs-base);margin:8px 0}.order-cards{display:grid;gap:12px}@media (min-width:720px){.order-cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}.copy-box{display:flex;gap:8px;align-items:stretch}.copy-box input{font-size:var(--fs-md)}.qr-box{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px}.qr-box img{width:240px;height:240px;image-rendering:pixelated;border:8px solid #fff;border-radius:var(--r-sm);box-shadow:var(--shadow)}.code-big{font-size:var(--fs-display);font-weight:800;letter-spacing:0.25em;font-variant-numeric:tabular-nums;text-align:center}.thumb{width:56px;height:56px;border-radius:var(--r-md);object-fit:cover;background:var(--bg);flex:none}.thumb-empty{width:56px;height:56px;border-radius:var(--r-md);background:var(--brand-soft);color:var(--brand-text);display:grid;place-items:center;flex:none}.item-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.item-row .grow{flex:1 1 160px;min-width:0}.item-row .title{font-weight:600}.lang-group{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px 0;margin-bottom:16px}.lang-group>.label{margin-bottom:10px}.auth-body{min-height:100vh;display:grid;place-items:center;padding:16px;background:radial-gradient(420px 420px at 88% -40px,color-mix(in srgb,var(--brand),transparent 84%),transparent 70%),radial-gradient(380px 380px at -60px 105%,color-mix(in srgb,var(--brand),transparent 88%),transparent 70%),linear-gradient(160deg,var(--brand-soft),var(--bg) 60%)}.auth-wrap{width:100%;max-width:420px}.auth-card{width:100%;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);overflow:hidden}@media (prefers-reduced-motion:no-preference){.auth-card{animation:hs-auth 0.3s ease}@keyframes hs-auth{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 22px 20px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand),#ffffff 8%),color-mix(in srgb,var(--brand),#000000 22%));color:var(--brand-ink)}.auth-brand .mark{width:56px;height:56px;border-radius:var(--r-lg);display:grid;place-items:center;font-weight:800;font-size:var(--fs-xl);background:rgba(255,255,255,0.16);border:1px solid rgba(255,255,255,0.28);margin:0}.auth-logo{width:56px;height:56px;border-radius:var(--r-lg);background:#ffffff;object-fit:contain}.auth-hotel{margin:0;font-weight:800;font-size:var(--fs-lg);line-height:1.25;text-align:center;letter-spacing:-0.01em}.auth-body-in{padding:22px 22px 24px}.auth-card h1{text-align:center;font-size:var(--fs-xl);margin:0 0 4px}.auth-card .sub{text-align:center;color:var(--muted);margin-bottom:18px}.auth-foot{margin:14px 0 0;text-align:center;color:var(--faint);font-size:var(--fs-sm);font-weight:600;letter-spacing:0.02em}.lang-switch{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.lang-switch button{min-height:var(--tap);min-width:44px;padding:6px 10px;border-radius:var(--r-pill);border:1.5px solid var(--line-strong);background:var(--surface);font:inherit;font-size:var(--fs-md);font-weight:600;cursor:pointer;color:var(--ink)}.lang-switch button[aria-pressed="true"]{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}dialog.sheet{border:0;padding:0;border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-width:640px;margin:auto auto 0;max-height:92vh;box-shadow:var(--shadow-lg)}dialog.sheet::backdrop{background:rgba(17,24,39,0.45)}dialog.modal{border:0;padding:0;border-radius:var(--r-lg);width:calc(100% - 32px);max-width:440px;box-shadow:var(--shadow-lg)}dialog.modal::backdrop{background:rgba(17,24,39,0.45)}.dialog-body{padding:20px}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 0 20px}.dialog-head h2{margin:0}@media (min-width:720px){dialog.sheet{border-radius:var(--r-xl);margin:auto}}.hs-print-slot{display:none}@media print{body.hs-printing>*:not(.hs-print-slot){display:none!important}body.hs-printing .hs-print-slot{display:block!important}:root:not([data-theme="light"]),:root[data-theme="dark"]{--bg:#ffffff;--surface:#ffffff;--ink:#111827;--muted:#4b5563;--line:#e5e7eb;color-scheme:light}}.hs-notice{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:95;background:#111827;color:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:12px 18px;font-weight:600;box-shadow:var(--shadow-lg);max-width:calc(100vw - 32px)}.list>li>a{display:flex;align-items:center;gap:12px;flex:1;min-height:var(--tap);text-decoration:none;color:inherit;font-weight:600}.space-top{margin-top:16px}details.card>summary{cursor:pointer;min-height:var(--tap);display:flex;align-items:center}details.card[open]>summary{margin-bottom:12px}pre{white-space:pre-wrap;word-break:break-all;background:var(--bg);border-radius:var(--r-sm);padding:10px}dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px}dd{margin:0}.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:720px){.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}}.stat .value{font-size:var(--fs-2xl);overflow-wrap:anywhere}.topbar .brand span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42vw}.topbar .brand{min-width:0;flex-shrink:1}.topbar form{flex:none}.topbar .brand span:last-child{max-width:36vw}@media (pointer:coarse){.btn-sm{min-height:var(--tap)}}.tabs{display:flex;gap:8px}.tabs a{flex:1;text-align:center;min-height:var(--tap);display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--surface);border:1.5px solid var(--line);font-weight:600;text-decoration:none;color:var(--ink);font-size:var(--fs-base)}.tabs a.active{border-color:var(--brand);color:var(--brand-text);background:var(--brand-soft)}.cell-link{display:inline-flex;align-items:center;min-height:var(--tap);min-width:var(--tap);font-weight:700}.copy-box input{font-size:var(--fs-base)}.choice{display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 14px;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);margin-bottom:8px;cursor:pointer;font-weight:600;background:var(--surface)}.choice input{width:22px;height:22px;accent-color:var(--brand);flex:none;margin:0}.choice:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}.choice small{display:block;font-weight:500;color:var(--muted)}.choice.is-disabled{opacity:0.55;cursor:not-allowed}.board-cols{display:grid;gap:16px}@media (min-width:1024px){.board-cols{grid-template-columns:1fr 1fr;align-items:start}}.order-cards.one-col{grid-template-columns:1fr}.room-tile.is-alert{border-color:var(--info);box-shadow:0 0 0 2px var(--info-soft)}.tile-badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:auto}.req-type{display:flex;align-items:center;gap:8px;margin:4px 0 8px}.request-card.is-new{border-color:var(--info-bd)}.req-form .field{margin-bottom:10px}.folio-table td.num,.folio-table th.num{text-align:right;white-space:nowrap}.folio-total td{font-weight:800}.balance{font-size:var(--fs-3xl);font-weight:800;font-variant-numeric:tabular-nums}.balance.is-due{color:var(--danger)}.balance.is-zero{color:var(--ok)}.table-wrap{position:relative}.report-filter{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.report-filter p{margin:0}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip-row a{min-height:var(--tap);display:inline-flex;align-items:center;padding:6px 14px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;font-size:var(--fs-md);text-decoration:none}.chip-row a.active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.period-form{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end}.period-form .field{margin:0;flex:1 1 140px}.stat-hero .value{color:var(--ink)}.metric-list{margin:0;display:block}.metric-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.metric-list>div:last-child{border-bottom:0}.metric-list dt{color:var(--muted);min-width:0}.metric-list dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.metric-list .metric-total dt,.metric-list .metric-total dd{color:var(--ink);font-weight:700}.report-stats .stat .value{font-size:var(--fs-xl)}.report-stats .stat-hero{grid-column:1 / -1}.report-stats .stat-hero .value{font-size:var(--fs-3xl)}@media (min-width:720px){.report-stats .stat-hero{grid-column:auto}.report-stats .stat .value{font-size:var(--fs-2xl)}}.chart{margin:0}.chart-svg{display:block;width:100%;height:180px;overflow:visible}.chart-svg .grid-line{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}.chart-svg .axis-line{stroke:var(--line-strong);stroke-width:1;vector-effect:non-scaling-stroke}.chart-svg .bar-fill{fill:var(--brand)}.chart-svg .hit{fill:transparent}.chart-svg .bar:hover .bar-fill,.chart-svg .bar:focus .bar-fill{fill:var(--brand-text);opacity:0.85}.chart-svg .bar:focus{outline:none}.chart-svg .bar:focus .hit{fill:var(--brand-soft)}.chart-x{display:flex;font-size:var(--fs-xs);color:var(--muted);margin-top:4px}.chart-x span{flex:1 1 0;min-width:0;text-align:center;white-space:nowrap;overflow:visible}.chart figcaption{margin-top:8px}.stat-link{display:block;color:inherit;text-decoration:none}.stat-link:hover{border-color:var(--brand-line)}.search-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.search-row input[type="search"]{flex:1 1 200px}.search-row .field{margin:0;flex:1 1 160px}.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.lead-card h2{font-size:var(--fs-lg);margin:0}.lead-card p{margin:6px 0}.lead-form{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.lead-form select{flex:0 1 180px}.lead-form input{flex:1 1 180px}.mono{font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace}.pre-line{white-space:pre-line;overflow-wrap:anywhere}a.alert{display:block;text-decoration:none}.grid{grid-template-columns:minmax(0,1fr)}.grid>*{min-width:0}.copy-box input{flex:1 1 auto;min-width:0}input[type="color"]{display:block;width:88px;font-size:var(--fs-base);min-height:var(--tap);padding:4px;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer}.space-bottom{margin-bottom:12px}.check-cell{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap);min-height:var(--tap);margin:0;cursor:pointer}.check-cell input{width:22px;height:22px;accent-color:var(--brand)}.room-tile .tile-type{font-size:var(--fs-xs);font-weight:600;color:var(--muted)}.res-row{gap:12px}.res-main{display:flex;flex-direction:column;gap:2px;min-width:0;color:var(--ink);text-decoration:none;min-height:var(--tap);justify-content:center;flex:1}.wrap{white-space:normal!important;overflow-wrap:anywhere;text-align:right}.cal-wrap{max-height:72vh}table.cal{border-collapse:separate;border-spacing:0;font-size:var(--fs-sm);min-width:100%}.cal th,.cal td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:0;height:44px;min-width:52px;text-align:center}.cal thead th{position:sticky;top:0;z-index:2;background:var(--head-bg);padding:6px 2px;font-weight:600;color:var(--muted)}.cal thead th span{display:block;font-size:var(--fs-xs);text-transform:uppercase}.cal thead th b{display:block;font-size:var(--fs-base);color:var(--ink)}.cal thead th.is-today{background:var(--brand-soft)}.cal thead th.is-today b{color:var(--brand-text)}.cal thead th.is-weekend span{color:var(--danger)}.cal .cal-room{position:sticky;left:0;z-index:1;background:var(--surface);text-align:left;padding:4px 10px;min-width:96px;max-width:120px}.cal thead .cal-room{z-index:3;background:var(--head-bg)}.cal .cal-room b{display:block;font-size:var(--fs-base)}.cal .cal-room small{display:block;font-size:var(--fs-xs);color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal td a{display:flex;align-items:center;width:100%;height:100%;min-height:44px;padding:0 6px;color:inherit;text-decoration:none;white-space:nowrap;overflow:hidden;font-weight:600;font-size:var(--fs-xs)}.cal td.is-stay{background:var(--brand)}.cal td.is-stay a{color:var(--brand-ink)}.cal td.is-res{background:var(--res-soft)}.cal td.is-res a{color:var(--res-ink)}.cal td.is-free a:hover,.cal td.is-free a:focus{background:var(--brand-soft)}.cal td.is-free.is-today{background:var(--brand-soft)}.cal-unassigned th,.cal-unassigned td{background:var(--warn-soft)}.cal-count{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:var(--r-pill);background:var(--res-soft);color:var(--res-ink);font-weight:700}.cal-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}.cal-key{display:inline-block;width:14px;height:14px;border-radius:var(--r-xs);vertical-align:-2px;margin-right:4px;border:1px solid var(--line-strong)}.cal-key.is-stay{background:var(--brand);border-color:var(--brand)}.cal-key.is-res{background:var(--res-soft)}.cal-key.is-free{background:var(--surface)}.month-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.month-nav strong{min-width:120px;text-align:center;font-size:var(--fs-lg)}.btn.is-disabled{opacity:0.35;pointer-events:none}.value.is-negative,.is-negative{color:var(--danger)}.is-positive{color:var(--ok)}.meter{height:8px;border-radius:var(--r-pill);background:var(--brand-line);overflow:hidden;margin:8px 0 6px}.meter-fill{display:block;height:100%;border-radius:var(--r-pill);background:var(--brand);width:0}.meter-fill.w-0{width:0%}.meter-fill.w-1{width:1%}.meter-fill.w-2{width:2%}.meter-fill.w-3{width:3%}.meter-fill.w-4{width:4%}.meter-fill.w-5{width:5%}.meter-fill.w-6{width:6%}.meter-fill.w-7{width:7%}.meter-fill.w-8{width:8%}.meter-fill.w-9{width:9%}.meter-fill.w-10{width:10%}.meter-fill.w-11{width:11%}.meter-fill.w-12{width:12%}.meter-fill.w-13{width:13%}.meter-fill.w-14{width:14%}.meter-fill.w-15{width:15%}.meter-fill.w-16{width:16%}.meter-fill.w-17{width:17%}.meter-fill.w-18{width:18%}.meter-fill.w-19{width:19%}.meter-fill.w-20{width:20%}.meter-fill.w-21{width:21%}.meter-fill.w-22{width:22%}.meter-fill.w-23{width:23%}.meter-fill.w-24{width:24%}.meter-fill.w-25{width:25%}.meter-fill.w-26{width:26%}.meter-fill.w-27{width:27%}.meter-fill.w-28{width:28%}.meter-fill.w-29{width:29%}.meter-fill.w-30{width:30%}.meter-fill.w-31{width:31%}.meter-fill.w-32{width:32%}.meter-fill.w-33{width:33%}.meter-fill.w-34{width:34%}.meter-fill.w-35{width:35%}.meter-fill.w-36{width:36%}.meter-fill.w-37{width:37%}.meter-fill.w-38{width:38%}.meter-fill.w-39{width:39%}.meter-fill.w-40{width:40%}.meter-fill.w-41{width:41%}.meter-fill.w-42{width:42%}.meter-fill.w-43{width:43%}.meter-fill.w-44{width:44%}.meter-fill.w-45{width:45%}.meter-fill.w-46{width:46%}.meter-fill.w-47{width:47%}.meter-fill.w-48{width:48%}.meter-fill.w-49{width:49%}.meter-fill.w-50{width:50%}.meter-fill.w-51{width:51%}.meter-fill.w-52{width:52%}.meter-fill.w-53{width:53%}.meter-fill.w-54{width:54%}.meter-fill.w-55{width:55%}.meter-fill.w-56{width:56%}.meter-fill.w-57{width:57%}.meter-fill.w-58{width:58%}.meter-fill.w-59{width:59%}.meter-fill.w-60{width:60%}.meter-fill.w-61{width:61%}.meter-fill.w-62{width:62%}.meter-fill.w-63{width:63%}.meter-fill.w-64{width:64%}.meter-fill.w-65{width:65%}.meter-fill.w-66{width:66%}.meter-fill.w-67{width:67%}.meter-fill.w-68{width:68%}.meter-fill.w-69{width:69%}.meter-fill.w-70{width:70%}.meter-fill.w-71{width:71%}.meter-fill.w-72{width:72%}.meter-fill.w-73{width:73%}.meter-fill.w-74{width:74%}.meter-fill.w-75{width:75%}.meter-fill.w-76{width:76%}.meter-fill.w-77{width:77%}.meter-fill.w-78{width:78%}.meter-fill.w-79{width:79%}.meter-fill.w-80{width:80%}.meter-fill.w-81{width:81%}.meter-fill.w-82{width:82%}.meter-fill.w-83{width:83%}.meter-fill.w-84{width:84%}.meter-fill.w-85{width:85%}.meter-fill.w-86{width:86%}.meter-fill.w-87{width:87%}.meter-fill.w-88{width:88%}.meter-fill.w-89{width:89%}.meter-fill.w-90{width:90%}.meter-fill.w-91{width:91%}.meter-fill.w-92{width:92%}.meter-fill.w-93{width:93%}.meter-fill.w-94{width:94%}.meter-fill.w-95{width:95%}.meter-fill.w-96{width:96%}.meter-fill.w-97{width:97%}.meter-fill.w-98{width:98%}.meter-fill.w-99{width:99%}.meter-fill.w-100{width:100%}.metric-list a{display:inline-flex;align-items:center;min-height:var(--tap)}.metric-list>div:has(a){padding:0;align-items:center}.res-main{align-items:flex-start;text-align:left}table.cal{table-layout:fixed;width:max-content}.cal th,.cal td{width:58px;max-width:58px}.cal .cal-room{width:112px;max-width:112px}.cal td a{text-overflow:clip}.table th.num,.table td.num{text-align:right}.cal-legend>span{white-space:nowrap}.staff-body .lang-list{display:grid;gap:8px}.staff-body .lang-list button{min-height:52px;border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);background:var(--surface);font:inherit;font-weight:600;font-size:var(--fs-lg);cursor:pointer;color:var(--ink)}.staff-body .lang-list button[aria-pressed="true"]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-text)}.setup-list>li.setup-step{align-items:flex-start;gap:14px}.step-mark{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:var(--fs-base);background:var(--brand-soft);color:var(--brand-text);margin-top:2px}.setup-step.is-done .step-mark{background:var(--ok-soft);color:var(--ok-ink)}.setup-step.is-done .step-title strong{color:var(--muted)}.step-body{flex:1;min-width:0}.step-body p{margin:0 0 4px}.step-actions{flex:none;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.setup-next{margin:4px 0 0;font-weight:600}.setup-banner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px;border-color:var(--brand-line);background:var(--brand-soft)}.setup-banner .setup-banner-text{flex:1;min-width:220px}.setup-banner .setup-banner-text p{margin:0 0 4px}.setup-banner .meter{background:var(--surface)}@media (max-width:560px){.setup-list>li.setup-step{flex-wrap:wrap}.step-actions{width:100%;justify-content:flex-start;padding-left:46px}}.stat .value{overflow-wrap:normal}.stat .value .unit{font-size:0.62em;font-weight:600;color:var(--muted)}.stat .value.is-negative .unit{color:inherit}.list>li>a.res-main{align-items:flex-start;text-align:left}.grid>.card + .card{margin-top:0}.folio-table .cell-link{display:inline;min-height:0;min-width:0}legend{float:left;width:100%;padding:0;margin:0 0 10px}legend + *{clear:both}.tabs a{padding:4px 10px;line-height:1.2}.tab-count{display:inline-block;min-width:22px;padding:1px 7px;margin-left:4px;border-radius:var(--r-pill);background:var(--line);font-size:var(--fs-sm);font-weight:700}.tabs a.active .tab-count{background:var(--brand);color:var(--brand-ink)}@media (max-width:420px){.tabs{gap:6px}.tabs a{font-size:var(--fs-md);padding:4px 6px}}@media (max-width:640px){.table-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.table-stack,.table-stack tbody{display:block;width:100%}.table-stack tr{display:grid;gap:4px 12px;padding:12px 14px;border-bottom:1px solid var(--line);align-items:center}.table-stack tr:last-child{border-bottom:0}.table-stack td{display:block;padding:0;border:0;text-align:left;min-width:0}.table-stack td.num{text-align:right}.table-stack .c-meta{font-size:var(--fs-sm);color:var(--muted)}.table-stack .cell-link{min-height:0}.table-stack.stack-labeled tr{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.table-stack.stack-labeled.stack-cols-4 tr{grid-template-columns:repeat(4,minmax(0,1fr))}.table-stack.stack-labeled td:first-child{grid-column:1 / -1;font-weight:600}.table-stack.stack-labeled td[data-label]{text-align:left}.table-stack.stack-labeled td[data-label]::before{content:attr(data-label);display:block;font-size:var(--fs-xs);font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.rooms-table tr{grid-template-columns:40px 1fr auto;grid-template-areas:"chk main status" "chk type actions"}.rooms-table.no-check tr{grid-template-columns:1fr auto;grid-template-areas:"main status" "type actions"}.rooms-table .c-check{grid-area:chk}.rooms-table .c-main{grid-area:main}.rooms-table .c-type{grid-area:type;font-size:var(--fs-md);color:var(--muted)}.rooms-table .c-floor{display:none}.rooms-table .c-status{grid-area:status;justify-self:end}.rooms-table .c-actions{grid-area:actions;justify-self:end}.history-table tr{grid-template-columns:auto 1fr auto auto;grid-template-areas:"room main sum act" "room meta sum act"}.history-table .c-room{grid-area:room}.history-table .c-main{grid-area:main;font-weight:600}.history-table .c-meta{grid-area:meta}.history-table .c-sum{grid-area:sum}.history-table .c-actions{grid-area:act}.folio-table tr{grid-template-columns:1fr auto;grid-template-areas:"main sum" "meta sum"}.folio-table td:nth-child(2){grid-area:main}.folio-table td.num{grid-area:sum;white-space:nowrap}.folio-table .c-meta{grid-area:meta}.folio-table .folio-total .c-meta{display:none}.guests-table tr{grid-template-columns:56px minmax(0,1fr) auto;grid-template-areas:"room main sum" "room out tags"}.guests-table .c-room{grid-area:room}.guests-table .c-main{grid-area:main;font-weight:600}.guests-table .c-in{display:none}.guests-table .c-out{grid-area:out;font-size:var(--fs-sm);color:var(--muted)}.guests-table .c-sum{grid-area:sum}.guests-table .c-tags{grid-area:tags;justify-self:end}.guests-table .c-tags .card-tags{margin:0;justify-content:flex-end}.guests-table .stack-only{display:inline}.entries-table tr{grid-template-columns:1fr auto;grid-template-areas:"main sum" "date meth"}.entries-table .c-main{grid-area:main}.entries-table .c-sum{grid-area:sum}.entries-table .c-date{grid-area:date;font-size:var(--fs-sm);color:var(--muted)}.entries-table .c-meta{grid-area:meth;text-align:right}}.card-link{display:block;color:inherit;text-decoration:none}.card-link:hover,.card-link:focus-visible{border-color:var(--brand-line)}.card-link p{margin:6px 0 0}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere}pre.small{max-height:60vh;overflow:auto;word-break:normal;overflow-wrap:anywhere}.stat .value-sm{font-size:var(--fs-base);line-height:1.4}h1.mono,.card-link .mono{overflow-wrap:anywhere}h1.mono{font-size:var(--fs-xl)}.tabs + .alert{margin-top:12px}dialog{background:var(--surface);color:var(--ink)}.tabs a,.chip-row a,.cat-chips a,.guest-tabs a,.side-nav a.nav-link,.bottom-nav a,.choice,.lang-switch button,.lang-list button,.stat-link,.card-link,.list>li>a,input,select,textarea{transition:background-color 0.15s ease,border-color 0.15s ease,color 0.15s ease,box-shadow 0.15s ease}@media (hover:hover){.btn:not(.btn-primary):not(.btn-danger):not(.btn-ok):not(.btn-accent):not(.btn-ghost):hover{background:var(--bg);border-color:var(--brand-line)}.btn-ghost:hover{background:var(--brand-soft)}.btn-danger:hover,.btn-ok:hover,.btn-accent:hover,.btn-soft:hover{filter:brightness(0.96)}.tabs a:not(.active):hover,.chip-row a:not(.active):hover,.cat-chips a:not(.active):hover,.guest-tabs a:not(.active):hover,.lang-switch button[aria-pressed="false"]:hover,.lang-list button[aria-pressed="false"]:hover,.choice:hover{border-color:var(--brand-line)}.table tbody tr:hover>td,.list>li>a:hover{background:color-mix(in srgb,var(--brand-soft) 45%,transparent)}.stat-link:hover{box-shadow:var(--shadow)}}.empty{background:color-mix(in srgb,var(--surface) 60%,transparent);border:1.5px dashed var(--line-strong);border-radius:var(--radius)}.stat{position:relative}.stat .stat-ic{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-text)}.stat .stat-ic .icon{width:18px;height:18px}.stat .stat-ic.ic-ok{background:var(--ok-soft);color:var(--ok)}.stat .stat-ic.ic-warn{background:var(--warn-soft);color:var(--warn)}.stat .stat-ic.ic-danger{background:var(--danger-soft);color:var(--danger)}.stat .stat-ic.ic-info{background:var(--info-soft);color:var(--info)}.nav-sep{margin:14px 12px 4px;font-size:var(--fs-xs);font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:var(--faint)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:0.01ms!important;animation-duration:0.01ms!important;animation-iteration-count:1!important}}.setup-map{display:flex;align-items:flex-start;margin:14px 0 16px}.setup-map .map-dot{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:4px;text-decoration:none;color:var(--muted)}.setup-map .dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:2px solid var(--line-strong);font-weight:700;font-size:var(--fs-md);color:var(--muted);position:relative;z-index:1;transition:border-color 0.15s ease,box-shadow 0.15s ease}.setup-map .map-dot:not(:first-child)::before{content:"";position:absolute;top:20px;right:50%;width:100%;height:2px;background:var(--line-strong)}.setup-map .map-dot.is-done .dot{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.setup-map .map-dot.is-done::before{background:var(--brand)}.setup-map .map-dot.is-next .dot{border-color:var(--brand);color:var(--brand-text);box-shadow:0 0 0 4px var(--brand-soft)}.setup-map .map-dot.is-next{color:var(--brand-text);font-weight:600}@media (hover:hover){.setup-map .map-dot:hover .dot{border-color:var(--brand)}}.setup-map .map-label{font-size:var(--fs-xs);line-height:1.25;text-align:center;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.setup-list>li.setup-step{scroll-margin-top:76px}@media (max-width:480px){.setup-map .map-label{font-size:var(--fs-xs)}.setup-map .dot{width:30px;height:30px}.setup-map .map-dot:not(:first-child)::before{top:18px}}.btn-ghost-danger{color:var(--danger)}@media (hover:hover){.btn-ghost-danger:hover{background:var(--danger-soft);border-color:transparent}}details.card>summary{justify-content:space-between;gap:12px;list-style:none}details.card>summary::-webkit-details-marker{display:none}details.card>summary::after{content:"";width:9px;height:9px;flex:none;margin:-4px 6px 0 0;border-right:2px solid var(--faint);border-bottom:2px solid var(--faint);transform:rotate(45deg);transition:transform 0.15s ease}details.card[open]>summary::after{transform:rotate(225deg);margin-top:4px}.assign-row .field{flex:0 1 320px}.form-actions{position:sticky;bottom:0;z-index:30;padding:12px 0;margin-top:8px;background:var(--bg);box-shadow:0 -1px 0 var(--line)}.staff-body .form-actions{bottom:0}@media (max-width:1023px){.staff-body .form-actions{bottom:calc(60px + env(safe-area-inset-bottom))}}.auth-body-in .small.muted{margin-top:12px;text-align:center}.prefs{display:flex;align-items:center;gap:8px;flex:none}.lang-menu{position:relative}.lang-menu-toggle,.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;min-width:40px;padding:6px 10px;border-radius:var(--r-pill);border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit;font-weight:700;font-size:var(--fs-sm);cursor:pointer;transition:background-color 0.15s ease,border-color 0.15s ease}.theme-toggle{padding:6px}@media (hover:hover){.lang-menu-toggle:hover,.theme-toggle:hover{border-color:var(--brand-line);background:var(--brand-soft)}}.lang-menu-code{letter-spacing:0.02em}.lang-menu-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:70;min-width:210px;padding:6px;display:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.lang-menu.is-open .lang-menu-panel{display:grid;gap:2px}.lang-menu-form{margin:0}.lang-menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:var(--tap);padding:8px 12px;border:0;border-radius:var(--r-md);background:transparent;color:var(--ink);font:inherit;font-weight:600;font-size:var(--fs-base);text-align:left;cursor:pointer}@media (hover:hover){.lang-menu-item:hover{background:var(--brand-soft)}}.lang-menu-item .lang-menu-radio{width:18px;height:18px;flex:none;border-radius:50%;border:2px solid var(--line-strong);display:inline-grid;place-items:center}.lang-menu-item.is-active{color:var(--brand-text)}.lang-menu-item.is-active .lang-menu-radio{border-color:var(--brand)}.lang-menu-item.is-active .lang-menu-radio::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand)}.theme-ic{display:none;line-height:0}.theme-ic .icon{width:20px;height:20px}.theme-ic-moon{display:inline-flex}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .theme-ic-moon{display:none}:root:not([data-theme="light"]) .theme-ic-sun{display:inline-flex}}:root[data-theme="dark"] .theme-ic-moon{display:none}:root[data-theme="dark"] .theme-ic-sun{display:inline-flex}.guest-hero .lang-menu-toggle,.guest-hero .theme-toggle{border-color:color-mix(in srgb,currentColor,transparent 35%);background:transparent;color:inherit}@media (hover:hover){.guest-hero .lang-menu-toggle:hover,.guest-hero .theme-toggle:hover{background:rgba(255,255,255,0.14);border-color:currentColor}}.guest-hero .lang-menu-panel,.lang-menu-panel{color:var(--ink)}.topbar .prefs{margin-right:2px}.topbar .lang-menu-toggle,.topbar .theme-toggle{min-height:38px;min-width:38px;border-color:var(--line)}.auth-wrap{position:relative}.auth-wrap .prefs{position:absolute;top:14px;right:14px;z-index:5}.empty-art{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 20px;text-align:center}.empty-art svg[data-icon]{width:96px;height:96px;color:var(--brand-text);opacity:0.85}.empty-art p{margin:0;color:var(--muted);font-weight:600;max-width:420px}.empty-art .btn{margin-top:4px}.empty-art.is-small{padding:20px 16px}.empty-art.is-small svg[data-icon]{width:68px;height:68px}@media (prefers-reduced-motion:no-preference){.empty-art svg[data-icon] .anim{animation:hs-twinkle 2.6s ease-in-out infinite;transform-origin:center}@keyframes hs-twinkle{0%,100%{opacity:0.35}50%{opacity:1}}}.ip{position:fixed;z-index:70;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;max-width:460px;margin:0 auto;padding:12px 10px 12px 12px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}.ip[hidden]{display:none}@media (prefers-reduced-motion:no-preference){.ip{animation:hs-ip-in 0.28s ease-out}@keyframes hs-ip-in{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}}@media (min-width:1024px){.ip{left:auto;right:24px;bottom:24px;margin:0}}.ip-icon{width:44px;height:44px;border-radius:var(--r-md);overflow:hidden;flex:none;background:var(--bg)}.ip-icon img{width:100%;height:100%;object-fit:cover;display:block}.ip-initial{width:100%;height:100%;display:grid;place-items:center;background:var(--brand);color:var(--brand-ink);font-weight:800;font-size:var(--fs-xl)}.ip-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.3}.ip-text strong{font-size:var(--fs-base)}.ip-text small{font-size:var(--fs-sm);color:var(--muted)}.ip-text small[hidden]{display:none}.ip-install{flex:none;min-height:40px;padding:0 16px;border:0;border-radius:var(--r-pill);background:var(--brand);color:var(--brand-ink);font:inherit;font-size:var(--fs-md);font-weight:700;cursor:pointer}.ip-install[hidden]{display:none}.ip-close{flex:none;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:var(--r-pill);background:transparent;color:var(--muted);cursor:pointer}@media (hover:hover){.ip-close:hover{background:var(--bg)}}.ip-close .icon{width:18px;height:18px}.nav-toggle{display:none}@media (min-width:1024px){.nav-toggle{margin-top:auto;display:flex;align-items:center;gap:12px;min-height:var(--tap);padding:8px 12px;border:0;border-radius:var(--r-md);background:transparent;color:var(--faint);font:inherit;font-weight:600;font-size:var(--fs-md);cursor:pointer;text-align:left}.nav-toggle:hover{background:var(--bg);color:var(--ink)}.nav-toggle .icon{transition:transform 0.2s ease}html.nav-mini .staff-body{padding-left:78px}html.nav-mini .side-nav{width:78px;padding:16px 10px}html.nav-mini .side-nav .brand{justify-content:center;padding-left:0;padding-right:0}html.nav-mini .side-nav .brand>span:last-child,html.nav-mini .side-nav .brand>img + span{display:none}html.nav-mini .side-nav .brand .thumb,html.nav-mini .side-nav .brand .thumb-empty{width:40px;height:40px}html.nav-mini .side-nav a.nav-link{justify-content:center;gap:0;padding:8px;font-size:0;position:relative}html.nav-mini .side-nav .nav-count{position:absolute;top:2px;right:2px;margin-left:0;font-size:var(--fs-xs)}html.nav-mini .side-nav .nav-sep{font-size:0;height:0;margin:10px 10px 8px;border-top:1px solid var(--line)}html.nav-mini .nav-toggle{justify-content:center;padding:8px}html.nav-mini .nav-toggle span{display:none}html.nav-mini .nav-toggle .icon{transform:rotate(180deg)}}.auth-clock{margin:2px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;font-size:var(--fs-md);font-weight:600;opacity:0.85}.auth-clock[hidden]{display:none}.auth-clock time{font-variant-numeric:tabular-nums}.off-bar{position:fixed;left:50%;top:calc(8px + env(safe-area-inset-top));transform:translateX(-50%);z-index:95;max-width:calc(100vw - 24px);padding:8px 14px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:700;color:#fff;background:#7a2e0e;box-shadow:var(--shadow-lg)}.off-bar[hidden]{display:none}.off-bar[data-state="back"]{background:var(--ok-solid)}.shift-card{display:flex;flex-wrap:wrap;align-items:center;gap:14px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);padding:18px 16px;box-shadow:var(--shadow)}.shift-card.is-working{border-color:var(--ok-bd);background:color-mix(in srgb,var(--ok-soft) 45%,var(--surface))}.shift-icon{width:52px;height:52px;flex:none;border-radius:var(--r-lg);display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-text)}.shift-card.is-working .shift-icon{background:var(--ok-soft);color:var(--ok)}.shift-icon .icon{width:26px;height:26px}.shift-body{flex:1;min-width:220px}.shift-body h2{margin:0 0 2px;font-size:var(--fs-lg)}.shift-sub{margin:0;color:var(--muted);font-size:var(--fs-md)}.shift-note{display:flex;gap:6px;align-items:flex-start;margin:8px 0 0;font-size:var(--fs-sm);color:var(--muted)}.shift-note .icon{flex:none;margin-top:1px}.shift-note.is-warning{color:var(--warn-ink)}.shift-note-error{color:var(--danger-ink);margin-top:6px;font-size:var(--fs-sm)}.shift-action{display:flex;flex-direction:column;gap:4px;min-width:200px;flex:1 1 auto}@media (min-width:720px){.shift-action{flex:none}}.shift-action .btn{width:100%}.att-hist-title{margin:20px 0 8px}.att-hist{padding:4px 16px}.att-hist-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.att-hist-row:last-child{border-bottom:0}.att-hist-main{display:flex;flex-direction:column;gap:1px;min-width:0}.att-hist-main strong{font-size:var(--fs-md)}.att-hist-main span{font-size:var(--fs-md);color:var(--muted);font-variant-numeric:tabular-nums}.att-hist-main em{font-style:normal;font-size:var(--fs-xs);color:var(--warn-ink);background:var(--warn-soft);border-radius:var(--r-sm);padding:1px 6px}.att-hist-hours{font-variant-numeric:tabular-nums;white-space:nowrap}.att-modal .dialog-body{text-align:center}.att-step h3{margin:10px 0 4px}.att-actions{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.att-actions.is-single{grid-template-columns:1fr}.att-actions .btn{width:100%;min-width:0;padding-inline:10px;font-size:var(--fs-base);line-height:1.2;text-align:center}.att-actions .btn .icon{flex:none}@media (max-width:340px){.att-actions{grid-template-columns:1fr}.att-actions>:last-child{order:-1}}.btn-cancel{background:var(--off-bg);color:var(--ink);border-color:var(--line-strong)}.btn-cancel:hover{background:var(--line)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-ok:hover{filter:brightness(0.95)}.att-spinner{width:42px;height:42px;margin:6px auto;border-radius:50%;border:4px solid var(--brand-soft);border-top-color:var(--brand);animation:att-spin 0.9s linear infinite}@keyframes att-spin{to{transform:rotate(360deg)}}.att-ic-error{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--danger-soft);color:var(--danger)}.att-ic-error .icon{width:28px;height:28px}.att-video-wrap,.att-preview-wrap{border-radius:var(--r-md);overflow:hidden;background:#000;aspect-ratio:3 / 4;width:min(100%,calc(48vh * 3 / 4));max-height:48vh;margin-inline:auto;display:grid;place-items:center}.att-video-wrap video,.att-preview-wrap img{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.att-chips{display:flex;gap:8px;flex-wrap:wrap}.att-chip{display:inline-flex;align-items:center;min-height:28px;padding:2px 12px;border-radius:var(--r-pill);background:var(--off-bg);color:var(--muted);font-size:var(--fs-sm);font-weight:700}.att-chip.is-ok{background:var(--ok-soft);color:var(--ok-ink)}.att-chip.is-bad{background:var(--danger-soft);color:var(--danger-ink)}.att-chip.is-warn{background:var(--warn-soft);color:var(--warn-ink)}.att-photo{width:40px;height:40px;padding:0;border:1.5px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--off-bg);cursor:zoom-in;flex:none}.att-photo img{width:100%;height:100%;object-fit:cover;display:block}.att-time{display:inline-flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.att-hand{font-size:var(--fs-xs);color:var(--warn-ink);background:var(--warn-soft);border-radius:var(--r-sm);padding:1px 6px;white-space:nowrap}.att-more{display:block;font-size:var(--fs-xs);color:var(--faint);margin-top:2px}.att-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.att-layout{display:grid;gap:16px;align-items:start}@media (min-width:1100px){.att-layout{grid-template-columns:minmax(0,1fr) 300px}}.att-cal-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.att-cal-head strong{flex:1}.att-cal-nav a,.att-cal-nav span{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--r-sm);border:1.5px solid var(--line);text-decoration:none;color:var(--ink);font-size:var(--fs-lg)}.att-cal-nav span{opacity:0.35}.att-cal-legend{margin:4px 0 0;font-size:var(--fs-xs);color:var(--faint);flex-basis:100%}.att-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.att-cal-wd{text-align:center;font-size:var(--fs-xs);font-weight:700;color:var(--faint);text-transform:uppercase;padding:2px 0}.att-cal-day{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--ink);text-decoration:none;border:1.5px solid transparent}a.att-cal-day:hover{border-color:var(--brand-line)}.att-cal-day.has-data{background:var(--ok-soft);color:var(--ok-ink);font-weight:700}.att-cal-day.is-today{border-color:var(--brand)}.att-cal-day.is-selected{background:var(--brand);color:var(--brand-ink)}.att-cal-day.is-out,.att-cal-day.is-future{color:var(--faint);opacity:0.5}.att-cal-day b{position:absolute;top:2px;right:4px;font-size:var(--fs-xs);font-weight:800}.att-cal-day.is-selected b{color:var(--brand-ink)}#hs-photo-dialog img{max-width:min(92vw,640px);max-height:80vh;border-radius:var(--r-md);display:block}.pf-head{display:flex;flex-direction:column;align-items:center;text-align:center}.pf-avatar{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:var(--brand-ink);font-size:var(--fs-3xl);font-weight:800;margin-bottom:8px}.pf-name{font-size:var(--fs-lg)}.pf-role{font-size:var(--fs-sm);color:var(--muted);margin-top:2px}.pf-rows{width:100%;margin-top:12px;text-align:left}.pf-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.pf-rows .pf-row:first-child{border-top:1px solid var(--line)}.card>.pf-row:first-of-type{border-top:0}.pf-row>span{color:var(--muted);font-size:var(--fs-md)}.pf-row>b,.pf-row .rp-tx-end b{font-variant-numeric:tabular-nums;white-space:nowrap}.rp-tx-end{display:inline-flex;align-items:center;gap:6px}.pf-limits{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.pf-limit{display:grid;gap:2px;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--muted)}.pf-limit b{font-size:var(--fs-lg);color:var(--ink);font-variant-numeric:tabular-nums}.pf-sub.is-off{border-color:var(--danger-bd)}.pf-sub.is-soon .pf-sec-text small{color:var(--warn-ink);font-weight:600}.pf-sub-note{margin:12px 0 0;padding:10px 12px;border-radius:var(--r-md);background:var(--warn-soft);color:var(--warn-ink);font-size:var(--fs-sm);font-weight:600}.pf-bar{margin:4px 0 0}.pf-group-h{margin:20px 4px 8px;font-size:var(--fs-sm);font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--faint)}.pf-group{padding:4px 16px}.pf-group>.pf-item{display:block;padding:12px 0;border-top:1px solid var(--line);margin:0}.pf-group>.pf-item:first-child{border-top:0}.pf-item-head{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none}.pf-item-head::-webkit-details-marker{display:none}.pf-sec-text{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.3}.pf-sec-text strong{font-size:var(--fs-base)}.pf-sec-text small{font-size:var(--fs-xs);color:var(--muted)}.pf-sec-text small.is-ok{color:var(--ok-ink);font-weight:600}.pf-sec-text small.is-warn{color:var(--warn-ink);font-weight:600}.pf-chev{width:9px;height:9px;flex:none;margin-right:6px;border-right:2px solid var(--faint);border-bottom:2px solid var(--faint);transform:rotate(45deg);transition:transform 0.15s ease}details[open]>summary .pf-chev{transform:rotate(225deg);margin-top:6px}.pf-group>.pf-item.pf-link{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.pf-link .pf-chev{transform:rotate(-45deg)}@media (hover:hover){.pf-link:hover .pf-sec-text strong{color:var(--brand-text)}}.pf-ico{width:40px;height:40px;border-radius:var(--r-md);display:grid;place-items:center;flex:none;background:var(--off-bg);color:var(--muted)}.pf-ico .icon{width:20px;height:20px}.pf-ico.c-blue{background:var(--cat-blue-soft);color:var(--cat-blue)}.pf-ico.c-green{background:var(--cat-green-soft);color:var(--cat-green)}.pf-ico.c-amber{background:var(--cat-amber-soft);color:var(--cat-amber)}.pf-ico.c-pink{background:var(--cat-pink-soft);color:var(--cat-pink)}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pf-ico[class*="c-"]{background:color-mix(in srgb,currentColor 18%,transparent);filter:brightness(1.35)}}:root[data-theme="dark"] .pf-ico[class*="c-"]{background:color-mix(in srgb,currentColor 18%,transparent);filter:brightness(1.35)}.pf-group>.pf-item.pf-prefs{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pf-prefs .prefs{display:contents}.pf-prefs .lang-menu{display:contents}.pf-prefs .lang-menu-panel{position:static;order:9;flex:1 0 100%;margin-top:8px;display:none;box-shadow:none;border:1.5px solid var(--line)}.pf-prefs .lang-menu.is-open .lang-menu-panel{display:grid}.pf-logout-form{display:flex;justify-content:center;margin:22px 0 8px}.pf-logout{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 28px;border:1.5px solid color-mix(in srgb,var(--danger) 35%,var(--line));border-radius:var(--r-md);background:var(--surface);color:var(--danger);font:inherit;font-size:var(--fs-base);font-weight:700;cursor:pointer}@media (hover:hover){.pf-logout:hover{background:var(--danger-soft)}}.rp-monthnav{display:flex;align-items:center;gap:10px;margin-bottom:12px}.rp-monthnav strong{min-width:130px;text-align:center;font-size:var(--fs-lg)}.rp-stats{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:8px}.rp-stats b{display:block;font-size:var(--fs-2xl);font-variant-numeric:tabular-nums}.rp-stats span{font-size:var(--fs-sm);color:var(--muted)}.rp-total{border-top:2px solid var(--line-strong);font-size:var(--fs-lg)}.rp-total b{font-size:var(--fs-lg)}.rp-section{margin:18px 0 8px;font-size:var(--fs-lg)}.shift-chip{display:inline-flex;align-items:center;gap:7px;flex:none;min-height:34px;padding:4px 12px;border-radius:var(--r-pill);background:var(--ok-soft);color:var(--ok-ink);font-size:var(--fs-sm);font-weight:700;text-decoration:none;white-space:nowrap}.shift-chip-dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}@media (prefers-reduced-motion:no-preference){.shift-chip-dot{animation:hs-twinkle 2s ease-in-out infinite}}@media (max-width:560px){.shift-chip{display:none}}.avatar-menu{position:relative;flex:none}.avatar-menu>summary{list-style:none}.avatar-menu>summary::-webkit-details-marker{display:none}.avatar-btn{position:relative;display:grid;place-items:center;width:var(--tap);height:var(--tap);border-radius:50%;cursor:pointer}.avatar-face{width:38px;height:38px;border-radius:50%;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-weight:800;font-size:var(--fs-base);transition:box-shadow 0.15s ease}@media (hover:hover){.avatar-btn:hover .avatar-face{box-shadow:0 0 0 3px var(--brand-soft)}}.avatar-menu[open] .avatar-face{box-shadow:0 0 0 3px var(--brand-soft)}.avatar-dot{position:absolute;right:2px;bottom:2px;width:12px;height:12px;border-radius:50%;background:var(--ok);border:2px solid var(--surface)}.avatar-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:70;min-width:252px;max-width:min(320px,calc(100vw - 24px));padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.avatar-who{display:grid;gap:2px;padding:8px 12px 10px;border-bottom:1px solid var(--line);margin-bottom:6px}.avatar-who strong{font-size:var(--fs-base)}.avatar-who>span{font-size:var(--fs-sm);color:var(--muted)}.avatar-shift{display:inline-flex;align-items:center;gap:7px;justify-self:start;margin-top:6px;padding:3px 10px;border-radius:var(--r-pill);background:var(--ok-soft);color:var(--ok-ink);font-size:var(--fs-xs);font-weight:700;text-decoration:none;white-space:nowrap}.avatar-item{display:flex;align-items:center;gap:10px;width:100%;min-height:var(--tap);padding:8px 12px;border:0;border-radius:var(--r-md);background:transparent;color:var(--ink);font:inherit;font-weight:600;font-size:var(--fs-base);text-align:left;text-decoration:none;cursor:pointer}.avatar-item .icon{flex:none;color:var(--muted)}@media (hover:hover){.avatar-item:hover{background:var(--brand-soft)}}.avatar-item.is-active{color:var(--brand-text);background:var(--brand-soft)}.avatar-item.is-active .icon{color:var(--brand-text)}.avatar-item.is-danger{color:var(--danger-ink)}.avatar-item.is-danger .icon{color:var(--danger-ink)}@media (hover:hover){.avatar-item.is-danger:hover{background:var(--danger-soft)}}.avatar-pop form{margin:0}.avatar-prefs{padding:4px 12px 8px;border-top:1px solid var(--line);margin-top:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.avatar-prefs .prefs{display:contents}.avatar-prefs .lang-menu{display:contents}.avatar-prefs .lang-menu-panel{position:static;order:9;flex:1 0 100%;margin-top:8px;display:none;box-shadow:none;border:1.5px solid var(--line)}.avatar-prefs .lang-menu.is-open .lang-menu-panel{display:grid}.hk-card{display:flex;flex-direction:column;gap:8px}.hk-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.hk-room{font-size:var(--fs-lg)}.hk-meta{margin:0}.hk-note{margin:0;padding:8px 12px;border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn-ink);font-size:var(--fs-md)}.hk-actions{display:flex;gap:8px;margin-top:4px}.hk-actions form{margin:0;flex:none}.hk-add>summary.pf-item-head{display:flex;align-items:center;gap:12px;cursor:pointer}.hk-add-form{max-width:440px}.hk-count{position:static;margin-left:6px;vertical-align:2px}.note-line{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--info-soft);color:var(--info-ink);font-size:var(--fs-md)}.note-line .icon{flex:none}.serve-tag{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);font-weight:700;padding:2px 9px;border-radius:var(--r-pill);background:var(--bg);color:var(--muted);border:1px solid var(--line)}.serve-tag.is-venue{background:var(--info-soft);color:var(--info-ink);border-color:transparent}.card-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px}.dish .portion{margin:2px 0 0;font-size:var(--fs-sm);color:var(--muted)}.dish-badge{display:inline-block;vertical-align:2px;margin-left:6px;padding:1px 8px;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-text);font-size:var(--fs-xs);font-weight:800;letter-spacing:0.02em;text-transform:uppercase}.dish .old-price{color:var(--muted);font-weight:500;text-decoration-thickness:1px}.dish .bottom{flex-wrap:wrap}.price-cut{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm)}.mb-help{margin:-4px 0 12px}.km-out-count{color:var(--warn-ink)}.km-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.km-filters .tabs{flex:1 1 260px}.tabs .tabs-btn{flex:1;min-height:var(--tap);display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--surface);border:1.5px solid var(--line);font:inherit;font-weight:600;font-size:var(--fs-base);color:var(--ink);cursor:pointer}.tabs .tabs-btn.active{border-color:var(--brand);color:var(--brand-text);background:var(--brand-soft)}.km-search{position:relative;display:flex;align-items:center;flex:1 1 220px}.km-search .icon{position:absolute;left:12px;color:var(--muted);pointer-events:none}.km-search input{width:100%;padding-left:40px}.km-group .card-head{margin-bottom:6px}.km-list{list-style:none;margin:0;padding:0}.km-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.km-row:first-child{border-top:0}.km-row.is-out .km-main{opacity:0.55}.km-row.is-flash{background:var(--brand-soft);border-radius:var(--radius-sm)}.km-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-decoration:none;color:inherit;min-height:var(--tap)}.km-main .thumb,.km-main .thumb-empty{width:48px;height:48px;border-radius:var(--r-md);flex:none}.km-name{display:grid;gap:2px;min-width:0}.km-name strong{font-size:var(--fs-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.km-name small{font-size:var(--fs-sm);color:var(--muted)}.km-chev{width:8px;height:8px;flex:none;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);margin-right:2px}.km-toggle{display:flex;flex:none;margin:0;border:1.5px solid var(--line-strong);border-radius:var(--r-pill);overflow:hidden;background:var(--surface)}.km-opt{display:grid;place-items:center;min-height:36px;padding:0 12px;border:0;background:transparent;color:var(--muted);font:inherit;font-weight:700;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap}.km-opt.is-ok{background:var(--ok-soft);color:var(--ok-ink);cursor:default}.km-opt.is-out{background:var(--danger-soft);color:var(--danger-ink);cursor:default}@media (hover:hover){button.km-opt:hover{background:var(--bg);color:var(--ink)}}@media (max-width:420px){.km-name strong{max-width:42vw}}.form-section-h{font-size:var(--fs-md);text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);margin:20px 0 10px}.form-section-h:first-of-type{margin-top:4px}.sub-head{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.sub-plan,.sub-until{display:grid;gap:2px}.sub-plan strong,.sub-until strong{font-size:var(--fs-lg)}.sub-warn.is-warn{color:var(--warn-ink);font-weight:600}.sub-warn.is-danger{color:var(--danger-ink);font-weight:600}.sub-pay fieldset{border:0;padding:0;margin:0 0 12px}.sub-pay legend{font-weight:600;margin-bottom:8px}.sub-providers{flex-wrap:wrap}.sub-providers .btn[disabled]{opacity:0.6;cursor:not-allowed}.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:8px}@media (min-width:600px){.hub-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}@media (min-width:900px){.hub-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.hub-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.hub-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;min-height:118px;padding:16px 10px;text-align:center;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:border-color 0.15s ease,transform 0.12s ease}@media (hover:hover){.hub-card:hover{border-color:var(--brand-line);transform:translateY(-1px)}}.hub-card:active{transform:none}.hub-card .pf-ico{position:relative;width:48px;height:48px;border-radius:var(--r-md)}.hub-card .pf-ico .icon{width:24px;height:24px}.hub-label{font-weight:600;font-size:var(--fs-md);line-height:1.25;overflow-wrap:anywhere}.hub-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-md);background:var(--danger-solid);color:#fff;font-size:var(--fs-xs);font-weight:700;line-height:20px;text-align:center}.pf-ico.c-violet{background:var(--cat-violet-soft);color:var(--cat-violet)}.pf-ico.c-teal{background:var(--cat-teal-soft);color:var(--cat-teal)}.pf-ico.c-slate{background:var(--cat-slate-soft);color:var(--cat-slate)}.today-strip .stat{gap:2px}.desk-cols{display:grid;gap:18px;align-items:start}@media (min-width:1100px){.desk-cols{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}}.desk-side .order-cards{grid-template-columns:1fr}.desk-links{margin-top:10px}.rack-key{display:flex;flex-wrap:wrap;gap:6px}.rk{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);color:var(--muted)}.rk::before{content:"";width:10px;height:10px;border-radius:var(--r-xs);border:1.5px solid var(--line-strong);background:var(--surface)}.rk.is-booked::before{background:var(--warn-soft);border-color:var(--warn-ink)}.rk.is-busy::before{background:var(--ok-soft);border-color:var(--ok)}.rk.is-dirty::before{background:var(--info-soft);border-color:var(--info)}.rk.is-blocked::before{background:var(--danger-soft);border-color:var(--danger)}.room-tile .tile-state{font-size:var(--fs-xs);font-weight:700;letter-spacing:0.02em;text-transform:uppercase;color:var(--muted)}.room-tile .tile-who{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.room-tile.is-free{border-color:var(--line-strong)}.room-tile.is-busy{border-color:var(--ok);background:var(--ok-soft)}.room-tile.is-busy .tile-state{color:var(--ok-ink)}.room-tile.is-booked{border-color:var(--warn-ink);background:var(--warn-soft)}.room-tile.is-booked .tile-state{color:var(--warn-ink)}.room-tile.is-dirty{border-color:var(--info);background:var(--info-soft)}.room-tile.is-dirty .tile-state{color:var(--info-ink)}.room-tile.is-blocked{border-color:var(--danger);background:var(--danger-soft)}.room-tile.is-blocked .tile-state{color:var(--danger-ink)}.floor-chips{flex-wrap:wrap;margin-bottom:12px}.floor-chips .tabs-btn{flex:0 1 auto;padding:0 16px}.floor-block + .floor-block{margin-top:14px}.em-filter .choice{margin-bottom:8px}.em-missing{background:var(--warn-soft)}.top-ctx{display:none}.top-date{font-weight:700;color:var(--ink);font-size:var(--fs-base);white-space:nowrap}.top-date::first-letter {text-transform:uppercase}@media (min-width:1024px){.top-ctx{display:flex;align-items:center;min-width:0}.side-nav .nav-sep{margin-top:14px}}.stat .label{padding-right:44px}.stat .stat-ic{top:14px;right:14px}.room-tile{border-left-width:4px;transition:box-shadow 0.15s ease}.room-tile .no{font-size:var(--fs-2xl);line-height:1.1}.room-tile .tile-state{font-size:var(--fs-xs)}@media (hover:hover){.room-tile:hover{box-shadow:var(--shadow)}}.rack-key{gap:4px 12px}.rk{font-size:var(--fs-xs);gap:6px}.rk::before{width:12px;height:12px;border-radius:var(--r-xs);border-width:2px}.rk.is-free::before{border-color:var(--line-strong);background:var(--surface)}.hub-card{min-height:104px;padding:14px 10px;gap:8px}.hub-card .pf-ico{width:44px;height:44px;border-radius:var(--r-md)}.hub-card .pf-ico .icon{width:22px;height:22px}.floor-block>.floor-title{margin-top:0;margin-bottom:8px}.floor-block + .floor-block{margin-top:18px}@media (min-width:720px){.tabs{flex-wrap:wrap}.tabs>a,.tabs>.tabs-btn{flex:0 1 auto;min-width:128px;padding:0 22px;white-space:nowrap}.tabs>a{grid-auto-flow:column;justify-content:center;align-items:center;column-gap:2px}.km-filters .tabs>.tabs-btn{min-width:110px}.sub-pay fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sub-pay legend{grid-column:1 / -1;float:left;width:100%}.sub-pay .choice{margin-bottom:0}.em-filter .choice{display:inline-flex;margin-right:10px}}@media (min-width:1024px){.sub-pay fieldset{grid-template-columns:repeat(4,minmax(0,1fr))}}.bk-pending{border-color:var(--warn-ink);box-shadow:0 0 0 2px var(--warn-soft);margin-bottom:12px}@media (prefers-reduced-motion:no-preference){.bk-pending{animation:hs-pulse 2.4s ease-in-out infinite}@keyframes hs-pulse{0%,100%{box-shadow:0 0 0 2px var(--warn-soft)}50%{box-shadow:0 0 0 5px var(--warn-soft)}}}.tabs>a.is-urgent:not(.active){border-color:var(--warn-ink);color:var(--warn-ink)}.tabs>a.is-urgent .tab-count{background:var(--danger-solid);color:#fff}.req-form .form-grid.cols-2{grid-template-columns:minmax(0,1fr)}.req-form select,.req-form input{max-width:100%}@media (min-width:720px){.item-row .row-last{flex:none;min-width:148px;display:flex;justify-content:flex-end}}.stack-only{display:none}.guest-search{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.guest-search .field{flex:1 1 240px;margin:0}.guest-search .btn{flex:none}@media (min-width:720px){.empty-art{max-width:560px;margin-left:auto;margin-right:auto}}.dish-badge.is-hit{background:var(--warn-soft);color:var(--warn-ink)}.dish-badge.is-chef{background:var(--info-soft);color:var(--info-ink)}.tg-steps{margin:4px 0 12px;padding-left:20px;color:var(--muted)}.tg-steps li{margin:2px 0}.room-grid{grid-auto-rows:132px}.room-tile{height:132px;min-height:0;overflow:hidden}.room-tile .tile-badges{flex-wrap:nowrap;overflow:hidden}.subnav{display:flex;gap:6px;overflow-x:auto;margin:0 0 14px;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.subnav::-webkit-scrollbar{display:none}.subnav a{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:6px 14px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--surface);color:var(--muted);font-weight:600;font-size:var(--fs-md);text-decoration:none;white-space:nowrap}.subnav a.active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.subnav a.active .tab-count{background:var(--brand-ink);color:var(--brand)}@media (hover:hover){.subnav a:not(.active):hover{border-color:var(--brand-line);color:var(--ink)}}.cicon{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--brand-soft);fill:var(--brand-text);color:var(--accent);vertical-align:middle}.cicon.cicon-lg{width:56px;height:56px}.cicon.cicon-sm{width:32px;height:32px}.cicon-line{color:var(--brand-text)}.cicon-line .icon{width:50%;height:50%}.stat .cicon.stat-ic{width:44px;height:44px;border-radius:50%;background:var(--brand-soft);color:var(--accent)}.stat .label{padding-right:52px}.choice .cicon{width:36px;height:36px}.choice .cicon-line{color:var(--brand-text)}.h-ic{display:flex;align-items:center;gap:12px}.choice:has(input:checked) .cicon{background:var(--surface)}@media (max-width:560px){.stat .cicon.stat-ic{width:36px;height:36px;top:12px;right:12px}.stat .label{padding-right:42px}}.sg-sec{margin-top:28px}.sg-stack{display:grid;gap:12px}.sg-stack .alert{margin:0}.sg-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.sg-swatch{display:grid;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:10px;font-size:var(--fs-sm)}.sg-swatch code,.sg-type-row code,.sg-radius-box code,.sg-icon code{font-size:var(--fs-xs);color:var(--faint)}.sg-chip{display:block;height:44px;border-radius:var(--r-sm);border:1px solid var(--line);margin-bottom:6px}.sw-brand{background:var(--brand)}.sw-brand-soft{background:var(--brand-soft)}.sw-brand-line{background:var(--brand-line)}.sw-accent{background:var(--accent)}.sw-bg{background:var(--bg)}.sw-surface{background:var(--surface)}.sw-ink{background:var(--ink)}.sw-muted{background:var(--muted)}.sw-faint{background:var(--faint)}.sw-line{background:var(--line)}.sw-line-strong{background:var(--line-strong)}.sw-ok{background:var(--ok)}.sw-ok-soft{background:var(--ok-soft)}.sw-warn{background:var(--warn)}.sw-warn-soft{background:var(--warn-soft)}.sw-danger{background:var(--danger)}.sw-danger-soft{background:var(--danger-soft)}.sw-info{background:var(--info)}.sw-info-soft{background:var(--info-soft)}.sg-type-row{display:grid;grid-template-columns:150px 1fr;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.sg-type-row:last-child{border-bottom:0}.sg-type-row span{line-height:1.2;overflow-wrap:anywhere}.sg-fs-display{font-size:var(--fs-display)}.sg-fs-3xl{font-size:var(--fs-3xl)}.sg-fs-2xl{font-size:var(--fs-2xl)}.sg-fs-xl{font-size:var(--fs-xl)}.sg-fs-lg{font-size:var(--fs-lg)}.sg-fs-base{font-size:var(--fs-base)}.sg-fs-md{font-size:var(--fs-md)}.sg-fs-sm{font-size:var(--fs-sm)}.sg-fs-xs{font-size:var(--fs-xs)}.sg-radii{display:flex;flex-wrap:wrap;gap:12px}.sg-radius-box{width:110px;height:80px;display:grid;place-content:center;text-align:center;background:var(--brand-soft);border:1.5px solid var(--brand-line)}.sg-r-xs{border-radius:var(--r-xs)}.sg-r-sm{border-radius:var(--r-sm)}.sg-r-md{border-radius:var(--r-md)}.sg-r-lg{border-radius:var(--r-lg)}.sg-r-xl{border-radius:var(--r-xl)}.sg-r-pill{border-radius:var(--r-pill)}.sg-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.sg-icon{display:grid;justify-items:center;gap:6px;padding:12px 6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink)}@media (max-width:560px){.sg-type-row{grid-template-columns:1fr;gap:2px}}.money-strip .stat .value{font-size:var(--fs-xl)}@media (max-width:559px){.grid.cols-3.money-strip{grid-template-columns:minmax(0,1fr)}}.room-tile,.room-tile.is-free,.room-tile.is-busy,.room-tile.is-booked{background:var(--surface);border-color:var(--line);border-left-width:4px}.room-tile.is-free{border-left-color:var(--line-strong)}.room-tile.is-busy{border-left-color:var(--ok)}.room-tile.is-booked{border-left-color:var(--warn)}.room-tile.is-dirty{background:var(--info-soft);border-color:var(--info)}.room-tile.is-blocked{background:var(--danger-soft);border-color:var(--danger)}.room-tile .tile-state{text-transform:none;letter-spacing:0;font-weight:600;font-size:var(--fs-sm)}.room-tile.is-free .tile-state{color:var(--faint)}.room-tile.is-booked .tile-state{color:var(--warn-ink)}.rk.is-busy::before,.rk.is-booked::before{background:var(--surface);border-color:var(--line-strong);border-left-width:4px}.rk.is-busy::before{border-left-color:var(--ok)}.rk.is-booked::before{border-left-color:var(--warn)}.tabs a,.tabs .tabs-btn{border-radius:var(--r-pill);font-size:var(--fs-md)}.tabs a.active,.tabs .tabs-btn.active{border-color:var(--brand);color:var(--brand-text);background:var(--brand-soft)}.btn[disabled],.btn.is-disabled,.sub-providers .btn[disabled]{background:var(--off-bg);border-color:var(--line);color:var(--faint);opacity:1;filter:none;cursor:not-allowed}.stat-note{margin-left:10px;font-size:var(--fs-sm);font-weight:500;color:var(--muted);white-space:nowrap}@media (max-width:559px){.stat-note{display:block;margin:2px 0 0}}.room-grid{grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:8px;grid-auto-rows:88px}.room-tile,.room-tile.is-free,.room-tile.is-busy,.room-tile.is-booked,.room-tile.is-dirty,.room-tile.is-blocked{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;align-content:start;column-gap:6px;row-gap:3px;height:88px;min-height:0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:0 1px 2px rgba(17,24,39,0.04);overflow:hidden;transition:border-color 0.15s ease,box-shadow 0.15s ease,transform 0.15s ease}.room-tile .no{grid-column:1;grid-row:1;font-size:var(--fs-xl);font-weight:700;line-height:1;letter-spacing:-0.02em;color:var(--ink)}.room-tile .tile-badges{grid-column:2;grid-row:1;align-self:center;margin:0;gap:4px;flex-wrap:nowrap}.room-tile .tile-badges .badge{min-height:20px;padding:0 6px;gap:3px;font-size:var(--fs-xs);border-radius:var(--r-pill)}.room-tile .tile-badges .icon-sm{width:12px;height:12px}.room-tile .tile-state{grid-column:1 / -1;grid-row:2;display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted)}.room-tile .tile-state::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.room-tile .tile-who{grid-column:1 / -1;grid-row:3;font-size:var(--fs-sm);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-tile .tile-who .num{color:var(--ink);font-weight:600}.room-tile.is-free .tile-state{color:var(--faint)}.room-tile.is-free .tile-state::before{background:transparent;box-shadow:inset 0 0 0 1.5px currentColor}.room-tile.is-busy .tile-state{color:var(--ok-ink)}.room-tile.is-booked .tile-state{color:var(--warn-ink)}.room-tile.is-leaving .tile-state{color:var(--danger-ink)}.room-tile.is-dirty{background:color-mix(in srgb,var(--info-soft) 70%,var(--surface));border-color:color-mix(in srgb,var(--info) 35%,var(--line))}.room-tile.is-dirty .tile-state{color:var(--info-ink)}.room-tile.is-blocked{background:color-mix(in srgb,var(--danger-soft) 70%,var(--surface));border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}.room-tile.is-blocked .tile-state{color:var(--danger-ink)}.room-tile.is-blocked .no{color:var(--muted)}.room-tile.is-alert{border-color:var(--info);box-shadow:0 0 0 3px var(--info-soft)}@media (hover:hover){.room-tile:hover{border-color:var(--brand-line);box-shadow:var(--shadow);transform:translateY(-1px)}.room-tile.is-alert:hover{border-color:var(--info)}}@media (prefers-reduced-motion:reduce){.room-tile{transition:none}.room-tile:hover{transform:none}}.rk::before,.rk.is-free::before,.rk.is-busy::before,.rk.is-booked::before,.rk.is-dirty::before,.rk.is-blocked::before{width:8px;height:8px;border:0;border-radius:50%}.rk.is-free::before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--faint)}.rk.is-busy::before{background:var(--ok-ink)}.rk.is-booked::before{background:var(--warn-ink)}.rk.is-dirty::before{background:var(--info-ink)}.rk.is-blocked::before{background:var(--danger-ink)}.room-tile .tile-state{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-tile .tile-state::before{display:inline-block;margin-right:6px;vertical-align:1px}@media (max-width:559px){.floor-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.floor-chips::-webkit-scrollbar{display:none}.floor-chips .tabs-btn{flex:none;min-height:40px;padding:0 16px}}.desk-cols>*,.floor-block{min-width:0}.ps-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:12px 0}.ps-photo{position:relative;margin:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.ps-photo img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.ps-photo.is-cover{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.ps-photo figcaption{padding:8px;gap:6px}.ps-cover-badge{position:absolute;left:8px;top:8px}.ps-upload{display:grid;gap:10px;margin-top:8px}.ps-amen{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 10px}.ps-map{height:320px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--off-bg);z-index:0}.p-pin{background:none;border:0}.p-pin.is-pick span{display:block;width:22px;height:22px;border-radius:50% 50% 50% 0;background:var(--brand);transform:translate(-50%,-110%) rotate(-45deg);box-shadow:0 2px 8px rgba(17,24,39,0.3)}.ps-share-grid{display:grid;gap:16px;align-items:start}@media (min-width:720px){.ps-share-grid{grid-template-columns:minmax(0,1fr) 180px}}.ps-share-main{display:grid;gap:10px;min-width:0}.ps-qr{margin:0;display:grid;justify-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff}.ps-qr img{width:160px;height:160px;image-rendering:pixelated}.lang-menu-panel.is-many{min-width:0;width:min(360px,calc(100vw - 24px));max-height:min(72vh,560px);overflow-y:auto}.lang-menu.is-open .lang-menu-panel.is-many{grid-template-columns:1fr 1fr}.lang-menu-item{text-align:start}[dir="rtl"] .lang-menu-panel{right:auto;left:0}@media (max-width:560px){.lang-menu-panel.is-many{position:fixed;left:12px;right:12px;top:72px;width:auto}}[dir="rtl"] :is(p,h1,h2,h3,h4,li,dd,dt,label,small,b){unicode-bidi:plaintext}.shift-chip.is-off{background:var(--warn-soft);color:var(--warn-ink)}.shift-chip-bang{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--warn);color:#fff;font-size:var(--fs-xs);font-weight:800}@media (max-width:560px){.shift-chip.is-off{display:inline-flex;padding:4px 8px}.shift-chip.is-off>:not(.shift-chip-bang){display:none}}.bell-btn{position:relative;flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--muted)}@media (hover:hover){.bell-btn:hover{background:var(--brand-soft);color:var(--brand-text)}}.bell-btn.has-new{color:var(--ink)}.bell-count{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--danger);color:#fff;font-size:var(--fs-xs);font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--surface)}.avatar-face img{width:100%;height:100%;border-radius:50%;object-fit:cover}.nt-list .is-new{background:var(--brand-soft)}.sl-counts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:14px 0 10px;font-size:var(--fs-md)}.sl-counts b{font-size:var(--fs-lg)}.sl-counts .is-warn{color:var(--warn-ink)}.sl-filter{display:flex;gap:8px;margin-bottom:12px}.sl-filter input{flex:1 1 auto;min-width:0}.sl-filter select{flex:0 1 200px;min-width:0}.sl-row{flex-wrap:nowrap}.sl-row.is-off{opacity:0.6}.sl-face{flex:none;width:44px;height:44px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-text);font-weight:800;text-decoration:none}.sl-face img{width:100%;height:100%;object-fit:cover}.sl-row .title a{color:inherit;text-decoration:none}.sl-status{flex:none;font-size:var(--fs-sm);font-weight:600;color:var(--muted);white-space:nowrap}.sl-status.is-working{color:var(--ok-ink)}.sl-status.is-absent{color:var(--warn-ink)}@media (max-width:560px){.sl-row .btn{display:none}.sl-status{font-size:var(--fs-xs)}}.sp-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 16px;align-items:center}.sp-face{width:72px;height:72px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-text);font-size:var(--fs-2xl);font-weight:800}.sp-face img{width:100%;height:100%;object-fit:cover}.sp-who h1{margin:0;font-size:var(--fs-xl)}.sp-who p{margin:4px 0 0}.sp-badges{display:flex;flex-wrap:wrap;gap:6px}.sp-actions{grid-column:1 / -1}.sp-actions form{margin:0}.sp-quick{margin-bottom:10px}.rp-section.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.rp-section.card-head h2{margin:0}.rp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.att-map{width:100%;height:220px;border-radius:var(--r-md);margin:10px 0 12px;background:var(--off-bg)}.att-map[hidden]{display:none}.att-zone{fill:var(--brand);fill-opacity:0.12;stroke:var(--brand);stroke-width:2}.p-me span{display:block;width:18px;height:18px;border-radius:50%;background:#2563eb;border:3px solid #fff;box-shadow:0 0 0 6px rgba(37,99,235,0.22)}.att-layout>*{min-width:0}.att-tools form.att-tools{flex-wrap:wrap}.att-tools form.att-tools>input,.att-tools form.att-tools>select{flex:1 1 140px;min-width:0}.fin-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin-bottom:10px}.section-head h2{margin:0}.section-head p{margin:0}.stat-link.is-active{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.fin-salary-hint{display:flex;gap:6px;align-items:flex-start;margin:0 0 12px}.fin-salary-hint .icon{flex:none;margin-top:2px}.fin-receipt{margin:0 0 12px}.fin-receipt img{display:block;max-width:min(100%,320px);max-height:320px;border-radius:var(--r-md);border:1px solid var(--line);object-fit:contain;background:var(--off-bg)}.cat-list li{display:flex;align-items:center;justify-content:space-between;gap:10px}.cat-list .cell-link{min-width:0;overflow-wrap:anywhere}.cat-meta{display:inline-flex;align-items:center;gap:6px;flex:none}.cat-meta form{margin:0}details.card>summary{cursor:pointer;min-height:var(--tap);display:flex;align-items:center}.audit-list{list-style:none;margin:0;padding:0}.audit-row{padding:12px 0;border-top:1px solid var(--line)}.audit-row:first-child{border-top:0;padding-top:0}.audit-row:last-child{padding-bottom:0}.audit-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.audit-title{margin:6px 0 0;overflow-wrap:anywhere}.audit-changes{margin:6px 0 0;display:grid;gap:2px;font-size:var(--fs-sm)}.audit-changes div{display:grid;grid-template-columns:minmax(90px,max-content) minmax(0,1fr);gap:10px}.audit-changes dt{color:var(--muted)}.audit-changes dd{margin:0;overflow-wrap:anywhere}.shift-chip.is-cash{background:var(--warn-soft);color:var(--warn-ink)}.shift-chip .icon{flex:none}@media (max-width:560px){.shift-chip.is-cash{display:inline-flex;padding:4px 10px}.shift-chip.till-chip>.icon{display:inline-block}.shift-chip.till-chip>:not(.icon){display:none}}.till-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.till-head p{margin:0}.till-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.till-grid>*{min-width:0}@media (max-width:900px){.till-grid{grid-template-columns:minmax(0,1fr)}}.till-open-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;max-width:520px}.till-open-form .field{margin:0}.till-holder{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.till-holder:first-of-type{border-top:0;padding-top:0;margin-top:0}.till-holder summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;min-height:var(--tap)}.till-holder summary strong{overflow-wrap:anywhere}.till-orders{list-style:none;margin:8px 0 12px;padding:0;display:grid;gap:6px}.till-orders label{display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer}.till-orders label span:first-of-type{flex:1 1 auto;min-width:0}.till-orders input{width:20px;height:20px;flex:none}.till-inline{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end}.till-inline .field{margin:0}@media (max-width:560px){.till-inline{grid-template-columns:minmax(0,1fr)}}.till-diff.is-short{color:var(--danger);font-weight:700}.till-diff.is-over{color:var(--ok-ink);font-weight:700}.till-kinds{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0 0 12px}.till-kinds label{display:inline-flex;align-items:center;gap:6px;min-height:var(--tap);padding:6px 12px;border:1.5px solid var(--line);border-radius:var(--r-pill);cursor:pointer;font-weight:600}.till-kinds input{margin:0}.till-kinds label:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand-text)}.till-cat{display:none}.till-move-form:has(input[name=kind][value=EXPENSE]:checked) .till-cat{display:block}@media (max-width:560px){.till-orders .muted{display:none}}.branch-switch{display:inline-flex;align-items:center;gap:6px;margin:0;min-height:34px;padding:0 4px 0 10px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--surface);color:var(--muted)}.branch-switch select{border:0;background:transparent;font:inherit;font-weight:700;color:var(--ink);max-width:170px;min-height:32px;padding:0 4px}.shift-chip.branch-chip{background:var(--brand-soft);color:var(--brand-text)}@media (max-width:560px){.branch-switch select{max-width:110px}.shift-chip.branch-chip{display:inline-flex;max-width:120px;overflow:hidden}}.branch-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:center}.branch-list li>.small{grid-column:1}.branch-list li>.btn-row{grid-column:2;grid-row:1 / span 2}@media (max-width:560px){.branch-switch>.icon{display:none}.branch-switch{padding-left:4px}}.brand-grid{display:grid;gap:16px;align-items:start}@media (min-width:960px){.brand-grid{grid-template-columns:minmax(0,1fr) 320px}.brand-preview{position:sticky;top:16px}}.brand-logo-row{display:flex;gap:16px;align-items:flex-start}.brand-logo-row .grow{flex:1;min-width:0}.brand-logo-box{width:72px;height:72px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--bg);display:grid;place-items:center;overflow:hidden;flex:none}.brand-logo-box img{width:100%;height:100%;object-fit:contain}.brand-logo-empty{font-size:var(--fs-3xl);font-weight:700;color:var(--brand-text)}.brand-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.brand-swatch{width:40px;height:40px;padding:3px;border-radius:50%;border:2px solid transparent;background:none;cursor:pointer}.brand-swatch[aria-pressed="true"]{border-color:var(--ink)}.brand-swatch-fill{display:block;width:100%;height:100%;border-radius:50%}.color-input{width:72px;height:44px;padding:2px;cursor:pointer}.brand-phone{--pv-brand:var(--brand);--pv-ink:var(--brand-ink);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;background:var(--bg);margin-top:8px}.brand-phone-head{background:var(--pv-brand);color:var(--pv-ink);display:flex;gap:10px;align-items:center;padding:14px}.brand-phone-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-phone-logo{width:32px;height:32px;border-radius:var(--r-sm);background:rgba(255,255,255,.2);display:grid;place-items:center;font-weight:700;overflow:hidden;flex:none}.brand-phone-logo img{width:100%;height:100%;object-fit:cover}.brand-phone-body{padding:12px;display:grid;gap:8px}.brand-phone-dish{display:flex;justify-content:space-between;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px;font-size:var(--fs-md)}.brand-phone-btn{display:block;text-align:center;background:var(--pv-brand);color:var(--pv-ink);border-radius:var(--r-md);padding:10px;font-weight:600}.sound-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-top:8px}.brand-grid>*,.brand-grid fieldset{min-width:0}.brand-logo-row input[type="file"]{max-width:100%}.pf-ico[class*="c-"]{background:var(--brand-soft);color:var(--brand-text)}.hub-card .pf-ico{border-radius:var(--r-md)}.room-tile .no{font-size:var(--fs-2xl);letter-spacing:-0.02em}.room-tile.is-free{background:var(--surface)}.room-tile.is-free .tile-state{color:var(--ok-ink)}.room-tile.is-free .tile-state::before{background:var(--ok);box-shadow:none}.room-tile.is-busy{background:var(--brand-soft);border-color:var(--brand-line)}.room-tile.is-busy .tile-state{color:var(--brand-text)}.rk.is-free::before{background:var(--ok);box-shadow:none}.rk.is-busy::before{background:var(--brand-text);border-color:var(--brand-text)}.rt-photo-preview{display:block;width:240px;max-width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--line);margin:4px 0 12px}.btn.is-blocked{background:var(--off-bg);border-color:var(--line);color:var(--faint);cursor:not-allowed;box-shadow:none}.hs-toast{position:fixed;z-index:90;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;max-width:460px;margin:0 auto;padding:12px 14px;background:var(--surface);color:var(--ink);font-size:var(--fs-base);font-weight:600;border:1px solid var(--line);border-left:4px solid var(--info);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}.hs-toast[hidden]{display:none}.hs-toast-ic{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:var(--r-pill);background:var(--info-soft);color:var(--info-ink);font-weight:800}.hs-toast.is-error{border-left-color:var(--danger)}.hs-toast.is-error .hs-toast-ic{background:var(--danger-soft);color:var(--danger-ink)}.hs-toast.is-warning{border-left-color:var(--warn)}.hs-toast.is-warning .hs-toast-ic{background:var(--warn-soft);color:var(--warn-ink)}.hs-toast.is-success,.hs-toast.is-celebrate{border-left-color:var(--brand)}.hs-toast.is-success .hs-toast-ic,.hs-toast.is-celebrate .hs-toast-ic{background:var(--brand);color:var(--brand-ink)}.hs-toast.is-celebrate{font-size:var(--fs-lg);padding:16px}.hs-toast.is-celebrate .hs-toast-ic{width:40px;height:40px;font-size:var(--fs-xl)}@media (min-width:1024px){.hs-toast{left:auto;right:24px;bottom:24px;margin:0}}.alert.is-celebrate{font-weight:600}.hs-sound-bar{position:fixed;z-index:95;left:12px;right:12px;top:calc(10px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:center;gap:10px;max-width:460px;margin:0 auto;padding:14px 16px;min-height:52px;background:var(--brand);color:var(--brand-ink);border:0;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);font:inherit;font-size:var(--fs-base);font-weight:700;cursor:pointer}.hs-sound-bar[hidden]{display:none}.hs-sound-bell{width:12px;height:12px;border-radius:var(--r-pill);background:currentColor;flex:none}@media (prefers-reduced-motion:no-preference){.hs-toast.is-in{animation:hs-toast-in 0.24s ease-out}.hs-toast.is-celebrate.is-in{animation:hs-toast-pop 0.5s cubic-bezier(.2,1.4,.4,1)}.hs-toast.is-error.is-in{animation:hs-toast-shake 0.42s ease-in-out}.hs-sound-bell{animation:hs-bell 1s ease-in-out infinite}@keyframes hs-toast-in{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}@keyframes hs-toast-pop{0%{transform:scale(0.8);opacity:0}100%{transform:none;opacity:1}}@keyframes hs-toast-shake{0%,100%{transform:none}20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}@keyframes hs-bell{0%,100%{opacity:1}50%{opacity:0.3}}.btn.is-blocked.is-shake{animation:hs-toast-shake 0.42s ease-in-out}}
