/* ===== inline-0 ===== */

:root{
  --bg:#f4f7f8;--panel:#fff;--panel2:#f8fbfb;--text:#173438;--muted:#71868a;--line:#dce7e8;
  --primary:#177c72;--primary-strong:#0f5f58;--primary-soft:#e8f5f2;--accent:#d2a84a;
  --danger:#b42318;--warn:#9a6700;--success:#067647;--sidebar:#113d42;--shadow:0 14px 38px rgba(18,57,62,.08);
  --radius:18px;--font-scale:1;--space:1;
}
*{box-sizing:border-box}html{font-family:"IBM Plex Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text)}body{margin:0;background:var(--bg);font-size:calc(16px * var(--font-scale));overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--primary)}.hidden{display:none!important}.toast{position:fixed;left:24px;bottom:24px;z-index:999;background:#163a3e;color:#fff;border-radius:14px;padding:12px 18px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:none}

/* login */
.login-view{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);background:#edf4f4}.login-art{position:relative;overflow:hidden;background:linear-gradient(140deg,#0d3c42,#0f6a63 60%,#159080);display:flex;align-items:flex-end;padding:clamp(40px,7vw,100px);color:#fff}.login-art:before,.login-art:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}.login-art:before{width:520px;height:520px;top:-260px;left:-130px}.login-art:after{width:320px;height:320px;bottom:-130px;right:12%}.login-art__content{position:relative;max-width:720px}.eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:800}.login-art h1{font-size:clamp(44px,6vw,78px);line-height:1.08;margin:24px 0 18px}.login-art h1 em{font-style:normal;color:#a8ebe2}.login-art p{font-size:clamp(17px,1.4vw,22px);line-height:1.9;color:rgba(255,255,255,.78)}.login-benefits{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.login-benefits span{padding:9px 13px;border-radius:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16)}.login-card{align-self:center;justify-self:center;width:min(480px,calc(100% - 40px));padding:36px;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 30px 80px rgba(20,50,55,.12);display:grid;gap:18px}.brand{display:flex;align-items:center;gap:12px}.brand>div{display:grid}.brand strong{font-size:24px}.brand small{color:var(--muted)}.brand-mark{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,var(--primary),var(--primary-strong));color:#fff;font-size:23px;font-weight:900}.login-heading h2{margin:4px 0}.login-heading p{margin:0;color:var(--muted)}label{display:grid;gap:7px;font-weight:700;font-size:14px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--text);padding:12px 14px;outline:none;min-height:46px}textarea{resize:vertical;min-height:100px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.form-error{min-height:18px;color:var(--danger);margin:0}.demo-accounts{border:1px solid var(--line);border-radius:14px;padding:10px 12px;color:var(--muted)}.demo-accounts summary{font-weight:800;color:var(--text);cursor:pointer}.demo-accounts div{display:grid;gap:6px;margin-top:10px}.demo-account{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:7px 8px;background:var(--panel2);border-radius:9px}

/* buttons */
.btn,.icon-btn{border:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.18s}.btn{padding:10px 14px;font-weight:800}.btn.primary{background:var(--primary);color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 22%,transparent)}.btn.primary:hover{background:var(--primary-strong);transform:translateY(-1px)}.btn.quiet{background:var(--panel);color:var(--text);border:1px solid var(--line)}.btn.danger{background:#fff0ee;color:var(--danger);border:1px solid #ffd1cb}.btn.small{padding:8px 11px;font-size:13px}.btn.wide{width:100%}.icon-btn{width:42px;height:42px;background:var(--panel);border:1px solid var(--line);color:var(--text);font-size:20px}.icon-btn:hover{border-color:var(--primary)}

/* layout */
.app{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--sidebar),color-mix(in srgb,var(--sidebar) 78%,#000));color:#fff;padding:20px 14px;display:flex;flex-direction:column;z-index:50}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:3px 8px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand>div{display:grid}.sidebar-brand strong{font-size:22px}.sidebar-brand small{opacity:.62}.main-nav{display:grid;gap:5px;padding:14px 0;overflow-y:auto;min-height:0}.nav-btn{border:0;background:transparent;color:rgba(255,255,255,.75);border-radius:12px;padding:11px 12px;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;text-align:right;font-weight:700;min-height:46px}.nav-btn .nav-icon{width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center}.nav-btn:hover,.nav-btn.active{color:#fff;background:rgba(255,255,255,.11)}.nav-btn.active{box-shadow:inset -3px 0 0 var(--accent)}.nav-count{min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900;line-height:1;box-shadow:0 5px 14px rgba(239,68,68,.36);border:2px solid rgba(255,255,255,.92)}.sidebar-bottom{margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.logout-btn{width:100%;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.14);color:#fff;border-radius:13px;padding:12px;font-weight:800}.main{min-width:0}.topbar{position:sticky;top:0;z-index:40;min-height:82px;padding:14px clamp(16px,3vw,36px);display:flex;align-items:center;gap:15px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.menu-btn{display:none}.topbar-title{min-width:0}.topbar-title h1{margin:0;font-size:25px;line-height:1.35}.topbar-title p{margin:3px 0 0;color:var(--muted);font-size:14px}.section-badge{display:inline-flex;padding:7px 12px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-weight:800;font-size:13px;white-space:nowrap}.mode-switcher{margin-inline-start:auto;display:flex;align-items:center;gap:5px;background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line));padding:5px;border-radius:14px}.mode-switcher span{padding:0 7px;color:var(--muted);font-size:12px}.mode-switcher button{border:0;background:transparent;color:var(--muted);padding:8px 12px;border-radius:10px;font-weight:800}.mode-switcher button.active{background:var(--primary);color:#fff}.top-actions{margin-inline-start:auto;display:flex;align-items:center;gap:8px}.notification-btn{position:relative}.count{position:absolute;top:-7px;right:-7px;background:#ef4444;color:#fff;border-radius:999px;min-width:22px;height:22px;font-size:11px;display:grid;place-items:center}.page{display:none;padding:24px clamp(14px,3vw,34px) 40px}.page.active{display:block}

/* shared components */
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.page-head h2{margin:0;font-size:27px}.page-head p{margin:5px 0 0;color:var(--muted);line-height:1.7}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.hero{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(135deg,var(--primary-strong),var(--primary));color:#fff;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08);left:-80px;top:-120px}.hero h2{position:relative;margin:7px 0;font-size:34px}.hero p{position:relative;color:rgba(255,255,255,.76);margin:0}.hero .eyebrow{position:relative}.hero-actions{position:relative;display:flex;gap:9px;flex-wrap:wrap}.hero .btn.quiet{background:#fff;color:var(--primary-strong);border:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(20,60,64,.045)}.stat small{color:var(--muted)}.stat strong{display:block;font-size:28px;margin-top:7px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.panel-head h3{margin:0}.empty{border:1px dashed color-mix(in srgb,var(--primary) 25%,var(--line));background:var(--panel2);border-radius:15px;padding:34px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--text);margin-bottom:5px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;background:var(--primary-soft);color:var(--primary-strong);font-size:12px;font-weight:800}.badge.warn{background:#fff3d6;color:var(--warn)}.badge.danger{background:#fff0ee;color:var(--danger)}.badge.success{background:#e8f7ef;color:var(--success)}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:8px 12px;color:var(--muted)}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.toolbar{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,190px) auto;gap:10px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:16px;margin-bottom:16px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:17px;box-shadow:0 8px 25px rgba(20,60,64,.04);min-width:0}.card h3,.card h4{margin:8px 0}.card p{color:var(--muted);line-height:1.75}.card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:14px}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.progress{height:7px;border-radius:999px;background:#e9f0f0;overflow:hidden}.progress i{height:100%;display:block;background:var(--primary);border-radius:inherit}.table-shell{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:auto;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:780px}th,td{padding:14px 15px;text-align:right;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);background:var(--panel2);font-size:13px;white-space:nowrap}tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 50%,transparent)}

/* dashboard */
.focus{background:linear-gradient(135deg,var(--primary-strong),var(--primary));color:#fff;border-radius:24px;padding:28px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;margin-bottom:18px;box-shadow:var(--shadow)}.focus h2{font-size:34px;margin:8px 0}.focus p{margin:0;color:rgba(255,255,255,.75)}.focus-actions{display:flex;gap:8px}.focus-actions .btn{background:#fff;color:var(--primary-strong)}.task-row,.update-row,.notification-item{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.task-row:last-child,.update-row:last-child,.notification-item:last-child{border-bottom:0}.task-row p,.update-row p{margin:4px 0 0;color:var(--muted);font-size:13px}.pressure{display:grid;gap:11px}.pressure-row{display:grid;grid-template-columns:90px 1fr 26px;align-items:center;gap:10px}.course-mini{padding:13px;border:1px solid var(--line);border-radius:13px;margin-bottom:9px}.course-mini h4{margin:4px 0}.course-mini p{margin:0;color:var(--muted);font-size:13px}

/* calendar */
.calendar-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.calendar-toolbar h3{margin:0}.calendar-filter{display:flex;gap:8px;flex-wrap:wrap}.calendar-wrap{overflow:auto}.calendar{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:7px;min-width:960px}.cal-head{text-align:center;color:var(--muted);font-weight:800;padding:8px}.cal-day{min-height:132px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px}.cal-day.other{opacity:.45}.cal-day.today{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}.cal-date{font-weight:900;margin-bottom:7px}.cal-event{display:block;width:100%;border:0;border-radius:8px;padding:6px 7px;margin-bottom:5px;text-align:right;font-size:11px;line-height:1.4;background:var(--primary-soft);color:var(--primary-strong)}.cal-event.task{background:#fff3d6;color:#855d00}.cal-event.meeting{background:#e9efff;color:#3347a8}.cal-event.personal{background:#edf8f4;color:#176b5d;border-inline-start:3px solid #2f8f7d}.agenda{display:grid;gap:8px}.agenda-item{display:grid;grid-template-columns:72px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px}.agenda-date{font-weight:900;color:var(--primary)}

/* personal */
.personal-overview{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:20px;margin-bottom:14px}.personal-overview h2{margin:0}.personal-kpis{display:flex;gap:8px;flex-wrap:wrap}.personal-kpis span{padding:10px 13px;border-radius:12px;background:var(--primary-soft)}.personal-table .complete td{text-decoration:none;opacity:.65}.item-title{display:flex;gap:10px;align-items:flex-start}.item-check{width:20px;height:20px;accent-color:var(--primary)}
.personal-table tr.pinned-item td{background:color-mix(in srgb,var(--primary-soft) 58%,var(--panel))}.personal-table tr.pinned-item td:first-child{box-shadow:inset -4px 0 0 var(--primary)}.personal-title-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.personal-pin-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;background:#fff4d6;color:#7b5700;border:1px solid #efd89a;font-size:11px;font-weight:800;white-space:nowrap}.pin-action.active{background:#fff4d6;border-color:#dfbd63;color:#725000}.pin-action .pin-icon{font-size:14px;line-height:1}.personal-pin-note{display:grid;gap:3px}.personal-pin-note small{color:var(--muted);font-weight:500}

/* journey */
.journey-progress{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:20px;margin-bottom:16px}.journey-line{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative}.journey-stage-tab{border:1px solid var(--line);background:var(--panel2);border-radius:14px;padding:13px;text-align:center}.journey-stage-tab strong{display:block}.milestone{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:13px;margin-bottom:8px}.milestone input{width:20px;min-height:auto}.milestone>div{flex:1}.milestone h4{margin:0}.milestone p{margin:3px 0 0;color:var(--muted);font-size:13px}

/* community */
.community-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px}.community-feed{display:grid;gap:13px}.post{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px}.post-head{display:flex;gap:11px;align-items:center}.avatar{width:42px;height:42px;border-radius:14px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:900}.post-head>div:nth-child(2){flex:1}.post-head h4{margin:0}.post-head small{color:var(--muted)}.post h3{margin:16px 0 8px}.post p{line-height:1.8;color:var(--muted)}.post-actions{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}.comments{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.comment{padding:9px 11px;border-radius:11px;background:var(--panel2);margin-bottom:7px}.comment strong{font-size:13px}.comment p{margin:3px 0;color:var(--text);font-size:14px}.reply-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:8px}.reply-form input{min-height:42px}.community-side{display:grid;align-content:start;gap:12px}.visibility-help{display:grid;gap:8px}.visibility-help div{padding:10px;border-radius:11px;background:var(--panel2)}

/* assistant */
.assistant-hero{background:linear-gradient(135deg,#18356d,#2d69d8);color:#fff;border-radius:25px;padding:30px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;margin-bottom:17px}.assistant-hero h2{font-size:34px;margin:8px 0}.assistant-hero p{color:rgba(255,255,255,.78)}.assistant-kpis{display:grid;grid-template-columns:repeat(3,120px);gap:9px}.assistant-kpis div{padding:15px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);border-radius:15px;text-align:center}.assistant-kpis strong{display:block;font-size:25px}.assistant-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.assistant-action{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:18px;text-align:right}.assistant-action span{font-size:26px}.assistant-action h3{margin:8px 0 4px}.assistant-action p{margin:0;color:var(--muted);line-height:1.6}.assistant-result{margin-top:14px}

/* admin */
.admin-tabs{display:flex;gap:7px;margin-bottom:14px;flex-wrap:wrap}.admin-section{display:none}.admin-section.active{display:block}.theme-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.theme-preset{border:2px solid var(--line);border-radius:14px;padding:12px;background:var(--panel);text-align:right}.theme-preset.active{border-color:var(--primary)}.swatches{display:flex;gap:4px;margin-bottom:8px}.swatches i{height:24px;flex:1;border-radius:7px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}

/* drawer & modal */
.drawer{position:fixed;top:0;left:0;width:min(440px,100%);height:100vh;background:var(--panel);border-right:1px solid var(--line);z-index:110;padding:20px;box-shadow:20px 0 60px rgba(0,0,0,.15);overflow:auto}.drawer>header{display:flex;justify-content:space-between;gap:12px}.drawer h3{margin:0}.drawer header p{margin:4px 0;color:var(--muted)}.segmented{display:flex;gap:6px;padding:6px;background:var(--panel2);border-radius:13px;margin:16px 0}.segmented button{flex:1;border:0;background:transparent;padding:8px;border-radius:9px}.segmented button.active{background:var(--primary);color:#fff}.notification-item.unread{background:var(--primary-soft);margin-inline:-8px;padding-inline:8px;border-radius:10px}.notification-item button{align-self:center}.modal{width:min(720px,calc(100% - 24px));max-height:90vh;border:0;border-radius:22px;padding:0;background:var(--panel);color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.22)}.modal::backdrop{background:rgba(7,20,22,.45);backdrop-filter:blur(3px)}.modal form>header,.modal form>footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}.modal form>header h3{margin:0}.modal form>header p{margin:3px 0 0;color:var(--muted)}.modal form>footer{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-start}.modal-body{padding:20px;display:grid;gap:13px;max-height:65vh;overflow:auto}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.span-2{grid-column:1/-1}.check-row{display:flex;gap:8px;align-items:center}.check-row input{width:auto;min-height:auto}

/* themes */
body[data-section="gen-f"]{--primary:#9b3f76;--primary-strong:#6f2853;--primary-soft:#f8eaf2;--accent:#d7a85a;--sidebar:#54243f}
body[data-section="high-m"]{--primary:#2865c7;--primary-strong:#1b3e79;--primary-soft:#eaf1ff;--accent:#41b6ae;--sidebar:#172f5b}
body[data-section="high-f"]{--primary:#9d3553;--primary-strong:#6d2339;--primary-soft:#faeaf0;--accent:#d7a85a;--sidebar:#522032}
body[data-mode="dark"]{--bg:#0b171b;--panel:#13262b;--panel2:#172e34;--text:#edf7f5;--muted:#a1b6b8;--line:#2d474d;--primary-soft:color-mix(in srgb,var(--primary) 20%,var(--panel));--shadow:0 16px 42px rgba(0,0,0,.22)}
body[data-density="compact"]{--space:.82}body[data-density="wide"]{--space:1.15}.panel,.card,.stat{padding:calc(18px * var(--space))}

/* responsive */
.sidebar-backdrop{display:none}@media(max-width:1180px){.app{grid-template-columns:1fr}.sidebar{position:fixed;right:0;transform:translateX(110%);width:min(300px,87vw);transition:.22s;box-shadow:-22px 0 50px rgba(0,0,0,.22)}.sidebar.open{transform:none}.sidebar-backdrop.show{display:block;position:fixed;inset:0;background:rgba(4,14,17,.45);z-index:45}.menu-btn{display:grid}.topbar{flex-wrap:wrap}.top-actions{margin-inline-start:0}.mode-switcher{margin-inline-start:auto}.community-layout{grid-template-columns:1fr}.community-side{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.login-view{display:flex;align-items:center;justify-content:center;padding:22px}.login-art{display:none}.login-card{width:min(520px,100%)}.page{padding:16px 12px 30px}.topbar{padding:11px 12px}.topbar-title h1{font-size:20px}.topbar-title p,.section-badge{display:none}.reset-btn{display:none}.stats,.calendar-summary{grid-template-columns:repeat(2,1fr)}.grid.two,.grid.three{grid-template-columns:1fr}.hero,.focus,.assistant-hero{grid-template-columns:1fr;padding:20px}.hero h2,.focus h2,.assistant-hero h2{font-size:26px}.toolbar{grid-template-columns:1fr}.assistant-actions{grid-template-columns:1fr}.assistant-kpis{grid-template-columns:repeat(3,1fr)}.settings-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.theme-presets{grid-template-columns:repeat(2,1fr)}.community-side{grid-template-columns:1fr}.journey-line{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.login-card{padding:24px 18px}.topbar-title{flex:1}.mode-switcher{order:4;width:100%;justify-content:center}.top-actions{margin-inline-start:auto}.stats,.calendar-summary{grid-template-columns:1fr}.personal-overview{align-items:flex-start;flex-direction:column}.page-head{flex-direction:column}.page-actions{width:100%}.page-actions .btn{flex:1}.assistant-kpis{grid-template-columns:1fr}.reply-form{grid-template-columns:1fr}.theme-presets{grid-template-columns:1fr}}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,.75fr);gap:16px}.calendar-layout .calendar{min-width:700px}.calendar-layout .cal-day{min-height:112px}@media(max-width:980px){.calendar-layout{grid-template-columns:1fr}.calendar-layout .calendar{min-width:840px}}

/* refinements: assistant, courses, journey, calendar */
.assistant-hero{background:linear-gradient(135deg,var(--primary-strong),var(--primary));color:#fff}
.assistant-hero .eyebrow{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:#fff}
.assistant-action:hover{border-color:var(--primary);background:var(--primary-soft)}
.calendar-full{padding:18px}.calendar-full .calendar{min-width:900px}.calendar-layout{display:block}
.course-card-rich{display:grid;gap:12px}.course-plan-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px}.course-plan-summary>div{padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);display:grid;gap:2px}.course-plan-summary strong{font-size:20px;color:var(--primary)}.course-plan-summary span{font-size:12px;color:var(--muted)}
.weekly-plan-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}.weekly-plan-head>div{display:grid;gap:3px}.weekly-plan-head small{color:var(--muted)}.weekly-plan{display:grid;gap:9px}.week-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.week-number{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-weight:900}.week-row h4{margin:0 0 4px}.week-row p{margin:0;color:var(--muted);font-size:13px}.week-actions{display:flex;gap:7px;flex-wrap:wrap}.muted{color:var(--muted)}
.milestone{justify-content:space-between}.milestone-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.milestone-main input{width:20px;min-height:auto}.milestone.done{background:#eef0f1;border-color:#d8dcde;color:#777;box-shadow:none}.milestone.done h4{text-decoration:line-through;color:#777}.milestone.done p{color:#999}.milestone.done .btn.quiet{background:#e2e5e6;color:#666}.milestone.done .btn.danger{opacity:.75}
body[data-mode="dark"] .milestone.done{background:#263135;border-color:#3d494d;color:#9ca7aa}body[data-mode="dark"] .milestone.done h4{color:#9ca7aa}
@media(max-width:700px){.course-plan-summary{grid-template-columns:1fr}.week-row{grid-template-columns:40px 1fr}.week-actions{grid-column:2}.weekly-plan-head{align-items:flex-start;flex-direction:column}.milestone{align-items:flex-start;flex-direction:column}.milestone .row-actions{width:100%;justify-content:flex-end}}

/* v3 — course-wide tasks, individual progress, and weekly presenters */
.form-note{margin:0;padding:11px 13px;border-radius:12px;background:var(--soft);color:var(--muted);font-size:13px;line-height:1.7;border:1px solid var(--line)}
.task-readonly{box-shadow:none!important;margin-bottom:14px}.task-readonly p{margin-bottom:0}
.inline-progress{display:grid;grid-template-columns:minmax(100px,1fr) 44px;align-items:center;gap:10px}.inline-progress .progress{margin:0}.compact-table table{min-width:620px}.compact-table td,.compact-table th{padding:12px 13px}
.week-presenter{margin:5px 0 0!important;color:var(--primary)!important}.week-presenter b{color:var(--text)}
.week-row{grid-template-columns:48px minmax(0,1fr) minmax(150px,auto)}
.week-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
@media(max-width:760px){.week-row{grid-template-columns:42px 1fr}.week-actions{grid-column:1/-1;justify-content:flex-start;padding-inline-start:50px}.inline-progress{grid-template-columns:1fr 40px}}

/* v3.1 — clearer hierarchy in the assistant weekly plan */
.assistant-plan-row{align-items:center}
.assistant-plan-date{display:block;color:var(--muted);font-size:12px;font-weight:600;line-height:1.4;margin-bottom:5px}
.assistant-plan-tasks{margin:0!important;color:var(--text)!important;font-size:16px!important;font-weight:800;line-height:1.7}
@media(max-width:600px){.assistant-plan-date{font-size:11px}.assistant-plan-tasks{font-size:15px!important}}

/* v3.2 — خطط أسبوعية بلا افتراضات مسبقة */
.week-row-empty{background:color-mix(in srgb,var(--panel2) 72%,var(--panel));border-style:dashed}
.week-row-empty h4{color:var(--muted);font-weight:750}

/* v3.3 — semester course selection */
.term-current-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;margin-bottom:18px}.term-current-banner span{color:var(--muted)}.term-current-banner strong{font-size:1.05rem}.term-current-banner small{margin-inline-start:auto;color:var(--primary);font-weight:800}
.term-enrollment-intro{background:color-mix(in srgb,var(--primary) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line));border-radius:16px;padding:15px 17px;margin-bottom:14px}.term-enrollment-intro strong{font-size:1.08rem}.term-enrollment-intro p{margin:6px 0 0;color:var(--muted);line-height:1.8}
.term-course-groups{display:grid;gap:14px}.term-level{border:1px solid var(--line);border-radius:17px;overflow:hidden;background:var(--surface)}.term-level>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;background:var(--surface-soft);border-bottom:1px solid var(--line)}.term-level>header>div{display:flex;align-items:center;gap:10px}.term-level header small{color:var(--muted)}.level-number{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--primary);color:#fff;font-weight:900}.term-course-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px}.term-course-option{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:13px;cursor:pointer;transition:.18s;background:var(--surface)}.term-course-option:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.term-course-option:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,var(--surface));box-shadow:inset 0 0 0 1px var(--primary)}.term-course-option input{margin-top:4px;accent-color:var(--primary)}.term-course-option span{display:grid;gap:4px}.term-course-option b{line-height:1.5}.term-course-option small{color:var(--muted)}.no-courses{margin-top:14px;padding:12px 14px;background:var(--surface-soft);border-radius:13px}
@media(max-width:700px){.term-course-list{grid-template-columns:1fr}.term-current-banner small{margin-inline-start:0;width:100%}}

/* v3.4 — academic calendar poster import, doctoral-only redesign, and reminders */
.notification-item{width:100%;border:0;background:transparent;color:var(--text);text-align:right;align-items:flex-start;cursor:pointer}.notification-item>span:last-child{display:grid;gap:4px;flex:1}.notification-item small,.notification-item time{color:var(--muted);font-size:12px}.notification-type{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--panel2);color:var(--primary);font-weight:900;flex:0 0 34px}.notification-type.academic{background:var(--primary-soft)}
.academic-theme-switch{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:15px;background:var(--panel)}.academic-theme-switch>span{color:var(--muted);font-size:13px;font-weight:700}.academic-import-status{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px;margin-bottom:14px;border-radius:15px;border:1px solid var(--line);background:var(--panel)}.academic-import-status p{margin:4px 0 0;color:var(--muted);font-size:13px}.academic-import-status.processing{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));background:var(--primary-soft)}.academic-import-status.draft{border-color:#e6bf73;background:#fff8e8}
.academic-calendar-poster{--cal-primary:var(--primary);--cal-strong:var(--primary-strong);--cal-soft:var(--primary-soft);position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--cal-primary) 22%,var(--line));border-radius:28px;background:linear-gradient(180deg,color-mix(in srgb,var(--cal-soft) 55%,var(--panel)),var(--panel) 34%);box-shadow:var(--shadow);padding:clamp(18px,3vw,34px);margin-bottom:18px}.academic-calendar-poster.theme-gen-m{--cal-primary:#177c72;--cal-strong:#0f5f58;--cal-soft:#e8f5f2}.academic-calendar-poster.theme-gen-f{--cal-primary:#9b3f76;--cal-strong:#6f2853;--cal-soft:#f8eaf2}.academic-calendar-poster.theme-high-m{--cal-primary:#2865c7;--cal-strong:#1b3e79;--cal-soft:#eaf1ff}.academic-calendar-poster.theme-high-f{--cal-primary:#9d3553;--cal-strong:#6d2339;--cal-soft:#faeaf0}.academic-poster-orb{position:absolute;border-radius:50%;pointer-events:none;background:color-mix(in srgb,var(--cal-primary) 9%,transparent)}.academic-poster-orb.one{width:360px;height:360px;top:-180px;left:-100px}.academic-poster-orb.two{width:240px;height:240px;right:-110px;bottom:-100px}.academic-poster-hero{position:relative;text-align:center;padding:18px 14px 24px}.academic-poster-kicker{display:inline-flex;padding:7px 12px;border-radius:999px;background:color-mix(in srgb,var(--cal-primary) 9%,var(--panel));color:var(--cal-strong);font-weight:850;font-size:13px;border:1px solid color-mix(in srgb,var(--cal-primary) 20%,var(--line))}.academic-poster-hero h2{font-size:clamp(29px,4vw,48px);margin:16px 0 7px;color:var(--cal-strong)}.academic-poster-hero p{margin:0;color:var(--muted);font-size:18px}.academic-poster-meta{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:16px}.academic-poster-meta span{padding:7px 10px;border-radius:10px;background:var(--panel);border:1px solid var(--line);color:var(--muted);font-size:12px}.academic-poster-section{position:relative;margin-top:18px;border:1px solid color-mix(in srgb,var(--cal-primary) 18%,var(--line));border-radius:20px;background:color-mix(in srgb,var(--panel) 94%,var(--cal-soft));padding:18px}.academic-poster-section>header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:-2px 0 15px}.academic-poster-section>header span{height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--cal-primary) 35%,var(--line)),transparent)}.academic-poster-section h3{margin:0;padding:8px 15px;border-radius:12px;background:linear-gradient(135deg,var(--cal-strong),var(--cal-primary));color:#fff;font-size:18px;white-space:nowrap}.academic-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.academic-date-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 34px;gap:11px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--panel);min-width:0}.academic-date-card.active{border-color:color-mix(in srgb,var(--cal-primary) 50%,var(--line));box-shadow:inset 3px 0 0 var(--cal-primary)}.academic-date-card.past{opacity:.63}.academic-date-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--cal-soft);color:var(--cal-strong);font-weight:900;font-size:20px}.academic-date-content{min-width:0}.academic-date-category{color:var(--cal-primary);font-size:11px;font-weight:900}.academic-date-card h4{margin:4px 0 5px;font-size:15px;line-height:1.55}.academic-date-card p{margin:0;color:var(--muted);font-size:13px}.academic-countdown{display:inline-flex;margin-top:8px;padding:4px 8px;border-radius:999px;background:var(--cal-soft);color:var(--cal-strong);font-size:11px;font-weight:850}.academic-info-btn{width:32px;height:32px;font-size:13px}.academic-poster-footer{position:relative;display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:18px;padding:13px 15px;border-radius:14px;background:color-mix(in srgb,var(--cal-soft) 65%,var(--panel));color:var(--muted);font-size:12px}.academic-poster-footer b{color:var(--cal-strong)}
.academic-admin-list{margin-top:18px}.academic-admin-list .panel-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.academic-source-image{display:block;max-width:100%;height:auto;border-radius:16px;border:1px solid var(--line);margin:auto}.academic-review-list{display:grid;gap:12px}.academic-review-row{padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--panel2)}.academic-review-row>.check-row{margin-bottom:12px}.ocr-details{border:1px solid var(--line);border-radius:13px;padding:10px 12px}.ocr-details summary{cursor:pointer;font-weight:800}.ocr-details pre{white-space:pre-wrap;direction:rtl;text-align:right;color:var(--muted);font:12px/1.8 inherit;max-height:260px;overflow:auto}
.cal-event.academic{background:color-mix(in srgb,var(--primary) 14%,var(--panel));color:var(--primary-strong);border-inline-start:3px solid var(--primary)}
@media(max-width:820px){.academic-date-grid{grid-template-columns:1fr}.academic-poster-footer{align-items:flex-start;flex-direction:column}.academic-poster-section{padding:13px}.academic-poster-section h3{font-size:16px}.academic-theme-switch{align-items:flex-start}.academic-import-status{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.academic-calendar-poster{padding:12px;border-radius:20px}.academic-poster-hero{padding:12px 5px 18px}.academic-poster-hero h2{font-size:27px}.academic-poster-hero p{font-size:15px}.academic-poster-section>header{grid-template-columns:1fr}.academic-poster-section>header span{display:none}.academic-poster-section h3{text-align:center;white-space:normal}.academic-date-card{grid-template-columns:38px 1fr}.academic-date-icon{width:38px;height:38px}.academic-info-btn{grid-column:1/-1;justify-self:end}}

/* ===== Riwaq 4.0 clean course and section experience ===== */
.admin-course-list,.student-course-list{display:grid;gap:12px}
.admin-course-group{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}
.admin-course-group>summary{list-style:none;cursor:pointer;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.admin-course-group>summary::-webkit-details-marker{display:none}
.admin-course-group>summary:hover{background:var(--surface-soft)}
.admin-course-group>summary div:first-child{display:grid;gap:4px}
.admin-course-group>summary small{color:var(--muted)}
.summary-metrics{display:flex;gap:8px;flex-wrap:wrap}
.summary-metrics span{background:var(--surface-soft);border:1px solid var(--line);padding:6px 10px;border-radius:999px;font-size:.82rem}
.admin-course-group .table-shell{border:0;border-top:1px solid var(--line);border-radius:0;margin:0}
.link-button{border:0;background:transparent;color:var(--primary);font:inherit;font-weight:800;cursor:pointer;padding:4px}
.student-course-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.course-row-main{display:flex;align-items:center;gap:14px;min-width:0}
.course-row-main>div{min-width:0}
.course-row-main h3{margin:0 0 5px;font-size:1.02rem}
.course-row-main p{margin:0;color:var(--muted)}
.course-row-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.term-course-choice{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.term-course-choice>div:first-child{display:grid;gap:4px;margin-bottom:10px}
.class-choice-list{display:flex;gap:8px;flex-wrap:wrap}
.class-choice-list label{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);cursor:pointer}
.presenter-options{display:grid;gap:8px;max-height:260px;overflow:auto;margin-top:10px}
.presenter-option{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.presenter-option span{display:grid;gap:2px}.presenter-option small{color:var(--muted)}
@media(max-width:760px){.student-course-row,.admin-course-group>summary{align-items:flex-start;flex-direction:column}.course-row-meta{justify-content:flex-start}.admin-course-group .table-shell{overflow:auto}.class-choice-list{display:grid}.summary-metrics{width:100%}}

/* ===== Riwaq 4.1 — flexible track access per class ===== */
.track-flex-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:12px 14px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--primary) 6%,var(--surface))}
.track-flex-note strong{color:var(--primary-strong)}.track-flex-note span{color:var(--muted);font-size:.9rem}
.course-group-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--line);background:var(--surface-soft)}
.scope-select{min-width:142px;min-height:38px;padding:7px 10px;border-radius:10px;background:var(--surface);border:1px solid var(--line);color:var(--text);font:inherit;font-size:.88rem;font-weight:750}
.scope-select:focus{outline:2px solid color-mix(in srgb,var(--primary) 35%,transparent);border-color:var(--primary)}
.track-scope-field{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.track-scope-field legend{padding:0 7px;font-weight:850;color:var(--text)}
.track-scope-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.track-scope-card{position:relative;display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--surface);cursor:pointer;transition:.18s}
.track-scope-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line))}
.track-scope-card:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface));box-shadow:inset 0 0 0 1px var(--primary)}
.track-scope-card input{margin-top:4px;accent-color:var(--primary)}
.track-scope-card span{display:grid;gap:4px}.track-scope-card small{color:var(--muted);line-height:1.55}
.class-choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.class-choice-list .class-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 12px;background:var(--surface);min-width:0}
.class-choice-list .class-option:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface));box-shadow:inset 0 0 0 1px var(--primary)}
.class-choice-list .class-option>span:nth-of-type(1){display:grid;gap:3px;min-width:0}.class-choice-list .class-option small{color:var(--muted)}
.class-choice-list .none-option{grid-template-columns:auto 1fr;color:var(--muted);background:var(--surface-soft)}
.scope-pill{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:5px 8px;border-radius:999px;font-size:.75rem;font-weight:850;border:1px solid var(--line)}
.scope-pill.both{background:color-mix(in srgb,var(--primary) 11%,var(--surface));color:var(--primary-strong);border-color:color-mix(in srgb,var(--primary) 28%,var(--line))}
.scope-pill.general{background:#eef7f2;color:#246342;border-color:#cfe5d8}.scope-pill.higher{background:#eef3fb;color:#315c9a;border-color:#d2dded}
body[data-mode="dark"] .scope-pill.general{background:#193428;color:#9ad5b1;border-color:#315a43}body[data-mode="dark"] .scope-pill.higher{background:#1c2e49;color:#a9c7ef;border-color:#345274}
@media(max-width:900px){.track-scope-cards{grid-template-columns:1fr}.class-choice-list{grid-template-columns:1fr}.track-flex-note,.course-group-toolbar{align-items:flex-start;flex-direction:column}.scope-select{min-width:170px}}

/* ===== Riwaq 4.2 — modern visibility and compact two-section management ===== */
.audience-picker{margin:0;padding:0;border:0}.audience-picker>legend{margin-bottom:12px;font-size:1rem;font-weight:900}.audience-picker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.audience-choice{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 22px;align-items:center;gap:10px;min-height:78px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface);cursor:pointer;transition:.18s}.audience-choice:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 42%,var(--line));box-shadow:0 8px 24px rgba(20,54,48,.07)}.audience-choice input{position:absolute;opacity:0;pointer-events:none}.audience-choice>.audience-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--surface-soft);color:var(--muted)}.audience-choice>.audience-icon svg,.audience-option .audience-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.audience-choice>span:nth-child(3){display:grid;gap:4px;min-width:0}.audience-choice strong{font-size:.93rem}.audience-choice small{color:var(--muted);font-size:.76rem;line-height:1.5}.audience-choice>i{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--surface-soft);color:transparent;font-style:normal;font-size:.75rem}.audience-choice:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,var(--surface));box-shadow:inset 0 0 0 1px var(--primary)}.audience-choice:has(input:checked)>.audience-icon{background:var(--primary);color:#fff}.audience-choice:has(input:checked)>i{background:var(--primary);color:#fff}.composer-course{margin-top:4px;padding:12px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.composer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.compact-page-head{margin-bottom:12px}.compact-stats{margin-bottom:12px}.quick-guide{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line));border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 7%,var(--surface)),var(--surface))}.quick-guide-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--primary);color:#fff;font-size:18px;flex:0 0 38px}.quick-guide strong{display:block;margin-bottom:3px}.quick-guide p{margin:0;color:var(--muted);font-size:.88rem}.compact-course-list{gap:10px}.modern-course-group{border-radius:18px;box-shadow:0 10px 30px rgba(23,54,49,.045)}.modern-course-group>summary{padding:14px 16px}.course-summary-title{display:flex!important;align-items:center;gap:12px!important}.course-code-pill{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:7px 10px;border-radius:11px;background:var(--primary-soft);color:var(--primary-strong);font-size:.79rem;font-weight:900}.course-summary-title>div{display:grid;gap:3px}.summary-metrics{align-items:center}.summary-metrics span{display:flex;align-items:center;gap:4px;background:transparent;border:0;padding:4px 7px;color:var(--muted)}.summary-metrics span b{color:var(--text);font-size:.96rem}.summary-chevron{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--surface-soft);font-style:normal;transition:.18s}.modern-course-group[open] .summary-chevron{transform:rotate(180deg)}.course-command-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-soft)}.course-command-bar small{color:var(--muted)}.command-copy{display:flex;gap:8px;flex-wrap:wrap}.class-admin-list{display:grid}.class-admin-row{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(250px,1.5fr) 120px minmax(130px,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--surface)}.class-admin-row:last-child{border-bottom:0}.class-admin-row:hover{background:color-mix(in srgb,var(--primary) 2.5%,var(--surface))}.class-identity{display:flex;align-items:center;gap:11px;min-width:0}.class-number{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line);font-weight:950;color:var(--primary-strong);flex:0 0 46px}.class-identity>div{display:grid;gap:3px;min-width:0}.class-identity small,.class-scope>small,.class-editor>small{color:var(--muted);font-size:.76rem}.class-identity small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-scope{display:grid;gap:6px}.scope-segment{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.scope-segment-btn{min-height:34px;padding:5px 7px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:.76rem;font-weight:850;cursor:pointer;white-space:nowrap}.scope-segment-btn:hover{color:var(--text);background:var(--surface)}.scope-segment-btn.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 25%,transparent)}.class-activity{display:flex;align-items:center;gap:14px}.class-activity>div,.metric-link{display:grid;gap:1px;text-align:center;border:0;background:transparent;color:var(--text);font:inherit;padding:0}.metric-link{cursor:pointer}.metric-link:hover b{color:var(--primary)}.class-activity b{font-size:1.05rem}.class-activity span{color:var(--muted);font-size:.72rem}.class-editor{display:grid;gap:3px;min-width:0}.class-editor strong{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.icon-action{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);font:inherit;font-weight:900;cursor:pointer}.icon-action:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.icon-action.danger:hover{border-color:#d26b6b;color:#a53c3c;background:#fff0f0}.copy-plan-panel{display:grid;gap:14px}.copy-source{display:grid;gap:3px;padding:13px 14px;border-radius:14px;background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 20%,var(--line))}.copy-source span,.copy-source small{color:var(--muted);font-size:.78rem}.copy-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.copy-targets label{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer}.copy-targets label:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.copy-targets input{accent-color:var(--primary)}.copy-targets span{display:grid;gap:3px}.copy-targets small{color:var(--muted)}

@media(max-width:1180px){.class-admin-row{grid-template-columns:minmax(170px,1fr) minmax(230px,1.3fr) 110px auto}.class-editor{display:none}.audience-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:860px){.class-admin-row{grid-template-columns:1fr}.class-scope,.class-activity,.class-editor,.class-actions{width:100%}.class-actions{justify-content:flex-start;flex-wrap:wrap}.course-command-bar{align-items:flex-start;flex-direction:column}.audience-picker-grid{grid-template-columns:1fr 1fr}.composer-grid{grid-template-columns:1fr}.copy-targets{grid-template-columns:1fr}}
@media(max-width:560px){.audience-picker-grid{grid-template-columns:1fr}.audience-choice{min-height:68px}.summary-metrics span:nth-child(3){display:none}.course-summary-title{align-items:flex-start}.course-code-pill{min-width:auto}.quick-guide{align-items:flex-start}.scope-segment-btn{font-size:.7rem;padding:4px}}
.course-filterbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 12px;padding:10px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.course-filter-search{position:relative;display:flex;align-items:center;min-width:min(360px,100%);flex:1}.course-filter-search>span{position:absolute;right:12px;color:var(--muted);font-size:18px}.course-filter-search input{width:100%;padding-inline-start:12px;padding-inline-end:38px}.course-filter-segment{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.course-filter-segment button{min-height:34px;padding:6px 13px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:.82rem;font-weight:850;cursor:pointer}.course-filter-segment button.active{background:var(--primary);color:#fff}.course-filterbar select{min-width:140px;min-height:40px}.course-filter-count{color:var(--muted);font-size:.8rem;font-weight:800;white-space:nowrap}.modern-course-group[style*="display: none"]{display:none!important}@media(max-width:760px){.course-filterbar{align-items:stretch}.course-filter-search{min-width:100%}.course-filter-segment{flex:1}.course-filter-segment button{flex:1}.course-filterbar select{flex:1}}

/* v4.5 — academic community cleanup */
.community-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding:22px 24px;margin-bottom:16px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,var(--panel)),var(--panel));box-shadow:var(--shadow)}
.community-hero h2{margin:10px 0 6px;font-size:32px}
.community-hero p{margin:0;color:var(--muted);line-height:1.9;max-width:760px}
.community-create{white-space:nowrap}
.community-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.community-tab{border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:14px 16px;text-align:right;display:grid;gap:6px;transition:.18s;box-shadow:0 6px 16px rgba(19,52,56,.04)}
.community-tab span{font-weight:800;color:var(--text)}
.community-tab b{color:var(--primary);font-size:1.05rem}
.community-tab.active{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));background:color-mix(in srgb,var(--primary) 8%,var(--panel));box-shadow:inset 0 0 0 1px var(--primary)}
.community-searchbar{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(2,minmax(170px,.6fr)) auto;gap:10px;align-items:center;margin-bottom:16px}
.community-search{position:relative;display:flex;align-items:center}
.community-search>span{position:absolute;right:14px;color:var(--muted);font-size:15px}
.community-search input{padding-right:38px}
.community-layout.modern{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}
.community-side{position:sticky;top:98px}
.audience-panel,.discussion-note{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}
.audience-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.audience-panel header h3{margin:8px 0 0}
.audience-panel p{margin:0 0 14px;color:var(--muted);line-height:1.8}
.audience-clear{width:36px;height:36px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--muted);font-size:20px}
.audience-grid{display:grid;gap:10px}
.audience-option{width:100%;border:1px solid var(--line);background:var(--panel2);border-radius:18px;padding:14px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:right;transition:.18s}
.audience-option:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--line));transform:translateY(-1px)}
.audience-option .audience-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--panel);color:var(--primary)}
.audience-option span:nth-child(2){display:grid;gap:3px;min-width:0}
.audience-option strong{font-size:.96rem}
.audience-option small{color:var(--muted);line-height:1.6}
.audience-option b{min-width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:var(--panel);color:var(--primary);font-size:.82rem}
.audience-option.active{background:color-mix(in srgb,var(--primary) 8%,var(--panel));border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}
.audience-option.active .audience-icon,.audience-option.active b{background:var(--primary);color:#fff}
.discussion-note{display:flex;gap:12px;align-items:flex-start}
.discussion-note>span{width:38px;height:38px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:900}
.discussion-note strong{display:block;margin-bottom:6px}
.discussion-note p{margin:0;color:var(--muted);line-height:1.8}
.modern-post{border-radius:22px;padding:20px;box-shadow:var(--shadow)}
.post-head{align-items:flex-start}
.follow-button,.post-action{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:12px;padding:9px 12px;font-weight:800}
.follow-button.active,.post-action.active{background:var(--primary-soft);color:var(--primary-strong);border-color:color-mix(in srgb,var(--primary) 36%,var(--line))}
.post-action.danger{color:var(--danger);background:#fff6f5;border-color:#ffd6d0}
.post-audience{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-size:.84rem;font-weight:800;margin-top:14px}
.post-audience .audience-icon.mini{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#fff;color:var(--primary)}
.post-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.post-tags span,.post-tags b{padding:7px 10px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);font-size:.82rem}
.post-tags b{background:var(--primary-soft);color:var(--primary-strong);border-color:transparent}
.community-empty{padding:44px 22px}
.empty-orbit{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 10px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:26px}

@media(max-width:1180px){
  .community-layout.modern{grid-template-columns:1fr}
  .community-side{position:static;order:2}
  .community-feed{order:1}
}
@media(max-width:900px){
  .community-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .community-searchbar{grid-template-columns:1fr 1fr}
  .community-searchbar .btn{grid-column:1/-1}
}
@media(max-width:640px){
  .community-hero{flex-direction:column;align-items:flex-start}
  .community-tabs,.community-searchbar{grid-template-columns:1fr}
  .audience-option{grid-template-columns:42px minmax(0,1fr)}
  .audience-option b{grid-column:2;justify-self:start}
}

/* ===== Riwaq 4.6 — organized semester course selection ===== */
.term-enrollment-modal{width:min(1080px,calc(100% - 28px));max-height:94vh;border-radius:26px;overflow:hidden}
.term-enrollment-modal form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:94vh}
.term-enrollment-modal form>header{padding:17px 24px;background:var(--panel);position:relative;z-index:3}
.term-enrollment-modal form>header h3{font-size:1.45rem;letter-spacing:-.02em}
.term-enrollment-modal form>header p{font-size:.93rem}
.term-enrollment-modal .modal-body{padding:0;display:block;max-height:none;overflow:auto;background:color-mix(in srgb,var(--bg) 72%,var(--panel));scrollbar-gutter:stable}
.term-enrollment-modal form>footer{padding:14px 22px;background:var(--panel);position:relative;z-index:3;box-shadow:0 -12px 30px rgba(11,39,42,.06);justify-content:flex-start}
.term-enrollment-modal form>footer .term-enrollment-footer-count{margin-inline-end:auto;display:flex;align-items:baseline;gap:7px;color:var(--muted)}
.term-enrollment-footer-count strong{font-size:1.25rem;color:var(--primary-strong)}
.term-select-shell{padding:20px 22px 28px;display:grid;gap:16px}
.enrollment-overview.compact{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 17px;margin:0;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,var(--panel)),var(--panel))}
.enrollment-overview-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900;font-size:1.15rem;box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 24%,transparent)}
.enrollment-overview-copy{min-width:0}.enrollment-overview-copy>span{display:block;color:var(--muted);font-size:.78rem;font-weight:800}.enrollment-overview-copy strong{display:block;font-size:1.02rem;margin-top:2px}.enrollment-overview-copy p{margin:4px 0 0;color:var(--muted);font-size:.86rem;line-height:1.6}
.enrollment-overview-count{min-width:94px;padding-inline-start:16px;border-inline-start:1px solid var(--line);text-align:center}.enrollment-overview-count strong{display:block;font-size:1.55rem;color:var(--primary-strong);line-height:1}.enrollment-overview-count span{display:block;margin-top:5px;color:var(--muted);font-size:.76rem;white-space:nowrap}
.term-selection-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 170px 170px auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:17px;background:var(--panel)}
.term-search{position:relative;display:block}.term-search>span{position:absolute;inset-inline-start:14px;top:50%;transform:translateY(-50%);font-size:1.25rem;color:var(--muted);pointer-events:none}.term-search input{padding-inline-start:42px;background:var(--panel2)}
.term-filter-field{display:grid;gap:5px}.term-filter-field>span{font-size:.72rem;font-weight:800;color:var(--muted);padding-inline:3px}.term-filter-field select{background:var(--panel2)}
.term-reset-filter{min-height:42px;white-space:nowrap}
.modern-term-groups{display:grid;gap:12px}.modern-term-level{border:1px solid var(--line);border-radius:19px;background:var(--panel);overflow:hidden;box-shadow:0 8px 26px rgba(15,48,52,.035)}
.modern-term-level>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:14px 17px;cursor:pointer;user-select:none;background:color-mix(in srgb,var(--panel2) 58%,var(--panel));border-bottom:1px solid transparent}.modern-term-level[open]>summary{border-bottom-color:var(--line)}.modern-term-level>summary::-webkit-details-marker{display:none}
.modern-level-number{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900}.modern-level-copy{display:grid;gap:2px;min-width:0}.modern-level-copy strong{font-size:1rem}.modern-level-copy small{color:var(--muted);font-size:.78rem}.modern-level-copy small b{color:var(--text)}.level-chevron{margin-inline-start:auto;color:var(--muted);font-size:1.25rem;transition:transform .2s ease}.modern-term-level[open] .level-chevron{transform:rotate(180deg)}
.modern-course-selection-list{display:grid;gap:0}.modern-enroll-course{display:grid;grid-template-columns:minmax(250px,.82fr) minmax(420px,1.35fr);gap:18px;padding:16px 18px;border-bottom:1px solid var(--line);transition:background .18s ease,border-color .18s ease}.modern-enroll-course:last-child{border-bottom:0}.modern-enroll-course.has-selection{background:color-mix(in srgb,var(--primary) 5%,var(--panel))}.modern-enroll-course:hover{background:color-mix(in srgb,var(--primary) 3%,var(--panel))}
.modern-enroll-course-head{display:flex;flex-direction:column;justify-content:space-between;gap:13px;min-width:0}.course-identity{display:flex;align-items:flex-start;gap:11px}.course-code-pill{display:inline-flex;align-items:center;justify-content:center;min-width:70px;padding:6px 9px;border-radius:10px;background:var(--panel2);border:1px solid var(--line);font-weight:900;font-size:.78rem;white-space:nowrap}.course-identity h3{margin:0;font-size:1rem;line-height:1.5}.course-identity small{display:block;margin-top:3px;color:var(--muted);font-size:.78rem}
.course-selection-state{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.course-selected-label{font-size:.78rem;font-weight:900;color:var(--primary-strong);background:color-mix(in srgb,var(--primary) 9%,var(--panel));border-radius:999px;padding:6px 10px}.modern-enroll-course:not(.has-selection) .course-selected-label{color:var(--muted);background:var(--panel2)}
.skip-course-choice{position:relative;cursor:pointer}.skip-course-choice input{position:absolute;opacity:0;pointer-events:none}.skip-course-choice span{display:inline-flex;align-items:center;min-height:31px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.76rem;font-weight:800;background:var(--panel)}.skip-course-choice:hover span,.skip-course-choice input:focus-visible+span{border-color:var(--primary);color:var(--primary-strong)}.skip-course-choice input:checked+span{background:var(--panel2);color:var(--text)}
.modern-section-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-content:center}.modern-section-card{position:relative;min-height:88px;border:1px solid var(--line);border-radius:15px;padding:12px 13px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"mark main" "detail detail";gap:8px 10px;background:var(--panel);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;overflow:hidden}.modern-section-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));transform:translateY(-1px)}.modern-section-card input{position:absolute;opacity:0;pointer-events:none}.modern-section-card.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,var(--panel));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 11%,transparent)}
.section-select-mark{grid-area:mark;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);color:transparent;font-size:.75rem;font-weight:900;transition:.18s ease}.modern-section-card.is-selected .section-select-mark{background:var(--primary);border-color:var(--primary);color:#fff}.section-main{grid-area:main;display:grid;gap:2px;min-width:0}.section-main strong{font-size:.94rem}.section-main small{font-size:.74rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-detail{grid-area:detail;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:7px;border-top:1px solid color-mix(in srgb,var(--line) 78%,transparent)}.section-detail small{color:var(--muted);font-size:.7rem;white-space:nowrap}.section-detail small b{color:var(--text);font-size:.8rem}.scope-pill{padding:4px 7px;font-size:.67rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.term-filter-hidden{display:none!important}.term-no-results{padding:36px 18px;border:1px dashed color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:18px;text-align:center;background:var(--panel)}.term-no-results strong,.term-no-results span{display:block}.term-no-results span{margin-top:5px;color:var(--muted)}
body[data-mode="dark"] .term-enrollment-modal .modal-body{background:color-mix(in srgb,var(--bg) 82%,#000)}
@media(max-width:900px){.term-enrollment-modal{width:min(760px,calc(100% - 18px));max-height:96vh}.term-enrollment-modal form{max-height:96vh}.term-select-shell{padding:14px}.term-selection-toolbar{grid-template-columns:1fr 1fr}.term-search{grid-column:1/-1}.term-reset-filter{align-self:end}.modern-enroll-course{grid-template-columns:1fr;gap:12px}.modern-section-options{grid-template-columns:repeat(2,minmax(0,1fr))}.modern-enroll-course-head{flex-direction:row;align-items:flex-start}.course-selection-state{justify-content:flex-end}}
@media(max-width:620px){.term-enrollment-modal{width:100%;height:100%;max-height:100%;border-radius:0}.term-enrollment-modal form{height:100%;max-height:100%}.term-enrollment-modal form>header{padding:14px 16px}.term-enrollment-modal form>header h3{font-size:1.2rem}.term-enrollment-modal form>footer{padding:11px 14px}.term-select-shell{padding:12px}.enrollment-overview.compact{grid-template-columns:auto 1fr}.enrollment-overview-count{grid-column:1/-1;border-inline-start:0;border-top:1px solid var(--line);padding:10px 0 0;display:flex;align-items:baseline;justify-content:center;gap:7px}.enrollment-overview-count strong{font-size:1.25rem}.term-selection-toolbar{grid-template-columns:1fr}.term-search{grid-column:auto}.modern-term-level>summary{padding:12px}.modern-enroll-course{padding:14px}.modern-enroll-course-head{display:grid}.course-selection-state{justify-content:flex-start}.modern-section-options{grid-template-columns:1fr}.term-enrollment-footer-count span{display:none}}

/* v4.7 — contextual community scopes */
.audience-picker-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.audience-course-filter{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--primary) 5%,var(--panel))}
.audience-course-filter>span{font-size:.82rem;font-weight:900;color:var(--text)}
.audience-course-filter select{width:100%;min-height:44px}
@media(max-width:720px){.audience-picker-grid{grid-template-columns:1fr}.audience-course-filter{margin-top:10px}}

/* v4.8 — private, audience-aware updates */
.privacy-note{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--primary) 6%,var(--panel))}
.privacy-note-icon{width:38px;height:38px;flex:0 0 38px;border-radius:12px;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900}
.privacy-note strong{display:block;margin-bottom:4px}.privacy-note p{margin:0;color:var(--muted);line-height:1.7;font-size:.88rem}
.updates-panel{padding-block:5px}.update-row-private{align-items:flex-start;padding:16px 4px}.update-copy{min-width:0}.update-title-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.update-scope-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-size:.72rem;font-weight:900}.update-row-private>small{white-space:nowrap;color:var(--muted);font-size:.72rem;padding-top:3px}
@media(max-width:640px){.privacy-note{padding:12px}.update-row-private{display:grid}.update-row-private>small{padding-top:0}.update-title-line{gap:6px}}


