:root{
  --bg:#f4f8f5;--panel:#fff;--text:#152033;--muted:#708278;--line:#dfe9e3;
  --primary:#4f7865;--primary2:#365b49;--soft:#eff6f1;--ok:#16865b;--warn:#b97808;--danger:#c44141;
  --shadow:0 10px 30px rgba(24,39,58,.08);--radius:18px
}
*{box-sizing:border-box}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.hidden{display:none!important}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px 18px;background:linear-gradient(145deg,#eff6f1 0%,#f8fbf9 52%,#edf6f0 100%);position:relative;overflow:hidden}
.auth-decor{position:absolute;pointer-events:none}.auth-orb{border:1px solid rgba(66,129,211,.12);border-radius:50%}.auth-orb-a{width:270px;height:270px;right:-110px;top:-70px;background:rgba(143,186,239,.08)}.auth-orb-b{width:230px;height:230px;left:-95px;bottom:-60px;background:rgba(143,186,239,.07)}
.auth-dots{width:96px;height:96px;opacity:.58;background-image:radial-gradient(#77a8e7 2px,transparent 2px);background-size:16px 16px}.auth-dots-a{top:10%;left:5%}.auth-dots-b{right:5%;bottom:8%}
.auth-card{width:min(560px,100%);background:rgba(255,255,255,.96);border:1px solid rgba(213,224,239,.9);border-radius:34px;padding:38px 44px 34px;box-shadow:0 24px 70px rgba(37,76,123,.13);position:relative;z-index:1;backdrop-filter:blur(8px)}
.schedule-logo{width:126px;height:98px;margin:0 auto 2px}.schedule-logo svg{display:block;width:100%;height:100%}
.auth-card h1{direction:ltr;text-align:center;margin:8px 0 6px;font-size:36px;letter-spacing:-1px;color:#1f3d31;font-weight:800}.auth-card h1 span{color:#284b3d}.auth-card h1 strong{color:#4f8a6f;font-weight:700}
.auth-tagline{display:flex;align-items:center;gap:13px;margin:0 0 30px}.auth-tagline p{margin:0;color:#6f7f94;font-size:17px;white-space:nowrap}.auth-tagline span{height:1px;background:linear-gradient(90deg,transparent,#9fc7b2);flex:1}.auth-tagline span:last-child{background:linear-gradient(90deg,#9fc7b2,transparent)}
.role-switch{display:grid;grid-template-columns:1fr 1fr;background:#f5f8fc;border:1px solid #e2e9f3;border-radius:16px;padding:4px;margin-bottom:26px;box-shadow:inset 0 1px 2px rgba(41,72,110,.04)}.role{border:0;background:transparent;padding:13px 16px;border-radius:12px;cursor:pointer;font-size:16px;color:#23344f;display:flex;align-items:center;justify-content:center;gap:8px}.role.active{background:linear-gradient(135deg,#5b9779,#3f725a);box-shadow:0 8px 18px rgba(35,98,185,.22);color:#fff;font-weight:700}.role-icon{font-size:19px;line-height:1}
.auth-field{margin-top:18px}.auth-field label{display:block;font-size:14px;margin:0 2px 8px;color:#263b5c;font-weight:600}.input-wrap{position:relative}.auth-card input{width:100%;height:58px;padding:0 48px 0 52px;border:1px solid #d9e2ef;border-radius:14px;outline:none;background:#fff;color:#14243c;font-size:15px;box-shadow:0 2px 6px rgba(34,60,92,.025)}.auth-card input::placeholder{color:#9aa8bb}.auth-card input:focus{border-color:#6da4e4;box-shadow:0 0 0 4px rgba(52,125,213,.09)}
.input-icon{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:#315c49;font-size:22px;z-index:2}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:#f3f6fa;display:grid;place-items:center;cursor:pointer;color:#2b5944}.password-toggle:hover{background:#eaf1f9}.password-toggle svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8}
.primary,.ghost-btn,.link-btn,.upgrade-btn,.danger-btn,.success-btn{border:0;border-radius:11px;padding:10px 14px;cursor:pointer}.auth-card .primary{background:linear-gradient(135deg,#5a9276,#356a52);color:#fff;box-shadow:0 10px 22px rgba(33,99,188,.22)}.auth-card .primary:hover{filter:brightness(.97)}.wide{width:100%;height:60px;margin-top:26px;border-radius:14px;font-size:20px;display:flex;align-items:center;justify-content:center;gap:16px}.login-arrow{font-size:27px;font-weight:300}.link-btn{background:transparent;color:#3f7d61;width:100%;margin-top:12px;font-size:15px}.demo-note{font-size:12px;color:#8390a2;text-align:center;margin-top:18px;display:flex;align-items:center;justify-content:center;gap:7px}.shield-dot{width:23px;height:23px;border:1.5px solid #99a9bc;border-radius:50%;display:inline-grid;place-items:center;font-size:12px;color:#607995}
.mini-schedule-logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#65977f,#3a6b54);display:grid;place-items:center;box-shadow:0 6px 16px rgba(0,0,0,.16)}.grid-mark{width:23px;height:23px;display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.grid-mark i{display:block;background:#fff;border-radius:2px;opacity:.92}.grid-mark i:last-child{background:#69d39a}
.app-shell{min-height:100vh;display:grid;grid-template-columns:275px 1fr}.sidebar{background:#18362d;color:#fff;padding:18px 14px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.brand-box{display:flex;gap:11px;align-items:center;padding:6px}.brand-box span{display:block;color:#bed0c6;font-size:12px;margin-top:2px}.school-mini{padding:16px 10px 14px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:10px}.school-mini span{display:block;color:#acc2b6;font-size:12px;margin-top:5px}
nav{overflow:auto;padding-left:2px}.nav-group-title{color:#9cb5a8;font-size:11px;padding:15px 10px 5px}.nav-item{width:100%;text-align:right;background:transparent;border:0;color:#e3eee8;padding:10px 11px;border-radius:10px;cursor:pointer;margin:2px 0}.nav-item:hover,.nav-item.active{background:#28513f;color:#fff}.sidebar-bottom{margin-top:auto;display:grid;gap:8px;padding-top:12px}.upgrade-btn{background:#d8b45b;color:#2f2a1e;font-weight:700}.ghost-btn{background:#eef2f6;color:#344054}.sidebar .ghost-btn{background:rgba(255,255,255,.09);color:#fff}
.main{min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.topbar h2{margin:0 0 3px;font-size:22px}.topbar p{margin:0;color:var(--muted);font-size:13px}.top-actions{display:flex;gap:10px;align-items:center}.user-badge{padding:9px 12px;background:var(--soft);color:var(--primary);border-radius:999px;font-size:13px}.content{padding:24px}
.cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 4px 14px rgba(30,50,75,.04)}.metric{font-size:28px;font-weight:700;margin:8px 0}.muted{color:var(--muted);font-size:13px}.section{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-head h3{margin:0}.actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;min-width:720px;background:#fff}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:right;font-size:13px}th{background:#f8fafc;color:#475467;font-size:12px}.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px}.ok{background:#e8f6ef;color:var(--ok)}.warn{background:#fff3db;color:var(--warn)}.danger{background:#fdecec;color:var(--danger)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field label{display:block;font-size:12px;color:#526071;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.field.full{grid-column:1/-1}.success-btn{background:#e7f6ef;color:var(--ok)}.danger-btn{background:#fdecec;color:var(--danger)}
.schedule{display:grid;grid-template-columns:110px repeat(7,minmax(105px,1fr));border:1px solid var(--line);border-radius:14px;overflow:auto;min-width:900px}.schedule>div{padding:10px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);min-height:54px;background:#fff;font-size:12px;text-align:center}.schedule .head{background:#f8fafc;font-weight:700;display:grid;place-items:center}.schedule .day{background:#f8fafc;font-weight:700;display:grid;place-items:center}.slot{cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;line-height:1.35}.slot:hover{background:#f4f8fb}.slot.filled{background:#f2f7f4}.slot strong{display:block;width:100%;text-align:center}.slot small{display:block;width:100%;text-align:center;color:var(--muted)}.slot .schedule-subject{font-size:12px;font-weight:700;color:#1f2937}.slot .schedule-teacher{font-size:10.5px;font-weight:600;color:#4f735f;margin-top:2px}.slot .schedule-class{font-size:10px;color:#7b8794}
.alerts{display:grid;gap:8px}.alert{padding:11px 13px;border-radius:12px;background:#fff6e8;color:#8f5f12;border:1px solid #f6dfb8;font-size:13px}
.modal{position:fixed;inset:0;background:rgba(15,23,42,.5);display:grid;place-items:center;padding:20px;z-index:20}.modal-card{width:min(720px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0}.modal-head button{border:0;background:transparent;font-size:28px;cursor:pointer}.modal-body-pad,#modalBody{padding:18px}.empty{padding:28px;text-align:center;color:var(--muted)}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.app-shell{grid-template-columns:220px 1fr}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;height:auto;min-height:0}.topbar{position:relative;padding:16px;align-items:flex-start}.content{padding:14px}.cards{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.top-actions{flex-direction:column;align-items:flex-end}.sidebar nav{max-height:280px}}
@media(max-width:480px){.cards{grid-template-columns:1fr}.topbar{display:block}.top-actions{margin-top:10px;align-items:stretch}.user-badge{text-align:center}}
@media(max-width:620px){.auth-shell{padding:14px}.auth-card{padding:28px 22px 24px;border-radius:28px}.schedule-logo{width:108px;height:84px}.auth-card h1{font-size:30px}.auth-tagline p{font-size:14px}.auth-card input{height:54px}.wide{height:56px}.auth-dots{opacity:.34}}
@media(max-width:420px){.auth-card{padding:24px 16px}.auth-card h1{font-size:27px}.role{font-size:15px}.auth-tagline{gap:8px}.auth-tagline p{font-size:13px}}

/* v1.3 login polish + owner */
.schedule-logo{width:92px;height:72px;margin:0 auto 4px}.auth-card h1{font-size:34px;margin-top:4px}.ui-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.role-icon{width:21px;height:21px}.input-icon{right:17px;left:auto;display:grid;place-items:center}.auth-card input{padding:0 52px}.password-toggle{left:10px;right:auto}.owner-mark{width:66px;height:66px;margin:0 auto 10px;border-radius:20px;background:linear-gradient(135deg,#3f725a,#2a78d6);display:grid;place-items:center;color:#fff;box-shadow:0 10px 24px rgba(35,98,185,.2)}.owner-mark svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.owner-title{font-size:29px!important}.owner-sub{text-align:center;color:#728196;margin:-2px 0 26px}.owner-sidebar{background:#0c2033}.owner-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700}.owner-status.pending{background:#fff3db;color:#9a6506}.owner-status.trial{background:#edf6f0;color:#245fb1}.owner-status.active{background:#e8f6ef;color:#16865b}.owner-status.suspended{background:#fdecec;color:#c44141}.owner-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.owner-toolbar .field{min-width:150px}.owner-note{padding:12px 14px;border-radius:12px;background:#f2f7f4;color:#31557a;border:1px solid #d7e6f4;font-size:13px}
@media(max-width:620px){.schedule-logo{width:82px;height:64px}.auth-card h1{font-size:29px}.owner-title{font-size:25px!important}}

/* v1.4 compact login + cross-device SVG stability */
.auth-shell{padding:16px 14px;align-items:center}
.auth-card{width:min(520px,100%);padding:22px 34px 20px;border-radius:28px}
.schedule-logo{width:68px;height:54px;margin:0 auto 0}
.auth-card h1{font-size:30px;margin:2px 0 2px;line-height:1.12}
.auth-tagline{gap:10px;margin:0 0 16px}
.auth-tagline p{font-size:14px}
.role-switch{margin-bottom:14px;border-radius:14px}
.role{padding:10px 14px;font-size:15px;gap:7px}
.auth-field{margin-top:12px}
.auth-field label{font-size:13px;margin-bottom:6px}
.auth-card input{height:50px;border-radius:12px;font-size:14px;padding-right:48px;padding-left:48px}
.ui-icon{width:20px;height:20px;min-width:20px;min-height:20px;display:block;fill:none!important;stroke:currentColor!important;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.role-icon{width:19px;height:19px;min-width:19px;min-height:19px}
.input-icon{right:15px;left:auto;width:22px;height:22px;display:grid;place-items:center;color:#31527c}
.input-icon .ui-icon{width:20px;height:20px}
.password-toggle{left:7px;right:auto;width:38px;height:38px;background:#f2f6fb}
.password-toggle svg{width:21px;height:21px;display:block;fill:none!important;stroke:currentColor!important;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.wide{height:52px;margin-top:16px;border-radius:12px;font-size:18px;gap:12px}
.login-arrow{font-size:22px}
.link-btn{margin-top:8px;font-size:14px;padding:7px 10px}
.demo-note{margin-top:9px;font-size:11px;line-height:1.45}
.owner-login-card{padding-top:24px}
.owner-mark{width:54px;height:54px;border-radius:16px;margin-bottom:7px}
.owner-mark svg{width:30px;height:30px}
.owner-sub{margin:0 0 15px;font-size:13px}
.owner-title{font-size:25px!important;margin-bottom:3px!important}
@media(max-width:620px){
  .auth-shell{padding:10px}
  .auth-card{width:min(470px,100%);padding:18px 20px 16px;border-radius:24px}
  .schedule-logo{width:60px;height:48px}
  .auth-card h1{font-size:26px}
  .auth-tagline{margin-bottom:12px}
  .auth-tagline p{font-size:12.5px}
  .role{padding:9px 10px;font-size:14px}
  .auth-field{margin-top:10px}
  .auth-card input{height:46px;font-size:13.5px}
  .wide{height:48px;margin-top:13px;font-size:17px}
  .demo-note{margin-top:7px;font-size:10.5px}
}
@media(max-height:760px) and (min-width:621px){
  .auth-card{padding-top:18px;padding-bottom:16px}
  .schedule-logo{width:58px;height:46px}
  .auth-card h1{font-size:27px}
  .auth-tagline{margin-bottom:11px}
  .role-switch{margin-bottom:10px}
  .auth-field{margin-top:9px}
  .auth-card input{height:46px}
  .wide{height:48px;margin-top:12px}
  .demo-note{margin-top:6px}
}

/* v1.5 — approved minimalist login, external image icons for cross-device stability */
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px 16px;background:linear-gradient(145deg,#f2f8f4 0%,#fbfdff 54%,#e9f3ed 100%);position:relative;overflow:auto}
.auth-shell .auth-orb{position:fixed;border-radius:50%;pointer-events:none;border:1px solid rgba(63,126,207,.08)}
.auth-shell .orb-a{width:280px;height:280px;left:-130px;bottom:-90px;background:rgba(112,164,229,.07)}
.auth-shell .orb-b{width:250px;height:250px;right:-110px;top:-80px;background:rgba(112,164,229,.06)}
.auth-card{width:min(520px,calc(100vw - 28px));margin:auto;background:#fff;border:1px solid #e2eaf4;border-radius:32px;padding:34px 40px 30px;box-shadow:0 24px 60px rgba(31,72,124,.12);position:relative;z-index:2;overflow:visible}
.brand-logo{display:block;width:132px;height:103px;object-fit:contain;margin:0 auto 5px}
.auth-card h1{direction:ltr;text-align:center;margin:4px 0 6px;font-size:34px;line-height:1.1;letter-spacing:-1px;color:#244637;font-weight:800}
.auth-card h1 span{color:#244637}.auth-card h1 strong{color:#4f896c;font-weight:700}
.auth-subtitle{text-align:center;color:#718198;font-size:15px;margin:0 0 26px}
.role-switch{display:grid;grid-template-columns:1fr 1fr;padding:3px;background:#f7f9fc;border:1px solid #e1e8f1;border-radius:14px;margin:0 0 25px;overflow:hidden}
.role{min-height:57px;border:0;border-radius:12px;background:transparent;display:flex;align-items:center;justify-content:center;gap:10px;color:#294b3d;font-size:17px;cursor:pointer;padding:10px 16px}
.role img{display:block;width:25px;height:25px;object-fit:contain;filter:none}
.role.active{background:linear-gradient(135deg,#2d78d7,#1453b5);color:#fff;box-shadow:0 8px 18px rgba(27,91,177,.22)}
.role.active img{filter:brightness(0) invert(1)}
.auth-field{margin-top:19px}.auth-field label{display:block;color:#172b49;font-size:14px;font-weight:700;margin:0 2px 9px;text-align:right}
.input-wrap{position:relative}.auth-card input:not([type="checkbox"]){display:block;width:100%;height:58px;border:1px solid #dce6e0;border-radius:13px;background:#fff;color:#17243a;font-size:15px;padding:0 50px;outline:none;box-shadow:none}
.auth-card input:not([type="checkbox"])::placeholder{color:#9aa8bb}.auth-card input:not([type="checkbox"]):focus{border-color:#6ea5e7;box-shadow:0 0 0 4px rgba(55,127,214,.08)}
.field-icon{position:absolute;right:17px;top:50%;transform:translateY(-50%);width:23px;height:23px;object-fit:contain;z-index:2}
.password-toggle{position:absolute;left:8px;right:auto;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:#f5f7fb;display:grid;place-items:center;cursor:pointer;padding:0}
.password-toggle img{display:block;width:24px;height:24px;object-fit:contain}
.remember-row{display:flex;align-items:center;gap:9px;justify-content:flex-start;margin:14px 2px 0;color:#354761;font-size:14px;cursor:pointer;width:max-content}
.remember-row input{appearance:none;-webkit-appearance:none;width:19px;height:19px;border:1px solid #cfd9e6;border-radius:4px;background:#fff;display:grid;place-items:center;margin:0;cursor:pointer}
.remember-row input:checked{background:#4f8d70;border-color:#4f8d70}.remember-row input:checked:after{content:"✓";color:#fff;font-size:14px;line-height:1}
.auth-card .primary{background:linear-gradient(135deg,#2b77d8,#1452b4);color:#fff;border:0;box-shadow:0 10px 20px rgba(29,90,174,.18)}
.wide{width:100%;height:58px;margin-top:18px;border-radius:12px;font-size:19px;display:flex;align-items:center;justify-content:center;gap:15px}.login-arrow{font-size:23px;font-weight:300}
.link-btn{display:block;width:100%;background:transparent;border:0;color:#1560bd;margin:11px 0 0;padding:8px;font-size:15px;cursor:pointer}
.auth-divider{height:1px;background:#e3ebe7;margin:20px 0 15px}.demo-note{display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;color:#7b899d;font-size:12px;line-height:1.5;margin:0}.demo-note img{display:block;width:24px;height:24px;object-fit:contain;flex:0 0 auto}
.owner-login-card{max-width:500px}.owner-brand-logo{width:105px;height:82px}.owner-title{font-size:30px!important;margin-top:4px!important}
@media(max-width:620px){.auth-shell{padding:14px 8px}.auth-card{width:min(470px,calc(100vw - 16px));border-radius:25px;padding:24px 24px 22px}.brand-logo{width:108px;height:84px}.auth-card h1{font-size:29px}.auth-subtitle{font-size:13.5px;margin-bottom:20px}.role-switch{margin-bottom:19px}.role{min-height:52px;font-size:16px}.role img{width:22px;height:22px}.auth-field{margin-top:15px}.auth-card input:not([type="checkbox"]){height:52px;font-size:14px}.wide{height:52px;font-size:18px}.auth-divider{margin-top:16px;margin-bottom:12px}}
@media(max-width:390px){.auth-card{padding:21px 18px 19px}.brand-logo{width:96px;height:75px}.auth-card h1{font-size:26px}.role{font-size:15px;gap:7px}.auth-field label{font-size:13px}.demo-note{font-size:10.5px}}

/* v1.7 owner subscriptions */
.owner-status.expired{background:#fff1f0;color:#b42318}.owner-note{padding:12px 14px;border-radius:12px;background:#f7f9fc;color:#5e6b7c}.actions{display:flex;gap:6px;flex-wrap:wrap}

/* v1.8 Firebase owner authentication */
.owner-auth-status{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#f2f7fd;color:#4b6c5b;font-size:12px;line-height:1.5;text-align:center}
.owner-auth-status.error{background:#fff1f0;color:#b42318;border:1px solid #ffd4d1}
.owner-auth-status.success{background:#eef8f2;color:#167647;border:1px solid #ccebd8}
#ownerLoginBtn:disabled{opacity:.68;cursor:wait}

/* v2.0 school registration */
.register-link{display:block;width:100%;border:1px solid #d8e5f4;background:#f6faf7;color:#145fbd;border-radius:12px;padding:11px;margin-top:4px;font-size:14px;font-weight:700;cursor:pointer}
#registerView .register-card{max-width:680px}.register-title{font-size:27px!important;direction:rtl!important}.reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.reg-grid .auth-field{margin-top:12px}.register-card select{display:block;width:100%;height:52px;border:1px solid #dce6e0;border-radius:13px;background:#fff;color:#17243a;font-size:14px;padding:0 14px;outline:none}.choice-head{text-align:center;margin:4px 0 16px}.choice-head strong{display:block;font-size:19px;color:#234638}.choice-head span{display:block;color:#7b899d;font-size:13px;margin-top:5px}.service-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}.service-card{border:1px solid #dce6f2;background:#fff;border-radius:18px;padding:20px 16px;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;color:#2d5442;box-shadow:0 9px 24px rgba(31,72,124,.07)}.service-card:hover{border-color:#7fb0ea;transform:translateY(-1px)}.service-card .service-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#f1f7f3;color:#4d886b;font-size:23px;font-weight:800}.service-card strong{font-size:19px}.service-card small{font-size:12px;color:#71877b;text-align:center}.service-card b{margin-top:3px;color:#4d886b}.trial-card .service-icon{background:#eef8f2;color:#16834e}.trial-card b{color:#16834e}
@media(max-width:620px){.reg-grid,.service-choices{grid-template-columns:1fr}.register-card{padding:22px 20px!important}.service-card{min-height:132px}}

/* v2.1 — polished school registration and service choice */
.signup-prompt{margin:12px 0 2px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;color:#6f7f94;font-size:13px;text-align:center}
.signup-prompt>span{font-weight:600}
#loginView .register-link{width:auto;min-width:190px;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0;border:1px solid #cfe0f5;background:linear-gradient(180deg,#fff,#f4f9f6);color:#1763bd;border-radius:13px;padding:10px 17px;font-size:14px;font-weight:800;box-shadow:0 6px 16px rgba(35,92,165,.08);transition:.18s ease}
#loginView .register-link:hover{transform:translateY(-1px);border-color:#8ab9ec;box-shadow:0 9px 22px rgba(35,92,165,.12)}
#loginView .register-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
#registerView .register-card{max-width:720px;padding-bottom:28px!important}
.service-choice-wrap{padding:6px 4px 2px}
.choice-head{max-width:590px;margin:0 auto 22px;text-align:center}
.choice-head .choice-kicker{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;margin:0 auto 7px!important;padding:5px 10px;border-radius:999px;background:#f1f7f3;color:#4d886b!important;font-size:11px!important;font-weight:800}
.choice-head strong{display:block;font-size:23px;color:#234638;letter-spacing:-.2px}
.choice-head>span:last-child{display:block;max-width:520px;margin:7px auto 0;color:#78879a;font-size:13px;line-height:1.7}
.service-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
.service-card{position:relative;border:1px solid #dce7f4;background:linear-gradient(180deg,#fff,#fbfdff);border-radius:22px;padding:22px 18px 18px;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;cursor:pointer;color:#2d5442;box-shadow:0 12px 30px rgba(31,72,124,.08);transition:.18s ease;overflow:hidden}
.service-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:#2c78d8;opacity:.95}
.service-card.trial-card:before{background:#25a866}
.service-card:hover{transform:translateY(-3px);border-color:#9fc4ee;box-shadow:0 18px 35px rgba(31,72,124,.13)}
.service-card .service-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#f1f7f3;color:#4d886b;margin-top:3px;box-shadow:0 6px 14px rgba(37,102,186,.10)}
.service-card .service-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.trial-card .service-icon{background:#edf9f2;color:#189653;box-shadow:0 6px 14px rgba(32,152,87,.10)}
.service-copy{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;flex:1}
.service-card strong{font-size:19px;color:#14345e}
.trial-card strong{color:#17864c}
.service-card b{font-size:14px;color:#1e6dcc;background:#f1f7f3;border-radius:999px;padding:5px 10px;margin:0}
.trial-card b{color:#16834e;background:#eef8f2}
.service-card small{font-size:12px;color:#71877b;line-height:1.75;max-width:250px}
.service-cta{width:100%;min-height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#2c7bdd,#1554b8);color:white;font-size:14px;font-weight:800;box-shadow:0 8px 17px rgba(29,90,174,.16)}
.trial-card .service-cta{background:linear-gradient(135deg,#2fb66f,#17894f);box-shadow:0 8px 17px rgba(31,145,82,.16)}
.back-data-link{display:flex;align-items:center;justify-content:center;gap:7px;margin:17px auto 0;padding:8px 14px;border:0;background:transparent;color:#4d886b;font-size:13px;font-weight:700;cursor:pointer}
.back-data-link:hover{text-decoration:underline}
@media(max-width:620px){
  #loginView .signup-prompt{gap:7px;margin-top:10px}
  #loginView .register-link{min-width:175px;padding:9px 14px}
  #registerView .register-card{padding:22px 16px 20px!important}
  .choice-head{margin-bottom:16px}
  .choice-head strong{font-size:20px}
  .service-choices{grid-template-columns:1fr;gap:12px}
  .service-card{min-height:0;padding:18px 15px 15px;gap:10px}
  .service-card .service-icon{width:48px;height:48px;border-radius:14px}
  .service-card .service-icon svg{width:25px;height:25px}
  .service-card strong{font-size:18px}
  .service-card small{max-width:310px}
}

/* v2.2 — edit/delete controls, setup hub, users and Arabic permissions */
.row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;white-space:nowrap}
.edit-btn{border:0;border-radius:10px;padding:9px 13px;cursor:pointer;background:#edf6f0;color:#165fae;font-weight:700}
.edit-btn:hover{background:#dfefe6}
.setup-panel{padding:22px}
.setup-steps{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:18px 0}
.setup-step{border:1px solid var(--line);border-radius:15px;padding:14px;background:#fbfcfe;display:flex;align-items:center;gap:10px;min-height:76px}
.setup-step.done{background:#f0faf5;border-color:#d3edde}
.step-no{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef2f7;color:#64748b;font-weight:800;flex:0 0 auto}
.setup-step.done .step-no{background:#dff4e8;color:#16865b}
.setup-step strong{display:block;font-size:13px}.setup-step small{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.setup-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px}
.permission-role-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;margin-bottom:12px}
.permission-role-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.permission-role-head strong{display:block;font-size:16px}.permission-role-head span:not(.badge){display:block;color:var(--muted);font-size:12px;margin-top:4px}
.permission-chips{display:flex;gap:8px;flex-wrap:wrap}.permission-chips>span{display:inline-flex;padding:7px 10px;border-radius:999px;background:#f0f5fb;color:#4b6c5b;font-size:12px}
.permission-options{display:grid;gap:9px}.permission-option{display:flex;align-items:center;gap:10px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;cursor:pointer;background:#fbfcfe}.permission-option input{width:18px;height:18px;accent-color:#4f8d70}.permission-option span{font-size:14px;color:#24364d}
@media(max-width:900px){.setup-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.row-actions{gap:5px}.edit-btn,.row-actions .danger-btn,.row-actions .ghost-btn{padding:8px 10px;font-size:12px}.setup-steps{grid-template-columns:1fr}.permission-role-head{align-items:flex-start;flex-direction:column}}


/* v2.3 — teacher password visibility, assignment deletion, swap timing and substitution confirmation */
.modal-password-wrap{position:relative}
.modal-password-wrap input{padding-left:52px!important}
.modal-password-toggle{position:absolute;left:7px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:10px;background:#f2f6fb;color:#3e6654;display:grid;place-items:center;cursor:pointer;padding:0}
.modal-password-toggle:hover,.modal-password-toggle.is-visible{background:#e8f2ec;color:#447b61}
.modal-password-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sub-status-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.sub-status-actions .success-btn,.sub-status-actions .danger-btn{padding:8px 10px;font-size:12px;white-space:nowrap}

/* v2.4 — password visibility control for every password field */
.universal-password-wrap{position:relative;width:100%}
.universal-password-wrap>input{width:100%!important;padding-left:52px!important}
.universal-password-toggle{position:absolute;left:7px;right:auto;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:10px;background:#f2f6fb;color:#3e6654;display:grid;place-items:center;cursor:pointer;padding:0;z-index:3}
.universal-password-toggle:hover,.universal-password-toggle.is-visible{background:#e8f2ec;color:#447b61}
.universal-password-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.register-card .universal-password-wrap>input{padding-left:52px!important}

/* v2.5 — smart classroom generator */
.smart-classrooms-section .section-head{align-items:flex-start}.smart-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.smart-summary-card{border:1px solid #dfe8f2;border-radius:15px;padding:14px;background:linear-gradient(180deg,#fbfdff,#f7faff);display:flex;flex-direction:column;gap:5px}.smart-summary-card span{font-size:13px;color:#38516f}.smart-summary-card strong{font-size:25px;color:#153a67}.smart-summary-card small{font-size:11px;color:#7a899c}.smart-help,.smart-wizard-note{margin-top:12px;padding:11px 13px;border-radius:12px;background:#f0f7f3;border:1px solid #dcece3;color:#527864;font-size:12px}.smart-wizard{direction:rtl}.smart-wizard-intro{text-align:center;padding:4px 4px 15px}.smart-wizard-intro strong{display:block;font-size:20px;color:#153657}.smart-wizard-intro span{display:block;margin-top:5px;font-size:13px;color:#77879a}.smart-stage-field{max-width:280px;margin:0 auto 14px}.smart-question-list{display:grid;gap:10px}.smart-question{display:grid;grid-template-columns:minmax(220px,1fr) 95px 150px;align-items:center;gap:12px;padding:13px 14px;border:1px solid #e1ebe5;border-radius:14px;background:#fff}.smart-question label{display:block;font-size:14px;color:#213b5b}.smart-question small{display:block;margin-top:4px;color:#8592a2;font-size:11px}.smart-question input{width:100%;height:44px;border:1px solid #d7e1ec;border-radius:10px;padding:0 10px;font-size:16px;text-align:center}.smart-range{display:block;text-align:center;padding:8px;border-radius:10px;background:#f1f7f3;color:#1f64ad;font-size:12px;font-weight:700}.smart-wizard-actions{display:flex;justify-content:center;gap:10px;margin-top:16px}.smart-wizard-actions button{min-width:150px}
@media(max-width:800px){.smart-summary{grid-template-columns:1fr 1fr}.smart-question{grid-template-columns:1fr 82px}.smart-range{grid-column:1/-1}.smart-classrooms-section .section-head{flex-direction:column}.smart-classrooms-section .actions{width:100%}.smart-classrooms-section .actions button{flex:1}}
@media(max-width:520px){.smart-summary{grid-template-columns:1fr}.smart-question{grid-template-columns:1fr}.smart-question input{width:100%}.smart-range{grid-column:auto}.smart-wizard-actions{flex-direction:column}.smart-wizard-actions button{width:100%}}


/* v2.7 — Student attendance */
.attendance-slot{cursor:pointer;position:relative;transition:.18s ease}
.attendance-slot:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(42,102,176,.12)}
.attendance-slot em{display:block;font-size:10px;color:#2570c8;font-style:normal;margin-top:4px}
.attendance-head{display:flex;justify-content:space-between;gap:18px;align-items:end;padding:4px 0 14px;border-bottom:1px solid #e5ebf3}
.attendance-head>div{display:flex;flex-direction:column;gap:5px}.attendance-head strong{font-size:18px}.attendance-head span{font-size:12px;color:#728198}
.attendance-head label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#66758c}.attendance-head input{min-width:160px}
.attendance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}
.attendance-summary .card{padding:12px 14px;min-height:82px}.attendance-summary .metric{font-size:24px}
.attendance-list{display:flex;flex-direction:column;border:1px solid #e4eaf2;border-radius:16px;overflow:hidden}
.attendance-row{display:grid;grid-template-columns:42px minmax(150px,1fr) minmax(280px,1.3fr) minmax(150px,.8fr);gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #edf1f6}
.attendance-row:last-child{border-bottom:0}.student-no{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f1f6fc;color:#315a86;font-weight:700}
.student-name{display:flex;flex-direction:column;gap:3px}.student-name small,.attendance-result small{font-size:11px;color:#78869a}
.attendance-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.attendance-actions button{border:1px solid #dde5ef;background:#fff;border-radius:10px;padding:8px 9px;cursor:pointer}
.attendance-actions .att-active.present{background:#e8f8ef;border-color:#bde8cf;color:#147347}.attendance-actions .att-active.absent{background:#fff0f0;border-color:#f0c7c7;color:#a74444}.attendance-actions .att-active.late{background:#fff7e7;border-color:#f0d49c;color:#9a6b12}
.attendance-result{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.attendance-footer{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:14px}
.attendance-tip{font-size:12px;color:#65758c;background:#f7f9fc;border-radius:12px;padding:10px 12px;line-height:1.7}
.attendance-empty{padding:30px}.attendance-period-times{margin-top:16px;padding-top:14px;border-top:1px solid #e7edf5}.period-time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.period-time-grid label{font-size:12px;display:flex;flex-direction:column;gap:5px}
.account-hint{margin-top:12px;padding:10px 12px;border-radius:12px;background:#f3f7fc;color:#60728a;font-size:12px}
.child-summary{display:grid;grid-template-columns:1.5fr .8fr .8fr .8fr;gap:12px;align-items:center;padding:13px;border-bottom:1px solid #edf1f5}.child-summary:last-child{border-bottom:0}
.student-attendance-progress{display:flex;flex-direction:column;gap:10px}.student-attendance-progress>div{display:flex;justify-content:space-between}.student-attendance-progress progress{width:100%;height:14px}
.attendance-danger-alert{border-color:#f2c4c4!important;background:#fff3f3!important;color:#8f3535!important}.alert small{display:block;margin-top:5px;color:#7d8795}
.compact-btn{padding:7px 12px!important;min-height:auto!important}
@media(max-width:800px){
 .attendance-summary{grid-template-columns:repeat(2,1fr)}.attendance-row{grid-template-columns:36px 1fr;gap:8px}.attendance-actions,.attendance-result{grid-column:2}.attendance-head{flex-direction:column;align-items:stretch}.attendance-footer{flex-direction:column;align-items:stretch}.period-time-grid{grid-template-columns:repeat(2,1fr)}.child-summary{grid-template-columns:1fr 1fr}
}

/* v2.8 — teacher class reminders and welcome */
.teacher-welcome-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:18px 20px;border:1px solid #dce8f5;border-radius:18px;background:linear-gradient(135deg,#f8fbf9,#f0f7f3);box-shadow:0 8px 24px rgba(31,86,145,.06)}
.teacher-welcome-card>div:first-child{display:flex;flex-direction:column;gap:4px}.teacher-welcome-card>div:first-child>span{font-size:12px;color:#6f8299}.teacher-welcome-card strong{font-size:20px;color:#315b48}.teacher-welcome-card small{font-size:12px;color:#62758c;line-height:1.7}
.teacher-reminder-quick{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.teacher-reminder-quick .badge{white-space:nowrap}
.reminder-settings{display:flex;flex-direction:column;gap:14px}.reminder-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 15px;border:1px solid #e1e8f1;border-radius:14px;background:#fbfdff;cursor:pointer}.reminder-toggle-row.compact{padding:12px 14px}.reminder-toggle-row span{display:flex;flex-direction:column;gap:4px}.reminder-toggle-row strong{font-size:14px;color:#233d5d}.reminder-toggle-row small{font-size:11px;color:#7b899a;line-height:1.55}.reminder-toggle-row input[type=checkbox]{appearance:none;width:48px;height:27px;border-radius:999px;background:#d7e0ea;position:relative;cursor:pointer;transition:.2s;flex:0 0 auto}.reminder-toggle-row input[type=checkbox]::after{content:"";position:absolute;top:4px;right:4px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.16);transition:.2s}.reminder-toggle-row input[type=checkbox]:checked{background:#2475d7}.reminder-toggle-row input[type=checkbox]:checked::after{transform:translateX(-21px)}
.reminder-number{display:flex;align-items:center;gap:8px}.reminder-number input{flex:1;text-align:center}.reminder-number span{font-size:12px;color:#6d7e92;white-space:nowrap}
.device-notification-box{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed #cfddeb;border-radius:14px;padding:13px 14px;background:#f8fbf9}.device-notification-box>div{display:flex;flex-direction:column;gap:4px}.device-notification-box strong{font-size:14px}.device-notification-box small{font-size:11px;color:#74859a}
.reminder-preview{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:#f1f8f4;color:#285c91;border:1px solid #d8e9fb}.reminder-preview>span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff;font-size:10px;color:#4e78a3}.reminder-preview strong{font-size:13px}.reminder-preview small{font-size:11px;color:#6c8299}.reminder-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.app-toast-wrap{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:99999;display:flex;flex-direction:column;gap:9px;width:min(92vw,620px);pointer-events:none}.app-toast{direction:rtl;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e0e9e4;border-radius:16px;padding:13px 15px;box-shadow:0 14px 40px rgba(20,45,75,.18);color:#263b54;font-size:13px;line-height:1.7;opacity:0;transform:translateY(-14px) scale(.98);transition:.24s ease}.app-toast.show{opacity:1;transform:translateY(0) scale(1)}.app-toast.success{border-color:#cce9d8;background:#f7fdf9}.app-toast.reminder{border-color:#cddff6;background:#f5f9ff}.app-toast-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#edf4fb;color:#2869b2;font-weight:800}.app-toast.success .app-toast-icon{background:#e2f6e9;color:#178153}.app-toast.reminder .app-toast-icon{background:#e5f0ff;color:#246dc4}
@media(max-width:760px){.teacher-welcome-card{align-items:flex-start;flex-direction:column}.teacher-reminder-quick{justify-content:flex-start;width:100%}.device-notification-box{align-items:stretch;flex-direction:column}.device-notification-box button{width:100%}.reminder-preview{grid-template-columns:1fr}.reminder-preview>span{width:max-content}.reminder-actions button{flex:1}.app-toast-wrap{top:10px}}


/* v3.4 — random auto scheduling + two-tap lesson swap */
.schedule-editor-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:14px 0 10px;padding:12px 14px;border:1px solid #e1ebe5;border-radius:14px;background:#f8fbf9}
.schedule-editor-toolbar .field{width:min(300px,100%);margin:0}.swap-help{flex:1;padding:11px 13px;border-radius:12px;background:#fff;border:1px dashed #cad8e8;color:#61786b;font-size:12px;line-height:1.7;text-align:center}.swap-help.active{background:#ebf5ef;border-color:#8fb9e8;color:#1d5f9f;font-weight:700}.schedule-editor-title{margin:10px 0 8px;text-align:center;color:#586f63;font-size:13px}.schedule-editor-title strong{color:#315b48}.slot.swap-selected{background:#dfefe6!important;outline:2px solid #2878d4;outline-offset:-2px;box-shadow:inset 0 0 0 1px #fff}.slot.swap-selected::after{content:"محددة للتبديل";font-size:9px;color:#1d62aa;margin-top:3px;font-weight:700}.slot.filled{transition:background .15s ease,outline .15s ease}.slot.filled:active{transform:scale(.98)}
@media(max-width:760px){.schedule-editor-toolbar{flex-direction:column;align-items:stretch}.schedule-editor-toolbar .field{width:100%}.swap-help{width:100%}}


/* v3.5 — robust auto scheduling and school-wide stacked preview */
.auto-schedule-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#f2f8f4;border:1px solid #cfe2f7;border-radius:18px;padding:18px 20px;margin-bottom:18px}.auto-schedule-banner>div{display:flex;flex-direction:column;gap:4px}.auto-schedule-banner strong{font-size:18px}.auto-schedule-banner span{font-size:13px;color:#6b7b8d}.auto-schedule-main-btn{min-height:46px;padding-inline:24px;font-weight:700}.school-wide-schedule .school-slot{padding:6px;display:flex;flex-direction:column;gap:6px;align-items:stretch;justify-content:flex-start;min-height:86px}.school-lesson{border:1px solid #dbe5ef;background:#fff;border-radius:9px;padding:5px 6px;text-align:center;display:flex;flex-direction:column;gap:1px}.school-lesson strong{font-size:11px;line-height:1.35}.school-lesson small{font-size:9px;line-height:1.3;color:#64748b}@media(max-width:700px){.auto-schedule-banner{align-items:stretch}.auto-schedule-main-btn{width:100%}.school-wide-schedule{min-width:760px}}

/* v3.6 — prominent random schedule controls */
.randomize-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:linear-gradient(135deg,#eef8ff,#eefbf5);border:2px solid #8cc9ad;border-radius:18px;padding:18px 20px;margin-bottom:18px}
.randomize-callout>div{display:flex;flex-direction:column;gap:5px}.randomize-callout strong{font-size:20px;color:#12334a}.randomize-callout span{font-size:13px;color:#5f7383}.randomize-big-btn,.random-nav-btn{background:#177b55!important;color:#fff!important;font-weight:800!important;box-shadow:0 6px 16px rgba(23,123,85,.18)}.randomize-big-btn{min-height:52px;padding:12px 28px;font-size:16px}.sidebar .nav-item:nth-child(10){font-weight:800}
@media(max-width:700px){.randomize-callout{align-items:stretch}.randomize-big-btn{width:100%}}

/* v3.7 — reliable two-tap schedule swapping */
.swap-help.notice{background:#f3f8fd;border-color:#bfd5eb;color:#4b7562}.swap-cancel-btn{min-height:42px;white-space:nowrap}.slot.swap-selected{background:#d7eadf!important;outline:3px solid #4e8b6d!important;box-shadow:inset 0 0 0 2px #fff,0 0 0 2px rgba(31,116,209,.08)}.slot.swap-selected::after{content:'الحصة الأولى ✓';font-size:10px;color:#3c7258;margin-top:4px;font-weight:800}@media(max-width:760px){.swap-cancel-btn{width:100%}}


/* v3.8 — إعداد الحصة السابعة حسب الصف */
.grade-period-settings{margin:18px 0 4px;padding:16px;border:1px solid #dce9e2;border-radius:16px;background:#f9fcfa}
.grade-period-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.grade-period-head>div{display:flex;flex-direction:column;gap:4px}.grade-period-head strong{font-size:15px;color:#315b48}.grade-period-head small{font-size:12px;color:#6e8094;line-height:1.6}
.grade-period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.grade-period-row{display:flex;align-items:center;gap:10px;padding:12px;background:#fff;border:1px solid #e3ebf3;border-radius:13px;cursor:pointer}.grade-period-row>span{display:flex;flex-direction:column;gap:3px;flex:1}.grade-period-row strong{font-size:13px;color:#223d5a}.grade-period-row small{font-size:11px;color:#7a899a}.grade-period-row input{width:19px;height:19px;accent-color:#2b78d0}.grade-period-row em{font-style:normal;font-size:11px;color:#61786b;min-width:58px;text-align:center}.grade-period-actions{display:flex;justify-content:flex-start;margin-top:12px}
.schedule.periods-6{grid-template-columns:110px repeat(6,minmax(105px,1fr));min-width:790px}
@media(max-width:760px){.grade-period-grid{grid-template-columns:1fr}.grade-period-head{align-items:flex-start}.grade-period-actions .primary{width:100%}}

/* v3.9 — overview swapping, restrained teacher colors, and schedule printing */
.schedule-display-options{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px}.schedule-display-options .swap-help{min-width:280px}.compact-options{margin:8px 0 12px}.schedule-color-toggle{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dce9e2;border-radius:13px;background:#f9fcfa;cursor:pointer;min-width:260px}.schedule-color-toggle>span{display:flex;flex-direction:column;gap:2px;flex:1}.schedule-color-toggle strong{font-size:12.5px;color:#315b48}.schedule-color-toggle small{font-size:10.5px;color:#71877c}.schedule-color-toggle input{appearance:none;-webkit-appearance:none;width:42px;height:23px;border-radius:999px;background:#ccd7e2;position:relative;cursor:pointer;flex:0 0 auto;transition:.2s}.schedule-color-toggle input::after{content:"";position:absolute;top:3px;right:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.15);transition:.2s}.schedule-color-toggle input:checked{background:#4f7865}.schedule-color-toggle input:checked::after{transform:translateX(-19px)}.schedule-color-toggle em{font-style:normal;font-size:10px;color:#61786b;min-width:38px;text-align:center}
/* A small, site-brand-only palette. Colors repeat after four teachers by design to avoid visual noise. */
.slot.teacher-tone-0,.school-lesson.teacher-tone-0{background:#edf5f0!important;border-color:#c8ddd2!important}.slot.teacher-tone-1,.school-lesson.teacher-tone-1{background:#e9f1ec!important;border-color:#b9d0c4!important}.slot.teacher-tone-2,.school-lesson.teacher-tone-2{background:#f0f5f9!important;border-color:#d1dfd8!important}.slot.teacher-tone-3,.school-lesson.teacher-tone-3{background:#e8f6ef!important;border-color:#bddfce!important}
.school-lesson{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,outline .12s ease}.school-lesson:hover{box-shadow:0 3px 10px rgba(39,93,140,.10);transform:translateY(-1px)}.school-lesson.swap-selected{background:#d7eadf!important;outline:3px solid #4e8b6d!important;box-shadow:inset 0 0 0 2px #fff,0 0 0 2px rgba(31,116,209,.08)}.school-lesson.swap-selected::after{content:'الحصة الأولى ✓';font-size:8.5px;color:#3c7258;margin-top:2px;font-weight:800}
.print-choice{display:flex;flex-direction:column;gap:16px}.print-choice-head{display:flex;flex-direction:column;gap:5px;padding:13px 14px;border-radius:14px;background:#f5f9fd;border:1px solid #e0ebe5}.print-choice-head strong{font-size:16px;color:#315b48}.print-choice-head small{font-size:11px;color:#71877c;line-height:1.6}.print-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.print-choice-actions button{min-height:48px;font-weight:700}
@media(max-width:760px){.schedule-display-options{align-items:stretch}.schedule-color-toggle{width:100%;min-width:0}.schedule-display-options .swap-help{min-width:0;width:100%}.print-choice-actions{grid-template-columns:1fr}}

/* v3.11 — in-app schedule print preview (avoids blank about:blank tabs) */
.schedule-print-preview-open{overflow:hidden!important}
.schedule-print-overlay{position:fixed;inset:0;z-index:20000;background:#eef4fa;overflow:auto;padding:18px;direction:rtl}
.schedule-print-toolbar{max-width:1480px;margin:0 auto 14px;background:#fff;border:1px solid #d9e4ef;border-radius:16px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 8px 24px rgba(18,63,131,.08)}
.schedule-print-toolbar>div:first-child{display:flex;flex-direction:column;gap:3px}.schedule-print-toolbar strong{font-size:18px;color:#315b48}.schedule-print-toolbar small{color:#66788b;line-height:1.7}.schedule-print-toolbar .actions{display:flex;gap:8px;flex-wrap:wrap}
.schedule-print-sheet{max-width:1480px;margin:0 auto;background:#fff;border-radius:16px;padding:20px;box-shadow:0 8px 28px rgba(18,63,131,.08);color:#152033}
.schedule-print-sheet .print-head{text-align:center;border-bottom:2px solid #4f7865;padding-bottom:12px;margin-bottom:14px}.schedule-print-sheet .print-head h1{font-size:22px;margin:0 0 5px;color:#315b48}.schedule-print-sheet .print-head h2{font-size:18px;margin:3px 0}.schedule-print-sheet .print-head p{font-size:11px;color:#60786b;margin:3px 0}
.schedule-print-sheet .schedule{display:grid;grid-template-columns:92px repeat(7,minmax(90px,1fr));border:1px solid #cfd8e3;border-radius:8px;overflow:hidden;width:100%}.schedule-print-sheet .schedule.periods-6{grid-template-columns:92px repeat(6,minmax(90px,1fr))}.schedule-print-sheet .schedule>div{padding:7px;border-left:1px solid #d9e1e9;border-bottom:1px solid #d9e1e9;min-height:47px;text-align:center;font-size:10px;background:#fff}.schedule-print-sheet .schedule .head,.schedule-print-sheet .schedule .day{background:#f3f6f9;font-weight:700;display:grid;place-items:center}.schedule-print-sheet .slot,.schedule-print-sheet .school-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.schedule-print-sheet .slot.filled{background:#f2f7f4}.schedule-print-sheet .schedule-subject,.schedule-print-sheet .school-lesson strong{font-size:10px;font-weight:700}.schedule-print-sheet .slot small,.schedule-print-sheet .school-lesson small{display:block;font-size:8px;color:#586f63}.schedule-print-sheet .school-wide-schedule .school-slot{padding:4px;gap:4px;align-items:stretch;justify-content:flex-start}.schedule-print-sheet .school-lesson{border:1px solid #d4e0ea;background:#fff;border-radius:6px;padding:4px;display:flex;flex-direction:column;gap:1px;text-align:center}.schedule-print-sheet .teacher-tone-0{background:#edf5f0!important;border-color:#c8ddd2!important}.schedule-print-sheet .teacher-tone-1{background:#e9f1ec!important;border-color:#b9d0c4!important}.schedule-print-sheet .teacher-tone-2{background:#f0f5f9!important;border-color:#d1dfd8!important}.schedule-print-sheet .teacher-tone-3{background:#e8f6ef!important;border-color:#bddfce!important}
.schedule-print-sheet.print-mono *{color:#000!important}.schedule-print-sheet.print-mono .schedule>div,.schedule-print-sheet.print-mono .school-lesson,.schedule-print-sheet.print-mono .teacher-tone-0,.schedule-print-sheet.print-mono .teacher-tone-1,.schedule-print-sheet.print-mono .teacher-tone-2,.schedule-print-sheet.print-mono .teacher-tone-3,.schedule-print-sheet.print-mono .slot.filled{background:#fff!important;border-color:#999!important}.schedule-print-sheet.print-mono .schedule .head,.schedule-print-sheet.print-mono .schedule .day{background:#eee!important}
@media(max-width:800px){.schedule-print-overlay{padding:8px}.schedule-print-toolbar{align-items:stretch;flex-direction:column}.schedule-print-toolbar .actions>*{flex:1}.schedule-print-sheet{padding:10px;min-width:760px}}
@media print{
 @page{size:landscape;margin:8mm}
 body>*:not(#schedulePrintHost){display:none!important}
 html,body{background:#fff!important;margin:0!important;padding:0!important;overflow:visible!important}
 #schedulePrintHost{display:block!important;position:static!important;inset:auto!important;background:#fff!important;padding:0!important;overflow:visible!important}
 #schedulePrintHost .schedule-print-toolbar{display:none!important}
 #schedulePrintHost .schedule-print-sheet{display:block!important;max-width:none!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
 #schedulePrintHost .print-color{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 #schedulePrintHost .print-mono{-webkit-print-color-adjust:economy!important;print-color-adjust:economy!important}
 #schedulePrintHost .schedule{break-inside:avoid;page-break-inside:avoid}
}

/* v3.11 — cache-proof print path and mobile fallback */
.print-browser-fallback{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:30000;width:min(620px,calc(100vw - 28px));background:#fff;border:1px solid #cfddea;border-radius:16px;box-shadow:0 16px 40px rgba(14,48,82,.18);padding:14px 16px;display:grid;gap:7px;text-align:right;direction:rtl}.print-browser-fallback strong{color:#315b48;font-size:15px}.print-browser-fallback span{font-size:12px;line-height:1.8;color:#60786b}.print-browser-fallback button{justify-self:start;border:0;border-radius:10px;padding:8px 16px;background:#4f7865;color:#fff;font-weight:700}

/* v3.12 — multiple subjects per teacher */
.teacher-subject-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:8px;padding:10px;border:1px solid #dbe7e0;border-radius:14px;background:#f8fbf9;max-height:210px;overflow:auto}
.teacher-subject-option{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #e1e9f0;border-radius:11px;background:#fff;cursor:pointer;font-size:13px}
.teacher-subject-option input{width:18px;height:18px;accent-color:#4c876a;flex:0 0 auto}
.teacher-subject-option span{display:flex;flex-direction:column;gap:2px}
.teacher-subject-option small{font-size:10px;color:#74869a}
.teacher-subject-option:has(input:checked){border-color:#9fc8b2;background:#f0f7f3}
.subject-picker-empty{padding:12px;border:1px dashed #d2e1d9;border-radius:12px;color:#70877a;background:#f8fafc;text-align:center}
.teacher-subjects-cell{display:inline-block;max-width:260px;line-height:1.7;color:#25425f}
@media (max-width:700px){.teacher-subject-picker{grid-template-columns:1fr 1fr}.teacher-subjects-cell{max-width:180px}}

/* v3.13 — multi-class assignment picker */
.assignment-class-picker{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid #dbe7e0;border-radius:14px;background:#f8fbf9}
.assignment-class-all,.assignment-class-option{display:flex;align-items:center;gap:9px;cursor:pointer;border:1px solid #e1e9f0;background:#fff;border-radius:11px;padding:10px 11px}
.assignment-class-all{border-color:#c8dced;background:#f1f7fd}
.assignment-class-all input,.assignment-class-option input{width:18px;height:18px;accent-color:#4c876a;flex:0 0 auto}
.assignment-class-all span,.assignment-class-option span{display:flex;flex-direction:column;gap:2px}
.assignment-class-all strong,.assignment-class-option strong{font-size:13px;color:#203e5c}
.assignment-class-all small,.assignment-class-option small{font-size:10px;color:#75869a}
.assignment-class-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;max-height:250px;overflow:auto;padding:2px}
.assignment-class-option:has(input:checked){border-color:#9fc8b2;background:#f0f7f3;box-shadow:inset 0 0 0 1px rgba(37,107,197,.05)}
.assignment-class-count{font-size:11px;color:#61786b;text-align:center;padding-top:2px}
.assignment-class-empty{padding:14px;border:1px dashed #d2e1d9;border-radius:12px;color:#70877a;background:#fff;text-align:center;line-height:1.7}
@media(max-width:700px){.assignment-class-list{grid-template-columns:1fr 1fr}}


/* v3.14 — hard collision protection + clearer school-wide grid */
.school-wide-schedule.school-by-class{min-width:980px}
.school-class-row-label{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center}
.school-class-row-label strong{font-size:12px;color:#294b3d}
.school-class-row-label small{font-size:11px;color:#70877a}
.school-wide-schedule.school-by-class .school-slot{min-height:72px;display:flex;align-items:center;justify-content:center;position:relative}
.school-wide-schedule.school-by-class .school-lesson{width:100%;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px;border-radius:10px;padding:6px}
.school-wide-schedule.school-by-class .school-lesson strong{font-size:12px;line-height:1.35}
.school-wide-schedule.school-by-class .school-lesson small{font-size:10px;line-height:1.35}
.hard-conflict-badge{position:absolute;top:3px;left:3px;background:#fff0f0;color:#a43737;border:1px solid #f0caca;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:700}


/* v3.15 — legacy day/class layout (superseded by v3.16) */
.school-wide-schedule.school-by-class{grid-template-columns:118px 78px repeat(7,minmax(105px,1fr));min-width:1060px}
.school-day-row-label,.school-room-row-label{display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.school-day-row-label{gap:3px;background:#f8fafc!important}
.school-day-row-label strong{font-size:12px;color:#294b3d;line-height:1.25}
.school-day-row-label small{font-size:9.5px;color:#71877c;white-space:nowrap;line-height:1.25}
.school-room-row-label{background:#fbfdff!important}
.school-room-row-label strong{font-size:11px;color:#4f735f}
.schedule-print-sheet .school-wide-schedule.school-by-class{grid-template-columns:95px 62px repeat(7,minmax(84px,1fr));min-width:0}
.schedule-print-sheet .school-day-row-label small{font-size:7.5px}
.schedule-print-sheet .school-room-row-label strong{font-size:9px}
@media(max-width:700px){.school-wide-schedule.school-by-class{min-width:980px;grid-template-columns:110px 72px repeat(7,minmax(100px,1fr))}}


/* v3.16 — school overview: day/date column only; classroom shown inside lesson card */
.school-wide-schedule.school-by-period{grid-template-columns:118px repeat(7,minmax(118px,1fr));min-width:1080px}
.school-wide-schedule.school-by-period .school-slot{min-height:96px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;padding:6px;position:relative}
.school-wide-schedule.school-by-period .school-lesson{position:relative;width:100%;min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px;border-radius:10px;padding:6px}
.school-wide-schedule.school-by-period .school-lesson strong{font-size:11px;line-height:1.35}
.school-wide-schedule.school-by-period .school-lesson-room{font-size:10px;font-weight:800;color:#4b7562;line-height:1.2}
.school-wide-schedule.school-by-period .school-lesson small{font-size:9px;line-height:1.3}
.schedule-print-sheet .school-wide-schedule.school-by-period{grid-template-columns:92px repeat(7,minmax(86px,1fr));min-width:0}
.schedule-print-sheet .school-wide-schedule.school-by-period .school-slot{min-height:66px;padding:4px;gap:4px}
.schedule-print-sheet .school-wide-schedule.school-by-period .school-lesson{min-height:46px;padding:4px}
.schedule-print-sheet .school-wide-schedule.school-by-period .school-lesson-room{font-size:8px;color:#4f735f}
@media(max-width:700px){.school-wide-schedule.school-by-period{min-width:980px;grid-template-columns:110px repeat(7,minmax(110px,1fr))}}

/* v3.19 — تنسيق أسماء المواد والمعلمين داخل جميع الجداول */
.schedule .schedule-subject,
.school-wide-schedule .school-lesson .schedule-subject{
  display:block;
  width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:10.5px;
  line-height:1.3;
  letter-spacing:-.12px;
}
.schedule .schedule-teacher,
.school-wide-schedule .school-lesson small{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.school-wide-schedule.school-by-period .school-lesson .schedule-subject{font-size:10px}
@media(max-width:900px){
  .schedule .schedule-subject,.school-wide-schedule .school-lesson .schedule-subject{font-size:9.5px}
  .schedule .schedule-teacher,.school-wide-schedule .school-lesson small{font-size:8.8px}
}
.schedule-print-sheet .schedule-subject,
.schedule-print-sheet .school-lesson .schedule-subject{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:9px!important;
}
.schedule-print-sheet .schedule-teacher,
.schedule-print-sheet .school-lesson small{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}


/* v3.20 — جداول أكثر إحكامًا وتناسقًا مع عرض الموقع */
.schedule-preview-section{overflow:hidden}
.school-preview-toolbar{display:flex;align-items:end;gap:14px;justify-content:space-between;flex-wrap:wrap;margin:0 0 14px}
.school-preview-toolbar .field{width:min(260px,100%);margin:0}
.preview-class-note{flex:1;min-width:260px;padding:10px 13px;border:1px solid #dce8e1;background:#f8fbf9;border-radius:12px;color:#5e7184;font-size:11.5px;text-align:center}
.school-preview-schedule{width:100%;max-width:930px;min-width:720px;margin:0 auto;grid-template-columns:96px repeat(7,minmax(78px,1fr))}
.school-preview-schedule.periods-6{grid-template-columns:96px repeat(6,minmax(82px,1fr))}
.school-preview-schedule>div{padding:6px;min-height:50px;font-size:11px}
.school-preview-schedule .school-day-row-label{gap:2px}
.school-preview-schedule .school-day-row-label strong{font-size:11.5px}
.school-preview-schedule .school-day-row-label small{font-size:8.2px;line-height:1.2;white-space:normal}
.school-preview-schedule .school-slot{min-height:58px!important;padding:4px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.school-preview-schedule .school-lesson{width:100%;min-height:48px!important;padding:4px 5px!important;border-radius:8px;justify-content:center!important}
.school-preview-schedule .school-lesson .schedule-subject{font-size:9.8px!important}
.school-preview-schedule .school-lesson small{font-size:8.2px!important}
.school-empty-move{width:32px;height:32px;border:1px dashed #a9bfd3;border-radius:8px;background:#f6faf7;color:#2a6aa3;font-size:18px;line-height:1;cursor:pointer}
.school-empty-move:hover{background:#f1f8f4}
.schedule:not(.school-preview-schedule){max-width:980px;margin-inline:auto}
.school-print-class{break-inside:avoid;page-break-inside:avoid;margin-bottom:18px}
.school-print-class>h3{text-align:center;margin:0 0 7px;font-size:12px}
.schedule-print-sheet .school-preview-schedule{max-width:none;min-width:0;grid-template-columns:78px repeat(7,minmax(70px,1fr))}
.schedule-print-sheet .school-preview-schedule.periods-6{grid-template-columns:78px repeat(6,minmax(74px,1fr))}
.schedule-print-sheet .school-preview-schedule>div{min-height:40px;padding:4px}
.schedule-print-sheet .school-preview-schedule .school-slot{min-height:44px!important}
.schedule-print-sheet .school-preview-schedule .school-lesson{min-height:38px!important}
@media(max-width:900px){.school-preview-schedule{min-width:690px;grid-template-columns:88px repeat(7,minmax(76px,1fr))}.school-preview-schedule.periods-6{grid-template-columns:88px repeat(6,minmax(80px,1fr))}}


/* v3.21 — الجدول العام لكل الفصول بدون اختيار فصل */
.school-general-schedule{max-width:100%!important;min-width:720px!important;margin:0 auto}
.school-general-schedule .school-day-span{align-self:stretch;min-height:100%!important;border-bottom:1px solid var(--line);display:flex!important;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1}
.school-general-schedule .school-slot{min-height:48px!important;padding:3px!important}
.school-general-schedule .school-lesson{min-height:42px!important;padding:3px 4px!important;gap:0!important}
.school-general-schedule .school-lesson .schedule-subject{font-size:9.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.school-general-schedule .school-lesson-room{display:block;font-size:9px;font-weight:800;color:#4b7562;line-height:1.2;margin-top:1px}
.school-general-schedule .school-lesson small{font-size:7.8px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.school-general-schedule .school-period-disabled{background:#f8fafc!important;color:#c0cbd6}
.schedule-print-sheet .school-general-schedule{max-width:none!important;min-width:0!important}
.schedule-print-sheet .school-general-schedule .school-slot{min-height:34px!important;padding:2px!important}
.schedule-print-sheet .school-general-schedule .school-lesson{min-height:30px!important;padding:2px 3px!important}
.schedule-print-sheet .school-general-schedule .school-lesson-room{font-size:7.5px}
@media(max-width:900px){.school-general-schedule{min-width:680px!important}}

/* v3.22 — الجدول العام: الأيام عموديًا والحصص أفقيًا من 1 إلى 7 */
.school-general-week{width:100%;max-width:1040px!important;min-width:760px!important;margin:0 auto;grid-template-columns:100px repeat(7,minmax(92px,1fr))!important}
.school-general-week.periods-6{grid-template-columns:100px repeat(6,minmax(100px,1fr))!important}
.school-general-week .school-day-row-label{min-height:86px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px!important}
.school-general-week .school-day-row-label strong{font-size:11.5px!important}
.school-general-week .school-day-row-label small{font-size:7.8px!important;line-height:1.25!important;white-space:normal!important}
.school-general-week .general-period-cell{min-height:86px!important;padding:4px!important;align-items:stretch!important;justify-content:flex-start!important;overflow:visible}
.general-parallel-lessons{display:grid;grid-template-columns:1fr;gap:4px;width:100%;align-content:start}
.school-general-week .general-lesson{position:relative;width:100%;min-height:45px!important;padding:4px 5px!important;border:1px solid #d3e0eb;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center;box-sizing:border-box}
.school-general-week .general-lesson .school-lesson-room{font-size:8.5px!important;font-weight:800;color:#4b7562;line-height:1.1}
.school-general-week .general-lesson .schedule-subject{font-size:9.2px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%}
.school-general-week .general-lesson small{font-size:7.6px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%}
.school-general-week .general-lesson.hard-conflict{outline:2px solid #d92d20!important;background:#fff1f0!important}
.school-general-week .hard-conflict-badge{position:absolute;top:2px;left:2px;font-size:6.5px;background:#d92d20;color:#fff;border-radius:999px;padding:1px 4px}
.school-general-week .school-empty-move{margin:auto;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f1f7f3;color:#4d886b;font-size:18px;font-weight:800}
.schedule-print-sheet .school-general-week{max-width:none!important;min-width:0!important;grid-template-columns:72px repeat(7,minmax(72px,1fr))!important}
.schedule-print-sheet .school-general-week.periods-6{grid-template-columns:72px repeat(6,minmax(78px,1fr))!important}
.schedule-print-sheet .school-general-week .general-period-cell{min-height:58px!important;padding:2px!important}
.schedule-print-sheet .school-general-week .general-lesson{min-height:31px!important;padding:2px 3px!important;border-radius:5px}
.schedule-print-sheet .school-general-week .general-lesson .school-lesson-room{font-size:6.5px!important}
.schedule-print-sheet .school-general-week .general-lesson .schedule-subject{font-size:7.2px!important}
.schedule-print-sheet .school-general-week .general-lesson small{font-size:6.2px!important}
@media(max-width:900px){.school-general-week{min-width:740px!important;grid-template-columns:90px repeat(7,minmax(88px,1fr))!important}.school-general-week.periods-6{grid-template-columns:90px repeat(6,minmax(96px,1fr))!important}}

/* v3.23 — الشكل المعتمد للجدول العام (مطابق للنموذج المرئي) */
.app-shell{grid-template-columns:300px minmax(0,1fr);background:#f7f9fc}
.sidebar{background:linear-gradient(180deg,#0a2844 0%,#09243d 100%);padding:18px 16px;border-left:1px solid rgba(255,255,255,.05)}
.brand-box{padding:4px 8px 13px;gap:12px}.brand-box strong{font-size:18px}.brand-box span{font-size:13px;color:#bdcad7}
.mini-schedule-logo{width:54px;height:54px;border-radius:15px;background:linear-gradient(135deg,#2b79df,#0f55bd)}
.school-mini{padding:18px 8px 19px;margin:0 0 12px}.school-mini strong{font-size:15px;line-height:1.7}.school-mini span{font-size:12px;margin-top:4px}
.sidebar nav{padding:2px 0 6px}.nav-item{min-height:52px;margin:3px 0;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:11px;font-size:15px;font-weight:600;color:#f2f7f4;transition:.15s}
.nav-item:hover,.nav-item.active{background:linear-gradient(135deg,#2c70c7,#205aa4);box-shadow:0 8px 18px rgba(0,0,0,.12)}
.nav-icon{width:25px;height:25px;display:grid;place-items:center;flex:0 0 25px;color:#fff}.nav-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-label{flex:1;text-align:right}.sidebar-bottom{padding-top:14px}.sidebar-bottom .ghost-btn{min-height:54px;border-radius:12px;font-size:16px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.08)}
.main{background:#fbfcfe}.topbar{padding:24px 30px;background:#fff;box-shadow:0 1px 0 #e8edf4;position:relative;top:auto}.topbar h2{font-size:27px;color:#10213a;margin-bottom:6px}.topbar p{font-size:13px;color:#738199}.content{padding:26px 30px 32px;max-width:1420px;width:100%;margin:0 auto}
.schedule-preview-section{padding:18px 20px 22px;border-radius:20px;border-color:#e2ebe6;box-shadow:none}.schedule-preview-section .section-head h3{font-size:20px}.schedule-preview-section .section-head p{font-size:12.5px}
.school-general-week{max-width:1180px!important;min-width:840px!important;grid-template-columns:126px repeat(7,minmax(96px,1fr))!important;border-radius:15px!important;border-color:#e0e9e4!important;box-shadow:0 2px 8px rgba(30,65,100,.03)}
.school-general-week.periods-6{grid-template-columns:126px repeat(6,minmax(108px,1fr))!important}
.school-general-week>div{border-color:#e2e8f0!important}.school-general-week .head{min-height:88px!important;background:#fbfcfe!important;color:#17243a!important;padding:8px 5px!important}
.school-general-week .school-day-head{font-size:14px!important}.general-period-head{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important}.general-period-head .period-no{font-size:18px;font-weight:800;color:#101c2f;line-height:1}.general-period-head strong{font-size:11px;line-height:1.2}.general-period-head small{font-size:9px;color:#6e7b8c;direction:ltr;white-space:nowrap}
.school-general-week .school-day-row-label{min-height:108px!important;background:#fbfcfe!important;gap:5px!important}.school-general-week .school-day-row-label strong{font-size:14px!important;color:#15243a}.school-general-week .school-day-row-label small{font-size:8.4px!important;color:#6f7e91;line-height:1.35!important}
.school-general-week .general-period-cell{min-height:108px!important;background:#fff!important;padding:7px!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}.school-general-week .general-period-cell.filled{background:#fff!important}
.general-parallel-lessons{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:5px;width:100%;align-items:center;justify-items:stretch}
.school-general-week .general-lesson{min-height:68px!important;padding:7px 6px!important;border-radius:9px!important;border:1px solid #cfe0ec!important;box-shadow:none!important;background:#eff6fb!important;gap:2px!important}
.school-general-week .general-lesson.teacher-tone-1{background:#eef8f1!important}.school-general-week .general-lesson.teacher-tone-2{background:#f5f1fb!important}.school-general-week .general-lesson.teacher-tone-3{background:#f5f7fa!important}
.school-general-week .general-lesson .school-lesson-room{order:2;font-size:9px!important;color:#233b58!important}.school-general-week .general-lesson .schedule-subject{order:1;font-size:10px!important;font-weight:800!important;color:#18263b!important}.school-general-week .general-lesson small{order:3;font-size:7.8px!important;color:#5f6f82!important}
.badge.warn{background:#fff4d8;color:#a36c08;border:1px solid #f6dfaa}.auto-schedule-banner,.cards,.section:not(.schedule-preview-section){border-color:#e3ebe7;box-shadow:none}
#upgradeBtn,.upgrade-btn{display:none!important}
@media(max-width:900px){.app-shell{grid-template-columns:250px minmax(0,1fr)}.sidebar{padding-inline:12px}.content{padding:18px}.school-general-week{min-width:780px!important;grid-template-columns:112px repeat(7,minmax(92px,1fr))!important}.school-general-week.periods-6{grid-template-columns:112px repeat(6,minmax(100px,1fr))!important}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto}.sidebar nav{max-height:300px}.school-general-week{min-width:780px!important}}


/* v3.25 — سلوك الطلاب */
.behavior-btn{margin-top:5px;border:1px solid #d5e8dd;background:#f3f8fe;color:#47775f;border-radius:9px;padding:6px 9px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}
.behavior-btn:hover{background:#eaf3fd}
.behavior-modal-intro{display:flex;flex-direction:column;gap:4px;padding:10px 12px;margin-bottom:12px;border-radius:12px;background:#f6f9fd;border:1px solid #e2eaf3}.behavior-modal-intro strong{color:#315b48}.behavior-modal-intro span{font-size:12px;color:#718198}
.behavior-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.behavior-choice{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e0e9e4;border-radius:12px;background:#fff;cursor:pointer}.behavior-choice:has(input:checked){background:#f0f7f3;border-color:#a6d1ba;color:#1f5f9f}.behavior-choice input{accent-color:#2d78c7}.behavior-choice span{font-size:13px;font-weight:700}.behavior-route-note{margin-top:12px;padding:11px 13px;border:1px solid #dcebe3;border-radius:12px;background:#f4f9f6;color:#527864;font-size:12px}.behavior-route-note strong{display:block}.behavior-route-note small{display:block;margin-top:4px;color:#71867a;line-height:1.6}
.behavior-policy-card{display:flex;justify-content:space-between;align-items:center;gap:14px}.behavior-policy-card>div{display:flex;flex-direction:column;gap:4px}.behavior-policy-card span{font-weight:700;color:#47775f}.behavior-policy-card small{color:#75849a}.behavior-cell-note{display:block;margin-top:4px;font-size:10px;color:#7a8798}.field-help{display:block;margin-top:5px;color:#718198;font-size:11px;line-height:1.6}
@media(max-width:700px){.behavior-choice-grid{grid-template-columns:1fr}.behavior-policy-card{align-items:flex-start;flex-direction:column}.behavior-policy-card .edit-btn{width:100%}}


/* v3.26 — الموجه الطلابي */
.counselor-welcome,.counselor-profile-card,.parent-counselor-child,.counselor-target{display:flex;align-items:center;justify-content:space-between;gap:14px}.counselor-welcome>div,.counselor-profile-card>div:first-child,.parent-counselor-child>div:first-child,.counselor-target{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.counselor-welcome strong,.counselor-profile-card strong,.parent-counselor-child strong,.counselor-target strong{font-size:16px;color:#315b48}.counselor-welcome span,.counselor-profile-card span,.parent-counselor-child span,.counselor-target span{font-size:12px;color:#718198}.counselor-target{padding:12px 14px;margin-bottom:14px;border:1px solid #e0ebe5;background:#f4f9f6;border-radius:13px}.appointment-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.appointment-slot{border:1px solid #c5dfd1;background:#f4f9ff;color:#3f7259;border-radius:11px;padding:10px 7px;font-weight:800;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}.appointment-slot small{font-size:10px;color:#6d8299;font-weight:600}.appointment-slot:hover:not(:disabled){background:#ebf5ef;border-color:#86bfa1}.appointment-slot.taken,.appointment-slot:disabled{background:#f3f4f6;border-color:#e0e4e8;color:#9aa4af;cursor:not-allowed}.counselor-message-cell{max-width:360px;white-space:normal;line-height:1.65}.counselor-settings-card{max-width:820px}.setting-line{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #edf1f5}.setting-line>div{display:flex;flex-direction:column;gap:4px}.setting-line strong{color:#345847}.setting-line small{font-size:11px;color:#75849a}.counselor-fixed-times{margin-top:18px}.parent-counselor-list{display:grid;gap:10px}.parent-counselor-child{padding:14px;border:1px solid #e2ebe6;border-radius:14px;background:#fbfdff}.role[data-role="counselor"]{font-size:14px!important}.role[data-role="counselor"] .fixed-icon{color:#2269b3}@media(max-width:700px){.counselor-welcome,.counselor-profile-card,.parent-counselor-child{align-items:flex-start;flex-direction:column}.appointment-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-counselor-child .actions,.counselor-profile-card .actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.parent-counselor-child .actions button,.counselor-profile-card .actions button{width:100%}}

/* v3.27 — إدارة موعد واحد نشط للموجه الطلابي */
.appointment-current-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #cfe0f0;background:#f6faf7}.appointment-current-card>div{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.appointment-current-card span{font-size:12px;color:#708579;font-weight:700}.appointment-current-card strong{font-size:18px;color:#3f7259}.appointment-current-card small{font-size:11px;color:#718198}.appointment-manage-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.appointment-manage-card>div{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border:1px solid #e1ebe5;background:#fbfdff;border-radius:12px}.appointment-manage-card span{font-size:11px;color:#74869a}.appointment-manage-card strong{font-size:14px;color:#345847}.appointment-manage-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.appointment-manage-actions button{width:100%}.appointment-manage-help{margin-top:10px;font-size:11px}.appointment-slot.current{background:#e9f5ed;border-color:#9bc6a7;color:#2c6a3d}.appointment-cancel-note{display:block;margin-top:4px;font-size:10px;color:#a14b4b;white-space:normal;line-height:1.45}@media(max-width:700px){.appointment-current-card{align-items:flex-start;flex-direction:column}.appointment-current-card button{width:100%}.appointment-manage-card{grid-template-columns:1fr}.appointment-manage-actions{grid-template-columns:1fr}}

/* v3.28 — إغلاقات مواعيد الموجه الطلابي */
.closure-actions{display:flex;gap:8px;align-items:center;margin-top:12px}.closure-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;min-height:28px;align-items:center}.closure-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid #dce9e2;background:#f6faf7;border-radius:999px;font-size:12px;font-weight:800;color:#426b58}.closure-chip.week{background:#fff9ef;border-color:#ead8af;color:#76551d}.closure-chip button{width:20px;height:20px;border:0;border-radius:50%;background:#e9eef4;color:#6b7e91;font-size:16px;line-height:18px;padding:0;cursor:pointer}.closure-chip button:hover{background:#dde6ef}.closure-note{margin-top:14px;padding:10px 12px;border:1px solid #e4e9ef;background:#fafbfd;border-radius:11px;font-size:11px;line-height:1.7;color:#718198}@media(max-width:700px){.closure-actions button{width:100%}.closure-chip{font-size:11px}}


/* v3.29 — واجهة جوال متكاملة */
.mobile-menu-btn,.mobile-nav-close{display:none}
.topbar-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}
.mobile-nav-backdrop{display:none}

@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body.mobile-nav-lock{overflow:hidden}
  .app-shell{display:block!important;width:100%!important;min-height:100dvh!important;background:#f7f9fc!important}
  .app-shell .main{width:100%!important;min-width:0!important;max-width:100%!important}
  .app-shell .sidebar{position:fixed!important;top:0!important;right:0!important;left:auto!important;width:min(86vw,330px)!important;height:100dvh!important;min-height:100dvh!important;z-index:1001!important;transform:translateX(105%)!important;transition:transform .24s ease!important;padding:14px 12px 12px!important;box-shadow:-18px 0 42px rgba(5,26,45,.24)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
  .app-shell.mobile-nav-open .sidebar{transform:translateX(0)!important}
  .app-shell .sidebar nav{max-height:none!important;min-height:0!important;flex:1 1 auto!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;padding:3px 0 14px!important}
  .app-shell .sidebar-bottom{flex:0 0 auto!important;padding-top:8px!important}
  .app-shell .brand-box{padding:4px 42px 10px 6px!important}
  .app-shell .school-mini{padding:13px 8px 14px!important;margin-bottom:5px!important}
  .app-shell .nav-item{min-height:48px!important;font-size:14px!important;margin:2px 0!important;padding:0 12px!important}
  .app-shell .nav-group-title{padding:12px 10px 4px!important}
  .mobile-nav-close{display:grid!important;place-items:center!important;position:absolute!important;top:13px!important;right:13px!important;width:34px!important;height:34px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:10px!important;background:rgba(255,255,255,.08)!important;color:#fff!important;font-size:25px!important;line-height:1!important;z-index:2!important;cursor:pointer!important}
  .mobile-nav-backdrop{display:block!important;position:fixed!important;inset:0!important;background:rgba(8,24,40,.42)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:.2s ease!important;z-index:1000!important;backdrop-filter:blur(1px)!important}
  .app-shell.mobile-nav-open .mobile-nav-backdrop{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .mobile-menu-btn{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;width:42px!important;height:42px!important;min-width:42px!important;padding:0!important;border:1px solid #dce8e1!important;border-radius:12px!important;background:#f4f8fc!important;color:#315b48!important;cursor:pointer!important}
  .mobile-menu-btn span{display:block!important;width:19px!important;height:2px!important;border-radius:4px!important;background:currentColor!important}
  .topbar{position:sticky!important;top:0!important;z-index:50!important;padding:11px 12px!important;display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(10px)!important}
  .topbar-title-wrap{display:flex!important;align-items:center!important;gap:10px!important;flex:1 1 auto!important;min-width:0!important}
  .topbar-title-wrap>div{min-width:0!important}
  .topbar h2{font-size:20px!important;line-height:1.25!important;margin:0 0 2px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .topbar p{font-size:11px!important;line-height:1.45!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:60vw!important}
  .top-actions{order:2!important;width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;align-items:center!important}
  .top-actions>*{min-width:0!important;width:100%!important;text-align:center!important;margin:0!important}
  .user-badge{min-height:42px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:8px 10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:12px!important}
  .top-actions .ghost-btn{min-height:42px!important;padding:8px 10px!important;font-size:12px!important}
  .content{width:100%!important;max-width:100%!important;padding:12px!important;margin:0!important;overflow-x:hidden!important}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .card{min-width:0!important;padding:14px!important;border-radius:15px!important}
  .metric{font-size:24px!important;margin:6px 0!important}
  .section{width:100%!important;max-width:100%!important;margin-top:12px!important;padding:13px!important;border-radius:15px!important;overflow:hidden!important}
  .section-head{align-items:flex-start!important;gap:9px!important;flex-wrap:wrap!important;margin-bottom:11px!important}
  .section-head h3{font-size:17px!important;line-height:1.4!important}
  .section-head .actions{width:100%!important}
  .actions{gap:7px!important}
  .actions>button,.actions>a{flex:1 1 125px!important;min-height:42px!important}
  .form-grid{grid-template-columns:1fr!important;gap:10px!important}
  .field.full{grid-column:auto!important}
  .field input,.field select,.field textarea{font-size:16px!important;min-height:46px!important}
  .table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .table-wrap table{min-width:680px!important}
  .modal{padding:8px!important;align-items:end!important}
  .modal-card{width:100%!important;max-height:92dvh!important;border-radius:20px 20px 10px 10px!important}
  .modal-head{padding:13px 14px!important;position:sticky!important;top:0!important;background:#fff!important;z-index:2!important}
  .modal-body-pad,#modalBody{max-width:100%!important}
  .auto-schedule-banner{padding:13px!important;border-radius:14px!important;margin-bottom:12px!important}
  .auto-schedule-banner strong{font-size:16px!important}
  .auto-schedule-banner span{font-size:11px!important}
  .schedule-preview-section{padding:12px!important;border-radius:15px!important;overflow:hidden!important}
  .schedule,.school-wide-schedule,.school-preview-schedule,.school-general-schedule,.school-general-week{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-inline:contain!important;scrollbar-width:thin!important}
  .school-general-week{grid-template-columns:92px repeat(7,94px)!important}
  .school-general-week.periods-6{grid-template-columns:92px repeat(6,100px)!important}
  .school-general-week .head{min-height:72px!important;padding:5px 3px!important}
  .school-general-week .school-day-row-label{min-height:84px!important;padding:4px!important;position:sticky!important;right:0!important;z-index:4!important;box-shadow:-1px 0 0 #e0e9e4!important}
  .school-general-week .school-day-head{position:sticky!important;right:0!important;z-index:5!important;box-shadow:-1px 0 0 #e0e9e4!important}
  .school-general-week .general-period-cell{min-height:84px!important;padding:4px!important}
  .school-general-week .general-lesson{min-height:54px!important;padding:5px 4px!important}
  .general-parallel-lessons{grid-template-columns:1fr!important;gap:4px!important}
  .school-general-week .general-lesson .schedule-subject{font-size:9px!important}
  .school-general-week .general-lesson .school-lesson-room{font-size:8.2px!important}
  .school-general-week .general-lesson small{font-size:7.2px!important}
  .general-period-head .period-no{font-size:15px!important}.general-period-head strong{font-size:9px!important}.general-period-head small{font-size:7.5px!important}
  .schedule:not(.school-general-week){grid-template-columns:88px repeat(7,96px)!important}
  .schedule.periods-6:not(.school-general-week){grid-template-columns:88px repeat(6,102px)!important}
  .school-wide-schedule.school-by-period{grid-template-columns:90px repeat(7,100px)!important}
  .school-wide-schedule.school-by-class{grid-template-columns:90px 64px repeat(7,98px)!important}
  .school-preview-schedule{grid-template-columns:88px repeat(7,96px)!important}
  .school-preview-schedule.periods-6{grid-template-columns:88px repeat(6,102px)!important}
  .appointment-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .setting-line{align-items:flex-start!important;flex-direction:column!important;gap:10px!important}
  .setting-line>button,.setting-line>.actions{width:100%!important}
  .closure-actions{flex-direction:column!important;align-items:stretch!important}
}

@media(max-width:430px){
  .cards{grid-template-columns:1fr!important}
  .topbar{padding:10px!important}
  .topbar h2{font-size:19px!important}
  .topbar p{max-width:54vw!important}
  .content{padding:10px!important}
  .section{padding:11px!important}
  .top-actions{grid-template-columns:1fr 1fr!important}
  .user-badge,.top-actions .ghost-btn{font-size:11px!important;padding-inline:7px!important}
  .appointment-slot-grid{grid-template-columns:1fr 1fr!important}
}


/* v3.30 — استيراد بيانات الطلاب */
.student-import-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#f6faf7,#f1f8f4);border-color:#dcece3}
.student-import-callout>div:first-child{display:flex;flex-direction:column;gap:5px}.student-import-callout strong{font-size:18px;color:#315e49}.student-import-callout span{color:#6d8377;font-size:13px}
.student-import-intro{display:flex;flex-direction:column;gap:5px;padding:14px 16px;margin-bottom:14px;border-radius:16px;background:#f2f8f4;border:1px solid #deeee5}.student-import-intro strong{color:#3f745a;font-size:17px}.student-import-intro span{font-size:13px;color:#708579;line-height:1.7}
.import-option{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;border:1px solid #e2e9f1;border-radius:14px;background:#fff;cursor:pointer}.import-option input{width:18px;height:18px;margin-top:2px}.import-option span{display:flex;flex-direction:column;gap:3px}.import-option strong{font-size:14px}.import-option small{color:#7b8998;line-height:1.5}
.student-import-preview{margin-top:16px}.import-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px}.import-summary>div{padding:12px;border:1px solid #e2ece6;border-radius:14px;background:#fbfdff;text-align:center}.import-summary strong{display:block;font-size:20px;color:#345f4c}.import-summary span{display:block;margin-top:3px;font-size:11px;color:#78889b}.import-table{max-height:360px}.import-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
@media(max-width:720px){.student-import-callout{align-items:stretch;flex-direction:column}.student-import-callout .actions{width:100%}.student-import-callout .actions button{flex:1}.import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.import-summary>div:last-child{grid-column:1/-1}.import-table table{min-width:760px}}


/* v3.31 — unified calm green identity across the entire application */
:root{--bg:#f4f8f5;--panel:#fff;--text:#1f332a;--muted:#708278;--line:#dfe9e3;--primary:#4f7865;--primary2:#355b49;--soft:#eef6f1;--ok:#4f8a68;--warn:#aa7a28;--danger:#b95757;--shadow:0 10px 30px rgba(43,83,64,.08)}
body{background:#f4f8f5;color:var(--text)}
.sidebar,.owner-sidebar{background:linear-gradient(180deg,#18382e 0%,#102d25 100%)}
.nav-item:hover,.nav-item.active{background:linear-gradient(135deg,#4f8068,#3c6d56);color:#fff}
.primary,.auth-card .primary{background:linear-gradient(135deg,#6a9a80,#47785f)!important;color:#fff!important;box-shadow:0 9px 20px rgba(60,111,85,.18)}
.success-btn{background:#e7f4ec;color:#3e7658}.ghost-btn{background:#eff5f1;color:#385b49}.edit-btn{color:#467760!important;border-color:#cfe0d6!important;background:#f4f8f5!important}
.user-badge{background:#edf5f0;color:#3f6f57}.role.active{background:linear-gradient(135deg,#6b9b80,#44775e)!important;box-shadow:0 8px 18px rgba(57,110,83,.18)!important}
.mini-schedule-logo,.owner-mark{background:linear-gradient(135deg,#6c9f83,#3e7359)!important}.grid-mark i:last-child{background:#c8e5d4}.slot.filled{background:#edf6f0}.slot:hover{background:#f2f8f4}.slot .schedule-teacher{color:#4f735f}.schedule .head,.schedule .day,th{background:#f5f9f6}
.auto-schedule-banner,.randomize-callout,.student-import-intro,.behavior-route-note,.counselor-target{background:#f1f8f4!important;border-color:#d8e9df!important;color:#315b48!important}
.random-nav-btn,.auto-schedule-main-btn,.randomize-big-btn{background:linear-gradient(135deg,#6b9e83,#46785f)!important;color:#fff!important}.swap-help.active{border-color:#79a98f!important;background:#eef7f2!important;color:#355f4b!important}.slot.swap-selected{outline-color:#5f9577!important;background:#e4f1e9!important}
#loginView,#ownerLoginView{background:linear-gradient(145deg,#f0f7f3,#fbfdfc 54%,#e8f3ec)!important}.auth-card h1,.auth-card h1 span{color:#244637!important}.auth-card h1 strong,.link-btn,.register-link{color:#4f8065!important}.auth-card input:focus{border-color:#86b69d!important;box-shadow:0 0 0 4px rgba(87,145,116,.10)!important}.field-svg,.fixed-icon{color:#416c57!important}

/* Teacher dashboard — real responsive layout */
.teacher-mobile-dashboard{max-width:980px;margin:0 auto;display:grid;gap:16px}.teacher-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.teacher-mobile-head>div{display:flex;flex-direction:column;gap:3px}.teacher-mobile-head small{color:#71857a;font-weight:700}.teacher-mobile-head strong{font-size:20px;color:#244637}.teacher-bell-btn{width:44px;height:44px;border:1px solid #dbe8e1;border-radius:14px;background:#fff;cursor:pointer;font-size:20px;box-shadow:0 5px 16px rgba(43,83,64,.06)}
.teacher-focus-card{position:relative;overflow:hidden;min-height:190px;border-radius:24px;padding:24px;background:linear-gradient(135deg,#6ea286,#477a61);color:#fff;box-shadow:0 16px 34px rgba(57,105,80,.18);display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end}.teacher-focus-card:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.06);left:-70px;top:-120px}.teacher-focus-date{grid-column:1/-1;display:flex;flex-direction:column;gap:4px;font-size:13px;opacity:.95;z-index:1}.teacher-focus-body{display:flex;flex-direction:column;gap:5px;z-index:1}.teacher-focus-body small{opacity:.9}.teacher-focus-body strong{font-size:28px;line-height:1.2}.teacher-focus-body span{font-size:14px;opacity:.92}.teacher-focus-time{display:flex;flex-direction:column;align-items:flex-end;gap:5px;z-index:1}.teacher-focus-time span{font-size:13px}.teacher-focus-time strong{color:#e7f7ed;font-size:14px}.teacher-focus-card.empty-focus{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.teacher-day-section,.teacher-quick-section,.teacher-reminder-strip{background:#fff;border:1px solid #dfe9e3;border-radius:20px;padding:18px;box-shadow:0 6px 18px rgba(43,83,64,.05)}.teacher-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.teacher-section-title strong{font-size:18px;color:#244637}.teacher-section-title span{font-size:11px;color:#7b8c82}.teacher-today-row{display:grid;grid-template-columns:62px 1fr auto;gap:12px;align-items:center;padding:13px 10px;border:1px solid #e4ece7;border-radius:14px;margin-top:9px;background:#fff}.teacher-today-row.current{background:#edf7f1;border-color:#b9dbc8}.teacher-period-no{display:flex;flex-direction:column;align-items:center;border-left:1px solid #e3ebe6;padding-left:10px}.teacher-period-no strong{font-size:20px;color:#365f4b}.teacher-period-no span{font-size:10px;color:#819087}.teacher-today-main{display:flex;flex-direction:column;gap:3px}.teacher-today-main strong{font-size:15px;color:#243a30}.teacher-today-main span{font-size:12px;color:#6e8176}.teacher-today-time{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.teacher-today-time span{font-size:12px;color:#5d7267;direction:ltr}.teacher-today-time b{padding:4px 8px;border-radius:999px;background:#5b9572;color:#fff;font-size:10px}.teacher-quick-section h3{margin:0 0 13px;color:#244637}.teacher-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.teacher-quick-grid button{border:1px solid #e0eae4;background:#fff;border-radius:16px;min-height:105px;padding:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;cursor:pointer;color:#2d483b;box-shadow:0 5px 14px rgba(43,83,64,.05)}.teacher-quick-grid button span{width:38px;height:38px;border-radius:12px;background:#edf6f0;color:#4d8064;display:grid;place-items:center;font-size:19px;font-weight:800}.teacher-quick-grid button strong{font-size:13px}.teacher-reminder-strip{display:flex;align-items:center;justify-content:space-between;gap:14px}.teacher-reminder-strip>div{display:flex;flex-direction:column;gap:3px}.teacher-reminder-strip span{font-size:12px;color:#73867b}
@media(max-width:700px){.teacher-mobile-dashboard{gap:13px}.teacher-mobile-head{padding:0 2px}.teacher-focus-card{min-height:210px;padding:20px;border-radius:22px;grid-template-columns:1fr}.teacher-focus-body strong{font-size:27px}.teacher-focus-time{align-items:flex-start}.teacher-day-section,.teacher-quick-section,.teacher-reminder-strip{padding:14px;border-radius:18px}.teacher-today-row{grid-template-columns:54px 1fr;gap:9px}.teacher-today-time{grid-column:2;align-items:flex-start;flex-direction:row;justify-content:space-between}.teacher-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.teacher-quick-grid button{min-height:92px;padding:8px 5px}.teacher-quick-grid button strong{font-size:11px}.teacher-quick-grid button span{width:34px;height:34px}.teacher-section-title{align-items:flex-start;flex-direction:column}.teacher-reminder-strip{align-items:flex-start}.teacher-reminder-strip button{min-width:90px}}

/* v3.35 — Noor PDF import feedback */
.student-import-note{display:flex;flex-direction:column;gap:4px;padding:12px 14px;margin:0 0 12px;border:1px solid #d8e8de;border-radius:14px;background:#f4f9f6;color:#385d4b}.student-import-note strong{font-size:13px}.student-import-note span{font-size:12px;line-height:1.6;color:#6b8074}.import-row-warning{display:block;margin-top:5px;max-width:230px;color:#8a641d;line-height:1.45}
/* v3.39 — وسم السجل المدني المؤقت المنسوخ من رقم رخصة الإقامة */
.temporary-id-label{display:block;margin-top:4px;font-size:10px;font-weight:700;color:#8a641d;white-space:nowrap}

/* v3.40 — دخول ولي الأمر برقم الجوال */
.parent-mobile-note{display:block;margin-top:4px;font-size:11px;font-weight:700;color:#5e8d73;direction:ltr;text-align:right}
@media(max-width:700px){.parent-mobile-note{font-size:10px}.account-hint{line-height:1.75}}


/* v3.43 — mobile auth viewport stability */
@media (max-width:760px){
  html,body{width:100%;min-height:100%;overflow-x:hidden}
  body.auth-mobile-locked{height:100dvh;overflow:hidden!important}
  #loginView.auth-shell,#ownerLoginView.auth-shell,#registerView.auth-shell{
    position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;min-height:0!important;
    overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;place-items:start center!important;align-content:start!important;
    padding:10px 8px 18px!important;scroll-behavior:auto!important;
  }
  #loginView.hidden,#ownerLoginView.hidden,#registerView.hidden{display:none!important}
  #loginView .clean-auth-card,#ownerLoginView .clean-auth-card,#registerView .auth-card{
    margin:8px auto 18px!important;align-self:start!important;flex:none!important;
  }
  #loginView .brand-logo-inline{height:60px!important}
  #loginView .brand-logo-inline svg{width:78px!important;height:60px!important}
  #loginView h1{font-size:24px!important;margin:1px 0 3px!important}
  #loginView .auth-subtitle{margin-bottom:10px!important}
  #loginView .role-switch{margin-bottom:10px!important}
  #loginView .role{min-height:44px!important;padding:7px 8px!important;font-size:14px!important}
  #loginView .auth-field{margin-top:10px!important}
  #loginView input:not([type=checkbox]){height:46px!important}
  #loginView .remember-row{margin-top:8px!important}
  #loginView .wide{height:46px!important;margin-top:10px!important}
  #loginView .signup-prompt{margin-top:8px!important}
  #loginView .auth-divider{margin:10px 0 4px!important}
}
/* v3.44 — unified import mapping */
.import-mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.import-mapping-grid .field{margin:0}.import-summary-four{grid-template-columns:repeat(4,minmax(0,1fr))}.student-import-callout .actions{flex-wrap:wrap}
@media(max-width:720px){.import-mapping-grid{grid-template-columns:1fr}.import-summary-four{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v3.46 — استيراد Excel للمعلمين ظاهر مباشرة */
.teacher-excel-import-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #d8e8df;background:linear-gradient(135deg,#f7fbf8,#eef7f1);}
.teacher-excel-import-copy{display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:720px}.teacher-excel-import-copy strong{font-size:18px;color:#315b48}.teacher-excel-import-copy>span:last-child{font-size:12px;color:#6f8178;line-height:1.7}.teacher-excel-kicker{display:inline-flex!important;width:auto;padding:4px 9px;border-radius:999px;background:#e1f0e7;color:#376a52!important;font-size:10px!important;font-weight:800}.teacher-excel-import-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.teacher-hidden-file{display:none!important}.teacher-excel-main-btn{min-width:190px}
@media(max-width:760px){.teacher-excel-import-panel{align-items:stretch;flex-direction:column}.teacher-excel-import-actions{display:grid;grid-template-columns:1fr}.teacher-excel-import-actions button,.teacher-excel-main-btn{width:100%;min-width:0}}


/* v3.47 — مركز المساعدة السريع داخل البرنامج */
.help-top-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid #d8e7df;background:#fff;color:#315b48;border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:800;font-size:12px;white-space:nowrap}.help-top-btn>i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e9f4ed;color:#46745d;font-style:normal;font-size:14px}.help-top-btn:hover{background:#f5faf7;border-color:#bed8ca}
.help-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#3f7259,#6da087);color:#fff;border-radius:24px;padding:26px;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);align-items:center;gap:24px;box-shadow:0 16px 36px rgba(48,94,72,.15)}.help-hero:after{content:"?";position:absolute;left:25px;top:-52px;font-size:180px;font-weight:900;color:rgba(255,255,255,.055);line-height:1}.help-hero-copy{position:relative;z-index:1}.help-kicker{display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.14);font-size:11px;font-weight:800;margin-bottom:8px}.help-hero h3{font-size:28px;margin:0 0 8px}.help-hero p{margin:0;line-height:1.8;color:#eef8f2;font-size:13px}.help-search-wrap{position:relative;z-index:1;display:grid;grid-template-columns:38px 1fr 38px;align-items:center;background:#fff;border-radius:16px;padding:5px 7px;box-shadow:0 10px 25px rgba(27,63,46,.18)}.help-search-wrap>span{color:#5d856f;font-size:25px;text-align:center}.help-search-wrap input{height:48px;border:0!important;outline:0!important;background:transparent!important;color:#24392f;font-size:15px;width:100%;box-shadow:none!important}.help-search-wrap button{width:34px;height:34px;border:0;background:#edf5f0;color:#557665;border-radius:50%;cursor:pointer;font-size:20px}
.help-quick,.help-start-flow,.help-library{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.help-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:13px}.help-section-title>div{display:flex;flex-direction:column;gap:4px}.help-section-title strong{font-size:17px;color:#244637}.help-section-title span{font-size:11px;color:#7a8d82}.help-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.help-quick-grid button{border:1px solid #dfeae4;background:#fbfdfc;border-radius:15px;min-height:92px;padding:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#2e4b3c}.help-quick-grid button:hover{border-color:#a9cdb9;background:#f4faf6;transform:translateY(-1px)}.help-quick-grid button>span{width:35px;height:35px;border-radius:11px;background:#eaf4ee;display:grid;place-items:center;color:#4e8066}.help-quick-grid button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.help-quick-grid button strong{font-size:12px;text-align:center}
.help-flow-steps{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:8px}.help-flow-steps button{position:relative;border:1px solid #e0e9e4;background:#fff;border-radius:14px;padding:12px 8px;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:62px;color:#345844}.help-flow-steps button:not(:last-child):after{content:"←";position:absolute;left:-7px;color:#9bb6a7;font-weight:900;z-index:2}.help-flow-steps button b{width:28px;height:28px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#5f9276;color:#fff;font-size:11px}.help-flow-steps button span{font-size:11px;font-weight:800;line-height:1.4}.help-flow-steps button:hover{background:#f3f8f5;border-color:#b8d3c4}
.help-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.help-task-card{border:1px solid #dfe9e3;border-radius:17px;padding:16px;background:#fff;display:flex;flex-direction:column;min-height:205px;box-shadow:0 4px 14px rgba(34,67,51,.035)}.help-card-top{display:flex;align-items:center;justify-content:space-between}.help-category{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf6f0;color:#557a67;font-size:10px;font-weight:800}.help-arrow{color:#90aa9c;font-weight:800}.help-task-card h3{font-size:15px;color:#263e32;margin:13px 0 7px}.help-task-card p{font-size:12px;line-height:1.7;color:#708278;margin:0 0 14px;flex:1}.help-card-actions{display:flex;gap:7px}.help-card-actions button{flex:1;font-size:11px;padding:9px}.help-no-results{padding:34px;text-align:center;border:1px dashed #cfded6;border-radius:16px;background:#fafdfb;color:#708278;display:flex;flex-direction:column;gap:7px}.help-no-results strong{color:#355b47}
.help-guide p{margin:0 0 14px;color:#667b70;line-height:1.7}.help-guide ol{margin:0;padding:0 22px 0 0;display:grid;gap:10px}.help-guide li{padding:10px 12px;border:1px solid #e0eae4;background:#f8fbf9;border-radius:11px;line-height:1.6;font-size:13px}.help-guide li::marker{color:#56866d;font-weight:900}.help-guide-actions{display:flex;gap:8px;margin-top:17px;flex-wrap:wrap}.help-context>p{color:#708278;margin-top:0}.help-context{display:grid;gap:9px}.help-context-item{width:100%;border:1px solid #dfe9e3;background:#fff;border-radius:13px;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:right;cursor:pointer;color:#2e4d3d}.help-context-item:hover{background:#f4faf6;border-color:#b9d5c5}.help-context-item>span{display:flex;flex-direction:column;gap:3px}.help-context-item small{color:#7a8c82;line-height:1.55}.help-context-item>b{font-size:19px;color:#5c8d72}.help-all-btn{margin-top:5px;width:100%}
@media(max-width:1050px){.help-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.help-flow-steps{grid-template-columns:repeat(4,minmax(100px,1fr))}.help-flow-steps button:not(:last-child):after{display:none}}
@media(max-width:760px){.help-top-btn{padding:7px}.help-top-btn>span{display:none}.help-top-btn>i{width:28px;height:28px}.top-actions{flex-direction:row!important;align-items:center!important}.help-hero{grid-template-columns:1fr;padding:20px 15px;border-radius:20px;gap:16px}.help-hero h3{font-size:23px}.help-search-wrap{grid-template-columns:34px 1fr 34px;border-radius:14px}.help-search-wrap input{height:44px}.help-quick,.help-start-flow,.help-library{padding:14px;border-radius:17px}.help-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.help-quick-grid button{min-height:82px}.help-flow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.help-task-grid{grid-template-columns:1fr}.help-task-card{min-height:0}.help-section-title{align-items:flex-start}.help-card-actions{display:grid;grid-template-columns:1fr 1fr}.help-guide-actions{display:grid;grid-template-columns:1fr}.help-guide-actions button{width:100%}}


/* v3.48 — مساعد EduTable الذكي */
.smart-assistant-root{position:fixed;left:22px;bottom:22px;z-index:9800;font-family:inherit;direction:rtl}.assistant-launcher{border:0;background:linear-gradient(135deg,#3f7259,#5f9276);color:#fff;border-radius:999px;min-height:50px;padding:9px 14px;display:flex;align-items:center;gap:9px;box-shadow:0 12px 30px rgba(41,84,63,.25);cursor:pointer;font-weight:900}.assistant-launcher svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.assistant-launcher.is-open{box-shadow:0 8px 20px rgba(41,84,63,.18)}.assistant-panel{position:absolute;left:0;bottom:62px;width:min(390px,calc(100vw - 28px));height:min(610px,calc(100vh - 105px));background:#fff;border:1px solid #d7e6de;border-radius:22px;box-shadow:0 22px 65px rgba(31,67,49,.24);overflow:hidden;display:grid;grid-template-rows:auto 1fr auto auto}.assistant-panel.hidden{display:none}.assistant-head{padding:14px 15px;background:linear-gradient(135deg,#3f7259,#648f78);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px}.assistant-head-main{display:flex;align-items:center;gap:10px}.assistant-avatar{width:39px;height:39px;border-radius:13px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:20px}.assistant-head strong{display:block;font-size:14px}.assistant-head small{display:block;margin-top:2px;color:#e9f4ed;font-size:10px}.assistant-close{border:0;background:rgba(255,255,255,.13);color:#fff;width:34px;height:34px;border-radius:50%;font-size:21px;cursor:pointer}.assistant-messages{padding:14px 12px;overflow:auto;background:linear-gradient(#f9fcfa,#f5faf7);display:flex;flex-direction:column;gap:10px}.assistant-message{display:flex}.assistant-message.user{justify-content:flex-start}.assistant-message.bot{justify-content:flex-end}.assistant-bubble{max-width:88%;border-radius:16px;padding:11px 12px;font-size:12px;line-height:1.75;box-shadow:0 2px 8px rgba(42,73,58,.05)}.assistant-message.bot .assistant-bubble{background:#fff;border:1px solid #dce9e2;border-top-right-radius:6px;color:#30483c}.assistant-message.user .assistant-bubble{background:#4f8067;color:#fff;border-top-left-radius:6px}.assistant-bubble strong{font-size:13px}.assistant-bubble p{margin:5px 0 7px}.assistant-bubble small{display:block;color:#789084;margin-top:7px}.assistant-message.user small{color:#eaf4ef}.assistant-bubble ol{margin:7px 0 0;padding:0 20px 0 0;display:grid;gap:5px}.assistant-answer-actions{display:flex;gap:6px;margin-top:10px}.assistant-action{border:1px solid #cfe0d7;background:#fff;color:#3e6e56;border-radius:10px;padding:7px 9px;font-weight:800;font-size:10px;cursor:pointer}.assistant-action.primary-mini{background:#4f8067;color:#fff;border-color:#4f8067}.assistant-related{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.assistant-related button,.assistant-escalate button{border:1px solid #d4e4dc;background:#f4faf6;color:#466e59;border-radius:999px;padding:6px 9px;font-size:10px;cursor:pointer}.assistant-escalate{margin-top:10px}.assistant-escalate button{width:100%;border-radius:10px;background:#fff8ed;color:#8a6328;border-color:#ead8b9}.assistant-quick{padding:8px 10px;border-top:1px solid #e3ece7;background:#fff;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.assistant-quick::-webkit-scrollbar{display:none}.assistant-quick button{flex:0 0 auto;border:1px solid #d9e7df;background:#f7fbf8;color:#446c57;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;cursor:pointer}.assistant-compose{display:grid;grid-template-columns:1fr 42px;gap:7px;align-items:center;padding:10px;background:#fff;border-top:1px solid #e2ece6}.assistant-compose input{width:100%;height:42px;border:1px solid #d7e4dd;border-radius:13px;padding:0 12px;font:inherit;font-size:12px;outline:none;background:#fbfdfc}.assistant-compose input:focus{border-color:#87ad99;box-shadow:0 0 0 3px rgba(89,139,113,.10)}.assistant-send{height:42px;width:42px;border:0;border-radius:13px;background:#4f8067;color:#fff;font-size:20px;cursor:pointer}.support-note{padding:12px 13px;border:1px solid #dce8e1;background:#f7fbf8;border-radius:14px;margin-bottom:13px}.support-note p{margin:5px 0 0;color:#667b70;line-height:1.6}.support-details-cell{max-width:340px;white-space:normal;line-height:1.6}.cards:has(+ *){} 
@media(max-width:760px){.smart-assistant-root{left:12px;bottom:12px}.assistant-launcher{min-width:50px;width:50px;height:50px;padding:0;justify-content:center}.assistant-launcher span{display:none}.assistant-panel{position:fixed;left:8px;right:8px;bottom:70px;width:auto;height:min(620px,calc(100dvh - 86px));border-radius:20px}.assistant-bubble{max-width:92%}.assistant-head{padding:12px}.assistant-messages{padding:11px 9px}.assistant-compose{padding:8px}}

/* v3.49 — ربط حاضر داخل لوحة المعلم */
.hader-home-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;border:1px solid #d8e8df;background:linear-gradient(135deg,#f3faf6,#fff);border-radius:18px;box-shadow:0 8px 22px rgba(45,90,68,.07)}
.hader-home-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.hader-home-copy strong{font-size:16px;color:#254b39}.hader-home-copy small{color:#688071;line-height:1.5}.hader-mini-brand{display:inline-flex;width:max-content;align-items:center;gap:6px;font-weight:800;font-size:11px;color:#3d7459;background:#e8f4ed;border:1px solid #d2e7da;border-radius:999px;padding:4px 8px}
.hader-page{display:flex;flex-direction:column;gap:16px}.hader-loading{min-height:220px;display:flex;align-items:center;justify-content:center;gap:12px;color:#557065}.hader-spinner{width:22px;height:22px;border:3px solid #d7e6de;border-top-color:#4f8369;border-radius:50%;animation:haderSpin .8s linear infinite}@keyframes haderSpin{to{transform:rotate(360deg)}}
.hader-connect-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:24px;background:#fff;border:1px solid #dce8e1;border-radius:22px;box-shadow:0 12px 30px rgba(39,82,61,.08)}.hader-clock-mark{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#e9f5ee;color:#35674f;font-size:28px}.hader-connect-card h3{margin:7px 0 5px;color:#264c3a}.hader-connect-card p{margin:0;color:#6b8074;line-height:1.75}.hader-connect-actions,.hader-page-actions,.hader-link-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.hader-external-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.hader-link-note{display:flex;flex-direction:column;gap:5px;background:#f3f8f5;border:1px solid #dbe8e1;border-radius:14px;padding:13px 14px}.hader-link-note strong{color:#315f49}.hader-link-note span{font-size:12px;color:#6d8176;line-height:1.6}.hader-link-status{min-height:22px;margin-top:9px;font-size:12px;color:#5a7467}.hader-link-status.error{color:#a63f3f}
.hader-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:#fff;border:1px solid #dbe8e1;border-radius:20px;padding:18px 20px}.hader-page-head h3{margin:8px 0 4px;font-size:21px;color:#264d3a}.hader-page-head p{margin:0;color:#718478;font-size:13px}
.hader-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.hader-stat{background:#fff;border:1px solid #dce9e2;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:3px}.hader-stat span{font-size:12px;color:#718478}.hader-stat strong{font-size:27px;line-height:1.1;color:#315f49}.hader-stat small{font-size:11px;color:#819289}.hader-stat.attention{background:#fffaf1;border-color:#eddcb8}.hader-stat.attention strong{color:#9a6b24}
.hader-records{margin:0}.hader-table-wrap table td,.hader-table-wrap table th{text-align:center;white-space:nowrap}.hader-security-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px dashed #ccded4;border-radius:14px;color:#637b6e;font-size:12px}.hader-security-row .link-btn{margin:0}
@media(max-width:760px){.hader-home-summary{align-items:flex-start}.hader-connect-card{grid-template-columns:1fr}.hader-clock-mark{width:50px;height:50px}.hader-connect-actions,.hader-page-actions{width:100%}.hader-connect-actions>*{flex:1}.hader-page-head{flex-direction:column}.hader-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hader-security-row{align-items:flex-start;flex-direction:column}}
@media(max-width:420px){.hader-home-summary{flex-direction:column}.hader-home-summary .ghost-btn{width:100%}.hader-stats{grid-template-columns:1fr 1fr}.hader-stat{padding:13px}.hader-stat strong{font-size:23px}}

/* v3.51 — مزامنة طلاب نور */
.student-sync-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#f0f8f3,#f8fbf9);border:1px solid #d3e8da;box-shadow:0 10px 28px rgba(55,103,78,.06)}
.student-sync-copy{display:flex;flex-direction:column;align-items:flex-start;gap:5px;max-width:760px}.student-sync-copy strong{font-size:18px;color:#315e49}.student-sync-copy>span:not(.student-sync-kicker){font-size:13px;color:#667f72;line-height:1.75}.student-sync-copy small{font-size:11px;color:#82958b}
.student-sync-kicker{display:inline-flex;padding:4px 9px;border-radius:999px;background:#dceee3;color:#35684f!important;font-size:10px!important;font-weight:800}.student-sync-main-btn{min-width:220px}
.student-sync-intro{background:#eef8f1!important}.sync-current-count{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 13px;margin:-4px 0 13px;border:1px solid #dcebe2;border-radius:13px;background:#fbfdfc;color:#61766b}.sync-current-count strong{font-size:20px;color:#35664f}
.student-sync-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:12px}.student-sync-summary>div{padding:11px 8px;border:1px solid #e0ebe4;border-radius:13px;background:#fbfdfc;text-align:center}.student-sync-summary strong{display:block;font-size:20px;color:#345f4c}.student-sync-summary span{display:block;margin-top:3px;font-size:10px;color:#75877d}.student-sync-summary .has-error{border-color:#efd7d7;background:#fff8f8}.student-sync-summary .has-error strong{color:#a54b4b}
.badge.sync-moved{background:#e9f1ff;color:#3f6496;border-color:#d7e4f7}.badge.sync-unchanged{background:#f0f3f1;color:#66756d;border-color:#e3e8e5}.sync-detail{display:block;margin-top:4px;color:#7c887f;line-height:1.5}.sync-table table{min-width:840px}
.sync-missing-preview{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.sync-missing-preview span{display:inline-flex!important;padding:4px 8px;border-radius:999px;background:#fff;border:1px solid #e0e9e3;font-size:10px!important;color:#687c70!important}.sync-missing-preview small{align-self:center;color:#7a8c82}
.sync-deactivate-option{margin-top:13px;border-color:#eadfc9;background:#fffaf0}.sync-deactivate-option strong{color:#735c2e}.disabled-option{opacity:.6}.student-inactive-row{opacity:.62;background:#fafbfa}.student-inactive-label{display:block;margin-top:3px;font-size:9px;font-weight:800;color:#8a7560}.alert.success{background:#f0f8f3;border-color:#d3e8da;color:#35664f}
@media(max-width:820px){.student-sync-callout{align-items:stretch;flex-direction:column}.student-sync-callout .actions{display:grid;grid-template-columns:1fr}.student-sync-callout .actions button,.student-sync-main-btn{width:100%;min-width:0}.student-sync-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sync-current-count{margin-top:0}}

/* v3.53 — نظام نور ومنصة مدرستي: موظفون + نقل وتسكين الطلاب */
.operations-welcome{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:18px 20px;border:1px solid #cfe2d7;border-radius:18px;background:linear-gradient(135deg,#f1f8f4,#fbfdfc)}
.operations-welcome.madrasati{background:linear-gradient(135deg,#f3f7f5,#f8fbfa)}.operations-welcome>div{display:flex;flex-direction:column;gap:3px}.operations-welcome span{font-size:12px;color:#71877c}.operations-welcome strong{font-size:20px;color:#315b48}.operations-welcome small{font-size:12px;color:#60786b;line-height:1.7}
.operations-staff-card .section-head,.operations-action-card .section-head{align-items:flex-start}.workflow-form-note{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;padding:12px 14px;border:1px solid #cae0d4;border-radius:13px;background:#f2f8f4}.workflow-form-note.internal{background:#f5f8f6}.workflow-form-note strong{color:#315b48;font-size:15px}.workflow-form-note span{font-size:11px;color:#687f72;line-height:1.6}
.workflow-table td{vertical-align:middle}.workflow-table td strong{display:block;color:#264b3a}.workflow-table td small{display:block;margin-top:3px;font-size:10px;color:#7a8a81}.workflow-type{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.workflow-type.external{background:#e9f5ee;color:#357356}.workflow-type.internal{background:#eef4f1;color:#476b59}
.workflow-status-select{min-width:142px;height:36px;padding:0 9px;border-radius:10px;font-size:11px;font-weight:700}.workflow-status-select.ok{background:#eaf6ef;border-color:#b9ddc8;color:#28724e}.workflow-status-select.warn{background:#fff8e9;border-color:#efdcae;color:#946a13}.workflow-status-select.danger{background:#fff0f0;border-color:#efc8c8;color:#aa3f3f}
.workflow-progress{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.workflow-progress>div{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:14px 16px;background:#fff;border:1px solid #dfe9e3;border-radius:15px}.workflow-progress span{font-size:12px;color:#5f776a}.workflow-progress strong{font-size:18px;color:#315b48}.workflow-progress i{grid-column:1/-1;height:8px;background:#edf2ef;border-radius:999px;overflow:hidden}.workflow-progress i b{display:block;height:100%;background:#5b9476;border-radius:999px}
.workflow-print-sheet{max-width:1500px}.workflow-report-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:9px}.workflow-report-table th,.workflow-report-table td{border:1px solid #bfcac4;padding:6px 5px;text-align:center;vertical-align:middle}.workflow-report-table th{background:#edf4f0;color:#294b3d;font-weight:800}.workflow-report-footer{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:36px;padding:18px 28px 0;border-top:1px solid #cad5cf}.workflow-report-footer>div{display:flex;flex-direction:column;gap:7px;text-align:center}.workflow-report-footer span{font-size:11px;color:#60786b}.workflow-report-footer strong{font-size:14px;color:#203f31}.workflow-report-footer em{font-size:10px;font-style:normal;color:#66796e;margin-top:8px}
.role[data-role="noor_staff"] .fixed-icon,.role[data-role="madrasati_staff"] .fixed-icon{color:#3f765b}.role.active[data-role="noor_staff"] .fixed-icon,.role.active[data-role="madrasati_staff"] .fixed-icon{color:#fff}
@media(max-width:760px){.operations-welcome{align-items:flex-start;flex-direction:column}.workflow-progress{grid-template-columns:1fr}.workflow-status-select{min-width:128px}.operations-staff-card .section-head,.operations-action-card .section-head{gap:12px}.operations-staff-card .actions,.operations-action-card .actions{width:100%;display:grid;grid-template-columns:1fr}.operations-staff-card .actions button,.operations-action-card .actions button{width:100%}}
@media print{#schedulePrintHost .workflow-print-sheet{font-family:Tahoma,Arial,sans-serif}#schedulePrintHost .workflow-report-table{break-inside:auto}#schedulePrintHost .workflow-report-table tr{break-inside:avoid;page-break-inside:avoid}#schedulePrintHost .workflow-report-footer{break-inside:avoid;page-break-inside:avoid}}


/* v3.54 — رائد النشاط والإذاعة المدرسية */
.role[data-role="activity_leader"] .fixed-icon{color:#3f765b}.role.active[data-role="activity_leader"] .fixed-icon{color:#fff}
.activity-admin-hero,.activity-welcome{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border:1px solid #d5e6dc;border-radius:22px;background:linear-gradient(135deg,#eef8f2,#fbfdfc);margin-bottom:16px}.activity-admin-hero>div:first-child,.activity-welcome>div:first-child{display:flex;flex-direction:column;gap:5px}.activity-admin-hero span,.activity-welcome span{font-size:11px;color:#628071;font-weight:800}.activity-admin-hero h3{margin:0;color:#2f5945;font-size:22px}.activity-admin-hero p,.activity-welcome small{margin:0;color:#6d8176;line-height:1.7}.activity-welcome strong{font-size:21px;color:#2f5945}.activity-next{min-width:230px;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid #d9e7df;display:flex;flex-direction:column;gap:4px}.activity-next strong{font-size:16px!important}.activity-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.activity-quick-grid button{border:1px solid #dce9e2;background:#fff;border-radius:18px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:right;cursor:pointer;box-shadow:0 8px 22px rgba(40,82,62,.05)}.activity-quick-grid button>span{font-size:24px}.activity-quick-grid button strong{color:#315e49}.activity-quick-grid button small{color:#75887d;line-height:1.5}.activity-student-list{max-height:330px;overflow:auto;border:1px solid #dde9e2;border-radius:14px;padding:8px;background:#fbfdfc;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.activity-student-list label{display:flex;align-items:center;gap:8px;padding:9px;border-radius:10px;background:#fff;border:1px solid #e6eee9}.activity-student-list label span{display:flex;flex-direction:column;gap:2px}.activity-student-list small{font-size:9px;color:#84958c}.activity-check-all{display:flex!important;align-items:center;gap:8px}.activity-message-log{display:grid;gap:8px}.activity-message-log>div{display:grid;grid-template-columns:1fr auto;gap:5px;padding:12px 14px;border:1px solid #e1ebe5;border-radius:13px;background:#fbfdfc}.activity-message-log small{grid-column:1/-1;color:#73867b}.radio-eval-list{display:grid;gap:12px}.radio-eval-card{border:1px solid #dce8e1;border-radius:18px;background:#fff;padding:16px}.radio-eval-head{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-bottom:12px;border-bottom:1px solid #edf2ef}.radio-eval-head>div{display:flex;flex-direction:column;gap:3px}.radio-eval-head strong{color:#315e49;font-size:17px}.radio-eval-head b{font-size:21px;color:#3c7458}.radio-eval-head small,.radio-eval-head span{font-size:11px;color:#74877c}.radio-participants{display:grid;gap:7px;margin:12px 0}.radio-participants>div{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #e6eee9;border-radius:12px}.radio-participants>div>span{display:flex;flex-direction:column;gap:2px;flex:1}.radio-participants small{font-size:10px;color:#7a8d82}.student-radio-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#eaf6ef,#f9fcfa);border:1px solid #cfe4d8;border-radius:20px;padding:20px;margin-bottom:16px}.student-radio-hero>div{display:flex;flex-direction:column;gap:4px}.student-radio-hero span{font-size:11px;color:#607c6e}.student-radio-hero strong{font-size:22px;color:#315e49}.student-radio-hero small{color:#73877c}.student-radio-part{display:flex;flex-direction:column;gap:7px}.student-radio-part strong{color:#315e49}.student-radio-part p{white-space:pre-wrap;line-height:1.9;background:#fafcfb;border:1px solid #e4ece7;border-radius:13px;padding:12px}.activity-competition-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.activity-competition-cards>div{border:1px solid #dfeae4;border-radius:15px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:5px}.activity-competition-cards span{font-size:10px;color:#51826a;font-weight:800}.activity-competition-cards strong{color:#315e49}.activity-competition-cards p{margin:2px 0;color:#667c70;line-height:1.7}.activity-competition-cards small{color:#82938a}
@media(max-width:800px){.activity-admin-hero,.activity-welcome,.student-radio-hero{align-items:stretch;flex-direction:column}.activity-admin-hero .actions{display:grid;width:100%}.activity-admin-hero .actions button,.student-radio-hero button{width:100%}.activity-next{min-width:0}.activity-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-student-list{grid-template-columns:1fr}.activity-competition-cards{grid-template-columns:1fr}.radio-eval-head{align-items:flex-start;flex-direction:column}.radio-participants>div{flex-wrap:wrap}}

/* v3.54 hotfix: Arabic date placeholder on RTL screens */
.activity-ar-date[type="text"]{direction:rtl!important;text-align:right!important}
.activity-ar-date[type="date"]{direction:ltr!important;text-align:right!important}

/* v3.54 — إدارة الدخول متعدد الأدوار */
.multi-role-badge{cursor:pointer;user-select:none;border:1px solid #cfe0d6!important;transition:.15s ease}.multi-role-badge:hover{background:#e4f1e9!important;transform:translateY(-1px)}
.role-switcher-note,.role-access-help{display:flex;flex-direction:column;gap:5px;padding:12px 14px;border:1px solid #d6e7dd;border-radius:13px;background:#f4faf6;color:#345b49}.role-switcher-note{font-size:12px;line-height:1.7}.role-access-help span{font-size:11px;color:#6b8175;line-height:1.7}
.session-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.session-role-option{border:1px solid #dce8e1;background:#fff;border-radius:13px;padding:12px;text-align:right;cursor:pointer;display:flex;flex-direction:column;gap:3px}.session-role-option strong{color:#315e49}.session-role-option span{font-size:10px;color:#7b8d83}.session-role-option.active{border-color:#75a98d;background:#edf7f1}.session-role-option.active span{color:#3f765b;font-weight:800}
.multi-role-admin-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#edf7f1,#fbfdfc);border-color:#cfe3d7}.multi-role-admin-intro>div{display:flex;flex-direction:column;gap:4px}.multi-role-admin-intro strong{color:#315e49;font-size:16px}.multi-role-admin-intro span{font-size:11px;color:#6d8176;line-height:1.7}
.role-access-chips{display:flex;flex-wrap:wrap;gap:5px;min-width:150px}.role-access-chip{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#eaf6ef;color:#347052;border:1px solid #cfe6d8;font-size:9.5px;font-weight:800;white-space:nowrap}.role-access-off{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff0f0;color:#a34a4a;border:1px solid #efcece;font-size:9.5px;font-weight:800}.role-access-btn{border:1px solid #b9d8c7;background:#eef8f2;color:#356c50;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}
.multi-role-options{display:grid;gap:8px;margin-top:12px}.multi-role-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e0e9e4;border-radius:12px;background:#fff}.multi-role-option input{width:18px;height:18px;accent-color:#52876c}.multi-role-option span{display:flex;flex-direction:column;gap:2px}.multi-role-option strong{font-size:13px;color:#315e49}.multi-role-option small{font-size:9px;color:#87968e}.multi-role-option em{font-size:10px;font-style:normal;color:#7b8c83}.role-access-warning{margin-top:11px;padding:10px 12px;border-radius:11px;background:#fffaf0;border:1px solid #eee2c6;color:#7a673c;font-size:10px;line-height:1.7}
.multi-role-user-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.multi-role-user-list button{display:grid;grid-template-columns:1fr;gap:5px;text-align:right;border:1px solid #dfe9e3;background:#fff;border-radius:13px;padding:12px;cursor:pointer}.multi-role-user-list button:hover{background:#f6faf8}.multi-role-user-list span{display:flex;align-items:center;justify-content:space-between;gap:8px}.multi-role-user-list strong{color:#315e49;font-size:13px}.multi-role-user-list small{font-size:9px;color:#82928a}.multi-role-user-list em{font-size:9.5px;font-style:normal;color:#5f786b;line-height:1.5}
@media(max-width:760px){.multi-role-admin-intro{align-items:stretch;flex-direction:column}.multi-role-admin-intro button{width:100%}.multi-role-user-list{grid-template-columns:1fr}.session-role-grid{grid-template-columns:1fr}.role-access-chips{min-width:120px}.multi-role-option{grid-template-columns:auto 1fr}.multi-role-option em{grid-column:2}}

/* v3.54 — تحديد مرحلة الموجه عند منح الدور */
.role-counselor-grade{margin-top:10px;padding:11px 12px;border:1px solid #dbe8e1;border-radius:12px;background:#fbfdfc;display:grid;gap:6px}
.role-counselor-grade.hidden{display:none!important}.role-counselor-grade label{font-size:12px;font-weight:800;color:#315e49}.role-counselor-grade select{min-height:42px;border:1px solid #dce7e1;border-radius:10px;background:#fff;padding:0 10px;color:#263b31}.role-counselor-grade small{font-size:9.5px;color:#7b8d83;line-height:1.6}
@media(max-width:760px){.role-counselor-grade{padding:9px}.role-counselor-grade select{min-height:40px;font-size:13px}}

/* ===== v3.55 — حسابات الطلاب/أولياء الأمور + المراسلة + الإعلانات ===== */
.account-search-grid{display:grid;grid-template-columns:minmax(240px,1.4fr) repeat(2,minmax(170px,.8fr));gap:12px;align-items:end}.account-search-grid.one-search{grid-template-columns:minmax(260px,1fr)}
.filter-result-note{margin:10px 0 12px;color:var(--muted);font-size:13px}.mini-student-chip,.mini-audience-chip{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eef7f2;color:#315f4c;font-size:12px;margin:2px;white-space:nowrap}
.student-parent-account-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.student-parent-account-links>button{border:1px solid #dfe9e3;background:linear-gradient(180deg,#fff,#f8fbf9);border-radius:18px;padding:18px;display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:4px;text-align:right;align-items:center;color:inherit;cursor:pointer}.student-parent-account-links>button:hover{border-color:#9fc8b4;box-shadow:0 8px 24px rgba(45,102,77,.08)}.student-parent-account-links .account-link-icon{grid-row:1/3;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#edf7f2;font-size:22px}.student-parent-account-links strong{font-size:16px}.student-parent-account-links small{color:var(--muted)}
.student-parent-permission-shortcuts{display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(135deg,#f4faf7,#fff)}.student-parent-permission-shortcuts>div:first-child{display:flex;flex-direction:column;gap:4px}.student-parent-permission-shortcuts span{color:var(--muted);font-size:13px}
.account-permission-head{background:linear-gradient(135deg,#fbfdfc,#f2f8f5)}
.target-panel{margin-top:16px;border:1px solid #dfe9e3;border-radius:18px;padding:16px;background:#fbfdfc}.target-panel.school-target{display:flex;flex-direction:column;gap:5px;text-align:center;padding:22px}.target-panel.school-target strong{font-size:17px;color:#285744}.target-panel.school-target span{color:var(--muted)}
.student-picker-toolbar{display:flex;gap:8px;justify-content:flex-end;margin:10px 0}.student-picker-list{max-height:330px;overflow:auto;border:1px solid #e2ebe6;border-radius:14px;background:#fff;padding:8px}.student-picker-list label{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #edf2ef;cursor:pointer}.student-picker-list label:last-child{border-bottom:0}.student-picker-list label[hidden]{display:none}.student-picker-list label:hover{background:#f6faf8}.student-picker-list input{width:18px;height:18px;accent-color:#4f9072}.student-picker-list span{display:flex;flex-direction:column;gap:2px}.student-picker-list small{color:var(--muted)}
.message-send-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid #e5ece8}.message-history{display:grid;gap:10px}.message-history-item{border:1px solid #e1ebe5;border-radius:14px;padding:13px 14px;background:#fff}.message-history-item>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.message-history-item>div span{font-size:12px;color:#4f806a;background:#eff7f3;border-radius:999px;padding:4px 8px}.message-history-item p{margin:8px 0;color:#33443c;white-space:pre-wrap}.message-history-item small{color:var(--muted)}
.announcement-carousel{border:1px solid #dce9e2;border-radius:22px;background:linear-gradient(135deg,#f7fbf9,#fff);overflow:hidden;margin-bottom:18px;box-shadow:0 12px 34px rgba(33,83,61,.07)}.announcement-carousel-top{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e6eee9}.announcement-carousel-top strong{color:#24543f}.announcement-carousel-top span{font-size:12px;color:var(--muted)}.announcement-stage{position:relative;min-height:190px}.announcement-slide{display:none;grid-template-columns:minmax(0,1.45fr) minmax(180px,.75fr);min-height:190px;animation:v355AnnFade .35s ease}.announcement-slide.active{display:grid}.announcement-copy{padding:24px 26px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px}.announcement-copy .announcement-kicker{font-size:12px;font-weight:700;color:#3b8062;background:#e8f4ee;border-radius:999px;padding:5px 10px}.announcement-copy h3{font-size:22px;margin:0;color:#183c2e}.announcement-copy p{margin:0;color:#5b6e65;line-height:1.8;white-space:pre-wrap}.announcement-copy a,.announcement-list-page a,.announcement-admin-card a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;background:#4e8e70;border-radius:10px;padding:8px 13px;font-size:13px;margin-top:4px}.announcement-image{min-height:190px;background:#edf4f0}.announcement-image img{width:100%;height:100%;min-height:190px;object-fit:cover;display:block}.announcement-dots{display:flex;justify-content:center;gap:7px;padding:9px 12px 12px}.announcement-dots button{border:0;width:8px;height:8px;border-radius:999px;background:#cfddd5;padding:0;cursor:pointer}.announcement-dots button.active{width:24px;background:#5b987b}@keyframes v355AnnFade{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
.announcement-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.announcement-admin-card{border:1px solid #dfe9e3;border-radius:18px;overflow:hidden;background:#fff}.announcement-admin-card.disabled{opacity:.64}.announcement-admin-card>img{width:100%;height:170px;object-fit:cover;background:#eef4f1}.announcement-admin-card>div{padding:14px}.announcement-admin-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.announcement-admin-title strong{font-size:16px}.announcement-admin-card p{color:#53655d;line-height:1.7;white-space:pre-wrap}.announcement-admin-card small{display:block;color:var(--muted);margin-bottom:6px}.audience-chip-row{margin:8px 0}.audience-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.audience-check-grid label{display:flex;align-items:center;gap:8px;border:1px solid #dfe9e3;border-radius:12px;padding:10px 12px;background:#fbfdfc}.audience-check-grid input{accent-color:#4f9072}.image-upload-row{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}.image-upload-row span{font-size:12px;color:var(--muted)}.announcement-image-preview{width:100%;max-height:220px;object-fit:contain;border:1px dashed #cbdcd3;border-radius:12px;margin-top:10px;background:#f7faf8}.announcement-image-preview.hidden{display:none}
.announcement-list-page{display:grid;gap:14px}.announcement-list-page article{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.34fr);border:1px solid #dfe9e3;border-radius:18px;overflow:hidden;background:#fff}.announcement-list-page article>img{width:100%;height:100%;min-height:180px;object-fit:cover;order:2}.announcement-list-page article>div{padding:20px}.announcement-list-page article span{display:inline-flex;color:#3f7c61;background:#ebf6f0;border-radius:999px;padding:4px 9px;font-size:12px}.announcement-list-page h3{margin:9px 0 6px}.announcement-list-page p{color:#566960;line-height:1.8;white-space:pre-wrap}
@media (max-width:900px){.account-search-grid{grid-template-columns:1fr 1fr}.account-search-grid .field:first-child{grid-column:1/-1}.announcement-admin-grid{grid-template-columns:1fr}.announcement-slide{grid-template-columns:1fr minmax(150px,.55fr)}}
@media (max-width:640px){.student-parent-account-links{grid-template-columns:1fr}.student-parent-permission-shortcuts{align-items:stretch;flex-direction:column}.student-parent-permission-shortcuts .actions{width:100%}.student-parent-permission-shortcuts .actions button{flex:1}.account-search-grid{grid-template-columns:1fr}.account-search-grid .field:first-child{grid-column:auto}.message-send-footer{align-items:stretch;flex-direction:column}.message-send-footer button{width:100%}.announcement-stage{min-height:0}.announcement-slide,.announcement-slide.active{grid-template-columns:1fr;min-height:0}.announcement-image{order:-1;min-height:125px;max-height:180px}.announcement-image img{min-height:125px;max-height:180px}.announcement-copy{padding:17px 18px}.announcement-copy h3{font-size:18px}.announcement-copy p{font-size:13px}.announcement-list-page article{grid-template-columns:1fr}.announcement-list-page article>img{order:-1;min-height:140px;max-height:190px}.audience-check-grid{grid-template-columns:1fr}.student-picker-list{max-height:280px}.message-history-item>div{align-items:flex-start;flex-direction:column}}

/* ===== v3.56 — المواد حسب الصف والفصل الدراسي ===== */
.v356-subject-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(300px,1.6fr) auto;gap:12px;align-items:end;margin:16px 0 12px;padding:14px;border:1px solid #dfeae4;border-radius:18px;background:#f8fbf9}
.v356-subject-filter{display:grid;gap:6px}.v356-subject-filter label{font-size:12px;color:#64776d;font-weight:700}.v356-subject-filter select{height:44px;border:1px solid #d6e3dc;border-radius:12px;background:#fff;padding:0 12px;font:inherit;color:#173c2e}
.v356-term-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border:1px solid #d6e3dc;border-radius:14px;background:#fff}.v356-term-switch button{border:0;background:transparent;border-radius:10px;padding:11px 14px;font:inherit;font-weight:800;color:#61776b;cursor:pointer}.v356-term-switch button.active{background:linear-gradient(135deg,#6aa986,#3e7f62);color:#fff;box-shadow:0 5px 14px rgba(59,124,94,.18)}
.v356-plan-badge{min-width:112px;border-radius:14px;padding:9px 12px;background:#edf6f1;border:1px solid #dcebe3;text-align:center;display:grid;gap:2px}.v356-plan-badge strong{color:#2f7154;font-size:13px}.v356-plan-badge span{font-size:11px;color:#74877d}
.v356-current-plan-title{display:flex;align-items:center;gap:8px;margin:2px 0 12px}.v356-current-plan-title strong{font-size:16px;color:#183b2d}.v356-current-plan-title span{font-size:12px;padding:5px 9px;border-radius:999px;background:#edf6f1;color:#39785b}
.v356-elective-note{margin-top:14px;padding:13px 15px;border-radius:14px;background:#fff8e7;border:1px solid #f0dfac;display:grid;gap:4px}.v356-elective-note strong{color:#966d12}.v356-elective-note span{font-size:12px;line-height:1.8;color:#6f654d}
@media(max-width:760px){.v356-subject-toolbar{grid-template-columns:1fr;gap:9px;padding:10px}.v356-term-switch{grid-template-columns:1fr 1fr}.v356-term-switch button{padding:9px 6px;font-size:13px}.v356-plan-badge{grid-template-columns:auto auto;justify-content:center;gap:8px}.v356-current-plan-title{margin-top:8px}.v356-subject-filter select{height:42px}}

/* ===== v3.59 — استيراد الجدول من Excel والمطابقة الذكية ===== */
.schedule-excel-intro{display:flex;flex-direction:column;gap:5px;padding:14px 16px;margin-bottom:14px;border:1px solid #dbe8e1;background:#f2f8f5;border-radius:18px}
.schedule-excel-intro strong{color:#174936;font-size:16px}.schedule-excel-intro span{color:#687b71;line-height:1.8;font-size:13px}
.schedule-excel-file-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0 10px;padding:10px 12px;border:1px solid #e1ebe5;border-radius:14px;background:#fbfdfc}
.schedule-excel-file-meta strong{color:#183b2d}.schedule-excel-file-meta small{color:#77877f}
.schedule-excel-table td{vertical-align:middle}.schedule-import-error td{background:#fff7f7}.schedule-import-warning td{background:#fffdf2}
.schedule-excel-table .badge{white-space:normal;line-height:1.5;display:inline-flex;max-width:300px}
.general-parallel-lessons{display:flex!important;flex-direction:column;gap:5px;width:100%;min-width:0}
.general-parallel-lessons .general-lesson{width:100%;min-width:0;margin:0;padding:5px 6px;border-radius:8px}
.school-general-week .general-period-cell:has(.general-parallel-lessons){align-items:flex-start;overflow:auto;max-height:180px}
@media(max-width:720px){
 .schedule-excel-file-meta{gap:6px}.schedule-excel-table{max-height:56vh;overflow:auto}.schedule-excel-table table{min-width:760px}
 .school-general-week .general-period-cell:has(.general-parallel-lessons){max-height:140px}
}


/* ===== v3.59 — مطابقة أسماء المعلمين في Excel ===== */
.schedule-smart-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;padding:10px 12px;border:1px solid #dce9e2;border-radius:14px;background:#f8fbf9}.schedule-smart-actions span{font-size:12px;color:#6c7e75}
.schedule-name-map{display:grid;gap:8px;margin:12px 0 16px;padding:14px;border:1px solid #eadcae;border-radius:18px;background:#fffdf6}.schedule-name-map-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:3px}.schedule-name-map-head>div{display:grid;gap:3px}.schedule-name-map-head strong{color:#5f4a16}.schedule-name-map-head span:not(.badge){font-size:12px;color:#7d735c}
.schedule-name-map-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.2fr);gap:12px;align-items:center;padding:9px 10px;border:1px solid #eee4c7;border-radius:12px;background:#fff}.schedule-name-map-row>div{display:grid;gap:2px}.schedule-name-map-row strong{font-size:13px;color:#263f34}.schedule-name-map-row small{font-size:11px;color:#83775c}.schedule-name-map-row select{width:100%;height:40px;border:1px solid #d5e1da;border-radius:10px;background:#fff;padding:0 10px;font:inherit;color:#173c2e}
.schedule-match-complete{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 16px;padding:12px 14px;border:1px solid #cfe5d9;border-radius:14px;background:#eef8f2}.schedule-match-complete strong{color:#246344}.schedule-match-complete span{font-size:12px;color:#5d7569}.schedule-match-note{display:block;margin-top:3px;font-size:10px;color:#6a8d7a;font-weight:600}
@media(max-width:720px){.schedule-name-map-row{grid-template-columns:1fr;gap:7px}.schedule-name-map-head,.schedule-match-complete{align-items:flex-start;flex-direction:column}.schedule-name-map{padding:10px}.schedule-smart-actions{align-items:stretch;flex-direction:column}.schedule-smart-actions button{width:100%}}


/* ===== v3.60 — محرك البحث عن أسماء المعلمين في مطابقة Excel ===== */
.schedule-name-searchbar{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:8px;margin:7px 0 10px;padding:9px 10px;border:1px solid #d7e5dd;border-radius:13px;background:#fff}.schedule-name-searchbar input{width:100%;height:40px;border:1px solid #cfe0d7;border-radius:10px;padding:0 12px;font:inherit;color:#173c2e;background:#fbfdfc}.schedule-name-searchbar input:focus{outline:2px solid rgba(47,118,90,.15);border-color:#6ea58a}.schedule-name-searchbar small{font-size:11px;color:#6c7e75;white-space:nowrap}.schedule-name-search-icon{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#edf6f1;color:#2f765a;font-size:20px;font-weight:700}.schedule-name-map-rows{display:grid;gap:8px}.schedule-teacher-picker{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,.8fr);gap:8px;align-items:start}.schedule-teacher-search{display:grid;gap:3px}.schedule-teacher-search input{width:100%;height:40px;border:1px solid #a9ccb9;border-radius:10px;background:#f8fcfa;padding:0 11px;font:inherit;color:#173c2e}.schedule-teacher-search input:focus{outline:2px solid rgba(47,118,90,.15);border-color:#4e8e6e}.schedule-teacher-search small{font-size:10px;color:#6c7e75}.schedule-teacher-picker select{width:100%;height:40px;border:1px solid #d5e1da;border-radius:10px;background:#fff;padding:0 10px;font:inherit;color:#173c2e}
@media(max-width:720px){.schedule-name-searchbar{grid-template-columns:auto 1fr}.schedule-name-searchbar small{grid-column:1/-1;padding-inline-start:38px}.schedule-teacher-picker{grid-template-columns:1fr}.schedule-name-map-row{padding:10px}.schedule-teacher-search input,.schedule-teacher-picker select{height:44px}}

/* ===== v3.61 — مراجعة أخطاء استيراد Excel فقط ===== */
.schedule-error-review-button{border:0;border-radius:12px;background:#8f2f2f;color:#fff;padding:10px 14px;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 6px 14px rgba(143,47,47,.14)}
.schedule-error-review-button:hover{background:#772727}
.schedule-error-review{display:grid;gap:12px;margin:14px 0 18px;padding:14px;border:1px solid #eccaca;border-radius:18px;background:#fffafa;scroll-margin-top:18px}
.schedule-error-review.locked{border-color:#eadcae;background:#fffdf6}.schedule-error-review.complete{border-color:#cce4d6;background:#f5fbf7}
.schedule-error-review-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-error-review-head>div{display:grid;gap:4px}.schedule-error-review-head strong{font-size:16px;color:#6f2525}.schedule-error-review.complete .schedule-error-review-head strong{color:#246346}.schedule-error-review-head span:not(.badge){font-size:12px;color:#7a6969;line-height:1.7}
.schedule-error-filters{display:flex;gap:7px;flex-wrap:wrap}.schedule-error-filters button{border:1px solid #e1d5d5;background:#fff;color:#6b5151;border-radius:999px;padding:7px 11px;font:inherit;font-size:12px;cursor:pointer}.schedule-error-filters button.active{background:#7d3030;color:#fff;border-color:#7d3030}
.schedule-error-list{display:grid;gap:10px;max-height:58vh;overflow:auto;padding-inline-end:3px}
.schedule-error-card{display:grid;gap:10px;padding:12px;border:1px solid #eadada;border-radius:14px;background:#fff}.schedule-error-card.class{border-inline-start:4px solid #bb7a25}.schedule-error-card.conflict{border-inline-start:4px solid #a83c3c}.schedule-error-card.other{border-inline-start:4px solid #6d7580}
.schedule-error-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.schedule-error-card-top>div{display:grid;gap:3px}.schedule-error-card-top strong{color:#2b4137}.schedule-error-card-top span:not(.badge){font-size:11px;color:#77837d}.schedule-error-card-top .badge{max-width:55%;white-space:normal;line-height:1.55;text-align:right}
.schedule-error-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.schedule-error-edit-grid label{display:grid;gap:4px}.schedule-error-edit-grid label>span{font-size:11px;color:#6e7d75;font-weight:700}.schedule-error-edit-grid select{width:100%;height:40px;border:1px solid #d6e1db;border-radius:10px;background:#fff;padding:0 9px;font:inherit;color:#183c2e}
.schedule-error-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.schedule-error-card-actions small{font-size:11px;color:#7d8882}.schedule-error-card-actions .danger-btn{white-space:nowrap}
.schedule-error-review-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding-top:3px}.schedule-error-review-actions>span{font-size:12px;color:#677a70}.schedule-error-review-actions>span strong{color:#8b2f2f;font-size:15px}
@media(max-width:820px){.schedule-error-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-error-card-top{flex-direction:column}.schedule-error-card-top .badge{max-width:100%}.schedule-error-card-actions{align-items:stretch;flex-direction:column}.schedule-error-card-actions .danger-btn{width:100%}.schedule-error-review-head{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.schedule-error-edit-grid{grid-template-columns:1fr}.schedule-error-review{padding:10px}.schedule-error-list{max-height:none}.schedule-error-review-button{width:100%}}


/* ===== v3.62 — الاستيراد السريع الذكي ===== */
.schedule-excel-intro.fast{background:linear-gradient(135deg,#edf8f2,#fbfefc);border-color:#bcdccb;padding:16px 18px}.schedule-excel-intro.fast strong{font-size:18px}
.schedule-fast-upload{display:grid;grid-template-columns:minmax(230px,.8fr) 1fr;gap:14px;align-items:center;padding:14px 16px;border:1px dashed #9fcab4;border-radius:16px;background:#fbfefc}.schedule-fast-upload input{width:100%;min-height:44px}.schedule-fast-upload>div{display:grid;gap:4px}.schedule-fast-upload strong{color:#245a42}.schedule-fast-upload span{font-size:12px;color:#6d8076}.schedule-fast-options{margin-top:12px}
.schedule-fast-working{display:grid;place-items:center;text-align:center;gap:6px;margin:18px 0;padding:24px;border:1px solid #cfe5d9;border-radius:18px;background:#f3faf6}.schedule-fast-working strong{font-size:18px;color:#2d6d50}.schedule-fast-working span{font-size:12px;color:#718278}
.schedule-fast-result{margin:12px 0;padding:15px;border:1px solid #dbe8e1;border-radius:18px;background:#fbfdfc}.schedule-fast-result.ready{border-color:#a9d2bb;background:#f0faf4}.schedule-fast-result.needs-names{border-color:#e7d7a8;background:#fffdf5}.schedule-fast-result.needs-errors{border-color:#e9c7c7;background:#fff8f8}.schedule-fast-result-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.schedule-fast-result-head>div{display:grid;gap:4px}.schedule-fast-result-head strong{font-size:17px;color:#204f3b}.schedule-fast-result-head span{font-size:12px;color:#687b71}.schedule-fast-status{display:inline-flex!important;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;background:#e2f3e9;color:#256244!important;font-weight:800;white-space:nowrap}
.schedule-fast-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:13px}.schedule-fast-metrics>div{position:relative;display:grid;place-items:center;gap:2px;padding:11px 8px;border:1px solid #dce8e2;border-radius:13px;background:#fff}.schedule-fast-metrics strong{font-size:21px;color:#2d684e}.schedule-fast-metrics span{font-size:11px;color:#718278}.schedule-fast-metrics em{position:absolute;inset-inline-end:8px;top:7px;width:19px;height:19px;display:grid;place-items:center;border-radius:999px;background:#e7f5ec;color:#2d7353;font-size:11px;font-style:normal;font-weight:900}
.schedule-name-map.compact{max-height:none}.schedule-accept-suggestion{height:40px;white-space:nowrap}.schedule-teacher-picker{grid-template-columns:minmax(220px,1fr) minmax(190px,.75fr) auto}
.schedule-nonblocking-note{margin:8px 0;padding:9px 11px;border-radius:11px;background:#f7faf8;color:#6b7c73;font-size:11px;border:1px solid #e3ece7}.compact-alert{padding:10px 12px!important}.schedule-fast-actions{position:sticky;bottom:-1px;z-index:4;display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px -4px -4px;padding:11px 4px 4px;background:linear-gradient(180deg,rgba(255,255,255,.15),#fff 34%)}.schedule-fast-commit{min-width:190px;font-size:15px!important;padding:11px 18px!important}.schedule-fast-commit:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:760px){.schedule-fast-upload{grid-template-columns:1fr}.schedule-fast-result-head{align-items:flex-start;flex-direction:column}.schedule-fast-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-teacher-picker{grid-template-columns:1fr}.schedule-fast-actions{align-items:stretch;flex-direction:column}.schedule-fast-actions button{width:100%}.schedule-fast-commit{order:-1}.schedule-fast-options{grid-template-columns:1fr}}


/* ===== v3.64 — الحصة السابعة: الأحد والاثنين فقط ===== */
.seventh-unavailable{background:#f4f7f5!important;color:#a8b5ae!important;cursor:not-allowed!important;box-shadow:none!important;opacity:.72}
.seventh-unavailable:hover{transform:none!important;box-shadow:none!important}


/* ===== v3.64 — عرض الجدول المضغوط + طباعة A3/A4 ===== */
.general-schedule-filter{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1px solid #dce8e1;border-radius:14px;background:#f8fbf9}
.general-schedule-filter label{display:grid;gap:5px;min-width:230px}.general-schedule-filter label>span{font-size:11px;font-weight:800;color:#315b48}.general-schedule-filter select{height:40px;border:1px solid #cfe0d7;border-radius:10px;background:#fff;padding:0 10px;font:inherit;color:#173c2e}.general-schedule-filter small{font-size:11px;color:#718278}
.school-general-week .general-period-cell:has(.general-parallel-lessons){height:150px!important;min-height:150px!important;max-height:150px!important;overflow:auto!important;overscroll-behavior:contain;scrollbar-width:thin;align-items:flex-start!important}
.school-general-week .general-parallel-lessons{gap:3px!important}
.school-general-week .general-lesson{min-height:36px!important;padding:3px 4px!important}
.school-general-week .general-lesson.no-subject{min-height:27px!important;display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;align-items:center!important;gap:4px!important;padding:3px 5px!important}
.school-general-week .general-lesson.no-subject .school-lesson-room{font-size:9px!important;border-inline-end:1px solid rgba(75,117,98,.18);padding-inline-end:4px;margin:0!important}
.school-general-week .general-lesson.no-subject small{font-size:8px!important;text-align:right!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important}
.print-paper-choice{display:grid;grid-template-columns:minmax(220px,.8fr) 1fr;gap:12px;align-items:center;padding:13px 14px;border:1px solid #dce8e1;border-radius:14px;background:#fbfdfc}.print-paper-choice label{display:grid;gap:5px}.print-paper-choice label>span{font-size:11px;font-weight:800;color:#315b48}.print-paper-choice select{height:44px;border:1px solid #bfd6c9;border-radius:11px;background:#fff;padding:0 12px;font:inherit;font-weight:700;color:#174936}.print-paper-choice>div{display:grid;gap:3px}.print-paper-choice>div strong{font-size:12px;color:#315b48}.print-paper-choice>div small{font-size:10.5px;color:#718278;line-height:1.6}
.school-print-grouped{display:grid;gap:12px}.school-print-grade{break-after:page;page-break-after:always}.school-print-grade:last-child{break-after:auto;page-break-after:auto}.school-print-grade>h3{margin:0 0 7px;padding:5px 8px;text-align:center;border:1px solid #cfddd5;border-radius:7px;background:#f3f8f5;color:#254c3a;font-size:12px;font-weight:800}
.schedule-print-sheet{font-family:Tahoma,Arial,"Noto Sans Arabic",sans-serif!important}.schedule-print-sheet .print-head h1,.schedule-print-sheet .print-head h2,.schedule-print-sheet .school-day-row-label strong,.schedule-print-sheet .general-period-head strong,.schedule-print-sheet .school-lesson-room,.schedule-print-sheet .school-lesson small{font-family:inherit!important}
.schedule-print-sheet .school-general-week .general-period-cell:has(.general-parallel-lessons){height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important}
.schedule-print-sheet .school-general-week .general-parallel-lessons{gap:2px!important}
.schedule-print-sheet .school-general-week .general-lesson.no-subject{display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;min-height:18px!important;padding:1px 3px!important;gap:3px!important}
.schedule-print-sheet .school-general-week .general-lesson.no-subject .school-lesson-room{font-weight:800!important;margin:0!important;border-inline-end:1px solid #cbd7d1;padding-inline-end:3px}
.schedule-print-sheet .school-general-week .general-lesson.no-subject small{font-weight:600!important;text-align:right!important}
.print-paper-a3 .schedule-print-sheet{max-width:1500px}.print-paper-a3 .school-print-grade>h3{font-size:13px}.print-paper-a3 .schedule-print-sheet .school-general-week{grid-template-columns:70px repeat(7,minmax(76px,1fr))!important}.print-paper-a3 .schedule-print-sheet .school-general-week .general-lesson.no-subject .school-lesson-room{font-size:8px!important}.print-paper-a3 .schedule-print-sheet .school-general-week .general-lesson.no-subject small{font-size:7.4px!important}.print-paper-a3 .schedule-print-sheet .general-period-head .period-no{font-size:15px!important}.print-paper-a3 .schedule-print-sheet .general-period-head strong{font-size:8px!important}.print-paper-a3 .schedule-print-sheet .general-period-head small{font-size:6.5px!important}
.print-paper-a4 .schedule-print-sheet{max-width:1120px}.print-paper-a4 .school-print-grade>h3{font-size:11px}.print-paper-a4 .schedule-print-sheet .school-general-week{grid-template-columns:58px repeat(7,minmax(62px,1fr))!important}.print-paper-a4 .schedule-print-sheet .school-general-week .general-lesson.no-subject{grid-template-columns:25px minmax(0,1fr)!important;min-height:17px!important}.print-paper-a4 .schedule-print-sheet .school-general-week .general-lesson.no-subject .school-lesson-room{font-size:7.2px!important}.print-paper-a4 .schedule-print-sheet .school-general-week .general-lesson.no-subject small{font-size:6.7px!important}.print-paper-a4 .schedule-print-sheet .general-period-head .period-no{font-size:13px!important}.print-paper-a4 .schedule-print-sheet .general-period-head strong{font-size:7.2px!important}.print-paper-a4 .schedule-print-sheet .general-period-head small{font-size:5.8px!important}.print-paper-a4 .schedule-print-sheet .print-head{padding-bottom:7px;margin-bottom:8px}.print-paper-a4 .schedule-print-sheet .print-head h1{font-size:17px}.print-paper-a4 .schedule-print-sheet .print-head h2{font-size:14px}.print-paper-a4 .schedule-print-sheet .print-head p{font-size:8px}
@media(max-width:720px){.general-schedule-filter,.print-paper-choice{grid-template-columns:1fr;align-items:stretch}.general-schedule-filter{align-items:stretch;flex-direction:column}.general-schedule-filter label{min-width:0}.school-general-week .general-period-cell:has(.general-parallel-lessons){height:130px!important;min-height:130px!important;max-height:130px!important}}
@media print{
 #schedulePrintHost .school-print-grade{break-inside:avoid;page-break-inside:avoid}
 #schedulePrintHost .school-print-grade:not(:last-child){break-after:page;page-break-after:always}
 #schedulePrintHost .school-general-week .general-period-cell{overflow:visible!important}
}


/* v3.65 — الاستبيانات الخاصة */
.survey-privacy-banner{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;margin:0 0 14px;border:1px solid #c9ddd3;background:#f3faf6;border-radius:16px;color:#174936}.survey-privacy-banner strong{white-space:nowrap}.survey-privacy-banner span{font-size:13px;line-height:1.8}.survey-template-grid,.survey-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.survey-template-grid button{border:1px solid #d8e6df;background:#fff;border-radius:16px;padding:16px;text-align:right;cursor:pointer;transition:.18s}.survey-template-grid button:hover{border-color:#75a58e;box-shadow:0 8px 20px rgba(24,73,54,.08);transform:translateY(-1px)}.survey-template-grid strong,.survey-template-grid span{display:block}.survey-template-grid strong{color:#174936;font-size:15px;margin-bottom:5px}.survey-template-grid span{color:#6c7e75;font-size:12px}.survey-card{border:1px solid #dce8e2;background:#fff;border-radius:17px;padding:15px;display:flex;flex-direction:column;gap:9px;min-height:180px}.survey-card.assigned{border-color:#b9d7c8;background:#fbfffd}.survey-card h3{margin:0;color:#173f31;font-size:16px}.survey-card p{margin:0;color:#6a7b73;font-size:13px;line-height:1.7}.survey-card-top{display:flex;justify-content:space-between;align-items:center}.survey-lock{font-size:12px;color:#5d786b}.survey-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.survey-meta span{font-size:11px;background:#f2f6f4;border-radius:999px;padding:5px 8px;color:#60736a}.survey-loading{text-align:center;padding:30px;color:#61756b}.survey-create-form{max-height:78vh;overflow:auto;padding-left:3px}.survey-sensitive-note{display:none;padding:12px 14px;border-radius:12px;background:#fff8e8;border:1px solid #eedaa7;color:#7b5a15;font-size:13px;line-height:1.7;margin:12px 0}.survey-sensitive-note.show{display:block}.survey-builder-block{border:1px solid #e0e9e4;border-radius:15px;padding:14px;margin-top:13px;background:#fcfefd}.survey-builder-block h4{margin:0 0 10px;color:#214c3b}.survey-check-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:13px}.survey-check-row label,.survey-class-grid label,.survey-viewer-grid label{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #e0e9e4;border-radius:11px;padding:8px 10px;font-size:13px}.survey-class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;max-height:150px;overflow:auto}.survey-viewer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:10px}.survey-viewer-grid label{align-items:flex-start}.survey-viewer-grid label span,.survey-viewer-grid label small{display:block}.survey-viewer-grid small{color:#74857d}.survey-owner-only{display:flex;gap:8px;align-items:center;padding:10px;border-radius:11px;background:#f1f8f4}.survey-question-editor{display:grid;grid-template-columns:34px minmax(180px,2fr) minmax(130px,1fr) minmax(160px,1.4fr) auto auto;gap:8px;align-items:end;padding:10px 0;border-bottom:1px dashed #dce6e1}.survey-question-editor:last-child{border-bottom:0}.survey-q-number{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e8f3ed;color:#24523f;font-weight:700;margin-bottom:8px}.survey-question-editor .grow{min-width:0}.survey-required{display:flex;align-items:center;gap:5px;padding:0 4px 10px;font-size:12px}.survey-modal-actions{display:flex;gap:8px;justify-content:flex-start;margin-top:16px}.survey-answer-wrap{max-height:76vh;overflow:auto}.survey-answer-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}.survey-answer-field{background:#fbfdfc;border:1px solid #e1eae5;border-radius:13px;padding:11px}.survey-answer-field label{display:flex;gap:6px;align-items:center}.sensitive-chip{font-size:10px;padding:3px 6px;border-radius:999px;background:#fff0d7;color:#79530f}.required-star{color:#a43030}.survey-result-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:13px}.survey-result-summary>div{background:#f6faf8;border-radius:12px;padding:11px}.survey-result-summary span,.survey-result-summary strong{display:block}.survey-result-summary span{font-size:11px;color:#74857d}.survey-result-summary strong{margin-top:4px;color:#214c3b}.survey-response-list{display:grid;gap:12px}.survey-response-card{border:1px solid #dce7e2;border-radius:16px;background:#fff;padding:14px}.survey-response-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:11px}.survey-response-head strong,.survey-response-head small{display:block}.survey-response-head small{color:#73837b;margin-top:3px}.survey-response-answers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.survey-response-answers>div{background:#f8fbf9;border-radius:10px;padding:9px}.survey-response-answers span,.survey-response-answers strong{display:block}.survey-response-answers span{font-size:11px;color:#718279;margin-bottom:4px}.survey-response-answers strong{font-size:13px;color:#263f35;white-space:pre-wrap}
@media(max-width:800px){.survey-answer-fields{grid-template-columns:1fr}.survey-question-editor{grid-template-columns:30px 1fr}.survey-question-editor>.field,.survey-question-editor>.survey-required,.survey-question-editor>button{grid-column:2}.survey-privacy-banner{flex-direction:column;gap:4px}.survey-template-grid,.survey-card-grid{grid-template-columns:1fr}}

/* v3.66 — معاينة وطباعة الاستبيانات ولوحة الرسوم */
.survey-dashboard-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin:14px 0}.survey-dashboard-summary>div{border:1px solid #dce8e2;background:linear-gradient(180deg,#fff,#f5faf7);border-radius:15px;padding:13px;text-align:center}.survey-dashboard-summary span,.survey-dashboard-summary strong{display:block}.survey-dashboard-summary span{font-size:11px;color:#71847a}.survey-dashboard-summary strong{font-size:24px;color:#174936;margin-top:4px}.survey-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px}.survey-chart-card{border:1px solid #dbe8e1;background:#fff;border-radius:18px;padding:15px;break-inside:avoid;page-break-inside:avoid}.survey-chart-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.survey-chart-index{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#e9f5ee;color:#1b6147;font-weight:800;flex:0 0 auto}.survey-chart-head h4{margin:1px 0 2px;font-size:14px;color:#1c4937}.survey-chart-head small{color:#74857d}.survey-chart-body{display:grid;gap:10px}.survey-chart-label{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;color:#385548;margin-bottom:5px}.survey-chart-label b{color:#173f31}.survey-chart-label small{font-weight:500;color:#7a8982}.survey-chart-track{height:12px;border-radius:999px;background:#edf3f0;overflow:hidden}.survey-chart-track i{display:block;height:100%;min-width:0;border-radius:999px;background:linear-gradient(90deg,#1f805b,#55ac82)}.survey-chart-row:nth-child(5n+2) .survey-chart-track i{background:linear-gradient(90deg,#2c715f,#72af97)}.survey-chart-row:nth-child(5n+3) .survey-chart-track i{background:linear-gradient(90deg,#39725b,#8ab6a1)}.survey-chart-row:nth-child(5n+4) .survey-chart-track i{background:linear-gradient(90deg,#256c4f,#4f9674)}.survey-chart-row:nth-child(5n+5) .survey-chart-track i{background:linear-gradient(90deg,#48745f,#91b5a3)}.survey-chart-empty{padding:24px;border:1px dashed #ccdcd4;border-radius:15px;text-align:center;color:#75877e;background:#fbfdfc}.survey-results-hero{position:relative;overflow:hidden}.survey-results-hero:after{content:"";position:absolute;left:-35px;top:-35px;width:120px;height:120px;border-radius:50%;background:rgba(55,143,103,.06);pointer-events:none}
.survey-print-preview-overlay{position:fixed;inset:0;z-index:12000;background:#e9efec;display:flex;flex-direction:column;direction:rtl}.survey-print-toolbar{flex:0 0 auto;background:#fff;border-bottom:1px solid #dbe5e0;box-shadow:0 3px 14px rgba(23,73,54,.08);padding:10px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.survey-print-toolbar-title{min-width:230px;margin-left:auto}.survey-print-toolbar-title strong,.survey-print-toolbar-title span{display:block}.survey-print-toolbar-title strong{font-size:15px;color:#174936}.survey-print-toolbar-title span{font-size:11px;color:#718178;margin-top:2px}.survey-print-control{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid #e1e9e5;border-radius:11px;background:#f8fbf9}.survey-print-control label{font-size:10px;color:#6d7f76;padding:0 4px}.survey-print-control button{border:0;background:transparent;border-radius:8px;padding:7px 10px;cursor:pointer;color:#4e675b}.survey-print-control button.active{background:#1f7655;color:#fff;box-shadow:0 2px 8px rgba(31,118,85,.2)}.survey-print-logo-toggle{display:flex;align-items:center;gap:5px;font-size:12px;color:#52685d}.survey-print-toolbar-actions{display:flex;gap:7px}.survey-print-stage{flex:1;overflow:auto;padding:24px;display:flex;justify-content:center;align-items:flex-start}.survey-print-paper{box-sizing:border-box;background:#fff;border-radius:4px;box-shadow:0 12px 35px rgba(30,54,44,.16);padding:12mm;transition:.2s;min-height:260mm;color:#203c30}.survey-print-paper[data-paper="A4"][data-orientation="portrait"]{width:min(210mm,calc(100vw - 48px));min-height:297mm}.survey-print-paper[data-paper="A4"][data-orientation="landscape"]{width:min(297mm,calc(100vw - 48px));min-height:210mm}.survey-print-paper[data-paper="A3"][data-orientation="portrait"]{width:min(297mm,calc(100vw - 48px));min-height:420mm}.survey-print-paper[data-paper="A3"][data-orientation="landscape"]{width:min(420mm,calc(100vw - 48px));min-height:297mm}.survey-paper-head{display:grid;grid-template-columns:auto minmax(120px,.8fr) minmax(260px,2fr) auto;gap:12px;align-items:center;border-bottom:2px solid #2b765a;padding-bottom:12px;margin-bottom:12px}.survey-paper-head img{width:50px;height:50px;object-fit:contain}.survey-paper-school strong,.survey-paper-school span{display:block}.survey-paper-school strong{font-size:13px;color:#194b38}.survey-paper-school span{font-size:10px;color:#75867e}.survey-paper-title{text-align:center}.survey-paper-title h1{font-size:20px;margin:0;color:#174936}.survey-paper-title p{font-size:11px;margin:5px 0 0;color:#687a71}.survey-paper-private{font-size:11px;padding:6px 9px;border-radius:999px;background:#eef7f2;color:#276349;white-space:nowrap}.survey-paper-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:10px 0 16px}.survey-paper-meta>div{border:1px solid #dfe8e3;border-radius:10px;padding:8px;background:#fafcfb}.survey-paper-meta span,.survey-paper-meta strong{display:block}.survey-paper-meta span{font-size:9px;color:#7b8a83}.survey-paper-meta strong{font-size:11px;color:#254738;margin-top:2px}.survey-print-section{margin:15px 0}.survey-print-section>h2{font-size:14px;color:#174936;margin:0 0 10px;border-right:4px solid #318261;padding-right:8px}.survey-print-question{padding:10px 3px;border-bottom:1px dashed #d9e1dd;break-inside:avoid}.survey-print-question-title{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:650}.survey-print-question-title b{color:#1f7655}.survey-print-question-title em{font-style:normal;font-size:8px;border-radius:999px;background:#eaf4ef;color:#2b6d52;padding:2px 6px}.survey-print-question-title em.sensitive{background:#fff1db;color:#845d15}.survey-print-options{display:flex;gap:18px;flex-wrap:wrap;padding:10px 26px 3px;font-size:11px}.survey-print-lines{display:grid;gap:8px;padding:12px 26px 2px}.survey-print-lines i{display:block;border-bottom:1px dotted #87968f;height:8px}.survey-paper-sign{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #dce5e0;margin-top:18px;padding-top:10px;font-size:10px}.survey-paper-footer{text-align:center;color:#7d8a84;font-size:8px;border-top:1px solid #e4ebe7;margin-top:20px;padding-top:7px}.survey-print-paper .survey-charts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.survey-print-paper .survey-chart-card{padding:10px;border-radius:11px}.survey-print-paper .survey-chart-head h4{font-size:11px}.survey-print-paper .survey-chart-track{height:8px}.survey-print-paper .survey-chart-label{font-size:9px}.survey-print-paper .survey-dashboard-summary{grid-template-columns:repeat(4,1fr)}.survey-print-paper .survey-dashboard-summary>div{padding:8px;border-radius:9px}.survey-print-paper .survey-dashboard-summary strong{font-size:18px}.survey-print-paper .survey-response-card{box-shadow:none;border-radius:10px;padding:10px;break-inside:avoid;page-break-inside:avoid}.survey-print-paper .survey-response-answers{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.survey-print-paper .survey-response-answers>div{padding:6px}.survey-print-paper .survey-response-answers span{font-size:8px}.survey-print-paper .survey-response-answers strong{font-size:9px}.survey-print-paper.mono{filter:grayscale(1)}.survey-print-paper.mono .survey-chart-track i{background:#3f3f3f!important}.survey-print-paper.mono .survey-paper-private,.survey-print-paper.mono .survey-chart-index{background:#eee;color:#222}
@media(max-width:850px){.survey-dashboard-summary{grid-template-columns:repeat(2,1fr)}.survey-charts-grid{grid-template-columns:1fr}.survey-print-toolbar{gap:7px;padding:8px}.survey-print-toolbar-title{width:100%;margin:0}.survey-print-stage{padding:10px}.survey-print-paper{padding:8mm}.survey-print-paper .survey-charts-grid{grid-template-columns:1fr}}
@media print{body.survey-printing{background:#fff!important}body.survey-printing>*:not(#surveyPrintPreviewOverlay){display:none!important}body.survey-printing #surveyPrintPreviewOverlay{position:static!important;inset:auto!important;background:#fff!important;display:block!important}body.survey-printing .survey-print-toolbar{display:none!important}body.survey-printing .survey-print-stage{display:block!important;overflow:visible!important;padding:0!important}body.survey-printing .survey-print-paper{width:auto!important;min-height:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;margin:0!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}body.survey-printing .survey-print-paper.mono{filter:grayscale(1)}body.survey-printing .survey-print-details{break-before:page;page-break-before:always}.survey-chart-card,.survey-print-question,.survey-print-response{break-inside:avoid;page-break-inside:avoid}}

.survey-paper-head.no-logo{grid-template-columns:minmax(120px,.8fr) minmax(260px,2fr) auto}


/* v3.67 — اختيار مصدر الإسنادات */
.assignment-source-panel{border:1px solid #dceae3;background:linear-gradient(180deg,#fbfefd,#fff)}
.assignment-source-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.assignment-source-choice{appearance:none;border:1px solid #d9e8e0;background:#fff;border-radius:18px;padding:18px;text-align:right;display:grid;grid-template-columns:auto 1fr;gap:5px 12px;align-items:start;cursor:pointer;color:#183f31;transition:.18s ease;box-shadow:0 5px 18px rgba(31,84,61,.05)}
.assignment-source-choice:hover{transform:translateY(-1px);border-color:#8fbaa5;box-shadow:0 9px 24px rgba(31,84,61,.10)}
.assignment-source-choice.active{border:2px solid #2f765a;background:#f1f8f4}
.assignment-source-choice .source-icon{grid-row:1/4;font-size:24px;line-height:1;width:42px;height:42px;border-radius:13px;background:#e5f2eb;display:grid;place-items:center}
.assignment-source-choice strong{font-size:16px}.assignment-source-choice small{color:#688075;line-height:1.7}.assignment-source-choice em{font-style:normal;font-size:12px;color:#2f765a;font-weight:700}
.assignment-source-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.assignment-source-summary>div{border:1px solid #dce8e2;border-radius:15px;padding:13px;text-align:center;background:#f8fbf9}.assignment-source-summary strong{display:block;font-size:24px;color:#245f48}.assignment-source-summary span{display:block;color:#6e8278;font-size:12px;margin-top:4px}.assignment-source-summary .warn-box{background:#fff8e8;border-color:#eed6a3}
.assignment-source-confirm{display:flex;gap:12px;align-items:center;border:1px solid #dce8e2;padding:13px;border-radius:14px;background:#fbfdfc;cursor:pointer}.assignment-source-confirm input{width:19px;height:19px;accent-color:#2f765a}.assignment-source-confirm span{display:grid;gap:3px}.assignment-source-confirm small{color:#72847b}
@media(max-width:760px){.assignment-source-choices{grid-template-columns:1fr}.assignment-source-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
