:root{--bg:#06111d;--panel:#0b1b2b;--panel2:#10263b;--gold:#efb83f;--gold2:#ffd978;--text:#f7f9fc;--muted:#9cafc2;--line:#1b3a53;--green:#43d99c;--red:#ff6d78;--radius:18px;--shadow:0 18px 60px rgba(0,0,0,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% 0,#0e3150 0,transparent 38%),var(--bg);color:var(--text);font-family:Arial,"Segoe UI",Tahoma,sans-serif}button,input,select,textarea{font:inherit}button,a{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.wrap{width:min(1180px,calc(100% - 32px));margin:auto}.top{height:78px;border-bottom:1px solid var(--line);background:rgba(6,17,29,.88);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.top .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border:1px solid var(--gold);border-radius:14px;display:grid;place-items:center;color:var(--gold);font-size:21px}.brand-copy strong{display:block;color:var(--gold2);letter-spacing:3px;font-size:17px}.brand-copy span{display:block;letter-spacing:5px;font-size:9px;color:#c7d5e2;margin-top:3px}.teacher-mini{color:var(--muted);font-size:13px}.btn{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:13px;padding:12px 18px;font-weight:700}.btn:hover{border-color:var(--gold)}.btn.primary{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#1a1305;border:0}.btn.danger{border-color:#6c2932;color:#ffb0b7;background:#251116}.btn.ghost{background:transparent}.btn.small{padding:8px 11px;border-radius:10px;font-size:13px}.hero{padding:42px 0 58px}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,470px);gap:44px;align-items:center}.hero-copy{direction:rtl;text-align:right}.eyebrow{color:var(--gold);font-weight:800;letter-spacing:2px;font-size:12px}.hero h1{font-size:clamp(44px,7vw,88px);line-height:.95;margin:12px 0 10px;letter-spacing:2px}.hero h1 span{display:block;color:var(--gold2);font-size:.32em;letter-spacing:4px;margin-bottom:13px}.hero .teacher-name{font-size:clamp(22px,3vw,34px);margin:0 0 18px}.hero p{font-size:18px;line-height:1.9;color:var(--muted);max-width:660px;margin:0 0 26px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-image{border:1px solid rgba(239,184,63,.45);border-radius:28px;overflow:hidden;background:#081523;box-shadow:var(--shadow);aspect-ratio:2/3;position:relative}.hero-image img{width:100%;height:100%;object-fit:cover;display:block}.hero-image:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);pointer-events:none}.simple-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(8,25,40,.72)}.strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.strip-item{background:var(--bg);padding:22px;text-align:center}.strip-item b{display:block;color:var(--gold2);font-size:17px}.strip-item span{color:var(--muted);font-size:13px}.login-box{padding:64px 0}.login-card{max-width:500px;margin:auto;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow);direction:rtl}.login-card h2{margin:0 0 7px}.field{display:grid;gap:7px;margin:14px 0}.field label{font-size:13px;color:#cedae5}.field input,.field select,.field textarea{width:100%;background:#071522;border:1px solid var(--line);color:var(--text);border-radius:12px;padding:12px 13px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}.field textarea{min-height:96px;resize:vertical}.message{min-height:22px;margin-top:10px;font-size:13px;color:var(--muted)}.message.error{color:#ff9aa3}.message.ok{color:#7aefc2}.footer{padding:30px 0 44px;color:var(--muted);text-align:center;font-size:13px}
/* dashboard */
.portal-body{min-height:100vh}.portal-top{padding:18px 0;border-bottom:1px solid var(--line)}.portal-top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-main{padding:28px 0 60px;direction:rtl}.welcome{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px}.welcome h1{margin:6px 0 0;font-size:32px}.student-tag{padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:13px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:19px}.stat span{display:block;color:var(--muted);font-size:13px}.stat b{display:block;font-size:30px;margin-top:8px}.stat b.gold{color:var(--gold2)}.portal-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 10px 28px rgba(0,0,0,.12)}.card h2,.card h3{margin:0 0 14px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.list{display:grid;gap:10px}.item{border:1px solid var(--line);background:#081725;border-radius:14px;padding:13px}.item-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.item strong{display:block}.item p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.7}.pill{font-size:12px;padding:6px 9px;border-radius:999px;background:#0f2a3f;color:#c8dae8;border:1px solid #244d6b}.pill.gold{color:#251a04;background:var(--gold2);border-color:var(--gold2)}.pill.green{color:#05261a;background:#71e6ba;border-color:#71e6ba}.resource-link{display:inline-flex;margin-top:9px;color:var(--gold2);text-decoration:none;font-weight:700}.empty{padding:20px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}.wide{grid-column:1/-1}
/* admin */
.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh;direction:rtl}.sidebar{background:#05101a;border-left:1px solid var(--line);padding:20px 14px;position:sticky;top:0;height:100vh;overflow:auto}.sidebar .brand{padding:5px 8px 20px;border-bottom:1px solid var(--line);margin-bottom:15px}.nav{display:grid;gap:6px}.nav button{border:0;background:transparent;color:#aebfd0;text-align:right;padding:12px 13px;border-radius:12px}.nav button:hover,.nav button.active{background:#0d2740;color:#fff}.nav button.active{box-shadow:inset -3px 0 var(--gold)}.admin-main{min-width:0}.admin-head{min-height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;background:rgba(6,17,29,.86);position:sticky;top:0;z-index:10;backdrop-filter:blur(14px)}.admin-head h1{font-size:24px;margin:0}.admin-content{padding:24px;max-width:1500px}.flash{padding:12px 14px;border:1px solid var(--line);border-radius:13px;margin-bottom:16px;color:var(--muted)}.flash.ok{border-color:#205d49;color:#79e6bd}.flash.error{border-color:#71313a;color:#ff9fa7}.view{display:none}.view.active{display:block}.page-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.span-3{grid-column:span 3}.admin-card{background:var(--panel);border:1px solid var(--line);border-radius:19px;padding:18px;min-width:0}.admin-card h2{margin:0 0 14px;font-size:19px}.admin-card h3{margin:0 0 12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .full{grid-column:1/-1}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:right;font-size:13px;vertical-align:middle}.table th{color:#a9bed0;background:#081725}.table tr:last-child td{border-bottom:0}.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:330px;overflow:auto}.check-item{display:flex;align-items:center;gap:8px;background:#071522;border:1px solid var(--line);padding:10px;border-radius:12px}.group-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.group-card{background:#081725;border:1px solid var(--line);border-radius:15px;padding:14px}.group-card b{font-size:16px}.group-card small{display:block;color:var(--muted);margin:6px 0 12px}.resource-type{font-size:11px;color:var(--gold2);letter-spacing:1px}.hero-preview{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:center}.hero-preview img{width:180px;aspect-ratio:2/3;object-fit:cover;border-radius:16px;border:1px solid var(--line)}.menu-btn{display:none}.modal{position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:100;display:none;place-items:center;padding:18px}.modal.open{display:grid}.modal-card{width:min(640px,100%);max-height:90vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:20px;direction:rtl}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head h2{margin:0}.x{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:transparent;color:#fff}.mobile-overlay{display:none}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr .75fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.portal-grid{grid-template-columns:1fr}.admin-shell{grid-template-columns:1fr}.sidebar{position:fixed;right:-270px;top:0;width:260px;z-index:50;transition:.25s}.sidebar.open{right:0}.menu-btn{display:inline-flex}.mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:45}.mobile-overlay.show{display:block}.span-8,.span-7,.span-6,.span-5,.span-4,.span-3{grid-column:span 12}.group-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.wrap{width:min(100% - 22px,1180px)}.top{height:68px}.teacher-mini{display:none}.hero{padding:24px 0 38px}.hero-grid{grid-template-columns:1fr}.hero-copy{text-align:center}.hero h1{font-size:48px}.hero p{font-size:15px}.hero-actions{justify-content:center}.hero-image{width:min(390px,100%);margin:auto}.strip-grid{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}.welcome{align-items:flex-start;flex-direction:column}.portal-top .brand-copy strong{letter-spacing:2px;font-size:14px}.portal-main{padding-top:20px}.admin-head{padding:12px 14px}.admin-head h1{font-size:20px}.admin-content{padding:14px}.form-grid{grid-template-columns:1fr}.group-cards{grid-template-columns:1fr}.check-list{grid-template-columns:1fr}.hero-preview{grid-template-columns:1fr}.hero-preview img{width:150px}.top .btn{padding:10px 12px}.brand-copy strong{font-size:14px;letter-spacing:2px}.brand-copy span{letter-spacing:3px}.card{padding:16px}.stat{padding:15px}.stat b{font-size:25px}}
/* V6 branch: credentials, billing, flexible groups, stage content */
.calc-box{padding:11px 13px;border:1px solid rgba(239,184,63,.4);background:#151d19;border-radius:12px;color:var(--gold2);font-size:13px;font-weight:700;margin:10px 0}.check-list.compact{grid-template-columns:1fr;max-height:180px}.block{display:block;margin-top:5px}.password-cell{display:flex;align-items:center;gap:8px;min-width:190px}.password-cell code{direction:ltr;unicode-bidi:plaintext;background:#071522;border:1px solid var(--line);padding:7px 9px;border-radius:9px;min-width:95px}.green-text{color:var(--green)}.pill.red{color:#ffd6d9;background:#501d25;border-color:#7d2d38}.pill.warn{color:#271a02;background:#ffd66c;border-color:#ffd66c}.payment-alert{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border-radius:15px;margin-bottom:16px;border:1px solid var(--line);background:#0c2031}.payment-alert span{font-size:13px}.payment-alert.paid{border-color:#225d49;background:#0b2c22;color:#8bf0c9}.payment-alert.warn{border-color:#8f6d20;background:#33290f;color:#ffe295}.payment-alert.danger{border-color:#7d2d38;background:#35151a;color:#ffc2c7}.preline{white-space:pre-line}.stage-image{display:block;width:100%;max-height:340px;object-fit:contain;background:#06111d;border:1px solid var(--line);border-radius:12px;margin-top:10px}.btn[disabled]{opacity:.45;cursor:not-allowed}.table code{font-family:Consolas,"Courier New",monospace;color:#e7f0f8}.small-note{font-size:12px;color:var(--muted)}
@media(max-width:720px){.payment-alert{align-items:flex-start;flex-direction:column}.password-cell{min-width:160px}}

/* V7: admin-only credential row + academic-year selects */
.password-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.password-admin-row input{direction:ltr;text-align:left;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.grade-select{width:100%}@media(max-width:640px){.password-admin-row{grid-template-columns:1fr 1fr}.password-admin-row input{grid-column:1/-1}}

/* V8: group attendance, student evaluation, dedicated homework */
.attendance-roster{display:grid;gap:8px;margin:14px 0;max-height:430px;overflow:auto}.attendance-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:10px;padding:10px 12px;background:#071522;border:1px solid var(--line);border-radius:12px}.attendance-row b{display:block}.attendance-row small{display:block;color:var(--muted);margin-top:3px}.attendance-row select,.status-inline{background:#071522;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:9px}.soft-line{border:0;border-top:1px solid var(--line);margin:22px 0}.section-gap{margin-top:18px!important}.mini-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0 14px}.mini-stat-grid>div{background:#071522;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}.mini-stat-grid span{display:block;color:var(--muted);font-size:11px}.mini-stat-grid b{display:block;font-size:22px;margin-top:4px}.compact-table .table{min-width:520px}.modal-card{width:min(760px,100%)}
@media(max-width:640px){.attendance-row{grid-template-columns:1fr}.mini-stat-grid{grid-template-columns:repeat(2,1fr)}}