/* v4.9 — project workflow */
.project-list{display:grid;gap:14px}.project-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}.project-card.owner{border-inline-start:4px solid var(--primary)}.project-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.project-card-head h3{margin:8px 0 4px;font-size:21px}.project-card-head p{margin:0;color:var(--muted);line-height:1.7}.project-role{padding:7px 11px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-weight:800;white-space:nowrap}.project-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.project-meta span,.project-detail-facts span{border:1px solid var(--line);border-radius:13px;padding:11px;background:var(--panel2)}.project-meta small,.project-detail-facts small{display:block;color:var(--muted);margin-bottom:4px}.project-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--primary-soft),var(--panel))}.project-detail-hero h3{margin:9px 0 5px;font-size:24px}.project-detail-hero p{margin:0;color:var(--muted);line-height:1.7}.project-detail-facts{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:8px}.project-task-row{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:10px}.project-task-row h4{margin:7px 0 4px}.project-task-row p{margin:0 0 8px;color:var(--muted)}.project-task-actions{display:flex;gap:7px;flex-wrap:wrap}.platform-credit{position:fixed;bottom:10px;left:20px;z-index:20;color:var(--muted);font-size:12px;background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--line);border-radius:999px;padding:6px 10px;backdrop-filter:blur(8px)}.login-credit{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.72);font-size:12px;z-index:3}.login-view{position:relative}.notification-type.project{background:var(--primary-soft);color:var(--primary-strong)}
@media(max-width:780px){.project-card-head,.project-detail-hero{grid-template-columns:1fr;display:grid}.project-meta{grid-template-columns:repeat(2,1fr)}.project-detail-facts{grid-template-columns:repeat(3,1fr)}.project-task-row{align-items:flex-start;flex-direction:column}.platform-credit{position:static;margin:14px auto;width:max-content}.login-credit{position:static;transform:none;margin:12px auto;color:var(--muted)}}

/* v4.9.1 — project actions and team updates */
.project-latest{display:flex;gap:10px;align-items:center;margin:0 0 14px;padding:10px 12px;border-radius:13px;background:var(--panel2);border:1px dashed var(--line)}
.project-latest small{color:var(--muted);font-weight:700;white-space:nowrap}.project-latest span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-activity-list{display:grid;gap:10px}.project-activity-list article{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
.project-activity-list p{margin:3px 0 6px;line-height:1.65}.project-activity-list small{color:var(--muted)}.project-activity-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--primary-soft);color:var(--primary-strong);font-weight:900}
.compact-empty{min-height:130px}.project-task-card{border-inline-start:4px solid var(--primary)}
@media(max-width:780px){.project-latest{align-items:flex-start;flex-direction:column}.project-latest span{white-space:normal}.project-activity-list article{grid-template-columns:32px minmax(0,1fr)}}

/* v4.10 — compact native selection controls */
input[type="checkbox"],input[type="radio"]{
  appearance:auto!important;-webkit-appearance:auto!important;
  width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;
  max-width:18px!important;max-height:18px!important;padding:0!important;margin:0!important;
  flex:0 0 18px!important;box-shadow:none!important;accent-color:var(--primary);cursor:pointer
}
.check-row,.presenter-option,.copy-targets label,.milestone-main{align-items:center}
.check-row input[type="checkbox"],.presenter-option input[type="checkbox"],.copy-targets input[type="checkbox"],.item-check,.milestone-main input[type="checkbox"]{align-self:center}
.week-task-sync{display:inline-flex;align-items:center;gap:5px;margin-top:7px}
.week-task-sync:before{content:"✓";display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--success);color:#fff;font-size:10px}

