@font-face{font-family:'Cairo';font-style:normal;font-weight:200 1000;font-display:swap;src:url('../fonts/cairo/cairo-arabic-variable.woff2') format('woff2-variations');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'Cairo';font-style:normal;font-weight:200 1000;font-display:swap;src:url('../fonts/cairo/cairo-latin-variable.woff2') format('woff2-variations')}
:root{font-family:'Cairo',sans-serif}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:#f4f8fc;color:#132c42;font-family:'Cairo',sans-serif}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;background:linear-gradient(180deg,#102f49 0%,#09243a 100%);color:#fff;padding:20px 13px;position:fixed;right:0;top:0;bottom:0;z-index:30;box-shadow:-10px 0 35px rgba(8,34,55,.12)}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:750;font-size:1.0625rem;padding:2px 9px 25px}.brand-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#12304a;font-size:1.3125rem;box-shadow:0 0 0 5px rgba(255,255,255,.08)}.sidebar nav{display:grid;gap:5px}.sidebar nav a{position:relative;color:#d9e7f1;text-decoration:none;padding:12px 14px;border-radius:9px;display:flex;gap:12px;align-items:center;font-size:0.875rem;transition:.22s}.sidebar nav a:first-child,.sidebar nav a:hover{background:linear-gradient(90deg,#139c9a,#1686a5);color:#fff;transform:translateX(-2px)}.sidebar nav a:first-child:after{content:'';position:absolute;right:-13px;width:3px;height:28px;background:#35e0db;border-radius:3px}.sidebar nav i{width:23px;text-align:center;font-size:1rem}.content{margin-right:252px;width:calc(100% - 252px)}.topbar{height:72px;background:rgba(255,255,255,.96);display:flex;align-items:center;padding:0 28px;box-shadow:0 3px 18px rgba(18,48,74,.055);position:sticky;top:0;z-index:20;border-bottom:1px solid #edf3f7}.page-name{font-weight:750;font-size:1.0625rem}.user-box{margin-right:auto;display:flex;align-items:center;gap:10px;font-size:0.8125rem}.user-box>i{font-size:1.5625rem;color:var(--accent)}.user-box form{margin:0}.link-button{border:0;background:none;color:#718495;font-family:inherit}.sidebar-toggle{display:none;border:0;background:none;font-size:1.25rem}.page-content{padding:28px;max-width:1520px;margin:auto}.welcome{position:relative;overflow:hidden;background:linear-gradient(120deg,#12304a,#184c6f);color:#fff;padding:30px;border-radius:18px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 15px 35px rgba(18,48,74,.14);animation:rise .55s ease both}.welcome:after{content:'';position:absolute;width:240px;height:240px;border:45px solid rgba(255,255,255,.04);border-radius:50%;left:-60px;top:-90px}.welcome h1{font-size:1.5625rem;font-weight:750;margin:0 0 8px}.welcome p{margin:0;color:#d6e6ef}.welcome>i{font-size:3.875rem;color:#55d8d4;animation:iconFloat 3.2s ease-in-out infinite}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:19px 0}.stat{background:#fff;border:1px solid #edf2f5;border-radius:14px;padding:19px;color:inherit;text-decoration:none;box-shadow:0 7px 25px rgba(18,48,74,.045);display:grid;gap:6px;transition:.22s;animation:rise .5s ease both}.stat:nth-child(2){animation-delay:.06s}.stat:nth-child(3){animation-delay:.12s}.stat:nth-child(4){animation-delay:.18s}.stat:hover{transform:translateY(-4px);box-shadow:0 13px 32px rgba(18,48,74,.1)}.stat>i{color:var(--accent);font-size:1.5rem;width:45px;height:45px;background:#e8f7f6;border-radius:12px;display:grid;place-items:center}.stat span{color:#768998;font-size:0.8125rem}.stat strong{font-size:0.9375rem}.panel{background:#fff;border:1px solid #edf2f5;border-radius:15px;padding:22px;box-shadow:0 7px 25px rgba(18,48,74,.045);margin-bottom:20px}.panel h2{font-size:1.1875rem;font-weight:750}.progress-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.progress-list div{padding:14px;background:#f5f9fb;border-radius:10px;display:flex;justify-content:space-between}.progress-list b{color:#087a62}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-heading h1{font-size:1.5rem;font-weight:750;margin:0 0 5px}.page-heading p{margin:0;color:#748897;font-size:0.875rem}.btn-primary-app,.auth-submit{border:0;border-radius:9px;background:linear-gradient(90deg,#139c9a,#1489a7);color:#fff;padding:11px 18px;display:inline-flex;gap:9px;align-items:center;justify-content:center;font-family:inherit;font-weight:650;box-shadow:0 8px 18px rgba(19,156,154,.18);transition:.2s}.btn-primary-app:hover,.auth-submit:hover{transform:translateY(-2px);box-shadow:0 11px 23px rgba(19,156,154,.27)}button:disabled{opacity:.6;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:20px}.form-grid label{display:grid;gap:7px;font-weight:650;font-size:0.8125rem}.form-grid label.wide{grid-column:1/-1}.form-grid input,.form-grid select{width:100%;border:1px solid #dce5eb;border-radius:9px;padding:11px;background:#fff;font-family:inherit;transition:.2s}.form-grid input:focus,.form-grid select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(19,156,154,.1)}.form-grid input[type=color]{height:45px;padding:4px}.form-grid .check{display:flex;align-items:center;gap:8px}.form-grid .check input{width:auto}.table-wrap{overflow:auto}table{width:100%;border-collapse:separate;border-spacing:0}th{background:#f3f7f9;color:#4b6374;padding:13px;text-align:right;white-space:nowrap;font-size:0.8125rem}th:first-child{border-radius:0 9px 9px 0}th:last-child{border-radius:9px 0 0 9px}td{padding:13px;border-bottom:1px solid #edf1f3;font-size:0.8125rem}tbody tr{transition:.18s}tbody tr:hover{background:#f8fbfc}td small{display:block;color:#8797a3;margin-top:4px}.badge-status{padding:5px 10px;border-radius:20px;font-size:0.6875rem;font-weight:700}.badge-status.active{background:#dcf6ed;color:#087a62}.badge-status.inactive{background:#ffebe8;color:#b33b2d}.icon-btn{width:36px;height:36px;border:0;border-radius:9px;background:#edf6f6;color:var(--accent)}.modal-content{border:0;border-radius:15px}.modal-header h2{font-size:1.1875rem;margin:0}.roles-layout{display:grid;grid-template-columns:255px 1fr;gap:20px}.role-list{display:grid;gap:5px;align-content:start}.role-list a{padding:11px;border-radius:9px;color:inherit;text-decoration:none;display:flex;gap:9px;align-items:center}.role-list a.selected,.role-list a:hover{background:#e8f6f5;color:#087b79}.permission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.permission{display:flex;gap:10px;padding:12px;border:1px solid #e3eaee;border-radius:10px}.permission small{display:block;color:#8999a4}.empty{text-align:center;color:#7b8c98;padding:60px}.app-toast{position:fixed;left:25px;bottom:25px;z-index:1000;padding:13px 20px;border-radius:10px;color:#fff;opacity:0;transform:translateY(20px);transition:.25s;box-shadow:0 10px 30px rgba(0,0,0,.15)}.app-toast.show{opacity:1;transform:none}.app-toast.ok{background:#087a62}.app-toast.bad{background:#b33b2d}

