@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg: #f5f5f5;--surface: #ffffff;--surface-2: #fafafa;--primary: #0a0a0a;--primary-hover: #222222;--primary-light: #f2f2f2;--primary-mid: #e8e8e8;--text: #0a0a0a;--text-2: #333333;--muted: #737373;--muted-2: #a3a3a3;--border: #e8e8e8;--border-2: #d4d4d4;--success: #16a34a;--success-bg: #dcfce7;--danger: #dc2626;--danger-bg: #fee2e2;--danger-border: #fca5a5;--warning: #d97706;--warning-bg: #fef3c7;--shadow-xs: 0 1px 2px rgba(0,0,0,.05);--shadow-sm: 0 1px 4px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.03);--shadow-md: 0 4px 16px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.03);--shadow-lg: 0 12px 32px rgba(0,0,0,.1), 0 4px 8px rgba(0,0,0,.05);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--sidebar-w: 256px;--topbar-h: 0px;--logo-star-a: #6d28d9;--logo-star-b: #2563eb;--logo-star-c: #06b6d4;--logo-cent-a: #1e1b4b;--logo-cent-b: #0c4a6e}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes fromLeft{0%{opacity:0;transform:translate(-36px);filter:blur(3px)}to{opacity:1;transform:translate(0);filter:blur(0)}}@keyframes fromRight{0%{opacity:0;transform:translate(36px);filter:blur(3px)}to{opacity:1;transform:translate(0);filter:blur(0)}}@keyframes panelLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes panelRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.page-anim{animation:fadeSlideUp .22s cubic-bezier(.22,.61,.36,1) both}.cat-chevron{font-size:10px;opacity:.5;transition:transform .25s cubic-bezier(.22,.61,.36,1),opacity .2s;display:inline-flex;align-items:center}.cat-chevron.open{transform:rotate(180deg);opacity:.9}.category-list-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.22,.61,.36,1);overflow:hidden}.category-list-wrap.open{grid-template-rows:1fr}.category-list-wrap .category-list{overflow:hidden;min-height:0}.category-list-wrap.open .category-btn{animation:slideDown .2s cubic-bezier(.22,.61,.36,1) both}.lp-logo{animation:fromLeft .55s .3s cubic-bezier(.16,1,.3,1) both}.lp-hero{animation:fromLeft .6s .42s cubic-bezier(.16,1,.3,1) both}.lp-features{animation:fromLeft .55s .56s cubic-bezier(.16,1,.3,1) both}.lp-copy{animation:fromLeft .4s .68s cubic-bezier(.16,1,.3,1) both}.lp-feature:nth-child(1){animation:fromLeft .45s .56s cubic-bezier(.16,1,.3,1) both}.lp-feature:nth-child(2){animation:fromLeft .45s .64s cubic-bezier(.16,1,.3,1) both}.lp-feature:nth-child(3){animation:fromLeft .45s .72s cubic-bezier(.16,1,.3,1) both}.lp-form-header{animation:fromRight .55s .35s cubic-bezier(.16,1,.3,1) both}.lp-field:nth-child(1){animation:fromRight .5s .48s cubic-bezier(.16,1,.3,1) both}.lp-field:nth-child(2){animation:fromRight .5s .58s cubic-bezier(.16,1,.3,1) both}.lp-btn{animation:fromRight .5s .68s cubic-bezier(.16,1,.3,1) both}.lp-error{animation:fromRight .3s 0s cubic-bezier(.16,1,.3,1) both}.group-card{transition:border-color .18s,box-shadow .18s,transform .18s}.group-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.kpi-card{transition:box-shadow .18s,transform .18s}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000012}n.kpi-card-link:hover{box-shadow:0 6px 20px #2563eb21;border-color:#93c5fd}.lesson-card{transition:border-color .15s,background .15s,transform .15s}.lesson-card:hover{transform:translate(2px)}.data-table tbody tr{transition:background .12s}.button{transition:background .15s,transform .1s,box-shadow .15s}.button:active:not(:disabled){transform:scale(.97)}.btn-sm{transition:background .12s,border-color .12s,transform .1s}.btn-sm:active{transform:scale(.96)}.lp-btn{transition:background .15s,transform .12s!important}.modal{animation:scaleIn .2s cubic-bezier(.22,.61,.36,1) both}.modal-overlay{animation:fadeIn .15s ease both}.audit-entry{animation:fadeSlideUp .2s cubic-bezier(.22,.61,.36,1) both}.nav-page-btn{transition:background .15s,color .15s,transform .12s}.nav-page-btn:active{transform:scale(.97)}.sidebar{animation:fadeIn .3s ease both}.content{animation:fadeSlideUp .3s .05s cubic-bezier(.22,.61,.36,1) both}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{color:var(--text);font-weight:700;line-height:1.3}a{color:var(--primary);text-decoration:none}button{font-family:inherit}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{background:#0a0a0a;border-right:none;display:flex;flex-direction:column;height:100vh;position:sticky;top:0;overflow-y:auto;z-index:30;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.brand{padding:18px 16px 14px;font-size:15px;font-weight:800;letter-spacing:-.02em;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;display:flex;align-items:center;gap:10px}.brand-minaret{opacity:.9;flex-shrink:0;filter:drop-shadow(0 0 6px rgba(0,180,80,.35)) drop-shadow(0 2px 4px rgba(0,0,0,.4))}.sidebar-nav{flex:1;overflow-y:auto;padding:10px 8px;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.nav-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:#ffffff4d;padding:10px 10px 4px}.nav-section-label.mt-3{margin-top:6px}.nav-page-btn{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;background:none;border:none;border-radius:var(--radius-sm);color:#ffffff80;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .12s,color .12s;text-align:left}.nav-page-btn:hover{background:#ffffff12;color:#ffffffd9}.nav-page-btn.active{background:#fff;color:#0a0a0a;font-weight:600}.category-list{display:flex;flex-direction:column;gap:1px;padding-left:22px;margin:2px 0 4px}.category-btn{width:100%;border:none;background:none;color:#fff6;text-align:left;padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;transition:background .12s,color .12s}.category-btn:hover{background:#ffffff12;color:#fffc}.category-btn.active{background:#ffffff1f;color:#fff;font-weight:600}.sidebar-footer{flex-shrink:0;padding:10px 12px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:8px}.user-info{display:flex;align-items:center;gap:10px;padding:2px 0}.avatar{width:34px;height:34px;border-radius:50%;background:#ffffff26;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0;position:relative;overflow:hidden}.avatar-btn{border:none;cursor:pointer;padding:0;transition:opacity .15s}.avatar-btn:disabled{opacity:.6;cursor:default}.avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#0000008c;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff;opacity:0;transition:opacity .15s}.avatar-btn:hover .avatar-overlay,.avatar-btn.uploading .avatar-overlay{opacity:1}.avatar-btn.uploading .avatar-overlay svg{animation:spin .7s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.user-meta{display:flex;flex-direction:column;gap:2px;overflow:hidden;min-width:0}.user-name{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ffffffd9}.role-badge{font-size:10px;padding:2px 8px;border-radius:999px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;width:fit-content;background:#ffffff1f;color:#fff9}.logout-btn{display:flex;align-items:center;gap:7px;width:100%;background:none;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);padding:7px 12px;color:#ffffff73;cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;transition:background .12s,color .12s,border-color .12s}.logout-btn:hover{background:#dc262626;border-color:#dc262666;color:#f87171}.mobile-topbar{display:none}.menu-toggle{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;cursor:pointer;color:var(--text);font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .12s}.menu-toggle:hover{background:var(--bg)}.mobile-brand{font-weight:700;font-size:15px;color:var(--text);letter-spacing:-.01em}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:25}.content{min-height:100vh;display:flex;flex-direction:column;overflow:hidden;position:relative}.content-watermark{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0;opacity:.08}.lessons-page{display:flex;flex-direction:column;height:100%;min-height:0;flex:1}.lessons-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.lessons-header .header-right{display:flex;align-items:center;gap:12px}.lessons-body{display:grid;grid-template-columns:300px 1fr;flex:1;min-height:0;overflow:hidden}.lesson-panel{background:var(--surface);border-right:1px solid var(--border);padding:16px 14px;display:flex;flex-direction:column;overflow-y:auto;min-height:0}.lesson-panel:last-child{border-right:none}.header{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;background:var(--surface);border-bottom:1px solid var(--border)}.header-right{display:flex;align-items:center;gap:12px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:4px;font-weight:500}h1{font-size:20px;font-weight:700}.panels{display:grid;grid-template-columns:1fr 1.4fr;gap:0;flex:1;min-height:0}.panel{background:var(--surface);border-right:1px solid var(--border);padding:20px;display:flex;flex-direction:column;overflow-y:auto}.panel:last-child{border-right:none}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-head h2{margin:0;font-size:14px;font-weight:600;color:var(--text-2)}.panel-head-actions{display:flex;align-items:center;gap:8px}.lesson-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:4px}.lesson-card{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:10px 14px;text-align:left;cursor:pointer;transition:border-color .12s,background .12s}.lesson-card:hover{border-color:var(--border-2);background:var(--surface-2)}.lesson-card.selected{border-color:#0a0a0a;background:#f2f2f2}.lesson-card:after{display:none}.lesson-number{font-size:11px;color:var(--muted-2)}.lesson-title{font-weight:600;margin:2px 0;font-size:13px;color:var(--text)}.lesson-section{font-size:12px;color:var(--danger)}.lesson-list-item{display:flex;align-items:center;gap:6px}.lesson-list-item .lesson-card{flex:1}.lesson-actions{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.icon-action{background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--muted);cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:10px;transition:all .12s;padding:0}.icon-action:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.icon-action:disabled{opacity:.3;cursor:not-allowed}.icon-action.danger:hover{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.form{display:flex;flex-direction:column;gap:12px;flex:1}.field-value-static{font-weight:600;padding:6px 0;color:var(--text)}input[type=text],input[type=password],input[type=number],input[type=date],textarea,select{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font:inherit;font-size:14px;background:var(--surface);color:var(--text);transition:border-color .12s,box-shadow .12s;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-mid)}textarea{min-height:110px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted-2)}input.readonly,textarea.readonly{background:var(--surface-2);opacity:.6;cursor:not-allowed}select{cursor:pointer}.updated-info{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);margin-top:4px}.readonly-notice{font-size:12px;color:var(--muted);text-align:center;padding:8px;border:1px dashed var(--border);border-radius:var(--radius-sm);margin-top:4px}.button{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:var(--radius-sm);padding:8px 16px;font-weight:600;font-size:13.5px;cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s;white-space:nowrap;background:var(--primary);color:#fff}.button:hover:not(:disabled){background:var(--primary-hover)}.button:disabled{opacity:.5;cursor:not-allowed}.button.secondary{background:var(--surface);color:var(--text-2);border-color:var(--border-2)}.button.secondary:hover:not(:disabled){background:var(--surface-2)}.button.small{padding:5px 12px;font-size:12.5px}.button.danger{background:var(--danger)}.button.danger:hover:not(:disabled){background:#b91c1c}.header-actions{display:flex;gap:8px;align-items:center}.btn-icon{background:none;border:none;cursor:pointer;padding:5px 7px;border-radius:var(--radius-sm);font-size:14px;color:var(--muted);transition:background .12s,color .12s;display:inline-flex;align-items:center}.btn-icon:hover{background:var(--surface-2);color:var(--text)}.btn-icon.danger:hover{background:var(--danger-bg);color:var(--danger)}.btn-sm{padding:5px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:12.5px;cursor:pointer;transition:background .12s,border-color .12s;display:inline-flex;align-items:center;gap:5px;font-family:inherit}.btn-sm:hover{background:var(--surface-2);border-color:var(--border-2)}.btn-sm.danger{border-color:var(--danger-border);color:var(--danger)}.btn-sm.danger:hover{background:var(--danger-bg)}.icon-btn{display:inline-flex;align-items:center;gap:6px}.progress{width:180px;background:var(--border);border-radius:999px;overflow:hidden;height:7px}.progress-bar{height:100%;background:var(--primary);transition:width .4s ease}.progress-bar:after{display:none}.tag{background:#f2f2f2;color:#333;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:500;border:1px solid #e0e0e0}.badge{background:#f2f2f2;color:#333;padding:2px 8px;border-radius:20px;font-size:12px;font-weight:600}.status-badge{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.status-badge.active{background:var(--success-bg);color:var(--success)}.status-badge.inactive{background:var(--danger-bg);color:var(--danger)}.label{color:var(--muted);font-size:12px}.error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border);border-radius:var(--radius-sm);padding:10px 14px}.muted{color:var(--muted)}.muted-sm{font-size:12px;color:var(--muted)}.text-muted{color:var(--muted)}.center{text-align:center}.mt-1{margin-top:12px}.flex-1{flex:1}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.py-4{padding-top:16px;padding-bottom:16px}.py-8{padding-top:32px;padding-bottom:32px}.page-icon{margin-right:8px;color:var(--muted)}.tg-badge{color:#0ea5e9;font-size:13px}.app-shell.login-mode{display:block;padding:0;background:none}.lp-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.lp-left{background:#0a0a0a;display:flex;align-items:stretch;position:relative;overflow:hidden;animation:panelLeft .7s cubic-bezier(.16,1,.3,1) both}.lp-left:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}.lp-left:after{content:"";position:absolute;top:-120px;right:-120px;width:360px;height:360px;background:radial-gradient(circle,rgba(255,255,255,.07) 0%,transparent 70%);pointer-events:none}.lp-left-inner{position:relative;z-index:1;display:flex;flex-direction:column;padding:48px 52px;width:100%}.lp-logo{display:flex;align-items:center;gap:10px;margin-bottom:auto}.lp-logo-icon{background:#fff;color:#0a0a0a;font-size:13px;font-weight:900;letter-spacing:.04em;padding:5px 8px;border-radius:6px;line-height:1}.lp-logo-text{color:#fff;font-size:18px;font-weight:700;letter-spacing:-.02em}.lp-hero{margin:auto 0}.lp-hero-title{color:#fff;font-size:clamp(36px,4vw,52px);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:20px}.lp-hero-sub{color:#ffffff73;font-size:14px;line-height:1.7;max-width:320px}.lp-features{display:flex;flex-direction:column;gap:12px;margin-bottom:40px}.lp-feature{display:flex;align-items:center;gap:10px;color:#fff9;font-size:13px}.lp-feature-dot{width:6px;height:6px;border-radius:50%;background:#ffffff4d;flex-shrink:0}.lp-copy{color:#fff3;font-size:12px}.lp-right{background:#fff;display:flex;align-items:center;justify-content:center;padding:48px 40px;animation:panelRight .7s .08s cubic-bezier(.16,1,.3,1) both}.lp-form-wrap{width:100%;max-width:360px}@keyframes lpSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lp-form-header{margin-bottom:36px}.lp-form-title{font-size:28px;font-weight:800;letter-spacing:-.03em;color:#0a0a0a;margin-bottom:6px}.lp-form-sub{color:#888;font-size:14px}.lp-form{display:flex;flex-direction:column;gap:20px}.lp-field{display:flex;flex-direction:column;gap:7px}.lp-label{font-size:13px;font-weight:600;color:#0a0a0a;letter-spacing:.005em}.lp-input-wrap{position:relative;display:flex;align-items:center}.lp-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#aaa;pointer-events:none;z-index:1}input.lp-input{width:100%;height:46px;padding:0 44px!important;border:1.5px solid #e5e7eb;border-radius:10px;font-size:14px;font-family:inherit;color:#0a0a0a;background:#fafafa;outline:none;box-shadow:none;transition:border-color .15s,background .15s,box-shadow .15s}input.lp-input::placeholder{color:silver}input.lp-input:focus{border-color:#0a0a0a;background:#fff;box-shadow:0 0 0 3px #0000000f}.lp-eye{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:#bbb;padding:4px;display:flex;align-items:center;border-radius:4px;transition:color .12s}.lp-eye svg{width:16px;height:16px}.lp-eye:hover{color:#555}.lp-error{display:flex;align-items:center;gap:7px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 13px;color:#dc2626;font-size:13px}.lp-btn{height:48px;background:#0a0a0a;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,transform .1s;margin-top:4px}.lp-btn:hover:not(:disabled){background:#222}.lp-btn:active:not(:disabled){transform:scale(.98)}.lp-btn:disabled{opacity:.6;cursor:not-allowed}.lp-btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;margin-top:20px}.lp-btn-secondary:hover:not(:disabled){background:#e5e7eb}.lp-block-panel{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0 4px;animation:fromRight .4s cubic-bezier(.16,1,.3,1) both}.lp-block-icon{margin-bottom:16px}.lp-block-title{font-size:20px;font-weight:700;color:#0a0a0a;margin:0 0 8px}.lp-block-msg{font-size:14px;color:#4b5563;margin:0 0 20px;line-height:1.5}.lp-block-detail{width:100%;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 16px;text-align:left;margin-bottom:10px}.lp-block-label{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.lp-block-value{font-size:14px;color:#dc2626;font-weight:500;line-height:1.4}.lp-block-contact{color:#1d4ed8;font-weight:600}.lp-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:lpSpin .7s linear infinite}@keyframes lpSpin{to{transform:rotate(360deg)}}@media (max-width: 768px){.lp-shell{grid-template-columns:1fr}.lp-left{display:none}.lp-right{padding:48px 24px;min-height:100vh}}@keyframes floatIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:48px 20px 20px}.modal{background:var(--surface);border-radius:var(--radius-lg);width:min(480px,100%);max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:floatIn .2s ease}.modal-lg{width:min(640px,100%)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid var(--border)}.modal-header h3{font-size:15px;font-weight:700}.modal-close{background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);transition:background .12s,color .12s;line-height:1}.modal-close:hover{background:var(--surface-2);color:var(--text)}.modal-body{padding:18px 22px;display:flex;flex-direction:column;gap:12px}.modal-body label{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:-6px;text-transform:uppercase;letter-spacing:.04em}.modal-footer{padding:14px 22px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}.field{padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;outline:none;font-family:inherit;width:100%;transition:border-color .12s,box-shadow .12s}.field:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-mid)}.field-sm{padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;outline:none;font-family:inherit;transition:border-color .12s}.field-sm:focus{border-color:var(--primary)}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0;margin-bottom:8px}.toolbar-count{font-size:13px;color:var(--muted);white-space:nowrap}.search-wrap{position:relative;display:inline-block}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted-2);font-size:13px;pointer-events:none}.search-input{width:220px;padding:8px 12px 8px 32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;width:260px;outline:none;font-family:inherit;transition:border-color .12s,box-shadow .12s}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-mid)}.total-badge{margin-left:auto;background:var(--surface-2);color:var(--muted);padding:6px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;border:1px solid var(--border)}.page{padding:28px 32px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h1{font-size:21px;font-weight:700}.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.data-table{width:100%;border-collapse:collapse;font-size:13.5px}.data-table th{padding:11px 14px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface-2);white-space:nowrap}.data-table td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--surface-2)}.row-inactive{opacity:.5}.amount{font-weight:600;color:var(--success)}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.group-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:border-color .15s,box-shadow .15s}.group-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.group-card-clickable{cursor:pointer}.group-card.inactive{opacity:.55}.group-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px;gap:8px}.group-card-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text)}.group-card-info{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--text-2);margin-bottom:14px}.group-card-actions{display:flex;gap:6px;flex-wrap:wrap}.add-student-row{display:flex;gap:10px;align-items:center;margin-bottom:12px}.stage-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap}.group-progress-wrap{margin:10px 0 12px}.group-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.group-progress-label{font-size:12px;color:var(--muted)}.group-progress-pct{font-size:12px;font-weight:700}.group-progress-bar{height:6px;background:var(--border);border-radius:99px;overflow:hidden}.group-progress-fill{height:100%;border-radius:99px;transition:width .4s cubic-bezier(.22,.61,.36,1)}.group-progress-remaining{font-size:11.5px;margin-top:4px;text-align:right}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:20px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.kpi-card.highlight{border-color:#d4d4d4;background:#f2f2f2}.kpi-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:8px}.kpi-value{font-size:26px;font-weight:700;margin-bottom:4px;color:var(--text)}.kpi-currency{font-size:14px;font-weight:500;color:var(--muted)}.kpi-sub{font-size:13px;color:var(--muted)}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px}.chart-card h2{margin:0 0 16px;font-size:14px;font-weight:600}.bar-chart{display:flex;align-items:flex-end;gap:6px;height:200px;padding-bottom:24px}.bar-col{display:flex;flex-direction:column;align-items:center;flex:1}.bar-amount{font-size:9px;color:var(--muted);margin-bottom:3px;height:14px}.bar{width:100%;border-radius:4px 4px 0 0;background:#d4d4d4;transition:height .4s;min-height:3px}.bar.bar-current{background:#0a0a0a}.bar-label{font-size:9px;color:var(--muted);margin-top:5px}.pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 2px;margin-top:4px}.pagination-info{font-size:13px;color:var(--muted)}.pagination-btns{display:flex;align-items:center;gap:3px}.pg-btn{min-width:32px;height:32px;padding:0 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:13px;cursor:pointer;transition:all .12s;display:flex;align-items:center;justify-content:center;font-family:inherit}.pg-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:var(--border-2)}.pg-btn.active{background:#0a0a0a;border-color:#0a0a0a;color:#fff;font-weight:600}.pg-btn:disabled{opacity:.35;cursor:not-allowed}.pg-ellipsis{color:var(--muted);font-size:13px;padding:0 4px}.audit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:flex-end;z-index:100}.audit-panel{background:var(--surface);border-left:1px solid var(--border);width:min(440px,100vw);height:100%;display:flex;flex-direction:column;animation:slideIn .25s ease;box-shadow:var(--shadow-lg)}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.audit-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}.audit-header h3{font-size:15px;margin-bottom:2px}.audit-body{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.audit-entry{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.audit-entry-top{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.audit-action{font-weight:700;font-size:12px}.audit-entity{font-size:12px;color:var(--muted)}.audit-time{margin-left:auto;font-size:11px;color:var(--muted-2)}.audit-user{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin-bottom:4px}.audit-diff{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:2px}.audit-old{text-decoration:line-through;color:var(--danger)}.audit-new{color:var(--success)}.group-detail-layout{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}.group-detail-sidebar{display:flex;flex-direction:column;gap:12px}.group-detail-main{min-width:0}.info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.info-card-title{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px;font-weight:700;display:flex;align-items:center;gap:6px}.info-card-value{font-size:15px;font-weight:700;margin-bottom:3px;color:var(--text)}.info-card-sub{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:5px}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:13px;border-bottom:1px solid var(--border);color:var(--text-2)}.stat-row:last-child{border-bottom:none}.stat-row span{color:var(--muted)}.student-summary-list{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.student-summary-list::-webkit-scrollbar{display:none}.student-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;padding:3px 0;border-bottom:1px solid var(--border)}.student-summary-row:last-child{border-bottom:none}.student-summary-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.student-summary-stats{flex-shrink:0;margin-left:.5rem}.attendance-table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.attendance-table{width:100%;border-collapse:collapse;font-size:13px}.attendance-table th{background:var(--surface-2);padding:9px 6px;text-align:center;font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap;color:var(--muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.attendance-table td{padding:7px 6px;border-bottom:1px solid var(--border);text-align:center;vertical-align:middle;color:var(--text)}.attendance-table tbody tr:last-child td{border-bottom:none}.attendance-table tbody tr:hover{background:var(--surface-2)}.att-name-col{text-align:left!important;min-width:150px;max-width:180px}.att-date-col{min-width:52px;width:52px}.att-total-col{min-width:58px;font-size:13px;font-weight:600}.att-date-header{display:flex;flex-direction:column;align-items:center;gap:4px}.att-delete-date{background:none;border:none;color:var(--muted-2);cursor:pointer;padding:2px 4px;font-size:10px;border-radius:3px;transition:color .12s,background .12s}.att-delete-date:hover{color:var(--danger);background:var(--danger-bg)}.att-student-name{font-weight:500;font-size:13px;color:var(--text)}.att-student-phone{font-size:11px;color:var(--muted)}.att-cell{cursor:pointer;transition:background .1s;border-radius:4px}.att-cell:hover{background:var(--surface-2)}.att-present{color:var(--success)}.att-absent{color:var(--danger)}.att-empty{color:var(--muted-2)}.att-col-today{background:#eff6ff!important;color:#1d4ed8!important;border-top:3px solid #3b82f6;position:relative}.att-cell-today{background:#eff6ff!important}.att-col-nolesson{opacity:.35}.att-col-nolesson:hover{opacity:.7}.att-cell-nolesson{background:repeating-linear-gradient(135deg,transparent,transparent 3px,var(--border) 3px,var(--border) 4px);opacity:.3;cursor:default}.att-cell-nolesson-admin{cursor:pointer;opacity:.25;transition:opacity .15s,background .15s}.att-cell-nolesson-admin:hover{opacity:.7;background:#dcfce7}@media (max-width: 1024px){:root{--sidebar-w: 220px}.lessons-body{grid-template-columns:260px 1fr}.panels{grid-template-columns:1fr}.panels .panel{border-right:none;border-bottom:1px solid var(--border)}.panels .panel:last-child{border-bottom:none}.group-detail-layout{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.page{padding:20px}}@media (max-width: 768px){:root{--sidebar-w: 0px}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:256px;height:100vh;transform:translate(-100%);transition:transform .25s ease;z-index:30;box-shadow:4px 0 24px #0000004d}.sidebar.mobile-open{transform:translate(0)}.mobile-topbar{display:flex;align-items:center;gap:12px;padding:11px 16px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.page{padding:14px 16px}.page-header{flex-direction:column;align-items:flex-start;gap:10px}.header-actions{width:100%;justify-content:flex-end}.header{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 16px}.header-right{width:100%;justify-content:space-between}.progress{width:100%}.groups-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi-value{font-size:22px}.toolbar{gap:8px}.search-input{width:100%}.lessons-body{grid-template-columns:1fr}.lesson-panel{border-right:none;border-bottom:1px solid var(--border);max-height:40vh}.lesson-panel:last-child{border-bottom:none;max-height:none}.lessons-header{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px}.lessons-header .header-right{width:100%;justify-content:space-between}.group-detail-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:10px}.data-table th,.data-table td{padding:8px 10px;font-size:12.5px}.modal{width:min(96vw,480px)}.modal-body{padding:14px 16px}.modal-header{padding:14px 16px 12px}.modal-footer{padding:12px 16px}.bar-chart{gap:3px}.bar-label,.bar-amount{font-size:8px}.pagination{flex-direction:column;gap:8px;align-items:flex-start}}.df-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.df-presets{display:flex;gap:6px;flex-wrap:wrap}.df-preset{padding:6px 14px;border:1.5px solid var(--border-2);border-radius:20px;background:var(--surface);color:var(--text-2);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.df-preset:hover{border-color:var(--primary);color:var(--primary)}.df-preset.active{background:var(--primary);border-color:var(--primary);color:#fff}.df-range{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.df-range-field{display:flex;align-items:center;gap:5px;background:var(--surface);border:1.5px solid var(--border-2);border-radius:var(--radius-sm);padding:4px 10px}.df-range-label{font-size:11px;color:var(--muted);font-weight:500;white-space:nowrap}.df-date-input{border:none!important;padding:0!important;background:transparent!important;font-size:13px;color:var(--text);outline:none;min-width:110px}.df-range-sep{color:var(--muted);font-size:13px}.df-clear{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;padding:4px 6px;border-radius:var(--radius-sm);transition:color .15s}.df-clear:hover{color:var(--danger)}.drp-root{position:relative;display:inline-flex}.drp-trigger{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border:1.5px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);font-size:13px;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s;white-space:nowrap;min-width:200px}.drp-trigger:hover,.drp-trigger.drp-open{border-color:var(--primary);color:var(--primary)}.drp-trigger.drp-has-value{border-color:var(--primary);color:var(--text)}.drp-icon{flex-shrink:0;opacity:.5}.drp-label{flex:1;text-align:left}.drp-clear-btn{margin-left:4px;color:var(--muted);font-size:12px;line-height:1;padding:2px 4px;border-radius:3px;transition:color .15s,background .15s}.drp-clear-btn:hover{color:var(--danger);background:var(--danger-bg)}.drp-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:9999;background:var(--surface);border:1.5px solid var(--border-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:14px;min-width:280px;animation:fadeSlideUp .15s ease both}.drp-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.drp-nav-title{font-size:14px;font-weight:600;color:var(--text)}.drp-nav-btn{width:28px;height:28px;border:none;background:var(--primary-light);border-radius:6px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text);transition:background .15s;line-height:1}.drp-nav-btn:hover{background:var(--primary-mid)}.drp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.drp-weekday{text-align:center;font-size:11px;font-weight:600;color:var(--muted);padding:4px 0 8px;text-transform:uppercase;letter-spacing:.04em}.drp-empty{aspect-ratio:1}.drp-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:13px;cursor:pointer;transition:background .1s,color .1s;position:relative;color:var(--text);-webkit-user-select:none;user-select:none}.drp-day:hover:not(.future){background:var(--primary-light)}.drp-day.future{color:var(--muted-2);cursor:default}.drp-day.in-range{background:#e8e8e8;border-radius:0;color:var(--text)}.drp-day.range-start{background:var(--primary)!important;color:#fff!important;border-radius:6px 0 0 6px}.drp-day.range-end{background:var(--primary)!important;color:#fff!important;border-radius:0 6px 6px 0}.drp-day.range-start.range-end{border-radius:6px!important}.drp-day.is-today span{position:relative}.drp-day.is-today:not(.range-start):not(.range-end) span:after{content:"";position:absolute;bottom:-3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--primary)}.drp-hint{margin-top:10px;font-size:11.5px;color:var(--muted);text-align:center;font-style:italic}.tab-bar{display:flex;gap:4px;margin-bottom:4px;border-bottom:1px solid var(--border);padding-bottom:0}.tab-btn{background:none;border:none;border-bottom:2px solid transparent;padding:10px 18px;font-size:13.5px;font-weight:500;color:var(--muted);cursor:pointer;margin-bottom:-1px;display:flex;align-items:center;gap:7px;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--text);border-bottom-color:var(--text)}.finance-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.finance-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center}.finance-kpi-expected{border-top:3px solid #3b82f6}.finance-kpi-actual{border-top:3px solid #22c55e}.finance-kpi-deficit{border-top:3px solid #ef4444}.finance-kpi-label{font-size:12px;color:var(--muted);margin-bottom:6px}.finance-kpi-value{font-size:22px;font-weight:700;color:var(--text)}.finance-kpi-sub{font-size:11px;color:var(--muted)}.finance-group-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.finance-group-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s}.finance-group-header:hover{background:var(--surface-2)}.finance-group-name{display:flex;align-items:center;gap:4px}.finance-group-stats{display:flex;align-items:center;gap:10px;font-size:13px}.finance-stat-expected{color:#3b82f6;font-weight:600}.finance-stat-actual{color:#22c55e;font-weight:600}.finance-unpaid-badge{background:#fee2e2;color:#dc2626;font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px}.finance-unpaid-list{padding:0 16px 12px;border-top:1px solid var(--border)}.finance-unpaid-title{font-size:12px;color:var(--muted);padding:8px 0 6px;font-weight:500}.finance-unpaid-row{display:flex;align-items:center;gap:10px;font-size:13px;padding:4px 0}.finance-unpaid-name{flex:1;font-weight:500}.finance-unpaid-amount{font-weight:600;color:#ef4444;white-space:nowrap}.today-groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.today-group-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:box-shadow .15s}.today-group-card:hover{box-shadow:var(--shadow-sm)}.today-group-card.att-taken{border-left:4px solid #22c55e}.today-group-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.today-group-name{font-size:15px;font-weight:600;margin-bottom:3px}.today-group-meta{font-size:12px;color:var(--muted)}.today-group-info{display:flex;gap:12px;font-size:12px;color:var(--muted);margin-bottom:4px}.today-att-done{font-size:11px;font-weight:600;color:#16a34a;background:#dcfce7;padding:3px 8px;border-radius:20px;white-space:nowrap}.today-att-pending{font-size:11px;font-weight:600;color:#d97706;background:#fef3c7;padding:3px 8px;border-radius:20px;white-space:nowrap}.today-att-list{display:flex;flex-direction:column;gap:8px;max-width:600px}.today-att-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .1s,border-color .1s;-webkit-user-select:none;user-select:none}.today-att-row:hover{background:var(--surface-2)}.att-row-present{border-left:3px solid #22c55e}.att-row-absent{border-left:3px solid #ef4444}.today-att-name{font-weight:500;font-size:14px}.today-att-phone{font-size:12px}.today-att-toggle{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:5px 14px;border-radius:20px}.toggle-present{background:#dcfce7;color:#16a34a}.toggle-absent{background:#fee2e2;color:#dc2626}@media (max-width: 480px){.kpi-grid,.row-2,.group-detail-sidebar{grid-template-columns:1fr}h1{font-size:17px}.button{padding:7px 12px;font-size:13px}}.leads-filter-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.lead-status-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.leads-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.leads-status-opt{display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);color:var(--text-2);font-size:13px;font-weight:500;cursor:pointer;transition:border-color .12s,background .12s,color .12s;font-family:inherit}.leads-status-opt:hover{border-color:var(--border-2);background:var(--surface-2)}.leads-status-opt.selected{font-weight:600}.theme-switcher{display:flex;align-items:center;justify-content:space-between;padding:4px 0 2px}.theme-switcher-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffffff4d}.theme-dots{display:flex;gap:8px}.theme-dot{width:17px;height:17px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;outline:none;transition:transform .15s,box-shadow .15s}.theme-dot:hover{transform:scale(1.2)}.theme-dot.active{box-shadow:0 0 0 2px #ffffff8c;transform:scale(1.1)}.theme-dot-light{background:#e8e8e8;border:1px solid rgba(255,255,255,.12)}.theme-dot-dark{background:#3a3a3e;border:1px solid rgba(255,255,255,.2)}.theme-dot-ocean{background:linear-gradient(135deg,#1e2d3d 45%,#38bdf8)}body,.sidebar,.sidebar-footer,.surface,.modal,.modal-overlay,.kpi-card,.group-card,.today-group-card,.chart-card,.lesson-panel,.data-table,.lp-right,input.lp-input,.lp-btn{transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease}[data-theme=dark]{--bg: #111111;--surface: #1c1c1e;--surface-2: #242428;--primary: #f0f0f0;--primary-hover: #d0d0d0;--primary-light: #2a2a2e;--primary-mid: #333338;--text: #f0f0f0;--text-2: #b0b0b8;--muted: #70707a;--muted-2: #4a4a52;--border: #2e2e36;--border-2: #3a3a42;--success-bg: #0c2818;--danger-bg: #2a0d0d;--danger-border: #5a1f1f;--warning-bg: #2a1a08;--shadow-xs: 0 1px 2px rgba(0,0,0,.55);--shadow-sm: 0 1px 4px rgba(0,0,0,.6), 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 4px 16px rgba(0,0,0,.65), 0 2px 4px rgba(0,0,0,.45);--shadow-lg: 0 12px 32px rgba(0,0,0,.75), 0 4px 8px rgba(0,0,0,.55);--logo-star-a: #00e676;--logo-star-b: #00c853;--logo-star-c: #00a040;--logo-cent-a: #050505;--logo-cent-b: #000000}[data-theme=dark] .lp-right{background:#1c1c1e}[data-theme=dark] .lp-form-title{color:#f0f0f0}[data-theme=dark] .lp-form-sub{color:#70707a}[data-theme=dark] .lp-label{color:#b0b0b8}[data-theme=dark] input.lp-input{background:#2a2a2e;border-color:#3a3a42;color:#f0f0f0}[data-theme=dark] input.lp-input::placeholder{color:#505058}[data-theme=dark] input.lp-input:focus{border-color:#f0f0f0;background:#2a2a2e;box-shadow:0 0 0 3px #ffffff0f}[data-theme=dark] .lp-input-icon,[data-theme=dark] .lp-eye{color:#505058}[data-theme=dark] .lp-eye:hover{color:#a0a0a8}[data-theme=dark] .lp-btn{background:#f0f0f0;color:#0a0a0a}[data-theme=dark] .lp-btn:hover:not(:disabled){background:#d0d0d0}[data-theme=dark] .lp-btn-secondary{background:#2a2a2e;color:#b0b0b8;border-color:#3a3a42}[data-theme=dark] .lp-btn-secondary:hover:not(:disabled){background:#333338}[data-theme=dark] .lp-block-msg{color:#90909a}[data-theme=dark] .lp-block-label{color:#80808a}[data-theme=dark] .lp-block-value{color:#f0f0f0}[data-theme=dark] .lp-block-detail{background:#2e1515;border-color:#5a2020}[data-theme=dark] .drp-day.in-range{background:#333338;color:#f0f0f0}[data-theme=dark] .finance-unpaid-badge{background:#2a0d0d;color:#f87171}[data-theme=dark] .toggle-present{background:#0c2818;color:#4ade80}[data-theme=dark] .toggle-absent{background:#2a0d0d;color:#f87171}[data-theme=ocean]{--bg: #f0f4f8;--surface: #ffffff;--surface-2: #f8fafc;--primary: #0369a1;--primary-hover: #075985;--primary-light: #f0f9ff;--primary-mid: #e0f2fe;--text: #0f172a;--text-2: #334155;--muted: #64748b;--muted-2: #94a3b8;--border: #cbd5e1;--border-2: #94a3b8;--shadow-xs: 0 1px 3px rgba(15,23,42,.08);--shadow-sm: 0 2px 6px rgba(15,23,42,.08), 0 1px 2px rgba(15,23,42,.04);--shadow-md: 0 4px 18px rgba(15,23,42,.1), 0 2px 4px rgba(15,23,42,.05);--shadow-lg: 0 12px 36px rgba(15,23,42,.14), 0 4px 8px rgba(15,23,42,.07);--logo-star-a: #38bdf8;--logo-star-b: #0ea5e9;--logo-star-c: #0284c7;--logo-cent-a: #082f49;--logo-cent-b: #0c1a2e}[data-theme=ocean] .sidebar{background:linear-gradient(170deg,#1e2d3d,#0f1923)}[data-theme=ocean] .brand{color:#e2e8f0;border-bottom-color:#ffffff12}[data-theme=ocean] .nav-section-label{color:#94a3b873}[data-theme=ocean] .nav-page-btn{color:#cbd5e180}[data-theme=ocean] .nav-page-btn:hover{background:#ffffff0f;color:#e2e8f0d9}[data-theme=ocean] .nav-page-btn.active{background:#38bdf81f;color:#7dd3fc;box-shadow:inset 2px 0 #38bdf8;font-weight:600}[data-theme=ocean] .category-btn{color:#cbd5e173}[data-theme=ocean] .category-btn:hover{background:#ffffff0f;color:#e2e8f0cc}[data-theme=ocean] .category-btn.active{background:#38bdf81a;color:#7dd3fc;font-weight:600}[data-theme=ocean] .sidebar-footer{border-top-color:#ffffff0f}[data-theme=ocean] .user-name{color:#e2e8f0e6}[data-theme=ocean] .role-badge{background:#ffffff14;color:#94a3b8b3}[data-theme=ocean] .avatar{background:linear-gradient(135deg,#0369a1,#0ea5e9);color:#fff}[data-theme=ocean] .logout-btn{color:#cbd5e173;border-color:#ffffff14}[data-theme=ocean] .logout-btn:hover{background:#dc26261f;border-color:#dc26264d;color:#f87171}[data-theme=ocean] .theme-switcher-label{color:#94a3b866}[data-theme=ocean] .lp-left{background:linear-gradient(145deg,#1e2d3d,#0b1623)}[data-theme=ocean] .lp-left:after{background:radial-gradient(circle,rgba(56,189,248,.25) 0%,transparent 65%)}[data-theme=ocean] .lp-logo-icon{background:linear-gradient(135deg,#0369a1,#0ea5e9);color:#fff}[data-theme=ocean] .lp-feature-dot{background:#38bdf8}[data-theme=ocean] input.lp-input:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e926}[data-theme=ocean] .lp-btn{background:linear-gradient(90deg,#0369a1,#0ea5e9)}[data-theme=ocean] .lp-btn:hover:not(:disabled){background:linear-gradient(90deg,#075985,#0284c7)}[data-theme=ocean] .drp-day.in-range{background:#e0f2fe}[data-theme=ocean] .finance-stat-expected{color:#0369a1}[data-theme=ocean] .tab-btn.active{color:#0369a1;border-bottom-color:#0369a1}[data-theme=ocean] .kpi-card-link:hover{box-shadow:0 6px 20px #0369a126;border-color:#7dd3fc}
