@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;600;700;800&display=swap');
:root{--bg:#030a19;--bg2:#071429;--panel:#0a1930;--panel2:#0d203d;--line:#17365f;--line2:#214a7d;--text:#f7fbff;--muted:#8da5c3;--blue:#138cff;--blue2:#0067ff;--cyan:#20c4ff;--green:#25d979;--orange:#ff9f2d;--red:#ff5d68;--shadow:0 24px 70px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Tajawal',Tahoma,Arial,sans-serif;background:radial-gradient(circle at 80% -10%,rgba(0,109,255,.17),transparent 32%),linear-gradient(145deg,#020714,#061124 58%,#020713);color:var(--text);min-height:100vh}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.no-scroll{overflow:hidden}.mobile-only{display:none}
.app-shell{min-height:100vh}.sidebar{position:fixed;right:0;top:0;bottom:0;width:255px;padding:18px 14px;background:linear-gradient(180deg,rgba(5,18,38,.98),rgba(3,11,25,.98));border-left:1px solid var(--line);z-index:50;display:flex;flex-direction:column;gap:20px}.brand{display:flex;align-items:center;gap:11px;padding:8px 6px 18px;border-bottom:1px solid rgba(75,130,190,.18)}.brand img{width:48px;height:48px;object-fit:cover;border-radius:15px;border:1px solid #167ef0;box-shadow:0 0 28px rgba(0,123,255,.25)}.brand strong,.brand small{display:block}.brand strong{font-size:17px}.brand small{margin-top:3px;color:var(--muted);font-size:12px}.nav-list{display:grid;gap:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:12px;color:#a9bed7;font-weight:700}.nav-item:hover{background:#0d203d;color:#fff}.nav-item.active{background:linear-gradient(135deg,var(--blue2),var(--blue));color:white;box-shadow:0 12px 28px rgba(0,103,255,.22)}.nav-icon{width:28px;text-align:center;font-size:20px}.permission-card{padding:15px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,#0b1d38,#07162c)}.permission-card.admin-mode{box-shadow:inset 0 0 30px rgba(0,120,255,.07)}.permission-card.guest-mode{box-shadow:inset 0 0 30px rgba(129,145,173,.06)}.permission-label,.permission-card small{display:block;color:var(--muted);font-size:11px}.permission-main{display:flex;align-items:center;gap:8px;margin:8px 0 2px}.permission-main span{color:#ffd45b}.permission-main strong{font-size:16px}.sidebar-brand-card{margin-top:auto;text-align:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#091b36,#051129);overflow:hidden;position:relative}.sidebar-brand-card:after{content:'';position:absolute;left:-20%;right:-20%;bottom:-30px;height:52px;background:#087cff;filter:blur(28px);opacity:.28}.sidebar-brand-card img{width:82px;height:82px;border-radius:18px;object-fit:cover;border:1px solid #177edc}.sidebar-brand-card strong,.sidebar-brand-card small{display:block;position:relative;z-index:1}.sidebar-brand-card strong{margin-top:8px}.sidebar-brand-card small{color:var(--muted);font-size:11px;margin-top:2px}
.main{margin-right:255px;padding:18px 22px 34px}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:6px 4px 18px;border-bottom:1px solid rgba(76,130,190,.16);margin-bottom:20px}.topbar-title{display:flex;align-items:center;gap:10px}.topbar-title h1{font-size:24px;margin:1px 0 0}.top-eyebrow{font-size:10px;letter-spacing:2.1px;color:#52b4ff;font-weight:800}.topbar-user{display:flex;align-items:center;gap:9px}.role-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:10px;border:1px solid var(--line2);background:#091a33;color:#a8c4e5;font-size:12px;font-weight:800}.role-chip.admin{color:#4dc1ff;border-color:#1766ab}.role-chip.admin span{color:#ffd55d}.role-chip.guest{color:#c2cedd}.user-box{display:flex;align-items:center;gap:9px;padding:4px 10px}.user-avatar{width:39px;height:39px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#087fff,#19bfff);font-weight:800;box-shadow:0 8px 24px rgba(0,120,255,.24)}.user-box strong,.user-box small{display:block}.user-box strong{font-size:13px}.user-box small{color:var(--muted);font-size:10px;margin-top:1px}.logout-btn,.icon-btn{width:39px;height:39px;border:1px solid var(--line);border-radius:11px;background:#091a31;color:#9cb5d2;display:grid;place-items:center}.logout-btn:hover{color:#fff;border-color:#2568a9}.viewer-banner{display:flex;align-items:center;gap:12px;padding:12px 15px;border:1px solid #344766;border-radius:13px;background:linear-gradient(90deg,rgba(87,104,133,.1),rgba(13,32,61,.85));margin-bottom:16px}.viewer-banner>span{width:34px;height:34px;border-radius:10px;background:#182945;display:grid;place-items:center;color:#b7c5d7}.viewer-banner strong,.viewer-banner small{display:block}.viewer-banner small{margin-top:2px;color:#93a8c2;font-size:11px}.flash{padding:12px 15px;border-radius:12px;margin-bottom:16px;transition:.35s}.flash.success{border:1px solid rgba(37,217,121,.35);background:rgba(37,217,121,.1);color:#88f1b8}.flash.error{border:1px solid rgba(255,93,104,.35);background:rgba(255,93,104,.1);color:#ffadb3}.flash.fade{opacity:.18}
.hero-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 26px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(115deg,#0b203f,#08182e 58%,#0a2c55);box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden;position:relative}.hero-strip:before{content:'';position:absolute;width:260px;height:260px;border-radius:50%;background:#077bff;filter:blur(90px);opacity:.14;left:25%}.hero-strip>div{position:relative;z-index:1}.hero-strip h2{margin:5px 0 4px;font-size:27px}.hero-strip p{margin:0;color:var(--muted)}.hero-logo img{width:88px;height:88px;object-fit:cover;border-radius:22px;border:1px solid #258cf7;box-shadow:0 0 35px rgba(0,128,255,.25)}.eyebrow{font-size:11px;font-weight:800;color:#4fb6ff;letter-spacing:.7px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.stat-card{min-height:124px;display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(150deg,#0d203d,#08172d);box-shadow:0 12px 35px rgba(0,0,0,.13)}.stat-icon{width:48px;height:48px;flex:0 0 48px;border-radius:15px;display:grid;place-items:center;font-size:22px;font-weight:800;border:1px solid}.stat-icon.blue{background:rgba(0,108,255,.15);border-color:#176cc3;color:#3ca7ff}.stat-icon.cyan{background:rgba(32,196,255,.12);border-color:#1b7ca1;color:#45d4ff}.stat-icon.green{background:rgba(37,217,121,.12);border-color:#197c4b;color:#55e695}.stat-icon.orange{background:rgba(255,159,45,.12);border-color:#8c5c20;color:#ffb355}.stat-card span,.stat-card small,.stat-card strong{display:block}.stat-card span{color:#aabbd0;font-size:12px}.stat-card strong{font-size:25px;margin:3px 0 0}.stat-card small{color:#6f89a8;font-size:10px}.collection-card{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(115deg,#071a34,#0b2445);margin-bottom:16px}.collection-card h2{margin:4px 0;font-size:25px}.collection-card p{margin:0;color:var(--muted)}.donut{--p:0;width:112px;height:112px;border-radius:50%;background:conic-gradient(#20d77a calc(var(--p)*1%),#133154 0);display:grid;place-items:center;position:relative;box-shadow:0 0 34px rgba(32,215,122,.08)}.donut:before{content:'';position:absolute;width:80px;height:80px;border-radius:50%;background:#091b34}.donut div{z-index:1;text-align:center}.donut strong,.donut span{display:block}.donut span{color:var(--muted);font-size:10px}
.section{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(10,27,52,.96),rgba(6,19,37,.96));padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head h2{margin:4px 0 2px;font-size:22px}.section-head p{margin:0;color:var(--muted);font-size:12px}.section-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search,.filters{display:flex;gap:7px}.search input{width:250px}.search button{border:1px solid var(--line2);background:#0d2b4d;color:#c6ddf8;border-radius:10px;padding:0 14px;font-weight:700}.teacher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.teacher-card{border:1px solid #183962;border-radius:16px;padding:17px;background:linear-gradient(165deg,#0c213f,#08182f);transition:.2s}.teacher-card:hover{transform:translateY(-2px);border-color:#2069a8;box-shadow:0 16px 38px rgba(0,0,0,.2)}.teacher-card-top{display:flex;align-items:center;gap:10px}.avatar{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#0b5fd7,#20b7ff);display:grid;place-items:center;color:#fff;font-weight:800;font-size:19px;box-shadow:0 8px 22px rgba(0,113,255,.2)}.avatar.large{width:72px;height:72px;border-radius:20px;font-size:28px}.avatar.tiny{width:34px;height:34px;border-radius:10px;font-size:13px}.teacher-main{min-width:0}.teacher-main h3{margin:0;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-main span{color:#46b5ff;font-size:12px}.arrow{margin-right:auto;width:33px;height:33px;display:grid;place-items:center;border-radius:10px;background:#0c2d52;border:1px solid #1c568c;color:#55b5ff}.teacher-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0}.teacher-meta div{background:#08172c;border:1px solid #122f52;border-radius:11px;padding:9px;text-align:center}.teacher-meta span,.teacher-meta strong{display:block}.teacher-meta span{font-size:10px;color:var(--muted)}.teacher-meta strong{font-size:13px;margin-top:2px}.progress-label,.teacher-money{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.progress{height:7px;border-radius:99px;background:#102d4d;margin:6px 0 12px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#0b78ff,#25d57a);border-radius:inherit}.teacher-money{margin-bottom:13px}.teacher-money b{color:#e9f5ff}.btn{border:1px solid transparent;border-radius:11px;padding:10px 14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:white}.btn-primary{background:linear-gradient(135deg,#006bff,#159cff);box-shadow:0 10px 24px rgba(0,106,255,.22)}.btn-soft{background:#0b294b;border-color:#1a4d7a;color:#c2def9}.btn-ghost{background:#08182e;border-color:#1b395b;color:#9eb7d4}.btn-danger{background:rgba(255,79,94,.1);border-color:#713545;color:#ff929b}.full{width:100%}.empty-state{text-align:center;padding:45px 15px;color:var(--muted)}.empty-state>div{font-size:38px}.empty-state h3{color:#fff;margin:8px 0 3px}.empty-state p{margin:0 0 14px}.empty-state.compact{padding:32px}.muted{color:var(--muted)}
.breadcrumb{display:flex;align-items:center;gap:8px;color:#7e98b7;font-size:12px;margin:2px 0 13px}.breadcrumb strong{color:#cbdcf0}.profile-card{display:flex;align-items:center;gap:15px;padding:20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(110deg,#0b213f,#08182f);margin-bottom:14px}.profile-main h1{margin:4px 0 1px;font-size:25px}.profile-main p{margin:0;color:var(--muted)}.profile-tags{display:flex;gap:8px;margin-right:auto}.tag{padding:7px 10px;border-radius:999px;background:#0b2b4c;border:1px solid #1b4c78;color:#9fcbf4;font-size:11px}.tag.good{color:#67eaa1;border-color:#246c4a;background:rgba(36,108,74,.15)}.tag.warn{color:#ffba67;border-color:#805624;background:rgba(128,86,36,.15)}.profile-actions{margin-right:8px}.teacher-stats{grid-template-columns:repeat(4,1fr)}
input,select,textarea{width:100%;border:1px solid #1b3e67;background:#07172b;color:#eaf4ff;border-radius:10px;padding:10px 11px;outline:none}input::placeholder,textarea::placeholder{color:#5f7b9d}input:focus,select:focus,textarea:focus{border-color:#168ff7;box-shadow:0 0 0 3px rgba(0,125,255,.1)}select option{background:#07172b}.filters input{width:215px}.filters select{width:120px}.table-wrap{overflow:auto;border:1px solid #16375d;border-radius:14px}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:13px 14px;text-align:right;border-bottom:1px solid #112e4e;vertical-align:middle}th{background:#0d2544;color:#8faac8;font-size:11px}tbody tr{background:#08192f}tbody tr:hover{background:#0b213d}tbody tr:last-child td{border-bottom:0}.student-name{display:flex;align-items:center;gap:9px}.student-name strong,.student-name small{display:block}.student-name small{max-width:180px;color:#7591b0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}.badge.paid{background:rgba(37,217,121,.12);border:1px solid #237548;color:#52e890}.badge.unpaid{background:rgba(255,93,104,.1);border:1px solid #713641;color:#ff8e97}.row-actions{display:flex;align-items:center;gap:5px}.row-actions form{margin:0}.mini-btn{border:1px solid #244664;background:#0a213d;color:#9fc2e5;border-radius:8px;padding:6px 8px;font-size:10px;font-weight:700}.mini-btn.ok{color:#5be498;border-color:#256447}.mini-btn.warn{color:#ffc16f;border-color:#765525}.mini-btn.danger{color:#ff8c95;border-color:#713542}
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,5,15,.78);backdrop-filter:blur(8px)}.modal.show{display:flex}.modal-card{position:relative;width:min(650px,100%);max-height:92vh;overflow:auto;padding:24px;border-radius:18px;border:1px solid #214c79;background:linear-gradient(160deg,#0b213e,#06162b);box-shadow:0 35px 100px rgba(0,0,0,.5)}.modal-close{position:absolute;left:16px;top:14px;width:33px;height:33px;border-radius:10px;border:1px solid #244b72;background:#0b2746;color:#a9c6e5;font-size:20px}.modal-brand{display:flex;align-items:center;gap:10px}.modal-brand img{width:48px;height:48px;border-radius:13px}.modal-brand h2{margin:2px 0}.modal-card>h2{margin:5px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px}.form-grid label>span{display:block;margin-bottom:6px;color:#9ab1ca;font-size:11px;font-weight:700}.span-2{grid-column:1/-1}.check-label{display:flex;align-items:center;gap:8px;border:1px solid #1b3e67;border-radius:10px;padding:10px 11px}.check-label input{width:auto}.check-label span{margin:0!important}.form-actions{display:flex;justify-content:flex-end;gap:7px}.modal-separator{border:0;border-top:1px solid #183a60;margin:22px 0}.app-footer{display:flex;justify-content:space-between;color:#587492;font-size:10px;padding:8px 4px 0}
.login-body{display:grid;place-items:center;overflow-x:hidden;position:relative}.login-bg-orb{position:fixed;border-radius:50%;filter:blur(100px);opacity:.16}.orb-1{width:420px;height:420px;background:#0084ff;top:-130px;right:-100px}.orb-2{width:360px;height:360px;background:#1552ff;bottom:-150px;left:-100px}.login-shell{width:min(1080px,calc(100% - 32px));min-height:610px;display:grid;grid-template-columns:1.05fr .95fr;border:1px solid #173a64;border-radius:24px;overflow:hidden;background:rgba(3,13,29,.9);box-shadow:0 35px 120px rgba(0,0,0,.55);position:relative;z-index:1}.login-brand-panel{padding:52px;background:linear-gradient(145deg,#061a36,#07142a);position:relative;overflow:hidden}.login-brand-panel:after{content:'';position:absolute;width:380px;height:380px;border-radius:50%;background:#087fff;filter:blur(120px);opacity:.13;bottom:-180px;left:-60px}.login-logo-wrap img{width:105px;height:105px;object-fit:cover;border-radius:26px;border:1px solid #1d83eb;box-shadow:0 0 42px rgba(0,129,255,.25)}.brand-kicker{display:block;margin-top:28px;color:#42aeff;font-size:10px;letter-spacing:3px;font-weight:800}.login-brand-panel h1{font-size:38px;line-height:1.25;margin:8px 0 12px}.login-brand-panel>p{max-width:470px;color:#90a8c4;line-height:1.9}.role-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px;position:relative;z-index:1}.role-preview div{padding:13px;border:1px solid #173d68;border-radius:13px;background:rgba(6,26,50,.68)}.role-preview b,.role-preview small{display:block}.role-preview small{margin-top:4px;color:#7f99b8;font-size:10px;line-height:1.6}.role-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:6px}.role-dot.admin{background:#19bbff;box-shadow:0 0 12px #19bbff}.role-dot.guest{background:#99a9bd}.login-card{padding:60px 50px;background:linear-gradient(180deg,#07152b,#050f20)}.login-card-head{display:flex;align-items:center;gap:11px}.login-card-head img{width:54px;height:54px;border-radius:14px}.login-card-head span{color:#6e8aaa;font-size:11px}.login-card-head h2{margin:2px 0;font-size:26px}.login-form{display:grid;gap:15px;margin-top:28px}.login-form label>span{display:block;margin-bottom:7px;color:#9db3cc;font-size:12px;font-weight:700}.password-field{display:flex;position:relative}.password-field button{position:absolute;left:6px;top:6px;bottom:6px;border:0;border-radius:8px;background:#0d2b4d;color:#8fc5f3;padding:0 10px;font-size:10px}.login-submit{margin-top:3px;min-height:46px}.demo-accounts{margin-top:24px;padding:13px;border:1px dashed #21496f;border-radius:12px;background:#06172c;color:#7793b2;font-size:10px}.demo-accounts strong,.demo-accounts span{display:block}.demo-accounts span{margin-top:4px}.demo-accounts code{color:#55b9ff}
@media(max-width:1180px){.teacher-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.sidebar{transform:translateX(110%);transition:.25s;width:245px}.sidebar.open{transform:translateX(0)}.main{margin-right:0;padding:14px}.mobile-only{display:grid}.topbar{align-items:flex-start}.topbar-user .user-box{display:none}.topbar-title h1{font-size:18px}.hero-strip h2{font-size:22px}.section-head,.student-head{flex-direction:column;align-items:stretch}.section-tools{align-items:stretch}.search,.filters{width:100%}.search input,.filters input{width:100%}.teacher-grid{grid-template-columns:1fr}.profile-card{flex-wrap:wrap}.profile-tags{margin-right:0}.profile-actions{width:100%;margin:0}.login-shell{grid-template-columns:1fr;max-width:560px}.login-brand-panel{display:none}.login-card{padding:42px 32px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}
@media(max-width:520px){.stats-grid{grid-template-columns:1fr}.hero-strip{padding:18px}.hero-logo img{width:66px;height:66px;border-radius:17px}.collection-card{padding:17px}.donut{width:90px;height:90px}.donut:before{width:64px;height:64px}.section{padding:14px}.section-tools{display:grid}.filters{display:grid;grid-template-columns:1fr 110px}.filters .btn{grid-column:1/-1}.topbar-user .role-chip{display:none}.login-card{padding:34px 22px}.teacher-meta{gap:5px}}

/* ===== Monthly payment ledger v2 ===== */
.month-console{position:relative;margin:0 0 14px;padding:18px;border:1px solid #1c4775;border-radius:18px;background:radial-gradient(circle at 15% 0,rgba(32,196,255,.1),transparent 30%),linear-gradient(135deg,#091c36,#07152a);overflow:hidden}.month-console:after{content:'';position:absolute;left:-60px;bottom:-100px;width:220px;height:220px;border-radius:50%;background:#0b7eff;filter:blur(90px);opacity:.12;pointer-events:none}.month-console-head{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.month-console-head h2{margin:3px 0 2px;font-size:22px}.month-console-head h2 b{display:inline-grid;place-items:center;min-width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#087fff,#20b8ff);font-size:15px}.month-console-head p{margin:0;color:var(--muted);font-size:11px}.year-switcher{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid #1b416a;border-radius:12px;background:#07172d}.year-switcher span{font-size:10px;color:#7795b7}.year-switcher select{width:92px;padding:7px 9px}.month-ribbon{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,minmax(54px,1fr));gap:7px;overflow:auto;padding-bottom:2px}.month-tab{min-width:54px;padding:9px 5px;border:1px solid #173d67;border-radius:12px;background:#07182e;text-align:center;transition:.18s}.month-tab span,.month-tab small{display:block}.month-tab span{font-size:15px;font-weight:800}.month-tab small{margin-top:2px;color:#718eae;font-size:9px}.month-tab:hover{transform:translateY(-2px);border-color:#287ac2;background:#0a2341}.month-tab.active{border-color:#219eff;background:linear-gradient(145deg,#0b67c9,#0c8fff);box-shadow:0 10px 26px rgba(0,126,255,.2)}.month-tab.active small{color:#d8efff}.month-tab.today:not(.active){box-shadow:inset 0 0 0 1px rgba(37,217,121,.38)}

.dashboard-period-bar{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:12px 14px;border:1px solid #173a62;border-radius:15px;background:linear-gradient(110deg,#07172d,#091c35)}.period-copy{min-width:140px}.period-copy span,.period-copy strong{display:block}.period-copy span{font-size:9px;color:#718daa}.period-copy strong{margin-top:2px;font-size:14px}.period-copy b{color:#44b8ff}.mini-month-ribbon{display:grid;grid-template-columns:repeat(12,1fr);gap:5px;flex:1}.mini-month-ribbon a{display:grid;place-items:center;height:30px;min-width:27px;border:1px solid #173b63;border-radius:9px;background:#07182e;color:#7390b1;font-size:10px;font-weight:800}.mini-month-ribbon a:hover{color:#fff;border-color:#267abe}.mini-month-ribbon a.active{color:#fff;border-color:#1d99f9;background:linear-gradient(135deg,#0865c9,#109bf7);box-shadow:0 8px 20px rgba(0,120,255,.15)}.compact-year{margin-right:auto}.compact-year select{width:86px}

.source-insight{display:grid;grid-template-columns:minmax(230px,1.15fr) 1fr 1fr;gap:14px;align-items:center;margin:0 0 14px;padding:15px 17px;border:1px solid #173c67;border-radius:16px;background:linear-gradient(120deg,#07172c,#0a1c35)}.source-insight-title{display:flex;align-items:center;gap:11px}.source-insight-title strong,.source-insight-title small{display:block}.source-insight-title small{margin-top:3px;color:#6f8ba9;font-size:10px}.pulse-dot{width:12px;height:12px;border-radius:50%;background:#25d979;box-shadow:0 0 0 7px rgba(37,217,121,.08),0 0 22px rgba(37,217,121,.28)}.source-meter-row{display:flex;justify-content:space-between;align-items:center;font-size:11px}.source-meter-row span{display:flex;align-items:center;gap:6px;color:#96afca}.source-meter-row b{font-size:11px}.source-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;font-style:normal;font-size:11px}.source-icon.ads{background:rgba(32,196,255,.1);color:#48cfff;border:1px solid rgba(32,196,255,.26)}.source-icon.direct{background:rgba(160,104,255,.1);color:#c69cff;border:1px solid rgba(160,104,255,.25)}.source-bar{height:5px;margin-top:7px;border-radius:99px;background:#102943;overflow:hidden}.source-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0a81ff,#20c4ff)}.source-bar.direct i{background:linear-gradient(90deg,#7454ff,#b56cff)}

.collection-sources{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.source-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.source-chip i{font-style:normal}.source-chip.ads{color:#64d6ff;border:1px solid #225c77;background:rgba(32,196,255,.08)}.source-chip.direct{color:#c5a1ff;border:1px solid #514077;background:rgba(160,104,255,.08)}

.monthly-filters{flex-wrap:wrap}.monthly-filters input{width:195px}.monthly-filters select{width:150px}.monthly-table-wrap{border-color:#1b4777;box-shadow:inset 0 1px rgba(255,255,255,.02)}.monthly-table{min-width:1320px}.monthly-table th:nth-child(5){min-width:520px}.monthly-table tbody tr:hover .month-dot.unpaid{border-color:#315675}.month-checks-row{display:grid;grid-template-columns:repeat(12,38px);gap:4px;direction:rtl}.month-toggle-form{margin:0}.month-dot{width:38px;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;border-radius:9px;border:1px solid #1d4165;background:#07182d;color:#6683a3;line-height:1;transition:.15s}.month-dot span{font-size:9px;font-weight:700}.month-dot b{margin-top:3px;font-size:13px}.month-dot.unpaid b{color:#45627f}.month-dot.paid{border-color:#26764c;background:linear-gradient(145deg,rgba(21,111,69,.28),rgba(17,74,52,.18));color:#77e9aa;box-shadow:inset 0 0 14px rgba(37,217,121,.04)}button.month-dot:hover{transform:translateY(-2px);border-color:#2b8bce}.month-dot.focus-month{outline:2px solid rgba(19,140,255,.6);outline-offset:2px}.month-dot.working{opacity:.55;transform:scale(.94)}.month-dot.static{cursor:default}.payment-date{display:block;margin-top:5px;color:#6f8daa;font-size:9px;text-align:center}

.wide-modal{width:min(790px,100%)}.source-field>span{display:block;margin-bottom:6px;color:#9ab1ca;font-size:11px;font-weight:700}.source-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.source-choice{position:relative}.source-choice input{position:absolute;opacity:0;pointer-events:none}.source-choice>span{display:grid!important;grid-template-columns:32px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;margin:0!important;padding:10px 11px!important;border:1px solid #1b3e67;border-radius:11px;background:#07172b;cursor:pointer;transition:.15s}.source-choice>span i{grid-row:1/3;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#0b2948;color:#63c8ff;font-style:normal}.source-choice>span b{font-size:11px;color:#dcecff}.source-choice>span small{font-size:9px;color:#647f9e}.source-choice input:checked+span{border-color:#1598f4;background:linear-gradient(145deg,#0a2442,#0b3153);box-shadow:0 0 0 3px rgba(19,140,255,.08)}.source-choice input[value="ads"]:checked+span i{background:rgba(32,196,255,.12);color:#5bd6ff}.source-choice input[value="direct"]:checked+span i{background:rgba(160,104,255,.13);color:#c3a0ff}

.payment-editor{padding:14px;border:1px solid #1b4673;border-radius:14px;background:linear-gradient(145deg,#07182e,#081d35)}.payment-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.payment-editor-head h3{margin:2px 0 0;font-size:14px}.payment-editor-tools{display:flex;gap:6px}.tiny-action{border:1px solid #28628f;border-radius:8px;background:#0b3152;color:#8dd1ff;padding:6px 8px;font-size:9px;font-weight:800}.tiny-action.muted-action{border-color:#34455c;background:#0a1727;color:#8395aa}.month-check-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.month-check{position:relative}.month-check input{position:absolute;opacity:0;pointer-events:none}.month-check>span{position:relative;min-height:58px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;margin:0!important;padding:7px!important;border:1px solid #183b60;border-radius:10px;background:#06162a;cursor:pointer;transition:.15s;overflow:hidden}.month-check>span b{font-size:14px}.month-check>span small{margin-top:2px;color:#617f9f;font-size:8px}.month-check>span i{position:absolute;top:4px;left:5px;display:none;width:17px;height:17px;place-items:center;border-radius:50%;background:#25d979;color:#042114;font-style:normal;font-size:10px;font-weight:900}.month-check input:checked+span{border-color:#26875a;background:linear-gradient(145deg,rgba(30,123,78,.25),rgba(12,62,43,.18));color:#70e9a6;box-shadow:inset 0 0 18px rgba(37,217,121,.05)}.month-check input:checked+span small{color:#86cfa7}.month-check input:checked+span i{display:grid}.payment-editor-note{margin:9px 2px 0;color:#6785a5;font-size:9px}

@media(max-width:1180px){.source-insight{grid-template-columns:1fr 1fr}.source-insight-title{grid-column:1/-1}.month-ribbon{grid-template-columns:repeat(12,58px)}.dashboard-period-bar{flex-wrap:wrap}.mini-month-ribbon{order:3;flex-basis:100%}}
@media(max-width:820px){.month-console-head{align-items:stretch;flex-direction:column}.year-switcher{align-self:flex-start}.source-insight{grid-template-columns:1fr}.source-insight-title{grid-column:auto}.month-check-grid{grid-template-columns:repeat(4,1fr)}.source-choice-grid{grid-template-columns:1fr}.dashboard-period-bar{align-items:stretch}.period-copy{min-width:0}.compact-year{margin-right:0;align-self:flex-start}.monthly-filters{display:grid;grid-template-columns:1fr 1fr}.monthly-filters input{width:100%;grid-column:1/-1}.monthly-filters select{width:100%}.monthly-filters .btn{grid-column:1/-1}}
@media(max-width:520px){.month-console{padding:14px}.month-console-head h2{font-size:19px}.month-check-grid{grid-template-columns:repeat(3,1fr)}.payment-editor-head{align-items:flex-start;flex-direction:column}.mini-month-ribbon{grid-template-columns:repeat(6,1fr)}.source-insight{padding:13px}.monthly-filters{grid-template-columns:1fr}.monthly-filters input,.monthly-filters .btn{grid-column:auto}}

/* =========================================================
   Premium student payments dashboard — teacher.php
   ========================================================= */
.payments-dashboard-page{
    --p-bg:#020916;--p-panel:#07172b;--p-panel-2:#091d35;--p-line:#153457;
    --p-line-soft:rgba(89,142,203,.18);--p-text:#f7fbff;--p-muted:#7892b2;
    --p-purple:#8b3dff;--p-purple-2:#5f46ff;--p-blue:#1598ff;--p-cyan:#19c9ff;
    --p-green:#25da79;--p-red:#ff5d72;--p-orange:#ffae34;
    background:
      radial-gradient(circle at 48% -12%,rgba(92,53,255,.14),transparent 29%),
      radial-gradient(circle at 7% 22%,rgba(0,132,255,.10),transparent 26%),
      linear-gradient(145deg,#010711,#04101f 55%,#020914);
}
.payments-dashboard-page .sidebar{
    width:220px;padding:19px 13px;border-left-color:#122a46;
    background:linear-gradient(180deg,rgba(3,13,28,.99),rgba(2,8,19,.99));
    box-shadow:-18px 0 50px rgba(0,0,0,.2);
}
.payments-dashboard-page .main{margin-right:220px;padding:14px 18px 30px;max-width:none}
.payments-dashboard-page .brand{padding:6px 5px 17px}
.payments-dashboard-page .brand img{width:44px;height:44px;border-radius:14px;box-shadow:0 0 28px rgba(81,58,255,.28)}
.payments-dashboard-page .brand strong{font-size:15px}.payments-dashboard-page .brand small{font-size:10px}
.payments-dashboard-page .nav-item{padding:11px 12px;border:1px solid transparent;border-radius:11px;font-size:12px}
.payments-dashboard-page .nav-item.active{border-color:rgba(129,83,255,.42);background:linear-gradient(90deg,rgba(117,48,255,.26),rgba(28,112,255,.16));box-shadow:inset 3px 0 0 #8d49ff,0 8px 24px rgba(42,27,120,.17)}
.payments-dashboard-page .permission-card{border-color:#122b49;background:linear-gradient(165deg,#08182d,#05111f)}
.payments-dashboard-page .sidebar-brand-card{border-color:#122b49;background:linear-gradient(165deg,#07182e,#04101f)}
.payments-dashboard-page .sidebar-brand-card img{width:68px;height:68px}
.payments-dashboard-page .topbar{min-height:62px;margin-bottom:14px;padding:5px 2px 12px;border-bottom-color:rgba(87,129,177,.15)}
.payments-dashboard-page .topbar-title h1{font-size:18px}.payments-dashboard-page .top-eyebrow{font-size:8px;color:#808db0}
.payments-dashboard-page .role-chip{padding:7px 10px;background:#06172a;border-color:#17365b;font-size:10px}
.payments-dashboard-page .user-avatar{width:35px;height:35px;border-radius:11px;background:linear-gradient(145deg,#087cff,#6046ff)}
.payments-dashboard-page .user-box strong{font-size:11px}.payments-dashboard-page .logout-btn{width:35px;height:35px}

.payments-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:3px 0 15px;padding:4px 2px}
.payments-heading{display:flex;align-items:center;gap:13px}.hero-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:#fff;font-size:22px;font-weight:800;border:1px solid rgba(117,111,255,.56);background:linear-gradient(145deg,#2f7cff,#8f30ff);box-shadow:0 0 28px rgba(103,61,255,.34),inset 0 1px rgba(255,255,255,.22)}
.payments-breadcrumb{display:flex;gap:6px;align-items:center;color:#647e9c;font-size:9px;font-weight:700}.payments-breadcrumb a{color:#4dafff}.payments-heading h2{margin:3px 0 1px;font-size:24px;letter-spacing:-.3px}.payments-heading p{margin:0;color:#7690ad;font-size:10px}
.teacher-mini-card{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid #153454;border-radius:15px;background:linear-gradient(145deg,rgba(8,25,48,.96),rgba(5,17,32,.96));box-shadow:0 13px 34px rgba(0,0,0,.15)}
.teacher-mini-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#0b6dd5,#553dff);font-size:15px;font-weight:800;box-shadow:0 8px 20px rgba(21,117,255,.17)}
.teacher-mini-card span,.teacher-mini-card strong,.teacher-mini-card small{display:block}.teacher-mini-card span{color:#6684a6;font-size:8px}.teacher-mini-card strong{font-size:11px;margin-top:1px}.teacher-mini-card small{color:#4b9edb;font-size:8px;margin-top:1px}.teacher-mini-price{padding-right:11px;margin-right:3px;border-right:1px solid #153454}.teacher-mini-price b{display:block;margin-top:2px;font-size:11px;color:#dbefff}.ghost-icon-button{width:31px;height:31px;border:1px solid #1d456e;border-radius:9px;background:#071c33;color:#60baff}

.payments-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:12px}
.kpi-card{position:relative;min-height:122px;display:flex;align-items:center;gap:14px;padding:17px 17px 21px;border:1px solid #163558;border-radius:15px;background:linear-gradient(155deg,#0a1b32,#061325);overflow:hidden;box-shadow:0 15px 34px rgba(0,0,0,.14),inset 0 1px rgba(255,255,255,.025)}
.kpi-card:before{content:'';position:absolute;width:110px;height:110px;border-radius:50%;top:-55px;left:-28px;filter:blur(24px);opacity:.14}.kpi-purple:before{background:#9d3cff}.kpi-green:before{background:#28d77e}.kpi-red:before{background:#ff4869}.kpi-blue:before{background:#1b9eff}
.kpi-icon{position:relative;z-index:1;width:51px;height:51px;flex:0 0 51px;display:grid;place-items:center;border-radius:14px;font-size:19px;font-weight:900;border:1px solid;box-shadow:inset 0 1px rgba(255,255,255,.12)}
.kpi-purple .kpi-icon{color:#be9aff;background:linear-gradient(145deg,rgba(117,62,255,.42),rgba(63,32,154,.36));border-color:#6038c7;box-shadow:0 0 23px rgba(121,61,255,.18)}
.kpi-green .kpi-icon{color:#64f3a4;background:linear-gradient(145deg,rgba(30,156,88,.38),rgba(18,88,58,.34));border-color:#24754c;box-shadow:0 0 23px rgba(37,218,121,.13)}
.kpi-red .kpi-icon{color:#ff8595;background:linear-gradient(145deg,rgba(168,47,67,.42),rgba(100,28,47,.34));border-color:#84364a;box-shadow:0 0 23px rgba(255,78,106,.12)}
.kpi-blue .kpi-icon{color:#6cc9ff;background:linear-gradient(145deg,rgba(25,106,255,.38),rgba(22,58,130,.36));border-color:#275da9;box-shadow:0 0 23px rgba(21,152,255,.13)}
.kpi-card>div:nth-child(2){position:relative;z-index:1}.kpi-card span,.kpi-card strong,.kpi-card small{display:block}.kpi-card span{color:#d9e6f4;font-size:11px;font-weight:700}.kpi-card strong{margin:4px 0 0;font-size:28px;line-height:1}.kpi-card small{margin-top:6px;color:#657f9d;font-size:9px}.kpi-wave{position:absolute;right:16px;left:16px;bottom:0;height:20px;opacity:.55;background-repeat:no-repeat;background-position:center bottom;background-size:100% 18px}
.kpi-purple .kpi-wave{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='30' viewBox='0 0 300 30'%3E%3Cpath d='M0 24 C45 24 48 19 76 19 S110 26 142 20 S184 9 214 18 S257 24 300 14' fill='none' stroke='%238B3DFF' stroke-width='1.2'/%3E%3C/svg%3E")}.kpi-green .kpi-wave{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='30' viewBox='0 0 300 30'%3E%3Cpath d='M0 24 C45 24 48 19 76 19 S110 26 142 20 S184 9 214 18 S257 24 300 14' fill='none' stroke='%2325DA79' stroke-width='1.2'/%3E%3C/svg%3E")}.kpi-red .kpi-wave{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='30' viewBox='0 0 300 30'%3E%3Cpath d='M0 24 C45 24 48 19 76 19 S110 26 142 20 S184 9 214 18 S257 24 300 14' fill='none' stroke='%23FF5D72' stroke-width='1.2'/%3E%3C/svg%3E")}.kpi-blue .kpi-wave{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='30' viewBox='0 0 300 30'%3E%3Cpath d='M0 24 C45 24 48 19 76 19 S110 26 142 20 S184 9 214 18 S257 24 300 14' fill='none' stroke='%231598FF' stroke-width='1.2'/%3E%3C/svg%3E")}

.payments-toolbar-card{display:flex;align-items:flex-end;gap:10px;padding:12px;border:1px solid #153354;border-radius:15px;background:linear-gradient(145deg,#07182c,#051221);margin-bottom:10px;box-shadow:inset 0 1px rgba(255,255,255,.02)}
.toolbar-actions{display:flex;gap:8px;flex:0 0 auto}.premium-add{height:44px;padding:0 17px;border-radius:11px;background:linear-gradient(100deg,#8c32ff,#168fff)!important;box-shadow:0 9px 24px rgba(69,68,255,.23)!important}.premium-add span{font-size:17px}.premium-export{height:44px;display:flex;align-items:center;gap:6px;padding:0 13px;border:1px solid #1a426d;border-radius:11px;background:#071a30;color:#9eb8d5;font-size:10px;font-weight:800}.premium-export:hover{border-color:#2c6ca9;color:#fff}
.premium-filters{display:grid;grid-template-columns:minmax(185px,1.35fr) repeat(4,minmax(108px,.72fr)) auto;gap:8px;align-items:end;flex:1}.premium-filters label{min-width:0}.filter-field>span{display:block;margin:0 5px 5px;color:#748da9;font-size:8px;font-weight:700}.premium-filters select,.premium-search input{height:44px;border-radius:10px;border-color:#153a61;background:#06172a;color:#eaf4ff}.premium-search{position:relative;display:block}.premium-search>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);z-index:1;color:#6382a3;font-size:17px}.premium-search input{padding-right:37px}.premium-search input::placeholder{font-size:9px}.filter-submit{height:44px;padding:0 14px;border:1px solid #1c466f;border-radius:10px;background:#081c33;color:#d6e8fb;font-size:10px;font-weight:800;white-space:nowrap}.filter-submit span{margin-left:5px;color:#7db9f2}

.month-quickbar{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #143151;border-radius:14px;background:linear-gradient(115deg,#06162a,#071b31);margin-bottom:10px;overflow:hidden}.month-quickbar-copy{min-width:93px}.month-quickbar-copy span,.month-quickbar-copy strong{display:block}.month-quickbar-copy span{font-size:8px;color:#6884a4}.month-quickbar-copy strong{font-size:11px;margin-top:1px}.month-quick-pills{display:grid;grid-template-columns:repeat(12,minmax(43px,1fr));gap:5px;flex:1;min-width:0}.month-quick-pills a{position:relative;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #143758;border-radius:9px;background:#061528;color:#66829f;transition:.17s}.month-quick-pills a b{font-size:11px}.month-quick-pills a small{font-size:7px;margin-top:1px}.month-quick-pills a:hover{border-color:#2c6596;color:#c7ddf3;transform:translateY(-1px)}.month-quick-pills a.active{color:#fff;border-color:#6757ff;background:linear-gradient(145deg,#7041f0,#177ee6);box-shadow:0 7px 20px rgba(65,71,224,.25)}.month-quick-pills a.current:not(.active):after{content:'';position:absolute;top:4px;left:4px;width:4px;height:4px;border-radius:50%;background:#2bd77d;box-shadow:0 0 8px #2bd77d}.collection-chip{flex:0 0 auto;padding:7px 12px;border:1px solid rgba(38,211,122,.28);border-radius:10px;background:rgba(30,134,83,.08);text-align:center}.collection-chip span,.collection-chip b{display:block}.collection-chip span{font-size:7px;color:#67a786}.collection-chip b{font-size:14px;color:#4be696;margin-top:1px}

.payments-table-card{border:1px solid #153455;border-radius:16px;background:linear-gradient(180deg,rgba(7,23,43,.98),rgba(4,15,28,.98));box-shadow:0 20px 50px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.025);overflow:hidden;margin-bottom:18px}.table-card-heading{display:flex;align-items:center;justify-content:space-between;padding:14px 15px 12px;border-bottom:1px solid rgba(71,115,164,.15)}.table-card-heading h3{margin:2px 0 0;font-size:16px}.table-card-summary{display:flex;align-items:center;gap:5px;color:#7089a7;font-size:9px}.table-card-summary b{color:#d8e7f6}.summary-dot{width:6px;height:6px;border-radius:50%}.summary-dot.paid{background:#25da79;box-shadow:0 0 9px rgba(37,218,121,.6)}.summary-dot.unpaid{background:#ff5d72;box-shadow:0 0 9px rgba(255,93,114,.45)}.summary-separator{width:1px;height:14px;background:#1a395b;margin:0 5px}
.premium-table-wrap{border:0;border-radius:0;overflow:auto}.premium-payments-table{width:100%;min-width:1370px;border-collapse:separate;border-spacing:0}.premium-payments-table th{position:sticky;top:0;z-index:1;background:#07172b;color:#8ba4bf;text-align:right;font-size:9px;font-weight:800;padding:11px 12px;border-bottom:1px solid #173757;white-space:nowrap}.premium-payments-table td{padding:13px 12px;border-bottom:1px solid rgba(33,70,109,.56);vertical-align:middle;font-size:10px;color:#b9cde0}.premium-payments-table tbody tr{transition:.14s}.premium-payments-table tbody tr:hover{background:linear-gradient(90deg,rgba(13,44,78,.28),rgba(16,35,65,.18))}.premium-payments-table tbody tr:last-child td{border-bottom:0}.months-heading{min-width:420px;text-align:center!important}.student-premium-name{display:flex;align-items:center;gap:9px;min-width:160px}.student-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:1px solid #2478c5;background:linear-gradient(145deg,#0d4fb0,#117bdf);color:#fff;font-weight:900;font-size:12px;box-shadow:0 6px 18px rgba(7,114,221,.18)}.student-premium-name strong,.student-premium-name small{display:block}.student-premium-name strong{font-size:11px;color:#f5f9fd}.student-premium-name small{margin-top:3px;color:#62809e;font-size:8px;max-width:125px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone-cell,.date-cell{font-variant-numeric:tabular-nums;color:#a8bed5}.price-cell b,.price-cell small{display:block}.price-cell b{font-size:11px;color:#fff}.price-cell small{margin-top:2px;color:#6886a7;font-size:8px}.source-chip{border-radius:8px;padding:6px 9px;font-size:8px}.source-chip.ads{color:#dca1ff;border-color:#663295;background:rgba(132,47,192,.11)}.source-chip.direct{color:#69b9ff;border-color:#245b95;background:rgba(28,100,181,.10)}
.premium-status{display:inline-flex;align-items:center;justify-content:center;min-width:73px;padding:6px 8px;border-radius:999px;font-size:8px;font-weight:900}.premium-status.paid{color:#50eb97;border:1px solid #1e7048;background:rgba(26,120,71,.13);box-shadow:inset 0 0 13px rgba(37,218,121,.04)}.premium-status.unpaid{color:#ff7889;border:1px solid #713144;background:rgba(142,41,59,.12);box-shadow:inset 0 0 13px rgba(255,93,114,.04)}
.premium-months-grid{display:grid;grid-template-columns:repeat(12,28px);gap:4px;direction:rtl;justify-content:center;min-width:384px}.premium-months-grid form{margin:0}.premium-month-check{position:relative;width:28px;height:35px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid #173a5d;border-radius:7px;background:#061427;color:#7993ae;transition:.14s;padding:0}.premium-month-check span{font-size:8px;font-weight:900;line-height:1}.premium-month-check i{width:13px;height:13px;display:grid;place-items:center;border-radius:4px;border:1px solid #274968;background:#07182b;color:transparent;font-style:normal;font-size:8px;line-height:1}.premium-month-check.paid{border-color:rgba(35,157,92,.58);background:linear-gradient(145deg,rgba(25,111,65,.18),rgba(9,53,36,.18));color:#69dda0}.premium-month-check.paid i{border-color:#26975b;background:#1baa60;color:#fff;box-shadow:0 0 10px rgba(37,218,121,.24)}button.premium-month-check:hover{transform:translateY(-2px);border-color:#2b78b5}.premium-month-check.focus-month{outline:1px solid #665bff;outline-offset:2px;box-shadow:0 0 14px rgba(96,74,255,.16)}.premium-month-check.working{opacity:.5;pointer-events:none}.premium-month-check.static{cursor:default}
.premium-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;min-width:145px}.premium-actions form{margin:0}.premium-actions button{width:100%;height:29px;border-radius:7px;font-size:8px;font-weight:900}.action-edit{border:1px solid #195888;background:#092642;color:#62b9ff}.action-delete{border:1px solid #733242;background:rgba(122,34,50,.13);color:#ff6578}.selected-payment-action{grid-column:1/-1}.action-payment.confirm{border:1px solid #23734b;background:rgba(28,130,78,.15);color:#4bea91}.action-payment.cancel{border:1px solid #7a5924;background:rgba(144,88,23,.13);color:#ffb345}.premium-actions button:hover{filter:brightness(1.13)}
.premium-empty{padding:56px 20px;text-align:center}.premium-empty-icon{width:54px;height:54px;display:grid;place-items:center;margin:0 auto 10px;border-radius:16px;border:1px solid #264f78;background:#0a2340;color:#69b9ff;font-size:25px}.premium-empty h3{margin:0 0 4px}.premium-empty p{margin:0 0 15px;color:#6c88a8;font-size:10px}

/* Side drawer modals */
.payments-dashboard-page .drawer-modal{align-items:stretch;justify-content:flex-start;padding:0;background:rgba(0,5,14,.62);backdrop-filter:blur(6px)}
.payments-dashboard-page .drawer-modal .drawer-card{width:min(410px,94vw);max-height:none;height:100vh;border-radius:0;border:0;border-left:1px solid #1d4068;padding:24px 20px 20px;background:radial-gradient(circle at 50% -5%,rgba(108,55,255,.14),transparent 22%),linear-gradient(180deg,#07172c,#04111f);box-shadow:-24px 0 75px rgba(0,0,0,.46);transform:translateX(28px);opacity:0;animation:drawerIn .23s ease forwards}
@keyframes drawerIn{to{transform:translateX(0);opacity:1}}
.payments-dashboard-page .drawer-modal .modal-close{left:15px;top:15px;width:34px;height:34px;background:#07172b;border-color:#1b3d61}
.drawer-heading{display:flex;align-items:center;gap:11px;padding:5px 39px 16px 0;border-bottom:1px solid rgba(74,116,161,.15);margin-bottom:15px}.drawer-badge{width:41px;height:41px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#8d34ff,#168dff);font-size:18px;font-weight:900;box-shadow:0 0 22px rgba(87,68,255,.23)}.drawer-badge.edit{background:linear-gradient(145deg,#0e72c8,#6b40ff)}.drawer-heading h2{margin:2px 0;font-size:18px}.drawer-heading p{margin:0;color:#6a84a3;font-size:8px}.drawer-form{display:grid;gap:11px}.drawer-form>label>span{display:block;margin:0 3px 5px;color:#a7bad0;font-size:9px;font-weight:700}.drawer-form input,.drawer-form textarea{border-color:#183a61;background:#06172a;border-radius:9px;padding:10px 11px}.drawer-form input{height:41px}.drawer-form textarea{resize:vertical}.drawer-form .source-field>span{font-size:9px;color:#a7bad0}.drawer-form .source-choice>span{min-height:52px;border-radius:9px;background:#061629}.drawer-form .source-choice>span i{width:28px;height:28px;border-radius:8px}.drawer-form .source-choice>span b{font-size:9px}.drawer-form .source-choice>span small{font-size:7px}.drawer-form .payment-editor{padding:11px;border-radius:11px;background:#06172a;border-color:#173a5e}.drawer-form .payment-editor-head{margin-bottom:9px}.drawer-form .payment-editor-head h3{font-size:11px}.drawer-form .tiny-action{padding:5px 6px;font-size:7px}.drawer-form .month-check-grid{grid-template-columns:repeat(6,1fr);gap:5px}.drawer-form .month-check>span{min-height:48px;border-radius:8px}.drawer-form .month-check>span b{font-size:11px}.drawer-form .month-check>span small{font-size:7px}.drawer-form .month-check>span i{width:14px;height:14px;font-size:8px}.drawer-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:8px;padding-top:3px}.drawer-actions .btn{height:43px}.payments-dashboard-page #editTeacherModal .modal-card{background:linear-gradient(160deg,#0a1e37,#051426);border-color:#1c426b}

@media(max-width:1450px){
  .premium-filters{grid-template-columns:minmax(170px,1.25fr) repeat(4,minmax(96px,.7fr)) auto}
  .month-quick-pills{grid-template-columns:repeat(12,minmax(39px,1fr))}
}
@media(max-width:1220px){
  .payments-dashboard-page .sidebar{width:205px}.payments-dashboard-page .main{margin-right:205px}
  .payments-kpis{grid-template-columns:repeat(2,1fr)}
  .payments-toolbar-card{align-items:stretch;flex-direction:column}.toolbar-actions{order:2}.premium-filters{grid-template-columns:2fr repeat(2,1fr);}.filter-submit{grid-column:auto}.premium-filters .filter-field:nth-of-type(4),.premium-filters .filter-field:nth-of-type(5){grid-column:auto}
  .month-quickbar{align-items:stretch;flex-direction:column}.month-quickbar-copy,.collection-chip{align-self:flex-start}.month-quick-pills{width:100%}
}
@media(max-width:900px){
  .payments-dashboard-page .main{margin-right:0;padding:12px}.payments-dashboard-page .sidebar{right:-230px;width:220px}.payments-dashboard-page .sidebar.open{right:0}.payments-dashboard-page .mobile-only{display:grid}
  .payments-hero{align-items:stretch;flex-direction:column}.teacher-mini-card{align-self:stretch}.payments-kpis{grid-template-columns:1fr 1fr}.premium-filters{grid-template-columns:1fr 1fr}.premium-search{grid-column:1/-1}.filter-submit{grid-column:1/-1}.month-quick-pills{grid-template-columns:repeat(6,1fr)}
  .payments-dashboard-page .drawer-modal .drawer-card{width:min(390px,100vw)}
}
@media(max-width:560px){
  .payments-heading h2{font-size:20px}.payments-heading p{font-size:9px}.payments-kpis{grid-template-columns:1fr}.kpi-card{min-height:105px}.teacher-mini-card{flex-wrap:wrap}.teacher-mini-price{margin-right:auto}.premium-filters{grid-template-columns:1fr}.premium-search,.filter-submit{grid-column:auto}.toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.toolbar-actions>*{justify-content:center}.month-quick-pills{grid-template-columns:repeat(4,1fr)}.table-card-heading{align-items:flex-start;flex-direction:column;gap:8px}.drawer-form .month-check-grid{grid-template-columns:repeat(4,1fr)}
}


/* ===== 2026-08 deluxe refinements ===== */
.nav-item-soft{background:rgba(8,24,46,.55);border:1px solid rgba(39,78,121,.24)}
.nav-item-soft:hover{border-color:#245f9f}
.payments-dashboard-page .topbar{padding:10px 0 20px;margin-bottom:18px}
.payments-dashboard-page .topbar-title h1{font-size:26px;font-weight:800}
.payments-dashboard-page .topbar-user{gap:12px}
.payments-dashboard-page .sidebar{background:radial-gradient(circle at 50% -10%,rgba(92,66,255,.14),transparent 24%),linear-gradient(180deg,rgba(4,18,37,.98),rgba(2,10,24,.98));box-shadow:0 0 0 1px rgba(44,93,144,.12), 0 30px 70px rgba(0,0,0,.35)}
.payments-dashboard-page .brand img{box-shadow:0 0 0 1px rgba(69,129,255,.35),0 0 28px rgba(69,129,255,.24)}
.payments-dashboard-page .main{padding:22px 24px 34px}
.payments-dashboard-page .payments-hero{padding:18px 20px;border:1px solid #173a5d;border-radius:20px;background:radial-gradient(circle at 75% -25%,rgba(81,57,255,.16),transparent 30%),linear-gradient(140deg,#08192f,#051120 63%,#07172d);box-shadow:0 20px 50px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.03)}
.payments-dashboard-page .payments-heading p{max-width:600px}
.payments-dashboard-page .teacher-mini-card{padding:12px 14px;border-radius:18px;background:linear-gradient(145deg,rgba(10,32,58,.96),rgba(6,18,35,.96));border:1px solid #183e67;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.payments-dashboard-page .payments-kpis{margin-top:14px;margin-bottom:14px}
.payments-dashboard-page .kpi-card{min-height:132px;border-radius:20px;border:1px solid rgba(37,74,121,.92);background:radial-gradient(circle at 0% 0%,rgba(255,255,255,.03),transparent 30%),linear-gradient(145deg,#0a1e38,#061223);box-shadow:0 18px 45px rgba(0,0,0,.23), inset 0 1px 0 rgba(255,255,255,.03)}
.payments-dashboard-page .kpi-icon{width:62px;height:62px;border-radius:19px;font-size:26px;box-shadow:0 10px 28px rgba(0,0,0,.2)}
.payments-dashboard-page .kpi-card strong{font-size:38px;line-height:1}
.payments-dashboard-page .kpi-card small{font-size:10px}
.payments-dashboard-page .payments-toolbar-card,.payments-dashboard-page .month-quickbar,.payments-dashboard-page .payments-table-card{border-radius:20px;border-color:#173b60;box-shadow:0 20px 55px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.025)}
.payments-dashboard-page .toolbar-actions .btn{height:48px;border-radius:14px;font-weight:800}
.payments-dashboard-page .premium-add{padding-inline:20px;background:linear-gradient(135deg,#8e41ff,#1d92ff);border-color:transparent;box-shadow:0 14px 34px rgba(72,84,255,.25)}
.payments-dashboard-page .premium-export{padding-inline:18px;background:rgba(6,25,48,.82);border:1px solid #26496e;color:#bdd7f2}
.payments-dashboard-page .premium-filters{gap:10px;grid-template-columns:minmax(240px,1.35fr) repeat(4,minmax(120px,.78fr)) auto}
.payments-dashboard-page .premium-search,.payments-dashboard-page .filter-field, .payments-dashboard-page .filter-submit{height:56px}
.payments-dashboard-page .premium-search{display:flex;align-items:center;gap:10px;padding:0 16px;border:1px solid #1a3f68;border-radius:16px;background:linear-gradient(145deg,#08192d,#061223);color:#9bb5cf}
.payments-dashboard-page .premium-search span{font-size:16px;color:#5db6ff}
.payments-dashboard-page .premium-search input{padding:0;background:transparent;border:0;box-shadow:none;height:auto}
.payments-dashboard-page .filter-field{display:grid;align-content:center;padding:7px 12px;border:1px solid #1a3f68;border-radius:16px;background:linear-gradient(145deg,#08192d,#061223)}
.payments-dashboard-page .filter-field span{font-size:10px;color:#7f9abc;margin:0 0 3px 2px}
.payments-dashboard-page .filter-field select{padding:0;height:auto;border:0;background:transparent;color:#f7fbff;box-shadow:none}
.payments-dashboard-page .filter-submit{align-self:stretch;border-radius:16px;border:1px solid #2a537e;background:linear-gradient(145deg,#0b203b,#09172a);color:#c9def6;font-weight:800;min-width:112px}
.payments-dashboard-page .month-quickbar{padding:14px 16px}
.payments-dashboard-page .month-quick-pills a{height:48px;border-radius:12px}
.payments-dashboard-page .month-quick-pills a b{font-size:13px}.payments-dashboard-page .month-quick-pills a small{font-size:8px}
.payments-dashboard-page .payments-table-card{padding-bottom:2px}
.payments-dashboard-page .table-card-heading{padding:16px 18px 13px}
.payments-dashboard-page .table-card-heading h3{font-size:24px}
.payments-dashboard-page .table-card-summary{font-size:12px}
.payments-dashboard-page .premium-table-wrap{padding:0 12px 14px}
.payments-dashboard-page .premium-payments-table{min-width:1540px;border-collapse:separate;border-spacing:0 12px}
.payments-dashboard-page .premium-payments-table thead th{position:sticky;top:0;padding:12px 14px;background:#07172b;box-shadow:inset 0 -1px 0 #173757}
.payments-dashboard-page .premium-payments-table tbody td{padding:16px 14px;border-bottom:0;background:linear-gradient(180deg,rgba(9,26,49,.94),rgba(6,19,36,.94));white-space:nowrap}
.payments-dashboard-page .premium-payments-table tbody td:first-child{border-radius:0 16px 16px 0}
.payments-dashboard-page .premium-payments-table tbody td:last-child{border-radius:16px 0 0 16px}
.payments-dashboard-page .premium-payments-table tbody tr:hover td{background:linear-gradient(180deg,rgba(12,34,61,.97),rgba(7,20,39,.97))}
.payments-dashboard-page .student-premium-name{min-width:220px;gap:12px}
.payments-dashboard-page .student-avatar{width:48px;height:48px;font-size:14px;box-shadow:0 12px 24px rgba(7,114,221,.2)}
.payments-dashboard-page .student-premium-name strong{font-size:14px}.payments-dashboard-page .student-premium-name small{font-size:10px;max-width:150px}
.payments-dashboard-page .phone-cell,.payments-dashboard-page .date-cell,.payments-dashboard-page .price-cell b,.payments-dashboard-page .source-chip,.payments-dashboard-page .premium-status{font-size:12px}
.payments-dashboard-page .price-cell small{font-size:10px}
.payments-dashboard-page .source-chip{padding:8px 12px;border-width:1px;border-style:solid;display:inline-flex;align-items:center;gap:7px}
.payments-dashboard-page .premium-status{min-width:95px;padding:8px 12px}
.payments-dashboard-page .premium-months-grid{grid-template-columns:repeat(12,34px);gap:6px;min-width:474px;justify-content:flex-start}
.payments-dashboard-page .premium-month-check{width:34px;height:43px;border-radius:10px;gap:4px}
.payments-dashboard-page .premium-month-check span{font-size:10px}.payments-dashboard-page .premium-month-check i{width:15px;height:15px;font-size:9px}
.payments-dashboard-page .premium-actions{min-width:172px;gap:6px}
.payments-dashboard-page .premium-actions button{height:34px;border-radius:10px;font-size:10px;display:flex;align-items:center;justify-content:center;gap:5px}
.payments-dashboard-page .drawer-modal .drawer-card{width:min(430px,96vw)}
.payments-dashboard-page .drawer-heading h2{font-size:22px}.payments-dashboard-page .drawer-heading p{font-size:10px}
.payments-dashboard-page .drawer-form>label>span,.payments-dashboard-page .drawer-form .source-field>span{font-size:11px}
.payments-dashboard-page .drawer-form input,.payments-dashboard-page .drawer-form textarea{font-size:14px}
.payments-dashboard-page .drawer-form .month-check-grid{grid-template-columns:repeat(4,1fr)}
.payments-dashboard-page .drawer-form .month-check>span{min-height:56px}
.payments-dashboard-page .drawer-actions .btn{font-size:14px}
@media(max-width:1220px){.payments-dashboard-page .premium-filters{grid-template-columns:1fr 1fr 1fr}.payments-dashboard-page .premium-search{grid-column:1/-1}.payments-dashboard-page .filter-submit{grid-column:1/-1;height:52px}}
@media(max-width:900px){.payments-dashboard-page .premium-table-wrap{padding:0}.payments-dashboard-page .premium-payments-table{min-width:1280px}.payments-dashboard-page .premium-months-grid{min-width:430px}.payments-dashboard-page .premium-filters{grid-template-columns:1fr 1fr}.payments-dashboard-page .filter-field,.payments-dashboard-page .premium-search,.payments-dashboard-page .filter-submit{height:auto;min-height:52px}}
@media(max-width:560px){.payments-dashboard-page .student-premium-name{min-width:180px}.payments-dashboard-page .premium-payments-table{min-width:1160px}.payments-dashboard-page .premium-months-grid{grid-template-columns:repeat(6,34px);min-width:0;justify-content:center}}