/* Auth experience */
.auth-body{background:#eff5f8;overflow-x:hidden}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(430px,43%) 1fr;direction:ltr}.auth-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#0b2840 0%,#123d5c 52%,#0c6973 100%);color:#fff;padding:42px 52px;direction:rtl;display:flex;flex-direction:column}.auth-brand{display:flex;align-items:center;gap:13px;font-size:1.1875rem;position:relative;z-index:2;animation:fadeDown .65s ease both}.auth-brand span{width:48px;height:48px;border-radius:50%;background:#fff;color:#12304a;display:grid;place-items:center;font-size:1.25rem}.auth-copy{margin:auto 0;position:relative;z-index:2;max-width:570px}.road-icon{width:78px;height:78px;border-radius:24px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:2.125rem;color:#53dfd9;animation:iconFloat 3s ease-in-out infinite}.auth-copy h1{font-size:2.375rem;font-weight:800;line-height:1.35;margin:24px 0 12px}.auth-copy>p{font-size:1.0625rem;color:#d4e5ed;line-height:1.9}.feature-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.feature-row span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:30px;padding:9px 14px;font-size:0.75rem;backdrop-filter:blur(5px)}.feature-row i{margin-left:7px;color:#53dfd9}.auth-orb{position:absolute;border-radius:50%;border:60px solid rgba(255,255,255,.035)}.orb-one{width:380px;height:380px;left:-130px;top:-120px}.orb-two{width:300px;height:300px;right:-120px;bottom:-120px}.auth-panel{direction:rtl;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:38px;background:#f7fafc;position:relative}.auth-mobile-brand{display:none}.auth-card{width:min(455px,100%);background:#fff;border:1px solid #e8eff3;border-radius:21px;padding:32px 36px;box-shadow:0 20px 55px rgba(18,48,74,.09)}.auth-heading{text-align:center;margin-bottom:25px}.auth-icon{width:58px;height:58px;border-radius:17px;background:#e7f6f5;color:#128d8b;display:grid;place-items:center;font-size:1.4375rem;margin:0 auto 13px;animation:iconPop .65s .18s cubic-bezier(.2,.9,.25,1.3) both}.auth-icon.whatsapp{background:#e5f7ed;color:#169b50}.auth-heading>span{font-size:0.75rem;color:#128d8b;font-weight:700}.auth-heading h2{font-size:1.5625rem;font-weight:800;margin:7px 0}.auth-heading p{color:#7b8d9a;font-size:0.8125rem;margin:0;line-height:1.7}.auth-form{display:grid;gap:16px}.auth-form>label{display:grid;gap:7px;font-size:0.8125rem;font-weight:650}.input-icon{position:relative}.input-icon>i{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#8ca0ae}.input-icon input,.otp-input input{width:100%;height:48px;border:1px solid #dce6ec;border-radius:10px;background:#fbfdfe;padding:0 43px 0 13px;font-family:inherit;transition:.2s}.input-icon input:focus,.otp-input input:focus{outline:0;border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px rgba(19,156,154,.09)}.form-options{display:flex;justify-content:space-between;align-items:center;font-size:0.75rem}.form-options a,.back-link{color:#128d8b;text-decoration:none}.remember{display:flex!important;align-items:center;gap:7px;font-weight:400!important}.auth-submit{height:49px;width:100%;margin-top:2px}.auth-submit.loading span{opacity:.65}.auth-submit.loading i{animation:spin .8s linear infinite}.auth-separator{display:flex;align-items:center;gap:12px;color:#9aacb8;font-size:0.75rem;margin:20px 0}.auth-separator:before,.auth-separator:after{content:'';height:1px;flex:1;background:#e5ebef}.student-entry{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:11px;padding:11px;border:1px solid #dcebe5;border-radius:11px;color:inherit;text-decoration:none;background:#fbfefc;transition:.2s}.student-entry:hover{transform:translateY(-2px);border-color:#55c886;box-shadow:0 8px 20px rgba(29,173,91,.08)}.student-entry-icon{width:42px;height:42px;border-radius:10px;background:#e2f7ea;color:#1aad5b;display:grid;place-items:center;font-size:1.3125rem}.student-entry strong,.student-entry small{display:block}.student-entry strong{font-size:0.8125rem}.student-entry small{font-size:0.6875rem;color:#7e9188;margin-top:2px}.student-entry>i{font-size:0.6875rem;color:#90a19a}.auth-footer{position:absolute;bottom:15px;color:#9aaab5;font-size:0.6875rem}.back-link{display:flex;justify-content:center;gap:8px;margin-top:20px;font-size:0.75rem}.otp-message{padding:10px 12px;border-radius:9px;font-size:0.75rem;margin-bottom:15px}.otp-message.success{background:#e3f7ed;color:#087a4a}.otp-message.error,.form-error{background:#ffeded;color:#aa3126;border-radius:9px;padding:10px;font-size:0.75rem}.otp-verification.reveal{animation:rise .35s ease both}.otp-input input{text-align:center;padding:0;font-size:1.375rem;font-weight:700;letter-spacing:8px;direction:ltr}.shake{animation:shake .35s ease}.animate-in{animation:authEnter .65s cubic-bezier(.2,.75,.25,1) both}
@keyframes authEnter{from{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:none}}@keyframes fadeDown{from{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:none}}@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes iconPop{from{opacity:0;transform:scale(.55) rotate(-12deg)}to{opacity:1;transform:none}}@keyframes iconFloat{50%{transform:translateY(-8px)}}@keyframes shake{25%{transform:translateX(7px)}50%{transform:translateX(-7px)}75%{transform:translateX(4px)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:950px){.sidebar{transform:translateX(110%);transition:.25s}.nav-open .sidebar{transform:none}.content{margin-right:0;width:100%}.sidebar-toggle{display:block;margin-left:14px}.page-content{padding:18px}.stat-grid{grid-template-columns:repeat(2,1fr)}.roles-layout{grid-template-columns:1fr}.role-list{grid-template-columns:repeat(2,1fr)}.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{min-height:100vh}.auth-mobile-brand{display:flex;align-items:center;gap:9px;margin-bottom:18px;color:#12304a}.auth-mobile-brand>i{color:var(--accent);font-size:1.4375rem}}
@media(max-width:600px){.user-box span{display:none}.stat-grid,.progress-list,.form-grid,.permission-grid{grid-template-columns:1fr}.welcome{padding:22px}.welcome>i{display:none}.page-heading{align-items:flex-start;gap:12px}.table-wrap{padding:10px}th,td{padding:10px}.page-content{padding:13px}.auth-panel{padding:18px}.auth-card{padding:27px 21px;border-radius:17px}.auth-heading h2{font-size:1.375rem}}

/* Unified Ajax navigation, button progress and gentle motion */
.sidebar nav a:first-child{background:transparent;color:#d9e7f1;transform:none}.sidebar nav a:first-child:after{display:none}.sidebar nav a.active,.sidebar nav a:first-child.active{background:linear-gradient(90deg,#139c9a,#1686a5);color:#fff;transform:translateX(-2px)}.sidebar nav a.active:after,.sidebar nav a:first-child.active:after{content:'';display:block;position:absolute;right:-13px;width:3px;height:28px;background:#35e0db;border-radius:3px}
.page-content{transition:opacity .18s ease,transform .18s ease,filter .18s ease}.page-content.page-leaving{opacity:.25;transform:translateY(5px);filter:blur(1px)}.page-content.page-entering{opacity:0;transform:translateY(8px)}
.page-progress{position:fixed;top:0;right:0;left:0;height:3px;z-index:2000;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .15s}.app-navigating .page-progress{opacity:1}.page-progress span{display:block;width:38%;height:100%;background:linear-gradient(90deg,transparent,var(--accent),#35e0db,transparent);animation:pageProgress 1s ease-in-out infinite}
button,a,.soft-button,.icon-btn,.btn-primary-app,.auth-submit{position:relative}.is-busy{pointer-events:none!important;cursor:wait!important;opacity:.9;overflow:hidden;isolation:isolate}.is-busy:before{content:'';position:absolute;z-index:-1;inset:0;transform:translateX(110%);background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.22) 48%,transparent 76%);animation:busyShimmer 1.15s ease-in-out infinite}.control-spinner{width:15px;height:15px;min-width:15px;border-radius:50%;border:2px solid currentColor;border-left-color:transparent;display:inline-block;animation:controlSpin .68s linear infinite}.is-busy>i{display:none!important}.icon-btn>.control-spinner,.notification-button>.control-spinner,.sidebar-toggle>.control-spinner{position:absolute;inset:50% auto auto 50%;margin:-7.5px 0 0 -7.5px}.icon-btn.is-busy,.notification-button.is-busy,.sidebar-toggle.is-busy{color:var(--accent)}.is-clicked{animation:softClick .36s ease}
.panel,.booking-card,.trainer-card,.vehicle-card,.student-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.panel:hover{border-color:#e1ecef}.modal.show .modal-dialog{animation:modalGentle .22s ease both}
@keyframes controlSpin{to{transform:rotate(360deg)}}@keyframes busyShimmer{55%,100%{transform:translateX(-110%)}}@keyframes pageProgress{from{transform:translateX(280%)}to{transform:translateX(-280%)}}@keyframes softClick{50%{transform:scale(.96)}}@keyframes modalGentle{from{opacity:.2;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.page-content.page-leaving,.page-content.page-entering{transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Dashboard faithful layout */
.sidebar{overflow-y:auto}.nav-section{color:#7592a6;font-size:0.625rem;font-weight:700;padding:17px 15px 4px;letter-spacing:.3px}.sidebar nav a em{font-style:normal;font-size:0.5625rem;margin-right:auto;padding:2px 6px;border-radius:9px;background:rgba(255,255,255,.08);color:#90a7b7}.sidebar nav a.nav-muted{color:#aebfcb}.sidebar nav a.nav-muted:hover{background:rgba(255,255,255,.06);transform:none}.topbar-actions{margin-right:auto;display:flex;align-items:center;gap:15px}.top-search{width:240px;height:39px;border:1px solid #e4ebef;border-radius:9px;display:flex;align-items:center;gap:9px;padding:0 12px;color:#9aabb6;background:#f8fafb}.top-search input{border:0;outline:0;width:100%;font-family:inherit;background:transparent;font-size:0.75rem}.notification-button{position:relative;width:39px;height:39px;border:1px solid #e4ebef;background:#fff;border-radius:10px;color:#637887}.notification-button b{position:absolute;top:7px;right:8px;width:6px;height:6px;border-radius:50%;background:#ef5e58;border:1px solid #fff}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;animation:fadeDown .45s ease both}.dashboard-heading h1{margin:0 0 5px;font-size:1.5rem;font-weight:800}.dashboard-heading p,.panel-title p{margin:0;color:#8495a1;font-size:0.75rem}.date-chip,.soft-button{border:1px solid #dfe8ed;background:#fff;border-radius:9px;padding:9px 13px;color:#5e7484;font-family:inherit;font-size:0.75rem}.date-chip i,.soft-button i{margin-left:7px;color:var(--accent)}.dashboard-stats .stat{grid-template-columns:51px 1fr;grid-template-rows:auto auto auto;column-gap:12px}.dashboard-stats .stat>i{grid-row:1/4}.dashboard-stats .stat strong{font-size:1.5625rem;line-height:1}.dashboard-stats .stat small{color:#9aa9b3;font-size:0.625rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.75fr);gap:18px}.dashboard-grid.lower{grid-template-columns:minmax(0,1.45fr) minmax(290px,1fr)}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-title h2{font-size:1rem;margin:0 0 4px}.schedule-empty{min-height:215px;border:1px dashed #d9e5ea;border-radius:12px;background:#fafcfd;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#8ca0ad;gap:8px}.schedule-empty>i{width:55px;height:55px;border-radius:17px;background:#e7f6f5;color:var(--accent);display:grid;place-items:center;font-size:1.4375rem;animation:iconFloat 3s ease-in-out infinite}.schedule-empty strong{color:#435c6d;font-size:0.8125rem}.schedule-empty span{font-size:0.6875rem}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid a{min-height:96px;border:1px solid #e3ebef;border-radius:11px;color:#526a7a;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;font-size:0.6875rem;transition:.2s}.quick-grid a:hover{transform:translateY(-3px);border-color:#8dd3d1;box-shadow:0 8px 20px rgba(19,156,154,.09)}.quick-grid i{font-size:1.1875rem;color:var(--accent)}.status-live{font-size:0.625rem;color:#218260;background:#e5f7ee;padding:5px 9px;border-radius:13px}.status-live i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#25ac79;margin-left:5px}.activity-panel .progress-list{grid-template-columns:1fr 1fr}.activity-panel .progress-list span i{width:23px;color:var(--accent)}.finance-values{display:grid;grid-template-columns:1fr 1fr;gap:9px}.finance-values div{background:#f7fafb;border-radius:9px;padding:10px}.finance-values span,.finance-values strong{display:block}.finance-values span{font-size:0.625rem;color:#8496a2}.finance-values strong{font-size:1.125rem;margin-top:3px}.panel-icon{color:var(--accent);font-size:1.375rem}.mini-bars{height:73px;display:flex;align-items:flex-end;gap:9px;padding:12px 6px 0}.mini-bars i{flex:1;border-radius:5px 5px 0 0;background:linear-gradient(#47cac6,#169c99);animation:rise .7s ease both}
@media(max-width:1050px){.top-search{display:none}.dashboard-grid,.dashboard-grid.lower{grid-template-columns:1fr}.activity-panel .progress-list{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.dashboard-heading{align-items:flex-start;gap:12px}.date-chip{font-size:0.625rem}.dashboard-stats .stat{grid-template-columns:48px 1fr}.activity-panel .progress-list{grid-template-columns:1fr}.topbar-actions{gap:7px}.notification-button{display:none}}

/* Trainers */
.trainer-filters{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:10px;padding:14px}.trainer-filters label{position:relative}.trainer-filters label i{position:absolute;right:13px;top:13px;color:#90a2ae}.trainer-filters input,.trainer-filters select,.sub-editor input,.sub-editor select,.trainer-editor textarea{height:42px;border:1px solid #dce6eb;border-radius:9px;background:#fbfdfe;padding:0 12px;font-family:inherit;width:100%}.trainer-filters label input{padding-right:38px}.trainer-cards{display:grid;grid-template-columns:repeat(3,minmax(270px,1fr));gap:17px}.trainer-card{background:#fff;border:1px solid #e8eff3;border-radius:15px;padding:19px;display:flex;gap:15px;box-shadow:0 7px 25px rgba(18,48,74,.045);transition:.22s;animation:rise .45s ease both}.trainer-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(18,48,74,.1)}.trainer-photo{position:relative;width:72px;height:72px;flex:0 0 auto;border-radius:18px;background:#e8f4f5;color:var(--accent);display:grid;place-items:center;font-size:1.6875rem;overflow:hidden}.trainer-photo.large{width:120px;height:120px;font-size:2.625rem}.trainer-photo.xlarge{width:135px;height:135px;font-size:3rem;border-radius:25px}.trainer-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.availability-dot{position:absolute;z-index:2;left:4px;bottom:4px;width:13px;height:13px;border-radius:50%;border:2px solid #fff}.availability-dot.available{background:#21b67a}.availability-dot.busy{background:#e47864}.trainer-card-body{flex:1;min-width:0}.trainer-card-body>div:first-child{display:inline-block}.trainer-card h2{font-size:1rem;margin:2px 0 5px}.trainer-card p{font-size:0.6875rem;color:#8295a1;margin:0}.trainer-card p i{margin-left:6px}.trainer-card .badge-status{float:left}.trainer-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:14px 0}.trainer-card dl div{background:#f7fafb;border-radius:7px;padding:6px}.trainer-card dt{font-size:0.5625rem;color:#899aa5}.trainer-card dd{margin:2px 0 0;font-size:0.6875rem;font-weight:700}.trainer-actions{display:flex;gap:6px;border-top:1px solid #edf2f4;padding-top:11px}.trainer-actions a,.trainer-actions button{border:0;background:none;color:#5e7585;font:inherit;font-size:0.625rem;text-decoration:none;padding:3px}.trainer-actions form{margin-right:auto}.trainer-actions form button{color:#c64b43}.empty{display:flex;flex-direction:column;align-items:center;gap:7px}.empty-icon{font-size:2.25rem;color:#a6beca}.photo-editor{display:flex;flex-direction:column;align-items:center;gap:9px;padding:10px 0 25px}.photo-editor small{color:#899aa5}.upload-label{cursor:pointer}.trainer-editor{max-width:1100px;margin:auto}.editor-section{border-top:1px solid #edf2f4;padding-top:22px;margin-top:5px}.editor-section h2{font-size:1rem;margin:0 0 18px}.editor-section h2 i{color:var(--accent);margin-left:8px}.trainer-editor textarea{height:auto;padding:11px;resize:vertical}.editor-footer{display:flex;justify-content:flex-end;border-top:1px solid #edf2f4;padding-top:20px}.heading-actions{display:flex;gap:9px}.trainer-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px;background:linear-gradient(110deg,#fff,#f6fbfc)}.trainer-hero h2{font-size:1.5625rem;margin:5px 0}.trainer-hero p{color:#728894;max-width:750px}.eyebrow{font-size:0.6875rem;color:var(--accent);font-weight:700}.profile-meta{display:flex;gap:17px;flex-wrap:wrap;font-size:0.6875rem;color:#6d8392}.profile-meta i{color:var(--accent);margin-left:6px}.profile-tabs{position:sticky;top:81px;z-index:8;display:flex;gap:5px;background:#fff;border:1px solid #e7eef2;border-radius:11px;padding:7px;margin-bottom:18px;overflow:auto}.profile-tabs a{color:#607787;text-decoration:none;padding:8px 13px;border-radius:7px;font-size:0.6875rem;white-space:nowrap}.profile-tabs a:hover{background:#e8f6f5;color:#087b79}.detail-section{scroll-margin-top:145px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:0}.detail-grid div{background:#f7fafb;border-radius:9px;padding:11px}.detail-grid dt{font-size:0.625rem;color:#8395a0}.detail-grid dd{margin:4px 0 0;font-size:0.75rem;font-weight:650;min-height:18px}.sub-editor{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:9px;align-items:center;background:#f7fafb;border:1px dashed #dbe6eb;border-radius:11px;padding:13px;margin-bottom:15px}.sub-editor .btn-primary-app{height:42px;padding:8px}.inline-check{display:flex;align-items:center;gap:6px;font-size:0.625rem}.inline-check input{width:auto;height:auto}.record-list{display:grid;gap:8px}.record-list article{display:flex;align-items:center;gap:11px;border:1px solid #e7edf1;border-radius:10px;padding:10px 12px}.record-list article>div{flex:1}.record-list strong,.record-list span{display:block}.record-list strong{font-size:0.75rem}.record-list span{color:#8495a0;font-size:0.625rem;margin-top:3px}.record-icon{width:36px;height:36px;border-radius:9px;background:#e8f6f5;color:var(--accent);display:grid;place-items:center}.icon-btn.danger{color:#c54840;background:#fff0ef}.record-list form{margin:0}.record-list a.icon-btn{display:grid;place-items:center;text-decoration:none}.danger-zone{display:flex;justify-content:space-between;align-items:center;border:1px solid #ffd4d0;background:#fff7f6;border-radius:13px;padding:17px 20px}.danger-zone strong,.danger-zone span{display:block}.danger-zone strong{color:#a7352e}.danger-zone span{font-size:0.625rem;color:#99706d}.danger-zone button{border:0;background:#c8463e;color:#fff;border-radius:8px;padding:9px 13px;font-family:inherit}.editor-flash{animation:editorFlash .7s ease}@keyframes editorFlash{50%{box-shadow:0 0 0 4px rgba(19,156,154,.18)}}
@media(max-width:1150px){.trainer-cards{grid-template-columns:repeat(2,1fr)}.trainer-filters{grid-template-columns:2fr 1fr 1fr}.trainer-filters select:nth-of-type(3){grid-column:auto}.sub-editor{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.trainer-cards{grid-template-columns:1fr}.trainer-filters{grid-template-columns:1fr}.trainer-hero{grid-template-columns:1fr;text-align:center}.trainer-hero .trainer-photo{margin:auto}.profile-meta{justify-content:center}.detail-grid{grid-template-columns:1fr}.sub-editor{grid-template-columns:1fr}.heading-actions{flex-wrap:wrap}.danger-zone{align-items:flex-start;gap:12px}.trainer-card dl{grid-template-columns:repeat(3,1fr)}}


/* Personal typography and consistent icon spacing */
html{font-size:calc(var(--ui-font-size,100%) + 5%)}
.font-scale-form{display:inline-flex;align-items:center;gap:.5rem;height:39px;padding:0 .65rem;border:1px solid #e4ebef;border-radius:10px;background:#fff;color:#637887}.font-scale-form select{border:0;outline:0;background:transparent;color:inherit;font-family:inherit;font-size:.75rem;cursor:pointer}.font-scale-form>i{color:var(--accent)}
.btn-primary-app,.auth-submit,.soft-button,.date-chip,.back-link,.trainer-actions a,.trainer-actions button,.danger-zone button,.link-button,.sidebar nav a,.profile-meta span,.feature-row span{column-gap:.55rem}.btn-primary-app>i,.auth-submit>i,.soft-button>i,.date-chip>i,.back-link>i,.trainer-actions a>i,.trainer-actions button>i,.danger-zone button>i,.link-button>i{margin-inline:0!important;flex:0 0 auto}.icon-btn{gap:0!important}.trainer-actions a,.trainer-actions button,.danger-zone button,.link-button{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:700px){.font-scale-form{padding:0 .5rem}.font-scale-form select{width:62px}.font-scale-form>i{display:none}}

/* Vehicles and centralized notifications */
.vehicle-cards{display:grid;grid-template-columns:repeat(3,minmax(270px,1fr));gap:1.1rem}.vehicle-card{background:#fff;border:1px solid #e7eef2;border-radius:1rem;overflow:hidden;box-shadow:0 7px 25px rgba(18,48,74,.05);transition:.22s}.vehicle-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px rgba(18,48,74,.11)}.vehicle-cover{height:175px;background:#eaf3f5;color:var(--accent);display:grid;place-items:center;position:relative;overflow:hidden;text-decoration:none;font-size:3rem}.vehicle-cover img{width:100%;height:100%;object-fit:cover}.vehicle-cover .badge-status{position:absolute;top:.75rem;right:.75rem;font-size:.68rem}.vehicle-card-body{padding:1rem}.vehicle-card-body h2{font-size:1.2rem;margin:.25rem 0}.vehicle-card-body p{color:#7b909d;font-size:.72rem}.vehicle-card-body p i{margin-inline-end:.4rem}.vehicle-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin:.8rem 0}.vehicle-specs span{background:#f5f9fa;border-radius:.5rem;padding:.5rem .3rem;text-align:center;font-size:.65rem}.vehicle-specs i{display:block;color:var(--accent);margin-bottom:.25rem}.multi-preview{width:min(100%,650px);min-height:130px;border:1px dashed #cadbe3;border-radius:.8rem;background:#f8fbfc;display:flex;gap:.6rem;align-items:center;justify-content:center;padding:.6rem;color:#8aa0ad;font-size:2rem;overflow:auto}.multi-preview img{width:120px;height:100px;object-fit:cover;border-radius:.55rem}.vehicle-editor{max-width:1100px;margin:auto}.vehicle-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(110deg,#fff,#f3fafb)}.vehicle-hero h2{font-size:1.5rem;margin:.3rem 0}.availability-box{display:inline-flex;gap:.45rem;align-items:center;padding:.7rem 1rem;border-radius:2rem;font-weight:700}.availability-box.ok{background:#def6ec;color:#087a52}.availability-box.bad{background:#ffebe8;color:#ae3930}.availability-reasons{display:flex;gap:.5rem;flex-wrap:wrap;margin:-.5rem 0 1rem}.availability-reasons span{padding:.45rem .7rem;background:#fff1ef;color:#ad4138;border-radius:.6rem;font-size:.72rem}.availability-reasons i{margin-inline-end:.4rem}.vehicle-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-bottom:1rem}.vehicle-gallery article{height:150px;position:relative;border-radius:.7rem;overflow:hidden;background:#edf4f6}.vehicle-gallery img{width:100%;height:100%;object-fit:cover}.vehicle-gallery article>span{position:absolute;top:.5rem;right:.5rem;background:#129e83;color:#fff;border-radius:1rem;padding:.25rem .55rem;font-size:.62rem}.vehicle-gallery article>div{position:absolute;left:.45rem;bottom:.45rem;display:flex;gap:.3rem}.vehicle-gallery form{margin:0}.wide-editor{grid-template-columns:repeat(4,minmax(120px,1fr))}.history-table{overflow:auto}.inline-form{display:inline-flex;margin:0}.history-table td:last-child{white-space:nowrap}.history-table td:last-child>*{display:inline-flex;vertical-align:middle}.notification-button{text-decoration:none;display:grid;place-items:center}.notification-button span{position:absolute;top:-.35rem;left:-.35rem;min-width:1.15rem;height:1.15rem;padding:0 .25rem;border-radius:1rem;background:#e24d46;color:#fff;font-size:.6rem;display:grid;place-items:center}.notification-list{display:grid;gap:.7rem}.notification-item{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:1rem;margin:0}.notification-item>i{width:46px;height:46px;border-radius:.8rem;background:#e7f6f5;color:var(--accent);display:grid;place-items:center}.notification-item h2{font-size:.95rem;margin:.15rem 0}.notification-item p,.notification-item small,.notification-item span{font-size:.68rem;color:#7d909c;margin:0}.notification-item.unread{border-right:3px solid var(--accent)}.notification-item.read{opacity:.72}
@media(max-width:1100px){.vehicle-cards{grid-template-columns:repeat(2,1fr)}.vehicle-gallery{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.vehicle-cards{grid-template-columns:1fr}.vehicle-gallery{grid-template-columns:repeat(2,1fr)}.wide-editor{grid-template-columns:1fr}.vehicle-hero{align-items:flex-start;flex-direction:column}.notification-item{grid-template-columns:auto 1fr}.notification-item>a,.notification-item>form{grid-column:2}}
/* Central reference-data administration */
.reference-layout{display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:1rem;align-items:start}.reference-layout>main{display:grid;gap:1rem}.reference-categories{display:grid;gap:.55rem;position:sticky;top:1rem}.reference-category-row{display:flex;gap:.4rem;align-items:center}.reference-category{flex:1;display:flex;align-items:center;gap:.65rem;padding:.75rem;border-radius:12px;color:var(--brand);text-decoration:none;background:#f7fafc;border:1px solid transparent}.reference-category span{flex:1;font-weight:700}.reference-category small{color:#718096}.reference-category.active{background:color-mix(in srgb,var(--accent) 12%,white);border-color:color-mix(in srgb,var(--accent) 35%,white)}.reference-category em{font-size:.75em;color:#b45309}.compact-reference-form{display:grid;gap:.65rem;padding-top:1rem;margin-top:.4rem;border-top:1px solid #e8edf2}.compact-reference-form label{display:grid;gap:.3rem}.compact-reference-form input,.compact-reference-form select{width:100%}.reference-editor{margin-top:1rem}.inline-search{display:flex;gap:.5rem}.inline-search input{min-width:200px}.status-chip.inactive{background:#f1f3f5;color:#667085}.reference-category-row .icon-button{flex:0 0 auto}@media(max-width:850px){.reference-layout{grid-template-columns:1fr}.reference-categories{position:static}.inline-search{width:100%}.inline-search input{min-width:0;flex:1}}
.reference-icon-action{width:38px;height:38px;min-width:38px;display:grid;place-items:center;border:1px solid #e0e9ef;border-radius:50%;background:#fff;color:#688095;box-shadow:0 3px 10px rgba(23,50,72,.06);transition:.2s ease}.reference-icon-action:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,white);background:color-mix(in srgb,var(--accent) 7%,white);transform:translateY(-2px) rotate(-3deg);box-shadow:0 7px 16px rgba(23,50,72,.12)}.reference-row-actions{display:flex;align-items:center;gap:.45rem;white-space:nowrap}.reference-row-actions form{margin:0}.reference-action{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .7rem;border:1px solid transparent;border-radius:999px;background:transparent;font-size:.88em;font-weight:650;transition:.18s ease}.reference-action i{font-size:1.05em}.reference-action.edit{color:#32718b;background:#edf7fa}.reference-action.edit:hover{background:#dff1f5;color:#145b75;transform:translateY(-1px)}.reference-action.delete{color:#a95050;background:#fff5f4}.reference-action.delete:hover{color:#8f2f2f;background:#ffe9e7;transform:translateY(-1px)}@media(max-width:650px){.reference-action span{display:none}.reference-action{width:36px;height:36px;justify-content:center;padding:0}.reference-row-actions{gap:.3rem}}
.face-check-status{display:flex;align-items:center;gap:.55rem;padding:.65rem .85rem;border-radius:12px;background:#f3f6f8;color:#617181;max-width:420px}.face-check-status.checking{color:#315a78}.face-check-status.passed,.verified-text{color:#078461;background:#e9f8f2}.face-check-status.failed{color:#b42318;background:#fff0ee}.face-verified{position:absolute;bottom:0;left:0;color:#0aa879;background:#fff;border-radius:50%;line-height:1}.placeholder-module{display:flex;align-items:center;gap:1rem;color:#667085}.placeholder-module>i{font-size:2rem;color:var(--accent)}.student-cards .trainer-photo{position:relative}
.student-editor label.inline-check{display:flex;align-items:center;gap:.75rem;min-height:48px;padding:.6rem .75rem;border:1px solid #e3e9ee;border-radius:12px;background:#fafcfd;cursor:pointer}.student-editor label.inline-check input[type=checkbox]{appearance:none;-webkit-appearance:none;width:48px;height:27px;min-width:48px;margin:0;border:0;border-radius:999px;background:#cbd5df;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);position:relative;cursor:pointer;transition:background .2s ease}.student-editor label.inline-check input[type=checkbox]::after{content:"";position:absolute;width:21px;height:21px;top:3px;right:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(20,42,60,.25);transition:transform .2s ease}.student-editor label.inline-check input[type=checkbox]:checked{background:var(--accent)}.student-editor label.inline-check input[type=checkbox]:checked::after{transform:translateX(-21px)}.student-editor label.inline-check input[type=checkbox]:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 25%,transparent);outline-offset:2px}.student-editor label.inline-check:has(input:checked){border-color:color-mix(in srgb,var(--accent) 35%,white);background:color-mix(in srgb,var(--accent) 7%,white)}

/* Booking settings */
.booking-settings-heading{align-items:center}.booking-settings-heading h1{margin:.25rem 0}.booking-state{display:flex;align-items:center;gap:.55rem;padding:.65rem 1rem;border-radius:999px;background:#e7f8f1;color:#087a58;font-size:.75rem}.booking-state>i{font-size:.55rem}.booking-state.disabled{background:#fff0ee;color:#b23b32}.booking-settings-form{padding-bottom:74px}.booking-master-switch{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;border-color:#d9eeee;background:linear-gradient(110deg,#fff,#f5fbfb)}.booking-master-switch h2,.setting-section h2,.booking-safety h2{margin:0 0 .25rem}.booking-master-switch p,.setting-section p,.booking-safety p{margin:0;color:#7b8d99;font-size:.72rem}.setting-icon,.setting-title>span{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#e5f6f5;color:var(--accent);font-size:1.15rem}.wide-setting{grid-column:1/-1;display:grid;gap:.45rem}.wide-setting textarea{width:100%;border:1px solid #dce6eb;border-radius:9px;padding:.7rem;font:inherit;resize:vertical}.booking-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.setting-section{margin:0}.setting-title{display:flex;align-items:center;gap:.8rem;margin-bottom:1.15rem}.setting-title h2{font-size:1rem}.compact-grid{gap:.75rem}.compact-grid label>small{color:#8a9aa5;font-size:.62rem}.number-unit{position:relative}.number-unit input{padding-left:4.25rem!important}.number-unit em{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-style:normal;color:#82939e;font-size:.65rem;pointer-events:none}.setting-switches{display:grid;gap:.55rem}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .8rem;border:1px solid #e7edf1;border-radius:11px;background:#fbfdfe;cursor:pointer}.switch-row b,.switch-row small{display:block}.switch-row b{font-size:.75rem}.switch-row small{color:#8495a0;font-size:.62rem;margin-top:.18rem}.switch-control{display:flex;align-items:center;gap:.55rem;cursor:pointer}.switch-control>input{position:absolute;opacity:0;pointer-events:none}.switch-control>span{display:block;width:46px;height:25px;border-radius:999px;background:#cbd5df;position:relative;transition:.2s;flex:none}.switch-control>span:after{content:"";position:absolute;width:19px;height:19px;right:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(20,42,60,.25);transition:.2s}.switch-control>input:checked+span{background:var(--accent)}.switch-control>input:checked+span:after{transform:translateX(-21px)}.switch-control>input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--accent) 25%,transparent);outline-offset:2px}.switch-control em{font-style:normal;font-size:.7rem}.deadline-grid,.separated{margin-top:.8rem}.waiting-capacity{display:grid;grid-template-columns:1fr 100px;align-items:center;gap:1rem;margin-top:.75rem;font-size:.72rem}.waiting-capacity input{height:42px;border:1px solid #dce6eb;border-radius:9px;padding:.5rem;font:inherit}.booking-safety{display:flex;align-items:center;gap:1rem;margin-top:1rem;border-color:#d9e9f4;background:#f7fbfe}.booking-safety>i{font-size:1.6rem;color:#2879a6}.sticky-save{position:fixed;z-index:12;right:calc(252px + 28px);left:28px;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid #e2eaee;border-bottom:0;border-radius:14px 14px 0 0;box-shadow:0 -8px 30px rgba(18,48,74,.08);padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.sticky-save>span{color:#718592;font-size:.7rem}
@media(max-width:950px){.booking-settings-grid{grid-template-columns:1fr}.sticky-save{right:18px;left:18px}}@media(max-width:600px){.booking-master-switch{grid-template-columns:auto 1fr}.booking-master-switch>.switch-control{grid-column:1/-1;justify-self:start}.booking-state{align-self:flex-start}.compact-grid{grid-template-columns:1fr}.sticky-save>span{display:none}.sticky-save{justify-content:center}.sticky-save button{width:100%}}
.trainer-editor label>small{color:#8295a1;font-size:.65rem}.trainer-default-vehicle{display:flex;align-items:center;gap:.85rem;padding:1rem 1.2rem}.trainer-default-vehicle>i{width:44px;height:44px;border-radius:12px;background:#e7f6f5;color:var(--accent);display:grid;place-items:center;font-size:1.15rem}.trainer-default-vehicle>div{flex:1}.trainer-default-vehicle span,.trainer-default-vehicle strong{display:block}.trainer-default-vehicle>div span{font-size:.65rem;color:#8495a0}.trainer-default-vehicle>div strong{font-size:.82rem;margin-top:.2rem}
/* Bookings */
.booking-filters{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:.75rem;align-items:end}.booking-filters label{display:grid;gap:.35rem;font-size:.7rem}.booking-filters input,.booking-filters select,.booking-editor textarea,.booking-status-form input,.booking-status-form select{width:100%;height:42px;border:1px solid #dce6eb;border-radius:9px;background:#fbfdfe;padding:0 .75rem;font-family:inherit}.booking-editor textarea{height:auto;padding:.75rem;resize:vertical}.week-navigation{display:flex;justify-content:space-between;align-items:center;margin:1rem 0}.week-navigation a{display:flex;align-items:center;gap:.5rem;color:var(--accent);text-decoration:none;font-size:.72rem}.week-navigation strong{font-size:.78rem}.booking-week{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:.65rem;overflow-x:auto;padding-bottom:.5rem}.booking-day{background:#fff;border:1px solid #e5edf1;border-radius:13px;min-height:330px;overflow:hidden}.booking-day.today{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}.booking-day>header{display:grid;grid-template-columns:1fr auto;position:relative;padding:.8rem;background:#f5f9fa}.booking-day>header span,.booking-day>header b{font-size:.7rem}.booking-day>header em{position:absolute;left:.55rem;top:.55rem;background:#e2f4f3;color:var(--accent);border-radius:999px;padding:.15rem .4rem;font-size:.6rem;font-style:normal}.booking-day>div{display:grid;gap:.5rem;padding:.55rem}.day-empty{text-align:center;color:#9aabb5;font-size:.65rem;margin:3rem 0}.booking-card{display:grid;grid-template-columns:auto 1fr;gap:.55rem;border-right:3px solid var(--accent);border-radius:8px;background:#f8fbfc;padding:.55rem;color:inherit;text-decoration:none}.booking-card>time{font-size:.72rem;font-weight:750}.booking-card>time small,.booking-card>div span{display:block;font-size:.58rem;color:#7d909b}.booking-card>div strong{display:block;font-size:.68rem}.booking-card>div i{width:16px;color:var(--accent)}.booking-card>em{grid-column:1/-1;font-size:.56rem;font-style:normal;color:#657b89}.booking-card.status-5,.booking-card.status-6{border-color:#c65b52;opacity:.7}.booking-card.status-4{border-color:#16875f}.booking-editor{max-width:1000px;margin:auto}.booking-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.booking-hero>div{position:relative;background:#f7fafb;border-radius:11px;padding:.85rem .85rem .85rem 3rem}.booking-hero>div>i{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--accent);font-size:1.25rem}.booking-hero span,.booking-hero strong,.booking-hero small{display:block}.booking-hero span,.booking-hero small{font-size:.62rem;color:#82949f}.booking-hero strong{font-size:.78rem;margin:.15rem 0}.booking-status-form{display:grid;grid-template-columns:1.3fr repeat(3,1fr) auto;gap:.65rem;align-items:center}.booking-status-form h2{font-size:.9rem;margin:0}.booking-status-form p{font-size:.62rem;color:#82949f;margin:.2rem 0 0}
@media(max-width:950px){.booking-filters{grid-template-columns:1fr 1fr}.booking-hero{grid-template-columns:1fr 1fr}.booking-status-form{grid-template-columns:1fr 1fr}.booking-status-form>div{grid-column:1/-1}}@media(max-width:600px){.booking-filters,.booking-hero,.booking-status-form{grid-template-columns:1fr}.week-navigation strong{display:none}}

/* Student booking portal */
.student-booking-page{max-width:1320px;margin:auto}.student-booking-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.student-booking-heading>div:first-child>span{color:var(--accent);font-size:.72rem;font-weight:700}.student-booking-heading h1{font-size:2rem;margin:.15rem 0}.student-booking-heading p{margin:0;color:#718694;font-size:.8rem}.student-branch{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:.65rem;padding:.75rem 1rem;border-radius:14px;background:#fff;border:1px solid #e5edf1;min-width:190px}.student-branch i{grid-row:1/3;width:40px;height:40px;border-radius:12px;background:#e7f6f5;color:var(--accent);display:grid;place-items:center}.student-branch span{font-size:.62rem;color:#8496a1}.student-branch strong{font-size:.76rem}.booking-disabled{display:flex;gap:1rem;align-items:center}.booking-disabled>i{font-size:2rem;color:#c6534b}.booking-methods{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.booking-method{position:relative;display:grid;grid-template-columns:auto auto 1fr auto;gap:1rem;align-items:center;padding:1.35rem;border:2px solid #e6edf1;border-radius:17px;background:#fff;cursor:pointer;box-shadow:0 8px 28px rgba(18,48,74,.045);transition:.22s}.booking-method:hover{transform:translateY(-2px);box-shadow:0 13px 34px rgba(18,48,74,.09)}.booking-method.selected{border-color:var(--accent);background:linear-gradient(110deg,#fff,color-mix(in srgb,var(--accent) 5%,white));box-shadow:0 9px 30px color-mix(in srgb,var(--accent) 13%,transparent)}.booking-method>input{position:absolute;opacity:0}.method-radio{width:22px;height:22px;border-radius:50%;border:2px solid #b8c7d0;box-shadow:inset 0 0 0 4px #fff}.booking-method.selected .method-radio{background:var(--accent);border-color:var(--accent)}.method-icon{width:58px;height:58px;border-radius:17px;background:#edf5fa;color:#275d80;display:grid;place-items:center;font-size:1.35rem}.booking-method.smart .method-icon{background:#ddf7f5;color:var(--accent)}.booking-method strong,.booking-method small{display:block}.booking-method strong{font-size:1.05rem;margin-bottom:.3rem}.booking-method small{font-size:.68rem;color:#7d909d}.booking-method>i{color:#9aabb5}.booking-preferences{display:grid;grid-template-columns:auto 1fr 1.5fr 1fr 1fr;gap:0;padding:1.2rem;align-items:center}.preference-block{padding:0 1rem;border-left:1px solid #e3ebef;min-width:0}.preference-block>span{display:block;font-size:.67rem;font-weight:700;margin-bottom:.55rem;color:#475f70}.count-stepper{display:flex;align-items:center;gap:.65rem}.count-stepper button{width:34px;height:34px;border:0;border-radius:10px;background:#edf2f6;color:#315a75}.count-stepper strong{min-width:42px;text-align:center;border:1px solid #dce6eb;border-radius:10px;padding:.42rem}.choice-pills,.day-pills{display:flex;gap:.35rem;flex-wrap:wrap}.choice-pills button,.choice-pills label span,.day-pills span{display:block;border:1px solid #dce6eb;background:#f9fbfc;color:#536b7b;border-radius:10px;padding:.5rem .8rem;font:inherit;font-size:.66rem;cursor:pointer;white-space:nowrap}.choice-pills button.active,.choice-pills label:has(input:checked) span,.day-pills label:has(input:checked) span{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 5px 13px color-mix(in srgb,var(--accent) 20%,transparent)}.choice-pills input,.day-pills input{position:absolute;opacity:0}.booking-start input{height:39px;width:100%;border:1px solid #dce6eb;border-radius:10px;padding:.45rem;font:inherit;font-size:.7rem}.match-strip{grid-column:1/5;margin-top:1rem;padding-top:1rem;border-top:1px solid #e6edf1;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;font-size:.65rem}.match-strip>span{font-weight:700;color:#526b7b}.match-strip>span i{color:#13ad8b;margin-left:.3rem}.match-strip b{padding:.45rem .7rem;background:#f2f7f9;border-radius:999px;color:#526b7b;font-weight:600}.match-strip b i{margin-left:.35rem;color:#315f7b}.show-suggestions{grid-column:5;grid-row:2;margin:1rem 1rem 0 0;height:48px;border:0;border-radius:11px;background:linear-gradient(90deg,#139c9a,#1489a7);color:#fff;font:inherit;font-weight:700;box-shadow:0 8px 20px rgba(19,156,154,.22);display:flex;align-items:center;justify-content:center;gap:.55rem}.suggestions-section{scroll-margin-top:85px;margin:1.4rem 0}.suggestions-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.suggestions-title h2{font-size:1.2rem;margin:0}.suggestions-title p{font-size:.68rem;color:#7c909c;margin:.2rem 0 0}.suggestions-title>span{font-size:.65rem;background:#e7f8f3;color:#087d60;padding:.45rem .7rem;border-radius:999px}.suggestion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.suggestion-card{position:relative;background:#fff;border:2px solid transparent;border-radius:15px;padding:1.1rem;box-shadow:0 8px 27px rgba(18,48,74,.06);transition:.2s}.suggestion-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(18,48,74,.11)}.suggestion-card.chosen{border-color:var(--accent);background:linear-gradient(120deg,#fff,#f3fbfa)}.available-badge{display:inline-flex;align-items:center;gap:.35rem;background:#e0f8e9;color:#118452;border-radius:999px;padding:.25rem .55rem;font-size:.6rem}.available-badge i{font-size:.42rem}.best-badge{position:absolute;left:1rem;top:1rem;color:#a16600;background:#fff4d5;border-radius:999px;padding:.25rem .55rem;font-size:.58rem}.suggestion-card h3{font-size:.9rem;margin:1rem 0 .6rem}.suggestion-card h3 b{margin-right:.3rem}.suggestion-card time{display:block;color:#244a65;font-size:.8rem;font-weight:750;margin-bottom:.7rem}.suggestion-card time i,.suggestion-card p i{width:20px;color:var(--accent)}.suggestion-card p{font-size:.66rem;color:#738895;margin:.35rem 0}.suggestion-card>button{width:100%;height:40px;margin-top:.8rem;border:1px solid var(--accent);border-radius:9px;background:#fff;color:var(--accent);font:inherit;font-size:.68rem;font-weight:700}.suggestion-card.chosen>button{background:var(--accent);color:#fff}.booking-lower-grid{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:1rem;align-items:start}.selected-lessons,.upcoming-lessons{margin:0}.selected-title{display:flex;align-items:center;gap:.6rem;border-bottom:1px solid #e7edf1;padding-bottom:.8rem;margin-bottom:.8rem}.selected-title>i{color:var(--accent);font-size:1.1rem}.selected-title h2{font-size:.9rem;margin:0;flex:1}.selected-title b{min-width:25px;height:25px;border-radius:50%;background:#e5f6f5;color:var(--accent);display:grid;place-items:center;font-size:.65rem}.selected-empty{min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#93a3ad;gap:.4rem;font-size:.65rem}.selected-empty i{font-size:1.5rem}.selected-list{display:grid;gap:.45rem}.selected-list article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;background:#f5f9fa;border-radius:10px;padding:.6rem}.selected-list article>b{width:24px;height:24px;border-radius:50%;background:#dff4f3;color:var(--accent);display:grid;place-items:center;font-size:.62rem}.selected-list strong,.selected-list span{display:block;font-size:.62rem}.selected-list span{color:#7b8f9b;margin-top:.15rem}.selected-list button{border:0;background:none;color:#8194a0}.confirm-student-booking{width:100%;height:46px;margin-top:.8rem;border:0;border-radius:10px;background:linear-gradient(90deg,#139c9a,#1489a7);color:#fff;font:inherit;font-size:.75rem;font-weight:700}.selected-lessons>small{display:block;text-align:center;color:#8b9aa4;font-size:.58rem;margin-top:.5rem}.upcoming-list{display:grid;gap:.55rem}.upcoming-list article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;background:#f7fafb;border-radius:11px;padding:.65rem}.upcoming-list time{width:52px;text-align:center;border-left:1px solid #dde7ec}.upcoming-list time strong,.upcoming-list time span,.upcoming-list article>div strong,.upcoming-list article>div span{display:block}.upcoming-list time strong{font-size:1rem;color:var(--accent)}.upcoming-list time span,.upcoming-list article>div span{font-size:.58rem;color:#7e909b}.upcoming-list article>div strong{font-size:.7rem}.upcoming-list article>div i{width:16px;color:var(--accent)}.upcoming-list em{font-style:normal;font-size:.58rem;background:#e5f6ef;color:#087d59;padding:.3rem .55rem;border-radius:999px}
@media(max-width:1150px){.booking-preferences{grid-template-columns:repeat(2,1fr);gap:1rem}.preference-block{border:0;padding:0}.match-strip{grid-column:1/-1}.show-suggestions{grid-column:1/-1;grid-row:auto;margin:0}.suggestion-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:750px){.student-booking-heading{align-items:flex-start}.student-branch{display:none}.student-booking-heading h1{font-size:1.55rem}.booking-methods,.booking-preferences,.suggestion-grid,.booking-lower-grid{grid-template-columns:1fr}.booking-method{grid-template-columns:auto auto 1fr;padding:1rem}.booking-method>i{display:none}.match-strip,.show-suggestions{grid-column:1}.suggestions-title{align-items:flex-start;gap:.5rem}.suggestions-title>span{display:none}.booking-lower-grid{display:flex;flex-direction:column}.selected-lessons,.upcoming-lessons{width:100%}}

/* Arabic inline validation */
.conversation-list{display:grid;gap:10px}.conversation-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:#fff;border:1px solid #e5edf1;border-radius:13px;padding:14px;color:inherit;text-decoration:none}.conversation-card:hover{border-color:var(--accent);transform:translateY(-1px)}.conversation-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e6f8ef;color:#14965d;font-size:1.4rem}.conversation-card strong,.conversation-card small{display:block}.conversation-card small{color:#7a8d99}.conversation-info{text-align:left}.conversation-info time{display:block;font-size:.75rem;color:#7a8d99}.conversation-info b{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:20px;background:#14965d;color:#fff}.chat-window{max-width:1000px;margin-inline:auto}.chat-messages{display:flex;flex-direction:column;gap:10px;min-height:350px;max-height:65vh;overflow:auto;padding:12px;background:#eaf2ed;border-radius:13px}.chat-message{display:flex}.chat-message>div{max-width:75%;padding:10px 13px;border-radius:12px;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.05)}.chat-message.outbound{justify-content:flex-start}.chat-message.outbound>div{background:#d9fdd3}.chat-message p{margin:0 0 5px;white-space:pre-wrap}.chat-message small{color:#728078;font-size:.68rem}.chat-message em{display:block;color:#b42318;font-size:.72rem}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}.chat-compose textarea{border:1px solid #dce5eb;border-radius:10px;padding:11px;min-height:52px}
.ajax-form-errors{display:flex;align-items:flex-start;gap:.6rem;margin:0 0 1rem;padding:.75rem .9rem;border:1px solid #f1c9c5;border-radius:11px;background:#fff2f0;color:#a5352e;font-size:.72rem;animation:validationShake .28s ease}.ajax-form-errors[hidden]{display:none}.ajax-form-errors>i{margin-top:.16rem}.field-error{display:block;min-height:0;color:#b42318!important;font-size:.64rem!important;font-weight:650;margin-top:.15rem}.field-error:empty{display:none}.password-hint{display:block;color:#778b98!important;font-size:.6rem!important;font-weight:400}.input-validation-error{border-color:#d84b43!important;background:#fff8f7!important;box-shadow:0 0 0 3px rgba(216,75,67,.1)!important}.input-validation-error:focus{outline:0;box-shadow:0 0 0 3px rgba(216,75,67,.17)!important}.unique-valid{border-color:#1c9b68!important;background:#f6fffa!important;box-shadow:0 0 0 3px rgba(28,155,104,.1)!important}.unique-invalid{border-color:#d84b43!important;background:#fff8f7!important;box-shadow:0 0 0 3px rgba(216,75,67,.1)!important}.error-row{cursor:pointer}.error-row:hover{background:#f3f9fa}.error-row.is-loading{opacity:.55;pointer-events:none}.error-details-modal .modal-header h2{display:flex;align-items:center;gap:10px}.error-details-modal .modal-header h2 i{color:#c34638}.error-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px}.error-meta>div{background:#f5f8fa;border:1px solid #e5edf1;border-radius:10px;padding:12px;display:grid;gap:5px}.error-meta span{color:#758895;font-size:.8rem}.error-meta strong{overflow-wrap:anywhere}.error-stack{direction:ltr;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;background:#122536;color:#e3eef5;padding:18px;border-radius:12px;max-height:420px;font:13px/1.65 Consolas,monospace}@media(max-width:700px){.error-meta{grid-template-columns:1fr}}@keyframes validationShake{25%{transform:translateX(3px)}50%{transform:translateX(-3px)}75%{transform:translateX(2px)}}
.category-rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1rem}.category-rate-card{border:1px solid #dce5ec;border-radius:16px;padding:1rem;background:#f8fafc;display:grid;gap:.8rem;opacity:.68;transition:.2s ease}.category-rate-card.selected{opacity:1;border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,white);box-shadow:0 8px 24px rgba(18,48,74,.08)}.category-rate-card>label:not(.inline-check){display:grid;gap:.35rem}.category-rate-card input[type=number]{width:100%}.category-rate-section>p{color:#64748b;margin:.35rem 0 0}
.account-total{display:grid;text-align:left}.account-total span{color:#64748b;font-size:.85rem}.account-total strong{font-size:1.45rem;color:var(--accent)}.account-bulk-form{display:flex;gap:.8rem;align-items:end;padding:1rem;border-radius:14px;background:#f8fafc;margin:1rem 0}.account-bulk-form label{display:grid;gap:.35rem}.account-bulk-form .grow{flex:1}.account-sheet-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:14px}.account-sheet{width:100%;border-collapse:separate;border-spacing:0;white-space:nowrap}.account-sheet th,.account-sheet td{padding:.75rem;border-bottom:1px solid #e8eef3;text-align:right}.account-sheet th{background:#f1f5f9;position:sticky;top:0;z-index:1}.account-sheet tr:last-child td{border-bottom:0}.account-sheet tr.cancelled{opacity:.55;background:#f8fafc}.inline-price-form input[type=number]{width:105px;padding:.5rem;border:1px solid #cbd5e1;border-radius:8px;font-weight:700}.inline-price-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent);outline:0}.price-history-button{border:0;background:transparent;color:#64748b;text-decoration:underline dotted}@media(max-width:760px){.account-bulk-form{align-items:stretch;flex-direction:column}}
.price-history-dialog{border:0;border-radius:18px;padding:0;min-width:min(520px,92vw);box-shadow:0 24px 70px rgba(15,23,42,.28);direction:rtl}.price-history-dialog::backdrop{background:rgba(15,23,42,.55)}.price-history-dialog header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0}.price-history-dialog header h2{font-size:1.1rem;margin:0}.price-history-dialog header button{border:0;background:#eef2f6;border-radius:50%;width:34px;height:34px;font-size:1.4rem}.price-history-dialog>div{padding:1rem;display:grid;gap:.75rem}.price-history-dialog article{display:grid;gap:.3rem;padding:.8rem;border-radius:12px;background:#f8fafc}.price-history-dialog article span{white-space:normal}.price-history-dialog article small{color:#64748b}
/* الفروع والنماذج الإرشادية */
.branch-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.branch-admin-card{display:flex;flex-direction:column;gap:10px}.branch-admin-card>div,.branch-admin-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.branch-admin-card footer{margin-top:auto}.guided-form>section{padding:20px 0;border-bottom:1px solid #e5ebf0}.guided-form>section>p,.guided-form small{color:#66778a}.editor-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:22px}
.finance-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:15px;margin:18px 0}.finance-summary-grid article{background:#fff;border:1px solid #dce6ed;border-radius:17px;padding:20px;display:flex;flex-direction:column;gap:8px}.finance-summary-grid strong{font-size:1.7rem;color:var(--brand)}.source-request-banner{grid-column:1/-1;display:flex;gap:12px;align-items:center;background:#eaf8f2;color:#166b4b;padding:14px 18px;border-radius:14px}.source-request-banner div{display:flex;flex-direction:column}.help-page{max-width:1250px;margin:auto}.help-hero{background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;border-radius:26px;padding:34px;display:grid;grid-template-columns:1fr minmax(280px,420px);align-items:center;gap:25px}.help-hero label{display:flex;align-items:center;gap:10px;background:#fff;color:#526477;padding:0 16px;border-radius:15px}.help-hero input{width:100%;border:0;padding:16px;outline:0}.help-shortcuts{display:flex;gap:10px;overflow:auto;padding:18px 0}.help-shortcuts a{white-space:nowrap;background:#fff;border:1px solid #dce6ed;border-radius:12px;padding:10px 14px;text-decoration:none;color:var(--brand)}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.help-grid article{scroll-margin-top:20px;background:#fff;border:1px solid #dce6ed;border-radius:20px;padding:22px;display:flex;gap:16px}.help-grid article>i{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:14px;background:#e9f7f6;color:var(--accent);font-size:1.25rem}.help-grid h2{font-size:1.2rem}.help-grid p,.help-grid li{color:#617287;line-height:1.8}.help-empty{text-align:center;padding:50px}@media(max-width:800px){.help-hero,.help-grid{grid-template-columns:1fr}.help-hero{text-align:center}.help-grid article{flex-direction:column}}
