html{scrollbar-gutter:stable}button,a,[role=button]{-webkit-tap-highlight-color:transparent}:root{--sidebar: #16162A;--sidebar-text: #9CA3AF;--sidebar-hover: rgba(255,255,255,.06);--sidebar-active: #FFFFFF;--accent: #6366F1;--accent-hover: #4F46E5;--accent-soft: #EEF2FF;--bg: #FAFAFA;--surface: #FFFFFF;--border: #E5E7EB;--text: #111827;--muted: #6B7280;--text-2: #4B5563;--text-3: #9CA3AF;--success: #059669;--success-soft: #D1FAE5;--danger: #DC2626;--danger-soft: #FEE2E2;--warning: #D97706;--warning-soft: #FEF3C7;--info: #1D4ED8;--info-soft: #DBEAFE;--primary: #6366F1;--badge-pending-bg: #FEF9C3;--badge-pending-text: #92400E;--badge-pending-border: #FDE68A;--badge-approved-bg: #DCFCE7;--badge-approved-text: #166534;--badge-approved-border: #BBF7D0;--badge-rejected-bg: #FEE2E2;--badge-rejected-text: #991B1B;--badge-rejected-border: #FECACA;--badge-needs-changes-bg: #FEF3C7;--badge-needs-changes-text: #92400E;--badge-needs-changes-border: #FDE68A;--badge-paused-bg: #F3F4F6;--badge-paused-text: #374151;--badge-paused-border: #D1D5DB;--badge-blocked-bg: #1F2937;--badge-blocked-text: #F9FAFB;--badge-blocked-border: #374151;--cal-awaiting-bg: #FFFBEB;--cal-awaiting-border: #F59E0B;--cal-awaiting-text: #92400E;--cal-confirmed-bg: #ECFDF5;--cal-confirmed-border: #10B981;--cal-confirmed-text: #065F46;--cal-completed-bg: #EFF6FF;--cal-completed-border: #93C5FD;--cal-completed-text: #1E40AF;--cal-blocked-bg: #F3F4F6;--cal-blocked-border: #9CA3AF;--cal-blocked-text: #4B5563;--cal-noshow-bg: #FEF2F2;--cal-noshow-border: #DC2626;--cal-noshow-text: #991B1B;--cal-today-bg: #F5F3FF;--cal-today-hover-bg: #EDE9FE;--cal-today-border: #C7D2FE;--row-hover-bg: #F9FAFB;--radius: 10px;--shadow: 0 1px 4px rgba(0,0,0,.07), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04)}[data-theme=dark]{--accent: #818CF8;--accent-hover: #6366F1;--accent-soft: rgba(99,102,241,.16);--bg: #1C1C1E;--surface: #2C2C2E;--border: #3A3A3C;--text: #F2F2F7;--muted: #8E8E93;--text-2: #C7C7CC;--text-3: #8E8E93;--success: #30D158;--success-soft: rgba(48,209,88,.15);--danger: #FF453A;--danger-soft: rgba(255,69,58,.15);--warning: #FF9F0A;--warning-soft: rgba(255,159,10,.15);--info: #64D2FF;--info-soft: rgba(100,210,255,.15);--badge-pending-bg: rgba(255,159,10,.15);--badge-pending-text: #FF9F0A;--badge-pending-border: rgba(255,159,10,.3);--badge-approved-bg: rgba(48,209,88,.15);--badge-approved-text: #30D158;--badge-approved-border: rgba(48,209,88,.3);--badge-rejected-bg: rgba(255,69,58,.15);--badge-rejected-text: #FF453A;--badge-rejected-border: rgba(255,69,58,.3);--badge-needs-changes-bg: rgba(255,159,10,.15);--badge-needs-changes-text: #FF9F0A;--badge-needs-changes-border: rgba(255,159,10,.3);--badge-paused-bg: rgba(255,255,255,.08);--badge-paused-text: #C7C7CC;--badge-paused-border: rgba(255,255,255,.15);--badge-blocked-bg: #F2F2F7;--badge-blocked-text: #1C1C1E;--badge-blocked-border: #C7C7CC;--cal-awaiting-bg: rgba(255,159,10,.15);--cal-awaiting-border: #FF9F0A;--cal-awaiting-text: #FF9F0A;--cal-confirmed-bg: rgba(48,209,88,.15);--cal-confirmed-border: #30D158;--cal-confirmed-text: #30D158;--cal-completed-bg: rgba(100,210,255,.15);--cal-completed-border: #64D2FF;--cal-completed-text: #64D2FF;--cal-blocked-bg: rgba(255,255,255,.06);--cal-blocked-border: #8E8E93;--cal-blocked-text: #AEAEB2;--cal-noshow-bg: rgba(255,69,58,.15);--cal-noshow-border: #FF453A;--cal-noshow-text: #FF453A;--cal-today-bg: rgba(99,102,241,.14);--cal-today-hover-bg: rgba(99,102,241,.22);--cal-today-border: rgba(129,140,248,.4);--row-hover-bg: rgba(255,255,255,.06);--shadow: 0 1px 4px rgba(0,0,0,.3), 0 1px 2px rgba(0,0,0,.2);--shadow-md: 0 4px 16px rgba(0,0,0,.4), 0 2px 4px rgba(0,0,0,.2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .3s cubic-bezier(.25,.46,.45,.94),color .3s cubic-bezier(.25,.46,.45,.94)}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--sidebar);display:flex;flex-direction:column;padding:0;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-logo{display:flex;align-items:center;gap:11px;padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.07);text-decoration:none;transition:opacity .18s}.sidebar-logo:hover{opacity:.88}.sidebar-logo-mark{flex-shrink:0}.sidebar-logo-text{font-size:16px;font-weight:700;letter-spacing:-.02em;color:#f9fafb}.sidebar-logo-text span{color:#a5b4fc}nav{padding:12px;flex:1;position:relative}.nav-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#4b5563;padding:8px 8px 4px;margin-top:8px}.nav-link{display:flex;align-items:center;gap:10px;height:36px;padding:8px 12px;border-radius:7px;color:var(--sidebar-text);text-decoration:none;font-size:15px;font-weight:500;transition:color .3s cubic-bezier(.25,.46,.45,.94),opacity .3s cubic-bezier(.25,.46,.45,.94);margin-bottom:2px;white-space:nowrap;position:relative;z-index:1}.nav-link:hover{color:#e5e7eb}.nav-link.active{background:transparent;color:#fff}.nav-link.active svg{stroke:#a5b4fc;opacity:1}.nav-link svg{flex-shrink:0;opacity:.6}.sidebar-footer{padding:12px;border-top:1px solid rgba(255,255,255,.07)}.btn-logout{width:100%;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:7px;background:transparent;border:none;color:var(--sidebar-text);font-size:15px;font-weight:500;cursor:pointer;transition:background .28s cubic-bezier(.25,.46,.45,.94),color .28s cubic-bezier(.25,.46,.45,.94)}.btn-logout:hover{background:#1f2937;color:#fca5a5}.theme-switch-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 12px;gap:10px}.theme-switch-label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:var(--sidebar-text)}.theme-switch-label svg{flex-shrink:0;opacity:.75}.theme-switch{position:relative;width:42px;height:24px;border-radius:999px;border:none;padding:0;cursor:pointer;background:#ffffff1f;transition:background .25s cubic-bezier(.25,.46,.45,.94);flex-shrink:0}.theme-switch.on{background:#6366f1}.theme-switch-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000059;display:flex;align-items:center;justify-content:center;transition:transform .28s cubic-bezier(.34,1.56,.64,1)}.theme-switch.on .theme-switch-thumb{transform:translate(18px)}.theme-switch-thumb svg{color:#6366f1}.toggle-switch{position:relative;display:inline-block;width:34px;height:20px;border-radius:999px;background:var(--border);transition:background .22s cubic-bezier(.25,.46,.45,.94);flex-shrink:0}.toggle-switch.on{background:var(--accent)}.toggle-switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .26s cubic-bezier(.34,1.56,.64,1)}.toggle-switch.on .toggle-switch-thumb{transform:translate(14px)}.slim-scroll{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.slim-scroll::-webkit-scrollbar{width:6px;height:6px}.slim-scroll::-webkit-scrollbar-track{background:transparent}.slim-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}.slim-scroll::-webkit-scrollbar-thumb:hover{background:var(--muted)}.main{padding:36px 40px;overflow-y:auto;min-width:0}.page-header{margin-bottom:28px}.page-header h1{font-size:26px;font-weight:700;letter-spacing:-.025em;color:var(--text)}.page-header p{color:var(--muted);margin-top:4px;font-size:15px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:22px 24px;box-shadow:var(--shadow);transition:background .3s cubic-bezier(.25,.46,.45,.94),border-color .3s cubic-bezier(.25,.46,.45,.94)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 22px;box-shadow:var(--shadow);position:relative;overflow:hidden;animation:cardIn .36s cubic-bezier(.25,.46,.45,.94) backwards}.stat-card:nth-child(1){animation-delay:.05s}.stat-card:nth-child(2){animation-delay:.1s}.stat-card:nth-child(3){animation-delay:.15s}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);border-radius:10px 10px 0 0}.stat-card:nth-child(2):before{background:var(--success)}.stat-card:nth-child(3):before{background:var(--warning)}.stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:10px}.stat-value{font-size:34px;font-weight:800;letter-spacing:-.035em;color:var(--text);font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto;margin:-4px;padding:4px}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:11px 16px;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:13px 16px;border-bottom:1px solid var(--border);font-size:15px;vertical-align:middle;color:var(--text)}tr:last-child td{border-bottom:none}tbody tr{transition:background .25s cubic-bezier(.25,.46,.45,.94)}tbody tr:hover td{background:var(--row-hover-bg)}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:99px;font-size:12.5px;font-weight:600;white-space:nowrap}.badge-pending{background:var(--warning-soft);color:var(--warning)}.badge-active{background:var(--success-soft);color:var(--success)}.badge-inactive{background:var(--badge-paused-bg);color:var(--badge-paused-text)}.badge-confirmed{background:var(--info-soft);color:var(--info)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 17px;border-radius:var(--radius);font-size:15px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:opacity .3s cubic-bezier(.25,.46,.45,.94),background .3s cubic-bezier(.25,.46,.45,.94),border-color .3s cubic-bezier(.25,.46,.45,.94),color .3s cubic-bezier(.25,.46,.45,.94),box-shadow .3s cubic-bezier(.25,.46,.45,.94),transform .25s cubic-bezier(.25,.46,.45,.94);text-decoration:none;white-space:nowrap}.btn:hover{opacity:.92;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{opacity:1;background:var(--accent-hover);border-color:var(--accent-hover)}.btn-success{background:var(--success-soft);color:var(--success);border-color:#a7f3d0}.btn-success:hover{opacity:1;background:#a7f3d0;border-color:#34d399;box-shadow:0 0 0 3px #10b9811f;color:#065f46}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#fecaca}.btn-danger:hover{opacity:1;background:#fee2e2;border-color:#f87171;box-shadow:0 0 0 3px #ef44441f;color:#b91c1c}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-ghost:hover{opacity:1;background:var(--bg);border-color:#d1d5db}[data-theme=dark] .btn-ghost{border-color:#ffffff2e}[data-theme=dark] .btn-ghost:hover{border-color:#ffffff52}.btn-ghost-danger{background:transparent;color:var(--danger);border-color:#fecaca}.btn-ghost-danger:hover{opacity:1;background:var(--danger-soft);border-color:#f87171;box-shadow:0 0 0 3px #ef44441a;color:#b91c1c}.form-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:4px}.form-group{display:flex;flex-direction:column;gap:5px;flex:1;min-width:150px}@media (max-width: 860px){.form-row{flex-direction:column;align-items:stretch}}label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}input,select,textarea{padding:10px 13px;border:1px solid var(--border);border-radius:var(--radius);font-size:16px;color:var(--text);background:var(--surface);outline:none;transition:border-color .25s cubic-bezier(.25,.46,.45,.94),box-shadow .25s cubic-bezier(.25,.46,.45,.94);font-family:inherit;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11f}input::placeholder{color:#9ca3af}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=checkbox],input[type=radio]{width:16px;height:16px;padding:0;border:none;border-radius:0;background:none;flex-shrink:0}select{cursor:pointer}.number-field{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden;transition:border-color .25s cubic-bezier(.25,.46,.45,.94),box-shadow .25s cubic-bezier(.25,.46,.45,.94)}.number-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11f}.number-field input{border:none;border-radius:0;text-align:center;min-width:0;flex:1}.number-field input:focus{box-shadow:none}.number-field input[type=number]::-webkit-outer-spin-button,.number-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-field input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.number-field-btn{border:none;background:var(--bg);color:var(--text);font-size:16px;font-weight:800;width:30px;flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s cubic-bezier(.25,.46,.45,.94),color .18s cubic-bezier(.25,.46,.45,.94),transform .12s cubic-bezier(.25,.46,.45,.94)}.number-field-btn:first-child{border-right:1px solid var(--border)}.number-field-btn:last-child{border-left:1px solid var(--border)}.number-field-btn:hover{background:var(--accent-soft);color:var(--accent)}.number-field-btn:active{transform:scale(.82);background:var(--accent-soft);color:var(--accent)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header h2{font-size:18px;font-weight:700}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{background:var(--surface);border-radius:16px;padding:52px 44px;width:100%;max-width:420px;text-align:center;box-shadow:0 20px 60px #0000004d}.login-logo{display:inline-flex;align-items:center;gap:10px;margin-bottom:12px}.login-logo-mark{width:40px;height:40px;background:var(--accent);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff}.login-logo-name{font-size:22px;font-weight:800;letter-spacing:-.03em;color:var(--text)}.login-logo-name span{color:var(--accent)}.login-subtitle{color:var(--muted);margin-bottom:36px;font-size:14px}.login-back-link{display:inline-flex;align-items:center;gap:6px;margin-top:28px;padding:10px 20px;border-radius:999px;background:var(--bg);border:1px solid var(--border);font-size:13px;font-weight:600;color:var(--muted);text-decoration:none;box-shadow:0 1px 4px #0000000f;transition:transform .25s cubic-bezier(.25,.46,.45,.94),box-shadow .25s cubic-bezier(.25,.46,.45,.94),background-color .25s ease,border-color .25s ease,color .25s ease}.login-back-link:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px #6366f147}.login-back-link:active{transform:translateY(0) scale(.96)}.spinner{display:flex;align-items:center;justify-content:center;height:160px;color:var(--muted);font-size:13px;letter-spacing:.01em}.empty{text-align:center;padding:56px 20px;color:var(--muted);font-size:13.5px}.appt-actions{display:flex;gap:8px}.page-transition{animation:pageIn .4s cubic-bezier(.25,.46,.45,.94)}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-transition-forward{animation:slideInRight .36s cubic-bezier(.25,.46,.45,.94)}.page-transition-back{animation:slideInLeft .36s cubic-bezier(.25,.46,.45,.94)}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.page-transition,.page-transition-forward,.page-transition-back,.stat-card{animation:none!important}}.modal-sheet{animation:modalIn .32s cubic-bezier(.25,.46,.45,.94)}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(14px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@keyframes iosSheetIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.ios-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000061;z-index:9000;display:flex;align-items:center;justify-content:center;padding:24px;animation:backdropIn .2s ease}.ios-confirm-sheet{background:var(--surface);border-radius:18px;width:100%;max-width:340px;overflow:hidden;box-shadow:0 24px 64px #00000038,0 8px 24px #0000001f;animation:iosSheetIn .28s cubic-bezier(.34,1.2,.64,1) both}@keyframes iosSheetOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.92) translateY(8px)}}.ios-confirm-sheet-close{animation:iosSheetOut .2s cubic-bezier(.55,0,1,.45) forwards}.ios-confirm-body{padding:28px 24px 20px;text-align:center}.ios-confirm-icon{width:52px;height:52px;border-radius:50%;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;font-size:24px}.ios-confirm-title{font-size:18px;font-weight:700;color:var(--text);margin-bottom:8px;letter-spacing:-.02em}.ios-confirm-message{font-size:14px;color:var(--muted);line-height:1.55}.ios-confirm-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border)}.ios-confirm-btn{padding:16px 12px;font-size:16px;font-weight:600;border:none;background:none;cursor:pointer;transition:background .18s;font-family:inherit}.ios-confirm-btn:hover{background:var(--bg)}.ios-confirm-btn+.ios-confirm-btn{border-left:1px solid var(--border)}.ios-confirm-btn-cancel{color:var(--text)}.ios-confirm-btn-confirm{color:var(--danger)}@keyframes scheduleRowIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes masterRowIn{0%{opacity:0;transform:scale(.985) translateY(-6px);background:var(--accent-soft)}40%{opacity:1;transform:scale(1) translateY(0);background:var(--accent-soft)}to{opacity:1;transform:scale(1) translateY(0);background:transparent}}@keyframes scheduleRowOut{0%{opacity:1;transform:translate(0) scaleY(1);max-height:120px}45%{opacity:0;transform:translate(48px) scaleY(.98);max-height:120px}to{opacity:0;transform:translate(48px) scaleY(0);max-height:0;padding-top:0;padding-bottom:0;border-bottom-width:0}}.schedule-row-exit{animation:scheduleRowOut .48s cubic-bezier(.4,0,.8,.4) forwards;overflow:hidden;pointer-events:none}@keyframes scheduleRowOutSm{0%{opacity:1;transform:translate(0) scaleY(1);max-height:52px}45%{opacity:0;transform:translate(48px) scaleY(.98);max-height:52px}to{opacity:0;transform:translate(48px) scaleY(0);max-height:0;padding-top:0;padding-bottom:0;border-bottom-width:0}}.schedule-row-exit-sm{animation:scheduleRowOutSm .48s cubic-bezier(.4,0,.8,.4) forwards;overflow:hidden;pointer-events:none}.level-chip-wrap{display:inline-flex}.level-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 10px 9px 15px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:15px;transition:border-color .22s cubic-bezier(.25,.46,.45,.94),background .22s cubic-bezier(.25,.46,.45,.94)}.level-chip-emoji{font-size:18px;line-height:1}.level-chip-label{font-weight:600;color:var(--text);white-space:nowrap}.level-chip-actions{display:flex;gap:2px}.level-chip-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;border:none;background:transparent;color:var(--muted);font-size:13px;cursor:pointer;transition:background .2s ease,color .2s ease}.level-chip-icon-btn:hover{background:var(--border);color:var(--text)}.level-chip-icon-btn-danger:hover{background:var(--danger-soft);color:var(--danger)}.level-chip-icon-btn-save{color:var(--success)}.level-chip-icon-btn-save:hover{background:var(--success-soft);color:var(--success)}.level-chip-icon-btn:disabled{opacity:.5;cursor:not-allowed}.level-chip-edit,.level-chip-add-form{padding:7px 8px 7px 15px;border-color:var(--accent);background:var(--accent-soft)}.level-chip-add-form{border-style:dashed;background:transparent}.level-chip-emoji-input,.level-chip-label-input{border:none;background:transparent;padding:4px 2px;font-size:15px;line-height:20px;font-weight:600;outline:none;width:auto;box-shadow:none}.level-chip-emoji-input{width:30px;text-align:center;flex-shrink:0}.level-chip-label-input{min-width:100px}.level-chip-emoji-input:focus,.level-chip-label-input:focus{box-shadow:none}@media (max-width: 860px){.level-chip-add-form{display:flex;width:100%;box-sizing:border-box}.level-chip-label-input{flex:1;min-width:0}}@keyframes levelChipIn{0%{opacity:0;transform:scale(.4) translateY(-10px)}60%{opacity:1;transform:scale(1.05) translateY(2px)}to{opacity:1;transform:scale(1) translateY(0)}}.level-chip-in{animation:levelChipIn .42s cubic-bezier(.34,1.56,.64,1) both}@keyframes backdropOut{0%{opacity:1}to{opacity:0}}@keyframes modalSheetClose{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(10px)}}.modal-backdrop-close{animation:backdropOut .26s ease forwards}.modal-sheet-close{animation:modalSheetClose .26s cubic-bezier(.55,0,1,.45) forwards}@keyframes selectDropOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.96) translateY(-4px)}}.select-drop-close{animation:selectDropOut .15s cubic-bezier(.55,0,1,.45) forwards}@keyframes btnSpin{to{transform:rotate(360deg)}}.btn-spinner{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.4);border-top-color:currentColor;border-radius:50%;animation:btnSpin .6s linear infinite;flex-shrink:0}.btn-ghost .btn-spinner,.btn-ghost-danger .btn-spinner{border-color:#6b72804d;border-top-color:currentColor}.form-animate>*{animation:fieldIn .32s cubic-bezier(.25,.46,.45,.94) backwards}.form-animate>*:nth-child(1){animation-delay:.05s}.form-animate>*:nth-child(2){animation-delay:.1s}.form-animate>*:nth-child(3){animation-delay:.15s}.form-animate>*:nth-child(4){animation-delay:.2s}.form-animate>*:nth-child(5){animation-delay:.25s}.form-animate>*:nth-child(6){animation-delay:.3s}@keyframes fieldIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes statNumIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes selectDropIn{0%{opacity:0;transform:scaleY(.88) translateY(-4px)}to{opacity:1;transform:scaleY(1) translateY(0)}}@keyframes flyoutIn{0%{opacity:0;transform:scale(.94) translate(-8px)}to{opacity:1;transform:scale(1) translate(0)}}@keyframes toastPop{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-pop{animation:toastPop .28s cubic-bezier(.34,1.56,.64,1) both}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:linear-gradient(155deg,#6366f1,#4338ca 52%,#3730a3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.splash-glow{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:20px;animation:splashLogoIn .68s cubic-bezier(.34,1.56,.64,1) both .06s}.splash-glow:before{content:"";position:absolute;top:-28px;right:-28px;bottom:-28px;left:-28px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 66%);animation:splashGlow 2.2s ease-in-out infinite alternate}@keyframes splashLogoIn{0%{opacity:0;transform:scale(.3) rotate(-14deg)}66%{opacity:1;transform:scale(1.08) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes splashGlow{0%{opacity:.45;transform:scale(.82)}to{opacity:1;transform:scale(1.12)}}.splash-title{font-size:28px;font-weight:800;color:#fff;letter-spacing:-.03em;animation:splashUp .45s ease both .33s;margin-bottom:24px}.splash-title em{font-style:normal;opacity:.48}.splash-dots{display:flex;gap:7px;animation:splashUp .4s ease both .52s}.splash-dots span{width:5px;height:5px;border-radius:50%;background:#ffffff8c;animation:splashDot 1.4s ease-in-out infinite}.splash-dots span:nth-child(2){animation-delay:.2s}.splash-dots span:nth-child(3){animation-delay:.4s}@keyframes splashUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes splashDot{0%,to{opacity:.2;transform:scale(.72)}50%{opacity:1;transform:scale(1.28)}}.splash-exit{animation:splashOut .42s cubic-bezier(.55,0,1,.45) both;pointer-events:none}@keyframes splashOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.07)}}#tg-widget iframe{background-color:#54a9eb!important;border-radius:12px;border:none;overflow:hidden}.mobile-tabbar{display:none}@media (max-width: 860px){.layout{grid-template-columns:1fr}.sidebar{display:none}.main{padding:20px 16px calc(84px + env(safe-area-inset-bottom))}.page-header{margin-bottom:20px}.page-header h1{font-size:21px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.mobile-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:500;background:var(--surface);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -2px 12px #0000000f}.mobile-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border:none;background:transparent;color:var(--text-3);text-decoration:none;font-family:inherit;font-size:10.5px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .22s cubic-bezier(.25,.46,.45,.94)}.mobile-tab.active{color:var(--accent)}.mobile-tab span{line-height:1}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}}@keyframes moreSheetIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes moreSheetOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(16px)}}.more-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;background:#0006;display:flex;align-items:flex-end;animation:backdropIn .2s ease}.more-sheet-backdrop-close{animation:backdropOut .22s ease forwards}.more-sheet{width:100%;max-height:78vh;overflow-y:auto;background:var(--surface);border-radius:18px 18px 0 0;padding:10px 12px calc(20px + env(safe-area-inset-bottom));animation:moreSheetIn .28s cubic-bezier(.25,.46,.45,.94)}.more-sheet-backdrop-close .more-sheet{animation:moreSheetOut .22s cubic-bezier(.55,0,1,.45) forwards}.more-sheet-handle{width:36px;height:4px;border-radius:999px;background:var(--border);margin:2px auto 12px}.more-sheet-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:6px}.more-sheet-nav .more-sheet-item{flex-direction:column;gap:8px;text-align:center;font-size:12.5px;padding:14px 6px}.more-sheet-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px;border-radius:10px;border:none;background:var(--bg);color:var(--text);text-decoration:none;font-family:inherit;font-size:14.5px;font-weight:500;cursor:pointer;margin-bottom:6px;-webkit-tap-highlight-color:transparent}.more-sheet-nav .more-sheet-item{margin-bottom:0}.more-sheet-item.active{background:var(--accent-soft);color:var(--accent)}.more-sheet-item svg{flex-shrink:0}.more-sheet-divider{height:1px;background:var(--border);margin:10px 2px}.more-sheet-logout{color:var(--danger)}.master-row{display:grid;grid-template-columns:1fr 110px 90px auto;align-items:center;gap:0;padding:14px 20px}@media (max-width: 860px){.master-row{grid-template-columns:1fr auto;grid-template-areas:"name status" "services actions";row-gap:10px;padding:14px 16px}.master-row-name{grid-area:name}.master-row-status{grid-area:status;justify-self:end}.master-row-services{grid-area:services}.master-row-actions{grid-area:actions;justify-self:end}}.clients-list-header,.client-row{display:grid;grid-template-columns:1fr 120px 80px 100px 178px;align-items:center}.client-row{padding:13px 18px}.client-row-meta{display:contents}.client-row-meta-label{display:none}@media (max-width: 860px){.clients-list-header{display:none}.client-row{grid-template-columns:1fr;row-gap:8px;padding:14px 16px}.client-row-meta{display:flex;flex-wrap:wrap;column-gap:14px;row-gap:2px;font-size:13px}.client-row-meta>div{text-align:left!important}.client-row-meta-label{display:inline;color:var(--muted);font-weight:400}.client-row-actions{justify-content:flex-start!important}}.schedule-row{display:grid;grid-template-columns:56px 1fr 1fr 110px 120px auto;align-items:center}@media (max-width: 860px){.schedule-row{grid-template-columns:1fr auto;grid-template-areas:"time status" "service service" "master duration" "actions actions";row-gap:6px;padding:14px 16px!important}.schedule-row-time{grid-area:time}.schedule-row-status{grid-area:status;justify-self:end}.schedule-row-service{grid-area:service;padding-left:0!important}.schedule-row-master{grid-area:master;padding-left:0!important}.schedule-row-duration{grid-area:duration;justify-self:end;text-align:right!important}.schedule-row-actions{grid-area:actions;justify-self:start;padding-left:0!important;justify-content:flex-start!important}}.service-row{display:grid;grid-template-columns:1fr 80px 80px 90px auto;align-items:center;gap:0}@media (max-width: 860px){.service-row{grid-template-columns:1fr auto;grid-template-areas:"name status" "duration price" "actions actions";row-gap:6px;padding:14px 16px!important}.service-row-name{grid-area:name}.service-row-status{grid-area:status;justify-self:end}.service-row-duration{grid-area:duration;text-align:left!important}.service-row-price{grid-area:price;justify-self:end;padding-right:0!important}.service-row-actions{grid-area:actions;justify-self:start;padding-left:0!important}}.inventory-row{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr auto;align-items:center;gap:8px}.inventory-row-meta{display:contents}@media (max-width: 860px){.inventory-row{grid-template-columns:1fr auto;grid-template-areas:"name actions" "meta meta";row-gap:8px;padding:14px 16px!important}.inventory-row-name{grid-area:name}.inventory-row-actions{grid-area:actions;padding-left:0!important}.inventory-row-meta{grid-area:meta;display:flex;flex-wrap:wrap;column-gap:14px;row-gap:2px}.inventory-row-meta>div{text-align:left!important}}.cal-week-strip{flex:1}@media (max-width: 860px){.cal-week-strip{flex-basis:100%;margin-top:4px}}.toast-host{bottom:28px}@media (max-width: 860px){.toast-host{bottom:calc(78px + env(safe-area-inset-bottom))}}