/* v4.11 — خصوصية أعضاء المشاريع */
.project-members-fieldset{max-height:none}
.project-members-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:290px;overflow:auto;padding:4px}
.project-member-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);min-height:58px}
.project-member-row>span{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.project-member-row strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-member-row small{color:var(--muted);font-size:.78rem}
.project-member-row em{font-style:normal;font-size:.75rem;color:var(--primary);background:var(--primary-soft);padding:4px 7px;border-radius:999px}
@media(max-width:720px){.project-members-list{grid-template-columns:1fr}}

/* v4.13 — academic journey activation */
.journey-locked-hero{display:flex;align-items:center;gap:22px;padding:28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,var(--panel),var(--panel2));margin-bottom:18px}.journey-lock-icon{width:68px;height:68px;display:grid;place-items:center;border-radius:22px;background:var(--primary-soft);color:var(--primary);font-size:32px;font-weight:900}.journey-locked-hero h2{margin:5px 0 8px;font-size:30px}.journey-locked-hero p{margin:0;color:var(--muted);max-width:850px;line-height:1.9}.journey-status-line{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.journey-step{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:18px;padding:16px;background:var(--panel)}.journey-step>span{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:var(--panel2);color:var(--muted);font-weight:900}.journey-step>div{min-width:0;flex:1}.journey-step strong,.journey-step small{display:block}.journey-step small{color:var(--muted);margin-top:4px}.journey-step>i{font-style:normal;font-size:12px;padding:6px 9px;border-radius:999px;background:var(--panel2);color:var(--muted)}.journey-step.current{border-color:var(--primary);box-shadow:0 10px 30px color-mix(in srgb,var(--primary) 12%,transparent);background:var(--primary-soft)}.journey-step.current>span,.journey-step.current>i{background:var(--primary);color:#fff}.journey-step.completed{border-color:color-mix(in srgb,var(--success,#2f8f69) 45%,var(--line))}.journey-step.completed>span,.journey-step.completed>i{background:#e8f7ef;color:#217b55}.journey-step.locked{opacity:.68}.journey-help{margin-top:10px}.journey-help p{margin-bottom:0;color:var(--muted);line-height:1.8}.journey-page-head{align-items:center}.journey-active-summary{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:16px;align-items:center;border:1px solid var(--line);background:var(--panel);border-radius:20px;padding:18px 20px;margin-bottom:18px}.journey-active-summary>div:first-child strong,.journey-active-summary>div:first-child span{display:block}.journey-active-summary>div:first-child strong{font-size:22px}.journey-active-summary>div:first-child span,.journey-active-summary>small{color:var(--muted)}.journey-active-summary>small{grid-column:1/-1}.journey-current-panel .panel-head p{margin:4px 0 0;color:var(--muted)}.journey-task-list{display:grid;gap:10px}.journey-task-item{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--panel2)}.journey-task-item>label{display:flex;align-items:center;gap:12px;flex:1;cursor:pointer}.journey-task-item input{width:18px;height:18px;min-height:auto;accent-color:var(--primary)}.journey-task-item strong,.journey-task-item small{display:block}.journey-task-item small{color:var(--muted);margin-top:4px}.journey-task-item.done{opacity:.72}.journey-task-item.done strong{text-decoration:line-through}.badge.success{background:#e8f7ef;color:#217b55}
@media(max-width:900px){.journey-status-line{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-active-summary{grid-template-columns:1fr}.journey-active-summary>small{grid-column:auto}.journey-task-item{align-items:flex-start;flex-direction:column}.journey-task-item .row-actions{width:100%}}
@media(max-width:560px){.journey-status-line{grid-template-columns:1fr}.journey-locked-hero{align-items:flex-start;flex-direction:column;padding:20px}.journey-lock-icon{width:56px;height:56px}.journey-locked-hero h2{font-size:25px}}

/* v4.15 — institutional academic login */
.login-v15{min-height:100vh;display:grid;grid-template-columns:minmax(390px,.84fr) minmax(680px,1.46fr);direction:ltr;background:#eef3f4;position:relative;overflow:hidden}
.login-access,.login-showcase{direction:rtl;min-width:0}
.login-access{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;padding:clamp(28px,4vw,64px);background:linear-gradient(155deg,#f8fbfb 0%,#eef4f4 55%,#e8f0f1 100%);border-inline-end:1px solid #d9e5e6}
.login-access:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 15%,rgba(23,124,114,.08),transparent 25%),linear-gradient(rgba(19,75,77,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(19,75,77,.025) 1px,transparent 1px);background-size:auto,34px 34px,34px 34px;pointer-events:none}
.login-access__shell{position:relative;width:min(470px,100%);display:grid;gap:26px}
.login-product-brand{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px}
.login-brand-mark{width:54px;height:54px;border-radius:17px;box-shadow:0 12px 28px rgba(15,95,88,.18);position:relative;overflow:hidden}
.login-brand-mark:after{content:"";position:absolute;width:24px;height:2px;background:rgba(255,255,255,.46);transform:rotate(-42deg);top:14px;right:-5px}
.login-wordmark{display:grid;line-height:1.15}
.login-wordmark>span{font-size:11px;color:var(--primary);font-weight:900;letter-spacing:.01em}
.login-wordmark>strong{font-size:34px;letter-spacing:-.055em;margin:3px 0 5px;color:#103c40}
.login-wordmark>small{font-size:12px;color:var(--muted)}
.login-version{align-self:start;padding:6px 9px;border:1px solid #d6e5e4;border-radius:999px;background:rgba(255,255,255,.72);font-size:11px;color:var(--muted)}
.login-heading-v15{display:grid;gap:7px;margin-top:8px}
.login-kicker{display:inline-flex;width:max-content;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-weight:900;font-size:12px}
.login-kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:#20a28f;box-shadow:0 0 0 4px rgba(32,162,143,.12)}
.login-heading-v15 h2{font-size:31px;margin:0;color:#17383c;letter-spacing:-.035em}
.login-heading-v15 p{margin:0;max-width:420px;color:var(--muted);line-height:1.8;font-size:14px}
.login-card-v15{width:100%;padding:24px;border:1px solid #dbe7e8;border-radius:23px;background:rgba(255,255,255,.88);box-shadow:0 22px 65px rgba(18,57,62,.10);backdrop-filter:blur(14px);display:grid;gap:16px}
.login-field{gap:8px;color:#29484c;font-size:13px}
.login-input-wrap{position:relative;display:block}
.login-input-wrap svg{position:absolute;right:14px;top:50%;width:20px;height:20px;transform:translateY(-50%);fill:none;stroke:#789094;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.login-input-wrap input{min-height:54px;padding-inline:46px 15px;border-radius:14px;background:#fbfdfd;border-color:#d7e4e5;font-size:14px;text-align:left}
.login-input-wrap input:focus{background:#fff}
.login-card-v15 .form-error{margin:-5px 0;min-height:14px;font-size:12px}
.login-submit{min-height:54px;border-radius:14px;background:linear-gradient(135deg,#188379,#0f6059)!important;box-shadow:0 13px 26px rgba(15,95,88,.22)!important;justify-content:space-between;padding-inline:20px}
.login-submit:hover{transform:translateY(-2px)!important;box-shadow:0 16px 30px rgba(15,95,88,.28)!important}
.demo-accounts-v15{padding:0;border:0;border-radius:0;color:var(--muted)}
.demo-accounts-v15 summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid #dbe7e8;border-radius:13px;background:#f8fbfb;font-size:13px}
.demo-accounts-v15 summary::-webkit-details-marker{display:none}
.demo-accounts-v15 summary:after{content:"+";font-size:19px;color:var(--primary)}
.demo-accounts-v15[open] summary:after{content:"−"}
.demo-accounts-v15>div{padding-top:8px}
.login-trust-row{display:flex;align-items:center;justify-content:center;gap:10px;color:#71878a;font-size:11px;font-weight:700}
.login-trust-row i{width:4px;height:4px;border-radius:50%;background:#9bb0b2}
.login-access .login-credit{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#71878a;white-space:nowrap;font-size:11px}

.login-showcase{position:relative;overflow:hidden;padding:clamp(34px,4.2vw,68px) clamp(38px,5vw,82px);color:#fff;background:linear-gradient(145deg,#0d3f44 0%,#0d5f5a 48%,#138579 100%);display:grid;grid-template-rows:auto auto minmax(340px,1fr) auto;gap:clamp(20px,2.5vw,34px)}
.login-showcase:before{content:"";position:absolute;inset:-15%;background:radial-gradient(circle at 78% 15%,rgba(120,232,215,.18),transparent 26%),radial-gradient(circle at 20% 90%,rgba(255,255,255,.07),transparent 25%);pointer-events:none}
.showcase-grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.showcase-topline,.showcase-copy,.platform-preview,.showcase-features{position:relative;z-index:2}
.showcase-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;font-weight:800}
.showcase-institution{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14)}
.showcase-status{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.72)}
.showcase-status i{width:8px;height:8px;border-radius:50%;background:#5ce3cd;box-shadow:0 0 0 5px rgba(92,227,205,.12)}
.showcase-copy{max-width:820px}
.showcase-kicker{display:block;color:#8fe3d6;font-size:13px;font-weight:900;margin-bottom:12px}
.showcase-copy h1{margin:0;font-size:clamp(39px,4.1vw,68px);line-height:1.17;letter-spacing:-.055em}
.showcase-copy h1 em{font-style:normal;color:#a8e7df}
.showcase-copy p{max-width:760px;margin:17px 0 0;color:rgba(255,255,255,.72);font-size:clamp(15px,1.25vw,19px);line-height:1.9}
.platform-preview{align-self:end;border:1px solid rgba(255,255,255,.2);border-radius:23px;background:rgba(247,252,252,.96);color:#173438;box-shadow:0 34px 80px rgba(0,24,28,.32);overflow:hidden;transform:perspective(1300px) rotateX(1deg);transform-origin:bottom center}
.preview-window-bar{height:48px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 17px;border-bottom:1px solid #dce8e9;background:#f7fbfb;font-size:12px;color:#72878a}
.preview-window-bar>div{direction:ltr;display:flex;gap:6px}
.preview-window-bar i{width:8px;height:8px;border-radius:50%;background:#c3d0d2}.preview-window-bar i:nth-child(2){background:#94bbb5}.preview-window-bar i:nth-child(3){background:#43a291}
.preview-window-bar b{justify-self:end;color:#175a57;font-size:15px}
.preview-workspace{display:grid;grid-template-columns:58px minmax(0,1fr);min-height:290px}
.preview-nav{background:#123f44;padding:16px 10px;display:flex;flex-direction:column;gap:9px;align-items:center}
.preview-nav span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:rgba(255,255,255,.55);font-weight:900}.preview-nav span.active{background:#23877c;color:#fff}
.preview-main{padding:20px;display:grid;gap:15px;background:linear-gradient(180deg,#f7fbfb,#f0f5f5)}
.preview-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.preview-title-row>div{display:grid;gap:4px}.preview-title-row small{color:#758b8e;font-size:10px}.preview-title-row strong{font-size:15px}.preview-title-row>span{padding:6px 9px;border-radius:999px;background:#e6f4f1;color:#176960;font-size:9px;font-weight:900;white-space:nowrap}
.preview-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.preview-kpis article{border:1px solid #dce8e9;border-radius:13px;padding:11px;background:#fff;display:grid;gap:2px}.preview-kpis small{font-size:9px;color:#799094}.preview-kpis strong{font-size:23px;color:#166d65}.preview-kpis em{font-style:normal;color:#84979a;font-size:8px}
.preview-content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(135px,.75fr);gap:10px}.preview-plan,.preview-calendar{border:1px solid #dce8e9;border-radius:14px;background:#fff;padding:12px}.preview-plan header,.preview-calendar header{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:10px}.preview-plan header span,.preview-calendar header span{color:#71878a;font-size:8px}.preview-plan>div{display:grid;grid-template-columns:27px 1fr 22px;gap:8px;align-items:center;padding:7px 0;border-top:1px solid #edf2f3}.preview-plan>div>b{width:25px;height:25px;border-radius:8px;background:#e8f5f2;color:#17766d;display:grid;place-items:center;font-size:8px}.preview-plan p{display:grid;gap:1px;margin:0}.preview-plan p strong{font-size:9px}.preview-plan p small{font-size:7px;color:#84979a}.preview-plan>div>span{width:18px;height:18px;border:1px solid #d9e5e6;border-radius:6px;display:grid;place-items:center;font-size:8px;color:#fff}.preview-plan .done-dot{background:#23877c;border-color:#23877c}
.preview-calendar{text-align:center;display:flex;flex-direction:column;align-items:center}.calendar-date{width:66px;height:66px;border-radius:18px;background:#e7f4f2;display:grid;place-items:center;align-content:center;margin:4px auto 8px}.calendar-date strong{font-size:25px;line-height:1;color:#146c64}.calendar-date small{font-size:8px;color:#638083}.preview-calendar p{font-size:9px;font-weight:800;margin:4px 0 10px}.calendar-progress{width:100%;height:5px;border-radius:999px;background:#e9eff0;overflow:hidden;margin-bottom:5px}.calendar-progress i{display:block;width:68%;height:100%;background:#278b80}.preview-calendar>small{font-size:8px;color:#758b8e}
.showcase-features{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.showcase-features span{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(255,255,255,.07);font-size:11px;font-weight:800;color:rgba(255,255,255,.8)}.showcase-features b{color:#70dbc9;font-size:10px}

@media(max-width:1120px){.login-v15{grid-template-columns:minmax(350px,.9fr) minmax(530px,1.1fr)}.login-showcase{padding:36px}.showcase-copy h1{font-size:44px}.platform-preview{transform:none}.preview-content-grid{grid-template-columns:1fr}.preview-calendar{display:none}}
@media(max-width:880px){.login-v15{display:flex;flex-direction:column;min-height:100vh;overflow:auto}.login-showcase{order:1;min-height:auto;padding:28px 24px 34px;grid-template-rows:auto auto}.login-access{order:2;min-height:auto;padding:34px 20px 58px}.platform-preview,.showcase-features{display:none}.showcase-copy h1{font-size:clamp(34px,8vw,50px)}.showcase-copy p{font-size:14px}.login-access .login-credit{bottom:18px}.showcase-topline{margin-bottom:4px}}
@media(max-width:520px){.login-showcase{padding:24px 18px 28px}.showcase-topline{align-items:flex-start}.showcase-status{font-size:10px}.showcase-copy h1{font-size:34px;line-height:1.22}.showcase-copy p{line-height:1.75}.login-access{padding:28px 14px 54px}.login-access__shell{gap:20px}.login-product-brand{grid-template-columns:auto 1fr}.login-version{display:none}.login-wordmark>strong{font-size:30px}.login-heading-v15 h2{font-size:27px}.login-card-v15{padding:18px;border-radius:20px}.login-trust-row{flex-wrap:wrap}.login-trust-row i{display:none}.login-trust-row span{width:100%;text-align:center}}

/* v4.17 — مساحتي + مركز الفصول الدراسية */
.personal-links{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.personal-sync-options{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}.personal-sync-options .check-row{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.personal-sync-options .check-row span{display:grid;gap:4px}.personal-sync-options .check-row small{color:var(--muted);font-weight:500}
.semester-center{display:grid;gap:18px}.semester-active-card{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 70%,white),var(--surface));box-shadow:var(--shadow)}.semester-active-card h3{font-size:1.45rem;margin:7px 0}.semester-active-card p{color:var(--muted);margin:0}.semester-active-stats{display:flex;flex-wrap:wrap;gap:10px}.semester-active-stats span{display:grid;min-width:110px;padding:12px 15px;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--muted)}.semester-active-stats b{font-size:1.25rem;color:var(--text)}.semester-actions{display:flex;gap:10px;flex-wrap:wrap}.semester-card-list{display:grid;gap:10px}.semester-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px;border:1px solid var(--line);border-radius:17px;background:var(--surface-soft)}.semester-row h4{margin:6px 0;font-size:1.05rem}.semester-row p{margin:0;color:var(--muted)}.semester-row.draft{border-inline-start:4px solid var(--primary)}.semester-row.archived{border-inline-start:4px solid #6b7280}.term-copy-options{padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft)}.term-preset-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.term-copy-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.term-copy-checks .check-row{padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.semester-preview,.archive-summary{display:grid;gap:16px}.archive-course-list{display:grid;gap:8px}.archive-course-list>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}.archive-course-list span{color:var(--muted);font-size:.9rem}.compact-empty{padding:22px}
@media(max-width:760px){.semester-active-card,.semester-row{align-items:flex-start;flex-direction:column}.semester-active-stats{width:100%}.semester-active-stats span{flex:1;min-width:90px}.term-copy-checks{grid-template-columns:1fr}.semester-row .row-actions{width:100%;display:grid;grid-template-columns:repeat(2,1fr)}.semester-row .row-actions .btn{width:100%}.archive-course-list>div{align-items:flex-start;flex-direction:column}}

/* ===== Riwaq 4.18 — academic identity and semester continuity ===== */
.login-v18{min-height:100vh;display:grid;grid-template-columns:minmax(410px,.82fr) minmax(700px,1.38fr);direction:ltr;background:#eef3f4;overflow:hidden;position:relative}
.login-v18 .login-access,.login-v18 .login-showcase{direction:rtl;min-width:0}
.login-v18 .login-access{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;padding:clamp(32px,4vw,68px);background:
  linear-gradient(145deg,rgba(255,255,255,.98),rgba(244,249,249,.98)),
  linear-gradient(rgba(22,80,83,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(22,80,83,.035) 1px,transparent 1px);
  background-size:auto,36px 36px,36px 36px;border-inline-end:1px solid #d7e3e4}
.login-v18 .login-access:after{content:"";position:absolute;inset-inline-start:-110px;top:10%;width:240px;height:240px;border-radius:50%;border:1px solid rgba(21,112,103,.12);box-shadow:0 0 0 38px rgba(21,112,103,.025),0 0 0 76px rgba(21,112,103,.018);pointer-events:none}
.login-v18 .login-access__shell{position:relative;width:min(478px,100%);display:grid;gap:24px}
.login-v18 .login-product-brand{display:flex;align-items:center;justify-content:space-between;gap:18px}
.riwaq-lockup{display:flex;align-items:center;gap:14px;min-width:0}
.riwaq-monogram{position:relative;width:56px;height:56px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#0f514f,#168378);box-shadow:0 14px 30px rgba(13,81,78,.2);overflow:hidden;flex:none}
.riwaq-monogram:before{content:"";position:absolute;inset:9px;border:1px solid rgba(255,255,255,.28);border-radius:11px 11px 15px 11px}
.riwaq-monogram b{position:relative;color:#fff;font-family:"Arabic Typesetting","Traditional Arabic","Times New Roman",serif;font-size:34px;line-height:1;font-weight:700;transform:translateY(-1px)}
.riwaq-monogram i{position:absolute;width:23px;height:2px;background:#d7b86a;transform:rotate(-42deg);top:12px;left:-3px;border-radius:999px}
.riwaq-lockup-copy{display:grid;line-height:1.05}
.riwaq-wordmark-text,.showcase-wordmark,.sidebar-wordmark,.preview-riwaq-word{font-family:"Arabic Typesetting","Traditional Arabic","Segoe UI",Tahoma,serif;font-weight:700;letter-spacing:-.045em}
.riwaq-wordmark-text{position:relative;width:max-content;font-size:49px;color:#103b40;line-height:.9;padding-bottom:9px}
.riwaq-wordmark-text:after{content:"";position:absolute;inset-inline:2px 13px;bottom:0;height:3px;border-radius:999px;background:linear-gradient(90deg,#d0a847,#1b8075)}
.riwaq-lockup-copy small{margin-top:8px;color:#6f8588;font-size:12px;font-weight:800;letter-spacing:.01em}
.login-v18 .login-version{align-self:flex-start;padding:6px 10px;border:1px solid #d3e1e2;border-radius:999px;background:#fff;color:#71878a;font-size:10px;box-shadow:0 8px 22px rgba(18,57,62,.05)}
.login-heading-v18{display:grid;gap:8px;padding-top:6px}
.login-heading-v18 h2{margin:0;font-size:34px;letter-spacing:-.035em;color:#153b3f}
.login-heading-v18 p{margin:0;color:#708589;line-height:1.85;font-size:14px;max-width:430px}
.login-v18 .login-kicker{background:#e7f4f1;color:#0e655e;border:1px solid #d1e9e4}
.login-card-v18{width:100%;padding:25px;border:1px solid #d9e5e6;border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 24px 70px rgba(15,57,62,.11);backdrop-filter:blur(12px);display:grid;gap:16px}
.login-v18 .login-input-wrap input{background:#fbfdfd;border-color:#d5e2e3;min-height:55px}
.login-v18 .login-submit{background:linear-gradient(135deg,#147a70,#0b554f)!important;box-shadow:0 15px 30px rgba(10,85,79,.23)!important}
.login-v18 .login-trust-row{font-size:11px;color:#6f8588}
.login-v18 .login-credit{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:11px;color:#71878a;white-space:nowrap}

.login-v18 .login-showcase{position:relative;overflow:hidden;padding:clamp(34px,4vw,66px) clamp(38px,5vw,84px);color:#fff;background:linear-gradient(145deg,#092f37 0%,#0d4650 52%,#0f6963 100%);display:grid;grid-template-rows:auto auto minmax(335px,1fr) auto;gap:clamp(20px,2.3vw,32px)}
.login-v18 .login-showcase:before{content:"";position:absolute;width:590px;height:590px;border-radius:50%;top:-360px;left:-150px;background:radial-gradient(circle,rgba(82,210,194,.18),rgba(82,210,194,.02) 64%,transparent 66%);border:1px solid rgba(255,255,255,.08)}
.login-v18 .login-showcase:after{content:"";position:absolute;right:9%;bottom:-220px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(125,226,211,.15);box-shadow:0 0 0 48px rgba(125,226,211,.03),0 0 0 96px rgba(125,226,211,.018)}
.login-v18 .showcase-grid{opacity:.13;background-size:42px 42px}
.showcase-intro{position:relative;z-index:2;display:grid;grid-template-columns:minmax(180px,.48fr) minmax(390px,1fr);gap:clamp(24px,4vw,62px);align-items:end}
.showcase-brand-lockup{display:flex;align-items:center;gap:15px;padding-bottom:5px}
.showcase-brand-symbol{position:relative;width:64px;height:64px;border-radius:19px;display:grid;place-items:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 0 0 8px rgba(255,255,255,.025)}
.showcase-brand-symbol b{font-family:"Arabic Typesetting","Traditional Arabic",serif;font-size:39px;color:#fff;line-height:1}
.showcase-brand-symbol i{position:absolute;top:11px;left:-3px;width:28px;height:2px;background:#d9b660;transform:rotate(-42deg)}
.showcase-brand-lockup>div{display:grid;line-height:1.05}
.showcase-wordmark{font-size:58px;color:#fff;line-height:.88}
.showcase-brand-lockup small{margin-top:9px;color:#8fded3;font-size:12px;font-weight:800;white-space:nowrap}
.login-v18 .showcase-copy{max-width:780px}
.login-v18 .showcase-copy h1{font-size:clamp(39px,3.8vw,64px);line-height:1.19;letter-spacing:-.045em}
.login-v18 .showcase-copy h1 em{color:#83ddd0}
.login-v18 .showcase-copy p{max-width:690px;font-size:clamp(14px,1.1vw,18px);line-height:1.9}
.login-v18 .platform-preview{align-self:stretch;border-radius:24px;border-color:rgba(255,255,255,.22);box-shadow:0 40px 90px rgba(0,18,23,.35);transform:perspective(1400px) rotateX(1deg) rotateY(-.6deg)}
.login-v18 .preview-window-bar{height:50px}
.preview-riwaq-word{font-size:21px!important;color:#0f625b!important}
.login-v18 .preview-workspace{min-height:300px;grid-template-columns:62px minmax(0,1fr)}
.login-v18 .preview-nav{background:linear-gradient(180deg,#103c43,#092f36)}
.login-v18 .preview-main{padding:22px;background:linear-gradient(180deg,#f9fbfb,#edf4f4)}
.login-v18 .preview-kpis article{box-shadow:0 8px 22px rgba(15,55,60,.045)}
.login-v18 .showcase-features span{min-height:48px;background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.13)}
.login-v18 .showcase-features i{font-style:normal}

/* Refined in-app identity */
.sidebar-brand{padding:4px 7px 18px;gap:11px}
.sidebar-monogram{width:45px;height:45px;border-radius:14px;box-shadow:none;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 72%,#fff),var(--primary-strong))}
.sidebar-monogram:before{inset:7px;border-radius:9px}
.sidebar-monogram b{font-size:29px}.sidebar-monogram i{width:18px;top:10px}
.sidebar-wordmark{font-size:29px!important;line-height:.95;letter-spacing:-.035em}
.sidebar-brand small{margin-top:5px;font-size:11px}
.sidebar{border-inline-start:1px solid rgba(255,255,255,.06);box-shadow:-10px 0 40px rgba(5,30,34,.12)}
.nav-btn{border:1px solid transparent}.nav-btn:hover{border-color:rgba(255,255,255,.07)}.nav-btn.active{background:linear-gradient(90deg,rgba(255,255,255,.14),rgba(255,255,255,.08));border-color:rgba(255,255,255,.09)}
.topbar{min-height:86px;background:color-mix(in srgb,var(--bg) 88%,#fff 12%);box-shadow:0 10px 28px rgba(15,47,51,.035)}
.topbar-title h1{font-size:27px;letter-spacing:-.025em}.page-head h2{font-size:29px;letter-spacing:-.025em}
.panel,.card,.stat,.table-shell{border-color:color-mix(in srgb,var(--line) 92%,#fff);box-shadow:0 13px 34px rgba(17,54,59,.055)}
.btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary-strong))}

/* Semester continuity policy */
.semester-active-stats{display:grid;grid-template-columns:repeat(4,minmax(112px,1fr));align-items:stretch}
.semester-active-stats span{min-width:0}
.semester-active-stats .semester-pending{border-color:#f0d49a;background:#fffaf0}.semester-active-stats .semester-pending b{color:#9a6700}
.term-student-policy{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start;padding:15px 16px;border:1px solid color-mix(in srgb,var(--primary) 30%,var(--line));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 72%,#fff),#fff)}
.term-policy-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900;box-shadow:0 10px 22px color-mix(in srgb,var(--primary) 22%,transparent)}
.term-student-policy strong{display:block;font-size:.98rem}.term-student-policy p{margin:5px 0 0;color:var(--muted);font-size:.86rem;line-height:1.75}

@media(max-width:1180px){
  .login-v18{grid-template-columns:minmax(380px,.9fr) minmax(560px,1.1fr)}
  .showcase-intro{grid-template-columns:1fr}.showcase-brand-lockup{display:none}
  .login-v18 .showcase-copy h1{font-size:45px}
  .semester-active-stats{grid-template-columns:repeat(2,minmax(112px,1fr))}
}
@media(max-width:900px){
  .login-v18{display:flex;flex-direction:column;min-height:100vh;overflow:auto}
  .login-v18 .login-showcase{order:1;min-height:auto;padding:28px 24px 34px;grid-template-rows:auto auto}
  .login-v18 .login-access{order:2;min-height:auto;padding:34px 20px 60px}
  .login-v18 .platform-preview,.login-v18 .showcase-features{display:none}
  .login-v18 .showcase-copy h1{font-size:clamp(34px,8vw,49px)}
  .showcase-intro{display:block}.login-v18 .login-credit{bottom:18px}
}
@media(max-width:560px){
  .login-v18 .login-showcase{padding:22px 17px 26px}.login-v18 .login-access{padding:28px 14px 58px}
  .riwaq-monogram{width:50px;height:50px}.riwaq-wordmark-text{font-size:43px}.login-v18 .login-version{display:none}
  .login-heading-v18 h2{font-size:29px}.login-card-v18{padding:19px;border-radius:20px}
  .login-v18 .showcase-copy h1{font-size:34px;line-height:1.23}.login-v18 .showcase-copy p{font-size:13px}
  .semester-active-stats{grid-template-columns:1fr 1fr}.term-student-policy{grid-template-columns:38px minmax(0,1fr)}.term-policy-icon{width:36px;height:36px}
}


/* ===== Riwaq v4.19 — institutional academic identity and contextual content composer ===== */
html,body,button,input,select,textarea{font-family:"IBM Plex Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif}
:root{--brand-navy:#0a2834;--brand-navy-2:#103b47;--brand-teal:#0f7f73;--brand-mint:#61d4c4;--brand-ice:#edf7f6;--brand-sand:#c9aa67}
.riwaq-signature{font-family:"Reem Kufi Ink","Arabic Typesetting","Traditional Arabic","Noto Kufi Arabic","Segoe UI",Tahoma,sans-serif;font-weight:400;letter-spacing:0;line-height:1}
.riwaq-portal-mark{position:relative;width:58px;height:58px;display:inline-flex;align-items:flex-end;justify-content:center;gap:5px;padding:10px 11px 11px;border-radius:18px;background:linear-gradient(145deg,var(--brand-navy),var(--brand-teal));box-shadow:0 15px 32px rgba(10,40,52,.18);overflow:hidden;flex:0 0 auto}
.riwaq-portal-mark:before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.18);border-radius:12px}
.riwaq-portal-mark>i{position:relative;z-index:1;width:6px;border-radius:4px 4px 1px 1px;background:#fff;opacity:.96}
.riwaq-portal-mark>i:nth-child(1){height:24px}.riwaq-portal-mark>i:nth-child(2){height:31px}.riwaq-portal-mark>i:nth-child(3){height:38px}
.riwaq-portal-mark>b{position:absolute;z-index:1;bottom:8px;width:31px;height:4px;border-radius:999px;background:var(--brand-mint)}

.login-v19{min-height:100vh;display:grid;grid-template-columns:minmax(400px,.76fr) minmax(720px,1.24fr);direction:ltr;background:#eef4f5;color:var(--brand-navy);overflow:hidden}
.login-v19__access,.login-v19__hero{direction:rtl;min-width:0}
.login-v19__access{position:relative;display:flex;align-items:center;justify-content:center;padding:clamp(34px,4.5vw,72px);background:linear-gradient(180deg,#f9fbfc,#eef4f5)}
.login-v19__access:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(10,40,52,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(10,40,52,.035) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 80%);pointer-events:none}
.login-v19__access-inner{position:relative;z-index:1;width:min(500px,100%);display:grid;gap:28px}
.v19-brand-lockup{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px}
.v19-brand-copy{display:grid;gap:4px}.v19-brand-copy small{color:#6d8287;font-size:12px;font-weight:600}.riwaq-signature{font-size:50px;color:var(--brand-navy)}
.v19-version{align-self:start;padding:5px 9px;border:1px solid #d7e3e5;border-radius:999px;background:#fff;color:#789095;font-size:10px;font-weight:700}
.v19-login-intro{padding-top:4px}.v19-eyebrow{display:inline-flex;color:var(--brand-teal);font-size:12px;font-weight:700;margin-bottom:10px}.v19-login-intro h2{font-size:32px;margin:0 0 8px;color:var(--brand-navy)}.v19-login-intro p{margin:0;color:#6d8287;line-height:1.9;font-size:14px}
.v19-login-card{width:100%;padding:26px;border-radius:22px;border-color:#d6e3e5;box-shadow:0 24px 60px rgba(10,40,52,.08);gap:16px}
.v19-login-card .login-input-wrap input{background:#f9fcfc;min-height:56px;border-color:#d5e2e4}.v19-login-submit{min-height:55px;border-radius:14px!important;background:linear-gradient(135deg,var(--brand-teal),#0a5d58)!important;box-shadow:0 15px 30px rgba(15,127,115,.2)!important}
.v19-demo-accounts{background:#fbfdfd}.v19-security-note{display:flex;justify-content:center;align-items:center;gap:10px;color:#789095;font-size:11px}.v19-security-note i{width:4px;height:4px;border-radius:50%;background:var(--brand-teal)}
.login-v19__access .login-credit{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:11px;color:#71868a;white-space:nowrap}

.login-v19__hero{position:relative;overflow:hidden;padding:clamp(34px,4.4vw,70px) clamp(38px,5vw,88px);background:linear-gradient(145deg,#071f2b 0%,#0a3440 58%,#0b5d59 100%);color:#fff;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:24px}
.v19-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(135deg,#000 20%,transparent 85%)}
.login-v19__hero:after{content:"";position:absolute;right:-170px;bottom:-250px;width:610px;height:610px;border:1px solid rgba(97,212,196,.16);border-radius:50%;box-shadow:0 0 0 58px rgba(97,212,196,.025),0 0 0 116px rgba(97,212,196,.014)}
.v19-hero-top,.v19-hero-main,.v19-hero-footer{position:relative;z-index:2}.v19-hero-top{display:flex;align-items:center;justify-content:space-between;gap:16px;color:rgba(255,255,255,.72);font-size:12px}.v19-hero-top>b{display:flex;align-items:center;gap:7px;font-weight:600}.v19-hero-top>b i{width:8px;height:8px;border-radius:50%;background:var(--brand-mint);box-shadow:0 0 0 5px rgba(97,212,196,.12)}
.v19-hero-main{display:grid;grid-template-columns:minmax(330px,.75fr) minmax(520px,1.25fr);gap:clamp(28px,4vw,58px);align-items:center}
.v19-hero-copy{display:grid;align-content:center}.v19-hero-brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}.v19-hero-brand .hero-mark{width:64px;height:64px;border:1px solid rgba(255,255,255,.15);box-shadow:none}.hero-signature{font-size:60px;color:#fff}.v19-hero-brand small{display:block;margin-top:3px;color:rgba(255,255,255,.55);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.v19-hero-kicker{color:var(--brand-mint);font-size:13px;font-weight:700;margin-bottom:10px}.v19-hero-copy h1{margin:0;font-size:clamp(43px,4vw,68px);line-height:1.2;letter-spacing:-.04em}.v19-hero-copy h1 em{font-style:normal;color:var(--brand-mint)}.v19-hero-copy>p{max-width:620px;margin:18px 0 0;color:rgba(255,255,255,.72);font-size:16px;line-height:1.95}
.v19-workspace-preview{border:1px solid rgba(255,255,255,.18);border-radius:23px;overflow:hidden;background:#f5f9f9;color:var(--brand-navy);box-shadow:0 36px 90px rgba(0,12,18,.42);transform:perspective(1300px) rotateY(-1deg)}
.v19-preview-top{height:48px;padding:0 17px;display:flex;align-items:center;gap:9px;background:#fff;border-bottom:1px solid #dce7e8;color:#789095;font-size:10px}.v19-preview-top .mini-brand{margin-inline-end:auto;display:flex;align-items:center;gap:7px;color:var(--brand-navy)}.mini-mark{width:19px;height:19px;border-radius:6px;background:linear-gradient(145deg,var(--brand-navy),var(--brand-teal));position:relative}.mini-mark:after{content:"";position:absolute;inset:5px 4px;border-bottom:2px solid var(--brand-mint);border-right:2px solid #fff}.v19-preview-top>i{width:7px;height:7px;border-radius:50%;background:#cbd8da}.v19-preview-body{display:grid;grid-template-columns:52px 1fr;min-height:340px}.v19-preview-body>nav{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 8px;background:var(--brand-navy)}.v19-preview-body>nav span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:rgba(255,255,255,.62)}.v19-preview-body>nav span.active{background:var(--brand-teal);color:#fff}.v19-preview-body>main{padding:20px;background:linear-gradient(180deg,#f8fbfb,#edf4f5)}.v19-preview-body>main>header{display:flex;justify-content:space-between;align-items:flex-start}.v19-preview-body>main>header div{display:grid;gap:3px}.v19-preview-body>main>header small{color:#789095;font-size:9px}.v19-preview-body>main>header strong{font-size:17px}.v19-preview-body>main>header>span{padding:5px 9px;border-radius:999px;background:#e6f4f1;color:#0c6b63;font-size:9px;font-weight:700}
.v19-preview-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.v19-preview-kpis article{padding:12px;border:1px solid #dfe9ea;border-radius:13px;background:#fff}.v19-preview-kpis small,.v19-preview-kpis span{display:block;color:#7b8f93;font-size:8px}.v19-preview-kpis strong{display:block;margin:5px 0;color:var(--brand-teal);font-size:23px}.v19-preview-grid{display:grid;grid-template-columns:1.6fr .7fr;gap:10px}.v19-preview-grid>section,.v19-preview-grid>aside{border:1px solid #dfe9ea;border-radius:14px;background:#fff;padding:12px}.v19-preview-grid>section>header{display:flex;justify-content:space-between;font-size:10px}.v19-preview-grid>section>header span{color:var(--brand-teal)}.preview-task{display:grid;grid-template-columns:24px 1fr 20px;gap:8px;align-items:center;padding:9px 0;border-top:1px solid #edf2f3}.preview-task:first-of-type{margin-top:8px}.preview-task>b{color:#9aabad;font-size:9px}.preview-task p{margin:0}.preview-task p strong{display:block;font-size:9px}.preview-task p small{color:#85979a;font-size:7px}.preview-task>i{width:18px;height:18px;border-radius:6px;border:1px solid #d7e3e5;display:grid;place-items:center;font-size:9px;font-style:normal}.preview-task.done>i{background:var(--brand-teal);border-color:var(--brand-teal);color:#fff}.v19-preview-grid>aside{text-align:center}.v19-preview-grid>aside>span{font-size:8px;color:#789095}.v19-preview-grid>aside>strong{display:block;font-size:38px;color:var(--brand-teal);line-height:1.1;margin-top:7px}.v19-preview-grid>aside>small{color:#789095;font-size:8px}.v19-preview-grid>aside>p{font-size:9px;font-weight:700}.v19-preview-grid>aside>div{height:5px;border-radius:99px;background:#e5eeee;overflow:hidden}.v19-preview-grid>aside>div i{display:block;width:67%;height:100%;background:var(--brand-teal)}.v19-preview-grid>aside>em{font-size:7px;color:#789095;font-style:normal}
.v19-hero-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v19-hero-footer span{padding:11px 13px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.055);color:rgba(255,255,255,.75);font-size:11px}.v19-hero-footer b{color:var(--brand-mint);margin-inline-end:7px}

.v19-sidebar-brand{padding:7px 7px 22px}.sidebar-portal-mark{width:46px;height:46px;border-radius:14px;padding:8px 9px 9px;box-shadow:none}.sidebar-portal-mark>i{width:5px}.sidebar-portal-mark>i:nth-child(1){height:18px}.sidebar-portal-mark>i:nth-child(2){height:23px}.sidebar-portal-mark>i:nth-child(3){height:29px}.sidebar-portal-mark>b{width:25px;height:3px;bottom:7px}.sidebar-signature{font-size:34px!important;color:#fff!important;line-height:.9}.v19-sidebar-brand small{font-size:10px;opacity:.58}.sidebar{background:linear-gradient(180deg,#092a36 0%,#0b3e47 58%,#0b5a56 100%)}.nav-btn.active{background:rgba(97,212,196,.13);box-shadow:inset -3px 0 0 var(--brand-mint)}.nav-btn.active .nav-icon{background:var(--brand-teal)}

.content-composer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.content-composer .span-2{grid-column:1/-1}.content-title-field input{font-size:17px;font-weight:600}.content-composer label>small{color:var(--muted);font-size:11px;font-weight:500}.content-course-scope{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:15px;background:var(--primary-soft)}.content-course-scope-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900}.content-course-scope strong{display:block}.content-course-scope p{margin:3px 0 0;color:var(--muted);font-size:12px}.content-audience-picker{margin:0}.content-audience-picker .audience-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.content-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.content-card{display:flex;flex-direction:column;gap:10px}.content-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.content-audience-badge{padding:5px 9px;border-radius:999px;background:#edf3f4;color:#506b70;font-size:11px;font-weight:700}.content-card .card-footer{margin-top:auto}

@media(max-width:1180px){.login-v19{grid-template-columns:minmax(360px,.82fr) minmax(560px,1.18fr)}.v19-hero-main{grid-template-columns:1fr}.v19-hero-copy{display:none}.v19-workspace-preview{transform:none}.content-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:880px){.login-v19{display:flex;flex-direction:column;min-height:100vh;overflow:auto}.login-v19__hero{order:1;min-height:390px;padding:26px 22px}.login-v19__access{order:2;min-height:auto;padding:34px 20px 62px}.v19-hero-main{display:block}.v19-workspace-preview{max-width:680px;margin:auto}.v19-hero-footer{display:none}.login-v19__access .login-credit{bottom:18px}.content-audience-picker .audience-picker-grid{grid-template-columns:1fr}.content-library-grid{grid-template-columns:1fr}}
@media(max-width:620px){.login-v19__hero{display:none}.login-v19__access{min-height:100vh}.v19-brand-lockup{grid-template-columns:auto 1fr}.v19-version{display:none}.riwaq-signature{font-size:44px}.content-composer{grid-template-columns:1fr}.content-composer .span-2{grid-column:auto}.content-composer .composer-grid{grid-template-columns:1fr}.content-library-grid{grid-template-columns:1fr}}


/* v4.20 — supervisor workspace and refined educational-administration identity */
.riwaq-name-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.brand-program{font-size:16px;font-weight:800;color:var(--brand-teal);white-space:nowrap}.brand-primary-slogan{font-size:11px!important;color:#6d8287!important;font-weight:700!important}.riwaq-signature{font-family:"Noto Kufi Arabic Extra Bold","Noto Kufi Arabic","Noto Sans Arabic","Tahoma",sans-serif!important;font-weight:800!important;letter-spacing:-.035em!important;line-height:.95!important}.v19-brand-copy{gap:8px}.hero-name-line{gap:14px}.hero-program{font-size:20px;color:var(--brand-mint)}.v19-hero-brand small{font-size:12px!important;letter-spacing:0!important;text-transform:none!important;color:rgba(255,255,255,.68)!important;margin-top:10px!important}.v19-hero-copy h1{font-size:clamp(38px,3.35vw,59px)!important;letter-spacing:-.025em!important}.sidebar-name-line{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.sidebar-name-line>span{font-size:10px;font-weight:800;color:var(--brand-mint)}.v19-sidebar-brand small{max-width:150px;line-height:1.55!important}
.supervisor-profile-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:17px;align-items:center;padding:20px 22px;margin:0 0 20px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--primary-soft) 55%,var(--surface)));box-shadow:var(--shadow)}.supervisor-profile-card.empty{border-style:dashed}.supervisor-profile-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:27px;font-weight:900}.supervisor-profile-copy h3{margin:5px 0 6px;font-size:20px}.supervisor-profile-copy p{margin:0;color:var(--muted);line-height:1.75}.supervisor-profile-meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:9px;color:var(--muted);font-size:12px}.supervisor-profile-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.btn.whatsapp{background:#e9f8ef!important;border-color:#a6dec0!important;color:#08783f!important}.btn.whatsapp:hover{background:#d9f2e4!important}.meeting-link{display:inline-flex;margin:8px 0 3px;color:var(--primary);font-weight:800;text-decoration:none}.meeting-link:hover{text-decoration:underline}.readonly-supervisor{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:9px 13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.whatsapp-preview-note{display:flex;align-items:flex-start;gap:12px;padding:13px;border:1px solid #b8e4ca;border-radius:13px;background:#effaf4}.whatsapp-preview-note>span{padding:6px 10px;border-radius:999px;background:#0b8146;color:#fff;font-weight:800}.whatsapp-preview-note p{margin:2px 0;color:#45695a;line-height:1.7}.whatsapp-composer textarea{min-height:220px;line-height:1.9}.meeting-cards .meeting-card{border-top:3px solid color-mix(in srgb,var(--primary) 60%,transparent)}
@media(max-width:760px){.supervisor-profile-card{grid-template-columns:48px 1fr}.supervisor-profile-icon{width:46px;height:46px}.supervisor-profile-actions{grid-column:1/-1;justify-content:stretch}.supervisor-profile-actions .btn{flex:1}.brand-program{font-size:13px}.hero-program{font-size:16px}}

/* v4.21 — academic identity reset, section-aware interface, editable library, decision assistant */
html{font-family:"IBM Plex Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif}
.riwaq-signature{font-family:"Reem Kufi Ink","IBM Plex Sans Arabic",Tahoma,sans-serif!important;font-weight:400!important;letter-spacing:0!important;line-height:1!important}

/* Section identity: the whole workspace and right sidebar follow the student's section. */
body[data-section="gen-m"]{--primary:#168274;--primary-strong:#0c5e57;--primary-soft:#e6f5f1;--accent:#d2a84a;--sidebar:#0d4645;--section-canvas:#f3f8f7;--section-glow:#9ad8ce}
body[data-section="gen-f"]{--primary:#a13f77;--primary-strong:#722a55;--primary-soft:#f8eaf2;--accent:#d5a956;--sidebar:#5a2948;--section-canvas:#fbf5f8;--section-glow:#e5a9ca}
body[data-section="high-m"]{--primary:#2a67c6;--primary-strong:#1c427f;--primary-soft:#eaf1ff;--accent:#42b6ae;--sidebar:#183965;--section-canvas:#f4f7fc;--section-glow:#a7c5f1}
body[data-section="high-f"]{--primary:#a13959;--primary-strong:#71263e;--primary-soft:#faeaf0;--accent:#d7a85a;--sidebar:#57253a;--section-canvas:#fbf5f7;--section-glow:#e3a7ba}
.app{background:linear-gradient(160deg,var(--section-canvas) 0%,var(--bg) 48%,color-mix(in srgb,var(--primary-soft) 34%,var(--bg)) 100%)}
.sidebar{background:linear-gradient(180deg,color-mix(in srgb,var(--sidebar) 96%,#fff) 0%,var(--sidebar) 58%,color-mix(in srgb,var(--sidebar) 82%,#000) 100%)!important}
.sidebar:before{content:"";position:absolute;inset:0 0 auto 0;height:190px;background:radial-gradient(circle at 75% 0,color-mix(in srgb,var(--section-glow) 24%,transparent),transparent 68%);pointer-events:none}
.sidebar>*{position:relative;z-index:1}
.nav-btn.active{background:color-mix(in srgb,var(--primary) 28%,transparent)!important;box-shadow:inset -3px 0 0 var(--accent)!important}
.nav-btn.active .nav-icon{background:var(--primary)!important}
.topbar{border-top:3px solid var(--primary);background:color-mix(in srgb,var(--section-canvas) 88%,transparent)}
.page-head h2,.topbar-title h1{color:color-mix(in srgb,var(--primary-strong) 75%,var(--text))}
.platform-credit{border-color:color-mix(in srgb,var(--primary) 28%,var(--line));color:var(--primary-strong)}

/* Login: no miniature product screenshot; the academic path is the visual anchor. */
.login-v21__hero{background:linear-gradient(142deg,#071f2b 0%,#0a3740 48%,#0b655e 100%);padding:clamp(38px,4.5vw,74px) clamp(38px,5.2vw,92px)}
.v21-hero-top{padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12)}
.v21-hero-main{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.78fr);gap:clamp(35px,5vw,82px);align-items:center;min-height:0}
.v21-identity-block{max-width:720px}
.v21-hero-brand{margin-bottom:28px}.v21-hero-brand .hero-signature{font-size:clamp(62px,6.2vw,96px);text-shadow:0 7px 24px rgba(0,0,0,.2)}
.v21-hero-brand .hero-program{font-size:clamp(18px,1.5vw,25px)}
.v21-hero-brand small{font-size:14px!important;line-height:1.8!important}
.v21-identity-statement{max-width:670px;margin:0;color:#fff;font-size:clamp(34px,3.4vw,58px);font-weight:700;line-height:1.55;letter-spacing:-.03em}
.v21-identity-description{max-width:650px;margin:24px 0 0;color:rgba(255,255,255,.7);font-size:16px;line-height:2}
.v21-academic-path{position:relative;padding:28px 28px 24px;border:1px solid rgba(255,255,255,.15);border-radius:26px;background:linear-gradient(160deg,rgba(255,255,255,.105),rgba(255,255,255,.04));box-shadow:0 34px 75px rgba(0,15,20,.25);backdrop-filter:blur(12px)}
.v21-academic-path header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:18px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.12)}
.v21-academic-path header span{color:var(--brand-mint);font-size:12px;font-weight:700}.v21-academic-path header strong{font-size:18px}
.v21-path-line{position:absolute;right:49px;top:97px;bottom:47px;width:1px;background:linear-gradient(var(--brand-mint),rgba(255,255,255,.12))}
.v21-academic-path article{position:relative;display:grid;grid-template-columns:43px 1fr;gap:16px;padding:17px 0}
.v21-academic-path article>b{position:relative;z-index:1;width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:#0b4f4c;border:1px solid rgba(255,255,255,.18);color:var(--brand-mint);font-size:12px}
.v21-academic-path article strong{display:block;font-size:15px;margin-bottom:4px}.v21-academic-path article p{margin:0;color:rgba(255,255,255,.62);font-size:12px;line-height:1.7}
.v21-hero-footer{position:relative;z-index:2}
.v21-hero-footer span{background:rgba(255,255,255,.045)}
.v19-brand-lockup .riwaq-signature{font-size:58px}.sidebar-signature{font-size:39px!important}

/* Library actions */
.content-card .row-actions{display:flex;gap:7px;flex-wrap:wrap}.content-card .card-footer{align-items:center}

/* Academic assistant: decision-oriented workspace. */
.assistant-hero-v21{grid-template-columns:minmax(0,1fr) auto;background:linear-gradient(130deg,var(--primary-strong),var(--primary) 64%,color-mix(in srgb,var(--primary) 75%,var(--section-glow)));overflow:hidden;position:relative}
.assistant-hero-v21:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;left:-110px;top:-180px;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 54px rgba(255,255,255,.025)}
.assistant-hero-v21>*{position:relative;z-index:1}.assistant-hero-v21 h2{max-width:760px;font-size:clamp(28px,3vw,42px);line-height:1.45}.assistant-hero-v21 p{max-width:770px;line-height:1.9}
.assistant-kpis-v21{grid-template-columns:repeat(2,minmax(115px,1fr));min-width:260px}.assistant-kpis-v21 div{background:rgba(255,255,255,.09)}
.assistant-command-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.assistant-command{min-height:128px;display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:center;text-align:right;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text);box-shadow:0 8px 22px rgba(20,55,62,.04);transition:.2s}
.assistant-command:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 14px 28px color-mix(in srgb,var(--primary) 10%,transparent)}.assistant-command.featured{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));background:linear-gradient(135deg,var(--primary-soft),var(--panel))}
.assistant-command-code{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-strong);font-weight:900;font-size:15px}.assistant-command.featured .assistant-command-code{background:var(--primary);color:#fff}
.assistant-command h3{margin:0 0 5px;font-size:17px}.assistant-command p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}
.assistant-overview-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:16px;margin-bottom:16px}.assistant-priority-card{border-top:4px solid var(--primary)}.eyebrow.soft{background:var(--primary-soft);border-color:transparent;color:var(--primary-strong);padding:5px 9px}.assistant-priority-card h3{margin:8px 0 0}.assistant-priority-card>p{color:var(--muted);line-height:1.8}
.assistant-pulse-list{display:grid;gap:0}.assistant-pulse-list>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid var(--line)}.assistant-pulse-list>div:first-child{border-top:0}.assistant-pulse-list span{color:var(--muted)}.assistant-pulse-list strong{text-align:left}
.assistant-result-v21{min-height:220px}.assistant-result-v21>.panel-head p{margin:4px 0 0;color:var(--muted)}
.assistant-recommendation{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px;border-radius:18px;background:linear-gradient(135deg,var(--primary-soft),var(--panel2));border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line))}.assistant-recommendation h3{font-size:24px;margin:12px 0 7px}.assistant-recommendation p{margin:0 0 14px;color:var(--muted);line-height:1.75}.assistant-recommendation-actions{display:grid;gap:9px;min-width:145px}
.assistant-timeline{display:grid;gap:9px}.assistant-timeline article{display:grid;grid-template-columns:43px 1fr auto;gap:13px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}.assistant-timeline article>b,.assistant-alert-list article>b{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-strong)}.assistant-timeline article p{margin:3px 0 0;color:var(--muted);font-size:12px}
.assistant-alert-list{display:grid;gap:9px}.assistant-alert-list article{display:grid;grid-template-columns:42px 1fr;gap:13px;padding:14px;border:1px solid #f4d39b;border-radius:14px;background:#fff9ec}.assistant-alert-list article>b{background:#fff0c8;color:#865d00}.assistant-alert-list p{margin:4px 0 0;color:#816f48}
.assistant-meeting-brief{padding:20px;border:1px solid var(--line);border-radius:17px;background:var(--panel2)}.assistant-meeting-brief h4{font-size:21px;margin:0 0 14px}.assistant-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:18px}.assistant-checklist span{padding:11px;border-radius:12px;background:var(--panel);border:1px solid var(--line);color:var(--muted)}

@media(max-width:1180px){.v21-hero-main{grid-template-columns:1fr}.v21-identity-block{max-width:none}.v21-academic-path{max-width:760px}.assistant-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assistant-overview-grid{grid-template-columns:1fr}}
@media(max-width:880px){.login-v21__hero{min-height:auto}.v21-identity-statement{font-size:34px}.v21-academic-path{display:none}.assistant-hero-v21{grid-template-columns:1fr}.assistant-kpis-v21{grid-template-columns:repeat(4,1fr);min-width:0}}
@media(max-width:680px){.assistant-command-grid{grid-template-columns:1fr}.assistant-command{min-height:auto}.assistant-kpis-v21{grid-template-columns:repeat(2,1fr)}.assistant-recommendation{align-items:stretch;flex-direction:column}.assistant-recommendation-actions{display:flex;min-width:0}.assistant-recommendation-actions .btn{flex:1}.assistant-timeline article{grid-template-columns:38px 1fr}.assistant-timeline article .btn{grid-column:2}.assistant-checklist{grid-template-columns:1fr}}

/* v4.22 — balanced content composer and real academic file uploads */
.content-composer-v22{gap:18px}.content-core-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.content-field-card{display:grid;grid-template-rows:auto 58px auto;gap:8px;min-width:0}.content-field-card>span{font-weight:800}.content-field-card select{width:100%;height:58px;margin:0}.content-field-card small{min-height:18px}.content-source-field{display:grid;gap:8px}.content-source-field>small{color:var(--muted);font-size:12px}.content-upload-section{display:grid;gap:12px}.content-upload-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.content-upload-heading strong,.content-upload-heading small{display:block}.content-upload-heading small{margin-top:3px;color:var(--muted)}.content-upload-heading>span{padding:7px 11px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-weight:900;font-size:12px}.content-dropzone{position:relative;display:grid;place-items:center;text-align:center;gap:7px;min-height:178px;padding:24px;border:2px dashed color-mix(in srgb,var(--primary) 36%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--primary-soft) 42%,var(--card));cursor:pointer;transition:.18s ease}.content-dropzone:hover,.content-dropzone.dragging{border-color:var(--primary);background:var(--primary-soft);transform:translateY(-1px)}.content-dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-cloud-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:27px;font-weight:900;box-shadow:0 10px 22px color-mix(in srgb,var(--primary) 22%,transparent)}.content-dropzone strong{font-size:16px}.content-dropzone small{max-width:620px;color:var(--muted);line-height:1.8}.selected-upload-file,.current-upload-file{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.selected-upload-file>div,.current-upload-file>div{min-width:0;flex:1}.selected-upload-file strong,.current-upload-file strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-upload-file small,.current-upload-file small{display:block;margin-top:3px;color:var(--muted)}.selected-upload-file button{width:34px;height:34px;border:0;border-radius:10px;background:#fff0ee;color:#b83a2f;font-size:22px;cursor:pointer}.file-kind-icon{min-width:52px;height:42px;padding:0 8px;border-radius:11px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:11px;font-weight:900}.content-upload-error{margin:0;padding:10px 12px;border-radius:12px;background:#fff0ee;color:#a83229;font-weight:700;font-size:12px}.content-card .chips{flex-wrap:wrap}
@media(max-width:760px){.content-core-fields{grid-template-columns:1fr}.content-dropzone{min-height:150px;padding:20px 14px}}


/* v4.23 — focused dashboard and white adaptive Riwaq identity */
.login-v23{min-height:100vh;display:grid;grid-template-columns:minmax(600px,1.18fr) minmax(420px,.82fr);direction:ltr;background:#eef3f4;overflow:hidden}
.login-v23__identity,.login-v23__access{direction:rtl;min-width:0}
.login-v23__identity{position:relative;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;padding:clamp(32px,4.8vw,78px);background:linear-gradient(145deg,#071f2c 0%,#0b3f49 52%,#0e6b63 100%);color:#fff}
.login-v23__identity:before{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(255,255,255,.09);border-radius:50%;left:-250px;bottom:-340px;box-shadow:0 0 0 72px rgba(255,255,255,.018),0 0 0 144px rgba(255,255,255,.012)}
.login-v23__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 88%)}
.login-v23__university,.login-v23__message,.login-v23__identity-footer{position:relative;z-index:1}
.login-v23__university{font-size:13px;color:rgba(255,255,255,.66);font-weight:700}
.login-v23__message{align-self:center;max-width:760px}
.riwaq-lockup-white{display:flex;align-items:flex-end;gap:20px;color:#fff}
.riwaq-wordmark-white{font-family:"Reem Kufi Ink","IBM Plex Sans Arabic",sans-serif;color:#fff;font-size:clamp(76px,8vw,128px);font-weight:400;line-height:.85;letter-spacing:-.055em;text-shadow:0 10px 28px rgba(0,0,0,.18)}
.riwaq-lockup-white>span{font-size:clamp(18px,1.65vw,25px);font-weight:800;padding-bottom:9px;border-inline-start:1px solid rgba(255,255,255,.38);padding-inline-start:18px}
.login-v23__slogan{margin:26px 0 0;color:#9fe1d8;font-size:clamp(17px,1.5vw,23px);font-weight:700}
.login-v23__message h1{max-width:780px;margin:28px 0 14px;font-size:clamp(35px,4.1vw,64px);line-height:1.35;letter-spacing:-.035em}
.login-v23__description{max-width:690px;margin:0;color:rgba(255,255,255,.66);font-size:clamp(15px,1.25vw,19px);line-height:1.9}
.login-v23__identity-footer{align-self:end;color:rgba(255,255,255,.48);font-size:12px}
.login-v23__access{position:relative;display:flex;align-items:center;justify-content:center;padding:clamp(30px,5vw,76px);background:linear-gradient(180deg,#fbfcfc,#edf3f4)}
.login-v23__access:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 40% 15%,rgba(15,118,110,.08),transparent 34%)}
.login-v23__access-inner{position:relative;z-index:1;width:min(480px,100%)}
.login-v23__access-heading{margin-bottom:24px}.login-v23__access-heading>span{font-size:12px;color:#177c72;font-weight:900}.login-v23__access-heading h2{margin:9px 0 7px;font-size:34px}.login-v23__access-heading p{margin:0;color:var(--muted);line-height:1.8}
.login-card-v23{width:100%;padding:25px;border-radius:22px;box-shadow:0 25px 70px rgba(15,48,56,.09)}
.login-card-v23 .login-input-wrap input{min-height:56px;background:#f9fbfb}.login-submit-v23{min-height:54px;border-radius:14px!important}
.demo-accounts-v23{background:#f8fbfb}.login-v23__access .login-credit{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:11px;color:#71868a;white-space:nowrap}
.sidebar-brand-v23{position:relative;z-index:1;display:block;padding:8px 10px 20px}
.sidebar-brand-copy-v23{display:grid;gap:8px}.sidebar-lockup-v23{display:flex;align-items:flex-end;gap:10px}.sidebar-wordmark-v23{font-size:46px;line-height:.85;text-shadow:none}.sidebar-lockup-v23>span{font-size:12px;padding:0 9px 3px 0;border-inline-start:1px solid rgba(255,255,255,.34);padding-inline-start:9px}.sidebar-brand-copy-v23 small{color:rgba(255,255,255,.54);font-size:10px;line-height:1.6}

.dashboard-v23{max-width:1500px;margin:auto}.dashboard-focus-v23{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:30px 32px;border-radius:24px;background:linear-gradient(130deg,var(--primary-strong),var(--primary));color:#fff;box-shadow:0 20px 48px color-mix(in srgb,var(--primary) 20%,transparent);margin-bottom:14px}
.dashboard-focus-v23:after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.12);border-radius:50%;left:-120px;top:-180px;box-shadow:0 0 0 50px rgba(255,255,255,.025)}.dashboard-focus-v23>*{position:relative;z-index:1}.dashboard-kicker-v23{font-size:12px;font-weight:900;color:rgba(255,255,255,.66)}.dashboard-focus-v23 h2{font-size:clamp(25px,3vw,40px);margin:8px 0 6px}.dashboard-focus-v23 p{margin:0;color:rgba(255,255,255,.72);line-height:1.75}.dashboard-focus-actions-v23{display:flex;gap:9px;flex-wrap:wrap}.dashboard-focus-actions-v23 .btn{white-space:nowrap}.dashboard-primary-v23{background:#fff;color:var(--primary-strong);font-weight:900}.dashboard-secondary-v23{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.24)}
.dashboard-metrics-v23{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.dashboard-metrics-v23 article{display:flex;align-items:baseline;gap:9px;padding:14px 17px;border:1px solid var(--line);border-radius:15px;background:var(--panel)}.dashboard-metrics-v23 strong{font-size:24px}.dashboard-metrics-v23 span{color:var(--muted);font-size:13px}.dashboard-metrics-v23 .attention{border-color:#f0c7be;background:#fff8f6}.dashboard-metrics-v23 .attention strong{color:var(--danger)}
.dashboard-grid-v23{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:14px}.dashboard-panel-v23{box-shadow:0 10px 28px rgba(20,55,62,.045)}.dashboard-panel-v23 .panel-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.dashboard-upcoming-v23{display:grid}.dashboard-upcoming-v23>button{display:grid;grid-template-columns:94px 1fr auto;gap:14px;align-items:center;width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text);text-align:right;padding:14px 4px}.dashboard-upcoming-v23>button:first-child{border-top:0}.dashboard-upcoming-v23>button:hover{color:var(--primary)}.dashboard-upcoming-v23 small{display:block;color:var(--muted);margin-top:4px}.dashboard-date-v23{font-size:12px;color:var(--primary-strong);font-weight:900;background:var(--primary-soft);padding:7px 9px;border-radius:10px;text-align:center}.dashboard-upcoming-v23 i{font-style:normal;color:var(--muted)}
.dashboard-status-v23{display:grid}.dashboard-status-v23>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.dashboard-status-v23>div:first-child{border-top:0}.dashboard-status-v23 span{color:var(--muted);font-size:13px}.dashboard-status-v23 strong{text-align:left}.dashboard-status-v23 button{border:0;background:var(--primary-soft);color:var(--primary-strong);border-radius:9px;padding:6px 9px;font-size:11px;font-weight:900}
.assistant-modal-v23{display:grid;gap:16px}.assistant-modal-tabs-v23{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.assistant-modal-tabs-v23 button{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:11px;padding:10px;font-weight:800}.assistant-modal-tabs-v23 button.active{background:var(--primary);border-color:var(--primary);color:#fff}.assistant-compact-list-v23{display:grid;gap:8px}.assistant-compact-list-v23 article{display:grid;grid-template-columns:34px 1fr auto;gap:11px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--panel2)}.assistant-compact-list-v23 article>b{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-strong)}.assistant-compact-list-v23 small{display:block;color:var(--muted);margin-top:3px}.assistant-compact-list-v23 button{border:0;border-radius:9px;background:var(--primary-soft);color:var(--primary-strong);padding:7px 10px;font-weight:900}.assistant-compact-meeting-v23{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}.assistant-compact-meeting-v23 h4{font-size:22px;margin:12px 0 5px}.assistant-compact-meeting-v23 p{color:var(--muted)}
@media(max-width:1050px){.login-v23{grid-template-columns:1fr}.login-v23__identity{min-height:440px}.login-v23__access{min-height:600px}.dashboard-grid-v23{grid-template-columns:1fr}}
@media(max-width:720px){.login-v23__identity{min-height:340px;padding:28px 22px}.riwaq-wordmark-white{font-size:72px}.riwaq-lockup-white>span{font-size:14px}.login-v23__message h1{font-size:29px}.login-v23__description{display:none}.login-v23__access{padding:38px 20px 70px;min-height:auto}.dashboard-focus-v23{align-items:flex-start;flex-direction:column;padding:24px}.dashboard-metrics-v23{grid-template-columns:1fr}.dashboard-upcoming-v23>button{grid-template-columns:78px 1fr}.dashboard-upcoming-v23 i{display:none}.assistant-modal-tabs-v23{grid-template-columns:repeat(2,1fr)}}

/* v4.24 — balanced academic identity, uploaded white wordmark, plan export */
.login-v24{min-height:100vh;display:grid;grid-template-columns:minmax(560px,1.08fr) minmax(420px,.82fr);direction:ltr;background:#edf3f4;overflow:hidden}
.login-v24__identity,.login-v24__access{direction:rtl;min-width:0}
.login-v24__identity{position:relative;display:grid;grid-template-rows:1fr auto;overflow:hidden;padding:clamp(38px,5vw,76px);background:linear-gradient(135deg,#050b17 0%,#0a1326 38%,#101d38 70%,#17284a 100%);color:#fff}
.login-v24__identity:before{content:"";position:absolute;inset:-12% auto auto -10%;width:520px;height:520px;border-radius:42px;background:radial-gradient(circle at 35% 35%,rgba(107,135,205,.20),rgba(107,135,205,0) 58%),radial-gradient(circle at 70% 70%,rgba(208,169,101,.10),rgba(208,169,101,0) 52%);filter:blur(8px);opacity:.95}.login-v24__identity:after{content:"";position:absolute;inset:auto -8% -18% auto;width:76%;height:64%;border-radius:44px 44px 0 0;border:1px solid rgba(168,185,228,.14);box-shadow:0 0 0 18px rgba(255,255,255,.03),0 0 0 56px rgba(255,255,255,.018)}
.login-v24__grid{position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.14) 0 2px,transparent 3px) 0 0/34px 34px,radial-gradient(circle at 84% 22%,rgba(255,214,145,.16) 0 2px,transparent 3px) 0 0/38px 38px,repeating-linear-gradient(115deg,rgba(255,255,255,.06) 0 1px,transparent 1px 34px),linear-gradient(180deg,rgba(255,255,255,.05),transparent 28%,transparent 72%,rgba(255,255,255,.03));opacity:.42;mask-image:linear-gradient(to bottom,#000,transparent 96%)}
.login-v24__message,.login-v24__identity-footer{position:relative;z-index:1}
.login-v24__university{display:none}
.login-v24__message{align-self:center;justify-self:center;max-width:860px;display:grid;gap:16px;justify-items:center;text-align:center;padding-block:22px}
.login-v24__brand{display:grid;justify-items:center;align-items:center;gap:8px;min-height:auto;margin-bottom:2px}
.riwaq-logo-white{display:block;object-fit:contain;filter:brightness(0) invert(1);opacity:1}
.login-riwaq-logo{width:clamp(245px,24vw,380px);height:auto;max-height:320px;object-position:center;filter:none!important;mix-blend-mode:normal!important;drop-shadow:0 20px 42px rgba(0,0,0,.18)}
.login-v24__brand>span{display:none}
.login-v24__slogan{margin:0;color:#f1f4fb;font-size:clamp(18px,1.55vw,24px);font-weight:900;line-height:1.8;background:rgba(255,255,255,.07);border:1px solid rgba(181,197,236,.20);padding:12px 22px;border-radius:18px;backdrop-filter:blur(8px)}
.login-v24__message h1{margin:4px 0 0;max-width:760px;font-size:clamp(40px,4.1vw,66px);line-height:1.28;letter-spacing:-.04em;text-wrap:balance}
.login-v24__description{max-width:720px;margin:0;color:rgba(255,255,255,.84);font-size:clamp(16px,1.22vw,20px);line-height:1.95}
.login-v24__identity-footer{align-self:end;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 34px;color:rgba(236,241,255,.76);font-size:12px;border-top:1px solid rgba(255,255,255,.14);padding-top:18px;text-align:center}
.login-v24__access{position:relative;display:flex;align-items:center;justify-content:center;padding:clamp(30px,5vw,72px);background:linear-gradient(180deg,#fbfcff,#eef1f7)}
.login-v24__access:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 40% 12%,rgba(36,62,119,.09),transparent 34%)}
.login-v24__access-inner{position:relative;z-index:1;width:min(470px,100%)}
.login-v24__access-heading{margin-bottom:24px}.login-v24__access-heading>span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef0f6;color:#24355c;font-size:11px;font-weight:900}.login-v24__access-heading h2{margin:12px 0 7px;font-size:34px}.login-v24__access-heading p{margin:0;color:var(--muted);line-height:1.8}
.login-card-v24{width:100%;padding:25px;border-radius:22px;box-shadow:0 25px 70px rgba(15,48,56,.09)}
.login-card-v24 .login-input-wrap input{min-height:56px;background:#f9fbfb}.login-submit-v24{min-height:54px;border-radius:14px!important;display:flex;align-items:center;justify-content:center;gap:9px}.login-submit-v24 svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.demo-accounts-v24{background:#f8fbfb}.login-v24__access .login-credit{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:11px;color:#71868a;white-space:nowrap}
.sidebar-brand-v24{display:grid!important;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:12px;padding:5px 7px 20px!important}
.sidebar-riwaq-logo{width:78px;height:50px;object-position:right center}
.sidebar-brand-v24>div{min-width:0;display:grid;gap:4px}.sidebar-brand-v24 strong{font-size:13px!important;color:#fff}.sidebar-brand-v24 small{font-size:9px!important;color:rgba(255,255,255,.56);line-height:1.55}
.logout-btn{display:flex;align-items:center;justify-content:center;gap:10px}.logout-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.plan-export-actions{align-items:center}.plan-export-actions .btn{white-space:nowrap}
@media(max-width:1100px){.login-v24{grid-template-columns:1fr}.login-v24__identity{min-height:430px}.login-v24__access{min-height:610px}.login-v24__message h1{font-size:38px}}
@media(max-width:720px){.login-v24__identity{min-height:420px;padding:28px 22px}.login-v24__brand{min-height:auto;gap:0}.login-riwaq-logo{width:220px}.login-v24__brand>span{display:none}.login-v24__message h1{font-size:32px;margin-top:10px}.login-v24__description{display:block;font-size:14px}.login-v24__identity-footer{display:none}.login-v24__access{padding:38px 20px 70px;min-height:auto}.plan-export-actions{width:100%;flex-wrap:wrap}}

/* v4.25 — selective plan header and supervisor meetings inside the academic journey */
.plan-export-options{display:grid;gap:15px}.plan-header-choice{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--panel2);cursor:pointer}.plan-header-choice input{width:18px!important;height:18px!important;flex:0 0 18px}.plan-header-choice span{display:grid;gap:4px}.plan-header-choice strong{font-size:15px}.plan-header-choice small{color:var(--muted);line-height:1.65}.plan-header-preview{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;padding:6px}.plan-header-preview img{display:block;width:100%;height:auto;object-fit:contain}.plan-export-options .form-note{margin:0}.plan-export-options .form-note p{margin:5px 0 0}
.journey-meetings-panel{margin-top:18px;scroll-margin-top:94px}.journey-meetings-panel>.panel-head{align-items:flex-start}.journey-meetings-panel>.panel-head h3{font-size:22px;margin:5px 0}.journey-meetings-panel>.panel-head p{margin:0;color:var(--muted)}.journey-meeting-list{display:grid;gap:10px}.journey-meeting-row{display:grid;grid-template-columns:145px minmax(0,1fr) auto;gap:15px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--panel2)}.journey-meeting-row.next{border-color:color-mix(in srgb,var(--primary) 38%,var(--line));background:color-mix(in srgb,var(--primary-soft) 46%,var(--panel))}.journey-meeting-date{display:grid;gap:4px;padding-inline-end:14px;border-inline-end:1px solid var(--line)}.journey-meeting-date strong{font-size:13px;color:var(--primary-strong)}.journey-meeting-date span{font-size:12px;color:var(--muted)}.journey-meeting-copy{min-width:0}.journey-meeting-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.journey-meeting-title h4{margin:0;font-size:17px}.journey-meeting-copy p{margin:7px 0 0;color:var(--muted);line-height:1.65}.journey-meeting-copy small{display:block;margin-top:6px;color:var(--text)}.journey-meeting-row>.row-actions{justify-content:flex-end;flex-wrap:wrap}
@media(max-width:900px){.journey-meeting-row{grid-template-columns:1fr}.journey-meeting-date{display:flex;gap:10px;padding:0 0 10px;border-inline-end:0;border-bottom:1px solid var(--line)}.journey-meeting-row>.row-actions{justify-content:flex-start}.journey-meetings-panel>.panel-head{display:grid;gap:13px}.journey-meetings-panel>.panel-head>.row-actions{justify-content:flex-start}}

/* v4.28 — خيارات اتجاه تصدير الخطة وإظهار التكليف */
.plan-export-fieldset{margin:0;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.plan-export-fieldset legend{padding:0 7px;font-weight:900;color:var(--text)}
.plan-orientation-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.plan-option-card{position:relative;display:flex;align-items:center;gap:11px;min-height:78px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--panel2);cursor:pointer;transition:.18s ease}
.plan-option-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line))}
.plan-option-card:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface));box-shadow:inset 0 0 0 1px var(--primary)}
.plan-option-card input{width:18px!important;height:18px!important;flex:0 0 18px;accent-color:var(--primary)}
.plan-option-card span{display:grid;gap:3px}.plan-option-card strong{font-size:15px}.plan-option-card small{color:var(--muted);line-height:1.55}
.plan-export-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.plan-export-toggles .plan-header-choice{height:100%;align-items:flex-start}
@media(max-width:720px){.plan-orientation-options,.plan-export-toggles{grid-template-columns:1fr}}

/* v4.29 — مراجعة مسار المشاريع وتوحيد متابعة التقدم */
.project-auto-progress-note{display:grid;align-content:center;gap:3px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--panel2)}
.project-auto-progress-note small{color:var(--muted)}
.project-auto-progress-note strong{font-size:22px;color:var(--primary-strong)}
.project-auto-progress-note span{font-size:12px;color:var(--muted);line-height:1.55}
.project-detail-facts{grid-template-columns:repeat(4,minmax(88px,1fr))}
.project-task-main{min-width:0;flex:1}
.project-task-heading{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.project-task-heading h4{margin:0}
.project-task-progress{margin-top:11px;max-width:520px}
.project-member-progress-list{display:grid;gap:11px;margin-top:14px}
.project-member-progress{border:1px solid var(--line);border-radius:15px;padding:14px;background:var(--panel)}
.project-member-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.project-member-progress-head strong,.project-member-progress-head small{display:block}
.project-member-progress-head small,.project-member-progress>small{color:var(--muted);margin-top:5px}
.project-member-progress-body{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:12px}
.project-member-progress-body b{min-width:44px;text-align:center;color:var(--primary-strong)}
.project-task-actions .btn.danger{white-space:nowrap}
@media(max-width:780px){.project-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-member-progress-head{align-items:flex-start}.project-auto-progress-note{grid-column:1/-1}}
.project-detail-hero{grid-template-columns:1fr}
.project-detail-facts{width:100%}
/* v4.30: حسابات تجريبية مباشرة وواضحة */
.demo-accounts .demo-account{display:flex;align-items:center;justify-content:space-between;gap:12px}
.demo-account>span{display:grid;gap:2px;min-width:0}
.demo-account>span strong{font-size:13px;color:var(--text)}
.demo-account>span small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.demo-account>[data-login-email]{flex:0 0 auto;min-width:64px}


/* v4.32 — بنية تنقل مستقرة وعزل بيانات الإصدارات */
.login-v24__brand{min-height:auto;align-items:center;justify-content:center}
.login-riwaq-logo{width:clamp(280px,24vw,390px)!important;max-height:360px!important;object-fit:contain!important;object-position:center!important;filter:none!important;drop-shadow:0 16px 38px rgba(0,0,0,.2)}
.sidebar-brand-v24{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:7px!important;padding:0 8px 16px!important;text-align:center}
.sidebar-riwaq-logo{width:132px!important;height:142px!important;object-fit:contain!important;object-position:center!important;filter:none!important}
.sidebar-brand-v24>div{display:block!important;width:100%}.sidebar-brand-v24 small{display:block!important;font-size:9px!important;line-height:1.55;color:rgba(255,255,255,.68)!important}
.plan-table th.plan-col-topic,.plan-table th.plan-col-presenter,.plan-table th.plan-col-due{font-size:15px}
.plan-table td.plan-col-topic,.plan-table td.plan-col-presenter{font-size:14px;font-weight:650}
.plan-table td.plan-col-due{font-size:13.5px;font-weight:700}
.project-member-progress-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;overflow:visible!important}
.project-member-progress{min-width:0}.project-member-progress small{overflow-wrap:anywhere}
@media print{
  .plan-table th.plan-col-topic,.plan-table th.plan-col-presenter,.plan-table th.plan-col-due{font-size:11pt!important}
  .plan-table td.plan-col-topic,.plan-table td.plan-col-presenter{font-size:10.4pt!important;font-weight:700}
  .plan-table td.plan-col-due{font-size:10pt!important;font-weight:750}
}
@media(max-width:720px){.login-v24__brand{min-height:145px}.login-riwaq-logo{width:190px!important;max-height:180px!important}.sidebar-riwaq-logo{width:112px!important;height:116px!important}}


/* v4.33 — إنقاذ الواجهة ومنع خلط السلوك */
.riwaq-logo-metallic{display:block;object-fit:contain;mix-blend-mode:screen;filter:brightness(1.08) contrast(1.04);background:transparent!important}
.login-riwaq-logo{width:clamp(235px,23vw,360px)!important;max-height:285px!important;object-position:center!important}
.sidebar-brand-v24{padding:2px 8px 15px!important;gap:5px!important}
.sidebar-riwaq-logo{width:142px!important;height:154px!important;object-position:center!important}
.logout-btn{cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}
.logout-btn:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.3);transform:translateY(-1px)}
.logout-btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.plan-margin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.plan-margin-grid label{display:grid;gap:6px;font-weight:800;color:var(--text)}.plan-margin-grid input{text-align:center}.plan-margin-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.plan-margin-presets .chip{cursor:pointer}
@media(max-width:720px){.plan-margin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-riwaq-logo{width:210px!important;max-height:220px!important}.sidebar-riwaq-logo{width:120px!important;height:128px!important}}
/* شعار v4.33 المفرغ من المرفق الأصلي */
.riwaq-logo-metallic{mix-blend-mode:normal!important;filter:none!important;background:transparent!important}

/* v4.35 — includes retained v4.34 margin preview */
.plan-margin-live-preview{display:grid;gap:8px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.plan-margin-live-preview>small{color:var(--muted);line-height:1.7}
.plan-margin-preview-page{width:min(100%,360px);aspect-ratio:297/210;margin-inline:auto;padding:0;background:#fff;border:1px solid #c9d7d9;border-radius:8px;box-shadow:0 8px 20px rgba(13,53,57,.08);overflow:hidden}
.plan-margin-preview-content{height:calc(100% - 8px);min-height:46px;border:2px solid var(--primary);border-radius:5px;background:linear-gradient(180deg,rgba(23,124,114,.09),rgba(23,124,114,.03));display:grid;place-items:center;transition:margin .15s ease}
.plan-margin-preview-content span{font-size:.78rem;font-weight:800;color:var(--primary)}


/* v4.35 — projects clarity, assignees, modal return context */
.project-summary-strip{display:flex;gap:9px;flex-wrap:wrap;margin:-4px 0 16px}.project-summary-strip>span{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font-size:13px}.project-summary-strip b{color:var(--text);font-size:15px}.project-summary-strip .has-alert{background:#fff7e6;border-color:#efd79c;color:#8b6410}.project-card{padding:18px}.project-card-kicker{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-card .project-role{font-size:11px;padding:5px 8px}.project-card-head p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-compact-meta{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 12px}.project-compact-meta>span{padding:7px 10px;border-radius:10px;background:var(--panel2);border:1px solid var(--line);color:var(--muted);font-size:12px}.project-compact-meta b{color:var(--text);margin-inline-start:4px}.project-progress-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.project-progress-line>b{font-size:13px;color:var(--primary-strong)}.project-task-assignees{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:4px 0 8px;padding:7px 9px;border-radius:10px;background:var(--primary-soft);color:var(--primary-strong)}.project-task-assignees small{color:inherit;opacity:.75}.project-task-assignees strong{font-size:13px}.overview-assignees{margin:12px 0}.compact-project-hero{position:relative}.project-owner-tools{display:flex;gap:8px;flex-wrap:wrap}.project-collapsible{padding:0;overflow:hidden}.project-collapsible>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px}.project-collapsible>summary::-webkit-details-marker{display:none}.project-collapsible>summary span{display:grid;gap:3px}.project-collapsible>summary small{color:var(--muted);font-weight:400}.project-collapsible>summary>b{min-width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-strong)}.project-collapsible[open]>summary{border-bottom:1px solid var(--line)}.project-collapsible>.project-activity-list,.project-collapsible>.project-team-chips{padding:14px 18px}.modal[data-read-only="1"] form>footer{justify-content:flex-start}.modal[data-read-only="1"] #modalSubmit{min-width:150px}
@media(max-width:780px){.project-summary-strip{gap:6px}.project-summary-strip>span{font-size:12px}.project-owner-tools{grid-column:1/-1}.project-task-assignees{align-items:flex-start}.project-card .card-footer{align-items:flex-start;gap:10px}}


/* v4.37 — إصلاح مخرج صورة الخطة فقط. الشعار المرفق معتمد في واجهة الموقع، ولم يُضف إلى الخطة. */

/* v4.64 — centered login hero redesign */
.login-v24__identity{justify-items:center;text-align:center}
.login-v24__message>*{justify-self:center}
.login-v24__message h1 br{display:block}
.login-v24__description,.login-v24__slogan{margin-inline:auto}
@media (min-width: 1000px){.login-v24__message{margin-top:-12px}}


/* v4.64 — cleaner login identity */
.login-v24__logo-caption{font-size:clamp(22px,1.95vw,32px);font-weight:900;color:#ffffff;line-height:1.1;letter-spacing:.01em;text-shadow:0 8px 24px rgba(6,14,35,.24)}
.login-v24__identity-footer span{padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(219,228,255,.12)}
.login-v24__access-inner{padding-top:8px}
.sidebar-riwaq-logo{width:72px;height:72px;object-fit:contain;object-position:center}
.demo-launch-note{margin-top:6px}
@media(max-width:900px){.login-v24__identity{grid-template-rows:1fr auto;padding:28px 22px 24px}.login-v24__message{padding-block:10px}.login-v24__identity:after{width:92%;height:48%;inset:auto auto -10% 4%}.login-riwaq-logo{width:220px;max-height:240px}.login-v24__logo-caption{font-size:24px}}


/* v4.64 — uploaded logo mark + blue identity */
.login-v24__identity{box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.login-v24__message h1{color:#ffffff;text-shadow:0 8px 24px rgba(9,18,38,.14)}
.login-v24__description{color:rgba(245,248,255,.84)}
.sidebar-riwaq-logo{width:74px;height:74px;object-fit:contain;object-position:center}


/* v4.64 — darker login identity and matching controls */
.login-v24__brand{gap:0!important}
.login-v24__identity{background:linear-gradient(135deg,#050b17 0%,#0a1326 38%,#101d38 70%,#17284a 100%)!important}
.login-v24__access-heading>span{background:#eef0f6!important;color:#24355c!important;border:1px solid #dde2ec}
.login-v24__access:before{background:radial-gradient(circle at 40% 12%,rgba(36,62,119,.09),transparent 34%)!important}
.login-card-v24 .login-input-wrap:focus-within{border-color:#31466f!important;box-shadow:0 0 0 4px rgba(49,70,111,.10)!important}
.login-submit-v24{background:linear-gradient(135deg,#243b67,#111d36)!important;border:1px solid #a9874f!important;color:#fff!important;box-shadow:0 16px 34px rgba(13,25,49,.24)!important}
.login-submit-v24:hover{background:linear-gradient(135deg,#2b4779,#15233f)!important;transform:translateY(-1px)}
.login-submit-v24:active{transform:translateY(0)}
.login-v24__logo-caption{display:none!important}


/* v4.64 — exact supplied platform logo */
.login-riwaq-logo{width:clamp(250px,25vw,390px)!important;max-height:390px!important;object-fit:contain!important;object-position:center!important;mix-blend-mode:normal!important;filter:none!important;border-radius:22px}
.sidebar-riwaq-logo{width:96px!important;height:112px!important;object-fit:contain!important;object-position:center!important;filter:none!important;border-radius:12px}


/* v4.64 — unified automatic workflow */
.workflow-primary{background:linear-gradient(135deg,var(--primary),var(--primary-strong))!important;color:#fff!important;border-color:transparent!important;box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 24%,transparent)!important;font-weight:900}.workflow-primary:hover{transform:translateY(-1px);filter:brightness(.94)}.workflow-completed{background:#e8f6ed!important;color:#137047!important;border:1px solid #b8dec7!important;font-weight:900}.badge.working,.chip.working,.workflow-state.working{background:#fff4d8!important;color:#865f0c!important;border-color:#ead397!important}.badge.idle,.chip.idle,.workflow-state.idle{background:#f3f6f7!important;color:#60787d!important}.badge.danger,.chip.danger,.workflow-state.danger{background:#fff0ef!important;color:#b42318!important;border-color:#f2c5c1!important}.task-card-v60 .task-actions-v60{display:flex!important;align-items:center;gap:9px;flex-wrap:wrap}.task-card-v60 .task-actions-v60 .workflow-primary,.task-card-v60 .task-actions-v60 .workflow-completed{flex:1;min-width:170px;min-height:48px}.task-progress-row.automatic{grid-template-columns:minmax(0,1fr) auto;position:relative;padding-bottom:18px}.task-progress-row.automatic small{position:absolute;bottom:0;right:0;color:var(--muted);font-size:.69rem}.workflow-state{transition:.18s}.modal-workflow-actions{margin-top:16px}.project-task-actions .workflow-primary,.project-task-actions .workflow-completed{min-width:132px}.personal-workflow-actions{min-width:260px}.journey-task-copy{display:grid;gap:5px}.journey-task-copy .badge{width:max-content}.journey-meeting-date em{font-style:normal;margin-top:7px}.project-card-kicker .badge.working,.project-card-kicker .badge.danger,.project-card-kicker .badge.success{font-size:.72rem}.personal-table td{vertical-align:middle}
@media(max-width:700px){.task-card-v60 .task-actions-v60{display:grid!important;grid-template-columns:1fr}.personal-workflow-actions{min-width:0}.project-task-actions{width:100%;display:grid}.project-task-actions .btn{width:100%}}


/* v4.65 — compact header without duplicated page title */
.topbar{
  min-height:64px!important;
  padding:9px clamp(12px,2.2vw,28px)!important;
  flex-wrap:nowrap!important;
}
.topbar-title{display:none!important}
.topbar .section-badge{margin:0;max-width:min(46vw,420px);overflow:hidden;text-overflow:ellipsis}
.topbar .mode-switcher{margin-inline-start:auto}
.topbar .top-actions{margin-inline-start:0}
@media(max-width:1180px){
  .topbar{min-height:60px!important;gap:8px!important}
  .menu-btn{flex:0 0 42px}
  .page.active{min-height:calc(100dvh - 60px)!important}
}
@media(max-width:800px){
  .topbar{padding:8px max(10px,env(safe-area-inset-left))!important}
  .topbar .section-badge{display:none!important}
  .topbar .top-actions{margin-inline-start:auto!important}
}
@media(max-width:520px){
  .topbar{min-height:58px!important;flex-wrap:wrap!important}
  .mode-switcher{order:5;width:100%;margin:0!important;justify-content:center}
  .page.active{min-height:calc(100dvh - 58px)!important}
}



/* ===== v439-transparent-logo-fix ===== */

.riwaq-logo-metallic{background:transparent!important;mix-blend-mode:normal!important;filter:none!important;box-shadow:none!important}
.login-riwaq-logo,.sidebar-riwaq-logo{background:transparent!important}

/* v4.64 — centered login hero redesign */
.login-v24__identity{justify-items:center;text-align:center}
.login-v24__message>*{justify-self:center}
.login-v24__message h1 br{display:block}
.login-v24__description,.login-v24__slogan{margin-inline:auto}
@media (min-width: 1000px){.login-v24__message{margin-top:-12px}}



/* ===== v440-live-demo-styles ===== */

.demo-launch-actions{display:grid;grid-template-columns:1.25fr 1fr;gap:9px;margin-top:4px}.demo-launch-primary{background:linear-gradient(135deg,#a8792b,#d8b66a);color:#102f31;border:0;font-weight:900}.demo-launch-note{margin:0;text-align:center;color:var(--muted);font-size:.78rem;line-height:1.6}.demo-build-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#fff4d8;border:1px solid #e2c16c;color:#6c4c10;font-size:.76rem;font-weight:900;white-space:nowrap}.demo-build-badge:before{content:'●';font-size:.55rem;color:#b98a2d}.demo-guide-btn{background:#0f766e!important;color:#fff!important;border-color:#0f766e!important}.demo-guide{display:grid;gap:16px}.demo-guide-intro{padding:16px;border-radius:16px;background:linear-gradient(135deg,var(--primary-soft),#fff8e9);border:1px solid var(--line)}.demo-guide-intro h3{margin:0 0 6px}.demo-guide-intro p{margin:0;color:var(--muted);line-height:1.8}.demo-guide-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.demo-guide-step{border:1px solid var(--line);border-radius:14px;padding:13px;background:var(--panel);display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}.demo-guide-step>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:white;font-weight:900}.demo-guide-step strong{display:block;margin-bottom:3px}.demo-guide-step small{color:var(--muted);line-height:1.6}.demo-guide-tip{padding:13px 15px;border-radius:13px;background:#fff8e9;border:1px solid #ead39c;color:#6c4c10;line-height:1.8}.demo-live-ribbon{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.demo-live-ribbon span{padding:7px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-weight:800;font-size:.78rem;border:1px solid var(--line)}
@media(max-width:760px){.demo-launch-actions,.demo-guide-steps{grid-template-columns:1fr}.demo-build-badge{display:none}.demo-guide-btn{padding-inline:9px}}
.runtime-problem-banner{position:fixed;z-index:99999;right:18px;left:18px;bottom:18px;padding:14px 16px;border-radius:14px;background:#7f1d1d;color:#fff;box-shadow:0 16px 40px rgba(0,0,0,.28);font:700 14px/1.7 Tahoma,Arial,sans-serif}.runtime-problem-banner b{display:block;margin-bottom:2px}.self-test-summary{display:grid;gap:12px}.self-test-score{padding:16px;border-radius:16px;background:var(--primary-soft);border:1px solid var(--line);text-align:center}.self-test-score strong{display:block;font-size:30px;color:var(--primary-strong)}.self-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.self-test-item{display:flex;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:var(--panel)}.self-test-item.ok b{color:#167553}.self-test-item.fail b{color:#b42318}@media(max-width:680px){.self-test-grid{grid-template-columns:1fr}}

/* v4.64 — centered login hero redesign */
.login-v24__identity{justify-items:center;text-align:center}
.login-v24__message>*{justify-self:center}
.login-v24__message h1 br{display:block}
.login-v24__description,.login-v24__slogan{margin-inline:auto}
@media (min-width: 1000px){.login-v24__message{margin-top:-12px}}



/* ===== v454-original-login ===== */

/* v4.64 — restored original login interface */
.login-v24{min-height:100vh;display:grid;grid-template-columns:minmax(560px,1.08fr) minmax(420px,.82fr);direction:ltr;background:#edf3f4;overflow:hidden}
.login-v24__identity,.login-v24__access{direction:rtl;min-width:0}
.login-v24__identity{position:relative;display:grid;grid-template-rows:1fr auto;overflow:hidden;padding:clamp(34px,4.6vw,72px);background:linear-gradient(145deg,#071f2c 0%,#0a3943 53%,#0d615d 100%);color:#fff;box-shadow:none}
.login-v24__identity:before{content:"";position:absolute;inset:auto -14% -42% auto;width:700px;height:700px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 80px rgba(255,255,255,.018),0 0 0 160px rgba(255,255,255,.012);background:none;filter:none;opacity:1}
.login-v24__identity:after{display:none}
.login-v24__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,#000,transparent 92%);opacity:1}
.login-v24__message,.login-v24__identity-footer{position:relative;z-index:1}
.login-v24__message{align-self:center;justify-self:center;max-width:820px;display:grid;gap:14px;justify-items:center;text-align:center;padding-block:14px;margin-top:0!important}
.login-v24__brand{display:flex;align-items:center;justify-content:center;min-height:auto;margin:0}
.login-riwaq-logo{display:block;width:clamp(235px,24vw,365px)!important;height:auto;max-height:390px!important;object-fit:contain;object-position:center;filter:none!important;mix-blend-mode:normal!important;drop-shadow:0 18px 40px rgba(0,0,0,.22)}
.login-v24__logo-caption{display:none!important}
.login-v24__slogan{margin:4px 0 0;color:#a5e7de;font-size:clamp(17px,1.45vw,22px);font-weight:800;line-height:1.8;background:rgba(255,255,255,.05);border:1px solid rgba(184,240,233,.18);padding:10px 18px;border-radius:999px;backdrop-filter:blur(6px)}
.login-v24__message h1{margin:12px 0 2px;max-width:740px;font-size:clamp(38px,3.9vw,60px);line-height:1.34;letter-spacing:-.035em;color:#fff;text-shadow:none;text-wrap:balance}
.login-v24__description{max-width:690px;margin:0;color:rgba(255,255,255,.72);font-size:clamp(15px,1.15vw,18px);line-height:1.9}
.login-v24__identity-footer{align-self:end;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px 42px;color:rgba(255,255,255,.52);font-size:11px;border-top:1px solid rgba(255,255,255,.11);padding-top:18px;text-align:center}
.login-v24__identity-footer span{padding:0;background:none;border:0;border-radius:0}
.login-v24__access{position:relative;display:flex;align-items:center;justify-content:center;padding:clamp(30px,5vw,72px);background:linear-gradient(180deg,#fcfdfd,#edf3f4)}
.login-v24__access:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 40% 12%,rgba(15,118,110,.08),transparent 34%)}
.login-v24__access-heading>span{background:#e9f5f3;color:#176f69}
.login-submit-v24{background:linear-gradient(135deg,#147a70,#0b554f)!important;border-color:#0b554f!important;color:#fff!important;box-shadow:0 15px 30px rgba(10,85,79,.23)!important}
.login-card-v24 .login-input-wrap:focus-within{border-color:#2f8f86!important;box-shadow:0 0 0 4px rgba(47,143,134,.12)!important}
.sidebar-riwaq-logo{width:112px!important;height:118px!important;object-fit:contain!important;object-position:center!important}
@media(max-width:1100px){.login-v24{grid-template-columns:1fr}.login-v24__identity{min-height:480px}.login-v24__access{min-height:610px}.login-v24__message h1{font-size:38px}}
@media(max-width:720px){.login-v24__identity{min-height:420px;padding:26px 20px}.login-riwaq-logo{width:215px!important;max-height:245px!important}.login-v24__message{gap:10px;padding-block:5px}.login-v24__slogan{font-size:15px;padding:8px 13px}.login-v24__message h1{font-size:30px;margin-top:8px}.login-v24__description{display:none}.login-v24__identity-footer{display:none}.login-v24__access{padding:38px 20px 70px;min-height:auto}}


/* ===== v455-poster-identity ===== */

/* هوية مستلهمة من البروشور التشويقي: داكنة، أكاديمية، وهندسية */
.login-v24__identity{
  position:relative!important;
  display:grid!important;
  grid-template-rows:1fr auto!important;
  overflow:hidden!important;
  padding:clamp(34px,4.8vw,72px)!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 50% 42%,rgba(21,119,119,.24),transparent 34%),
    linear-gradient(155deg,#021b25 0%,#032a35 48%,#043a43 100%)!important;
}
.login-v24__identity:before{
  content:""!important;
  position:absolute!important;
  inset:-20% -32%!important;
  width:auto!important;height:auto!important;
  border-radius:0!important;
  filter:none!important;
  opacity:1!important;
  background:
    radial-gradient(circle at 50% 46%,transparent 0 31%,rgba(49,173,164,.24) 31.15% 31.35%,transparent 31.55%),
    radial-gradient(circle at 50% 46%,transparent 0 43%,rgba(224,181,111,.12) 43.15% 43.30%,transparent 43.55%),
    radial-gradient(circle at 50% 46%,transparent 0 56%,rgba(49,173,164,.13) 56.15% 56.30%,transparent 56.55%),
    radial-gradient(circle at 50% 46%,transparent 0 69%,rgba(255,255,255,.055) 69.15% 69.27%,transparent 69.5%)!important;
}
.login-v24__identity:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;height:auto!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  background:
    linear-gradient(115deg,transparent 0 12%,rgba(223,177,103,.32) 12.1% 12.22%,transparent 12.35%) top left/38% 24% no-repeat,
    linear-gradient(295deg,transparent 0 13%,rgba(223,177,103,.26) 13.1% 13.22%,transparent 13.35%) bottom right/43% 30% no-repeat,
    radial-gradient(circle,rgba(32,157,151,.48) 0 2px,transparent 2.5px) 3% 19%/18px 18px repeat,
    radial-gradient(circle,rgba(32,157,151,.32) 0 2px,transparent 2.5px) 93% 61%/18px 18px repeat!important;
  mask-image:
    linear-gradient(to right,#000 0 15%,transparent 22% 78%,#000 85% 100%),
    linear-gradient(to bottom,#000 0 35%,transparent 47% 55%,#000 66% 100%);
  opacity:.52!important;
}
.login-v24__grid{
  position:absolute!important;inset:0!important;
  background:
    repeating-linear-gradient(105deg,transparent 0 54px,rgba(255,255,255,.022) 55px 56px),
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 28%,transparent 72%,rgba(0,0,0,.08))!important;
  opacity:1!important;
  mask-image:linear-gradient(to bottom,#000,transparent 98%)!important;
}
.login-v24__message,.login-v24__identity-footer{position:relative!important;z-index:2!important}
.login-v24__message{
  align-self:center!important;justify-self:center!important;
  width:min(820px,100%)!important;max-width:820px!important;
  display:grid!important;gap:14px!important;justify-items:center!important;text-align:center!important;
  padding-block:10px!important;
}
.login-v24__brand{display:grid!important;place-items:center!important;margin:0 0 2px!important;gap:0!important}
.login-riwaq-logo{
  display:block!important;
  width:clamp(205px,20vw,300px)!important;
  max-height:385px!important;height:auto!important;
  object-fit:contain!important;object-position:center!important;
  filter:drop-shadow(0 20px 38px rgba(0,0,0,.24))!important;
  mix-blend-mode:normal!important;
}
.login-v24__slogan{
  margin:2px auto 0!important;
  padding:10px 22px!important;
  color:#e8faf7!important;
  background:rgba(4,56,65,.62)!important;
  border:1px solid rgba(55,188,179,.42)!important;
  border-radius:999px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.04)!important;
  backdrop-filter:blur(8px)!important;
  font-size:clamp(17px,1.35vw,22px)!important;
  font-weight:850!important;
}
.login-v24__message h1{
  margin:8px 0 0!important;
  color:#f7f7f4!important;
  max-width:760px!important;
  font-size:clamp(38px,3.8vw,61px)!important;
  line-height:1.31!important;
  letter-spacing:-.035em!important;
  text-shadow:0 10px 26px rgba(0,0,0,.16)!important;
}
.login-v24__message h1 em{font-style:normal!important;color:#61d4c7!important;position:relative!important}
.login-v24__message h1 em:after{content:"";position:absolute;right:0;left:0;bottom:-4px;height:2px;background:linear-gradient(90deg,transparent,#d8a968,transparent);opacity:.72}
.login-v24__description{
  max-width:700px!important;margin:0!important;
  color:rgba(244,250,249,.80)!important;
  font-size:clamp(15px,1.12vw,18px)!important;line-height:1.95!important;
}
.login-v24__identity-footer{
  align-self:end!important;display:flex!important;justify-content:center!important;align-items:center!important;
  flex-wrap:wrap!important;gap:10px 28px!important;
  color:rgba(230,243,241,.64)!important;font-size:11px!important;
  border-top:1px solid rgba(89,179,171,.20)!important;padding-top:16px!important;text-align:center!important;
}
.login-v24__identity-footer span{padding:0!important;background:transparent!important;border:0!important}
.login-v24__access{background:linear-gradient(180deg,#fbfdfd,#eef4f4)!important}
.login-v24__access:before{background:radial-gradient(circle at 42% 12%,rgba(21,136,128,.08),transparent 35%)!important}
.login-v24__access-heading>span{background:#e5f4f1!important;color:#126a65!important}
.login-submit-v24{
  background:linear-gradient(135deg,#0e716b,#148b81)!important;
  border:1px solid rgba(211,170,102,.34)!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(7,85,80,.22)!important;
}
.login-submit-v24:hover{filter:brightness(1.045)!important;transform:translateY(-1px)!important}
.login-card-v24 .login-input-wrap:focus-within{border-color:#178b82!important;box-shadow:0 0 0 4px rgba(23,139,130,.10)!important}
.sidebar-riwaq-logo{object-fit:contain!important;filter:drop-shadow(0 10px 20px rgba(0,0,0,.18))!important}
@media(max-width:1100px){
 .login-v24__identity{min-height:520px!important;padding:26px 22px 22px!important}
 .login-v24__message{gap:10px!important}
 .login-riwaq-logo{width:190px!important;max-height:280px!important}
 .login-v24__message h1{font-size:34px!important}
 .login-v24__description{font-size:14px!important}
}
@media(max-width:720px){
 .login-v24__identity{min-height:430px!important}
 .login-riwaq-logo{width:160px!important;max-height:230px!important}
 .login-v24__slogan{font-size:14px!important;padding:7px 12px!important}
 .login-v24__message h1{font-size:29px!important}
 .login-v24__description,.login-v24__identity-footer{display:none!important}
}


/* ===== v456-refined-login-hero ===== */

/* v4.64 — richer hero, reduced copy, consistent hover */
.login-v24__identity{
  grid-template-rows:1fr!important;
  padding:clamp(34px,4.9vw,76px)!important;
  background:
    radial-gradient(circle at 16% 18%,rgba(73,210,195,.22),transparent 27%),
    radial-gradient(circle at 86% 76%,rgba(218,174,101,.15),transparent 30%),
    radial-gradient(ellipse at 52% 45%,rgba(21,120,119,.17),transparent 42%),
    linear-gradient(145deg,#02151e 0%,#042832 42%,#073e45 72%,#09514f 100%)!important;
  box-shadow:inset -1px 0 rgba(255,255,255,.04)!important;
}
.login-v24__identity:before{
  content:""!important;
  position:absolute!important;
  inset:-26% -35%!important;
  width:auto!important;height:auto!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  background:
    radial-gradient(circle at 50% 43%,transparent 0 28%,rgba(77,195,184,.25) 28.15% 28.35%,transparent 28.55%),
    radial-gradient(circle at 50% 43%,transparent 0 41%,rgba(221,177,105,.15) 41.12% 41.28%,transparent 41.48%),
    radial-gradient(circle at 50% 43%,transparent 0 55%,rgba(104,206,198,.11) 55.12% 55.28%,transparent 55.48%),
    radial-gradient(circle at 50% 43%,rgba(9,78,80,.16),transparent 62%)!important;
  filter:none!important;opacity:1!important;
}
.login-v24__identity:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;height:auto!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  background:
    linear-gradient(122deg,transparent 0 18%,rgba(231,188,117,.22) 18.08% 18.18%,transparent 18.3%) top left/54% 38% no-repeat,
    linear-gradient(302deg,transparent 0 16%,rgba(231,188,117,.18) 16.08% 16.18%,transparent 16.3%) bottom right/58% 42% no-repeat,
    radial-gradient(circle,rgba(62,180,171,.45) 0 1.8px,transparent 2.2px) 4% 18%/22px 22px repeat,
    radial-gradient(circle,rgba(62,180,171,.28) 0 1.8px,transparent 2.2px) 94% 68%/22px 22px repeat!important;
  mask-image:
    linear-gradient(to right,#000 0 14%,transparent 23% 77%,#000 86% 100%),
    linear-gradient(to bottom,#000 0 31%,transparent 45% 57%,#000 70% 100%);
  opacity:.64!important;
}
.login-v24__grid{
  background:
    repeating-linear-gradient(108deg,transparent 0 64px,rgba(255,255,255,.025) 65px 66px),
    linear-gradient(180deg,rgba(255,255,255,.035),transparent 28%,transparent 74%,rgba(0,0,0,.10))!important;
  opacity:1!important;
  mask-image:linear-gradient(to bottom,#000,transparent 99%)!important;
}
.login-v24__message{
  max-width:820px!important;
  gap:15px!important;
  padding-block:18px!important;
}
.login-v24__brand{margin-bottom:2px!important}
.login-v24__slogan{
  background:linear-gradient(135deg,rgba(5,55,65,.78),rgba(8,73,78,.62))!important;
  border-color:rgba(77,199,188,.36)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.06),0 12px 32px rgba(0,0,0,.10)!important;
}
.login-v24__message h1{
  margin:9px 0 0!important;
  max-width:720px!important;
  line-height:1.28!important;
}
.login-v24__description{
  max-width:640px!important;
  color:rgba(242,250,248,.78)!important;
  font-size:clamp(15px,1.08vw,18px)!important;
  line-height:1.9!important;
}
.login-v24__identity-footer{display:none!important}
.login-submit-v24{
  background:linear-gradient(135deg,#0d716a,#128b80)!important;
  border:1px solid rgba(220,179,108,.35)!important;
  box-shadow:0 14px 30px rgba(5,72,69,.23)!important;
  transition:background .2s ease,box-shadow .2s ease,transform .2s ease!important;
}
.login-submit-v24:hover,
.login-submit-v24:focus-visible{
  background:linear-gradient(135deg,#063f45,#07544f)!important;
  border-color:rgba(220,179,108,.52)!important;
  box-shadow:0 17px 34px rgba(2,47,49,.30)!important;
  filter:none!important;
  transform:translateY(-1px)!important;
}
.login-submit-v24:active{
  background:linear-gradient(135deg,#052f36,#064541)!important;
  transform:translateY(0)!important;
}
@media(max-width:1100px){
  .login-v24__identity{min-height:500px!important;padding:26px 22px 24px!important}
  .login-v24__message{gap:10px!important;padding-block:8px!important}
  .login-v24__message h1{font-size:34px!important}
}
@media(max-width:720px){
  .login-v24__identity{min-height:430px!important}
  .login-v24__description{display:none!important}
}


/* ===== v458-poster-background-gold-icons ===== */

/* v4.64 — poster-inspired background, gold feature icons, matching button */
.login-v24__identity{
  position:relative!important;
  grid-template-rows:1fr!important;
  padding:clamp(34px,4.8vw,74px)!important;
  background:#032a34 url("login-hero-background.png") center/cover no-repeat!important;
  box-shadow:inset -1px 0 rgba(255,255,255,.04)!important;
}
.login-v24__identity:before{
  content:""!important;display:block!important;position:absolute!important;inset:0!important;
  width:auto!important;height:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  background:linear-gradient(180deg,rgba(1,20,27,.04),rgba(1,20,27,.18)),radial-gradient(circle at 50% 40%,rgba(16,112,108,.18),transparent 47%)!important;
  filter:none!important;opacity:1!important;
}
.login-v24__identity:after{display:none!important}
.login-v24__grid{display:none!important}
.login-v24__message{position:relative!important;z-index:2!important;max-width:850px!important;gap:16px!important;padding-block:12px!important}
.login-riwaq-logo{filter:drop-shadow(0 22px 44px rgba(0,0,0,.28))!important}
.login-v24__slogan{
  background:linear-gradient(135deg,rgba(3,42,50,.72),rgba(4,69,70,.58))!important;
  border:1px solid rgba(215,174,102,.36)!important;color:#fbf4e7!important;
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 15px 32px rgba(0,0,0,.12)!important;
}
.login-v24__message h1{margin:8px 0 1px!important;color:#fffaf2!important;text-shadow:0 12px 30px rgba(0,0,0,.24)!important}
.login-v24__message h1 em{color:#e9c77e!important}
.login-v24__message h1 em:after{background:linear-gradient(90deg,transparent,#e6bd6f,transparent)!important}
.login-v24__feature-strip{display:none!important}
.login-v24__feature-grid{
  width:min(790px,100%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
  margin:5px auto 0;padding:13px;border:1px solid rgba(220,177,102,.28);border-radius:22px;
  background:linear-gradient(135deg,rgba(2,35,43,.64),rgba(5,66,67,.43));
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 18px 38px rgba(0,0,0,.14);backdrop-filter:blur(11px);
}
.login-feature-card{min-width:0;display:grid;justify-items:center;align-content:center;gap:9px;padding:12px 8px;border-inline-start:1px solid rgba(221,181,108,.20);color:#f3d696;text-align:center}
.login-feature-card:first-child{border-inline-start:0}
.login-feature-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;border:1px solid rgba(232,194,124,.42);background:linear-gradient(145deg,rgba(232,194,124,.13),rgba(7,59,64,.20));box-shadow:inset 0 1px rgba(255,255,255,.06),0 8px 18px rgba(0,0,0,.12)}
.login-feature-icon svg{width:27px;height:27px;fill:none;stroke:#e8c47d;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.login-feature-card strong{font-size:clamp(13px,1vw,17px);line-height:1.5;color:#f0d294;font-weight:850;white-space:normal}
.login-submit-v24{
  background:linear-gradient(135deg,#063c45 0%,#075b59 56%,#0a6e66 100%)!important;
  border:1px solid rgba(218,174,100,.58)!important;color:#fff!important;
  box-shadow:0 15px 32px rgba(3,54,58,.25),inset 0 1px rgba(255,255,255,.08)!important;
}
.login-submit-v24:hover,.login-submit-v24:focus-visible{
  background:linear-gradient(135deg,#052e36 0%,#074a4c 56%,#09605b 100%)!important;
  border-color:#dcb36d!important;box-shadow:0 18px 38px rgba(2,42,47,.31),0 0 0 3px rgba(220,179,109,.10)!important;
  filter:none!important;transform:translateY(-1px)!important;
}
.login-submit-v24:active{background:linear-gradient(135deg,#042730,#063f43)!important;transform:translateY(0)!important}
.login-v24__access-heading>span{background:#edf7f5!important;color:#075a56!important;border:1px solid #d4ebe6!important}
.login-card-v24 .login-input-wrap:focus-within{border-color:#a67c3f!important;box-shadow:0 0 0 4px rgba(202,156,82,.11)!important}
@media(max-width:1100px){
  .login-v24__identity{min-height:540px!important;padding:25px 22px 24px!important}
  .login-v24__message{gap:11px!important;padding-block:5px!important}
  .login-v24__feature-grid{max-width:720px;padding:10px;gap:8px}
  .login-feature-icon{width:42px;height:42px}.login-feature-icon svg{width:24px;height:24px}
}
@media(max-width:720px){
  .login-v24__identity{min-height:560px!important;background-position:center!important}
  .login-v24__feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px}
  .login-feature-card{border:0!important;padding:9px 5px;border-radius:14px;background:rgba(2,38,45,.28)}
  .login-feature-card strong{font-size:13px}
}

/* v4.64 — registration, onboarding, and task action clarity */
.auth-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 12px;padding:5px;border:1px solid var(--line);border-radius:15px;background:#f5f8f9}
.auth-mode-tabs button{border:0;border-radius:11px;padding:11px 13px;background:transparent;color:var(--muted);font-weight:900;cursor:pointer}
.auth-mode-tabs button.active{background:#fff;color:var(--primary-strong);box-shadow:0 5px 18px rgba(18,50,55,.08)}
.auth-register-card{display:grid;gap:14px}.register-step{display:grid;gap:14px}.register-step-head{display:flex;align-items:center;gap:11px;padding:12px;border-radius:14px;background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 18%,var(--line))}.register-step-head>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--primary);color:#fff;font-weight:900}.register-step-head div{display:grid;gap:2px}.register-step-head small,.field-help,.registration-privacy{color:var(--muted);line-height:1.65}.field-help{display:block;margin-top:5px;font-size:.75rem}.register-password-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.select-wrap select{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;min-height:48px;width:100%}.verification-code-wrap input{text-align:center!important;font-size:1.55rem!important;letter-spacing:.32em!important;font-weight:900}.register-verification-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:9px}.local-verification-notice{display:grid;gap:4px;padding:12px 14px;border:1px dashed #c89945;border-radius:14px;background:#fff8e9;color:#725015}.local-verification-notice b{font-size:1.45rem;letter-spacing:.18em}.registration-privacy{text-align:center;font-size:.76rem;margin:0}.auth-register-card .login-input-wrap svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.task-card-v60{display:grid;gap:12px;padding:18px!important;border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:0 12px 32px rgba(20,48,51,.055)}.task-card-v60 .task-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.task-card-v60 h3{margin:0;font-size:1.13rem;line-height:1.55}.task-card-v60 .task-description{margin:0;color:var(--muted);line-height:1.75;min-height:2.9em}.task-card-v60 .task-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.task-card-v60 .task-fact{display:grid;gap:3px;padding:9px 10px;border-radius:12px;background:var(--panel2);border:1px solid var(--line)}.task-card-v60 .task-fact small{color:var(--muted);font-size:.72rem}.task-card-v60 .task-fact strong{font-size:.85rem;line-height:1.5}.task-card-v60 .task-progress-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.task-card-v60 .task-progress-row b{color:var(--primary-strong);font-size:.82rem}.task-card-v60 .task-actions-v60{display:grid;grid-template-columns:1.25fr 1fr;gap:9px;padding-top:4px}.task-card-v60 .task-actions-v60 .btn{min-height:43px}.task-card-v60 .task-completed-button{background:#e9f6ef!important;color:#14744e!important;border-color:#bfe2ce!important}.task-card-v60 .task-complete-locked{opacity:.62}.task-card-v60 .admin-task-actions{display:flex;gap:7px;flex-wrap:wrap}.term-onboarding-note{padding:10px 14px;border-radius:13px;background:#fff8e9;border:1px solid #ecd6a4;color:#725015;line-height:1.7}
@media(max-width:700px){.register-password-grid,.register-verification-actions{grid-template-columns:1fr}.task-card-v60 .task-facts{grid-template-columns:1fr}.task-card-v60 .task-actions-v60{grid-template-columns:1fr}}



/* ===== v463-fullscreen-responsive ===== */

/* v4.64 — 100% viewport, desktop / tablet / phone */
:root{--viewport-height:100dvh}
html{width:100%;min-height:100%;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;max-width:100vw;min-height:100vh;min-height:100dvh;overflow-x:clip;overscroll-behavior-x:none}
body,button,input,select,textarea{font-size:clamp(14px,1rem,18px)}
img,svg,video,canvas{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}
#loginView,#appView,.app,.main{width:100%;max-width:100%;min-width:0}
.app{min-height:100vh;min-height:100dvh;grid-template-columns:clamp(238px,17vw,292px) minmax(0,1fr)!important;align-items:start}
.sidebar{height:100vh;height:100dvh;max-height:100dvh;overflow:hidden;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom))}
.main-nav{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.main{min-height:100vh;min-height:100dvh;overflow-x:clip}
.topbar{width:100%;padding-inline:max(clamp(16px,2.6vw,38px),env(safe-area-inset-left));min-width:0}
.topbar>*{min-width:0}
.page{width:100%;max-width:none;padding:clamp(16px,2vw,30px) clamp(14px,2.4vw,42px) max(32px,env(safe-area-inset-bottom))!important}
.page.active{min-height:calc(100dvh - 82px)}
.page>*{min-width:0;max-width:100%}
.panel,.card,.stat,.hero,.focus,.assistant-hero,.project-card,.task-card-v60{min-width:0;max-width:100%}
.page-head>div,.panel-head>div,.project-card-head>div,.task-card-top>div{min-width:0}
.page-head h2,.panel-head h3,.project-card h3,.task-card-v60 h3{overflow-wrap:anywhere}
.row-actions,.page-actions,.hero-actions,.top-actions{max-width:100%;flex-wrap:wrap}
.table-shell,.table-wrap,.calendar-wrap,.compact-table{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.table-shell>table,.table-wrap>table,.compact-table>table{min-width:720px;width:100%}
.calendar{min-width:920px}
.drawer{height:100vh;height:100dvh;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));overscroll-behavior:contain}
.modal{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
.modal-body{max-height:calc(100dvh - 190px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.platform-credit{max-width:calc(100vw - 24px);white-space:normal;text-align:center}

/* Login fills the available screen on desktop */
.login-v24{width:100%;min-height:100vh!important;min-height:100dvh!important;grid-template-columns:minmax(0,1.08fr) minmax(390px,.82fr)!important;overflow:hidden!important}
.login-v24__identity,.login-v24__access{min-height:100vh;min-height:100dvh;min-width:0}
.login-v24__identity{padding:clamp(24px,3.4vw,58px)!important}
.login-v24__message{width:min(860px,100%);max-width:100%;gap:clamp(8px,1.2vh,16px)!important}
.login-riwaq-logo{width:clamp(180px,20vw,315px)!important;max-height:min(34dvh,330px)!important}
.login-v24__message h1{font-size:clamp(32px,3.65vw,60px)!important;line-height:1.24!important}
.login-v24__slogan{font-size:clamp(14px,1.25vw,21px)!important;padding:8px 16px!important}
.login-v24__feature-grid{width:min(760px,100%)!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(6px,.7vw,12px)!important;padding:clamp(8px,.9vw,13px)!important}
.login-feature-card{min-width:0;padding:clamp(7px,.8vw,12px) 5px!important}
.login-feature-icon{width:clamp(38px,3vw,48px)!important;height:clamp(38px,3vw,48px)!important}
.login-v24__access{padding:max(clamp(24px,4vw,64px),env(safe-area-inset-top)) clamp(18px,4vw,64px) max(clamp(44px,5vw,72px),env(safe-area-inset-bottom))!important;overflow-y:auto}
.login-v24__access-inner{width:min(500px,100%)!important}
.login-card-v24{width:100%;padding:clamp(18px,2vw,25px)!important}

/* Laptop and iPad landscape */
@media (min-width:900px) and (max-width:1180px){
 .login-v24{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(370px,.88fr)!important}
 .login-v24__identity,.login-v24__access{min-height:100dvh!important}
 .login-v24__identity{padding:24px!important}
 .login-riwaq-logo{width:clamp(165px,21vw,245px)!important;max-height:29dvh!important}
 .login-v24__message h1{font-size:clamp(31px,4vw,44px)!important}
 .login-v24__feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:520px!important}
 .login-feature-card{border:0!important;border-radius:13px;background:rgba(3,37,45,.22)}
 .login-v24__access{padding:28px 24px 54px!important}
}

/* App switches to drawer navigation on tablets */
@media (max-width:1180px){
 .app{display:block!important;min-height:100dvh}
 .sidebar{position:fixed!important;inset:0 0 0 auto;width:min(330px,88vw)!important;max-width:88vw;transform:translateX(110%);z-index:60;box-shadow:-24px 0 56px rgba(0,0,0,.24)}
 .sidebar.open{transform:none}
 .sidebar-backdrop.show{z-index:55}
 .main{width:100%;min-height:100dvh}
 .topbar{min-height:72px;gap:10px;flex-wrap:wrap!important;padding-block:10px}
 .topbar-title{flex:1 1 260px}
 .menu-btn{display:grid!important;flex:0 0 42px}
 .mode-switcher{margin-inline-start:auto}
 .page.active{min-height:calc(100dvh - 72px)}
 .dashboard-grid-v23{grid-template-columns:minmax(0,1fr)!important}
 .grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
 .project-detail-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* iPad portrait and compact tablets */
@media (max-width:899px){
 .login-v24{display:flex!important;flex-direction:column;min-height:100dvh!important;overflow:auto!important}
 .login-v24__identity{min-height:470px!important;height:auto!important;padding:24px 20px!important;flex:0 0 auto}
 .login-v24__access{min-height:560px!important;height:auto!important;flex:1 0 auto;padding:34px 22px max(58px,env(safe-area-inset-bottom))!important}
 .login-riwaq-logo{width:190px!important;max-height:210px!important}
 .login-v24__message h1{font-size:34px!important}
 .login-v24__feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;max-width:680px!important}
 .page-head,.panel-head,.calendar-toolbar,.personal-overview{align-items:flex-start;flex-direction:column}
 .page-actions,.page-head .page-actions,.calendar-filter{width:100%}
 .page-actions .btn,.calendar-filter .btn{flex:1 1 160px}
 .stats,.calendar-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .grid.two,.grid.three,.settings-grid,.assistant-overview-grid,.assistant-command-grid{grid-template-columns:1fr!important}
 .hero,.focus,.assistant-hero{display:grid!important;grid-template-columns:1fr!important;padding:20px!important}
 .project-card-head,.project-detail-hero{display:grid!important;grid-template-columns:1fr!important}
 .project-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .project-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .project-task-row{align-items:stretch!important;flex-direction:column!important}
 .project-task-actions{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}
 .project-task-actions .btn{width:100%}
 .form-grid,.register-password-grid{grid-template-columns:1fr!important}
 .span-2{grid-column:auto!important}
 .term-enrollment-modal{width:min(760px,calc(100vw - 18px))!important}
 .community-side{grid-template-columns:1fr!important}
}

/* Phones */
@media (max-width:640px){
 body{font-size:15px}
 .login-v24__identity{min-height:405px!important;padding:20px 15px!important}
 .login-v24__message{gap:8px!important}
 .login-riwaq-logo{width:150px!important;max-height:170px!important}
 .login-v24__slogan{font-size:13px!important;padding:7px 10px!important;border-radius:14px!important}
 .login-v24__message h1{font-size:28px!important;margin:2px 0!important}
 .login-v24__feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:8px!important;border-radius:17px!important}
 .login-feature-card{padding:7px 4px!important;border:0!important;border-radius:12px;background:rgba(3,37,45,.22)}
 .login-feature-icon{width:34px!important;height:34px!important;border-radius:10px!important}
 .login-feature-icon svg{width:20px!important;height:20px!important}
 .login-feature-card strong{font-size:12px!important;line-height:1.35}
 .login-v24__access{min-height:auto!important;padding:28px 12px max(56px,env(safe-area-inset-bottom))!important}
 .login-v24__access-heading{margin-bottom:16px!important}
 .login-v24__access-heading h2{font-size:28px!important}
 .login-v24__access-heading p{font-size:13px}
 .login-card-v24{padding:16px!important;border-radius:18px!important}
 .login-card-v24 .login-input-wrap input{min-height:50px!important}
 .auth-mode-tabs button{padding:9px 8px!important;font-size:13px}
 .topbar{min-height:64px;padding:8px max(10px,env(safe-area-inset-left))!important;gap:7px}
 .topbar-title{flex:1 1 160px}
 .topbar-title h1{font-size:18px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .topbar-title p,.section-badge{display:none!important}
 .top-actions{gap:6px;margin-inline-start:0!important}
 .mode-switcher{order:5;width:100%;margin:0!important;justify-content:center}
 .page{padding:12px 10px max(26px,env(safe-area-inset-bottom))!important}
 .page.active{min-height:calc(100dvh - 64px)}
 .page-head{gap:10px;margin-bottom:13px}
 .page-head h2{font-size:22px!important}
 .hero,.focus,.assistant-hero{padding:17px!important;border-radius:18px!important}
 .hero h2,.focus h2,.assistant-hero h2{font-size:24px!important}
 .stats,.calendar-summary{gap:8px!important}
 .stat{padding:13px!important}
 .stat strong{font-size:23px!important}
 .project-meta,.project-detail-facts{grid-template-columns:1fr!important}
 .project-task-actions{grid-template-columns:1fr!important}
 .task-card-v60 .task-actions-v60{grid-template-columns:1fr!important;width:100%}
 .task-card-v60 .task-actions-v60 .btn{width:100%;min-width:0!important}
 .drawer{width:100vw!important;max-width:100vw;padding:16px 12px max(18px,env(safe-area-inset-bottom))!important}
 .drawer .segmented{overflow-x:auto;justify-content:flex-start}
 .drawer .segmented button{flex:0 0 auto;white-space:nowrap}
 .modal{width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;margin:0!important;border-radius:0!important}
 .modal form{min-height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
 .modal form>header,.modal form>footer{padding:13px 12px!important}
 .modal-body{max-height:none!important;height:auto;overflow:auto;padding:14px 12px!important}
 .table-shell>table,.table-wrap>table,.compact-table>table{min-width:660px}
 .platform-credit{position:static!important;margin:14px auto 4px!important;width:max-content;max-width:calc(100% - 20px)}
}

/* Very small phones */
@media (max-width:420px){
 .stats,.calendar-summary{grid-template-columns:1fr!important}
 .page-actions .btn,.calendar-filter .btn{flex:1 1 100%}
 .login-v24__identity{min-height:390px!important}
 .login-v24__message h1{font-size:25px!important}
 .sidebar{width:92vw!important;max-width:92vw!important}
 .project-card,.task-card-v60,.panel,.card{border-radius:15px!important;padding:14px!important}
}

/* Phone landscape: preserve usable login height */
@media (max-height:520px) and (orientation:landscape) and (max-width:950px){
 .login-v24{display:grid!important;grid-template-columns:minmax(260px,.8fr) minmax(390px,1.2fr)!important;min-height:100dvh!important;overflow:auto!important}
 .login-v24__identity,.login-v24__access{min-height:100dvh!important;height:100dvh!important;overflow-y:auto}
 .login-v24__identity{padding:14px!important}
 .login-riwaq-logo{width:105px!important;max-height:125px!important}
 .login-v24__slogan{font-size:11px!important;padding:5px 8px!important}
 .login-v24__message h1{font-size:21px!important}
 .login-v24__feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:5px!important;gap:4px!important}
 .login-feature-card{padding:4px!important;gap:4px!important}
 .login-feature-icon{display:none!important}
 .login-v24__access{padding:15px 18px!important}
 .login-v24__access-heading{margin-bottom:10px!important}
 .login-v24__access-heading h2{font-size:24px!important;margin:7px 0 4px!important}
 .login-card-v24{padding:13px!important}
}

<style id="v464-calendar-label-fix">
/* v4.64 — distinguish the operational calendar from official academic dates */
@media(max-width:640px){
  .calendar-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* ===== v466-overflow-nav-privacy ===== */

/* v4.66 — zero global horizontal overflow, readable navigation, private admin summaries */
html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
#appView,.app,.main,.topbar,.page,.page.active{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important}
.app{grid-template-columns:clamp(286px,18vw,318px) minmax(0,1fr)!important}
.sidebar{width:100%!important;min-width:0!important;overflow-x:hidden!important}
.main-nav{width:100%;overflow-x:hidden!important;scrollbar-gutter:auto!important;padding-inline:0!important}
.nav-btn{width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:38px minmax(0,1fr) auto!important;overflow:hidden!important;padding-inline:12px!important}
.nav-btn .nav-icon{flex:none}
.nav-btn .nav-label{display:block;min-width:0;white-space:nowrap!important;word-break:keep-all!important;overflow:hidden;text-overflow:ellipsis;line-height:1.25;text-align:right}
.nav-count{flex:none}
.logout-btn,.logout-btn span,.mode-switcher span,.mode-switcher button,.top-actions button{white-space:nowrap!important;word-break:keep-all!important}
.dashboard-focus-v23,.hero,.panel,.card,.task-card-v60,.project-card{overflow:hidden}
.table-shell,.table-wrap,.calendar-wrap,.compact-table{max-width:100%!important}
.topbar{display:flex!important;flex-wrap:nowrap!important;gap:12px!important}
.topbar-identity{display:grid;gap:2px;min-width:0;max-width:min(620px,48vw);line-height:1.25}
.topbar-identity strong{font-size:clamp(16px,1.35vw,21px);color:var(--primary-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-identity strong span{color:var(--text);font-weight:800}
.topbar-identity small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar .section-badge{display:none!important}
.mode-switcher{flex:0 0 auto!important;margin-inline-start:auto!important;white-space:nowrap}
.top-actions{flex:0 0 auto!important}
.admin-aggregate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.admin-aggregate-grid>div{min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);text-align:center}
.admin-aggregate-grid strong{display:block;font-size:24px;color:var(--primary-strong)}
.admin-aggregate-grid span{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:1180px){
 .app{display:block!important}
 .sidebar{width:min(360px,92vw)!important;max-width:92vw!important}
 .topbar-identity{max-width:min(52vw,520px)}
}
@media(max-width:760px){
 .topbar{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important}
 .topbar-identity{max-width:100%;grid-column:2}
 .topbar .top-actions{grid-column:3;grid-row:1}
 .topbar .mode-switcher{grid-column:1/-1;grid-row:2;width:100%;justify-content:center;margin:0!important;overflow-x:auto;overflow-y:hidden}
 .mode-switcher span,.mode-switcher button{flex:0 0 auto}
 .admin-aggregate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:420px){
 .sidebar{width:94vw!important;max-width:94vw!important}
 .nav-btn{font-size:14px!important;grid-template-columns:34px minmax(0,1fr) auto!important;gap:8px!important}
 .topbar-identity strong{font-size:15px}
 .topbar-identity small{font-size:11px}
 .admin-aggregate-grid{grid-template-columns:1fr 1fr;gap:7px}
 .admin-aggregate-grid>div{padding:11px 7px}
}

/* v4.67 — إدارة آمنة لكلمات المرور */
.login-password-tools{display:flex;justify-content:flex-start;margin-top:-7px}
.login-password-tools button{border:0;background:transparent;color:#176f68;font:inherit;font-size:13px;font-weight:800;padding:4px 2px;cursor:pointer}
.login-password-tools button:hover,.login-password-tools button:focus-visible{text-decoration:underline;color:#0f5551;outline:none}
.security-status{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.security-note{border:1px solid #d8e7e7;background:#f7fbfb;border-radius:14px;padding:12px 14px;color:#536c70;line-height:1.8}
.security-note strong{color:#173b3f}
.one-time-secret{direction:ltr;text-align:center;font-size:22px;font-weight:900;letter-spacing:2px;background:#0f4547;color:#fff;border-radius:14px;padding:15px;margin:12px 0;user-select:all}
.password-requirements{font-size:12px;color:#6f8589;margin:0}
.password-reset-local{border:1px dashed #d0a75c;background:#fffaf0;border-radius:14px;padding:12px;text-align:center}
.password-reset-local b{display:block;font-size:24px;letter-spacing:4px;margin-top:7px;color:#744f18}
.admin-security-actions{display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:700px){.admin-security-actions .btn{width:100%}.one-time-secret{font-size:18px}}


/* ===== v471-focused-grad-workspace ===== */

/* v4.71 — a focused graduate workspace: seven sections, progressive disclosure, official forms only. */
.workspace-search-trigger{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:13px;padding:9px 12px;min-width:190px}.workspace-search-trigger span{font-size:20px;color:var(--primary)}.workspace-search-trigger b{font-size:13px;margin-inline-end:auto}.workspace-search-trigger kbd{font:600 10px/1 system-ui;border:1px solid var(--line);border-radius:6px;padding:4px 5px;background:var(--panel2);color:var(--muted)}
.workspace-tabs{display:flex;gap:7px;background:var(--panel2);border:1px solid var(--line);border-radius:16px;padding:6px;margin:0 0 18px;overflow-x:auto;scrollbar-width:none}.workspace-tabs::-webkit-scrollbar{display:none}.workspace-tabs button{border:0;background:transparent;color:var(--muted);border-radius:11px;padding:10px 16px;font-weight:850;white-space:nowrap;display:flex;gap:8px;align-items:center}.workspace-tabs button.active{background:var(--panel);color:var(--primary-strong);box-shadow:0 6px 20px rgba(15,55,60,.08)}.workspace-tabs b{background:var(--primary-soft);color:var(--primary);border-radius:999px;padding:2px 7px;font-size:11px}
.focused-dashboard{display:grid;gap:17px}.next-action-card{background:linear-gradient(135deg,var(--primary-strong),var(--primary));color:#fff;border-radius:25px;padding:clamp(22px,3vw,34px);display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:var(--shadow)}.next-action-card.is-clear{background:linear-gradient(135deg,#164f52,#277b72)}.next-action-copy h2{font-size:clamp(26px,3vw,38px);margin:8px 0}.next-action-copy p{margin:0;color:rgba(255,255,255,.8)}.next-action-card .eyebrow{background:rgba(255,255,255,.15);color:#fff}.next-action-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.next-action-buttons .btn{min-width:130px}.next-action-buttons .quiet{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:#fff}.today-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.today-strip article{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:15px;display:flex;align-items:baseline;gap:9px}.today-strip b{font-size:25px;color:var(--primary)}.today-strip span{color:var(--muted)}.today-strip .danger b{color:#dc2626}.focused-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.focused-upcoming{display:grid;gap:8px}.focused-upcoming>button{width:100%;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:13px;padding:12px;display:grid;grid-template-columns:78px 1fr auto;gap:12px;text-align:right;align-items:center}.focused-upcoming time{font-weight:850;color:var(--primary)}.focused-upcoming small{display:block;color:var(--muted);margin-top:3px}.dashboard-project-focus{border:1px solid var(--line);border-radius:16px;padding:16px;background:linear-gradient(135deg,var(--primary-soft),var(--panel))}.dashboard-project-focus h3{margin:10px 0 5px}.dashboard-project-focus p{color:var(--muted)}.dashboard-project-focus .btn{margin-top:13px}.project-type-chip{display:inline-flex;padding:6px 10px;border-radius:999px;background:linear-gradient(135deg,#fff5d6,#f2d486);color:#6d5111;font-size:12px;font-weight:900;border:1px solid rgba(173,126,25,.18)}.important-alert-card{width:100%;border:1px solid rgba(220,38,38,.2);background:rgba(254,242,242,.7);color:var(--text);border-radius:15px;padding:14px;display:grid;grid-template-columns:36px 1fr auto;gap:12px;text-align:right;align-items:center}.important-alert-card>b{width:34px;height:34px;border-radius:10px;background:#dc2626;color:#fff;display:grid;place-items:center}.important-alert-card small{display:block;color:var(--muted);margin-top:4px}.student-quick-actions,.admin-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.student-quick-actions button,.admin-action-grid button{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:13px;padding:14px;font-weight:850;text-align:right}.admin-action-grid button{display:flex;gap:10px;align-items:center}.admin-action-grid b{color:var(--primary);font-size:19px}.privacy-summary{display:grid;gap:10px}.privacy-summary span{padding:11px;border-radius:11px;background:var(--primary-soft);color:var(--primary-strong);font-weight:750}.focused-admin-grid{margin-bottom:16px}
.official-forms-intro{display:flex;justify-content:space-between;gap:16px;align-items:center;background:linear-gradient(135deg,#0c484b,#176b63);color:#fff;border-radius:20px;padding:20px;margin-bottom:14px}.official-forms-intro>div{display:flex;gap:14px;align-items:center}.official-forms-intro h3{margin:0 0 5px}.official-forms-intro p{margin:0;color:rgba(255,255,255,.75)}.official-forms-intro>span{white-space:nowrap;color:#f4d991;font-weight:800}.official-seal{width:52px;height:52px;border:1px solid rgba(244,217,145,.45);border-radius:15px;display:grid;place-items:center;color:#f4d991;font-weight:950}.official-form-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.official-forms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.official-form-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:17px;display:flex;flex-direction:column;min-height:245px}.official-form-card-head{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.official-source-badge{background:#0f625d;color:#fff;border-radius:999px;padding:5px 8px;font-weight:850}.official-form-card h3{margin:14px 0 7px}.official-form-card p{color:var(--muted);line-height:1.65;flex:1}.official-form-card dl{display:grid;gap:6px;margin:8px 0 14px}.official-form-card dl div{display:flex;justify-content:space-between;gap:10px}.official-form-card dt{color:var(--muted)}.official-form-card dd{margin:0;font-weight:750;text-align:left}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.reference-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:17px}.reference-card-head{display:flex;justify-content:space-between;gap:10px}.reference-card h3{margin:14px 0 5px}.reference-card>p{color:var(--muted)}.reference-card blockquote{margin:12px 0;padding:12px;border-inline-start:3px solid var(--primary);background:var(--panel2);border-radius:10px;font-size:13px;line-height:1.7}.project-reference-list{padding-top:12px}.project-reference-list article{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:12px;padding:11px;margin-bottom:8px}.project-reference-list small{display:block;color:var(--muted);margin-top:3px}
.notification-item em{font-style:normal;font-size:10px;padding:4px 7px;border-radius:999px;background:var(--panel2);color:var(--muted);white-space:nowrap}.notification-item.action-required em{background:#fee2e2;color:#b91c1c}.notification-item.action-required .notification-type{background:#dc2626;color:#fff}.smart-notification-filters button{min-width:100px}
.journey-personal-panel{margin-top:15px}.journey-personal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.journey-personal-card{border:1px solid var(--line);background:var(--panel2);border-radius:15px;padding:14px}.journey-personal-card.done{opacity:.72}.journey-personal-card h4{margin:10px 0 5px}.journey-personal-card p{color:var(--muted);line-height:1.6}.journey-personal-card>small{display:block;margin-bottom:11px;color:var(--muted)}
.global-search-box>label{display:flex;align-items:center;gap:10px;border:2px solid var(--primary);border-radius:15px;padding:5px 12px}.global-search-box>label span{font-size:24px;color:var(--primary)}.global-search-box input{border:0!important;box-shadow:none!important;background:transparent!important}.global-search-results{display:grid;gap:7px;margin-top:13px;max-height:48vh;overflow:auto}.global-search-result{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:13px;padding:11px;display:grid;grid-template-columns:90px 1fr auto;gap:12px;text-align:right;align-items:center;text-decoration:none}.global-search-result>span{color:var(--primary);font-size:12px;font-weight:900}.global-search-result small{display:block;color:var(--muted);margin-top:3px}.search-suggestions{display:flex;gap:7px;flex-wrap:wrap;padding:12px}.search-suggestions span{background:var(--panel2);border-radius:999px;padding:7px 10px;color:var(--muted)}
.compact-section-head{margin-top:4px}.calendar-unified-tabs{max-width:520px}.project-card-head>.project-role{flex:0 0 auto}
@media(max-width:1100px){.official-forms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.workspace-search-trigger{min-width:44px;width:44px;padding:9px;justify-content:center}.workspace-search-trigger b,.workspace-search-trigger kbd{display:none}.next-action-card{align-items:flex-start;flex-direction:column}.next-action-buttons{width:100%;justify-content:stretch}.next-action-buttons .btn{flex:1}.today-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.focused-dashboard-grid,.reference-grid,.journey-personal-grid{grid-template-columns:1fr}.official-forms-grid{grid-template-columns:1fr}.official-forms-intro{align-items:flex-start;flex-direction:column}.focused-upcoming>button{grid-template-columns:64px 1fr auto}.global-search-result{grid-template-columns:70px 1fr auto}.student-quick-actions{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.today-strip{grid-template-columns:1fr 1fr}.workspace-tabs button{padding:9px 12px}.official-forms-intro>div{align-items:flex-start}.official-seal{width:42px;height:42px;flex:0 0 42px}.project-compact-meta{grid-template-columns:1fr 1fr!important}}


/* ===== v472-responsive-actions-annual-calendar-multi-stage ===== */

/* v4.72 — balanced actions, annual official-calendar workflow, multi-stage academic journey. */
.btn{min-height:clamp(44px,3.2vw,50px);padding:clamp(10px,1vw,14px) clamp(15px,1.4vw,22px);font-size:clamp(14px,1.05vw,16px);border-radius:14px;line-height:1.25}
.btn.small{min-height:clamp(40px,2.8vw,46px);padding:9px clamp(13px,1.1vw,18px);font-size:clamp(13px,.95vw,15px)}
.row-actions,.page-actions,.hero-actions,.top-actions{gap:clamp(8px,.8vw,13px)}
.reference-card,.reference-card>*{min-width:0}.reference-card blockquote{overflow-wrap:anywhere;word-break:break-word;white-space:normal;max-width:100%;overflow:hidden}.reference-card a{max-width:100%}
.reference-card .chips{margin-top:12px}.reference-card>.btn{margin-top:12px}
.annual-calendar-guide{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:16px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 72%,#fff),var(--panel))}
.annual-calendar-guide h3{margin:0 0 6px}.annual-calendar-guide p{margin:0;color:var(--muted);line-height:1.7}.annual-calendar-guide ol{margin:10px 0 0;padding-inline-start:22px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 28px}.academic-archive-list{display:grid;gap:9px}.academic-archive-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}.academic-archive-row small{display:block;color:var(--muted);margin-top:4px}
.journey-stage-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.journey-stage-choice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--panel2)}.journey-stage-choice:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.journey-stage-choice input[type=checkbox]{width:20px;height:20px;margin-top:3px}.journey-stage-choice strong{display:block;margin-bottom:8px}.journey-stage-choice input[type=date]{width:100%}
.journey-active-panels{display:grid;gap:16px}.journey-stage-panel{border-color:color-mix(in srgb,var(--primary) 25%,var(--line))}.journey-stage-panel .panel-head{align-items:flex-start}.journey-stage-panel-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.journey-stage-panel-title h3{margin:0}.journey-stage-meta{color:var(--muted);margin:5px 0 0}.journey-stage-progress{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;gap:12px;align-items:center;margin:12px 0 16px;padding:10px 12px;background:var(--panel2);border-radius:12px}.journey-step.available{opacity:.78}.journey-step.current{box-shadow:0 10px 26px color-mix(in srgb,var(--primary) 14%,transparent)}
@media(min-width:1500px){.btn{min-height:50px;font-size:16px}.btn.small{min-height:44px;font-size:14px}.row-actions,.page-actions{gap:12px}}
@media(max-width:900px){.annual-calendar-guide{grid-template-columns:1fr}.annual-calendar-guide .btn{width:100%}.journey-stage-picker{grid-template-columns:1fr}.academic-archive-row{align-items:flex-start;flex-direction:column}.journey-stage-progress{grid-template-columns:1fr}.journey-stage-panel .panel-head{display:grid}.journey-stage-panel .panel-head>.row-actions{justify-content:flex-start}}
@media(max-width:620px){.btn{min-height:44px;padding:10px 14px}.btn.small{min-height:40px;padding:8px 12px}.row-actions,.page-actions{gap:8px}.reference-card-head{align-items:flex-start;flex-direction:column}.reference-card-head .row-actions{width:100%}.reference-card-head .row-actions .btn{flex:1}.journey-stage-choice{padding:12px}}


/* ===== v473-collaboration-community-refresh ===== */

/* v4.73 — project team chat, restored academic community, and official forms refresh. */
.project-chat-panel{border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--primary-soft) 72%,var(--panel)),var(--panel));overflow:hidden}
.project-chat-panel>summary{padding-bottom:12px}.project-chat-live{display:inline-flex;align-items:center;gap:6px;color:var(--success);font-weight:850;font-size:12px}.project-chat-live:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 14%,transparent)}
.project-chat-shell{display:grid;gap:12px}.project-chat-privacy{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:12px;background:var(--panel2);color:var(--muted);font-size:12px;line-height:1.7}.project-chat-privacy b{color:var(--primary-strong)}
.project-chat-messages{display:flex;flex-direction:column;gap:9px;max-height:360px;overflow:auto;padding:8px 5px 10px;scrollbar-width:thin;overscroll-behavior:contain}
.project-chat-empty{min-height:140px;display:grid;place-items:center;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 72%,transparent)}
.project-chat-message{display:grid;gap:4px;max-width:min(82%,650px);padding:10px 12px;border-radius:15px 15px 5px 15px;background:var(--panel);border:1px solid var(--line);box-shadow:0 6px 14px rgba(12,72,72,.05);align-self:flex-start}
.project-chat-message.own{align-self:flex-end;background:color-mix(in srgb,var(--primary) 12%,var(--panel));border-color:color-mix(in srgb,var(--primary) 34%,var(--line));border-radius:15px 15px 15px 5px}
.project-chat-message header{display:flex;align-items:center;justify-content:space-between;gap:14px}.project-chat-message header strong{font-size:12px;color:var(--primary-strong)}.project-chat-message header time{font-size:10px;color:var(--muted);white-space:nowrap}.project-chat-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;color:var(--text)}
.project-chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}.project-chat-composer textarea{min-height:54px;max-height:130px;resize:vertical;border-radius:14px}.project-chat-composer .btn{min-height:54px;padding-inline:20px}.project-chat-hint{grid-column:1/-1;color:var(--muted);font-size:11px}
.project-chat-unread{display:inline-grid;place-items:center;min-width:22px;height:22px;padding-inline:6px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:950;border:2px solid #fff}
.project-chat-card-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:color-mix(in srgb,var(--primary) 11%,var(--panel));color:var(--primary-strong);font-weight:850;font-size:12px;margin-inline-start:6px}
.admin-official-refresh-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px}.official-refresh-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--panel)}.official-refresh-card h3{margin:0 0 6px}.official-refresh-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}.official-refresh-status span{padding:11px;border-radius:12px;background:var(--panel2);display:grid;gap:3px}.official-refresh-status small{color:var(--muted)}.official-refresh-status b{font-size:14px;overflow-wrap:anywhere}.official-refresh-actions{display:flex;gap:9px;flex-wrap:wrap}.official-refresh-endpoint{display:grid;gap:8px}.official-refresh-endpoint input{direction:ltr;text-align:left}.official-refresh-log{margin-top:12px;padding:11px;border-radius:12px;background:var(--primary-soft);color:var(--primary-strong);line-height:1.7}.official-refresh-log.warn{background:#fff7e6;color:#8a5a00}.official-refresh-source-list{display:grid;gap:8px;margin-top:12px}.official-refresh-source-list a{display:flex;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}
.community-value-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}.community-value-strip span{padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--panel);text-align:center;font-weight:800;color:var(--primary-strong)}
@media(max-width:900px){.admin-official-refresh-grid{grid-template-columns:1fr}.official-refresh-status{grid-template-columns:1fr 1fr}.community-value-strip{grid-template-columns:1fr}}
@media(max-width:640px){.project-chat-message{max-width:94%}.project-chat-composer{grid-template-columns:1fr}.project-chat-composer .btn{width:100%}.official-refresh-status{grid-template-columns:1fr}.main-nav{gap:0!important}}


/* ===== v468-sidebar-scrollbar-header-hard-fix ===== */

/* Keep hidden views truly out of layout; later responsive display rules must not revive them. */
.hidden,#loginView.hidden,#appView.hidden{display:none!important}

/* v4.68 — remove the visible sidebar bar and prevent the Riwaq identity from being cropped */
html,body,#appView,.app,.main{max-width:100vw!important;overflow-x:clip!important}
.sidebar{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
.sidebar-brand-v24{
  min-width:0!important;
  flex:none!important;
  padding:8px 10px 14px!important;
  gap:5px!important;
}
.sidebar-riwaq-logo{
  display:block!important;
  width:clamp(108px,8vw,132px)!important;
  height:auto!important;
  max-height:178px!important;
  margin-inline:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  overflow:visible!important;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.16))!important;
}
.sidebar-brand-v24>div{min-width:0!important;width:100%!important}
.sidebar-brand-v24 small{
  display:block!important;
  margin-top:0!important;
  font-size:9px!important;
  line-height:1.35!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.main-nav{
  min-width:0!important;
  min-height:0!important;
  width:100%!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  scrollbar-gutter:auto!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
.main-nav::-webkit-scrollbar,
.main-nav::-webkit-scrollbar-track,
.main-nav::-webkit-scrollbar-thumb,
.sidebar::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
  background:transparent!important;
}
.sidebar-bottom{margin-top:0!important;min-width:0!important}
.topbar{overflow:visible!important;min-width:0!important}
.topbar-identity{
  min-width:0!important;
  max-width:min(680px,58vw)!important;
  overflow:visible!important;
  padding:2px 8px!important;
  line-height:1.25!important;
}
.topbar-identity strong{
  display:flex!important;
  direction:rtl!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:.28em!important;
  max-width:100%!important;
  min-width:0!important;
  padding-block:3px!important;
  font-size:clamp(15px,1.35vw,21px)!important;
  line-height:1.35!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.topbar-brand-name,.topbar-brand-divider,.topbar-brand-subtitle{display:inline-block!important;flex:0 0 auto!important;white-space:nowrap!important}
.topbar-brand-name{color:var(--primary-strong)!important}
.topbar-brand-divider{color:var(--accent)!important;font-weight:700!important}
.topbar-brand-subtitle{color:var(--text)!important;font-size:.88em!important;font-weight:800!important}
.topbar-identity small{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
@media(max-width:1180px){
  html:has(.sidebar.open),body:has(.sidebar.open){height:100dvh!important;overflow:hidden!important;overscroll-behavior:none!important}
  .sidebar{width:min(360px,92vw)!important;max-width:92vw!important}
  .sidebar.open ~ .main .topbar-identity{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
  .topbar-identity{max-width:calc(100vw - 190px)!important}
}
@media(max-width:640px){
  .sidebar{width:min(340px,94vw)!important;max-width:94vw!important}
  .sidebar-brand-v24{padding-top:max(10px,env(safe-area-inset-top))!important}
  .sidebar-riwaq-logo{width:108px!important;max-height:148px!important}
  .topbar-identity{max-width:calc(100vw - 116px)!important;padding-inline:2px!important}
  .topbar-identity strong{font-size:13px!important;gap:.2em!important}
  .topbar-brand-subtitle{font-size:.86em!important}
}


/* ===== v469-sidebar-fit-no-scroll ===== */

/* v4.69 — the entire sidebar always fits inside the viewport; no wheel/touch scrolling is needed. */
.sidebar{
  height:100vh!important;
  height:100dvh!important;
  max-height:100dvh!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  gap:0!important;
  padding:max(8px,env(safe-area-inset-top)) 10px max(8px,env(safe-area-inset-bottom))!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
.sidebar-brand-v24{
  min-height:0!important;
  padding:2px 6px clamp(5px,.8dvh,9px)!important;
  gap:2px!important;
  overflow:visible!important;
}
.sidebar-riwaq-logo{
  width:clamp(82px,10.5dvh,112px)!important;
  height:clamp(82px,10.5dvh,112px)!important;
  max-height:none!important;
  margin:0 auto!important;
  object-fit:contain!important;
  object-position:center!important;
  overflow:visible!important;
}
.sidebar-brand-v24 small{
  margin:0!important;
  min-height:0!important;
  font-size:clamp(8px,1.05dvh,10px)!important;
  line-height:1.2!important;
}
.main-nav{
  --nav-items:11;
  display:grid!important;
  grid-template-rows:repeat(var(--nav-items),minmax(0,1fr))!important;
  align-content:stretch!important;
  gap:clamp(1px,.35dvh,4px)!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  padding:clamp(3px,.55dvh,7px) 0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:manipulation!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.main-nav::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.nav-btn{
  align-self:center!important;
  width:100%!important;
  height:100%!important;
  max-height:48px!important;
  min-height:0!important;
  grid-template-columns:clamp(27px,3.8dvh,34px) minmax(0,1fr) auto!important;
  gap:clamp(6px,.8dvh,10px)!important;
  padding:clamp(2px,.55dvh,7px) 9px!important;
  border-radius:clamp(9px,1.25dvh,13px)!important;
  font-size:clamp(13px,1.8dvh,16px)!important;
  line-height:1.1!important;
  overflow:hidden!important;
}
.nav-btn .nav-icon{
  width:clamp(27px,3.8dvh,34px)!important;
  height:clamp(27px,3.8dvh,34px)!important;
  border-radius:clamp(8px,1.05dvh,10px)!important;
  font-size:clamp(15px,2.15dvh,19px)!important;
}
.nav-btn .nav-label{
  font-size:inherit!important;
  line-height:1.12!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.nav-count{
  min-width:clamp(19px,2.8dvh,23px)!important;
  height:clamp(19px,2.8dvh,23px)!important;
  padding-inline:5px!important;
  font-size:clamp(9px,1.35dvh,11px)!important;
  border-width:2px!important;
}
.sidebar-bottom{
  min-height:0!important;
  margin:0!important;
  padding-top:clamp(4px,.7dvh,9px)!important;
}
.logout-btn{
  min-height:clamp(36px,5.4dvh,47px)!important;
  padding:clamp(5px,.75dvh,10px) 10px!important;
  border-radius:clamp(10px,1.35dvh,13px)!important;
  font-size:clamp(13px,1.8dvh,16px)!important;
  line-height:1!important;
}
.logout-btn svg{width:clamp(17px,2.4dvh,20px)!important;height:clamp(17px,2.4dvh,20px)!important}

/* Short tablet and phone screens: preserve every item by compacting the brand and controls. */
@media (max-height:720px){
  .sidebar{padding-top:max(5px,env(safe-area-inset-top))!important;padding-bottom:max(5px,env(safe-area-inset-bottom))!important}
  .sidebar-riwaq-logo{width:clamp(62px,9.5dvh,78px)!important;height:clamp(62px,9.5dvh,78px)!important}
  .sidebar-brand-v24{padding-bottom:3px!important}
  .sidebar-brand-v24 small{display:none!important}
  .main-nav{gap:1px!important;padding-block:2px!important}
  .nav-btn{max-height:42px!important;font-size:clamp(12px,1.85dvh,14px)!important;padding-block:2px!important}
  .nav-btn .nav-icon{width:clamp(25px,3.7dvh,29px)!important;height:clamp(25px,3.7dvh,29px)!important;font-size:clamp(14px,2.1dvh,17px)!important}
  .sidebar-bottom{padding-top:3px!important}
  .logout-btn{min-height:35px!important;padding-block:5px!important}
}
@media (max-height:560px){
  .sidebar{padding-block:4px!important}
  .sidebar-riwaq-logo{width:48px!important;height:48px!important}
  .sidebar-brand-v24{padding:0 4px 2px!important}
  .main-nav{gap:0!important;padding:1px 0!important}
  .nav-btn{max-height:none!important;border-radius:8px!important;font-size:11.5px!important;grid-template-columns:23px minmax(0,1fr) auto!important;gap:5px!important;padding:1px 7px!important}
  .nav-btn .nav-icon{width:22px!important;height:22px!important;border-radius:7px!important;font-size:13px!important}
  .nav-count{min-width:18px!important;height:18px!important;font-size:9px!important;border-width:1.5px!important}
  .sidebar-bottom{padding-top:2px!important}
  .logout-btn{min-height:31px!important;font-size:12px!important;padding:3px 8px!important}
  .logout-btn svg{width:15px!important;height:15px!important}
}
@media (max-height:420px){
  .sidebar-riwaq-logo{width:36px!important;height:36px!important}
  .nav-btn{font-size:10px!important;grid-template-columns:20px minmax(0,1fr) auto!important;padding-inline:5px!important}
  .nav-btn .nav-icon{width:19px!important;height:19px!important;font-size:11px!important}
  .nav-count{min-width:16px!important;height:16px!important;font-size:8px!important}
  .logout-btn{min-height:27px!important;font-size:10.5px!important}
}


/* ===== v470-sidebar-balanced-size ===== */

/* v4.70 — larger, clearer sidebar controls with tighter spacing and no scrolling. */
@media (min-width:981px){
  .app{grid-template-columns:292px minmax(0,1fr)!important}
  .sidebar{padding-inline:12px!important}
}
@media (max-width:980px){
  .sidebar{width:min(390px,94vw)!important;max-width:94vw!important}
}
.sidebar-brand-v24{
  padding:2px 6px clamp(5px,.65dvh,8px)!important;
  gap:2px!important;
}
.sidebar-riwaq-logo{
  width:clamp(96px,12.2dvh,126px)!important;
  height:clamp(96px,12.2dvh,126px)!important;
}
.sidebar-brand-v24 small{
  font-size:clamp(8.5px,1.1dvh,10.5px)!important;
  line-height:1.15!important;
}
.main-nav{
  grid-template-rows:none!important;
  grid-auto-rows:clamp(44px,5.3dvh,52px)!important;
  align-content:center!important;
  gap:clamp(1px,.22dvh,3px)!important;
  padding:clamp(2px,.35dvh,5px) 0!important;
}
.nav-btn{
  align-self:stretch!important;
  height:100%!important;
  max-height:none!important;
  grid-template-columns:clamp(30px,4.15dvh,38px) minmax(0,1fr) auto!important;
  gap:clamp(7px,.72dvh,10px)!important;
  padding:clamp(4px,.62dvh,8px) 10px!important;
  border-radius:clamp(10px,1.25dvh,14px)!important;
  font-size:clamp(14px,1.95dvh,17px)!important;
}
.nav-btn .nav-icon{
  width:clamp(30px,4.15dvh,38px)!important;
  height:clamp(30px,4.15dvh,38px)!important;
  border-radius:clamp(9px,1.05dvh,11px)!important;
  font-size:clamp(16px,2.15dvh,20px)!important;
}
.nav-count{
  min-width:clamp(21px,2.8dvh,25px)!important;
  height:clamp(21px,2.8dvh,25px)!important;
  font-size:clamp(9.5px,1.25dvh,11.5px)!important;
}
.sidebar-bottom{padding-top:clamp(3px,.45dvh,6px)!important}
.logout-btn{
  min-height:clamp(40px,5.2dvh,49px)!important;
  font-size:clamp(14px,1.85dvh,16.5px)!important;
}

@media (max-height:720px){
  .sidebar-riwaq-logo{width:clamp(72px,10.5dvh,86px)!important;height:clamp(72px,10.5dvh,86px)!important}
  .main-nav{grid-auto-rows:clamp(38px,5.35dvh,43px)!important;gap:1px!important;padding-block:1px!important}
  .nav-btn{font-size:clamp(13px,1.9dvh,14.5px)!important;grid-template-columns:clamp(27px,3.9dvh,31px) minmax(0,1fr) auto!important;padding-block:2px!important}
  .nav-btn .nav-icon{width:clamp(27px,3.9dvh,31px)!important;height:clamp(27px,3.9dvh,31px)!important;font-size:clamp(14px,2.05dvh,17px)!important}
  .logout-btn{min-height:36px!important;font-size:13.5px!important}
}
@media (max-height:560px){
  .sidebar-riwaq-logo{width:52px!important;height:52px!important}
  .main-nav{grid-auto-rows:clamp(30px,6.1dvh,34px)!important;gap:0!important}
  .nav-btn{font-size:12px!important;grid-template-columns:24px minmax(0,1fr) auto!important;gap:5px!important;padding:1px 7px!important;border-radius:8px!important}
  .nav-btn .nav-icon{width:23px!important;height:23px!important;font-size:13px!important;border-radius:7px!important}
  .nav-count{min-width:18px!important;height:18px!important;font-size:9px!important}
  .logout-btn{min-height:31px!important;font-size:12px!important;padding-block:3px!important}
}
@media (max-height:420px){
  .sidebar-brand-v24{display:none!important}
  .main-nav{grid-auto-rows:clamp(23px,7.2dvh,27px)!important}
  .nav-btn{font-size:10.8px!important;grid-template-columns:20px minmax(0,1fr) auto!important;padding-inline:5px!important}
  .nav-btn .nav-icon{width:19px!important;height:19px!important;font-size:11px!important}
  .logout-btn{min-height:27px!important;font-size:10.8px!important}
}


/* ===== v474-refined-sidebar-stage-navigation ===== */

/* v4.74 — a balanced, premium sidebar and drill-down academic-stage navigation. */
@media (min-width:981px){.app{grid-template-columns:310px minmax(0,1fr)!important}}
@media (max-width:980px){.sidebar{width:min(370px,94vw)!important;max-width:94vw!important}}
.sidebar{grid-template-rows:auto minmax(0,1fr) auto!important;padding:max(10px,env(safe-area-inset-top)) 14px max(10px,env(safe-area-inset-bottom))!important}
.sidebar-brand-v24{padding:4px 8px 16px!important;gap:4px!important;border-bottom:1px solid rgba(255,255,255,.14)!important}
.sidebar-riwaq-logo{width:clamp(112px,12.5dvh,152px)!important;height:clamp(112px,12.5dvh,152px)!important;margin:0 auto!important}
.sidebar-brand-v24 small{display:block!important;font-size:clamp(10px,1.15dvh,12px)!important;line-height:1.35!important;opacity:.78!important}
.main-nav{display:grid!important;grid-template-rows:none!important;grid-auto-rows:clamp(52px,5.9dvh,62px)!important;align-content:start!important;justify-content:stretch!important;gap:clamp(5px,.62dvh,8px)!important;height:100%!important;padding:clamp(16px,2.1dvh,24px) 0 4px!important;overflow:hidden!important}
.nav-btn{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;grid-template-columns:clamp(40px,4.5dvh,47px) minmax(0,1fr) auto!important;gap:clamp(10px,1dvh,13px)!important;padding:6px 13px!important;border-radius:16px!important;font-size:clamp(17px,1.9dvh,20px)!important;line-height:1.15!important}
.nav-btn .nav-icon{width:clamp(40px,4.5dvh,47px)!important;height:clamp(40px,4.5dvh,47px)!important;border-radius:14px!important;font-size:clamp(19px,2.25dvh,23px)!important}
.nav-btn .nav-label{font-size:inherit!important;font-weight:850!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
.nav-btn.active{background:linear-gradient(90deg,rgba(255,255,255,.085),rgba(29,139,128,.20))!important;box-shadow:inset -4px 0 0 #d7aa55,0 10px 24px rgba(0,0,0,.10)!important}
.nav-count{min-width:27px!important;height:27px!important;padding-inline:7px!important;font-size:12px!important}
.sidebar-bottom{align-self:end!important;padding-top:10px!important;border-top:1px solid rgba(255,255,255,.14)!important}
.logout-btn{min-height:52px!important;font-size:17px!important;border-radius:16px!important}
@media (max-height:900px){.sidebar-riwaq-logo{width:104px!important;height:104px!important}.sidebar-brand-v24{padding-bottom:10px!important}.main-nav{grid-auto-rows:48px!important;gap:4px!important;padding-top:10px!important}.nav-btn{grid-template-columns:36px minmax(0,1fr) auto!important;font-size:15px!important;padding:4px 10px!important;border-radius:13px!important}.nav-btn .nav-icon{width:35px!important;height:35px!important;font-size:18px!important;border-radius:11px!important}.logout-btn{min-height:43px!important;font-size:15px!important}}
@media (max-height:720px){.sidebar-riwaq-logo{width:76px!important;height:76px!important}.sidebar-brand-v24 small{display:none!important}.main-nav{grid-auto-rows:40px!important;gap:2px!important;padding-top:5px!important}.nav-btn{grid-template-columns:30px minmax(0,1fr) auto!important;font-size:13.5px!important;padding:2px 8px!important;border-radius:11px!important}.nav-btn .nav-icon{width:29px!important;height:29px!important;font-size:15px!important;border-radius:9px!important}.nav-count{min-width:21px!important;height:21px!important;font-size:10px!important}.logout-btn{min-height:36px!important;font-size:13px!important}}
@media (max-height:560px){.sidebar-brand-v24{display:none!important}.main-nav{grid-auto-rows:32px!important;gap:1px!important;padding-top:1px!important}.nav-btn{grid-template-columns:24px minmax(0,1fr) auto!important;font-size:11.5px!important;padding:1px 6px!important;border-radius:8px!important}.nav-btn .nav-icon{width:23px!important;height:23px!important;font-size:12px!important;border-radius:7px!important}.logout-btn{min-height:29px!important;font-size:11px!important;padding:2px 7px!important}}
.journey-stage-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0 20px}
.journey-stage-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;min-height:150px;padding:20px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,var(--panel),color-mix(in srgb,var(--primary-soft) 35%,var(--panel)));text-align:right;color:var(--text);cursor:pointer;box-shadow:0 10px 26px rgba(13,74,72,.06);transition:.18s;overflow:hidden}
.journey-stage-card:before{content:"";position:absolute;inset:auto -35px -55px auto;width:135px;height:135px;border-radius:50%;background:color-mix(in srgb,var(--primary) 7%,transparent)}
.journey-stage-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 42%,var(--line));box-shadow:0 18px 34px rgba(13,74,72,.12)}
.journey-stage-card.current{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary),0 16px 34px color-mix(in srgb,var(--primary) 15%,transparent)}
.journey-stage-card.completed{border-color:color-mix(in srgb,var(--success) 65%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--success) 7%,var(--panel)),var(--panel))}
.journey-stage-card.inactive{opacity:.72;background:var(--panel2)}
.journey-stage-number{position:relative;z-index:1;width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:22px;font-weight:950}
.journey-stage-card.completed .journey-stage-number{background:var(--success)}.journey-stage-card.inactive .journey-stage-number{background:var(--muted)}
.journey-stage-card-copy{position:relative;z-index:1;min-width:0}.journey-stage-card-copy strong{display:block;font-size:19px;margin-bottom:7px}.journey-stage-card-copy small{display:block;color:var(--muted);line-height:1.6}.journey-stage-card-copy em{display:inline-flex;margin-top:10px;padding:5px 9px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-style:normal;font-size:12px;font-weight:850}
.journey-stage-card-progress{grid-column:1/-1;position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center}.journey-stage-card-progress .progress{height:8px}.journey-stage-card-progress b{font-size:13px;color:var(--primary-strong)}
.journey-stage-detail-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.journey-stage-switches{display:flex;gap:8px;flex-wrap:wrap}.journey-stage-switch{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:9px 13px;font-weight:800;color:var(--muted)}.journey-stage-switch.active{background:var(--primary);border-color:var(--primary);color:#fff}
.journey-overview-note{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;border:1px solid var(--line);border-radius:15px;background:var(--panel2);color:var(--muted);line-height:1.7}.journey-overview-note b{color:var(--primary-strong)}
@media(max-width:1180px){.journey-stage-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.journey-stage-overview-grid{grid-template-columns:1fr}.journey-stage-card{min-height:130px;padding:16px}.journey-stage-detail-nav{align-items:stretch;flex-direction:column}.journey-stage-detail-nav>.btn{width:100%}}


/* ===== v475-inline-stage-navigation-clean-journey ===== */

/* v4.75 — keep stage cards visible and switch the work area inline. */
.journey-stage-card.selected{border-color:var(--primary)!important;box-shadow:inset 0 0 0 2px var(--primary),0 18px 38px color-mix(in srgb,var(--primary) 18%,transparent)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--primary-soft) 72%,var(--panel)),var(--panel))!important}
.journey-stage-card.selected .journey-stage-number{background:var(--primary-strong)!important}
.journey-stage-card[aria-pressed="true"] .journey-stage-card-copy em{background:var(--primary)!important;color:#fff!important}
.journey-inline-stage-detail{margin-top:18px;scroll-margin-top:96px}
.journey-inline-stage-detail>.journey-stage-panel{margin-bottom:0}
.journey-personal-panel{display:none!important}
@media(max-width:650px){.journey-inline-stage-detail{scroll-margin-top:76px}.journey-stage-card{min-height:122px}}


/* ===== v476-task-collaboration-style ===== */

.project-task-actions{align-content:start}
.project-task-collab-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}
.project-task-collab-summary .mini-count{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-size:11px;font-weight:850}
.project-task-collab-summary .mini-count.pending{background:#fff4db;color:#8a5a00}
.task-collab-shell{display:grid;gap:15px}
.task-collab-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--primary-soft),var(--panel))}
.task-collab-hero h3{margin:5px 0 8px;font-size:1.25rem}.task-collab-hero p{margin:0;color:var(--muted);line-height:1.7}.task-collab-hero-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.task-collab-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:14px}
.task-collab-panel{border:1px solid var(--line);border-radius:18px;padding:16px;background:var(--panel)}
.task-collab-panel>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.task-collab-panel>header h3{margin:0}.task-collab-panel>header span{color:var(--muted);font-size:12px}
.task-comment-list,.task-review-list,.task-history-list{display:grid;gap:10px}
.task-comment-item,.task-review-item,.task-history-item{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--panel2)}
.task-comment-item header,.task-review-item header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.task-comment-item header small,.task-review-item header small{color:var(--muted)}
.task-comment-item p,.task-review-item p{margin:8px 0 0;line-height:1.75;white-space:pre-wrap}.task-comment-mentions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.task-comment-mentions span{font-size:11px;padding:4px 7px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-weight:800}
.task-attachment-button{display:inline-flex;align-items:center;gap:7px;margin-top:9px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-weight:800;color:var(--primary-strong)}
.task-comment-composer,.task-review-composer{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.task-comment-composer textarea,.task-review-composer textarea{min-height:82px;resize:vertical}.task-comment-composer .composer-row,.task-review-composer .composer-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.task-comment-composer input[type=file],.task-review-composer input[type=file]{min-height:46px;padding:10px;background:var(--panel)}
.task-review-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900}.task-review-status.pending{background:#fff4db;color:#8a5a00}.task-review-status.approved{background:#e6f7ef;color:#157257}.task-review-status.returned{background:#fff0ed;color:#a83a2d}
.task-review-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin-top:10px;align-items:end}.task-review-actions textarea{min-height:54px;resize:vertical}
.task-history-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}.task-history-icon{width:32px;height:32px;border-radius:10px;background:var(--primary-soft);display:grid;place-items:center;color:var(--primary-strong);font-weight:950}.task-history-item p{margin:2px 0 3px;line-height:1.6}.task-history-item small{color:var(--muted)}
.task-collab-empty{padding:18px;border:1px dashed var(--line);border-radius:13px;text-align:center;color:var(--muted)}
.task-collab-section-toggle{margin-top:14px}.task-collab-section-toggle summary{cursor:pointer;font-weight:900;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0}.task-collab-section-toggle summary::marker{color:var(--primary)}
@media(max-width:900px){.task-collab-grid{grid-template-columns:1fr}.task-collab-hero{grid-template-columns:1fr}.task-collab-hero-meta{justify-content:flex-start}}
@media(max-width:640px){.task-comment-composer .composer-row,.task-review-composer .composer-row,.task-review-actions{grid-template-columns:1fr}.task-review-actions .btn{width:100%}.task-collab-panel{padding:13px}}


/* ===== v477-selected-stage-emphasis ===== */

/* v4.77 — make the currently selected academic stage unmistakable. */
.journey-stage-card{
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease,opacity .22s ease!important;
}
.journey-stage-overview-grid:has(.journey-stage-card.selected) .journey-stage-card:not(.selected){
  opacity:.76!important;
  filter:saturate(.72)!important;
  border-color:color-mix(in srgb,var(--line) 88%,transparent)!important;
  box-shadow:0 7px 18px rgba(13,74,72,.045)!important;
}
.journey-stage-overview-grid:has(.journey-stage-card.selected) .journey-stage-card:not(.selected):hover{
  opacity:.94!important;
  filter:saturate(.92)!important;
  transform:translateY(-2px)!important;
}
.journey-stage-card.selected,
.journey-stage-card[aria-pressed="true"]{
  z-index:3!important;
  transform:translateY(-7px) scale(1.025)!important;
  color:#fff!important;
  border:3px solid #d8b86b!important;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.17),transparent 30%),
    linear-gradient(145deg,var(--primary-strong),var(--primary))!important;
  box-shadow:
    0 0 0 5px color-mix(in srgb,#d8b86b 20%,transparent),
    0 24px 52px color-mix(in srgb,var(--primary-strong) 36%,transparent),
    inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.journey-stage-card.selected:before,
.journey-stage-card[aria-pressed="true"]:before{
  width:175px!important;
  height:175px!important;
  right:auto!important;
  left:-52px!important;
  bottom:-72px!important;
  background:rgba(255,255,255,.09)!important;
}
.journey-stage-card.selected:after,
.journey-stage-card[aria-pressed="true"]:after{
  content:none!important;
  display:none!important;
}
.journey-stage-card.selected .journey-stage-number,
.journey-stage-card[aria-pressed="true"] .journey-stage-number{
  width:60px!important;
  height:60px!important;
  color:#173f3d!important;
  background:linear-gradient(145deg,#f5dfad,#d5aa58)!important;
  border:1px solid rgba(255,255,255,.48)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.22)!important;
}
.journey-stage-card.selected .journey-stage-card-copy strong,
.journey-stage-card[aria-pressed="true"] .journey-stage-card-copy strong{
  color:#fff!important;
  font-size:21px!important;
  text-shadow:0 2px 7px rgba(0,0,0,.18);
}
.journey-stage-card.selected .journey-stage-card-copy small,
.journey-stage-card[aria-pressed="true"] .journey-stage-card-copy small{
  color:rgba(255,255,255,.82)!important;
}
.journey-stage-card.selected .journey-stage-card-copy em,
.journey-stage-card[aria-pressed="true"] .journey-stage-card-copy em{
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:none!important;
}
.journey-stage-card.selected .journey-stage-card-progress .progress,
.journey-stage-card[aria-pressed="true"] .journey-stage-card-progress .progress{
  background:rgba(255,255,255,.22)!important;
}
.journey-stage-card.selected .journey-stage-card-progress .progress i,
.journey-stage-card[aria-pressed="true"] .journey-stage-card-progress .progress i{
  background:linear-gradient(90deg,#f5dfad,#d5aa58)!important;
}
.journey-stage-card.selected .journey-stage-card-progress b,
.journey-stage-card[aria-pressed="true"] .journey-stage-card-progress b{
  color:#fff!important;
  font-size:14px!important;
}
.journey-inline-stage-detail{
  border-top:3px solid color-mix(in srgb,#d8b86b 82%,var(--primary))!important;
  border-radius:22px!important;
  padding-top:18px!important;
}
@media(max-width:650px){
  .journey-stage-card.selected,
  .journey-stage-card[aria-pressed="true"]{transform:translateY(-4px)!important}
  .journey-stage-card.selected:after,
  .journey-stage-card[aria-pressed="true"]:after{top:10px;left:10px;font-size:10px;padding:4px 8px}
}
@media(prefers-reduced-motion:reduce){
  .journey-stage-card{transition:none!important}
  .journey-stage-card.selected,.journey-stage-card[aria-pressed="true"]{transform:none!important}
}


/* v4.80 — team account login repair */
.demo-team-login-note{margin:10px 2px 4px!important;font-size:12px!important;line-height:1.7!important;color:var(--muted)!important}.demo-team-login-note b{color:var(--primary-strong);font-weight:900}.demo-accounts-v24[open]{max-height:min(390px,42vh);overflow:auto;scrollbar-width:thin}

/* v4.86 — stable unified visual identity for all student accounts */
body[data-section="gen-m"],
body[data-section="gen-f"],
body[data-section="high-m"],
body[data-section="high-f"]{
  --primary:#187d72;
  --primary-strong:#0f5b55;
  --primary-soft:#e8f5f2;
  --accent:#c9a45b;
  --sidebar:#123f43;
  --section-canvas:#f4f8f8;
  --section-glow:#a7d8d1;
}
body:not([data-mode="dark"]){background:#f4f8f8}
.app:not(.hidden) .main{background:linear-gradient(180deg,#f7fafb 0,#f3f7f8 100%)}
.app:not(.hidden) .topbar{background:rgba(247,250,251,.93);box-shadow:0 8px 25px rgba(16,67,70,.035)}
.app:not(.hidden) .page{max-width:1680px;width:100%;margin-inline:auto}
.app:not(.hidden) .panel,
.app:not(.hidden) .card,
.app:not(.hidden) .stat{border-color:#d8e5e6;box-shadow:0 12px 32px rgba(20,67,70,.055)}
.app:not(.hidden) .btn{min-height:44px;padding-inline:16px}
.app:not(.hidden) .btn.small{min-height:38px;padding-inline:13px}
.app:not(.hidden) .nav-btn{font-size:15px}
.app:not(.hidden) .section-badge{background:#e9f5f3;color:#155f59}
@media(max-width:800px){
  .app:not(.hidden) .page{padding-inline:12px}
  .app:not(.hidden) .panel{padding:16px}
  .app:not(.hidden) .btn{min-height:46px}
}

/* v4.86 — clearer audience and project member selection */
.project-selected-members-summary{margin:12px 0 0;padding:11px 14px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--primary-soft) 68%,#fff);color:var(--muted);line-height:1.8}.project-selected-members-summary b{color:var(--primary-strong)}
.post-composer .field-help{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.7}
/* Force the same Riwaq identity for every student and female-student account. */
body[data-section="gen-m"] .sidebar,body[data-section="gen-f"] .sidebar,body[data-section="high-m"] .sidebar,body[data-section="high-f"] .sidebar{background:linear-gradient(180deg,#174f50 0%,#0f4144 100%)!important}
body[data-section="gen-m"] .nav-btn.active,body[data-section="gen-f"] .nav-btn.active,body[data-section="high-m"] .nav-btn.active,body[data-section="high-f"] .nav-btn.active{background:linear-gradient(135deg,#246f69,#1b5e5a)!important;border-color:#caa65d!important}
/* v4.86 — calendar and secondary surfaces also follow the same identity */
.academic-calendar-poster.theme-gen-m,
.academic-calendar-poster.theme-gen-f,
.academic-calendar-poster.theme-high-m,
.academic-calendar-poster.theme-high-f{
  --cal-primary:#187d72!important;
  --cal-strong:#0f5b55!important;
  --cal-soft:#e8f5f2!important;
}
body[data-section="gen-m"] .hero,
body[data-section="gen-f"] .hero,
body[data-section="high-m"] .hero,
body[data-section="high-f"] .hero,
body[data-section="gen-m"] .focus,
body[data-section="gen-f"] .focus,
body[data-section="high-m"] .focus,
body[data-section="high-f"] .focus{
  border-color:color-mix(in srgb,#187d72 28%,var(--line));
}

/* ===== v4.87 personal appearance and admin privacy ===== */
.workspace-appearance-trigger{min-height:44px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);display:inline-flex;align-items:center;gap:8px;padding:0 13px;font-weight:850;box-shadow:0 6px 18px rgba(20,55,62,.04)}
.workspace-appearance-trigger:hover{border-color:var(--primary);color:var(--primary-strong);transform:translateY(-1px)}
.workspace-appearance-trigger>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-strong);font-size:17px}
.appearance-settings{display:grid;gap:20px}.appearance-settings fieldset{border:1px solid var(--line);border-radius:18px;padding:16px}.appearance-settings legend{padding:0 8px;font-weight:900;color:var(--text)}
.appearance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.appearance-choice{position:relative;display:grid;grid-template-columns:78px minmax(0,1fr) 26px;align-items:center;gap:12px;padding:14px;border:2px solid var(--line);border-radius:17px;background:var(--panel);cursor:pointer;transition:.18s}.appearance-choice:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));transform:translateY(-1px)}.appearance-choice:has(input:checked){border-color:var(--primary);background:var(--primary-soft);box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 14%,transparent)}.appearance-choice input{position:absolute;opacity:0;pointer-events:none}.appearance-choice>span:nth-of-type(2){display:grid;gap:4px}.appearance-choice strong{font-size:15px}.appearance-choice small{color:var(--muted);line-height:1.55}.appearance-choice>b{width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:var(--primary);color:#fff;opacity:0}.appearance-choice:has(input:checked)>b{opacity:1}
.appearance-preview{height:58px;border-radius:13px;padding:9px;display:grid;gap:5px;align-content:start;border:1px solid rgba(0,0,0,.07)}.appearance-preview i{display:block;border-radius:999px;height:7px}.appearance-preview i:nth-child(1){width:72%}.appearance-preview i:nth-child(2){width:100%}.appearance-preview i:nth-child(3){width:48%}.appearance-preview-classic{background:#f4f7f8}.appearance-preview-classic i{background:#177c72}.appearance-preview-classic i:last-child{background:#d2a84a}.appearance-preview-calm{background:#f8f5ed}.appearance-preview-calm i{background:#2d766d}.appearance-preview-calm i:last-child{background:#bd9854}.appearance-preview-contrast{background:#eef4f2}.appearance-preview-contrast i{background:#075f57}.appearance-preview-contrast i:last-child{background:#b98625}
.appearance-font-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.appearance-font-options label{position:relative;display:flex;align-items:center;gap:12px;padding:13px;border:2px solid var(--line);border-radius:14px;cursor:pointer}.appearance-font-options label:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.appearance-font-options input{width:19px;min-height:19px;height:19px;accent-color:var(--primary)}.appearance-font-options span{display:grid;gap:2px}.appearance-font-options small{color:var(--muted)}.appearance-reset{justify-self:start}.composer-grid-single{grid-template-columns:minmax(220px,420px)}.post-category-only{min-height:30px}.admin-without-projects{grid-template-columns:repeat(4,minmax(0,1fr))}
html[data-riwaq-theme="calm"]{--bg:#f7f4ec;--panel:#fffdf8;--panel2:#faf7f0;--text:#183735;--muted:#73827f;--line:#dfdfd4;--primary:#2d766d;--primary-strong:#185f58;--primary-soft:#eaf3ef;--accent:#bd9854;--sidebar:#164a48;--shadow:0 14px 38px rgba(38,72,65,.075)}
html[data-riwaq-theme="contrast"]{--bg:#eef4f2;--panel:#ffffff;--panel2:#f3f8f6;--text:#0b2e31;--muted:#536f72;--line:#c9dcd9;--primary:#075f57;--primary-strong:#034b45;--primary-soft:#dff1ed;--accent:#b98625;--sidebar:#083f42;--shadow:0 14px 38px rgba(4,56,58,.12)}
html[data-riwaq-font="large"]{--font-scale:1.1}
@media(max-width:900px){.workspace-appearance-trigger b{display:none}.workspace-appearance-trigger{width:44px;padding:0;justify-content:center}.workspace-appearance-trigger>span{background:transparent}.appearance-grid{grid-template-columns:1fr}.appearance-font-options{grid-template-columns:1fr}.admin-without-projects{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.appearance-choice{grid-template-columns:62px minmax(0,1fr) 24px;padding:11px}.appearance-preview{height:52px}.composer-grid-single{grid-template-columns:1fr}}

/* Make the personal theme visible across the full student workspace, including surfaces that previously had fixed section colors. */
html[data-riwaq-theme="calm"] body[data-section] .sidebar{background:linear-gradient(180deg,#315f5b 0%,#244c49 100%)!important}
html[data-riwaq-theme="calm"] body[data-section] .nav-btn.active{background:linear-gradient(135deg,#477a72,#35685f)!important;border-color:#c2a36b!important}
html[data-riwaq-theme="calm"] .app:not(.hidden) .topbar{background:rgba(250,247,240,.94)}
html[data-riwaq-theme="contrast"] body[data-section] .sidebar{background:linear-gradient(180deg,#083f42 0%,#052f33 100%)!important}
html[data-riwaq-theme="contrast"] body[data-section] .nav-btn.active{background:linear-gradient(135deg,#087068,#07544f)!important;border-color:#c69a3c!important}
html[data-riwaq-theme="contrast"] .app:not(.hidden) .topbar{background:rgba(238,244,242,.96)}

/* ===== v4.88 distinct personal palettes + simplified community ===== */
.appearance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.appearance-choice{grid-template-columns:92px minmax(0,1fr) 28px;min-height:112px;padding:16px}
.appearance-preview{height:76px;border-radius:16px;padding:11px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.appearance-preview i{height:9px}
.appearance-preview-navy{background:#edf3fb}.appearance-preview-navy i{background:#24558f}.appearance-preview-navy i:last-child{background:#d4a94f}
.appearance-preview-burgundy{background:#f8eef1}.appearance-preview-burgundy i{background:#87344e}.appearance-preview-burgundy i:last-child{background:#d0a24e}
.appearance-preview-sand{background:#f7f0e3}.appearance-preview-sand i{background:#8a6842}.appearance-preview-sand i:last-child{background:#b17845}
.appearance-preview-violet{background:#f3eff9}.appearance-preview-violet i{background:#68518e}.appearance-preview-violet i:last-child{background:#d1a54e}
.appearance-preview-charcoal{background:#edf0f0}.appearance-preview-charcoal i{background:#46575c}.appearance-preview-charcoal i:last-child{background:#b8944e}
html[data-riwaq-theme="navy"]{--bg:#eef3f9;--panel:#fff;--panel2:#f5f8fc;--text:#172f49;--muted:#6c7f92;--line:#d6e0ec;--primary:#2a5d9f;--primary-strong:#1c457a;--primary-soft:#e3edf9;--accent:#d4a94f;--sidebar:#183a64;--shadow:0 14px 38px rgba(28,69,122,.10)}
html[data-riwaq-theme="burgundy"]{--bg:#f8f1f3;--panel:#fff;--panel2:#fcf7f8;--text:#3f2430;--muted:#876f78;--line:#ead8dd;--primary:#8d3a55;--primary-strong:#69263e;--primary-soft:#f5e3e9;--accent:#d0a24e;--sidebar:#57273a;--shadow:0 14px 38px rgba(105,38,62,.10)}
html[data-riwaq-theme="sand"]{--bg:#f5f0e7;--panel:#fffdf9;--panel2:#faf6ee;--text:#3c342c;--muted:#82776b;--line:#e4dbcc;--primary:#8a6842;--primary-strong:#62482f;--primary-soft:#efe4d4;--accent:#b17845;--sidebar:#514333;--shadow:0 14px 38px rgba(98,72,47,.10)}
html[data-riwaq-theme="violet"]{--bg:#f4f1f8;--panel:#fff;--panel2:#f8f5fb;--text:#342b43;--muted:#7a7087;--line:#e0d8e9;--primary:#6c5293;--primary-strong:#4f3972;--primary-soft:#ece5f5;--accent:#d1a54e;--sidebar:#493761;--shadow:0 14px 38px rgba(79,57,114,.10)}
html[data-riwaq-theme="charcoal"]{--bg:#eef1f2;--panel:#fff;--panel2:#f4f6f7;--text:#202d31;--muted:#66757a;--line:#d5dde0;--primary:#46575c;--primary-strong:#29393d;--primary-soft:#e4eaeb;--accent:#b8944e;--sidebar:#27363a;--shadow:0 14px 38px rgba(39,54,58,.12)}
html[data-riwaq-theme="navy"] body[data-section] .sidebar{background:linear-gradient(180deg,#244f82,#17375f)!important}
html[data-riwaq-theme="burgundy"] body[data-section] .sidebar{background:linear-gradient(180deg,#6f3046,#4d2132)!important}
html[data-riwaq-theme="sand"] body[data-section] .sidebar{background:linear-gradient(180deg,#66543f,#46392c)!important}
html[data-riwaq-theme="violet"] body[data-section] .sidebar{background:linear-gradient(180deg,#5c4778,#423357)!important}
html[data-riwaq-theme="charcoal"] body[data-section] .sidebar{background:linear-gradient(180deg,#314b4e,#22383b)!important}
html[data-riwaq-theme="navy"] .app:not(.hidden) .topbar,html[data-riwaq-theme="burgundy"] .app:not(.hidden) .topbar,html[data-riwaq-theme="sand"] .app:not(.hidden) .topbar,html[data-riwaq-theme="violet"] .app:not(.hidden) .topbar,html[data-riwaq-theme="charcoal"] .app:not(.hidden) .topbar{background:color-mix(in srgb,var(--bg) 94%,transparent)}
.community-value-strip{display:none!important}
@media(max-width:760px){.appearance-grid{grid-template-columns:1fr}.appearance-choice{grid-template-columns:78px minmax(0,1fr) 26px;min-height:96px}.appearance-preview{height:62px}}


/* ===== v4.88 correction — complete palette consistency =====
   The selected appearance now controls the full workspace instead of being
   overwritten by the older fixed green student-section identity. */
html[data-riwaq-theme="classic"] body[data-section]{
  --primary:#177c72;--primary-strong:#0f5f58;--primary-soft:#e8f5f2;--accent:#d2a84a;--sidebar:#113d42;
  --section-canvas:var(--bg);--section-glow:#a7d8d1;
}
html[data-riwaq-theme="navy"] body[data-section]{
  --primary:#2a5d9f;--primary-strong:#1c457a;--primary-soft:#e3edf9;--accent:#d4a94f;--sidebar:#183a64;
  --section-canvas:var(--bg);--section-glow:#b9cce4;
}
html[data-riwaq-theme="burgundy"] body[data-section]{
  --primary:#8d3a55;--primary-strong:#69263e;--primary-soft:#f5e3e9;--accent:#d0a24e;--sidebar:#57273a;
  --section-canvas:var(--bg);--section-glow:#dfb8c5;
}
html[data-riwaq-theme="sand"] body[data-section]{
  --primary:#8a6842;--primary-strong:#62482f;--primary-soft:#efe4d4;--accent:#b17845;--sidebar:#514333;
  --section-canvas:var(--bg);--section-glow:#dec7a7;
}
html[data-riwaq-theme="violet"] body[data-section]{
  --primary:#6c5293;--primary-strong:#4f3972;--primary-soft:#ece5f5;--accent:#d1a54e;--sidebar:#493761;
  --section-canvas:var(--bg);--section-glow:#cbbde0;
}
html[data-riwaq-theme="charcoal"] body[data-section]{
  --primary:#46575c;--primary-strong:#29393d;--primary-soft:#e4eaeb;--accent:#b8944e;--sidebar:#27363a;
  --section-canvas:var(--bg);--section-glow:#bdc8cb;
}

/* Compatibility aliases used by older cards and project surfaces. */
html[data-riwaq-theme] body{
  --surface:var(--panel);--surface-soft:var(--panel2);--surface-2:var(--panel2);
  --border:var(--line);--soft:var(--panel2);
}
html[data-riwaq-theme] body[data-mode="dark"][data-section]{
  --primary-soft:color-mix(in srgb,var(--primary) 20%,var(--panel));
  --section-canvas:var(--bg);--section-glow:color-mix(in srgb,var(--primary) 28%,var(--bg));
}
body:not([data-mode="dark"]){background:var(--bg)!important}
.app:not(.hidden) .main{
  background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 90%,var(--panel)),var(--bg))!important;
}
.app:not(.hidden) .topbar{background:color-mix(in srgb,var(--bg) 94%,transparent)!important}
.app:not(.hidden) .panel,.app:not(.hidden) .card,.app:not(.hidden) .stat{
  border-color:var(--line)!important;
  box-shadow:var(--shadow)!important;
}
.app:not(.hidden) .section-badge{background:var(--primary-soft)!important;color:var(--primary-strong)!important}

/* Sidebar and active navigation use the chosen palette, not a fixed emerald. */
html[data-riwaq-theme] body[data-section] .sidebar{
  background:linear-gradient(180deg,color-mix(in srgb,var(--sidebar) 95%,#fff),color-mix(in srgb,var(--sidebar) 82%,#000))!important;
}
html[data-riwaq-theme] body[data-section] .nav-btn.active{
  background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 82%,#fff),var(--primary-strong))!important;
  border-color:var(--accent)!important;
  box-shadow:inset -4px 0 0 var(--accent),0 9px 22px color-mix(in srgb,var(--primary-strong) 25%,transparent)!important;
}
html[data-riwaq-theme] body[data-section] .nav-btn.active .nav-icon{
  background:color-mix(in srgb,var(--primary) 78%,rgba(255,255,255,.18))!important;
}

/* Dashboard, calendar, journey and reference cards all inherit the palette. */
.next-action-card.is-clear,.official-forms-intro{
  background:linear-gradient(135deg,var(--primary-strong),var(--primary))!important;
}
.official-source-badge{background:var(--primary-strong)!important}
.official-forms-intro>span,.official-seal{color:color-mix(in srgb,var(--accent) 82%,#fff)!important}
.official-seal{border-color:color-mix(in srgb,var(--accent) 55%,transparent)!important}
.project-type-chip{
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%,var(--panel)),color-mix(in srgb,var(--accent) 38%,var(--panel)))!important;
  color:color-mix(in srgb,var(--accent) 34%,var(--text))!important;
  border-color:color-mix(in srgb,var(--accent) 42%,var(--line))!important;
}
html[data-riwaq-theme] body .academic-calendar-poster.theme-gen-m,
html[data-riwaq-theme] body .academic-calendar-poster.theme-gen-f,
html[data-riwaq-theme] body .academic-calendar-poster.theme-high-m,
html[data-riwaq-theme] body .academic-calendar-poster.theme-high-f{
  --cal-primary:var(--primary)!important;--cal-strong:var(--primary-strong)!important;--cal-soft:var(--primary-soft)!important;
}
body[data-section] .hero,body[data-section] .focus{border-color:color-mix(in srgb,var(--primary) 28%,var(--line))!important}

.journey-stage-overview-grid:has(.journey-stage-card.selected) .journey-stage-card:not(.selected){
  box-shadow:0 7px 18px color-mix(in srgb,var(--primary) 6%,transparent)!important;
}
.journey-stage-card.selected,.journey-stage-card[aria-pressed="true"]{border-color:var(--accent)!important}
.journey-stage-card.selected .journey-stage-number,.journey-stage-card[aria-pressed="true"] .journey-stage-number{
  color:var(--primary-strong)!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 42%,#fff),var(--accent))!important;
}
.journey-stage-card.selected .journey-stage-card-progress .progress i,
.journey-stage-card[aria-pressed="true"] .journey-stage-card-progress .progress i{
  background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 42%,#fff),var(--accent))!important;
}
.journey-inline-stage-detail{border-top-color:color-mix(in srgb,var(--accent) 82%,var(--primary))!important}

/* Decorative shadows are palette-tinted; semantic danger/success colors remain semantic. */
.workspace-appearance-trigger,.workspace-search-trigger,.mode-switcher,.dashboard-panel-v23,
.focused-dashboard-grid>.panel,.today-strip article{
  box-shadow:0 9px 26px color-mix(in srgb,var(--primary) 7%,transparent)!important;
}


/* v4.94 — completed tasks are unmistakable and remain editable */
.task-state-segment{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:6px;width:100%;padding:5px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
.task-state-segment button{min-height:42px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-weight:850;cursor:pointer;transition:.18s ease}
.task-state-segment button:hover{background:var(--primary-soft);color:var(--primary-strong)}
.task-state-segment button.active{background:var(--primary-strong);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--primary) 22%,transparent)}
.task-state-segment button[data-state="done"].active{background:var(--success);box-shadow:0 6px 16px color-mix(in srgb,var(--success) 24%,transparent)}
.task-state-segment.compact button{min-height:36px;font-size:.82rem}
.task-card-v60.is-completed{position:relative;border:2px solid color-mix(in srgb,var(--success) 58%,var(--line))!important;background:linear-gradient(145deg,color-mix(in srgb,var(--success) 10%,var(--panel)),var(--panel))!important;box-shadow:0 14px 34px color-mix(in srgb,var(--success) 13%,transparent)!important}
.task-card-v60.is-completed::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:7px;background:var(--success)}
.task-card-v60.is-completed h3{color:color-mix(in srgb,var(--success) 72%,var(--text))}
.task-card-v60.is-completed .task-fact{background:color-mix(in srgb,var(--success) 7%,var(--panel2));border-color:color-mix(in srgb,var(--success) 26%,var(--line))}
.task-card-v60.is-completed .progress i{background:var(--success)!important}
.task-completed-mark{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--success) 14%,var(--panel));border:1px solid color-mix(in srgb,var(--success) 35%,var(--line));color:var(--success);font-weight:900;font-size:.78rem}
@media(max-width:620px){.task-state-segment{grid-template-columns:1fr}.task-card-v60 .task-card-top{flex-wrap:wrap}.task-completed-mark{order:3;width:100%;justify-content:center}}

/* ===== v4.97 — interactive and clearer student courses ===== */
.student-courses-head{align-items:flex-end;margin-bottom:14px}.student-course-eyebrow{margin-bottom:8px;background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 24%,var(--line));color:var(--primary-strong)}.course-edit-selection{border-color:color-mix(in srgb,var(--primary) 42%,var(--line))!important;color:var(--primary-strong)!important;background:var(--panel)!important}.course-edit-selection:hover{background:var(--primary-soft)!important;border-color:var(--primary)!important}
.student-term-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.student-term-overview article{display:grid;gap:5px;padding:15px 16px;border:1px solid var(--line);border-radius:17px;background:var(--panel);box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 5%,transparent)}.student-term-overview article span,.student-term-overview article small{color:var(--muted)}.student-term-overview article strong{font-size:1.55rem;color:var(--text)}.student-term-overview article.attention{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));background:color-mix(in srgb,var(--primary) 6%,var(--panel))}.student-term-overview article.attention strong{color:var(--primary-strong)}
.student-course-attention{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:14px;border:1px solid color-mix(in srgb,var(--primary) 38%,var(--line));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,var(--panel)),var(--panel));box-shadow:0 10px 28px color-mix(in srgb,var(--primary) 8%,transparent)}.student-course-attention>div{display:grid;gap:3px}.student-course-attention span{font-size:.78rem;font-weight:900;color:var(--primary-strong)}.student-course-attention h3{margin:0;font-size:1.08rem}.student-course-attention p{margin:0;color:var(--muted)}.student-course-attention.clear{border-style:dashed;background:var(--panel2)}
.student-course-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.student-course-search{position:relative;display:flex;align-items:center;flex:1;min-width:min(330px,100%)}.student-course-search>span{position:absolute;inset-inline-start:13px;color:var(--muted);font-size:18px}.student-course-search input{padding-inline-start:40px;min-height:43px}.student-course-filters{display:flex;gap:5px;flex-wrap:wrap}.student-course-filters button{min-height:38px;padding:7px 13px;border:1px solid color-mix(in srgb,var(--primary) 30%,var(--line));border-radius:10px;background:var(--panel);color:var(--text);font:inherit;font-size:.82rem;font-weight:850;cursor:pointer}.student-course-filters button:hover{background:var(--primary-soft);color:var(--primary-strong);border-color:var(--primary)}.student-course-filters button.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 5px 14px color-mix(in srgb,var(--primary) 22%,transparent)}#studentCourseFilteredCount{margin-inline-start:auto;color:var(--muted);font-size:.78rem;font-weight:850;white-space:nowrap}
.interactive-course-list{gap:14px}.student-course-card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:0 10px 30px color-mix(in srgb,var(--primary) 6%,transparent);transition:.18s}.student-course-card:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--line));transform:translateY(-1px)}.student-course-card.is-open{border-color:color-mix(in srgb,var(--primary) 56%,var(--line));box-shadow:0 14px 34px color-mix(in srgb,var(--primary) 11%,transparent)}.student-course-card-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,310px);gap:18px;align-items:center;padding:18px 20px 14px}.student-course-identity{min-width:0}.student-course-badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:9px}.course-code-badge,.course-status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:900}.course-code-badge{background:var(--primary-soft);color:var(--primary-strong);border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line))}.course-status-badge.attention{background:color-mix(in srgb,var(--primary) 12%,var(--panel));color:var(--primary-strong);border:1px solid color-mix(in srgb,var(--primary) 38%,var(--line))}.course-status-badge.clear{background:var(--panel2);color:var(--muted);border:1px solid var(--line)}.student-course-identity h3{margin:0 0 5px;font-size:1.18rem}.student-course-identity p{margin:0;color:var(--muted)}.student-course-progress{display:grid;gap:7px}.student-course-progress>div:first-child{display:flex;justify-content:space-between;gap:10px}.student-course-progress span,.student-course-progress small{color:var(--muted);font-size:.78rem}.student-course-progress b{color:var(--primary-strong)}.student-course-progress .progress{height:9px}.student-course-progress .progress i{background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 72%,#fff),var(--primary))}
.student-course-glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 20px 14px}.student-course-glance>div{display:grid;gap:3px;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--panel2)}.student-course-glance>div.attention{border-color:color-mix(in srgb,var(--primary) 35%,var(--line));background:color-mix(in srgb,var(--primary) 6%,var(--panel))}.student-course-glance span,.student-course-glance small{color:var(--muted);font-size:.74rem}.student-course-glance b{font-size:1rem;color:var(--text);overflow:hidden;text-overflow:ellipsis}.student-course-glance b.text-value{font-size:.86rem;line-height:1.55;white-space:normal}.student-course-next{margin:0 20px 12px;padding:12px 14px;border-radius:14px;background:var(--panel2);border:1px solid var(--line)}.student-course-next.attention{background:color-mix(in srgb,var(--primary) 7%,var(--panel));border-color:color-mix(in srgb,var(--primary) 38%,var(--line))}.student-course-next>div{display:grid;gap:3px}.student-course-next span{color:var(--primary-strong);font-size:.75rem;font-weight:900}.student-course-next strong{font-size:.96rem}.student-course-next small{color:var(--muted)}.student-course-card-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 20px 18px}.student-course-card-actions .btn.primary{min-width:180px}.student-course-card-actions .btn.quiet{border-color:color-mix(in srgb,var(--primary) 38%,var(--line));color:var(--primary-strong)}
.student-course-expanded{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 20px 20px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--primary) 2.5%,var(--panel2))}.student-course-expanded>section{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.student-course-expanded h4{margin:5px 0;font-size:1rem}.student-course-expanded p{margin:0 0 6px;color:var(--muted);line-height:1.7}.student-course-expanded small{color:var(--muted)}.course-detail-kicker{font-size:.72rem;font-weight:900;color:var(--primary-strong)}.student-course-shortcuts{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.student-course-shortcuts button{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center;text-align:right;padding:11px 12px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:13px;background:var(--panel);color:var(--text);font:inherit;cursor:pointer}.student-course-shortcuts button:hover{background:var(--primary-soft);border-color:var(--primary)}.student-course-shortcuts button>span{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-strong);font-weight:900}.student-course-shortcuts b{font-size:.82rem}.student-course-shortcuts small{color:var(--muted);font-size:.7rem}.student-course-empty{display:grid;justify-items:center;gap:9px}.student-course-empty .btn{margin-top:6px}

/* Stronger contrast for workspace tabs and secondary buttons across all palettes. */
.workspace-tabs{background:color-mix(in srgb,var(--primary) 5%,var(--panel2));border-color:color-mix(in srgb,var(--primary) 24%,var(--line));gap:8px}.workspace-tabs button{background:var(--panel);border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));color:var(--text);box-shadow:0 3px 10px color-mix(in srgb,var(--primary) 4%,transparent)}.workspace-tabs button:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong)}.workspace-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 7px 18px color-mix(in srgb,var(--primary) 24%,transparent)}.workspace-tabs button.active b{background:rgba(255,255,255,.2);color:#fff}.workspace-tabs button:not(.active) b{background:var(--primary-soft);color:var(--primary-strong)}.btn.quiet:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong)}

@media(max-width:1080px){.student-course-glance{grid-template-columns:repeat(2,minmax(0,1fr))}.student-course-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.student-courses-head{align-items:flex-start}.student-term-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.student-course-attention{align-items:flex-start;flex-direction:column}.student-course-toolbar{align-items:stretch}.student-course-search{min-width:100%}.student-course-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.student-course-filters button{width:100%}#studentCourseFilteredCount{margin-inline-start:0}.student-course-card-head{grid-template-columns:1fr}.student-course-glance{grid-template-columns:1fr 1fr}.student-course-expanded{grid-template-columns:1fr}.student-course-shortcuts{grid-column:auto;grid-template-columns:1fr 1fr}.student-course-card-actions .btn{flex:1}.workspace-tabs button{padding:10px 13px}}
@media(max-width:480px){.student-term-overview{grid-template-columns:1fr 1fr;gap:8px}.student-term-overview article{padding:12px}.student-course-card-head,.student-course-glance,.student-course-card-actions,.student-course-expanded{padding-inline:14px}.student-course-next{margin-inline:14px}.student-course-glance,.student-course-shortcuts{grid-template-columns:1fr}.student-course-card-actions{display:grid}.student-course-card-actions .btn{width:100%}.student-course-filters{grid-template-columns:1fr 1fr}}
.library-course-context{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-6px 0 16px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--primary) 34%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--primary) 6%,var(--panel))}.library-course-context>div{display:grid;gap:3px}.library-course-context span{color:var(--muted);font-size:.76rem}.library-course-context strong{color:var(--primary-strong)}@media(max-width:620px){.library-course-context{align-items:flex-start;flex-direction:column}.library-course-context .btn{width:100%}}


/* ===== v4.98 — stronger theme-aware visual hierarchy for student courses ===== */
body:not([data-mode="dark"]) #coursesPage{
  --course-accent-surface:color-mix(in srgb,var(--primary) 8%,var(--panel));
  --course-accent-surface-strong:color-mix(in srgb,var(--primary) 14%,var(--panel));
  --course-accent-border:color-mix(in srgb,var(--primary) 42%,var(--line));
  --course-accent-border-soft:color-mix(in srgb,var(--primary) 26%,var(--line));
}
body[data-mode="dark"] #coursesPage{
  --course-accent-surface:color-mix(in srgb,var(--primary) 13%,var(--panel));
  --course-accent-surface-strong:color-mix(in srgb,var(--primary) 19%,var(--panel));
  --course-accent-border:color-mix(in srgb,var(--primary) 58%,var(--line));
  --course-accent-border-soft:color-mix(in srgb,var(--primary) 36%,var(--line));
}

#coursesPage .student-courses-head{
  padding:16px 18px;
  border:1px solid var(--course-accent-border-soft);
  border-radius:20px;
  background:linear-gradient(135deg,var(--course-accent-surface-strong),var(--panel) 72%);
}
#coursesPage .student-courses-head h2{color:var(--primary-strong)}
#coursesPage .course-edit-selection{
  border-width:2px!important;
  background:var(--primary-soft)!important;
  color:var(--primary-strong)!important;
  box-shadow:0 6px 16px color-mix(in srgb,var(--primary) 10%,transparent);
}

#coursesPage .student-term-overview article{
  position:relative;
  overflow:hidden;
  border-color:var(--course-accent-border-soft);
  background:linear-gradient(145deg,var(--course-accent-surface),var(--panel) 76%);
}
#coursesPage .student-term-overview article::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:0;
  bottom:0;
  width:5px;
  background:var(--primary);
  opacity:.72;
}
#coursesPage .student-term-overview article:nth-child(2)::before{opacity:1}
#coursesPage .student-term-overview article:nth-child(3)::before{background:var(--accent);opacity:.9}
#coursesPage .student-term-overview article:nth-child(4)::before{opacity:.48}
#coursesPage .student-term-overview article span{color:var(--primary-strong);font-weight:850}
#coursesPage .student-term-overview article strong{color:var(--primary-strong)}
#coursesPage .student-term-overview article small{color:color-mix(in srgb,var(--muted) 88%,var(--text))}

#coursesPage .student-course-attention{
  border-width:2px;
  background:linear-gradient(135deg,var(--course-accent-surface-strong),var(--panel) 72%);
}
#coursesPage .student-course-attention.clear{
  border-style:solid;
  border-color:var(--course-accent-border-soft);
  background:linear-gradient(135deg,var(--course-accent-surface),var(--panel) 78%);
}

#coursesPage .student-course-toolbar{
  border-color:var(--course-accent-border-soft);
  background:linear-gradient(135deg,var(--course-accent-surface),var(--panel) 82%);
}
#coursesPage .student-course-search input{
  border-color:var(--course-accent-border-soft);
  background:var(--panel);
}
#coursesPage .student-course-filters button{
  border-width:2px;
  border-color:var(--course-accent-border-soft);
  background:var(--panel);
  color:var(--primary-strong);
}
#coursesPage .student-course-filters button.active{
  background:linear-gradient(135deg,var(--primary),var(--primary-strong));
  border-color:var(--primary-strong);
  color:#fff;
}

#coursesPage .student-course-card{
  position:relative;
  border-width:2px;
  border-color:var(--course-accent-border-soft);
  background:linear-gradient(160deg,var(--course-accent-surface) 0%,var(--panel) 38%,var(--panel) 100%);
  box-shadow:0 12px 32px color-mix(in srgb,var(--primary) 10%,transparent);
}
#coursesPage .student-course-card::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:0;
  bottom:0;
  width:6px;
  background:linear-gradient(180deg,var(--primary),var(--primary-strong));
  opacity:.85;
}
#coursesPage .student-course-card:hover,
#coursesPage .student-course-card.is-open{
  border-color:var(--course-accent-border);
  box-shadow:0 16px 38px color-mix(in srgb,var(--primary) 15%,transparent);
}
#coursesPage .student-course-card-head{
  background:linear-gradient(135deg,var(--course-accent-surface-strong),transparent 68%);
  border-bottom:1px solid var(--course-accent-border-soft);
}
#coursesPage .student-course-identity h3{color:var(--primary-strong)}
#coursesPage .student-course-identity p{color:color-mix(in srgb,var(--muted) 84%,var(--text))}
#coursesPage .course-code-badge{
  background:var(--primary);
  color:#fff;
  border-color:var(--primary-strong);
  box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 20%,transparent);
}
#coursesPage .course-status-badge.clear{
  background:var(--primary-soft);
  color:var(--primary-strong);
  border-color:var(--course-accent-border-soft);
}
#coursesPage .student-course-progress{
  padding:12px 14px;
  border:1px solid var(--course-accent-border-soft);
  border-radius:15px;
  background:var(--course-accent-surface);
}
#coursesPage .student-course-progress span{color:var(--primary-strong);font-weight:850}
#coursesPage .student-course-progress small{color:color-mix(in srgb,var(--muted) 82%,var(--text))}
#coursesPage .student-course-progress .progress{
  background:color-mix(in srgb,var(--primary) 14%,var(--panel2));
  border:1px solid color-mix(in srgb,var(--primary) 12%,var(--line));
}

#coursesPage .student-course-glance>div{
  position:relative;
  overflow:hidden;
  border-color:var(--course-accent-border-soft);
  background:linear-gradient(145deg,var(--course-accent-surface),var(--panel) 82%);
}
#coursesPage .student-course-glance>div::after{
  content:"";
  position:absolute;
  inset-inline-end:0;
  top:0;
  width:42px;
  height:4px;
  border-radius:0 0 0 8px;
  background:var(--primary);
  opacity:.55;
}
#coursesPage .student-course-glance>div:nth-child(2)::after{opacity:.8}
#coursesPage .student-course-glance>div:nth-child(3)::after{background:var(--accent);opacity:.9}
#coursesPage .student-course-glance>div:nth-child(4)::after{opacity:1}
#coursesPage .student-course-glance span{color:var(--primary-strong);font-weight:850}
#coursesPage .student-course-glance small{color:color-mix(in srgb,var(--muted) 84%,var(--text))}
#coursesPage .student-course-glance b{color:var(--text)}

#coursesPage .student-course-next{
  position:relative;
  overflow:hidden;
  padding-inline-start:18px;
  border-width:2px;
  border-color:var(--course-accent-border-soft);
  background:linear-gradient(135deg,var(--course-accent-surface-strong),var(--panel) 78%);
}
#coursesPage .student-course-next::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:0;
  bottom:0;
  width:6px;
  background:var(--primary);
}
#coursesPage .student-course-next span{color:var(--primary-strong)}
#coursesPage .student-course-next strong{color:var(--text)}
#coursesPage .student-course-next small{color:color-mix(in srgb,var(--muted) 82%,var(--text))}

#coursesPage .student-course-card-actions .btn.primary{
  background:linear-gradient(135deg,var(--primary),var(--primary-strong));
  box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 24%,transparent);
}
#coursesPage .student-course-card-actions .btn.quiet{
  border-width:2px;
  background:var(--panel);
  border-color:var(--course-accent-border);
  color:var(--primary-strong);
}
#coursesPage .student-course-card-actions .btn.quiet:hover{
  background:var(--primary-soft);
  border-color:var(--primary);
}

#coursesPage .student-course-expanded{
  border-top:2px solid var(--course-accent-border-soft);
  background:linear-gradient(180deg,var(--course-accent-surface),var(--panel2));
}
#coursesPage .student-course-expanded>section{
  border-color:var(--course-accent-border-soft);
  background:var(--panel);
  box-shadow:inset 0 3px 0 color-mix(in srgb,var(--primary) 48%,transparent);
}
#coursesPage .student-course-shortcuts button{
  border-width:2px;
  border-color:var(--course-accent-border-soft);
  background:linear-gradient(145deg,var(--course-accent-surface),var(--panel) 76%);
}
#coursesPage .student-course-shortcuts button:hover{
  background:var(--primary-soft);
  border-color:var(--primary);
  color:var(--primary-strong);
}
#coursesPage .student-course-shortcuts button>span{
  background:var(--primary);
  color:#fff;
}

@media(max-width:760px){
  #coursesPage .student-courses-head{padding:14px}
  #coursesPage .student-course-card::before{width:4px}
}


/* ===== v4.99 — calmer admin-course rows and unclipped actions ===== */
#coursesPage .admin-course-group.modern-course-group{overflow:visible}
#coursesPage .class-admin-row{
  grid-template-columns:minmax(190px,1.05fr) minmax(250px,1.25fr) minmax(190px,.75fr) minmax(230px,auto);
  gap:16px;
  padding:16px 18px;
}
#coursesPage .class-admin-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-width:0;
  padding:10px 12px;
  border:1px solid color-mix(in srgb,var(--primary) 16%,var(--line));
  border-radius:13px;
  background:color-mix(in srgb,var(--primary) 3.5%,var(--surface-soft));
}
#coursesPage .class-admin-meta .class-activity{gap:16px;flex:0 0 auto}
#coursesPage .class-admin-meta .class-editor{min-width:88px;text-align:start}
#coursesPage .class-actions{
  position:relative;
  min-width:0;
  justify-content:flex-start;
  flex-wrap:nowrap;
}
#coursesPage .class-actions>.btn{min-height:40px;white-space:nowrap}
#coursesPage .class-plan-action{min-width:108px}
#coursesPage .class-more-actions{position:relative;flex:0 0 auto}
#coursesPage .class-more-actions>summary{
  list-style:none;
  display:grid;
  place-items:center;
  width:44px;
  height:40px;
  border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));
  border-radius:11px;
  background:var(--surface);
  color:var(--primary-strong);
  font-weight:950;
  letter-spacing:2px;
  cursor:pointer;
  user-select:none;
}
#coursesPage .class-more-actions>summary::-webkit-details-marker{display:none}
#coursesPage .class-more-actions>summary:hover,
#coursesPage .class-more-actions[open]>summary{
  border-color:var(--primary);
  background:var(--primary-soft);
  color:var(--primary-strong);
}
#coursesPage .class-more-menu{
  position:absolute;
  inset-inline-end:0;
  top:calc(100% + 8px);
  z-index:60;
  display:grid;
  gap:6px;
  min-width:205px;
  padding:8px;
  border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));
  border-radius:14px;
  background:var(--surface);
  box-shadow:0 16px 38px rgba(10,40,48,.16);
}
#coursesPage .class-more-menu .btn{
  width:100%;
  min-height:39px;
  justify-content:flex-start;
  text-align:start;
  white-space:nowrap;
}
#coursesPage .class-more-menu .btn.danger{
  margin-top:2px;
  border-color:color-mix(in srgb,#c84c4c 38%,var(--line));
  background:color-mix(in srgb,#c84c4c 7%,var(--surface));
}
#coursesPage .class-admin-row:has(.class-more-actions[open]){position:relative;z-index:20}

@media(max-width:1180px){
  #coursesPage .class-admin-row{grid-template-columns:minmax(180px,1fr) minmax(230px,1.2fr) minmax(210px,auto)}
  #coursesPage .class-admin-meta{display:none}
}
@media(max-width:860px){
  #coursesPage .class-admin-row{grid-template-columns:1fr;gap:12px}
  #coursesPage .class-admin-meta{display:flex;width:100%}
  #coursesPage .class-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;justify-content:stretch}
  #coursesPage .class-actions>.btn{width:100%}
  #coursesPage .class-more-menu{inset-inline-end:0;min-width:min(220px,82vw)}
}
@media(max-width:520px){
  #coursesPage .class-admin-meta{align-items:flex-start;flex-direction:column;gap:10px}
  #coursesPage .class-admin-meta .class-editor{width:100%;padding-top:8px;border-top:1px solid var(--line)}
  #coursesPage .class-actions{grid-template-columns:1fr auto}
  #coursesPage .class-actions>.btn.quiet{display:none}
}
@media(max-width:860px){
  #coursesPage .class-admin-meta .class-editor{display:grid}
}

/* ===== v5.00 — calm course hierarchy: less visual noise, stronger focus ===== */
#coursesPage{
  --course-calm-border:color-mix(in srgb,var(--primary) 17%,var(--line));
  --course-calm-border-strong:color-mix(in srgb,var(--primary) 34%,var(--line));
  --course-calm-surface:color-mix(in srgb,var(--primary) 3.2%,var(--panel));
  --course-calm-surface-strong:color-mix(in srgb,var(--primary) 6.5%,var(--panel));
}
body[data-mode="dark"] #coursesPage{
  --course-calm-border:color-mix(in srgb,var(--primary) 25%,var(--line));
  --course-calm-border-strong:color-mix(in srgb,var(--primary) 44%,var(--line));
  --course-calm-surface:color-mix(in srgb,var(--primary) 5%,var(--panel));
  --course-calm-surface-strong:color-mix(in srgb,var(--primary) 9%,var(--panel));
}

/* Header and summary: neutral surfaces, accent only on key information */
#coursesPage .student-courses-head{
  padding:14px 16px;
  border:1px solid var(--course-calm-border);
  background:var(--panel);
  box-shadow:none;
}
#coursesPage .student-courses-head h2{color:var(--text)}
#coursesPage .student-course-eyebrow{
  background:var(--course-calm-surface-strong);
  border-color:var(--course-calm-border);
}
#coursesPage .course-edit-selection{
  border-width:1px!important;
  background:var(--panel)!important;
  box-shadow:none!important;
}

#coursesPage .student-term-overview{gap:9px}
#coursesPage .student-term-overview article,
#coursesPage .student-term-overview article.attention{
  min-height:92px;
  padding:13px 14px;
  border:1px solid var(--course-calm-border);
  background:var(--panel);
  box-shadow:none;
}
#coursesPage .student-term-overview article::before{display:none}
#coursesPage .student-term-overview article span{
  color:var(--muted);
  font-weight:800;
}
#coursesPage .student-term-overview article strong{color:var(--text)}
#coursesPage .student-term-overview article.attention{
  border-color:var(--course-calm-border-strong);
  background:var(--course-calm-surface-strong);
}
#coursesPage .student-term-overview article.attention span,
#coursesPage .student-term-overview article.attention strong{color:var(--primary-strong)}

/* Keep only real alerts visually prominent */
#coursesPage .student-course-attention{
  padding:14px 16px;
  margin-bottom:12px;
  border:1px solid var(--course-calm-border-strong);
  background:var(--course-calm-surface-strong);
  box-shadow:none;
}

#coursesPage .student-course-toolbar{
  padding:8px;
  border:1px solid var(--course-calm-border);
  background:var(--panel);
  box-shadow:none;
}
#coursesPage .student-course-search input{border-color:var(--course-calm-border)}
#coursesPage .student-course-filters button{
  border-width:1px;
  border-color:var(--course-calm-border);
  color:var(--text);
}
#coursesPage .student-course-filters button.active{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
  box-shadow:none;
}

/* Course card: one visual anchor, not an accent on every edge */
#coursesPage .student-course-card{
  border:1px solid var(--course-calm-border);
  background:var(--panel);
  box-shadow:0 8px 24px rgba(20,45,52,.055);
}
#coursesPage .student-course-card::before{
  width:4px;
  background:var(--primary);
  opacity:.82;
}
#coursesPage .student-course-card:hover,
#coursesPage .student-course-card.is-open{
  border-color:var(--course-calm-border-strong);
  box-shadow:0 10px 28px color-mix(in srgb,var(--primary) 8%,transparent);
}
#coursesPage .student-course-card-head{
  padding-bottom:13px;
  background:linear-gradient(135deg,var(--course-calm-surface) 0%,transparent 58%);
  border-bottom:1px solid var(--course-calm-border);
}
#coursesPage .student-course-identity h3{color:var(--text)}
#coursesPage .course-code-badge{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
  box-shadow:none;
}
#coursesPage .course-status-badge.clear{
  background:var(--panel);
  border-color:var(--course-calm-border);
  color:var(--muted);
}
#coursesPage .course-status-badge.attention{
  background:var(--course-calm-surface-strong);
  border-color:var(--course-calm-border-strong);
  color:var(--primary-strong);
}

/* Progress becomes a compact status block */
#coursesPage .student-course-progress{
  padding:10px 12px;
  border:1px solid var(--course-calm-border);
  background:var(--panel);
}
#coursesPage .student-course-progress span{color:var(--muted);font-weight:800}
#coursesPage .student-course-progress b{color:var(--primary-strong)}
#coursesPage .student-course-progress .progress{
  border:0;
  background:color-mix(in srgb,var(--primary) 10%,var(--panel2));
}

/* Facts are one calm strip. Only useful data receives a small accent */
#coursesPage .student-course-glance{
  gap:1px;
  margin:0 20px 14px;
  padding:0;
  overflow:hidden;
  border:1px solid var(--course-calm-border);
  border-radius:14px;
  background:var(--course-calm-border);
}
#coursesPage .student-course-glance>div,
#coursesPage .student-course-glance>div.attention{
  min-height:104px;
  padding:13px 14px;
  border:0;
  border-radius:0;
  background:var(--panel);
}
#coursesPage .student-course-glance>div:first-child{
  border-start-start-radius:14px;
  border-end-start-radius:14px;
}
#coursesPage .student-course-glance>div:last-child{
  border-start-end-radius:14px;
  border-end-end-radius:14px;
}
#coursesPage .student-course-glance>div::after{display:none}
#coursesPage .student-course-glance>div.has-content{
  background:var(--course-calm-surface);
}
#coursesPage .student-course-glance>div.attention{
  background:var(--course-calm-surface-strong);
  box-shadow:inset 0 3px 0 var(--primary);
}
#coursesPage .student-course-glance>div.is-empty{opacity:.72}
#coursesPage .student-course-glance>div.is-empty b{font-weight:750}
#coursesPage .student-course-glance span{
  color:var(--muted);
  font-weight:800;
}
#coursesPage .student-course-glance b{color:var(--text)}

/* Action strip appears only when action is actually required */
#coursesPage .student-course-next{
  margin-top:0;
  border:1px solid var(--course-calm-border-strong);
  background:var(--course-calm-surface-strong);
}
#coursesPage .student-course-next::before{width:4px}

#coursesPage .student-course-card-actions{padding-top:2px}
#coursesPage .student-course-card-actions .btn.primary{
  background:var(--primary);
  box-shadow:none;
}
#coursesPage .student-course-card-actions .btn.quiet{
  border-width:1px;
  border-color:var(--course-calm-border-strong);
  background:var(--panel);
  color:var(--text);
}

#coursesPage .student-course-expanded{
  border-top:1px solid var(--course-calm-border);
  background:var(--course-calm-surface);
}
#coursesPage .student-course-expanded>section,
#coursesPage .student-course-shortcuts button{
  border-width:1px;
  border-color:var(--course-calm-border);
  background:var(--panel);
  box-shadow:none;
}
#coursesPage .student-course-expanded>section{box-shadow:inset 0 2px 0 color-mix(in srgb,var(--primary) 25%,transparent)}
#coursesPage .student-course-shortcuts button>span{
  background:var(--course-calm-surface-strong);
  color:var(--primary-strong);
}

@media(max-width:760px){
  #coursesPage .student-course-glance{
    gap:8px;
    margin-inline:14px;
    border:0;
    overflow:visible;
    background:transparent;
  }
  #coursesPage .student-course-glance>div,
  #coursesPage .student-course-glance>div:first-child,
  #coursesPage .student-course-glance>div:last-child{
    min-height:auto;
    border:1px solid var(--course-calm-border);
    border-radius:12px;
  }
}


/* ===== v5.01 — course essentials first, details on demand ===== */
#coursesPage .course-essential-card{
  --course-card-tint:color-mix(in srgb,var(--primary) 5%,var(--panel));
  --course-card-tint-strong:color-mix(in srgb,var(--primary) 10%,var(--panel));
  --course-card-line:color-mix(in srgb,var(--primary) 24%,var(--line));
  --course-card-line-strong:color-mix(in srgb,var(--primary) 46%,var(--line));
  position:relative;
  border-color:var(--course-card-line);
  background:var(--panel);
  box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 6%,transparent);
}
body[data-mode="dark"] #coursesPage .course-essential-card{
  --course-card-tint:color-mix(in srgb,var(--primary) 8%,var(--panel));
  --course-card-tint-strong:color-mix(in srgb,var(--primary) 15%,var(--panel));
  --course-card-line:color-mix(in srgb,var(--primary) 34%,var(--line));
  --course-card-line-strong:color-mix(in srgb,var(--primary) 58%,var(--line));
}
#coursesPage .course-essential-card::before{
  width:5px;
  opacity:1;
  background:var(--primary);
}
#coursesPage .course-essential-card:hover,
#coursesPage .course-essential-card.is-open{
  border-color:var(--course-card-line-strong);
  box-shadow:0 11px 28px color-mix(in srgb,var(--primary) 10%,transparent);
}
#coursesPage .course-essential-head{
  grid-template-columns:minmax(0,1fr) minmax(210px,290px);
  padding:18px 20px 15px;
  border-bottom:0;
  background:linear-gradient(135deg,var(--course-card-tint-strong),transparent 52%);
}
#coursesPage .course-essential-head .course-code-badge{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
}
#coursesPage .course-essential-head .course-status-badge.attention{
  background:var(--course-card-tint-strong);
  border-color:var(--course-card-line-strong);
  color:var(--primary-strong);
}
#coursesPage .course-essential-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:0 20px 14px;
}
#coursesPage .course-essential-fact{
  min-width:0;
  display:grid;
  align-content:start;
  gap:4px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel2);
}
#coursesPage .course-essential-fact.has-value{
  border-color:var(--course-card-line);
  background:var(--course-card-tint);
}
#coursesPage .course-essential-fact.needs-attention{
  border-color:var(--course-card-line-strong);
  background:var(--course-card-tint-strong);
  box-shadow:inset 0 3px 0 var(--primary);
}
#coursesPage .course-essential-fact span{
  color:var(--muted);
  font-size:.76rem;
  font-weight:850;
}
#coursesPage .course-essential-fact strong{
  color:var(--text);
  font-size:1rem;
  overflow:hidden;
  text-overflow:ellipsis;
}
#coursesPage .course-essential-fact strong.text-value{font-size:.9rem;line-height:1.5;white-space:normal}
#coursesPage .course-essential-fact small{color:var(--muted);font-size:.74rem;line-height:1.45}
#coursesPage .course-essential-card .student-course-next{
  margin:0 20px 13px;
  border-color:var(--course-card-line-strong);
  background:var(--course-card-tint-strong);
}
#coursesPage .course-essential-card .student-course-card-actions{
  padding:0 20px 18px;
}
#coursesPage .course-essential-card .course-details-toggle{
  border-color:var(--course-card-line-strong);
  color:var(--primary-strong);
  background:var(--panel);
}
#coursesPage .course-essential-card .course-details-toggle:hover{
  background:var(--course-card-tint-strong);
  border-color:var(--primary);
}
#coursesPage .course-details-panel{
  display:block;
  padding:18px 20px 20px;
  border-top:1px solid var(--course-card-line);
  background:var(--course-card-tint);
}
#coursesPage .course-details-panel.hidden{display:none!important}
#coursesPage .course-details-title{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  padding-bottom:13px;
}
#coursesPage .course-details-title>div{display:grid;gap:2px}
#coursesPage .course-details-title span{font-size:.74rem;font-weight:900;color:var(--primary-strong)}
#coursesPage .course-details-title strong{font-size:1rem;color:var(--text)}
#coursesPage .course-details-title small{color:var(--muted);font-size:.75rem}
#coursesPage .course-details-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
#coursesPage .course-details-grid>section{
  min-width:0;
  min-height:132px;
  display:grid;
  align-content:start;
  gap:6px;
  padding:13px 14px;
  border:1px solid var(--course-card-line);
  border-radius:14px;
  background:var(--panel);
  box-shadow:none;
}
#coursesPage .course-details-grid h4{margin:0;color:var(--text);font-size:.94rem}
#coursesPage .course-details-grid p{margin:0;color:var(--muted);font-size:.79rem;line-height:1.55}
#coursesPage .course-details-grid small{color:var(--muted);font-size:.73rem}
#coursesPage .course-details-grid .course-detail-kicker{color:var(--primary-strong);font-weight:900;font-size:.72rem}
#coursesPage .course-details-panel .student-course-shortcuts{
  margin-top:12px;
  grid-column:auto;
}
#coursesPage .course-details-panel .student-course-shortcuts button{
  border-color:var(--course-card-line);
  background:var(--panel);
}
#coursesPage .course-details-panel .student-course-shortcuts button:hover{
  border-color:var(--course-card-line-strong);
  background:var(--course-card-tint-strong);
}
#coursesPage .course-details-panel .student-course-shortcuts button>span{
  background:var(--course-card-tint-strong);
  color:var(--primary-strong);
}
@media(max-width:980px){
  #coursesPage .course-details-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  #coursesPage .course-essential-head{grid-template-columns:1fr}
  #coursesPage .course-essential-facts{grid-template-columns:1fr 1fr}
  #coursesPage .course-essential-fact:first-child{grid-column:1/-1}
  #coursesPage .course-details-title{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
  #coursesPage .course-essential-head,
  #coursesPage .course-essential-facts,
  #coursesPage .course-essential-card .student-course-card-actions,
  #coursesPage .course-details-panel{padding-inline:14px}
  #coursesPage .course-essential-card .student-course-next{margin-inline:14px}
  #coursesPage .course-essential-facts,
  #coursesPage .course-details-grid{grid-template-columns:1fr}
  #coursesPage .course-essential-fact:first-child{grid-column:auto}
}

/* ===== v5.02 — focused course details without repetition ===== */
#coursesPage .course-essential-facts{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}
#coursesPage .course-essential-fact{
  min-height:84px;
}
#coursesPage .course-details-panel{
  padding:16px 20px 20px;
  border-top:1px solid var(--line);
  background:var(--panel2);
}
#coursesPage .course-details-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
#coursesPage .course-details-toolbar>div{display:grid;gap:2px}
#coursesPage .course-details-toolbar strong{font-size:.92rem;color:var(--text)}
#coursesPage .course-details-toolbar small{font-size:.74rem;color:var(--muted)}
#coursesPage .course-detail-focus{
  display:grid;
  grid-template-columns:minmax(150px,.32fr) minmax(0,1fr);
  gap:16px;
  align-items:stretch;
  padding:14px 16px;
  border:1px solid var(--course-card-line-strong);
  border-inline-start:5px solid var(--primary);
  border-radius:15px;
  background:var(--course-card-tint);
}
#coursesPage .course-detail-focus-title{
  display:grid;
  align-content:center;
  gap:3px;
}
#coursesPage .course-detail-focus-title span{
  color:var(--primary-strong);
  font-size:.72rem;
  font-weight:900;
}
#coursesPage .course-detail-focus-title strong{font-size:.96rem;color:var(--text)}
#coursesPage .course-detail-rows{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:0;
  border-radius:12px;
  background:var(--panel);
  overflow:hidden;
}
#coursesPage .course-detail-rows>div{
  min-width:0;
  display:grid;
  gap:4px;
  padding:11px 14px;
  border-inline-start:1px solid var(--line);
}
#coursesPage .course-detail-rows>div:first-child{border-inline-start:0}
#coursesPage .course-detail-rows span{font-size:.72rem;color:var(--muted);font-weight:800}
#coursesPage .course-detail-rows strong{font-size:.88rem;color:var(--text);line-height:1.55}
#coursesPage .course-details-empty{
  display:grid;
  gap:4px;
  padding:13px 15px;
  border:1px dashed var(--line);
  border-radius:14px;
  background:var(--panel);
}
#coursesPage .course-details-empty strong{font-size:.88rem;color:var(--text)}
#coursesPage .course-details-empty small{font-size:.74rem;color:var(--muted)}
#coursesPage .course-details-panel .student-course-shortcuts.course-detail-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
#coursesPage .course-details-panel .course-detail-actions button{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:9px;
  align-items:center;
  min-width:0;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--panel);
  color:var(--text);
  box-shadow:none;
}
#coursesPage .course-details-panel .course-detail-actions button:hover{
  border-color:var(--course-card-line-strong);
  background:var(--course-card-tint);
}
#coursesPage .course-detail-actions .shortcut-count,
#coursesPage .course-detail-actions .shortcut-dot{
  grid-row:1/3;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:var(--course-card-tint-strong);
  color:var(--primary-strong);
  font-size:.78rem;
  font-weight:900;
}
#coursesPage .course-detail-actions .shortcut-dot::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--primary);
}
#coursesPage .course-detail-actions b{font-size:.81rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#coursesPage .course-detail-actions small{font-size:.68rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){
  #coursesPage .course-detail-focus{grid-template-columns:1fr}
  #coursesPage .course-details-panel .student-course-shortcuts.course-detail-actions{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  #coursesPage .course-details-toolbar small{display:none}
  #coursesPage .course-detail-rows{grid-template-columns:1fr}
  #coursesPage .course-detail-rows>div{border-inline-start:0;border-top:1px solid var(--line)}
  #coursesPage .course-detail-rows>div:first-child{border-top:0}
  #coursesPage .course-details-panel .student-course-shortcuts.course-detail-actions{grid-template-columns:1fr}
}

/* ===== v5.03 — focused scientific path ===== */
.scientific-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.scientific-page-head h1{margin:6px 0 5px;font-size:clamp(27px,3vw,40px);color:var(--text)}.scientific-page-head p{margin:0;color:var(--muted);max-width:760px;line-height:1.8}.scientific-overview{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr);gap:14px;margin-bottom:16px}.scientific-current{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 30%,var(--line));border-radius:22px;padding:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 78%,var(--panel)),var(--panel))}.scientific-current:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--primary)}.scientific-current>span{font-size:12px;font-weight:900;color:var(--primary-strong)}.scientific-current h2{margin:7px 0 5px;font-size:25px}.scientific-current p{margin:0;color:var(--muted);line-height:1.7}.scientific-current-action{margin-top:14px}.scientific-overview-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.scientific-overview-meta article{display:flex;flex-direction:column;gap:4px;min-width:0;border:1px solid var(--line);border-radius:17px;background:var(--panel);padding:15px}.scientific-overview-meta span,.scientific-overview-meta small{color:var(--muted);font-size:12px}.scientific-overview-meta strong{font-size:20px;overflow-wrap:anywhere}.scientific-overview-meta .scientific-title-value{font-size:14px;line-height:1.65}.scientific-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 18px}.scientific-timeline-step{display:flex;gap:11px;align-items:center;text-align:right;border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:13px;min-width:0;color:var(--text);cursor:pointer}.scientific-timeline-step>span{width:35px;height:35px;flex:0 0 35px;border-radius:12px;display:grid;place-items:center;background:var(--panel2);color:var(--muted);font-weight:900}.scientific-timeline-step>div{min-width:0}.scientific-timeline-step strong,.scientific-timeline-step small{display:block}.scientific-timeline-step strong{font-size:13px;line-height:1.55}.scientific-timeline-step small{font-size:11px;color:var(--muted);margin-top:3px}.scientific-timeline-step.current{border-color:color-mix(in srgb,var(--primary) 48%,var(--line));background:color-mix(in srgb,var(--primary-soft) 55%,var(--panel))}.scientific-timeline-step.current>span,.scientific-timeline-step.selected>span{background:var(--primary);color:#fff}.scientific-timeline-step.selected{outline:2px solid color-mix(in srgb,var(--primary) 30%,transparent);outline-offset:1px}.scientific-timeline-step.completed{border-color:color-mix(in srgb,var(--primary) 28%,var(--line))}.scientific-timeline-step.completed>span{background:color-mix(in srgb,var(--primary) 14%,var(--panel));color:var(--primary-strong)}.scientific-timeline-step.upcoming{opacity:.78}.scientific-stage-detail{display:grid;gap:14px}.scientific-stage-header{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid var(--line);border-radius:22px;background:var(--panel);padding:20px}.scientific-stage-header h2{margin:5px 0 6px;font-size:27px}.scientific-stage-header p{margin:0;color:var(--muted);line-height:1.75;max-width:800px}.scientific-stage-score{width:92px;height:92px;flex:0 0 92px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--primary) var(--scientific-progress,0%),var(--panel2) 0);border:8px solid color-mix(in srgb,var(--primary-soft) 65%,var(--panel));box-shadow:inset 0 0 0 1px var(--line)}.scientific-stage-score strong{font-size:22px}.scientific-stage-score span{font-size:11px;color:var(--muted)}.scientific-stage-data{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid color-mix(in srgb,var(--primary) 20%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--primary-soft) 28%,var(--panel));padding:17px 19px}.scientific-stage-data>div{min-width:0}.scientific-stage-data span{display:block;color:var(--primary-strong);font-size:12px;font-weight:900}.scientific-stage-data h3{margin:5px 0 4px;font-size:18px;overflow-wrap:anywhere}.scientific-stage-data p{margin:0;color:var(--muted);line-height:1.7}.scientific-next-action,.scientific-activate-note{display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:19px;padding:18px 20px}.scientific-next-action{background:var(--primary);color:#fff}.scientific-next-action span{font-size:12px;font-weight:900;opacity:.8}.scientific-next-action h3{margin:5px 0 3px;color:#fff}.scientific-next-action p{margin:0;color:color-mix(in srgb,#fff 78%,transparent)}.scientific-next-action .btn{background:#fff!important;color:var(--primary-strong)!important;border-color:#fff!important}.scientific-next-action.complete{background:color-mix(in srgb,var(--primary) 12%,var(--panel));color:var(--text);border:1px solid color-mix(in srgb,var(--primary) 25%,var(--line))}.scientific-next-action.complete h3{color:var(--text)}.scientific-next-action.complete p{color:var(--muted)}.scientific-activate-note{border:1px dashed color-mix(in srgb,var(--primary) 42%,var(--line));background:var(--panel)}.scientific-activate-note span{display:block;color:var(--muted);margin-top:3px}.scientific-output-strip{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:14px 16px}.scientific-output-strip>b{white-space:nowrap;font-size:13px}.scientific-output-strip>div{display:flex;gap:7px;flex-wrap:wrap}.scientific-output-strip span{padding:6px 9px;border-radius:999px;background:var(--panel2);color:var(--muted);font-size:12px}.scientific-workflow,.scientific-linked-forms{border:1px solid var(--line);border-radius:21px;background:var(--panel);padding:18px}.scientific-section-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:13px}.scientific-section-heading span{font-size:11px;color:var(--primary-strong);font-weight:900}.scientific-section-heading h3{margin:4px 0 0}.scientific-work-group{border-top:1px solid var(--line)}.scientific-work-group:first-of-type{border-top:0}.scientific-work-group summary{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 2px;cursor:pointer;list-style:none}.scientific-work-group summary::-webkit-details-marker{display:none}.scientific-group-number{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--panel2);color:var(--primary-strong);font-weight:900}.scientific-work-group summary strong,.scientific-work-group summary small{display:block}.scientific-work-group summary small{color:var(--muted);font-size:12px;margin-top:3px;line-height:1.6}.scientific-work-group summary>b{font-size:12px;color:var(--muted)}.scientific-work-group[open] .scientific-group-number{background:var(--primary);color:#fff}.scientific-group-body{display:grid;gap:8px;padding:0 0 14px 50px}.scientific-task-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;background:var(--panel2);padding:11px 12px}.scientific-check{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:var(--panel);color:var(--muted);font-weight:900}.scientific-task-row strong,.scientific-task-row small{display:block}.scientific-task-row small{color:var(--muted);font-size:11px;margin-top:3px}.scientific-task-row.done{opacity:.72}.scientific-task-row.done .scientific-check{background:color-mix(in srgb,var(--primary) 15%,var(--panel));color:var(--primary-strong)}.scientific-task-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.scientific-form-list{display:grid;gap:8px}.scientific-form-list a{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:var(--panel2);color:var(--text);text-decoration:none}.scientific-form-list a:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));background:color-mix(in srgb,var(--primary-soft) 45%,var(--panel))}.scientific-form-list b,.scientific-form-list small{display:block}.scientific-form-list small{color:var(--muted);margin-top:3px}.scientific-form-list i{font-style:normal;color:var(--primary-strong);font-size:12px;font-weight:900;white-space:nowrap}.scientific-source-note{margin:11px 0 0;color:var(--muted);font-size:11px;line-height:1.7}.scientific-secondary{border:1px solid var(--line);border-radius:18px;background:var(--panel)}.scientific-secondary>summary{display:flex;justify-content:space-between;gap:12px;padding:15px 17px;cursor:pointer;font-weight:900}.scientific-secondary>summary b{font-size:12px;color:var(--muted)}.scientific-secondary>.journey-meetings-panel{border:0;border-top:1px solid var(--line);border-radius:0;margin:0}.scientific-stage-picker{display:grid;gap:9px}.scientific-stage-choice{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:12px;background:var(--panel)}.scientific-stage-choice>input[type=radio]{position:absolute;opacity:0;pointer-events:none}.scientific-stage-choice>span{display:flex;align-items:center;gap:11px;cursor:pointer}.scientific-stage-choice>span>b{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--panel2);color:var(--muted)}.scientific-stage-choice>span strong,.scientific-stage-choice>span small{display:block}.scientific-stage-choice>span small{color:var(--muted);margin-top:2px}.scientific-stage-choice:has(>input[type=radio]:checked){border-color:var(--primary);background:var(--primary-soft)}.scientific-stage-choice:has(>input[type=radio]:checked)>span>b{background:var(--primary);color:#fff}.scientific-stage-choice>input[type=date]{margin:0}.scientific-empty-line{color:var(--muted);padding:10px}.scientific-title-value{overflow-wrap:anywhere}
@media(max-width:1100px){.scientific-overview{grid-template-columns:1fr}.scientific-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.scientific-page-head,.scientific-stage-header,.scientific-stage-data,.scientific-next-action,.scientific-activate-note,.scientific-section-heading{align-items:flex-start;flex-direction:column}.scientific-overview-meta{grid-template-columns:1fr 1fr}.scientific-timeline{grid-template-columns:1fr}.scientific-stage-score{width:74px;height:74px;flex-basis:74px}.scientific-output-strip{align-items:flex-start;flex-direction:column}.scientific-workflow,.scientific-linked-forms{padding:14px}.scientific-group-body{padding-inline-start:0}.scientific-task-row{grid-template-columns:28px minmax(0,1fr)}.scientific-task-actions{grid-column:1/-1;justify-content:stretch}.scientific-task-actions .btn{flex:1}.scientific-stage-choice{grid-template-columns:1fr}.scientific-stage-choice>input[type=date]{width:100%}.scientific-form-list a{align-items:flex-start;flex-direction:column}.scientific-form-list i{align-self:flex-end}}
@media(max-width:480px){.scientific-overview-meta{grid-template-columns:1fr}.scientific-current,.scientific-stage-header{padding:17px}.scientific-page-head h1{font-size:27px}.scientific-task-row{padding:10px}.scientific-timeline-step{padding:11px}}
.scientific-method-guide{border:1px solid var(--line);border-radius:18px;background:var(--panel)}.scientific-method-guide>summary{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 17px;cursor:pointer;list-style:none}.scientific-method-guide>summary::-webkit-details-marker{display:none}.scientific-method-guide>summary strong,.scientific-method-guide>summary small{display:block}.scientific-method-guide>summary small{color:var(--muted);font-weight:400;margin-top:3px}.scientific-method-guide>summary>b{font-size:12px;color:var(--primary-strong);white-space:nowrap}.scientific-method-guide[open]>summary{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--primary-soft) 28%,var(--panel));border-radius:18px 18px 0 0}.scientific-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}.scientific-guide-grid article{border:1px solid var(--line);border-radius:14px;background:var(--panel2);padding:14px}.scientific-guide-grid h4{margin:0 0 8px;color:var(--primary-strong)}.scientific-guide-grid ul{margin:0;padding-inline-start:20px;color:var(--muted);line-height:1.85;font-size:13px}.scientific-guide-grid li::marker{color:var(--primary)}
@media(max-width:700px){.scientific-guide-grid{grid-template-columns:1fr}.scientific-method-guide>summary{align-items:flex-start;flex-direction:column}}


/* ===== v5.04 — guided scientific focus: reveal only useful information ===== */
#journeyPage .scientific-page-head.compact{margin-bottom:14px;align-items:center}
#journeyPage .scientific-page-head.compact h1{font-size:clamp(24px,2.7vw,34px);margin-block:4px}
#journeyPage .scientific-page-head.compact p{line-height:1.65}
.scientific-onboarding{display:grid;justify-items:start;gap:7px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:22px;padding:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 72%,var(--panel)),var(--panel));margin-bottom:14px}
.scientific-onboarding>span{font-size:12px;font-weight:900;color:var(--primary-strong)}
.scientific-onboarding h2,.scientific-onboarding p{margin:0}.scientific-onboarding p{color:var(--muted);line-height:1.7}.scientific-onboarding .btn{margin-top:8px}
.scientific-focus-hero{display:grid;grid-template-columns:190px minmax(0,1fr) minmax(190px,auto);gap:20px;align-items:center;border:1px solid color-mix(in srgb,var(--primary) 38%,var(--line));border-radius:23px;padding:21px 22px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 78%,var(--panel)),var(--panel));box-shadow:0 10px 30px color-mix(in srgb,var(--primary) 8%,transparent);margin-bottom:14px;position:relative;overflow:hidden}
.scientific-focus-hero:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--primary)}
.scientific-focus-stage{display:grid;gap:4px}.scientific-focus-stage span,.scientific-focus-copy>span{font-size:11px;font-weight:900;color:var(--primary-strong)}
.scientific-focus-stage strong{font-size:14px;line-height:1.7}.scientific-focus-copy h2{margin:4px 0 3px;font-size:23px}.scientific-focus-copy p{margin:0;color:var(--muted);line-height:1.65}
.scientific-focus-side{display:grid;gap:10px;justify-items:stretch;min-width:180px}.scientific-focus-side>.btn{width:100%}
.scientific-focus-progress{display:grid;gap:6px}.scientific-focus-progress>span{display:flex;justify-content:space-between;align-items:baseline}.scientific-focus-progress b{font-size:18px}.scientific-focus-progress small{color:var(--muted)}
.scientific-focus-progress>i{display:block;height:7px;border-radius:99px;background:color-mix(in srgb,var(--primary) 12%,var(--panel));overflow:hidden}.scientific-focus-progress>i>b{display:block;height:100%;border-radius:inherit;background:var(--primary)}
.scientific-stage-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 14px}
.scientific-stage-nav-item{display:flex;align-items:center;gap:9px;text-align:right;border:1px solid var(--line);border-radius:13px;background:var(--panel);padding:10px 11px;color:var(--text);min-width:0;cursor:pointer}
.scientific-stage-nav-item>span{width:29px;height:29px;flex:0 0 29px;border-radius:10px;display:grid;place-items:center;background:var(--panel2);color:var(--muted);font-weight:900;font-size:12px}.scientific-stage-nav-item strong{font-size:12px;line-height:1.45}
.scientific-stage-nav-item.current,.scientific-stage-nav-item.selected{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));background:color-mix(in srgb,var(--primary-soft) 42%,var(--panel))}.scientific-stage-nav-item.current>span,.scientific-stage-nav-item.selected>span{background:var(--primary);color:#fff}.scientific-stage-nav-item.completed>span{background:color-mix(in srgb,var(--primary) 13%,var(--panel));color:var(--primary-strong)}.scientific-stage-nav-item.upcoming{opacity:.72}
.scientific-stage-detail{gap:10px}.scientific-stage-header.compact{padding:15px 17px;border-radius:17px}.scientific-stage-header.compact h2{font-size:21px;margin:3px 0}.scientific-progress-inline{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.scientific-progress-inline b{font-size:18px;color:var(--primary-strong)}.scientific-progress-inline span{font-size:11px;color:var(--muted)}
.scientific-context-card,.scientific-context-empty{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:14px 16px}
.scientific-context-card>div{min-width:0}.scientific-context-label{font-size:11px;font-weight:900;color:var(--primary-strong)}.scientific-context-card h3{font-size:16px;line-height:1.65;margin:3px 0;overflow-wrap:anywhere}
.scientific-context-facts{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.scientific-context-facts>span{display:inline-flex;gap:5px;align-items:center;border-radius:999px;background:var(--panel2);padding:5px 8px;color:var(--muted);font-size:11px}.scientific-context-facts b{color:var(--text);font-size:11px}
.scientific-context-empty{border-style:dashed;background:color-mix(in srgb,var(--primary-soft) 18%,var(--panel))}.scientific-context-empty p{margin:0;color:var(--muted);line-height:1.65;font-size:13px;max-width:760px}
.scientific-activate-note.compact{padding:13px 15px;border-radius:15px}.scientific-stage-complete{border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--primary-soft) 35%,var(--panel));padding:12px 14px;color:var(--primary-strong);font-weight:900}
.scientific-plan-more,.scientific-support{border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden}
.scientific-plan-more>summary,.scientific-support>summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;list-style:none}.scientific-plan-more>summary::-webkit-details-marker,.scientific-support>summary::-webkit-details-marker{display:none}
.scientific-plan-more>summary span,.scientific-support>summary span{min-width:0}.scientific-plan-more>summary strong,.scientific-plan-more>summary small,.scientific-support>summary strong,.scientific-support>summary small{display:block}.scientific-plan-more>summary small,.scientific-support>summary small{color:var(--muted);font-size:11px;margin-top:3px}.scientific-plan-more>summary>b,.scientific-support>summary>b{font-size:11px;color:var(--primary-strong);white-space:nowrap}
.scientific-plan-more[open]>summary,.scientific-support[open]>summary{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--primary-soft) 24%,var(--panel))}
.scientific-plan-body{padding:3px 16px 12px}.scientific-plan-body .scientific-work-group summary{padding-block:12px}.scientific-plan-body .scientific-work-group summary small{display:none}.scientific-plan-body .scientific-group-body{padding-bottom:10px}
.scientific-support-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.scientific-support-stack>.scientific-support:last-child:nth-child(odd){grid-column:1/-1}
.scientific-support-body{padding:13px}.scientific-support-body.meetings{padding:0}.scientific-support-body.meetings .journey-meetings-panel{border:0;margin:0;border-radius:0}.scientific-library-link{margin-top:10px}
.scientific-support .scientific-guide-grid{padding:13px}.scientific-support .scientific-form-list{padding:0}.scientific-support .scientific-form-list a{padding:10px 11px}.scientific-support .scientific-form-list small{font-size:11px}
.scientific-task-row{background:var(--panel);padding:10px 11px}.scientific-task-row.done{opacity:.58}.scientific-task-row small{margin-top:2px}.scientific-group-number{background:var(--panel2)}
@media(max-width:1000px){.scientific-focus-hero{grid-template-columns:150px minmax(0,1fr)}.scientific-focus-side{grid-column:1/-1;display:flex;align-items:center}.scientific-focus-side>*{flex:1}.scientific-stage-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){#journeyPage .scientific-page-head.compact{align-items:flex-start}.scientific-focus-hero{grid-template-columns:1fr;gap:12px;padding:18px}.scientific-focus-side{grid-column:auto;display:grid}.scientific-stage-nav{grid-template-columns:1fr 1fr}.scientific-stage-header.compact,.scientific-context-card,.scientific-context-empty{align-items:flex-start;flex-direction:column}.scientific-context-card>.btn,.scientific-context-empty>.btn{width:100%}.scientific-support-stack{grid-template-columns:1fr}.scientific-support-stack>.scientific-support:last-child:nth-child(odd){grid-column:auto}}
@media(max-width:480px){.scientific-stage-nav{grid-template-columns:1fr}.scientific-stage-nav-item{padding:9px}.scientific-plan-body{padding-inline:10px}.scientific-plan-body .scientific-group-body{padding-inline-start:0}.scientific-focus-copy h2{font-size:20px}}


/* v5.37 — مساحة مريحة لبطاقات المهام ومنع ضغط المحتوى */
#tasksPage #taskResults > .cards{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch;
}
#tasksPage .task-card-v60{
  width:100%;
  min-width:0!important;
  overflow:visible!important;
}
#tasksPage .task-card-v60 .task-facts{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
#tasksPage .task-card-v60 .task-fact strong,
#tasksPage .task-card-v60 .task-description{
  overflow-wrap:anywhere;
  word-break:normal;
}
@media (max-width:1180px){
  #tasksPage #taskResults > .cards{grid-template-columns:1fr!important;}
}
@media (max-width:720px){
  #tasksPage .toolbar{display:grid!important;grid-template-columns:1fr!important;}
  #tasksPage .task-card-v60 .task-facts{grid-template-columns:1fr!important;}
}

