@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/onest-cyrillic-ext-wght-normal.2yaf9utaev9j_.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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/onest-cyrillic-wght-normal.3opf9crab3u_d.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/onest-latin-ext-wght-normal.083e5cww9lij2.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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/onest-latin-wght-normal.278q57cftb0hs.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{--font-sans:"Onest Variable", "Segoe UI", sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, monospace;--canvas:#f7f7f7;--surface:#fff;--surface-subtle:#f7f7f7;--surface-strong:#e4e4e4;--ink:#171717;--muted:#666;--line:#e5e5e5;--line-strong:#dedede;--sidebar:#151515;--sidebar-hover:#1d1d1d;--primary:#141414;--primary-hover:#262626;--primary-soft:#eee;--primary-ink:#141414;--success:#06b56e;--success-soft:#c9f8dc;--success-pill:#9be9c2;--warning:#f59e09;--warning-soft:#fff0bf;--warning-pill:#ffd76e;--danger:#b14d51;--danger-soft:#ffe8e7;--info:#087f9d;--info-soft:#d2ebf8;--info-pill:#90d9f3;--focus:#141414;--radius:8px;--z-sticky:10;--z-backdrop:30;--z-modal:40;--z-toast:50}@supports (color:lab(0% 0 0)){:root{--canvas:lab(97.216% -.0000298023 0);--surface:lab(100% 0 0);--surface-subtle:lab(97.216% -.0000298023 0);--surface-strong:lab(90.72% .0000298023 -.0000119209);--ink:lab(7.78201% -.0000149012 0);--muted:lab(43.16% 0 0);--line:lab(90.952% 0 -.0000119209);--line-strong:lab(88.516% 0 -.0000119209);--sidebar:lab(6.8014% -.00000745058 0);--sidebar-hover:lab(10.68% .00000745058 -.00000298023);--primary:lab(6.19571% 0 0);--primary-hover:lab(15.32% 0 0);--primary-soft:lab(94.2% 0 0);--primary-ink:lab(6.19571% 0 0);--success:lab(65.1007% -52.9073 24.9877);--success-soft:lab(93.7457% -19.5528 8.28136);--success-pill:lab(86.54% -31.3523 11.0767);--warning:lab(72.8381% 26.9833 75.6768);--warning-soft:lab(95.095% -.235766 25.6879);--warning-pill:lab(87.9399% 5.66304 56.1517);--danger:lab(46.4423% 41.5941 18.8167);--danger-soft:lab(93.8478% 11.1085 4.70948);--info:lab(48.6927% -21.6077 -24.8824);--info-soft:lab(91.5312% -6.59382 -9.31094);--info-pill:lab(82.5374% -18.7219 -20.349);--focus:lab(6.19571% 0 0)}}*{box-sizing:border-box}html,body{background:var(--canvas);min-height:100%;color:var(--ink);font-family:var(--font-sans);font-kerning:normal;font-optical-sizing:auto;font-synthesis:none;margin:0;font-size:14px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.52}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance;letter-spacing:-.025em}input::placeholder,textarea::placeholder{color:#505050;color:lab(33.88% -.0000149012 0)}.primary-button,.secondary-button,.icon-button{border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;font-weight:650;transition:background .18s cubic-bezier(.2,0,0,1),color .18s cubic-bezier(.2,0,0,1),transform .18s cubic-bezier(.2,0,0,1);display:inline-flex}.primary-button{background:var(--primary);color:#fff;padding:0 16px}.primary-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.secondary-button{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);padding:0 14px}.secondary-button:hover{background:var(--surface-subtle)}.icon-button{background:0 0;width:40px}.icon-button:hover{background:var(--surface-subtle)}.text-link{color:var(--primary-ink);background:0 0;padding:0;font-weight:650}.brand-lockup{letter-spacing:-.02em;align-items:center;gap:12px;font-size:17px;font-weight:700;display:flex}.brand-mark{background:var(--primary);color:#fff;width:36px;height:36px;font-family:var(--font-mono);border-radius:9px;place-items:center;font-size:18px;font-weight:700;display:grid}.login-page{background:var(--surface);grid-template-columns:minmax(410px,.92fr) minmax(520px,1.08fr);min-height:100dvh;display:grid}.login-context{background:var(--sidebar);color:#fff;flex-direction:column;padding:46px clamp(38px,6vw,86px);display:flex;position:relative;overflow:hidden}.login-context:after{content:"";opacity:.5;border:100px solid #262626;border:100px solid lab(15.32% 0 0);border-radius:50%;width:460px;height:460px;position:absolute;bottom:-190px;right:-180px}.login-context .brand-mark{background:var(--surface);color:var(--sidebar)}.login-message{z-index:1;max-width:540px;margin:auto 0;position:relative}.context-icon{width:54px;height:54px;color:var(--surface);background:#1f1f1f;background:lab(11.84% 0 0);border-radius:14px;place-items:center;margin-bottom:28px;display:grid}.login-message h1{letter-spacing:-.04em;margin-bottom:24px;font-size:clamp(42px,4.2vw,67px);line-height:1.04}.login-message p{color:#b7b7b7;color:lab(74.48% -.0000298023 0);text-wrap:pretty;max-width:46ch;font-size:17px;line-height:1.6}.context-status{z-index:1;color:#aeaeae;color:lab(71% 0 0);font-size:12px;position:relative}.context-status span,.live-dot{background:#5abc7e;background:lab(69.2118% -40.8415 22.0984);border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block;box-shadow:0 0 0 4px #5abc7e1f;box-shadow:0 0 0 4px lab(69.2118% -40.8415 22.0984/.12)}.login-panel{place-items:center;padding:48px;display:grid}.login-form{gap:24px;width:min(440px,100%);display:grid}.login-form .mobile-brand{display:none}.step-label,.drawer-step{color:var(--primary-ink);margin-bottom:10px;font-size:12px;font-weight:650;display:block}.login-form h2{margin:0 0 8px;font-size:34px}.login-form>div>p{color:var(--muted);line-height:1.55}.field{gap:8px;font-size:13px;font-weight:700;display:grid}.field>div{background:var(--surface);min-height:48px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--muted);border-radius:10px;align-items:center;gap:10px;padding:0 13px;display:flex}.field>div:focus-within{box-shadow:inset 0 0 0 2px var(--primary)}.field input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.field-icon{background:0 0;place-items:center;width:32px;height:32px;display:grid}.form-meta{justify-content:space-between;align-items:center;font-size:13px;display:flex}.form-meta label{align-items:center;gap:8px;display:flex}.form-meta input{accent-color:var(--primary);width:16px;height:16px}.form-error,.drawer-error{background:var(--danger-soft);color:#862628;color:lab(31.4012% 41.1837 23.7145);border-radius:8px;padding:11px 13px;font-size:13px;font-weight:700}.login-submit{justify-content:space-between;min-height:50px;padding:0 18px}.demo-note{font-size:12px;text-align:center!important;color:var(--muted)!important}.app-loading{align-content:center;place-items:center;gap:22px;min-height:100dvh;display:grid}.loading-brand{align-items:center;gap:10px;font-size:18px;display:flex}.loading-line{background:linear-gradient(90deg, var(--primary) 50%, var(--line) 50%);background-size:200% 100%;border-radius:3px;width:230px;height:3px;animation:1s linear infinite load}.app-loading>span{color:var(--muted);font-size:12px}@keyframes load{to{background-position:-200% 0}}.app-shell{background:var(--canvas);grid-template-columns:79px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{height:100dvh;z-index:var(--z-sticky);background:var(--sidebar);color:#fff;flex-direction:column;padding:24px 12px 16px;display:flex;position:sticky;top:0}.brand-lockup.compact{height:42px;margin-bottom:34px;padding:0 10px}.brand-lockup.compact .brand-mark{width:34px;height:34px}.sidebar nav{gap:5px;display:grid}.nav-item{color:#b7b7b7;color:lab(74.48% -.0000298023 0);text-align:left;background:0 0;border-radius:8px;align-items:center;gap:12px;min-height:44px;padding:0 13px;font-weight:600;display:flex;position:relative}.nav-item:hover{background:var(--sidebar-hover);color:#fff}.nav-item.active{color:#fff;box-shadow:none;background:#2b2b2b;background:lab(17.524% 0 0)}.nav-item:focus-visible{outline-offset:-2px;outline-color:#c4c4c4;outline-color:lab(79.12% -.0000298023 -.0000119209)}.sidebar-user{border-top:1px solid #262626;border-top:1px solid lab(15.32% 0 0);grid-template-columns:34px minmax(0,1fr) 36px;align-items:center;gap:9px;min-width:0;margin-top:auto;padding:12px 5px 2px;display:grid}.sidebar-user div{gap:2px;min-width:0;display:grid}.sidebar-user b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sidebar-user small{color:#929292;color:lab(60.56% 0 0);font-size:11px}.sidebar-user button{color:#a4a4a4;color:lab(67.52% -.0000298023 0);background:0 0;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.brand-lockup.compact{justify-content:center;padding-inline:0}.brand-lockup.compact>span:last-child,.nav-item span,.sidebar-user div{display:none}.nav-item{justify-content:center;padding-inline:0}.sidebar-user{grid-template-columns:36px;justify-content:center}.sidebar-user>button{display:none}.app-content{flex-direction:column;min-width:0;min-height:100dvh;display:flex}.mobile-nav{display:none}.topbar{background:var(--surface);border-bottom:1px solid var(--line);flex:0 0 72px;justify-content:space-between;align-items:center;gap:20px;height:72px;padding:0 24px;display:flex}.branch-select{align-items:center;gap:10px;min-width:190px;display:flex}.branch-select>span{gap:1px;display:grid}.branch-select small{color:var(--muted);font-size:10px;font-weight:700}.branch-select select{appearance:none;background:0 0;border:0;outline:0;max-width:180px;font-weight:650}.topbar-actions{align-items:center;gap:9px;display:flex}.notification{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);position:relative}.topbar .primary-button{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.topbar .primary-button:hover:not(:disabled){background:var(--surface-subtle)}.notification span{background:var(--warning);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:8px;box-shadow:0 0 0 2px #fff}.schedule-main{flex:1;min-height:0;padding:18px 20px 12px}.schedule-area{background:var(--surface);border-radius:12px;flex-direction:column;height:100dvh;min-height:650px;display:flex;overflow:hidden}.schedule-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:75px;padding:11px 14px;display:flex}.schedule-toolbar>div{align-items:center;gap:9px;display:flex}.schedule-branch-select{height:42px;box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;align-items:center;gap:8px;padding:0 12px;display:flex}.schedule-branch-select select{appearance:none;background:0 0;border:0;outline:0;max-width:170px;font-weight:600}.schedule-book{flex:none;min-height:42px}.date-control{height:42px;box-shadow:inset 0 0 0 1px var(--line);border-radius:9px;align-items:center;display:flex}.date-control>button{background:0 0;place-items:center;width:38px;height:42px;display:grid}.date-control label{border-inline:1px solid var(--line);text-transform:capitalize;justify-content:center;align-items:center;gap:9px;min-width:236px;height:42px;font-weight:700;display:flex;position:relative}.date-control input{opacity:0;cursor:pointer;position:absolute;inset:0}.view-switch{background:var(--surface-subtle);border-radius:9px;padding:3px}.view-switch button{min-width:70px;height:34px;color:var(--muted);background:0 0;border-radius:7px;font-weight:700}.view-switch button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #16161617;box-shadow:0 1px 3px lab(7.22637% -.0000149012 0/.09)}.schedule-summary{border-bottom:1px solid var(--line);min-height:92px;color:var(--muted);align-items:center;gap:20px;padding:0 16px;font-size:12px;display:flex}.schedule-search{width:min(430px,42vw);height:44px;box-shadow:inset 0 0 0 1px var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:9px;padding-left:12px;display:flex}.schedule-search input{background:0 0;border:0;outline:0;flex:1;min-width:0}.schedule-search button{border-left:1px solid var(--line);background:0 0;border-radius:0 8px 8px 0;place-items:center;width:44px;height:44px;display:grid}.schedule-search+div{margin-left:auto}.schedule-summary>div{align-items:center;gap:4px;display:flex}.schedule-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.schedule-grid{--columns:3;min-width:calc(76px + var(--columns) * 230px);grid-template-columns:76px repeat(var(--columns), minmax(230px, 1fr));background:var(--line);gap:1px;display:grid}.corner-cell,.resource-head{z-index:4;background:var(--surface);border-bottom:0;align-items:center;height:76px;display:flex;position:sticky;top:0}.corner-cell{z-index:6;color:var(--muted);justify-content:center;gap:6px;font-size:11px;left:0}.resource-head{gap:10px;padding:12px 16px}.resource-head>.avatar{flex:none}.resource-head>div{grid-template-columns:minmax(0,1fr) auto;column-gap:6px;min-width:0;display:grid}.resource-head b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.resource-head span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;overflow:hidden}.resource-head small{color:var(--muted);grid-area:2/2;font-size:10px}.resource-head button{background:0 0;border-radius:7px;place-items:center;width:34px;height:34px;margin-left:auto;display:grid}.time-cell{z-index:3;background:var(--surface);height:104px;color:var(--muted);flex-direction:column;align-items:center;padding-top:11px;display:flex;position:sticky;left:0}.time-cell b{font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink);font-size:13px}.time-cell span{margin-top:3px;font-size:9px}.slot{background:var(--surface);text-align:left;flex-direction:column;align-items:flex-start;min-width:0;height:104px;padding:9px 11px;display:flex;position:relative}.slot.free{color:var(--primary-ink);background:var(--surface);justify-content:center;align-items:center;gap:3px}.slot.free span{opacity:0;font-size:11px;font-weight:700}.slot.free b{background:var(--primary-soft);opacity:0;border-radius:7px;place-items:center;width:26px;height:26px;font-size:17px;transition:opacity .15s cubic-bezier(.2,0,0,1),transform .15s cubic-bezier(.2,0,0,1);display:grid;transform:scale(.88)}.slot.free:hover,.slot.free:focus-visible{background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--line-strong)}.slot.free:hover span,.slot.free:focus-visible span,.slot.free:hover b,.slot.free:focus-visible b{opacity:1}.slot.free:hover b,.slot.free:focus-visible b{transform:scale(1)}.slot.unavailable{color:#868686;color:lab(55.92% -.0000298023 0);background:#f7f7f7;background:lab(97.216% -.0000298023 0);justify-content:center;align-items:center;font-size:10px}.slot.booking{gap:4px;box-shadow:inset 0 0 0 1px #0000}.slot.booking .slot-time{width:100%;font-family:var(--font-sans);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;font-size:10px;display:flex}.slot.booking .slot-time i{font-family:var(--font-sans);background:#ffffff80;background:lab(100% 0 0/.5);border-radius:999px;padding:3px 5px;font-style:normal}.slot.booking>b{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 26px);font-size:13px;overflow:hidden}.slot.booking small{color:currentColor;opacity:.76}.slot.booking>svg{position:absolute;bottom:10px;right:10px}.slot.booking.booked{background:var(--info-soft);color:var(--ink);box-shadow:inset 4px 0 0 var(--info), inset 0 0 0 1px color-mix(in oklch, var(--info) 35%, var(--line))}.slot.booking.completed{background:var(--success-soft);color:var(--ink);box-shadow:inset 4px 0 0 var(--success), inset 0 0 0 1px color-mix(in oklch, var(--success) 32%, var(--line))}.slot.booking.cancelled{background:var(--danger-soft);color:var(--ink);box-shadow:inset 4px 0 0 var(--danger), inset 0 0 0 1px color-mix(in oklch, var(--danger) 28%, var(--line));opacity:.72}.slot.booking.no_show{background:var(--warning-soft);color:var(--ink);box-shadow:inset 4px 0 0 var(--warning), inset 0 0 0 1px color-mix(in oklch, var(--warning) 32%, var(--line))}.slot.booking.booked .slot-time i{background:var(--info-pill);color:#266b80;color:lab(41.5331% -16.6684 -18.4528)}.slot.booking.completed .slot-time i{background:var(--success-pill);color:#007a4e;color:lab(44.7102% -39.59 15.5242)}.slot.booking.no_show .slot-time i{background:var(--warning-pill);color:#c56c00;color:lab(55.2129% 33.4102 68.2508)}.status-legend{border-top:1px solid var(--line);min-height:36px;color:var(--muted);align-items:center;gap:18px;padding:0 14px;font-size:10px;display:flex}.status-legend span{align-items:center;gap:6px;display:flex}.legend-dot{border-radius:2px;width:8px;height:8px}.legend-dot.free{background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary)}.legend-dot.booked{background:var(--info)}.legend-dot.completed{background:var(--success)}.legend-dot.no-show{background:var(--warning)}.legend-dot.unavailable{background:var(--surface-strong)}.avatar{width:36px;height:36px;color:var(--primary-ink);background:#d7d7d7;background:lab(86.08% -.0000298023 0);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid;position:relative}.avatar.working,.avatar.available,.avatar.day_off{box-shadow:inset 0 0 0 1px var(--line-strong)}.avatar.working:after,.avatar.available:after,.avatar.day_off:after{content:"";border:2px solid var(--surface);background:var(--success);border-radius:50%;width:9px;height:9px;position:absolute;bottom:1px;right:-1px}.avatar.day_off:after{background:var(--warning)}.avatar.small{color:#fff;background:#303030;background:lab(19.96% -.0000149012 0);width:32px;height:32px}.avatar.large{width:48px;height:48px}.avatar.profile{width:82px;height:82px;font-size:20px}.skeleton{background:linear-gradient(90deg, var(--surface-subtle), var(--surface-strong), var(--surface-subtle));background-size:200% 100%;border-radius:7px;animation:1.3s infinite shimmer}.schedule-skeleton{gap:14px;display:grid}.skeleton.toolbar{height:64px}.skeleton-grid{grid-template-columns:repeat(4,1fr);gap:8px;height:650px;display:grid}.skeleton-grid .skeleton{height:120px}@keyframes shimmer{to{background-position:-200% 0}}.drawer-layer,.popover-layer{z-index:var(--z-backdrop);background:#06060694;background:lab(1.5609% 0 0/.58);justify-content:flex-end;display:flex;position:fixed;inset:0}.booking-drawer{background:var(--surface);flex-direction:column;width:min(520px,100vw);height:100dvh;animation:.22s cubic-bezier(.2,0,0,1) drawer-in;display:flex;box-shadow:-12px 0 32px #0b0b0b24;box-shadow:-12px 0 32px lab(3.04863% 0 0/.14)}@keyframes drawer-in{0%{opacity:.8;transform:translate(30px)}}.booking-drawer>header,.booking-details>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;min-height:82px;padding:20px 22px;display:flex}.booking-drawer h2,.booking-details h2{margin:0;font-size:21px}.stepper{background:var(--surface-subtle);height:46px;color:var(--muted);align-items:center;gap:10px;padding:0 22px;font-size:12px;display:flex}.stepper span{align-items:center;gap:5px;display:flex}.stepper span:first-child{min-width:64px}.stepper i{background:var(--line-strong);flex:1;height:1px}.stepper .done{color:var(--primary-ink);font-weight:700}.stepper i.done{background:var(--primary)}.drawer-body{flex:1;min-height:0;padding:22px;overflow:auto}.drawer-search{background:var(--surface);height:46px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--muted);border-radius:10px;align-items:center;gap:9px;padding:0 13px;display:flex}.drawer-search:focus-within{box-shadow:inset 0 0 0 2px var(--primary)}.drawer-search input{background:0 0;border:0;outline:0;width:100%}.student-results{margin-top:19px;display:grid}.results-title{color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:700}.student-row{border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:42px 1fr 28px;align-items:center;gap:10px;min-height:66px;padding:8px 10px;display:grid}.student-row:hover,.student-row.selected{background:var(--primary-soft)}.student-row>span:nth-child(2){gap:3px;display:grid}.student-row small{color:var(--muted)}.student-row i{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.add-student{background:var(--surface-subtle);width:100%;min-height:66px;color:var(--primary-ink);text-align:left;border-radius:10px;grid-template-columns:36px 1fr 20px;align-items:center;gap:9px;margin-top:12px;padding:9px 12px;display:grid}.add-student>span{gap:3px;display:grid}.add-student small{color:var(--muted);font-weight:500}.new-student-form{gap:20px;display:grid}.back-link{color:var(--primary-ink);background:0 0;justify-self:start;align-items:center;gap:5px;padding:0;font-weight:700;display:flex}.prefix{color:var(--ink);font-weight:700}.booking-drawer>footer{border-top:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:10px;min-height:72px;padding:13px 22px;display:flex}.student-confirm{background:var(--surface-subtle);border-radius:10px;grid-template-columns:46px 1fr auto;align-items:center;gap:11px;padding:14px;display:grid}.student-confirm>div{gap:2px;display:grid}.student-confirm span,.student-confirm small{color:var(--muted);font-size:11px}.student-confirm button{color:var(--primary-ink);background:0 0;font-size:12px;font-weight:700}.lesson-fields{grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;display:grid}.lesson-fields label,.note-field{gap:7px;font-size:12px;font-weight:700;display:grid}.lesson-fields label.full{grid-column:1/-1}.lesson-fields label>div{height:44px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--muted);border-radius:9px;align-items:center;gap:8px;padding:0 11px;display:flex}.lesson-fields input,.lesson-fields select{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.note-field{margin-top:14px}.note-field>span{justify-content:space-between;display:flex}.note-field small{color:var(--muted);font-weight:500}.note-field textarea{min-height:76px;box-shadow:inset 0 0 0 1px var(--line-strong);resize:vertical;border:0;border-radius:9px;padding:11px}.booking-preview{background:var(--primary-soft);color:var(--primary-ink);border-radius:9px;align-items:center;gap:11px;margin-top:18px;padding:13px;display:flex}.booking-preview>div{gap:3px;display:grid}.booking-preview span{font-size:11px}.drawer-error{margin:0 22px 10px}.popover-layer{justify-content:center;align-items:center;padding:20px}.booking-details{background:var(--surface);border-radius:14px;width:min(470px,100%);max-height:calc(100dvh - 40px);animation:.18s cubic-bezier(.2,0,0,1) modal-in;overflow:auto;box-shadow:0 16px 48px #0b0b0b2e;box-shadow:0 16px 48px lab(3.04863% 0 0/.18)}@keyframes modal-in{0%{opacity:.7;transform:translateY(8px)}}.booking-details>header{align-items:center}.booking-details>header .status-pill{margin-bottom:7px}.detail-student{align-items:center;gap:12px;padding:20px 22px;display:flex}.detail-student>div{gap:3px;display:grid}.detail-student>div>span{color:var(--muted);font-size:10px}.detail-student small{color:var(--muted);align-items:center;gap:5px;display:flex}.detail-list{padding:0 22px}.detail-list p{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:26px 1fr;gap:10px;margin:0;padding:12px 0;display:grid}.detail-list svg{width:19px}.detail-list p>span{gap:3px;font-size:11px;display:grid}.detail-list b{color:var(--ink);font-size:13px}.detail-note{background:var(--surface-subtle);border-radius:8px;margin:12px 22px;padding:12px}.detail-note span{color:var(--muted);font-size:10px}.detail-note p{margin:4px 0 0}.booking-details>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:15px 22px;display:flex}.secondary-button.danger{color:var(--danger)}.workspace-view{flex:1;min-height:0;padding:28px clamp(20px,3vw,42px) 42px;overflow:auto}.workspace-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.workspace-header h1{margin:0 0 5px;font-size:27px}.workspace-header p{color:var(--muted);margin:0}.filters{gap:9px;margin-bottom:14px;display:flex}.filters label{background:var(--surface);width:min(340px,34vw);height:40px;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);border-radius:9px;align-items:center;gap:9px;padding:0 12px;display:flex}.filters input{background:0 0;border:0;outline:0;width:100%;min-width:0}.data-surface{background:var(--surface);border-radius:12px;overflow:auto}.data-surface table{border-collapse:collapse;width:100%}.data-surface th{background:var(--surface-subtle);color:var(--muted);text-align:left;white-space:nowrap;padding:13px 16px;font-size:11px}.data-surface td{border-top:1px solid var(--line);white-space:nowrap;padding:14px 16px;font-size:13px}.data-surface td>small,.data-surface td>b{display:block}.data-surface td>small{color:var(--muted);margin-top:3px;font-size:10px}.row-actions{justify-content:flex-end;display:flex}.row-actions button{background:0 0;border-radius:7px;place-items:center;width:34px;height:34px;display:grid}.row-actions button:hover{background:var(--surface-subtle)}.status-pill{background:var(--surface-strong);min-height:24px;color:var(--muted);border-radius:999px;align-items:center;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.status-pill.booked{background:var(--info-soft);color:var(--ink)}.status-pill.completed,.status-pill.working,.status-pill.available{background:var(--success-soft);color:var(--ink)}.status-pill.cancelled,.status-pill.unavailable{background:var(--danger-soft);color:var(--ink)}.status-pill.no_show,.status-pill.day_off,.status-pill.repair{background:var(--warning-soft);color:var(--ink)}.empty-state{text-align:center;min-height:300px;color:var(--muted);align-content:center;place-items:center;display:grid}.empty-state h3{color:var(--ink);margin:12px 0 4px}.empty-state p{max-width:36ch}.list-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px;display:grid}.resource-card{background:var(--surface);border-radius:12px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:100px;padding:16px;display:grid}.resource-card h3{margin:0 0 5px;font-size:15px}.resource-card p{color:var(--muted);align-items:center;gap:5px;margin:0 0 4px;font-size:12px;display:flex}.resource-card small{color:var(--muted);font-size:10px}.resource-card .work-hours{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;padding-top:12px;font-size:11px;display:flex}.vehicle-icon{background:var(--primary-soft);width:48px;height:48px;color:var(--primary-ink);border-radius:12px;place-items:center;display:grid}.branch-grid{background:var(--surface);border-radius:12px;overflow:hidden}.branch-row{border-bottom:1px solid var(--line);grid-template-columns:52px minmax(0,1fr) 160px 160px;align-items:center;gap:12px;min-height:96px;padding:16px 20px;display:grid}.branch-row:last-child{border-bottom:0}.branch-index{font:700 13px var(--font-mono);color:var(--primary)}.branch-row h3{margin:0 0 5px}.branch-row p,.branch-row>span{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.branch-row>span b{color:var(--ink)}.profile-layout{grid-template-columns:270px minmax(0,620px);gap:16px;display:grid}.profile-identity,.profile-form{background:var(--surface);border-radius:12px;padding:26px}.profile-identity{text-align:center;flex-direction:column;align-items:center;display:flex}.profile-identity h2{margin:16px 0 5px}.profile-identity p{color:var(--muted)}.profile-form h3{margin-bottom:22px}.detail-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px;display:grid}.detail-grid label{color:var(--muted);gap:6px;font-size:11px;display:grid}.detail-grid input,.access-list{background:var(--surface-subtle);min-height:42px;color:var(--ink);border:0;border-radius:8px;padding:10px 11px}.access-list{gap:7px;display:grid}.access-list span{align-items:center;gap:6px;display:flex}.toast{z-index:var(--z-toast);background:var(--sidebar);color:#fff;border-radius:10px;grid-template-columns:24px 1fr 30px;align-items:center;gap:9px;width:min(410px,100vw - 36px);min-height:52px;padding:10px 12px;animation:.2s cubic-bezier(.2,0,0,1) toast-in;display:grid;position:fixed;top:18px;right:18px;box-shadow:0 10px 28px #0b0b0b29;box-shadow:0 10px 28px lab(3.04863% 0 0/.16)}.toast.success>svg{color:#5abc7e;color:lab(69.2118% -40.8415 22.0984)}.toast.error>svg{color:#f07e79;color:lab(66.1418% 43.9707 23.7651)}.toast button{color:#fff;background:0 0;border-radius:6px;place-items:center;width:30px;height:30px;display:grid}@keyframes toast-in{0%{opacity:.5;transform:translateY(-8px)}}@media (max-width:1180px){.app-shell{grid-template-columns:79px minmax(0,1fr)}.sidebar{padding-inline:10px}.brand-lockup.compact{justify-content:center;margin-bottom:30px;padding:0}.brand-lockup.compact>span:last-child,.nav-item span,.sidebar-user div{display:none}.nav-item{justify-content:center;padding:0}.sidebar-user{grid-template-columns:36px;justify-content:center}.sidebar-user>button{display:none}.topbar{padding-inline:16px}.schedule-main{padding:12px}.schedule-area{height:calc(100dvh - 96px)}.workspace-view{padding-inline:20px}.profile-layout{grid-template-columns:230px 1fr}}@media (max-width:760px){body{padding-bottom:64px}.app-shell{display:block}.sidebar{display:none}.app-content{min-height:calc(100dvh - 64px)}.mobile-nav{z-index:var(--z-sticky);background:var(--surface);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);height:64px;display:grid;position:fixed;inset:auto 0 0}.mobile-nav button{color:var(--muted);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:9px;display:flex}.mobile-nav button.active{color:var(--primary-ink);background:var(--primary-soft)}.topbar{flex-basis:62px;height:62px;padding:0 12px}.branch-select{min-width:0}.branch-select>svg{display:none}.branch-select select{max-width:145px}.branch-select small,.topbar-actions .notification{display:none}.topbar-actions .primary-button{width:42px;padding:0}.topbar-actions .primary-button span{display:none}.schedule-main{padding:0}.schedule-area{border-radius:0;height:auto;min-height:calc(100dvh - 126px)}.schedule-toolbar{flex-direction:row;align-items:center;padding:9px}.schedule-toolbar>div{width:calc(100% - 51px)}.today{display:none}.date-control{width:100%}.schedule-branch-select{display:none}.schedule-book{width:42px;padding:0}.schedule-book span{display:none}.date-control label{flex:1;min-width:0}.view-switch{width:100%;display:flex}.view-switch button{flex:1}.schedule-summary{gap:14px;min-height:44px;overflow:auto}.schedule-search{display:none}.schedule-search+div{margin-left:0}.schedule-scroll{max-height:none}.schedule-grid{min-width:calc(66px + var(--columns) * 202px);grid-template-columns:66px repeat(var(--columns), 202px)}.slot.free b{opacity:1;transform:none}.resource-head,.corner-cell{height:68px}.slot,.time-cell{height:82px}.resource-head small{display:none}.status-legend{white-space:nowrap;overflow:auto}.booking-drawer{width:100vw}.booking-drawer>header{min-height:74px;padding:17px}.drawer-body{padding:17px}.booking-drawer>footer{padding:11px 17px}.drawer-error{margin-inline:17px}.lesson-fields{grid-template-columns:1fr}.lesson-fields label.full{grid-column:auto}.booking-details>footer{flex-wrap:wrap}.booking-details>footer .primary-button{flex:1}.workspace-view{padding:20px 13px}.workspace-header{align-items:flex-start}.workspace-header h1{font-size:23px}.workspace-header .primary-button{width:42px;padding:0}.workspace-header .primary-button:not(:focus):after{content:""}.filters{overflow:auto}.filters label{min-width:240px}.desktop-table table{min-width:800px}.list-grid{grid-template-columns:1fr}.branch-row{grid-template-columns:38px 1fr}.branch-row>span:not(.branch-index){grid-column:2}.profile-layout,.detail-grid{grid-template-columns:1fr}.toast{width:calc(100vw - 20px);top:10px;right:10px}}.catalog{max-width:1120px;margin:0 auto;padding:28px 34px 42px}.catalog-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.catalog-head h1{letter-spacing:-.04em;margin:0;font-size:24px}.catalog-head p{color:var(--muted);margin:6px 0 0;font-size:14px}.catalog-list{border:1px solid var(--line);background:#fff}.catalog-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;min-height:76px;padding:14px 18px;display:grid}.catalog-row:last-child{border-bottom:0}.catalog-main{flex-direction:column;gap:3px;min-width:0;display:flex}.catalog-main b{font-size:15px}.catalog-main small{color:var(--muted);font-size:13px}.catalog-actions{gap:4px;display:flex}.catalog-actions button{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.catalog-actions button:hover{color:var(--ink);background:var(--canvas)}.catalog-empty{text-align:center;color:var(--muted);margin:0;padding:46px 20px}.modal-layer{z-index:100;background:#11111173;background:lab(5.06333% -.00000745058 0/.45);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.resource-form,.confirm-dialog{background:#fff;width:min(620px,100%);box-shadow:0 18px 60px #0000002e}.resource-form header{border-bottom:1px solid var(--line);justify-content:space-between;padding:22px 24px 18px;display:flex}.resource-form h2,.confirm-dialog h2{margin:0;font-size:20px}.resource-form header p,.confirm-dialog p{color:var(--muted);margin:5px 0 0;font-size:13px}.form-fields{grid-template-columns:1fr 1fr;gap:16px;padding:22px 24px;display:grid}.form-fields>label{gap:7px;font-size:13px;font-weight:600;display:grid}.form-fields input,.form-fields select{border:1px solid var(--line-strong);width:100%;height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:6px;padding:0 11px}.form-fields .branches-check{grid-column:1/-1}.branches-check>span{margin-bottom:3px}.branches-check label{align-items:center;gap:8px;margin:7px 0;font-weight:400;display:flex}.branches-check input{width:16px;height:16px}.resource-form footer,.confirm-dialog footer{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.confirm-dialog{padding:25px}.confirm-dialog footer{border:0;padding:20px 0 0}.primary-button.danger{color:#fff;background:#9f2e29;border-color:#9f2e29}.booking-edit{gap:14px;padding:18px 0;display:grid}.booking-edit label{color:var(--muted);gap:6px;font-size:12px;display:grid}.booking-edit input,.booking-edit textarea{border:1px solid var(--line-strong);min-height:40px;font:inherit;color:var(--ink);border-radius:6px;padding:9px}.booking-edit textarea{resize:vertical;min-height:74px}@media (max-width:760px){.catalog{padding:20px 16px 88px}.catalog-head{flex-direction:column;align-items:stretch}.catalog-head .primary-button{justify-content:center}.catalog-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px}.catalog-row .status-pill{grid-column:1}.catalog-actions{grid-area:1/2/3}.form-fields{grid-template-columns:1fr;padding:18px}.resource-form header{padding:18px}.resource-form footer{padding:14px 18px}.modal-layer{align-items:end;padding:0}.resource-form{max-height:94dvh;overflow:auto}.confirm-dialog{width:100%}}@media (max-width:900px){.login-page{display:block}.login-context{display:none}.login-panel{min-height:100dvh;padding:32px 20px}.login-form .mobile-brand{align-items:center;gap:9px;margin-bottom:14px;display:flex}.login-form h2{font-size:30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.primary-button:hover{transform:none!important}}.login-context:after{border-color:#262626;border-color:lab(15.32% 0 0)}.login-context .brand-mark,.sidebar .brand-mark{background:var(--surface);color:var(--sidebar)}.context-icon{color:var(--surface);background:#1f1f1f;background:lab(11.84% 0 0);border-radius:12px}.nav-item.active{box-shadow:none;background:#2b2b2b;background:lab(17.524% 0 0)}.schedule-main{padding:0}.schedule-area{border-radius:0;height:100dvh}.slot.free b{border-radius:6px}.slot.free:hover{box-shadow:inset 0 0 0 1px var(--line-strong)}.avatar{color:var(--ink);background:#d7d7d7;background:lab(86.08% -.0000298023 0)}.avatar.small{background:#303030;background:lab(19.96% -.0000149012 0)}.student-row i:empty{box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}.drawer-layer,.popover-layer{background:#06060694;background:lab(1.5609% 0 0/.58)}@media (max-width:1440px){.app-shell{grid-template-columns:79px minmax(0,1fr)}.sidebar{padding-inline:10px}.brand-lockup.compact{justify-content:center;margin-bottom:30px;padding:0}.brand-lockup.compact>span:last-child,.nav-item span,.sidebar-user div{display:none}.nav-item{justify-content:center;padding:0}.sidebar-user{grid-template-columns:36px;justify-content:center}.sidebar-user>button{display:none}}@media (max-width:760px){.schedule-area{height:auto;min-height:calc(100dvh - 126px)}.booking-drawer{width:100%;max-width:none}.drawer-layer{overflow:hidden}}
