/* Mahmoud Student Support Planner PRO V57 — Global UI System */
:root{
 --g-navy:#0b2f49;--g-navy-2:#123e5d;--g-teal:#0b8d83;--g-teal-2:#0faaa0;--g-bg:#f4f7f9;--g-surface:#fff;
 --g-text:#18374d;--g-muted:#758896;--g-border:#dde6eb;--g-soft:#f8fafb;--g-danger:#b42318;
 --g-shadow:0 10px 28px rgba(17,48,69,.055);--g-radius:18px
}
html{background:var(--g-bg);scroll-behavior:smooth}body{background:var(--g-bg)!important;color:var(--g-text)!important;font-family:Inter,"Segoe UI","Noto Sans Arabic",Tahoma,Arial,sans-serif!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
*{scrollbar-width:thin;scrollbar-color:#b9c8d1 transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:#b9c8d1;border:2px solid transparent;background-clip:padding-box;border-radius:10px}
::selection{background:#cdeee9;color:#0c3c46}
.shell{background:var(--g-bg)!important}
.sidebar{width:272px!important;padding:18px 14px 14px!important;background:linear-gradient(180deg,#0a2d47 0%,#0d3955 58%,#092a42 100%)!important;box-shadow:8px 0 30px rgba(9,42,66,.08)!important;border:0!important}
body.lang-en .sidebar{left:0!important;right:auto!important}body.lang-ar .sidebar{right:0!important;left:auto!important}
body.lang-en .main{margin-left:272px!important;margin-right:0!important;width:calc(100% - 272px)!important;direction:ltr!important}body.lang-ar .main{margin-right:272px!important;margin-left:0!important;width:calc(100% - 272px)!important;direction:rtl!important}
.pro-profile{margin:0 0 10px!important;padding:12px!important;border-radius:16px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important}.pro-profile-logo{width:46px!important;height:46px!important;border-radius:13px!important;padding:3px!important}.pro-profile-copy{gap:2px!important}.pro-profile-copy small{font-size:8px!important;letter-spacing:1.35px!important}.pro-profile-copy b{font-size:15px!important;letter-spacing:-.1px}.pro-profile-copy span{font-size:9px!important;color:#c5d6e0!important}.pro-current{padding:4px 7px 11px!important}.pro-current span{font-size:8px!important}.pro-current b{font-size:11px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#nav{gap:3px!important}.nav-group-label{margin:10px 10px 4px!important;font-size:8px!important;letter-spacing:1.35px!important;color:rgba(255,255,255,.39)!important}.sidebar nav button{min-height:37px!important;padding:9px 11px!important;border-radius:10px!important;font-size:10.5px!important;font-weight:700!important;line-height:1.25!important;color:#d7e5ed!important;transition:background .14s ease,transform .14s ease,color .14s ease!important}.sidebar nav button:hover{background:rgba(255,255,255,.065)!important;transform:translateX(1px)}body.lang-ar .sidebar nav button:hover{transform:translateX(-1px)}.sidebar nav button.active{background:linear-gradient(135deg,#0b9b96,#0a7f91)!important;color:#fff!important;box-shadow:0 7px 18px rgba(3,151,150,.22)!important}.owner-admin-entry{width:100%;margin-top:10px!important;padding:9px 11px!important;border-radius:10px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.09)!important;color:#d7e5ed!important;font-size:9.5px!important}.sidefoot{font-size:7.5px!important;line-height:1.5!important;color:rgba(255,255,255,.35)!important;padding:13px 8px 6px!important}
.pro-topbar{min-height:78px!important;padding:14px 24px 10px!important;background:rgba(244,247,249,.92)!important;border-bottom:0!important;backdrop-filter:blur(18px)!important;box-shadow:none!important;gap:12px!important}.pro-topbar-copy{min-width:0}.pro-kicker{font-size:8px!important;letter-spacing:1.25px!important;margin-bottom:5px!important;color:#0d8d82!important}.pro-topbar h1{font-size:25px!important;letter-spacing:-.45px!important;color:#15384f!important}.pro-topbar p{font-size:10.5px!important;margin-top:5px!important;color:#7f8f9b!important}.pro-date{min-width:auto!important;padding:9px 11px!important;border-radius:11px!important;border:1px solid #dce5ea!important;box-shadow:none!important;background:rgba(255,255,255,.85)!important;font-size:9px!important;color:#71838f!important}
.pro-lang-switch{display:flex!important;gap:2px!important;padding:3px!important;background:#eaf0f3!important;border:1px solid #dce5e9!important;border-radius:11px!important}.pro-lang-switch button{min-height:30px!important;padding:6px 10px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#6f818d!important;font-size:9px!important;font-weight:800!important;box-shadow:none!important}.pro-lang-switch button.active{background:#fff!important;color:#143d58!important;box-shadow:0 2px 8px rgba(18,55,78,.07)!important}
.ssp-account-box{margin:0!important}.ssp-account-btn{min-height:38px!important;border-radius:11px!important;border:1px solid #dbe5e9!important;background:#fff!important;box-shadow:none!important}.ssp-account-menu{border:1px solid #dbe5e9!important;border-radius:14px!important;box-shadow:0 18px 45px rgba(16,45,64,.13)!important;overflow:hidden!important}
.content{padding:8px 24px 30px!important;max-width:1580px!important;margin:auto!important}.panel{animation:gPanelIn .16s ease}@keyframes gPanelIn{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}
.title{margin:4px 0 14px!important;padding:0 2px!important;align-items:flex-end!important}.title h1{font-size:23px!important;line-height:1.2!important;letter-spacing:-.35px!important;color:#14384f!important}.title p{font-size:10.5px!important;line-height:1.6!important;color:#81919d!important;max-width:840px}.card,.plancard{border:1px solid var(--g-border)!important;border-radius:var(--g-radius)!important;background:#fff!important;box-shadow:var(--g-shadow)!important}.card{padding:18px!important;margin-bottom:14px!important}.card h2{font-size:15px!important;color:#163b53!important;margin-bottom:12px!important}.plancard{overflow:hidden!important}.planhead{background:linear-gradient(135deg,#0d3955,#0b6e76)!important;padding:13px 15px!important}.planbody{padding:17px!important}
label{font-size:10px!important;font-weight:800!important;color:#3c5668!important;letter-spacing:.01em}input,select,textarea{margin-top:5px!important;border:1px solid #cfdae1!important;border-radius:11px!important;padding:10px 11px!important;background:#fff!important;color:#18374d!important;box-shadow:none!important;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease!important}input,select{min-height:42px}textarea{min-height:96px;line-height:1.6}input:hover,select:hover,textarea:hover{border-color:#b9c9d2!important}input:focus,select:focus,textarea:focus{outline:none!important;border-color:#2a9d96!important;box-shadow:0 0 0 3px rgba(42,157,150,.10)!important;background:#fff!important}input::placeholder,textarea::placeholder{color:#a0adb6!important}
button{transition:transform .12s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease!important}button:not(:disabled):active{transform:translateY(1px)}.primary,.ghost,.danger,.filebtn,.reportbuttons button{min-height:40px!important;border-radius:10px!important;padding:9px 13px!important;font-size:10px!important;font-weight:800!important}.primary{background:linear-gradient(135deg,#113d5a,#0c5d68)!important;border:1px solid #113d5a!important;color:#fff!important;box-shadow:0 6px 15px rgba(17,61,90,.11)!important}.primary:hover{background:linear-gradient(135deg,#0e3550,#0a555f)!important;box-shadow:0 8px 19px rgba(17,61,90,.15)!important}.ghost,.filebtn,.reportbuttons button{background:#fff!important;border:1px solid #d8e2e7!important;color:#23485e!important}.ghost:hover,.filebtn:hover,.reportbuttons button:hover{background:#f8fbfc!important;border-color:#c5d4dc!important}.danger{background:#fff5f4!important;border:1px solid #f0c8c4!important;color:#a93328!important}
.actions,.toolbar,.checks{gap:8px!important}.toolbar{background:#fff;border:1px solid var(--g-border);border-radius:14px;padding:10px}.toolbar input,.toolbar select{margin-top:0!important}.checks label{border:1px solid #dde7eb!important;background:#f8fafb!important;border-radius:10px!important;padding:8px 10px!important}.summary{background:#f8fbfc!important;border:1px solid #dde7eb!important;border-radius:12px!important}.notice{background:#fffaf0!important;border:1px solid #efdfbd!important;border-radius:12px!important;color:#73571d!important}
.studentcard,.goalcard,.worksheetcard,.vbcard,.miniitem{border:1px solid #dfe7eb!important;border-radius:14px!important;background:#fff!important;box-shadow:0 5px 15px rgba(20,55,75,.025)!important}.studentcard:hover,.goalcard:hover,.worksheetcard:hover,.vbcard:hover{border-color:#cddbe2!important}.studentcard h3,.goalcard h3,.worksheetcard h3{color:#153b54!important}.chip{background:#f1f6f7!important;border-color:#dce7ea!important;color:#506e7c!important}.goalrow{border-inline-start:3px solid #159087!important;border-inline-end:0!important;background:#f8fbfb!important;border-radius:10px!important}
.scroll{border-radius:14px;border:1px solid #e0e7eb;background:#fff}table{font-size:9.5px!important;background:#fff}th,td{border-color:#e2e9ed!important;padding:8px!important}th{background:#f4f7f8!important;color:#33556a!important;font-weight:800!important;position:sticky;top:0;z-index:1}
.paper,.worksheetpaper{border:1px solid #d7e0e5!important;border-radius:14px!important;box-shadow:0 7px 24px rgba(20,55,75,.04)!important}
.toast{border-radius:12px!important;background:#12384f!important;box-shadow:0 14px 34px rgba(12,45,65,.18)!important;font-size:10px!important}
body.lang-ar .pro-topbar,body.lang-ar .title,body.lang-ar .card,body.lang-ar .toolbar,body.lang-ar .v57-dashboard{text-align:right!important}body.lang-en .pro-topbar,body.lang-en .title,body.lang-en .card,body.lang-en .toolbar,body.lang-en .v57-dashboard{text-align:left!important}
@media(max-width:1100px){.sidebar{width:248px!important}body.lang-en .main{margin-left:248px!important;width:calc(100% - 248px)!important}body.lang-ar .main{margin-right:248px!important;width:calc(100% - 248px)!important}.content{padding-inline:18px!important}.pro-topbar{padding-inline:18px!important}}
@media(max-width:780px){.sidebar{width:min(88vw,304px)!important}.main,body.lang-en .main,body.lang-ar .main{margin:0!important;width:100%!important}.sidebar{transform:translateX(-105%)!important}.sidebar.open{transform:none!important}body.lang-ar .sidebar{transform:translateX(105%)!important}body.lang-ar .sidebar.open{transform:none!important}.pro-topbar{min-height:68px!important;padding:10px 12px!important;flex-wrap:wrap!important}.pro-topbar h1{font-size:20px!important}.pro-topbar p{display:none}.pro-date{display:none!important}.content{padding:8px 12px 24px!important}.title{align-items:flex-start!important}.card{padding:14px!important}.formgrid{gap:10px!important}}
@media print{body{background:#fff!important}.card,.plancard,.paper,.worksheetpaper{box-shadow:none!important}}

/* ============================================================
   V58 — DESKTOP LAYOUT RECOVERY + WORLD-CLASS POLISH
   Removes the legacy app zoom that could shrink the whole shell
   and leave a large blank strip beside the fixed sidebar.
   ============================================================ */
html,body{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important}
body.ssp-authenticated .shell{
  zoom:1!important;transform:none!important;transform-origin:initial!important;
  width:100%!important;max-width:100%!important;min-width:0!important
}
.v38-sidebar-menu-wrap,.v38-x-scroll{display:none!important}

/* Stable desktop frame */
.sidebar{width:260px!important;padding:16px 12px 14px!important}
body.lang-ar .sidebar{right:0!important;left:auto!important}
body.lang-en .sidebar{left:0!important;right:auto!important}
body.lang-ar .main{margin-right:260px!important;margin-left:0!important;width:calc(100% - 260px)!important;max-width:calc(100% - 260px)!important;min-width:0!important}
body.lang-en .main{margin-left:260px!important;margin-right:0!important;width:calc(100% - 260px)!important;max-width:calc(100% - 260px)!important;min-width:0!important}
.main,.content,.panel,.v47-root,.v57-dashboard,.v57-main-grid,.v57-panel{min-width:0!important}
.content{width:100%!important;max-width:1680px!important;padding:14px 24px 32px!important}

/* Sidebar: readable, calm, enterprise-style */
.pro-profile{padding:11px!important;margin-bottom:9px!important}
.pro-profile-logo{width:44px!important;height:44px!important}
.pro-profile-copy small{font-size:8.5px!important}.pro-profile-copy b{font-size:14px!important}.pro-profile-copy span{font-size:9.5px!important}
.pro-current{padding:5px 8px 10px!important}.pro-current span{font-size:9px!important}.pro-current b{font-size:11.5px!important}
.nav-group-label{margin:13px 10px 5px!important;font-size:9px!important;letter-spacing:1.05px!important}
.sidebar nav button{min-height:41px!important;padding:9px 11px!important;font-size:12px!important;line-height:1.3!important;border-radius:10px!important}
.owner-admin-entry{min-height:39px!important;font-size:10.5px!important}.sidefoot{font-size:8px!important}

/* Compact utility header; no dead white band */
.pro-topbar{min-height:62px!important;height:62px!important;padding:9px 24px!important;align-items:center!important;background:rgba(244,247,249,.96)!important;border-bottom:1px solid #e4ebef!important}
body.lang-ar .pro-topbar{direction:rtl!important}body.lang-en .pro-topbar{direction:ltr!important}
body.v57-dashboard-open .pro-topbar{min-height:62px!important;height:62px!important;padding:9px 24px!important;justify-content:flex-start!important;gap:8px!important}
body.v57-dashboard-open .pro-topbar-copy{display:none!important}
body.v57-dashboard-open .pro-date{display:none!important}
body.v57-dashboard-open .pro-topbar:before{display:block;font-weight:900;font-size:12.5px;color:#173e56;letter-spacing:.01em;white-space:nowrap;margin-inline-end:auto}
body.lang-ar.v57-dashboard-open .pro-topbar:before{content:'مساحة عمل دعم الطلاب'}
body.lang-en.v57-dashboard-open .pro-topbar:before{content:'Student Support Workspace'}
.pro-lang-switch{margin:0!important}.pro-lang-switch button{font-size:10.5px!important;min-height:34px!important;padding:7px 11px!important}
.ssp-account-btn{min-height:42px!important;padding:5px 8px!important}.ssp-account-copy b{font-size:10.5px!important}.ssp-account-copy small{font-size:8px!important}

/* Dashboard hierarchy */
#dashboard.v47-dashboard-panel{width:100%!important;max-width:none!important;margin:0!important;padding:0 0 30px!important}
body.v57-dashboard-open .content{padding-top:16px!important}
.v57-dashboard{gap:15px!important;width:100%!important}
.v57-dash-head{padding:0 1px 2px!important;align-items:center!important;gap:20px!important}
.v57-dash-title>span{font-size:9.5px!important;letter-spacing:1.3px!important;margin-bottom:5px!important}
.v57-dash-title h1{font-size:30px!important;line-height:1.15!important;letter-spacing:-.5px!important}
.v57-dash-title p{font-size:12px!important;line-height:1.65!important;max-width:760px!important}
.v57-head-actions button{min-height:42px!important;font-size:11px!important;padding-inline:15px!important}

.v57-current{grid-template-columns:minmax(250px,1fr) minmax(220px,330px) auto!important;gap:14px!important;padding:15px 17px!important;border-radius:18px!important}
.v57-avatar.large{width:46px!important;height:46px!important;flex-basis:46px!important}.v57-current-copy small{font-size:10.5px!important}.v57-current-copy b{font-size:16px!important}.v57-current-copy span{font-size:10.5px!important}
.v57-current-control select{height:43px!important;font-size:11.5px!important}.v57-current-actions button{min-height:40px!important;font-size:10.5px!important}

.v57-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;width:100%!important}
.v57-stat{padding:14px!important;gap:11px!important;border-radius:16px!important;min-width:0!important}
.v57-stat-icon{width:40px!important;height:40px!important;flex-basis:40px!important}.v57-stat small{font-size:10px!important}.v57-stat b{font-size:25px!important}.v57-stat em{font-size:8.5px!important}

.v57-main-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.78fr)!important;gap:15px!important;width:100%!important}
.v57-panel{border-radius:18px!important}.v57-panel-head{padding:14px 15px!important}.v57-panel-title h2{font-size:14px!important}.v57-panel-head p{font-size:10px!important}
.v57-search-wrap{width:min(360px,48%)!important}.v57-search{height:40px!important;font-size:11px!important}
.v57-empty{padding:38px 20px!important;font-size:11.5px!important}.v57-empty b{font-size:13.5px!important}
.v57-row{grid-template-columns:minmax(220px,1.25fr) minmax(170px,.9fr) auto!important;padding:12px 15px!important;gap:10px!important}
.v57-person-copy b{font-size:12px!important}.v57-person-copy small{font-size:9.5px!important}.v57-row-meta>span{font-size:9px!important}.v57-row-actions button{font-size:9.5px!important}
.v57-quick-item{padding:11px 14px!important}.v57-quick-item b{font-size:11px!important}.v57-secure{font-size:9px!important}

@media(max-width:1280px){
  .v57-main-grid{grid-template-columns:1fr!important}
  .v57-quick-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v57-quick-item:nth-last-child(2){border-bottom:0}
}
@media(max-width:1100px){
  .sidebar{width:244px!important}
  body.lang-ar .main{margin-right:244px!important;width:calc(100% - 244px)!important;max-width:calc(100% - 244px)!important}
  body.lang-en .main{margin-left:244px!important;width:calc(100% - 244px)!important;max-width:calc(100% - 244px)!important}
  .v57-current{grid-template-columns:1fr minmax(220px,300px)!important}.v57-current-actions{grid-column:1/-1!important;justify-content:flex-end!important}
  .v57-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:780px){
  .sidebar{width:min(88vw,304px)!important}
  body.lang-ar .main,body.lang-en .main,.main{margin:0!important;width:100%!important;max-width:100%!important}
  .pro-topbar{height:auto!important;min-height:58px!important;padding:8px 12px!important}
  body.v57-dashboard-open .pro-topbar{height:58px!important;min-height:58px!important;padding:7px 12px!important}
  body.v57-dashboard-open .pro-topbar:before{font-size:11.5px!important}
  .content{padding:10px 12px 24px!important}
  .v57-dash-head{align-items:flex-start!important}.v57-dash-title h1{font-size:25px!important}.v57-dash-title p{font-size:11px!important}
  .v57-current{grid-template-columns:1fr!important}.v57-current-actions{grid-column:auto!important}
  .v57-main-grid{grid-template-columns:1fr!important}.v57-quick-list{grid-template-columns:1fr!important}
  .v57-quick-item:nth-last-child(2){border-bottom:1px solid #edf1f3}
  .v57-stats{grid-template-columns:1fr 1fr!important}
}
@media(max-width:500px){.v57-stats{grid-template-columns:1fr 1fr!important}.v57-stat{padding:11px!important}.v57-stat-icon{width:36px!important;height:36px!important;flex-basis:36px!important}.v57-stat b{font-size:22px!important}}