/* v5.38 — clean fast login */
.firebase-auth-status.login-auth-hidden{display:none!important}
.login-submit-v24.is-loading span{opacity:1!important}
.login-submit-v24.is-loading span::after{content:''!important}

/* v5.42 admin/course integrity */
.admin-health-panel{margin:0 0 18px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 5%,var(--panel)),var(--panel))}
.admin-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.admin-health-grid>div{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);display:grid;gap:4px;text-align:center}
.admin-health-grid b{font-size:1.35rem}.admin-health-grid span{color:var(--muted);font-size:.86rem}
@media(max-width:760px){.admin-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-shell{overflow:auto}.table-shell table{min-width:760px}}

/* v5.47: reliable admin course accordion */
#coursesPage .modern-course-group>summary{position:relative;z-index:2;pointer-events:auto;user-select:none;touch-action:manipulation}
#coursesPage .modern-course-group>summary *{pointer-events:none}
#coursesPage .modern-course-group[open]>summary{background:color-mix(in srgb,var(--primary) 4%,var(--surface))}


/* v5.49 — larger login canvas and single-click course disclosure */
.login-v24__access-inner{width:min(650px,100%)!important}
.login-v24__access-heading h2{font-size:clamp(44px,4.4vw,68px)!important;line-height:1.12!important}
.login-v24__access-heading p{font-size:clamp(18px,1.45vw,24px)!important;line-height:1.8!important}
.login-v24__access-heading>span{font-size:17px!important;padding:10px 18px!important}
.login-card-v24{padding:clamp(28px,3vw,42px)!important;border-radius:30px!important;gap:24px!important}
.login-card-v24 .login-field{font-size:19px!important;gap:11px!important}
.login-card-v24 .login-input-wrap input{min-height:76px!important;border-radius:18px!important;font-size:20px!important;padding-inline:58px 20px!important}
.login-card-v24 .login-input-wrap svg{width:25px!important;height:25px!important;right:20px!important}
.login-password-tools button{font-size:17px!important}
.login-submit-v24{min-height:72px!important;border-radius:18px!important;font-size:22px!important;padding-inline:28px!important}
.login-submit-v24 svg{width:26px!important;height:26px!important}
.login-tabs{min-height:76px!important;border-radius:20px!important}
.login-tabs button{font-size:21px!important}
.login-credit{font-size:14px!important}
.admin-course-group>summary{cursor:pointer!important;user-select:none!important;-webkit-tap-highlight-color:transparent}
.admin-course-group>summary:active{transform:scale(.998)}
@media (max-width:1100px) and (min-width:721px){
  .login-v24__access{padding:42px 28px 76px!important}
  .login-v24__access-inner{width:min(720px,92vw)!important}
  .login-v24__access-heading h2{font-size:58px!important}
  .login-card-v24{padding:38px!important}
}
@media (max-width:720px){
  .login-v24__access-inner{width:min(560px,100%)!important}
  .login-v24__access-heading h2{font-size:34px!important}
  .login-v24__access-heading p{font-size:15px!important}
  .login-v24__access-heading>span{font-size:14px!important;padding:8px 13px!important}
  .login-card-v24{padding:20px!important;gap:18px!important}
  .login-card-v24 .login-field{font-size:15px!important}
  .login-card-v24 .login-input-wrap input{min-height:58px!important;font-size:16px!important}
  .login-submit-v24{min-height:58px!important;font-size:18px!important}
  .login-tabs{min-height:62px!important}
  .login-tabs button{font-size:17px!important}
}


