@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/app/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/app/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/app/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#0f1a2c;--ink-2:#1b2a42;--slate:#5a769c;--slate-2:#8da2bf;--accent:#1f5fbf;--accent-2:#174c9a;--accent-soft:#e8f0fc;--bg:#f4f6fa;--surface:#fff;--surface-2:#f8fafc;--line:#e3e8f0;--line-2:#d3dbe7;--text:#0f1a2c;--text-2:#4a5d78;--muted:#7f8fa6;--success:#12805c;--success-soft:#e3f5ee;--warn:#a86200;--warn-soft:#fff3dd;--danger:#c22f3a;--danger-soft:#fde8ea;--info:#5a769c;--info-soft:#ebf0f6;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #0f1a2c0d, 0 4px 16px #0f1a2c0d;--shadow-lg:0 12px 40px #0f1a2c2e;--font:"Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--font-head:"Plus Jakarta Sans Variable", "Plus Jakarta Sans", var(--font);--sidebar:240px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{font-family:var(--font-head);letter-spacing:-.01em;color:var(--ink);margin:0}h1{font-size:26px;font-weight:750}h2{font-size:18px;font-weight:700}h3{font-size:15px;font-weight:700}p{margin:0 0 .6em}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}.icon{flex:none;display:block}.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:13px}.nowrap{white-space:nowrap}.right{text-align:right}.grow{flex:1;min-width:0}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.stack{flex-direction:column;gap:12px;display:flex}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.shell{min-height:100vh}.sidebar{width:var(--sidebar);background:var(--ink);color:#c9d4e4;z-index:30;flex-direction:column;padding:20px 14px;display:flex;position:fixed;inset:0 auto 0 0}.brand{font-family:var(--font-head);color:#fff;align-items:center;gap:10px;padding:4px 10px 22px;font-size:20px;font-weight:800;text-decoration:none;display:flex}.brand:hover{text-decoration:none}.brand .zid{color:#fff}.brand .tech{color:var(--slate-2)}.brand .tag{letter-spacing:.08em;color:var(--slate-2);border:1px solid #8da2bf66;border-radius:6px;margin-left:2px;padding:1px 6px;font-size:11px;font-weight:600}.nav{flex-direction:column;gap:2px;display:flex}.nav a{color:#c9d4e4;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-weight:550;text-decoration:none;display:flex;position:relative}.nav a:hover{color:#fff;background:#ffffff0f}.nav a.router-link-active{color:#fff;background:#1f5fbf47}.nav a.router-link-active:before{content:"";background:#6fa0f0;border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-14px}.nav .count{color:var(--ink);background:#e9a23b;border-radius:10px;margin-left:auto;padding:0 7px;font-size:11px;font-weight:800;line-height:18px}.sidebar-foot{border-top:1px solid #ffffff14;align-items:center;gap:10px;margin-top:auto;padding-top:14px;display:flex}.avatar{background:var(--slate);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.sidebar-foot .who{color:#fff;min-width:0;font-size:13px;line-height:1.3}.sidebar-foot .who small{color:var(--slate-2);text-overflow:ellipsis;display:block;overflow:hidden}.icon-btn{width:38px;height:38px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:inline-grid}.icon-btn:hover{background:#7f8fa624}.main{margin-left:var(--sidebar);flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f4f6fae0;align-items:center;gap:12px;padding:12px 28px;display:flex;position:sticky;top:0}.topbar .mobile-brand{display:none}.content{width:100%;max-width:1320px;padding:26px 28px 60px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head .sub{color:var(--text-2);margin-top:4px}.crumb{color:var(--muted);align-items:center;gap:4px;margin-bottom:4px;font-size:13px;display:inline-flex}.bottom-nav{display:none}.search{flex:1;max-width:520px;position:relative}.search input{background:var(--surface);padding-left:40px}.search .icon-lead{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.search-pop{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:50;max-height:70vh;padding:8px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.search-pop h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:8px 8px 4px;font-size:11px}.search-pop a{color:var(--text);border-radius:8px;justify-content:space-between;gap:10px;padding:8px 10px;display:flex}.search-pop a:hover,.search-pop a.active{background:var(--accent-soft);text-decoration:none}.btn{border:1px solid var(--line-2);background:var(--surface);height:40px;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:var(--slate-2);text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-2)}.btn.danger{color:var(--danger)}.btn.danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:#7f8fa61f}.btn.sm{border-radius:8px;height:32px;padding:0 11px;font-size:13px}.btn.block{width:100%}.field{color:var(--text-2);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.field .hint{color:var(--muted);font-size:12px;font-weight:400}.field .err{color:var(--danger);font-size:12px;font-weight:500}input,select,textarea{border:1px solid var(--line-2);background:var(--surface);width:100%;height:42px;color:var(--text);font:15px var(--font);border-radius:10px;outline:none;padding:0 12px;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;height:auto;min-height:96px;padding:10px 12px;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1f5fbf26}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--accent)}label.check{color:var(--text);cursor:pointer;align-items:center;gap:9px;font-size:14px;font-weight:500;display:inline-flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.form-grid .full{grid-column:1/-1}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.error-box{background:var(--danger-soft);color:var(--danger);border-radius:10px;padding:10px 14px;font-weight:500}.ok-box{background:var(--success-soft);color:var(--success);border-radius:10px;padding:10px 14px;font-weight:500}.seg{background:var(--surface);border:1px solid var(--line-2);border-radius:10px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--text-2);background:0 0;border:0;border-radius:7px;padding:6px 12px;font-size:13px;font-weight:600}.seg button.on{background:var(--ink);color:#fff}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:18px 20px}.card-head{justify-content:space-between;align-items:center;gap:10px;padding:16px 20px 0;display:flex}.card-head+.card-body{padding-top:12px}.card-body{padding:16px 20px 18px}.grid{gap:16px;display:grid}.grid.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.side{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}.kpi{padding:16px 18px}.kpi .label{color:var(--text-2);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:flex}.kpi .value{font-family:var(--font-head);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:6px;font-size:25px;font-weight:750}.kpi .foot{color:var(--muted);margin-top:2px;font-size:12.5px}.kpi.danger .value{color:var(--danger)}.kpi.dark{background:var(--ink);border-color:var(--ink)}.kpi.dark .label{color:var(--slate-2)}.kpi.dark .value{color:#fff}.kpi.dark .foot{color:var(--slate-2)}.badge{white-space:nowrap;background:var(--info-soft);color:var(--info);border-radius:999px;flex:none;align-self:center;align-items:center;gap:5px;padding:2px 9px;font-size:12px;font-weight:650;display:inline-flex}.badge.success{background:var(--success-soft);color:var(--success)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.badge.muted{color:var(--muted);background:#eef1f5}.dot{background:currentColor;border-radius:50%;width:8px;height:8px;display:inline-block}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar input:not([type=checkbox]),.toolbar select{width:auto;min-width:150px;height:38px}.toolbar .search-in{flex:1;min-width:200px;max-width:360px}.table-wrap{overflow-x:auto}table.list{border-collapse:collapse;width:100%;font-size:14px}table.list th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap;padding:11px 14px;font-size:12px;font-weight:650}table.list td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px}table.list tbody tr:last-child td{border-bottom:0}table.list tbody tr.click{cursor:pointer}table.list tbody tr.click:hover td{background:#f7f9fc}table.list .title{color:var(--ink);font-weight:600}table.list .sub{color:var(--muted);font-size:12.5px}table.list td.num,table.list th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.list tfoot td{border-top:1px solid var(--line-2);background:var(--surface-2);font-weight:700}.list-simple{flex-direction:column;display:flex}.list-simple>*{border-bottom:1px solid var(--line);color:var(--text);align-items:center;gap:12px;padding:11px 0;display:flex}.list-simple>:last-child{border-bottom:0}.list-simple a:hover{background:#f7f9fc;text-decoration:none}.empty{text-align:center;color:var(--muted);padding:34px 16px}.empty .icon{color:var(--slate-2);margin:0 auto 10px}.pager{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;display:flex}.date-chip{text-align:center;background:var(--accent-soft);width:46px;color:var(--accent);border-radius:10px;flex:none;padding:4px 0;line-height:1.15}.date-chip b{font-family:var(--font-head);font-size:18px;display:block}.date-chip small{text-transform:uppercase;font-size:11px;font-weight:700}.detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.detail-head .meta{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.dl{grid-template-columns:140px 1fr;gap:8px 14px;margin:0;font-size:14px;display:grid}.dl dt{color:var(--muted)}.dl dd{color:var(--ink);word-break:break-word;margin:0}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tabs button{color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:600}.tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.tabs button .n{color:var(--muted);margin-left:4px;font-size:12px}.notes{white-space:pre-wrap;color:var(--text-2)}.progress{background:var(--line);border-radius:6px;height:8px;overflow:hidden}.progress>i{background:var(--success);border-radius:6px;height:100%;display:block}.modal-back{z-index:100;background:#0f1a2c73;place-items:center;padding:20px;animation:.15s fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;width:100%;max-width:640px;max-height:calc(100vh - 40px);animation:.18s ease-out pop;display:flex}.modal.wide{max-width:860px}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:18px 22px;display:flex}.modal-body{padding:20px 22px;overflow:auto}.modal-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}.modal-foot .left{margin-right:auto}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(10px)scale(.98)}}.toast-wrap{z-index:200;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);border-radius:10px;max-width:360px;padding:11px 16px;font-weight:500;animation:.2s pop}.toast.error{background:var(--danger)}.cal-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cal-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-grid .wd{color:var(--muted);text-transform:uppercase;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-2);padding:8px;font-size:12px;font-weight:700}.cal-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;background:var(--surface);flex-direction:column;gap:3px;min-width:0;min-height:112px;padding:6px;display:flex}.cal-cell:hover{background:#f9fbfe}.cal-cell.out{background:var(--surface-2)}.cal-cell.out .dn{color:var(--line-2)}.cal-cell.blocked{background:repeating-linear-gradient(135deg,#f7f8fa,#f7f8fa 6px,#f0f2f6 6px 12px)}.cal-cell .dn{color:var(--text-2);border-radius:50%;place-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:grid}.cal-cell.today .dn{background:var(--accent);color:#fff}.cal-cell.sel{box-shadow:inset 0 0 0 2px var(--accent)}.ev{background:var(--accent-soft);color:var(--accent-2);white-space:nowrap;text-overflow:ellipsis;border-left:3px solid var(--accent);border-radius:6px;padding:3px 6px;font-size:12px;font-weight:550;line-height:1.3;overflow:hidden}.ev.foglalt{background:var(--warn-soft);color:var(--warn);border-left-color:#e9a23b}.ev.lemondva{color:var(--muted);border-left-color:var(--line-2);background:#f0f2f5;text-decoration:line-through}.ev.megtortent{background:var(--success-soft);color:var(--success);border-left-color:var(--success)}.ev-more{color:var(--muted);padding-left:4px;font-size:11.5px}.agenda .item{border-bottom:1px solid var(--line);cursor:pointer;gap:12px;padding:12px 0;display:flex}.agenda .item:last-child{border-bottom:0}.agenda .item .t{font-variant-numeric:tabular-nums;width:92px;color:var(--ink);flex:none;font-weight:700}.agenda .item:hover .title{color:var(--accent)}.hours-row{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;align-items:start;gap:12px;padding:10px 0;display:grid}.hours-row:last-child{border-bottom:0}.range{align-items:center;gap:6px;margin:0 8px 6px 0;display:inline-flex}.range input{width:108px;height:36px}.auth-page{background:var(--surface);grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.auth-art{background:var(--ink);color:#c9d4e4;flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.auth-art:after{content:"";border:60px solid #5a769c2e;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-120px;right:-120px}.auth-art:before{content:"";background:linear-gradient(#0000,#6fa0f08c,#0000);width:3px;height:140%;position:absolute;top:-80px;left:40%;transform:rotate(28deg)}.auth-art h1{color:#fff;max-width:420px;font-size:34px;line-height:1.15}.auth-art p{max-width:400px;color:var(--slate-2)}.auth-form{place-items:center;padding:32px 20px;display:grid}.auth-form form{flex-direction:column;gap:16px;width:100%;max-width:380px;display:flex}.public{background:linear-gradient(180deg, #edf2f9 0, var(--bg) 340px);min-height:100vh}.public-top{background:var(--ink);color:#fff;padding:18px 20px 70px}.public-top .inner,.public-main{max-width:980px;margin:0 auto}.public-top h1{color:#fff;margin-top:22px;font-size:28px}.public-top p{color:var(--slate-2);max-width:620px;margin-top:8px}.public-main{margin-top:-48px;padding:0 16px 60px}.booking-card{grid-template-columns:1.2fr 1fr;display:grid;overflow:hidden}.booking-card>section{padding:22px 24px}.booking-card>section+section{border-left:1px solid var(--line)}.mini-cal{grid-template-columns:repeat(7,1fr);gap:4px;margin-top:12px;display:grid}.mini-cal .wd{color:var(--muted);text-align:center;text-transform:uppercase;padding:4px 0;font-size:11px;font-weight:700}.mini-cal button{aspect-ratio:1;color:var(--line-2);cursor:default;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:10px;font-size:14px;font-weight:600}.mini-cal button.avail{background:var(--accent-soft);color:var(--accent);cursor:pointer}.mini-cal button.avail:hover{background:#d6e4fa}.mini-cal button.sel{background:var(--accent);color:#fff}.mini-cal button.today{box-shadow:inset 0 0 0 2px var(--slate-2)}.slots{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.slots button{border:1px solid var(--line-2);background:var(--surface);height:44px;color:var(--ink);cursor:pointer;font-variant-numeric:tabular-nums;border-radius:10px;font-weight:650}.slots button:hover{border-color:var(--accent);color:var(--accent)}.slots button.sel{background:var(--accent);border-color:var(--accent);color:#fff}.choice{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.choice button{border:1px solid var(--line-2);background:var(--surface);cursor:pointer;color:var(--text-2);border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;font-size:13px;font-weight:600;display:flex}.choice button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.hp{opacity:0;width:1px;height:1px;position:absolute!important;left:-9999px!important}.done{text-align:center;padding:36px 24px}.done .tick{background:var(--success-soft);width:64px;height:64px;color:var(--success);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.public-foot{text-align:center;color:var(--muted);margin-top:24px;font-size:13px}@media (width<=1100px){.grid.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.side{grid-template-columns:1fr}}@media (width<=900px){.sidebar{display:none}.main{padding-bottom:calc(68px + var(--safe-b));margin-left:0}.topbar{padding:calc(10px + var(--safe-t)) 16px 10px}.topbar .mobile-brand{padding:0;font-size:18px;display:flex}.content{padding:18px 16px 40px}h1{font-size:22px}.bottom-nav{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:6px 4px calc(6px + var(--safe-b));background:#fffffff5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--muted);flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:11px;font-weight:600;text-decoration:none;display:flex;position:relative}.bottom-nav a.router-link-active{color:var(--accent)}.bottom-nav .count{color:var(--ink);background:#e9a23b;border-radius:9px;padding:0 5px;font-size:10px;font-weight:800;line-height:16px;position:absolute;top:0;right:calc(50% - 22px)}.grid.two,.auth-page{grid-template-columns:1fr}.auth-art{min-height:0;padding:28px 22px}.auth-art h1{font-size:24px}.auth-art .hide-m{display:none}.booking-card{grid-template-columns:1fr}.booking-card>section+section{border-left:0;border-top:1px solid var(--line)}.cal-cell{min-height:64px;padding:4px}.cal-cell .ev{display:none}.cal-cell .ev-dots{display:flex}}@media (width>=901px){.only-m{display:none!important}.cal-cell .ev-dots{display:none}}@media (width<=900px){.only-d{display:none!important}}.ev-dots{flex-wrap:wrap;gap:3px;padding-left:4px}.ev-dots i{background:var(--accent);border-radius:50%;width:6px;height:6px}.ev-dots i.foglalt{background:#e9a23b}.ev-dots i.lemondva{background:var(--line-2)}@media (width<=640px){.grid.kpis{gap:10px}.kpi{padding:13px 14px}.kpi .value{font-size:20px}.form-grid,.form-grid.three{grid-template-columns:1fr}.dl{grid-template-columns:1fr;gap:2px}.dl dt{margin-top:8px;font-size:12.5px}.modal-back{align-items:end;padding:0}.modal{border-radius:18px 18px 0 0;max-width:none;max-height:94vh}.modal-foot{padding-bottom:calc(14px + var(--safe-b))}.modal-foot .btn{flex:1}.toolbar input:not([type=checkbox]),.toolbar select{flex:1;min-width:0}.toolbar .check{margin-left:0!important}.toolbar .search-in{flex-basis:100%;max-width:none}table.list.cards thead{display:none}table.list.cards,table.list.cards tbody,table.list.cards tr,table.list.cards td{width:100%;display:block}table.list.cards tr{border-bottom:1px solid var(--line);padding:12px 16px}table.list.cards td{border:0;padding:2px 0}table.list.cards td.num{text-align:left}table.list.cards td[data-label]:before{content:attr(data-label) ": ";color:var(--muted);font-size:12.5px}table.list.cards td.hide-m{display:none}table.list.cards tfoot{display:block}.slots{grid-template-columns:repeat(3,1fr)}.booking-card>section{padding:18px 16px}.public-top h1{font-size:23px}.toast-wrap{left:12px;right:12px;bottom:calc(80px + var(--safe-b))}}
