@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vazirmatn-arabic-400-normal-DMZFCm7K.woff2) format("woff2"),url(/assets/vazirmatn-arabic-400-normal-C4W5XURk.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vazirmatn-latin-ext-400-normal-BdGhO0lm.woff2) format("woff2"),url(/assets/vazirmatn-latin-ext-400-normal-DPxMaNjI.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vazirmatn-latin-400-normal-BT_DHTc7.woff2) format("woff2"),url(/assets/vazirmatn-latin-400-normal-GKyMcI03.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/vazirmatn-arabic-500-normal-C_lbnnKa.woff2) format("woff2"),url(/assets/vazirmatn-arabic-500-normal-Dqq3-xo3.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/vazirmatn-latin-ext-500-normal-CgxvvVrG.woff2) format("woff2"),url(/assets/vazirmatn-latin-ext-500-normal-4XgegWYb.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/vazirmatn-latin-500-normal-6zZzgpg4.woff2) format("woff2"),url(/assets/vazirmatn-latin-500-normal-Bg_BALlD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/vazirmatn-arabic-600-normal-CPKvAnd1.woff2) format("woff2"),url(/assets/vazirmatn-arabic-600-normal-CWYTfCgi.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/vazirmatn-latin-ext-600-normal-CyxCUfFz.woff2) format("woff2"),url(/assets/vazirmatn-latin-ext-600-normal-Di8rk35l.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/vazirmatn-latin-600-normal-D-zF-Oec.woff2) format("woff2"),url(/assets/vazirmatn-latin-600-normal-BxJiDPKT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/vazirmatn-arabic-700-normal-Dge_DOjm.woff2) format("woff2"),url(/assets/vazirmatn-arabic-700-normal-B5nPuCFv.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/vazirmatn-latin-ext-700-normal-BfoXmNMx.woff2) format("woff2"),url(/assets/vazirmatn-latin-ext-700-normal-DMYLqBto.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/vazirmatn-latin-700-normal-9BlbvDRV.woff2) format("woff2"),url(/assets/vazirmatn-latin-700-normal-DrB0PBU6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Vazirmatn,Tahoma,sans-serif;color:#14213d;background:#f6f8fb;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f6f8fb;--surface: #ffffff;--surface-subtle: #f9fbfe;--text: #14213d;--muted: #77829a;--border: #e2e7ef;--primary: #0b57e8;--primary-dark: #0646c4;--primary-soft: #edf4ff;--danger: #ef3f45;--danger-soft: #fff2f2;--warning: #f29a13;--warning-soft: #fff8e9;--success: #119c5b;--shadow-sm: 0 1px 2px rgba(31, 42, 68, .04), 0 8px 24px rgba(31, 42, 68, .04);--shadow-lg: 0 26px 70px rgba(25, 42, 79, .16)}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);overflow-x:clip}#root,.app-shell{max-width:100%;overflow-x:clip}button,input,select{font:inherit}button{color:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,.table-scroll:focus-visible{outline:3px solid rgba(11,87,232,.22);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand-mark{position:relative;flex:0 0 auto;width:34px;height:34px;border:2px solid #ff7818;border-radius:50%;overflow:hidden}.brand-mark:before,.brand-mark:after,.brand-mark span:before,.brand-mark span:after{position:absolute;content:"";display:block;border-color:#ff7818}.brand-mark:before{top:-2px;right:13px;bottom:-2px;left:13px;border-left:2px solid #ff7818}.brand-mark:after{left:-3px;right:-3px;top:14px;border-top:2px solid #ff7818}.brand-mark span:before,.brand-mark span:after{width:17px;height:38px;top:-4px;border:2px solid #ff7818;border-radius:50%}.brand-mark span:before{left:-10px}.brand-mark span:after{right:-10px}.brand-mark--large{width:46px;height:46px;border-width:3px}.brand-mark--large:before{top:-2px;right:18px;bottom:-2px;left:18px;border-left-width:3px}.brand-mark--large:after{top:19px;border-top-width:3px}.brand-mark--large span:before,.brand-mark--large span:after{width:23px;height:54px;border-width:3px}.brand-mark--large span:before{left:-13px}.brand-mark--large span:after{right:-13px}.basketball-icon{position:relative;width:22px;height:22px;border:1.8px solid currentColor;border-radius:50%;opacity:.86}.basketball-icon:before,.basketball-icon:after{position:absolute;content:"";background:currentColor}.basketball-icon:before{width:1.5px;top:1px;bottom:1px;left:9px}.basketball-icon:after{height:1.5px;right:1px;left:1px;top:9px}.primary-button,.outline-button,.danger-button,.text-button{min-height:44px;border-radius:11px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;font-weight:600;font-size:14px;transition:transform .16s ease,background .16s ease,border-color .16s ease}.primary-button{color:#fff;background:var(--primary);box-shadow:0 8px 18px #0b57e829}.primary-button:hover{background:var(--primary-dark);transform:translateY(-1px)}.primary-button--wide,.outline-button--wide{width:100%}.outline-button{background:transparent;color:var(--primary);border-color:#9dbdf9}.outline-button:hover{background:var(--primary-soft);border-color:var(--primary)}.text-button{background:transparent;color:var(--muted)}.text-button:hover{background:#f1f4f8;color:var(--text)}.danger-button{background:var(--danger);color:#fff}.danger-button:hover{background:#d92e34}.danger-button:disabled{opacity:.45;cursor:not-allowed}.icon-button{width:40px;height:40px;padding:0;border:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:transparent}.icon-button:hover{background:#f0f3f8}.field{display:grid;gap:8px;font-size:13px;font-weight:600;color:#34405a}.field input,.field select{width:100%;min-height:48px;border:1px solid #d9e0ea;border-radius:11px;background:#fff;color:var(--text);padding:0 13px;font-size:14px;font-weight:400;transition:border-color .16s ease,box-shadow .16s ease}.field input::placeholder{color:#a7afbe}.field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0b57e81a;outline:0}.field>span small{margin-right:4px;color:#8f99aa;font-size:10px;font-weight:500}.field-hint{margin-top:-3px;color:#8b95a7;font-size:10px;font-weight:400}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap>svg{position:absolute;right:14px;z-index:1;color:#8a95aa}.input-wrap input{padding-right:44px;padding-left:44px}.input-wrap button{position:absolute;left:6px;width:38px;height:38px;border:0;background:transparent;color:#8a95aa;display:grid;place-items:center}.form-error{margin:0;color:var(--danger);font-size:13px;font-weight:500}.login-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:#eef3fa}.login-shell{width:min(1080px,100%);min-height:650px;display:grid;grid-template-columns:1.06fr .94fr;direction:ltr;overflow:hidden;border:1px solid rgba(209,219,233,.9);border-radius:26px;background:var(--surface);box-shadow:var(--shadow-lg)}.login-visual{position:relative;direction:rtl;overflow:hidden;background:#0b57e8;color:#fff;padding:64px;display:flex;align-items:flex-end}.login-visual:after{position:absolute;content:"";width:340px;height:340px;border:1px solid rgba(255,255,255,.17);border-radius:50%;top:-170px;left:-120px}.court-lines{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.25}.court-lines:before{position:absolute;content:"";top:34px;right:34px;bottom:34px;left:34px;border:1px solid #fff;border-radius:7px}.court-lines:after{position:absolute;content:"";width:1px;top:34px;bottom:34px;left:50%;background:#fff}.court-lines__circle{position:absolute;width:150px;height:150px;border:1px solid #fff;border-radius:50%;left:calc(50% - 75px);top:calc(50% - 75px)}.court-lines__arc{position:absolute;right:-70px;top:calc(50% - 120px);width:200px;height:240px;border:1px solid #fff;border-radius:50%}.login-visual__copy{position:relative;z-index:1;max-width:390px}.login-visual__copy .brand-mark{border-color:#fff;margin-bottom:26px}.login-visual__copy .brand-mark:before,.login-visual__copy .brand-mark:after,.login-visual__copy .brand-mark span:before,.login-visual__copy .brand-mark span:after{border-color:#fff}.login-visual__copy h1{margin:0 0 18px;font-size:clamp(42px,5vw,66px);line-height:1.18;letter-spacing:-2px}.login-visual__copy p{margin:0;max-width:340px;font-size:16px;line-height:2;color:#ffffffc7}.login-form-wrap{direction:rtl;display:flex;flex-direction:column;padding:42px 62px 30px}.login-form-header{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600}.login-form{margin:auto 0;display:grid;gap:21px}.login-title{margin-bottom:5px}.login-title h2{margin:0 0 8px;font-size:30px;letter-spacing:-.8px}.login-title p{margin:0;color:var(--muted);font-size:14px;line-height:1.9}.login-note{margin:0;text-align:center;font-size:12px;color:#9aa3b3}.login-note{display:flex;align-items:center;justify-content:center;gap:6px}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;background:var(--background);color:var(--muted)}.app-loading span{width:68px;height:68px;display:grid;place-items:center;border-radius:20px;background:var(--primary-soft);color:var(--primary)}.app-loading p{margin:0;font-size:13px}.sync-toast{position:fixed;z-index:120;right:50%;bottom:22px;transform:translate(50%);max-width:min(430px,calc(100vw - 28px));min-height:42px;padding:9px 13px;display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow-lg);color:#657188;font-size:11px}.sync-toast--error{border-color:#ffd0d2;background:var(--danger-soft);color:var(--danger)}.sync-toast button{flex:0 0 auto;min-height:28px;padding:0 9px;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;font:inherit;font-weight:700}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr) 286px;grid-template-rows:74px minmax(calc(100vh - 74px),auto)}.topbar{position:fixed;top:0;right:0;left:0;z-index:30;grid-column:1 / -1;grid-row:1;min-width:0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--border);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar__brand,.topbar__profile{display:flex;align-items:center;gap:12px}.topbar__brand strong{font-size:15px}.topbar__profile{min-width:220px;justify-content:flex-end}.topbar__profile>span:last-of-type{display:grid;gap:1px}.topbar__profile small{color:var(--muted);font-size:11px}.topbar__profile strong{font-size:13px}.profile-avatar{width:38px;height:38px;display:grid;place-items:center;border:1px solid #dbe2eb;border-radius:50%;color:#748199}.notification-button{position:relative;width:42px;height:42px;padding:0;border:0;border-radius:11px;background:transparent;color:#5f6b82;display:grid;place-items:center}.notification-button:hover{background:#f1f4f8}.notification-button>span{position:absolute;top:3px;right:3px;min-width:17px;height:17px;padding:0 4px;border:2px solid #fff;border-radius:10px;background:var(--danger);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:700}.mobile-topbar{display:none}.sidebar{position:sticky;top:74px;align-self:start;grid-column:1;grid-row:2;height:calc(100vh - 74px);padding:24px 16px 20px;border-left:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;overflow-y:auto;z-index:25}.sidebar__mobile-head{display:none}.sidebar__top{display:grid;gap:5px}.nav-item{min-height:46px;display:flex;align-items:center;gap:11px;padding:0 13px;border:0;border-radius:11px;background:transparent;color:#536078;font-size:14px;font-weight:500}.nav-item:hover{background:#f4f7fb}.nav-item--active{color:var(--primary);background:var(--primary-soft);font-weight:700}.sidebar__divider{height:1px;background:var(--border);margin:20px 0}.sidebar__section-title{padding:0 12px 11px;display:flex;align-items:center;gap:10px;color:#7d879a;font-size:12px;font-weight:600}.salon-list{display:grid;gap:6px;margin-bottom:14px}.salon-row{position:relative;min-height:48px;border-radius:11px;color:#58647b;overflow:hidden}.salon-row>button:first-child{width:100%;min-height:48px;padding:0 12px 0 38px;border:0;background:transparent;display:flex;align-items:center;gap:10px;text-align:right}.salon-row__delete{position:absolute;left:4px;top:4px;width:34px;height:40px;display:grid;place-items:center;border:0;background:transparent;color:#a2abb9;opacity:0;transition:opacity .16s ease,color .16s ease}.salon-row:hover{background:#f4f7fb}.salon-row:hover .salon-row__delete,.salon-row:focus-within .salon-row__delete{opacity:1}.salon-row__delete:hover{color:var(--danger)}.salon-row--active{background:var(--primary);color:#fff;box-shadow:0 8px 18px #0b57e82e}.salon-row--active:hover{background:var(--primary-dark)}.salon-row--active .salon-row__delete{color:#ffffffb8}.logout-button{margin-top:auto;min-height:46px;padding:0 12px;border:0;background:transparent;color:var(--danger);display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600}.logout-button:hover{background:var(--danger-soft);border-radius:10px}.mobile-only{display:none}.workspace{grid-column:2;grid-row:2;min-width:0;padding:30px 28px 60px}.workspace__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.workspace__heading h1{margin:0 0 4px;font-size:30px;letter-spacing:-.9px}.workspace__heading p{margin:0;color:var(--muted);font-size:13px}.mobile-add-salon,.mobile-salon-card{display:none}.empty-dashboard{min-height:470px;padding:56px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm);text-align:center}.empty-dashboard__icon{width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:var(--primary-soft);color:var(--primary)}.empty-dashboard h2{margin:20px 0 7px;font-size:21px}.empty-dashboard p{max-width:470px;margin:0 0 22px;color:var(--muted);font-size:13px;line-height:1.9}.month-picker{min-height:66px;display:flex;align-items:center;gap:4px;padding:8px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}.month-picker__rail{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:2px;overflow-x:auto;scrollbar-width:none}.month-picker__rail::-webkit-scrollbar{display:none}.month-button{position:relative;flex:0 0 auto;min-width:55px;min-height:42px;padding:0 9px;border:0;border-radius:10px;background:transparent;color:#536078;font-size:13px;font-weight:500}.month-button:hover{background:#f2f5f9}.month-button--selected{color:#fff;background:var(--primary);box-shadow:0 6px 14px #0b57e82b}.month-button--selected:hover{background:var(--primary-dark)}.month-button>span{position:absolute;color:var(--primary);left:50%;bottom:-2px}.month-picker__arrow{flex:0 0 auto;width:40px;height:40px;border:0;border-radius:9px;background:transparent;display:grid;place-items:center;color:#69758c}.month-picker__arrow:hover{background:#f2f5f9}.salon-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 2px 15px}.salon-heading h2{margin:0 0 5px;font-size:24px;letter-spacing:-.5px}.salon-heading span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.salon-heading__count{padding:7px 11px;border:1px solid #dfe5ee;border-radius:9px;background:#fff}.session-editor{margin-bottom:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.session-editor__header{padding:15px 17px 10px;display:flex;align-items:flex-start;gap:10px}.session-editor__header h2{margin:0 0 3px;font-size:14px}.session-editor__header p{margin:0;font-size:11px;color:var(--muted)}.section-heading__icon{flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}.session-editor__rail{display:flex;gap:8px;padding:4px 16px 16px;overflow-x:auto;scrollbar-color:#cbd5e3 transparent}.session-date{flex:0 0 116px;display:grid;gap:6px;color:#657188;font-size:11px}.session-date input{width:116px;height:39px;padding:0 8px;border:1px solid #dde3ec;border-radius:9px;background:#fbfcfe;text-align:center;color:var(--text);font-size:12px}.session-date input:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px #0b57e817;background:#fff}.attendance-section{min-width:0;max-width:100%;contain:inline-size;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.attendance-section__header{min-height:72px;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border)}.attendance-section__header h2{margin:0 0 3px;font-size:16px}.attendance-section__header p{margin:0;color:var(--muted);font-size:11px}.table-shell{min-width:0;max-width:100%;overflow:hidden}.table-scroll{width:100%;max-width:100%;direction:ltr;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#bdc8d9 #f2f5f9}.attendance-table{width:max-content;min-width:100%;direction:rtl;border-collapse:separate;border-spacing:0;font-size:12px}.attendance-table th,.attendance-table td{min-width:95px;height:62px;padding:8px 10px;border-bottom:1px solid #e8ecf2;border-left:1px solid #f0f2f6;text-align:center;white-space:nowrap;background:#fff}.attendance-table th{height:62px;position:sticky;top:0;z-index:3;background:#f8fafd;color:#58647a;font-size:11px;font-weight:600}.attendance-table tbody tr:last-child td{border-bottom:0}.attendance-table tbody tr:hover td{background:#fbfdff}.attendance-table .sticky-name{position:sticky;right:0;z-index:4;min-width:142px;max-width:142px;text-align:right;box-shadow:-5px 0 10px #192a4f0a}.attendance-table th.sticky-name{z-index:6}.attendance-table tbody tr:hover .sticky-name{background:#fbfdff}.athlete-heading{display:inline-flex;align-items:center;gap:7px}.numeric-cell{direction:ltr;font-variant-numeric:tabular-nums}.empty-value{color:#a2abba}.editable-field-cell{padding:0!important}.editable-cell-button{width:100%;min-height:61px;padding:8px 10px;border:0;background:transparent;color:inherit;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:inherit;white-space:nowrap;transition:color .14s ease,background .14s ease}.editable-cell-button:hover{color:var(--primary);background:var(--primary-soft)}.editable-cell-button:focus-visible{position:relative;z-index:1;outline:3px solid rgba(11,87,232,.2);outline-offset:-3px}.editable-cell-button svg{flex:0 0 auto;opacity:.58}.editable-cell-button--empty{color:var(--danger);font-weight:600}.numeric-cell .editable-cell-button{direction:ltr;font-variant-numeric:tabular-nums}.session-column-label{display:grid;gap:3px}.session-column-label b{font-size:11px;font-weight:600}.session-column-label small{color:#8993a6;font-size:9px;direction:ltr}.date-valid{color:var(--success);direction:ltr}.date-overdue{color:var(--danger);direction:ltr;font-weight:600;background:snow!important}.attendance-cell{min-width:76px!important}.attendance-check{display:inline-grid;place-items:center;width:22px;height:22px;cursor:pointer}.attendance-check input{position:absolute;opacity:0;pointer-events:none}.attendance-check span{width:20px;height:20px;display:grid;place-items:center;border:1.5px solid #aab4c4;border-radius:5px;background:#fff;color:transparent;font-size:13px;font-family:Arial,sans-serif;transition:background .14s ease,border-color .14s ease,transform .14s ease}.attendance-check input:checked+span{background:var(--primary);border-color:var(--primary);color:#fff;transform:scale(1.04)}.attendance-check input:focus-visible+span{outline:3px solid rgba(11,87,232,.2);outline-offset:2px}.actions-heading{min-width:76px!important}.row-actions{min-width:84px!important}.row-actions button{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#77839a;display:inline-grid;place-items:center}.row-actions button:hover{background:var(--primary-soft);color:var(--primary)}.row-actions .danger-icon:hover{background:var(--danger-soft);color:var(--danger)}.swipe-hint{display:none;margin:0;padding:9px 14px;border-top:1px solid var(--border);color:#7f8a9d;background:#fbfcfe;font-size:10px;text-align:center}.swipe-hint span{color:var(--primary);font-size:14px}.empty-table{min-height:330px;padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-table>span{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;color:var(--primary);background:var(--primary-soft)}.empty-table h3{margin:16px 0 5px;font-size:16px}.empty-table p{margin:0 0 18px;color:var(--muted);font-size:12px}.alert-rail{position:sticky;top:74px;align-self:start;grid-column:3;grid-row:2;height:calc(100vh - 74px);overflow-y:auto;padding:28px 17px;border-right:1px solid var(--border);background:var(--surface)}.alerts-panel{min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-heading h2{margin:0 0 3px;font-size:17px}.section-heading p{margin:0;color:var(--muted);font-size:11px}.section-heading--small .section-heading__icon{background:#f1f4f8;color:#657188}.alert-list{display:grid;gap:9px}.alert-item{width:100%;padding:12px;display:grid;grid-template-columns:36px minmax(0,1fr) 16px;align-items:center;gap:9px;border:1px solid;border-radius:12px;text-align:right}.alert-item--insurance{border-color:#ffd1d2;background:var(--danger-soft)}.alert-item--tuition{border-color:#fee0a8;background:var(--warning-soft)}.alert-item__icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px}.alert-item--insurance .alert-item__icon{color:var(--danger);background:#ffe3e4}.alert-item--tuition .alert-item__icon{color:var(--warning);background:#ffedc7}.alert-item__content{min-width:0;display:grid;gap:2px}.alert-item__content strong{font-size:12px}.alert-item__content>span{font-size:12px}.alert-item__content small{overflow:hidden;color:#7c879a;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.alert-item>svg{color:#8c96a8}.alerts-empty{padding:36px 15px;text-align:center;color:var(--muted)}.alerts-empty span{width:36px;height:36px;display:grid;place-items:center;margin:0 auto 9px;border-radius:50%;background:#e8f7ef;color:var(--success)}.alerts-empty p{margin:0;font-size:11px}.alerts-panel--compact{display:none}.alert-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.alert-summary>div{min-height:52px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--border);border-radius:11px;background:#fff;color:#69748a;font-size:11px}.alert-summary>div:first-child svg{color:var(--danger)}.alert-summary>div:last-child svg{color:var(--warning)}.alert-summary b{color:var(--text);font-size:14px}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:18px;background:#0f1c366b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .14s ease-out}.modal{width:min(520px,100%);max-height:calc(100vh - 36px);overflow-y:auto;border:1px solid rgba(255,255,255,.7);border-radius:18px;background:#fff;box-shadow:var(--shadow-lg);animation:modal-in .18s ease-out}.modal__header{padding:20px 22px 16px;display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border)}.modal__header h2{margin:0 0 4px;font-size:19px}.modal__header p{margin:0;color:var(--muted);font-size:11px;line-height:1.8}.modal__body{padding:22px}.modal__footer{padding:14px 22px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);background:#fbfcfe}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field--full{grid-column:1 / -1}.confirm-copy{margin:0;color:#68738a;font-size:13px;line-height:1.9}.athlete-field-error{margin-top:10px}.field-change-preview{display:grid;gap:9px}.field-change-preview>div{min-height:58px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--border);border-radius:11px;background:#f8fafd}.field-change-preview span{color:var(--muted);font-size:11px}.field-change-preview strong{direction:ltr;font-size:14px;font-variant-numeric:tabular-nums}.field-change-preview__new{border-color:#bcd0f7!important;background:var(--primary-soft)!important;color:var(--primary)}.empty-preview-value{direction:rtl!important;color:var(--danger)}.confirmation-question{margin:14px 2px 0;color:#68738a;font-size:11px;line-height:1.8}.bottom-nav,.sidebar-backdrop{display:none}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}@media(max-width:1280px){.app-shell{grid-template-columns:232px minmax(0,1fr)}.alert-rail{display:none}.alerts-panel--compact{display:block;margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.alerts-panel--compact .section-heading{margin-bottom:12px}.alerts-panel--compact .alert-list{grid-template-columns:repeat(3,minmax(0,1fr))}.alerts-panel--compact .alert-item{min-height:78px}}@media(max-width:860px){body{padding-bottom:72px}.app-shell{display:block}.topbar{display:none}.mobile-topbar{position:fixed;top:0;right:0;left:0;z-index:24;height:66px;padding:0 16px;direction:ltr;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-topbar__title{direction:rtl;display:flex;align-items:center;gap:9px}.mobile-topbar__title .brand-mark{width:29px;height:29px}.sidebar{position:fixed;top:0;right:0;z-index:60;width:min(300px,85vw);height:100vh;transform:translate(105%);box-shadow:-22px 0 50px #14213d2e;transition:transform .22s ease}.sidebar--open{transform:translate(0)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;display:block;border:0;background:#0f1c3659}.sidebar__mobile-head{margin-bottom:18px;display:flex;align-items:center;justify-content:space-between}.mobile-only{display:flex}.workspace{padding:88px 16px 36px}.workspace__heading{align-items:center;margin-bottom:16px}.workspace__heading h1{font-size:23px}.workspace__heading p{font-size:11px}.mobile-add-salon{display:inline-flex}.mobile-salon-card{margin-bottom:16px;padding:12px;display:block;border:1px solid #dfe5ee;border-radius:16px;background:#fff;box-shadow:0 6px 20px #1d30530f}.mobile-salon-card__header{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-salon-card__header>div{min-width:0;display:grid;gap:2px}.mobile-salon-card__header strong{font-size:13px}.mobile-salon-card__header small{color:var(--muted);font-size:9px}.mobile-delete-salon{min-height:34px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;border:1px solid #ffd0d2;border-radius:9px;background:var(--danger-soft);color:var(--danger);font-size:11px;font-weight:700}.mobile-delete-salon:hover{border-color:#ffb7ba;background:#ffe7e8}.mobile-delete-salon:focus-visible{outline:3px solid rgba(220,53,69,.16);outline-offset:2px}.mobile-delete-salon:disabled{cursor:not-allowed;opacity:.48}.mobile-salon-select{width:100%;min-height:60px;padding:0 13px;position:relative;display:flex;align-items:center;gap:10px;border:1px solid #d8e1f0;border-radius:12px;background:#f8fafd;color:var(--primary);transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.mobile-salon-select:focus-within{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #0b57e817}.mobile-salon-select__icon{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--primary-soft)}.mobile-salon-select__control{flex:1;min-width:0;display:grid;gap:1px}.mobile-salon-select__control>small{color:#8691a4;font-size:9px}.mobile-salon-select select{width:100%;min-width:0;padding:0;border:0;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:var(--text);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.mobile-salon-select__chevron{flex:0 0 auto;color:#7e899c;pointer-events:none}.month-picker{min-height:60px;margin-inline:-16px;padding-inline:8px;border-right:0;border-left:0;border-radius:0;box-shadow:none}.month-picker__rail{justify-content:flex-start;gap:7px}.month-button{min-width:75px;min-height:42px;border:1px solid var(--border);background:#fff}.month-button--selected{border-color:var(--primary);background:var(--primary)}.alerts-panel--compact{margin-top:14px}.alerts-panel--compact .alert-list{grid-template-columns:1fr}.alerts-panel--compact .alert-item:nth-child(n+3){display:none}.salon-heading{margin-top:22px}.salon-heading h2{font-size:20px}.session-editor__header{padding-bottom:8px}.session-editor__rail{padding-inline:13px}.attendance-section__header{position:relative}.attendance-section__header .primary-button{position:fixed;z-index:20;right:16px;left:16px;bottom:78px;width:calc(100% - 32px);box-shadow:0 8px 24px #0b57e842}.attendance-table .sticky-name{min-width:136px;max-width:136px}.swipe-hint{display:block}.bottom-nav{position:fixed;z-index:22;right:0;bottom:0;left:0;height:68px;padding:7px 18px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fffffff7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:grid;grid-template-columns:repeat(3,1fr)}.bottom-nav__item{border:0;background:transparent;color:#7a869b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px}.bottom-nav__item--active{color:var(--primary);font-weight:700}.nav-grid-icon{width:19px;height:19px;display:block;border-radius:4px;background:linear-gradient(90deg,currentColor 43%,transparent 43%,transparent 57%,currentColor 57%),linear-gradient(currentColor 43%,transparent 43%,transparent 57%,currentColor 57%)}}@media(max-width:620px){.login-page{padding:0;background:#fff}.login-shell{min-height:100vh;display:block;border:0;border-radius:0;box-shadow:none}.login-visual{min-height:250px;padding:32px 26px;align-items:flex-end}.court-lines:before{top:18px;right:18px;bottom:18px;left:18px}.court-lines:after{top:18px;bottom:18px}.login-visual__copy .brand-mark{display:none}.login-visual__copy h1{margin-bottom:9px;font-size:38px}.login-visual__copy p{max-width:300px;font-size:13px;line-height:1.8}.login-form-wrap{min-height:calc(100vh - 250px);padding:25px 24px 18px}.login-form-header{font-size:12px}.login-form-header .brand-mark{width:29px;height:29px}.login-form{margin:34px 0 auto}.login-title h2{font-size:25px}.workspace{padding-inline:12px}.workspace__heading p{display:none}.empty-dashboard{min-height:440px;padding:42px 20px}.empty-dashboard h2{font-size:19px}.empty-dashboard p{font-size:12px}.mobile-add-salon{min-height:40px;padding-inline:11px;font-size:12px}.month-picker{margin-inline:-12px}.alert-summary{grid-template-columns:1fr}.alerts-panel--compact{padding:13px}.salon-heading__count{display:none!important}.attendance-section__header{padding:13px}.attendance-section__header .primary-button{right:12px;left:12px;width:calc(100% - 24px)}.form-grid{grid-template-columns:1fr}.field--full{grid-column:auto}.modal-layer{align-items:end;padding:0}.modal{width:100%;max-height:90vh;border-radius:20px 20px 0 0}.modal__header,.modal__body,.modal__footer{padding-inline:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