/* v5.50 admin workflow */
.v550-admin-command{margin:0 0 22px;padding:24px;border:1px solid rgba(16,102,94,.18);border-radius:24px;background:linear-gradient(135deg,rgba(238,249,247,.98),rgba(255,255,255,.98));box-shadow:0 16px 40px rgba(20,70,66,.08)}
.v550-admin-command h2{margin:6px 0;font-size:clamp(24px,2vw,34px)}.v550-admin-command p{margin:0;color:var(--muted)}
.v550-admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.v550-admin-kpis span{padding:14px;border-radius:16px;background:#fff;border:1px solid var(--line);text-align:center}.v550-admin-kpis b{display:block;font-size:24px;color:var(--primary)}.v550-admin-kpis small{color:var(--muted)}
.v550-admin-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v550-admin-actions button{border:0;border-radius:14px;padding:14px 12px;background:var(--primary);color:#fff;font-weight:800;cursor:pointer}.v550-admin-actions button:nth-child(n+3){background:#fff;color:var(--primary);border:1px solid rgba(16,102,94,.24)}
.v550-forms-manager{margin-top:18px}.v550-form-table{display:grid;gap:9px}.v550-form-table article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border:1px solid var(--line);border-radius:15px;background:#fff}.v550-form-table article>div:first-child{display:grid;gap:4px}.v550-form-table small{color:var(--muted)}
.v550-calendar-scope{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;padding:18px 20px;border-radius:18px;border:1px solid rgba(16,102,94,.22);background:#eef8f6}.v550-calendar-scope div{display:grid;gap:3px}.v550-calendar-scope span{font-size:20px;font-weight:900;color:var(--primary)}.v550-calendar-scope small{color:var(--muted)}
@media(max-width:900px){.v550-admin-kpis,.v550-admin-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.v550-form-table article,.v550-calendar-scope{align-items:stretch;flex-direction:column}.v550-form-table .row-actions{flex-wrap:wrap}}
@media(max-width:520px){.v550-admin-kpis,.v550-admin-actions{grid-template-columns:1fr}.v550-admin-command{padding:18px}.v550-admin-actions button{min-height:48px}}
/* v5.52: تقويم مزدوج واستقرار الرسائل */
.calendar-toolbar h3{display:flex;flex-direction:column;align-items:center;gap:2px}
.calendar-hijri-month{font-size:.72em;font-weight:600;color:var(--muted)}
.cal-date{display:flex;align-items:center;justify-content:space-between;gap:5px}
.cal-date small{font-size:.65rem;color:var(--muted);font-weight:700}
.dual-date{display:inline-flex;flex-direction:column;gap:2px;line-height:1.35}
.dual-date b{font-weight:800;color:var(--ink)}
.dual-date small{font-size:.78rem;color:var(--muted)}
.dual-date-range{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dual-date-range i{font-style:normal;color:var(--muted)}
.academic-date-content>p{margin-top:6px}
