/* SININBE EDU v4.0.39.19.115 — ordered CSS bundle: ui-bundle.css.
   Original stylesheets remain in the package. */

/* === SININBE bundled source: includes/core-shell.css === */
/* v2.5.24: unified typography system — Arabic=Tajawal, Latin=Space Grotesk. */
:root{--se-font-ar:'Tajawal',sans-serif;--se-font-latin:'Space Grotesk',sans-serif;--se-font-ui:var(--se-font-ar);}
html[dir="ltr"],body[dir="ltr"],#app[dir="ltr"],[dir="ltr"] #app{--se-font-ui:var(--se-font-latin);}
html[dir="rtl"],body[dir="rtl"],#app[dir="rtl"],[dir="rtl"] #app{--se-font-ui:var(--se-font-ar);}
#app,#app *:not(.fa):not(.fas):not(.far):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-brands):not([class^="fa-"]):not([class*=" fa-"]):not(.emoji){font-family:var(--se-font-ui)!important;}
#app input,#app textarea,#app select,#app button,#app option,#app optgroup{font-family:var(--se-font-ui)!important;}
#app .fa,#app .fas,#app .far,#app .fab,#app .fa-solid,#app .fa-regular,#app .fa-brands,#app i[class^="fa-"],#app i[class*=" fa-"]{font-family:"Font Awesome 6 Free","Font Awesome 6 Brands"!important;}
#app code,#app pre,#app kbd,#app samp{font-family:var(--se-font-ui)!important;}
#app .emj-btn,#app .emj-btn *{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol","Android Emoji","EmojiOne Color","Twemoji Mozilla",serif!important;}

/* v2.5.24: unified Tajawal / Space Grotesk typography. Previous v2.5.23 audit popup/delete fixes preserved. */
#app .se-admin-modal.show{
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:max(4px, env(safe-area-inset-top)) max(4px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left))!important;
  overflow:hidden!important;
}
#app .se-admin-modal .m-box{
  width:min(1780px,calc(100vw - 8px))!important;
  height:calc(100dvh - 8px)!important;
  max-width:none!important;max-height:none!important;
  display:flex!important;flex-direction:column!important;
  overflow:hidden!important;box-sizing:border-box!important;
  padding:clamp(.55rem,1vw,1.15rem)!important;
}
#app .se-admin-modal .se-admin-head{flex:0 0 auto!important;margin-bottom:clamp(6px,.8vh,10px)!important;}
#app .se-admin-modal .se-admin-tabs{flex:0 0 auto!important;flex-wrap:nowrap!important;margin-bottom:clamp(6px,.8vh,10px)!important;overflow-x:auto!important;overflow-y:hidden!important;padding-bottom:2px!important;scrollbar-gutter:auto!important;}
#app .se-admin-modal .se-admin-tabs button{white-space:nowrap!important;}
#app .se-admin-modal .se-admin-pane{min-height:0!important;}
#app .se-admin-modal .se-admin-pane.active{flex:1 1 auto!important;min-height:0!important;}
#admin-pane-users.active,#admin-pane-groups.active{overflow:auto!important;padding-inline-end:2px!important;}
#admin-pane-audit.active{display:flex!important;flex-direction:column!important;overflow:hidden!important;gap:8px!important;}
#admin-pane-audit .se-audit-grid{flex:0 1 auto!important;max-height:min(260px,31dvh)!important;overflow:auto!important;grid-template-columns:repeat(2,minmax(230px,1fr))!important;}
#admin-pane-audit .se-audit-options{max-height:120px!important;}
#admin-pane-audit .se-audit-actions,#admin-pane-audit #ap-audit-status,#admin-pane-audit #ap-audit-tools,#admin-pane-audit #ap-audit-reply,#admin-pane-audit #ap-audit-attachment,#admin-pane-audit #ap-audit-composer{flex:0 0 auto!important;}
#ap-audit-conversation{flex:1 1 auto!important;min-height:120px!important;max-height:none!important;overflow:auto!important;scrollbar-gutter:stable!important;}
#ap-audit-composer{display:none!important;grid-template-columns:auto auto minmax(0,1fr) auto!important;gap:8px!important;align-items:end!important;}
#ap-audit-composer.on{display:grid!important;}
#ap-audit-composer textarea{min-width:0!important;width:100%!important;max-height:88px!important;}
#admin-pane-adminmsgs.active{display:flex!important;flex-direction:column!important;overflow:hidden!important;gap:8px!important;}
#admin-pane-adminmsgs .se-adminmsgs-layout{
  flex:1 1 auto!important;min-height:0!important;height:auto!important;
  display:grid!important;grid-template-columns:clamp(240px,24vw,380px) minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr)!important;gap:10px!important;overflow:hidden!important;
}
#admin-pane-adminmsgs .se-adminmsgs-list-card,#admin-pane-adminmsgs .se-adminmsgs-chat-card{
  min-width:0!important;min-height:0!important;height:100%!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;padding:clamp(7px,.75vw,10px)!important;
}
#ap-adminmsgs-threads{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;}
#ap-adminmsgs-tools,#ap-adminmsgs-reply,#ap-adminmsgs-attachment,#ap-adminmsgs-composer,#admin-pane-adminmsgs .se-adminmsgs-chat-head{flex:0 0 auto!important;}
#ap-adminmsgs-conversation{
  flex:1 1 auto!important;min-height:120px!important;max-height:none!important;height:auto!important;
  overflow:auto!important;padding:clamp(8px,1vw,12px)!important;margin:0!important;scrollbar-gutter:stable!important;
}
#ap-adminmsgs-composer{display:grid!important;grid-template-columns:auto auto minmax(0,1fr) auto!important;gap:8px!important;align-items:end!important;margin-top:8px!important;position:relative!important;z-index:6!important;}
#ap-adminmsgs-composer:not(.on){display:none!important;}
#ap-adminmsgs-composer textarea{min-width:0!important;width:100%!important;min-height:40px!important;max-height:86px!important;resize:vertical!important;}
#ap-adminmsgs-composer .btn{white-space:nowrap!important;min-height:40px!important;}
#app .se-contact-modal.show{display:flex!important;align-items:center!important;justify-content:center!important;padding:clamp(4px,1vw,10px)!important;overflow:hidden!important;}
#app .se-contact-modal .m-box{
  width:min(980px,calc(100vw - 10px))!important;
  height:min(920px,calc(100dvh - 10px))!important;max-height:calc(100dvh - 10px)!important;
  display:flex!important;flex-direction:column!important;overflow:hidden!important;box-sizing:border-box!important;
  padding:clamp(.6rem,1vw,1rem)!important;
}
#app .se-contact-modal .se-contact-head,#app .se-contact-modal .se-audit-tools,#app .se-contact-modal .se-audit-reply,#app .se-contact-modal .se-audit-attachment,#app .se-contact-modal .se-audit-composer{flex:0 0 auto!important;}
#admin-contact-conversation{flex:1 1 auto!important;min-height:120px!important;max-height:none!important;overflow:auto!important;scrollbar-gutter:stable!important;padding:clamp(8px,1vw,12px)!important;}
#admin-contact-message{min-width:0!important;width:100%!important;min-height:40px!important;max-height:86px!important;resize:vertical!important;}
#app .se-contact-modal .se-audit-composer{display:grid!important;grid-template-columns:auto auto minmax(0,1fr) auto!important;gap:8px!important;align-items:end!important;}
#app .se-contact-modal .se-audit-composer .btn{white-space:nowrap!important;min-height:40px!important;}
#app .se-adminmsg-thread{min-height:58px!important;max-height:98px!important;overflow:hidden!important;align-content:start!important;}
#app .se-adminmsg-thread strong,#app .se-adminmsg-thread small,#app .se-adminmsg-thread span{min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
#app .se-audit-msg{max-width:min(760px,86%)!important;overflow-wrap:anywhere!important;}
#app .se-audit-msg .txt,#app .se-audit-msg .f-card,#app .se-audit-msg .ap,#app .se-audit-msg .vp{max-width:100%!important;}
#msg-notif{width:auto!important;min-width:0!important;max-width:min(360px,calc(100vw - 16px))!important;}
#notif-body{max-width:min(290px,calc(100vw - 86px))!important;}
@media (max-width:940px){
  #admin-pane-adminmsgs .se-adminmsgs-layout{grid-template-columns:1fr!important;grid-template-rows:minmax(88px,24dvh) minmax(0,1fr)!important;}
  #admin-pane-audit .se-audit-grid{grid-template-columns:1fr!important;max-height:min(250px,30dvh)!important;}
  #ap-audit-composer,#ap-adminmsgs-composer,#app .se-contact-modal .se-audit-composer{grid-template-columns:auto auto minmax(0,1fr)!important;}
  #ap-audit-composer .btn,#ap-adminmsgs-composer .btn,#app .se-contact-modal .se-audit-composer .btn{grid-column:1 / -1!important;width:100%!important;justify-content:center!important;}
}
@media (max-width:560px){
  #app .se-admin-modal .m-box,#app .se-contact-modal .m-box{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding:.55rem!important;}
  #admin-pane-adminmsgs .se-adminmsgs-layout{grid-template-rows:minmax(76px,20dvh) minmax(0,1fr)!important;gap:6px!important;}
  #ap-adminmsgs-tools .se-search-row,#ap-audit-tools .se-search-row,#admin-contact-search{min-width:0!important;width:100%!important;}
  #ap-adminmsgs-conversation,#ap-audit-conversation,#admin-contact-conversation{min-height:90px!important;padding:7px!important;}
  #app .se-audit-msg{max-width:94%!important;padding:8px 9px!important;}
  .se-admin-title{font-size:.9rem!important;}
}
@media (max-height:620px){
  #app .se-admin-modal .se-admin-head{margin-bottom:4px!important;}
  #app .se-admin-modal .se-admin-note{display:none!important;}
  #admin-pane-adminmsgs .se-adminmsgs-layout{grid-template-rows:minmax(70px,20dvh) minmax(0,1fr)!important;}
  #admin-pane-audit .se-audit-grid{max-height:24dvh!important;}
  #ap-adminmsgs-message,#ap-audit-message,#admin-contact-message{max-height:62px!important;}
}



/* v2.5.23 — Admin audit as large modal + permanent delete + clear wording */
#ap-audit-modal.se-audit-modal-shell{display:none!important;position:fixed!important;inset:0!important;z-index:2147483000!important;align-items:center!important;justify-content:center!important;padding:14px!important;background:rgba(0,0,0,.34)!important;backdrop-filter:blur(6px)!important;box-sizing:border-box!important;}
#ap-audit-modal.se-audit-modal-shell.on{display:flex!important;}
#ap-audit-modal .se-audit-modal-card{width:min(1600px,100%)!important;height:min(920px,100%)!important;max-height:100%!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border:1px solid var(--border-strong)!important;border-radius:1.25rem!important;background:var(--panel-bg,#071126)!important;box-shadow:0 30px 90px rgba(0,0,0,.42)!important;padding:14px!important;gap:10px!important;}
#ap-audit-modal .se-audit-modal-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex:0 0 auto!important;min-height:42px!important;}
#ap-audit-modal .se-audit-modal-head #ap-audit-status{margin:0!important;min-height:0!important;flex:1!important;font-size:.82rem!important;}
#ap-audit-modal .se-audit-modal-close{position:static!important;flex:0 0 auto!important;}
#ap-audit-modal #ap-audit-tools{display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important;margin:0!important;flex:0 0 auto!important;}
#ap-audit-modal #ap-audit-tools.on{display:flex!important;}
#ap-audit-modal #ap-audit-tools .se-search-row{flex:1 1 360px!important;min-width:min(360px,100%)!important;margin:0!important;}
#ap-audit-modal #ap-audit-delete-all{flex:0 0 auto!important;min-height:40px!important;white-space:nowrap!important;}
#ap-audit-modal #ap-audit-conversation{flex:1 1 auto!important;min-height:220px!important;max-height:none!important;overflow:auto!important;margin:0!important;padding:14px!important;background:rgba(4,9,24,.42)!important;scrollbar-gutter:stable!important;}
#ap-audit-modal #ap-audit-reply,#ap-audit-modal #ap-audit-attachment,#ap-audit-modal #ap-audit-composer{flex:0 0 auto!important;margin:0!important;}
#ap-audit-modal #ap-audit-composer.on{display:grid!important;grid-template-columns:auto auto minmax(0,1fr) auto!important;gap:8px!important;align-items:end!important;}
#ap-audit-modal #ap-audit-message{width:100%!important;min-height:48px!important;max-height:120px!important;color:var(--text-primary)!important;background:var(--input-bg,rgba(255,255,255,.06))!important;}
#app[data-theme="light"] #ap-audit-modal .se-audit-modal-card,html[data-theme="light"] #ap-audit-modal .se-audit-modal-card{background:#ffffff!important;color:#111827!important;border-color:#cbd5e1!important;}
#app[data-theme="light"] #ap-audit-modal #ap-audit-conversation,html[data-theme="light"] #ap-audit-modal #ap-audit-conversation{background:#f8fafc!important;border-color:#cbd5e1!important;}
#app[data-theme="dark"] #ap-audit-modal .se-audit-modal-card,html[data-theme="dark"] #ap-audit-modal .se-audit-modal-card{background:#071126!important;color:#f8fafc!important;}
@media(max-width:760px){#ap-audit-modal.se-audit-modal-shell{inset:0!important;padding:6px!important;}#ap-audit-modal .se-audit-modal-card{width:100%!important;height:100%!important;max-height:100%!important;border-radius:1rem!important;padding:9px!important;gap:7px!important;}#ap-audit-modal #ap-audit-tools{gap:6px!important;}#ap-audit-modal #ap-audit-tools .se-search-row{flex-basis:100%!important;min-width:0!important;}#ap-audit-modal #ap-audit-delete-all{width:100%!important;justify-content:center!important;}#ap-audit-modal #ap-audit-composer.on{grid-template-columns:auto auto minmax(0,1fr)!important;}#ap-audit-modal #ap-audit-composer .btn{grid-column:1 / -1!important;width:100%!important;justify-content:center!important;}#ap-audit-modal .se-audit-msg{max-width:96%!important;}}

/* ════════════════════════════════════════════
   DESIGN TOKENS — Semantic Theme System
   ════════════════════════════════════════════ */
:root, [data-theme="dark"] {
  /* ── Backgrounds — deep rich indigo/navy for glass to float on ── */
  --bg: #050818;
  --surface: rgba(8,14,36,.78);
  --card: rgba(10,18,48,.74);
  --card-elevated: rgba(16,26,64,.78);
  --input-bg: rgba(6,12,32,.68);
  --popup-bg: rgba(4,10,28,.94);

  /* ── Glass Effect Variables ── */
  --glass-bg: rgba(255,255,255,.05);
  --glass-bg-hover: rgba(255,255,255,.08);
  --glass-border: rgba(255,255,255,.12);
  --glass-border-strong: rgba(255,255,255,.2);
  --glass-shadow: 0 8px 32px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08);
  --glass-blur: blur(20px) saturate(180%);
  --glass-blur-light: blur(12px) saturate(150%);

  /* ── Text ── */
  --text-primary: #eef4ff;
  --text-secondary: #99bcd8;
  --text-muted: #4d728f;
  --text-inverse: #060d1f;
  --text-on-primary: #ffffff;

  /* ── Borders ── */
  --border: rgba(255,255,255,.09);
  --border-strong: rgba(255,255,255,.16);
  --input-border: rgba(255,255,255,.14);
  --popup-border: rgba(96,180,255,.2);

  /* ── Brand / Accent — vivid teal/cyan that pops on dark glass ── */
  --primary: #2de8c8;
  --primary-dark: #1bb89f;
  --primary-fg: #030f0b;
  --primary-hover: rgba(45,232,200,.15);
  --primary-soft: rgba(45,232,200,.08);
  --primary-glow: 0 0 24px rgba(45,232,200,.35);

  /* ── Semantic Colors ── */
  --success: #4ade80;
  --success-soft: rgba(74,222,128,.12);
  --success-text: #4ade80;
  --warning: #fbbf24;
  --warning-soft: rgba(251,191,36,.12);
  --warning-text: #fbbf24;
  --danger: #f87171;
  --danger-soft: rgba(248,113,113,.12);
  --danger-text: #fca5a5;
  --info: #60a5fa;
  --info-soft: rgba(96,165,250,.12);

  /* ── States ── */
  --hover: rgba(255,255,255,.06);
  --active: rgba(45,232,200,.12);
  --focus-ring: rgba(45,232,200,.3);
  --disabled-opacity: .4;

  /* ── Shadows ── */
  --shadow-sm: 0 2px 8px rgba(0,0,0,.4);
  --shadow-md: 0 8px 28px rgba(0,0,0,.5);
  --shadow-lg: 0 24px 64px rgba(0,0,0,.65);
  --shadow-popup: 0 16px 48px rgba(0,0,0,.6);
  --overlay: rgba(2,6,20,.78);

  /* ── Bubbles — glassy ── */
  --bub-me: linear-gradient(150deg, rgba(22,185,162,.55), rgba(10,100,88,.5));
  --bub-me-text: #ffffff;
  --bub-other: rgba(255,255,255,.06);
  --bub-other-text: #eef4ff;

  /* ── Layout ── */
  --sidebar-bg: rgba(6,12,30,.7);
  --header-bg: rgba(5,10,25,.7);
  --footer-bg: rgba(5,10,25,.72);
  --modal-bg: rgba(7,14,38,.85);

  /* ── Component tokens ── */
  --fab-bg: linear-gradient(135deg, rgba(20,36,72,.8), rgba(10,18,44,.9));
  --fab-glow: rgba(45,232,200,.3);
  --gold: #fbbf24;

  /* ── Radii ── */
  --r1: .75rem;
  --r2: 1.25rem;
  --r3: 2rem;
}

/* ── LIGHT THEME ── */
[data-theme="light"] {
  --bg: #f0f4f8;
  --surface: #ffffff;
  --card: #ffffff;
  --card-elevated: #ffffff;
  --input-bg: #ffffff;
  --popup-bg: #ffffff;

  --text-primary: #1a2332;
  --text-secondary: #4a5e75;
  --text-muted: #8298ae;
  --text-inverse: #ffffff;
  --text-on-primary: #ffffff;

  --border: rgba(0,0,0,.08);
  --border-strong: rgba(0,0,0,.14);
  --input-border: rgba(0,0,0,.14);
  --popup-border: rgba(0,0,0,.1);

  --primary: #0d9b80;
  --primary-dark: #0a7d68;
  --primary-fg: #ffffff;
  --primary-hover: rgba(13,155,128,.08);
  --primary-soft: rgba(13,155,128,.05);
  --primary-glow: rgba(13,155,128,.15);

  --success: #16a34a;
  --success-soft: rgba(22,163,74,.08);
  --success-text: #16a34a;
  --warning: #d97706;
  --warning-soft: rgba(217,119,6,.08);
  --warning-text: #b45309;
  --danger: #dc2626;
  --danger-soft: rgba(220,38,38,.08);
  --danger-text: #dc2626;
  --info: #2563eb;
  --info-soft: rgba(37,99,235,.08);

  --hover: rgba(0,0,0,.04);
  --active: rgba(13,155,128,.08);
  --focus-ring: rgba(13,155,128,.2);
  --disabled-opacity: .45;

  --shadow-sm: 0 1px 3px rgba(0,0,0,.06);
  --shadow-md: 0 4px 16px rgba(0,0,0,.08);
  --shadow-lg: 0 16px 48px rgba(0,0,0,.12);
  --shadow-popup: 0 8px 32px rgba(0,0,0,.1);
  --overlay: rgba(0,0,0,.35);

  --bub-me: linear-gradient(150deg, #0d9b80, #0a7d68);
  --bub-me-text: #ffffff;
  --bub-other: linear-gradient(150deg, #e8eef4, #dfe7f0);
  --bub-other-text: #1a2332;

  --sidebar-bg: linear-gradient(180deg, #ffffff, #f5f8fc);
  --header-bg: linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,250,253,.92));
  --footer-bg: linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,248,252,.98));
  --modal-bg: #ffffff;

  --fab-bg: linear-gradient(135deg, var(--primary), var(--primary-dark));
  --fab-glow: rgba(13,155,128,.2);
  --gold: #d97706;
}

/* ════════════════════════════════════════════════════════════
   LIGHT MODE — Complete Component Override System
   Every component with hardcoded dark colors gets a light override here.
   This is the SINGLE source of truth for light mode appearance.
   ════════════════════════════════════════════════════════════ */
[data-theme="light"] { color-scheme: light; }

/* ── App shell ── */
/* (background shapes already hidden above for light mode) */

/* ── Sidebar ── */
[data-theme="light"] #sb { background: rgba(255,255,255,.82) !important; backdrop-filter: blur(20px) saturate(180%) !important; -webkit-backdrop-filter: blur(20px) saturate(180%) !important; border-inline-end: 1px solid rgba(0,0,0,.08) !important; box-shadow: 2px 0 16px rgba(0,0,0,.06) !important; }
[data-theme="light"] #sb::after { display: none !important; }
[data-theme="light"] .sb-head { background: rgba(255,255,255,.6) !important; border-bottom: 1px solid rgba(0,0,0,.07) !important; }
[data-theme="light"] .sb-sep { background: var(--border) !important; }
[data-theme="light"] .sb-sec-lbl { color: var(--text-muted) !important; }
[data-theme="light"] .ni:hover { background: rgba(13,155,128,.08) !important; border-color: rgba(13,155,128,.2) !important; backdrop-filter: none !important; }
[data-theme="light"] .ni.active { background: rgba(13,155,128,.1) !important; backdrop-filter: none !important; border-color: rgba(13,155,128,.25) !important; }
[data-theme="light"] .ni-ic { background: rgba(0,0,0,.04) !important; border-color: var(--border-strong) !important; color: var(--primary) !important; }
[data-theme="light"] .ni:hover .ni-ic { background: rgba(13,155,128,.1) !important; }
[data-theme="light"] .ni.active .ni-ic { background: rgba(13,155,128,.12) !important; }
[data-theme="light"] .av { color: #fff !important; box-shadow: 0 0 14px rgba(13,155,128,.3) !important; }
[data-theme="light"] .stu-n { background: rgba(13,155,128,.08) !important; border-color: rgba(13,155,128,.15) !important; color: var(--primary) !important; }
[data-theme="light"] .unread-badge { background: var(--primary) !important; color: #fff !important; }
[data-theme="light"] #sb-ov { background: var(--overlay) !important; }
/* Hide animated bg shapes in light mode — they look odd on white */
[data-theme="light"] .glass-orb,
[data-theme="light"] .geo-hex,
[data-theme="light"] .geo-book,
[data-theme="light"] .geo-star,
[data-theme="light"] .geo-ring { display: none !important; }
[data-theme="light"] #app::before { background: none !important; opacity: 0 !important; }

/* ── Header ── */
[data-theme="light"] #chat-hdr { background: rgba(255,255,255,.85) !important; backdrop-filter: blur(20px) !important; -webkit-backdrop-filter: blur(20px) !important; border-bottom: 1px solid rgba(0,0,0,.07) !important; box-shadow: 0 2px 12px rgba(0,0,0,.06) !important; }
[data-theme="light"] #chat-ttl { color: var(--text-primary) !important; }

/* ── Footer / Composer ── */
[data-theme="light"] #ft { background: rgba(255,255,255,.85) !important; backdrop-filter: blur(20px) !important; -webkit-backdrop-filter: blur(20px) !important; border-top: 1px solid rgba(0,0,0,.07) !important; }
[data-theme="light"] .inp-wrap { background: rgba(0,0,0,.04) !important; border-color: rgba(0,0,0,.1) !important; backdrop-filter: none !important; box-shadow: none !important; }
[data-theme="light"] .inp-wrap:focus-within { border-color: var(--primary) !important; box-shadow: 0 0 0 3px var(--focus-ring) !important; }
[data-theme="light"] #txt-inp { color: var(--text-primary) !important; }
[data-theme="light"] #txt-inp::placeholder { color: var(--text-muted) !important; }

/* v2.5.27 message input shadow cleanup */
#app[data-theme="dark"] .inp-wrap,
html[data-theme="dark"] .inp-wrap,
body[data-theme="dark"] .inp-wrap { box-shadow: none !important; }
#app[data-theme="dark"] .inp-wrap:focus-within,
html[data-theme="dark"] .inp-wrap:focus-within,
body[data-theme="dark"] .inp-wrap:focus-within { box-shadow: 0 0 0 2px rgba(45,232,200,.10) !important; }
#app[data-theme="dark"] #txt-inp,
#app[data-theme="dark"] #txt-inp::placeholder,
html[data-theme="dark"] #txt-inp,
html[data-theme="dark"] #txt-inp::placeholder,
body[data-theme="dark"] #txt-inp,
body[data-theme="dark"] #txt-inp::placeholder { text-shadow: none !important; }

/* v2.5.26 dark-mode input/readability fix */
#app[data-theme="dark"] input,
#app[data-theme="dark"] textarea,
#app[data-theme="dark"] select,
html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select,
body[data-theme="dark"] input,
body[data-theme="dark"] textarea,
body[data-theme="dark"] select { color: #ffffff !important; caret-color: #ffffff !important; }
#app[data-theme="dark"] input::placeholder,
#app[data-theme="dark"] textarea::placeholder,
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder,
body[data-theme="dark"] input::placeholder,
body[data-theme="dark"] textarea::placeholder { color: rgba(228,238,248,.58) !important; }
#app[data-theme="dark"] .inp,
#app[data-theme="dark"] #txt-inp,
#app[data-theme="dark"] .se-search-row input,
#app[data-theme="dark"] .se-group-form input,
#app[data-theme="dark"] .se-group-form select,
#app[data-theme="dark"] .se-admin-form input,
#app[data-theme="dark"] .se-admin-form select,
#app[data-theme="dark"] #ap-audit-message,
#app[data-theme="dark"] #ap-adminmsgs-message,
#app[data-theme="dark"] #ap-admincontact-message { color: #ffffff !important; }

/* ── FAB button ── */
[data-theme="light"] #fab { background: var(--fab-bg) !important; box-shadow: 0 4px 16px var(--fab-glow) !important; color: #fff !important; }
[data-theme="light"] #fab.red { background: linear-gradient(135deg, #fee2e2, #fef2f2) !important; color: var(--danger) !important; box-shadow: 0 4px 16px rgba(220,38,38,.15) !important; }

/* ── + Button ── */
[data-theme="light"] .tools-plus-btn { color: var(--text-muted) !important; }
[data-theme="light"] .tools-plus-btn:hover, [data-theme="light"] .tools-plus-btn.open { color: var(--primary) !important; background: var(--primary-hover) !important; }

/* ── Tools popup ── */
[data-theme="light"] #tools-popup { background: #fff !important; border-color: var(--border) !important; box-shadow: var(--shadow-popup), 0 0 0 1px rgba(0,0,0,.04) !important; }
[data-theme="light"] .tp-item { color: var(--text-primary) !important; }
[data-theme="light"] .tp-item:hover { background: var(--hover) !important; }
[data-theme="light"] .tp-sep { background: var(--border) !important; }

/* ── Translate picker ── */
[data-theme="light"] #translate-picker { background: rgba(13,155,128,.03) !important; border-color: rgba(13,155,128,.12) !important; }
[data-theme="light"] .ct-pill { background: rgba(0,0,0,.03) !important; border-color: var(--border-strong) !important; }
[data-theme="light"] .ct-pill:hover, [data-theme="light"] .ct-pill.active { background: rgba(13,155,128,.1) !important; border-color: var(--primary) !important; }
[data-theme="light"] .ct-add-lang-btn { background: rgba(0,0,0,.03) !important; border-color: var(--border-strong) !important; color: var(--text-muted) !important; }
[data-theme="light"] #ct-custom-wrap { background: rgba(0,0,0,.03) !important; border-color: var(--input-border) !important; }
[data-theme="light"] #ct-custom-inp { color: var(--text-primary) !important; }

/* ── Messages area ── */
[data-theme="light"] #msg-box { background: rgba(240,244,250,.92) !important; }
[data-theme="light"] #msg-box::-webkit-scrollbar-thumb { background: rgba(13,155,128,.15) !important; }
[data-theme="light"] .day-sep span { color: var(--text-muted) !important; }
[data-theme="light"] .day-sep::before, [data-theme="light"] .day-sep::after { background: var(--border) !important; }

/* ── Bubbles ── */
[data-theme="light"] .bot { background: rgba(255,255,255,.75) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-color: rgba(0,0,0,.08) !important; box-shadow: 0 2px 10px rgba(0,0,0,.07) !important; }
[data-theme="light"] .bot .bub-nm { color: var(--primary) !important; }
[data-theme="light"] .bot .bub-txt { color: var(--text-primary) !important; }
[data-theme="light"] .bot .bub-ts { color: var(--text-muted) !important; }
[data-theme="light"] .bot .bub-txt a { color: var(--primary) !important; }
[data-theme="light"] .bme { background: linear-gradient(150deg, rgba(13,155,128,.8), rgba(10,110,92,.75)) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-color: rgba(13,155,128,.4) !important; }
[data-theme="light"] .bme, [data-theme="light"] .bme * { color: var(--bub-me-text) !important; }
[data-theme="light"] .seen-btn { color: var(--text-muted) !important; }
[data-theme="light"] .seen-btn:hover { color: var(--primary) !important; }
[data-theme="light"] .rply-btn { color: var(--text-muted) !important; }

/* ── Reply system ── */
[data-theme="light"] .reply-quote { background: rgba(0,0,0,.03) !important; }
[data-theme="light"] .rq-nm { color: var(--primary) !important; }
[data-theme="light"] .rq-txt { color: var(--text-secondary) !important; }
[data-theme="light"] #reply-prev { background: rgba(13,155,128,.04) !important; border-color: rgba(13,155,128,.12) !important; }
[data-theme="light"] #att { background: rgba(13,155,128,.04) !important; border-color: rgba(13,155,128,.12) !important; }

/* ── Audio player ── */
[data-theme="light"] .ap { background: rgba(0,0,0,.04) !important; border-color: var(--border) !important; }
[data-theme="light"] .bub:not(.bme) .ap-pp { background: rgba(0,0,0,.06) !important; border-color: var(--border-strong) !important; color: var(--text-primary) !important; }
[data-theme="light"] .bub:not(.bme) .ap-pp:hover { background: rgba(13,155,128,.12) !important; color: var(--primary) !important; }
[data-theme="light"] .bub:not(.bme) .ap-bar { background: rgba(0,0,0,.15) !important; }
[data-theme="light"] .bub:not(.bme) .ap-bar.played { background: var(--text-primary) !important; }
[data-theme="light"] .bub:not(.bme) .ap-dur { color: var(--text-muted) !important; }
[data-theme="light"] .bub:not(.bme) .ap-spd-btn { background: rgba(0,0,0,.05) !important; color: var(--text-secondary) !important; }
[data-theme="light"] .bub:not(.bme) .ap-voice-lbl { color: var(--text-muted) !important; }

/* ── File/Link cards ── */
[data-theme="light"] .bub:not(.bme) .f-card { background: rgba(0,0,0,.03) !important; border-color: var(--border) !important; }
[data-theme="light"] .bub:not(.bme) .f-card:hover { background: rgba(13,155,128,.05) !important; }
[data-theme="light"] .bub:not(.bme) .link-card { background: rgba(0,0,0,.03) !important; border-color: rgba(13,155,128,.12) !important; }
[data-theme="light"] .bub:not(.bme) .link-domain { color: var(--primary) !important; }
[data-theme="light"] .bub:not(.bme) .link-url-text { color: var(--text-muted) !important; }

/* ── Poll card ── */
[data-theme="light"] .poll-card { background: rgba(13,155,128,.06) !important; border-color: rgba(13,155,128,.15) !important; }
[data-theme="light"] .bub:not(.bme) .poll-q { color: var(--text-primary) !important; }
[data-theme="light"] .bub:not(.bme) .poll-opt { background: #fff !important; border-color: var(--border) !important; }
[data-theme="light"] .bub:not(.bme) .poll-opt:hover { background: var(--primary-hover) !important; }
[data-theme="light"] .bub:not(.bme) .poll-opt-lbl { color: var(--text-primary) !important; }
[data-theme="light"] .bub:not(.bme) .poll-pct { color: var(--text-muted) !important; }
[data-theme="light"] .bub:not(.bme) .poll-bar-wrap { background: rgba(0,0,0,.06) !important; }
[data-theme="light"] .bub:not(.bme) .poll-meta { color: var(--text-muted) !important; }

/* ── Selection toolbar ── */
[data-theme="light"] #sel-toolbar { background: var(--danger-soft) !important; border-color: rgba(220,38,38,.2) !important; }
[data-theme="light"] #sel-count-txt { color: var(--danger) !important; }
[data-theme="light"] #btn-sel-fwd { background: var(--warning-soft) !important; color: var(--warning-text) !important; border-color: rgba(217,119,6,.25) !important; }
[data-theme="light"] #btn-sel-del { background: var(--danger-soft) !important; color: var(--danger-text) !important; border-color: rgba(220,38,38,.25) !important; }

/* ── Emoji tray ── */
[data-theme="light"] #emj { background: #fff !important; border-color: var(--border) !important; box-shadow: var(--shadow-popup) !important; }
[data-theme="light"] #emj-close { background: #f5f8fc !important; border-color: var(--border-strong) !important; color: var(--text-secondary) !important; }
[data-theme="light"] #emj-close:hover, [data-theme="light"] #emj-close:focus-visible { background: #fee2e2 !important; border-color: #fca5a5 !important; color: #dc2626 !important; }
[data-theme="light"] .emj-btn:hover { background: var(--primary-hover) !important; }

/* ── Voice recorder ── */
[data-theme="light"] #vox { background: #fff !important; border-color: rgba(220,38,38,.25) !important; box-shadow: var(--shadow-sm) !important; }
[data-theme="light"] .vox-cancel { background: #fee2e2 !important; border-color: #fca5a5 !important; color: #dc2626 !important; }
[data-theme="light"] .vox-cancel:hover { background: #fecaca !important; }
[data-theme="light"] .vox-pause { background: #f5f8fc !important; border-color: var(--border-strong) !important; color: var(--text-primary) !important; }
[data-theme="light"] #vtmr { color: var(--danger) !important; }
[data-theme="light"] .vox-wave-bar { background: rgba(220,38,38,.35) !important; }

/* ── Modals ── */
[data-theme="light"] .modal { background: var(--overlay) !important; }
[data-theme="light"] .m-box { background: #fff !important; border: 1px solid #e2e8f0 !important; box-shadow: 0 16px 48px rgba(0,0,0,.1) !important; }
[data-theme="light"] .m-close { background: #f5f8fc !important; border-color: #d0d7de !important; color: #64748b !important; }
[data-theme="light"] .m-close:hover { background: #fee2e2 !important; color: #dc2626 !important; border-color: #fca5a5 !important; }

/* ── Read receipt popup ── */
[data-theme="light"] .rr-popup { background: #fff !important; border-color: var(--border) !important; box-shadow: var(--shadow-popup) !important; }
[data-theme="light"] .rr-popup::after { background: #fff !important; border-color: var(--border) !important; }
[data-theme="light"] .rr-title { color: var(--primary) !important; }
[data-theme="light"] .rr-nm { color: var(--text-primary) !important; }
[data-theme="light"] .rr-time { color: var(--text-muted) !important; }

/* ── All inputs (global) ── */
[data-theme="light"] .inp { background: #fff !important; border-color: #d0d7de !important; color: var(--text-primary) !important; }
[data-theme="light"] .inp:focus { background: #fff !important; border-color: var(--primary) !important; box-shadow: 0 0 0 3px var(--focus-ring) !important; }
[data-theme="light"] .inp::placeholder { color: var(--text-muted) !important; }
[data-theme="light"] .stedit-inp { background: #f5f8fc !important; border-color: #d0d7de !important; color: var(--text-primary) !important; }
[data-theme="light"] .stedit-inp:focus { border-color: var(--primary) !important; background: #fff !important; }
[data-theme="light"] .p-opt-inp { background: #f5f8fc !important; border-color: #d0d7de !important; color: var(--text-primary) !important; }
[data-theme="light"] .p-opt-inp:focus { border-color: var(--primary) !important; background: #fff !important; }
[data-theme="light"] #poll-q-inp { background: #f5f8fc !important; border-color: #d0d7de !important; color: var(--text-primary) !important; }
[data-theme="light"] #poll-q-inp:focus { border-color: var(--primary) !important; background: #fff !important; }
[data-theme="light"] #poll-q-inp::placeholder { color: #8298ae !important; }
[data-theme="light"] .p-opt-inp::placeholder { color: #8298ae !important; }
[data-theme="light"] input[type="text"], [data-theme="light"] textarea { color: var(--text-primary) !important; }
[data-theme="light"] input::placeholder, [data-theme="light"] textarea::placeholder { color: var(--text-muted) !important; }

/* ── Buttons ── */
[data-theme="light"] .btn-ghost { background: #f5f8fc !important; border-color: #d0d7de !important; color: var(--text-primary) !important; }
[data-theme="light"] .btn-ghost:hover { background: rgba(0,0,0,.07) !important; }
[data-theme="light"] .btn-danger { background: var(--danger-soft) !important; border-color: rgba(220,38,38,.2) !important; color: var(--danger) !important; }
[data-theme="light"] .btn-danger:hover { background: rgba(220,38,38,.14) !important; }
[data-theme="light"] .btn-ac { box-shadow: 0 4px 16px rgba(13,155,128,.2) !important; }
[data-theme="light"] .lang-row { background: rgba(0,0,0,.02) !important; border-color: var(--border) !important; }
[data-theme="light"] .lang-row:hover { background: var(--primary-hover) !important; border-color: rgba(13,155,128,.2) !important; }

/* ── Login card ── */
[data-theme="light"] .card { background: #fff !important; border-color: #d0d7de !important; box-shadow: var(--shadow-lg) !important; }
[data-theme="light"] .card-title { color: var(--text-primary) !important; }
[data-theme="light"] .orb { box-shadow: 0 0 30px rgba(13,155,128,.15), 0 6px 16px rgba(0,0,0,.06) !important; }

/* ── Theme toggle ── */
[data-theme="light"] .theme-toggle { background: #f5f0e0 !important; border-color: rgba(217,119,6,.2) !important; color: #b45309 !important; }

/* ── Transcribe button / result ── */
[data-theme="light"] .ap-tx-btn { background: rgba(251,191,36,.14) !important; border-color: rgba(251,191,36,.34) !important; color: #b45309 !important; }
[data-theme="light"] .ap-tx-result { background: #f5f8fc !important; border-color: rgba(139,92,246,.15) !important; color: var(--text-primary) !important; }

/* ── Bot modal ── */
[data-theme="light"] .b-me { background: rgba(13,155,128,.06) !important; border-color: rgba(13,155,128,.15) !important; color: var(--text-primary) !important; }
[data-theme="light"] .b-me * { color: var(--text-primary) !important; }

/* ── Bot dropdown ── */

/* ── PDF / Doc / Excel / PPTX viewers ── */
[data-theme="light"] .pdf-top, [data-theme="light"] .xls-hdr, [data-theme="light"] .pptx-top { background: #fff !important; border-bottom-color: var(--border) !important; }
[data-theme="light"] .xls-tabs { background: #f5f8fc !important; }
[data-theme="light"] .xls-tab { background: rgba(0,0,0,.03) !important; color: var(--text-muted) !important; border-color: var(--border) !important; }
[data-theme="light"] .xls-tab.active { background: var(--success-soft) !important; color: var(--success) !important; }
[data-theme="light"] #xls-tbl-wrap th { background: var(--success-soft) !important; color: var(--success) !important; }
[data-theme="light"] #xls-tbl-wrap td { color: var(--text-primary) !important; border-color: rgba(0,0,0,.04) !important; }
[data-theme="light"] #doc-body { background: #fff !important; border-color: var(--border) !important; color: var(--text-primary) !important; }
[data-theme="light"] .xls-toolbar, [data-theme="light"] .doc-toolbar, [data-theme="light"] .pdf-annot-bar, [data-theme="light"] .pptx-bar { background: #f5f8fc !important; }
[data-theme="light"] .xtool, [data-theme="light"] .dtool, [data-theme="light"] .pan-btn { background: var(--hover) !important; border-color: var(--border) !important; color: var(--text-secondary) !important; }
[data-theme="light"] .img-bar { background: rgba(255,255,255,.92) !important; border-color: var(--border) !important; }
[data-theme="light"] .img-bar button, [data-theme="light"] .img-bar a { background: var(--hover) !important; border-color: var(--border) !important; color: var(--text-primary) !important; }

/* ── Forward / Poll modals ── */
[data-theme="light"] .fwd-item { color: var(--text-primary) !important; }
[data-theme="light"] .fwd-item:hover { background: var(--hover) !important; }
[data-theme="light"] .fwd-item.on { background: var(--primary-hover) !important; border-color: var(--primary) !important; }
[data-theme="light"] .fwd-av { background: var(--primary-soft) !important; color: var(--primary) !important; }
[data-theme="light"] .p-opt-del { color: #dc2626 !important; opacity: .7; }
[data-theme="light"] .p-opt-del:hover { opacity: 1 !important; }

/* ── Credential table ── */
[data-theme="light"] .ctbl th { background: var(--primary-soft) !important; color: var(--text-primary) !important; border-color: var(--border) !important; }
[data-theme="light"] .ctbl td { color: var(--text-primary) !important; border-color: var(--border) !important; }
[data-theme="light"] .e-btn { color: var(--primary) !important; }

/* ── Voice dub modal ── */
[data-theme="light"] .vdub-lang-btn { background: var(--hover) !important; border-color: var(--border) !important; color: var(--text-primary) !important; }
[data-theme="light"] .vdub-lang-btn:hover { background: var(--primary-hover) !important; border-color: rgba(13,155,128,.25) !important; }
[data-theme="light"] .vdub-send-orig { border-color: var(--border) !important; color: var(--text-secondary) !important; }
[data-theme="light"] #vdub-custom-inp { background: #f5f8fc !important; border-color: #d0d7de !important; color: var(--text-primary) !important; }

/* ── Notification popup ── */
[data-theme="light"] #msg-notif { background: #fff !important; border-color: var(--border) !important; box-shadow: var(--shadow-popup) !important; }
[data-theme="light"] #notif-name { color: var(--primary) !important; }
[data-theme="light"] #notif-text { color: var(--text-primary) !important; }


/* ── Toast (always good contrast) ── */
[data-theme="light"] .toast { color: #fff !important; }

/* ── Scrollbars ── */
[data-theme="light"] .sb-nav::-webkit-scrollbar-thumb { background: rgba(13,155,128,.15) !important; }

/* ════════════════════════════════════════════
   GLOBAL — Mobile-safe viewport
   ════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { height: 100%; }
body {
  height: 100%;
  overflow: hidden !important;
  position: fixed;
  width: 100%;
}

/* ── Twemoji SVG sizing — make all emoji images the right size ── */
img.emoji {
  height: 1.4em; width: 1.4em;
  vertical-align: -0.25em;
  display: inline-block;
}
/* Emoji tray specific size */
.emj-btn img.emoji { height: 1.55rem; width: 1.55rem; vertical-align: middle; }

/* ════════════════════════════════════════════
   PORTAL SHELL
   ════════════════════════════════════════════ */
#app {
  position: fixed;
  inset: 0;
  height: 100dvh;
  width: 100dvw;
  background: var(--bg);
  color: var(--text-primary);
  /* Unified Arabic default */
  font-family: var(--se-font-ui), sans-serif;
  display: none;
  overflow: hidden;
  z-index: 2147483647;
}
/* Latin languages get Space Grotesk */
[dir="ltr"] #app,
[dir="ltr"] #app * {
  font-family: var(--se-font-ui), sans-serif;
}
/* Arabic elements inside LTR fall back to Tajawal */
[dir="ltr"] #app [lang="ar"],
[dir="ltr"] #app .ar-text {
  font-family: var(--se-font-ui), sans-serif;
}

/* ── GLOBAL: force all message/bot text to be white in dark mode ── */
[data-theme="dark"] #app .bub, [data-theme="dark"] #app .bub *,
[data-theme="dark"] #app .b-me, [data-theme="dark"] #app .b-me * { color: var(--text-on-primary); }
/* Default (no data-theme attr yet = dark mode) */
#app:not([data-theme]) .bub, #app:not([data-theme]) .bub *,
#app:not([data-theme]) .b-me, #app:not([data-theme]) .b-me * { color: var(--text-on-primary); }

/* ── GLOBAL: emoji must use system emoji font, not the UI text font ── */
#app .emj-btn,
#app .emj-btn * {
  font-family: "Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",
               "Segoe UI Symbol","Android Emoji","EmojiOne Color",
               "Twemoji Mozilla", serif !important;
}

/* ════════════════════════════════════════════
   GLASSMORPHISM — Rich animated background
   Inspired by reference images: large vivid 3D blobs
   ════════════════════════════════════════════ */
#app::before {
  content: '';
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 80% 70% at 0% 0%,   rgba(20,14,90,.95) 0%, transparent 60%),
    radial-gradient(ellipse 80% 70% at 100% 100%, rgba(0,80,60,.9) 0%, transparent 60%),
    radial-gradient(ellipse 60% 60% at 50% 50%,  rgba(30,12,80,.8) 0%, transparent 70%),
    linear-gradient(135deg, #050818 0%, #060d1f 50%, #071220 100%);
  animation: meshShift 32s ease-in-out infinite alternate;
}
@keyframes meshShift {
  0%   { filter: hue-rotate(0deg); }
  50%  { filter: hue-rotate(10deg); }
  100% { filter: hue-rotate(-8deg); }
}

/* Large vivid blobs */
.glass-orb { position: absolute; border-radius: 50%; pointer-events: none; z-index: 0; will-change: transform; }

/* Orb 1 — giant teal/green top-right */
.glass-orb:nth-child(1) {
  width: 450px; height: 450px; top: -160px; right: -100px;
  background: radial-gradient(circle at 38% 35%,
    rgba(60,255,190,.8) 0%, rgba(15,190,130,.55) 30%,
    rgba(0,90,70,.25) 65%, transparent 80%);
  filter: blur(35px);
  animation: blob1 22s ease-in-out infinite;
}
/* Orb 2 — giant deep blue bottom-left */
.glass-orb:nth-child(2) {
  width: 500px; height: 500px; bottom: -180px; left: -120px;
  background: radial-gradient(circle at 40% 38%,
    rgba(50,90,255,.75) 0%, rgba(25,55,200,.5) 35%,
    rgba(10,20,120,.2) 65%, transparent 80%);
  filter: blur(40px);
  animation: blob2 28s ease-in-out infinite;
}
/* Orb 3 — purple center accent */
.glass-orb:nth-child(3) {
  width: 300px; height: 300px; top: 28%; left: 38%;
  background: radial-gradient(circle at 40% 35%,
    rgba(170,80,255,.6) 0%, rgba(110,40,200,.38) 42%, transparent 75%);
  filter: blur(25px);
  animation: blob3 20s ease-in-out infinite;
}
/* Orb 4 — small bright teal top-left */
.glass-orb:nth-child(4) {
  width: 200px; height: 200px; top: 6%; left: 6%;
  background: radial-gradient(circle at 38% 35%,
    rgba(45,232,200,.75) 0%, rgba(20,180,150,.45) 45%, transparent 75%);
  filter: blur(20px);
  animation: blob4 18s ease-in-out infinite;
}

/* Torus ring 1 — ref image 2 style, right side */
.geo-hex:nth-child(5) {
  position: absolute; pointer-events: none; z-index: 0;
  width: 220px; height: 220px; right: 10%; top: 52%;
  border-radius: 50%;
  background: transparent;
  border: 30px solid transparent;
  box-shadow:
    0 0 0 30px rgba(45,232,200,.12),
    inset 0 0 0 30px rgba(45,232,200,.08),
    0 0 50px rgba(45,232,200,.18);
  clip-path: none !important;
  filter: blur(5px);
  animation: torusFloat1 18s ease-in-out infinite;
}
/* Torus ring 2 — left lower */
.geo-hex:nth-child(6) {
  position: absolute; pointer-events: none; z-index: 0;
  width: 140px; height: 140px; left: 12%; top: 60%;
  border-radius: 50%;
  background: transparent;
  box-shadow:
    0 0 0 22px rgba(100,120,255,.12),
    inset 0 0 0 22px rgba(100,120,255,.06),
    0 0 35px rgba(100,120,255,.14);
  clip-path: none !important;
  filter: blur(4px);
  animation: torusFloat2 24s ease-in-out infinite reverse;
}
/* Small bright sphere — floating right */
.geo-hex:nth-child(7) {
  position: absolute; pointer-events: none; z-index: 0;
  width: 90px; height: 90px; right: 3%; top: 22%;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%,
    rgba(100,255,200,.95) 0%, rgba(20,200,140,.65) 35%,
    rgba(0,80,60,.15) 75%, transparent 90%);
  filter: blur(5px);
  clip-path: none !important;
  animation: blob4 12s ease-in-out infinite reverse;
}
/* Glass book panel fragment 1 */
.geo-book:nth-child(8) {
  position: absolute; pointer-events: none; z-index: 0;
  width: 55px; height: 75px; left: 5%; top: 28%;
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 3px 10px 10px 3px;
  box-shadow: 0 0 18px rgba(45,232,200,.07), inset 0 1px 0 rgba(255,255,255,.1);
  animation: bookFloat 21s ease-in-out infinite 2s;
}
.geo-book:nth-child(8)::before { display: none; }
/* Glass book panel fragment 2 */
.geo-book:nth-child(9) {
  position: absolute; pointer-events: none; z-index: 0;
  width: 38px; height: 52px; right: 16%; top: 12%;
  background: rgba(255,255,255,.03);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(45,232,200,.1);
  border-radius: 2px 7px 7px 2px;
  animation: bookFloat 27s ease-in-out infinite reverse 1s;
}
.geo-book:nth-child(9)::before { display: none; }
/* Sparkle dots */
.geo-star { position: absolute; pointer-events: none; z-index: 0; border-radius: 50%; animation: twinkle 3s ease-in-out infinite; }
.geo-star:nth-child(10) { top: 20%; left: 36%; width: 5px; height: 5px; background: rgba(255,255,255,.9); animation-delay: 0s; }
.geo-star:nth-child(11) { top: 52%; right: 9%;  width: 3px; height: 3px; background: rgba(45,232,200,.95); animation-delay: .9s; }
.geo-star:nth-child(12) { bottom: 26%; left: 24%; width: 4px; height: 4px; background: rgba(170,120,255,.85); animation-delay: 1.7s; }
.geo-star:nth-child(13) { top: 7%;  right: 31%; width: 3px; height: 3px; background: rgba(255,255,255,.75); animation-delay: 2.5s; }
/* Outer atmosphere rings */
.geo-ring { position: absolute; pointer-events: none; z-index: 0; border-radius: 50%; }
.geo-ring:nth-child(14) {
  width: 550px; height: 550px; top: -180px; right: -220px;
  border: 1px solid rgba(45,232,200,.07);
  animation: ringExpand 20s ease-in-out infinite;
}
.geo-ring:nth-child(15) {
  width: 650px; height: 650px; bottom: -280px; left: -220px;
  border: 1px solid rgba(80,100,255,.06);
  animation: ringExpand 26s ease-in-out infinite 5s;
}

/* ── Keyframes ── */
@keyframes blob1 { 0%,100%{transform:translate(0,0) scale(1)} 33%{transform:translate(-28px,18px) scale(1.06)} 66%{transform:translate(18px,-14px) scale(.97)} }
@keyframes blob2 { 0%,100%{transform:translate(0,0) scale(1)} 40%{transform:translate(28px,-22px) scale(1.07)} 70%{transform:translate(-18px,16px) scale(.96)} }
@keyframes blob3 { 0%,100%{transform:translate(0,0) scale(1);opacity:.65} 50%{transform:translate(-35px,-28px) scale(1.1);opacity:.82} }
@keyframes blob4 { 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(16px,-20px) scale(1.08)} }
@keyframes torusFloat1 { 0%,100%{transform:translateY(0) rotate(0deg) scale(1);opacity:.55} 50%{transform:translateY(-20px) rotate(14deg) scale(1.04);opacity:.75} }
@keyframes torusFloat2 { 0%,100%{transform:translateY(0) rotate(0deg);opacity:.48} 50%{transform:translateY(-14px) rotate(-12deg) scale(1.05);opacity:.7} }
@keyframes bookFloat  { 0%,100%{transform:translateY(0) rotate(-3deg);opacity:.55} 50%{transform:translateY(-13px) rotate(3deg);opacity:.8} }
@keyframes twinkle    { 0%,100%{opacity:.6;transform:scale(1)} 50%{opacity:1;transform:scale(2.4)} }
@keyframes ringExpand { 0%,100%{transform:scale(1);opacity:.5} 50%{transform:scale(1.05);opacity:.85} }

/* ════════════════════════════════════════════
   VIEWS — full screen layers
   ════════════════════════════════════════════ */
.view {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  padding: 1rem; z-index: 2;
  visibility: hidden; opacity: 0;
  transition: opacity .25s, visibility .25s;
}
.view.show {
  visibility: visible; opacity: 1;
}

/* ════════════════════════════════════════════
   GLASS CARD (login / lang)
   ════════════════════════════════════════════ */
.card {
  background: rgba(255,255,255,.07);
  backdrop-filter: blur(28px) saturate(200%);
  -webkit-backdrop-filter: blur(28px) saturate(200%);
  border: 1px solid rgba(255,255,255,.18);
  border-top: 1px solid rgba(255,255,255,.28);
  border-radius: var(--r3);
  padding: 2.8rem 2.2rem;
  width: 100%; max-width: 400px;
  text-align: center;
  box-shadow:
    0 40px 80px rgba(0,0,0,.6),
    0 0 0 1px rgba(255,255,255,.05),
    inset 0 1px 0 rgba(255,255,255,.15),
    inset 0 -1px 0 rgba(0,0,0,.15),
    0 0 60px rgba(45,232,200,.08);
  animation: cardIn .35s cubic-bezier(.34,1.4,.64,1);
  position: relative; z-index: 1;
}
@keyframes cardIn {
  from { opacity: 0; transform: translateY(22px) scale(.96); }
  to   { opacity: 1; transform: none; }
}

/* icon orb */
.orb {
  width: 72px; height: 72px; margin: 0 auto 1.6rem;
  border-radius: 1.4rem;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.9rem; color: var(--text-primary);
  box-shadow: 0 0 40px rgba(34,211,178,.35), 0 8px 20px rgba(0,0,0,.3);
  background: linear-gradient(135deg, #22d3b2, #0faa8d);
  position: relative;
}
.orb::after {
  content: '';
  position: absolute; inset: 0; border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,.2) 0%, transparent 60%);
}
.orb-gold {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  box-shadow: 0 0 40px rgba(245,158,11,.3), 0 8px 20px rgba(0,0,0,.3);
}

.card-title {
  font-family: var(--se-font-ui), sans-serif;
  font-size: 1.05rem; font-weight: 800;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--text-primary); margin-bottom: 1.8rem;
  opacity: .92;
}

/* Language selection buttons */
.lang-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem 1.2rem; border-radius: var(--r1);
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08);
  cursor: pointer; color: var(--text-primary); font-weight: 700; font-size: .96rem;
  transition: all .2s cubic-bezier(.4,0,.2,1);
}
.lang-row:hover {
  background: rgba(34,211,178,.1);
  border-color: rgba(34,211,178,.3);
  transform: translateX(-3px);
  box-shadow: 0 4px 20px rgba(34,211,178,.12);
}
[dir="ltr"] .lang-row:hover { transform: translateX(3px); }

/* ════════════════════════════════════════════
   INPUTS
   ════════════════════════════════════════════ */
.inp {
  display: block; width: 100%;
  background: var(--input-bg);
  border: 1.5px solid rgba(255,255,255,.12);
  color: var(--text-primary) !important;
  border-radius: var(--r2);
  padding: .9rem 1.2rem;
  font-family: var(--se-font-ui), sans-serif;
  font-weight: 600; font-size: .96rem;
  outline: none;
  transition: border-color .2s, box-shadow .2s, background .2s;
  -webkit-appearance: none;
  caret-color: var(--primary);
}
.inp:focus {
  border-color: rgba(34,211,178,.5);
  background: rgba(7,14,30,.95);
  box-shadow: 0 0 0 3px rgba(34,211,178,.15), 0 2px 12px rgba(34,211,178,.08);
}
.inp::placeholder { color: rgba(255,255,255,.3); }

/* ════════════════════════════════════════════
   BUTTONS
   ════════════════════════════════════════════ */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  font-family: var(--se-font-ui), sans-serif; font-weight: 800;
  border: none; cursor: pointer;
  border-radius: var(--r2); padding: .9rem 1.3rem; font-size: .95rem;
  transition: all .22s cubic-bezier(.4,0,.2,1); white-space: nowrap; -webkit-appearance: none;
  position: relative; overflow: hidden;
  backdrop-filter: blur(12px);
}
.btn::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.15) 0%, transparent 50%);
  opacity: 0; transition: opacity .22s;
}
.btn:hover::after { opacity: 1; }
.btn:active { transform: scale(.94); }
.btn-full { width: 100%; }
.btn-ac {
  background: linear-gradient(135deg, #22d3b2 0%, #0faa8d 60%, #0d9b80 100%);
  color: var(--text-on-primary); font-weight: 900;
  box-shadow: 0 4px 20px rgba(34,211,178,.3), inset 0 1px 0 rgba(255,255,255,.2);
  text-shadow: 0 1px 2px rgba(0,0,0,.2);
  border: 1px solid rgba(255,255,255,.1);
}
.btn-ac:hover { box-shadow: 0 8px 32px rgba(34,211,178,.45), inset 0 1px 0 rgba(255,255,255,.25); transform: translateY(-1px); }
.btn-ghost {
  background: var(--hover); border: 1.5px solid var(--border); color: var(--text-primary);
  backdrop-filter: blur(8px);
}
.btn-ghost:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); transform: translateY(-1px); }
.btn-danger {
  background: var(--danger-soft); border: 1.5px solid var(--danger); color: var(--danger-text);
  backdrop-filter: blur(8px);
}
.btn-danger:hover { background: var(--danger-soft); opacity:.85; transform: translateY(-1px); }

/* language buttons */
.lang-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: .95rem 1.2rem; border-radius: var(--r1);
  background: rgba(255,255,255,.04); border: 1.5px solid var(--border);
  cursor: pointer; color: var(--text-primary); font-weight: 800; font-size: .96rem;
  transition: all .18s; width: 100%; font-family: var(--se-font-ui), sans-serif;
  -webkit-appearance: none;
}
.lang-row:hover {
  background: rgba(34,211,178,.08);
  border-color: rgba(34,211,178,.3);
  transform: translateX(-3px);
}
[dir="ltr"] .lang-row:hover { transform: translateX(3px); }

/* ════════════════════════════════════════════
   MAIN LAYOUT — sidebar + chat
   ════════════════════════════════════════════ */
#main {
  position: absolute; inset: 0; z-index: 2;
  display: flex;
  visibility: hidden; opacity: 0;
  transition: opacity .25s, visibility .25s;
}
#main.show { visibility: visible; opacity: 1; }

/* ─── SIDEBAR ─── */
#sb {
  width: 270px; flex-shrink: 0; height: 100%;
  background: rgba(6,12,30,.72);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-inline-end: 1px solid rgba(255,255,255,.1);
  display: flex; flex-direction: column;
  position: relative; z-index: 50;
  transition: transform .28s cubic-bezier(.4,0,.2,1);
  box-shadow: 2px 0 24px rgba(0,0,0,.3);
}
/* subtle dot pattern */
#sb::after {
  content: '';
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background-image: radial-gradient(rgba(45,232,200,.05) 1px, transparent 1px);
  background-size: 22px 22px;
}

.sb-head {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  display: flex; align-items: center; gap: 11px;
  background: rgba(255,255,255,.03);
  flex-shrink: 0; position: relative; z-index: 1;
}
.av {
  width: 40px; height: 40px; border-radius: .9rem;
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  display: flex; align-items: center; justify-content: center;
  font-weight: 900; font-size: 1.1rem; color: #021a14;
  flex-shrink: 0; box-shadow: 0 0 18px rgba(45,232,200,.35);
}
.sb-name { font-weight: 900; font-size: .88rem; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sb-role { font-size: .63rem; font-weight: 800; color: var(--primary); text-transform: uppercase; letter-spacing: .09em; }

.sb-nav { flex: 1; overflow-y: auto; padding: 8px; display: flex; flex-direction: column; gap: 3px; position: relative; z-index: 1; }
.sb-nav::-webkit-scrollbar { width: 3px; }
.sb-nav::-webkit-scrollbar-thumb { background: rgba(45,232,200,.22); border-radius: 99px; }

/* nav items */
.ni {
  display: flex; align-items: center; gap: 11px; padding: 11px 13px;
  border-radius: var(--r1); cursor: pointer;
  border: 1px solid transparent;
  background: none; width: 100%; text-align: start;
  color: var(--text-primary) !important; font-family: var(--se-font-ui), sans-serif !important; font-weight: 700;
  font-size: .88rem; transition: all .18s cubic-bezier(.4,0,.2,1); overflow: hidden;
  -webkit-appearance: none; position: relative;
}
a.ni { text-decoration: none; }
.ni::before {
  content: '';
  position: absolute; inset-inline-start: 0; top: 25%; bottom: 25%;
  width: 3px; border-radius: 0 3px 3px 0;
  background: var(--primary);
  opacity: 0; transform: scaleY(0);
  transition: opacity .18s, transform .18s;
}
.ni:hover {
  background: rgba(45,232,200,.09);
  border-color: rgba(45,232,200,.18);
  backdrop-filter: blur(8px);
  transform: translateX(-2px);
}
[dir="ltr"] .ni:hover { transform: translateX(2px); }
.ni.active {
  background: rgba(45,232,200,.12);
  backdrop-filter: blur(10px);
  border-color: rgba(45,232,200,.3);
  color: var(--text-primary);
  box-shadow: inset 0 1px 0 rgba(45,232,200,.12), 0 2px 10px rgba(45,232,200,.08);
}
.ni.active::before { opacity: 1; transform: scaleY(1); }
.ni-ic {
  width: 38px; height: 38px; border-radius: .8rem; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid rgba(255,255,255,.1); font-size: .92rem;
  transition: all .18s;
  background: rgba(255,255,255,.05);
}
.ni:hover .ni-ic { border-color: rgba(45,232,200,.28); background: rgba(45,232,200,.1); }
.ni.active .ni-ic { border-color: rgba(45,232,200,.38); background: rgba(45,232,200,.14); }
.ni-lbl { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.sb-sep { height: 1px; background: rgba(255,255,255,.07); margin: 6px 0; }
.sb-sec-lbl {
  font-size: .65rem; font-weight: 900; color: var(--text-muted);
  text-transform: uppercase; letter-spacing: .12em; padding: 6px 4px 4px;
}
.stu-n {
  width: 28px; height: 28px; border-radius: .5rem;
  background: rgba(34,211,178,.1); border: 1px solid rgba(34,211,178,.2);
  color: var(--primary); display: flex; align-items: center; justify-content: center;
  font-weight: 900; font-size: .72rem; flex-shrink: 0;
}

.sb-foot { padding: 8px; border-top: 1px solid var(--border); flex-shrink: 0; position: relative; z-index: 1; }

/* mobile sidebar */
@media (max-width: 767px) {
  #sb {
    position: absolute; top: 0; bottom: 0;
    width: 82%; max-width: 290px;
    z-index: 50;
    /* RTL default (Arabic): sidebar anchored right, hidden off right */
    right: 0; left: auto;
    transform: translateX(105%);
  }
  /* LTR (French/Italian): sidebar anchored left, hidden off left */
  [dir="ltr"] #sb {
    right: auto; left: 0;
    transform: translateX(-105%);
  }
  /* Opened state — always slide to visible position */
  #sb.open { transform: translateX(0) !important; }

  /* Mobile menu hardening: keep the drawer attached to the viewport and make
     every control a real 44px touch target. */
  #sb {
    position: fixed;
    height: 100dvh;
    max-height: 100dvh;
    overscroll-behavior: contain;
    will-change: transform;
  }
  #btn-ham, #btn-csb {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
}

#sb-ov {
  display: none; position: fixed; inset: 0;
  background: var(--overlay); backdrop-filter: blur(4px);
  z-index: 49;
}
#sb-ov.show { display: block; touch-action: none; }
body.se-sidebar-open { overscroll-behavior: none; }

/* ─── CHAT PANEL ─── */
#chat-panel {
  flex: 1; display: flex; flex-direction: column;
  min-width: 0; height: 100%;
  /* CRITICAL: min-height:0 makes children scroll correctly */
  min-height: 0;
  position: relative;
}

/* Header */
#chat-hdr {
  height: 62px; flex-shrink: 0;
  display: flex; align-items: center; gap: 10px; padding: 0 16px;
  background: rgba(5,10,25,.65);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-bottom: 1px solid rgba(255,255,255,.09);
  z-index: 10;
  box-shadow: 0 2px 20px rgba(0,0,0,.35), inset 0 -1px 0 rgba(45,232,200,.07);
}

/* Messages container */
#msg-box {
  flex: 1; overflow-y: auto;
  padding: 14px;
  display: flex; flex-direction: column;
  /* glass wallpaper — see-through to the animated bg */
  background: rgba(4,8,20,.45);
  min-height: 0;
}
#msg-box::-webkit-scrollbar { width: 4px; }
#msg-box::-webkit-scrollbar-thumb { background: rgba(45,232,200,.18); border-radius: 99px; }

/* ─── BUBBLES — glassmorphism style ─── */
.bub {
  max-width: 70%; width: fit-content;
  padding: 8px 12px 5px;
  margin-bottom: 2px;
  word-wrap: break-word; overflow-wrap: break-word; word-break: break-word;
  line-height: 1.55;
  animation: pop .18s cubic-bezier(.34,1.4,.64,1);
  position: relative;
}
@keyframes pop {
  from { opacity: 0; transform: scale(.88) translateY(6px); }
  to   { opacity: 1; transform: none; }
}
.bme {
  background: linear-gradient(150deg, rgba(22,185,162,.45), rgba(10,100,88,.42));
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  border: 1px solid rgba(45,232,200,.28);
  align-self: flex-end;
  border-radius: 16px 16px 3px 16px;
  box-shadow: 0 4px 16px rgba(13,122,102,.25), inset 0 1px 0 rgba(255,255,255,.12);
}
.bot {
  background: rgba(255,255,255,.07);
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  border: 1px solid rgba(255,255,255,.1);
  align-self: flex-start;
  border-radius: 16px 16px 16px 3px;
  box-shadow: 0 4px 16px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.08);
}
[dir="ltr"] .bme { border-radius: 16px 16px 16px 3px; }
[dir="ltr"] .bot { border-radius: 16px 16px 3px 16px; }

/* ── Bubble text — token-driven ── */
.bme, .bme * { color: var(--bub-me-text) !important; }
.bme .bub-nm { opacity: .8; }
.bme .bub-ts { opacity: .65; }
.bot .bub-nm { color: var(--primary) !important; }
.bot .bub-txt { color: var(--bub-other-text) !important; }
.bot .bub-ts { color: var(--text-muted) !important; }
/* group consecutive bubbles from same sender */
.bub + .bme.same-sender { margin-top: 1px; border-top-right-radius: 5px; }
.bub + .bot.same-sender { margin-top: 1px; border-top-left-radius: 5px; }

.bub-nm { font-size: .58rem; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 2px; color: var(--text-muted); }
.bub-txt { font-size: .875rem; font-weight: 400; white-space: pre-wrap; line-height: 1.58; color: var(--text-primary); }
.bub-ts { font-size: .58rem; margin-top: 2px; text-align: end; color: var(--text-muted); }

/* ── READ MORE / LESS ── */
.bub-txt.rm-collapsed {
  display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical;
  overflow: hidden; white-space: normal;
}
.rm-btn {
  display: inline-block; margin-top: 4px; font-size: .68rem; font-weight: 700;
  color: rgba(255,255,255,.7); cursor: pointer; border: none; background: none;
  padding: 0; text-decoration: underline; text-underline-offset: 2px;
  font-family: inherit;
}
.rm-btn:hover { color: var(--text-primary); }

/* ── LINK PREVIEW CARD ── */
.link-card {
  display: block; margin-top: 7px; border-radius: 11px; overflow: hidden;
  background: rgba(0,0,0,.28); border: 1px solid rgba(34,211,178,.18);
  text-decoration: none; cursor: pointer; max-width: 300px;
  transition: background .15s, border-color .15s;
}
.link-card:hover { background: rgba(34,211,178,.07); border-color: rgba(34,211,178,.35); }
.link-card-body {
  display: flex; align-items: center; gap: 9px; padding: 9px 11px;
  border-inline-start: 3px solid var(--primary);
}
.bme .link-card { background: rgba(0,0,0,.22); border-color: rgba(255,255,255,.18); }
.bme .link-card-body { border-inline-start-color: rgba(255,255,255,.55); }
.link-fav {
  width: 30px; height: 30px; border-radius: 6px; object-fit: cover;
  flex-shrink: 0; background: rgba(255,255,255,.05);
}
.link-fav-fallback {
  width: 30px; height: 30px; border-radius: 6px;
  background: rgba(34,211,178,.1); display: none; align-items: center;
  justify-content: center; color: var(--primary); font-size: .75rem; flex-shrink: 0;
}
.link-domain {
  font-size: .62rem; font-weight: 900; color: var(--primary);
  text-transform: uppercase; letter-spacing: .07em;
}
.bme .link-domain { color: rgba(255,255,255,.8); }
.link-url-text {
  font-size: .68rem; color: rgba(255,255,255,.55);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  margin-top: 1px;
}
/* clickable URLs inside text */
.bub-txt a {
  color: var(--primary); text-decoration: underline;
  text-underline-offset: 3px; word-break: break-all;
  font-weight: 700; opacity: .9;
  transition: opacity .15s;
}
.bub-txt a:hover { opacity: 1; }

/* ── MULTI-SELECT BAR (admin) ── */
#sel-toolbar {
  display: none;
  width: calc(100% - 16px);
  max-width: calc(100% - 16px);
  min-width: 0;
  align-items: center;
  gap: 6px;
  margin: 7px 8px 0;
  padding: 6px;
  box-sizing: border-box;
  background: var(--danger-soft);
  border: 1px solid color-mix(in srgb, var(--danger) 42%, transparent);
  border-radius: 10px;
  flex: 0 0 auto;
  overflow: hidden;
}
#sel-toolbar.on { display: flex; }
#sel-toolbar > button {
  min-width: 0;
  min-height: 32px !important;
  height: 32px !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  line-height: 1 !important;
  white-space: nowrap;
}
#sel-count-txt { flex: 1 1 110px; min-width: 0; font-size: .72rem; font-weight: 800; color: var(--danger-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bub.sel-checked { outline: 2px solid var(--primary); outline-offset: 2px; }
body.sel-mode .bub { cursor: pointer; }

/* ── EXCEL VIEWER ── */
#m-xls .m-box { max-width: 1080px; height: 92vh; padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.xls-hdr { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: rgba(4,8,20,.95); border-bottom: 1px solid rgba(34,197,94,.18); flex-shrink: 0; }
.xls-ic { width: 30px; height: 30px; border-radius: .5rem; background: rgba(34,197,94,.12); display: flex; align-items: center; justify-content: center; color: var(--success-text); font-size: .82rem; flex-shrink: 0; }
.xls-tabs { display: flex; gap: 3px; padding: 5px 10px; background: rgba(6,12,28,.9); border-bottom: 1px solid rgba(255,255,255,.06); overflow-x: auto; flex-shrink: 0; }
.xls-tab { padding: 3px 12px; border-radius: .45rem .45rem 0 0; font-size: .7rem; font-weight: 800; cursor: pointer; background: rgba(255,255,255,.04); color: var(--text-muted); border: 1px solid rgba(255,255,255,.07); border-bottom: none; transition: all .15s; white-space: nowrap; }
.xls-tab.active { background: rgba(34,197,94,.12); color: var(--success-text); border-color: rgba(34,197,94,.22); }
#xls-tbl-wrap { flex: 1; overflow: auto; min-height: 0; }
#xls-tbl-wrap table { border-collapse: collapse; font-size: .75rem; font-family: var(--se-font-ui), sans-serif; min-width: 100%; }
#xls-tbl-wrap th { background: rgba(34,197,94,.07); color: var(--success-text); font-size: .68rem; font-weight: 800; padding: 5px 10px; border: 1px solid rgba(255,255,255,.06); white-space: nowrap; position: sticky; top: 0; z-index: 2; }
#xls-tbl-wrap td { padding: 4px 10px; border: 1px solid rgba(255,255,255,.05); color: var(--text-primary); white-space: nowrap; max-width: 200px; overflow: hidden; text-overflow: ellipsis; }
#xls-tbl-wrap tr:nth-child(even) td { background: rgba(255,255,255,.015); }
#xls-tbl-wrap tr:hover td { background: rgba(34,211,178,.04); }
#xls-tbl-wrap::-webkit-scrollbar { width: 5px; height: 5px; }
#xls-tbl-wrap::-webkit-scrollbar-thumb { background: rgba(34,197,94,.2); border-radius: 99px; }

/* ── STUDENT EDIT MODAL ── */
#m-stedit .m-box { max-width: 420px; }
.stedit-row { margin-bottom: 1rem; }
.stedit-lbl { display: block; font-size: .65rem; font-weight: 900; color: var(--primary); text-transform: uppercase; letter-spacing: .09em; margin-bottom: 5px; }
.stedit-inp { width: 100%; background: var(--input-bg); border: 1.5px solid var(--input-border); border-radius: .7rem; padding: 9px 13px; color: var(--text-primary); font-size: .88rem; font-family: inherit; outline: none; transition: border-color .18s; }
.stedit-inp:focus { border-color: rgba(34,211,178,.5); }

@media (max-width: 767px) {
  .bub { max-width: 84%; }
  #m-xls .m-box { height: 100dvh; border-radius: 0; }
  #sel-toolbar { width:calc(100% - 12px);max-width:calc(100% - 12px);margin:6px 6px 0;gap:5px;padding:5px;flex-wrap:wrap; }
  #sel-count-txt { flex:1 0 100%; padding:1px 4px 3px; white-space:normal; }
  #sel-toolbar > button { flex:1 1 0; min-width:max-content; min-height:34px!important; height:34px!important; padding-inline:8px!important; }
}
@media (max-width: 390px) {
  #sel-toolbar > button { font-size:.66rem!important; }
  #sel-toolbar > button i { margin-inline-end:3px!important; }
}

.day-sep {
  display: flex; align-items: center; gap: 8px;
  margin: 12px 0; opacity: .4;
}
.day-sep::before, .day-sep::after { content: ''; flex: 1; height: 1px; background: var(--border-strong); }
.day-sep span { font-size: .62rem; font-weight: 900; color: var(--text-secondary); letter-spacing: .07em; white-space: nowrap; }

/* ══════════════════════════════
   MEDIA & PLAYERS
   ══════════════════════════════ */

/* Image thumbnail */
.chat-img { max-width: 220px; border-radius: .9rem; display: block; margin-top: 7px; cursor: zoom-in; transition: transform .18s; box-shadow: 0 4px 20px rgba(0,0,0,.4); }
.chat-img:hover { transform: scale(1.03); }

/* File card */
.f-card {
  display: flex; align-items: center; gap: 9px; padding: 9px 12px;
  background: rgba(0,0,0,.22); border: 1px solid var(--border-strong);
  border-radius: .9rem; cursor: pointer; margin-top: 7px;
  text-decoration: none; color: var(--text-primary); transition: background .15s;
  max-width: 280px; min-width: 0; overflow: hidden;
}
.f-card > div:nth-child(2) { flex:1; min-width:0; overflow:hidden; }
.f-card > div:nth-child(2) > div:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:800; font-size:.82rem; max-width:100%; }
.f-card:hover { background: rgba(34,211,178,.07); }
.f-ic { width: 34px; height: 34px; border-radius: .6rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 1rem; }

/* ── Custom Audio Player — WhatsApp style ── */
.ap {
  display: flex; align-items: center; gap: 9px;
  margin-top: 6px; padding: 8px 11px;
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px; max-width: 270px; min-width: 200px;
  user-select: none;
}
/* play button circle */
.ap-pp {
  width: 38px !important; height: 38px !important;
  border-radius: 50% !important; flex-shrink: 0 !important;
  background: rgba(255,255,255,.12) !important; border: 1.5px solid rgba(255,255,255,.22) !important;
  color: var(--text-primary) !important; font-size: .88rem !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  cursor: pointer !important; transition: all .15s !important;
}
.ap-pp:hover { background: rgba(34,211,178,.25) !important; border-color: rgba(34,211,178,.5) !important; color: var(--primary) !important; transform: scale(1.08) !important; }
.ap-pp:active { transform: scale(.93) !important; }
.bme .ap-pp { background: rgba(255,255,255,.2) !important; border-color: rgba(255,255,255,.4) !important; color: var(--text-primary) !important; }

/* waveform + time column */
.ap-mid { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }

/* waveform bars (decorative + progress) */
.ap-wave {
  height: 28px; display: flex; align-items: center; gap: 2px;
  cursor: pointer; overflow: hidden;
}
.ap-bar {
  width: 3px; border-radius: 2px; background: rgba(255,255,255,.3); flex-shrink: 0;
  transition: background .06s;
}
.ap-bar.played { background: rgba(255,255,255,.85); }
.bme .ap-bar { background: rgba(255,255,255,.3); }
.bme .ap-bar.played { background: rgba(255,255,255,.95); }

/* progress track (hidden, used for seek) */
.ap-prog { position: relative; height: 3px; background: rgba(255,255,255,.18); border-radius: 99px; cursor: pointer; }
.ap-fill { height: 100%; background: rgba(255,255,255,.75); border-radius: 99px; width: 0%; }
.bme .ap-fill { background: rgba(255,255,255,.9); }

/* time + speed row */
.ap-foot { display: flex; align-items: center; justify-content: space-between; }
.ap-dur { font-size: .6rem; font-weight: 700; color: rgba(255,255,255,.55); font-family: monospace; }
.ap-spd-btn {
  font-size: .58rem; font-weight: 900; font-family: monospace;
  background: rgba(255,255,255,.1); border: none; color: rgba(255,255,255,.6);
  padding: 2px 6px; border-radius: 6px; cursor: pointer; line-height: 1.4;
  transition: background .15s;
}
.ap-spd-btn:hover { background: rgba(255,255,255,.18); color: var(--text-primary); }

/* voice label (only for voice messages) */
.ap-voice-lbl {
  font-size: .56rem; font-weight: 900; color: rgba(255,255,255,.5);
  text-transform: uppercase; letter-spacing: .07em;
}

/* Admin voice analysis — semantic, high-contrast and theme-aware. */
.ap-tx-btn {
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:29px;margin-top:6px;padding:5px 12px;
  border:1px solid #0f766e;border-radius:999px;
  background:linear-gradient(135deg,#0f766e,#115e59);color:#fff;
  font-family:inherit;font-size:.63rem;font-weight:950;line-height:1;
  cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;
  box-shadow:0 3px 10px rgba(15,118,110,.22);opacity:1;
}
.ap-tx-btn i{color:inherit!important;opacity:1!important;}
.ap-tx-btn:hover{background:linear-gradient(135deg,#0d9488,#0f766e);border-color:#115e59;box-shadow:0 5px 15px rgba(15,118,110,.28);transform:translateY(-1px);}
.ap-tx-btn:active{transform:translateY(0) scale(.98);}
.ap-tx-btn:focus-visible{outline:3px solid rgba(45,212,191,.32);outline-offset:2px;}
.ap-tx-btn.loading{opacity:.72;pointer-events:none;box-shadow:none;transform:none;}
.ap-tx-result {
  width:min(360px,calc(100vw - 56px));max-width:100%;box-sizing:border-box;
  margin-top:7px;padding:12px 13px;overflow:hidden;overflow-wrap:anywhere;word-break:normal;
  border:1px solid rgba(148,163,184,.34);border-radius:13px;
  background:#111827;color:#e5e7eb;box-shadow:0 8px 22px rgba(2,6,23,.20);
  font-family:var(--se-font-ui),sans-serif;font-size:.74rem;line-height:1.72;
  text-align:start;isolation:isolate;
}
.ap-tx-result[dir="rtl"]{direction:rtl;text-align:right;}
.ap-tx-result[dir="ltr"]{direction:ltr;text-align:left;}
.ap-tx-status{display:flex;align-items:center;gap:7px;min-height:34px;padding:5px 2px;color:#c4b5fd;font-size:.72rem;font-weight:800;}
.ap-tx-status *{color:inherit!important;}
.ap-tx-status i{color:#a78bfa!important;}
.ap-tx-lang{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin-bottom:9px;padding:5px 9px;border:1px solid rgba(45,212,191,.26);border-radius:999px;background:rgba(20,184,166,.12);color:#99f6e4;font-size:.62rem;font-weight:900;letter-spacing:.025em;}
.ap-tx-lang *{color:inherit!important;}
.ap-tx-section{padding:1px 0;}
.ap-tx-section+.ap-tx-section{margin-top:10px;padding-top:10px;border-top:1px solid rgba(148,163,184,.18);}
.ap-tx-section-title{display:flex;align-items:center;gap:6px;margin-bottom:5px;color:#c4b5fd;font-size:.61rem;font-weight:950;letter-spacing:.035em;}
.ap-tx-section-title *{color:inherit!important;}
.ap-tx-section-body{color:#e5e7eb;font-size:.74rem;font-weight:600;line-height:1.72;white-space:normal;}
.ap-tx-analysis-content{display:grid;gap:5px;color:#f1f5f9;}
.ap-tx-analysis-heading{margin-top:4px;color:#99f6e4;font-size:.69rem;font-weight:950;}
.ap-tx-analysis-point{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:start;color:#e5e7eb;}
.ap-tx-analysis-point>span{color:inherit!important;}
.ap-tx-analysis-point::before{content:"•";color:#2dd4bf;font-weight:950;}
.ap-tx-analysis-paragraph{margin:0;color:#e5e7eb;line-height:1.72;}

/* Light theme: never inherit pale text from the green message bubble. */
#app[data-theme="light"] .ap-tx-btn,
html[data-theme="light"] .ap-tx-btn,
body[data-theme="light"] .ap-tx-btn{
  background:linear-gradient(135deg,#0f766e,#115e59)!important;border-color:#115e59!important;color:#fff!important;
  box-shadow:0 4px 12px rgba(15,118,110,.24)!important;opacity:1!important;filter:none!important;
}
#app[data-theme="light"] .ap-tx-btn:hover,
html[data-theme="light"] .ap-tx-btn:hover,
body[data-theme="light"] .ap-tx-btn:hover{background:linear-gradient(135deg,#0d9488,#0f766e)!important;color:#fff!important;}
#app[data-theme="light"] .ap-tx-result,
html[data-theme="light"] .ap-tx-result,
body[data-theme="light"] .ap-tx-result{
  background:#fff!important;border-color:#cbd5e1!important;color:#0f172a!important;
  box-shadow:0 7px 20px rgba(15,23,42,.12)!important;opacity:1!important;
}
#app[data-theme="light"] .ap-tx-status,
html[data-theme="light"] .ap-tx-status,
body[data-theme="light"] .ap-tx-status{color:#334155!important;}
#app[data-theme="light"] .ap-tx-status *,
html[data-theme="light"] .ap-tx-status *,
body[data-theme="light"] .ap-tx-status *{color:inherit!important;}
#app[data-theme="light"] .ap-tx-status i,
html[data-theme="light"] .ap-tx-status i,
body[data-theme="light"] .ap-tx-status i{color:#0f766e!important;}
#app[data-theme="light"] .ap-tx-lang,
html[data-theme="light"] .ap-tx-lang,
body[data-theme="light"] .ap-tx-lang{background:#ecfdf5!important;border-color:#99f6e4!important;color:#115e59!important;}
#app[data-theme="light"] .ap-tx-lang *,
html[data-theme="light"] .ap-tx-lang *,
body[data-theme="light"] .ap-tx-lang *{color:#115e59!important;}
#app[data-theme="light"] .ap-tx-section+.ap-tx-section,
html[data-theme="light"] .ap-tx-section+.ap-tx-section,
body[data-theme="light"] .ap-tx-section+.ap-tx-section{border-top-color:#e2e8f0!important;}
#app[data-theme="light"] .ap-tx-section-title,
html[data-theme="light"] .ap-tx-section-title,
body[data-theme="light"] .ap-tx-section-title{color:#0f766e!important;}
#app[data-theme="light"] .ap-tx-section-title *,
html[data-theme="light"] .ap-tx-section-title *,
body[data-theme="light"] .ap-tx-section-title *{color:#0f766e!important;}
#app[data-theme="light"] .ap-tx-section-body,
#app[data-theme="light"] .ap-tx-analysis-content,
#app[data-theme="light"] .ap-tx-analysis-paragraph,
html[data-theme="light"] .ap-tx-section-body,
html[data-theme="light"] .ap-tx-analysis-content,
html[data-theme="light"] .ap-tx-analysis-paragraph,
body[data-theme="light"] .ap-tx-section-body,
body[data-theme="light"] .ap-tx-analysis-content,
body[data-theme="light"] .ap-tx-analysis-paragraph{color:#1e293b!important;}
#app[data-theme="light"] .ap-tx-analysis-point,
#app[data-theme="light"] .ap-tx-analysis-point>span,
html[data-theme="light"] .ap-tx-analysis-point,
html[data-theme="light"] .ap-tx-analysis-point>span,
body[data-theme="light"] .ap-tx-analysis-point,
body[data-theme="light"] .ap-tx-analysis-point>span{color:#1e293b!important;}
#app[data-theme="light"] .ap-tx-analysis-heading,
html[data-theme="light"] .ap-tx-analysis-heading,
body[data-theme="light"] .ap-tx-analysis-heading{color:#0f766e!important;}
#app[data-theme="light"] .ap-tx-analysis-point::before,
html[data-theme="light"] .ap-tx-analysis-point::before,
body[data-theme="light"] .ap-tx-analysis-point::before{color:#0d9488!important;}
@media(max-width:520px){
  .ap-tx-result{width:min(100%,calc(100vw - 42px));padding:11px 12px;border-radius:12px;}
  .ap-tx-btn{min-height:31px;padding:6px 12px;font-size:.66rem;}
}

/* ── Voice recorder bar — WhatsApp style ── */
#vox {
  flex: 1; display: none; align-items: center; gap: 8px;
  background: rgba(10,20,46,.95);
  border: 1.5px solid rgba(239,68,68,.22);
  border-radius: 1.6rem; padding: 7px 10px;
  min-width: 0; overflow: hidden;
}
#vox.on { display: flex; }
.rdot { width: 7px; height: 7px; border-radius: 50%; background: #ef4444; flex-shrink: 0; animation: rp .75s ease-in-out infinite alternate; }
@keyframes rp { from { opacity:1;transform:scale(1); } to { opacity:.25;transform:scale(1.6); } }

/* vox timer */
#vtmr { font-family: monospace; font-weight: 800; color: var(--danger-text); font-size: .85rem; letter-spacing: .04em; }

/* vox waveform decorative */
.vox-wave { display: flex; align-items: center; gap: 2px; flex: 1; justify-content: center; height: 22px; }
.vox-wave-bar {
  width: 3px; border-radius: 2px; background: rgba(239,68,68,.5);
  animation: vwAnim 0.6s ease-in-out infinite alternate;
}
.vox-wave-bar:nth-child(odd)  { animation-delay: .05s; }
.vox-wave-bar:nth-child(even) { animation-delay: .12s; }
@keyframes vwAnim {
  from { height: 4px; opacity: .4; }
  to   { height: 18px; opacity: .9; }
}

/* Cancel button */
.vox-cancel {
  width: 36px !important; height: 36px !important;
  border-radius: 50% !important;
  background: rgba(239,68,68,.15) !important;
  border: 1.5px solid rgba(239,68,68,.4) !important;
  color: var(--danger-text) !important;
  cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: .88rem !important;
  flex-shrink: 0 !important;
  transition: all .15s !important;
  padding: 0 !important;
}
.vox-cancel:hover { background: rgba(239,68,68,.35) !important; color: var(--text-primary) !important; transform: scale(1.08) !important; }
.vox-cancel:active { transform: scale(.9) !important; }

/* Pause button */
.vox-pause {
  width: 32px !important; height: 32px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  color: rgba(255,255,255,.65) !important;
  cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: .78rem !important;
  flex-shrink: 0 !important;
  transition: all .15s !important;
  padding: 0 !important;
}
.vox-pause:hover { background: rgba(255,255,255,.12) !important; color: var(--text-primary) !important; }
.vp-card {
  margin-top:8px; border-radius:.9rem; overflow:hidden;
  max-width:270px; width:270px; cursor:pointer; position:relative;
  background:#000; border:1px solid rgba(255,255,255,.1);
  box-shadow:0 4px 20px rgba(0,0,0,.4);
}
.vp-card video { width:100%; height:152px; object-fit:cover; display:block; pointer-events:none; }
.vp-overlay {
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.38); transition:background .2s;
}
.vp-card:hover .vp-overlay { background:rgba(0,0,0,.22); }
.vp-circle {
  width:50px; height:50px; border-radius:50%;
  background:rgba(34,211,178,.9); color:#021a14;
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; padding-inline-start:3px;
  box-shadow:0 4px 18px rgba(34,211,178,.55); transition:transform .2s;
}
.vp-card:hover .vp-circle { transform:scale(1.12); }
.vp-meta {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(0deg,rgba(0,0,0,.85) 0%,transparent 100%);
  padding:18px 9px 7px; display:flex; align-items:center; gap:6px;
}
.vp-meta-lbl { font-size:.62rem; font-weight:800; color:rgba(255,255,255,.75); }




/* ── Video Modal Player ── */
#m-vid .m-box { max-width:900px; background:#080c14; border-color:rgba(255,255,255,.08); padding:0; overflow:hidden; border-radius:var(--r2); }
#vid-el { width:100%; display:block; max-height:62vh; background:#000; outline:none; }
#vid-ctrls { background:linear-gradient(0deg,#060a12 0%,rgba(6,10,18,.9) 100%); padding:8px 14px 14px; }
.vc-prog { height:18px; cursor:pointer; display:flex; align-items:center; margin-bottom:7px; padding:7px 0; }
.vc-track { height:3px; flex:1; background:rgba(255,255,255,.18); border-radius:99px; position:relative; }
.vc-fill { height:100%; background:var(--primary); border-radius:99px; width:0%; }
.vc-knob { width:13px; height:13px; border-radius:50%; background:#fff; position:absolute; top:50%; left:0%; transform:translate(-50%,-50%); box-shadow:0 0 8px rgba(34,211,178,.7); }
.vc-row { display:flex; align-items:center; gap:6px; }
.vc-btn { width:34px; height:34px; background:none; border:none; color:rgba(255,255,255,.75); cursor:pointer; border-radius:.55rem; display:flex; align-items:center; justify-content:center; font-size:.88rem; transition:all .15s; }
.vc-btn:hover { color:var(--primary); background:rgba(34,211,178,.1); }
.vc-pp { width:42px !important; height:42px !important; border-radius:50% !important; background:var(--primary) !important; color:#021a14 !important; font-size:1rem !important; box-shadow:0 3px 14px rgba(34,211,178,.45); }
.vc-time { font-size:.71rem; font-weight:700; color:rgba(255,255,255,.5); font-family:monospace; flex:1; }
.vc-spd { font-size:.68rem !important; font-weight:900 !important; font-family:monospace !important; color:var(--primary) !important; }

/* ── Image Lightbox ── */
#m-img { background:rgba(0,0,0,.92); padding:.5rem; }
#img-wrap { display:flex; flex-direction:column; align-items:center; gap:12px; max-width:94vw; position:relative; z-index:9000001; }
#img-el { max-width:90vw; max-height:76vh; border-radius:var(--r1); display:block; cursor:grab; box-shadow:0 20px 70px rgba(0,0,0,.9); transform-origin:center; transition:transform .22s; position:relative; z-index:1; }
#img-el:active { cursor:grabbing; }
.img-bar { display:flex; align-items:center; gap:8px; background:rgba(10,18,40,.92); padding:8px 14px; border-radius:99px; border:1px solid rgba(255,255,255,.1); position:relative; z-index:2; flex-shrink:0; }
.img-bar button, .img-bar a { width:36px; height:36px; border-radius:.6rem; display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.05); color:var(--text-primary); cursor:pointer; font-size:.82rem; transition:all .15s; text-decoration:none; }
.img-bar button:hover, .img-bar a:hover { background:rgba(34,211,178,.15); border-color:rgba(34,211,178,.3); color:var(--primary); }
.img-bar .pct { font-size:.72rem; font-weight:700; font-family:monospace; color:var(--text-secondary); min-width:36px; text-align:center; }

/* ── PDF Viewer ── */
#m-pdf { background:rgba(0,0,0,.92); padding:0; }
#m-pdf .m-box { max-width:1000px; height:95vh; background:rgba(8,16,32,.98); padding:0; overflow:hidden; display:flex; flex-direction:column; }
.pdf-top { display:flex; align-items:center; gap:10px; padding:12px 16px; background:rgba(6,12,28,.95); border-bottom:1px solid rgba(255,255,255,.08); flex-shrink:0; }
.pdf-ic { width:32px; height:32px; border-radius:.55rem; background:rgba(239,68,68,.15); display:flex; align-items:center; justify-content:center; color:var(--danger-text); font-size:.85rem; flex-shrink:0; }
#pdf-title { font-size:.85rem; font-weight:800; color:var(--text-primary); flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#pdf-frame { flex:1; border:none; background:#fff; width:100%; min-height:0; display:block; }

/* ── Doc Reader ── */
#m-doc .m-box { max-width:780px; height:88vh; }
#doc-body { flex:1; overflow-y:auto; padding:1.4rem 1.6rem; background:rgba(255,255,255,.02); border-radius:var(--r1); border:1px solid var(--border); color:var(--text-primary); line-height:1.8; font-size:.9rem; }
#doc-body::-webkit-scrollbar { width:4px; }
#doc-body::-webkit-scrollbar-thumb { background:rgba(34,211,178,.18); border-radius:99px; }
#doc-body h1,#doc-body h2,#doc-body h3 { color:var(--primary); margin-bottom:.6rem; margin-top:1.2rem; }
#doc-body p { margin-bottom:.8rem; }
#doc-body table { border-collapse:collapse; width:100%; margin-bottom:1rem; }
#doc-body td,#doc-body th { border:1px solid rgba(255,255,255,.1); padding:.4rem .7rem; }
#doc-body strong { color:var(--text-primary); }

/* ── Reply System ── */
#reply-prev {
  display:none; align-items:center; gap:9px;
  background:rgba(34,211,178,.06); border:1px solid rgba(34,211,178,.2);
  border-inline-start:3px solid var(--primary);
  border-radius:var(--r1); padding:8px 11px; margin-bottom:6px;
  animation:pop .18s;
}
#reply-prev.on { display:flex; }
#rply-nm { font-size:.65rem; font-weight:900; color:var(--primary); }
#rply-txt { font-size:.78rem; color:var(--text-secondary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:200px; display:block; }
.reply-quote {
  background:rgba(0,0,0,.28); border-inline-start:3px solid rgba(34,211,178,.6);
  border-radius:.3rem .7rem .7rem .3rem; padding:6px 9px; margin-bottom:7px;
  cursor:pointer; transition:background .15s; max-width:100%;
}
.reply-quote:hover { background:rgba(34,211,178,.07); }
.rq-nm { font-size:.6rem; font-weight:900; color:var(--primary); margin-bottom:2px; }
.rq-txt { font-size:.76rem; color:rgba(255,255,255,.6); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rply-btn {
  background:none; border:none; cursor:pointer;
  color:rgba(255,255,255,.3); font-size:.65rem;
  padding:2px 4px; border-radius:.3rem; transition:all .15s;
  vertical-align:middle; margin-inline-start:4px; flex-shrink:0;
}
.rply-btn:hover { color:var(--primary); background:rgba(34,211,178,.1); }

/* ─── FOOTER — CRITICAL MOBILE FIX ─── */
/* ── Inline Translate Picker ── */
#translate-picker {
  padding:6px 12px;
  background: linear-gradient(135deg, rgba(34,211,178,.06) 0%, rgba(34,211,178,.02) 100%);
  border:1px solid rgba(34,211,178,.18);
  border-radius: var(--r1); margin-bottom:6px;
  animation: pop .18s;
}
#translate-picker.on { display:block !important; }
.ct-pill {
  display:flex;align-items:center;gap:5px;
  background:rgba(255,255,255,.06);
  border:1.5px solid rgba(255,255,255,.12);border-radius:99px;padding:5px 11px 5px 7px;
  cursor:pointer;transition:.18s;user-select:none;flex-shrink:0;
  backdrop-filter:blur(8px);
}
.ct-pill:hover { background:rgba(34,211,178,.15);border-color:rgba(34,211,178,.35); }
.ct-pill.active { background:rgba(34,211,178,.22);border-color:var(--primary);box-shadow:0 0 12px rgba(34,211,178,.15); }
.ct-pill span { font-size:.65rem;font-weight:800;color:var(--text-primary); }
.ct-flag { font-size:.85rem;line-height:1; }
.ct-add-lang-btn {
  width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.12);
  color:var(--text-secondary);cursor:pointer;font-size:.62rem;
  display:flex;align-items:center;justify-content:center;
  transition:all .18s;flex-shrink:0;
}
.ct-add-lang-btn:hover { background:rgba(34,211,178,.15);border-color:rgba(34,211,178,.35);color:var(--primary); }
#ct-custom-wrap {
  display:none;align-items:center;gap:4px;background:rgba(255,255,255,.06);
  border:1px solid rgba(34,211,178,.2);border-radius:99px;padding:3px 8px;
  flex-shrink:0;
}
#ct-custom-wrap.on { display:flex; }
#ct-custom-inp {
  background:none;border:none;outline:none;color:var(--text-primary);
  font-size:.65rem;font-weight:700;width:80px;font-family:inherit;
}
#ct-custom-inp::placeholder { color:rgba(255,255,255,.25); }
.ct-status {
  font-size:.58rem;color:var(--primary);display:none;align-items:center;gap:4px;
  padding:2px 8px;border-radius:99px;background:rgba(34,211,178,.08);
  border:1px solid rgba(34,211,178,.15);font-weight:800;
}
.ct-status.on { display:flex; }

#ft {
  flex-shrink: 0;
  background: rgba(5,10,25,.65);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-top: 1px solid rgba(255,255,255,.09);
  padding: 10px 12px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  position: relative; z-index: 20;
  box-shadow: inset 0 1px 0 rgba(45,232,200,.07), 0 -2px 20px rgba(0,0,0,.25);
}

/* upload progress */
#up-bar { position: absolute; top: 0; left: 0; right: 0; height: 3px; display: none; z-index: 30; }
#up-fill { height: 100%; background: linear-gradient(90deg, var(--primary), #f0b429, var(--primary)); background-size: 200%; transition: width .12s; border-radius: 0 99px 99px 0; animation: shimmer 1.8s linear infinite; }
@keyframes shimmer { 0% { background-position: 0%; } 100% { background-position: 200%; } }

/* attachment strip */
#att {
  display: none; align-items: center; gap: 9px;
  background: rgba(34,211,178,.07); border: 1px solid rgba(34,211,178,.22);
  border-radius: var(--r1); padding: 7px 10px; margin-bottom: 6px;
  animation: pop .18s;
}
#att.on { display: flex; }
.se-attachment-list {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  padding: 1px 0 3px;
  scrollbar-width: thin;
}
.se-attachment-chip {
  max-width: min(270px, 70vw);
  min-height: 28px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  padding: 3px 5px 3px 9px;
  border: 1px solid rgba(34,211,178,.19);
  border-radius: 999px;
  background: rgba(0,0,0,.16);
  color: var(--text-primary);
}
.se-attachment-name {
  min-width: 0;
  max-width: 170px;
  overflow: hidden;
  font-size: .7rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
  unicode-bidi: plaintext;
}
.se-attachment-chip small { flex: 0 0 auto; color: var(--text-muted); font-size: .52rem; direction: ltr; }
.se-attachment-chip button {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(239,68,68,.09);
  color: #fb7185;
  font-size: .55rem;
  cursor: pointer;
}
.se-file-drop {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: none;
  place-items: center;
  padding: 22px;
  background: rgba(1,9,14,.82);
  font-family: "Space Grotesk","Tajawal",sans-serif;
  pointer-events: none;
  backdrop-filter: blur(14px);
}
.se-file-drop.is-on { display: grid; }
.se-file-drop > div {
  width: min(520px,100%);
  min-height: 250px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 9px;
  padding: 24px;
  border: 2px dashed rgba(34,211,178,.55);
  border-radius: 28px;
  background: radial-gradient(circle at 50% 20%,rgba(34,211,178,.17),rgba(6,20,29,.94) 58%);
  color: #effffb;
  text-align: center;
  box-shadow: 0 30px 90px rgba(0,0,0,.45);
}
.se-file-drop > div > span {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  margin-bottom: 5px;
  border: 1px solid rgba(34,211,178,.4);
  border-radius: 26px;
  background: rgba(34,211,178,.11);
  color: var(--primary);
  font-size: 1.45rem;
  animation: seDropFloat 1.5s ease-in-out infinite alternate;
}
.se-file-drop strong { font-size: 1rem; font-weight: 900; }
.se-file-drop small { color: #9ab5b0; font-size: .7rem; font-weight: 650; }
@keyframes seDropFloat { to { transform: translateY(-7px); } }
@media(max-width:600px){
  .se-attachment-name{max-width:125px}
  .se-file-drop{padding:12px}
  .se-file-drop > div{min-height:210px;border-radius:22px}
}
@media(prefers-reduced-motion:reduce){.se-file-drop > div > span{animation:none}}

/* ── emoji tray ── */
#emj {
  display: none;
  position: relative;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 3px;
  padding: 48px 10px 10px;
  background: rgba(6,14,36,.78);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--r2);
  margin-bottom: 8px;
  max-height: min(210px, 34dvh);
  overflow-y: auto;
  overscroll-behavior: contain;
  animation: pop .2s cubic-bezier(.34,1.4,.64,1);
  box-shadow: 0 8px 32px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.07);
}
#emj.on { display: flex; }
#emj::-webkit-scrollbar { width: 3px; }
#emj::-webkit-scrollbar-thumb { background: rgba(34,211,178,.2); border-radius: 99px; }
#emj-close {
  position: absolute;
  inset-block-start: 8px;
  inset-inline-end: 8px;
  z-index: 2;
  width: 34px;
  height: 34px;
  min-width: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 11px;
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.88);
  cursor: pointer;
  transition: background .16s, border-color .16s, color .16s, transform .16s;
}
#emj-close:hover, #emj-close:focus-visible {
  background: rgba(239,68,68,.15);
  border-color: rgba(248,113,113,.42);
  color: #fecaca;
  outline: none;
}
#emj-close:active { transform: scale(.92); }
#emj-close i { pointer-events: none; }

.emj-btn {
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  border-radius: .6rem; background: none; border: none;
  cursor: pointer;
  transition: transform .14s cubic-bezier(.34,1.6,.64,1), background .14s;
  /* The picker is deliberately native/local.  Keep a real text size even if an
     older stylesheet was cached; no remote image is required for visibility. */
  font-size: 1.5rem !important;
  line-height: 1; overflow: hidden;
  opacity: 1 !important;
  visibility: visible !important;
}
.emj-btn:hover {
  transform: scale(1.22);
  background: rgba(34,211,178,.13);
  border-radius: .7rem;
}
.emj-btn:active { transform: scale(.9); }
/* Twemoji images inside buttons */
.emj-btn img.emoji {
  /* A stale cached script may still attempt a Twemoji conversion.  The current
     JavaScript restores the Unicode character synchronously; never let a remote
     image become the sole visible picker content while that repair happens. */
  width: 1.6rem !important;
  height: 1.6rem !important;
  vertical-align: middle;
  pointer-events: none;
}
@media (max-width: 600px) {
  #emj {
    padding: 46px 8px 8px;
    gap: 2px;
    max-height: min(232px, 38dvh);
  }
  #emj-close { width: 36px; height: 36px; min-width: 36px; }
  .emj-btn { width: 38px; height: 38px; }
}

/* input row */
.ft-row { display: flex; align-items: center; gap: 7px; }

.inp-wrap {
  flex: 1; min-width: 0;
  display: flex; align-items: center; gap: 5px;
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  border: 1.5px solid rgba(255,255,255,.14);
  border-radius: 1.6rem; padding: 8px 14px;
  transition: border-color .2s, box-shadow .2s;
}
.inp-wrap:focus-within {
  border-color: rgba(45,232,200,.5);
  box-shadow: 0 0 0 2px rgba(45,232,200,.10);
}
.inp-wrap.hidden { display: none !important; }

#txt-inp {
  flex: 1; min-width: 0;
  background: transparent; border: none; outline: none;
  resize: none;
  color: #ffffff;
  caret-color: var(--primary);
  font-family: var(--se-font-ui), sans-serif; font-weight: 600;
  line-height: 1.5;
  max-height: 96px; padding: 3px 2px;
  font-size: max(.92rem, 16px);
  text-shadow: none;
}
#txt-inp::placeholder { color: rgba(180,210,240,.5); }
#txt-inp::-webkit-scrollbar { width: 3px; }
[data-theme="light"] #txt-inp { color: var(--text-primary) !important; text-shadow: none !important; }

/* v2.5.28 light-mode clarity cleanup */
[data-theme="light"] .inp-wrap:focus-within { border-color: var(--primary) !important; box-shadow: 0 0 0 2px var(--focus-ring) !important; }
[data-theme="light"] #txt-inp,
[data-theme="light"] #txt-inp::placeholder { text-shadow: none !important; }
[data-theme="light"] .bme .bub-ts,
[data-theme="light"] .bme .bub-ts-wrap { color: rgba(255,255,255,.96) !important; opacity: 1 !important; }
[data-theme="light"] .bme .seen-btn { color: #f4fbff !important; text-shadow: none !important; }
[data-theme="light"] .bme .seen-btn:hover { color: #ffffff !important; }
[data-theme="light"] .bme .rply-btn,
[data-theme="light"] .bme .e-btn,
[data-theme="light"] .bme .del-btn,
[data-theme="light"] .bme button[onclick*="delMsg"] { color: rgba(255,255,255,.94) !important; opacity: 1 !important; text-shadow: none !important; }
[data-theme="light"] .bme .ap-dur,
[data-theme="light"] .bme .ap-voice-lbl,
[data-theme="light"] .bme .ap-spd-btn { color: rgba(255,255,255,.96) !important; opacity: 1 !important; }

/* v2.5.29 admin role and mic/shadow fix */
[data-theme="dark"] #fab,
[data-theme="dark"] #fab i,
#app[data-theme="dark"] #fab,
#app[data-theme="dark"] #fab i,
html[data-theme="dark"] #fab,
html[data-theme="dark"] #fab i,
body[data-theme="dark"] #fab,
body[data-theme="dark"] #fab i { color: #f4fffd !important; text-shadow: none !important; }
[data-theme="dark"] #fab svg,
#app[data-theme="dark"] #fab svg,
html[data-theme="dark"] #fab svg,
body[data-theme="dark"] #fab svg { fill: #f4fffd !important; color: #f4fffd !important; }
[data-theme="dark"] #ft,
#app[data-theme="dark"] #ft,
html[data-theme="dark"] #ft,
body[data-theme="dark"] #ft { box-shadow: none !important; }
[data-theme="dark"] .inp-wrap,
#app[data-theme="dark"] .inp-wrap,
html[data-theme="dark"] .inp-wrap,
body[data-theme="dark"] .inp-wrap { box-shadow: none !important; }
[data-theme="dark"] .inp-wrap:focus-within,
#app[data-theme="dark"] .inp-wrap:focus-within,
html[data-theme="dark"] .inp-wrap:focus-within,
body[data-theme="dark"] .inp-wrap:focus-within { box-shadow: 0 0 0 2px rgba(45,232,200,.08) !important; }

/* v2.5.31 dark mic icon + footer shadow cleanup */
[data-theme="light"] #fab,
[data-theme="light"] #fab i,
#app[data-theme="light"] #fab,
#app[data-theme="light"] #fab i { color: #ffffff !important; text-shadow: none !important; }
[data-theme="light"] #fab svg,
#app[data-theme="light"] #fab svg { fill: #ffffff !important; color: #ffffff !important; }
#app[data-theme="dark"] .inp-wrap,
#app[data-theme="dark"] #ui-txt,
html[data-theme="dark"] .inp-wrap,
body[data-theme="dark"] .inp-wrap {
  box-shadow: none !important;
  filter: none !important;
}
#app[data-theme="dark"] .inp-wrap::before,
#app[data-theme="dark"] .inp-wrap::after,
html[data-theme="dark"] .inp-wrap::before,
html[data-theme="dark"] .inp-wrap::after,
body[data-theme="dark"] .inp-wrap::before,
body[data-theme="dark"] .inp-wrap::after {
  display:none!important; box-shadow:none!important; background:transparent!important;
}
[data-theme="light"] #txt-inp::placeholder { color: var(--text-muted) !important; }

.ic-btn {
  background: none; border: none; cursor: pointer;
  color: var(--text-muted); padding: 5px; font-size: 1.05rem;
  border-radius: .55rem; transition: color .15s, background .15s, transform .12s;
  flex-shrink: 0;
}
.ic-btn:hover { color: var(--primary); background: rgba(45,232,200,.1); transform: scale(1.12); }
.ic-btn:active { transform: scale(.9); }

/* FAB — glowing glass send button */
#fab {
  width: 50px; height: 50px; border-radius: 50%;
  border: 1px solid rgba(45,232,200,.35); cursor: pointer; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.15rem; color: var(--primary-fg);
  background: linear-gradient(135deg, rgba(45,232,200,.85), rgba(13,160,130,.8));
  backdrop-filter: blur(12px);
  box-shadow: 0 4px 20px rgba(45,232,200,.35), 0 0 0 2px rgba(45,232,200,.2), inset 0 1px 0 rgba(255,255,255,.25);
  transition: transform .15s, box-shadow .2s;
  animation: fabGlow 2.8s ease-in-out infinite;
}
@keyframes fabGlow {
  0%, 100% { box-shadow: 0 4px 20px rgba(45,232,200,.3), 0 0 0 2px rgba(45,232,200,.18); }
  50%       { box-shadow: 0 4px 30px rgba(45,232,200,.55), 0 0 0 4px rgba(45,232,200,.3), 0 0 60px rgba(45,232,200,.12); }
}
#fab:hover { transform: scale(1.08); box-shadow: 0 6px 28px rgba(45,232,200,.55), 0 0 0 4px rgba(45,232,200,.4); animation: none; }
#fab:active { transform: scale(.9); animation: none; }
#fab.red {
  background: linear-gradient(135deg, rgba(239,68,68,.7), rgba(180,30,30,.7));
  border-color: rgba(239,68,68,.4);
  color: #fff;
  box-shadow: 0 4px 20px rgba(239,68,68,.4), 0 0 0 2px rgba(239,68,68,.25);
  animation: none;
}

/* ════════════════════════════════════════════
   MODALS
   ════════════════════════════════════════════ */
.modal {
  position: fixed; inset: 0; z-index: 9000000;
  background: rgba(2,6,20,.7); backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
  visibility: hidden; opacity: 0; transition: all .22s;
}
.modal.show { visibility: visible; opacity: 1; }
.m-box {
  width: 100%; max-width: 820px; max-height: 92vh;
  background: rgba(8,16,40,.78);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid rgba(255,255,255,.14); border-radius: var(--r3);
  padding: 1.8rem; position: relative;
  display: flex; flex-direction: column;
  box-shadow: 0 40px 100px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.08);
  animation: cardIn .28s cubic-bezier(.34,1.2,.64,1);
}
.m-close {
  position: absolute; top: .9rem; inset-inline-end: .9rem;
  background: var(--hover); border: 1px solid var(--border);
  color: var(--text-muted); cursor: pointer; font-size: 1rem;
  width: 32px; height: 32px; border-radius: .6rem;
  display: flex; align-items: center; justify-content: center;
  transition: all .15s;
}
.m-close:hover { background: var(--danger-soft); color: var(--danger-text); border-color: var(--danger); }
.m-body { overflow-y: auto; flex: 1; padding-inline-end: 2px; }
.m-body::-webkit-scrollbar { width: 4px; }
.m-body::-webkit-scrollbar-thumb { background: rgba(34,211,178,.18); border-radius: 99px; }

/* syllabus */
.mod-card { background: rgba(34,211,178,.05); border: 1px solid rgba(34,211,178,.14); border-radius: var(--r1); padding: 1.1rem; margin-bottom: 9px; }
.mod-card h3 { font-size: .88rem; font-weight: 900; color: var(--primary); margin-bottom: .65rem; display: flex; align-items: center; gap: 7px; }
.mod-card h3::before { content: ''; width: 3px; height: 1em; background: var(--primary); border-radius: 99px; flex-shrink: 0; }
.mod-card ul { list-style: none; display: flex; flex-direction: column; gap: 4px; }
.mod-card li { color: var(--text-secondary); font-size: .82rem; font-weight: 600; padding-inline-start: .9rem; position: relative; line-height: 1.5; }
.mod-card li::before { content: '›'; position: absolute; inset-inline-start: 0; color: var(--primary); opacity: .5; }
.mod-card li.ex { color: var(--gold); font-weight: 900; }
.mod-card li.ex::before { content: '★'; opacity: 1; }

/* creds */
.ctbl { width: 100%; border-collapse: collapse; }
.ctbl th { font-size: .66rem; font-weight: 900; color: var(--text-muted); text-transform: uppercase; letter-spacing: .1em; padding: .6rem .9rem; border-bottom: 1px solid var(--border); text-align: start; }
.ctbl td { padding: .6rem .9rem; font-size: .84rem; border-bottom: 1px solid rgba(255,255,255,.03); }
.ctbl tr:hover td { background: rgba(34,211,178,.03); }
.e-btn { background: rgba(34,211,178,.1); color: var(--primary); border: none; border-radius: .35rem; padding: 2px 7px; font-size: .68rem; cursor: pointer; margin-inline-start: 4px; font-family: var(--se-font-ui), sans-serif; transition: background .15s; }
.e-btn:hover { background: rgba(34,211,178,.22); }

#m-img { align-items: center; justify-content: center; overflow: hidden; }
#m-img .img-bar { position: sticky; bottom: 0; z-index: 9000010; }

/* ════════════════════════════════════════════
   TOAST
   ════════════════════════════════════════════ */
#toasts { position: fixed; bottom: 1.2rem; left: 50%; transform: translateX(-50%); z-index: 99999999; display: flex; flex-direction: column; gap: 5px; align-items: center; pointer-events: none; }
.toast { padding: .55rem 1.2rem; border-radius: 99px; font-weight: 800; font-size: .78rem; color: var(--text-primary); display: flex; align-items: center; gap: .5rem; box-shadow: 0 6px 24px rgba(0,0,0,.5); opacity: 0; transform: translateY(12px); transition: all .26s; }
.toast.on { opacity: 1; transform: none; }
.tok { background: linear-gradient(135deg, var(--success), #047857); }
.terr { background: linear-gradient(135deg, var(--danger), #991b1b); }

/* live badge */
.live { font-size: .62rem; font-weight: 800; color: var(--primary); text-transform: uppercase; letter-spacing: .08em; display: inline-flex; align-items: center; gap: 4px; }
.ld { width: 5px; height: 5px; border-radius: 50%; background: var(--primary); animation: rp .9s infinite alternate; }

/* ── Online dot ── */
.online-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #22c55e;
  flex-shrink: 0;
  box-shadow: 0 0 6px rgba(34,197,94,.7);
  animation: pulse-green 2s ease-in-out infinite;
}
@keyframes pulse-green {
  0%,100% { box-shadow: 0 0 4px rgba(34,197,94,.6); }
  50% { box-shadow: 0 0 10px rgba(34,197,94,.9), 0 0 0 3px rgba(34,197,94,.15); }
}

/* ── Unread badge ── */
.unread-badge {
  min-width: 18px; height: 18px; border-radius: 99px;
  background: var(--primary); color: #021a14;
  font-size: .62rem; font-weight: 900;
  display: flex; align-items: center; justify-content: center;
  padding: 0 4px; flex-shrink: 0;
  animation: pop .2s;
}

/* ── Read receipt popup ── */
.rr-popup {
  position: fixed;
  left: 12px; top: 12px;
  background: linear-gradient(145deg, rgba(12,22,44,.99), rgba(8,16,36,.995));
  border: 1px solid rgba(34,211,178,.28); border-radius: 12px;
  padding: 10px 12px; min-width: 180px; max-width: min(260px, calc(100vw - 24px));
  max-height: min(360px, 65dvh); overflow: auto; overscroll-behavior: contain;
  z-index: 2147483500; box-shadow: 0 18px 52px rgba(0,0,0,.68);
  animation: pop .18s;
  box-sizing: border-box;
}
.rr-popup::after { display:none !important; }
.rr-title { font-size: .6rem; font-weight: 900; color: var(--primary); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 7px; }
.rr-row { display: flex; align-items: center; gap: 6px; padding: 4px 0; border-bottom: 1px solid rgba(255,255,255,.05); }
.rr-row:last-child { border-bottom: none; }
.rr-av { width: 22px; height: 22px; border-radius: .4rem; background: linear-gradient(135deg,var(--primary),var(--primary-dark)); display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: .62rem; color: #021a14; flex-shrink: 0; }
.rr-nm { font-size: .72rem; font-weight: 700; color: var(--text-primary); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rr-time { font-size: .58rem; color: var(--text-muted); font-family: monospace; }
.rr-empty { font-size: .72rem; color: var(--text-muted); font-style: italic; text-align: center; padding: 4px 0; }

/* ── Seen indicator button (✓✓) ── */
.seen-btn {
  background: none; border: none; cursor: pointer; font-size: .62rem; color: #8ceaff;
  padding: 0 2px; transition: color .15s, transform .15s, opacity .15s; position: relative;
  font-family: var(--se-font-ui), sans-serif; font-weight: 900; opacity: .98;
  text-shadow: 0 0 8px rgba(34,211,238,.16);
}
.seen-btn:hover { color: #c7f9ff; transform: translateY(-1px); }
.bme .seen-btn { color: #7fe7ff; }
.bme .seen-btn:hover { color: #ecfeff; }
.bub-ts-wrap { display: inline-flex; align-items: center; gap: 4px; position: relative; }
.bme .bub-ts, .bme .bub-ts-wrap { color: rgba(245,251,255,.92) !important; opacity: 1 !important; }
.bme .bub-ts-wrap .seen-btn { margin-inline-start: 2px; }

/* ── Copy button ── */
.bub-copy-row {
  margin-top: 4px;
  display: flex;
  justify-content: flex-end;
}
.bub-copy-btn {
  display: inline-flex; align-items: center; gap: 4px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 6px;
  color: var(--text-muted);
  cursor: pointer;
  font-size: .6rem; font-weight: 700;
  font-family: inherit;
  padding: 3px 7px;
  transition: background .15s, color .15s, border-color .15s;
  line-height: 1.4;
}
.bub-copy-btn:hover {
  background: rgba(34,211,178,.12);
  border-color: rgba(34,211,178,.28);
  color: var(--primary);
}
[data-theme="light"] .bub-copy-btn {
  background: rgba(0,0,0,.04) !important;
  border-color: rgba(0,0,0,.1) !important;
  color: var(--text-muted) !important;
}
[data-theme="light"] .bub-copy-btn:hover {
  background: rgba(13,155,128,.1) !important;
  border-color: rgba(13,155,128,.25) !important;
  color: var(--primary) !important;
}

/* ── PPTX / Slides viewer ── */
#m-pptx .m-box { max-width: min(96vw,1200px); background:rgba(4,6,16,.98); padding:0; overflow:hidden; }
.pptx-top { display:flex;align-items:center;gap:10px;padding:9px 14px;background:rgba(4,8,20,.95);border-bottom:1px solid rgba(255,165,0,.15);flex-shrink:0; }
.pptx-ic { width:30px;height:30px;border-radius:.5rem;background:rgba(255,165,0,.15);display:flex;align-items:center;justify-content:center;color:var(--warning-text);font-size:.82rem;flex-shrink:0; }
/* 16:9 ratio container */
.pptx-ratio-wrap { position:relative; width:100%; flex:1; display:flex; align-items:center; justify-content:center; background:#000; overflow:hidden; min-height:0; }
.pptx-ratio-box  { position:relative; width:100%; }
.pptx-ratio-box::before { content:''; display:block; padding-top:56.25%; /* 16:9 */ }
#pptx-frame { position:absolute; inset:0; width:100%; height:100%; border:none; background:#1a1a2e; }
/* Slide nav bar */
.pptx-bar { display:flex;align-items:center;justify-content:space-between;padding:6px 14px;background:rgba(4,8,20,.92);border-top:1px solid rgba(255,165,0,.1);flex-shrink:0;gap:8px; }
.pptx-nav-btn { width:28px;height:28px;border-radius:.4rem;background:rgba(255,165,0,.1);border:1px solid rgba(255,165,0,.18);color:var(--warning-text);cursor:pointer;font-size:.72rem;display:flex;align-items:center;justify-content:center;transition:background .15s; }
.pptx-nav-btn:hover { background:rgba(255,165,0,.25); }
.pptx-full-btn { padding:0 12px;height:28px;border-radius:.4rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);cursor:pointer;font-size:.72rem;display:flex;align-items:center;gap:5px;transition:background .15s; }
.pptx-full-btn:hover { background:rgba(255,255,255,.12);color:var(--text-primary); }
#pptx-note { display:none;flex-direction:column;align-items:center;justify-content:center;gap:1rem;flex:1;padding:2rem; }

/* PDF annotation */
#m-pdf .m-box { max-width:1000px;height:95vh;background:rgba(8,16,32,.98);padding:0;overflow:hidden;display:flex;flex-direction:column; }
.pdf-top { display:flex;align-items:center;gap:10px;padding:10px 14px;background:rgba(6,12,28,.95);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0; }
.pdf-annot-bar { display:flex;align-items:center;gap:4px;padding:5px 12px;background:rgba(4,8,20,.95);border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0;flex-wrap:wrap; }
.pan-btn { width:30px;height:28px;border-radius:.4rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.72rem;transition:all .15s;flex-shrink:0; }
.pan-btn:hover,.pan-btn.on { background:rgba(34,211,178,.14);border-color:rgba(34,211,178,.3);color:var(--primary); }
.pan-sep  { width:1px;height:20px;background:rgba(255,255,255,.1);margin:0 3px; }
.pan-color { width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.25);cursor:pointer;flex-shrink:0;transition:transform .15s; }
.pan-color:hover { transform:scale(1.2); }
.pan-color.on { border-color:var(--text-primary);transform:scale(1.15); }
.pdf-wrap { flex:1;position:relative;min-height:0;overflow:hidden; }
#pdf-frame { width:100%;height:100%;border:none;background:#525659;display:block; }
#pdf-canvas { position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5; }
#pdf-canvas.draw { pointer-events:auto;cursor:crosshair; }
#pdf-canvas.txt  { pointer-events:auto;cursor:text; }
#pdf-text-input  { position:absolute;display:none;z-index:10;background:rgba(255,255,224,.9);border:2px solid #f0b429;border-radius:4px;padding:4px 8px;font-size:.85rem;color:#111;min-width:80px;resize:none;font-family:sans-serif; }
/* 4.0.39.19.34 compact legacy PDF fallback. The bundled lessons PDF.js reader is primary. */
#m-pdf .m-box{position:relative!important}
#pdf-annot-bar[hidden]{display:none!important}
#m-pdf .pdf-top{min-height:38px!important;padding:4px 7px!important}
#m-pdf .pdf-ic{display:none!important}
#m-pdf .pdf-annot-bar{position:absolute;z-index:30;inset-block-start:84px;inset-inline-end:10px;width:176px;max-height:60vh;overflow:auto;display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:8px;border:1px solid rgba(148,163,184,.3);border-radius:11px;background:rgba(4,8,20,.96);box-shadow:0 15px 40px rgba(0,0,0,.35)}
#m-pdf .pdf-annot-bar .pan-sep{display:none}
#m-pdf .pdf-tools-toggle{position:absolute;z-index:31;inset-block-start:8px;inset-inline-end:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.32);border-radius:11px;background:rgba(15,23,42,.84);color:#fff;box-shadow:0 5px 18px rgba(0,0,0,.25);cursor:pointer}
#m-pdf .pdf-tools-toggle[aria-expanded="true"]{border-color:rgba(34,211,178,.7);color:#5eead4}
#m-pdf .pdf-wrap{overflow:hidden!important}
#m-pdf #pdf-frame{background:#525659}
@media(max-width:700px){#m-pdf .m-box{width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;border-radius:0!important}#m-pdf .pdf-top{min-height:36px!important;padding:3px 5px!important}#m-pdf .pdf-tools-toggle{inset-block-start:6px;inset-inline-end:6px;width:34px;height:34px}#m-pdf .pdf-annot-bar{inset-block-start:78px;inset-inline-end:6px;width:166px;max-height:65vh}}


/* Word toolbar */
.doc-toolbar { display:flex;align-items:center;gap:4px;padding:5px 12px;background:rgba(4,8,20,.95);border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0;flex-wrap:wrap; }
.dtool { height:26px;padding:0 8px;border-radius:.35rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);cursor:pointer;font-size:.72rem;display:flex;align-items:center;gap:4px;transition:all .15s;white-space:nowrap; }
.dtool:hover { background:rgba(59,130,246,.15);border-color:rgba(59,130,246,.3);color:#93c5fd; }
.dtool.on { background:rgba(59,130,246,.18);color:#93c5fd;border-color:rgba(59,130,246,.35); }

/* Excel toolbar */
.xls-toolbar { display:flex;align-items:center;gap:4px;padding:5px 12px;background:rgba(4,8,20,.95);border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0;flex-wrap:wrap; }
.xtool { height:26px;padding:0 8px;border-radius:.35rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);cursor:pointer;font-size:.72rem;display:flex;align-items:center;gap:4px;transition:all .15s; }
.xtool:hover { background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.3);color:var(--success-text); }
.xtool.on { background:rgba(34,197,94,.15);color:var(--success-text);border-color:rgba(34,197,94,.35); }

/* Poll card */
.poll-card { background:rgba(22,46,80,.65);border:1px solid rgba(34,211,178,.2);border-radius:12px;padding:12px 14px;margin-top:6px;max-width:280px; }
.poll-q { font-size:.82rem;font-weight:800;color:var(--text-primary);margin-bottom:10px;line-height:1.45; }
.poll-opt { display:flex;align-items:center;gap:8px;margin-bottom:5px;cursor:pointer;padding:7px 9px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);transition:all .15s; }
.poll-opt:hover { background:rgba(34,211,178,.08);border-color:rgba(34,211,178,.2); }
.poll-opt.voted { border-color:rgba(34,211,178,.4);background:rgba(34,211,178,.1); }
.poll-bar-wrap { flex:1;height:5px;background:rgba(255,255,255,.1);border-radius:99px;overflow:hidden; }
.poll-bar { height:100%;background:var(--primary);border-radius:99px;transition:width .35s; }
.poll-opt-lbl { font-size:.76rem;font-weight:600;flex:1;color:var(--text-primary); }
.poll-pct { font-size:.64rem;font-weight:800;color:var(--text-muted);min-width:26px;text-align:end;font-family:monospace; }
.poll-meta { font-size:.6rem;color:var(--text-muted);margin-top:7px; }

/* Poll modal */
#m-poll .m-box { max-width:420px; }
.p-opt-row { display:flex;align-items:center;gap:6px;margin-bottom:6px; }
.p-opt-inp { flex:1;background:#0a1628 !important;border:1.5px solid rgba(34,211,178,.25) !important;border-radius:.6rem;padding:7px 12px;color:#fff !important;font-size:.85rem;font-family:inherit;outline:none; }
.p-opt-inp:focus { border-color:rgba(34,211,178,.5) !important;background:#0e1d34 !important; }
.p-opt-inp::placeholder { color:rgba(255,255,255,.4) !important; }
#poll-q-inp::placeholder { color:rgba(255,255,255,.4); }
.p-opt-del { background:none;border:none;color:rgba(239,68,68,.45);cursor:pointer;padding:4px;font-size:.82rem;transition:color .15s; }
.p-opt-del:hover { color:#ef4444; }

/* Forward modal */
#m-fwd .m-box { max-width:380px; }
.fwd-item { display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background .15s;border:1px solid transparent; }
.fwd-item:hover { background:rgba(34,211,178,.07);border-color:rgba(34,211,178,.1); }
.fwd-item.on { background:rgba(34,211,178,.12);border-color:rgba(34,211,178,.25); }
.fwd-av { width:32px;height:32px;border-radius:50%;background:rgba(34,211,178,.1);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:900;color:var(--primary);flex-shrink:0; }

/* ── Floating message notification ── */
#msg-notif {
  position:fixed; top:16px; left:50%; transform:translateX(-50%);
  z-index:99999998; min-width:280px; max-width:400px;
  display:flex; align-items:center; gap:11px;
  padding:12px 14px; border-radius:var(--r2);
  background:linear-gradient(145deg, rgba(12,22,44,.96), rgba(8,16,36,.98));
  border:1px solid rgba(34,211,178,.2);
  box-shadow:0 12px 40px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(20px); cursor:pointer;
  animation:notifSlide .3s cubic-bezier(.34,1.4,.64,1);
}
@keyframes notifSlide { from { opacity:0; transform:translateX(-50%) translateY(-20px); } to { opacity:1; transform:translateX(-50%) translateY(0); } }
#notif-avatar {
  width:36px; height:36px; border-radius:.7rem; flex-shrink:0;
  background:linear-gradient(135deg, var(--primary), var(--primary-dark));
  display:flex; align-items:center; justify-content:center;
  font-weight:900; font-size:.85rem; color:#021a14;
}
#notif-name { font-size:.72rem; font-weight:900; color:var(--primary); }
#notif-text { font-size:.78rem; color:var(--text-primary); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:240px; }
#notif-body { flex:1; min-width:0; }

/* hide btn helper */
.hidden { display: none !important; }

@media (max-width: 767px) {
  .bub { max-width: 86%; }
  #ft { padding: 7px 8px; padding-bottom: calc(7px + env(safe-area-inset-bottom, 0px)); }
  .rr-popup { min-width: 0; max-width: none; border-radius: 12px; }
  .ap { min-width: 0; width: 100%; max-width: 100%; }
  #vox { gap: 4px; padding: 6px 8px; min-height: 44px; }
  .vox-cancel { width: 32px !important; height: 32px !important; font-size: .75rem !important; flex-shrink: 0 !important; }
  .vox-pause { width: 32px !important; height: 32px !important; font-size: .75rem !important; }
  .ft-row { gap: 5px; }
  .tools-plus-btn { width: 36px !important; height: 36px !important; font-size: 1rem !important; }
  #fab { width: 44px !important; height: 44px !important; font-size: 1rem !important; }
  .inp-wrap { padding: 7px 10px !important; }
  #txt-inp { font-size: 16px !important; }
  .vp-card { max-width: 100%; width: auto; }
  #m-pdf .m-box { height: 100vh; border-radius: 0; }
  #m-doc .m-box { height: 100vh; border-radius: 0; }
  #m-vid .m-box { border-radius: 0; }
  /* Tools popup mobile */
  #tools-popup { min-width: 180px !important; }
}
/* ── Voice Dub Popup ── */
#m-vdub { z-index: 9999; }
#m-vdub .m-box { max-width: 370px; padding: 1.4rem 1.3rem 1.2rem; }
.vdub-lang-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0 16px; }
.vdub-lang-btn {
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14);
  border-radius: 2rem; padding: 5px 13px; font-size: .73rem; font-weight: 700;
  color: var(--text-primary); cursor: pointer; transition: background .15s, border-color .15s; white-space: nowrap;
}
.vdub-lang-btn:hover { background: rgba(34,211,178,.1); border-color: rgba(34,211,178,.4); }
.vdub-lang-btn .vdub-flag { font-size: 1.5rem; line-height: 1; }
.vdub-lang-btn .vdub-lname { font-size: .72rem; font-weight: 700; }
#vdub-custom-inp:focus { border-color: rgba(34,211,178,.5) !important; box-shadow: 0 0 0 2px rgba(34,211,178,.1); }
.vdub-send-orig {
  width: 100%; background: none; border: 1.5px solid rgba(255,255,255,.13);
  border-radius: .65rem; padding: 9px 14px; color: var(--text-secondary); font-family: inherit;
  font-size: .78rem; cursor: pointer; transition: background .18s;
}
.vdub-send-orig:hover { background: rgba(255,255,255,.07); }
.vdub-processing { display: flex; align-items: center; gap: 10px; padding: 10px 0;
  font-size: .8rem; color: var(--text-secondary); }
.se-voice-send-state { display:inline-flex;align-items:center;gap:5px;font-size:.64rem;font-weight:800;color:var(--primary); }
.se-voice-send-state.is-error { color:var(--danger-text); }
.se-voice-retry { appearance:none;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;padding:2px 7px;font:inherit;cursor:pointer; }
.se-voice-retry:disabled { opacity:.55;cursor:wait; }

/* ════════════════════════════════════════════
   THEME TOGGLE BUTTON (sidebar header)
   ════════════════════════════════════════════ */
.theme-toggle {
  width: 34px; height: 34px; border-radius: .7rem; flex-shrink: 0;
  background: rgba(255,255,255,.06); border: 1px solid var(--border);
  color: var(--text-secondary); cursor: pointer; font-size: .88rem;
  display: flex; align-items: center; justify-content: center;
  transition: all .2s; position: relative;
}
.theme-toggle:hover { background: rgba(34,211,178,.12); border-color: rgba(34,211,178,.3); color: var(--primary); transform: scale(1.08); }
.theme-toggle:active { transform: scale(.92); }
.theme-toggle .fa-sun { display: none; }
.theme-toggle .fa-moon { display: inline-block; }
/* Keep the teacher/admin settings launcher above decorative sidebar layers and
   make the button itself the only pointer target. */
#btn-settings-panel{position:relative!important;z-index:40!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;}
#btn-settings-panel>i{pointer-events:none!important;}


/* v4.0.39.19.110 — explicit hit-testing states. Hidden/off-canvas surfaces
   must never receive a tap that belongs to the visible composer or dashboard. */
.view:not(.show){pointer-events:none!important}
.view.show{pointer-events:auto}
.modal:not(.show):not([data-se-modal-state="opening"]):not([data-se-modal-state="active"]){pointer-events:none!important}
#sb-ov:not(.show){pointer-events:none!important}
#tools-popup:not(.on),#emj:not(.on){pointer-events:none!important}
#tools-popup.on,#emj.on{pointer-events:auto!important}
#tools-popup.on{isolation:isolate}
#tools-plus-btn,#tools-popup .tp-item,#emj button{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  user-select:none;
}
@media (max-width:767px){
  #sb:not(.open){visibility:hidden!important;pointer-events:none!important}
  #sb:not(.open) *{pointer-events:none!important}
  #sb.open{visibility:visible!important;pointer-events:auto!important}
  #tools-plus-btn{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
  #tools-popup .tp-item{min-height:44px!important}
  #emj .emj-btn{width:44px;height:44px;min-width:44px;min-height:44px}
}

/* v4.0.39.19.111 — touch hit-testing must be stable from the first frame.
   Avoid transformed/composited entrance geometry on coarse pointers: several
   mobile WebView/Safari-class engines can visually paint the popup in one place
   while hit-testing the previous layer for a fraction of a second. Desktop keeps
   the richer animation; touch devices get immediate final geometry. */
@media (hover:none), (pointer:coarse){
  #tools-popup{
    animation:none!important;
    transform:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  #tools-popup .tp-item,
  #tools-popup .tp-item:hover{
    transform:none!important;
  }
  #translate-picker,#emj{
    animation:none!important;
    transform:none!important;
  }
}

/* ════════════════════════════════════════════
   TOOLS POPUP (+) BUTTON
   ════════════════════════════════════════════ */
.tools-plus-btn {
  background: none; border: none; cursor: pointer;
  color: var(--ic-btn-color, rgba(255,255,255,.45)); padding: 0; font-size: 1.15rem;
  border-radius: 50%; transition: color .15s, background .15s, transform .18s;
  flex-shrink: 0; position: relative;
  width: 42px; height: 42px;
  display: flex; align-items: center; justify-content: center;
}
.tools-plus-btn:hover { color: var(--primary); background: rgba(34,211,178,.1); }
.tools-plus-btn:active { transform: scale(.88); }
.tools-plus-btn.open { color: var(--primary); transform: rotate(45deg); }

/* Tools popup menu */
#tools-popup {
  display: none; position: absolute; bottom: calc(100% + 10px);
  inset-inline-start: 0; z-index: 200;
  background: rgba(6,14,36,.82);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--r2); padding: 6px;
  min-width: 210px; max-width: 260px;
  box-shadow: 0 16px 48px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.07);
  animation: toolsPopIn .2s cubic-bezier(.34,1.4,.64,1);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
}
[dir="ltr"] #tools-popup { left: 0; right: auto; }
[dir="rtl"] #tools-popup { right: 0; left: auto; }
#tools-popup.on { display: block; }
@keyframes toolsPopIn { from { opacity:0; transform: translateY(8px) scale(.95); } to { opacity:1; transform: none; } }

.tp-item {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 10px 13px; border-radius: var(--r1);
  border: 1px solid transparent; background: none; cursor: pointer;
  color: var(--text-primary); font-family: inherit; font-weight: 700; font-size: .78rem;
  transition: all .18s; text-align: start;
  backdrop-filter: blur(4px);
}
.tp-item:hover { background: rgba(34,211,178,.08); border-color: rgba(34,211,178,.12); transform: translateX(-2px); }
[dir="ltr"] .tp-item:hover { transform: translateX(2px); }
.tp-item i {
  width: 32px; height: 32px; border-radius: .65rem; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: .82rem; transition: all .18s;
  backdrop-filter: blur(8px);
}
.tp-item:hover i { transform: scale(1.1); }
.tp-sep { height: 1px; background: var(--border); margin: 4px 8px; }

/* Tool icon colors */
.tp-ic-attach  { background: rgba(59,130,246,.12); color: #60a5fa; border: 1px solid rgba(59,130,246,.2); }
.tp-ic-emoji   { background: rgba(251,191,36,.12); color: var(--warning-text); border: 1px solid rgba(251,191,36,.2); }
.tp-ic-translate { background: rgba(34,211,178,.12); color: var(--primary); border: 1px solid rgba(34,211,178,.2); }
.tp-ic-dub { background:rgba(168,85,247,.12);color:#c4b5fd;border:1px solid rgba(168,85,247,.22); }
.tp-ic-montage { background: rgba(168,85,247,.12); color: #c084fc; border: 1px solid rgba(168,85,247,.2); }
.tp-ic-poll    { background: rgba(240,180,41,.12); color: var(--gold); border: 1px solid rgba(240,180,41,.2); }
.tp-ic-image   { background: rgba(236,72,153,.12); color: #f472b6; border: 1px solid rgba(236,72,153,.2); }



/* Front settings + admin panel *//* Front settings + admin panel */
.se-settings-grid{display:grid;gap:12px;margin-top:10px}.se-set-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--border);border-radius:.75rem;background:rgba(255,255,255,.04)}.se-set-row strong{font-size:.82rem;color:var(--text-primary)}.se-pill-row{display:flex;gap:7px;flex-wrap:wrap}.se-pill{border:1px solid var(--border-strong);background:rgba(255,255,255,.06);color:var(--text-primary);border-radius:999px;padding:7px 11px;font-size:.72rem;font-weight:900;cursor:pointer}.se-pill:hover,.se-pill.active{background:rgba(34,211,178,.14);border-color:rgba(34,211,178,.35);color:var(--primary)}.se-admin-modal .m-box{max-width:980px;width:min(980px,94vw);height:min(86vh,780px);display:flex;flex-direction:column;overflow:hidden}.se-admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.se-admin-title{font-size:1rem;font-weight:950;color:var(--text-primary)}.se-admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.se-admin-tabs button{border:1px solid var(--border);background:rgba(255,255,255,.05);color:var(--text-secondary);border-radius:999px;padding:8px 13px;font-size:.74rem;font-weight:900;cursor:pointer}.se-admin-tabs button.active{background:rgba(34,211,178,.14);border-color:rgba(34,211,178,.34);color:var(--primary)}.se-admin-pane{display:none;min-height:0;overflow:auto}.se-admin-pane.active{display:block}.se-admin-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px}.se-admin-form input,.se-admin-form select{min-height:38px;border:1px solid var(--border-strong);border-radius:.65rem;background:rgba(255,255,255,.06);color:var(--text-primary);padding:0 10px;font-family:inherit;font-size:.78rem}.se-admin-form button{min-height:38px}.se-admin-table{width:100%;border-collapse:collapse}.se-admin-table th,.se-admin-table td{padding:10px;border-bottom:1px solid var(--border);text-align:start;font-size:.76rem;color:var(--text-secondary);vertical-align:middle}.se-admin-table th{color:var(--text-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.06em}.se-admin-table code{color:var(--primary);font-weight:800}.se-mini-actions{display:flex;gap:6px;flex-wrap:wrap}.se-mini-actions button{border:1px solid var(--border);background:rgba(255,255,255,.05);color:var(--text-primary);border-radius:.55rem;padding:6px 9px;font-size:.68rem;font-weight:800;cursor:pointer}.se-mini-actions .danger{color:#f87171;border-color:rgba(248,113,113,.25);background:rgba(239,68,68,.1)}.se-member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:7px;margin:0 0 12px}.se-member-grid label{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:.6rem;padding:8px;color:var(--text-secondary);font-size:.72rem;background:rgba(255,255,255,.04)}.se-group-form{display:grid;grid-template-columns:1fr 1.5fr auto;gap:8px;margin-bottom:10px}.se-group-form input{min-height:38px;border:1px solid var(--border-strong);border-radius:.65rem;background:rgba(255,255,255,.06);color:var(--text-primary);padding:0 10px;font-family:inherit;font-size:.78rem}.se-admin-note{color:var(--text-muted);font-size:.72rem;line-height:1.6;margin:0 0 10px}.grp-n{width:32px;height:32px;border-radius:.7rem;display:flex;align-items:center;justify-content:center;background:rgba(240,180,41,.12);border:1px solid rgba(240,180,41,.22);color:var(--gold);font-size:.78rem;flex-shrink:0}.se-settings-toggle i{font-size:.88rem}@media(max-width:760px){.se-admin-form,.se-group-form{grid-template-columns:1fr}.se-admin-modal .m-box{height:92vh}}




/* v2.5.7 visual-polish patch: admin/settings layout and non-overlapping controls */
#btn-credentials{display:none!important;visibility:hidden!important;pointer-events:none!important;}
.se-admin-modal{padding:18px;}
.se-admin-modal .m-box{
  width:min(1020px, calc(100vw - 34px))!important;
  height:min(86vh, 780px)!important;
  max-height:calc(100vh - 36px)!important;
  border-radius:1.35rem!important;
  padding:1.45rem 1.55rem!important;
  background:linear-gradient(180deg, rgba(10,18,44,.98), rgba(7,15,37,.98))!important;
  border:1px solid rgba(148,163,184,.20)!important;
  overflow:hidden!important;
}
.se-admin-modal .m-close{
  top:14px!important;
  inset-inline-end:14px!important;
  z-index:20!important;
  width:34px!important;
  height:34px!important;
  border-radius:.8rem!important;
}
.se-admin-head{
  min-height:42px!important;
  padding-inline-end:54px!important;
  align-items:center!important;
  margin-bottom:14px!important;
}
.se-admin-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;}
#admin-reload-btn{
  padding:8px 13px!important;
  font-size:.72rem!important;
  min-height:34px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
  gap:6px!important;
}
.se-admin-tabs{margin-bottom:14px!important;}
.se-admin-tabs button{min-height:34px!important;padding:8px 14px!important;}
.se-admin-note{margin:2px 0 12px!important;opacity:.9;}
.se-admin-form{grid-template-columns:.9fr 1.15fr 1fr 1.1fr .9fr 1fr!important;gap:10px!important;align-items:stretch!important;}
.se-admin-form input,.se-admin-form select,.se-group-form input{
  min-height:46px!important;
  border-radius:.85rem!important;
  background:rgba(255,255,255,.055)!important;
  outline:none!important;
}
.se-admin-form input:focus,.se-admin-form select:focus,.se-group-form input:focus{
  border-color:rgba(34,211,178,.45)!important;
  box-shadow:0 0 0 3px rgba(34,211,178,.10)!important;
}
.se-admin-form button,.se-group-form button{min-height:46px!important;border-radius:999px!important;}
.se-admin-table-wrap{
  max-height:48vh!important;
  overflow:auto!important;
  border:1px solid rgba(148,163,184,.12)!important;
  border-radius:1rem!important;
  background:rgba(255,255,255,.018)!important;
}
.se-admin-table-wrap-groups{max-height:34vh!important;}
.se-admin-table{min-width:720px!important;}
.se-admin-table thead th{
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  background:rgba(10,18,44,.98)!important;
  backdrop-filter:blur(10px)!important;
}
.se-admin-table th,.se-admin-table td{padding:12px 10px!important;}
.se-mini-actions{justify-content:flex-start!important;}
.se-mini-actions button{min-height:30px!important;border-radius:.7rem!important;}
.se-member-grid{
  max-height:24vh!important;
  overflow:auto!important;
  padding:2px 2px 8px!important;
  border-bottom:1px solid rgba(148,163,184,.08)!important;
}
.se-member-grid label{min-height:38px!important;}
.se-set-row{border-radius:1rem!important;padding:12px!important;}
#adm-block > div:first-child + div{justify-content:flex-start!important;}
#stu-lst .ni, #grp-lst .ni{min-height:48px;}
@media(max-width:760px){
  .se-admin-modal{padding:8px;}
  .se-admin-modal .m-box{width:calc(100vw - 16px)!important;height:calc(100vh - 16px)!important;max-height:calc(100vh - 16px)!important;padding:1.15rem!important;border-radius:1rem!important;}
  .se-admin-head{padding-inline-end:42px!important;align-items:flex-start!important;gap:8px!important;}
  .se-admin-title{font-size:.95rem!important;line-height:1.45!important;}
  #admin-reload-btn{padding:7px 10px!important;font-size:.68rem!important;}
  .se-admin-form,.se-group-form{grid-template-columns:1fr!important;}
  .se-admin-table{min-width:680px!important;}
}



/* v2.5.9 hard guard: the front admin row is invisible by default.
   JS enables it only for the real WordPress administrator session. */
#settings-admin-row{display:none!important;visibility:hidden!important;pointer-events:none!important;}
#app.wp-admin-session #settings-admin-row{display:flex!important;visibility:visible!important;pointer-events:auto!important;}


/* v2.5.30 user subjects and info buttons */
.se-user-subject-card{border:1px solid var(--border);border-radius:.85rem;background:rgba(255,255,255,.035);padding:10px;margin:0 0 12px;}
.se-subject-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));max-height:150px!important;overflow:auto!important;}
/* v2.5.36: the info chip must always be clickable, whatever it is nested inside
   (row buttons, <label> + checkbox, table cells, group cards). */
.se-info-btn{width:28px;height:28px;border:1px solid rgba(34,211,178,.28);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--primary);background:rgba(34,211,178,.10);font-size:.76rem;cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s,transform .12s;position:relative;z-index:20;line-height:1;padding:0;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;}
.se-info-btn,.se-info-btn *,.se-user-info-chip,.se-user-info-chip *{pointer-events:auto!important;}
label .se-info-btn{margin-inline:4px;}
.se-info-btn:hover{background:rgba(34,211,178,.18);border-color:rgba(34,211,178,.55);transform:translateY(-1px);}
.se-info-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.se-user-info-chip{display:inline-flex;align-items:center;gap:5px;margin-inline-start:7px;vertical-align:middle;}
.se-subject-pill-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.se-subject-pill{border:1px solid rgba(34,211,178,.28);background:rgba(34,211,178,.10);color:var(--primary);border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:950;}
.se-info-pop{--se-info-edge:18px;--se-info-space:36px;position:fixed!important;z-index:2147483647!important;inset:0;display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;background:rgba(2,6,23,.48);padding:var(--se-info-edge)!important;overflow:hidden!important;overscroll-behavior:contain;font-family:var(--se-font-ui,inherit);}
.se-info-pop,.se-info-pop *{pointer-events:auto!important;}
/* Responsive information card: it must never exceed the visible viewport.
   The header stays outside the scroll region while the potentially long
   subjects/session list scrolls inside the card. */
.se-info-card{position:relative;box-sizing:border-box;width:min(440px,96vw);max-width:100%;max-height:calc(100vh - var(--se-info-space));max-height:calc(100dvh - var(--se-info-space));display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid var(--border-strong,rgba(255,255,255,.16));border-radius:1rem;background:var(--panel-bg,#071126);box-shadow:0 22px 70px rgba(0,0,0,.45);padding:16px;text-align:start;}
/* v2.5.37: the close button used float:inline-end, so the <h3> wrapped around it
   and the button drifted out of the card corner. A flex header row pins it. */
.se-info-head{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:12px;margin:0;}
.se-info-head-main{flex:1 1 auto;min-width:0;}
.se-info-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;padding-inline-end:4px;}
.se-info-scroll:focus-visible{outline:2px solid var(--primary,#2de8c8);outline-offset:-2px;border-radius:.65rem;}
.se-info-scroll::-webkit-scrollbar{width:8px}.se-info-scroll::-webkit-scrollbar-track{background:transparent}.se-info-scroll::-webkit-scrollbar-thumb{background:rgba(148,163,184,.28);border:2px solid transparent;border-radius:999px;background-clip:padding-box}.se-info-scroll::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.46);border:2px solid transparent;background-clip:padding-box}
@media(max-width:600px),(max-height:700px){.se-info-pop{--se-info-edge:8px;--se-info-space:16px;padding:max(var(--se-info-edge),env(safe-area-inset-top)) max(var(--se-info-edge),env(safe-area-inset-right)) max(var(--se-info-edge),env(safe-area-inset-bottom)) max(var(--se-info-edge),env(safe-area-inset-left))!important}.se-info-card{width:min(440px,100%);max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:12px;border-radius:.9rem}.se-info-head{gap:8px}.se-info-scroll{padding-inline-end:2px}}
.se-info-card h3{margin:0;color:var(--text-primary,#f8fafc);font-size:1rem;font-weight:950;line-height:1.35;overflow-wrap:anywhere;}
.se-info-card p{margin:0;color:var(--text-muted,#94a3b8);font-size:.76rem;font-weight:800;}
.se-session-progress{display:grid;gap:8px;margin-top:14px;padding-top:13px;border-top:1px solid var(--border,rgba(255,255,255,.1))}.se-session-progress>[data-session-progress-list]{display:grid;gap:8px}.se-session-progress-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:10px;border:1px solid var(--border,rgba(255,255,255,.1));border-radius:.8rem;background:rgba(255,255,255,.035)}.se-session-progress-row>div{min-width:0;display:grid;gap:3px}.se-session-progress-row>div strong{overflow-wrap:anywhere;color:var(--text-primary,#f8fafc);font-size:.72rem}.se-session-progress-row>div span{color:var(--text-muted,#94a3b8);font-size:.6rem}.se-session-progress-count{min-width:58px;padding:7px 9px;border-radius:999px;background:rgba(34,211,178,.12);color:var(--primary,#2de8c8);font-size:.76rem;text-align:center;font-variant-numeric:tabular-nums}.se-session-group-line{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:7px;border-top:1px dashed var(--border,rgba(255,255,255,.1));color:var(--text-muted,#94a3b8);font-size:.6rem}.se-session-group-line b{color:inherit;font-variant-numeric:tabular-nums}.se-session-absence-line{color:#fca5a5;background:rgba(239,68,68,.055);border-top-color:rgba(248,113,113,.2);border-radius:.5rem;padding:7px 8px}.se-session-absence-line b{color:#f87171}.se-session-progress-loading,.se-session-progress-empty{display:flex;align-items:center;gap:7px;padding:9px 10px;border-radius:.7rem;background:rgba(148,163,184,.08);color:var(--text-muted,#94a3b8);font-size:.66rem;line-height:1.5}
.se-info-role{display:inline-flex;align-items:center;margin:6px 0 10px;border:1px solid rgba(34,211,178,.28);background:rgba(34,211,178,.10);color:var(--primary,#2de8c8);border-radius:999px;padding:4px 10px;font-size:.68rem;font-weight:950;line-height:1;}
/* Reset anything the host WP theme applies to <button> — this modal is mounted on
   <body>, outside #app, so the app's own button resets never reach it. */
.se-info-pop .se-info-close{flex:0 0 auto;float:none;margin:0;padding:0;box-sizing:border-box;width:32px;height:32px;min-width:32px;min-height:32px;max-width:32px;max-height:32px;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1;font-size:.82rem;font-family:inherit;text-transform:none;letter-spacing:normal;text-indent:0;border:1px solid var(--border,rgba(255,255,255,.1));background:rgba(255,255,255,.06);color:var(--text-primary,#f8fafc);border-radius:.65rem;cursor:pointer;-webkit-appearance:none;appearance:none;box-shadow:none;overflow:hidden;}
.se-info-pop .se-info-close:hover{background:rgba(255,255,255,.12);border-color:var(--border-strong,rgba(255,255,255,.16));}
.se-info-pop .se-info-close:focus-visible{outline:2px solid var(--primary,#2de8c8);outline-offset:2px;}
.se-info-pop .se-info-close i{display:block;line-height:1;font-size:.82rem;margin:0;}
#app[data-theme="light"] .se-user-subject-card{background:#fff!important;border-color:#dbe3ee!important;}

/* v4.0.39.19.88 — the redundant per-student individual-teacher editor was
   removed from Users. Individual/group assignments remain managed centrally in
   the Assignments tab; legacy backend data is intentionally preserved. */

/* v2.5.38 LIGHT THEME for the info modal.
   The modal is mounted on <body>, outside #app, so the old
   `#app[data-theme="light"] .se-info-card` selectors never matched and the card
   kept its hardcoded dark `--panel-bg` fallback (undefined token) while its text
   correctly inherited the light `--text-primary` → dark text on a dark card.
   `_applyTheme()` stamps data-theme on <body>, and showUserSubjects() also stamps
   it on the popup itself, so both selectors below are covered. */
[data-theme="light"] .se-info-pop,
.se-info-pop[data-theme="light"]{background:rgba(15,23,42,.28)!important;}
[data-theme="light"] .se-info-pop .se-info-card,
.se-info-pop[data-theme="light"] .se-info-card{background:#ffffff;border-color:#dbe3ee;box-shadow:0 22px 70px rgba(15,23,42,.18);}
[data-theme="light"] .se-info-pop .se-info-card h3,
.se-info-pop[data-theme="light"] .se-info-card h3{color:#1a2332;}
[data-theme="light"] .se-info-pop .se-info-card p,
.se-info-pop[data-theme="light"] .se-info-card p{color:#5b6b80;}
[data-theme="light"] .se-info-pop .se-info-close,
.se-info-pop[data-theme="light"] .se-info-close{background:#f1f5f9;border-color:#dbe3ee;color:#1a2332;}
[data-theme="light"] .se-info-pop .se-info-close:hover,
.se-info-pop[data-theme="light"] .se-info-close:hover{background:#e2e8f0;border-color:#cbd5e1;}
[data-theme="light"] .se-info-pop .se-info-role,
[data-theme="light"] .se-info-pop .se-subject-pill,
.se-info-pop[data-theme="light"] .se-info-role,
.se-info-pop[data-theme="light"] .se-subject-pill{border-color:rgba(13,155,128,.30);background:rgba(13,155,128,.08);color:#0d9b80;}
.se-info-pop[data-theme="light"] .se-session-progress-row{background:#f8fafc;border-color:#dbe3ee}.se-info-pop[data-theme="light"] .se-session-progress-row>div strong{color:#1a2332}.se-info-pop[data-theme="light"] .se-session-progress-row>div span,.se-info-pop[data-theme="light"] .se-session-group-line,.se-info-pop[data-theme="light"] .se-session-progress-loading,.se-info-pop[data-theme="light"] .se-session-progress-empty{color:#64748b}.se-info-pop[data-theme="light"] .se-session-progress-loading,.se-info-pop[data-theme="light"] .se-session-progress-empty{background:#f1f5f9}

/* v2.5.11 group subjects, cleaner admin panel, strict RTL/LTR and theme consistency */
#admin-reload-btn{display:none!important;visibility:hidden!important;pointer-events:none!important;}
.se-admin-head{padding-inline-end:42px;}
.se-group-form{display:grid!important;grid-template-columns:minmax(210px,1.2fr) minmax(210px,1fr) auto!important;align-items:stretch;gap:8px;margin-bottom:10px;}
.se-group-form input[type="hidden"]{display:none!important;}
.se-group-form input,.se-group-form select,.se-admin-form input,.se-admin-form select{outline:0;transition:border-color .15s,box-shadow .15s,background .15s,color .15s;}
.se-group-form select,.se-admin-form select{min-height:38px;border:1px solid var(--border-strong);border-radius:.65rem;background:rgba(255,255,255,.06);color:var(--text-primary);padding:0 10px;font-family:inherit;font-size:.78rem;}
.se-group-subject{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border:1px solid rgba(34,211,178,.22);border-radius:999px;background:rgba(34,211,178,.08);color:var(--primary);font-size:.62rem;font-weight:950;white-space:nowrap;}
.se-group-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0;}
.se-assignment-members{display:grid;gap:8px;min-width:0;max-width:100%;}
.se-assignment-teachers{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;min-width:0;line-height:1.55;}
.se-assignment-teachers>strong{flex:0 0 auto;color:var(--text-primary);font-size:.66rem;font-weight:950;}
.se-assignment-teachers>span{min-width:0;color:var(--text-primary);font-size:.66rem;font-weight:850;overflow-wrap:anywhere;word-break:normal;}
.se-assignment-students{display:grid;gap:5px;min-width:0;}
.se-assignment-students-label{color:var(--text-muted);font-size:.61rem;font-weight:900;line-height:1.4;}
.se-assignment-student-list{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:4px;min-width:0;}
.se-assignment-student-list>li{display:grid;grid-template-columns:2.2em minmax(0,1fr);align-items:start;gap:5px;min-width:0;padding:2px 0;line-height:1.5;}
.se-assignment-student-number{font-variant-numeric:tabular-nums;color:var(--primary);font-size:.64rem;font-weight:950;white-space:nowrap;unicode-bidi:isolate;}
.se-assignment-student-main{display:flex;align-items:center;gap:7px;min-width:0;direction:ltr;}
.se-assignment-payment-lamp{display:inline-block;width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 2px rgba(148,163,184,.12);}
.se-assignment-payment-lamp.paid{background:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.13);}
.se-assignment-payment-lamp.expiring_soon{background:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.14);}
.se-assignment-payment-lamp.overdue{background:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.13);}
.se-assignment-student-name{min-width:0;flex:1 1 auto;color:var(--text-muted);font-size:.64rem;font-weight:800;overflow-wrap:anywhere;word-break:normal;unicode-bidi:isolate;}
#app[data-lang="ar"] .se-assignment-student-list>li{direction:rtl;text-align:right;}
#app:not([data-lang="ar"]) .se-assignment-student-list>li{direction:ltr;text-align:left;}
#app[data-theme="light"] .se-assignment-student-name{color:#64748b;}
@media(max-width:760px){.se-assignment-members{gap:7px}.se-assignment-student-list>li{grid-template-columns:2.05em minmax(0,1fr)}.se-assignment-teachers>strong,.se-assignment-teachers>span,.se-assignment-student-name,.se-assignment-student-number{font-size:.7rem;}}
.se-group-planned{display:inline-flex;align-items:center;gap:5px;color:var(--text-muted);font-size:.58rem;font-weight:850;line-height:1.4}.se-group-planned i{color:var(--primary)}
.se-group-sidebar-subject{display:block;font-size:.56rem;color:var(--text-muted);font-weight:900;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#app[data-lang="ar"] #m-settings .m-box,#app[data-lang="ar"] #m-adminpanel .m-box{direction:rtl;text-align:right;}
#app:not([data-lang="ar"]) #m-settings .m-box,#app:not([data-lang="ar"]) #m-adminpanel .m-box{direction:ltr;text-align:left;}
#app[data-lang="ar"] #m-settings .se-pill-row,#app[data-lang="ar"] #m-adminpanel .se-pill-row{direction:rtl;justify-content:flex-start;}
#app:not([data-lang="ar"]) #m-settings .se-pill-row,#app:not([data-lang="ar"]) #m-adminpanel .se-pill-row{direction:ltr;justify-content:flex-start;}
#app[data-lang="ar"] .se-admin-table th,#app[data-lang="ar"] .se-admin-table td{text-align:right;}
#app:not([data-lang="ar"]) .se-admin-table th,#app:not([data-lang="ar"]) .se-admin-table td{text-align:left;}
#app[data-theme="light"] .se-set-row,#app[data-theme="light"] .se-assignment-box,#app[data-theme="light"] .se-search-row,#app[data-theme="light"] .se-member-grid label{background:#f8fafc!important;border-color:#d7dee8!important;color:#1f2937!important;}
#app[data-theme="light"] .se-pill,#app[data-theme="light"] .se-mini-actions button{background:#ffffff!important;border-color:#d7dee8!important;color:#1f2937!important;}
#app[data-theme="light"] .se-pill:hover,#app[data-theme="light"] .se-pill.active{background:rgba(13,155,128,.10)!important;border-color:rgba(13,155,128,.28)!important;color:#0d9b80!important;}
#app[data-theme="light"] .se-admin-form input,#app[data-theme="light"] .se-admin-form select,#app[data-theme="light"] .se-group-form input,#app[data-theme="light"] .se-group-form select,#app[data-theme="light"] .se-search-row input{background:#ffffff!important;border-color:#cbd5e1!important;color:#1f2937!important;}
#app[data-theme="light"] .se-admin-form input::placeholder,#app[data-theme="light"] .se-group-form input::placeholder,#app[data-theme="light"] .se-search-row input::placeholder{color:#64748b!important;}
#app[data-theme="light"] .se-admin-table th,#app[data-theme="light"] .se-admin-table td{border-bottom-color:#e2e8f0!important;color:#334155!important;}
#app[data-theme="light"] .se-admin-table th{color:#64748b!important;}
#app[data-theme="light"] .se-group-subject{background:rgba(13,155,128,.08)!important;border-color:rgba(13,155,128,.22)!important;color:#0d9b80!important;}
#app[data-theme="light"] .se-empty-row{color:#64748b!important;}
#app[data-theme="dark"] .se-admin-form input,#app[data-theme="dark"] .se-admin-form select,#app[data-theme="dark"] .se-group-form input,#app[data-theme="dark"] .se-group-form select,#app[data-theme="dark"] .se-search-row input{background:rgba(255,255,255,.06)!important;color:var(--text-primary)!important;border-color:var(--border-strong)!important;}

/* v2.5.12 safer group edit/create flow */
.se-group-form{grid-template-columns:minmax(210px,1.2fr) minmax(210px,1fr) minmax(150px,.55fr) auto auto!important;}
.se-group-cancel-btn{display:none!important;min-height:46px!important;border-radius:999px!important;white-space:nowrap;}
.se-group-form.editing .se-group-cancel-btn{display:inline-flex!important;align-items:center;justify-content:center;}
.se-group-form.editing #ap-group-save{box-shadow:0 0 0 1px rgba(34,211,178,.22),0 10px 26px rgba(34,211,178,.13);}
@media(max-width:760px){.se-group-form{grid-template-columns:1fr!important}.se-group-cancel-btn{width:100%;}}
@media(max-width:760px){.se-group-form{grid-template-columns:1fr!important}.se-admin-head{padding-inline-end:38px;}}

#app:not(.wp-admin-session) #m-adminpanel{display:none!important;visibility:hidden!important;pointer-events:none!important;}

/* v2.5.14 administrative audit viewer */
.se-audit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 12px;}
.se-audit-card{border:1px solid var(--border);border-radius:.85rem;background:rgba(255,255,255,.035);padding:10px;min-width:0;}
.se-audit-card .se-search-row{margin:6px 0 8px;}
.se-audit-clear{border:0;background:transparent;color:var(--text-muted);font-size:1.1rem;font-weight:900;cursor:pointer;padding:0 6px;}
.se-audit-clear:hover{color:var(--danger-text,#f87171);}
.se-audit-selected{min-height:28px;color:var(--text-secondary);font-size:.72rem;font-weight:900;margin-bottom:6px;}
.se-audit-selected .tag{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(34,211,178,.30);background:rgba(34,211,178,.12);color:var(--primary);border-radius:999px;padding:5px 9px;}
.se-audit-options{display:grid;gap:6px;max-height:180px;overflow:auto;padding-inline-end:2px;}
.se-audit-option{width:100%;border:1px solid var(--border);background:rgba(255,255,255,.045);color:var(--text-primary);border-radius:.65rem;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font-family:inherit;text-align:start;}
.se-audit-option:hover,.se-audit-option.active{border-color:rgba(34,211,178,.35);background:rgba(34,211,178,.10);}
.se-audit-option small{color:var(--text-muted);font-weight:900;}
.se-audit-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0 10px;}
.se-audit-conversation{border:1px solid var(--border);border-radius:1rem;background:rgba(4,9,24,.28);min-height:220px;max-height:42vh;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px;}
.se-audit-title{font-size:.82rem;font-weight:950;color:var(--text-primary);margin-bottom:4px;}
.se-audit-msg{max-width:min(720px,88%);border:1px solid var(--border);background:rgba(255,255,255,.055);border-radius:1rem;padding:10px 12px;align-self:flex-start;}
.se-audit-msg.focus{border-color:rgba(34,211,178,.40);box-shadow:0 0 0 1px rgba(34,211,178,.08) inset;}
.se-audit-msg .nm{font-size:.72rem;font-weight:950;color:var(--primary);margin-bottom:5px;}
.se-audit-msg .txt{font-size:.82rem;line-height:1.7;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;}
.se-audit-msg .ts{font-size:.64rem;color:var(--text-muted);margin-top:6px;text-align:end;}
.se-audit-tools{display:none;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 10px;}
.se-audit-tools.on{display:flex;}
.se-audit-tools .se-search-row{min-width:min(320px,100%);flex:1;margin:0;}
.se-audit-composer{display:none;gap:8px;align-items:flex-end;margin:10px 0 0;}
.se-audit-composer.on{display:flex;}
.se-audit-composer textarea{flex:1;min-height:42px;max-height:112px;resize:vertical;border:1px solid var(--border-strong);border-radius:.75rem;background:rgba(255,255,255,.06);color:var(--text-primary);padding:10px 12px;font-family:inherit;font-size:.82rem;line-height:1.5;}
.se-audit-composer button{min-height:42px;}
.se-audit-reply{display:none;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(34,211,178,.28);background:rgba(34,211,178,.08);border-radius:.75rem;padding:8px 10px;margin:8px 0;color:var(--text-primary);font-size:.75rem;}
.se-audit-reply.on{display:flex;}
.se-audit-reply strong{color:var(--primary);display:block;margin-bottom:2px;}
.se-audit-msg{position:relative;}
.se-audit-msg .se-audit-msg-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:7px;}
.se-audit-msg .se-audit-msg-actions button{border:1px solid var(--border);background:rgba(255,255,255,.045);color:var(--text-secondary);border-radius:999px;padding:5px 8px;font-size:.65rem;font-weight:900;cursor:pointer;}
.se-audit-msg .se-audit-msg-actions button:hover{color:var(--primary);border-color:rgba(34,211,178,.35);background:rgba(34,211,178,.08);}
.se-audit-msg.search-hidden{display:none!important;}
#app[data-theme="light"] .se-audit-card,#app[data-theme="light"] .se-audit-conversation,#app[data-theme="light"] .se-audit-msg{background:#fff!important;border-color:#cbd5e1!important;color:#1f2937!important;}
#app[data-theme="light"] .se-audit-option{background:#fff!important;border-color:#cbd5e1!important;color:#1f2937!important;}
.se-contact-modal .m-box{max-width:min(720px,94vw);}
.se-contact-head h2{font-family:var(--se-font-ui), sans-serif;font-size:1rem;font-weight:950;color:var(--text-primary);margin:0 0 4px;}
.se-contact-head p{font-size:.76rem;line-height:1.6;color:var(--text-muted);margin:0 0 10px;}
.se-contact-conversation{max-height:48vh;}
.se-adminmsgs-layout{display:grid;grid-template-columns:minmax(210px,280px) 1fr;gap:12px;min-height:420px;}
.se-adminmsgs-list-card,.se-adminmsgs-chat-card{border:1px solid var(--border);border-radius:1rem;background:rgba(255,255,255,.035);padding:10px;min-width:0;}
.se-adminmsgs-threads{display:grid;gap:7px;max-height:58vh;overflow:auto;padding-inline-end:2px;}
.se-adminmsg-thread{width:100%;border:1px solid var(--border);background:rgba(255,255,255,.045);color:var(--text-primary);border-radius:.8rem;padding:9px 10px;display:grid;gap:4px;cursor:pointer;font-family:inherit;text-align:start;}
.se-adminmsg-thread:hover,.se-adminmsg-thread.active{border-color:rgba(34,211,178,.38);background:rgba(34,211,178,.10);}
.se-adminmsg-thread strong{font-size:.78rem;font-weight:950;color:var(--text-primary);}
.se-adminmsg-thread small{font-size:.62rem;color:var(--text-muted);font-weight:850;}
.se-adminmsg-thread span{font-size:.68rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#app[data-theme="light"] .se-adminmsgs-list-card,#app[data-theme="light"] .se-adminmsgs-chat-card,#app[data-theme="light"] .se-adminmsg-thread{background:#fff!important;border-color:#cbd5e1!important;color:#1f2937!important;}
@media(max-width:760px){.se-audit-grid{grid-template-columns:1fr}.se-audit-conversation{max-height:48vh}.se-audit-msg{max-width:96%}.se-adminmsgs-layout{grid-template-columns:1fr}.se-adminmsgs-threads{max-height:220px}.se-contact-conversation{max-height:46vh}}


/* v2.5.7 settings/admin placement, RTL/LTR comfort, English language, read-only general community */
#ni-admin-panel{display:none!important;visibility:hidden!important;pointer-events:none!important;}
#app[data-lang="ar"] #m-settings .m-box,
#app[data-lang="ar"] #m-adminpanel .m-box,
#app[data-lang="ar"] #tools-popup,
#app[data-lang="ar"] #translate-picker{direction:rtl;text-align:right;}
#app:not([data-lang="ar"]) #m-settings .m-box,
#app:not([data-lang="ar"]) #m-adminpanel .m-box,
#app:not([data-lang="ar"]) #tools-popup,
#app:not([data-lang="ar"]) #translate-picker{direction:ltr;text-align:left;}
#app[data-lang="ar"] .se-set-row{direction:rtl;}
#app:not([data-lang="ar"]) .se-set-row{direction:ltr;}
.se-set-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;}
.se-set-row strong{flex-shrink:0;min-width:92px;}
.se-pill-row{display:flex!important;gap:8px!important;flex-wrap:wrap!important;align-items:center!important;}
#app[data-lang="ar"] .se-pill-row{direction:rtl;justify-content:flex-start;}
#app:not([data-lang="ar"]) .se-pill-row{direction:ltr;justify-content:flex-start;}
.se-admin-open-pill{min-width:134px;justify-content:center;display:inline-flex;align-items:center;}
#chat-panel.global-readonly #ft{display:none!important;}
#chat-panel.global-readonly #tools-popup,
#chat-panel.global-readonly #translate-picker,
#chat-panel.global-readonly #emj,
#chat-panel.global-readonly #att,
#chat-panel.global-readonly #reply-prev{display:none!important;}
#adm-block.hidden #stu-lst{display:none!important;}
#app[data-lang="ar"] .sb-head,
#app[data-lang="ar"] .ni,
#app[data-lang="ar"] .ft-row{direction:rtl;}
#app:not([data-lang="ar"]) .sb-head,
#app:not([data-lang="ar"]) .ni,
#app:not([data-lang="ar"]) .ft-row{direction:ltr;}
#app[data-lang="ar"] #txt-inp{text-align:right;direction:rtl;}
#app:not([data-lang="ar"]) #txt-inp{text-align:left;direction:ltr;}


/* v2.5.10 admin assignment + search polish */
.se-search-row{
  display:flex!important;align-items:center!important;gap:9px!important;
  min-height:42px!important;padding:0 12px!important;margin:0 0 12px!important;
  border:1px solid rgba(148,163,184,.18)!important;border-radius:.9rem!important;
  background:rgba(255,255,255,.045)!important;color:var(--text-muted)!important;
}
.se-search-row i{font-size:.78rem;opacity:.78;flex:0 0 auto;}
.se-search-row input{
  width:100%!important;min-height:38px!important;border:0!important;outline:0!important;background:transparent!important;
  color:var(--text-primary)!important;font-family:inherit!important;font-size:.78rem!important;font-weight:800!important;
}
.se-search-row input::placeholder{color:var(--text-muted)!important;opacity:.72!important;font-weight:800!important;}
.se-assignment-box{
  border:1px solid rgba(148,163,184,.14)!important;border-radius:1rem!important;
  background:rgba(255,255,255,.025)!important;padding:12px!important;margin:0 0 12px!important;
}
.se-assign-title{font-size:.78rem;font-weight:950;color:var(--text-primary);margin:0 0 10px;}
.se-role-title{font-size:.68rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:10px 0 8px;}
.se-role-grid{max-height:170px!important;min-height:42px!important;margin-bottom:4px!important;}
.se-member-search{margin:10px 0 8px!important;}
.se-assignment-member-search{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:stretch;gap:8px;margin:0 0 10px;}
.se-assignment-member-search .se-member-search{margin:0!important;}
.se-member-search-button{width:44px;min-width:44px;min-height:42px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 32%,var(--border));border-radius:.9rem;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);cursor:pointer;touch-action:manipulation;}
.se-member-search-button:hover,.se-member-search-button:focus-visible{background:var(--primary);border-color:var(--primary);color:#fff;outline:0;}
.se-empty-row{padding:12px!important;color:var(--text-muted)!important;font-size:.76rem!important;text-align:center!important;}
#app[data-lang="ar"] .se-search-row{direction:rtl;}
#app:not([data-lang="ar"]) .se-search-row{direction:ltr;}
#app[data-lang="ar"] .se-search-row input{text-align:right;direction:rtl;}
#app:not([data-lang="ar"]) .se-search-row input{text-align:left;direction:ltr;}
#app[data-lang="ar"] .se-assign-title,#app[data-lang="ar"] .se-role-title{text-align:right;direction:rtl;}
#app:not([data-lang="ar"]) .se-assign-title,#app:not([data-lang="ar"]) .se-role-title{text-align:left;direction:ltr;}
@media(max-width:760px){.se-role-grid{max-height:145px!important}.se-search-row{min-height:40px!important}}



/* v2.5.18 admin contact notification and clean admin-only inbox */
#settings-admin-contact-row{display:none!important;visibility:hidden!important;pointer-events:none!important;}
.se-admin-contact-launch{position:relative!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;width:100%!important;margin-bottom:8px!important;padding:.72rem .82rem!important;border:1px solid rgba(34,211,178,.25)!important;background:rgba(34,211,178,.10)!important;color:var(--text-primary)!important;border-radius:.85rem!important;font-weight:900!important;}
.se-admin-contact-launch.hidden{display:none!important;}
.se-admin-contact-launch > span:first-child{display:inline-flex;align-items:center;gap:8px;min-width:0;}
.se-admin-contact-launch i{color:var(--primary)!important;}
.se-notif-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.64rem;font-weight:950;line-height:1;box-shadow:0 0 0 2px rgba(239,68,68,.18);}
.se-notif-badge.hidden{display:none!important;}
.se-admin-tabs button{position:relative;display:inline-flex;align-items:center;gap:7px;}
.se-adminmsgs-chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.se-adminmsgs-chat-head .se-audit-title{margin:0;min-width:0;}
.se-adminmsg-thread{position:relative;}
.se-adminmsg-thread .se-thread-badge{position:absolute;top:8px;inset-inline-end:8px;}
.se-adminmsg-thread.has-unread{border-color:rgba(239,68,68,.38)!important;background:rgba(239,68,68,.08)!important;}
.se-adminmsg-thread.has-unread strong{padding-inline-end:28px;}
#app[data-theme="light"] .se-admin-contact-launch{background:#ecfdf5!important;border-color:#99f6e4!important;color:#1f2937!important;}

/* v2.5.17 admin panel sizing, stable theme switching, and admin conversation attachments */
html.edu-theme-switching *, body.edu-theme-switching *, #app.edu-theme-switching *{transition:none!important;animation:none!important;scroll-behavior:auto!important;}
html[data-theme="light"],body[data-theme="light"],#app[data-theme="light"]{color-scheme:light;}
html[data-theme="dark"],body[data-theme="dark"],#app[data-theme="dark"]{color-scheme:dark;}
.se-admin-modal{padding:10px!important;align-items:center!important;justify-content:center!important;}
.se-admin-modal .m-box{width:min(1380px,calc(100vw - 24px))!important;max-width:none!important;height:min(94vh,920px)!important;max-height:calc(100vh - 24px)!important;padding:1.25rem 1.35rem!important;border-radius:1.25rem!important;}
.se-admin-modal .se-admin-head{flex:0 0 auto!important;margin-bottom:10px!important;}
.se-admin-modal .se-admin-tabs{flex:0 0 auto!important;margin-bottom:12px!important;}
.se-admin-modal .se-admin-pane{min-height:0!important;}
.se-admin-modal .se-admin-pane.active{flex:1 1 auto!important;min-height:0!important;}
#admin-pane-audit.active,#admin-pane-adminmsgs.active{display:flex!important;flex-direction:column!important;overflow:hidden!important;}
#admin-pane-users.active,#admin-pane-groups.active{overflow:auto!important;}
#admin-pane-audit .se-audit-grid{flex:0 0 auto!important;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr)!important;}
#admin-pane-audit .se-audit-actions,#admin-pane-audit #ap-audit-status,#admin-pane-audit #ap-audit-tools{flex:0 0 auto!important;}
#ap-audit-conversation{flex:1 1 auto!important;min-height:360px!important;max-height:none!important;}
.se-adminmsgs-layout{flex:1 1 auto!important;min-height:0!important;height:100%!important;grid-template-columns:minmax(260px,340px) minmax(0,1fr)!important;}
.se-adminmsgs-list-card,.se-adminmsgs-chat-card{min-height:0!important;display:flex!important;flex-direction:column!important;}
.se-adminmsgs-threads{flex:1 1 auto!important;max-height:none!important;}
#ap-adminmsgs-conversation{flex:1 1 auto!important;min-height:360px!important;max-height:none!important;}
.se-contact-modal .m-box{width:min(940px,calc(100vw - 28px))!important;max-width:none!important;height:min(86vh,780px)!important;}
.se-contact-conversation{flex:1 1 auto!important;min-height:300px!important;max-height:none!important;}
.se-audit-composer{grid-template-columns:auto auto 1fr auto!important;align-items:flex-end!important;}
.se-audit-composer.on{display:grid!important;}
.se-audit-composer textarea{width:100%!important;min-width:0!important;}
.se-attach-btn{width:42px;height:42px;border-radius:.85rem;border:1px solid var(--border);background:var(--glass-bg);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;flex:0 0 auto;}
.se-attach-btn:hover,.se-attach-btn.recording{color:var(--primary);border-color:rgba(34,211,178,.38);background:var(--primary-soft);}
.se-attach-btn.recording{box-shadow:0 0 0 3px rgba(248,113,113,.14);color:var(--danger-text);border-color:rgba(248,113,113,.42);}
.se-audit-attachment{display:none;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 0;padding:8px 10px;border:1px solid rgba(34,211,178,.25);border-radius:.8rem;background:var(--primary-soft);color:var(--text-primary);font-size:.76rem;font-weight:900;}
.se-audit-attachment.on{display:flex;}
.se-audit-attachment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.se-audit-attachment button{border:0;background:transparent;color:var(--danger-text);font-size:1.05rem;cursor:pointer;font-weight:950;}
#app[data-theme="light"] .se-admin-modal .m-box,html[data-theme="light"] .se-admin-modal .m-box,body[data-theme="light"] .se-admin-modal .m-box{background:#ffffff!important;border-color:#dbe3ee!important;box-shadow:0 18px 54px rgba(15,23,42,.16)!important;}
#app[data-theme="dark"] .se-admin-modal .m-box,html[data-theme="dark"] .se-admin-modal .m-box,body[data-theme="dark"] .se-admin-modal .m-box{background:linear-gradient(180deg,rgba(10,18,44,.98),rgba(7,15,37,.98))!important;border-color:rgba(148,163,184,.20)!important;}
#app[data-theme="light"] .se-admin-table thead th,html[data-theme="light"] .se-admin-table thead th,body[data-theme="light"] .se-admin-table thead th{background:#f8fafc!important;color:#475569!important;}
#app[data-theme="light"] .se-admin-table-wrap,html[data-theme="light"] .se-admin-table-wrap,body[data-theme="light"] .se-admin-table-wrap,
#app[data-theme="light"] .se-audit-card,html[data-theme="light"] .se-audit-card,body[data-theme="light"] .se-audit-card,
#app[data-theme="light"] .se-audit-conversation,html[data-theme="light"] .se-audit-conversation,body[data-theme="light"] .se-audit-conversation,
#app[data-theme="light"] .se-adminmsgs-list-card,html[data-theme="light"] .se-adminmsgs-list-card,body[data-theme="light"] .se-adminmsgs-list-card,
#app[data-theme="light"] .se-adminmsgs-chat-card,html[data-theme="light"] .se-adminmsgs-chat-card,body[data-theme="light"] .se-adminmsgs-chat-card{background:#ffffff!important;border-color:#dbe3ee!important;color:#1e293b!important;}
#app[data-theme="light"] .se-audit-msg,html[data-theme="light"] .se-audit-msg,body[data-theme="light"] .se-audit-msg,
#app[data-theme="light"] .se-audit-option,html[data-theme="light"] .se-audit-option,body[data-theme="light"] .se-audit-option,
#app[data-theme="light"] .se-adminmsg-thread,html[data-theme="light"] .se-adminmsg-thread,body[data-theme="light"] .se-adminmsg-thread{background:#f8fafc!important;border-color:#dbe3ee!important;color:#1e293b!important;}
#app[data-theme="light"] .se-search-row,html[data-theme="light"] .se-search-row,body[data-theme="light"] .se-search-row,
#app[data-theme="light"] .se-audit-composer textarea,html[data-theme="light"] .se-audit-composer textarea,body[data-theme="light"] .se-audit-composer textarea,
#app[data-theme="light"] .se-attach-btn,html[data-theme="light"] .se-attach-btn,body[data-theme="light"] .se-attach-btn{background:#f8fafc!important;border-color:#dbe3ee!important;color:#1e293b!important;}
#app[data-theme="dark"] .se-audit-conversation,html[data-theme="dark"] .se-audit-conversation,body[data-theme="dark"] .se-audit-conversation,
#app[data-theme="dark"] .se-adminmsgs-list-card,html[data-theme="dark"] .se-adminmsgs-list-card,body[data-theme="dark"] .se-adminmsgs-list-card,
#app[data-theme="dark"] .se-adminmsgs-chat-card,html[data-theme="dark"] .se-adminmsgs-chat-card,body[data-theme="dark"] .se-adminmsgs-chat-card{background:rgba(4,9,24,.28)!important;border-color:var(--border)!important;color:var(--text-primary)!important;}
#app[data-lang="ar"] .se-audit-composer,#app[data-lang="ar"] .se-audit-attachment{direction:rtl;text-align:right;}
#app:not([data-lang="ar"]) .se-audit-composer,#app:not([data-lang="ar"]) .se-audit-attachment{direction:ltr;text-align:left;}
@media(max-width:860px){.se-admin-modal .m-box{width:calc(100vw - 12px)!important;height:calc(100dvh - 12px)!important;max-height:calc(100dvh - 12px)!important;padding:1rem!important;border-radius:1rem!important}.se-adminmsgs-layout{grid-template-columns:1fr!important}.se-audit-composer{grid-template-columns:auto auto 1fr!important}.se-audit-composer .btn{grid-column:1 / -1;width:100%;}.se-contact-modal .m-box{width:calc(100vw - 14px)!important;height:calc(100dvh - 14px)!important;}}


/* v2.5.19 responsive admin messages, compact notifications, and strict admin-contact visibility */
#app[data-admin-contact-allowed="0"] #btn-admin-contact-launch,
#app[data-user-role="admin"] #btn-admin-contact-launch,
#app[data-wp-admin="1"] #btn-admin-contact-launch,
body.wp-admin #btn-admin-contact-launch,
html[data-wp-admin="1"] #btn-admin-contact-launch{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
}

/* Compact floating notification: avoid huge ugly blocks on desktop/mobile. */
#msg-notif{
  top:clamp(10px,2vh,18px)!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:auto!important;
  min-width:0!important;
  max-width:min(360px,calc(100vw - 24px))!important;
  padding:9px 11px!important;
  border-radius:14px!important;
  gap:9px!important;
  align-items:center!important;
  overflow:hidden!important;
}
#notif-avatar{width:30px!important;height:30px!important;border-radius:10px!important;font-size:.74rem!important;}
#notif-body{min-width:0!important;max-width:290px!important;overflow:hidden!important;}
#notif-name{font-size:.68rem!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
#notif-text{font-size:.72rem!important;line-height:1.25!important;max-width:100%!important;display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#app[data-lang="ar"] #msg-notif{direction:rtl;text-align:right;}
#app:not([data-lang="ar"]) #msg-notif{direction:ltr;text-align:left;}

/* Full, responsive admin modal: input/composer remains visible on TV, desktop, tablet, and phone. */
.se-admin-modal.show{display:flex!important;align-items:center!important;justify-content:center!important;padding:clamp(6px,1.2vw,14px)!important;overflow:hidden!important;}
.se-admin-modal .m-box{
  width:min(1540px,calc(100vw - 14px))!important;
  height:calc(100dvh - 14px)!important;
  max-width:none!important;max-height:none!important;
  display:flex!important;flex-direction:column!important;
  overflow:hidden!important;box-sizing:border-box!important;
  padding:clamp(.75rem,1.25vw,1.25rem)!important;
}
.se-admin-modal .m-close{z-index:50!important;}
.se-admin-modal .se-admin-head,.se-admin-modal .se-admin-tabs,.se-admin-modal .se-admin-note{flex:0 0 auto!important;}
.se-admin-modal .se-admin-pane{min-height:0!important;overflow:hidden!important;}
.se-admin-modal .se-admin-pane.active{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;}
#admin-pane-adminmsgs.active{display:flex!important;flex-direction:column!important;min-height:0!important;}
#admin-pane-adminmsgs .se-adminmsgs-layout{
  flex:1 1 auto!important;min-height:0!important;height:auto!important;
  display:grid!important;grid-template-columns:minmax(250px,340px) minmax(0,1fr)!important;
  gap:12px!important;overflow:hidden!important;
}
#admin-pane-adminmsgs .se-adminmsgs-list-card,
#admin-pane-adminmsgs .se-adminmsgs-chat-card{
  min-height:0!important;height:100%!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;box-sizing:border-box!important;
}
#ap-adminmsgs-threads{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow:auto!important;padding-bottom:4px!important;}
#ap-adminmsgs-tools,#ap-adminmsgs-reply,#ap-adminmsgs-attachment,#ap-adminmsgs-composer,#admin-pane-adminmsgs .se-adminmsgs-chat-head{flex:0 0 auto!important;}
#ap-adminmsgs-conversation{
  flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;
  overflow:auto!important;scrollbar-gutter:stable!important;padding:12px!important;margin:0!important;
}
#ap-adminmsgs-composer{margin-top:8px!important;position:relative!important;bottom:auto!important;z-index:5!important;}
#ap-adminmsgs-composer textarea{max-height:92px!important;min-height:42px!important;resize:vertical!important;}
#ap-adminmsgs-composer .btn{white-space:nowrap!important;}

/* The same stable sizing for the teacher/student Contact Admin modal. */
.se-contact-modal.show{display:flex!important;align-items:center!important;justify-content:center!important;padding:clamp(6px,1.2vw,14px)!important;overflow:hidden!important;}
.se-contact-modal .m-box{
  width:min(980px,calc(100vw - 14px))!important;
  height:min(86dvh,820px)!important;max-height:calc(100dvh - 14px)!important;
  display:flex!important;flex-direction:column!important;overflow:hidden!important;box-sizing:border-box!important;
}
.se-contact-modal .se-contact-head,.se-contact-modal .se-audit-tools,.se-contact-modal .se-audit-reply,.se-contact-modal .se-audit-attachment,.se-contact-modal .se-audit-composer{flex:0 0 auto!important;}
#admin-contact-conversation{flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;overflow:auto!important;padding:12px!important;scrollbar-gutter:stable!important;}
#admin-contact-message{max-height:92px!important;min-height:42px!important;resize:vertical!important;}

/* Avoid ghost light/dark mixing during/after theme changes in admin messaging areas. */
#app[data-theme="light"] #m-adminpanel .m-box,
#app[data-theme="light"] #m-admincontact .m-box,
#app[data-theme="light"] .se-adminmsgs-list-card,
#app[data-theme="light"] .se-adminmsgs-chat-card,
#app[data-theme="light"] #ap-adminmsgs-conversation,
#app[data-theme="light"] #admin-contact-conversation{
  background:#ffffff!important;color:#1f2937!important;border-color:#cbd5e1!important;
}
#app[data-theme="dark"] #m-adminpanel .m-box,
#app[data-theme="dark"] #m-admincontact .m-box,
#app[data-theme="dark"] .se-adminmsgs-list-card,
#app[data-theme="dark"] .se-adminmsgs-chat-card,
#app[data-theme="dark"] #ap-adminmsgs-conversation,
#app[data-theme="dark"] #admin-contact-conversation{
  background:rgba(8,15,35,.96)!important;color:var(--text-primary)!important;border-color:var(--border)!important;
}
#app[data-theme="light"] .se-adminmsg-thread{background:#f8fafc!important;color:#1f2937!important;border-color:#cbd5e1!important;}
#app[data-theme="dark"] .se-adminmsg-thread{background:rgba(255,255,255,.045)!important;color:var(--text-primary)!important;border-color:var(--border)!important;}

@media (max-width:900px){
  .se-admin-modal .m-box{width:calc(100vw - 10px)!important;height:calc(100dvh - 10px)!important;border-radius:14px!important;padding:.75rem!important;}
  #admin-pane-adminmsgs .se-adminmsgs-layout{grid-template-columns:1fr!important;grid-template-rows:minmax(110px,26dvh) minmax(0,1fr)!important;gap:8px!important;}
  #ap-adminmsgs-conversation{padding:9px!important;}
  .se-adminmsg-thread{padding:8px 9px!important;}
  #ap-adminmsgs-composer{grid-template-columns:auto auto 1fr!important;gap:6px!important;}
  #ap-adminmsgs-composer .btn{grid-column:1 / -1!important;width:100%!important;justify-content:center!important;}
  .se-contact-modal .m-box{width:calc(100vw - 10px)!important;height:calc(100dvh - 10px)!important;border-radius:14px!important;padding:.75rem!important;}
}
@media (max-width:520px){
  #msg-notif{top:8px!important;max-width:calc(100vw - 16px)!important;padding:8px 10px!important;}
  #admin-pane-adminmsgs .se-adminmsgs-layout{grid-template-rows:minmax(100px,24dvh) minmax(0,1fr)!important;}
  .se-admin-tabs{gap:6px!important;overflow-x:auto!important;padding-bottom:4px!important;}
  .se-admin-tabs button{white-space:nowrap!important;}
  .se-audit-msg{max-width:94%!important;}
}


/* v2.5.20 strict dark-mode visual cleanup: no washed gray layers, no white list/scrollbar artifacts. */
html[data-theme="dark"],
body[data-theme="dark"],
#app[data-theme="dark"]{
  background:#020617!important;
  color:var(--text-primary)!important;
  color-scheme:dark!important;
}
#app[data-theme="dark"]::before{
  background:
    radial-gradient(ellipse 70% 60% at 0% 0%, rgba(18,12,70,.62) 0%, transparent 62%),
    radial-gradient(ellipse 68% 58% at 100% 100%, rgba(0,70,58,.54) 0%, transparent 60%),
    linear-gradient(135deg,#020617 0%,#040817 52%,#06111f 100%)!important;
  filter:none!important;
  opacity:1!important;
}
#app[data-theme="dark"] .modal{
  background:rgba(0,0,0,.58)!important;
}
#app[data-theme="dark"] .m-box,
#app[data-theme="dark"] .se-admin-modal .m-box,
#app[data-theme="dark"] .se-contact-modal .m-box{
  background:#071026!important;
  color:var(--text-primary)!important;
  border-color:rgba(148,163,184,.18)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.68)!important;
}
#app[data-theme="dark"] .se-admin-pane,
#app[data-theme="dark"] .se-admin-table-wrap,
#app[data-theme="dark"] .se-admin-table,
#app[data-theme="dark"] .se-admin-table tbody,
#app[data-theme="dark"] .se-admin-table tr,
#app[data-theme="dark"] .se-audit-card,
#app[data-theme="dark"] .se-audit-conversation,
#app[data-theme="dark"] .se-adminmsgs-list-card,
#app[data-theme="dark"] .se-adminmsgs-chat-card,
#app[data-theme="dark"] .se-adminmsgs-threads,
#app[data-theme="dark"] #ap-adminmsgs-conversation,
#app[data-theme="dark"] #admin-contact-conversation,
#app[data-theme="dark"] .se-member-grid,
#app[data-theme="dark"] .se-assignment-box{
  background:#050b1d!important;
  color:var(--text-primary)!important;
  border-color:rgba(148,163,184,.16)!important;
}
#app[data-theme="dark"] .se-admin-table thead th,
#app[data-theme="dark"] .se-admin-table th{
  background:#081229!important;
  color:#89a3c1!important;
  border-bottom-color:rgba(148,163,184,.14)!important;
}
#app[data-theme="dark"] .se-admin-table td,
#app[data-theme="dark"] .se-admin-table tr,
#app[data-theme="dark"] .se-admin-table tbody td{
  background:#050b1d!important;
  color:#d8e4f2!important;
  border-bottom-color:rgba(148,163,184,.12)!important;
}
#app[data-theme="dark"] .se-admin-table tr:hover td{
  background:#081229!important;
}
#app[data-theme="dark"] .se-search-row,
#app[data-theme="dark"] .se-search-row input,
#app[data-theme="dark"] .se-admin-form input,
#app[data-theme="dark"] .se-admin-form select,
#app[data-theme="dark"] .se-group-form input,
#app[data-theme="dark"] .se-group-form select,
#app[data-theme="dark"] .se-audit-composer textarea,
#app[data-theme="dark"] #admin-contact-message,
#app[data-theme="dark"] #ap-adminmsgs-message,
#app[data-theme="dark"] #ap-audit-message{
  background:#0b1328!important;
  color:#eef6ff!important;
  border-color:rgba(148,163,184,.22)!important;
  box-shadow:none!important;
}
#app[data-theme="dark"] .se-search-row input::placeholder,
#app[data-theme="dark"] .se-admin-form input::placeholder,
#app[data-theme="dark"] .se-group-form input::placeholder,
#app[data-theme="dark"] .se-audit-composer textarea::placeholder{
  color:#7f93ad!important;
}
#app[data-theme="dark"] select option,
#app[data-theme="dark"] .se-admin-form select option,
#app[data-theme="dark"] .se-group-form select option{
  background:#0b1328!important;
  color:#eef6ff!important;
}
#app[data-theme="dark"] .se-audit-msg,
#app[data-theme="dark"] .se-audit-option,
#app[data-theme="dark"] .se-adminmsg-thread,
#app[data-theme="dark"] .se-member-grid label,
#app[data-theme="dark"] .se-pill,
#app[data-theme="dark"] .se-mini-actions button,
#app[data-theme="dark"] .se-attach-btn{
  background:#0b1328!important;
  color:#eef6ff!important;
  border-color:rgba(148,163,184,.20)!important;
}
#app[data-theme="dark"] .se-audit-msg:hover,
#app[data-theme="dark"] .se-audit-option:hover,
#app[data-theme="dark"] .se-adminmsg-thread:hover,
#app[data-theme="dark"] .se-member-grid label:hover,
#app[data-theme="dark"] .se-pill:hover,
#app[data-theme="dark"] .se-pill.active{
  background:#0e1a35!important;
  border-color:rgba(45,232,200,.34)!important;
}
#app[data-theme="dark"] .se-empty-row,
#app[data-theme="dark"] .se-admin-note,
#app[data-theme="dark"] .se-audit-option small,
#app[data-theme="dark"] .se-audit-msg .ts{
  color:#8ca4bf!important;
}
#app[data-theme="dark"] .se-adminmsgs-list-card *,
#app[data-theme="dark"] .se-adminmsgs-chat-card *,
#app[data-theme="dark"] .se-audit-conversation *,
#app[data-theme="dark"] .se-admin-table *{
  text-shadow:none!important;
}
#app[data-theme="dark"] *,
#app[data-theme="dark"] *::before,
#app[data-theme="dark"] *::after{
  scrollbar-color:#43546b #071026!important;
}
#app[data-theme="dark"] *::-webkit-scrollbar{
  width:10px!important;
  height:10px!important;
  background:#071026!important;
}
#app[data-theme="dark"] *::-webkit-scrollbar-track{
  background:#071026!important;
  border-radius:999px!important;
}
#app[data-theme="dark"] *::-webkit-scrollbar-thumb{
  background:#40516a!important;
  border:2px solid #071026!important;
  border-radius:999px!important;
}
#app[data-theme="dark"] *::-webkit-scrollbar-thumb:hover{
  background:#52657f!important;
}


/* v2.5.22: strict readable dark inputs + compact two-field admin audit + stable composer. */
#app[data-theme="dark"] input:not([type="file"]):not([type="checkbox"]):not([type="radio"]),
#app[data-theme="dark"] textarea,
#app[data-theme="dark"] select,
html[data-theme="dark"] input:not([type="file"]):not([type="checkbox"]):not([type="radio"]),
html[data-theme="dark"] textarea,
html[data-theme="dark"] select,
body[data-theme="dark"] input:not([type="file"]):not([type="checkbox"]):not([type="radio"]),
body[data-theme="dark"] textarea,
body[data-theme="dark"] select{
  color:#f8fbff!important;
  -webkit-text-fill-color:#f8fbff!important;
  caret-color:var(--primary)!important;
  opacity:1!important;
}
#app[data-theme="dark"] input::placeholder,
#app[data-theme="dark"] textarea::placeholder,
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder,
body[data-theme="dark"] input::placeholder,
body[data-theme="dark"] textarea::placeholder{
  color:#a9b9cf!important;
  -webkit-text-fill-color:#a9b9cf!important;
  opacity:.78!important;
}
#app[data-theme="dark"] #txt-inp,
#app[data-theme="dark"] .msg-input input,
#app[data-theme="dark"] .chat-input input,
#app[data-theme="dark"] .composer input,
#app[data-theme="dark"] .composer textarea,
#app[data-theme="dark"] .se-search-row input,
#app[data-theme="dark"] #ap-audit-message,
#app[data-theme="dark"] #ap-adminmsgs-message,
#app[data-theme="dark"] #admin-contact-message{
  background:#0b1328!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:none!important;
}
#app[data-theme="dark"] .msg .txt,
#app[data-theme="dark"] .bubble,
#app[data-theme="dark"] .se-audit-msg .txt,
#app[data-theme="dark"] .se-audit-msg,
#app[data-theme="dark"] .se-audit-title,
#app[data-theme="dark"] .se-admin-pane,
#app[data-theme="dark"] .se-admin-pane *{
  text-shadow:none!important;
}
#app[data-theme="dark"] .se-audit-msg .txt,
#app[data-theme="dark"] .se-audit-msg .nm,
#app[data-theme="dark"] .se-audit-msg .reply-quote,
#app[data-theme="dark"] .se-audit-msg .reply-quote *{
  -webkit-text-fill-color:initial!important;
}
#admin-pane-audit.active{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
  gap:8px!important;
}
#admin-pane-audit .se-admin-note{margin:0!important;flex:0 0 auto!important;}
#admin-pane-audit .se-audit-grid{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(260px,1fr))!important;
  gap:10px!important;
  max-height:none!important;
  overflow:visible!important;
  margin:0!important;
  position:relative!important;
  z-index:20!important;
}
#admin-pane-audit .se-audit-card{
  position:relative!important;
  padding:8px 10px!important;
  min-height:auto!important;
  overflow:visible!important;
}
#admin-pane-audit .se-audit-card .se-search-row{margin:4px 0 6px!important;}
#admin-pane-audit .se-audit-selected{min-height:22px!important;margin:0!important;}
#admin-pane-audit .se-audit-options{
  position:absolute!important;
  inset-inline:10px!important;
  top:calc(100% - 2px)!important;
  z-index:120!important;
  display:none!important;
  gap:6px!important;
  max-height:min(240px,38dvh)!important;
  overflow:auto!important;
  padding:7px!important;
  border:1px solid rgba(45,232,200,.22)!important;
  border-radius:12px!important;
  background:#071026!important;
  box-shadow:0 18px 45px rgba(0,0,0,.48)!important;
}
#admin-pane-audit .se-audit-options.has-results{display:grid!important;}
#admin-pane-audit .se-audit-option{min-height:38px!important;padding:7px 9px!important;}
#admin-pane-audit .se-audit-actions{flex:0 0 auto!important;margin:0!important;z-index:5!important;}
#admin-pane-audit #ap-audit-status{flex:0 0 auto!important;margin:0!important;min-height:18px!important;}
#admin-pane-audit #ap-audit-tools{flex:0 0 auto!important;margin:0!important;}
#ap-audit-conversation{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:auto!important;
  padding:10px!important;
  margin:0!important;
  scrollbar-gutter:stable!important;
}
#ap-audit-reply,#ap-audit-attachment,#ap-audit-composer{flex:0 0 auto!important;}
#ap-audit-composer.on{
  display:grid!important;
  grid-template-columns:auto auto minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:end!important;
  margin:0!important;
  padding-top:2px!important;
  position:relative!important;
  z-index:10!important;
  background:transparent!important;
}
#ap-audit-message{min-height:42px!important;max-height:76px!important;resize:vertical!important;}
#app[data-theme="light"] #admin-pane-audit .se-audit-options{background:#ffffff!important;border-color:#cbd5e1!important;box-shadow:0 18px 45px rgba(15,23,42,.14)!important;}
@media (max-width:860px){
  #admin-pane-audit .se-audit-grid{grid-template-columns:1fr!important;gap:8px!important;}
  #admin-pane-audit .se-audit-options{position:static!important;max-height:160px!important;box-shadow:none!important;margin-top:4px!important;}
  #ap-audit-composer.on{grid-template-columns:auto auto minmax(0,1fr)!important;}
  #ap-audit-composer .btn{grid-column:1 / -1!important;width:100%!important;justify-content:center!important;}
}
@media (max-height:620px){
  #admin-pane-audit .se-audit-grid{gap:6px!important;}
  #admin-pane-audit .se-audit-card{padding:6px 8px!important;}
  #admin-pane-audit .se-admin-note{display:none!important;}
  #ap-audit-conversation{padding:8px!important;}
  #ap-audit-message{max-height:58px!important;}
}
#app[data-theme="dark"] *::-webkit-scrollbar-corner{
  background:#071026!important;
}
#app[data-theme="dark"] .se-admin-pane,
#app[data-theme="dark"] .se-adminmsgs-layout,
#app[data-theme="dark"] .se-audit-grid{
  scrollbar-gutter:stable!important;
}
#app[data-theme="dark"] input:-webkit-autofill,
#app[data-theme="dark"] textarea:-webkit-autofill,
#app[data-theme="dark"] select:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px #0b1328 inset!important;
  -webkit-text-fill-color:#eef6ff!important;
}



/* v2.5.33 hard removal of the dark footer/input shadow */
#app[data-theme="dark"] #ft,
html[data-theme="dark"] #ft,
body[data-theme="dark"] #ft,
#app[data-theme="dark"] .ft-row,
html[data-theme="dark"] .ft-row,
body[data-theme="dark"] .ft-row {
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}
#app[data-theme="dark"] #ft::before,
#app[data-theme="dark"] #ft::after,
html[data-theme="dark"] #ft::before,
html[data-theme="dark"] #ft::after,
body[data-theme="dark"] #ft::before,
body[data-theme="dark"] #ft::after,
#app[data-theme="dark"] .ft-row::before,
#app[data-theme="dark"] .ft-row::after,
html[data-theme="dark"] .ft-row::before,
html[data-theme="dark"] .ft-row::after,
body[data-theme="dark"] .ft-row::before,
body[data-theme="dark"] .ft-row::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
  background: transparent !important;
  filter: none !important;
}
#app[data-theme="dark"] .inp-wrap,
html[data-theme="dark"] .inp-wrap,
body[data-theme="dark"] .inp-wrap,
#app[data-theme="dark"] #ui-txt,
html[data-theme="dark"] #ui-txt,
body[data-theme="dark"] #ui-txt {
  background: rgba(8, 17, 34, .88) !important;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
#app[data-theme="dark"] .inp-wrap:focus-within,
html[data-theme="dark"] .inp-wrap:focus-within,
body[data-theme="dark"] .inp-wrap:focus-within,
#app[data-theme="dark"] #ui-txt:focus-within,
html[data-theme="dark"] #ui-txt:focus-within,
body[data-theme="dark"] #ui-txt:focus-within {
  box-shadow: none !important;
  filter: none !important;
}
#app[data-theme="dark"] #txt-inp,
#app[data-theme="dark"] #txt-inp:focus,
#app[data-theme="dark"] #txt-inp::placeholder,
html[data-theme="dark"] #txt-inp,
html[data-theme="dark"] #txt-inp:focus,
html[data-theme="dark"] #txt-inp::placeholder,
body[data-theme="dark"] #txt-inp,
body[data-theme="dark"] #txt-inp:focus,
body[data-theme="dark"] #txt-inp::placeholder {
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}


/* v2.5.40 — admin-message viewport fit and compact sender list. */
/* v2.5.41 — strict tab isolation: an inactive admin pane must never remain visible
   because of responsive inline sizing applied while another pane was active. */
#app #m-adminpanel.se-admin-modal .se-admin-pane:not(.active){
  display:none!important;
}
#app #m-adminpanel.se-admin-modal{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  padding:clamp(4px,.7vw,10px)!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#app #m-adminpanel.se-admin-modal .m-box{
  width:min(1780px,100%)!important;
  height:100%!important;
  max-width:1780px!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:auto!important;
  box-sizing:border-box!important;
}
#admin-pane-adminmsgs .se-adminmsgs-layout{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
#ap-adminmsgs-threads{
  display:grid!important;
  grid-auto-flow:row!important;
  grid-auto-rows:max-content!important;
  align-content:start!important;
  align-items:start!important;
  gap:7px!important;
}
#ap-adminmsgs-threads>.se-adminmsg-thread{
  align-self:start!important;
  margin:0!important;
}
#admin-pane-adminmsgs.se-adminmsgs-compact .se-adminmsgs-layout{
  grid-template-columns:1fr!important;
  grid-template-rows:minmax(104px,24%) minmax(0,1fr)!important;
  gap:8px!important;
}
#admin-pane-adminmsgs.se-adminmsgs-low-height .se-admin-note{
  display:none!important;
}
#admin-pane-adminmsgs.se-adminmsgs-low-height .se-adminmsgs-layout{
  gap:6px!important;
}
/* A short desktop viewport must stay a single grid row; the old height-only rule
   created an empty second row and collapsed both the sender and conversation cards. */
@media (min-width:941px) and (max-height:620px){
  #admin-pane-adminmsgs .se-adminmsgs-layout{
    grid-template-rows:minmax(0,1fr)!important;
  }
}


/* v2.5.54 document-center styles are isolated in includes/documents/documents.css. */


/* v2.5.49 — unified group/individual assignment manager. */
.se-assignment-mode-card{display:grid;grid-template-columns:minmax(130px,.55fr) minmax(190px,.85fr) minmax(260px,1.6fr);gap:10px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:11px 12px;margin-bottom:10px;background:rgba(255,255,255,.025)}
.se-assignment-mode-card label{font-size:.7rem;font-weight:950;color:var(--text-primary)}
.se-assignment-mode-card select{min-height:38px;border:1px solid var(--border-strong);border-radius:10px;background:rgba(255,255,255,.06);color:var(--text-primary);padding:0 10px;font-family:inherit;font-size:.74rem;font-weight:850}
.se-assignment-mode-card p{margin:0;color:var(--text-muted);font-size:.62rem;line-height:1.55}
.se-assignment-form{grid-template-columns:minmax(190px,1.3fr) minmax(170px,1fr) auto auto!important}
.se-assignment-mode-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;border:1px solid var(--border);font-size:.61rem;font-weight:900;white-space:nowrap}
.se-assignment-mode-badge.group{color:var(--gold);background:rgba(240,180,41,.09);border-color:rgba(240,180,41,.22)}
.se-assignment-mode-badge.individual{color:var(--primary);background:rgba(34,211,178,.09);border-color:rgba(34,211,178,.22)}
.se-assignment-mode-badge.shared{color:#a78bfa;background:rgba(167,139,250,.11);border-color:rgba(167,139,250,.28);box-shadow:inset 0 0 0 1px rgba(167,139,250,.03)}
.se-assignment-members{display:grid;gap:4px}.se-assignment-members small{color:var(--text-muted);font-size:.58rem;line-height:1.45}.se-assignment-members strong{color:var(--text-secondary);font-size:.65rem}
#app[data-theme="light"] .se-assignment-mode-card{background:#fff!important}
@media(max-width:760px){.se-assignment-mode-card{grid-template-columns:1fr}.se-assignment-form{grid-template-columns:1fr!important}.se-admin-table-wrap-groups{overflow-x:auto}.se-admin-table-wrap-groups table{min-width:780px}}
.se-session-reset-card{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(145px,.65fr) minmax(210px,1fr) auto;gap:10px;align-items:end;margin:12px 0;padding:13px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--primary) 5%,rgba(255,255,255,.025))}
.se-session-reset-copy{align-self:center;min-width:0}.se-session-reset-copy h3{display:flex;align-items:center;gap:8px;margin:0 0 5px;color:var(--text-primary);font-size:.76rem}.se-session-reset-copy h3 i{color:var(--primary)}.se-session-reset-copy p{margin:0;color:var(--text-muted);font-size:.61rem;line-height:1.55;overflow-wrap:anywhere}
.se-session-reset-field{display:grid;gap:5px;min-width:0}.se-session-reset-field>span{color:var(--text-muted);font-size:.58rem;font-weight:850}.se-session-reset-field select{width:100%;min-width:0;min-height:40px;border:1px solid var(--border-strong);border-radius:10px;background:rgba(255,255,255,.06);color:var(--text-primary);padding:0 10px;font-family:inherit;font-size:.7rem;font-weight:800}
.se-session-reset-action{display:grid;gap:5px}.se-session-reset-action .btn{min-height:40px;white-space:normal}.se-session-reset-status{min-height:13px;color:var(--text-muted);font-size:.56rem;line-height:1.35}.se-session-reset-status.error{color:#f87171}
.se-mini-actions .se-reset-sessions-btn{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 34%,var(--border));background:color-mix(in srgb,var(--primary) 9%,transparent)}
#app[data-theme="light"] .se-session-reset-card{background:#f7fbfa!important}.se-session-reset-field[hidden]{display:none!important}
@media(max-width:900px){.se-session-reset-card{grid-template-columns:1fr 1fr}.se-session-reset-copy{grid-column:1/-1}.se-session-reset-action{grid-column:1/-1}}
@media(max-width:560px){.se-session-reset-card{grid-template-columns:1fr}.se-session-reset-copy,.se-session-reset-action{grid-column:auto}.se-session-reset-action .btn{width:100%;justify-content:center}}

.se-relation-badge{display:inline-flex;align-items:center;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border);border-radius:999px;padding:3px 6px;font-size:.49rem!important;font-weight:950!important}.se-relation-badge.individual{color:var(--primary);background:rgba(34,211,178,.08);border-color:rgba(34,211,178,.22)}.se-relation-badge.shared{color:#a78bfa;background:rgba(167,139,250,.10);border-color:rgba(167,139,250,.26)}.se-relation-badge.group{color:var(--gold);background:rgba(240,180,41,.08);border-color:rgba(240,180,41,.22)}.se-relation-badge.mixed{color:#c084fc;background:rgba(192,132,252,.08);border-color:rgba(192,132,252,.24)}

/* v4.0.39.19.88 — one person in the sidebar, many isolated educational contexts. */
.se-peer-unified{position:relative}.se-peer-unified .se-peer-context-count{display:inline-flex;align-items:center;gap:4px;max-width:112px;padding:3px 7px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--primary) 7%,transparent);color:var(--primary);font-size:.49rem;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.se-peer-unified.active{border-color:color-mix(in srgb,var(--primary) 55%,var(--border))!important;background:color-mix(in srgb,var(--primary) 10%,transparent)!important}.se-peer-unified .online-dot{pointer-events:none}
.se-peer-context-modal .m-box{width:min(560px,calc(100vw - 24px));max-width:560px;max-height:min(82dvh,720px);padding:1.35rem;border-radius:1.25rem;overflow:hidden}.se-peer-context-head{display:flex;align-items:flex-start;gap:11px;padding-inline-end:42px;margin-bottom:12px}.se-peer-context-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 14%,transparent);border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));color:var(--primary);font-size:.88rem;font-weight:950}.se-peer-context-copy{min-width:0}.se-peer-context-copy h2{margin:0;color:var(--text-primary);font-size:.95rem;font-weight:950;line-height:1.35}.se-peer-context-copy p{margin:5px 0 0;color:var(--text-muted);font-size:.67rem;line-height:1.65}.se-peer-context-list{display:grid;gap:8px;overflow:auto;min-height:0;padding:2px 2px 2px 0}.se-peer-context-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:7px;align-items:stretch}.se-peer-context-choice,.se-peer-context-pin{border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text-primary);cursor:pointer;font-family:var(--se-font-ui),sans-serif}.se-peer-context-choice{min-height:68px;border-radius:14px;padding:10px 12px;text-align:start;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px}.se-peer-context-choice:hover,.se-peer-context-choice:focus-visible{border-color:color-mix(in srgb,var(--primary) 48%,var(--border));background:color-mix(in srgb,var(--primary) 8%,transparent);outline:none}.se-peer-context-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.05);color:var(--primary)}.se-peer-context-choice[data-context-type="group"] .se-peer-context-icon{color:var(--gold)}.se-peer-context-choice[data-context-type="legacy"] .se-peer-context-icon{color:var(--text-muted)}.se-peer-context-main{min-width:0;display:grid;gap:3px}.se-peer-context-main strong{font-size:.72rem;font-weight:950;overflow-wrap:anywhere}.se-peer-context-main small{font-size:.59rem;color:var(--text-muted);font-weight:750;line-height:1.45;overflow-wrap:anywhere}.se-peer-context-arrow{color:var(--text-muted);font-size:.65rem}.se-peer-context-pin{width:40px;border-radius:12px;display:grid;place-items:center;color:var(--text-muted)}.se-peer-context-pin:hover,.se-peer-context-pin.is-pinned{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 42%,var(--border));background:color-mix(in srgb,var(--primary) 8%,transparent)}#app[data-theme="light"] .se-peer-context-choice,#app[data-theme="light"] .se-peer-context-pin{background:#fff}.se-peer-context-empty{padding:18px;border:1px dashed var(--border);border-radius:14px;color:var(--text-muted);font-size:.68rem;text-align:center}
@media(max-width:560px){.se-peer-context-modal{padding:8px}.se-peer-context-modal .m-box{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:1rem}.se-peer-context-row{grid-template-columns:minmax(0,1fr) 42px}.se-peer-context-choice{min-height:72px;padding:10px}.se-peer-unified .se-peer-context-count{max-width:86px}}

/* v2.5.67 — high-contrast semantic voice controls for the light theme.
   The previous recorder used translucent red-on-white values, which made active
   controls look disabled. These rules keep soft surfaces while restoring clear
   borders, readable icons, and a strong primary action. */
#app[data-theme="light"]{
  --se-voice-red:#b91c1c;
  --se-voice-red-strong:#991b1b;
  --se-voice-red-bright:#dc2626;
  --se-voice-red-border:#ef4444;
  --se-voice-red-surface:#fff7f7;
  --se-neutral-control:#eef2f7;
  --se-neutral-border:#cbd5e1;
  --se-neutral-ink:#1e293b;
}
#app[data-theme="light"] #vox,
html[data-theme="light"] #vox,
body[data-theme="light"] #vox{
  background:linear-gradient(180deg,#fffafa 0%,#fff3f3 100%)!important;
  border:1.5px solid var(--se-voice-red-border,#ef4444)!important;
  box-shadow:0 0 0 1px rgba(153,27,27,.05),0 7px 22px rgba(15,23,42,.09)!important;
  opacity:1!important;
}
#app[data-theme="light"] #vox .rdot,
html[data-theme="light"] #vox .rdot,
body[data-theme="light"] #vox .rdot{
  background:var(--se-voice-red-bright,#dc2626)!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.13)!important;
  opacity:1!important;
}
#app[data-theme="light"] #vox #vtmr,
html[data-theme="light"] #vox #vtmr,
body[data-theme="light"] #vox #vtmr{
  color:var(--se-voice-red,#b91c1c)!important;
  font-weight:950!important;
  opacity:1!important;
  text-shadow:none!important;
}
#app[data-theme="light"] #vox .vox-wave-bar,
html[data-theme="light"] #vox .vox-wave-bar,
body[data-theme="light"] #vox .vox-wave-bar{
  background:var(--se-voice-red-bright,#dc2626)!important;
  animation-name:seVoxWaveLight!important;
}
@keyframes seVoxWaveLight{
  from{height:4px;opacity:.62}
  to{height:18px;opacity:1}
}
#app[data-theme="light"] #vox .vox-cancel,
html[data-theme="light"] #vox .vox-cancel,
body[data-theme="light"] #vox .vox-cancel{
  background:#ffffff!important;
  border:1.5px solid var(--se-voice-red-bright,#dc2626)!important;
  color:var(--se-voice-red,#b91c1c)!important;
  box-shadow:0 2px 8px rgba(185,28,28,.12)!important;
  opacity:1!important;
}
#app[data-theme="light"] #vox .vox-cancel:hover,
html[data-theme="light"] #vox .vox-cancel:hover,
body[data-theme="light"] #vox .vox-cancel:hover{
  background:#fee2e2!important;
  border-color:var(--se-voice-red-strong,#991b1b)!important;
  color:var(--se-voice-red-strong,#991b1b)!important;
}
#app[data-theme="light"] #vox .vox-pause,
html[data-theme="light"] #vox .vox-pause,
body[data-theme="light"] #vox .vox-pause{
  background:var(--se-neutral-control,#eef2f7)!important;
  border:1px solid var(--se-neutral-border,#cbd5e1)!important;
  color:var(--se-neutral-ink,#1e293b)!important;
  box-shadow:0 2px 7px rgba(15,23,42,.08)!important;
  opacity:1!important;
}
#app[data-theme="light"] #vox .vox-pause:hover,
html[data-theme="light"] #vox .vox-pause:hover,
body[data-theme="light"] #vox .vox-pause:hover{
  background:#dfe6ef!important;
  border-color:#94a3b8!important;
  color:#0f172a!important;
}
#app[data-theme="light"] #vox.on + #fab,
#app[data-theme="light"] #fab.red,
html[data-theme="light"] #vox.on + #fab,
html[data-theme="light"] #fab.red,
body[data-theme="light"] #vox.on + #fab,
body[data-theme="light"] #fab.red{
  background:linear-gradient(135deg,var(--se-voice-red-bright,#dc2626),var(--se-voice-red-strong,#991b1b))!important;
  border:1px solid var(--se-voice-red-strong,#991b1b)!important;
  color:#ffffff!important;
  box-shadow:0 5px 16px rgba(185,28,28,.28),0 0 0 3px rgba(220,38,38,.12)!important;
  opacity:1!important;
  filter:none!important;
}
#app[data-theme="light"] #vox.on + #fab i,
#app[data-theme="light"] #fab.red i,
html[data-theme="light"] #vox.on + #fab i,
html[data-theme="light"] #fab.red i,
body[data-theme="light"] #vox.on + #fab i,
body[data-theme="light"] #fab.red i{
  color:#ffffff!important;
  opacity:1!important;
  text-shadow:none!important;
}
#app[data-theme="light"] #vox button:focus-visible,
#app[data-theme="light"] #vox.on + #fab:focus-visible,
#app[data-theme="light"] #fab.red:focus-visible{
  outline:3px solid rgba(37,99,235,.34)!important;
  outline-offset:2px!important;
}

/* Incoming voice messages: crisp neutral surface with a clear teal action. */
#app[data-theme="light"] .bub:not(.bme) .ap,
html[data-theme="light"] .bub:not(.bme) .ap,
body[data-theme="light"] .bub:not(.bme) .ap{
  background:#f8fafc!important;
  border:1px solid #cbd5e1!important;
  box-shadow:0 3px 12px rgba(15,23,42,.08)!important;
  opacity:1!important;
}
#app[data-theme="light"] .bub:not(.bme) .ap-pp,
html[data-theme="light"] .bub:not(.bme) .ap-pp,
body[data-theme="light"] .bub:not(.bme) .ap-pp{
  background:#0f766e!important;
  border-color:#0f766e!important;
  color:#ffffff!important;
  box-shadow:0 2px 8px rgba(15,118,110,.22)!important;
  opacity:1!important;
}
#app[data-theme="light"] .bub:not(.bme) .ap-pp:hover,
html[data-theme="light"] .bub:not(.bme) .ap-pp:hover,
body[data-theme="light"] .bub:not(.bme) .ap-pp:hover{
  background:#115e59!important;
  border-color:#115e59!important;
  color:#ffffff!important;
}
#app[data-theme="light"] .bub:not(.bme) .ap-bar,
html[data-theme="light"] .bub:not(.bme) .ap-bar,
body[data-theme="light"] .bub:not(.bme) .ap-bar{
  background:#94a3b8!important;
  opacity:1!important;
}
#app[data-theme="light"] .bub:not(.bme) .ap-bar.played,
html[data-theme="light"] .bub:not(.bme) .ap-bar.played,
body[data-theme="light"] .bub:not(.bme) .ap-bar.played{
  background:#0f766e!important;
}
#app[data-theme="light"] .bub:not(.bme) .ap-dur,
#app[data-theme="light"] .bub:not(.bme) .ap-voice-lbl,
html[data-theme="light"] .bub:not(.bme) .ap-dur,
html[data-theme="light"] .bub:not(.bme) .ap-voice-lbl,
body[data-theme="light"] .bub:not(.bme) .ap-dur,
body[data-theme="light"] .bub:not(.bme) .ap-voice-lbl{
  color:#334155!important;
  opacity:1!important;
}
#app[data-theme="light"] .bub:not(.bme) .ap-spd-btn,
html[data-theme="light"] .bub:not(.bme) .ap-spd-btn,
body[data-theme="light"] .bub:not(.bme) .ap-spd-btn{
  background:#e2e8f0!important;
  color:#334155!important;
  border:1px solid #cbd5e1!important;
  opacity:1!important;
}

/* The compact record buttons used in admin/contact composers must also look active. */
#app[data-theme="light"] .se-attach-btn.recording,
html[data-theme="light"] .se-attach-btn.recording,
body[data-theme="light"] .se-attach-btn.recording{
  background:linear-gradient(135deg,#dc2626,#991b1b)!important;
  border-color:#991b1b!important;
  color:#ffffff!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.14),0 4px 12px rgba(153,27,27,.20)!important;
  opacity:1!important;
}
#app[data-theme="light"] .se-attach-btn.recording i,
html[data-theme="light"] .se-attach-btn.recording i,
body[data-theme="light"] .se-attach-btn.recording i{
  color:#ffffff!important;
  opacity:1!important;
}

@media(max-width:520px){
  #app[data-theme="light"] #vox{gap:6px!important;padding:6px 8px!important}
  #app[data-theme="light"] #vox .vox-wave{gap:1.5px!important;min-width:34px!important}
  #app[data-theme="light"] #vox .vox-cancel{width:34px!important;height:34px!important}
  #app[data-theme="light"] #vox .vox-pause{width:32px!important;height:32px!important}
  #app[data-theme="light"] #vox.on + #fab,#app[data-theme="light"] #fab.red{width:46px!important;height:46px!important}
}


/* v2.5.67 — compact native dropdown controls for language and appearance settings. */
#m-settings .se-set-row-select{align-items:center;gap:14px;}
#m-settings .se-set-row-select>strong{flex:0 0 auto;min-width:72px;}
#m-settings .se-settings-select-shell{
  position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) 24px;align-items:center;
  width:min(250px,100%);min-width:0;min-height:44px;border:1px solid var(--border-strong);
  border-radius:14px;background:rgba(255,255,255,.065);color:var(--text-primary);
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
#m-settings .se-settings-select-shell:hover{border-color:rgba(34,211,178,.42);background:rgba(34,211,178,.065);}
#m-settings .se-settings-select-shell:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(34,211,178,.13);}
#m-settings .se-settings-select-leading,#m-settings .se-settings-select-arrow{pointer-events:none;text-align:center;color:var(--primary);font-size:.82rem;}
#m-settings .se-settings-select-arrow{color:var(--text-muted);font-size:.68rem;}
#m-settings .se-settings-select-shell select{
  width:100%;min-width:0;min-height:42px;border:0!important;outline:0!important;appearance:none;-webkit-appearance:none;
  background:transparent!important;color:var(--text-primary)!important;font-family:inherit;font-size:.76rem;font-weight:900;
  padding:0 6px;cursor:pointer;box-shadow:none!important;
}
#m-settings .se-settings-select-shell select option{background:var(--surface,#fff);color:var(--text-primary);font-weight:800;}
#app[data-theme="light"] #m-settings .se-settings-select-shell{background:#fff;border-color:#cbd5e1;box-shadow:0 1px 2px rgba(15,23,42,.04);}
#app[data-theme="light"] #m-settings .se-settings-select-shell:hover{background:#f8fffd;border-color:#5eead4;}
#app[data-theme="light"] #m-settings .se-settings-select-shell select option{background:#fff;color:#0f172a;}
#app[data-lang="ar"] #m-settings .se-settings-select-shell{direction:rtl;}
#app:not([data-lang="ar"]) #m-settings .se-settings-select-shell{direction:ltr;}
/* v4.0.39.19.82: settings must never paint as separate rows. The whole card
   is laid out off-screen/hidden and then revealed in one compositor frame. */
#m-settings[data-se-modal-state="preparing"],
#m-settings[data-se-modal-state="prepared"]{visibility:hidden!important;opacity:0!important;pointer-events:none!important;}
#m-settings .m-box{animation:none!important;transform:none!important;}
@media(max-width:520px){
  #m-settings .se-set-row-select{align-items:stretch;flex-direction:column;gap:8px;}
  #m-settings .se-set-row-select>strong{min-width:0;}
  #m-settings .se-settings-select-shell{width:100%;}
}

/* v2.7.0 — institution branding, customisation and XLSX export. */
#app [data-edu-interface-language][hidden],#app .edu-brand-lockup img[hidden],#app .edu-brand-sidebar-logo[hidden],#app .se-logo-preview [hidden]{display:none!important}
.edu-brand-lockup{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 0 14px;min-height:32px;color:var(--text-primary)}
.edu-brand-lockup img{width:38px;height:38px;object-fit:contain;border-radius:11px;border:1px solid var(--border);background:rgba(255,255,255,.07);padding:3px}
.edu-brand-lockup strong{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:950;letter-spacing:.035em}
.edu-brand-sidebar-logo{width:34px;height:34px;object-fit:contain;border-radius:10px;border:1px solid rgba(34,211,178,.26);background:rgba(255,255,255,.07);padding:3px;flex:0 0 auto}
.se-users-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:stretch;margin:0 0 10px}
.se-users-filter-toggle{min-height:42px!important;gap:7px!important;white-space:nowrap!important}
.se-users-filter-toggle.is-active{border-color:rgba(34,211,178,.45)!important;background:rgba(34,211,178,.12)!important;color:var(--primary)!important}
.se-users-filters{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) auto;gap:9px;align-items:end;margin:0 0 12px;padding:11px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025)}
.se-users-filters[hidden]{display:none!important}.se-users-filter-field{display:grid;gap:5px;min-width:0}.se-users-filter-field span{color:var(--text-muted);font-size:.59rem;font-weight:950;letter-spacing:.02em}.se-users-filter-field select{width:100%;min-height:40px;border:1px solid var(--border-strong);border-radius:11px;background:rgba(255,255,255,.055);color:var(--text-primary);padding:0 10px;font-family:inherit;font-size:.7rem;font-weight:850;outline:0}.se-users-filter-reset{min-height:40px!important;border-radius:11px!important;white-space:nowrap!important}
.se-payment-fields{grid-column:1/-1;display:grid;grid-template-columns:minmax(150px,.8fr) minmax(150px,1fr) minmax(150px,1fr);gap:10px;padding:11px;border:1px solid rgba(34,211,178,.22);border-radius:14px;background:rgba(34,211,178,.045)}.se-payment-fields[hidden]{display:none!important}.se-payment-fields label{min-width:0}.se-payment-fields input,.se-payment-fields select{width:100%!important}.se-payment-field-note{grid-column:1/-1;margin:-2px 0 0;color:var(--text-muted);font-size:.59rem;line-height:1.55}.se-payment-date-wrap[hidden],.se-payment-money-wrap[hidden]{display:none!important}.se-payment-money-wrap input{font-variant-numeric:tabular-nums}
/* v4.0.39.19.73 — resilient searchable country/phone pickers with semantic field groups and pointer activation. */
.se-user-account-form>:is(label,.se-form-field){min-width:0;display:flex;flex-direction:column;align-self:start;gap:5px}
/* v4.0.39.19.83 — the custom acquisition-source field must have zero footprint unless the select is actually on Custom source.
   The explicit inactive class + inline display guard protect against browser form-state restoration/BFCache and any generic label display rule. */
#ap-user-source-custom-wrap.se-source-custom-field{display:none!important;visibility:hidden!important;pointer-events:none!important}
#ap-user-source-custom-wrap.se-source-custom-field.is-active{display:flex!important;visibility:visible!important;pointer-events:auto!important}
#ap-user-source-custom-wrap[hidden],#ap-user-source-custom-wrap[aria-hidden="true"]{display:none!important}
.se-user-account-form>:is(label,.se-form-field)>input,.se-user-account-form>:is(label,.se-form-field)>select{width:100%;max-width:100%}
.se-user-account-form>:is(label,.se-form-field)>span:first-child{min-height:1.25em;display:flex;align-items:flex-end}
.se-field-hint{display:block;min-height:1.1em;margin-top:0;color:var(--text-muted);font-size:.55rem;font-weight:750;line-height:1.35}.se-field-hint.is-error{color:#fda4af}
.se-user-id-field input.is-invalid{border-color:rgba(248,113,113,.78)!important;box-shadow:0 0 0 3px rgba(248,113,113,.10)!important}
.se-user-id-suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}.se-user-id-suggestions[hidden]{display:none!important}.se-user-id-suggestions button{min-height:32px;border:1px solid rgba(96,165,250,.38);border-radius:10px;background:rgba(59,130,246,.10);color:var(--text);padding:5px 10px;font:800 .62rem/1.2 'Space Grotesk',sans-serif;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.se-user-id-suggestions button:hover,.se-user-id-suggestions button:focus-visible{transform:translateY(-1px);border-color:rgba(96,165,250,.72);background:rgba(59,130,246,.18);outline:none}.se-user-id-suggestions .se-id-suggest-label{font-size:.56rem;font-weight:800;color:var(--text-muted)}

/* Phone stays one coherent field. Before a country is chosen the whole field opens
   the country picker; after selection the compact calling-code button becomes the prefix. */
.se-phone-composite{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;width:100%;min-width:0;height:46px;min-height:46px;border:1px solid var(--border-strong);border-radius:.85rem;background:rgba(255,255,255,.055);overflow:hidden;transition:border-color .15s,box-shadow .15s,background .15s}
.se-phone-composite:focus-within{border-color:rgba(34,211,178,.45)!important;box-shadow:0 0 0 3px rgba(34,211,178,.10)!important}
.se-user-account-form .se-phone-composite>input{grid-column:2;width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--text-primary)!important;box-shadow:none!important;outline:0!important;padding-inline:11px!important;font-variant-numeric:tabular-nums}
.se-user-account-form .se-phone-country-trigger{grid-column:1;position:relative;z-index:2;display:inline-grid!important;grid-template-columns:auto auto auto;align-items:center;justify-content:center;gap:6px;width:auto;min-width:86px;max-width:118px;height:44px!important;min-height:44px!important;margin:0!important;padding:0 9px!important;border:0!important;border-inline-end:1px solid var(--border)!important;border-radius:0!important;background:transparent!important;color:var(--text-primary)!important;font-family:inherit!important;font-size:.69rem!important;font-weight:950!important;line-height:1!important;cursor:pointer;box-shadow:none!important;white-space:nowrap}
.se-phone-country-trigger .se-country-trigger-flag{font-size:.92rem;line-height:1}.se-phone-country-trigger .se-country-trigger-value{overflow:hidden;text-overflow:ellipsis;direction:ltr;unicode-bidi:isolate}.se-phone-country-trigger i{font-size:.56rem;color:var(--text-muted)}.se-phone-composite.has-country>.se-phone-country-trigger{direction:ltr}
.se-phone-composite:not(.has-country){display:block}
.se-phone-composite:not(.has-country)>.se-phone-country-trigger{position:absolute;inset:0;width:100%!important;max-width:none!important;height:44px!important;justify-content:flex-start;border-inline-end:0!important;padding-inline:12px!important;z-index:4}
#app[data-lang="ar"] .se-phone-composite:not(.has-country)>.se-phone-country-trigger{justify-content:flex-start;text-align:right;direction:rtl}
#app:not([data-lang="ar"]) .se-phone-composite:not(.has-country)>.se-phone-country-trigger{justify-content:flex-start;text-align:left;direction:ltr}
.se-phone-composite:not(.has-country)>input{width:100%!important;height:44px!important;visibility:hidden;pointer-events:none}

/* Country field remains the same footprint as the original select, but its list is
   a searchable popover and therefore never expands or disturbs the form grid. */
.se-user-account-form .se-country-field-trigger{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%!important;height:46px!important;min-height:46px!important;margin:0!important;padding:0 11px!important;border:1px solid var(--border-strong)!important;border-radius:.85rem!important;background:rgba(255,255,255,.055)!important;color:var(--text-primary)!important;font-family:inherit!important;font-size:.78rem!important;font-weight:800!important;line-height:1.2!important;cursor:pointer;text-align:start!important;box-shadow:none!important;transition:border-color .15s,box-shadow .15s,background .15s}
.se-user-account-form .se-country-field-trigger:focus-visible,.se-user-account-form .se-country-field-trigger[aria-expanded="true"]{outline:0!important;border-color:rgba(34,211,178,.45)!important;box-shadow:0 0 0 3px rgba(34,211,178,.10)!important}
.se-country-field-trigger .se-country-trigger-flag{font-size:.98rem}.se-country-field-trigger .se-country-trigger-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.se-country-field-trigger i{font-size:.62rem;color:var(--text-muted)}
.se-native-country-select{display:none!important}
#app[data-theme="light"] .se-phone-composite,#app[data-theme="light"] .se-user-account-form .se-country-field-trigger{background:#fff!important;border-color:#cbd5e1!important;color:#0f172a!important}
#app[data-theme="light"] .se-user-account-form .se-phone-composite>input,#app[data-theme="light"] .se-user-account-form .se-phone-country-trigger{color:#0f172a!important}

/* Searchable country popover. It is position:fixed so opening it cannot change the
   height, width, or order of any admin-form field. */
.se-country-picker{position:fixed;z-index:2147483200;width:min(360px,calc(100vw - 20px));max-height:min(430px,calc(100dvh - 24px));display:flex;flex-direction:column;padding:9px;border:1px solid rgba(148,163,184,.24);border-radius:16px;background:linear-gradient(180deg,#0c1730,#081226);color:#f8fafc;box-shadow:0 22px 70px rgba(2,6,23,.48);box-sizing:border-box;overflow:hidden;font-family:inherit}
.se-country-picker[hidden]{display:none!important}.se-country-picker[data-lang="ar"]{direction:rtl;text-align:right}.se-country-picker:not([data-lang="ar"]){direction:ltr;text-align:left}
.se-country-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 8px}.se-country-picker-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:950}.se-country-picker-close{display:inline-flex!important;align-items:center;justify-content:center;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;padding:0!important;border:1px solid rgba(148,163,184,.20)!important;border-radius:9px!important;background:rgba(255,255,255,.045)!important;color:inherit!important;cursor:pointer!important;box-shadow:none!important}.se-country-picker-close i{font-size:.68rem}
.se-country-picker-search{position:relative;display:block;margin:0 0 8px}.se-country-picker-search>i{position:absolute;top:50%;inset-inline-start:11px;transform:translateY(-50%);z-index:2;color:#8ca1bc;font-size:.67rem;pointer-events:none}.se-country-picker-search input{width:100%!important;height:38px!important;min-height:38px!important;margin:0!important;padding-inline:31px 10px!important;border:1px solid rgba(148,163,184,.22)!important;border-radius:11px!important;background:rgba(255,255,255,.055)!important;color:#f8fafc!important;font-family:inherit!important;font-size:.69rem!important;font-weight:750!important;outline:0!important;box-shadow:none!important}.se-country-picker-search input:focus{border-color:rgba(34,211,178,.52)!important;box-shadow:0 0 0 3px rgba(34,211,178,.10)!important}.se-country-picker-search input::placeholder{color:#8295ad!important}
.se-country-picker-list{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:1px 2px 3px}.se-country-picker-group{position:sticky;top:0;z-index:1;margin:4px 2px 5px;padding:5px 7px;border-radius:8px;background:rgba(8,18,38,.94);backdrop-filter:blur(7px);color:#8ca1bc;font-size:.54rem;font-weight:950;letter-spacing:.025em}.se-country-option{display:grid!important;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%!important;min-height:40px!important;height:auto!important;margin:0 0 3px!important;padding:7px 9px!important;border:1px solid transparent!important;border-radius:10px!important;background:transparent!important;color:#e9f0f8!important;font-family:inherit!important;font-size:.68rem!important;font-weight:800!important;text-align:start!important;cursor:pointer!important;box-shadow:none!important}.se-country-option:hover,.se-country-option:focus-visible{outline:0!important;border-color:rgba(34,211,178,.24)!important;background:rgba(34,211,178,.09)!important}.se-country-option[aria-selected="true"]{border-color:rgba(34,211,178,.34)!important;background:rgba(34,211,178,.13)!important;color:#ecfffb!important}.se-country-option-flag{font-size:1rem;line-height:1}.se-country-option-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.se-country-option-dial{direction:ltr;unicode-bidi:isolate;color:#8fd8cc;font-size:.62rem;font-weight:950}.se-country-picker-empty{padding:18px 10px;text-align:center;color:#8ca1bc;font-size:.67rem;font-weight:800}
.se-country-picker[data-theme="light"]{background:#fff;color:#172033;border-color:#d7e1ec;box-shadow:0 18px 48px rgba(15,23,42,.18)}.se-country-picker[data-theme="light"] .se-country-picker-close{background:#f8fafc!important;border-color:#d7e1ec!important;color:#334155!important}.se-country-picker[data-theme="light"] .se-country-picker-search input{background:#f8fafc!important;border-color:#d7e1ec!important;color:#172033!important}.se-country-picker[data-theme="light"] .se-country-picker-group{background:rgba(248,250,252,.96);color:#64748b}.se-country-picker[data-theme="light"] .se-country-option{color:#172033!important}.se-country-picker[data-theme="light"] .se-country-option:hover,.se-country-picker[data-theme="light"] .se-country-option:focus-visible{background:#ecfdf8!important}.se-country-picker[data-theme="light"] .se-country-option[aria-selected="true"]{background:#e6faf5!important;color:#0f4f46!important}.se-country-picker[data-theme="light"] .se-country-option-dial{color:#0f766e}
.se-country-picker.is-mobile{inset:auto 8px max(8px,env(safe-area-inset-bottom)) 8px!important;width:auto!important;max-width:none!important;max-height:min(58dvh,480px)!important;border-radius:17px!important}
@media(max-width:1100px) and (min-width:761px){.se-user-account-form{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.se-user-account-form{grid-template-columns:1fr!important}.se-user-account-form>:is(label,.se-form-field){gap:5px}.se-country-picker{width:min(360px,calc(100vw - 16px))}.se-phone-country-trigger{min-width:82px!important}}
.se-user-name-line{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}.se-user-name-text{min-width:0}.se-payment-badge{display:inline-flex;align-items:center;gap:5px;max-width:100%;margin-inline-start:2px;padding:5px 9px;border:1px solid transparent;border-radius:999px;font-size:.68rem;font-weight:950;line-height:1.2;vertical-align:middle;white-space:nowrap;letter-spacing:0}.se-payment-badge i{font-size:.62rem}.se-payment-badge.paid{color:#5eead4;border-color:rgba(45,212,191,.34);background:rgba(20,184,166,.12)}.se-payment-badge.unpaid,.se-payment-badge.renewal_required{color:#fecaca;border-color:rgba(248,113,113,.38);background:rgba(239,68,68,.14)}.se-admin-user-payment-alert td{background:linear-gradient(90deg,rgba(239,68,68,.045),transparent 42%)}
#app[data-theme="light"] .se-users-filters,#app[data-theme="light"] .se-payment-fields{background:#fff!important;border-color:#dbe3ee!important}#app[data-theme="light"] .se-users-filter-field select{background:#fff!important;border-color:#cbd5e1!important;color:#0f172a!important}#app[data-theme="light"] .se-payment-badge.unpaid,#app[data-theme="light"] .se-payment-badge.renewal_required{color:#b91c1c;background:#fef2f2;border-color:#fecaca}#app[data-theme="light"] .se-payment-badge.paid{color:#047857;background:#ecfdf5;border-color:#a7f3d0}
.se-users-toolbar .se-search-row{margin:0!important}
.se-export-xlsx-btn{min-height:42px!important;border-color:rgba(34,211,178,.35)!important;background:rgba(34,211,178,.10)!important;color:var(--primary)!important;white-space:nowrap!important;gap:7px!important;padding-inline:15px!important}
.se-export-xlsx-btn small{display:inline-flex;align-items:center;min-height:20px;padding:2px 6px;border-radius:999px;background:rgba(34,211,178,.14);font-size:.52rem;font-weight:950;letter-spacing:.08em}
.se-export-xlsx-btn.is-loading{pointer-events:none;opacity:.68}
#admin-pane-customization.active{display:flex!important;flex-direction:column!important;overflow:auto!important;padding:2px!important}
.se-customization-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch}
.se-custom-card{border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.028);padding:16px;min-width:0}
.se-custom-card-head{display:flex;align-items:flex-start;gap:11px;margin:0 0 16px}
.se-custom-card-head h3{margin:0;color:var(--text-primary);font-size:.86rem;font-weight:950;line-height:1.5}
.se-custom-card-head p{margin:2px 0 0;color:var(--text-muted);font-size:.64rem;line-height:1.55}
.se-custom-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(34,211,178,.25);border-radius:12px;background:rgba(34,211,178,.10);color:var(--primary);flex:0 0 auto}
.se-custom-label{display:block;margin:0 0 7px;color:var(--text-secondary);font-size:.68rem;font-weight:900}
.se-custom-input{display:block;width:100%;min-height:46px;border:1px solid var(--border-strong);border-radius:13px;background:rgba(255,255,255,.055);color:var(--text-primary);padding:0 13px;font:800 .78rem/1.4 var(--se-font-ui);outline:0;transition:border-color .16s,box-shadow .16s}
.se-custom-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(34,211,178,.12)}
.se-logo-editor{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:center;margin-top:15px;padding:12px;border:1px dashed rgba(148,163,184,.25);border-radius:15px;background:rgba(255,255,255,.02)}
.se-logo-preview{width:92px;height:92px;border:1px solid var(--border);border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:rgba(255,255,255,.05)}
.se-logo-preview img{width:100%;height:100%;object-fit:contain;padding:7px}
.se-logo-preview span{font-size:1.45rem;color:var(--text-muted)}
.se-logo-copy{min-width:0}.se-logo-copy>strong{display:block;color:var(--text-primary);font-size:.76rem;font-weight:950}.se-logo-copy>small{display:block;margin-top:4px;color:var(--text-muted);font-size:.59rem;line-height:1.5}
.se-logo-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.se-logo-actions .btn{min-height:34px!important;padding:7px 10px!important;font-size:.63rem!important;border-radius:10px!important}.se-logo-remove{color:var(--danger-text)!important}
.se-language-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.se-language-choice{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:62px;padding:10px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025);cursor:pointer;transition:border-color .16s,background .16s,transform .12s;user-select:none}
.se-language-choice:hover{border-color:rgba(34,211,178,.32);transform:translateY(-1px)}
.se-language-choice:has(input:checked){border-color:rgba(34,211,178,.48);background:rgba(34,211,178,.10)}
.se-language-choice input{position:absolute;opacity:0;pointer-events:none}
.se-language-choice .se-language-flag{font-size:1.3rem;line-height:1}
.se-language-choice span:nth-of-type(2){min-width:0}.se-language-choice strong{display:block;color:var(--text-primary);font-size:.68rem;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.se-language-choice small{display:block;color:var(--text-muted);font-size:.54rem;margin-top:2px}
.se-language-choice>i{color:var(--text-muted);opacity:.26}.se-language-choice:has(input:checked)>i{color:var(--primary);opacity:1}
.se-language-rule{display:flex;align-items:center;gap:7px;margin-top:11px;padding:9px 10px;border-radius:11px;background:rgba(240,180,41,.07);color:var(--text-muted);font-size:.6rem;line-height:1.5}.se-language-rule i{color:var(--gold)}
.se-custom-savebar{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid var(--border)}
.se-custom-savebar .btn{min-height:42px!important;border-radius:999px!important;padding-inline:18px!important}.se-custom-status{flex:1;min-width:0;color:var(--text-muted);font-size:.65rem}.se-custom-status.ok{color:var(--success-text,var(--primary))}.se-custom-status.err{color:var(--danger-text)}
#app[data-theme="light"] .se-custom-card,#app[data-theme="light"] .se-logo-editor,#app[data-theme="light"] .se-language-choice{background:#fff!important;border-color:#dbe3ee!important}
#app[data-theme="light"] .se-custom-input{background:#fff!important;border-color:#cbd5e1!important;color:#0f172a!important}
#app[data-theme="light"] .se-logo-preview{background:#f8fafc!important;border-color:#dbe3ee!important}
#app[data-theme="light"] .se-language-choice:has(input:checked){background:#ecfdf5!important;border-color:#5eead4!important}
@media(max-width:820px){.se-customization-grid{grid-template-columns:1fr}.se-custom-card{padding:13px}.se-users-toolbar{grid-template-columns:1fr 1fr}.se-users-toolbar .se-search-row{grid-column:1/-1}.se-export-xlsx-btn,.se-users-filter-toggle{width:100%!important;justify-content:center!important}.se-users-filters{grid-template-columns:1fr 1fr}.se-users-filter-reset{grid-column:1/-1}.se-payment-fields{grid-template-columns:1fr 1fr}.se-payment-fields>label:first-child,.se-payment-field-note{grid-column:1/-1}}

.se-custom-ai-card{grid-column:1/-1}.se-ai-fields{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(280px,1.35fr) minmax(180px,.65fr);gap:12px;align-items:end}.se-ai-provider-field{grid-column:1/2}.se-ai-endpoint-field{grid-column:2/3}.se-ai-key-field{grid-column:1/-1}.se-custom-select{appearance:auto!important;-webkit-appearance:auto!important;padding-inline:12px!important}.se-custom-input[readonly],.se-custom-input:disabled{opacity:.78;cursor:not-allowed;background:rgba(148,163,184,.08)!important;box-shadow:none!important}.se-ai-provider-links{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.se-ai-provider-links[hidden]{display:none!important}.se-ai-provider-links a{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 11px;border:1px solid rgba(34,211,178,.28);border-radius:11px;background:rgba(34,211,178,.07);color:var(--primary);font-size:.62rem;font-weight:900;text-decoration:none}.se-ai-provider-links a:hover{background:rgba(34,211,178,.13);border-color:rgba(34,211,178,.48)}
@media(max-width:920px){.se-ai-fields{grid-template-columns:1fr 1fr}.se-ai-provider-field,.se-ai-endpoint-field{grid-column:auto}.se-ai-key-field,.se-ai-provider-links{grid-column:1/-1}}
@media(max-width:620px){.se-ai-fields{grid-template-columns:1fr}.se-ai-provider-field,.se-ai-endpoint-field,.se-ai-key-field,.se-ai-provider-links{grid-column:1}.se-ai-provider-links a{flex:1;justify-content:center;min-width:140px}}

@media(max-width:480px){.se-language-choice-grid{grid-template-columns:1fr}.se-logo-editor{grid-template-columns:72px minmax(0,1fr)}.se-logo-preview{width:72px;height:72px}.se-custom-savebar{align-items:stretch;flex-direction:column}.se-custom-savebar .btn{width:100%!important;justify-content:center!important}}
@media(max-width:520px){.se-users-toolbar,.se-users-filters,.se-payment-fields{grid-template-columns:1fr!important}.se-users-toolbar .se-search-row,.se-users-filter-reset,.se-payment-fields>label:first-child,.se-payment-field-note{grid-column:1!important}.se-user-name-line{align-items:flex-start}.se-payment-badge{margin-inline-start:0}.se-admin-table td[data-label]{min-width:0}}

/* v2.8.1 — messaging code reader fallback; primary UI is the universal viewer. */
.se-code-file-card .se-code-card-badges{display:flex;align-items:center;gap:4px;margin-top:3px;min-width:0}.se-code-file-card .se-code-card-badges span{display:inline-flex;align-items:center;gap:3px;padding:2px 5px;border-radius:999px;background:rgba(45,212,191,.09);color:var(--primary);font-size:.52rem;font-weight:900;white-space:nowrap}.se-code-file-card .se-code-card-badges span+span{background:rgba(96,165,250,.10);color:#93c5fd}
#m-code{padding:10px!important;background:rgba(1,5,15,.88)!important;backdrop-filter:blur(7px)}
#m-code .se-code-reader{width:min(1680px,calc(100vw - 20px));max-width:1680px;height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);padding:0!important;overflow:hidden!important;display:flex;flex-direction:column;border-radius:18px;background:var(--surface,#07101d);border:1px solid var(--border-strong);box-shadow:0 28px 90px rgba(0,0,0,.52)}
#m-code.is-expanded{padding:0!important}#m-code.is-expanded .se-code-reader{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}
.se-code-head{min-height:58px;display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface-elevated,rgba(8,16,32,.98));flex:0 0 auto}.se-code-head-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(45,212,191,.30);border-radius:11px;background:rgba(45,212,191,.10);color:var(--primary);flex:0 0 auto}.se-code-head-copy{min-width:0;flex:1}.se-code-head-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:.82rem;font-weight:950}.se-code-head-copy small{display:block;margin-top:2px;color:var(--text-muted);font-size:.56rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.se-code-head-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.se-code-head-actions a,.se-code-head-actions button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:10px;background:rgba(255,255,255,.045);color:var(--text-secondary);cursor:pointer;text-decoration:none;padding:0}.se-code-head-actions a:hover,.se-code-head-actions button:hover{border-color:rgba(45,212,191,.45);color:var(--primary);background:rgba(45,212,191,.08)}
.se-code-tabs{min-height:46px;display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid var(--border);background:rgba(6,13,27,.94);flex:0 0 auto}.se-code-tabs button{min-width:112px;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(148,163,184,.20);border-radius:10px;background:rgba(255,255,255,.035);color:#91a4b9;padding:0 12px;font-family:inherit;font-size:.68rem;font-weight:900;cursor:pointer}.se-code-tabs button.active{border-color:rgba(45,212,191,.46);background:rgba(45,212,191,.12);color:#5eead4}.se-code-safe-note{margin-inline-start:auto;display:flex;align-items:center;gap:5px;color:#70869c;font-size:.56rem;font-weight:750;white-space:nowrap}.se-code-safe-note i{color:#5eead4}
.se-code-body{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden;background:#07101d}.se-code-panel{position:absolute;inset:0;display:none;min-width:0;min-height:0;overflow:hidden}.se-code-panel.active{display:block}.se-code-source{overflow:auto!important;direction:ltr;text-align:left;background:#07101d;scrollbar-gutter:stable}.se-code-lines{counter-reset:se-code-line;margin:0;padding:14px 0 30px;min-width:max-content;list-style:none;color:#d8e4f0;font:500 13px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}.se-code-lines li{counter-increment:se-code-line;display:grid;grid-template-columns:62px minmax(max-content,1fr);min-height:22px;padding-inline-end:22px}.se-code-lines li::before{content:counter(se-code-line);position:sticky;left:0;padding:0 14px 0 8px;text-align:right;color:#4d667e;background:#07101d;border-inline-end:1px solid rgba(148,163,184,.10);user-select:none}.se-code-lines code{display:block;padding-inline-start:15px;white-space:pre;color:inherit;background:transparent;font:inherit}.se-code-lines .se-code-truncated code{color:#fbbf24}.se-code-preview{background:#f8fafc}.se-code-preview iframe{display:block;width:100%;height:100%;border:0;background:#fff}.se-code-loading,.se-code-error,.se-code-empty-preview{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;box-sizing:border-box}.se-code-loading{color:#8fa4b8;background:#07101d}.se-code-loading i{color:#5eead4;font-size:1.5rem}.se-code-error{color:#fda4af;background:#07101d}.se-code-empty-preview{color:#475569;background:radial-gradient(circle at center,#fff,#eef2f7)}.se-code-empty-preview i{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:17px;background:#fff;color:#0f766e;font-size:1.25rem}.se-code-empty-preview strong{font-size:.86rem}.se-code-empty-preview span{max-width:520px;color:#64748b;font-size:.68rem;line-height:1.7}
#app[data-theme="light"] #m-code .se-code-head{background:#fff}#app[data-theme="light"] #m-code .se-code-tabs{background:#f8fafc}#app[data-theme="light"] #m-code .se-code-reader{border-color:#cbd5e1}
@media(max-width:700px){#m-code{padding:0!important}#m-code .se-code-reader{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}.se-code-head{min-height:52px;padding:6px 8px}.se-code-head-icon{width:34px;height:34px}.se-code-head-actions a,.se-code-head-actions button{width:32px;height:32px}.se-code-tabs{min-height:44px;padding:5px 7px}.se-code-tabs button{flex:1;min-width:0;height:34px;padding:0 7px}.se-code-safe-note{display:none}.se-code-lines{font-size:11px}.se-code-lines li{grid-template-columns:46px minmax(max-content,1fr)}.se-code-lines li::before{padding-inline:5px 9px}.se-code-lines code{padding-inline-start:10px}}



/* 4.0.32 — definitive composer theme override. */
html[data-theme="light"] #app #ap-audit-modal #ap-audit-composer,
body[data-theme="light"] #app #ap-audit-modal #ap-audit-composer,
#app[data-theme="light"] #ap-audit-modal #ap-audit-composer,
#m-adminpanel[data-theme="light"] #ap-audit-modal #ap-audit-composer{background:#f8fafc!important;background-image:none!important;color:#172033!important;border-color:#d7e1ec!important;box-shadow:none!important}
html[data-theme="light"] #app #ap-audit-modal #ap-audit-message,
body[data-theme="light"] #app #ap-audit-modal #ap-audit-message,
#app[data-theme="light"] #ap-audit-modal #ap-audit-message{background:#fff!important;color:#172033!important;-webkit-text-fill-color:#172033!important;border-color:#cbd5e1!important}
html[data-theme="light"] #app #ap-audit-modal #ap-audit-composer .se-attach-btn,
body[data-theme="light"] #app #ap-audit-modal #ap-audit-composer .se-attach-btn,
#app[data-theme="light"] #ap-audit-modal #ap-audit-composer .se-attach-btn{background:#fff!important;color:#334155!important;border-color:#cbd5e1!important}
html[data-theme="dark"] #app #ap-audit-modal #ap-audit-composer,
body[data-theme="dark"] #app #ap-audit-modal #ap-audit-composer,
#app[data-theme="dark"] #ap-audit-modal #ap-audit-composer{background:#071126!important;color:#eef6ff!important;border-color:rgba(148,163,184,.2)!important}

/* 4.0.32 — strict light/dark parity for every administrative messaging surface.
   The composer is intentionally given its own semantic surface so a stale host-theme
   background can never leak a black strip into light mode. */
[data-theme="light"] :is(#ap-audit-composer,#ap-adminmsgs-composer,#m-admincontact .se-audit-composer),
:is(#ap-audit-composer,#ap-adminmsgs-composer,#m-admincontact .se-audit-composer)[data-theme="light"]{
  background:#f8fafc!important;
  color:#172033!important;
  border:1px solid #d7e1ec!important;
  border-radius:14px!important;
  padding:9px!important;
  box-shadow:none!important;
}
[data-theme="light"] :is(#ap-audit-message,#ap-adminmsgs-message,#admin-contact-message){
  background:#ffffff!important;
  color:#172033!important;
  border-color:#cbd5e1!important;
  box-shadow:none!important;
}
[data-theme="light"] :is(#ap-audit-message,#ap-adminmsgs-message,#admin-contact-message)::placeholder{color:#64748b!important;opacity:1!important}
[data-theme="light"] :is(#ap-audit-conversation,#ap-adminmsgs-conversation,#admin-contact-conversation){
  background:#ffffff!important;
  color:#172033!important;
  border-color:#d7e1ec!important;
}
[data-theme="light"] :is(#ap-audit-composer,#ap-adminmsgs-composer,#m-admincontact .se-audit-composer) .se-attach-btn{
  background:#ffffff!important;color:#334155!important;border-color:#cbd5e1!important;
}
[data-theme="dark"] :is(#ap-audit-composer,#ap-adminmsgs-composer,#m-admincontact .se-audit-composer){
  background:#071126!important;
  color:#eef6ff!important;
  border:1px solid rgba(148,163,184,.20)!important;
  border-radius:14px!important;
  padding:9px!important;
  box-shadow:none!important;
}
[data-theme="dark"] :is(#ap-audit-conversation,#ap-adminmsgs-conversation,#admin-contact-conversation){background:#050b1d!important}

/* 4.0.32 — the entire message card, not only its textarea, follows the active theme. */
html[data-theme="light"] #admin-pane-adminmsgs .se-adminmsgs-chat-card,
body[data-theme="light"] #admin-pane-adminmsgs .se-adminmsgs-chat-card,
#m-adminpanel[data-theme="light"] #admin-pane-adminmsgs .se-adminmsgs-chat-card,
[data-theme="light"] #admin-pane-adminmsgs .se-adminmsgs-chat-card,
html[data-theme="light"] #ap-adminmsgs-composer,
body[data-theme="light"] #ap-adminmsgs-composer,
#m-adminpanel[data-theme="light"] #ap-adminmsgs-composer,
html[data-theme="light"] #ap-audit-composer,
body[data-theme="light"] #ap-audit-composer,
html[data-theme="light"] #m-admincontact .se-audit-composer,
body[data-theme="light"] #m-admincontact .se-audit-composer{
  background:#ffffff!important;
  color:#172033!important;
  border-color:#d7e1ec!important;
  background-image:none!important;
}
html[data-theme="light"] #admin-pane-adminmsgs,
body[data-theme="light"] #admin-pane-adminmsgs,
#m-adminpanel[data-theme="light"] #admin-pane-adminmsgs{
  background:#ffffff!important;
  color:#172033!important;
}
html[data-theme="light"] :is(#ap-adminmsgs-message,#ap-audit-message,#admin-contact-message),
body[data-theme="light"] :is(#ap-adminmsgs-message,#ap-audit-message,#admin-contact-message),
#m-adminpanel[data-theme="light"] :is(#ap-adminmsgs-message,#ap-audit-message){
  background:#ffffff!important;
  color:#172033!important;
  -webkit-text-fill-color:#172033!important;
  caret-color:#0f766e!important;
}
html[data-theme="dark"] #admin-pane-adminmsgs .se-adminmsgs-chat-card,
body[data-theme="dark"] #admin-pane-adminmsgs .se-adminmsgs-chat-card,
#m-adminpanel[data-theme="dark"] #admin-pane-adminmsgs .se-adminmsgs-chat-card{
  background:#071126!important;
  color:#eef6ff!important;
}

/* 3.0.2 persistent deletion and admin conversation controls */
#btn-delete-chat{width:34px;height:34px;flex:0 0 34px;align-items:center;justify-content:center;border:1px solid rgba(239,68,68,.28);border-radius:10px;background:rgba(239,68,68,.09);color:#fb7185;cursor:pointer;transition:.16s}
#btn-delete-chat:hover{background:rgba(239,68,68,.16);border-color:rgba(239,68,68,.48);transform:translateY(-1px)}
#btn-delete-chat:disabled{opacity:.45;cursor:wait;transform:none}
.se-msg-deleting{pointer-events:none;opacity:.48!important;filter:saturate(.55)}
.se-msg-deleted{opacity:0!important;transform:scale(.96) translateY(-5px)!important;max-height:0!important;margin-block:0!important;padding-block:0!important;overflow:hidden!important;transition:opacity .2s,transform .2s,max-height .24s,margin .24s,padding .24s!important}
.se-message-datetime{display:inline-flex;align-items:center;gap:5px;direction:inherit;unicode-bidi:plaintext;font-variant-numeric:tabular-nums;white-space:nowrap;color:inherit}.se-message-date{opacity:.78}.se-message-time{font-weight:850}.msg-acts{display:flex;justify-content:flex-end;min-height:0;margin-top:3px}.se-message-delete{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:3px 8px;border:1px solid transparent;border-radius:9px;background:transparent;color:rgba(251,113,133,.72);font:850 .58rem/1 var(--se-font-ui);cursor:pointer;transition:background .16s,border-color .16s,color .16s,transform .16s}.se-message-delete:hover,.se-message-delete:focus-visible{border-color:rgba(239,68,68,.34);background:rgba(239,68,68,.10);color:#fb7185;transform:translateY(-1px);outline:none}.se-message-delete i{font-size:.62rem}
.se-audit-msg .se-audit-msg-actions button.danger{color:#fb7185;border-color:rgba(239,68,68,.25);background:rgba(239,68,68,.06)}
.se-audit-msg .se-audit-msg-actions button.danger:hover{color:#fecaca;border-color:rgba(239,68,68,.48);background:rgba(239,68,68,.13)}
@media(max-width:600px){#btn-delete-chat{width:32px;height:32px;flex-basis:32px;border-radius:9px}.se-audit-msg .se-audit-msg-actions{flex-wrap:wrap}.se-message-datetime{gap:4px;flex-wrap:wrap}.se-message-delete span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.se-message-delete{width:28px;justify-content:center;padding:0}}

/* 4.0.39.1 — small screens reflow explanatory content instead of hiding it. */
@media(max-height:620px){
  #app .se-admin-modal .se-admin-note,
  #admin-pane-audit .se-admin-note{display:block!important;max-height:6em!important;overflow:auto!important}
}
@media(max-width:700px){
  #app .se-code-safe-note{display:flex!important;max-width:100%!important;margin-inline-start:0!important;white-space:normal!important}
  #app .se-code-tabs{flex-wrap:wrap!important;height:auto!important}
}
/* 4.0.39.19.41 — compact fallback source/HTML reader. */
#m-code{padding:0!important;background:rgba(1,5,15,.90)!important}
#m-code .se-code-reader{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border:0!important;border-radius:0!important}
.se-code-head{min-height:38px!important;height:38px!important;flex:0 0 38px!important;padding:3px 6px!important;gap:4px!important}
.se-code-head-icon,.se-code-tabs{display:none!important}
.se-code-head-copy strong{font-size:.64rem!important}.se-code-head-copy small{font-size:.48rem!important;margin-top:0!important}
.se-code-head-actions{gap:3px!important}.se-code-head-actions button,.se-code-head-actions a{width:30px!important;height:30px!important;min-width:30px!important;border-radius:8px!important}
.se-code-body{position:relative!important;flex:1!important;min-height:0!important;overflow:hidden!important}
.se-code-panel{position:absolute!important;inset:0!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-x pan-y!important;scrollbar-gutter:stable both-edges!important}
.se-code-lines{font-size:calc(13px * var(--se-code-zoom,1))!important;padding-top:10px!important}
.se-code-preview{overflow:auto!important}.se-code-preview iframe{display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;border:0!important;transform-origin:top left!important}
.se-code-menu{position:absolute!important;z-index:20!important;inset-block-start:8px!important;inset-inline-end:8px!important;width:196px!important;max-width:calc(100% - 16px)!important;padding:8px!important;border:1px solid rgba(148,163,184,.34)!important;border-radius:12px!important;background:rgba(9,17,30,.97)!important;color:#e5edf5!important;box-shadow:0 16px 42px rgba(0,0,0,.34)!important;backdrop-filter:blur(13px)!important;direction:ltr!important}
.se-code-menu[hidden]{display:none!important}.se-code-menu-status{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin:0 1px 7px!important;padding:0 2px 6px!important;border-bottom:1px solid rgba(148,163,184,.18)!important;color:#cbd5e1!important;font-size:10px!important}.se-code-menu-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:5px!important}.se-code-menu-grid button,.se-code-menu-grid a{width:38px!important;height:34px!important;min-width:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(148,163,184,.24)!important;border-radius:8px!important;background:rgba(255,255,255,.045)!important;color:#d9e4ed!important;text-decoration:none!important;cursor:pointer!important}.se-code-menu-grid button.active,.se-code-menu-grid button:hover,.se-code-menu-grid a:hover{border-color:rgba(45,212,191,.72)!important;background:rgba(45,212,191,.12)!important;color:#5eead4!important}
@media(max-width:700px){.se-code-head{height:36px!important;min-height:36px!important;flex-basis:36px!important;padding:2px 4px!important}.se-code-head-actions button{width:28px!important;height:28px!important;min-width:28px!important}.se-code-menu{inset-block-start:6px!important;inset-inline-end:6px!important;width:188px!important}.se-code-lines{font-size:calc(12px * var(--se-code-zoom,1))!important}}


/* 4.0.39.19.92 — user-chosen passwords, duplicate-safe human-verified registration. */
#v-login .se-login-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%}
#v-login .se-login-actions .btn{min-width:0;margin:0;min-height:44px}
#v-login #btn-reg-open{border-color:color-mix(in srgb,var(--primary) 42%,var(--border));color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}
#v-login #btn-reg-open:hover,#v-login #btn-reg-open:focus-visible{background:color-mix(in srgb,var(--primary) 14%,transparent);border-color:color-mix(in srgb,var(--primary) 65%,var(--border));outline:0}
#v-register{overflow:auto;align-items:flex-start;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
#v-register .se-register-card{position:relative;width:min(820px,100%);max-width:820px;margin:auto;padding:clamp(18px,3vw,30px);text-align:start;max-height:none;overflow:visible}
.se-register-head{display:grid;grid-template-columns:48px minmax(0,1fr) 44px;align-items:center;gap:10px;margin:2px 0 18px}
.se-register-head .edu-brand-lockup{grid-column:1/-1;justify-content:center;margin-bottom:2px}
.se-register-orb{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 14%,transparent);border:1px solid color-mix(in srgb,var(--primary) 32%,var(--border));color:var(--primary);font-size:1rem}
.se-register-copy{min-width:0}.se-register-copy h2{margin:0;color:var(--text-primary);font-size:clamp(1rem,2vw,1.3rem);font-weight:950;line-height:1.35}.se-register-copy p{margin:5px 0 0;color:var(--text-muted);font-size:.72rem;line-height:1.6}
.se-register-back{width:42px;height:42px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text-secondary);cursor:pointer;display:grid;place-items:center}.se-register-back:hover,.se-register-back:focus-visible{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 45%,var(--border));outline:0}
.se-register-form{display:grid;gap:13px}.se-reg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.se-reg-field{display:grid;gap:6px;min-width:0}.se-reg-field.se-reg-wide{grid-column:1/-1}
.se-reg-label{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px;color:var(--text-secondary);font-size:.71rem;font-weight:900}.se-reg-label>span{min-width:0}.se-reg-required{color:#fb7185;margin-inline-start:3px}
.se-reg-help{width:28px;height:28px;min-width:28px;border-radius:9px;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text-muted);cursor:pointer;display:grid;place-items:center;font-size:.72rem}.se-reg-help:hover,.se-reg-help:focus-visible{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 48%,var(--border));background:color-mix(in srgb,var(--primary) 8%,transparent);outline:0}
.se-reg-control,.se-reg-field select{width:100%;min-height:48px;box-sizing:border-box;border:1px solid var(--border-strong);border-radius:13px;background:rgba(255,255,255,.055);color:var(--text-primary);padding:0 13px;font-size:.82rem;font-weight:750;outline:0;transition:border-color .16s,box-shadow .16s,background .16s}.se-reg-control:focus,.se-reg-field select:focus{border-color:color-mix(in srgb,var(--primary) 65%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 11%,transparent);background:rgba(255,255,255,.075)}
.se-reg-control[dir="ltr"],.se-reg-field select[dir="ltr"]{font-family:var(--se-font-latin)!important}.se-reg-control[readonly]{opacity:.92;background:color-mix(in srgb,var(--primary) 6%,rgba(255,255,255,.045));cursor:default}.se-reg-field select option,.se-reg-field select optgroup{background:#0b1730;color:#eef6ff}.se-reg-field.is-invalid .se-reg-control,.se-reg-field.is-invalid select{border-color:#fb7185;box-shadow:0 0 0 3px rgba(251,113,133,.09)}
.se-reg-hint{margin:0;color:var(--text-muted);font-size:.62rem;line-height:1.55;min-height:1em}.se-reg-hint.is-error{color:#fb7185}.se-reg-password-shell{position:relative}.se-reg-password-shell .se-reg-control{padding-inline-end:52px}.se-reg-password-shell .se-password-toggle{position:absolute!important;inset-inline-end:5px!important;inset-block-start:50%!important;transform:translateY(-50%)!important;width:38px!important;height:38px!important;min-width:38px!important;border:0!important;background:transparent!important}
.se-reg-password-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.se-reg-suggest{border:1px solid color-mix(in srgb,var(--primary) 38%,var(--border));background:color-mix(in srgb,var(--primary) 7%,transparent);color:var(--primary);border-radius:10px;padding:7px 10px;min-height:34px;font-size:.65rem;font-weight:900;cursor:pointer}.se-reg-suggest:hover,.se-reg-suggest:focus-visible{background:color-mix(in srgb,var(--primary) 13%,transparent);outline:0}
.se-reg-phone-composite{display:grid;grid-template-columns:minmax(150px,.72fr) minmax(0,1.28fr);gap:8px;min-width:0}.se-reg-phone-composite select,.se-reg-phone-composite input{min-width:0}.se-reg-id-availability{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-height:24px;font-size:.62rem;font-weight:850;color:var(--text-muted)}.se-reg-id-availability[hidden]{display:none!important}.se-reg-id-availability.is-available{color:#34d399}.se-reg-id-availability.is-unavailable{color:#fb7185}.se-reg-id-availability.is-checking{color:var(--text-muted)}.se-reg-id-availability button{border:1px solid color-mix(in srgb,var(--primary) 38%,var(--border));background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary);border-radius:9px;padding:5px 8px;font:inherit;font-weight:900;cursor:pointer}.se-reg-id-availability button:hover,.se-reg-id-availability button:focus-visible{background:color-mix(in srgb,var(--primary) 14%,transparent);outline:0}
.se-user-verification-badge{display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:2px 7px;border-radius:999px;border:1px solid var(--border);font-size:.56rem;font-weight:950;white-space:nowrap}.se-user-verification-badge.is-verified{color:#34d399;border-color:rgba(52,211,153,.34);background:rgba(52,211,153,.08)}.se-user-verification-badge.is-pending{color:#fbbf24;border-color:rgba(251,191,36,.38);background:rgba(251,191,36,.09)}tr.se-admin-user-pending td{background:rgba(251,191,36,.025)}.se-user-approve-btn{color:#34d399!important;border-color:rgba(52,211,153,.4)!important;background:rgba(52,211,153,.07)!important}.se-user-approve-btn:hover,.se-user-approve-btn:focus-visible{background:rgba(52,211,153,.14)!important}
.se-reg-source-custom{display:grid;gap:7px;margin-top:8px}.se-reg-source-custom[hidden]{display:none!important}.se-reg-subjects{border:1px solid var(--border);border-radius:14px;padding:10px;background:rgba(255,255,255,.025);max-height:220px;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;scrollbar-gutter:stable}.se-reg-subject{position:relative;display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 9px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.035);color:var(--text-secondary);font-size:.68rem;font-weight:800;cursor:pointer;user-select:none}.se-reg-subject:hover{border-color:color-mix(in srgb,var(--primary) 38%,var(--border));color:var(--text-primary)}.se-reg-subject input{width:17px;height:17px;accent-color:var(--primary);flex:0 0 auto}.se-reg-subject:has(input:checked){border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary)}
.se-reg-submit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center;margin-top:2px}.se-reg-submit-row .btn{min-height:48px}.se-reg-status{min-height:18px;margin:0;color:var(--text-muted);font-size:.66rem;line-height:1.55}.se-reg-status.is-error{color:#fb7185}.se-reg-status.is-ok{color:var(--primary)}
.se-reg-honeypot{position:fixed!important;inset-inline-start:-10000px!important;inset-block-start:auto!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
#app[data-theme="light"] #v-register .se-reg-control,#app[data-theme="light"] #v-register select,#app[data-theme="light"] .se-reg-subject{background:#fff;color:#172033}#app[data-theme="light"] #v-register .se-reg-field select option,#app[data-theme="light"] #v-register .se-reg-field select optgroup{background:#fff;color:#172033}
.se-reg-help-modal .m-box{width:min(480px,calc(100vw - 24px));max-width:480px;padding:1.25rem;border-radius:1.2rem}.se-reg-help-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.se-reg-help-head h3{margin:0;color:var(--text-primary);font-size:.9rem;font-weight:950}.se-reg-help-close{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text-secondary);cursor:pointer}.se-reg-help-body{margin:0;color:var(--text-secondary);font-size:.75rem;line-height:1.8;white-space:pre-line}
.se-reg-success-modal .m-box{width:min(560px,calc(100vw - 20px));max-width:560px;max-height:calc(100dvh - 20px);overflow:auto;padding:1.35rem;border-radius:1.25rem}.se-reg-success-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:0 auto 12px;background:color-mix(in srgb,var(--primary) 15%,transparent);border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));color:var(--primary);font-size:1.25rem}.se-reg-success-title{text-align:center;margin:0;color:var(--text-primary);font-size:1.05rem;font-weight:950}.se-reg-success-note{text-align:center;margin:7px auto 14px;max-width:460px;color:var(--text-muted);font-size:.7rem;line-height:1.65}.se-reg-credential-list{display:grid;gap:8px}.se-reg-credential-row{display:grid;grid-template-columns:minmax(92px,.38fr) minmax(0,1fr);gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.035)}.se-reg-credential-row span{color:var(--text-muted);font-size:.64rem;font-weight:850}.se-reg-credential-row code,.se-reg-credential-row a{min-width:0;color:var(--text-primary);font-family:var(--se-font-latin)!important;font-size:.73rem;font-weight:850;overflow-wrap:anywhere;word-break:break-word;text-decoration:none;direction:ltr;text-align:left}.se-reg-success-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:8px;margin-top:14px}.se-reg-success-actions .btn{min-height:46px}.se-reg-auto-note{margin:10px 0 0;text-align:center;color:var(--text-muted);font-size:.61rem;line-height:1.55}
@media(max-width:720px){#v-register .se-register-card{padding:16px}.se-reg-grid{grid-template-columns:1fr}.se-reg-field.se-reg-wide{grid-column:auto}.se-reg-subjects{grid-template-columns:repeat(2,minmax(0,1fr));max-height:190px}.se-register-head{grid-template-columns:42px minmax(0,1fr) 40px}.se-register-orb{width:42px;height:42px}.se-register-back{width:38px;height:38px}}
@media(max-width:460px){#v-login .se-login-actions{grid-template-columns:1fr}.se-reg-subjects{grid-template-columns:1fr}.se-reg-phone-composite{grid-template-columns:1fr}.se-reg-submit-row,.se-reg-success-actions{grid-template-columns:1fr}.se-reg-credential-row{grid-template-columns:1fr;gap:4px}.se-reg-success-modal .m-box{padding:1rem}.se-register-copy p{font-size:.66rem}}
@media(max-width:340px){#v-register{padding:5px}.se-register-head{grid-template-columns:38px minmax(0,1fr) 36px;gap:6px}.se-register-orb{width:38px;height:38px;border-radius:12px}.se-register-back{width:34px;height:34px}.se-reg-control,.se-reg-field select{min-height:44px}.se-reg-label{font-size:.66rem}.se-reg-subject{min-height:40px}.se-register-form{gap:9px}.se-reg-grid{gap:9px}}
@media(max-height:640px){#v-register{align-items:flex-start}.se-register-head{margin-bottom:10px}.se-register-copy p{display:block;max-height:3.2em;overflow:auto}}

/* v4.0.39.19.91 — registration geometry, dark-mode contrast and human check. */
#v-register .se-register-card{width:min(900px,100%);max-width:900px;box-sizing:border-box}
#v-register .se-reg-label{align-items:center!important;justify-content:flex-start!important;min-width:0;gap:7px!important}
#v-register .se-reg-label>span{display:flex;align-items:center;min-width:0;overflow-wrap:anywhere}
#v-register .se-reg-label .se-reg-help{margin-inline-start:1px!important}
#v-register .se-reg-help,#m-reg-help .se-reg-help-close,#v-register .se-register-back{box-sizing:border-box!important;display:inline-grid!important;place-items:center!important;padding:0!important;line-height:1!important;flex:0 0 auto!important;overflow:hidden}
#v-register .se-reg-help{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;border-radius:9px!important}
#v-register .se-reg-help i,#m-reg-help .se-reg-help-close i,#v-register .se-register-back i{display:block!important;width:1em!important;height:1em!important;line-height:1!important;margin:0!important;transform:none!important;text-align:center!important}
#v-register .se-reg-help i::before,#m-reg-help .se-reg-help-close i::before,#v-register .se-register-back i::before,#v-register .se-password-toggle i::before{display:block!important;line-height:1!important;transform:none!important}
#m-reg-help .se-reg-help-close{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;border-radius:11px!important}
#m-reg-help .se-reg-help-head{align-items:center!important;min-height:40px}
#m-reg-help .se-reg-help-head h3{min-width:0;overflow-wrap:anywhere}
#v-register .se-reg-field select{appearance:none!important;-webkit-appearance:none!important;background-repeat:no-repeat!important;background-size:13px 8px!important;background-position:right 15px center!important;padding-right:44px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M2 2l5 5 5-5' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
#app[data-lang="ar"] #v-register .se-reg-field select{background-position:left 15px center!important;padding-left:44px!important;padding-right:13px!important}
#v-register .se-reg-password-shell{direction:ltr!important;display:block!important}
#v-register .se-reg-password-shell .se-reg-control{padding-left:13px!important;padding-right:54px!important}
#v-register .se-reg-password-shell .se-password-toggle{box-sizing:border-box!important;right:5px!important;left:auto!important;inset-inline-start:auto!important;inset-inline-end:auto!important;top:50%!important;transform:translateY(-50%)!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;display:grid!important;place-items:center!important;padding:0!important;border-radius:10px!important;line-height:1!important;z-index:2!important}
#v-register .se-reg-password-shell .se-password-toggle i{display:block!important;width:1em!important;height:1em!important;line-height:1!important;margin:0!important;transform:none!important}
#v-register .se-reg-control,#v-register .se-reg-field select{font-size:max(.82rem,16px);line-height:1.25}
#app[data-theme="dark"] #m-reg-help .m-box{background:#071326!important;border-color:#294160!important;box-shadow:0 24px 70px rgba(0,0,0,.58)!important}
#app[data-theme="dark"] #m-reg-help .se-reg-help-head h3{color:#f8fbff!important}
#app[data-theme="dark"] #m-reg-help .se-reg-help-body{color:#e2edf8!important;font-weight:650!important;text-shadow:0 0 1px rgba(255,255,255,.04)}
#m-reg-help .se-reg-help-body{font-size:clamp(.78rem,1.15vw,.9rem)!important;line-height:1.9!important;overflow-wrap:anywhere}
#app[data-theme="dark"] #m-reg-help .se-reg-help-close{background:#0d1d34!important;border-color:#334a68!important;color:#d8e5f3!important}
#app[data-theme="dark"] #m-reg-help .se-reg-help-close:hover,#app[data-theme="dark"] #m-reg-help .se-reg-help-close:focus-visible{background:#132844!important;border-color:#4f708f!important;color:#fff!important;outline:2px solid rgba(45,212,191,.35)!important;outline-offset:2px}
#app[data-theme="dark"] #v-register .se-reg-hint{color:#aebfd4}
#app[data-theme="dark"] #v-register .se-register-copy p{color:#b9c8da}
#app[data-theme="dark"] #v-register .se-reg-label{color:#e0e9f4}
#app[data-theme="dark"] #v-register .se-reg-help{background:#0d1c32;color:#9fb5cc;border-color:#2d4360}
#app[data-theme="dark"] #v-register .se-reg-help:hover,#app[data-theme="dark"] #v-register .se-reg-help:focus-visible{color:#6ee7d7;background:#10283a;border-color:#36a99b}
.se-reg-human-field{margin-top:1px}
.se-reg-human{display:grid;gap:9px;padding:12px;border:1px solid var(--border-strong);border-radius:15px;background:rgba(255,255,255,.035);min-width:0;transition:border-color .18s,background .18s,box-shadow .18s}
.se-reg-human[data-state="ready"]{border-color:color-mix(in srgb,var(--primary) 38%,var(--border-strong))}
.se-reg-human[data-state="verified"]{border-color:#34d399;background:rgba(52,211,153,.07);box-shadow:0 0 0 3px rgba(52,211,153,.08)}
.se-reg-human[data-state="error"]{border-color:#fb7185;background:rgba(251,113,133,.05)}
.se-reg-human-track{position:relative;height:52px;min-height:52px;border:1px solid var(--border);border-radius:14px;background:rgba(4,13,29,.55);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.se-reg-human-fill{position:absolute;inset-block:0;left:0;width:0;background:linear-gradient(90deg,rgba(45,212,191,.08),rgba(45,212,191,.22));pointer-events:none}
.se-reg-human[data-direction="rtl"] .se-reg-human-fill{left:auto;right:0}
.se-reg-human-target{position:absolute;top:7px;right:8px;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#6ee7d7;border:1px dashed rgba(110,231,215,.55);background:rgba(45,212,191,.08);font-size:.85rem;pointer-events:none}
.se-reg-human[data-direction="rtl"] .se-reg-human-target{right:auto;left:8px}
.se-reg-human-knob{position:absolute;top:6px;left:7px;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:1px solid rgba(148,163,184,.38);border-radius:12px;background:#13223a;color:#dbeafe;display:grid;place-items:center;cursor:grab;touch-action:none;box-shadow:0 5px 14px rgba(0,0,0,.22);z-index:2;transition:background .15s,border-color .15s,box-shadow .15s}
.se-reg-human[data-direction="rtl"] .se-reg-human-knob{left:auto;right:7px}
.se-reg-human-knob:active{cursor:grabbing}
.se-reg-human-knob:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.se-reg-human[data-state="verified"] .se-reg-human-knob{background:#0f766e;border-color:#5eead4;color:#fff;cursor:default}
.se-reg-human-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;color:var(--text-secondary);font-size:.66rem;font-weight:850;line-height:1.5}
.se-reg-human-copy>span{min-width:0;overflow-wrap:anywhere}
.se-reg-human-refresh{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.04);color:var(--text-secondary);padding:5px 9px;font:inherit;font-weight:900;cursor:pointer;white-space:nowrap}
.se-reg-human-refresh:hover,.se-reg-human-refresh:focus-visible{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 45%,var(--border));outline:0}
#app[data-theme="light"] .se-reg-human{background:#f8fbff}#app[data-theme="light"] .se-reg-human-track{background:#eef4f8}#app[data-theme="light"] .se-reg-human-knob{background:#fff;color:#334155;border-color:#cbd5e1}
@media(max-width:720px){#v-register{padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}#v-register .se-register-card{width:100%;padding:14px;border-radius:18px}.se-reg-grid{gap:11px}.se-reg-phone-composite{grid-template-columns:minmax(118px,.8fr) minmax(0,1.2fr)}.se-reg-human{padding:10px}.se-reg-human-copy{align-items:flex-start;flex-direction:column}.se-reg-human-refresh{width:100%}}
@media(max-width:460px){#v-register .se-register-card{padding:12px}.se-register-head{grid-template-columns:40px minmax(0,1fr) 38px;gap:8px}.se-register-copy h2{font-size:1rem}.se-reg-phone-composite{grid-template-columns:1fr}.se-reg-phone-composite select,.se-reg-phone-composite input{width:100%}.se-reg-control,.se-reg-field select{min-height:50px}.se-reg-label{font-size:.72rem}.se-reg-help{width:32px!important;height:32px!important;min-width:32px!important}.se-reg-human-track{height:54px}.se-reg-submit-row .btn{min-height:50px}}
@media(max-width:360px){#v-register{padding:4px}.se-register-head{grid-template-columns:36px minmax(0,1fr) 34px}.se-register-orb{width:36px;height:36px}.se-register-back{width:34px!important;height:34px!important}.se-reg-human{padding:8px}.se-reg-human-copy{font-size:.64rem}}
@media(min-width:1400px){#v-register .se-register-card{max-width:1040px}.se-reg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.se-reg-control,.se-reg-field select{min-height:54px;font-size:17px}.se-reg-label{font-size:.82rem}.se-reg-hint{font-size:.7rem}.se-reg-subject{font-size:.75rem;min-height:46px}.se-reg-submit-row .btn{min-height:54px;font-size:.84rem}}
@media(min-width:1900px) and (min-height:900px){#v-register .se-register-card{max-width:1160px;padding:34px}.se-register-copy h2{font-size:1.55rem}.se-register-copy p{font-size:.86rem}.se-reg-grid{gap:18px}.se-reg-control,.se-reg-field select{min-height:58px;font-size:18px}.se-reg-help{width:34px!important;height:34px!important}.se-reg-label{font-size:.9rem}.se-reg-hint{font-size:.75rem}.se-reg-subjects{max-height:280px}.se-reg-subject{min-height:50px;font-size:.82rem}.se-reg-human-track{height:58px}.se-reg-human-knob{width:44px;height:44px;top:6px}.se-reg-human-target{width:42px;height:42px;top:7px}}
@media(max-height:600px) and (orientation:landscape){#v-register .se-register-card{margin-block:4px;padding:12px}.se-register-head{margin-bottom:9px}.se-reg-grid{gap:9px}.se-reg-control,.se-reg-field select{min-height:44px}.se-reg-subjects{max-height:130px}.se-reg-human{padding:8px}.se-reg-human-track{height:46px;min-height:46px}.se-reg-human-knob{top:4px;width:36px;height:36px}.se-reg-human-target{top:4px;width:36px;height:36px}.se-reg-submit-row .btn{min-height:44px}}


/* v4.0.39.19.99 — fast admin rendering, bulk actions and assignment filter. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.se-users-bulkbar[hidden]{display:none!important}.se-users-bulkbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 12px;padding:10px 11px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025)}
.se-bulk-select-visible{display:inline-flex;align-items:center;gap:7px;min-height:38px;font-size:.64rem;font-weight:900;color:var(--text-primary)}.se-bulk-select-visible input,.se-user-select-cell input{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.se-bulk-count{font-size:.62rem;font-weight:900;color:var(--text-muted);min-width:72px}.se-bulk-language{display:flex;align-items:center;gap:7px;margin-inline-start:auto;font-size:.6rem;font-weight:900;color:var(--text-muted)}.se-bulk-language select{min-height:38px;border:1px solid var(--border-strong);border-radius:10px;background:rgba(255,255,255,.055);color:var(--text-primary);padding:0 9px;font:800 .65rem/1 var(--se-font-ui),sans-serif}.se-users-bulkbar .btn{min-height:38px!important;border-radius:10px!important}.se-user-select-col,.se-user-select-cell{width:42px!important;min-width:42px!important;text-align:center!important;padding-inline:8px!important}
.se-assignment-list-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:stretch;margin-bottom:9px}.se-assignment-list-toolbar .se-search-row{margin:0!important}.se-assignment-filter-toggle{min-height:42px!important}.se-assignment-filter-toggle.is-active{border-color:rgba(34,211,178,.45)!important;background:rgba(34,211,178,.12)!important;color:var(--primary)!important}.se-assignment-filters{display:grid;grid-template-columns:repeat(3,minmax(145px,1fr)) auto;gap:9px;align-items:end;margin:0 0 11px;padding:10px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.025)}.se-assignment-filters[hidden]{display:none!important}.se-assignment-filters label{display:grid;gap:5px;font-size:.6rem;font-weight:900;color:var(--text-muted)}.se-assignment-filters select{min-height:40px;border:1px solid var(--border-strong);border-radius:10px;background:rgba(255,255,255,.055);color:var(--text-primary);padding:0 10px;font-family:inherit;font-weight:850}
#app[data-theme="light"] .se-users-bulkbar,#app[data-theme="light"] .se-assignment-filters{background:#fff;border-color:#dbe3ee}#app[data-theme="light"] .se-bulk-language select,#app[data-theme="light"] .se-assignment-filters select{background:#fff;color:#0f172a;border-color:#cbd5e1}
@media(max-width:760px){.se-users-bulkbar{display:grid;grid-template-columns:1fr 1fr}.se-bulk-language{margin-inline-start:0;justify-content:space-between;grid-column:1/-1}.se-users-bulkbar .se-bulk-card-btn,.se-users-bulkbar .se-bulk-delete-btn{width:100%;justify-content:center}.se-assignment-list-toolbar,.se-assignment-filters{grid-template-columns:1fr}.se-assignment-filter-toggle{width:100%}.se-user-select-col,.se-user-select-cell{width:36px!important;min-width:36px!important}}

/* v4.0.39.19.103 — bounded chat history loader. Kept intentionally light:
   no layout-wide animation or expensive filter/blur effects. */
.se-chat-history-more{
  align-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:38px;
  margin:.45rem auto .8rem;
  padding:.52rem .9rem;
  border:1px solid rgba(34,211,178,.24);
  border-color:color-mix(in srgb,var(--primary) 22%,transparent);
  border-radius:999px;
  background:var(--card-bg,#fff);
  background:color-mix(in srgb,var(--card-bg,#fff) 94%,var(--primary) 6%);
  color:var(--text-color,#182033);
  font:700 .78rem/1.25 'Tajawal','Space Grotesk',sans-serif;
  cursor:pointer;
  box-shadow:0 5px 16px rgba(15,23,42,.06);
  transition:transform .16s ease,border-color .16s ease,background-color .16s ease;
}
html[dir="ltr"] .se-chat-history-more{font-family:'Space Grotesk','Jost',sans-serif}
.se-chat-history-more:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(34,211,178,.48);border-color:color-mix(in srgb,var(--primary) 42%,transparent)}
.se-chat-history-more:focus-visible{outline:3px solid rgba(34,211,178,.30);outline:3px solid color-mix(in srgb,var(--primary) 26%,transparent);outline-offset:2px}
.se-chat-history-more:disabled{cursor:wait;opacity:.68}
@media (prefers-reduced-motion:reduce){.se-chat-history-more{transition:none}}

/* v4.0.39.19.123 — group students stay attached to their group while true
   individual-assignment students remain in the original people section. */
#grp-lst .ni.se-group-cluster{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:6px!important;
  padding:7px 8px 8px!important;
  overflow:visible!important;
  cursor:default!important;
  transform:none!important;
  isolation:isolate;
}
#grp-lst .ni.se-group-cluster:hover{
  transform:none!important;
  background:rgba(45,232,200,.065)!important;
}
#grp-lst .se-group-cluster>.se-group-chat-trigger{
  width:100%;min-width:0;min-height:42px;
  display:flex;align-items:center;gap:10px;
  padding:4px 72px 4px 3px;
  border:0;background:transparent;color:var(--text-primary);
  font-family:var(--se-font-ui),sans-serif;font-size:.88rem;font-weight:700;
  text-align:start;cursor:pointer;border-radius:11px;
  -webkit-appearance:none;appearance:none;
}
[dir="rtl"] #grp-lst .se-group-cluster>.se-group-chat-trigger{padding:4px 3px 4px 72px;}
#grp-lst .se-group-cluster>.se-group-chat-trigger:hover,
#grp-lst .se-group-cluster>.se-group-chat-trigger:focus-visible{
  background:rgba(45,232,200,.08);outline:2px solid rgba(45,232,200,.18);outline-offset:1px;
}
#grp-lst .se-group-cluster .se-group-chat-trigger>.ni-lbl{
  flex:1 1 0;min-width:0;width:0;display:flex;flex-direction:column;align-items:flex-start;
}
#grp-lst .se-group-cluster>.se-person-more{
  position:absolute!important;top:12px!important;inset-inline-end:10px!important;z-index:5!important;
}
#grp-lst .se-group-cluster>.unread-badge{
  position:absolute!important;top:17px!important;inset-inline-end:46px!important;z-index:4!important;margin:0!important;
}
#grp-lst .se-group-students-toggle{
  width:100%;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:7px 9px;border:1px solid var(--border);border-radius:11px;
  background:color-mix(in srgb,var(--primary) 7%,transparent);color:var(--text-secondary);
  font-family:var(--se-font-ui),sans-serif;font-size:.68rem;font-weight:850;text-align:start;cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
#grp-lst .se-group-students-toggle:hover,
#grp-lst .se-group-students-toggle:focus-visible{
  background:color-mix(in srgb,var(--primary) 12%,transparent);border-color:color-mix(in srgb,var(--primary) 34%,var(--border));color:var(--primary);outline:none;
}
#grp-lst .se-group-students-toggle-label{display:flex;align-items:center;gap:7px;min-width:0;}
#grp-lst .se-group-students-toggle-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#grp-lst .se-group-students-toggle-label>strong{
  min-width:22px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);font-size:.62rem;font-weight:950;
}
#grp-lst .se-group-students-chevron{flex:0 0 auto;font-size:.62rem;transition:transform .16s ease;}
#grp-lst .se-group-students-panel{
  min-width:0;display:flex;flex-direction:column;gap:4px;padding:2px 0 0;
}
#grp-lst .se-group-students-panel[hidden]{display:none!important;}
#grp-lst .se-group-student-row{
  width:calc(100% - 10px)!important;min-width:0!important;min-height:42px!important;
  margin-inline-start:10px;padding:7px 9px!important;gap:8px!important;
  border-color:color-mix(in srgb,var(--border) 86%,transparent)!important;
  background:color-mix(in srgb,var(--surface-2,#0f1c2e) 58%,transparent)!important;
  box-sizing:border-box!important;
}
#grp-lst .se-group-student-row .stu-n{width:32px;height:32px;min-width:32px;border-radius:10px;font-size:.76rem;}
#grp-lst .se-group-student-row>.ni-lbl{flex:1 1 0;min-width:0;width:0;}
#grp-lst .se-group-student-row .se-group-student-chat-icon{flex:0 0 auto;color:var(--primary);font-size:.78rem;opacity:.78;}
/* Light mode must use a true light surface. The previous fallback resolved to
   #0f1c2e because --surface-2 is not a light-theme token, producing the dark
   grey rows seen on phones. */
[data-theme="light"] #grp-lst .ni.se-group-cluster{
  background:#ffffff!important;
  border-color:rgba(13,155,128,.14)!important;
  box-shadow:0 2px 10px rgba(15,23,42,.045)!important;
}
[data-theme="light"] #grp-lst .ni.se-group-cluster:hover{background:#ffffff!important;border-color:rgba(13,155,128,.20)!important;}
[data-theme="light"] #grp-lst .se-group-student-row{
  background:#f6fbfa!important;
  border-color:rgba(13,155,128,.16)!important;
  color:var(--text-primary)!important;
  box-shadow:0 1px 3px rgba(15,23,42,.035)!important;
}
[data-theme="light"] #grp-lst .se-group-student-row:hover,
[data-theme="light"] #grp-lst .se-group-student-row:focus-visible{
  background:#edf8f5!important;
  border-color:rgba(13,155,128,.28)!important;
  color:var(--text-primary)!important;
  box-shadow:0 2px 7px rgba(13,155,128,.07)!important;
}
[data-theme="light"] #grp-lst .se-group-student-row>.ni-lbl>span{color:var(--text-primary)!important;}
[data-theme="light"] #grp-lst .se-group-student-row .se-group-sidebar-subject{color:var(--text-muted)!important;}
[data-theme="light"] #grp-lst .se-group-students-toggle{
  background:#f5faf9!important;
  border-color:rgba(13,155,128,.15)!important;
  color:var(--text-secondary)!important;
}
[data-theme="light"] #grp-lst .se-group-students-toggle:hover,
[data-theme="light"] #grp-lst .se-group-students-toggle:focus-visible{
  background:#eaf7f3!important;
  border-color:rgba(13,155,128,.28)!important;
  color:var(--primary)!important;
}
#grp-lst .se-group-students-empty{
  margin-inline-start:10px;padding:8px 10px;border:1px dashed var(--border);border-radius:10px;
  color:var(--text-muted);font-size:.64rem;font-weight:750;text-align:start;
}
@media(max-width:620px){
  #grp-lst .ni.se-group-cluster{padding:6px 7px 7px!important;gap:5px!important;}
  #grp-lst .se-group-cluster>.se-group-chat-trigger{min-height:40px;padding-inline-end:68px;font-size:.82rem;}
  [dir="rtl"] #grp-lst .se-group-cluster>.se-group-chat-trigger{padding-inline-start:68px;padding-inline-end:3px;}
  #grp-lst .se-group-students-toggle{min-height:38px;font-size:.66rem;}
  #grp-lst .se-group-student-row{width:calc(100% - 6px)!important;margin-inline-start:6px;min-height:44px!important;}
}


/* === 4.0.39.19.133 — login composition + strict bidi controls === */
#app #v-login .card{
  position:relative!important;
  width:min(92vw,430px)!important;
  padding:clamp(24px,5vw,38px)!important;
  border-radius:28px!important;
}
#app #v-login .se-login-stack{display:grid!important;gap:12px!important;width:100%!important}
#app #v-login .se-login-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  width:100%!important;
  margin-top:5px!important;
  padding:10px!important;
  border:1px solid color-mix(in srgb,var(--border-strong,var(--border)) 75%,transparent)!important;
  border-radius:18px!important;
  background:color-mix(in srgb,var(--surface-2,var(--surface)) 72%,transparent)!important;
}
#app #v-login .se-login-actions .btn{width:100%!important;min-height:48px!important;margin:0!important;justify-content:center!important;gap:9px!important;border-radius:13px!important}
#app #v-login .se-login-submit{min-height:52px!important;font-weight:900!important;box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 20%,transparent)!important}
#app #v-login .as-quick-login{margin:0!important}
#app #v-login .se-login-back{
  width:46px!important;min-width:46px!important;height:46px!important;min-height:46px!important;
  padding:0!important;margin:3px auto 0!important;border-radius:14px!important;justify-content:center!important;
}
#app #v-login .se-login-back i{margin:0!important}
@media(max-width:560px){
  #app #v-login .card{width:min(94vw,410px)!important;padding:22px 16px 18px!important;border-radius:24px!important}
  #app #v-login .se-login-actions{padding:8px!important;gap:8px!important}
  #app #v-login .se-login-actions .btn{min-height:48px!important}
  #app #v-login .se-login-submit{min-height:52px!important}
}

/* Native select direction follows the active interface language. Telephone digits stay LTR. */
#app[data-lang="ar"] #v-register select{direction:rtl!important;text-align:right!important;text-align-last:right!important}
#app[data-lang="ar"] #v-register select option,
#app[data-lang="ar"] #v-register select optgroup{direction:rtl!important;text-align:right!important}
#app:not([data-lang="ar"]) #v-register select{direction:ltr!important;text-align:left!important;text-align-last:left!important}
#app:not([data-lang="ar"]) #v-register select option,
#app:not([data-lang="ar"]) #v-register select optgroup{direction:ltr!important;text-align:left!important}
#app #v-register #reg-phone{direction:ltr!important;text-align:left!important}

/* Password visibility control: Arabic = eye on the physical left; Latin = physical right. */
#app[data-lang="ar"] #v-login .se-login-password-shell,
#app[data-lang="ar"] #v-register .se-reg-password-shell{direction:ltr!important}
#app[data-lang="ar"] #v-login .se-login-password-shell>.se-credential-input,
#app[data-lang="ar"] #v-register .se-reg-password-shell>.se-reg-control{grid-column:2!important;grid-row:1!important}
#app[data-lang="ar"] #v-login .se-login-password-shell>.se-login-password-toggle,
#app[data-lang="ar"] #v-register .se-reg-password-shell>.se-password-toggle{grid-column:1!important;grid-row:1!important;border-inline-start:0!important;border-right:1px solid var(--border,var(--se-ui-border))!important}
#app:not([data-lang="ar"]) #v-login .se-login-password-shell>.se-credential-input,
#app:not([data-lang="ar"]) #v-register .se-reg-password-shell>.se-reg-control{grid-column:1!important;grid-row:1!important}
#app:not([data-lang="ar"]) #v-login .se-login-password-shell>.se-login-password-toggle,
#app:not([data-lang="ar"]) #v-register .se-reg-password-shell>.se-password-toggle{grid-column:2!important;grid-row:1!important;border-right:0!important;border-inline-start:1px solid var(--border,var(--se-ui-border))!important}
#app[data-lang="ar"] #v-login .se-login-password-shell,
#app[data-lang="ar"] #v-register .se-reg-password-shell{grid-template-columns:46px minmax(0,1fr)!important}
#app:not([data-lang="ar"]) #v-login .se-login-password-shell,
#app:not([data-lang="ar"]) #v-register .se-reg-password-shell{grid-template-columns:minmax(0,1fr) 46px!important}
@media(max-width:560px){
 #app[data-lang="ar"] #v-login .se-login-password-shell,
 #app[data-lang="ar"] #v-register .se-reg-password-shell{grid-template-columns:44px minmax(0,1fr)!important}
 #app:not([data-lang="ar"]) #v-login .se-login-password-shell,
 #app:not([data-lang="ar"]) #v-register .se-reg-password-shell{grid-template-columns:minmax(0,1fr) 44px!important}
}
/* v133 final login back control: compact, floating, no empty footer row. */
#app #v-login .se-login-back{position:absolute!important;top:18px!important;inset-inline-start:18px!important;margin:0!important;z-index:3!important}
#app[data-lang="ar"] #v-login .se-login-back i{transform:scaleX(-1)!important}
#app:not([data-lang="ar"]) #v-login .se-login-back i{transform:none!important}
@media(max-width:560px){#app #v-login .se-login-back{top:13px!important;inset-inline-start:13px!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important}}


/* === 4.0.39.19.134 — fixed Latin language chooser + registration back geometry === */
#app #v-lang{
  direction:ltr!important;
  text-align:center!important;
}
#app #v-lang .card{
  direction:ltr!important;
}
#app #v-lang #lang-title{
  direction:ltr!important;
  unicode-bidi:isolate!important;
  text-align:center!important;
  font-family:var(--se-font-latin)!important;
}
#app #v-lang .lang-row{
  direction:ltr!important;
  text-align:left!important;
  font-family:var(--se-font-latin)!important;
}
#app #v-lang .lang-row>span{
  direction:ltr!important;
  unicode-bidi:isolate!important;
  text-align:left!important;
}
#app #v-lang .lang-row>i{
  margin-left:auto!important;
  margin-right:0!important;
  transform:none!important;
}

/* Back navigation is physical, not inherited from a stale page direction:
   LTR = left-side back button with left arrow; RTL = right-side button with right arrow. */
#app #v-register .se-register-head{
  grid-template-areas:
    "brand brand brand"
    "back orb copy"!important;
  grid-template-columns:44px 48px minmax(0,1fr)!important;
}
#app #v-register .se-register-head .edu-brand-lockup{grid-area:brand!important;grid-column:auto!important}
#app #v-register .se-register-orb{grid-area:orb!important}
#app #v-register .se-register-copy{grid-area:copy!important;min-width:0!important}
#app #v-register .se-register-back{grid-area:back!important;justify-self:start!important}
#app:not([data-lang="ar"]) #v-register .se-register-back i{transform:none!important}
#app[data-lang="ar"] #v-register .se-register-head{
  grid-template-areas:
    "brand brand brand"
    "copy orb back"!important;
  grid-template-columns:minmax(0,1fr) 48px 44px!important;
}
#app[data-lang="ar"] #v-register .se-register-back{justify-self:end!important}
#app[data-lang="ar"] #v-register .se-register-back i{transform:scaleX(-1)!important}
@media(max-width:720px){
  #app #v-register .se-register-head{
    grid-template-columns:40px 42px minmax(0,1fr)!important;
  }
  #app[data-lang="ar"] #v-register .se-register-head{
    grid-template-columns:minmax(0,1fr) 42px 40px!important;
  }
}
@media(max-width:340px){
  #app #v-register .se-register-head{
    grid-template-columns:36px 38px minmax(0,1fr)!important;
  }
  #app[data-lang="ar"] #v-register .se-register-head{
    grid-template-columns:minmax(0,1fr) 38px 36px!important;
  }
}

/* 4.0.39.19.134 — registration navigation uses physical geometry, independent of bidi grid mirroring. */
#app #v-register .se-register-head{direction:ltr!important;}
#app:not([data-lang="ar"]) #v-register .se-register-copy{direction:ltr!important;text-align:left!important;}
#app[data-lang="ar"] #v-register .se-register-copy{direction:rtl!important;text-align:right!important;}
#app #v-register .se-register-head .edu-brand-lockup{direction:ltr!important;}

/* 4.0.39.20.14 — session renewal plans (source parity with ui-bundle.css) */
.se-assignment-form{grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(130px,.6fr) minmax(185px,.9fr) auto auto!important}
.se-session-renewal-badge{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;max-width:100%;margin-inline-start:7px;padding:3px 7px;border:1px solid var(--border);border-radius:999px;font-family:inherit;font-size:.58rem;font-weight:850;line-height:1.35;color:var(--text-secondary);background:rgba(255,255,255,.045);white-space:nowrap;word-break:keep-all;overflow-wrap:normal;writing-mode:horizontal-tb;cursor:pointer;touch-action:manipulation}.se-session-renewal-badge.monthly{border-color:rgba(96,165,250,.28);color:#93c5fd;background:rgba(59,130,246,.09)}.se-session-renewal-badge.on_completion{border-color:rgba(45,232,200,.3);color:var(--primary);background:rgba(34,211,178,.09)}.se-session-renewal-badge:hover,.se-session-renewal-badge:focus-visible{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent)}.se-session-renewal-badge:disabled{cursor:wait;opacity:.72}.se-session-renewal-badge.is-updating{filter:saturate(.7)}
.se-session-plan-card{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(130px,.45fr) minmax(185px,.7fr);gap:10px;align-items:end;margin:12px 0;padding:14px;border:1px solid color-mix(in srgb,var(--primary) 26%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--primary) 5%,rgba(255,255,255,.025))}.se-session-plan-copy{align-self:start}.se-session-plan-copy h3{display:flex;align-items:center;gap:8px;margin:0;color:var(--text-primary);font-size:.84rem}.se-session-plan-copy h3 i{color:var(--primary)}.se-session-plan-copy p{margin:5px 0 0;color:var(--text-muted);font-size:.65rem;line-height:1.55}.se-session-plan-field{display:grid;gap:5px}.se-session-plan-field>span,.se-session-plan-targets-head strong{color:var(--text-secondary);font-size:.62rem;font-weight:850}.se-session-plan-field input,.se-session-plan-field select{min-height:42px;border:1px solid var(--border-strong);border-radius:.65rem;background:rgba(255,255,255,.06);color:var(--text-primary);padding:0 10px;font-family:inherit}.se-session-plan-targets{grid-column:1/-1;display:grid;gap:8px}.se-session-plan-targets-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.se-session-plan-targets-head strong{margin-inline-end:auto}.se-session-plan-targets-head .btn{min-height:34px!important;padding:6px 11px!important;font-size:.62rem!important}.se-session-plan-target-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:7px;max-height:230px;overflow:auto;padding:2px;scrollbar-gutter:stable}.se-session-plan-target{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--border);border-radius:.72rem;background:rgba(255,255,255,.035);cursor:pointer}.se-session-plan-target:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:rgba(34,211,178,.055)}.se-session-plan-target input{width:17px;height:17px;accent-color:var(--primary)}.se-session-plan-target span{min-width:0;display:grid;gap:2px}.se-session-plan-target strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:.68rem}.se-session-plan-target small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:.56rem}.se-session-plan-target em{font-style:normal;color:var(--primary);font-size:.56rem;text-align:end;white-space:nowrap}.se-session-plan-empty{padding:14px;border:1px dashed var(--border);border-radius:.7rem;color:var(--text-muted);font-size:.65rem;text-align:center}.se-session-plan-action{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.se-session-plan-status{color:var(--text-muted);font-size:.64rem}.se-session-plan-status.error{color:#f87171}#app[data-theme="light"] .se-session-plan-card{background:#f7fbfa!important}.se-individual-teacher-row{grid-template-columns:repeat(4,minmax(120px,1fr)) auto!important}.se-individual-teacher-field select,.se-individual-teacher-field input{width:100%;min-width:0}@media(max-width:900px){.se-session-plan-card{grid-template-columns:1fr 1fr}.se-session-plan-copy{grid-column:1/-1}.se-individual-teacher-row{grid-template-columns:1fr 1fr!important}}@media(max-width:760px){.se-assignment-form{grid-template-columns:1fr!important}.se-session-plan-card{grid-template-columns:1fr}.se-session-plan-copy,.se-session-plan-targets,.se-session-plan-action{grid-column:auto}.se-session-plan-target-grid{grid-template-columns:1fr;max-height:300px}.se-session-plan-action .btn{width:100%;justify-content:center}.se-individual-teacher-row{grid-template-columns:1fr!important}}

/* SININBE assignment bulk controls: integrated in existing assignment list */
.se-assignment-bulkbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:0 0 11px;padding:9px 10px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025)}.se-assignment-bulkbar[hidden]{display:none!important}.se-assignment-bulkbar>strong{align-self:center;min-width:74px;padding:6px 9px;border-radius:999px;background:rgba(34,211,178,.11);color:var(--primary);font-size:.62rem;text-align:center}.se-assignment-bulkbar label{display:grid;gap:4px;min-width:130px}.se-assignment-bulkbar label>span{font-size:.57rem;font-weight:850;color:var(--text-muted)}.se-assignment-bulkbar input,.se-assignment-bulkbar select{min-height:36px;border:1px solid var(--border-strong);border-radius:9px;background:rgba(255,255,255,.055);color:var(--text-primary);padding:0 9px;font-family:inherit;font-size:.65rem}.se-assignment-bulkbar .btn{min-height:36px!important;padding:7px 10px!important;font-size:.61rem!important}.se-session-plan-status{color:var(--text-muted);font-size:.61rem}.se-session-plan-status.error{color:#f87171}.se-assignment-select-col,.se-assignment-select-cell{width:38px!important;min-width:38px!important;text-align:center!important}.se-assignment-select-col input,.se-assignment-select-cell input{width:17px;height:17px;accent-color:var(--primary);cursor:pointer}.se-assignment-status-badge{display:inline-flex;align-items:center;flex:0 0 auto;margin-inline-start:6px;padding:2px 7px;border-radius:999px;font-size:.53rem;font-weight:900;line-height:1.4;white-space:nowrap;word-break:keep-all;overflow-wrap:normal;writing-mode:horizontal-tb}.se-assignment-status-badge.is-active{background:rgba(34,197,94,.12);color:#4ade80}.se-assignment-status-badge.is-paused{background:rgba(245,158,11,.14);color:#fbbf24}.se-admin-table tbody tr.is-paused{background:rgba(245,158,11,.025)}.se-admin-table tbody tr.is-paused>td:not(.se-assignment-select-cell){opacity:.82}#app[data-theme="light"] .se-assignment-bulkbar{background:#fff;border-color:#dbe3ee}#app[data-theme="light"] .se-assignment-bulkbar input,#app[data-theme="light"] .se-assignment-bulkbar select{background:#fff;color:#0f172a;border-color:#cbd5e1}#app[data-theme="light"] .se-assignment-status-badge.is-active{color:#15803d;background:#dcfce7}#app[data-theme="light"] .se-assignment-status-badge.is-paused{color:#b45309;background:#fef3c7}
@media(max-width:900px){.se-assignment-filters{grid-template-columns:1fr 1fr}.se-assignment-bulkbar label{flex:1 1 145px}}
@media(max-width:760px){.se-assignment-filters{grid-template-columns:1fr}.se-assignment-bulkbar{align-items:stretch}.se-assignment-bulkbar>strong{width:100%}.se-assignment-bulkbar label{flex:1 1 100%}.se-assignment-bulkbar .btn{flex:1 1 calc(50% - 8px);justify-content:center}.se-assignment-select-col,.se-assignment-select-cell{width:34px!important;min-width:34px!important}}

/* === SININBE bundled source: includes/documents/documents.css === */
/* Sininbe EDU Documents Center 2.6.1 */
#admin-pane-certificates.active{display:flex!important;flex-direction:column!important;min-height:0!important;height:100%!important;overflow:hidden!important;gap:10px!important}
#admin-pane-certificates *{box-sizing:border-box}
.sdoc-note-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto}.sdoc-note-row .se-admin-note{margin:0!important}.sdoc-state{min-height:18px;font-size:.61rem;font-weight:800;color:var(--text-muted)}.sdoc-state.ok{color:var(--primary)}.sdoc-state.err{color:#f87171}
.sdoc-kind-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;flex:0 0 auto}.sdoc-kind{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr);gap:3px 9px;align-items:center;border:1px solid var(--border);background:rgba(255,255,255,.03);border-radius:14px;padding:10px 12px;text-align:start;cursor:pointer;color:var(--text-primary);transition:border-color .16s,background .16s,transform .16s}.sdoc-kind:hover{transform:translateY(-1px);border-color:var(--border-strong)}.sdoc-kind.active{border-color:rgba(34,211,178,.48);background:rgba(34,211,178,.08);box-shadow:0 0 0 3px rgba(34,211,178,.06) inset}.sdoc-kind i{grid-row:1/3;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(240,180,41,.10);color:var(--gold);font-size:.88rem}.sdoc-kind strong{font-size:.69rem;line-height:1.35}.sdoc-kind span{font-size:.54rem;line-height:1.45;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sdoc-workspace{display:grid;grid-template-columns:minmax(410px,.86fr) minmax(520px,1.14fr);gap:12px;min-height:0;flex:1 1 auto;overflow:hidden}.sdoc-panel{min-width:0;min-height:0;border:1px solid var(--border);border-radius:17px;background:rgba(255,255,255,.03);overflow:auto;padding:14px;scrollbar-gutter:stable}.sdoc-panel-title{display:flex;align-items:center;gap:8px;margin:0 0 11px;color:var(--text-primary);font-size:.8rem;font-weight:950}.sdoc-panel-title i{color:var(--primary)}
.sdoc-form-panel{display:none}.sdoc-form-panel.active{display:block}.sdoc-section{border:1px solid var(--border);border-radius:13px;padding:12px;margin-bottom:10px;background:rgba(255,255,255,.02)}.sdoc-section:last-child{margin-bottom:0}.sdoc-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px}.sdoc-section-head h4{margin:0;display:flex;align-items:center;gap:7px;font-size:.68rem;color:var(--text-primary);font-weight:950}.sdoc-section-head h4 i{color:var(--gold)}.sdoc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.sdoc-field{display:grid;gap:5px;min-width:0}.sdoc-field.full{grid-column:1/-1}.sdoc-field label{font-size:.58rem;font-weight:850;color:var(--text-muted);line-height:1.4}.sdoc-field input,.sdoc-field select,.sdoc-field textarea{width:100%;min-height:38px;border:1px solid var(--border-strong);border-radius:10px;background:rgba(255,255,255,.055);color:var(--text-primary);padding:8px 10px;font-family:inherit;font-size:.7rem;outline:none}.sdoc-field textarea{min-height:66px;resize:vertical;line-height:1.65}.sdoc-field input:focus,.sdoc-field select:focus,.sdoc-field textarea:focus{border-color:rgba(34,211,178,.52);box-shadow:0 0 0 3px rgba(34,211,178,.08)}.sdoc-field[hidden]{display:none!important}.sdoc-help{font-size:.53rem;line-height:1.55;color:var(--text-muted)}
.sdoc-inline-actions,.sdoc-main-actions{display:flex;gap:7px;flex-wrap:wrap}.sdoc-main-actions{margin-top:11px}.sdoc-mini{border:1px solid var(--border);background:rgba(255,255,255,.045);color:var(--text-primary);border-radius:8px;padding:6px 8px;font:800 .57rem inherit;cursor:pointer}.sdoc-mini:hover{border-color:var(--border-strong)}.sdoc-mini.danger{color:#f87171;border-color:rgba(248,113,113,.24)}
.sdoc-assets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sdoc-asset{min-height:118px;border:1px dashed var(--border-strong);border-radius:12px;background:rgba(255,255,255,.02);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:9px;text-align:center;overflow:hidden}.sdoc-asset img{display:none;max-width:100%;height:58px;object-fit:contain;filter:none!important}.sdoc-asset.has-image img{display:block}.sdoc-asset.has-image .sdoc-asset-icon{display:none}.sdoc-asset-icon{font-size:1rem;color:var(--primary)}.sdoc-asset strong{font-size:.59rem;color:var(--text-secondary)}.sdoc-asset-actions{display:flex;gap:5px;justify-content:center;flex-wrap:wrap}
.sdoc-sign-wrap{margin-top:10px;border:1px dashed var(--border-strong);border-radius:12px;padding:10px;background:rgba(255,255,255,.02)}.sdoc-sign-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.sdoc-sign-head strong{display:block;font-size:.63rem;color:var(--text-primary)}.sdoc-sign-head span{display:block;font-size:.52rem;line-height:1.5;color:var(--text-muted);margin-top:2px}.sdoc-sign-pad-box{border-radius:11px;border:1px solid rgba(148,163,184,.35);background-image:linear-gradient(45deg,#f8fafc 25%,transparent 25%),linear-gradient(-45deg,#f8fafc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f8fafc 75%),linear-gradient(-45deg,transparent 75%,#f8fafc 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.sdoc-sign-pad{display:block;width:100%;height:132px;background:transparent;border:0;touch-action:none;cursor:crosshair}
.sdoc-palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sdoc-color-field{display:grid;gap:4px}.sdoc-color-field label{font-size:.52rem;color:var(--text-muted);font-weight:800}.sdoc-color-row{display:grid;grid-template-columns:38px minmax(0,1fr);gap:6px}.sdoc-color-row input[type=color]{width:38px;height:36px;padding:2px;border-radius:9px}.sdoc-style-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sdoc-style-pill{border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.03);padding:9px 8px;text-align:center;color:var(--text-primary);font-size:.58rem;font-weight:850;cursor:pointer}.sdoc-style-pill.active{border-color:rgba(34,211,178,.48);background:rgba(34,211,178,.08);color:var(--primary)}
.sdoc-photo-picker{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:center}.sdoc-photo-preview{width:76px;height:92px;border-radius:12px;border:1px dashed var(--border-strong);overflow:hidden;display:grid;place-items:center;color:var(--text-muted);background:rgba(255,255,255,.02)}.sdoc-photo-preview img{display:none;width:100%;height:100%;object-fit:cover}.sdoc-photo-preview.has-image img{display:block}.sdoc-photo-preview.has-image i{display:none}
.sdoc-invoice-rows{display:grid;gap:7px}.sdoc-invoice-row{display:grid;grid-template-columns:minmax(120px,1.25fr) minmax(120px,1.25fr) 70px 90px 90px 34px;gap:6px;align-items:end;padding:8px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.018)}.sdoc-invoice-row .sdoc-field label{font-size:.49rem}.sdoc-invoice-row .sdoc-field input{min-height:34px;font-size:.64rem;padding:6px 8px}.sdoc-invoice-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}.sdoc-summary-box{border:1px solid var(--border);border-radius:10px;padding:8px 9px;background:rgba(255,255,255,.025)}.sdoc-summary-box strong{display:block;color:var(--text-primary);font-size:.61rem}.sdoc-summary-box span{display:block;color:var(--text-muted);font-size:.55rem;margin-top:3px}
.sdoc-preview-panel{display:flex;flex-direction:column!important;overflow:hidden}.sdoc-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}.sdoc-preview-toolbar .sdoc-panel-title{margin:0}.sdoc-preview-meta{font-size:.55rem;color:var(--text-muted);font-weight:800}.sdoc-preview-viewport{min-height:300px;flex:1 1 auto;overflow:auto;border:1px solid var(--border);border-radius:14px;background:#07101f;padding:18px;scrollbar-gutter:stable}.sdoc-preview-pages{display:grid;gap:18px;justify-items:center;min-width:max-content}.sdoc-page-frame{position:relative;filter:drop-shadow(0 16px 28px rgba(0,0,0,.28));flex:none}.sdoc-page{position:absolute;left:0;top:0;transform-origin:top left;background:#fff;color:#182230;overflow:hidden;box-sizing:border-box}.sdoc-page *{box-sizing:border-box}.sdoc-page img{max-width:100%;filter:none!important}.sdoc-page.a4-landscape{width:1123px;height:794px}.sdoc-page.a4-portrait{width:794px;height:1123px}.sdoc-page.cr80{width:1011px;height:638px}.sdoc-preview-hint{margin:7px 2px 0;color:var(--text-muted);font-size:.55rem;line-height:1.55;text-align:center;flex:0 0 auto}
.sdoc-history{margin-top:11px;flex:0 0 auto}.sdoc-history-head{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;gap:8px;align-items:center;margin-bottom:7px}.sdoc-history-head strong{font-size:.68rem;color:var(--text-primary)}.sdoc-history-head input{min-height:34px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.04);color:var(--text-primary);padding:6px 9px;font-size:.62rem}.sdoc-history-count{font-size:.54rem;color:var(--text-muted)}.sdoc-history-list{display:grid;gap:6px;max-height:180px;overflow:auto}.sdoc-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:8px 9px;background:rgba(255,255,255,.02)}.sdoc-history-main{min-width:0}.sdoc-history-main strong{display:block;color:var(--text-primary);font-size:.63rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdoc-history-main span{display:block;color:var(--text-muted);font-size:.52rem;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdoc-history-actions{display:flex;gap:4px}.sdoc-empty{padding:14px;text-align:center;border:1px dashed var(--border);border-radius:10px;color:var(--text-muted);font-size:.6rem}
/* Printable document pages — 2.5.53 rebuilt layout engine */
.sdoc-sheet{
  --p:#173A5E;--s:#B78B2E;--a:#2A7F75;--bg:#F2F6F5;
  position:relative;width:100%;height:100%;overflow:hidden;background:#fff;color:#1d2939;
  font-family:"Space Grotesk",Space Grotesk,sans-serif;direction:ltr;isolation:isolate
}
.sdoc-sheet *{box-sizing:border-box}
.sdoc-sheet .ar{direction:rtl;text-align:right;font-family:"Tajawal",Tajawal,Space Grotesk,sans-serif;unicode-bidi:plaintext}
.sdoc-sheet .en{direction:ltr;text-align:left;font-family:"Space Grotesk",Space Grotesk,sans-serif;unicode-bidi:plaintext}
.sdoc-sheet .doc-layer{position:relative;z-index:2;width:100%;height:100%;min-height:0}
.sdoc-sheet .logo,.sdoc-sheet .asset-img,.sdoc-sheet .student-photo{display:block;object-fit:contain;filter:none!important}
.sdoc-sheet .watermark{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);width:32%;height:32%;object-fit:contain;opacity:.045;z-index:0;pointer-events:none;filter:none!important}
.sdoc-sheet .institution-ar,.sdoc-sheet .institution-en,.sdoc-sheet .auto-fit{overflow-wrap:anywhere;word-break:normal;min-width:0}
.sdoc-sheet .page-num{font-size:9px;color:#667085;text-align:center;white-space:nowrap}
.sdoc-sheet .decor-line{height:1px;background:linear-gradient(90deg,transparent,var(--s),transparent)}
.sdoc-sheet .doc-header{display:grid;grid-template-columns:minmax(0,1fr) 116px minmax(0,1fr);align-items:center;gap:18px;min-height:66px}
.sdoc-sheet .doc-header .logo-wrap{display:grid;place-items:center;width:116px;height:66px}
.sdoc-sheet .doc-header .logo{width:108px;height:62px;margin:auto}
.sdoc-sheet .doc-header .institution-en{font:700 16px/1.35 "Space Grotesk",Space Grotesk,sans-serif;color:var(--p);text-align:left;max-height:46px;overflow:hidden}
.sdoc-sheet .doc-header .institution-ar{font:800 17px/1.5 "Tajawal",Tajawal,Space Grotesk,sans-serif;color:var(--p);text-align:right;max-height:51px;overflow:hidden}
.sdoc-sheet .doc-title{text-align:center;align-self:center}
.sdoc-sheet .doc-title .ar{font-weight:900;color:var(--p);text-align:center;line-height:1.3}
.sdoc-sheet .doc-title .en{font-weight:800;color:var(--s);text-align:center;line-height:1.25;margin-top:2px}
.sdoc-sheet .title-rule{width:260px;max-width:55%;height:2px;margin:8px auto 0;background:linear-gradient(90deg,transparent,var(--s),transparent)}
.sdoc-sheet .doc-person{text-align:center;min-width:0}
.sdoc-sheet .doc-person .ar{font-weight:900;color:var(--p);text-align:center;line-height:1.28;max-height:68px;overflow:hidden}
.sdoc-sheet .doc-person .en{font-weight:800;color:#344054;text-align:center;line-height:1.25;margin-top:3px;max-height:58px;overflow:hidden}
.sdoc-sheet .bilingual-copy{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);gap:26px;align-items:stretch;min-height:0}
.sdoc-sheet .copy-divider{width:1px;background:linear-gradient(transparent,color-mix(in srgb,var(--s) 48%,transparent),transparent)}
.sdoc-sheet .copy-panel{min-width:0;height:100%;padding:15px 18px;border:1px solid color-mix(in srgb,var(--p) 12%,transparent);border-radius:13px;background:color-mix(in srgb,var(--bg) 42%,#fff);color:#344054;overflow:hidden}
.sdoc-sheet .copy-panel.en{font-size:15px;line-height:1.72}
.sdoc-sheet .copy-panel.ar{font-size:16px;line-height:1.82}
.sdoc-sheet .copy-note{margin-top:8px;padding-top:7px;border-top:1px solid color-mix(in srgb,var(--s) 28%,transparent);color:var(--s);font-weight:700;line-height:1.55;overflow:hidden}
.sdoc-sheet .doc-footer{display:grid;grid-template-columns:210px minmax(0,1fr) 138px;gap:24px;align-items:end;min-height:0}
.sdoc-sheet .signature-zone{display:grid;grid-template-rows:52px 1px auto auto;align-items:end;justify-items:center;min-width:0}
.sdoc-sheet .signature-holder{width:180px;height:50px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:transparent}
.sdoc-sheet .signature-img{max-width:176px;max-height:48px;width:auto;height:auto;object-fit:contain;background:transparent!important;filter:none!important}
.sdoc-sheet .signature-line{width:160px;border-top:1px solid #98a2b3}
.sdoc-sheet .signer-names{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:5px;align-items:start}
.sdoc-sheet .signer-name{font-size:10px;font-weight:800;color:var(--p);line-height:1.35;min-height:14px;overflow-wrap:anywhere}
.sdoc-sheet .signer-title{font-size:8.7px;color:#667085;line-height:1.35;overflow-wrap:anywhere}
.sdoc-sheet .metadata-panel{align-self:center;display:grid;gap:7px;padding:8px 13px;border:1px solid color-mix(in srgb,var(--p) 12%,transparent);border-radius:12px;background:rgba(255,255,255,.72);min-width:0}
.sdoc-sheet .metadata-row{display:grid;grid-template-columns:minmax(80px,1fr) minmax(150px,auto) minmax(80px,1fr);gap:10px;align-items:center;min-width:0}
.sdoc-sheet .metadata-row .en-label{font-size:9px;color:#667085;text-align:left;white-space:nowrap}
.sdoc-sheet .metadata-row .ar-label{font:700 9px/1.4 "Tajawal",Tajawal,Space Grotesk,sans-serif;color:#667085;text-align:right;white-space:nowrap;direction:rtl}
.sdoc-sheet .metadata-value{font:800 10px/1.3 "Space Grotesk",Space Grotesk,sans-serif;color:var(--p);text-align:center;overflow-wrap:anywhere;unicode-bidi:plaintext}
.sdoc-sheet .stamp-zone{width:138px;height:92px;display:grid;place-items:center;justify-self:end;overflow:hidden}
.sdoc-sheet .stamp-img{max-width:122px;max-height:86px;width:auto;height:auto;object-fit:contain;filter:none!important}

/* Completion / appreciation certificate — A4 landscape */
.sdoc-certificate .doc-layer{padding:32px 58px 28px;display:grid;grid-template-rows:68px 84px 82px minmax(0,1fr) 126px;gap:9px}
.sdoc-certificate .cert-border{position:absolute;inset:21px;border:2px solid var(--p);pointer-events:none;z-index:1}
.sdoc-certificate .cert-border:after{content:"";position:absolute;inset:8px;border:1px solid color-mix(in srgb,var(--s) 65%,transparent)}
.sdoc-certificate .doc-title .ar{font-size:35px}.sdoc-certificate .doc-title .en{font-size:21px}
.sdoc-certificate .doc-person .ar{font-size:37px}.sdoc-certificate .doc-person .en{font-size:29px}
.sdoc-certificate .bilingual-copy{margin:0 28px;height:100%}
.sdoc-certificate .doc-footer{margin:0 18px}
.sdoc-certificate.style-modern:before{content:"";position:absolute;left:21px;top:21px;width:130px;height:7px;background:var(--a);z-index:3}
.sdoc-certificate.style-modern:after{content:"";position:absolute;right:21px;bottom:21px;width:130px;height:7px;background:var(--s);z-index:3}
.sdoc-certificate.style-classic .cert-border{inset:19px;border:4px double var(--s)}
.sdoc-certificate.style-classic .cert-border:after{inset:11px;border-color:color-mix(in srgb,var(--p) 60%,transparent)}
.sdoc-certificate.style-classic .doc-layer{padding-left:70px;padding-right:70px}
.sdoc-certificate.style-classic .doc-header{grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);border-bottom:1px solid color-mix(in srgb,var(--s) 40%,transparent)}
.sdoc-certificate.style-classic .doc-header .logo-wrap{width:96px}.sdoc-certificate.style-classic .doc-header .logo{width:88px;height:54px}
.sdoc-certificate.style-classic .copy-panel{background:transparent;border-color:transparent;padding-left:10px;padding-right:10px}
.sdoc-certificate.style-classic .title-rule{height:3px;background:linear-gradient(90deg,transparent,var(--p) 18%,var(--s) 50%,var(--p) 82%,transparent)}
.sdoc-certificate.style-minimal .cert-border{inset:29px;border:1px solid color-mix(in srgb,var(--p) 42%,transparent)}
.sdoc-certificate.style-minimal .cert-border:after{display:none}
.sdoc-certificate.style-minimal:before{content:"";position:absolute;left:29px;top:29px;bottom:29px;width:6px;background:linear-gradient(var(--p),var(--a));z-index:3}
.sdoc-certificate.style-minimal .doc-layer{padding-left:68px;padding-right:68px}
.sdoc-certificate.style-minimal .copy-panel{border-radius:0;border-width:0 0 0 3px;background:transparent}
.sdoc-certificate.style-minimal .copy-panel.ar{border-width:0 3px 0 0}
.sdoc-certificate.style-minimal .copy-divider{display:none}
.sdoc-certificate.style-minimal .bilingual-copy{grid-template-columns:1fr 1fr;gap:36px}
.sdoc-certificate.style-minimal .title-rule{width:110px;background:var(--a)}

/* School certificate — A4 portrait */
.sdoc-school .doc-layer{padding:42px 56px 34px;display:grid;grid-template-rows:76px 88px 84px minmax(0,1fr) 114px auto 146px;gap:12px}
.sdoc-school .school-frame{position:absolute;inset:28px;border:1.5px solid var(--p);z-index:1;pointer-events:none}
.sdoc-school .school-frame:before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:8px;background:linear-gradient(var(--p),var(--a))}
.sdoc-school .doc-title .ar{font-size:31px}.sdoc-school .doc-title .en{font-size:22px}
.sdoc-school .doc-person .ar{font-size:33px}.sdoc-school .doc-person .en{font-size:26px}
.sdoc-school .bilingual-copy{height:100%;gap:18px}
.sdoc-school .copy-panel{padding:17px 19px}.sdoc-school .copy-panel.en{font-size:14px;line-height:1.75}.sdoc-school .copy-panel.ar{font-size:15px;line-height:1.85}
.sdoc-school .school-details{display:grid;gap:8px;align-content:start}
.sdoc-school .detail-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,auto) minmax(150px,1fr);gap:14px;align-items:center;padding:9px 14px;border:1px solid #d0d5dd;border-radius:10px;background:#fff}
.sdoc-school .detail-label-en{font-size:10px;color:#667085;text-align:left}.sdoc-school .detail-label-ar{font:700 10px/1.4 "Tajawal",Tajawal,Space Grotesk,sans-serif;color:#667085;text-align:right;direction:rtl}
.sdoc-school .detail-value{font-size:13px;font-weight:850;color:var(--p);text-align:center;overflow-wrap:anywhere}
.sdoc-school .school-note{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-height:0;font-size:10px;line-height:1.55;color:#667085}
.sdoc-school .school-note>div{padding:7px 10px;border-top:1px solid color-mix(in srgb,var(--s) 28%,transparent);max-height:52px;overflow:hidden}
.sdoc-school .doc-footer{grid-template-columns:190px minmax(0,1fr) 128px}
.sdoc-school .signature-holder{width:160px}.sdoc-school .signature-img{max-width:158px}.sdoc-school .stamp-zone{width:128px;height:88px}.sdoc-school .stamp-img{max-width:112px;max-height:82px}

/* Registration card — CR80 */
.sdoc-card{border-radius:26px;background:linear-gradient(145deg,#fff 0%,color-mix(in srgb,var(--bg) 55%,#fff) 100%)}
.sdoc-card .card-frame{position:absolute;inset:17px;border:2px solid var(--p);border-radius:22px;z-index:1;pointer-events:none}
.sdoc-card .card-accent{position:absolute;left:17px;top:17px;bottom:17px;width:14px;border-radius:20px 0 0 20px;background:linear-gradient(var(--p),var(--a));z-index:2}
.sdoc-card .doc-layer{padding:30px 40px 26px;display:grid;grid-template-rows:66px 52px minmax(0,1fr) 62px;gap:10px}
.sdoc-card .doc-header{grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);min-height:58px;gap:14px;border-bottom:1px solid color-mix(in srgb,var(--s) 45%,transparent);padding-bottom:7px}
.sdoc-card .doc-header .logo-wrap{width:96px;height:56px}.sdoc-card .doc-header .logo{width:88px;height:52px}
.sdoc-card .doc-header .institution-en{font-size:15px;max-height:40px}.sdoc-card .doc-header .institution-ar{font-size:16px;max-height:44px}
.sdoc-card .doc-title .ar{font-size:25px}.sdoc-card .doc-title .en{font-size:17px}
.sdoc-card .card-main{display:grid;grid-template-columns:178px minmax(0,1fr);gap:24px;min-height:0;align-items:stretch}
.sdoc-card .card-main.no-photo{grid-template-columns:minmax(0,1fr)}
.sdoc-card .photo-box{display:grid;place-items:center;min-height:0}
.sdoc-card .student-photo,.sdoc-card .photo-placeholder{width:166px;height:198px;border-radius:16px;border:2px solid color-mix(in srgb,var(--p) 42%,transparent);background:#eef2f6}
.sdoc-card .student-photo{object-fit:cover}.sdoc-card .photo-placeholder{display:grid;place-items:center;color:#98a2b3;font-size:48px;border-style:dashed}
.sdoc-card .card-data{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);gap:18px;min-height:0}
.sdoc-card .card-divider{background:linear-gradient(transparent,color-mix(in srgb,var(--p) 25%,transparent),transparent)}
.sdoc-card .card-col{display:grid;grid-template-rows:auto repeat(4,1fr);gap:8px;min-width:0}
.sdoc-card .card-field{min-width:0}.sdoc-card .card-field b{display:block;font-size:10px;color:var(--a);margin-bottom:2px}.sdoc-card .card-field span{display:block;font-size:14px;font-weight:750;color:#1d2939;line-height:1.25;max-height:36px;overflow:hidden;overflow-wrap:anywhere}
.sdoc-card .card-field.name span{font-size:18px;font-weight:900;color:var(--p);max-height:48px}
.sdoc-card .card-footer{display:grid;grid-template-columns:150px minmax(0,1fr) 90px;gap:18px;align-items:center}
.sdoc-card .card-footer.no-status.no-stamp{grid-template-columns:minmax(0,1fr)}
.sdoc-card .card-footer.no-status:not(.no-stamp){grid-template-columns:minmax(0,1fr) 90px}
.sdoc-card .card-footer.no-stamp:not(.no-status){grid-template-columns:150px minmax(0,1fr)}
.sdoc-card .card-footer.no-meta.no-stamp{grid-template-columns:minmax(0,1fr)}
.sdoc-card .card-footer.no-meta.no-status{grid-template-columns:minmax(0,1fr)}
.sdoc-card .card-footer.no-status .card-meta,.sdoc-card .card-footer.no-meta .card-stamp{justify-self:start}
.sdoc-card .card-status{padding:7px 12px;border-radius:999px;background:color-mix(in srgb,var(--a) 12%,#fff);color:var(--a);font-size:12px;font-weight:800;text-align:center;white-space:nowrap}
.sdoc-card .card-meta{display:grid;gap:5px}.sdoc-card .card-meta .metadata-row{grid-template-columns:minmax(90px,1fr) minmax(120px,auto) minmax(90px,1fr);padding:0}.sdoc-card .card-stamp{max-width:82px;max-height:58px;width:auto;height:auto;object-fit:contain;justify-self:end}

/* Invoice — A4 portrait, pagination handled by JS */
.sdoc-invoice .doc-layer{padding:34px 42px 28px;display:flex;flex-direction:column;min-height:0}
.sdoc-invoice .invoice-header{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);gap:16px;align-items:center;padding-bottom:10px;border-bottom:2px solid var(--p)}
.sdoc-invoice .invoice-header .logo-wrap{width:96px;height:58px}.sdoc-invoice .invoice-header .logo{width:88px;height:54px;margin:auto}
.sdoc-invoice .invoice-header .institution-en{font-size:15px}.sdoc-invoice .invoice-header .institution-ar{font-size:16px}
.sdoc-invoice .invoice-heading{flex:0 0 auto;display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:start;margin-top:13px}
.sdoc-invoice .invoice-title .ar{font-size:29px;font-weight:900;color:var(--p)}.sdoc-invoice .invoice-title .en{font-size:20px;font-weight:800;color:var(--s);margin-top:1px}
.sdoc-invoice .invoice-meta{display:grid;gap:6px}
.sdoc-invoice .invoice-meta .metadata-row{grid-template-columns:minmax(90px,1fr) minmax(160px,auto) minmax(90px,1fr);padding:5px 9px;border:1px solid #e4e7ec;border-radius:8px;background:#fff}
.sdoc-invoice .bill-grid{flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.sdoc-invoice .bill-box{border:1px solid #d0d5dd;border-radius:10px;padding:9px 12px;background:#fff;min-height:58px;overflow:hidden}
.sdoc-invoice .bill-box b{display:block;color:var(--a);font-size:10px;margin-bottom:4px}.sdoc-invoice .bill-box span{display:block;color:#1d2939;font-size:14px;font-weight:750;line-height:1.35;overflow-wrap:anywhere}
.sdoc-invoice .invoice-table-wrap{flex:0 0 auto;margin-top:12px;min-height:0}
.sdoc-invoice .invoice-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}
.sdoc-invoice .invoice-table thead{display:table-header-group}.sdoc-invoice .invoice-table th{background:var(--p);color:#fff;padding:8px 7px;border:1px solid var(--p);font-weight:800;line-height:1.3}.sdoc-invoice .invoice-table td{padding:8px 7px;border:1px solid #d0d5dd;vertical-align:top;color:#344054;overflow-wrap:anywhere;line-height:1.35}.sdoc-invoice .invoice-table tr:nth-child(even) td{background:#f8fafc}.sdoc-invoice .invoice-table .desc{width:52%}.sdoc-invoice .invoice-table .num{text-align:center;width:16%}
.sdoc-invoice .desc-ar{font:700 10.5px/1.45 "Tajawal",Tajawal,Space Grotesk,sans-serif;direction:rtl;text-align:right;color:#344054}.sdoc-invoice .desc-en{font-size:10.5px;line-height:1.35;margin-top:2px;color:#667085;text-align:left;direction:ltr}
.sdoc-invoice .invoice-bottom{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start;margin-top:12px}
.sdoc-invoice .invoice-notes{font-size:10.5px;line-height:1.6;color:#667085;min-height:0}.sdoc-invoice .invoice-notes>div{padding:6px 0;max-height:68px;overflow:hidden}
.sdoc-invoice .totals{border:1px solid #d0d5dd;border-radius:10px;overflow:hidden;background:#fff}
.sdoc-invoice .total-row{display:grid;grid-template-columns:minmax(80px,1fr) 106px minmax(80px,1fr);align-items:center;border-bottom:1px solid #e4e7ec;min-height:31px}.sdoc-invoice .total-row:last-child{border-bottom:0}.sdoc-invoice .total-row .en{text-align:left;padding:7px 9px;font-size:10px;color:#667085}.sdoc-invoice .total-row .ar{text-align:right;padding:7px 9px;font:700 10px/1.4 "Tajawal",Tajawal,Space Grotesk,sans-serif;color:#667085}.sdoc-invoice .total-row strong{text-align:center;padding:7px 4px;font-size:10.5px;color:var(--p);white-space:nowrap}
.sdoc-invoice .total-row.grand{background:var(--p)}.sdoc-invoice .total-row.grand .en,.sdoc-invoice .total-row.grand .ar,.sdoc-invoice .total-row.grand strong{color:#fff}.sdoc-invoice .total-row.balance{background:color-mix(in srgb,var(--s) 13%,#fff);font-weight:900}
.sdoc-invoice .continuation-note{flex:0 0 auto;text-align:center;color:#667085;font-size:10px;margin-top:12px}
.sdoc-invoice .invoice-spacer{flex:1 1 auto;min-height:10px}
.sdoc-invoice .invoice-footer{flex:0 0 auto;margin-top:auto;border-top:1px solid #d0d5dd;padding-top:8px;display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;font-size:8.5px;color:#667085}.sdoc-invoice .invoice-footer .ar{text-align:right}.sdoc-invoice .invoice-footer .en{text-align:left}

/* Shared compact fallback after runtime fitting */
.sdoc-sheet.compact .copy-panel.en{font-size:13px}.sdoc-sheet.compact .copy-panel.ar{font-size:14px}.sdoc-sheet.compact .doc-header .institution-en{font-size:14px}.sdoc-sheet.compact .doc-header .institution-ar{font-size:15px}

#app[data-theme="light"] .sdoc-panel,#app[data-theme="light"] .sdoc-section,#app[data-theme="light"] .sdoc-kind,#app[data-theme="light"] .sdoc-invoice-row,#app[data-theme="light"] .sdoc-summary-box,#app[data-theme="light"] .sdoc-history-item{background:#fff!important}
#app[data-theme="light"] .sdoc-field input,#app[data-theme="light"] .sdoc-field select,#app[data-theme="light"] .sdoc-field textarea,#app[data-theme="light"] .sdoc-history-head input{background:#fff!important;color:#0f172a!important}
@media(max-width:1120px){.sdoc-kind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sdoc-invoice-row{grid-template-columns:1fr 1fr 70px 90px 90px 34px}.sdoc-palette{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){#admin-pane-certificates.active{overflow:auto!important;height:auto!important}.sdoc-workspace{grid-template-columns:1fr;overflow:visible;flex:none}.sdoc-panel{overflow:visible}.sdoc-preview-panel{min-height:620px}.sdoc-preview-viewport{min-height:480px}}
@media(max-width:680px){.sdoc-note-row{align-items:flex-start;flex-direction:column}.sdoc-kind-grid,.sdoc-grid,.sdoc-assets,.sdoc-style-pills,.sdoc-palette,.sdoc-invoice-summary{grid-template-columns:1fr}.sdoc-field.full{grid-column:auto}.sdoc-invoice-row{grid-template-columns:1fr}.sdoc-main-actions .btn{width:100%;justify-content:center}.sdoc-preview-panel{min-height:580px}.sdoc-preview-viewport{padding:10px;min-height:430px}.sdoc-history-head{grid-template-columns:1fr}.sdoc-history-actions{flex-wrap:wrap}.sdoc-kind span{white-space:normal}.sdoc-photo-picker{grid-template-columns:76px 1fr}}
/* 2.5.53 final spacing refinements */
.sdoc-certificate .doc-layer{padding-bottom:40px}
.sdoc-certificate .bilingual-copy{align-items:center}
.sdoc-certificate .copy-panel{height:auto;min-height:150px;max-height:210px;display:flex;flex-direction:column;justify-content:center}
.sdoc-school .doc-layer{padding-bottom:44px}
.sdoc-sheet .signer-title{font-size:8px}
.sdoc-invoice .invoice-table th .en,.sdoc-invoice .invoice-table th .ar{display:block;text-align:center;line-height:1.2}
.sdoc-invoice .invoice-table th .ar{margin-top:2px}
/* 2.5.53 bilingual separation and no-clipping refinements */
.sdoc-certificate .copy-panel{display:grid;grid-template-rows:auto auto;align-content:center;gap:8px;max-height:235px;overflow:hidden}
.sdoc-certificate .copy-main{min-width:0}
.sdoc-certificate .copy-note{font-size:.76em;line-height:1.45;max-height:none;overflow:visible;margin-top:0}
.sdoc-school .detail-row.split{grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);padding:9px 14px}
.sdoc-school .detail-side{display:grid;gap:3px;min-width:0}
.sdoc-school .detail-side.en{text-align:left}.sdoc-school .detail-side.ar{text-align:right}
.sdoc-school .detail-side-value{font-size:12px;font-weight:850;color:var(--p);line-height:1.35;overflow-wrap:anywhere;min-width:0}
.sdoc-school .detail-center-line{width:1px;height:100%;background:linear-gradient(transparent,#d0d5dd,transparent)}
.sdoc-card .card-status{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px 10px}
.sdoc-card .card-status .en{text-align:left}.sdoc-card .card-status .ar{text-align:right}


/* SININBE EDU 4.0.8 — reliable, visible document-centre scrolling. */
#admin-pane-certificates.active{overflow:hidden!important;min-block-size:0!important}
#admin-pane-certificates .sdoc-workspace{grid-template-rows:minmax(0,1fr)!important;min-block-size:0!important}
#admin-pane-certificates .sdoc-form-panel-wrap,
#admin-pane-certificates .sdoc-preview-panel,
#admin-pane-certificates .sdoc-panel{min-block-size:0!important;max-block-size:100%!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;scrollbar-width:thin;scrollbar-color:rgba(45,212,191,.58) rgba(148,163,184,.10)}
#admin-pane-certificates :is(.sdoc-form-panel-wrap,.sdoc-preview-panel,.sdoc-panel,.sdoc-preview-viewport,.sdoc-history-list)::-webkit-scrollbar{width:9px;height:9px}
#admin-pane-certificates :is(.sdoc-form-panel-wrap,.sdoc-preview-panel,.sdoc-panel,.sdoc-preview-viewport,.sdoc-history-list)::-webkit-scrollbar-track{background:rgba(148,163,184,.08);border-radius:999px}
#admin-pane-certificates :is(.sdoc-form-panel-wrap,.sdoc-preview-panel,.sdoc-panel,.sdoc-preview-viewport,.sdoc-history-list)::-webkit-scrollbar-thumb{background:rgba(45,212,191,.52);border:2px solid transparent;background-clip:padding-box;border-radius:999px}
#admin-pane-certificates :is(.sdoc-form-panel-wrap,.sdoc-preview-panel,.sdoc-panel,.sdoc-preview-viewport,.sdoc-history-list)::-webkit-scrollbar-thumb:hover{background:rgba(45,212,191,.78);border:2px solid transparent;background-clip:padding-box}
@media(max-width:980px), (max-height:690px){#admin-pane-certificates.active{height:100%!important;overflow-y:auto!important;overflow-x:hidden!important}#admin-pane-certificates .sdoc-workspace{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto!important;overflow:visible!important;flex:none!important}#admin-pane-certificates .sdoc-panel{max-block-size:none!important;overflow:visible!important}#admin-pane-certificates .sdoc-form-panel-wrap{overflow:visible!important}#admin-pane-certificates .sdoc-preview-panel{min-height:540px!important}}

/* 4.0.37 — premium document system, language-neutral and print-safe. */
.sdoc-premium,.sdoc-mono{position:relative;background:linear-gradient(145deg,#ffffff 0%,var(--soft,#f5f8f7) 100%);color:#17242c;font-family:"Space Grotesk","Jost",Arial,sans-serif}
.sdoc-premium:before,.sdoc-mono:before{content:"";position:absolute;inset:18px;border:2px solid var(--p,#173a5e);border-radius:18px;pointer-events:none;opacity:.94}
.sdoc-premium:after,.sdoc-mono:after{content:"";position:absolute;inset:25px;border:1px solid color-mix(in srgb,var(--s,#b78b2e) 60%,transparent);border-radius:14px;pointer-events:none}
.sdoc-premium .doc-layer,.sdoc-mono .doc-layer{position:relative;z-index:2;padding:46px 54px 42px;height:100%;display:flex;flex-direction:column}
.sdoc-premium .watermark,.sdoc-mono .watermark{position:absolute;inset:50% auto auto 50%;width:360px;height:360px;transform:translate(-50%,-50%);object-fit:contain;opacity:.035;filter:grayscale(1)!important;z-index:0}
.sdoc-dual-header,.sdoc-mono-header{display:flex;align-items:center;gap:18px;min-height:78px;padding:0 2px 16px;border-bottom:3px double color-mix(in srgb,var(--p,#173a5e) 65%,#fff)}
.sdoc-dual-logo,.sdoc-mono-logo{width:68px;height:68px;object-fit:contain;flex:0 0 auto}
.sdoc-dual-institutions{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);gap:18px;align-items:center;flex:1}.sdoc-dual-institutions>i{width:1px;height:48px;background:linear-gradient(transparent,var(--s,#b78b2e),transparent)}.sdoc-dual-institutions>div{display:grid;gap:5px}.sdoc-dual-institutions strong,.sdoc-mono-header strong{font-size:18px;line-height:1.25;color:var(--p,#173a5e);letter-spacing:.01em}.sdoc-dual-institutions small,.sdoc-mono-header small{font-size:10px;color:#66757e;letter-spacing:.03em}
.sdoc-premium main,.sdoc-mono main{flex:1;display:flex;flex-direction:column;justify-content:center;padding:32px 14px 24px;min-height:0}
.sdoc-dual-title,.sdoc-premium-heading{display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);align-items:center;gap:12px;margin:0 auto 28px;width:100%;max-width:760px;text-align:center;color:var(--p,#173a5e);font-weight:900;font-size:30px;line-height:1.15}.sdoc-premium-heading{display:block}.sdoc-dual-title b{height:2px;background:linear-gradient(90deg,transparent,var(--s,#b78b2e),transparent)}
.sdoc-dual-student{display:flex;align-items:center;justify-content:center;gap:13px;flex-wrap:wrap;margin:0 auto 25px;max-width:850px;text-align:center}.sdoc-dual-student strong{font-size:26px;line-height:1.25;color:#17242c}.sdoc-dual-student span{color:var(--s,#b78b2e);font-size:20px}
.sdoc-dual-row{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);gap:18px;align-items:stretch;width:min(100%,820px);margin:0 auto;border-bottom:1px solid #dce5e8}.sdoc-dual-row>i{width:1px;background:linear-gradient(transparent,#cbd7dc,transparent)}.sdoc-dual-row>div{display:grid;grid-template-columns:minmax(105px,.55fr) minmax(0,1fr);gap:14px;align-items:center;padding:10px 12px}.sdoc-dual-row span{font-size:11px;color:#6c7b84;font-weight:750}.sdoc-dual-row strong{font-size:14px;color:#17242c;overflow-wrap:anywhere}
.sdoc-dual-note{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:min(100%,820px);margin:20px auto 0;padding:15px 18px;border-radius:14px;background:color-mix(in srgb,var(--p,#173a5e) 5%,#fff);border:1px solid #dde6ea}.sdoc-dual-note p{margin:0;font-size:12px;line-height:1.7;color:#41515b}
.sdoc-dual-footer,.sdoc-mono-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px;align-items:end;min-height:88px;padding:14px 4px 0;border-top:1px solid #d8e2e6}.sdoc-dual-footer>div,.sdoc-mono-footer>div{display:grid;justify-items:center;gap:5px;font-size:10px;color:#55656e}.sdoc-dual-footer>div:last-child{justify-self:end}.sdoc-dual-footer>div:first-child{justify-self:start}.sdoc-mono-footer>img,.sdoc-dual-footer>img{align-self:center}
.sdoc-premium-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:18px;font-size:10px;border:1px solid #cbd8dd;border-radius:12px;overflow:hidden;background:#fff}.sdoc-premium-table th{padding:9px 6px;background:linear-gradient(135deg,var(--p,#173a5e),color-mix(in srgb,var(--p,#173a5e) 78%,#000));color:#fff;font-weight:850;line-height:1.25}.sdoc-premium-table td{padding:8px 6px;border-top:1px solid #dce5e9;border-inline-start:1px solid #e5ecef;text-align:center;vertical-align:middle;line-height:1.35}.sdoc-premium-table td:first-child{text-align:start}.sdoc-premium-table tr:nth-child(even) td{background:#f8fbfb}.sdoc-premium-table td strong,.sdoc-premium-table td small{display:block}.sdoc-premium-table td small{margin-top:3px;color:#6a7780;font-size:9px}
.sdoc-premium-totals{width:min(100%,500px);margin:18px 0 0 auto;border-radius:14px;background:#fff;border:1px solid #d7e1e5;overflow:hidden}.sdoc-premium-totals .sdoc-dual-row{width:100%;margin:0}.sdoc-premium-totals .sdoc-dual-row:last-child{border-bottom:0;background:color-mix(in srgb,var(--s,#b78b2e) 9%,#fff)}
.sdoc-transcript .sdoc-transcript-meta{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-bottom:16px}.sdoc-transcript .sdoc-mono-row{min-height:44px;background:#fff;border:1px solid #dbe4e8;border-radius:10px;margin:4px 0;padding:8px 11px}.sdoc-transcript-average{margin-top:18px;padding:14px 18px;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--p,#173a5e) 10%,#fff),color-mix(in srgb,var(--s,#b78b2e) 8%,#fff));border:1px solid #d4e0e5;text-align:center;font-size:15px;color:var(--p,#173a5e)}
.sdoc-mono h1{position:relative;font-size:32px;letter-spacing:.01em}.sdoc-mono h1:after{content:"";display:block;width:74px;height:3px;border-radius:99px;margin:13px auto 0;background:linear-gradient(90deg,var(--p,#173a5e),var(--s,#b78b2e))}.sdoc-mono h2{font-size:27px;color:#17242c}.sdoc-mono-row{grid-template-columns:minmax(140px,.55fr) minmax(0,1fr);padding:11px 13px}.sdoc-mono-row span{font-weight:750}.sdoc-mono-row strong{font-weight:850}
.sdoc-dual-card .doc-layer,.sdoc-mono-card .doc-layer{padding:31px 38px 28px}.sdoc-dual-card:before,.sdoc-mono-card:before{inset:11px;border-radius:16px}.sdoc-dual-card:after,.sdoc-mono-card:after{inset:17px;border-radius:12px}.sdoc-dual-card .sdoc-dual-header,.sdoc-mono-card .sdoc-mono-header{min-height:58px;padding-bottom:8px}.sdoc-dual-card .sdoc-dual-logo,.sdoc-mono-card .sdoc-mono-logo{width:46px;height:46px}.sdoc-dual-card .sdoc-dual-institutions strong{font-size:13px}.sdoc-dual-card .sdoc-dual-institutions small{font-size:7px}.sdoc-dual-card main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:center;padding:10px 6px}.sdoc-dual-card .sdoc-dual-title{font-size:20px;grid-template-columns:1fr 30px 1fr;margin-bottom:10px}.sdoc-dual-card .sdoc-dual-row{gap:8px}.sdoc-dual-card .sdoc-dual-row>div{grid-template-columns:74px 1fr;padding:5px 7px}.sdoc-dual-card .sdoc-dual-row span{font-size:7px}.sdoc-dual-card .sdoc-dual-row strong{font-size:9px}.sdoc-dual-card .sdoc-mono-photo{width:105px;height:132px;border-radius:14px;border:2px solid var(--p,#173a5e);object-fit:cover}.sdoc-dual-card .sdoc-dual-footer{min-height:48px;padding-top:6px}.sdoc-dual-card .sdoc-mono-signature{max-height:30px}.sdoc-dual-card .sdoc-mono-stamp{max-height:48px}
@media print{.sdoc-premium,.sdoc-mono{break-inside:avoid;page-break-inside:avoid}.sdoc-premium:before,.sdoc-mono:before,.sdoc-premium:after,.sdoc-mono:after{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* SININBE EDU 4.0.39.2 — hard print bounds for logos, stamps and signatures.
   These rules live in documents.css itself because the PDF/print serializer
   deliberately exports only this stylesheet. */
.sdoc-sheet.sdoc-premium,.sdoc-sheet.sdoc-mono{overflow:hidden!important;contain:layout paint}
.sdoc-premium .doc-layer,.sdoc-mono .doc-layer{min-width:0;overflow:hidden}
.sdoc-dual-header,.sdoc-mono-header{flex:0 0 auto;min-width:0;overflow:hidden}
.sdoc-dual-institutions,.sdoc-dual-institutions>div,.sdoc-mono-header>div{min-width:0;overflow:hidden}
.sdoc-dual-institutions strong,.sdoc-mono-header strong{display:block;max-width:100%;max-height:2.65em;overflow:hidden;overflow-wrap:anywhere}
.sdoc-dual-institutions small,.sdoc-mono-header small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sdoc-premium .watermark,.sdoc-mono .watermark{width:320px!important;height:320px!important;max-width:32%!important;max-height:32%!important;object-fit:contain!important;opacity:.025!important;overflow:hidden!important}
.sdoc-dual-footer,.sdoc-mono-footer{flex:0 0 auto;min-width:0;max-height:104px;overflow:hidden!important}
.sdoc-dual-footer>div,.sdoc-mono-footer>div{min-width:0;max-height:86px;overflow:hidden}
.sdoc-dual-footer>img.sdoc-mono-stamp,.sdoc-mono-footer>img.sdoc-mono-stamp,
.sdoc-sheet img.sdoc-mono-stamp{display:block!important;width:auto!important;height:auto!important;max-width:112px!important;max-height:74px!important;object-fit:contain!important;justify-self:center!important;align-self:center!important}
.sdoc-sheet img.sdoc-mono-signature{display:block!important;width:auto!important;height:auto!important;max-width:168px!important;max-height:58px!important;object-fit:contain!important}
.sdoc-dual-title,.sdoc-premium-heading,.sdoc-mono h1{overflow-wrap:anywhere;max-width:100%}
.sdoc-premium main,.sdoc-mono main{min-width:0;overflow:hidden}
.sdoc-dual-card .sdoc-mono-stamp,.sdoc-mono-card .sdoc-mono-stamp{max-width:76px!important;max-height:44px!important}
@media print{
 .sdoc-sheet.sdoc-premium,.sdoc-sheet.sdoc-mono{overflow:hidden!important}
 .sdoc-dual-footer>img.sdoc-mono-stamp,.sdoc-mono-footer>img.sdoc-mono-stamp{width:auto!important;height:auto!important;max-width:112px!important;max-height:74px!important}
 .sdoc-sheet img.sdoc-mono-signature{width:auto!important;height:auto!important;max-width:168px!important;max-height:58px!important}
}

/* SININBE EDU 4.0.39.6 — elegant, bounded document footer and contact card. */
.sdoc-premium .doc-layer,.sdoc-mono .doc-layer{padding:38px 46px 30px!important;overflow:hidden!important}
.sdoc-premium main,.sdoc-mono main{padding:24px 12px 14px!important;min-height:0!important;overflow:hidden!important}
.sdoc-document-footer{flex:0 0 auto!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;min-width:0!important;min-height:0!important;max-height:none!important;padding:10px 2px 0!important;border-top:1px solid #d8e2e6!important;overflow:visible!important}
.sdoc-document-footer>.sdoc-footer-signature-row{direction:ltr!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important;min-width:0!important;min-height:56px!important;max-height:none!important;padding:0 10px!important;overflow:visible!important}
.sdoc-footer-person{flex:1 1 0;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-items:end;gap:4px;min-width:0;min-height:48px;color:#55656e;font-size:9px;line-height:1.25;text-align:center;overflow:visible}
.sdoc-mono-footer .sdoc-footer-person{flex:0 1 230px}.sdoc-dual-footer .sdoc-footer-person{max-width:250px}
.sdoc-footer-person>span{display:block;max-width:100%;overflow-wrap:anywhere;unicode-bidi:plaintext}
.sdoc-footer-stamp{flex:0 0 108px;display:grid;place-items:center;min-width:0;min-height:48px;overflow:visible}
.sdoc-document-footer .sdoc-mono-signature{display:block!important;width:auto!important;height:auto!important;max-width:154px!important;max-height:43px!important;object-fit:contain!important;margin:auto!important}
.sdoc-document-footer .sdoc-mono-stamp{display:block!important;width:auto!important;height:auto!important;max-width:96px!important;max-height:58px!important;object-fit:contain!important;margin:auto!important}
.sdoc-contact-card{direction:ltr!important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:0;min-width:0;padding:7px 9px;border:1px solid #cfdae0;border:1px solid color-mix(in srgb,var(--p,#173a5e) 20%,#d8e2e6);border-radius:12px;background:#f6faf9;background:linear-gradient(135deg,color-mix(in srgb,var(--p,#173a5e) 6%,#fff),color-mix(in srgb,var(--s,#b78b2e) 7%,#fff));box-shadow:0 3px 10px rgba(23,58,94,.06);color:#17242c;font-family:"Space Grotesk",Arial,sans-serif;text-align:left;overflow:hidden}
.sdoc-contact-item{display:grid;align-content:center;gap:2px;min-width:0;padding:0 9px;border-left:1px solid color-mix(in srgb,var(--p,#173a5e) 13%,transparent)}
.sdoc-contact-item:first-child{border-left:0}
.sdoc-contact-item span{display:block;color:var(--a,#2a7f75);font-size:7.5px;font-weight:850;line-height:1.2;letter-spacing:.025em;white-space:nowrap}
.sdoc-contact-item strong{display:block;min-width:0;color:var(--p,#173a5e);font-size:8.8px;font-weight:850;line-height:1.3;direction:ltr;text-align:left;unicode-bidi:plaintext;white-space:nowrap}
.sdoc-mono-school main{width:min(100%,620px);margin-inline:auto}.sdoc-mono-course main{width:min(100%,760px);margin-inline:auto}
.sdoc-mono main>.sdoc-mono-row{margin:5px 0;padding:10px 13px;border:1px solid #d9e3e7;border-radius:11px;background:#fff}
.sdoc-mono main>p{margin:16px 0 0;padding:13px 15px;border:1px solid #dbe5e8;border-radius:12px;background:#f7faf9;color:#41515b;line-height:1.65}
.sdoc-dual-card .doc-layer,.sdoc-mono-card .doc-layer{padding:25px 34px 19px!important}
.sdoc-dual-card main,.sdoc-mono-card main{padding:7px 6px 5px!important;gap:18px!important}
.sdoc-dual-card .sdoc-document-footer,.sdoc-mono-card .sdoc-document-footer{gap:4px!important;padding-top:4px!important}
.sdoc-dual-card .sdoc-document-footer>.sdoc-footer-signature-row,.sdoc-mono-card .sdoc-document-footer>.sdoc-footer-signature-row{min-height:34px!important;padding:0 6px!important;gap:10px!important}
.sdoc-dual-card .sdoc-footer-person,.sdoc-mono-card .sdoc-footer-person{min-height:31px;font-size:7px;gap:2px}
.sdoc-dual-card .sdoc-footer-stamp,.sdoc-mono-card .sdoc-footer-stamp{min-height:31px}
.sdoc-dual-card .sdoc-mono-signature,.sdoc-mono-card .sdoc-mono-signature{max-width:92px!important;max-height:27px!important}
.sdoc-dual-card .sdoc-mono-stamp,.sdoc-mono-card .sdoc-mono-stamp{max-width:62px!important;max-height:32px!important}
.sdoc-dual-card .sdoc-contact-card,.sdoc-mono-card .sdoc-contact-card{padding:4px 7px;border-radius:9px}
.sdoc-dual-card .sdoc-contact-item,.sdoc-mono-card .sdoc-contact-item{gap:1px;padding:0 7px}
.sdoc-dual-card .sdoc-contact-item span,.sdoc-mono-card .sdoc-contact-item span{font-size:6px}
.sdoc-dual-card .sdoc-contact-item strong,.sdoc-mono-card .sdoc-contact-item strong{font-size:7.2px}
.sdoc-sheet.compact .sdoc-premium-heading,.sdoc-sheet.compact .sdoc-dual-title,.sdoc-sheet.compact h1{margin-bottom:16px!important;font-size:26px!important}
.sdoc-sheet.compact main{padding-top:16px!important;padding-bottom:8px!important}
.sdoc-sheet.sdoc-tight .doc-layer{padding-top:30px!important;padding-bottom:24px!important}
.sdoc-sheet.sdoc-tight main{padding-top:10px!important;padding-bottom:5px!important}
.sdoc-sheet.sdoc-tight .sdoc-mono-row,.sdoc-sheet.sdoc-tight .sdoc-dual-row>div{padding-top:6px!important;padding-bottom:6px!important}
.sdoc-sheet.sdoc-tight .sdoc-premium-table th,.sdoc-sheet.sdoc-tight .sdoc-premium-table td,.sdoc-sheet.sdoc-tight .sdoc-mono-table th,.sdoc-sheet.sdoc-tight .sdoc-mono-table td{padding-top:5px!important;padding-bottom:5px!important}
@media print{.sdoc-contact-card{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.sdoc-document-footer{break-inside:avoid!important;page-break-inside:avoid!important}}


/* SININBE EDU 4.0.39.7 — native-text PDF typography and bidirectional layout. */
.sdoc-sheet[dir="rtl"],.sdoc-sheet [dir="rtl"],.sdoc-sheet .ar{font-family:"Tajawal",Tahoma,Arial,sans-serif!important;direction:rtl;text-align:right;letter-spacing:0!important}
.sdoc-sheet[dir="ltr"],.sdoc-sheet [dir="ltr"],.sdoc-sheet .en{font-family:"Space Grotesk","Jost",Arial,sans-serif!important;direction:ltr}
.sdoc-sheet :is(h1,h2,h3,h4,p,span,strong,small,td,th){unicode-bidi:plaintext;text-rendering:geometricPrecision}
.sdoc-sheet[dir="rtl"] :is(h1,h2,h3,h4,p,strong,span,small){line-height:1.48}
.sdoc-sheet[dir="rtl"] .sdoc-mono-header small,.sdoc-sheet [dir="rtl"] small{letter-spacing:0!important}
.sdoc-sheet .sdoc-mono-row strong,.sdoc-sheet .sdoc-dual-row strong,.sdoc-sheet td,.sdoc-sheet th{overflow-wrap:anywhere;word-break:normal}
.sdoc-sheet .sdoc-mono-row,.sdoc-sheet .sdoc-dual-row>div{align-content:center}
.sdoc-sheet .sdoc-document-footer{background:linear-gradient(180deg,rgba(255,255,255,0),rgba(247,250,249,.72));border-radius:0 0 10px 10px}
@media print{
  .sdoc-sheet,.sdoc-sheet *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .sdoc-sheet{box-shadow:none!important;filter:none!important}
  .sdoc-sheet[dir="rtl"],.sdoc-sheet [dir="rtl"],.sdoc-sheet .ar{font-family:"Tajawal",Tahoma,Arial,sans-serif!important}
  .sdoc-sheet[dir="ltr"],.sdoc-sheet [dir="ltr"],.sdoc-sheet .en{font-family:"Space Grotesk","Jost",Arial,sans-serif!important}
  .sdoc-document-footer,.sdoc-contact-card,.sdoc-mono-row,.sdoc-dual-row,.sdoc-premium-table{break-inside:avoid!important;page-break-inside:avoid!important}
}

/* === SININBE bundled source: includes/v436-enhancements/enhancements.css === */
/* SININBE EDU 4.0.39.6 — controlled consistency patch. */
/* Shared geometry: the focus ring follows the same rounded boundary as the field. */
#app :is(input[type="text"],input[type="email"],input[type="url"],input[type="password"],input[type="search"],input[type="tel"],input[type="number"],input[type="date"],input[type="time"],select,textarea){border-radius:14px;background-clip:padding-box}
#app :is(input[type="text"],input[type="email"],input[type="url"],input[type="password"],input[type="search"],input[type="tel"],input[type="number"],input[type="date"],input[type="time"],select,textarea):focus-visible{outline:0;border-color:var(--primary,#2f8f66);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary,#2f8f66) 22%,transparent)}

#admin-pane-customization :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),select,textarea),
.se-admin-pane :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),select,textarea){border-radius:14px!important;background-clip:padding-box!important;outline:0!important}
#admin-pane-customization :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),select,textarea):focus,
#admin-pane-customization :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),select,textarea):focus-visible,
.se-admin-pane :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),select,textarea):focus-visible{outline:0!important;border-color:var(--primary,#2f8f66)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary,#2f8f66) 22%,transparent)!important}
.se-input-action-row{border-radius:14px!important;overflow:visible}.se-input-action-row .se-custom-input{border-radius:14px!important}.se-input-action-row .se-field-icon-btn{border-radius:12px!important}
.se-custom-subjects-card:empty{display:none!important}
.se-assignment-subject-manager{margin:0 0 18px;padding:18px;border:1px solid var(--line,#dbe6df);border-radius:20px;background:var(--card,#fff);box-shadow:0 12px 34px rgba(20,45,35,.07)}
.se-assignment-subject-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.se-assignment-subject-head>div{display:flex;align-items:flex-start;gap:12px}.se-assignment-subject-head h3{margin:0 0 4px;font-size:1rem;color:var(--text,#13251d)}.se-assignment-subject-head p{margin:0;color:var(--muted,#64756d);line-height:1.55}.se-assignment-subject-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary,#2f8f66) 13%,transparent);color:var(--primary,#2f8f66);flex:0 0 auto}
.se-assignment-subject-language-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.se-assignment-subject-field{display:grid;gap:7px;min-width:0;align-content:start}.se-assignment-subject-field span,.se-assignment-subject-columns strong{font-size:.78rem;color:var(--text,#13251d)}.se-assignment-subject-field span{display:block;width:100%;text-align:start;unicode-bidi:plaintext}.se-assignment-subject-field input{min-height:44px;padding:10px 12px;border:1px solid var(--line,#dbe6df);background:var(--surface,#fff);color:var(--text,#13251d)}.se-assignment-subject-field input[dir="auto"]{width:100%;text-align:start;unicode-bidi:plaintext}
.se-assignment-subject-actions{display:flex;align-items:center;gap:12px;margin:14px 0}.se-assignment-subject-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.se-assignment-subject-columns>div{min-width:0;padding:12px;border:1px solid var(--line,#dbe6df);border-radius:16px;background:color-mix(in srgb,var(--card,#fff) 92%,var(--primary,#2f8f66) 8%)}.se-assignment-subject-columns .se-subject-manager-list{margin-top:10px}
.sdoc-field-help{display:block;margin-top:6px;color:var(--muted,#64756d);font-size:.72rem;line-height:1.45}.sdoc-kind-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}#sdoc-transcript-subjects{min-height:150px;padding:8px}.sdoc-transcript .doc-layer,.sdoc-mono .doc-layer{display:flex;flex-direction:column;height:100%;padding:34px 38px}.sdoc-mono-header{display:flex;align-items:center;gap:16px;padding-bottom:14px;border-bottom:2px solid var(--doc-primary,#173a5e)}.sdoc-mono-header>div{display:grid;gap:4px}.sdoc-mono-header strong{font-size:20px;color:var(--doc-primary,#173a5e)}.sdoc-mono-header small{font-size:11px;color:#5f6d76}.sdoc-mono-logo{width:62px;height:62px;object-fit:contain}.sdoc-mono main,.sdoc-transcript main{flex:1;padding:42px 16px 20px}.sdoc-mono h1,.sdoc-transcript h1{text-align:center;color:var(--doc-primary,#173a5e);font-size:31px;margin:0 0 32px}.sdoc-mono h2{text-align:center;font-size:28px;margin:18px}.sdoc-mono-row{display:grid;grid-template-columns:minmax(145px,.7fr) 1fr;gap:18px;padding:10px 12px;border-bottom:1px solid #dde5e9;align-items:center}.sdoc-mono-row span{color:#60707a;font-size:13px}.sdoc-mono-row strong{font-size:15px;color:#17242c}.sdoc-mono-footer{display:flex;justify-content:space-between;align-items:end;min-height:82px;border-top:1px solid #dce5e9;padding-top:12px}.sdoc-mono-footer>div{display:grid;justify-items:center}.sdoc-mono-signature{max-width:130px;max-height:50px;object-fit:contain}.sdoc-mono-stamp{max-width:84px;max-height:84px;object-fit:contain}.sdoc-mono-photo{width:110px;height:135px;border-radius:12px;object-fit:cover;border:2px solid var(--doc-primary,#173a5e)}.sdoc-mono-card main{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:26px;padding:12px}.sdoc-mono-card h1{font-size:26px;margin-bottom:12px}.sdoc-mono-card .sdoc-mono-header{padding-bottom:8px}.sdoc-mono-card .sdoc-mono-header strong{font-size:15px}.sdoc-mono-card .sdoc-mono-header small{font-size:8px}.sdoc-mono-card .sdoc-mono-logo{width:42px;height:42px}.sdoc-mono-card .sdoc-mono-row{padding:5px 8px;grid-template-columns:105px 1fr}.sdoc-mono-card .sdoc-mono-row span{font-size:9px}.sdoc-mono-card .sdoc-mono-row strong{font-size:11px}.sdoc-mono-card .sdoc-mono-footer{min-height:48px}.sdoc-mono-table{width:100%;border-collapse:collapse;margin-top:20px;font-size:11px}.sdoc-mono-table th,.sdoc-mono-table td{border:1px solid #cad6dc;padding:8px 7px;text-align:center;vertical-align:top}.sdoc-mono-table th{background:var(--doc-primary,#173a5e);color:#fff}.sdoc-mono-table td:first-child{text-align:start}.sdoc-mono-totals{width:52%;margin-inline-start:auto;margin-top:18px}.sdoc-transcript main{padding-top:26px}.sdoc-transcript h1{margin-bottom:18px}.sdoc-transcript-meta{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.sdoc-transcript-average{margin-top:18px;padding:13px 16px;border-radius:12px;background:color-mix(in srgb,var(--doc-primary,#173a5e) 9%,#fff);font-size:16px;text-align:end}
[data-theme="dark"] .se-assignment-subject-manager,[data-theme="dark"] .se-assignment-subject-columns>div{background:var(--card,#15221c);border-color:var(--line,#31443a)}[data-theme="dark"] .se-assignment-subject-field input{background:var(--surface,#101a15);color:var(--text,#f1f6f3)}
@media(max-width:760px){.se-assignment-subject-head{flex-direction:column}.se-assignment-subject-columns{grid-template-columns:1fr}.se-assignment-subject-actions{align-items:stretch;flex-direction:column}.sdoc-transcript-meta{grid-template-columns:1fr}}

.sdoc-transcript-empty{padding:24px!important;text-align:center!important;color:#65747d;font-style:italic}

/* 4.0.37 — compact subject selector and destructive action. */
.se-assignment-subject-selectbox{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end;margin-top:14px;padding:14px;border:1px solid var(--line,#dbe6df);border-radius:16px;background:color-mix(in srgb,var(--card,#fff) 94%,var(--primary,#2f8f66) 6%)}
.se-assignment-subject-selectbox label{display:grid;gap:7px;min-width:0}.se-assignment-subject-selectbox label>span{font-size:.78rem;font-weight:850;color:var(--text,#13251d)}
#assignment-subject-select{width:100%;min-height:46px;padding:10px 13px;border:1px solid var(--line,#dbe6df);border-radius:14px;background:var(--surface,#fff);color:var(--text,#13251d);font:inherit}
.se-subject-delete-btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 16px;border:1px solid color-mix(in srgb,#dc2626 30%,transparent);border-radius:14px;background:color-mix(in srgb,#dc2626 8%,transparent);color:#dc2626;font:800 .78rem inherit;cursor:pointer;transition:.16s ease}
.se-subject-delete-btn i{display:inline-block;width:auto;height:auto;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;line-height:1;font-size:.95rem;transform:none!important}
.se-subject-delete-btn:hover:not(:disabled){background:#dc2626;color:#fff;border-color:#dc2626;transform:translateY(-1px)}.se-subject-delete-btn:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.3)}
[data-theme="dark"] .se-assignment-subject-selectbox{background:color-mix(in srgb,var(--card,#15221c) 92%,var(--primary,#2f8f66) 8%);border-color:var(--line,#31443a)}[data-theme="dark"] #assignment-subject-select{background:var(--surface,#101a15);color:var(--text,#f1f6f3)}

/* Document language picker: one or two explicit languages. */
.sdoc-language-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}.sdoc-language-choice{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:46px;padding:9px 11px;border:1px solid var(--border,#dbe6df);border-radius:14px;background:rgba(255,255,255,.035);cursor:pointer;user-select:none}.sdoc-language-choice input{width:17px!important;height:17px!important;min-height:0!important;margin:0}.sdoc-language-choice span{font-size:.72rem;font-weight:850;color:var(--text-primary,#17231d)}.sdoc-language-choice small{font-size:.58rem;color:var(--text-muted,#6b7a72);font-weight:900}.sdoc-language-choice i{width:20px;height:20px;border-radius:7px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary,#2f8f66) 12%,transparent);color:var(--primary,#2f8f66);opacity:0;transform:scale(.75);transition:.15s ease}.sdoc-language-choice:has(input:checked){border-color:color-mix(in srgb,var(--primary,#2f8f66) 52%,var(--border,#dbe6df));background:color-mix(in srgb,var(--primary,#2f8f66) 8%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary,#2f8f66) 7%,transparent)}.sdoc-language-choice:has(input:checked) i{opacity:1;transform:scale(1)}
.sdoc-language-choice span[lang="ar"]{font-family:"Tajawal",sans-serif;direction:rtl;unicode-bidi:isolate;text-align:start}.sdoc-language-choice span:is([lang="fr"],[lang="en"],[lang="it"]){font-family:"Space Grotesk",sans-serif;direction:ltr;unicode-bidi:isolate;text-align:start}

/* Browser zoom resilience: responsive wrapping and scroll only when genuinely needed. */
#app :is(.se-admin-pane,.se-modal-body,.se-dialog-body,.sdoc-panel,.se-gradebook-panel,.se-admin-head>*,.se-contact-head>*,.se-grid>*,.sdoc-workspace>*){min-width:0}
#app :is(.se-admin-tabs,.se-modal-tabs,.se-toolbar,.se-actions,.se-inline-actions,.sdoc-main-actions,.se-audit-actions){flex-wrap:wrap}
#app :is(.se-admin-pane,.se-modal-body,.se-dialog-body,.sdoc-panel,.se-gradebook-panel){max-width:100%}
#app :is(.se-table-wrap,.sdoc-preview-viewport,.se-member-grid,.se-admin-tabs){overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#app table{min-width:max-content}
#app[data-viewport="medium"] .sdoc-workspace{grid-template-columns:1fr!important}
#app[data-viewport="compact"] :is(.se-admin-tabbar,.se-admin-tabs){display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;scroll-snap-type:x proximity}
#app[data-viewport="compact"] :is(.se-admin-tab,.se-admin-tabs>button){flex:0 0 auto;scroll-snap-align:start}
#app[data-viewport="compact"] :is(.sdoc-grid,.se-custom-grid,.se-assignment-subject-language-fields){grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important}
#app[data-viewport="compact"] :is(.se-modal,.se-dialog,.se-admin-modal){padding:8px!important}
#app[data-viewport="compact"] :is(.se-modal-card,.se-dialog-card,.se-admin-modal>div,.se-gradebook-modal-card){width:min(100%,calc(var(--se-viewport-width,100vw) - 16px))!important;max-width:none!important;max-height:calc(var(--se-viewport-height,100dvh) - 16px)!important;overflow:auto!important}
#app[data-viewport="narrow"] :is(.se-assignment-subject-selectbox,.se-license-key-row,.sdoc-history-head){grid-template-columns:1fr!important}
#app[data-viewport="narrow"] :is(.se-subject-delete-btn,.sdoc-main-actions button){width:100%;justify-content:center}
@media(max-width:760px){.se-assignment-subject-selectbox{grid-template-columns:1fr}.sdoc-language-options{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.sdoc-language-options{grid-template-columns:1fr}}
.se-subject-delete-btn i{width:1em!important;height:1em!important;display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 1em}

/* 4.0.39.6 — keep the live preview identical to the exported document CSS. */
.sdoc-premium .doc-layer,.sdoc-mono .doc-layer{padding:38px 46px 30px!important;overflow:hidden!important}.sdoc-premium main,.sdoc-mono main{padding:24px 12px 14px!important;min-height:0!important;overflow:hidden!important}.sdoc-document-footer{flex:0 0 auto!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;min-height:0!important;max-height:none!important;padding:10px 2px 0!important;overflow:visible!important}.sdoc-document-footer>.sdoc-footer-signature-row{direction:ltr!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important;min-height:56px!important;max-height:none!important;padding:0 10px!important;overflow:visible!important}.sdoc-footer-person{flex:1 1 0;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-items:end;gap:4px;min-width:0;min-height:48px;font-size:9px;overflow:visible}.sdoc-mono-footer .sdoc-footer-person{flex:0 1 230px}.sdoc-dual-footer .sdoc-footer-person{max-width:250px}.sdoc-footer-stamp{flex:0 0 108px;display:grid;place-items:center;min-height:48px;overflow:visible}.sdoc-document-footer .sdoc-mono-signature{max-width:154px!important;max-height:43px!important}.sdoc-document-footer .sdoc-mono-stamp{max-width:96px!important;max-height:58px!important}.sdoc-mono-school main{width:min(100%,620px);margin-inline:auto}.sdoc-mono-course main{width:min(100%,760px);margin-inline:auto}.sdoc-mono main>.sdoc-mono-row{margin:5px 0;padding:10px 13px;border:1px solid #d9e3e7;border-radius:11px;background:#fff}.sdoc-mono main>p{margin:16px 0 0;padding:13px 15px;border:1px solid #dbe5e8;border-radius:12px;background:#f7faf9;color:#41515b;line-height:1.65}.sdoc-dual-card .doc-layer,.sdoc-mono-card .doc-layer{padding:25px 34px 19px!important}.sdoc-dual-card main,.sdoc-mono-card main{padding:7px 6px 5px!important;gap:18px!important}.sdoc-dual-card .sdoc-document-footer,.sdoc-mono-card .sdoc-document-footer{gap:4px!important;padding-top:4px!important}.sdoc-dual-card .sdoc-document-footer>.sdoc-footer-signature-row,.sdoc-mono-card .sdoc-document-footer>.sdoc-footer-signature-row{min-height:34px!important;padding:0 6px!important;gap:10px!important}.sdoc-dual-card .sdoc-footer-person,.sdoc-mono-card .sdoc-footer-person{min-height:31px;font-size:7px;gap:2px}.sdoc-dual-card .sdoc-footer-stamp,.sdoc-mono-card .sdoc-footer-stamp{min-height:31px}.sdoc-dual-card .sdoc-mono-signature,.sdoc-mono-card .sdoc-mono-signature{max-width:92px!important;max-height:27px!important}.sdoc-dual-card .sdoc-mono-stamp,.sdoc-mono-card .sdoc-mono-stamp{max-width:62px!important;max-height:32px!important}.sdoc-dual-card .sdoc-contact-card,.sdoc-mono-card .sdoc-contact-card{padding:4px 7px;border-radius:9px}.sdoc-dual-card .sdoc-contact-item,.sdoc-mono-card .sdoc-contact-item{gap:1px;padding:0 7px}.sdoc-dual-card .sdoc-contact-item span,.sdoc-mono-card .sdoc-contact-item span{font-size:6px}.sdoc-dual-card .sdoc-contact-item strong,.sdoc-mono-card .sdoc-contact-item strong{font-size:7.2px}

/* === SININBE bundled source: includes/lessons/lessons.css === */
/* SININBE EDU Universal Learning Viewer — isolated styles v2.8.2 */
#ni-learning-library .ni-ic{background:rgba(240,180,41,.12);color:var(--gold)}
#ni-learning-library.active .ni-ic{background:rgba(34,211,178,.18);color:var(--primary)}
.edu-ls-modal{padding:10px!important}
.edu-ls-box{width:min(1500px,100%)!important;height:min(94dvh,980px)!important;max-width:1500px!important;max-height:94dvh!important;padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;border-radius:20px!important}
.edu-ls-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(34,211,178,.07),rgba(240,180,41,.04));flex:0 0 auto}
.edu-ls-head-main{display:flex;align-items:center;gap:12px;min-width:0}.edu-ls-head-icon{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:rgba(34,211,178,.12);color:var(--primary);font-size:1.05rem;flex:0 0 auto}.edu-ls-head h2{margin:0;color:var(--text-primary);font-size:1rem;font-weight:950}.edu-ls-head p{margin:3px 0 0;color:var(--text-muted);font-size:.65rem;line-height:1.5}.edu-ls-head-actions{display:flex;gap:7px;flex:0 0 auto}.edu-ls-icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.edu-ls-icon-btn:hover{color:var(--primary);border-color:rgba(34,211,178,.35);background:rgba(34,211,178,.08)}
.edu-ls-toolbar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);flex:0 0 auto}.edu-ls-search{display:flex;align-items:center;gap:8px;border:1px solid var(--border-strong);border-radius:11px;background:rgba(255,255,255,.035);padding:0 11px;min-height:40px;flex:1;min-width:0}.edu-ls-search i{color:var(--text-muted);font-size:.72rem}.edu-ls-search input{border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;color:var(--text-primary)!important;width:100%;min-width:0;padding:0!important;font-size:.72rem!important}.edu-ls-summary{font-size:.63rem;color:var(--text-muted);white-space:nowrap;font-weight:850}
.edu-ls-main{position:relative;display:grid;grid-template-columns:minmax(0,1fr);min-height:0;flex:1;overflow:hidden}.edu-ls-content{overflow:auto;padding:14px;display:grid;gap:10px;align-content:start;scrollbar-gutter:stable}.edu-ls-empty{padding:40px 20px;text-align:center;border:1px dashed var(--border-strong);border-radius:16px;color:var(--text-muted);font-size:.72rem}.edu-ls-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px;color:var(--text-muted);font-size:.72rem}
.edu-ls-subject{border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025);overflow:hidden}.edu-ls-subject-head{display:flex;align-items:center;gap:10px;padding:12px 13px;cursor:pointer;user-select:none}.edu-ls-subject-head:hover{background:rgba(255,255,255,.025)}.edu-ls-subject-mark{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(34,211,178,.10);color:var(--primary);font-weight:950;flex:0 0 auto}.edu-ls-subject-title{flex:1;min-width:0}.edu-ls-subject-title strong{display:block;color:var(--text-primary);font-size:.78rem;font-weight:950}.edu-ls-subject-title small{display:block;color:var(--text-muted);font-size:.57rem;margin-top:2px}.edu-ls-subject-count{font-size:.58rem;color:var(--text-muted);padding:4px 8px;border:1px solid var(--border);border-radius:999px;white-space:nowrap}.edu-ls-chevron{transition:transform .2s;color:var(--text-muted)}.edu-ls-subject.open .edu-ls-chevron{transform:rotate(180deg)}.edu-ls-subject-body{display:none;padding:0 12px 12px}.edu-ls-subject.open .edu-ls-subject-body{display:grid;gap:9px}
.edu-ls-methodology{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid rgba(240,180,41,.24);background:rgba(240,180,41,.055);border-radius:13px;padding:10px}.edu-ls-methodology .edu-ls-item-icon{color:var(--gold)}
.edu-ls-level{border:1px solid var(--border);border-radius:13px;overflow:hidden;background:rgba(4,10,24,.18)}.edu-ls-level-head{display:flex;align-items:center;gap:9px;padding:10px 11px;cursor:pointer}.edu-ls-level-head:hover{background:rgba(255,255,255,.02)}.edu-ls-level-index{min-width:34px;height:30px;padding:0 8px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:rgba(167,139,250,.10);color:#a78bfa;font-weight:950;font-size:.65rem}.edu-ls-level-title{flex:1;min-width:0}.edu-ls-level-title strong{display:block;color:var(--text-primary);font-size:.7rem}.edu-ls-level-title small{display:block;color:var(--text-muted);font-size:.55rem;margin-top:1px}.edu-ls-level-body{display:none;padding:0 10px 10px;gap:7px}.edu-ls-level.open .edu-ls-level-body{display:grid}.edu-ls-level .edu-ls-chevron{font-size:.62rem}.edu-ls-level.open>.edu-ls-level-head .edu-ls-chevron{transform:rotate(180deg)}
.edu-ls-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid var(--border);border-radius:11px;padding:9px;background:rgba(255,255,255,.022)}.edu-ls-item.is-exam{border-style:dashed;border-color:rgba(240,180,41,.32);background:rgba(240,180,41,.04);margin-top:3px}.edu-ls-item.unavailable{opacity:.72}.edu-ls-item-icon{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:rgba(34,211,178,.09);color:var(--primary);font-size:.75rem}.edu-ls-item-main{min-width:0}.edu-ls-item-main strong{display:block;color:var(--text-primary);font-size:.67rem;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edu-ls-item-main span{display:block;color:var(--text-muted);font-size:.54rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edu-ls-item-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.edu-ls-action{height:30px;min-width:30px;border-radius:8px;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text-secondary);cursor:pointer;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:.56rem;font-weight:900}.edu-ls-action:hover{border-color:rgba(34,211,178,.32);color:var(--primary);background:rgba(34,211,178,.08)}.edu-ls-action.complete{color:#86efac;border-color:rgba(134,239,172,.25);background:rgba(34,197,94,.08)}.edu-ls-action.done{background:rgba(34,197,94,.16);border-color:rgba(34,197,94,.38);color:#bbf7d0}.edu-ls-action.danger{color:#fca5a5;border-color:rgba(248,113,113,.25)}.edu-ls-action[disabled]{opacity:.42;cursor:not-allowed}.edu-ls-admin-inline{display:flex;gap:5px;margin-inline-start:auto}.edu-ls-progress-dot{width:7px;height:7px;border-radius:50%;background:var(--border-strong);display:inline-block}.edu-ls-progress-dot.viewed{background:#60a5fa}.edu-ls-progress-dot.completed{background:#22c55e}
.edu-ls-manager{position:absolute;inset-block:0;inset-inline-end:0;width:min(390px,92vw);background:var(--surface,#071126);border-inline-start:1px solid var(--border);box-shadow:-18px 0 50px rgba(0,0,0,.28);transform:translateX(calc(100% + 20px));transition:transform .22s ease;z-index:8;overflow:auto;padding:12px}.edu-ls-manager.open{transform:translateX(0)}[dir="rtl"] .edu-ls-manager{box-shadow:18px 0 50px rgba(0,0,0,.28);transform:translateX(calc(-100% - 20px))}[dir="rtl"] .edu-ls-manager.open{transform:translateX(0)}.edu-ls-manager-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 2px 10px}.edu-ls-manager-head strong{color:var(--text-primary);font-size:.78rem}.edu-ls-manager-head button{border:0;background:transparent;color:var(--text-muted);cursor:pointer}.edu-ls-manager-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.edu-ls-manager-tabs button{border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.03);color:var(--text-muted);padding:8px;font-size:.62rem;font-weight:900;cursor:pointer}.edu-ls-manager-tabs button.active{color:var(--primary);border-color:rgba(34,211,178,.34);background:rgba(34,211,178,.08)}.edu-ls-manager-form{display:grid;gap:9px}.edu-ls-manager-form label{display:grid;gap:5px}.edu-ls-manager-form label>span{font-size:.58rem;color:var(--text-muted);font-weight:850}.edu-ls-manager-form input,.edu-ls-manager-form select{width:100%;border:1px solid var(--border-strong);background:rgba(255,255,255,.045);color:var(--text-primary);border-radius:9px;min-height:39px;padding:8px 10px;font-size:.68rem;outline:none;box-sizing:border-box}.edu-ls-manager-form input:focus,.edu-ls-manager-form select:focus{border-color:rgba(34,211,178,.45);box-shadow:0 0 0 3px rgba(34,211,178,.07)}.edu-ls-file-hint{font-size:.54rem;color:var(--text-muted);line-height:1.55}.edu-ls-save-btn{justify-content:center;gap:7px}.edu-ls-form-state{font-size:.58rem;min-height:18px;color:var(--text-muted)}.edu-ls-form-state.ok{color:#86efac}.edu-ls-form-state.err{color:#fca5a5}
.edu-lsv-modal{padding:8px!important}.edu-lsv-box{width:min(1480px,100%)!important;height:min(96dvh,1050px)!important;max-width:1480px!important;max-height:96dvh!important;padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;border-radius:18px!important;position:relative}.edu-lsv-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;border-bottom:1px solid var(--border);background:rgba(4,9,22,.96);z-index:4}.edu-lsv-title-wrap{display:flex;align-items:center;gap:9px;min-width:0}.edu-lsv-type{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(34,211,178,.10);color:var(--primary)}.edu-lsv-title-wrap>div:last-child{min-width:0}.edu-lsv-title-wrap strong{display:block;color:var(--text-primary);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edu-lsv-title-wrap span{display:block;color:var(--text-muted);font-size:.54rem;margin-top:2px}.edu-lsv-actions{display:flex;align-items:center;gap:5px}.edu-lsv-actions button{width:32px;height:32px;border-radius:9px;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text-secondary);cursor:pointer}.edu-lsv-actions button:hover{color:var(--primary)}#edu-lsv-page{font-size:.62rem;color:var(--text-muted);min-width:48px;text-align:center}.edu-lsv-stage{position:relative;flex:1;min-height:0;overflow:auto;background:#111827;padding:18px;display:flex;align-items:flex-start;justify-content:center;overscroll-behavior:contain;user-select:none;-webkit-user-select:none}.edu-lsv-stage iframe{width:100%;height:100%;border:0;background:#fff;border-radius:8px}.edu-lsv-stage video{display:block;max-width:100%;max-height:100%;margin:auto;border-radius:10px;background:#000}.edu-lsv-stage audio{width:min(720px,95%);margin:auto}.edu-lsv-stage img.edu-lsv-image{display:block;max-width:100%;max-height:100%;object-fit:contain;margin:auto;border-radius:8px}.edu-lsv-text,.edu-lsv-doc{width:min(980px,100%);min-height:100%;background:#fff;color:#1f2937;border-radius:10px;padding:28px;box-sizing:border-box;line-height:1.8;white-space:pre-wrap;direction:auto;user-select:none}.edu-lsv-doc p{margin:0 0 1em}.edu-lsv-sheet{width:100%;background:#fff;border-radius:9px;padding:10px;overflow:auto}.edu-lsv-sheet-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}.edu-lsv-sheet-tabs button{border:1px solid #d1d5db;background:#f8fafc;color:#334155;border-radius:7px;padding:6px 9px;cursor:pointer}.edu-lsv-sheet-tabs button.active{background:#e2e8f0;font-weight:800}.edu-lsv-sheet table{border-collapse:collapse;width:max-content;min-width:100%;font-family:Space Grotesk,sans-serif!important}.edu-lsv-sheet td,.edu-lsv-sheet th{border:1px solid #dbe2ea;padding:6px 8px;color:#1f2937;font-size:12px;white-space:nowrap}.edu-lsv-pdf{display:block;width:min(1000px,100%);height:100%;min-height:0}.edu-lsv-pdf embed,.edu-lsv-pdf-frame{display:block;width:100%;height:100%;min-height:620px;border:0;border-radius:8px;background:#fff}.edu-lsv-slide-wrap{width:min(1100px,100%);margin:auto}.edu-lsv-slide{position:relative;width:100%;aspect-ratio:16/9;background:#fff;box-shadow:0 12px 40px rgba(0,0,0,.35);overflow:hidden}.edu-lsv-slide-el{position:absolute;overflow:hidden;box-sizing:border-box;white-space:pre-wrap;line-height:1.15}.edu-lsv-slide-el img{width:100%;height:100%;object-fit:contain}.edu-lsv-watermark{position:absolute;inset:52px 0 32px;z-index:3;pointer-events:none;overflow:hidden;opacity:.055;background-repeat:repeat;mix-blend-mode:multiply}.edu-lsv-watermark::before{content:attr(data-text);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:rotate(-28deg);font-size:clamp(28px,6vw,78px);font-weight:950;color:#fff;letter-spacing:.08em;white-space:nowrap}.edu-lsv-stage>*{position:relative;z-index:2}.edu-lsv-foot{display:flex;align-items:center;justify-content:center;gap:7px;padding:7px 12px;border-top:1px solid var(--border);color:var(--text-muted);font-size:.55rem;background:rgba(4,9,22,.96);z-index:4}.edu-lsv-foot i{color:var(--primary)}.edu-lsv-error{margin:auto;color:#fca5a5;text-align:center;font-size:.72rem;line-height:1.7}.edu-lsv-spinner{margin:auto;color:var(--text-muted);display:flex;gap:8px;align-items:center}
.edu-tp-pane.active{display:flex!important;flex-direction:column;gap:10px;min-height:0;overflow:hidden}.edu-tp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.edu-tp-head h3{margin:0;color:var(--text-primary);font-size:.85rem}.edu-tp-head p{margin:4px 0 0!important}.edu-tp-filters{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(180px,.75fr) minmax(240px,1.5fr);gap:8px}.edu-tp-filters label{display:grid;gap:4px}.edu-tp-filters label span{font-size:.56rem;color:var(--text-muted);font-weight:850}.edu-tp-filters select{border:1px solid var(--border-strong);background:rgba(255,255,255,.04);color:var(--text-primary);border-radius:10px;min-height:40px;padding:7px 9px}.edu-tp-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.edu-tp-card{border:1px solid var(--border);border-radius:12px;padding:10px;background:rgba(255,255,255,.025)}.edu-tp-card strong{display:block;color:var(--text-primary);font-size:.83rem}.edu-tp-card span{display:block;color:var(--text-muted);font-size:.55rem;margin-top:3px}.edu-tp-content{flex:1;min-height:0;overflow:auto;display:grid;gap:9px;align-content:start}.edu-tp-subject{border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.025);overflow:hidden}.edu-tp-subject-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}.edu-tp-subject-head strong{color:var(--text-primary);font-size:.7rem}.edu-tp-subject-head span{font-size:.56rem;color:var(--text-muted)}.edu-tp-levels{display:grid;gap:6px;padding:9px}.edu-tp-level{display:grid;grid-template-columns:minmax(110px,.8fr) repeat(4,minmax(70px,.45fr));align-items:center;gap:7px;border:1px solid var(--border);border-radius:9px;padding:8px}.edu-tp-level strong{font-size:.62rem;color:var(--text-primary)}.edu-tp-metric{font-size:.55rem;color:var(--text-muted);text-align:center}.edu-tp-meter{height:6px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:4px}.edu-tp-meter span{display:block;height:100%;background:var(--primary);border-radius:inherit}.edu-tp-exam-ok{color:#86efac}.edu-tp-exam-no{color:var(--text-muted)}
#app[data-theme="light"] .edu-ls-subject,#app[data-theme="light"] .edu-ls-level,#app[data-theme="light"] .edu-ls-item,#app[data-theme="light"] .edu-ls-manager,#app[data-theme="light"] .edu-tp-card,#app[data-theme="light"] .edu-tp-subject{background:#fff!important}.edu-ls-manager[data-theme="light"]{background:#fff!important}.edu-lsv-box[data-theme="light"] .edu-lsv-head,.edu-lsv-box[data-theme="light"] .edu-lsv-foot{background:#fff!important}.edu-lsv-box[data-theme="light"] .edu-lsv-stage{background:#e7edf5!important}
@media(max-width:900px){.edu-ls-box{height:96dvh!important;max-height:96dvh!important}.edu-ls-head p{display:none}.edu-ls-toolbar{flex-wrap:wrap}.edu-ls-summary{width:100%;white-space:normal}.edu-tp-filters{grid-template-columns:1fr 1fr}.edu-tp-filters .edu-ls-search{grid-column:1/-1}.edu-tp-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.edu-tp-level{grid-template-columns:1fr repeat(2,minmax(70px,.5fr))}.edu-tp-level .edu-tp-hide-tablet{display:none}}
@media(max-width:600px){.edu-ls-modal,.edu-lsv-modal{padding:0!important}.edu-ls-box,.edu-lsv-box{height:100dvh!important;max-height:100dvh!important;border-radius:0!important}.edu-ls-head{padding:10px}.edu-ls-head-icon{width:36px;height:36px}.edu-ls-content{padding:9px}.edu-ls-subject-head{padding:10px}.edu-ls-item,.edu-ls-methodology{grid-template-columns:auto minmax(0,1fr)}.edu-ls-item-actions{grid-column:1/-1;justify-content:flex-end}.edu-ls-methodology .edu-ls-item-actions{grid-column:1/-1}.edu-ls-action{height:32px}.edu-lsv-stage{padding:8px}.edu-lsv-pdf embed,.edu-lsv-pdf-frame{min-height:calc(100dvh - 135px)}.edu-tp-filters{grid-template-columns:1fr}.edu-tp-filters .edu-ls-search{grid-column:auto}.edu-tp-summary{grid-template-columns:1fr 1fr}.edu-tp-level{grid-template-columns:1fr 1fr}.edu-tp-level .edu-tp-hide-mobile{display:none}.edu-tp-pane.active{overflow:auto!important}}

/* ══════════════════════════════════════════════════════════════
   v2.5.52 — responsive library layout hardening
   Prevent implicit CSS-grid tracks from shrinking subject cards to
   thin strips when many subjects are present in a fixed-height modal.
   ══════════════════════════════════════════════════════════════ */
.edu-ls-modal.show{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  padding:clamp(6px,1.1vw,14px)!important;
}
.edu-ls-box{
  width:min(1500px,calc(100vw - 12px))!important;
  height:min(94dvh,980px)!important;
  max-width:1500px!important;
  max-height:calc(100dvh - 12px)!important;
  min-width:0!important;
  min-height:0!important;
  box-sizing:border-box!important;
}
.edu-ls-head,
.edu-ls-toolbar,
.edu-ls-main,
.edu-ls-content,
.edu-ls-subject,
.edu-ls-subject-head,
.edu-ls-subject-body,
.edu-ls-level,
.edu-ls-level-head,
.edu-ls-level-body,
.edu-ls-item,
.edu-ls-methodology{
  box-sizing:border-box!important;
}
.edu-ls-head{min-width:0!important;overflow:visible!important}
.edu-ls-head-main{flex:1 1 auto!important;overflow:hidden!important}
.edu-ls-head-main>div:last-child{min-width:0!important;overflow:hidden!important}
.edu-ls-head h2,.edu-ls-head p{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.edu-ls-toolbar{min-width:0!important}
.edu-ls-main{
  display:block!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
}
.edu-ls-content{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  align-content:normal!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  padding:14px!important;
  scrollbar-gutter:stable!important;
  overscroll-behavior:contain!important;
}
.edu-ls-subject{
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-width:0!important;
  min-height:64px!important;
  height:auto!important;
  max-height:none!important;
  overflow:hidden!important;
}
.edu-ls-subject-head{
  display:flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:62px!important;
  height:auto!important;
  max-height:none!important;
  padding:11px 13px!important;
  gap:10px!important;
  overflow:visible!important;
  line-height:1.25!important;
}
.edu-ls-subject-mark{
  width:40px!important;
  min-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  flex:0 0 40px!important;
  overflow:hidden!important;
}
.edu-ls-subject-title{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  overflow:hidden!important;
}
.edu-ls-subject-title strong{
  display:block!important;
  min-height:1em!important;
  line-height:1.35!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.edu-ls-subject-title small{
  display:block!important;
  min-height:1em!important;
  line-height:1.35!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.edu-ls-subject-count,.edu-ls-chevron,.edu-ls-admin-inline,.edu-ls-subject-head>.edu-ls-action{
  flex:0 0 auto!important;
}
.edu-ls-subject-body{
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.edu-ls-subject.open .edu-ls-subject-body{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:9px!important;
  padding:0 12px 12px!important;
}
.edu-ls-methodology,
.edu-ls-level{
  flex:0 0 auto!important;
  width:100%!important;
  min-width:0!important;
  min-height:52px!important;
  height:auto!important;
  max-height:none!important;
}
.edu-ls-methodology{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
}
.edu-ls-level{display:block!important;overflow:hidden!important}
.edu-ls-level-head{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:52px!important;
  height:auto!important;
  max-height:none!important;
  padding:10px 11px!important;
  overflow:visible!important;
}
.edu-ls-level-title{flex:1 1 auto!important;min-width:0!important;overflow:hidden!important}
.edu-ls-level-title strong,.edu-ls-level-title small{display:block!important;line-height:1.35!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.edu-ls-level-body{width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;overflow:visible!important}
.edu-ls-level.open .edu-ls-level-body{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  padding:0 10px 10px!important;
}
.edu-ls-item{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.edu-ls-item-main{min-width:0!important;overflow:hidden!important}
.edu-ls-item-main strong,.edu-ls-item-main span{line-height:1.35!important}
.edu-ls-item-actions{min-width:0!important}
.edu-ls-manager{
  max-width:calc(100% - 12px)!important;
  min-height:0!important;
  box-sizing:border-box!important;
}

@media (min-width:1600px){
  .edu-ls-box{width:min(1580px,calc(100vw - 24px))!important;max-width:1580px!important}
  .edu-ls-content{padding:16px!important;gap:11px!important}
}
@media (max-width:900px){
  .edu-ls-modal.show{padding:5px!important}
  .edu-ls-box{width:calc(100vw - 10px)!important;height:calc(100dvh - 10px)!important;max-height:calc(100dvh - 10px)!important}
  .edu-ls-head{padding:11px 12px!important}
  .edu-ls-toolbar{padding:9px 11px!important;gap:7px!important}
  .edu-ls-content{padding:10px!important;gap:8px!important}
  .edu-ls-subject{min-height:60px!important}
  .edu-ls-subject-head{min-height:58px!important;padding:9px 10px!important}
  .edu-ls-subject-mark{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;flex-basis:36px!important}
}
@media (max-width:600px){
  .edu-ls-modal.show{padding:0!important}
  .edu-ls-box{width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;border-radius:0!important}
  .edu-ls-head{gap:8px!important;padding:9px!important}
  .edu-ls-head-main{gap:8px!important}
  .edu-ls-head h2{font-size:.88rem!important}
  .edu-ls-head-actions{gap:4px!important}
  .edu-ls-icon-btn{width:34px!important;height:34px!important;min-width:34px!important}
  .edu-ls-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;padding:8px!important}
  .edu-ls-summary{width:100%!important;white-space:normal!important;line-height:1.35!important}
  .edu-ls-content{padding:8px!important;gap:7px!important;scrollbar-gutter:auto!important}
  .edu-ls-subject{min-height:58px!important;border-radius:13px!important}
  .edu-ls-subject-head{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;min-height:56px!important;gap:8px!important;padding:8px 9px!important}
  .edu-ls-subject-head>.edu-ls-action{grid-column:3!important;grid-row:1!important}
  .edu-ls-subject-count{display:none!important}
  .edu-ls-subject-head>.edu-ls-chevron{grid-column:3!important;grid-row:1!important;margin-inline-start:34px!important}
  .edu-ls-subject-title strong{font-size:.72rem!important}
  .edu-ls-subject-title small{font-size:.54rem!important}
  .edu-ls-subject.open .edu-ls-subject-body{padding:0 8px 8px!important;gap:7px!important}
  .edu-ls-methodology,.edu-ls-item{grid-template-columns:auto minmax(0,1fr)!important;gap:8px!important}
  .edu-ls-methodology .edu-ls-item-actions,.edu-ls-item .edu-ls-item-actions{grid-column:1/-1!important;justify-content:flex-end!important;width:100%!important}
  .edu-ls-level-head{min-height:50px!important;padding:8px 9px!important}
  .edu-ls-level.open .edu-ls-level-body{padding:0 7px 7px!important}
  .edu-ls-item{min-height:48px!important;padding:8px!important}
  .edu-ls-manager{inset:0!important;width:100%!important;max-width:100%!important;border-inline-start:0!important;border-radius:0!important;padding:10px!important}
}
@media (max-width:390px){
  .edu-ls-head p{display:none!important}
  .edu-ls-head-icon{width:34px!important;height:34px!important;min-width:34px!important}
  .edu-ls-head-actions .edu-ls-icon-btn{width:32px!important;height:32px!important;min-width:32px!important}
  .edu-ls-subject-mark{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;flex-basis:34px!important}
  .edu-ls-action{min-width:32px!important;padding:0 7px!important}
}
@media (max-height:620px) and (min-width:601px){
  .edu-ls-box{height:calc(100dvh - 8px)!important;max-height:calc(100dvh - 8px)!important}
  .edu-ls-head{padding:8px 11px!important}
  .edu-ls-head-icon{width:34px!important;height:34px!important}
  .edu-ls-head p{display:none!important}
  .edu-ls-toolbar{padding:7px 10px!important}
  .edu-ls-search{min-height:36px!important}
  .edu-ls-content{padding:8px 10px!important;gap:7px!important}
  .edu-ls-subject{min-height:54px!important}
  .edu-ls-subject-head{min-height:52px!important;padding:7px 10px!important}
  .edu-ls-subject-mark{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;flex-basis:34px!important}
}

/* v2.5.54 — local PDF.js reader. Never delegates PDF rendering to the browser. */
.edu-lsv-pdf-local{display:flex!important;flex-direction:column!important;width:min(1120px,100%)!important;height:100%!important;min-height:0!important;background:#dce3ec!important;border-radius:10px!important;overflow:hidden!important}
.edu-lsv-pdf-tools{display:flex!important;align-items:center!important;gap:6px!important;flex:0 0 auto!important;min-height:44px!important;padding:6px 9px!important;background:#f8fafc!important;border-bottom:1px solid #cbd5e1!important;color:#334155!important;position:sticky!important;top:0!important;z-index:4!important}
.edu-lsv-pdf-tools button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;border:1px solid #cbd5e1!important;border-radius:8px!important;background:#fff!important;color:#334155!important;cursor:pointer!important}
.edu-lsv-pdf-tools button:disabled{opacity:.35!important;cursor:not-allowed!important}.edu-lsv-pdf-tools button:not(:disabled):hover{color:#0f766e!important;border-color:#5eead4!important}
.edu-lsv-pdf-tools span{font:700 12px/1.2 Space Grotesk,sans-serif!important;white-space:nowrap!important}.edu-lsv-pdf-spacer{flex:1 1 auto!important}
.edu-lsv-pdf-scroll{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;padding:12px!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
#edu-lsv-pdf-canvas{display:block!important;max-width:none!important;background:#fff!important;box-shadow:0 5px 22px rgba(15,23,42,.22)!important;border-radius:2px!important}
@media(max-width:600px){
 .edu-lsv-pdf-local{width:100%!important;height:100%!important;border-radius:0!important}
 .edu-lsv-pdf-tools{min-height:42px!important;padding:5px 7px!important;gap:4px!important}
 .edu-lsv-pdf-tools button{width:31px!important;height:31px!important}
 .edu-lsv-pdf-scroll{padding:7px!important;justify-content:flex-start!important}
 .edu-lsv-stage:has(.edu-lsv-pdf-local){padding:0!important;overflow:hidden!important}
}

/* ══════════════════════════════════════════════════════════════
   v2.5.54 — stable controls, responsive interactive HTML lessons,
   mobile-safe internal viewer, and non-overlapping library cards.
   ══════════════════════════════════════════════════════════════ */
.edu-ls-subject-controls,.edu-ls-level-controls{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
  gap:6px!important;flex:0 0 auto!important;min-width:0!important;
}
.edu-ls-level-controls .edu-ls-admin-inline{margin:0!important;display:flex!important;align-items:center!important;gap:5px!important;flex:0 0 auto!important}
.edu-ls-toggle-chip{
  width:32px!important;height:32px!important;min-width:32px!important;flex:0 0 32px!important;
  border:1px solid var(--border)!important;border-radius:9px!important;background:rgba(255,255,255,.035)!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;color:var(--text-muted)!important;
  box-sizing:border-box!important;pointer-events:none!important;
}
.edu-ls-subject .edu-ls-subject-head .edu-ls-chevron,.edu-ls-level .edu-ls-level-head .edu-ls-chevron{transform:none!important;margin:0!important;transition:transform .2s ease!important}
.edu-ls-subject.open>.edu-ls-subject-head .edu-ls-chevron{transform:rotate(180deg)!important}
.edu-ls-level.open>.edu-ls-level-head .edu-ls-chevron{transform:rotate(180deg)!important}
.edu-ls-subject-upload{width:32px!important;min-width:32px!important;padding:0!important;flex:0 0 32px!important}
.edu-ls-subject-count{flex:0 0 auto!important}

.edu-lsv-stage.is-html,.edu-lsv-stage.is-pdf{padding:0!important;overflow:hidden!important;align-items:stretch!important;justify-content:stretch!important}
.edu-lsv-html-shell{position:relative!important;display:flex!important;flex:1 1 auto!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;background:#fff!important;overflow:hidden!important;z-index:2!important}
.edu-lsv-html-frame{display:block!important;flex:1 1 auto!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;border:0!important;border-radius:0!important;background:#fff!important}
.edu-lsv-html-loading{position:absolute!important;inset:0!important;z-index:2!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#64748b!important;background:#fff!important;font-size:1.15rem!important;pointer-events:none!important}
.edu-lsv-stage.is-media{align-items:center!important;justify-content:center!important}
.edu-lsv-stage.is-media video,.edu-lsv-stage.is-media audio{max-width:100%!important;max-height:100%!important}

.edu-lsv-box,.edu-ls-box{box-sizing:border-box!important}
.edu-lsv-head{min-width:0!important;flex:0 0 auto!important}
.edu-lsv-title-wrap{flex:1 1 auto!important;min-width:0!important;overflow:hidden!important}
.edu-lsv-actions{flex:0 0 auto!important;min-width:0!important;white-space:nowrap!important}
.edu-lsv-stage{min-width:0!important;width:100%!important;box-sizing:border-box!important}
.edu-lsv-foot{flex:0 0 auto!important;min-height:34px!important;box-sizing:border-box!important}

/* PDF.js 3.x legacy build: classic scripts avoid .mjs MIME/module failures on mobile hosts. */
.edu-lsv-stage.is-pdf .edu-lsv-pdf-local{width:100%!important;max-width:100%!important;border-radius:0!important}
.edu-lsv-pdf-tools{box-sizing:border-box!important;max-width:100%!important;overflow:hidden!important}
.edu-lsv-pdf-scroll{box-sizing:border-box!important;max-width:100%!important}

@media(max-width:600px){
  .edu-ls-subject-head{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important}
  .edu-ls-subject-controls{grid-column:3!important;grid-row:1!important;gap:5px!important}
  .edu-ls-subject-count{display:none!important}
  .edu-ls-level-head{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:7px!important}
  .edu-ls-level-controls{grid-column:3!important;grid-row:1!important;gap:4px!important}
  .edu-ls-level-controls .edu-ls-admin-inline{gap:4px!important}
  .edu-ls-toggle-chip,.edu-ls-subject-upload,.edu-ls-level-controls .edu-ls-action{width:31px!important;height:31px!important;min-width:31px!important;flex-basis:31px!important;padding:0!important}
  .edu-lsv-modal.show{padding:0!important;align-items:stretch!important;justify-content:stretch!important}
  .edu-lsv-box{width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;border-radius:0!important}
  @supports(height:100svh){.edu-lsv-box{height:100svh!important;max-height:100svh!important}}
  .edu-lsv-head{padding:8px 9px!important;gap:7px!important;min-height:58px!important}
  .edu-lsv-title-wrap{gap:7px!important}
  .edu-lsv-type{width:34px!important;height:34px!important;min-width:34px!important;flex:0 0 34px!important}
  .edu-lsv-actions{gap:4px!important}
  .edu-lsv-actions button{width:34px!important;height:34px!important;min-width:34px!important;padding:0!important}
  .edu-lsv-title-wrap strong{font-size:.74rem!important}
  .edu-lsv-title-wrap span{font-size:.52rem!important}
  .edu-lsv-stage{padding:8px!important}
  .edu-lsv-stage.is-html,.edu-lsv-stage.is-pdf{padding:0!important}
  .edu-lsv-foot{padding:6px 8px!important;font-size:.52rem!important;line-height:1.35!important;text-align:center!important}
  .edu-lsv-pdf-tools{min-height:42px!important;padding:5px 6px!important;gap:4px!important;flex-wrap:nowrap!important}
  .edu-lsv-pdf-tools button{width:30px!important;height:30px!important;min-width:30px!important;padding:0!important}
  .edu-lsv-pdf-tools span{font-size:11px!important}
  .edu-lsv-pdf-scroll{padding:6px!important;justify-content:flex-start!important}
}
@media(max-width:360px){
  .edu-ls-head{padding:7px!important}.edu-ls-head-main{gap:6px!important}.edu-ls-head-icon{width:31px!important;height:31px!important;min-width:31px!important}.edu-ls-head h2{font-size:.8rem!important}
  .edu-ls-head-actions{gap:3px!important}.edu-ls-head-actions .edu-ls-icon-btn{width:30px!important;height:30px!important;min-width:30px!important}
  .edu-ls-subject-head{padding:7px!important;gap:6px!important}.edu-ls-subject-controls{gap:3px!important}.edu-ls-toggle-chip,.edu-ls-subject-upload{width:29px!important;height:29px!important;min-width:29px!important;flex-basis:29px!important}
  .edu-lsv-head{padding:6px!important;min-height:50px!important}.edu-lsv-type{width:30px!important;height:30px!important;min-width:30px!important;flex-basis:30px!important}.edu-lsv-actions button{width:30px!important;height:30px!important;min-width:30px!important}.edu-lsv-title-wrap span{display:none!important}
  .edu-lsv-pdf-tools{padding:4px!important;gap:2px!important}.edu-lsv-pdf-tools button{width:28px!important;height:28px!important;min-width:28px!important}.edu-lsv-pdf-tools #edu-lsv-pdf-zoom{display:none!important}.edu-lsv-pdf-spacer{min-width:2px!important}
  .edu-lsv-foot{font-size:.48rem!important;min-height:28px!important;padding:4px 6px!important}
}
@media(max-width:280px){
  .edu-ls-head-icon{display:none!important}.edu-ls-head h2{font-size:.72rem!important}.edu-ls-icon-btn{width:27px!important;height:27px!important;min-width:27px!important}.edu-ls-toolbar{padding:5px!important}.edu-ls-content{padding:5px!important}
  .edu-ls-subject-mark{width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;flex-basis:30px!important}.edu-ls-subject-title strong{font-size:.64rem!important}.edu-ls-subject-title small{font-size:.48rem!important}
  .edu-lsv-title-wrap strong{font-size:.62rem!important}.edu-lsv-type{display:none!important}.edu-lsv-actions button{width:27px!important;height:27px!important;min-width:27px!important}.edu-lsv-pdf-tools span#edu-lsv-pdf-count{font-size:9px!important}.edu-lsv-pdf-tools button{width:25px!important;height:25px!important;min-width:25px!important}.edu-lsv-foot span{display:none!important}
}

/* Ultra-narrow displays (small embedded browsers / smart watches). */
@media(max-width:240px){
  .edu-ls-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:4px!important;padding:5px!important}
  .edu-ls-head-main{min-width:0!important;gap:4px!important}.edu-ls-head-icon,.edu-ls-head p{display:none!important}
  .edu-ls-head h2{font-size:.64rem!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .edu-ls-head-actions{gap:2px!important}.edu-ls-head-actions .edu-ls-icon-btn{width:24px!important;height:24px!important;min-width:24px!important;border-radius:7px!important;font-size:.58rem!important}
  .edu-ls-toolbar{padding:4px!important}.edu-ls-search{min-height:31px!important;padding:0 7px!important}.edu-ls-search input{font-size:.58rem!important}.edu-ls-summary{font-size:.48rem!important}
  .edu-ls-content{padding:4px!important;gap:5px!important}.edu-ls-subject-head{grid-template-columns:26px minmax(0,1fr) auto!important;padding:5px!important;gap:4px!important;min-height:44px!important}
  .edu-ls-subject-mark{width:26px!important;min-width:26px!important;height:26px!important;min-height:26px!important;flex-basis:26px!important;border-radius:8px!important;font-size:.62rem!important}
  .edu-ls-subject-title strong{font-size:.56rem!important}.edu-ls-subject-title small{font-size:.43rem!important}.edu-ls-subject-controls{gap:2px!important}
  .edu-ls-toggle-chip,.edu-ls-subject-upload{width:24px!important;height:24px!important;min-width:24px!important;flex-basis:24px!important;border-radius:7px!important;font-size:.52rem!important}
  .edu-lsv-head{min-height:42px!important;padding:4px!important;gap:3px!important}.edu-lsv-title-wrap strong{font-size:.55rem!important}.edu-lsv-actions{gap:2px!important}.edu-lsv-actions button{width:24px!important;height:24px!important;min-width:24px!important;border-radius:6px!important}
  .edu-lsv-pdf-tools{min-height:34px!important;padding:3px!important;gap:1px!important}.edu-lsv-pdf-tools button{width:22px!important;height:22px!important;min-width:22px!important;border-radius:5px!important}.edu-lsv-pdf-tools span{font-size:8px!important}.edu-lsv-pdf-scroll{padding:3px!important}
  .edu-lsv-foot{min-height:22px!important;padding:2px 4px!important;font-size:.42rem!important}
}

/* v2.5.66 — fidelity-safe local document rendering */
#edu-lsv-pdf-canvas{
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  flex:0 0 auto!important;
  transform:none!important;
  transform-origin:center top!important;
  zoom:1!important;
  image-rendering:auto!important;
  object-fit:contain!important;
}
.edu-lsv-pdf-scroll{
  contain:layout paint!important;
}
.edu-lsv-stage.is-pdf{
  contain:layout paint!important;
}
.edu-lsv-stage.is-pdf canvas,
.edu-lsv-stage.is-pdf .edu-lsv-pdf-local{
  letter-spacing:normal!important;
  word-spacing:normal!important;
  font-stretch:normal!important;
}
.edu-lsv-stage.is-media video,
.edu-lsv-stage.is-media img,
.edu-lsv-slide-el img{
  object-fit:contain!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:auto!important;
}

/* ══════════════════════════════════════════════════════════════
   v2.5.66 — one consolidated HTML file per level.
   Each level is a direct-open card. Administrative actions live in
   a compact three-dot menu instead of crowding the level title.
   ══════════════════════════════════════════════════════════════ */
.edu-ls-level-list{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
}
.edu-ls-item.is-methodology{
  border-color:rgba(240,180,41,.28)!important;
  background:linear-gradient(135deg,rgba(240,180,41,.065),rgba(34,211,178,.025))!important;
}
.edu-ls-item.is-methodology .edu-ls-item-icon{
  color:var(--gold)!important;
  background:rgba(240,180,41,.11)!important;
}
.edu-ls-level-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:stretch!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  border:1px solid var(--border)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.025)!important;
  padding:6px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  transition:border-color .18s ease,background .18s ease,transform .18s ease!important;
}
.edu-ls-level-card:hover{
  border-color:rgba(34,211,178,.28)!important;
  background:rgba(34,211,178,.035)!important;
}
.edu-ls-level-card.has-content:hover{transform:translateY(-1px)!important}
.edu-ls-level-main{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  min-height:58px!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:inherit!important;
  padding:7px 9px!important;
  text-align:start!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
}
.edu-ls-level-card.no-content .edu-ls-level-main{cursor:default!important}
.edu-ls-level-index{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:42px!important;
  height:38px!important;
  padding:0 9px!important;
  border-radius:11px!important;
  background:linear-gradient(135deg,rgba(167,139,250,.14),rgba(34,211,178,.08))!important;
  color:#a78bfa!important;
  font-size:.67rem!important;
  font-weight:950!important;
  line-height:1!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
}
.edu-ls-level-copy{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
}
.edu-ls-level-copy>strong{
  display:block!important;
  min-width:0!important;
  color:var(--text-primary)!important;
  font-size:.73rem!important;
  font-weight:950!important;
  line-height:1.35!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.edu-ls-level-copy>small{
  display:block!important;
  min-width:0!important;
  margin-top:3px!important;
  color:var(--text-muted)!important;
  font-size:.55rem!important;
  line-height:1.4!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.edu-ls-level-badges{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:5px!important;
  margin-top:5px!important;
}
.edu-ls-level-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  max-width:100%!important;
  border:1px solid var(--border)!important;
  border-radius:999px!important;
  padding:3px 7px!important;
  color:var(--text-muted)!important;
  background:rgba(255,255,255,.03)!important;
  font-size:.49rem!important;
  font-weight:850!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.edu-ls-level-badge.exam{color:var(--gold)!important;border-color:rgba(240,180,41,.25)!important;background:rgba(240,180,41,.06)!important}
.edu-ls-level-badge.viewed{color:#93c5fd!important;border-color:rgba(96,165,250,.28)!important;background:rgba(59,130,246,.08)!important}
.edu-ls-level-badge.done{color:#86efac!important;border-color:rgba(34,197,94,.30)!important;background:rgba(34,197,94,.09)!important}
.edu-ls-level-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  font-size:.66rem!important;
  flex:0 0 28px!important;
}
.edu-ls-level-status.ready{color:#34d399!important;background:rgba(16,185,129,.11)!important}
.edu-ls-level-status.missing{color:var(--text-muted)!important;background:rgba(148,163,184,.08)!important}
.edu-ls-level-open-icon{
  color:var(--text-muted)!important;
  font-size:.62rem!important;
  opacity:.75!important;
  flex:0 0 auto!important;
}
.edu-ls-level-card.no-content .edu-ls-level-open-icon{opacity:.22!important}
.edu-ls-level-more{
  align-self:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  border:1px solid var(--border)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.035)!important;
  color:var(--text-secondary)!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
}
.edu-ls-level-more:hover,.edu-ls-level-more:focus-visible{
  color:var(--primary)!important;
  border-color:rgba(34,211,178,.35)!important;
  background:rgba(34,211,178,.08)!important;
  outline:0!important;
}
.edu-ls-level-menu{
  position:fixed!important;
  z-index:2147483000!important;
  display:none!important;
  width:min(290px,calc(100vw - 20px))!important;
  max-height:min(70dvh,520px)!important;
  overflow:auto!important;
  padding:8px!important;
  border:1px solid var(--border-strong,#334155)!important;
  border-radius:14px!important;
  background:var(--surface,#071126)!important;
  box-shadow:0 18px 55px rgba(0,0,0,.42)!important;
  box-sizing:border-box!important;
  direction:inherit!important;
}
.edu-ls-level-menu.show{display:grid!important;gap:5px!important}
.edu-ls-level-menu-title{
  padding:7px 9px 9px!important;
  border-bottom:1px solid var(--border)!important;
  color:var(--text-primary)!important;
  font-size:.67rem!important;
  font-weight:950!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.edu-ls-level-menu button{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-height:39px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:var(--text-secondary)!important;
  padding:8px 9px!important;
  text-align:start!important;
  font-family:inherit!important;
  font-size:.62rem!important;
  font-weight:850!important;
  cursor:pointer!important;
}
.edu-ls-level-menu button i{text-align:center!important;color:var(--primary)!important}
.edu-ls-level-menu button:hover,.edu-ls-level-menu button:focus-visible{background:rgba(34,211,178,.08)!important;color:var(--text-primary)!important;outline:0!important}
.edu-ls-level-menu button.danger{color:#fca5a5!important}
.edu-ls-level-menu button.danger i{color:#f87171!important}
.edu-ls-level-menu button.danger:hover{background:rgba(248,113,113,.09)!important}
.edu-ls-level-menu button[disabled]{opacity:.4!important;cursor:not-allowed!important}
#app[data-theme="light"] .edu-ls-level-card{background:#fff!important}
#app[data-theme="light"] .edu-ls-level-card:hover{background:#f5fffc!important}
#app[data-theme="light"] .edu-ls-level-menu,.edu-ls-level-menu[data-theme="light"]{background:#fff!important;border-color:#dbe4ee!important;box-shadow:0 18px 50px rgba(15,23,42,.18)!important}
#app[data-theme="light"] .edu-ls-level-menu button{color:#334155!important}
#app[data-theme="light"] .edu-ls-level-menu-title{color:#0f172a!important}

@media(max-width:600px){
  .edu-ls-level-card{grid-template-columns:minmax(0,1fr) auto!important;gap:5px!important;padding:5px!important;border-radius:12px!important}
  .edu-ls-level-main{grid-template-columns:auto minmax(0,1fr) auto!important;gap:8px!important;min-height:55px!important;padding:6px!important}
  .edu-ls-level-open-icon{display:none!important}
  .edu-ls-level-index{min-width:38px!important;height:36px!important;padding:0 7px!important;border-radius:10px!important}
  .edu-ls-level-copy>strong{font-size:.69rem!important}
  .edu-ls-level-copy>small{font-size:.52rem!important}
  .edu-ls-level-more{width:36px!important;min-width:36px!important;height:36px!important;border-radius:10px!important}
  .edu-ls-level-status{width:25px!important;height:25px!important;flex-basis:25px!important}
  .edu-ls-level-menu.mobile{
    left:10px!important;right:10px!important;bottom:10px!important;top:auto!important;
    width:auto!important;max-width:none!important;max-height:min(70dvh,520px)!important;
    border-radius:17px!important;padding:9px!important;
  }
  .edu-ls-level-menu.mobile button{min-height:44px!important;font-size:.66rem!important}
}
@media(max-width:360px){
  .edu-ls-level-main{grid-template-columns:auto minmax(0,1fr)!important}
  .edu-ls-level-status{display:none!important}
  .edu-ls-level-badges{display:none!important}
}

/* v2.5.66 — subject-first file rows: no upload control on collapsed subjects,
   methodology above levels, one HTML file per level, and one exam row after each level. */
.edu-ls-subject-controls{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex:0 0 auto!important;
}
.edu-ls-subject-head>.edu-ls-subject-upload,
.edu-ls-subject-controls>.edu-ls-subject-upload{
  display:none!important;
}
.edu-ls-subject-body{
  min-width:0!important;
}
.edu-ls-subject.open .edu-ls-subject-body{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
  padding:0 12px 12px!important;
}
.edu-ls-level-list{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:8px!important;
  min-width:0!important;
}
.edu-ls-item{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  padding:9px 10px!important;
  border-radius:13px!important;
  box-sizing:border-box!important;
}
.edu-ls-item.is-methodology{
  border:1px solid rgba(240,180,41,.30)!important;
  background:linear-gradient(135deg,rgba(240,180,41,.08),rgba(240,180,41,.025))!important;
}
.edu-ls-item.is-level-content{
  border:1px solid var(--border)!important;
  background:rgba(255,255,255,.025)!important;
}
.edu-ls-item.is-exam{
  position:relative!important;
  margin:0 18px 4px!important;
  border:1px dashed rgba(240,180,41,.38)!important;
  background:rgba(240,180,41,.045)!important;
}
.edu-ls-item.is-exam::before,
.edu-ls-item.is-exam::after{
  content:""!important;
  position:absolute!important;
  inset-inline-start:18px!important;
  width:1px!important;
  height:8px!important;
  background:rgba(240,180,41,.28)!important;
}
.edu-ls-item.is-exam::before{top:-9px!important}
.edu-ls-item.is-exam::after{bottom:-9px!important}
.edu-ls-item-open{
  min-width:0!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  padding:0!important;
  margin:0!important;
  text-align:start!important;
  font-family:inherit!important;
  cursor:pointer!important;
}
.edu-ls-item-open[disabled]{
  cursor:default!important;
  opacity:1!important;
}
.edu-ls-item-open:not([disabled]):hover .edu-ls-item-main strong,
.edu-ls-item-open:not([disabled]):focus-visible .edu-ls-item-main strong{
  color:var(--primary)!important;
}
.edu-ls-item-open:focus-visible{
  outline:2px solid rgba(34,211,178,.28)!important;
  outline-offset:4px!important;
  border-radius:9px!important;
}
.edu-ls-item-main{
  display:block!important;
  min-width:0!important;
}
.edu-ls-item-main strong,
.edu-ls-item-main span{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.edu-ls-item-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  min-width:0!important;
  flex-wrap:wrap!important;
}
.edu-ls-item-actions .edu-ls-action{
  min-height:33px!important;
  height:33px!important;
  min-width:33px!important;
  padding:0 9px!important;
  border-radius:9px!important;
  white-space:nowrap!important;
}
.edu-ls-item-actions .edu-ls-action span{
  display:inline!important;
}
.edu-ls-item-actions .edu-ls-action[disabled]{
  opacity:.36!important;
}
.edu-ls-item.is-level-content .edu-ls-level-index{
  min-width:46px!important;
  height:38px!important;
  padding:0 9px!important;
  border-radius:10px!important;
  font-size:.68rem!important;
  flex:0 0 auto!important;
}
.edu-ls-item.is-exam .edu-ls-item-icon{
  color:var(--gold)!important;
  background:rgba(240,180,41,.10)!important;
}
#app[data-theme="light"] .edu-ls-item.is-level-content{
  background:#fff!important;
}
#app[data-theme="light"] .edu-ls-item.is-methodology{
  background:linear-gradient(135deg,#fffaf0,#fff)!important;
}
#app[data-theme="light"] .edu-ls-item.is-exam{
  background:#fffdf7!important;
}
@media(max-width:760px){
  .edu-ls-subject.open .edu-ls-subject-body{
    padding:0 8px 8px!important;
    gap:8px!important;
  }
  .edu-ls-item{
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    padding:9px!important;
  }
  .edu-ls-item-actions{
    width:100%!important;
    justify-content:flex-end!important;
  }
  .edu-ls-item-actions .edu-ls-action{
    flex:0 0 auto!important;
  }
  .edu-ls-item.is-exam{
    margin:0 8px 3px!important;
  }
}
@media(max-width:480px){
  .edu-ls-subject-count{display:none!important}
  .edu-ls-item-open{gap:8px!important}
  .edu-ls-item-main strong{font-size:.67rem!important}
  .edu-ls-item-main span{font-size:.52rem!important}
  .edu-ls-item-actions{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(78px,1fr))!important;
    gap:5px!important;
  }
  .edu-ls-item-actions .edu-ls-action{
    width:100%!important;
    min-width:0!important;
    padding:0 5px!important;
    font-size:.51rem!important;
  }
  .edu-ls-item-actions .edu-ls-action span{
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .edu-ls-item.is-exam{
    margin-inline:4px!important;
  }
}
@media(max-width:320px){
  .edu-ls-item-actions .edu-ls-action span{display:none!important}
  .edu-ls-item-actions .edu-ls-action{height:32px!important;min-height:32px!important}
  .edu-ls-item.is-level-content .edu-ls-level-index{min-width:38px!important;height:34px!important;padding:0 6px!important}
}

/* v2.5.66 — direct native file picker upload state. */
.edu-ls-action.is-uploading{opacity:.7;pointer-events:none;position:relative}
.edu-ls-action.is-uploading i{animation:eduLsSpin .8s linear infinite}
@keyframes eduLsSpin{to{transform:rotate(360deg)}}


/* v2.5.66 — protected viewer header alignment and uncluttered controls. */
.edu-lsv-head{
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:58px!important;
  padding:9px 12px!important;
  align-items:center!important;
}
.edu-lsv-modal[dir="rtl"] .edu-lsv-head{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  column-gap:10px!important;
}
.edu-lsv-modal[dir="rtl"] .edu-lsv-actions{grid-column:1!important;grid-row:1!important;justify-self:start!important;direction:ltr!important}
.edu-lsv-modal[dir="rtl"] .edu-lsv-title-wrap{grid-column:2!important;grid-row:1!important;justify-self:stretch!important;direction:rtl!important;text-align:right!important}
.edu-lsv-modal[dir="ltr"] .edu-lsv-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  column-gap:10px!important;
}
.edu-lsv-modal[dir="ltr"] .edu-lsv-title-wrap{grid-column:1!important;grid-row:1!important;justify-self:stretch!important;direction:ltr!important;text-align:left!important}
.edu-lsv-modal[dir="ltr"] .edu-lsv-actions{grid-column:2!important;grid-row:1!important;justify-self:end!important;direction:ltr!important}
.edu-lsv-actions{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  min-width:0!important;
  min-height:36px!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
}
.edu-lsv-actions button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 34px!important;
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  line-height:1!important;
  vertical-align:middle!important;
}
.edu-lsv-actions button i{display:block!important;line-height:1!important;margin:0!important;transform:none!important}
.edu-lsv-title-wrap{max-width:100%!important;min-width:0!important;overflow:hidden!important}
.edu-lsv-title-wrap>div:last-child{min-width:0!important;overflow:hidden!important}
.edu-lsv-title-wrap strong,.edu-lsv-title-wrap span{max-width:100%!important}
@media(max-width:600px){
  .edu-lsv-head{min-height:54px!important;padding:7px 8px!important}
  .edu-lsv-actions{gap:5px!important;min-height:34px!important}
  .edu-lsv-actions button{flex-basis:32px!important;width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important}
}
@media(max-width:300px){
  .edu-lsv-head{column-gap:5px!important;padding:5px!important}
  .edu-lsv-actions{gap:3px!important}
  .edu-lsv-actions button{flex-basis:28px!important;width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important}
}

/* ══════════════════════════════════════════════════════════════
   v2.7.0 — fast, responsive universal learning viewer.
   ══════════════════════════════════════════════════════════════ */
.edu-lsv-modal.show{display:flex!important;align-items:center!important;justify-content:center!important;padding:10px!important;overflow:hidden!important}
.edu-lsv-box{height:calc(100vh - 20px)!important;max-height:calc(100vh - 20px)!important}
.edu-lsv-box{width:min(1680px,calc(100vw - 20px))!important;height:calc(100dvh - 20px)!important;max-width:1680px!important;max-height:calc(100dvh - 20px)!important;min-width:0!important;min-height:0!important;border-radius:18px!important;transition:width .16s ease,height .16s ease,border-radius .16s ease!important}
.edu-lsv-modal.is-expanded{padding:0!important}
.edu-lsv-modal.is-expanded .edu-lsv-box{height:100vh!important;max-height:100vh!important}
.edu-lsv-modal.is-expanded .edu-lsv-box{width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;border:0!important;border-radius:0!important}
@supports(height:100svh){.edu-lsv-modal.is-expanded .edu-lsv-box{height:100svh!important;max-height:100svh!important}}
.edu-lsv-stage.is-image,.edu-lsv-stage.is-code,.edu-lsv-stage.is-program,.edu-lsv-stage.is-html,.edu-lsv-stage.is-media,.edu-lsv-stage.is-pdf,.edu-lsv-stage.is-office{padding:0!important;overflow:hidden!important;display:block!important;contain:layout paint!important}
.edu-lsv-format-tools{min-height:46px;display:flex;align-items:center;gap:7px;padding:6px 9px;border-bottom:1px solid #d9e2ec;background:#f7fafc;color:#334155;flex:0 0 auto;box-sizing:border-box}
.edu-lsv-format-tools button,.edu-lsv-sheet-tools button{width:34px;height:34px;min-width:34px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#334155;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.edu-lsv-format-tools button:hover,.edu-lsv-format-tools button.active,.edu-lsv-sheet-tools button:hover{border-color:#2dd4bf;color:#0f766e;background:#f0fdfa}
.edu-lsv-format-tools>span{font:750 11px/1.2 Space Grotesk,sans-serif;white-space:nowrap}.edu-lsv-tool-note{margin-inline-start:auto!important;color:#64748b!important;display:inline-flex;align-items:center;gap:6px}

/* Image: real scroll dimensions make vertical and horizontal dragging reliable. */
.edu-lsv-image-reader{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;background:#07101d}
.edu-lsv-image-scroll{position:relative;flex:1;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:none;-webkit-overflow-scrolling:touch;cursor:default;scrollbar-gutter:stable;background:radial-gradient(circle at center,rgba(51,65,85,.46),rgba(2,6,23,.92));outline:0}
.edu-lsv-image-scroll.can-pan{cursor:grab}.edu-lsv-image-scroll.dragging{cursor:grabbing!important}
.edu-lsv-image-canvas{position:relative;display:flex;align-items:center;justify-content:center;min-width:100%;min-height:100%;padding:16px;box-sizing:border-box}
.edu-lsv-stage .edu-lsv-image-reader img.edu-lsv-image{display:block!important;flex:0 0 auto!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;width:auto;height:auto;margin:auto!important;object-fit:fill!important;border-radius:7px;box-shadow:0 18px 55px rgba(0,0,0,.44);user-select:none;-webkit-user-drag:none;pointer-events:none}

/* Source and HTML preview workbench. */
.edu-lsv-code-workbench{position:relative;width:100%;height:100%;min-height:0;display:flex;flex-direction:column;background:#07101d;color:#dce7f5}
.edu-lsv-code-tools{background:#0d1929!important;border-color:rgba(148,163,184,.17)!important;color:#cbd5e1!important}
.edu-lsv-code-tools button{width:auto!important;min-width:40px!important;padding:0 11px!important;gap:7px!important;background:rgba(255,255,255,.04)!important;border-color:rgba(148,163,184,.20)!important;color:#9fb2c6!important;font:800 11px/1 Space Grotesk,sans-serif!important}
.edu-lsv-code-tools button.active{background:rgba(45,212,191,.12)!important;border-color:rgba(45,212,191,.40)!important;color:#5eead4!important}.edu-lsv-code-tools button span{display:inline}
.edu-lsv-code-language{margin-inline-start:auto!important;color:#7890a8!important}.edu-lsv-code-wrap{padding:0!important;width:34px!important;min-width:34px!important}
.edu-lsv-code-panel{display:none;flex:1;min-height:0}.edu-lsv-code-panel.active{display:block}
.edu-lsv-code-view{overflow:auto;background:#07101d;direction:ltr;text-align:left;tab-size:2;scrollbar-gutter:stable}
.edu-lsv-code-lines{counter-reset:line;margin:0;padding:14px 0 28px;min-width:max-content;list-style:none;font:500 13px/1.62 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;color:#d8e4f0}
.edu-lsv-code-lines li{counter-increment:line;display:grid;grid-template-columns:58px minmax(max-content,1fr);min-height:21px;padding-inline-end:20px}
.edu-lsv-code-lines li::before{content:counter(line);position:sticky;left:0;padding:0 14px 0 8px;text-align:right;color:#496177;background:#07101d;border-inline-end:1px solid rgba(148,163,184,.10);user-select:none}
.edu-lsv-code-lines code{display:block;padding-inline-start:15px;white-space:pre;color:inherit;background:transparent;font:inherit}
.edu-lsv-code-view.is-wrapped .edu-lsv-code-lines{min-width:100%}.edu-lsv-code-view.is-wrapped .edu-lsv-code-lines li{grid-template-columns:58px minmax(0,1fr)}.edu-lsv-code-view.is-wrapped .edu-lsv-code-lines code{white-space:pre-wrap;overflow-wrap:anywhere}
.edu-lsv-code-lines .tok-comment{color:#64809a;font-style:italic}.edu-lsv-code-lines .tok-tag,.edu-lsv-code-lines .tok-keyword{color:#5eead4}.edu-lsv-code-lines .tok-string{color:#f0c674}.edu-lsv-code-lines .tok-number{color:#c4a7e7}.edu-lsv-code-lines .is-truncated code{color:#fbbf24}
.edu-lsv-html-preview{background:#fff;overflow:hidden}.edu-lsv-html-preview.active{display:block!important}.edu-lsv-html-preview iframe{width:100%!important;height:100%!important;border:0!important;border-radius:0!important;background:#fff!important}
.edu-lsv-source-note{position:absolute;inset-inline:12px;bottom:10px;z-index:3;width:max-content;max-width:calc(100% - 24px);padding:5px 8px;border-radius:7px;background:rgba(15,23,42,.78);color:#7890a8;font-size:10px;pointer-events:none}

/* Source files in the educational library never expose their code. Only HTML
   receives the direct rendered lesson above; non-renderable formats show this
   neutral visual state. */
.edu-lsv-program-visual{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:28px;text-align:center;background:radial-gradient(circle at 50% 35%,rgba(45,212,191,.12),rgba(2,6,23,.96) 58%);color:#dce7f5;box-sizing:border-box}
.edu-lsv-program-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(45,212,191,.35);border-radius:20px;background:rgba(45,212,191,.10);color:#5eead4;font-size:1.45rem;box-shadow:0 18px 50px rgba(0,0,0,.24)}
.edu-lsv-program-visual strong{max-width:min(620px,90%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:900 15px/1.4 Space Grotesk,sans-serif}.edu-lsv-program-visual>span:not(.edu-lsv-program-icon){padding:4px 9px;border-radius:999px;background:rgba(148,163,184,.12);color:#94a3b8;font:800 10px/1 Space Grotesk,sans-serif;letter-spacing:.08em}.edu-lsv-program-visual p{max-width:560px;margin:2px 0 0;color:#8fa4b8;font:600 12px/1.7 Space Grotesk,sans-serif}

/* Media begins buffering immediately and remains centred at every viewport size. */
.edu-lsv-media-shell{position:relative;width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;background:#000;overflow:hidden}
.edu-lsv-media-shell video{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;margin:auto!important;border-radius:0!important;background:#000;object-fit:contain!important}
.edu-lsv-media-shell audio{width:min(760px,calc(100% - 28px))!important;margin:auto!important}
.edu-lsv-media-loading{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:9px;color:#9fb2c6;background:radial-gradient(circle,rgba(15,23,42,.74),#000);font-size:12px;pointer-events:none}.edu-lsv-media-shell.ready .edu-lsv-media-loading{display:none}

/* Internal Office readers. */
.edu-lsv-word-reader{width:100%;min-height:100%;padding:18px 12px 40px;background:#dfe6ee;overflow:auto;box-sizing:border-box}.edu-lsv-word-meta{width:min(900px,100%);margin:0 auto 8px;display:flex;align-items:center;gap:7px;color:#475569;font-size:11px;font-weight:800}.edu-lsv-word-meta i{color:#2563eb}
.edu-lsv-word-reader .edu-lsv-doc{width:min(900px,100%)!important;min-height:1100px!important;margin:0 auto!important;padding:clamp(28px,6vw,72px)!important;border-radius:3px!important;box-shadow:0 9px 30px rgba(15,23,42,.18)!important;font:400 15px/1.8 Space Grotesk,sans-serif!important;user-select:none!important}
.edu-lsv-sheet{display:flex!important;flex-direction:column!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;border-radius:0!important;overflow:hidden!important;background:#fff!important}
.edu-lsv-sheet-tools{display:flex;align-items:center;gap:6px;min-height:46px;padding:6px 9px;border-bottom:1px solid #dbe2ea;background:#f8fafc;color:#334155;flex:0 0 auto}.edu-lsv-sheet-search{display:flex;align-items:center;gap:7px;flex:1;max-width:420px;min-width:100px;height:34px;padding:0 10px;border:1px solid #cbd5e1;border-radius:9px;background:#fff}.edu-lsv-sheet-search i{color:#64748b}.edu-lsv-sheet-search input{width:100%;min-width:0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#0f172a!important;font-size:12px!important}.edu-lsv-sheet-tools>span{min-width:38px;text-align:center;color:#64748b;font:700 11px Space Grotesk,sans-serif}
.edu-lsv-sheet-tabs{flex:0 0 auto;margin:0!important;padding:6px 8px!important;border-bottom:1px solid #dbe2ea;background:#f1f5f9;overflow-x:auto;flex-wrap:nowrap!important}.edu-lsv-sheet-tabs button{white-space:nowrap}
#edu-lsv-sheet-table{flex:1;min-height:0;overflow:hidden}.edu-lsv-sheet-grid{width:100%;height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.edu-lsv-sheet-grid table{font-size:calc(12px * var(--sheet-zoom,1))!important;min-width:max-content!important;width:max-content!important}.edu-lsv-sheet-grid th,.edu-lsv-sheet-grid td{height:calc(31px * var(--sheet-zoom,1));min-width:calc(92px * var(--sheet-zoom,1));padding:calc(5px * var(--sheet-zoom,1)) calc(8px * var(--sheet-zoom,1))!important;background:#fff}.edu-lsv-sheet-grid thead th{position:sticky;top:0;z-index:3;background:#eef2f7;color:#475569}.edu-lsv-sheet-grid .edu-lsv-sheet-row{position:sticky;left:0;z-index:2;min-width:44px!important;background:#eef2f7;color:#64748b;text-align:center}.edu-lsv-sheet-grid .edu-lsv-sheet-corner{position:sticky;left:0;top:0;z-index:4;min-width:44px!important;background:#e2e8f0}
.edu-lsv-slide-wrap{width:min(1280px,100%)!important;max-height:100%!important;margin:auto!important}.edu-lsv-slide{border-radius:4px!important}

#app[data-theme="light"] .edu-lsv-code-workbench,#app[data-theme="light"] .edu-lsv-code-view,#app[data-theme="light"] .edu-lsv-code-lines li::before{background:#0b1422!important}
@media(max-width:700px){
  .edu-lsv-box{height:100vh!important;max-height:100vh!important}
  .edu-lsv-modal.show{padding:0!important}.edu-lsv-box{width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;border-radius:0!important}.edu-lsv-foot{display:none!important}.edu-lsv-watermark{inset-block-end:0!important}
  .edu-lsv-format-tools{min-height:42px;padding:4px 6px;gap:4px}.edu-lsv-format-tools button,.edu-lsv-sheet-tools button{width:31px;height:31px;min-width:31px}.edu-lsv-tool-note{display:none!important}
  .edu-lsv-code-tools button{min-width:34px!important;padding:0 8px!important}.edu-lsv-code-language{max-width:110px;overflow:hidden;text-overflow:ellipsis}.edu-lsv-code-lines{font-size:11px}.edu-lsv-code-lines li{grid-template-columns:43px minmax(max-content,1fr)}.edu-lsv-code-lines li::before{padding-inline:5px 9px}.edu-lsv-code-lines code{padding-inline-start:10px}
  .edu-lsv-word-reader{padding:8px 5px 24px}.edu-lsv-word-reader .edu-lsv-doc{min-height:calc(100dvh - 120px)!important;padding:25px 20px!important;font-size:13px!important}
  .edu-lsv-sheet-tools{min-height:42px;padding:4px 6px}.edu-lsv-sheet-search{height:31px}.edu-lsv-sheet-grid th,.edu-lsv-sheet-grid td{min-width:calc(76px * var(--sheet-zoom,1))}
}
@media(max-width:380px){.edu-lsv-code-tools button span{display:none}.edu-lsv-code-language{font-size:9px!important;max-width:82px}.edu-lsv-format-tools>span#edu-lsv-image-zoom{min-width:35px;text-align:center}.edu-lsv-sheet-tools>span{display:none}.edu-lsv-sheet-search{max-width:none}}

/* ══════════════════════════════════════════════════════════════
   v2.8.1 — one reader shell for the library and messaging.
   Messaging keeps download/source access; library protection is unchanged.
   ══════════════════════════════════════════════════════════════ */
.edu-lsv-actions>a{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 34px!important;width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;
  margin:0!important;padding:0!important;box-sizing:border-box!important;border:1px solid var(--border)!important;
  border-radius:9px!important;background:rgba(255,255,255,.04)!important;color:var(--text-secondary)!important;
  text-decoration:none!important;line-height:1!important;
}
.edu-lsv-actions>a:hover,.edu-lsv-actions>a:focus-visible{color:var(--primary)!important;border-color:rgba(45,212,191,.45)!important;background:rgba(45,212,191,.09)!important;outline:0!important}
.edu-lsv-actions>a.hidden{display:none!important}
.edu-lsv-actions>a i{display:block!important;line-height:1!important;margin:0!important}
.edu-lsv-modal.is-message-attachment .edu-lsv-watermark{display:none!important}
.edu-lsv-modal.is-message-attachment .edu-lsv-stage.is-code,
.edu-lsv-modal.is-message-attachment .edu-lsv-stage.is-code *,
.edu-lsv-modal.is-message-attachment .edu-lsv-word-reader,
.edu-lsv-modal.is-message-attachment .edu-lsv-word-reader *{user-select:text!important;-webkit-user-select:text!important}
.edu-lsv-modal.is-message-attachment .edu-lsv-foot i{color:#38bdf8!important}
.edu-lsv-code-lines,.edu-lsv-code-lines code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace!important}
.edu-lsv-code-empty{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:#f8fafc;color:#64748b;box-sizing:border-box}
.edu-lsv-code-empty i{font-size:1.7rem;color:#14b8a6}.edu-lsv-code-empty strong{max-width:620px;font-size:13px;line-height:1.7}

/* External Office attachments render inside the same large modal. DOCX and
   spreadsheets use local parsers; this shell is the in-platform fallback. */
.edu-lsv-office-online{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:#eef2f7}
.edu-lsv-office-online>iframe{position:absolute;inset:0;z-index:1;display:block;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;border:0!important;border-radius:0!important;background:#fff!important}
.edu-lsv-office-loading{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:9px;background:#eef2f7;color:#64748b;font-size:12px}
.edu-lsv-office-fallback{position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:24px;text-align:center;color:#64748b;background:radial-gradient(circle at 50% 35%,#fff,#e8eef5);box-sizing:border-box}
.edu-lsv-office-fallback>i{font-size:2.2rem;color:#14b8a6}.edu-lsv-office-fallback>span{max-width:560px;font-size:13px;line-height:1.7}
.edu-lsv-office-fallback>a{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border:1px solid #99f6e4;border-radius:10px;background:#f0fdfa;color:#0f766e;text-decoration:none;font-size:12px;font-weight:800}
.edu-lsv-office-online.is-loaded .edu-lsv-office-loading{display:none}.edu-lsv-office-online.is-failed>iframe{display:none!important}.edu-lsv-office-online.is-failed .edu-lsv-office-fallback{z-index:2}
.edu-lsv-modal.is-message-attachment .edu-lsv-word-reader .edu-lsv-doc{user-select:text!important;-webkit-user-select:text!important}

/* Coarse pointers need generous controls without penalising watch layouts. */
@media(pointer:coarse) and (min-width:361px){
  .edu-lsv-actions button,.edu-lsv-actions>a,.edu-lsv-format-tools button,.edu-lsv-sheet-tools button,.edu-lsv-pdf-tools button{min-width:40px!important;width:40px!important;min-height:40px!important;height:40px!important}
  .edu-lsv-format-tools,.edu-lsv-sheet-tools,.edu-lsv-pdf-tools{min-height:50px!important}
}
@media(hover:none){
  .edu-lsv-actions button:active,.edu-lsv-actions>a:active,.edu-lsv-format-tools button:active,.edu-lsv-pdf-tools button:active{background:rgba(45,212,191,.16)!important;color:var(--primary)!important}
}

/* Phone and narrow tablet. */
@media(max-width:700px){
  .edu-lsv-actions>a{flex-basis:32px!important;width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important}
  .edu-lsv-office-fallback{padding:15px}.edu-lsv-office-fallback>span{font-size:11px}
  .edu-lsv-code-empty{padding:14px}.edu-lsv-code-empty strong{font-size:11px}
}
@media(max-width:360px){.edu-lsv-actions>a{flex-basis:30px!important;width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important}.edu-lsv-title-wrap{gap:5px!important}}
@media(max-width:280px), (max-height:280px){
  .edu-lsv-title-wrap span,.edu-lsv-type,.edu-lsv-foot{display:none!important}
  .edu-lsv-head{min-height:36px!important;padding:3px 4px!important;column-gap:3px!important}
  .edu-lsv-actions{gap:2px!important;min-height:28px!important}
  .edu-lsv-actions button,.edu-lsv-actions>a{flex-basis:27px!important;width:27px!important;min-width:27px!important;height:27px!important;min-height:27px!important;border-radius:6px!important}
  .edu-lsv-title-wrap strong{font-size:.55rem!important}
  .edu-lsv-format-tools,.edu-lsv-sheet-tools,.edu-lsv-pdf-tools{min-height:32px!important;padding:2px 3px!important;gap:2px!important}
  .edu-lsv-format-tools button,.edu-lsv-sheet-tools button,.edu-lsv-pdf-tools button{width:25px!important;min-width:25px!important;height:25px!important;min-height:25px!important;border-radius:5px!important}
  .edu-lsv-code-language,.edu-lsv-source-note,.edu-lsv-tool-note{display:none!important}
  .edu-lsv-code-lines{font-size:9px!important}.edu-lsv-code-lines li{grid-template-columns:30px minmax(max-content,1fr)!important}.edu-lsv-code-lines li::before{padding-inline:3px 5px!important}.edu-lsv-code-lines code{padding-inline-start:6px!important}
  .edu-lsv-word-reader{padding:3px!important}.edu-lsv-word-reader .edu-lsv-doc{padding:12px 9px!important;font-size:10px!important;min-height:calc(100dvh - 40px)!important}
  .edu-lsv-image-canvas{padding:5px}.edu-lsv-media-shell audio{width:calc(100% - 8px)!important}
}
@media(max-width:240px){.edu-lsv-actions button,.edu-lsv-actions>a{flex-basis:24px!important;width:24px!important;min-width:24px!important;height:24px!important;min-height:24px!important}.edu-lsv-actions>a#edu-lsv-download{display:none!important}.edu-lsv-code-tools button{min-width:25px!important;padding:0 5px!important}}

/* Landscape devices with little vertical room. */
@media(max-height:520px) and (min-width:500px){
  .edu-lsv-modal.show{padding:0!important}.edu-lsv-box{width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;border-radius:0!important}
  .edu-lsv-head{min-height:44px!important;padding:4px 8px!important}.edu-lsv-foot{display:none!important}
  .edu-lsv-actions button,.edu-lsv-actions>a{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important}
}

/* Large monitors and televisions: larger focus targets and readable metadata. */
@media(min-width:1800px) and (min-height:900px){
  .edu-lsv-box{width:min(2200px,calc(100vw - 48px))!important;max-width:2200px!important;height:calc(100dvh - 48px)!important;max-height:calc(100dvh - 48px)!important}
  .edu-lsv-head{min-height:72px!important;padding:12px 16px!important}.edu-lsv-type{width:44px!important;height:44px!important;font-size:1.05rem!important}
  .edu-lsv-title-wrap strong{font-size:1rem!important}.edu-lsv-title-wrap span{font-size:.72rem!important}
  .edu-lsv-actions button,.edu-lsv-actions>a{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;font-size:1rem!important}
  .edu-lsv-format-tools,.edu-lsv-sheet-tools,.edu-lsv-pdf-tools{min-height:58px!important}.edu-lsv-format-tools button,.edu-lsv-sheet-tools button,.edu-lsv-pdf-tools button{width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important}
  .edu-lsv-code-lines{font-size:16px!important}.edu-lsv-foot{font-size:.72rem!important;min-height:42px!important}
}
@media(min-width:1800px){.edu-lsv-actions button:focus-visible,.edu-lsv-actions>a:focus-visible,.edu-lsv-format-tools button:focus-visible,.edu-lsv-pdf-tools button:focus-visible{outline:3px solid #5eead4!important;outline-offset:3px!important}}
@media(prefers-reduced-motion:reduce){.edu-lsv-box,.edu-lsv-actions button,.edu-lsv-actions>a,.edu-lsv-format-tools button{transition:none!important;animation:none!important}}


/* v3.0.2 library subject and multilingual level management */
.edu-ls-manager-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.edu-ls-manager-tabs button{min-width:0;line-height:1.25;white-space:normal}
.edu-ls-language-field{position:relative}
.edu-ls-manager-form input[readonly]{opacity:.78;cursor:not-allowed;background:rgba(255,255,255,.025)}
.edu-ls-subject-action{
  width:32px;height:32px;min-width:32px;flex:0 0 32px;padding:0;border:1px solid var(--border);
  border-radius:9px;background:rgba(255,255,255,.035);color:var(--text-secondary);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;transition:.16s ease;
}
.edu-ls-subject-action:hover{color:var(--primary);border-color:rgba(34,211,178,.38);background:rgba(34,211,178,.09)}
.edu-ls-subject-action.danger{color:#fca5a5;border-color:rgba(248,113,113,.24)}
.edu-ls-subject-action.danger:hover{color:#fecaca;border-color:rgba(248,113,113,.46);background:rgba(248,113,113,.10)}
.edu-ls-subject-action i{font-size:.67rem;pointer-events:none}
#edu-ls-subject-form .edu-ls-save-btn,#edu-ls-level-form .edu-ls-save-btn{min-height:40px}
@media(max-width:600px){
  .edu-ls-manager{width:min(420px,96vw)!important;padding:10px!important}
  .edu-ls-manager-tabs{gap:4px!important}
  .edu-ls-manager-tabs button{padding:8px 4px!important;font-size:.56rem!important}
  .edu-ls-subject-action{width:31px!important;height:31px!important;min-width:31px!important;flex-basis:31px!important}
}
@media(max-width:360px){
  .edu-ls-subject-action{width:29px!important;height:29px!important;min-width:29px!important;flex-basis:29px!important}
  .edu-ls-subject-action i{font-size:.61rem!important}
  .edu-ls-manager-tabs button{font-size:.51rem!important;padding:7px 2px!important}
}
@media(max-width:280px){
  .edu-ls-subject-controls{gap:2px!important}
  .edu-ls-subject-action,.edu-ls-toggle-chip{width:27px!important;height:27px!important;min-width:27px!important;flex-basis:27px!important}
}

/* v3.0.2 — precise inline library administration */
.edu-ls-subject-title-line{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important;
}
.edu-ls-subject-title-line>strong{
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.edu-ls-subject-pencil,
.edu-ls-level-pencil,
.edu-ls-level-more{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  flex:0 0 30px!important;
  padding:0!important;
  border:1px solid var(--border)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.035)!important;
  color:var(--text-secondary)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
  transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease!important;
}
.edu-ls-subject-pencil{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  flex-basis:26px!important;
  border-radius:8px!important;
}
.edu-ls-subject-pencil:hover,
.edu-ls-level-pencil:hover,
.edu-ls-level-more:hover{
  color:var(--primary)!important;
  border-color:rgba(34,211,178,.42)!important;
  background:rgba(34,211,178,.10)!important;
  transform:translateY(-1px)!important;
}
.edu-ls-subject-pencil:focus-visible,
.edu-ls-level-pencil:focus-visible,
.edu-ls-level-more:focus-visible,
.edu-ls-add-level:focus-visible,
.edu-ls-add-subject:focus-visible{
  outline:2px solid rgba(34,211,178,.45)!important;
  outline-offset:2px!important;
}
.edu-ls-subject-pencil i,
.edu-ls-level-pencil i,
.edu-ls-level-more i{font-size:.64rem!important;pointer-events:none!important}
.edu-ls-level-actions{
  flex-wrap:nowrap!important;
  gap:5px!important;
}
.edu-ls-add-level{
  width:100%!important;
  min-height:40px!important;
  border:1px dashed rgba(34,211,178,.35)!important;
  border-radius:11px!important;
  background:rgba(34,211,178,.045)!important;
  color:var(--primary)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  font-family:inherit!important;
  font-size:.62rem!important;
  font-weight:900!important;
  cursor:pointer!important;
  transition:.16s ease!important;
}
.edu-ls-add-level:hover{
  background:rgba(34,211,178,.10)!important;
  border-color:rgba(34,211,178,.58)!important;
  transform:translateY(-1px)!important;
}
.edu-ls-add-subject{
  width:100%!important;
  min-height:68px!important;
  border:1.5px dashed rgba(34,211,178,.42)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,rgba(34,211,178,.055),rgba(240,180,41,.025))!important;
  color:var(--text-primary)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:12px 16px!important;
  font-family:inherit!important;
  font-size:.7rem!important;
  font-weight:950!important;
  cursor:pointer!important;
  transition:.18s ease!important;
}
.edu-ls-add-subject:hover{
  border-color:rgba(34,211,178,.70)!important;
  background:linear-gradient(135deg,rgba(34,211,178,.11),rgba(240,180,41,.045))!important;
  transform:translateY(-1px)!important;
}
.edu-ls-add-subject-icon{
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
  background:rgba(34,211,178,.13)!important;
  color:var(--primary)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 34px!important;
}
.edu-ls-just-saved{
  animation:eduLsSavedPulse 1.55s ease both!important;
}
@keyframes eduLsSavedPulse{
  0%{box-shadow:0 0 0 0 rgba(34,211,178,.0);border-color:var(--border)}
  25%{box-shadow:0 0 0 4px rgba(34,211,178,.13);border-color:rgba(34,211,178,.65)}
  100%{box-shadow:0 0 0 0 rgba(34,211,178,0);border-color:var(--border)}
}
@media(max-width:600px){
  .edu-ls-subject-title-line{gap:5px!important}
  .edu-ls-subject-pencil{width:25px!important;height:25px!important;min-width:25px!important;flex-basis:25px!important}
  .edu-ls-level-pencil,.edu-ls-level-more{width:30px!important;height:30px!important;min-width:30px!important;flex-basis:30px!important}
  .edu-ls-add-subject{min-height:60px!important;padding:10px 12px!important;font-size:.64rem!important}
  .edu-ls-add-level{min-height:38px!important;font-size:.58rem!important}
}
@media(max-width:360px){
  .edu-ls-subject-pencil{width:23px!important;height:23px!important;min-width:23px!important;flex-basis:23px!important}
  .edu-ls-level-pencil,.edu-ls-level-more{width:28px!important;height:28px!important;min-width:28px!important;flex-basis:28px!important;border-radius:8px!important}
  .edu-ls-level-actions{gap:3px!important}
  .edu-ls-add-subject-icon{width:30px!important;height:30px!important;flex-basis:30px!important}
}

/* Keep the level-name pencil beside the level title on phones and tablets. */
@media(max-width:760px){
  .edu-ls-item.is-level-content{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
  }
  .edu-ls-item.is-level-content .edu-ls-level-actions{
    width:auto!important;
    display:flex!important;
    grid-template-columns:none!important;
    justify-content:flex-end!important;
    align-self:center!important;
    gap:4px!important;
  }
}
@media(max-width:480px){
  .edu-ls-item.is-level-content .edu-ls-level-actions{
    display:flex!important;
    width:auto!important;
  }
}

/* Keep the editable level title and its admin pencil on one visual line. */
.edu-ls-level-title-line{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  width:max-content!important;
  max-width:100%!important;
}
.edu-ls-level-title-line>strong{
  display:block!important;
  flex:0 1 auto!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.edu-ls-item-main>.edu-ls-level-title-line{display:flex!important}
.edu-ls-level-title-line .edu-ls-level-pencil{
  display:inline-flex!important;
  flex:0 0 auto!important;
  margin:0!important;
}

/* v3.0.2 — clear per-level management without the overlapping pencil */
.edu-ls-level-manage{
  min-height:34px!important;
  height:34px!important;
  min-width:126px!important;
  padding:0 11px!important;
  border:1px solid rgba(34,211,178,.28)!important;
  border-radius:10px!important;
  background:rgba(34,211,178,.075)!important;
  color:var(--primary)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  font-family:inherit!important;
  font-size:.57rem!important;
  font-weight:950!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
  transition:border-color .16s ease,background .16s ease,transform .16s ease!important;
}
.edu-ls-level-manage:hover{
  border-color:rgba(34,211,178,.58)!important;
  background:rgba(34,211,178,.13)!important;
  transform:translateY(-1px)!important;
}
.edu-ls-level-manage:focus-visible{
  outline:2px solid rgba(34,211,178,.45)!important;
  outline-offset:2px!important;
}
.edu-ls-level-manage i{font-size:.68rem!important;pointer-events:none!important}
.edu-ls-level-manage span{display:inline!important;pointer-events:none!important}
.edu-ls-level-title-line{width:100%!important;max-width:100%!important}
.edu-ls-level-title-line>strong{max-width:100%!important}
@media(max-width:760px){
  .edu-ls-level-manage{min-width:118px!important;height:33px!important;min-height:33px!important;padding:0 9px!important;font-size:.54rem!important}
}
@media(max-width:420px){
  .edu-ls-item.is-level-content{grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important}
  .edu-ls-item.is-level-content .edu-ls-level-actions{width:100%!important;justify-content:stretch!important}
  .edu-ls-level-manage{width:100%!important;min-width:0!important}
}

/* v3.0.2 — direct, visible admin actions on every level; no overlapping pencil */
.edu-ls-subject-pencil,
.edu-ls-level-pencil,
.edu-ls-level-manage{display:none!important}
.edu-ls-subject-edit{
  min-height:32px!important;
  height:32px!important;
  padding:0 10px!important;
  border:1px solid rgba(34,211,178,.28)!important;
  border-radius:9px!important;
  background:rgba(34,211,178,.075)!important;
  color:var(--primary)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  font-family:inherit!important;
  font-size:.55rem!important;
  font-weight:950!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  flex:0 0 auto!important;
}
.edu-ls-subject-edit:hover{background:rgba(34,211,178,.13)!important;border-color:rgba(34,211,178,.58)!important}
.edu-ls-subject-edit i{font-size:.64rem!important}
.edu-ls-level-action-set{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}
.edu-ls-level-action{
  min-height:34px!important;
  padding:0 10px!important;
  border:1px solid rgba(34,211,178,.25)!important;
  border-radius:9px!important;
  background:rgba(34,211,178,.07)!important;
  color:var(--primary)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  font-family:inherit!important;
  font-size:.54rem!important;
  line-height:1.15!important;
  font-weight:950!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
  transition:.16s ease!important;
}
.edu-ls-level-action:hover{background:rgba(34,211,178,.14)!important;border-color:rgba(34,211,178,.58)!important;transform:translateY(-1px)!important}
.edu-ls-level-action.is-danger{color:#ef6b73!important;border-color:rgba(239,107,115,.26)!important;background:rgba(239,107,115,.07)!important}
.edu-ls-level-action.is-danger:hover{border-color:rgba(239,107,115,.58)!important;background:rgba(239,107,115,.13)!important}
.edu-ls-level-action i{font-size:.64rem!important;pointer-events:none!important}
.edu-ls-level-action span{pointer-events:none!important}
.edu-ls-item.is-level-content{grid-template-columns:minmax(220px,1fr) minmax(300px,auto)!important;align-items:center!important}
.edu-ls-item.is-level-content .edu-ls-level-actions{width:100%!important;max-width:100%!important}
@media(max-width:980px){
  .edu-ls-item.is-level-content{grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important}
  .edu-ls-item.is-level-content .edu-ls-level-actions{width:100%!important;margin-top:8px!important}
  .edu-ls-level-action-set{justify-content:flex-start!important}
}
@media(max-width:560px){
  .edu-ls-subject-head{align-items:flex-start!important}
  .edu-ls-subject-controls{flex-wrap:wrap!important;justify-content:flex-end!important}
  .edu-ls-subject-edit span{display:none!important}
  .edu-ls-subject-edit{width:32px!important;min-width:32px!important;padding:0!important}
  .edu-ls-level-action-set{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .edu-ls-level-action{width:100%!important;min-width:0!important;white-space:normal!important;padding:7px 6px!important;height:auto!important}
}
@media(max-width:340px){
  .edu-ls-level-action-set{grid-template-columns:minmax(0,1fr)!important}
}

/* v3.0.2 — exact expandable library administration requested */
.edu-ls-subject-controls{display:flex!important;align-items:center!important;gap:7px!important}
.edu-ls-subject-delete{
  width:34px!important;height:34px!important;min-width:34px!important;flex:0 0 34px!important;
  border:1px solid rgba(239,107,115,.32)!important;border-radius:10px!important;
  background:rgba(239,107,115,.08)!important;color:#f87171!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  cursor:pointer!important;transition:.16s ease!important
}
.edu-ls-subject-delete:hover{background:rgba(239,107,115,.16)!important;border-color:rgba(239,107,115,.62)!important;transform:translateY(-1px)!important}
.edu-ls-subject-delete i{font-size:.72rem!important;pointer-events:none!important}
.edu-ls-subject-title small,.edu-ls-subject-count,.edu-ls-subject-edit{display:none!important}
.edu-ls-toggle-chip{cursor:pointer!important}
.edu-ls-item-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;flex-wrap:wrap!important}
.edu-ls-action-edit-title{color:#c4b5fd!important;border-color:rgba(167,139,250,.3)!important;background:rgba(139,92,246,.08)!important}
.edu-ls-action-edit-title:hover{background:rgba(139,92,246,.15)!important;border-color:rgba(167,139,250,.62)!important}
.edu-ls-item.is-methodology{border:1px solid rgba(34,211,178,.18)!important;background:rgba(34,211,178,.035)!important}
.edu-ls-item.is-methodology .edu-ls-item-main strong{font-weight:900!important}
.edu-ls-item.is-methodology .edu-ls-item-actions .edu-ls-action,
.edu-ls-item.is-level-content .edu-ls-level-action{min-height:34px!important}
/* Adding or renaming a level is intentionally a simple multilingual form. */
.edu-ls-manager.simple-level-editor .edu-ls-manager-tabs,
.edu-ls-manager.simple-level-editor #edu-ls-level-form>label:first-of-type,
.edu-ls-manager.simple-level-editor #edu-ls-level-form>label:nth-of-type(2),
.edu-ls-manager.simple-level-editor #edu-ls-level-form>label:nth-last-of-type(1),
.edu-ls-manager.simple-level-editor #edu-ls-level-delete{display:none!important}
.edu-ls-manager.simple-level-editor #edu-ls-manager-title::after{content:' — اسم المستوى باللغات المتاحة';font-weight:700!important;opacity:.7!important}
.edu-ls-manager.simple-level-editor #edu-ls-level-form{padding-top:12px!important}
@media(max-width:700px){
  .edu-ls-subject-delete,.edu-ls-toggle-chip{width:31px!important;height:31px!important;min-width:31px!important;flex-basis:31px!important}
  .edu-ls-item.is-methodology,.edu-ls-item.is-level-content{grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important}
  .edu-ls-item.is-methodology .edu-ls-item-actions,.edu-ls-item.is-level-content .edu-ls-item-actions{width:100%!important;margin-top:8px!important}
  .edu-ls-item.is-methodology .edu-ls-item-actions,.edu-ls-level-action-set{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .edu-ls-item.is-methodology .edu-ls-action,.edu-ls-level-action{width:100%!important;min-width:0!important;height:auto!important;min-height:38px!important;padding:7px 5px!important;white-space:normal!important}
}
@media(max-width:340px){.edu-ls-item.is-methodology .edu-ls-item-actions,.edu-ls-level-action-set{grid-template-columns:1fr!important}}

/* v4.0.0 private PPTX renderer: responsive tables, text and images. */
.edu-lsv-slide-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:auto;padding:12px;box-sizing:border-box;background:#07101d}
.edu-lsv-slide{position:relative;width:min(100%,calc((100dvh - 150px) * var(--edu-ppt-ratio,1.7778)));max-height:100%;overflow:hidden;box-shadow:0 18px 55px rgba(0,0,0,.36);container-type:inline-size}
.edu-lsv-slide-el{position:absolute;box-sizing:border-box;overflow:hidden}.edu-lsv-slide-image img{display:block;width:100%;height:100%;object-fit:contain}.edu-lsv-slide-text{white-space:pre-wrap;line-height:1.18;overflow:hidden;unicode-bidi:plaintext}
.edu-lsv-slide-table-wrap{overflow:hidden!important}.edu-lsv-slide-table{width:100%;height:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0;font-family:Tajawal,"Space Grotesk",Jost,sans-serif}.edu-lsv-slide-table td{min-width:0;padding:clamp(2px,.45cqw,9px);border:1px solid #cbd5e1;vertical-align:middle;line-height:1.18;overflow:hidden;overflow-wrap:anywhere;unicode-bidi:plaintext;box-sizing:border-box}
@media(max-width:760px){.edu-lsv-slide-wrap{padding:5px}.edu-lsv-slide-table td{font-size:clamp(6px,1.9cqw,14px)!important}.edu-lsv-slide-text{font-size:clamp(7px,2.2cqw,var(--edu-ppt-font,18px))!important}}


/* 4.0.30 — high-fidelity native PDF surface with an internal PDF.js fallback. */
.edu-lsv-stage.is-pdf-native{padding:0!important;overflow:hidden!important;background:#525659!important}
.edu-lsv-native-pdf{position:relative;width:100%;height:100%;min-height:0;background:#525659}
.edu-lsv-native-pdf>.edu-lsv-pdf-frame{display:block;width:100%;height:100%;min-height:0;border:0;border-radius:0;background:#fff}
.edu-lsv-native-pdf-tools{position:absolute;z-index:4;top:8px;inset-inline-end:8px;display:flex;gap:6px;pointer-events:none}
.edu-lsv-native-pdf-tools button{pointer-events:auto;min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:rgba(7,17,38,.88);color:#fff;font:800 .62rem/1 var(--se-font-ui,"Space Grotesk"),sans-serif;box-shadow:0 7px 20px rgba(0,0,0,.25);cursor:pointer}
#app[data-theme="light"] .edu-lsv-native-pdf-tools button{background:rgba(255,255,255,.94);color:#172033;border-color:#cbd5e1}
@media(max-width:600px){.edu-lsv-native-pdf-tools{top:5px;inset-inline-end:5px}.edu-lsv-native-pdf-tools button span{display:none}.edu-lsv-native-pdf-tools button{width:36px;padding:0;justify-content:center}}

/* 4.0.39.1 — preserve every informative/actionable lesson control on small displays.
   Controls reflow or scroll horizontally instead of disappearing. */
@media(max-width:700px),(max-height:520px){
  .edu-ls-head p{display:block!important;max-height:5.2em!important;overflow:auto!important}
  .edu-ls-head-icon{display:flex!important}
  .edu-lsv-foot{display:flex!important;flex-wrap:wrap!important;min-height:34px!important;padding:5px 8px!important}
  .edu-lsv-foot span{display:inline!important;white-space:normal!important}
  .edu-lsv-format-tools,.edu-lsv-code-tools,.edu-lsv-sheet-tools,.edu-lsv-pdf-tools{
    flex-wrap:nowrap!important;overflow-x:auto!important;max-width:100%!important;overscroll-behavior-inline:contain!important;
  }
  .edu-lsv-code-language,.edu-lsv-source-note,.edu-lsv-tool-note{display:block!important;white-space:normal!important}
  .edu-lsv-code-tools button span,.edu-lsv-sheet-tools>span,#edu-lsv-pdf-zoom{display:inline!important}
  .edu-lsv-native-pdf-tools{max-width:calc(100% - 10px)!important;overflow-x:auto!important}
  .edu-lsv-native-pdf-tools button{width:auto!important;min-width:max-content!important;padding-inline:9px!important}
  .edu-lsv-native-pdf-tools button span{display:inline!important}
}
@media(max-width:360px){
  .edu-ls-level-main{grid-template-columns:auto minmax(0,1fr) auto!important}
  .edu-ls-level-status{display:inline-flex!important}
  .edu-ls-level-badges{display:flex!important;flex-wrap:wrap!important}
  .edu-ls-level-open-icon{display:inline-block!important}
  .edu-ls-item-actions .edu-ls-action span,.edu-ls-level-action span{display:inline!important}
  .edu-lsv-head{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important}
  .edu-lsv-title-wrap,.edu-lsv-actions{width:100%!important;min-width:0!important}
  .edu-lsv-actions{justify-content:flex-start!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important}
  .edu-lsv-title-wrap span{display:block!important}
  .edu-lsv-type{display:flex!important}
}
@media(max-width:280px),(max-height:280px){
  .edu-lsv-title-wrap span{display:block!important}
  .edu-lsv-type{display:flex!important}
  .edu-lsv-foot{display:flex!important}
  .edu-lsv-code-language,.edu-lsv-source-note,.edu-lsv-tool-note{display:block!important}
}
@media(max-width:240px){
  #m-lesson-viewer .edu-lsv-actions>a#edu-lsv-download:not(.hidden){display:inline-flex!important}
}

/* Internal attachment/archive readers — v4.0.39.14 */
#edu-lsv-archive-back-head{min-width:36px}
.edu-lsv-stage.is-archive,.edu-lsv-stage.is-binary{padding:0;overflow:auto}
.edu-lsv-original-text{box-sizing:border-box;width:100%;min-width:100%;min-height:100%;margin:0;padding:clamp(14px,2.5vw,26px);overflow:auto;white-space:pre;overflow-wrap:normal;word-break:normal;tab-size:4;font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;background:var(--card,#0f172a);color:var(--text,#e2e8f0)}
.edu-lsv-archive{display:flex;flex-direction:column;min-height:100%;padding:clamp(10px,2vw,20px);gap:12px}
.edu-lsv-archive-tools{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid color-mix(in srgb,var(--line,#334155) 78%,transparent);border-radius:14px;background:color-mix(in srgb,var(--card,#0f172a) 94%,transparent);backdrop-filter:blur(12px)}
.edu-lsv-archive-tools>div{display:flex;align-items:center;gap:9px;min-width:0}.edu-lsv-archive-tools>div>i{font-size:22px}.edu-lsv-archive-tools strong{white-space:nowrap}.edu-lsv-archive-tools small{opacity:.68;white-space:nowrap}
.edu-lsv-archive-tools label{display:flex;align-items:center;gap:8px;flex:0 1 360px;min-width:180px;padding:8px 11px;border:1px solid var(--line,#334155);border-radius:11px;background:var(--input,#071021)}
.edu-lsv-archive-tools input{width:100%;border:0!important;outline:0!important;background:transparent!important;color:inherit!important;box-shadow:none!important}
.edu-lsv-archive-list{display:grid;gap:7px}
.edu-lsv-archive-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--line,#334155);border-radius:12px;background:color-mix(in srgb,var(--card,#0f172a) 94%,transparent);color:inherit;text-align:start;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}
.edu-lsv-archive-row:not(.is-disabled):hover,.edu-lsv-archive-row:not(.is-disabled):focus-visible{transform:translateY(-1px);border-color:var(--accent,#22c55e);background:color-mix(in srgb,var(--accent,#22c55e) 8%,var(--card,#0f172a))}
.edu-lsv-archive-row.is-disabled{cursor:default;opacity:.62}
.edu-lsv-archive-file{display:flex;align-items:center;gap:11px;min-width:0}.edu-lsv-archive-file>i{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:color-mix(in srgb,var(--accent,#22c55e) 10%,transparent)}
.edu-lsv-archive-file>span{display:grid;gap:3px;min-width:0}.edu-lsv-archive-file strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.edu-lsv-archive-file small{opacity:.68;font-size:11px}.edu-lsv-archive-action{flex:0 0 auto;opacity:.75}
.edu-lsv-archive-empty{display:grid;place-items:center;gap:10px;min-height:240px;text-align:center;opacity:.72}.edu-lsv-archive-empty i{font-size:38px}
.edu-lsv-archive-back{display:inline-flex;align-items:center;gap:8px;margin:12px;border:1px solid var(--line,#334155);border-radius:10px;padding:8px 12px;background:var(--card,#0f172a);color:inherit}
.edu-lsv-binary{display:grid;gap:14px;padding:clamp(12px,2.5vw,24px);min-height:100%}
.edu-lsv-binary-head{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line,#334155);border-radius:14px;background:var(--card,#0f172a)}.edu-lsv-binary-head>i{font-size:26px}.edu-lsv-binary-head>div{display:grid;gap:3px}.edu-lsv-binary-head span{font-size:12px;opacity:.7}
.edu-lsv-binary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.edu-lsv-binary dl>div{min-width:0;padding:10px;border:1px solid var(--line,#334155);border-radius:11px;background:color-mix(in srgb,var(--card,#0f172a) 92%,transparent)}.edu-lsv-binary dt{font-size:10px;opacity:.65;text-transform:uppercase}.edu-lsv-binary dd{margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.edu-lsv-binary section{min-width:0;border:1px solid var(--line,#334155);border-radius:13px;overflow:hidden;background:var(--card,#0f172a)}.edu-lsv-binary h3{margin:0;padding:10px 13px;border-bottom:1px solid var(--line,#334155);font-size:12px}.edu-lsv-binary pre{margin:0;max-height:280px;overflow:auto;padding:13px;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}.edu-lsv-binary pre.edu-lsv-hex{direction:ltr;text-align:left;white-space:pre}
@media(max-width:680px){.edu-lsv-archive-tools{align-items:stretch;flex-direction:column}.edu-lsv-archive-tools label{width:100%;min-width:0;flex-basis:auto}.edu-lsv-binary dl{grid-template-columns:1fr}.edu-lsv-archive-file strong{max-width:68vw}}
.edu-lsv-sheet-meta{padding:8px 12px;border-bottom:1px solid var(--line,#334155);font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;opacity:.72;direction:ltr;text-align:left;overflow-wrap:anywhere}

/* Local Office readers v4.0.39.16 */
.edu-lsv-sheet-meta{display:flex;flex-direction:column;gap:7px;padding:7px 9px!important;background:#fff!important;color:#334155!important;opacity:1!important;direction:inherit!important;text-align:start!important}
.edu-lsv-sheet-metrics{display:flex;align-items:stretch;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
.edu-lsv-sheet-metrics>span{display:grid;grid-template-columns:18px auto;grid-template-rows:auto auto;column-gap:6px;align-items:center;min-width:96px;padding:6px 8px;border:1px solid #dbe2ea;border-radius:9px;background:#f8fafc;color:#334155}
.edu-lsv-sheet-metrics i{grid-row:1/3;color:#0f766e}.edu-lsv-sheet-metrics strong{font:800 12px/1.1 Space Grotesk,sans-serif}.edu-lsv-sheet-metrics small{font:600 9px/1.1 Space Grotesk,sans-serif;color:#64748b;text-transform:uppercase}
.edu-lsv-sheet-range{font:600 10px/1.35 Space Grotesk,sans-serif;color:#64748b;direction:ltr;text-align:left;overflow-wrap:anywhere}
.edu-lsv-sheet-pager{display:flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:5px 8px;border-top:1px solid #dbe2ea;background:#f8fafc;color:#475569;flex:0 0 auto;font:700 11px Space Grotesk,sans-serif}
.edu-lsv-sheet-pager button{width:32px;height:32px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;cursor:pointer}.edu-lsv-sheet-pager button:disabled{opacity:.35;cursor:not-allowed}
.edu-lsv-local-table{width:100%;overflow:auto;margin:14px 0;border:1px solid #dbe2ea;border-radius:9px}.edu-lsv-local-table table{width:max-content;min-width:100%;border-collapse:collapse}.edu-lsv-local-table td{padding:7px 9px;border:1px solid #dbe2ea;color:#1f2937;background:#fff;vertical-align:top;white-space:pre-wrap}
@media(max-width:640px){.edu-lsv-sheet-metrics>span{min-width:82px;padding:5px 6px}.edu-lsv-sheet-pager{min-height:38px}.edu-lsv-sheet-pager button{width:30px;height:30px}}

/* Multi-page navigation and reliable scrolling — v4.0.39.17 */
.edu-lsv-stage.is-office{min-height:0!important}
.edu-lsv-word-reader{
  width:100%!important;height:100%!important;min-height:0!important;
  overflow-y:scroll!important;overflow-x:auto!important;
  overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y!important;scrollbar-gutter:stable both-edges!important;
}
.edu-lsv-word-reader .edu-lsv-doc{min-height:max(100%,1100px)!important}
.edu-lsv-word-reader::-webkit-scrollbar,.edu-lsv-sheet-grid::-webkit-scrollbar,.edu-lsv-slide-viewport::-webkit-scrollbar{width:10px;height:10px}
.edu-lsv-word-reader::-webkit-scrollbar-thumb,.edu-lsv-sheet-grid::-webkit-scrollbar-thumb,.edu-lsv-slide-viewport::-webkit-scrollbar-thumb{background:#94a3b8;border:2px solid transparent;border-radius:999px;background-clip:padding-box}
.edu-lsv-word-reader::-webkit-scrollbar-track,.edu-lsv-sheet-grid::-webkit-scrollbar-track,.edu-lsv-slide-viewport::-webkit-scrollbar-track{background:rgba(148,163,184,.12)}

.edu-lsv-presentation-reader{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#07101d;outline:0}
.edu-lsv-presentation-reader:focus-visible{box-shadow:inset 0 0 0 2px rgba(45,212,191,.72)}
.edu-lsv-slide-viewport{flex:1;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scrollbar-gutter:stable;display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box;background:#07101d}
.edu-lsv-presentation-reader .edu-lsv-slide-wrap{width:min(1280px,100%)!important;height:auto!important;min-height:0!important;max-height:none!important;margin:auto!important;padding:0!important;overflow:visible!important;background:transparent!important;display:block!important}
.edu-lsv-presentation-reader .edu-lsv-slide{width:100%!important;max-height:none!important;margin:auto!important}
.edu-lsv-slide-pager{flex:0 0 auto;min-height:48px;display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 10px;border-top:1px solid rgba(148,163,184,.2);background:#0b1727;color:#dbeafe;box-sizing:border-box;direction:ltr}
.edu-lsv-slide-pager-btn{width:36px;height:36px;min-width:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.3);border-radius:9px;background:rgba(255,255,255,.06);color:#dbeafe;cursor:pointer}
.edu-lsv-slide-pager-btn:hover,.edu-lsv-slide-pager-btn:focus-visible{border-color:#2dd4bf;background:rgba(45,212,191,.12);color:#5eead4;outline:0}
.edu-lsv-slide-pager-btn:disabled{opacity:.35;cursor:not-allowed}
#edu-lsv-slide-count{min-width:74px;text-align:center;font:800 12px/1 Space Grotesk,Jost,sans-serif}

.edu-lsv-sheet-tabs-row{display:flex;align-items:stretch;gap:5px;flex:0 0 auto;min-width:0;padding:5px 7px;border-bottom:1px solid #dbe2ea;background:#f1f5f9;direction:ltr}
.edu-lsv-sheet-tabs-row .edu-lsv-sheet-tabs{flex:1 1 auto;min-width:0;margin:0!important;padding:0!important;border:0!important;background:transparent!important;overflow-x:auto!important;overflow-y:hidden!important;flex-wrap:nowrap!important;scrollbar-width:thin;overscroll-behavior-inline:contain}
.edu-lsv-sheet-switch{flex:0 0 34px;width:34px;height:34px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;cursor:pointer}
.edu-lsv-sheet-switch:hover,.edu-lsv-sheet-switch:focus-visible{border-color:#2dd4bf;color:#0f766e;background:#f0fdfa;outline:0}
.edu-lsv-sheet-switch:disabled{opacity:.35;cursor:not-allowed}
.edu-lsv-sheet-switch[hidden]{display:none!important}
#edu-lsv-sheet-table{min-height:0!important}
.edu-lsv-sheet-grid{overflow:scroll!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-x pan-y!important;scrollbar-gutter:stable both-edges!important;outline:0}
.edu-lsv-sheet-grid:focus-visible{box-shadow:inset 0 0 0 2px rgba(20,184,166,.55)}
.edu-lsv-sheet-pager{position:relative;z-index:4;box-shadow:0 -4px 14px rgba(15,23,42,.08)}

@media(max-width:700px){
  .edu-lsv-slide-viewport{padding:5px}
  .edu-lsv-slide-pager{min-height:44px;padding:4px 8px;gap:10px}
  .edu-lsv-slide-pager-btn{width:34px;height:34px;min-width:34px}
  .edu-lsv-word-reader{padding:8px 5px 28px!important}
  .edu-lsv-sheet-tabs-row{padding:4px 5px;gap:4px}
  .edu-lsv-sheet-switch{flex-basis:32px;width:32px;height:32px}
}

/* Interactive HTML reader — v4.0.39.18 */
.edu-lsv-html-preview,.edu-lsv-html-shell,.edu-lsv-html-frame{pointer-events:auto!important;touch-action:auto!important}
.edu-lsv-html-preview iframe,.edu-lsv-html-shell iframe{position:relative!important;z-index:1!important;pointer-events:auto!important}


/* Universal reader geometry, typography and PDF fitting — v4.0.39.19 */
.edu-lsv-pdf-local{width:100%!important;max-width:none!important;height:100%!important;border-radius:0!important}
.edu-lsv-pdf-scroll{padding:2px!important;align-items:center!important;justify-content:center!important}
.edu-lsv-pdf-tools button.active{border-color:#2dd4bf!important;color:#0f766e!important;background:#ecfdf5!important}
.edu-lsv-native-pdf{width:100%!important;height:100%!important;min-height:0!important}
.edu-lsv-native-pdf>.edu-lsv-pdf-frame{width:100%!important;height:100%!important;min-height:0!important;border-radius:0!important}
.edu-lsv-word-reader .edu-lsv-doc{min-height:100%!important}
.edu-lsv-doc,.edu-lsv-text,.edu-lsv-slide-el,.edu-lsv-sheet td,.edu-lsv-sheet th{
  letter-spacing:normal!important;word-spacing:normal!important;word-break:normal!important;overflow-wrap:break-word!important;
  font-kerning:normal!important;font-variant-ligatures:common-ligatures contextual!important;text-rendering:optimizeLegibility!important;
}
.edu-lsv-doc [dir="rtl"],.edu-lsv-text[dir="rtl"],.edu-lsv-slide-el[dir="rtl"],.edu-lsv-sheet td[dir="rtl"]{
  font-family:Tajawal,Amiri,"Noto Sans Arabic",Arial,sans-serif!important;font-feature-settings:"rlig" 1,"liga" 1,"calt" 1,"kern" 1!important;
}

/* Scroll-safe PDF centering — v4.0.39.19 */
.edu-lsv-pdf-scroll{display:block!important;text-align:center!important}
#edu-lsv-pdf-canvas{margin:0 auto!important}

/* 4.0.39.19.30 — mobile-safe PDF surface. The first render is a true full-page
   fit; zoomed pages start at a reachable left edge and remain pannable in both
   axes even when the surrounding application uses RTL. */
.edu-lsv-stage.is-pdf{min-width:0!important;min-height:0!important}
.edu-lsv-pdf-local{min-width:0!important;min-height:0!important;overflow:hidden!important}
.edu-lsv-pdf-tools{
  direction:ltr!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;
  scrollbar-width:thin!important;overscroll-behavior-inline:contain!important;-webkit-overflow-scrolling:touch!important;
}
.edu-lsv-pdf-tools>*{flex:0 0 auto!important}.edu-lsv-pdf-tools .edu-lsv-pdf-spacer{flex:1 1 auto!important;min-width:8px!important}
.edu-lsv-pdf-scroll{
  display:block!important;direction:ltr!important;text-align:center!important;min-width:0!important;min-height:0!important;
  overflow:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y!important;scrollbar-gutter:stable!important;padding:clamp(2px,.8vw,8px)!important;
}
#edu-lsv-pdf-canvas{display:block!important;max-width:none!important;max-height:none!important;margin:0 auto!important;transform-origin:top left!important}
@media(max-width:700px){
  .edu-lsv-pdf-tools{min-height:44px!important;padding:4px 5px!important;gap:4px!important}
  .edu-lsv-pdf-tools button{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;padding:0!important}
  .edu-lsv-pdf-tools span{font-size:10px!important}.edu-lsv-pdf-scroll{scrollbar-gutter:auto!important}
}

/* 4.0.39.19.34 — compact, continuous and format-faithful PDF reader.
   PDF pages are painted by bundled PDF.js directly to canvases; no text reflow,
   HTML reconstruction or external document service is used. */
.edu-lsv-modal.is-pdf-viewer .edu-lsv-head{
  min-height:38px!important;height:38px!important;padding:3px 6px!important;gap:4px!important;flex:0 0 38px!important;
}
.edu-lsv-modal.is-pdf-viewer .edu-lsv-type,
.edu-lsv-modal.is-pdf-viewer #edu-lsv-meta,
.edu-lsv-modal.is-pdf-viewer #edu-lsv-page,
.edu-lsv-modal.is-pdf-viewer #edu-lsv-download,
.edu-lsv-modal.is-pdf-viewer #edu-lsv-fullscreen{display:none!important}
.edu-lsv-modal.is-pdf-viewer .edu-lsv-title-wrap{min-width:0!important;gap:4px!important}
.edu-lsv-modal.is-pdf-viewer .edu-lsv-title-wrap strong{font-size:.64rem!important;font-weight:850!important;line-height:1.15!important}
.edu-lsv-modal.is-pdf-viewer .edu-lsv-actions{gap:3px!important}
.edu-lsv-modal.is-pdf-viewer .edu-lsv-actions button{width:30px!important;height:30px!important;min-width:30px!important;border-radius:8px!important}
.edu-lsv-modal.is-pdf-viewer .edu-lsv-foot{display:none!important}
.edu-lsv-modal.is-pdf-viewer .edu-lsv-watermark{inset-block-end:0!important}
.edu-lsv-stage.is-pdf{padding:0!important;overflow:hidden!important;background:#3b3f45!important;contain:layout paint!important}
.edu-lsv-pdf-local{position:relative!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;overflow:hidden!important;background:#3b3f45!important;border:0!important;border-radius:0!important}
.edu-lsv-pdf-scroll{
  position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
  overflow:auto!important;direction:ltr!important;text-align:initial!important;padding:0!important;scrollbar-gutter:stable!important;
  -webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-x pan-y!important;scroll-behavior:auto!important;
}
.edu-lsv-pdf-pages{display:flex!important;flex-direction:column!important;align-items:center!important;gap:10px!important;width:max-content!important;min-width:100%!important;min-height:100%!important;padding:8px!important;box-sizing:border-box!important;direction:ltr!important}
.edu-lsv-pdf-page{position:relative!important;display:block!important;flex:0 0 auto!important;margin:0 auto!important;overflow:hidden!important;background:#fff!important;border:0!important;border-radius:2px!important;box-shadow:0 2px 12px rgba(0,0,0,.28)!important;contain:layout paint!important}
.edu-lsv-pdf-page-canvas{display:block!important;max-width:none!important;max-height:none!important;margin:0!important;background:#fff!important;pointer-events:none!important;image-rendering:auto!important}
.edu-lsv-pdf-page::after{content:attr(data-page);position:absolute;inset-inline-end:5px;inset-block-end:4px;padding:1px 5px;border-radius:8px;background:rgba(15,23,42,.42);color:rgba(255,255,255,.84);font:700 9px/1.5 Jost,"Space Grotesk",sans-serif;pointer-events:none;opacity:.42}
.edu-lsv-pdf-menu-toggle{
  position:absolute!important;z-index:12!important;inset-block-start:10px!important;inset-inline-end:10px!important;width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(255,255,255,.34)!important;border-radius:11px!important;background:rgba(15,23,42,.82)!important;color:#f8fafc!important;
  box-shadow:0 5px 18px rgba(0,0,0,.24)!important;backdrop-filter:blur(9px)!important;cursor:pointer!important;touch-action:manipulation!important;
}
.edu-lsv-pdf-menu-toggle:hover,.edu-lsv-pdf-menu-toggle:focus-visible,.edu-lsv-pdf-menu-toggle[aria-expanded="true"]{background:rgba(15,23,42,.96)!important;border-color:rgba(45,212,191,.72)!important;color:#5eead4!important;outline:0!important}
.edu-lsv-pdf-menu{
  position:absolute!important;z-index:13!important;inset-block-start:52px!important;inset-inline-end:10px!important;width:178px!important;max-width:calc(100% - 20px)!important;padding:8px!important;
  border:1px solid rgba(148,163,184,.34)!important;border-radius:12px!important;background:rgba(9,17,30,.96)!important;color:#e5edf5!important;box-shadow:0 16px 42px rgba(0,0,0,.34)!important;backdrop-filter:blur(13px)!important;direction:ltr!important;
}
.edu-lsv-pdf-menu[hidden]{display:none!important}
.edu-lsv-pdf-menu-status{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin:0 1px 7px!important;padding:0 2px 6px!important;border-bottom:1px solid rgba(148,163,184,.18)!important;color:#cbd5e1!important;font:750 10px/1.4 Jost,"Space Grotesk",sans-serif!important}
.edu-lsv-pdf-menu-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:5px!important}
.edu-lsv-pdf-menu-grid button,.edu-lsv-pdf-menu-grid a{width:36px!important;height:34px!important;min-width:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(148,163,184,.24)!important;border-radius:8px!important;background:rgba(255,255,255,.045)!important;color:#d9e4ed!important;text-decoration:none!important;cursor:pointer!important}
.edu-lsv-pdf-menu-grid button:hover,.edu-lsv-pdf-menu-grid button:focus-visible,.edu-lsv-pdf-menu-grid a:hover,.edu-lsv-pdf-menu-grid a:focus-visible,.edu-lsv-pdf-menu-grid button.active{border-color:rgba(45,212,191,.72)!important;background:rgba(45,212,191,.12)!important;color:#5eead4!important;outline:0!important}
.edu-lsv-pdf-menu-grid .hidden{display:none!important}
.edu-lsv-native-pdf{position:relative!important;width:100%!important;height:100%!important;min-height:0!important;background:#525659!important}
.edu-lsv-native-pdf>.edu-lsv-pdf-frame{width:100%!important;height:100%!important;min-height:0!important;border:0!important;border-radius:0!important}
.edu-lsv-native-pdf-tools{position:absolute!important;z-index:5!important;inset-block-start:10px!important;inset-inline-end:10px!important;padding:0!important;background:transparent!important;border:0!important}
.edu-lsv-native-pdf-tools button{width:36px!important;height:36px!important;border:1px solid rgba(255,255,255,.35)!important;border-radius:11px!important;background:rgba(15,23,42,.82)!important;color:#fff!important;box-shadow:0 5px 18px rgba(0,0,0,.24)!important;cursor:pointer!important}
.edu-lsv-box[data-theme="light"] .edu-lsv-pdf-menu-toggle,.edu-lsv-box[data-theme="light"] .edu-lsv-pdf-menu{background:rgba(255,255,255,.96)!important;color:#0f172a!important;border-color:rgba(100,116,139,.28)!important}
.edu-lsv-box[data-theme="light"] .edu-lsv-pdf-menu-status{color:#475569!important;border-color:#e2e8f0!important}
.edu-lsv-box[data-theme="light"] .edu-lsv-pdf-menu-grid button,.edu-lsv-box[data-theme="light"] .edu-lsv-pdf-menu-grid a{background:#f8fafc!important;color:#334155!important;border-color:#d8e0ea!important}
@media(max-width:700px){
 .edu-lsv-modal.is-pdf-viewer .edu-lsv-head{min-height:36px!important;height:36px!important;flex-basis:36px!important;padding:2px 4px!important}
 .edu-lsv-modal.is-pdf-viewer .edu-lsv-actions button{width:28px!important;height:28px!important;min-width:28px!important}
 .edu-lsv-pdf-scroll{scrollbar-gutter:auto!important}
 .edu-lsv-pdf-pages{gap:4px!important;padding:2px!important}
 .edu-lsv-pdf-page{border-radius:0!important;box-shadow:0 1px 4px rgba(0,0,0,.20)!important}
 .edu-lsv-pdf-page::after{display:none!important}
 .edu-lsv-pdf-menu-toggle{inset-block-start:7px!important;inset-inline-end:7px!important;width:34px!important;height:34px!important;min-width:34px!important;border-radius:10px!important}
 .edu-lsv-pdf-menu{inset-block-start:47px!important;inset-inline-end:7px!important;width:166px!important;max-width:calc(100% - 14px)!important;padding:7px!important}
 .edu-lsv-pdf-menu-grid{gap:4px!important}.edu-lsv-pdf-menu-grid button,.edu-lsv-pdf-menu-grid a{width:34px!important;height:33px!important}
}
/* Keep the PDF surface itself completely unobstructed; page status stays inside the side tools drawer. */
.edu-lsv-pdf-page::after{display:none!important}

/* 4.0.39.19.38 — PowerPoint reader aligned with the compact PDF reader.
   Presentation pages use natural vertical scrolling. The precision path is the
   private same-origin LibreOffice->PDF preview; this CSS also gives the local
   OOXML fallback the same unobtrusive shell when server conversion is absent. */
.edu-lsv-modal.is-presentation-viewer .edu-lsv-head{
  min-height:38px!important;height:38px!important;padding:3px 6px!important;gap:4px!important;flex:0 0 38px!important;
}
.edu-lsv-modal.is-presentation-viewer .edu-lsv-type,
.edu-lsv-modal.is-presentation-viewer #edu-lsv-meta,
.edu-lsv-modal.is-presentation-viewer #edu-lsv-page,
.edu-lsv-modal.is-presentation-viewer #edu-lsv-download,
.edu-lsv-modal.is-presentation-viewer #edu-lsv-fullscreen{display:none!important}
.edu-lsv-modal.is-presentation-viewer .edu-lsv-title-wrap{min-width:0!important;gap:4px!important}
.edu-lsv-modal.is-presentation-viewer .edu-lsv-title-wrap strong{font-size:.64rem!important;font-weight:850!important;line-height:1.15!important}
.edu-lsv-modal.is-presentation-viewer .edu-lsv-actions{gap:3px!important}
.edu-lsv-modal.is-presentation-viewer .edu-lsv-actions button{width:30px!important;height:30px!important;min-width:30px!important;border-radius:8px!important}
.edu-lsv-modal.is-presentation-viewer .edu-lsv-foot,
.edu-lsv-modal.is-presentation-viewer .edu-lsv-watermark{display:none!important}
.edu-lsv-stage.is-presentation{padding:0!important;overflow:hidden!important;background:#3b3f45!important;align-items:stretch!important;justify-content:stretch!important}
.edu-lsv-ppt-local{position:relative!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;overflow:hidden!important;background:#3b3f45!important}
.edu-lsv-ppt-scroll{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
  overflow:auto!important;direction:ltr!important;text-align:initial!important;padding:0!important;scrollbar-gutter:stable!important;
  -webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-x pan-y!important;scroll-behavior:auto!important;
}
.edu-lsv-ppt-pages{display:flex!important;flex-direction:column!important;align-items:center!important;gap:10px!important;width:max-content!important;min-width:100%!important;min-height:100%!important;padding:8px!important;box-sizing:border-box!important;direction:ltr!important}
.edu-lsv-ppt-page{position:relative!important;display:block!important;flex:0 0 auto!important;max-width:none!important;margin:0 auto!important;box-sizing:border-box!important;direction:ltr!important}
.edu-lsv-ppt-page .edu-lsv-slide-wrap{width:100%!important;max-width:none!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;background:transparent!important;display:block!important}
.edu-lsv-ppt-page .edu-lsv-slide{position:relative!important;width:100%!important;max-height:none!important;margin:0!important;border:0!important;border-radius:2px!important;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.28)!important;overflow:hidden!important;container-type:inline-size!important}
.edu-lsv-ppt-page .edu-lsv-slide-el{transform-origin:center center}
.edu-lsv-ppt-page .edu-lsv-slide-text{line-height:1.12!important;overflow:hidden!important;white-space:pre-wrap!important;unicode-bidi:plaintext!important}
.edu-lsv-ppt-page .edu-lsv-slide-table{font-family:inherit!important}
.edu-lsv-ppt-page .edu-lsv-slide-table td{line-height:1.12!important;overflow:hidden!important;box-sizing:border-box!important}
.edu-lsv-ppt-local .edu-lsv-pdf-menu{direction:ltr!important}
@media(max-width:700px){
 .edu-lsv-modal.is-presentation-viewer .edu-lsv-head{min-height:36px!important;height:36px!important;flex-basis:36px!important;padding:2px 4px!important}
 .edu-lsv-modal.is-presentation-viewer .edu-lsv-actions button{width:28px!important;height:28px!important;min-width:28px!important}
 .edu-lsv-ppt-scroll{scrollbar-gutter:auto!important}
 .edu-lsv-ppt-pages{gap:4px!important;padding:2px!important}
 .edu-lsv-ppt-page .edu-lsv-slide{border-radius:0!important;box-shadow:0 1px 4px rgba(0,0,0,.20)!important}
}


/* 4.0.39.19.40 — desktop presentation centering.
   Reserve scrollbar space symmetrically and fit slides inside the real inner
   viewport so RTL/LTR direction or a desktop scrollbar can never push the
   presentation off the visual centre. Mobile keeps its edge-to-edge layout. */
@media(min-width:701px){
  .edu-lsv-modal.is-presentation-viewer .edu-lsv-ppt-scroll,
  .edu-lsv-modal.is-presentation-viewer .edu-lsv-pdf-scroll{scrollbar-gutter:stable both-edges!important}
  .edu-lsv-modal.is-presentation-viewer .edu-lsv-ppt-pages,
  .edu-lsv-modal.is-presentation-viewer .edu-lsv-pdf-pages{margin-inline:auto!important}
  .edu-lsv-modal.is-presentation-viewer .edu-lsv-ppt-page,
  .edu-lsv-modal.is-presentation-viewer .edu-lsv-pdf-page{margin-inline:auto!important}
}

/* 4.0.39.19.41 — compact local archive + source/workbench readers.
   Archive navigation behaves like a filesystem and code/preview tools live in
   the same small settings drawer used by the PDF/PPTX reader. */
.edu-lsv-modal.is-code-viewer .edu-lsv-head,
.edu-lsv-modal.is-archive-viewer .edu-lsv-head{
  min-height:38px!important;height:38px!important;flex:0 0 38px!important;
  padding:3px 6px!important;gap:4px!important;
}
.edu-lsv-modal.is-code-viewer .edu-lsv-type,
.edu-lsv-modal.is-code-viewer #edu-lsv-meta,
.edu-lsv-modal.is-code-viewer #edu-lsv-page,
.edu-lsv-modal.is-code-viewer #edu-lsv-download,
.edu-lsv-modal.is-code-viewer #edu-lsv-fullscreen,
.edu-lsv-modal.is-archive-viewer .edu-lsv-type,
.edu-lsv-modal.is-archive-viewer #edu-lsv-meta,
.edu-lsv-modal.is-archive-viewer #edu-lsv-page,
.edu-lsv-modal.is-archive-viewer #edu-lsv-download,
.edu-lsv-modal.is-archive-viewer #edu-lsv-fullscreen{display:none!important}
.edu-lsv-modal.is-code-viewer .edu-lsv-title-wrap,
.edu-lsv-modal.is-archive-viewer .edu-lsv-title-wrap{min-width:0!important;gap:4px!important}
.edu-lsv-modal.is-code-viewer .edu-lsv-title-wrap strong,
.edu-lsv-modal.is-archive-viewer .edu-lsv-title-wrap strong{font-size:.64rem!important;font-weight:850!important;line-height:1.15!important}
.edu-lsv-modal.is-code-viewer .edu-lsv-actions,
.edu-lsv-modal.is-archive-viewer .edu-lsv-actions{gap:3px!important}
.edu-lsv-modal.is-code-viewer .edu-lsv-actions button,
.edu-lsv-modal.is-archive-viewer .edu-lsv-actions button{width:30px!important;height:30px!important;min-width:30px!important;border-radius:8px!important}
.edu-lsv-modal.is-code-viewer .edu-lsv-foot,
.edu-lsv-modal.is-code-viewer .edu-lsv-watermark,
.edu-lsv-modal.is-archive-viewer .edu-lsv-foot,
.edu-lsv-modal.is-archive-viewer .edu-lsv-watermark{display:none!important}
.edu-lsv-stage.is-code,.edu-lsv-stage.is-archive{padding:0!important;min-height:0!important;overflow:hidden!important;align-items:stretch!important;justify-content:stretch!important}

/* Source + live preview */
.edu-lsv-code-workbench{position:relative!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;overflow:hidden!important;background:#07101d!important;--edu-code-zoom:1}
.edu-lsv-code-workbench>.edu-lsv-format-tools,.edu-lsv-code-workbench>.edu-lsv-code-tools{display:none!important}
.edu-lsv-code-workbench .edu-lsv-code-panel{position:absolute!important;inset:0!important;display:none!important;min-width:0!important;min-height:0!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-x pan-y!important;scrollbar-gutter:stable both-edges!important}
.edu-lsv-code-workbench .edu-lsv-code-panel.active{display:block!important}
.edu-lsv-code-workbench .edu-lsv-code-view{direction:ltr!important;text-align:left!important;background:#07101d!important}
.edu-lsv-code-workbench .edu-lsv-code-lines{min-width:max-content!important;margin:0!important;padding:10px 0 28px!important;font-size:calc(13px * var(--edu-code-zoom,1))!important;line-height:1.62!important}
.edu-lsv-code-workbench .edu-lsv-code-lines li{min-height:1.62em!important}
.edu-lsv-code-workbench .edu-lsv-html-preview{background:#f8fafc!important;overflow:auto!important}
.edu-lsv-code-workbench .edu-lsv-html-preview iframe{display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;border:0!important;background:#fff!important;transform-origin:top left!important}
.edu-lsv-code-menu{inset-block-start:8px!important;inset-inline-end:8px!important;width:196px!important;max-width:calc(100% - 16px)!important;direction:ltr!important}
.edu-lsv-code-menu-status{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin:0 1px 7px!important;padding:0 2px 6px!important;border-bottom:1px solid rgba(148,163,184,.18)!important;color:#cbd5e1!important;font:750 10px/1.4 Jost,"Space Grotesk",sans-serif!important}
.edu-lsv-code-menu-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:5px!important}
.edu-lsv-code-menu-grid button,.edu-lsv-code-menu-grid a{width:38px!important;height:34px!important;min-width:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(148,163,184,.24)!important;border-radius:8px!important;background:rgba(255,255,255,.045)!important;color:#d9e4ed!important;text-decoration:none!important;cursor:pointer!important}
.edu-lsv-code-menu-grid button:hover,.edu-lsv-code-menu-grid button:focus-visible,.edu-lsv-code-menu-grid a:hover,.edu-lsv-code-menu-grid a:focus-visible,.edu-lsv-code-menu-grid button.active{border-color:rgba(45,212,191,.72)!important;background:rgba(45,212,191,.12)!important;color:#5eead4!important;outline:0!important}
.edu-lsv-code-menu-grid .hidden{display:none!important}

/* ZIP/RAR/7z filesystem-style browser */
.edu-lsv-archive{position:relative!important;width:100%!important;height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;gap:0!important;padding:0!important;background:var(--bg,#07101d)!important;overflow:hidden!important}
.edu-lsv-archive-menu{inset-block-start:8px!important;inset-inline-end:8px!important;width:132px!important;max-width:calc(100% - 16px)!important;direction:ltr!important}
.edu-lsv-archive-nav{min-height:38px!important;flex:0 0 auto!important;display:flex!important;align-items:center!important;gap:8px!important;padding:4px 7px!important;border-bottom:1px solid var(--line,#27364b)!important;background:color-mix(in srgb,var(--card,#0f172a) 96%,transparent)!important}
.edu-lsv-archive-breadcrumbs{display:flex!important;align-items:center!important;gap:3px!important;flex:1 1 auto!important;min-width:0!important;overflow-x:auto!important;scrollbar-width:none!important;white-space:nowrap!important}
.edu-lsv-archive-breadcrumbs::-webkit-scrollbar{display:none!important}
.edu-lsv-archive-breadcrumbs button{height:28px!important;min-width:28px!important;max-width:220px!important;padding:0 7px!important;border:0!important;border-radius:7px!important;background:transparent!important;color:inherit!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;cursor:pointer!important;font:750 11px/1 Jost,"Space Grotesk",sans-serif!important}
.edu-lsv-archive-breadcrumbs button:hover,.edu-lsv-archive-breadcrumbs button:focus-visible{background:rgba(45,212,191,.10)!important;color:#5eead4!important;outline:0!important}
.edu-lsv-archive-breadcrumbs>i{font-size:8px!important;opacity:.45!important;flex:0 0 auto!important}
.edu-lsv-archive-nav>label{height:30px!important;flex:0 1 240px!important;min-width:120px!important;display:flex!important;align-items:center!important;gap:6px!important;padding:0 8px!important;border:1px solid var(--line,#334155)!important;border-radius:8px!important;background:var(--input,#071021)!important}
.edu-lsv-archive-nav>label input{width:100%!important;min-width:0!important;border:0!important;outline:0!important;background:transparent!important;color:inherit!important;box-shadow:none!important;font-size:11px!important}
.edu-lsv-archive-list{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;display:block!important;padding:4px!important;scrollbar-gutter:stable both-edges!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-x pan-y!important}
.edu-lsv-archive-row{min-height:42px!important;margin:0!important;padding:5px 8px!important;border:0!important;border-bottom:1px solid color-mix(in srgb,var(--line,#334155) 58%,transparent)!important;border-radius:6px!important;background:transparent!important;box-shadow:none!important;transform:none!important}
.edu-lsv-archive-row:not(.is-disabled):hover,.edu-lsv-archive-row:not(.is-disabled):focus-visible{transform:none!important;border-color:color-mix(in srgb,var(--accent,#22c55e) 35%,var(--line,#334155))!important;background:color-mix(in srgb,var(--accent,#22c55e) 7%,transparent)!important}
.edu-lsv-archive-file{gap:8px!important}.edu-lsv-archive-file>i{width:30px!important;height:30px!important;flex-basis:30px!important;border-radius:7px!important}.edu-lsv-archive-file strong{font-size:12px!important}.edu-lsv-archive-file small{font-size:10px!important}.edu-lsv-archive-action{font-size:10px!important}
.edu-lsv-archive-empty{min-height:100%!important}

@media(max-width:700px){
 .edu-lsv-modal.is-code-viewer .edu-lsv-head,.edu-lsv-modal.is-archive-viewer .edu-lsv-head{min-height:36px!important;height:36px!important;flex-basis:36px!important;padding:2px 4px!important}
 .edu-lsv-modal.is-code-viewer .edu-lsv-actions button,.edu-lsv-modal.is-archive-viewer .edu-lsv-actions button{width:28px!important;height:28px!important;min-width:28px!important}
 .edu-lsv-code-menu{inset-block-start:6px!important;inset-inline-end:6px!important;width:188px!important}
 .edu-lsv-code-workbench .edu-lsv-code-lines{font-size:calc(12px * var(--edu-code-zoom,1))!important}
 .edu-lsv-archive-nav{min-height:36px!important;padding:3px 4px!important;gap:4px!important}
 .edu-lsv-archive-nav>label{flex:0 1 132px!important;min-width:92px!important;padding:0 6px!important}
 .edu-lsv-archive-breadcrumbs button{max-width:120px!important;padding-inline:5px!important}
 .edu-lsv-archive-list{scrollbar-gutter:auto!important;padding:2px!important}
 .edu-lsv-archive-row{min-height:40px!important;padding:4px 6px!important}
}
/* 4.0.39.19.42 — progressive source rendering: the complete source remains
   scrollable without creating tens of thousands of DOM nodes at once. */
.edu-lsv-code-more,.se-code-more{height:1px!important;min-height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* Unified subject-file library: one visual resource per subject. */
.edu-ls-item.is-subject-content{margin:0;border-radius:18px}
.edu-ls-item.is-subject-content .edu-ls-item-main strong{font-weight:900}
.edu-ls-item.is-subject-content.unavailable .edu-ls-item-open{cursor:default}
#edu-ls-resource-form input[type=file]{padding:10px;border:1px dashed color-mix(in srgb,var(--line,#64748b) 70%,transparent);border-radius:14px}

/* v4.0.39.19.46 — ordered multi-resource library + conservative HTML reader */
.edu-ls-resource-grid{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px}
.edu-ls-add-resource{width:100%;min-height:36px;border:1px dashed rgba(34,211,178,.34);border-radius:10px;background:rgba(34,211,178,.06);color:var(--primary);display:flex;align-items:center;justify-content:center;gap:7px;font-size:.6rem;font-weight:900;cursor:pointer}
.edu-ls-add-resource:hover,.edu-ls-add-resource:focus-visible{background:rgba(34,211,178,.12);border-color:rgba(34,211,178,.55);outline:none}
.edu-ls-resource-empty{min-height:56px;border:1px dashed var(--border);border-radius:11px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);font-size:.58rem}
.edu-ls-sort-tools{display:inline-flex;align-items:center;gap:4px}
.edu-ls-drag-handle{width:26px;height:30px;border-radius:8px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:grab;touch-action:none;user-select:none}
.edu-ls-item[draggable="true"]{transition:border-color .12s ease,background .12s ease,opacity .12s ease}
.edu-ls-item.is-dragging{opacity:.55}
.edu-ls-item.is-drag-over{border-color:rgba(34,211,178,.7)!important;background:rgba(34,211,178,.09)!important}
.edu-ls-subject-title-line{display:flex;align-items:center;gap:7px;min-width:0}
.edu-ls-subject-title-line>strong{min-width:0;flex:1}
.edu-ls-subject-title-line>small{flex:0 0 auto;min-width:22px;text-align:center;padding:2px 6px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:.48rem}
.edu-lsv-html-shell,.edu-lsv-html-frame{touch-action:auto!important;overscroll-behavior:auto!important}
.edu-lsv-html-frame{display:block;background:transparent}
@media(max-width:600px){
  .edu-ls-resource-grid{grid-template-columns:1fr}
  .edu-ls-sort-tools{order:3;width:100%;justify-content:flex-end}
  .edu-ls-drag-handle{display:none}
  .edu-ls-item-actions{align-items:center}
}


/* v4.0.39.19.47 — HTML native-scroll hardening.
   Do not let the generic document viewer become a second scroll container around
   an interactive lesson iframe. In particular, avoid CSS containment around the
   iframe because WebKit/iOS can lose momentum/touch scrolling in nested viewers. */
.edu-lsv-stage.is-html{
  position:relative!important;
  padding:0!important;
  overflow:hidden!important;
  contain:none!important;
  overscroll-behavior:auto!important;
  touch-action:auto!important;
  user-select:auto!important;
  -webkit-user-select:auto!important;
}
.edu-lsv-stage.is-html>.edu-lsv-html-shell{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  contain:none!important;
  overscroll-behavior:auto!important;
  touch-action:auto!important;
}
.edu-lsv-stage.is-html .edu-lsv-html-frame{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:auto!important;
  pointer-events:auto!important;
  touch-action:auto!important;
  overscroll-behavior:auto!important;
  -webkit-overflow-scrolling:touch!important;
  contain:none!important;
  transform:none!important;
}


/* v4.0.39.19.48 — persisted subject/resource sorting on mouse, touch and keyboard. */
.edu-ls-resource-list{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:9px!important;
  min-width:0!important;
}
.edu-ls-sort-tools,.edu-ls-subject-sort-tools{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:4px!important;
}
.edu-ls-drag-handle,
.edu-ls-subject-sort,
.edu-ls-subject-drag-handle{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  flex:0 0 30px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--border)!important;
  border-radius:8px!important;
  background:color-mix(in srgb,var(--card,#0f172a) 92%,transparent)!important;
  color:var(--text-muted)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  line-height:1!important;
  box-shadow:none!important;
  touch-action:none!important;
  -webkit-tap-highlight-color:transparent!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
.edu-ls-drag-handle,
.edu-ls-subject-drag-handle{cursor:grab!important}
.edu-ls-drag-handle:active,
.edu-ls-subject-drag-handle:active{cursor:grabbing!important}
.edu-ls-subject-sort:disabled{
  opacity:.34!important;
  cursor:not-allowed!important;
}
.edu-ls-drag-handle:hover,
.edu-ls-drag-handle:focus-visible,
.edu-ls-subject-sort:not(:disabled):hover,
.edu-ls-subject-sort:not(:disabled):focus-visible,
.edu-ls-subject-drag-handle:hover,
.edu-ls-subject-drag-handle:focus-visible{
  outline:0!important;
  color:var(--primary)!important;
  border-color:color-mix(in srgb,var(--primary,#22d3b2) 62%,var(--border))!important;
  background:color-mix(in srgb,var(--primary,#22d3b2) 10%,var(--card,#0f172a))!important;
}
.edu-ls-item.is-drag-armed,
.edu-ls-subject.is-drag-armed{will-change:transform,opacity}
.edu-ls-item.is-dragging,
.edu-ls-subject.is-dragging{
  opacity:.56!important;
  border-color:color-mix(in srgb,var(--primary,#22d3b2) 70%,var(--border))!important;
  box-shadow:0 10px 28px rgba(0,0,0,.18)!important;
  z-index:4!important;
}
html.edu-ls-sorting,
html.edu-ls-sorting body{
  overscroll-behavior:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
html.edu-ls-sorting .edu-ls-content{scroll-behavior:auto!important}
@media(max-width:600px){
  /* Touch sorting is supported; keep the grip visible instead of hiding it. */
  .edu-ls-drag-handle{display:inline-flex!important}
  .edu-ls-sort-tools{order:3!important;width:100%!important;justify-content:flex-end!important}
  .edu-ls-subject-sort-tools{gap:3px!important}
  .edu-ls-drag-handle,
  .edu-ls-subject-sort,
  .edu-ls-subject-drag-handle{
    width:29px!important;height:29px!important;min-width:29px!important;flex-basis:29px!important
  }
}
@media(max-width:390px){
  .edu-ls-subject-controls{gap:2px!important}
  .edu-ls-subject-sort-tools{gap:2px!important}
  .edu-ls-subject-sort,
  .edu-ls-subject-drag-handle{
    width:27px!important;height:27px!important;min-width:27px!important;flex-basis:27px!important
  }
}

/* v4.0.39.19.48 — heavy HTML/PDF reader transport refinements. */
.edu-lsv-stage.is-html .edu-lsv-html-loading{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  pointer-events:none!important;
}

/* v4.0.39.19.51 — progressive ZIP web-package startup.
   The visual shell paints immediately while critical package assets warm in
   parallel; it never intercepts pointer/touch events from a ready lesson. */
.edu-lsv-zip-shell{background:#f8fafc!important;isolation:isolate!important}
.edu-lsv-zip-shell .edu-lsv-html-frame{opacity:.01!important;transition:opacity .16s ease!important;will-change:opacity!important}
.edu-lsv-zip-shell.is-ready .edu-lsv-html-frame{opacity:1!important;will-change:auto!important}
.edu-lsv-stage.is-html .edu-lsv-zip-loading{
  z-index:5!important;
  padding:clamp(12px,3vw,28px)!important;
  background:linear-gradient(180deg,#fbfdfd 0%,#f6faf9 100%)!important;
  color:#173a36!important;
  opacity:1!important;
  transition:opacity .16s ease,visibility .16s ease!important;
}
.edu-lsv-stage.is-html .edu-lsv-zip-loading.is-complete{opacity:0!important;visibility:hidden!important}
.edu-lsv-zip-loading-card{width:min(620px,100%)!important;display:grid!important;gap:14px!important}
.edu-lsv-zip-skeleton{
  position:relative!important;
  min-height:clamp(150px,30vw,230px)!important;
  border:1px solid rgba(20,125,109,.13)!important;
  border-radius:18px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 12px 32px rgba(15,23,42,.07)!important;
}
.edu-lsv-zip-skeleton::after{
  content:""!important;position:absolute!important;inset:0!important;transform:translateX(-110%)!important;
  background:linear-gradient(100deg,transparent 22%,rgba(20,125,109,.07) 47%,transparent 72%)!important;
  animation:eduZipShimmer 1.15s ease-in-out infinite!important;
}
.edu-lsv-zip-sk-logo,.edu-lsv-zip-sk-nav,.edu-lsv-zip-sk-grid i{position:absolute!important;display:block!important;background:#e7f2f0!important;border-radius:999px!important}
.edu-lsv-zip-sk-logo{inset-block-start:20px!important;inset-inline-start:22px!important;width:92px!important;height:24px!important;border-radius:8px!important;background:#d7ebe7!important}
.edu-lsv-zip-sk-nav{inset-block-start:25px!important;width:54px!important;height:12px!important}
.edu-lsv-zip-sk-nav.a{inset-inline-end:154px!important}.edu-lsv-zip-sk-nav.b{inset-inline-end:88px!important}.edu-lsv-zip-sk-nav.c{inset-inline-end:24px!important}
.edu-lsv-zip-sk-grid{position:absolute!important;inset:72px 22px 22px!important;display:grid!important;grid-template-columns:1.4fr 1fr 1fr!important;gap:12px!important}
.edu-lsv-zip-sk-grid i{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;border-radius:14px!important;background:linear-gradient(145deg,#eaf4f2,#f4f8f7)!important}
.edu-lsv-zip-sk-grid i:first-child{background:linear-gradient(145deg,#dcefeb,#edf7f5)!important}
.edu-lsv-zip-loading-row{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:11px!important;align-items:center!important;padding:0 3px!important;text-align:start!important}
.edu-lsv-zip-loading-orb{width:42px!important;height:42px!important;border-radius:14px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(20,125,109,.10)!important;color:#147d6d!important;font-size:.9rem!important}
.edu-lsv-zip-loading-text{display:block!important;color:#183d38!important;font-size:.74rem!important;font-weight:900!important;line-height:1.45!important;margin-bottom:8px!important}
.edu-lsv-zip-progress{position:relative!important;width:100%!important;height:7px!important;border-radius:999px!important;background:#e4efed!important;overflow:hidden!important}
.edu-lsv-zip-progress-fill{display:block!important;height:100%!important;min-width:4%!important;border-radius:inherit!important;background:linear-gradient(90deg,#147d6d,#62b2a6)!important;transition:width .22s ease!important;position:relative!important}
.edu-lsv-zip-progress-fill::after{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent)!important;transform:translateX(-100%)!important;animation:eduZipProgress 1s linear infinite!important}
@keyframes eduZipShimmer{to{transform:translateX(110%)}}
@keyframes eduZipProgress{to{transform:translateX(100%)}}
@media(max-width:520px){
  .edu-lsv-zip-loading-card{gap:11px!important}.edu-lsv-zip-skeleton{min-height:148px!important;border-radius:14px!important}
  .edu-lsv-zip-sk-logo{inset-block-start:15px!important;inset-inline-start:15px!important;width:76px!important;height:20px!important}
  .edu-lsv-zip-sk-nav{inset-block-start:19px!important;width:38px!important;height:10px!important}.edu-lsv-zip-sk-nav.a{inset-inline-end:104px!important}.edu-lsv-zip-sk-nav.b{inset-inline-end:59px!important}.edu-lsv-zip-sk-nav.c{inset-inline-end:14px!important}
  .edu-lsv-zip-sk-grid{inset:55px 14px 14px!important;gap:8px!important}.edu-lsv-zip-loading-row{grid-template-columns:38px minmax(0,1fr)!important;gap:9px!important}.edu-lsv-zip-loading-orb{width:38px!important;height:38px!important;border-radius:12px!important}.edu-lsv-zip-loading-text{font-size:.68rem!important}
}
@media(prefers-reduced-motion:reduce){
  .edu-lsv-zip-skeleton::after,.edu-lsv-zip-progress-fill::after{animation:none!important}
  .edu-lsv-zip-shell .edu-lsv-html-frame,.edu-lsv-stage.is-html .edu-lsv-zip-loading,.edu-lsv-zip-progress-fill{transition:none!important}
}

/* v4.0.39.19.52 — PPTX cloud reader: instant first frame, in-platform only. */
.edu-lsv-stage.is-cloud-ppt{
  position:relative!important;
  padding:0!important;
  overflow:hidden!important;
  background:#f8fafc!important;
  contain:layout paint!important;
}
.edu-lsv-cloud-ppt{
  position:relative;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:#fff;
  isolation:isolate;
}
.edu-lsv-cloud-ppt-frame{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  border:0;
  background:#fff;
}
.edu-lsv-cloud-ppt-loading{
  position:absolute;
  inset:0;
  z-index:4;
  display:grid;
  place-items:center;
  padding:clamp(14px,4vw,34px);
  overflow:auto;
  background:linear-gradient(135deg,#f8fafc 0%,#eef2f7 100%);
  opacity:1;
  transition:opacity .28s ease,visibility .28s ease;
}
.edu-lsv-cloud-ppt.is-ready .edu-lsv-cloud-ppt-loading{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.edu-lsv-cloud-ppt-card{
  width:min(520px,100%);
  min-width:0;
  padding:clamp(15px,3.6vw,26px);
  border:1px solid #dce4ed;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 42px rgba(15,23,42,.09);
  text-align:start;
}
.edu-lsv-cloud-ppt-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  margin-bottom:14px;
  color:#334155;
  font-size:.82rem;
  font-weight:800;
}
.edu-lsv-cloud-ppt-brand i{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:10px;
  background:#f1f5f9;
  color:#475569;
}
.edu-lsv-cloud-ppt-brand span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.edu-lsv-cloud-ppt-skeleton{
  display:grid;
  grid-template-columns:1.8fr 1fr;
  grid-template-rows:24px 82px 24px;
  gap:9px;
  width:100%;
  aspect-ratio:16/8.6;
  max-height:210px;
  margin-bottom:15px;
  padding:13px;
  border:1px solid #e2e8f0;
  border-radius:13px;
  background:#f8fafc;
  overflow:hidden;
}
.edu-lsv-cloud-ppt-skeleton span{display:block;border-radius:7px;background:#e5eaf0;animation:eduPptPulse 1.1s ease-in-out infinite alternate}
.edu-lsv-cloud-ppt-skeleton span:nth-child(1){grid-column:1/3;width:52%}
.edu-lsv-cloud-ppt-skeleton span:nth-child(2){grid-column:1;grid-row:2}
.edu-lsv-cloud-ppt-skeleton span:nth-child(3){grid-column:2;grid-row:2;background:#dde3ea}
.edu-lsv-cloud-ppt-skeleton span:nth-child(4){grid-column:1/3;grid-row:3;width:68%}
@keyframes eduPptPulse{from{opacity:.55}to{opacity:1}}
.edu-lsv-cloud-ppt-card>strong{
  display:block;
  margin:0 0 9px;
  color:#0f172a;
  font-size:clamp(.9rem,2.6vw,1rem);
  line-height:1.45;
}
.edu-lsv-cloud-ppt-progress{
  width:100%;
  height:7px;
  margin:0 0 10px;
  overflow:hidden;
  border-radius:999px;
  background:#e7edf3;
}
.edu-lsv-cloud-ppt-progress>span{
  display:block;
  width:10%;
  height:100%;
  border-radius:inherit;
  background:var(--edu-accent,#147d6d);
  transition:width .28s ease;
}
.edu-lsv-cloud-ppt-card>small{
  display:block;
  color:#64748b;
  font-size:.72rem;
  line-height:1.55;
}
.edu-lsv-cloud-ppt-card>button{
  display:none;
  width:100%;
  min-height:44px;
  margin-top:13px;
  padding:9px 14px;
  border:1px solid #cbd5e1;
  border-radius:11px;
  background:#fff;
  color:#334155;
  font:inherit;
  font-size:.82rem;
  font-weight:800;
  cursor:pointer;
}
.edu-lsv-cloud-ppt.is-slow .edu-lsv-cloud-ppt-card>button,
.edu-lsv-cloud-ppt.is-error .edu-lsv-cloud-ppt-card>button{display:block}
.edu-lsv-cloud-ppt-card>button[hidden]{display:none!important}
.edu-lsv-modal.is-cloud-ppt-viewer #edu-lsv-fullscreen{display:inline-grid!important}
.edu-lsv-modal.is-cloud-ppt-viewer .edu-lsv-head{position:relative;z-index:8}
@media (max-width:600px){
 .edu-lsv-cloud-ppt-loading{padding:10px}
 .edu-lsv-cloud-ppt-card{padding:13px;border-radius:14px}
 .edu-lsv-cloud-ppt-skeleton{max-height:150px;padding:9px;grid-template-rows:18px 58px 18px}
}
@media (prefers-reduced-motion:reduce){
 .edu-lsv-cloud-ppt-loading,.edu-lsv-cloud-ppt-progress>span{transition:none!important}
 .edu-lsv-cloud-ppt-skeleton span{animation:none!important}
}

/* Library list virtualization hint: off-screen cards do not need layout/paint
   until they approach the scrollport. This is a browser-native optimization;
   unsupported browsers simply ignore it. */
@supports (content-visibility:auto){
  .edu-ls-subject:not(.open){content-visibility:auto;contain-intrinsic-size:auto 64px}
  .edu-ls-subject.open .edu-ls-item{content-visibility:auto;contain-intrinsic-size:auto 62px}
}


/* v4.0.39.19.53 — anti-blur + instant-first-paint hardening for PDF/PPTX.
   The generic glass modal forced an extra compositing layer around canvases and
   cross-origin document iframes on some mobile GPUs. The learning viewer is an
   opaque document surface, so it does not need that expensive blur pipeline. */
#app #m-lesson-viewer.edu-lsv-modal{
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  background:rgba(2,6,20,.82)!important;
}
#app #m-lesson-viewer .edu-lsv-box{
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  filter:none!important;transform:none!important;animation:none!important;
  background:#071026!important;will-change:auto!important;
}
#app #m-lesson-viewer .edu-lsv-stage.is-pdf,
#app #m-lesson-viewer .edu-lsv-stage.is-cloud-ppt{
  contain:none!important;filter:none!important;transform:none!important;
}
#app #m-lesson-viewer .edu-lsv-pdf-page,
#app #m-lesson-viewer .edu-lsv-pdf-page-canvas{
  filter:none!important;transform:none!important;opacity:1!important;
  backface-visibility:visible!important;will-change:auto!important;
}
#app #m-lesson-viewer .edu-lsv-pdf-page-canvas{
  image-rendering:auto!important;
}
.edu-lsv-cloud-ppt-frame{
  /* Keep the cross-origin viewer paint-active under the opaque loading layer.
     visibility:hidden can postpone Office/Google rasterization until reveal,
     which creates the exact late blurry frame we want to avoid. */
  opacity:.001;visibility:visible;pointer-events:none;
  filter:none!important;transform:none!important;backface-visibility:visible!important;
  contain:none!important;will-change:auto!important;
  transition:opacity .12s linear;
}
.edu-lsv-cloud-ppt-frame.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.edu-lsv-cloud-ppt-preview{
  position:relative;width:100%;aspect-ratio:var(--edu-ppt-preview-ratio,16/9);
  margin-bottom:15px;overflow:hidden;border:1px solid #e2e8f0;border-radius:13px;background:#fff;
  isolation:isolate;
}
.edu-lsv-cloud-ppt-preview>.edu-lsv-cloud-ppt-skeleton{position:absolute;inset:0;width:100%;height:100%;max-height:none;margin:0;border:0;border-radius:0}
.edu-lsv-cloud-ppt-preview.has-preview>.edu-lsv-cloud-ppt-skeleton{display:none!important}
.edu-lsv-cloud-ppt-preview .edu-lsv-ppt-page{width:100%!important;height:100%!important;min-height:0!important;margin:0!important;box-shadow:none!important;background:#fff!important}
.edu-lsv-cloud-ppt-preview .edu-lsv-slide-wrap{display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important}
.edu-lsv-cloud-ppt-preview .edu-lsv-slide{display:block!important;width:100%!important;height:100%!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;container-type:inline-size!important;background:#fff}
.edu-lsv-cloud-ppt-preview .edu-lsv-slide-el{transform-origin:center center}
.edu-lsv-cloud-ppt-preview .edu-lsv-slide-image img{width:100%!important;height:100%!important;object-fit:contain!important;image-rendering:auto!important}
@media(max-width:600px){.edu-lsv-cloud-ppt-preview{margin-bottom:11px;border-radius:9px}}
@media(prefers-reduced-motion:reduce){.edu-lsv-cloud-ppt-frame{transition:none!important}}

/* ═══════════════════════════════════════════════════════════════════════════
   4.0.39.19.54 — legacy native PPTX reader (unused in v4.0.39.19.55)
   DOM/SVG only: no remote iframe, no canvas raster zoom, no CSS scale/blur. */
.edu-lsv-modal.is-native-ppt-viewer .edu-lsv-stage.is-native-ppt{
  padding:0!important;overflow:hidden!important;background:#2f343b!important;
  align-items:stretch!important;justify-content:stretch!important;contain:none!important;
  filter:none!important;transform:none!important;
}
.edu-pptn-reader{
  position:relative;width:100%;height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;
  overflow:hidden;background:#2f343b;filter:none!important;transform:none!important;backdrop-filter:none!important;
}
.edu-pptn-viewport{
  position:relative;flex:1 1 auto;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;background:#343a42;outline:0;
  scrollbar-gutter:stable both-edges;
}
.edu-pptn-host{
  min-width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:10px;
  box-sizing:border-box;position:relative;direction:ltr;
}
.edu-pptn-slide{
  position:relative;flex:0 0 auto;overflow:hidden;container-type:inline-size;background:#fff;
  border:0;border-radius:2px;box-shadow:0 3px 18px rgba(0,0,0,.32);
  filter:none!important;transform:none!important;backface-visibility:visible!important;will-change:auto!important;
  image-rendering:auto!important;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;
}
.edu-pptn-el{position:absolute;box-sizing:border-box;overflow:hidden;transform-origin:center center;filter:none!important;backface-visibility:visible!important}
.edu-pptn-shape-svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;shape-rendering:geometricPrecision}
.edu-pptn-textbox{
  position:absolute;inset:0;box-sizing:border-box;display:flex;flex-direction:column;min-width:0;min-height:0;
  overflow:hidden;white-space:normal;line-height:1.08;unicode-bidi:plaintext;color:#1f2937;
}
.edu-pptn-par{display:block;min-height:.45em;margin:0;box-sizing:border-box;overflow-wrap:normal;word-break:normal;white-space:pre-wrap}
.edu-pptn-par+.edu-pptn-par{margin-top:.10em}.edu-pptn-bullet{display:inline-block;min-width:1.05em;margin-inline-end:.18em;text-align:center}
.edu-pptn-image{overflow:hidden;background:transparent}.edu-pptn-image>img{
  position:absolute;display:block;max-width:none!important;max-height:none!important;object-fit:fill!important;
  image-rendering:auto!important;filter:none!important;transform:none!important;backface-visibility:visible!important;
}
.edu-pptn-table{background:transparent}.edu-pptn-table table{width:100%;height:100%;border-collapse:collapse;border-spacing:0;table-layout:fixed;font-family:Tajawal,"Space Grotesk",Jost,Arial,sans-serif;background:transparent}
.edu-pptn-table td{border:1px solid rgba(100,116,139,.42);padding:clamp(1px,.42cqw,8px);font-size:clamp(6px,1.45cqw,24px);line-height:1.06;vertical-align:middle;overflow:hidden;overflow-wrap:anywhere;color:#1f2937;box-sizing:border-box}
.edu-pptn-chart{background:#fff}.edu-pptn-chart-svg{display:block;width:100%;height:100%;overflow:hidden;background:#fff;font-family:Tajawal,"Space Grotesk",Arial,sans-serif}
.edu-pptn-chart-title{font-size:18px;font-weight:800;fill:#1f2937}.edu-pptn-chart-label{font-size:10px;fill:#475569}.edu-pptn-axis{stroke:#94a3b8;stroke-width:1;vector-effect:non-scaling-stroke}
.edu-pptn-pager{
  flex:0 0 46px;min-height:46px;display:flex;align-items:center;justify-content:center;gap:12px;padding:5px 10px;
  border-top:1px solid rgba(148,163,184,.24);background:#0b1727;color:#e2e8f0;box-sizing:border-box;
}
.edu-pptn-pager button{width:34px;height:34px;min-width:34px;border:1px solid rgba(148,163,184,.34);border-radius:9px;background:rgba(255,255,255,.06);color:#e2e8f0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.edu-pptn-pager button:hover,.edu-pptn-pager button:focus-visible{border-color:#2dd4bf;color:#5eead4;background:rgba(45,212,191,.10);outline:0}.edu-pptn-pager button:disabled{opacity:.32;cursor:not-allowed}
#edu-pptn-count{min-width:84px;text-align:center;font:800 12px/1 "Space Grotesk",Jost,sans-serif}
.edu-pptn-skeleton,.edu-pptn-error{
  width:min(620px,calc(100% - 24px));aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  border:1px solid rgba(148,163,184,.24);border-radius:10px;background:#f8fafc;color:#64748b;box-sizing:border-box;text-align:center;padding:18px;
}
.edu-pptn-skeleton>i,.edu-pptn-error>i{font-size:2rem;color:#f97316}.edu-pptn-skeleton>span,.edu-pptn-error>span{font-size:12px;font-weight:800}.edu-pptn-skeleton>b{display:block;width:min(260px,70%);height:5px;border-radius:999px;overflow:hidden;background:#e2e8f0;position:relative}
.edu-pptn-skeleton>b::after{content:"";position:absolute;inset:0 auto 0 0;width:42%;border-radius:inherit;background:#14b8a6;animation:eduPptnLoad 1s ease-in-out infinite alternate}
@keyframes eduPptnLoad{from{transform:translateX(0)}to{transform:translateX(140%)}}
.edu-pptn-busy{position:absolute;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:8px;background:rgba(15,23,42,.14);color:#fff;pointer-events:none;font-size:11px;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.edu-pptn-busy>span{padding:6px 9px;border-radius:8px;background:rgba(15,23,42,.76)}
.edu-lsv-modal.is-native-ppt-viewer #edu-lsv-download{display:none!important}
.edu-lsv-modal.is-native-ppt-viewer .edu-lsv-pdf-menu-grid{grid-template-columns:repeat(4,1fr)!important}
.edu-lsv-modal.is-native-ppt-viewer .edu-lsv-pdf-menu-grid a{display:none!important}
@media(max-width:700px){
  .edu-pptn-host{padding:2px}.edu-pptn-pager{flex-basis:42px;min-height:42px;padding:3px 6px;gap:9px}
  .edu-pptn-pager button{width:32px;height:32px;min-width:32px}.edu-pptn-slide{border-radius:0;box-shadow:0 1px 5px rgba(0,0,0,.25)}
  .edu-pptn-table td{font-size:clamp(5px,1.55cqw,18px);padding:clamp(1px,.32cqw,5px)}
}
@media(max-width:360px){.edu-pptn-pager{flex-basis:38px;min-height:38px}.edu-pptn-pager button{width:29px;height:29px;min-width:29px}#edu-pptn-count{font-size:10px;min-width:68px}}
@media(prefers-reduced-motion:reduce){.edu-pptn-skeleton>b::after{animation:none;width:70%}}


/* v4.0.39.19.55 — Google-direct PPTX + interactive PDF internal links. */
.edu-lsv-google-ppt .edu-lsv-cloud-ppt-frame{
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  filter:none!important;transform:none!important;transition:none!important;
}
.edu-lsv-google-ppt-status{
  inset:10px 10px auto auto!important;
  width:min(330px,calc(100% - 20px))!important;
  height:auto!important;
  min-height:0!important;
  place-items:stretch!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  pointer-events:none!important;
  transition:opacity .16s ease,visibility .16s ease!important;
}
.edu-lsv-google-ppt-status .edu-lsv-cloud-ppt-card{
  width:100%!important;padding:9px 11px!important;border-radius:11px!important;
  background:rgba(255,255,255,.96)!important;box-shadow:0 8px 24px rgba(15,23,42,.13)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.edu-lsv-google-ppt-status .edu-lsv-cloud-ppt-brand{margin:0 0 5px!important;font-size:.68rem!important;gap:7px!important}
.edu-lsv-google-ppt-status .edu-lsv-cloud-ppt-brand i{width:25px!important;height:25px!important;flex-basis:25px!important;border-radius:7px!important}
.edu-lsv-google-ppt-status .edu-lsv-cloud-ppt-card>strong{margin:0 0 5px!important;font-size:.72rem!important;line-height:1.3!important}
.edu-lsv-google-ppt-status .edu-lsv-cloud-ppt-progress{height:4px!important;margin:0 0 4px!important}
.edu-lsv-google-ppt-status .edu-lsv-cloud-ppt-card>small{font-size:.6rem!important;line-height:1.3!important}
.edu-lsv-google-ppt.is-ready .edu-lsv-google-ppt-status{opacity:0!important;visibility:hidden!important}
@media(max-width:600px){.edu-lsv-google-ppt-status{inset:6px 6px auto 6px!important;width:auto!important}.edu-lsv-google-ppt-status .edu-lsv-cloud-ppt-card{padding:7px 9px!important}}

.edu-lsv-pdf-link-layer{
  position:absolute!important;inset:0!important;z-index:4!important;
  width:100%!important;height:100%!important;pointer-events:none!important;
}
.edu-lsv-pdf-link-hit{
  position:absolute!important;display:block!important;box-sizing:border-box!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:2px!important;
  background:transparent!important;color:transparent!important;opacity:1!important;
  pointer-events:auto!important;cursor:pointer!important;touch-action:manipulation!important;
  -webkit-tap-highlight-color:rgba(20,125,109,.12)!important;
}
.edu-lsv-pdf-link-hit:hover,.edu-lsv-pdf-link-hit:focus-visible{
  outline:2px solid rgba(20,125,109,.38)!important;outline-offset:-1px!important;
  background:rgba(20,125,109,.045)!important;
}
@media(hover:none){.edu-lsv-pdf-link-hit:active{background:rgba(20,125,109,.08)!important}}


/* Protected same-domain WEB/LINK reader v4.0.39.19.59 */
#edu-lsv-stage.is-web-resource{padding:0!important;overflow:hidden!important;background:#fff!important;min-height:0}
.edu-lsv-web-shell{position:relative;width:100%;height:100%;min-height:clamp(360px,68vh,920px);background:#fff;overflow:hidden}
.edu-lsv-web-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff;opacity:0;transition:opacity .16s ease}
.edu-lsv-web-shell.is-ready .edu-lsv-web-frame{opacity:1}
.edu-lsv-web-loading{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;background:var(--surface,#fff);color:var(--text-primary,#172033);transition:opacity .16s ease}
.edu-lsv-web-loading.is-complete{opacity:0;pointer-events:none}
.edu-lsv-web-orb{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:rgba(20,125,109,.11);color:#147d6d;font-size:20px;animation:eduWebPulse 1.25s ease-in-out infinite}
.edu-lsv-web-skeleton{width:min(520px,82%);display:grid;gap:8px;margin-top:5px}
.edu-lsv-web-skeleton i{display:block;height:10px;border-radius:999px;background:linear-gradient(90deg,rgba(120,130,145,.10),rgba(120,130,145,.24),rgba(120,130,145,.10));background-size:220% 100%;animation:eduWebShimmer 1.25s linear infinite}
.edu-lsv-web-skeleton i:nth-child(2){width:82%}.edu-lsv-web-skeleton i:nth-child(3){width:64%}
@keyframes eduWebPulse{50%{transform:scale(.94);opacity:.72}}@keyframes eduWebShimmer{to{background-position:-220% 0}}
@media(max-width:640px){.edu-lsv-web-shell{min-height:72vh}.edu-lsv-web-loading{padding:18px}}
@media(prefers-reduced-motion:reduce){.edu-lsv-web-frame,.edu-lsv-web-loading{transition:none}.edu-lsv-web-orb,.edu-lsv-web-skeleton i{animation:none}}
/* 4.0.39.19.61 — smart LINK/WEB reader: YouTube direct player + interactive domain-locked web view. */
.edu-lsv-web-shell.is-youtube{background:#000;min-height:clamp(280px,68vh,920px)}
.edu-lsv-web-shell.is-youtube .edu-lsv-web-frame{background:#000}
.edu-lsv-web-shell.is-youtube .edu-lsv-web-loading{background:#000;color:#fff}
.edu-lsv-web-shell.is-youtube .edu-lsv-web-orb{background:rgba(255,255,255,.12);color:#fff}
.edu-lsv-web-shell.is-youtube .edu-lsv-web-skeleton i{background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.22),rgba(255,255,255,.08));background-size:220% 100%}


/* 4.0.39.19.62 — physical PDF page indicator + account resume.
   This badge reports the PDF page index from the reader, not numbers printed
   inside the document artwork. Keep it visible on phones and desktops. */
#app #m-lesson-viewer.is-pdf-viewer #edu-lsv-page:not(.hidden){
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:auto!important;min-width:62px!important;max-width:92px!important;height:28px!important;
  padding:0 8px!important;margin:0!important;flex:0 0 auto!important;border:1px solid rgba(45,212,191,.32)!important;
  border-radius:9px!important;background:rgba(20,125,109,.14)!important;color:#d8fffa!important;
  font:850 10px/1 Jost,"Space Grotesk",sans-serif!important;letter-spacing:.01em!important;white-space:nowrap!important;
  direction:ltr!important;text-align:center!important;user-select:none!important;-webkit-user-select:none!important;
}
@media(max-width:520px){#app #m-lesson-viewer.is-pdf-viewer #edu-lsv-page:not(.hidden){min-width:54px!important;max-width:72px!important;height:27px!important;padding-inline:5px!important;font-size:9px!important}}


/* 4.0.39.19.63 — first-party native domain-locked WEB reader.
   Same-site links render with the student's normal browser session, bypassing
   server-to-server bot/WAF challenge pages while remaining inside the lesson. */
.edu-lsv-web-shell.is-first-party .edu-lsv-web-frame{overscroll-behavior:contain}
.edu-lsv-web-shell.is-first-party{background:#fff}

/* 4.0.39.19.65 — ordered recorded lessons: admin editor + fast YouTube series reader. */
.edu-ls-video-series-field{display:flex;flex-direction:column;gap:10px;min-width:0}
.edu-ls-video-series-field.hidden{display:none!important}
.edu-ls-video-series-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.edu-ls-video-series-head>strong{font-size:.68rem;color:var(--text-primary,#e5eefc)}
.edu-ls-video-add{min-height:36px;border:1px solid rgba(34,211,178,.32);border-radius:10px;background:rgba(34,211,178,.09);color:var(--primary,#22d3b2);font:800 .58rem/1 inherit;padding:0 12px;display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.edu-ls-video-series-list{display:flex;flex-direction:column;gap:8px;min-width:0}
.edu-ls-video-row{display:grid;grid-template-columns:32px minmax(150px,.8fr) minmax(220px,1.4fr) auto;gap:8px;align-items:end;padding:9px;border:1px solid var(--border,rgba(148,163,184,.2));border-radius:12px;background:rgba(255,255,255,.025);min-width:0}
.edu-ls-video-row.is-invalid{border-color:#ef4444!important;background:rgba(239,68,68,.06)!important}
.edu-ls-video-number{width:28px;height:28px;align-self:center;border-radius:9px;display:grid;place-items:center;background:rgba(34,211,178,.1);color:var(--primary,#22d3b2);font-size:.6rem;font-weight:900}
.edu-ls-video-row label{display:flex;flex-direction:column;gap:5px;min-width:0}
.edu-ls-video-row label>span{font-size:.52rem;color:var(--text-muted,#94a3b8);font-weight:800}
.edu-ls-video-row input{width:100%;min-width:0;box-sizing:border-box}
.edu-ls-video-row-actions{display:flex;align-items:center;gap:5px}
.edu-ls-video-row-actions button{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;border:1px solid var(--border,rgba(148,163,184,.24));background:rgba(255,255,255,.04);color:var(--text-secondary,#cbd5e1);cursor:pointer}
.edu-ls-video-row-actions button:disabled{opacity:.35;cursor:default}
.edu-ls-video-row-actions button.danger{color:#fb7185;border-color:rgba(251,113,133,.28);background:rgba(251,113,133,.06)}
#edu-lsv-stage.is-video-series{padding:0!important;overflow:hidden!important;align-items:stretch!important;justify-content:stretch!important;background:#07101d!important;user-select:auto!important;-webkit-user-select:auto!important}
.edu-lsv-video-series{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);background:#07101d;color:#eef6ff}
.edu-lsv-video-player-pane{min-width:0;min-height:0;padding:14px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:10px;overflow:auto}
.edu-lsv-video-frame-wrap{position:relative;width:min(100%,1180px);margin:auto;aspect-ratio:16/9;max-height:calc(100% - 52px);background:#000;border-radius:14px;overflow:hidden;box-shadow:0 18px 55px rgba(0,0,0,.36)}
.edu-lsv-video-frame-wrap iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;border-radius:0!important;background:#000!important}
.edu-lsv-video-loader{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:#000;color:#fff;font-size:22px;pointer-events:none;transition:opacity .14s ease}
.edu-lsv-video-loader.hidden{opacity:0;visibility:hidden}
.edu-lsv-video-now{width:min(100%,1180px);margin:0 auto;display:flex;align-items:center;gap:10px;min-width:0;padding:0 2px}
.edu-lsv-video-now>span{flex:0 0 auto;border-radius:999px;padding:5px 9px;background:rgba(34,211,178,.1);color:#62d9c6;font-size:.55rem;font-weight:900}
.edu-lsv-video-now>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem}
.edu-lsv-video-list{min-width:0;min-height:0;border-inline-start:1px solid rgba(148,163,184,.18);background:#0b1423;display:flex;flex-direction:column}
.edu-lsv-video-list-head{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid rgba(148,163,184,.16);font-size:.62rem}
.edu-lsv-video-list-head i{color:#62d9c6}.edu-lsv-video-list-head strong{flex:1}.edu-lsv-video-list-head span{min-width:28px;height:24px;padding:0 7px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.06);font-size:.52rem}
.edu-lsv-video-list-scroll{min-height:0;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:7px;overscroll-behavior:contain}
.edu-lsv-video-item{width:100%;min-width:0;border:1px solid transparent;border-radius:11px;background:transparent;color:inherit;padding:6px;display:grid;grid-template-columns:112px minmax(0,1fr);gap:9px;align-items:center;text-align:start;cursor:pointer;transition:background .14s ease,border-color .14s ease}
.edu-lsv-video-item:hover,.edu-lsv-video-item:focus-visible{background:rgba(255,255,255,.055);outline:none;border-color:rgba(98,217,198,.26)}
.edu-lsv-video-item.active{background:rgba(34,211,178,.09);border-color:rgba(98,217,198,.38)}
.edu-lsv-video-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#101827}
.edu-lsv-video-thumb img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important;max-width:none!important;max-height:none!important;border-radius:0!important;pointer-events:none}
.edu-lsv-video-thumb i{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:18px;text-shadow:0 2px 8px #000;background:linear-gradient(transparent,rgba(0,0,0,.18));pointer-events:none}
.edu-lsv-video-info{min-width:0;display:flex;flex-direction:column;gap:5px}.edu-lsv-video-info b{font-size:.59rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.edu-lsv-video-info small{font-size:.49rem;color:#94a3b8}
#app[data-theme="light"] .edu-lsv-video-series{background:#edf3f7;color:#172033}#app[data-theme="light"] .edu-lsv-video-list{background:#fff;border-color:#dbe4ec}#app[data-theme="light"] .edu-lsv-video-item{color:#172033}#app[data-theme="light"] .edu-lsv-video-item.active{background:#e8f7f4}
@media(max-width:820px){.edu-ls-video-row{grid-template-columns:30px minmax(0,1fr) auto}.edu-ls-video-row label:nth-of-type(2){grid-column:2/-1}.edu-lsv-video-series{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.edu-lsv-video-player-pane{padding:8px;overflow:visible}.edu-lsv-video-frame-wrap{width:100%;max-height:none;border-radius:10px}.edu-lsv-video-list{border-inline-start:0;border-top:1px solid rgba(148,163,184,.18);min-height:0}.edu-lsv-video-list-scroll{padding:6px}.edu-lsv-video-item{grid-template-columns:100px minmax(0,1fr)}}
@media(max-width:520px){.edu-ls-video-row{grid-template-columns:28px minmax(0,1fr)}.edu-ls-video-row label,.edu-ls-video-row label:nth-of-type(2){grid-column:2}.edu-ls-video-row-actions{grid-column:2;justify-content:flex-end}.edu-lsv-video-player-pane{padding:5px;gap:6px}.edu-lsv-video-now>strong{font-size:.59rem}.edu-lsv-video-item{grid-template-columns:86px minmax(0,1fr);padding:5px}.edu-lsv-video-list-head{padding:8px 9px}}
@media(prefers-reduced-motion:reduce){.edu-lsv-video-item,.edu-lsv-video-loader{transition:none!important}}

/* 4.0.39.19.67 — clean lightweight readers.
   The old protection footer is intentionally removed from every lesson reader. */
#app #m-lesson-viewer .edu-lsv-foot{display:none!important}
#app #m-lesson-viewer .edu-lsv-box{box-shadow:none!important}
#app #m-lesson-viewer .edu-lsv-stage,
#app #m-lesson-viewer .edu-lsv-html-shell,
#app #m-lesson-viewer .edu-lsv-video-series,
#app #m-lesson-viewer .edu-lsv-cloud-ppt,
#app #m-lesson-viewer .edu-lsv-pdf-local{contain:layout paint!important}
#app #m-lesson-viewer .edu-lsv-pdf-menu-toggle,
#app #m-lesson-viewer .edu-lsv-pdf-menu,
#app #m-lesson-viewer .edu-lsv-head{
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important
}
#app #m-lesson-viewer .edu-lsv-pdf-menu-toggle{box-shadow:0 2px 7px rgba(0,0,0,.18)!important}
#app #m-lesson-viewer .edu-lsv-pdf-menu{box-shadow:0 5px 16px rgba(0,0,0,.18)!important}
#app #m-lesson-viewer .edu-lsv-pdf-page{box-shadow:0 1px 4px rgba(0,0,0,.18)!important;content-visibility:auto;contain-intrinsic-size:auto 900px}
#app #m-lesson-viewer .edu-lsv-pdf-pages{transform-origin:top center;transition:none!important}
#app #m-lesson-viewer .edu-lsv-pdf-page-canvas{transition:none!important;transform:none!important;filter:none!important}
#app #m-lesson-viewer .edu-lsv-cloud-ppt-loading,
#app #m-lesson-viewer .edu-lsv-cloud-ppt-progress>span,
#app #m-lesson-viewer .edu-lsv-video-loader,
#app #m-lesson-viewer .edu-lsv-html-frame{transition:none!important}
#app #m-lesson-viewer .edu-lsv-cloud-ppt-card{box-shadow:none!important;border-radius:12px!important}
#app #m-lesson-viewer .edu-lsv-video-frame-wrap{box-shadow:none!important;border-radius:10px!important}
#app #m-lesson-viewer .edu-lsv-video-item{content-visibility:auto;contain-intrinsic-size:auto 78px;transition:none!important}
#app #m-lesson-viewer .edu-lsv-video-thumb i{background:rgba(0,0,0,.08)!important;text-shadow:none!important}
#app #m-lesson-viewer .edu-lsv-stage.is-html>.edu-lsv-html-shell{box-shadow:none!important}
#app #m-lesson-viewer .edu-lsv-stage.is-html .edu-lsv-html-frame{contain:strict!important;border-radius:0!important}

/* Python/WASM learning resource — isolated and responsive. */
.edu-lsv-stage.is-python-resource{padding:0!important;overflow:hidden!important;background:#07111d!important;overscroll-behavior:contain}
.edu-lsv-python-host{width:100%;height:clamp(430px,72vh,980px);min-height:430px;display:block;overflow:hidden;background:#07111d;contain:strict}
.edu-lsv-python-frame{display:block;width:100%;height:100%;min-height:430px;border:0;background:#07111d;color-scheme:dark light}
.edu-lsv-python-bootstrap{min-height:clamp(430px,72vh,980px);display:grid;place-content:center;justify-items:center;gap:12px;color:#e8eef7;background:#07111d;text-align:center}
.edu-lsv-python-bootstrap i{font-size:30px}.edu-lsv-python-bootstrap strong{font-size:20px}.edu-lsv-python-bootstrap span{font-size:13px;opacity:.78}
@media(max-width:700px){.edu-lsv-python-host,.edu-lsv-python-frame{height:72vh;min-height:390px}.edu-lsv-python-bootstrap{min-height:390px}}
@media(max-width:700px){#app #m-lesson-viewer .edu-lsv-pdf-page{box-shadow:none!important}}

/* ══════════════════════════════════════════════════════════════
   v4.0.39.20.00 — programme subjects inside the Learning Library
   Library-only nesting: does not alter assignments/groups/report subjects.
   ══════════════════════════════════════════════════════════════ */
.edu-ls-programme-subjects{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
}
.edu-ls-programme-subject{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid var(--border)!important;
  border-radius:14px!important;
  background:rgba(34,211,178,.025)!important;
}
.edu-ls-programme-subject-head{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  min-width:0!important;
  min-height:58px!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) 32px!important;
  align-items:center!important;
  gap:9px!important;
  padding:9px 10px!important;
  border:0!important;
  background:transparent!important;
  color:var(--text-primary)!important;
  text-align:start!important;
  cursor:pointer!important;
  font:inherit!important;
}
.edu-ls-programme-subject-head:hover{background:rgba(34,211,178,.045)!important}
.edu-ls-programme-subject-mark{
  width:38px!important;
  height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:11px!important;
  background:rgba(34,211,178,.12)!important;
  color:var(--primary)!important;
  font-weight:950!important;
  overflow:hidden!important;
}
.edu-ls-programme-subject-title{min-width:0!important;display:block!important}
.edu-ls-programme-subject-title strong{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:var(--text-primary)!important;
  font-size:.72rem!important;
  font-weight:950!important;
  line-height:1.35!important;
}
.edu-ls-programme-subject-title small{
  display:block!important;
  color:var(--text-muted)!important;
  font-size:.54rem!important;
  margin-top:2px!important;
}
.edu-ls-programme-subject-head .edu-ls-toggle-chip{justify-self:end!important}
.edu-ls-programme-subject .edu-ls-chevron{transform:none!important;transition:transform .2s ease!important}
.edu-ls-programme-subject.open>.edu-ls-programme-subject-head .edu-ls-chevron{transform:rotate(180deg)!important}
.edu-ls-programme-subject-body{
  display:none!important;
  min-width:0!important;
  padding:0 9px 9px!important;
}
.edu-ls-programme-subject.open>.edu-ls-programme-subject-body{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
}
.edu-ls-programme-resource-list{width:100%!important;min-width:0!important}
.edu-ls-programme-empty{margin:0!important}
#app[data-theme="light"] .edu-ls-programme-subject{background:#fff!important}

@media (max-width:760px){
  .edu-ls-programme-subjects{grid-template-columns:1fr!important;gap:7px!important}
  .edu-ls-programme-subject-head{min-height:52px!important;grid-template-columns:34px minmax(0,1fr) 30px!important;padding:7px 8px!important;gap:7px!important}
  .edu-ls-programme-subject-mark{width:34px!important;height:34px!important;border-radius:10px!important}
  .edu-ls-programme-subject-title strong{font-size:.67rem!important}
  .edu-ls-programme-subject-title small{font-size:.5rem!important}
  .edu-ls-programme-subject-body{padding:0 7px 7px!important}
}
@media (max-width:380px){
  .edu-ls-programme-subject-head{grid-template-columns:30px minmax(0,1fr) 27px!important;min-height:48px!important;padding:6px!important;gap:6px!important}
  .edu-ls-programme-subject-mark{width:30px!important;height:30px!important;font-size:.62rem!important}
  .edu-ls-programme-subject-title strong{font-size:.61rem!important}
  .edu-ls-programme-subject-title small{font-size:.46rem!important}
}

/* === SININBE bundled source: includes/message-viewer/message-viewer.css === */
/*
 * SININBE EDU 3.1 — universal local reader.
 * Loaded after the legacy reader stylesheet so these rules are the final
 * responsive layout authority for both library and message attachments.
 */

#m-lesson-viewer {
  align-items: center !important;
  justify-content: center !important;
  padding:
    max(8px, env(safe-area-inset-top))
    max(8px, env(safe-area-inset-right))
    max(8px, env(safe-area-inset-bottom))
    max(8px, env(safe-area-inset-left)) !important;
  overflow: hidden !important;
  overscroll-behavior: contain;
}

#m-lesson-viewer .edu-lsv-box {
  width: min(1440px, 100%) !important;
  height: min(980px, 100%) !important;
  max-width: 1440px !important;
  max-height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto;
  padding: 0 !important;
  border: 1px solid rgba(148, 163, 184, .22) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  background: #07111f !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .52) !important;
}

#m-lesson-viewer.is-expanded {
  padding: 0 !important;
}

#m-lesson-viewer.is-expanded .edu-lsv-box {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}

#m-lesson-viewer .edu-lsv-head {
  min-width: 0;
  min-height: 62px;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 9px 12px !important;
  background: rgba(5, 14, 27, .98) !important;
}

#m-lesson-viewer .edu-lsv-title-wrap,
#m-lesson-viewer .edu-lsv-title-wrap > div:last-child {
  min-width: 0;
}

#m-lesson-viewer .edu-lsv-title-wrap strong {
  max-width: 100%;
  font-size: clamp(.72rem, 1.4vw, .86rem) !important;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

#m-lesson-viewer .edu-lsv-actions {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}

#m-lesson-viewer .edu-lsv-actions button,
#m-lesson-viewer .edu-lsv-actions a {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  border-radius: 11px !important;
}

#m-lesson-viewer .edu-lsv-stage {
  width: 100%;
  min-width: 0;
  min-height: 0;
  overflow: auto !important;
  padding: clamp(8px, 2.2vw, 24px) !important;
  align-items: flex-start !important;
  background:
    radial-gradient(circle at 15% 0, rgba(45, 212, 191, .08), transparent 32%),
    #0b1320 !important;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

#m-lesson-viewer .edu-lsv-stage,
#m-lesson-viewer .edu-lsv-stage *:not(.fa):not(.fas):not(.far):not(.fab) {
  font-family: "Space Grotesk", "Tajawal" !important;
}

#m-lesson-viewer .edu-lsv-stage [dir="rtl"],
#m-lesson-viewer .edu-lsv-stage [dir="auto"]:dir(rtl) {
  direction: rtl;
  text-align: start;
  unicode-bidi: plaintext;
  font-family: "Tajawal", "Space Grotesk" !important;
}

#m-lesson-viewer .edu-lsv-stage [dir="ltr"],
#m-lesson-viewer .edu-lsv-stage [dir="auto"]:dir(ltr) {
  direction: ltr;
  text-align: start;
  unicode-bidi: plaintext;
  font-family: "Space Grotesk", "Tajawal" !important;
}

#m-lesson-viewer .edu-lsv-code-view,
#m-lesson-viewer .edu-lsv-code-view *,
#m-lesson-viewer pre,
#m-lesson-viewer code {
  direction: ltr !important;
  text-align: left !important;
  unicode-bidi: isolate !important;
  font-family: "Space Grotesk", "Tajawal" !important;
}

#m-lesson-viewer .edu-lsv-word-reader {
  width: min(960px, 100%) !important;
  min-width: 0;
  margin: 0 auto;
}

#m-lesson-viewer .edu-lsv-word-reader .edu-lsv-doc,
#m-lesson-viewer .edu-lsv-text {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: clamp(18px, 5vw, 64px) !important;
  border-radius: 12px !important;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.85 !important;
  user-select: text !important;
  -webkit-user-select: text !important;
}

#m-lesson-viewer .edu-lsv-doc img,
#m-lesson-viewer .edu-lsv-doc svg,
#m-lesson-viewer .edu-lsv-doc canvas,
#m-lesson-viewer .edu-lsv-doc video {
  max-width: 100% !important;
  height: auto !important;
}

#m-lesson-viewer .edu-lsv-sheet,
#m-lesson-viewer #edu-lsv-sheet-table,
#m-lesson-viewer .edu-lsv-sheet-grid {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

#m-lesson-viewer .edu-lsv-sheet {
  padding: 0 !important;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  overflow: hidden !important;
  border: 1px solid #dbe2ea;
  border-radius: 12px !important;
}

#m-lesson-viewer .edu-lsv-sheet-tools,
#m-lesson-viewer .edu-lsv-sheet-tabs {
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  flex-wrap: nowrap !important;
  scrollbar-width: thin;
}

#m-lesson-viewer #edu-lsv-sheet-table {
  min-height: 0;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
}

#m-lesson-viewer .edu-lsv-sheet table {
  width: max-content !important;
  min-width: 100% !important;
  border-spacing: 0;
  table-layout: auto;
}

#m-lesson-viewer .edu-lsv-sheet th,
#m-lesson-viewer .edu-lsv-sheet td {
  max-width: min(420px, 72vw);
  padding: calc(7px * var(--sheet-zoom, 1)) calc(9px * var(--sheet-zoom, 1)) !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere;
  vertical-align: top;
}

#m-lesson-viewer .edu-lsv-sheet thead th {
  position: sticky;
  top: 0;
  z-index: 3;
}

#m-lesson-viewer .edu-lsv-sheet tbody th {
  position: sticky;
  inset-inline-start: 0;
  z-index: 2;
}

#m-lesson-viewer .edu-lsv-pdf-shell,
#m-lesson-viewer .edu-lsv-pdf,
#m-lesson-viewer .edu-lsv-pdf-pages {
  width: 100% !important;
  min-width: 0;
}

#m-lesson-viewer .edu-lsv-pdf-tools,
#m-lesson-viewer .edu-lsv-format-tools {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

#m-lesson-viewer .edu-lsv-pdf-tools::-webkit-scrollbar,
#m-lesson-viewer .edu-lsv-format-tools::-webkit-scrollbar {
  display: none;
}

#m-lesson-viewer .edu-lsv-slide-wrap {
  width: min(1180px, 100%) !important;
  min-width: 0;
  margin: auto;
}

#m-lesson-viewer .edu-lsv-slide {
  width: 100%;
  max-width: 100%;
  border-radius: 10px;
}

#m-lesson-viewer .edu-lsv-slide-el {
  overflow: hidden;
  overflow-wrap: anywhere;
  unicode-bidi: plaintext;
}

#m-lesson-viewer .edu-lsv-office-local-fallback {
  width: min(560px, 100%);
  min-height: min(420px, 70dvh);
  margin: auto;
  padding: clamp(22px, 6vw, 52px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 13px;
  text-align: center;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 20px;
  background: rgba(8, 20, 37, .9);
  color: #dce8f4;
}

#m-lesson-viewer .edu-lsv-office-local-fallback > i {
  font-size: clamp(2.4rem, 8vw, 4.5rem);
  color: #2dd4bf;
}

#m-lesson-viewer .edu-lsv-office-local-fallback strong,
#m-lesson-viewer .edu-lsv-office-local-fallback p {
  max-width: 100%;
  overflow-wrap: anywhere;
}

#m-lesson-viewer .edu-lsv-office-local-fallback p {
  margin: 0;
  color: #8fa4b8;
  line-height: 1.7;
}

#m-lesson-viewer .edu-lsv-office-local-fallback a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px;
  border: 1px solid rgba(45, 212, 191, .36);
  border-radius: 12px;
  background: rgba(45, 212, 191, .12);
  color: #5eead4;
  font-weight: 850;
  text-decoration: none;
}

#m-lesson-viewer .edu-lsv-foot {
  min-height: 34px;
  padding:
    6px max(10px, env(safe-area-inset-right))
    max(6px, env(safe-area-inset-bottom))
    max(10px, env(safe-area-inset-left)) !important;
  text-align: center;
}

@media (max-width: 720px) {
  #m-lesson-viewer {
    padding: 0 !important;
  }

  #m-lesson-viewer .edu-lsv-box {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  #m-lesson-viewer .edu-lsv-head {
    min-height: calc(54px + env(safe-area-inset-top));
    padding:
      max(6px, env(safe-area-inset-top))
      max(7px, env(safe-area-inset-right))
      6px
      max(7px, env(safe-area-inset-left)) !important;
    gap: 7px;
  }

  #m-lesson-viewer .edu-lsv-type {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }

  #m-lesson-viewer .edu-lsv-actions {
    gap: 4px;
  }

  #m-lesson-viewer .edu-lsv-actions button,
  #m-lesson-viewer .edu-lsv-actions a {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px;
    border-radius: 10px !important;
  }

  #m-lesson-viewer .edu-lsv-stage {
    padding: 7px !important;
    scrollbar-gutter: auto;
  }

  #m-lesson-viewer .edu-lsv-word-reader .edu-lsv-doc,
  #m-lesson-viewer .edu-lsv-text {
    padding: 18px 15px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    line-height: 1.78 !important;
  }

  #m-lesson-viewer .edu-lsv-sheet-tools {
    padding-inline: 6px !important;
  }

  #m-lesson-viewer .edu-lsv-sheet-search {
    min-width: 170px;
  }

  #m-lesson-viewer .edu-lsv-slide {
    border-radius: 5px;
  }

  #m-lesson-viewer .edu-lsv-slide-el {
    font-size: clamp(6px, 2.2vw, 12px) !important;
    line-height: 1.08 !important;
  }

  #m-lesson-viewer .edu-lsv-foot {
    font-size: .52rem;
  }
}

@media (max-width: 390px) {
  #m-lesson-viewer .edu-lsv-title-wrap span,
  #m-lesson-viewer .edu-lsv-foot span {
    display: none;
  }

  #m-lesson-viewer .edu-lsv-actions button,
  #m-lesson-viewer .edu-lsv-actions a {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px;
  }
}

@media (max-height: 520px) and (orientation: landscape) {
  #m-lesson-viewer {
    padding: 0 !important;
  }

  #m-lesson-viewer .edu-lsv-box {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  #m-lesson-viewer .edu-lsv-head {
    min-height: 46px;
    padding-block: 4px !important;
  }

  #m-lesson-viewer .edu-lsv-foot {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #m-lesson-viewer *,
  #m-lesson-viewer *::before,
  #m-lesson-viewer *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* 4.0.39.1 — the attachment reader must not erase context on phones or
   short landscape screens; its bars wrap/scroll and remain fully reachable. */
@media (max-width: 700px), (max-height: 520px) {
  #m-lesson-viewer .edu-lsv-head{
    flex-wrap:wrap!important;
    height:auto!important;
    max-height:42dvh!important;
    overflow:auto!important;
  }
  #m-lesson-viewer .edu-lsv-title-wrap,
  #m-lesson-viewer .edu-lsv-actions{min-width:0!important;max-width:100%!important}
  #m-lesson-viewer .edu-lsv-actions{overflow-x:auto!important;overscroll-behavior-inline:contain!important}
  #m-lesson-viewer .edu-lsv-title-wrap span,
  #m-lesson-viewer .edu-lsv-foot span{display:inline!important;white-space:normal!important}
  #m-lesson-viewer .edu-lsv-foot{
    display:flex!important;
    flex-wrap:wrap!important;
    max-height:26dvh!important;
    overflow:auto!important;
    padding:5px 8px max(5px,env(safe-area-inset-bottom))!important;
  }
}

/* v3.5.4 — PowerPoint fidelity and cross-device rendering. */
#m-lesson-viewer .edu-lsv-office-web {
  position:relative;
  width:100%;
  height:100%;
  min-height:0;
  display:flex;
  align-items:stretch;
  justify-content:stretch;
  background:#111827;
  overflow:hidden;
  border-radius:10px;
}
#m-lesson-viewer .edu-lsv-office-web-frame {
  display:block;
  width:100%;
  height:100%;
  min-height:520px;
  border:0;
  background:#fff;
}
#m-lesson-viewer .edu-lsv-office-web-loading {
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:#cbd5e1;
  background:#111827;
  font-weight:800;
}
#m-lesson-viewer .edu-lsv-office-web-loading.is-slow { opacity:.94; }
#m-lesson-viewer .edu-lsv-office-local-button {
  position:absolute;
  inset-inline-end:12px;
  inset-block-end:12px;
  z-index:4;
  display:none;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:11px;
  background:rgba(3,7,18,.86);
  color:#fff;
  font:800 .68rem/1 Tajawal,Arial,sans-serif;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.28);
  backdrop-filter:blur(12px);
}
#m-lesson-viewer .edu-lsv-office-local-button.is-visible { display:inline-flex; }
#m-lesson-viewer .edu-lsv-office-local-button:hover,
#m-lesson-viewer .edu-lsv-office-local-button:focus-visible { border-color:rgba(45,212,191,.65);color:#5eead4;outline:none; }
#m-lesson-viewer .edu-lsv-slide { container-type:inline-size; }
@supports (font-size: 1cqw) {
  #m-lesson-viewer .edu-lsv-slide-el { font-size:clamp(5px,calc(var(--edu-ppt-font,24) * .078125cqw),72px)!important; }
}
@media(max-width:700px){
  #m-lesson-viewer .edu-lsv-office-web { border-radius:0; }
  #m-lesson-viewer .edu-lsv-office-web-frame { min-height:100%; }
  #m-lesson-viewer .edu-lsv-office-local-button { inset-inline-end:8px;inset-block-end:8px;min-height:42px;max-width:calc(100% - 16px); }
}


/* v4.0.39.19 — space-efficient universal reader and real fullscreen. */
#m-lesson-viewer{
  padding:3px!important;
  align-items:stretch!important;
  justify-content:stretch!important;
}
#m-lesson-viewer .edu-lsv-box{
  position:relative!important;
  width:calc(100vw - 6px)!important;
  height:calc(100dvh - 6px)!important;
  max-width:none!important;
  max-height:none!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  border-radius:14px!important;
}
@supports(height:100svh){#m-lesson-viewer .edu-lsv-box{height:calc(100svh - 6px)!important}}
#m-lesson-viewer.is-expanded,
#m-lesson-viewer.is-native-fullscreen,
#m-lesson-viewer:fullscreen,
#m-lesson-viewer:-webkit-full-screen{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  background:#050d18!important;
  z-index:2147483647!important;
}
#m-lesson-viewer.is-expanded .edu-lsv-box,
#m-lesson-viewer.is-native-fullscreen .edu-lsv-box,
#m-lesson-viewer:fullscreen .edu-lsv-box,
#m-lesson-viewer:-webkit-full-screen .edu-lsv-box{
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  border:0!important;
  border-radius:0!important;
}
#m-lesson-viewer .edu-lsv-head{
  min-height:50px!important;
  padding:6px 8px!important;
  gap:8px!important;
}
#m-lesson-viewer .edu-lsv-stage{
  padding:0!important;
  min-height:0!important;
}
#m-lesson-viewer .edu-lsv-foot{
  position:absolute!important;
  z-index:8!important;
  left:50%!important;
  bottom:3px!important;
  transform:translateX(-50%)!important;
  width:max-content!important;
  max-width:calc(100% - 18px)!important;
  min-height:0!important;
  padding:3px 8px!important;
  border:1px solid rgba(148,163,184,.18)!important;
  border-radius:999px!important;
  background:rgba(4,9,22,.72)!important;
  backdrop-filter:blur(8px)!important;
  pointer-events:none!important;
  opacity:.72!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#m-lesson-viewer.is-expanded .edu-lsv-foot,
#m-lesson-viewer.is-native-fullscreen .edu-lsv-foot{opacity:.28!important}
#m-lesson-viewer .edu-lsv-word-reader{width:100%!important;max-width:none!important;margin:0!important}
#m-lesson-viewer .edu-lsv-word-reader .edu-lsv-doc,
#m-lesson-viewer .edu-lsv-text{border-radius:0!important;max-width:none!important}
#m-lesson-viewer .edu-lsv-pdf-local,
#m-lesson-viewer .edu-lsv-pdf-shell,
#m-lesson-viewer .edu-lsv-pdf,
#m-lesson-viewer .edu-lsv-pdf-pages{width:100%!important;max-width:none!important;border-radius:0!important}
#m-lesson-viewer .edu-lsv-pdf-tools{min-height:40px!important;padding:4px 6px!important}
#m-lesson-viewer .edu-lsv-pdf-scroll{padding:2px!important;align-items:center!important;justify-content:center!important}
#m-lesson-viewer .edu-lsv-slide-viewport{padding:2px!important}
#m-lesson-viewer .edu-lsv-presentation-reader .edu-lsv-slide-wrap{width:100%!important;max-width:none!important}
#m-lesson-viewer .edu-lsv-sheet{border-radius:0!important;border-inline:0!important}

/* Preserve complete words and Arabic joining in every text-producing reader. */
#m-lesson-viewer :is(.edu-lsv-doc,.edu-lsv-text,.edu-lsv-slide-el,.edu-lsv-sheet td,.edu-lsv-sheet th,.edu-lsv-archive,.edu-lsv-binary,.edu-lsv-office-local-fallback),
#m-lesson-viewer :is(.edu-lsv-doc,.edu-lsv-text,.edu-lsv-slide-el,.edu-lsv-sheet td,.edu-lsv-sheet th,.edu-lsv-archive,.edu-lsv-binary,.edu-lsv-office-local-fallback) *:not(pre):not(code){
  letter-spacing:normal!important;
  word-spacing:normal!important;
  font-kerning:normal!important;
  font-variant-ligatures:common-ligatures contextual!important;
  text-rendering:optimizeLegibility!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:manual!important;
}
#m-lesson-viewer :is([dir="rtl"],:lang(ar)){
  font-family:"Tajawal","Amiri","Noto Sans Arabic",Arial,sans-serif!important;
  font-feature-settings:"rlig" 1,"liga" 1,"calt" 1,"kern" 1!important;
  font-variant-ligatures:common-ligatures contextual!important;
}
#m-lesson-viewer :is([dir="ltr"],:lang(en),:lang(fr),:lang(it),:lang(de)){
  font-feature-settings:"liga" 1,"clig" 1,"kern" 1!important;
}
#m-lesson-viewer pre,#m-lesson-viewer code{word-break:normal!important;overflow-wrap:normal!important;font-variant-ligatures:none!important}

@media(max-width:720px){
  #m-lesson-viewer{padding:0!important}
  #m-lesson-viewer .edu-lsv-box{width:100vw!important;height:100dvh!important;border-radius:0!important}
  #m-lesson-viewer .edu-lsv-head{min-height:48px!important;padding:4px 6px!important}
  #m-lesson-viewer .edu-lsv-foot{bottom:2px!important;font-size:.46rem!important;max-width:calc(100% - 10px)!important}
}

/* Keep zoomed PDF pages fully reachable from both horizontal edges. */
#m-lesson-viewer .edu-lsv-pdf-scroll{
  display:block!important;
  text-align:center!important;
}
#m-lesson-viewer #edu-lsv-pdf-canvas{
  margin:0 auto!important;
}

/* 4.0.39.19.7 — one explicit colour system for every reader surface.
   The file is loaded last, therefore this section is intentionally the final
   authority over legacy !important dark backgrounds. The document itself
   (a PDF page, image, video, slide, or authored HTML) is never colour-inverted. */
#m-lesson-viewer,
#m-lesson-viewer[data-theme="dark"] {
  color-scheme:dark;
  --edu-reader-overlay:#020617;
  --edu-reader-shell:#07111f;
  --edu-reader-panel:#050e1b;
  --edu-reader-stage:#0b1320;
  --edu-reader-stage-soft:#111c2d;
  --edu-reader-card:#111827;
  --edu-reader-input:#07101d;
  --edu-reader-text:#e5edf5;
  --edu-reader-muted:#94a3b8;
  --edu-reader-line:#334155;
  --edu-reader-button:#111c2d;
  --edu-reader-button-hover:#12302f;
  --edu-reader-accent:#5eead4;
  --edu-reader-paper:#111827;
  --edu-reader-paper-text:#e5e7eb;
  --edu-reader-code:#07101d;
  --edu-reader-code-head:#0d1929;
  --edu-reader-shadow:rgba(0,0,0,.52);
}

#app[data-theme="light"] #m-lesson-viewer,
#m-lesson-viewer[data-theme="light"] {
  color-scheme:light;
  --edu-reader-overlay:rgba(226,232,240,.92);
  --edu-reader-shell:#ffffff;
  --edu-reader-panel:#f8fafc;
  --edu-reader-stage:#e9eff6;
  --edu-reader-stage-soft:#f1f5f9;
  --edu-reader-card:#ffffff;
  --edu-reader-input:#ffffff;
  --edu-reader-text:#172033;
  --edu-reader-muted:#64748b;
  --edu-reader-line:#cbd5e1;
  --edu-reader-button:#ffffff;
  --edu-reader-button-hover:#ecfdf5;
  --edu-reader-accent:#0f766e;
  --edu-reader-paper:#ffffff;
  --edu-reader-paper-text:#1f2937;
  --edu-reader-code:#f8fafc;
  --edu-reader-code-head:#eef2f7;
  --edu-reader-shadow:rgba(15,23,42,.18);
}

#m-lesson-viewer,
#m-lesson-viewer.is-expanded,
#m-lesson-viewer.is-native-fullscreen,
#m-lesson-viewer:fullscreen,
#m-lesson-viewer:-webkit-full-screen {
  background:var(--edu-reader-overlay)!important;
  color:var(--edu-reader-text)!important;
}

#m-lesson-viewer .edu-lsv-box {
  background:var(--edu-reader-shell)!important;
  color:var(--edu-reader-text)!important;
  border-color:var(--edu-reader-line)!important;
  box-shadow:0 28px 90px var(--edu-reader-shadow)!important;
}

#m-lesson-viewer .edu-lsv-head {
  background:var(--edu-reader-panel)!important;
  color:var(--edu-reader-text)!important;
  border-color:var(--edu-reader-line)!important;
}

#m-lesson-viewer .edu-lsv-title-wrap strong { color:var(--edu-reader-text)!important; }
#m-lesson-viewer .edu-lsv-title-wrap span,
#m-lesson-viewer #edu-lsv-page,
#m-lesson-viewer .edu-lsv-foot { color:var(--edu-reader-muted)!important; }

#m-lesson-viewer .edu-lsv-type {
  background:color-mix(in srgb,var(--edu-reader-accent) 12%,transparent)!important;
  color:var(--edu-reader-accent)!important;
}

#m-lesson-viewer .edu-lsv-actions button,
#m-lesson-viewer .edu-lsv-actions a,
#m-lesson-viewer .edu-lsv-format-tools button,
#m-lesson-viewer .edu-lsv-sheet-tools button,
#m-lesson-viewer .edu-lsv-sheet-pager button,
#m-lesson-viewer .edu-lsv-sheet-switch,
#m-lesson-viewer .edu-lsv-pdf-tools button,
#m-lesson-viewer .edu-lsv-native-pdf-tools button {
  background:var(--edu-reader-button)!important;
  color:var(--edu-reader-text)!important;
  border-color:var(--edu-reader-line)!important;
}

#m-lesson-viewer .edu-lsv-actions button:hover,
#m-lesson-viewer .edu-lsv-actions a:hover,
#m-lesson-viewer .edu-lsv-format-tools button:hover,
#m-lesson-viewer .edu-lsv-format-tools button.active,
#m-lesson-viewer .edu-lsv-pdf-tools button:hover,
#m-lesson-viewer .edu-lsv-pdf-tools button.active {
  background:var(--edu-reader-button-hover)!important;
  color:var(--edu-reader-accent)!important;
  border-color:var(--edu-reader-accent)!important;
}

#m-lesson-viewer .edu-lsv-stage {
  background:
    radial-gradient(circle at 15% 0,color-mix(in srgb,var(--edu-reader-accent) 8%,transparent),transparent 32%),
    var(--edu-reader-stage)!important;
  color:var(--edu-reader-text)!important;
}

#m-lesson-viewer .edu-lsv-foot {
  background:color-mix(in srgb,var(--edu-reader-panel) 88%,transparent)!important;
  border-color:var(--edu-reader-line)!important;
}

/* PDF: theme every surrounding surface and toolbar, not the authored page. */
#m-lesson-viewer .edu-lsv-stage.is-pdf-native,
#m-lesson-viewer .edu-lsv-native-pdf,
#m-lesson-viewer .edu-lsv-pdf-local,
#m-lesson-viewer .edu-lsv-pdf-shell,
#m-lesson-viewer .edu-lsv-pdf,
#m-lesson-viewer .edu-lsv-pdf-pages,
#m-lesson-viewer .edu-lsv-pdf-scroll {
  background:var(--edu-reader-stage)!important;
  color:var(--edu-reader-text)!important;
}

#m-lesson-viewer .edu-lsv-pdf-tools,
#m-lesson-viewer .edu-lsv-format-tools,
#m-lesson-viewer .edu-lsv-sheet-tools,
#m-lesson-viewer .edu-lsv-sheet-tabs-row,
#m-lesson-viewer .edu-lsv-sheet-pager {
  background:var(--edu-reader-panel)!important;
  color:var(--edu-reader-text)!important;
  border-color:var(--edu-reader-line)!important;
}

/* HTML/source workbench and generated previews. */
#m-lesson-viewer .edu-lsv-html-shell,
#m-lesson-viewer .edu-lsv-html-loading,
#m-lesson-viewer .edu-lsv-html-preview,
#m-lesson-viewer .edu-lsv-code-workbench,
#m-lesson-viewer .edu-lsv-code-view,
#m-lesson-viewer .edu-lsv-code-lines li::before {
  background:var(--edu-reader-code)!important;
  color:var(--edu-reader-text)!important;
  border-color:var(--edu-reader-line)!important;
}

/* Match and exceed the specificity of the legacy light rule that deliberately
   kept the source workbench dark. */
#app[data-theme="light"] #m-lesson-viewer .edu-lsv-code-workbench,
#app[data-theme="light"] #m-lesson-viewer .edu-lsv-code-view,
#app[data-theme="light"] #m-lesson-viewer .edu-lsv-code-lines li::before,
#m-lesson-viewer[data-theme="light"] .edu-lsv-code-workbench,
#m-lesson-viewer[data-theme="light"] .edu-lsv-code-view,
#m-lesson-viewer[data-theme="light"] .edu-lsv-code-lines li::before {
  background:var(--edu-reader-code)!important;
  color:var(--edu-reader-text)!important;
  border-color:var(--edu-reader-line)!important;
}

#m-lesson-viewer .edu-lsv-code-tools {
  background:var(--edu-reader-code-head)!important;
  color:var(--edu-reader-text)!important;
  border-color:var(--edu-reader-line)!important;
}

#m-lesson-viewer .edu-lsv-code-tools button {
  background:var(--edu-reader-button)!important;
  color:var(--edu-reader-muted)!important;
  border-color:var(--edu-reader-line)!important;
}

#m-lesson-viewer .edu-lsv-code-tools button.active {
  background:var(--edu-reader-button-hover)!important;
  color:var(--edu-reader-accent)!important;
  border-color:var(--edu-reader-accent)!important;
}

#m-lesson-viewer .edu-lsv-code-lines { color:var(--edu-reader-text)!important; }
#app[data-theme="light"] #m-lesson-viewer .edu-lsv-code-lines .tok-comment,
#m-lesson-viewer[data-theme="light"] .edu-lsv-code-lines .tok-comment { color:#64748b!important; }
#app[data-theme="light"] #m-lesson-viewer .edu-lsv-code-lines .tok-tag,
#app[data-theme="light"] #m-lesson-viewer .edu-lsv-code-lines .tok-keyword,
#m-lesson-viewer[data-theme="light"] .edu-lsv-code-lines .tok-tag,
#m-lesson-viewer[data-theme="light"] .edu-lsv-code-lines .tok-keyword { color:#0f766e!important; }
#app[data-theme="light"] #m-lesson-viewer .edu-lsv-code-lines .tok-string,
#m-lesson-viewer[data-theme="light"] .edu-lsv-code-lines .tok-string { color:#92400e!important; }
#app[data-theme="light"] #m-lesson-viewer .edu-lsv-code-lines .tok-number,
#m-lesson-viewer[data-theme="light"] .edu-lsv-code-lines .tok-number { color:#7e22ce!important; }

/* Locally rendered Office/text/spreadsheet surfaces follow the chosen mode. */
#m-lesson-viewer .edu-lsv-word-reader,
#m-lesson-viewer .edu-lsv-slide-wrap,
#m-lesson-viewer .edu-lsv-slide-viewport,
#m-lesson-viewer .edu-lsv-presentation-reader,
#m-lesson-viewer .edu-lsv-image-reader,
#m-lesson-viewer .edu-lsv-image-scroll,
#m-lesson-viewer .edu-lsv-program-visual,
#m-lesson-viewer .edu-lsv-office-web,
#m-lesson-viewer .edu-lsv-office-web-loading {
  background:var(--edu-reader-stage)!important;
  color:var(--edu-reader-text)!important;
}

#m-lesson-viewer .edu-lsv-word-reader .edu-lsv-doc,
#m-lesson-viewer .edu-lsv-text,
#m-lesson-viewer .edu-lsv-sheet,
#m-lesson-viewer .edu-lsv-sheet-grid,
#m-lesson-viewer .edu-lsv-sheet-grid th,
#m-lesson-viewer .edu-lsv-sheet-grid td,
#m-lesson-viewer .edu-lsv-sheet-meta,
#m-lesson-viewer .edu-lsv-office-local-fallback {
  background:var(--edu-reader-paper)!important;
  color:var(--edu-reader-paper-text)!important;
  border-color:var(--edu-reader-line)!important;
}

#m-lesson-viewer .edu-lsv-sheet-grid thead th,
#m-lesson-viewer .edu-lsv-sheet-grid .edu-lsv-sheet-row,
#m-lesson-viewer .edu-lsv-sheet-grid .edu-lsv-sheet-corner,
#m-lesson-viewer .edu-lsv-sheet-tabs,
#m-lesson-viewer .edu-lsv-sheet-metrics > span {
  background:var(--edu-reader-stage-soft)!important;
  color:var(--edu-reader-text)!important;
  border-color:var(--edu-reader-line)!important;
}

#m-lesson-viewer .edu-lsv-sheet-search {
  background:var(--edu-reader-input)!important;
  border-color:var(--edu-reader-line)!important;
}
#m-lesson-viewer .edu-lsv-sheet-search input { color:var(--edu-reader-text)!important; }
#m-lesson-viewer .edu-lsv-word-meta,
#m-lesson-viewer .edu-lsv-office-local-fallback p,
#m-lesson-viewer .edu-lsv-sheet-tools > span,
#m-lesson-viewer .edu-lsv-sheet-range,
#m-lesson-viewer .edu-lsv-sheet-metrics small { color:var(--edu-reader-muted)!important; }

#m-lesson-viewer .edu-lsv-office-local-button {
  background:color-mix(in srgb,var(--edu-reader-panel) 92%,transparent)!important;
  color:var(--edu-reader-text)!important;
  border-color:var(--edu-reader-line)!important;
}

/* Archive and binary inspectors already use variables; bind them to the same
   theme instead of allowing the old dark fallback variables to leak through. */
#m-lesson-viewer .edu-lsv-archive,
#m-lesson-viewer .edu-lsv-binary {
  --card:var(--edu-reader-card);
  --input:var(--edu-reader-input);
  --line:var(--edu-reader-line);
  --accent:var(--edu-reader-accent);
  background:var(--edu-reader-stage)!important;
  color:var(--edu-reader-text)!important;
}

#m-lesson-viewer .edu-lsv-archive-tools,
#m-lesson-viewer .edu-lsv-archive-row,
#m-lesson-viewer .edu-lsv-archive-back,
#m-lesson-viewer .edu-lsv-binary-head,
#m-lesson-viewer .edu-lsv-binary dl > div,
#m-lesson-viewer .edu-lsv-binary section {
  background:var(--edu-reader-card)!important;
  color:var(--edu-reader-text)!important;
  border-color:var(--edu-reader-line)!important;
}

/* 4.0.39.19.35 — minimal PDF chrome + header tools + touch pinch zoom.
   The PDF page remains an untouched PDF.js canvas; only surrounding UI changes. */
#m-lesson-viewer .edu-lsv-actions button.hidden,
#m-lesson-viewer .edu-lsv-actions #edu-lsv-pdf-menu-head.hidden { display:none!important; }
#m-lesson-viewer:not(.is-pdf-viewer) #edu-lsv-pdf-menu-head { display:none!important; }

#m-lesson-viewer.is-pdf-viewer {
  padding:0!important;
  align-items:stretch!important;
  justify-content:stretch!important;
}
#m-lesson-viewer.is-pdf-viewer .edu-lsv-box {
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  grid-template-rows:40px minmax(0,1fr)!important;
}
@supports(height:100svh){#m-lesson-viewer.is-pdf-viewer .edu-lsv-box{height:100svh!important}}
#m-lesson-viewer.is-pdf-viewer .edu-lsv-head {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  min-height:40px!important;
  height:40px!important;
  max-height:40px!important;
  padding:2px 5px!important;
  gap:4px!important;
  overflow:hidden!important;
  flex-wrap:nowrap!important;
  border-bottom-width:1px!important;
}
#m-lesson-viewer.is-pdf-viewer .edu-lsv-title-wrap { min-width:0!important; gap:3px!important; }
#m-lesson-viewer.is-pdf-viewer .edu-lsv-title-wrap strong {
  font-size:clamp(.66rem,1.2vw,.78rem)!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#m-lesson-viewer.is-pdf-viewer #edu-lsv-archive-back-head,
#m-lesson-viewer.is-pdf-viewer #edu-lsv-page,
#m-lesson-viewer.is-pdf-viewer #edu-lsv-download,
#m-lesson-viewer.is-pdf-viewer #edu-lsv-fullscreen { display:none!important; }
#m-lesson-viewer.is-pdf-viewer #edu-lsv-pdf-menu-head:not(.hidden),
#m-lesson-viewer.is-pdf-viewer #edu-lsv-close {
  display:inline-flex!important;
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:8px!important;
}
#m-lesson-viewer.is-pdf-viewer .edu-lsv-actions {
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:3px!important;
  min-height:32px!important;
  overflow:visible!important;
}
#m-lesson-viewer.is-pdf-viewer #edu-lsv-pdf-menu-head[aria-expanded="true"] {
  color:var(--edu-reader-accent)!important;
  border-color:var(--edu-reader-accent)!important;
  background:var(--edu-reader-button-hover)!important;
}
#m-lesson-viewer.is-pdf-viewer .edu-lsv-stage {
  padding:0!important;
  overflow:hidden!important;
  min-height:0!important;
  border:0!important;
  background:var(--edu-reader-stage)!important;
}
#m-lesson-viewer.is-pdf-viewer .edu-lsv-foot { display:none!important; }
#m-lesson-viewer.is-pdf-viewer .edu-lsv-watermark { inset-block-end:0!important; }

#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-local {
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
}
#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-scroll {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:auto!important;
  direction:ltr!important;
  text-align:initial!important;
  scrollbar-gutter:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y!important;
}
#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-pages {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  width:max-content!important;
  min-width:100%!important;
  min-height:100%!important;
  gap:4px!important;
  padding:2px!important;
  margin:0!important;
  box-sizing:border-box!important;
  direction:ltr!important;
}
#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-page {
  flex:0 0 auto!important;
  margin:0 auto!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:0 1px 4px rgba(0,0,0,.16)!important;
  background:#fff!important;
}
#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-page::after { display:none!important; }
#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-page-canvas {
  display:block!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  background:#fff!important;
  pointer-events:none!important;
  image-rendering:auto!important;
}

/* Drawer is anchored below the header settings button; it only contains
   zoom-out, zoom-in, download and fullscreen. */
#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-menu {
  position:absolute!important;
  z-index:30!important;
  inset-block-start:5px!important;
  inset-inline-end:5px!important;
  width:auto!important;
  max-width:calc(100% - 10px)!important;
  padding:6px!important;
  border:1px solid var(--edu-reader-line)!important;
  border-radius:10px!important;
  background:color-mix(in srgb,var(--edu-reader-panel) 96%,transparent)!important;
  color:var(--edu-reader-text)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.24)!important;
  backdrop-filter:blur(10px)!important;
  direction:ltr!important;
}
#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-menu[hidden] { display:none!important; }
#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-menu-status { display:none!important; }
#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-menu-grid {
  display:grid!important;
  grid-template-columns:repeat(2,34px)!important;
  gap:4px!important;
}
#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-menu-grid button,
#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-menu-grid a {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid var(--edu-reader-line)!important;
  border-radius:8px!important;
  background:var(--edu-reader-button)!important;
  color:var(--edu-reader-text)!important;
  text-decoration:none!important;
}
#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-menu-grid .hidden { display:none!important; }
#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-menu-grid button:hover,
#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-menu-grid button:focus-visible,
#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-menu-grid a:hover,
#m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-menu-grid a:focus-visible {
  color:var(--edu-reader-accent)!important;
  border-color:var(--edu-reader-accent)!important;
  background:var(--edu-reader-button-hover)!important;
  outline:0!important;
}

@media(max-width:700px){
  #m-lesson-viewer.is-pdf-viewer .edu-lsv-box{grid-template-rows:38px minmax(0,1fr)!important}
  #m-lesson-viewer.is-pdf-viewer .edu-lsv-head{
    min-height:38px!important;height:38px!important;max-height:38px!important;
    padding:2px max(4px,env(safe-area-inset-right)) 2px max(4px,env(safe-area-inset-left))!important;
  }
  #m-lesson-viewer.is-pdf-viewer #edu-lsv-pdf-menu-head:not(.hidden),
  #m-lesson-viewer.is-pdf-viewer #edu-lsv-close{
    width:31px!important;min-width:31px!important;height:31px!important;min-height:31px!important;
  }
  #m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-pages{gap:2px!important;padding:0!important}
  #m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-page{box-shadow:none!important}
  #m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-menu{inset-block-start:4px!important;inset-inline-end:4px!important;padding:5px!important}
  #m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-menu-grid{grid-template-columns:repeat(2,36px)!important}
  #m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-menu-grid button,
  #m-lesson-viewer.is-pdf-viewer .edu-lsv-pdf-menu-grid a{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important}
}



/* v4.0.39.19.43 — HTML-first viewer + download-only archives. */
#m-lesson-viewer.is-code-viewer .edu-lsv-stage.is-code{padding:0!important;overflow:hidden!important}
#m-lesson-viewer.is-code-viewer .edu-lsv-code-workbench{width:100%!important;height:100%!important;min-height:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
#m-lesson-viewer.is-code-viewer .edu-lsv-html-preview.active{display:block!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;overflow:hidden!important;background:#fff!important}
#m-lesson-viewer.is-code-viewer .edu-lsv-html-preview iframe{display:block!important;width:100%!important;height:100%!important;min-height:100%!important;border:0!important;background:#fff!important}
#m-lesson-viewer .edu-lsv-archive-nav,#m-lesson-viewer .edu-lsv-archive-list,#m-lesson-viewer .edu-lsv-archive-menu{display:none!important}


/* v4.0.39.19.47 — authoritative mobile/tablet HTML reader scroll fix.
   This stylesheet is loaded after lessons.css, so HTML-specific geometry must
   live here as well. Keep exactly one scroll viewport: the lesson document. */
#m-lesson-viewer.is-html-viewer{
  overflow:hidden!important;
  overscroll-behavior:auto!important;
  touch-action:auto!important;
}
#m-lesson-viewer.is-html-viewer .edu-lsv-box{
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
}
#m-lesson-viewer.is-html-viewer .edu-lsv-stage.is-html{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  scrollbar-gutter:auto!important;
  overscroll-behavior:auto!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:auto!important;
  contain:none!important;
  user-select:auto!important;
  -webkit-user-select:auto!important;
  background:#fff!important;
}
#m-lesson-viewer.is-html-viewer .edu-lsv-stage.is-html>.edu-lsv-html-shell{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:auto!important;
  touch-action:auto!important;
  contain:none!important;
  background:#fff!important;
}
#m-lesson-viewer.is-html-viewer .edu-lsv-stage.is-html .edu-lsv-html-frame{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:auto!important;
  pointer-events:auto!important;
  overscroll-behavior:auto!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:auto!important;
  contain:none!important;
  transform:none!important;
  will-change:auto!important;
  background:#fff!important;
}
@media (max-width: 1024px), (hover:none) and (pointer:coarse) {
  #m-lesson-viewer.is-html-viewer .edu-lsv-stage.is-html,
  #m-lesson-viewer.is-html-viewer .edu-lsv-stage.is-html>.edu-lsv-html-shell,
  #m-lesson-viewer.is-html-viewer .edu-lsv-stage.is-html .edu-lsv-html-frame{
    overscroll-behavior:auto!important;
    touch-action:auto!important;
    contain:none!important;
  }
}


/* 4.0.39.19.62 — never hide the educational PDF reader's physical page badge. */
#app #m-lesson-viewer.is-pdf-viewer #edu-lsv-page:not(.hidden){display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:62px!important;max-width:92px!important;height:28px!important;padding:0 8px!important;flex:0 0 auto!important;border:1px solid color-mix(in srgb,var(--edu-reader-accent) 38%,transparent)!important;border-radius:9px!important;background:color-mix(in srgb,var(--edu-reader-accent) 15%,transparent)!important;color:var(--edu-reader-text)!important;font:850 10px/1 Jost,"Space Grotesk",sans-serif!important;white-space:nowrap!important;direction:ltr!important}
@media(max-width:520px){#app #m-lesson-viewer.is-pdf-viewer #edu-lsv-page:not(.hidden){min-width:54px!important;max-width:72px!important;height:27px!important;padding-inline:5px!important;font-size:9px!important}}

/* === SININBE bundled source: includes/gradebook/gradebook.css === */
.se-gradebook-modal {
  --gb-primary: #21d4b4;
  --gb-primary-dark: #0aa986;
  --gb-gold: #f5bf4f;
  --gb-danger: #ff6d78;
  --gb-bg: #07151f;
  --gb-panel: #0c222e;
  --gb-panel-2: #102c39;
  --gb-line: rgba(147, 225, 212, .17);
  --gb-text: #effcf9;
  --gb-muted: #91aaa7;
  position: fixed;
  inset: 0;
  z-index: 2147481700;
  display: none;
  place-items: center;
  padding: clamp(8px, 2vw, 24px);
  background:
    radial-gradient(circle at 12% 10%, rgba(33, 212, 180, .14), transparent 34%),
    radial-gradient(circle at 92% 92%, rgba(245, 191, 79, .10), transparent 30%),
    rgba(1, 8, 13, .9);
  color: var(--gb-text);
  font-family: "Space Grotesk", "Tajawal", sans-serif;
  backdrop-filter: blur(18px);
}
.se-gradebook-modal[dir="rtl"] { font-family: "Tajawal", "Space Grotesk", sans-serif; }
.se-gradebook-modal.is-open { display: grid; }
.se-info-gradebook {
  width: 100%;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 14px;
  border: 1px solid rgba(33, 212, 180, .34);
  border-radius: 12px;
  background: rgba(33, 212, 180, .1);
  color: #21d4b4;
  font: 850 .7rem "Space Grotesk", "Tajawal", sans-serif;
  cursor: pointer;
  transition: .18s ease;
}
.se-info-gradebook:hover { border-color: rgba(33, 212, 180, .58); background: rgba(33, 212, 180, .16); transform: translateY(-1px); }
.se-gradebook-shell {
  width: min(1240px, 100%);
  height: min(900px, calc(100dvh - clamp(16px, 4vw, 48px)));
  min-height: 440px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid var(--gb-line);
  border-radius: clamp(18px, 2vw, 30px);
  background: linear-gradient(145deg, rgba(12, 34, 46, .99), rgba(4, 17, 25, .99));
  box-shadow: 0 36px 100px rgba(0, 0, 0, .5), inset 0 1px rgba(255, 255, 255, .04);
}
/* v3.7.0 — collision-proof logical header layout. */
.se-gradebook-head {
  min-width: 0;
  min-height: 82px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  grid-template-areas: "title close";
  align-items: center;
  gap: clamp(14px, 2vw, 22px);
  padding-block: 15px;
  padding-inline: clamp(18px, 3vw, 34px);
  border-bottom: 1px solid var(--gb-line);
  background: linear-gradient(180deg, rgba(255,255,255,.025), transparent);
}
.se-gradebook-head[dir="rtl"],
.se-gradebook-modal[dir="rtl"] .se-gradebook-head { grid-template-areas: "title close"; grid-template-columns: minmax(0,1fr) 44px; }
.se-gradebook-title-wrap {
  grid-area: title;
  min-width: 0;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  grid-template-areas: "mark copy";
  align-items: center;
  gap: clamp(13px, 1.8vw, 20px);
  padding-inline: 2px;
}
.se-gradebook-modal[dir="ltr"] .se-gradebook-title-wrap {
  grid-template-columns: 48px minmax(0, 1fr);
  grid-template-areas: "mark copy";
}
.se-gradebook-title-copy { grid-area: copy; min-width: 0; overflow: hidden; }
.se-gradebook-mark {
  grid-area: mark;
  width: 48px;
  height: 48px;
  min-width: 48px;
  display: grid;
  place-items: center;
  justify-self: center;
  margin: 0;
  border: 1px solid rgba(33, 212, 180, .32);
  border-radius: 15px;
  background: rgba(33, 212, 180, .1);
  color: var(--gb-primary);
  box-shadow: inset 0 1px rgba(255, 255, 255, .05);
}
.se-gradebook-title-wrap small { display: block; color: var(--gb-primary); font-size: .54rem; font-weight: 850; letter-spacing: .15em; direction: ltr; }
.se-gradebook-title-wrap h2 {
  margin: 0;
  overflow: hidden;
  color: var(--gb-text);
  font-size: clamp(.95rem, 1.6vw, 1.2rem);
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.se-gradebook-title-wrap p {
  margin: 4px 0 0;
  overflow: hidden;
  color: var(--gb-muted);
  font-size: .65rem;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.se-gradebook-close {
  grid-area: close;
  position: static;
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: grid;
  place-items: center;
  justify-self: end;
  margin: 0;
  padding: 0;
  border: 1px solid var(--gb-line);
  border-radius: 14px;
  background: rgba(255, 255, 255, .05);
  color: var(--gb-text);
  line-height: 1;
  cursor: pointer;
  touch-action: manipulation;
  transition: border-color .18s ease, color .18s ease, background .18s ease;
}
.se-gradebook-close:hover { border-color: rgba(255, 109, 120, .45); background: rgba(255,109,120,.07); color: var(--gb-danger); }

.se-gradebook-loading,
.se-gradebook-empty {
  min-height: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 10px;
  padding: 26px;
  color: var(--gb-muted);
  text-align: center;
}
.se-gradebook-loading i { color: var(--gb-primary); font-size: 1.2rem; }
.se-gradebook-loading span { font-size: .72rem; font-weight: 700; }
.se-gradebook-empty[hidden],
.se-gradebook-loading[hidden] { display: none; }
.se-gradebook-empty > span {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(33, 212, 180, .27);
  border-radius: 26px;
  background: rgba(33, 212, 180, .08);
  color: var(--gb-primary);
  font-size: 1.35rem;
}
.se-gradebook-empty h3 { margin: 6px 0 0; color: var(--gb-text); font-size: 1rem; }
.se-gradebook-empty p { max-width: 460px; margin: 0; color: var(--gb-muted); font-size: .73rem; line-height: 1.65; }

.se-gradebook-content { min-width: 0; min-height: 0; overflow: hidden; }
.se-gradebook-content[hidden] { display: none; }
.se-gradebook-teacher {
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}
.se-gradebook-teacher[hidden],
.se-gradebook-reader[hidden] { display: none; }
.se-gradebook-tabs {
  min-width: 0;
  display: flex;
  gap: 8px;
  padding: 11px clamp(14px, 2vw, 22px);
  overflow-x: auto;
  border-bottom: 1px solid var(--gb-line);
  scrollbar-width: thin;
}
.se-gradebook-tabs button {
  min-height: 38px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 14px;
  border: 1px solid var(--gb-line);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  color: var(--gb-muted);
  font: 800 .66rem "Space Grotesk", "Tajawal", sans-serif;
  cursor: pointer;
  transition: .18s ease;
}
.se-gradebook-tabs button:hover,
.se-gradebook-tabs button.is-active {
  border-color: rgba(33,212,180,.44);
  background: rgba(33,212,180,.12);
  color: var(--gb-primary);
}
.se-gradebook-tab-panel { min-width: 0; min-height: 0; overflow: auto; }
.se-gradebook-tab-panel[hidden] { display: none !important; }
.se-gradebook-teacher-grid {
  height: 100%;
  display: grid;
  grid-template-columns: minmax(410px, .92fr) minmax(390px, 1.08fr);
  overflow: hidden;
}
.se-gradebook-monthly-card {
  width: min(760px, calc(100% - 28px));
  min-height: 210px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 18px;
  margin: clamp(18px, 5vh, 54px) auto;
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid var(--gb-line);
  border-radius: 24px;
  background: linear-gradient(145deg,rgba(33,212,180,.1),rgba(245,191,79,.055));
}
.se-gradebook-monthly-icon {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(33,212,180,.3);
  border-radius: 20px;
  background: rgba(33,212,180,.1);
  color: var(--gb-primary);
  font-size: 1.2rem;
}
.se-gradebook-monthly-card h3 { margin: 0; color: var(--gb-text); font-size: .95rem; }
.se-gradebook-monthly-card p { margin: 6px 0 0; color: var(--gb-muted); font-size: .68rem; line-height: 1.7; }
.se-gradebook-monthly-card button { min-height: 42px; display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 15px;border-radius:12px;font:800 .66rem "Space Grotesk","Tajawal",sans-serif;cursor:pointer;white-space:nowrap; }
.se-gradebook-editor,
.se-gradebook-register { min-width: 0; min-height: 0; overflow: auto; padding: clamp(14px, 2vw, 22px); }
.se-gradebook-editor { border-inline-end: 1px solid var(--gb-line); background: rgba(3, 16, 23, .38); }
.se-gradebook-editor-head,
.se-gradebook-register-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.se-gradebook-editor-head h3,
.se-gradebook-register-head h3 { margin: 0; color: var(--gb-text); font-size: .88rem; font-weight: 850; }
.se-gradebook-editor-head p { margin: 3px 0 0; color: var(--gb-muted); font-size: .64rem; line-height: 1.55; }
#se-gradebook-edit-badge,
#se-gradebook-register-count,
#se-daily-edit-badge,
#se-daily-register-count {
  flex: 0 0 auto;
  padding: 5px 9px;
  border: 1px solid rgba(33, 212, 180, .25);
  border-radius: 999px;
  background: rgba(33, 212, 180, .08);
  color: var(--gb-primary);
  font-size: .57rem;
  font-weight: 800;
}

.se-gradebook-form-grid { display: grid; gap: 10px; }
.se-gradebook-form-grid-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.se-gradebook-form-grid label,
.se-gradebook-notes,
.se-gradebook-score-grid > label {
  min-width: 0;
  display: grid;
  gap: 6px;
  color: var(--gb-muted);
  font-size: .62rem;
  font-weight: 750;
}
.se-gradebook-form-grid input,
.se-gradebook-form-grid select,
.se-gradebook-notes textarea,
.se-gradebook-score-grid input {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--gb-line);
  border-radius: 11px;
  outline: 0;
  background: rgba(255, 255, 255, .05);
  color: var(--gb-text);
  font: 700 .72rem "Space Grotesk", "Tajawal", sans-serif;
  transition: .18s ease;
}
.se-gradebook-form-grid input,
.se-gradebook-form-grid select { min-height: 42px; padding: 0 10px; }
.se-gradebook-form-grid select option { background: #0b222e; color: #fff; }
.se-gradebook-notes { margin-top: 10px; }
.se-gradebook-notes textarea { min-height: 76px; resize: vertical; padding: 10px; line-height: 1.5; }
.se-gradebook-form-grid input:focus,
.se-gradebook-form-grid select:focus,
.se-gradebook-notes textarea:focus,
.se-gradebook-score-grid input:focus { border-color: rgba(33, 212, 180, .58); box-shadow: 0 0 0 3px rgba(33, 212, 180, .09); }

.se-gradebook-score-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 10px;
}
.se-gradebook-score-grid > label { padding: 9px; border: 1px solid var(--gb-line); border-radius: 13px; background: rgba(255, 255, 255, .025); }
.se-gradebook-score-grid > label > div { display: flex; align-items: center; gap: 6px; }
.se-gradebook-score-grid input { min-height: 38px; padding: 0 8px; }
.se-gradebook-score-grid b { flex: 0 0 auto; color: var(--gb-muted); font-size: .56rem; direction: ltr; }
.se-gradebook-overall {
  grid-column: 1 / -1;
  min-height: 74px;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 7px;
  padding: 12px;
  border: 1px solid rgba(245, 191, 79, .28);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(245, 191, 79, .11), rgba(33, 212, 180, .06));
  color: var(--gb-gold);
}
.se-gradebook-overall small { margin-inline-end: 8px; color: var(--gb-muted); font-size: .62rem; font-weight: 750; }
.se-gradebook-overall strong { font-size: 1.55rem; font-weight: 900; direction: ltr; }
.se-gradebook-overall b { font-size: .68rem; direction: ltr; }
.se-gradebook-form-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 13px; }
.se-gradebook-form-actions button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 16px;
  border-radius: 12px;
  font: 800 .68rem "Space Grotesk", "Tajawal", sans-serif;
  cursor: pointer;
}
.se-gradebook-primary { border: 1px solid transparent; background: linear-gradient(135deg, var(--gb-primary), #3ce4c6); color: #03231b; }
.se-gradebook-secondary { border: 1px solid var(--gb-line); background: rgba(255, 255, 255, .045); color: var(--gb-muted); }
.se-gradebook-form-actions button:disabled { opacity: .55; cursor: wait; }

.se-gradebook-records { display: grid; gap: 10px; }
.se-gradebook-record {
  min-width: 0;
  display: grid;
  gap: 10px;
  padding: 13px;
  border: 1px solid var(--gb-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, .035);
}
.se-gradebook-record-top { min-width: 0; display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.se-gradebook-record-top > div { min-width: 0; }
.se-gradebook-record-top h4 { margin: 0; overflow: hidden; color: var(--gb-text); font-size: .78rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.se-gradebook-record-top p { margin: 4px 0 0; color: var(--gb-muted); font-size: .59rem; }
.se-gradebook-total {
  min-width: 62px;
  flex: 0 0 auto;
  padding: 7px 8px;
  border: 1px solid rgba(33, 212, 180, .25);
  border-radius: 12px;
  background: rgba(33, 212, 180, .08);
  color: var(--gb-primary);
  font-size: .88rem;
  font-weight: 900;
  text-align: center;
  direction: ltr;
}
.se-gradebook-total small { display: block; color: var(--gb-muted); font-size: .48rem; font-weight: 700; }
.se-gradebook-marks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.se-gradebook-mark-cell {
  min-width: 0;
  padding: 7px 5px;
  border-radius: 10px;
  background: rgba(0, 0, 0, .15);
  text-align: center;
}
.se-gradebook-mark-cell span { display: block; overflow: hidden; color: var(--gb-muted); font-size: .49rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.se-gradebook-mark-cell strong { display: block; margin-top: 2px; color: var(--gb-text); font-size: .7rem; direction: ltr; }
.se-gradebook-record-note { margin: 0; color: var(--gb-muted); font-size: .61rem; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.se-gradebook-record-actions { display: flex; justify-content: flex-end; gap: 6px; }
.se-gradebook-record-actions button {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 9px;
  border: 1px solid var(--gb-line);
  border-radius: 9px;
  background: rgba(255, 255, 255, .04);
  color: var(--gb-muted);
  font: 750 .57rem "Space Grotesk", "Tajawal", sans-serif;
  cursor: pointer;
}
.se-gradebook-record-actions button:hover { color: var(--gb-primary); border-color: rgba(33, 212, 180, .4); }
.se-gradebook-record-actions .is-delete:hover { color: var(--gb-danger); border-color: rgba(255, 109, 120, .4); }
.se-gradebook-no-records {
  padding: 24px 14px;
  border: 1px dashed var(--gb-line);
  border-radius: 16px;
  color: var(--gb-muted);
  font-size: .7rem;
  font-weight: 700;
  text-align: center;
}

.se-gradebook-reader { height: 100%; min-width: 0; min-height: 0; overflow: auto; padding: clamp(14px, 2vw, 24px); }
.se-gradebook-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}
.se-gradebook-summary-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--gb-line);
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(33, 212, 180, .07), rgba(255, 255, 255, .025));
}
.se-gradebook-summary-card span { display: block; overflow: hidden; color: var(--gb-muted); font-size: .62rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.se-gradebook-summary-card strong { display: inline-block; margin-top: 7px; color: var(--gb-primary); font-size: 1.2rem; font-weight: 900; direction: ltr; }
.se-gradebook-summary-card b { color: var(--gb-muted); font-size: .58rem; direction: ltr; }
.se-gradebook-summary-card small { display: block; margin-top: 4px; color: var(--gb-muted); font-size: .52rem; }
.se-gradebook-reader-records { grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); }

.se-daily-score-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.se-daily-record-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.se-daily-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 8px;
  border: 1px solid var(--gb-line);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  color: var(--gb-muted);
  font-size: .54rem;
  font-weight: 750;
}
.se-daily-status.is-good { border-color:rgba(33,212,180,.3);background:rgba(33,212,180,.09);color:var(--gb-primary); }
.se-daily-status.is-alert { border-color:rgba(255,109,120,.34);background:rgba(255,109,120,.09);color:#ff9da5; }

@media (max-width: 900px) {
  .se-gradebook-teacher-grid { grid-template-columns: 1fr; overflow: auto; }
  .se-gradebook-editor,
  .se-gradebook-register { overflow: visible; }
  .se-gradebook-editor { border-inline-end: 0; border-bottom: 1px solid var(--gb-line); }
  .se-gradebook-monthly-card { grid-template-columns:auto minmax(0,1fr); }
  .se-gradebook-monthly-card button { grid-column:1/-1; width:100%; }
}
@media (max-width: 620px) {
  .se-gradebook-modal { padding: 0; }
  .se-gradebook-shell { width: 100%; height: 100dvh; min-height: 0; border: 0; border-radius: 0; }
  .se-gradebook-head { min-height:72px; gap:10px; padding-block:max(12px, env(safe-area-inset-top)) 12px; padding-inline:14px; }
  .se-gradebook-title-wrap { grid-template-columns:minmax(0,1fr) 40px; gap:11px; }
  .se-gradebook-modal[dir="ltr"] .se-gradebook-title-wrap { grid-template-columns:40px minmax(0,1fr); }
  .se-gradebook-mark { width:40px; height:40px; min-width:40px; border-radius:13px; }
  .se-gradebook-form-grid-main,
  .se-gradebook-score-grid,
  .se-daily-score-grid { grid-template-columns: 1fr; }
  .se-gradebook-overall { grid-column: auto; }
  .se-gradebook-marks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .se-gradebook-form-actions { position: sticky; bottom: 0; padding: 9px 0 max(3px, env(safe-area-inset-bottom)); background: linear-gradient(transparent, var(--gb-bg) 28%); }
  .se-gradebook-form-actions button { flex: 1; }
  .se-gradebook-tabs { padding-inline:10px; }
  .se-gradebook-tabs button { padding-inline:11px; }
  .se-gradebook-monthly-card { width:calc(100% - 20px);grid-template-columns:1fr;text-align:center;justify-items:center; }
  .se-gradebook-monthly-card button { grid-column:auto; }
}
@media (prefers-reduced-motion: reduce) {
  .se-gradebook-modal * { transition: none !important; }
}

/* v3.5.2 — gradebook layout, safe editing, independent register filters. */
.se-gradebook-shell { position: relative; }
.se-gradebook-close:focus-visible,
.se-gradebook-compact-action:focus-visible,
.se-gradebook-filter-reset:focus-visible,
.se-gradebook-form-actions button:focus-visible,
.se-gradebook-record-actions button:focus-visible,
.se-gradebook-tabs button:focus-visible {
  outline: 3px solid rgba(33,212,180,.22);
  outline-offset: 2px;
}
.se-gradebook-head-tools {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.se-gradebook-compact-action,
.se-gradebook-filter-reset {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 11px;
  border: 1px solid rgba(33,212,180,.28);
  border-radius: 10px;
  background: rgba(33,212,180,.075);
  color: var(--gb-primary);
  font: 800 .58rem "Space Grotesk", "Tajawal", sans-serif;
  cursor: pointer;
  transition: .18s ease;
  touch-action: manipulation;
}
.se-gradebook-compact-action:hover,
.se-gradebook-filter-reset:hover { border-color: rgba(33,212,180,.48); background: rgba(33,212,180,.13); }
.se-gradebook-editor,
.se-gradebook-register {
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.se-gradebook-editor-head,
.se-gradebook-register-head {
  align-items: center;
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(147,225,212,.1);
}
.se-gradebook-register-head > div { min-width: 0; }
.se-gradebook-register-head p {
  margin: 3px 0 0;
  color: var(--gb-muted);
  font-size: .58rem;
  line-height: 1.55;
}
.se-gradebook-register-tools {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr)) auto;
  align-items: end;
  gap: 8px;
  margin: 0 0 12px;
  padding: 10px;
  border: 1px solid var(--gb-line);
  border-radius: 14px;
  background: rgba(255,255,255,.022);
}
.se-gradebook-register-tools label {
  min-width: 0;
  display: grid;
  gap: 5px;
  color: var(--gb-muted);
  font-size: .55rem;
  font-weight: 750;
}
.se-gradebook-register-tools select {
  width: 100%;
  min-width: 0;
  min-height: 38px;
  padding: 0 9px;
  border: 1px solid var(--gb-line);
  border-radius: 10px;
  outline: 0;
  background: rgba(255,255,255,.05);
  color: var(--gb-text);
  font: 750 .64rem "Space Grotesk", "Tajawal", sans-serif;
}
.se-gradebook-register-tools select option { background: #0b222e; color: #fff; }
.se-gradebook-filter-reset { min-height: 38px; }
.se-gradebook-form-grid label.is-owner-locked > span::after {
  content: "  •";
  color: var(--gb-gold);
}
.se-gradebook-form-grid select:disabled {
  opacity: .82;
  cursor: not-allowed;
  border-color: rgba(245,191,79,.27);
  background: rgba(245,191,79,.055);
  color: #f7d47f;
}
.se-gradebook-calculation-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 9px;
  padding: 9px 10px;
  border: 1px solid rgba(96,165,250,.18);
  border-radius: 12px;
  background: rgba(96,165,250,.045);
  color: var(--gb-muted);
  font-size: .56rem;
  font-weight: 650;
  line-height: 1.55;
}
.se-gradebook-calculation-note i { margin-top: 2px; color: #78b8ff; }
.se-gradebook-overall { flex-wrap: wrap; }
.se-gradebook-overall em {
  flex: 0 0 100%;
  color: var(--gb-text);
  font-size: .58rem;
  font-style: normal;
  font-weight: 800;
  text-align: center;
}
.se-gradebook-record {
  position: relative;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.se-gradebook-record:hover { border-color: rgba(33,212,180,.26); background: rgba(255,255,255,.046); }
.se-gradebook-record.is-editing {
  border-color: rgba(245,191,79,.46);
  background: linear-gradient(145deg, rgba(245,191,79,.08), rgba(255,255,255,.025));
}
.se-gradebook-record-actions button { min-height: 34px; padding-inline: 11px; touch-action: manipulation; }
.se-gradebook-form-actions button { min-height: 44px; }
.se-gradebook-primary { box-shadow: 0 8px 22px rgba(33,212,180,.12); }
.se-gradebook-primary:hover { filter: brightness(1.045); transform: translateY(-1px); }
.se-gradebook-secondary:hover { border-color: rgba(147,225,212,.3); color: var(--gb-text); }
.se-gradebook-reader { scrollbar-gutter: stable; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.se-gradebook-reader-records { align-items: start; }

@media (max-width: 900px) {
  .se-gradebook-teacher-grid { grid-template-columns: 1fr; }
  .se-gradebook-register-tools { position: sticky; top: 0; z-index: 3; backdrop-filter: blur(12px); }
}
@media (max-width: 620px) {
  .se-gradebook-head {
    min-height: 74px;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 10px;
    padding: max(12px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 12px max(14px, env(safe-area-inset-left));
  }
  .se-gradebook-title-wrap { grid-template-columns: 42px minmax(0, 1fr); gap: 10px; }
  .se-gradebook-mark { width: 42px; height: 42px; min-width: 42px; border-radius: 13px; }
  .se-gradebook-close { width: 44px; height: 44px; }
  .se-gradebook-title-wrap h2 { margin-top: 0; white-space: normal; line-height: 1.25; }
  .se-gradebook-title-wrap p { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.45; }
  .se-gradebook-editor-head,
  .se-gradebook-register-head { align-items: flex-start; }
  .se-gradebook-head-tools { width: 100%; justify-content: flex-start; }
  .se-gradebook-register-tools { grid-template-columns: 1fr; }
  .se-gradebook-filter-reset { width: 100%; }
  .se-gradebook-record-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .se-gradebook-record-actions button { justify-content: center; }
}


/* v3.5.3 — one learning-board launcher with grades, attendance and monthly sessions. */
.se-gradebook-monthly-panel {
  height: 100%;
  padding: clamp(12px, 1.8vw, 20px);
  overflow: auto;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.se-gradebook-monthly-host { min-width: 0; }
#se-gradebook-monthly-host #m-monthly-report.tr68-board-report {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  pointer-events: auto !important;
}
#app #se-gradebook-monthly-host .tr68-shell.tr68-shell-embedded {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  border-radius: 18px !important;
  overflow: visible !important;
  box-shadow: none !important;
  background: rgba(3,16,23,.28) !important;
}
#app #se-gradebook-monthly-host .tr68-topbar,
#app #se-gradebook-monthly-host .tr68-statusbar { position: static; }
#app #se-gradebook-monthly-host .tr68-body {
  min-height: 0 !important;
  overflow: visible !important;
  padding: 12px !important;
}
#app #se-gradebook-monthly-host .tr68-summary { top: 10px; }
#app #se-gradebook-monthly-host .tr68-icon-btn { display: none !important; }
#settings-monthly-report-row,
#ni-gradebook { display: none !important; }
@media (max-width: 900px) {
  #app #se-gradebook-monthly-host .tr68-body { grid-template-columns: 1fr !important; }
  #app #se-gradebook-monthly-host .tr68-summary { position: static; }
}
@media (max-width: 620px) {
  .se-gradebook-monthly-panel { padding: 9px; }
  #app #se-gradebook-monthly-host .tr68-shell.tr68-shell-embedded { border-radius: 14px !important; }
  #app #se-gradebook-monthly-host .tr68-topbar,
  #app #se-gradebook-monthly-host .tr68-statusbar,
  #app #se-gradebook-monthly-host .tr68-body { padding-inline: 9px !important; }
}

/* v3.5.5 — collision-free learning-board header and singleton UI. */
.se-gradebook-modal[dir="rtl"] .se-gradebook-head,
.se-gradebook-modal[dir="rtl"] .se-gradebook-title-wrap { direction: rtl; }
.se-gradebook-modal[dir="ltr"] .se-gradebook-head,
.se-gradebook-modal[dir="ltr"] .se-gradebook-title-wrap { direction: ltr; }
.se-gradebook-head > *,
.se-gradebook-title-wrap > * { min-width: 0; }
.se-gradebook-title-wrap h2,
.se-gradebook-title-wrap p { max-width: 100%; }
.se-gradebook-mark i,
.se-gradebook-monthly-icon i { display: block; line-height: 1; }
@media (max-width: 420px) {
  .se-gradebook-head { grid-template-columns: minmax(0, 1fr) 42px; grid-template-areas: "title close"; padding-inline: 12px; }
  .se-gradebook-title-wrap { grid-template-columns: 40px minmax(0, 1fr); grid-template-areas: "mark copy"; gap: 9px; }
  .se-gradebook-mark { width: 40px; height: 40px; min-width: 40px; }
  .se-gradebook-close { width: 42px; height: 42px; min-width: 42px; }
  .se-gradebook-title-wrap h2 { font-size: .94rem; }
  .se-gradebook-title-wrap p { font-size: .58rem; }
}



/* v3.5.5 — final header spacing and embedded-report deduplication. */
.se-gradebook-head,.se-gradebook-title-wrap,.se-gradebook-mark,.se-gradebook-close { box-sizing:border-box; }
.se-gradebook-head { width:100%;overflow:visible; }
.se-gradebook-title-wrap { width:100%;overflow:hidden; }
.se-gradebook-mark { justify-self:center;align-self:center; }
.se-gradebook-close { justify-self:end;align-self:center; }
.se-gradebook-title-wrap > div { max-width:100%; }
#se-gradebook-monthly-host > .tr68-board-report { margin:0; }
#se-gradebook-monthly-host .tr68-topbar { border-radius:17px 17px 0 0; }
#se-gradebook-monthly-host .tr68-heading { min-width:0;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center; }
#se-gradebook-monthly-host .tr68-heading > div:last-child { min-width:0;overflow:hidden; }
#se-gradebook-monthly-host .tr68-heading h2,#se-gradebook-monthly-host .tr68-heading p { max-width:100%;overflow-wrap:anywhere; }
@media(max-width:420px){
  #se-gradebook-monthly-host .tr68-heading { grid-template-columns:40px minmax(0,1fr);gap:9px; }
  #se-gradebook-monthly-host .tr68-heading-icon { width:40px;height:40px;border-radius:12px; }
}


/* v3.7.0 — keep embedded monthly/card icons inside their own grid cells. */
#se-gradebook-modal .tr68-heading,
#se-gradebook-modal .tr68-section-head,
#se-gradebook-modal .se-gradebook-monthly-card {
  min-width:0;
  padding-inline:max(16px, 1.4vw);
}
#se-gradebook-modal .tr68-heading > :first-child,
#se-gradebook-modal .tr68-section-head > :first-child,
#se-gradebook-modal .se-gradebook-monthly-icon {
  flex:0 0 auto;
  justify-self:center;
  margin:0;
}
#se-gradebook-modal .tr68-heading > div,
#se-gradebook-modal .tr68-section-head > div { min-width:0; }
@media (max-width:620px){
  .se-gradebook-head, .se-gradebook-modal[dir="rtl"] .se-gradebook-head { grid-template-columns:minmax(0,1fr) 44px; grid-template-areas:"title close"; }
  .se-gradebook-modal[dir="ltr"] .se-gradebook-head { grid-template-columns:minmax(0,1fr) 44px; grid-template-areas:"title close"; }
}

/* v3.7.0 final — isolate the learning-board emblem from every outer edge. */
.se-gradebook-title-wrap {
  overflow: visible;
  padding-inline: clamp(2px, .45vw, 7px);
}
.se-gradebook-mark {
  position: static;
  inset: auto;
  transform: none;
  justify-self: center;
  align-self: center;
  max-width: 100%;
  max-height: 100%;
}
.se-gradebook-title-copy {
  min-width: 0;
  padding-inline: clamp(2px, .35vw, 6px);
}
@media (max-width: 620px) {
  .se-gradebook-modal[dir="rtl"] .se-gradebook-head {
    grid-template-columns: minmax(0, 1fr) 44px;
    grid-template-areas: "title close";
  }
  .se-gradebook-modal[dir="ltr"] .se-gradebook-head {
    grid-template-columns: minmax(0, 1fr) 44px;
    grid-template-areas: "title close";
  }
  .se-gradebook-title-wrap,
  .se-gradebook-modal[dir="rtl"] .se-gradebook-title-wrap {
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-areas: "mark copy";
  }
  .se-gradebook-modal[dir="ltr"] .se-gradebook-title-wrap {
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-areas: "mark copy";
  }
}
@media (max-width: 390px) {
  .se-gradebook-head { padding-inline: max(12px, env(safe-area-inset-left)); gap: 8px; }
  .se-gradebook-title-wrap { gap: 8px; padding-inline: 0; }
  .se-gradebook-mark { width: 40px; height: 40px; min-width: 40px; border-radius: 12px; }
}


/* SININBE EDU 4.0.6 — daily follow-up mobile collision audit. */
.se-gradebook-modal,.se-gradebook-shell,.se-gradebook-content,.se-gradebook-teacher,
.se-gradebook-tab-panel,.se-gradebook-teacher-grid,.se-gradebook-editor,.se-gradebook-register{box-sizing:border-box;max-inline-size:100%;}
.se-gradebook-tab-panel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.se-gradebook-form-grid select,.se-gradebook-register-tools select{appearance:auto;}
@media (max-width:900px){
  .se-gradebook-content{overflow:auto;}
  .se-gradebook-teacher{height:auto;min-height:100%;overflow:visible;}
  .se-gradebook-tab-panel{height:auto;overflow:visible;}
  .se-gradebook-teacher-grid{height:auto;display:block;overflow:visible;}
  .se-gradebook-editor,.se-gradebook-register{width:100%;overflow:visible;}
  .se-gradebook-register-tools{position:static;top:auto;z-index:auto;}
}
@media (max-width:620px){
  .se-gradebook-modal{overflow:hidden;}
  .se-gradebook-shell{grid-template-rows:auto minmax(0,1fr);overflow:hidden;}
  .se-gradebook-content{min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
  .se-gradebook-head{position:relative;z-index:5;grid-template-columns:minmax(0,1fr) 42px;grid-template-areas:"title close";}
  .se-gradebook-title-wrap,.se-gradebook-modal[dir="ltr"] .se-gradebook-title-wrap{grid-template-columns:40px minmax(0,1fr);grid-template-areas:"mark copy";}
  .se-gradebook-title-copy{overflow:visible;}
  .se-gradebook-title-wrap h2,.se-gradebook-title-wrap p{overflow-wrap:anywhere;word-break:normal;}
  .se-gradebook-tabs{position:sticky;top:0;z-index:4;background:rgba(7,21,31,.96);backdrop-filter:blur(12px);scroll-snap-type:x proximity;}
  .se-gradebook-tabs button{min-height:40px;scroll-snap-align:start;}
  .se-gradebook-editor,.se-gradebook-register{padding:12px;}
  .se-gradebook-editor-head,.se-gradebook-register-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;}
  .se-gradebook-editor-head>div,.se-gradebook-register-head>div{min-width:0;}
  .se-gradebook-editor-head h3,.se-gradebook-register-head h3,.se-gradebook-editor-head p,.se-gradebook-register-head p{overflow-wrap:anywhere;}
  .se-gradebook-form-grid input,.se-gradebook-form-grid select,.se-gradebook-notes textarea,.se-gradebook-score-grid input,.se-gradebook-register-tools select{font-size:16px;}
  .se-gradebook-score-grid>label{min-width:0;}
  .se-gradebook-record-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;}
  .se-gradebook-record-top h4{white-space:normal;overflow-wrap:anywhere;line-height:1.45;}
  .se-gradebook-record-actions{grid-template-columns:repeat(2,minmax(0,1fr));}
  .se-gradebook-record-actions button{min-width:0;white-space:normal;text-align:center;}
  .se-gradebook-form-actions{z-index:4;margin-inline:-2px;gap:6px;}
  .se-gradebook-form-actions button{min-width:0;padding-inline:10px;white-space:normal;}
  .se-gradebook-monthly-panel,.se-gradebook-reader{padding:10px;}
}
@media (max-width:380px){
  .se-gradebook-head{padding-inline:10px;gap:7px;}
  .se-gradebook-title-wrap,.se-gradebook-modal[dir="ltr"] .se-gradebook-title-wrap{grid-template-columns:36px minmax(0,1fr);gap:8px;}
  .se-gradebook-mark{width:36px;height:36px;min-width:36px;}
  .se-gradebook-close{width:40px;height:40px;min-width:40px;}
  .se-gradebook-editor-head,.se-gradebook-register-head{grid-template-columns:1fr;}
  #se-gradebook-edit-badge,#se-gradebook-register-count,#se-daily-edit-badge,#se-daily-register-count{justify-self:start;}
}

/* SININBE EDU 4.0.6 — keep daily-form actions in normal flow on narrow screens. */
@media (max-width:620px){
  .se-gradebook-form-actions{
    position:static !important;
    inset:auto !important;
    bottom:auto !important;
    margin:10px 0 0 !important;
    padding:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }
}


/* SININBE EDU 4.0.30 — gradebook stays inside its own modal */
#se-gradebook-modal[hidden],#se-gradebook-modal:not(.is-open),#se-gradebook-modal[aria-hidden="true"]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
#se-gradebook-modal.is-open:not([hidden]){display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#se-gradebook-modal [hidden]{display:none!important}
body.se-gradebook-open{overflow:hidden!important}
#se-gradebook-modal{isolation:isolate;contain:layout paint style;inset:0!important}
#se-gradebook-modal .se-gradebook-shell{min-width:0;min-height:0;overflow:hidden}
#se-gradebook-modal .se-gradebook-content{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}


/* 4.0.33 — authoritative theme surfaces for the pedagogical board. */
#se-gradebook-modal[data-theme="dark"] #se-gradebook-title,
html[data-theme="dark"] #se-gradebook-modal #se-gradebook-title,
body[data-theme="dark"] #se-gradebook-modal #se-gradebook-title{
  color:#f8fafc!important;
  -webkit-text-fill-color:#f8fafc!important;
  opacity:1!important;
}
#se-gradebook-modal[data-theme="dark"] .se-gradebook-shell,
html[data-theme="dark"] #se-gradebook-modal .se-gradebook-shell,
body[data-theme="dark"] #se-gradebook-modal .se-gradebook-shell{
  background:linear-gradient(145deg,#0c222e,#041119)!important;
  color:#f8fafc!important;
}
#se-gradebook-modal[data-theme="light"] .se-gradebook-shell,
html[data-theme="light"] #se-gradebook-modal .se-gradebook-shell,
body[data-theme="light"] #se-gradebook-modal .se-gradebook-shell{
  background:linear-gradient(145deg,#ffffff,#f3f8f9)!important;
  color:#0f172a!important;
  box-shadow:0 30px 80px rgba(15,23,42,.22),inset 0 1px rgba(255,255,255,.86)!important;
}
#se-gradebook-modal[data-theme="light"] .se-gradebook-head,
html[data-theme="light"] #se-gradebook-modal .se-gradebook-head,
body[data-theme="light"] #se-gradebook-modal .se-gradebook-head{
  background:linear-gradient(180deg,#ffffff,#f7fafb)!important;
  border-color:#d4e2e3!important;
}
#se-gradebook-modal[data-theme="light"] .se-gradebook-empty,
html[data-theme="light"] #se-gradebook-modal .se-gradebook-empty,
body[data-theme="light"] #se-gradebook-modal .se-gradebook-empty{
  background:#ffffff!important;
  color:#5f7180!important;
}
#se-gradebook-modal[data-theme="light"] .se-gradebook-empty h3,
html[data-theme="light"] #se-gradebook-modal .se-gradebook-empty h3,
body[data-theme="light"] #se-gradebook-modal .se-gradebook-empty h3{
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
}
#se-gradebook-modal[data-theme="light"] .se-gradebook-empty p,
html[data-theme="light"] #se-gradebook-modal .se-gradebook-empty p,
body[data-theme="light"] #se-gradebook-modal .se-gradebook-empty p{color:#5f7180!important;}
#se-gradebook-modal[data-theme="light"] .se-gradebook-empty>span,
html[data-theme="light"] #se-gradebook-modal .se-gradebook-empty>span,
body[data-theme="light"] #se-gradebook-modal .se-gradebook-empty>span{
  background:#e8faf6!important;
  border-color:#bce9df!important;
  color:#0e9d88!important;
}

/* 4.0.33 — exact light/dark treatment for the title and empty-state panel. */
#se-gradebook-modal[data-theme="dark"]{
  --gb-bg:#07151f!important;
  --gb-panel:#0c222e!important;
  --gb-panel-2:#102c39!important;
  --gb-line:rgba(147,225,212,.18)!important;
  --gb-text:#f8fafc!important;
  --gb-muted:#a8bfbc!important;
  background:radial-gradient(circle at 12% 10%,rgba(33,212,180,.14),transparent 34%),radial-gradient(circle at 92% 92%,rgba(245,191,79,.10),transparent 30%),rgba(1,8,13,.9)!important;
}
#se-gradebook-modal[data-theme="dark"] #se-gradebook-title{color:#f8fafc!important;-webkit-text-fill-color:#f8fafc!important}
#se-gradebook-modal[data-theme="dark"] #se-gradebook-empty{background:#0c222e!important;color:#a8bfbc!important}
#se-gradebook-modal[data-theme="dark"] #se-gradebook-empty h3{color:#f8fafc!important;-webkit-text-fill-color:#f8fafc!important}
#se-gradebook-modal[data-theme="dark"] #se-gradebook-empty p{color:#a8bfbc!important}
#se-gradebook-modal[data-theme="light"]{
  --gb-bg:#f4f8fa!important;
  --gb-panel:#ffffff!important;
  --gb-panel-2:#f4f8fa!important;
  --gb-line:#d4e2e3!important;
  --gb-text:#0f172a!important;
  --gb-muted:#5f7180!important;
  background:radial-gradient(circle at 12% 10%,rgba(13,148,136,.08),transparent 34%),rgba(226,232,240,.78)!important;
}
#se-gradebook-modal[data-theme="light"] #se-gradebook-title{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important}
#se-gradebook-modal[data-theme="light"] #se-gradebook-empty{background:#fff!important;color:#5f7180!important;border:1px solid #dce7e9!important;border-radius:20px!important;margin:clamp(14px,2vw,24px)!important;box-shadow:0 12px 30px rgba(15,23,42,.06)!important}
#se-gradebook-modal[data-theme="light"] #se-gradebook-empty h3{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important}
#se-gradebook-modal[data-theme="light"] #se-gradebook-empty p{color:#5f7180!important}
#se-gradebook-modal[data-theme="light"] #se-gradebook-empty>span{background:#e8faf6!important;border-color:#bce9df!important;color:#0e9d88!important}

/* 4.0.39.19.10 — complete light/dark surface parity for the learning board.
   Keep these tokens local to this modal so readers, documents and other
   application dialogs retain their own rendering rules. */
#se-gradebook-modal[data-theme="dark"]{
  --gb-workspace:#07151f;
  --gb-tabbar:rgba(7,21,31,.96);
  --gb-editor-surface:rgba(3,16,23,.38);
  --gb-register-surface:#07151f;
  --gb-card-surface:rgba(255,255,255,.035);
  --gb-card-surface-strong:rgba(255,255,255,.05);
  --gb-mark-surface:rgba(0,0,0,.15);
  --gb-monthly-surface:rgba(3,16,23,.28);
  --gb-option-surface:#0b222e;
  --gb-option-text:#ffffff;
  --gb-summary-surface:linear-gradient(145deg,rgba(33,212,180,.07),rgba(255,255,255,.025));
}
#se-gradebook-modal[data-theme="light"]{
  --gb-workspace:#f4f8fa;
  --gb-tabbar:rgba(248,250,252,.98);
  --gb-editor-surface:#f7fafb;
  --gb-register-surface:#ffffff;
  --gb-card-surface:#ffffff;
  --gb-card-surface-strong:#f8fafc;
  --gb-mark-surface:#eef4f5;
  --gb-monthly-surface:#f4f8fa;
  --gb-option-surface:#ffffff;
  --gb-option-text:#0f172a;
  --gb-summary-surface:linear-gradient(145deg,#ffffff,#f0faf7);
}
#se-gradebook-modal .se-gradebook-content,
#se-gradebook-modal .se-gradebook-teacher,
#se-gradebook-modal .se-gradebook-tab-panel{
  background:var(--gb-workspace);
}
#se-gradebook-modal .se-gradebook-content{
  height:100%;
  max-height:100%;
  overflow:auto;
}
#se-gradebook-modal .se-gradebook-tabs{
  background:var(--gb-tabbar);
}
#se-gradebook-modal .se-gradebook-tabs button{
  background:var(--gb-card-surface);
}
#se-gradebook-modal .se-gradebook-tabs button:hover,
#se-gradebook-modal .se-gradebook-tabs button.is-active{
  background:rgba(33,212,180,.12);
}
#se-gradebook-modal .se-gradebook-editor{
  background:var(--gb-editor-surface);
}
#se-gradebook-modal .se-gradebook-register{
  background:var(--gb-register-surface);
}
#se-gradebook-modal .se-gradebook-score-grid>label,
#se-gradebook-modal .se-gradebook-register-tools,
#se-gradebook-modal .se-gradebook-record,
#se-gradebook-modal .se-gradebook-record-actions button,
#se-gradebook-modal .se-daily-status{
  background:var(--gb-card-surface);
}
#se-gradebook-modal .se-gradebook-mark-cell{
  background:var(--gb-mark-surface);
}
#se-gradebook-modal .se-gradebook-summary-card{
  background:var(--gb-summary-surface);
}
#se-gradebook-modal .se-gradebook-record:hover{
  background:var(--gb-card-surface-strong);
}
#se-gradebook-modal .se-gradebook-form-grid select option,
#se-gradebook-modal .se-gradebook-register-tools select option{
  background:var(--gb-option-surface);
  color:var(--gb-option-text);
}
#se-gradebook-modal .se-gradebook-monthly-panel{
  background:var(--gb-workspace);
}
#se-gradebook-modal #se-gradebook-monthly-host .tr68-shell.tr68-shell-embedded{
  background:var(--gb-monthly-surface)!important;
}
#se-gradebook-modal[data-theme="light"] .se-gradebook-close{
  background:#ffffff;
  box-shadow:0 4px 14px rgba(15,23,42,.06);
}
#se-gradebook-modal[data-theme="light"] .se-gradebook-register-tools{
  box-shadow:0 5px 18px rgba(15,23,42,.035);
}
#se-gradebook-modal[data-theme="light"] .se-gradebook-form-grid select:disabled{
  background:#fff8e7!important;
  color:#805600!important;
  border-color:#e8cf91!important;
}
#se-gradebook-modal[data-theme="light"] .se-daily-status.is-alert{
  color:#c2414b;
}
@media(max-width:900px){
  #se-gradebook-modal .se-gradebook-register-tools{
    background:color-mix(in srgb,var(--gb-register-surface) 96%,transparent);
  }
}
@media(max-width:620px){
  #se-gradebook-modal .se-gradebook-tabs{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    padding-inline:8px;
    overflow-x:hidden;
    scroll-snap-type:none;
  }
  #se-gradebook-modal .se-gradebook-tabs button{
    width:100%;
    min-width:0;
    min-height:44px;
    gap:4px;
    padding-inline:5px;
    line-height:1.25;
    text-align:center;
    white-space:normal;
  }
  #se-gradebook-modal .se-gradebook-tabs button span{
    min-width:0;
    overflow-wrap:anywhere;
  }
}
@media(max-width:360px){
  #se-gradebook-modal .se-gradebook-tabs{gap:4px;padding-inline:6px}
  #se-gradebook-modal .se-gradebook-tabs button{padding-inline:3px;font-size:.56rem}
}
@supports not (background:color-mix(in srgb,#fff 50%,transparent)){
  #se-gradebook-modal[data-theme="light"] .se-gradebook-register-tools{background:rgba(255,255,255,.96)}
  #se-gradebook-modal[data-theme="dark"] .se-gradebook-register-tools{background:rgba(7,21,31,.96)}
}

/* === SININBE bundled source: includes/diagnostic-assessment/diagnostic-assessment.css === */
/* SININBE EDU 4.0.39.19.19 — responsive diagnostic placement workflow. */
.se-diag-admin,.se-diag-modal,.se-diagnostic-board{
  --diag-bg:var(--surface,#0d1728);--diag-surface:var(--surface2,#142238);--diag-surface-2:#0f1d30;
  --diag-border:rgba(148,163,184,.22);--diag-text:var(--text-primary,#edf6ff);--diag-muted:var(--text-secondary,#91a5bd);
  --diag-accent:#14b8a6;--diag-accent-2:#2dd4bf;--diag-accent-soft:rgba(20,184,166,.12);
  --diag-blue:#60a5fa;--diag-warn:#f5b74e;--diag-danger:#fb7185;--diag-success:#34d399;
  color:var(--diag-text);box-sizing:border-box
}
.se-diag-admin *,.se-diag-modal *,.se-diagnostic-board *{box-sizing:border-box}
#app[data-theme="light"] .se-diag-admin,#app[data-theme="light"] .se-diag-modal,#app[data-theme="light"] .se-diagnostic-board{
  --diag-bg:#f7fafc;--diag-surface:#fff;--diag-surface-2:#f4f8fc;--diag-border:#d7e1ec;--diag-text:#142033;--diag-muted:#66778b;
  --diag-accent:#0f9f8f;--diag-accent-2:#0f9f8f;--diag-accent-soft:#e8f8f5;--diag-blue:#2563eb;--diag-warn:#b7791f;--diag-danger:#be123c;--diag-success:#087f5b
}
#admin-pane-diagnostics.active{display:flex!important;flex-direction:column;gap:8px;min-height:0;overflow:auto!important;padding:2px;overscroll-behavior:contain}
.se-diag-admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid var(--diag-border);border-radius:14px;background:linear-gradient(135deg,var(--diag-accent-soft),var(--diag-surface) 62%)}
.se-diag-admin-head>div{min-width:0}.se-diag-admin-head h3{margin:2px 0;color:var(--diag-text);font-size:clamp(.94rem,1.65vw,1.12rem);line-height:1.25}.se-diag-admin-head p{max-width:800px;margin:0;color:var(--diag-muted);font-size:.61rem;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.se-diag-eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--diag-accent);font-size:.61rem;font-weight:900}.se-diag-refresh,.se-diag-primary,.se-diag-secondary,.se-diag-record,.se-diag-icon-button,.se-diag-open-review{min-height:42px;border-radius:11px;padding:0 13px;border:1px solid var(--diag-border);display:inline-flex;align-items:center;justify-content:center;gap:7px;font:850 .7rem/1.2 inherit;cursor:pointer;white-space:nowrap;box-shadow:none;transition:border-color .16s,background .16s,transform .16s}
.se-diag-refresh,.se-diag-secondary,.se-diag-icon-button{background:var(--diag-surface-2);color:var(--diag-text)}.se-diag-refresh:hover,.se-diag-secondary:hover,.se-diag-icon-button:hover{border-color:var(--diag-accent);color:var(--diag-accent)}
.se-diag-primary,.se-diag-open-review{border-color:var(--diag-accent);background:var(--diag-accent);color:#fff}.se-diag-primary:hover,.se-diag-open-review:hover{background:var(--diag-accent-2);transform:translateY(-1px)}.se-diag-primary:disabled{opacity:.48;cursor:not-allowed;transform:none}
.se-diag-admin-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.se-diag-admin-kpis article{min-width:0;min-height:44px;display:flex;align-items:center;gap:8px;padding:6px 9px;border:1px solid var(--diag-border);border-radius:12px;background:var(--diag-surface)}.se-diag-admin-kpis article>span{width:29px;height:29px;flex:0 0 29px;border-radius:9px;display:grid;place-items:center;background:var(--diag-accent-soft);color:var(--diag-accent);font-size:.7rem}.se-diag-admin-kpis small,.se-diag-admin-kpis strong{display:block}.se-diag-admin-kpis small{color:var(--diag-muted);font-size:.54rem;font-weight:800;line-height:1.25}.se-diag-admin-kpis strong{margin-top:1px;color:var(--diag-text);font-size:.82rem;line-height:1}
.se-diag-admin-tools{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(145px,.65fr) minmax(165px,.8fr);gap:7px}.se-diag-admin-tools>label{display:grid;grid-template-rows:auto 38px;gap:4px;min-width:0;margin:0}.se-diag-admin-tools label>span:first-child{color:var(--diag-muted);font-size:.56rem;font-weight:850;line-height:1.2}.se-diag-admin-tools select,.se-diag-input-shell{width:100%;height:38px;min-width:0;border:1px solid var(--diag-border);border-radius:10px;background:var(--diag-surface-2);color:var(--diag-text);outline:0}.se-diag-admin-tools select{padding-inline:10px}.se-diag-input-shell{display:flex;align-items:center;gap:7px;padding-inline:10px}.se-diag-input-shell i{color:var(--diag-muted)}.se-diag-input-shell input{flex:1;min-width:0;height:34px;border:0!important;background:transparent!important;color:var(--diag-text)!important;outline:0!important;box-shadow:none!important;padding:0!important}
.se-diag-admin-list{display:grid;gap:7px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.se-diag-row{display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(130px,.72fr) minmax(135px,.72fr) minmax(155px,.82fr) auto auto;align-items:center;gap:9px;padding:9px;border:1px solid var(--diag-border);border-radius:13px;background:var(--diag-surface)}.se-diag-row-person{display:flex;align-items:center;gap:8px;min-width:0}.se-diag-row-avatar{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;background:var(--diag-accent-soft);color:var(--diag-accent)}.se-diag-row-person div{min-width:0}.se-diag-row-person strong,.se-diag-row-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.se-diag-row-person strong{color:var(--diag-text);font-size:.7rem}.se-diag-row-person small{margin-top:2px;color:var(--diag-muted);font-size:.55rem}.se-diag-row-fact{min-width:0}.se-diag-row-fact small,.se-diag-row-fact strong{display:block}.se-diag-row-fact small{color:var(--diag-muted);font-size:.52rem;margin-bottom:3px}.se-diag-row-fact strong{color:var(--diag-text);font-size:.63rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.se-diag-status{display:inline-flex;align-items:center;gap:5px;width:max-content;max-width:100%;padding:5px 8px;border:1px solid rgba(245,183,78,.35);border-radius:999px;background:rgba(245,183,78,.10);color:var(--diag-warn);font-size:.55rem;font-weight:900;white-space:nowrap}.se-diag-status.reviewed{border-color:rgba(52,211,153,.35);background:rgba(52,211,153,.10);color:var(--diag-success)}.se-diag-level{display:block;margin-top:3px;color:var(--diag-accent);font-size:.54rem;font-weight:850;white-space:normal}.se-diag-empty{min-height:105px;display:grid;place-items:center;text-align:center;padding:18px;border:1px dashed var(--diag-border);border-radius:14px;background:var(--diag-surface);color:var(--diag-muted);font-size:.68rem}.se-diag-empty i{display:block;margin-bottom:7px;color:var(--diag-accent);font-size:1.15rem}
body.se-diag-lock{overflow:hidden!important}
.se-diag-modal{position:fixed;inset:0;z-index:2147481800;display:none;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:rgba(2,8,18,.82);backdrop-filter:blur(8px)}.se-diag-modal.is-open{display:flex}.se-diag-modal[hidden]{display:none!important}#app[data-theme="light"] .se-diag-modal{background:rgba(226,232,240,.82)}
.se-diag-shell{width:min(1050px,100%);max-height:min(920px,calc(100dvh - 24px));min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--diag-border);border-radius:20px;background:var(--diag-bg);color:var(--diag-text);box-shadow:0 28px 90px rgba(0,0,0,.44)}#app[data-theme="light"] .se-diag-shell{box-shadow:0 28px 75px rgba(15,23,42,.18)}
.se-diag-modal-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--diag-border);background:var(--diag-surface)}.se-diag-modal-head>div{min-width:0;display:flex;align-items:center;gap:10px}.se-diag-modal-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;background:var(--diag-accent-soft);color:var(--diag-accent)}.se-diag-modal-head h2{margin:0;color:var(--diag-text);font-size:.95rem}.se-diag-modal-head p{margin:3px 0 0;color:var(--diag-muted);font-size:.61rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.se-diag-close{width:40px;height:40px;flex:0 0 40px;border:1px solid var(--diag-border);border-radius:11px;background:var(--diag-surface-2);color:var(--diag-text);display:grid;place-items:center;cursor:pointer}.se-diag-close:hover{color:var(--diag-danger);border-color:var(--diag-danger)}
.se-diag-warning-view{overflow:auto;padding:clamp(20px,5vw,48px);text-align:center;overscroll-behavior:contain}.se-diag-warning-mark{width:68px;height:68px;display:grid;place-items:center;margin:0 auto 13px;border-radius:20px;background:rgba(245,183,78,.12);color:var(--diag-warn);font-size:1.55rem}.se-diag-warning-view h3{margin:0 0 9px;font-size:1.2rem;color:var(--diag-text)}.se-diag-warning-view>p{max-width:740px;margin:0 auto;color:var(--diag-muted);font-size:.74rem;line-height:1.85}.se-diag-warning-view ul{max-width:720px;display:grid;gap:7px;margin:16px auto;padding:0;list-style:none;text-align:start}.se-diag-warning-view li{padding:9px 11px;border:1px solid var(--diag-border);border-radius:11px;background:var(--diag-surface);color:var(--diag-text);font-size:.68rem;line-height:1.6}.se-diag-pledge{max-width:720px;display:flex;align-items:flex-start;gap:9px;margin:15px auto;padding:12px;border:1px solid var(--diag-accent);border-radius:12px;background:var(--diag-accent-soft);text-align:start;color:var(--diag-text);font-size:.69rem;line-height:1.6;cursor:pointer}.se-diag-pledge input{width:19px;height:19px;flex:0 0 19px;margin:1px 0 0;accent-color:var(--diag-accent)}
.se-diag-exam{flex:1 1 auto;min-height:0;overflow:auto;padding:14px;overscroll-behavior:contain;scrollbar-gutter:stable}.se-diag-identity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.se-diag-identity>div{padding:11px 12px;border:1px solid var(--diag-border);border-radius:12px;background:var(--diag-surface)}.se-diag-identity small,.se-diag-identity strong{display:block}.se-diag-identity small{color:var(--diag-muted);font-size:.57rem}.se-diag-identity strong{margin-top:4px;color:var(--diag-text);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.se-diag-guidance{margin:10px 0;padding:10px 12px;border-inline-start:3px solid var(--diag-blue);border-radius:10px;background:rgba(96,165,250,.08);color:var(--diag-muted);font-size:.66rem;line-height:1.6}
.se-diag-exam-section{margin-top:10px;padding:13px;border:1px solid var(--diag-border);border-radius:16px;background:var(--diag-surface)}.se-diag-exam-section>header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.se-diag-exam-section>header>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;background:var(--diag-accent-soft);color:var(--diag-accent);font-size:.72rem;font-weight:950}.se-diag-exam-section h3{margin:0;color:var(--diag-text);font-size:.8rem}.se-diag-exam-section header p{margin:3px 0 0;color:var(--diag-muted);font-size:.59rem}.se-diag-question-list{display:grid;gap:10px}.se-diag-question{display:grid;gap:6px}.se-diag-question>span,.se-diag-practical-answer>span{color:var(--diag-text);font-size:.67rem;font-weight:800;line-height:1.6}.se-diag-question textarea,.se-diag-practical-answer textarea,.se-diag-admin-note textarea{width:100%;resize:vertical;border:1px solid var(--diag-border)!important;border-radius:11px!important;background:var(--diag-surface-2)!important;color:var(--diag-text)!important;padding:10px 11px!important;outline:0!important;box-shadow:none!important;font:inherit;font-size:.7rem;line-height:1.65}.se-diag-question textarea:focus,.se-diag-practical-answer textarea:focus,.se-diag-admin-note textarea:focus{border-color:var(--diag-accent)!important}.se-diag-prompt-list{display:grid;gap:7px;margin:0 0 11px;padding-inline-start:22px;color:var(--diag-text);font-size:.67rem;line-height:1.65}
.se-diag-recorder{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid var(--diag-border);border-radius:12px;background:var(--diag-surface-2)}.se-diag-record{background:var(--diag-accent);border-color:var(--diag-accent);color:#fff}.se-diag-record.is-recording{background:var(--diag-danger);border-color:var(--diag-danger)}.se-diag-record-time{min-width:48px;color:var(--diag-muted);font:850 .68rem/1 monospace}.se-diag-recorder audio{min-width:180px;max-width:100%;height:38px;flex:1}.se-diag-icon-button{width:40px;padding:0;color:var(--diag-danger)}.se-diag-upload-fallback,.se-diag-practical-answer{display:grid;gap:6px;margin-top:10px}.se-diag-upload-fallback>span{font-size:.61rem;color:var(--diag-muted);font-weight:800}.se-diag-upload-fallback input{width:100%;min-height:42px;padding:7px;border:1px solid var(--diag-border);border-radius:11px;background:var(--diag-surface-2);color:var(--diag-text);font-size:.65rem}.se-diag-drop{position:relative;display:grid;place-items:center;gap:6px;margin-top:10px;min-height:120px;padding:16px;border:1px dashed var(--diag-border);border-radius:13px;background:var(--diag-surface-2);text-align:center;cursor:pointer}.se-diag-drop i{color:var(--diag-accent);font-size:1.35rem}.se-diag-drop strong{font-size:.68rem;color:var(--diag-text)}.se-diag-drop small{font-size:.58rem;color:var(--diag-muted)}.se-diag-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.se-diag-state{min-height:19px;margin-top:9px;color:var(--diag-muted);font-size:.66rem}.se-diag-state.error{color:var(--diag-danger)}.se-diag-state.success{color:var(--diag-success)}.se-diag-exam-actions,.se-diag-review-form>footer{position:sticky;bottom:-14px;display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:12px -14px -14px;padding:10px 14px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--diag-border);background:var(--diag-bg);z-index:2}
.se-diag-review-shell{width:min(1120px,100%)}.se-diag-review-body{flex:1 1 auto;min-height:170px;overflow:auto;padding:13px;overscroll-behavior:contain}.se-diag-review-identity{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.se-diag-review-identity>div{padding:10px;border:1px solid var(--diag-border);border-radius:11px;background:var(--diag-surface)}.se-diag-review-identity small,.se-diag-review-identity strong{display:block}.se-diag-review-identity small{font-size:.56rem;color:var(--diag-muted)}.se-diag-review-identity strong{margin-top:4px;font-size:.67rem;color:var(--diag-text)}.se-diag-review-section{margin-top:9px;padding:12px;border:1px solid var(--diag-border);border-radius:14px;background:var(--diag-surface)}.se-diag-review-section h3{margin:0 0 9px;color:var(--diag-text);font-size:.75rem}.se-diag-review-answer{padding:9px 10px;margin-top:7px;border-radius:10px;background:var(--diag-surface-2);color:var(--diag-text);font-size:.66rem;line-height:1.7;white-space:pre-wrap}.se-diag-review-answer small{display:block;margin-bottom:5px;color:var(--diag-muted);font-size:.58rem;font-weight:850}.se-diag-review-section audio{width:100%;height:42px}.se-diag-review-section a{display:inline-flex;align-items:center;gap:6px;margin-top:8px;color:var(--diag-accent);font-size:.65rem;text-decoration:none}.se-diag-review-form{flex:0 0 auto;padding:12px 13px;border-top:1px solid var(--diag-border);background:var(--diag-surface)}.se-diag-score-grid{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr)) minmax(130px,.8fr);gap:8px}.se-diag-score-grid>label{display:grid;gap:5px}.se-diag-score-grid label>span,.se-diag-admin-note>span{font-size:.58rem;color:var(--diag-muted);font-weight:850}.se-diag-score-grid label>div{height:42px;display:flex;align-items:center;border:1px solid var(--diag-border);border-radius:10px;background:var(--diag-surface-2)}.se-diag-score-grid input{width:100%;min-width:0;height:40px;border:0!important;background:transparent!important;color:var(--diag-text)!important;padding-inline:10px!important;outline:0!important;box-shadow:none!important}.se-diag-score-grid b{padding-inline-end:9px;color:var(--diag-muted);font-size:.58rem}.se-diag-score-overall{display:grid;grid-template-columns:1fr auto;align-content:center;padding:7px 10px;border:1px solid var(--diag-accent);border-radius:10px;background:var(--diag-accent-soft)}.se-diag-score-overall small{grid-column:1/-1;color:var(--diag-muted);font-size:.55rem}.se-diag-score-overall strong{color:var(--diag-accent);font-size:.85rem}.se-diag-score-overall b{color:var(--diag-muted);font-size:.58rem}.se-diag-admin-note{display:grid;gap:5px;margin-top:8px}.se-diag-review-form>footer{position:static;margin:9px 0 0;padding:0;border:0;background:transparent}
.se-diagnostic-board{margin-bottom:12px;padding:12px;border:1px solid var(--diag-border);border-radius:15px;background:linear-gradient(135deg,var(--diag-accent-soft),var(--diag-surface) 70%)}.se-diagnostic-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;margin-bottom:10px}.se-diagnostic-board-head h3{margin:0;color:var(--diag-text);font-size:.79rem}.se-diagnostic-board-head p{margin:3px 0 0;color:var(--diag-muted);font-size:.6rem;line-height:1.6}.se-diagnostic-board-head>span{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:11px;background:var(--diag-accent-soft);color:var(--diag-accent)}.se-diagnostic-subjects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.se-diagnostic-subject{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;border:1px solid var(--diag-border);border-radius:12px;background:var(--diag-surface)}.se-diagnostic-subject>div{min-width:0}.se-diagnostic-subject strong,.se-diagnostic-subject small{display:block}.se-diagnostic-subject strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--diag-text);font-size:.69rem}.se-diagnostic-subject small{margin-top:4px;color:var(--diag-muted);font-size:.56rem;line-height:1.4}.se-diagnostic-subject button{min-height:36px;padding:0 10px;border:1px solid var(--diag-accent);border-radius:9px;background:var(--diag-accent);color:#fff;font:850 .62rem/1 inherit;cursor:pointer}.se-diagnostic-subject button:disabled{opacity:.55;cursor:not-allowed}.se-diagnostic-result{margin-top:4px;color:var(--diag-accent)!important;font-weight:850}
@media(max-width:900px){.se-diag-row{grid-template-columns:minmax(180px,1.2fr) repeat(2,minmax(125px,.75fr)) auto auto}.se-diag-row-date{display:none}.se-diag-review-identity{grid-template-columns:repeat(2,minmax(0,1fr))}.se-diag-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#admin-pane-diagnostics.active{padding:0}.se-diag-admin-head{padding:9px;align-items:center}.se-diag-admin-head p{font-size:.58rem}.se-diag-refresh span{display:none}.se-diag-refresh{width:38px;min-height:38px;padding:0;flex:0 0 38px}.se-diag-admin-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.se-diag-admin-kpis article{display:grid;justify-items:center;text-align:center;gap:3px;padding:6px 4px}.se-diag-admin-kpis article>span{width:28px;height:28px;flex-basis:28px}.se-diag-admin-kpis small{font-size:.5rem}.se-diag-admin-tools{grid-template-columns:1fr 1fr}.se-diag-search-field{grid-column:1/-1}.se-diag-row{grid-template-columns:minmax(0,1fr) 42px;gap:7px}.se-diag-row-subject,.se-diag-row-date{grid-column:1}.se-diag-row-score{grid-column:1}.se-diag-row-status{grid-column:1}.se-diag-open-review{grid-column:2;grid-row:1;align-self:start;width:42px;height:42px;min-width:42px;min-height:42px;padding:0}.se-diag-open-review span{display:none}.se-diag-modal{padding:0;align-items:stretch}.se-diag-shell{width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.se-diag-modal-head{padding-top:max(10px,env(safe-area-inset-top))}.se-diag-exam{padding:10px}.se-diag-exam-section{padding:11px}.se-diag-exam-actions{bottom:-10px;margin:10px -10px -10px;padding-inline:10px}.se-diag-identity{grid-template-columns:1fr}.se-diag-review-body{padding:10px}.se-diag-review-form{max-height:48dvh;overflow:auto;padding:10px}.se-diagnostic-subjects{grid-template-columns:1fr}}
@media(max-width:420px){.se-diag-admin-head p{display:none}.se-diag-admin-tools{grid-template-columns:1fr}.se-diag-search-field{grid-column:auto}.se-diag-admin-kpis article>span{display:none}.se-diag-admin-kpis strong{font-size:.88rem}.se-diag-admin-kpis small{line-height:1.35}.se-diag-warning-view{padding:20px 14px}.se-diag-warning-view>p{font-size:.69rem}.se-diag-exam-actions,.se-diag-review-form>footer{align-items:stretch}.se-diag-exam-actions button,.se-diag-review-form>footer button{flex:1;min-width:0;white-space:normal}.se-diag-exam-actions .se-diag-secondary span{font-size:0}.se-diag-exam-actions .se-diag-secondary span:after{content:'×';font-size:1rem}.se-diag-score-grid{grid-template-columns:1fr 1fr}.se-diag-score-overall{grid-column:1/-1}.se-diag-recorder audio{flex-basis:100%;width:100%}}
@media(max-height:620px) and (min-width:701px){.se-diag-shell{height:calc(100dvh - 16px);max-height:none}.se-diag-warning-view{padding-block:16px}.se-diag-warning-mark{width:48px;height:48px;border-radius:14px;font-size:1.1rem}.se-diag-warning-view ul{margin-block:10px}.se-diag-warning-view li{padding-block:6px}}

/* 4.0.39.19.19 — visible and resilient diagnostic start action */
#se-diag-warning-accept[aria-busy="true"]{cursor:progress;opacity:.78}
#se-diag-warning-accept[aria-busy="true"]::after{content:"";width:15px;height:15px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:seDiagSpin .75s linear infinite}
@keyframes seDiagSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#se-diag-warning-accept[aria-busy="true"]::after{animation:none}}


/* 4.0.39.19.19 — modal hardening: no clipped close button, centered controls, no click-through. */
.se-diag-modal{pointer-events:auto!important;isolation:isolate;overflow:hidden!important;font-family:"Tajawal","Space Grotesk",system-ui,sans-serif!important}
.se-diag-modal[data-theme="light"]{--diag-bg:#f7fafc;--diag-surface:#fff;--diag-surface-2:#f4f8fc;--diag-border:#d7e1ec;--diag-text:#142033;--diag-muted:#66778b;--diag-accent:#0f9f8f;--diag-accent-2:#0f9f8f;--diag-accent-soft:#e8f8f5;--diag-blue:#2563eb;--diag-warn:#b7791f;--diag-danger:#be123c;--diag-success:#087f5b;background:rgba(226,232,240,.86)}
.se-diag-modal[data-theme="dark"]{--diag-bg:#0d1728;--diag-surface:#142238;--diag-surface-2:#0f1d30;--diag-border:rgba(148,163,184,.22);--diag-text:#edf6ff;--diag-muted:#91a5bd;--diag-accent:#14b8a6;--diag-accent-2:#2dd4bf;--diag-accent-soft:rgba(20,184,166,.12);--diag-blue:#60a5fa;--diag-warn:#f5b74e;--diag-danger:#fb7185;--diag-success:#34d399;background:rgba(2,8,18,.84)}
.se-diag-modal.is-open{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.se-diag-shell{position:relative!important;width:min(980px,calc(100vw - 28px))!important;max-width:980px!important;max-height:calc(100dvh - 28px)!important;overflow:hidden!important;border-radius:18px!important;pointer-events:auto!important;transform:none!important}
.se-diag-review-shell{width:min(1080px,calc(100vw - 28px))!important;max-width:1080px!important}
.se-diag-modal-head{position:relative!important;z-index:50!important;min-height:66px!important;flex:0 0 auto!important;overflow:visible!important;padding:12px 14px!important;padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))!important}
.se-diag-close{position:relative!important;z-index:60!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;flex:0 0 42px!important;margin:0!important;padding:0!important;border-radius:11px!important;display:grid!important;place-items:center!important;overflow:visible!important;line-height:1!important}
.se-diag-close i{display:block!important;line-height:1!important;pointer-events:none!important}
.se-diag-warning-view{min-height:0!important;flex:1 1 auto!important}
.se-diag-warning-view>.se-diag-primary{display:flex!important;width:min(320px,100%)!important;min-height:44px!important;margin:14px auto 0!important;align-items:center!important;justify-content:center!important;text-align:center!important}
.se-diag-warning-view>.se-diag-primary i{flex:0 0 auto}.se-diag-warning-view>.se-diag-primary span{display:block;text-align:center}
.se-diag-exam-actions,.se-diag-review-form>footer{justify-content:center!important;align-items:center!important}.se-diag-exam-actions button,.se-diag-review-form>footer button{justify-content:center!important;text-align:center!important}
.se-diagnostic-subject button,.se-diag-open-review,.se-diag-refresh,.se-diag-record,.se-diag-primary,.se-diag-secondary,.se-diag-icon-button{align-items:center!important;justify-content:center!important;text-align:center!important}
body.se-diag-lock{overflow:hidden!important;touch-action:none}.se-diag-modal .se-diag-shell{touch-action:auto}
@media(max-width:700px){.se-diag-modal{padding:0!important;align-items:stretch!important}.se-diag-shell,.se-diag-review-shell{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;border:0!important;border-radius:0!important}.se-diag-modal-head{min-height:62px!important;padding-top:max(10px,env(safe-area-inset-top))!important;padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))!important}.se-diag-close{width:42px!important;height:42px!important;flex-basis:42px!important}.se-diag-warning-view{padding:18px 13px max(18px,env(safe-area-inset-bottom))!important}.se-diag-exam-actions{padding-bottom:max(10px,env(safe-area-inset-bottom))!important}}
@media(max-width:420px){.se-diag-modal-head>div{gap:8px!important}.se-diag-modal-icon{width:36px!important;height:36px!important;flex-basis:36px!important}.se-diag-modal-head h2{font-size:.86rem!important}.se-diag-warning-view>.se-diag-primary{width:100%!important}}

/* ── 4.0.39.19.23 — stacking safety net ───────────────────────────────────
   #app is fixed, opaque and sits at z-index:2147483647. If the assessment
   modal ever ends up outside #app it would be painted behind that opaque
   layer and look like "nothing happened". Matching the maximum z-index while
   coming later in the document keeps it visible in that fallback case. */
body > .se-diag-modal{z-index:2147483647!important}
body > .se-diag-modal.is-open{display:flex!important}
#app > .se-diag-modal.is-open{display:flex!important}
.se-diag-modal.is-open .se-diag-shell{pointer-events:auto!important}

/* ── 4.0.39.19.24 — delete control for submitted placements ────────────
   The admin row gains one extra trailing column for the delete button. It is
   only rendered for administrators holding the diagnostics_manage permission. */
.se-diag-row{grid-template-columns:minmax(190px,1.15fr) minmax(130px,.72fr) minmax(135px,.72fr) minmax(155px,.82fr) auto auto auto!important}
.se-diag-delete-attempt{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 11px;cursor:pointer;
  border:1px solid rgba(251,113,133,.42);border-radius:10px;background:rgba(251,113,133,.10);color:var(--diag-danger);
  font-size:.6rem;font-weight:800;white-space:nowrap}
.se-diag-delete-attempt:hover{background:rgba(251,113,133,.18);border-color:var(--diag-danger)}
.se-diag-delete-attempt:focus-visible{outline:2px solid var(--diag-danger);outline-offset:2px}
.se-diag-delete-attempt[disabled]{opacity:.55;cursor:progress}
.se-diag-admin-list[aria-busy="true"]{opacity:.75;pointer-events:none}
@media(max-width:900px){
  .se-diag-row{grid-template-columns:minmax(180px,1.2fr) repeat(2,minmax(125px,.75fr)) auto auto auto!important}
}
@media(max-width:700px){
  .se-diag-row{grid-template-columns:minmax(0,1fr) 42px 42px!important}
  .se-diag-delete-attempt{grid-column:3;grid-row:1;align-self:start;width:42px;min-width:42px;height:42px;padding:0}
  .se-diag-delete-attempt span{display:none}
}

/* ── 4.0.39.19.24 — interactive (multiple choice) section ──────────────
   Options are full-width tap targets rather than bare radios, so the section
   works the same on a phone as on a desktop. */
.se-diag-mcq-list{display:grid;gap:11px}
.se-diag-mcq{margin:0;padding:11px;border:1px solid var(--diag-border);border-radius:13px;background:var(--diag-surface)}
.se-diag-mcq legend{padding:0 4px;color:var(--diag-text);font-size:.7rem;font-weight:800;line-height:1.6}
.se-diag-mcq.is-missing{border-color:var(--diag-danger);box-shadow:0 0 0 1px var(--diag-danger) inset}
.se-diag-mcq-options{display:grid;gap:7px;margin-top:8px}
.se-diag-mcq-option{display:flex;align-items:flex-start;gap:9px;min-height:42px;padding:9px 11px;cursor:pointer;
  border:1px solid var(--diag-border);border-radius:11px;background:var(--diag-surface-2);
  color:var(--diag-text);font-size:.66rem;line-height:1.65;transition:border-color .16s,background .16s}
.se-diag-mcq-option:hover{border-color:var(--diag-accent)}
.se-diag-mcq-option input{flex:0 0 auto;width:17px;height:17px;margin-top:2px;accent-color:var(--diag-accent);cursor:pointer}
.se-diag-mcq-option span{min-width:0;word-break:break-word}
.se-diag-mcq-option:has(input:checked){border-color:var(--diag-accent);background:var(--diag-accent-soft)}
.se-diag-mcq-option input:focus-visible{outline:2px solid var(--diag-accent);outline-offset:2px}

/* Admin review of the auto-marked part. */
.se-diag-mcq-score{margin:0 0 8px;color:var(--diag-text);font-size:.66rem}
.se-diag-mcq-review{display:grid;gap:4px;padding:9px 11px;margin-bottom:7px;border-radius:11px;
  border:1px solid var(--diag-border);background:var(--diag-surface-2)}
.se-diag-mcq-review strong{color:var(--diag-text);font-size:.64rem;line-height:1.6}
.se-diag-mcq-given{color:var(--diag-muted);font-size:.62rem}
.se-diag-mcq-flag{font-size:.58rem;font-weight:800}
.se-diag-mcq-review.is-correct{border-color:rgba(52,211,153,.38)}
.se-diag-mcq-review.is-correct .se-diag-mcq-flag{color:var(--diag-success)}
.se-diag-mcq-review.is-wrong{border-color:rgba(251,113,133,.38)}
.se-diag-mcq-review.is-wrong .se-diag-mcq-flag{color:var(--diag-danger)}

/* ── 4.0.39.19.25 — automatic evaluation panel ─────────────────────────
   The platform's own result is shown first, because it is now the decision
   rather than a hint. Confidence is colour-coded so an administrator can tell
   at a glance which attempts actually deserve a human look. */
.se-diag-auto-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-bottom:9px}
.se-diag-auto-head>div{display:grid;gap:2px;padding:10px 12px;border-radius:12px;
  border:1px solid var(--diag-border);background:var(--diag-surface-2)}
.se-diag-auto-head small{color:var(--diag-muted);font-size:.55rem}
.se-diag-auto-head strong{color:var(--diag-text);font-size:.92rem;font-variant-numeric:tabular-nums}
.se-diag-auto-head span{color:var(--diag-accent);font-size:.58rem;font-weight:800}
.se-diag-auto-head.is-high>div{border-color:rgba(52,211,153,.42)}
.se-diag-auto-head.is-high span{color:var(--diag-success)}
.se-diag-auto-head.is-medium>div{border-color:rgba(245,183,78,.42)}
.se-diag-auto-head.is-medium span{color:var(--diag-warn)}
.se-diag-auto-head.is-low>div{border-color:rgba(251,113,133,.42)}
.se-diag-auto-head.is-low span{color:var(--diag-danger)}
.se-diag-auto-parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:7px}
.se-diag-auto-part{display:grid;gap:2px;padding:8px 10px;border-radius:10px;
  border:1px solid var(--diag-border);background:var(--diag-surface)}
.se-diag-auto-part small{color:var(--diag-muted);font-size:.53rem}
.se-diag-auto-part strong{color:var(--diag-text);font-size:.76rem;font-variant-numeric:tabular-nums}
.se-diag-auto-why{margin:8px 0 0;color:var(--diag-muted);font-size:.58rem;line-height:1.7}
.se-diag-auto-transcript{margin-top:9px;padding:9px 11px;border-radius:11px;
  border:1px dashed var(--diag-border);background:var(--diag-surface-2)}
.se-diag-auto-transcript small{display:block;margin-bottom:4px;color:var(--diag-muted);font-size:.55rem}
.se-diag-auto-transcript p{margin:0;color:var(--diag-text);font-size:.62rem;line-height:1.8;
  max-height:180px;overflow:auto;word-break:break-word}

/* ── 4.0.39.19.33 — focused twenty-question diagnostic ───────────────── */
.se-diag-progress{position:sticky;top:-14px;z-index:4;display:grid;gap:7px;margin:10px 0 2px;
  padding:10px 12px;border:1px solid var(--diag-border);border-radius:13px;background:var(--diag-surface);
  background:color-mix(in srgb,var(--diag-surface) 94%,transparent);backdrop-filter:blur(12px)}
.se-diag-progress>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.se-diag-progress span{color:var(--diag-muted);font-size:.6rem;font-weight:800}
.se-diag-progress strong{color:var(--diag-accent);font-size:.72rem;font-variant-numeric:tabular-nums}
.se-diag-progress-track{display:block!important;height:6px;overflow:hidden;border-radius:999px;background:var(--diag-surface-2)}
.se-diag-progress-track i{display:block;width:0;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,var(--diag-accent),var(--diag-blue));transition:width .2s ease}
.se-diag-mcq{position:relative;padding:14px;background:linear-gradient(145deg,var(--diag-surface),var(--diag-surface-2))}
.se-diag-mcq-option:has(input:checked){box-shadow:0 7px 18px rgba(0,0,0,.08)}
.se-diag-score-grid{grid-template-columns:minmax(180px,1.35fr) minmax(160px,.85fr)}
.se-diag-score-overall{grid-template-columns:1fr}
.se-diag-score-overall strong{margin-top:4px;line-height:1.45}
@media(max-width:560px){.se-diag-progress{top:-10px}.se-diag-score-grid{grid-template-columns:1fr}.se-diag-score-overall{grid-column:auto}}

/* === SININBE bundled source: includes/registration-documents/registration-documents.css === */
#admin-pane-registrationdocs,
#m-registrationdocs{
  --serd-bg:#07131f;
  --serd-panel:#0d2230;
  --serd-panel-2:#112c3a;
  --serd-line:rgba(148,211,202,.18);
  --serd-text:#f3fbfa;
  --serd-muted:#9eb5b2;
  --serd-primary:#17bfa4;
  --serd-primary-2:#0b8f7a;
  --serd-danger:#ff7480;
  color:var(--serd-text);
  font-family:var(--se-font-ui,"Tajawal","Josefin Sans",sans-serif);
}
#admin-pane-registrationdocs[data-theme="light"],
#m-registrationdocs[data-theme="light"],
html[data-theme="light"] #admin-pane-registrationdocs,
html[data-theme="light"] #m-registrationdocs,
body[data-theme="light"] #admin-pane-registrationdocs,
body[data-theme="light"] #m-registrationdocs{
  --serd-bg:#f4f8fa;
  --serd-panel:#ffffff;
  --serd-panel-2:#f7fafb;
  --serd-line:#d9e4e7;
  --serd-text:#15202b;
  --serd-muted:#647481;
  --serd-primary:#0e9d88;
  --serd-primary-2:#087b6b;
  --serd-danger:#dc5260;
}
#admin-pane-registrationdocs{min-width:0;min-height:0;height:100%;overflow:auto!important;padding:2px 4px 18px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(23,191,164,.55) transparent}
#admin-pane-registrationdocs[hidden]{display:none!important}
.serd-pane-head,.serd-toolbar,.serd-modal-head,.serd-section-head,.serd-student-main,.serd-student-actions,.serd-doc-actions,.serd-print-actions{display:flex;align-items:center}
.serd-pane-head{justify-content:space-between;gap:16px;margin-bottom:12px;padding:16px 18px;border:1px solid var(--serd-line);border-radius:18px;background:linear-gradient(135deg,var(--serd-panel),var(--serd-panel-2))}
.serd-pane-head h2,.serd-section-head h3,.serd-docs-head h3,.serd-modal-head h2{margin:0;color:var(--serd-text);font-weight:900}
.serd-pane-head h2{font-size:1rem}.serd-pane-head p,.serd-section-head p,.serd-docs-head p,.serd-modal-head p{margin:4px 0 0;color:var(--serd-muted);font-size:.67rem;line-height:1.55}
.serd-toolbar{gap:10px;margin-bottom:12px}.serd-search{min-width:0;flex:1;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border:1px solid var(--serd-line);border-radius:14px;background:var(--serd-panel)}.serd-search i{color:var(--serd-primary)}.serd-search input{min-width:0;width:100%;border:0!important;outline:0!important;background:transparent!important;color:var(--serd-text)!important;-webkit-text-fill-color:var(--serd-text)!important;font:700 .72rem var(--se-font-ui)}.serd-count{min-width:86px;min-height:44px;display:grid;place-items:center;padding:0 14px;border:1px solid var(--serd-line);border-radius:14px;background:var(--serd-panel);color:var(--serd-primary);font-size:.7rem;font-weight:900}
.serd-status,.serd-modal-status{min-height:0;margin:0;color:var(--serd-primary);font-size:.7rem;font-weight:800}.serd-status:not(:empty),.serd-modal-status:not(:empty){min-height:36px;padding:9px 12px;border:1px solid rgba(23,191,164,.24);border-radius:12px;background:rgba(23,191,164,.08)}.serd-status.error,.serd-modal-status.error{color:var(--serd-danger);border-color:rgba(255,116,128,.28);background:rgba(255,116,128,.08)}
.serd-students{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.serd-student-card{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--serd-line);border-radius:18px;background:linear-gradient(145deg,var(--serd-panel),var(--serd-panel-2));box-shadow:0 12px 32px rgba(2,12,20,.08)}.serd-student-main{min-width:0;gap:12px}.serd-avatar{width:44px;height:44px;min-width:44px;display:grid;place-items:center;border:1px solid rgba(23,191,164,.28);border-radius:14px;background:rgba(23,191,164,.09);color:var(--serd-primary);font-size:1rem}.serd-student-copy{min-width:0}.serd-student-copy h3{margin:0;overflow:hidden;color:var(--serd-text);font-size:.82rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.serd-student-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:5px;color:var(--serd-muted);font-size:.58rem;font-weight:700}.serd-student-meta span,.serd-student-meta code{display:inline-flex;align-items:center;gap:4px}.serd-student-meta code{color:var(--serd-primary)}.serd-subjects{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.serd-subjects span{max-width:180px;padding:4px 8px;overflow:hidden;border:1px solid var(--serd-line);border-radius:999px;background:rgba(148,163,184,.06);color:var(--serd-muted);font-size:.53rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.serd-student-actions{flex:0 0 auto;gap:7px}
.serd-btn,.serd-icon-btn,.serd-doc-actions button,.serd-modal-tabs button{appearance:none;border:1px solid var(--serd-line);cursor:pointer;font-family:var(--se-font-ui);transition:.16s ease}.serd-btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border-radius:12px;font-size:.64rem;font-weight:900}.serd-btn-primary{border-color:rgba(23,191,164,.36);background:linear-gradient(135deg,var(--serd-primary),var(--serd-primary-2));color:#fff}.serd-btn-secondary{background:var(--serd-panel);color:var(--serd-text)}.serd-btn:hover,.serd-icon-btn:hover,.serd-doc-actions button:hover,.serd-modal-tabs button:hover{transform:translateY(-1px);border-color:rgba(23,191,164,.5)}.serd-btn:disabled{opacity:.55;cursor:wait;transform:none}.serd-icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--serd-panel);color:var(--serd-text)}
.serd-empty{grid-column:1/-1;min-height:180px;display:grid;place-content:center;justify-items:center;gap:10px;padding:28px;border:1px dashed var(--serd-line);border-radius:18px;background:var(--serd-panel);color:var(--serd-muted);text-align:center}.serd-empty i{color:var(--serd-primary);font-size:1.35rem}.serd-empty strong{font-size:.76rem}.serd-empty.error i{color:var(--serd-danger)}
#m-registrationdocs{z-index:2147481500;background:rgba(2,8,13,.82);backdrop-filter:blur(14px)}#m-registrationdocs .serd-modal-box{width:min(1160px,calc(100vw - 24px));height:min(900px,calc(100dvh - 24px));max-width:none;max-height:none;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--serd-line);border-radius:24px;background:var(--serd-bg);color:var(--serd-text);padding:0!important}#m-registrationdocs[data-theme="light"]{background:rgba(71,85,105,.42)}
.serd-modal-head{justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--serd-line);background:linear-gradient(180deg,var(--serd-panel),var(--serd-bg))}.serd-modal-identity{min-width:0;display:flex;align-items:center;gap:12px}.serd-modal-identity>div{min-width:0}.serd-modal-head h2{overflow:hidden;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}
.serd-modal-tabs{display:flex;gap:8px;padding:10px 14px;overflow-x:auto;border-bottom:1px solid var(--serd-line);background:var(--serd-panel)}.serd-modal-tabs button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border-radius:12px;background:transparent;color:var(--serd-muted);font-size:.64rem;font-weight:900;white-space:nowrap}.serd-modal-tabs button.active{border-color:rgba(23,191,164,.38);background:rgba(23,191,164,.1);color:var(--serd-primary)}
.serd-modal-body{min-height:0;overflow:hidden}.serd-panel{height:100%;overflow-y:auto;padding:16px 18px 28px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(23,191,164,.55) transparent}.serd-panel[hidden]{display:none!important}.serd-section-head{justify-content:space-between;gap:16px;margin-bottom:14px;padding:14px 16px;border:1px solid var(--serd-line);border-radius:16px;background:var(--serd-panel)}.serd-section-head h3,.serd-docs-head h3{font-size:.83rem}
.serd-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.serd-form-grid label,.serd-upload-controls>label{min-width:0;display:grid;gap:7px;color:var(--serd-muted);font-size:.61rem;font-weight:850}.serd-form-grid label>span,.serd-upload-controls label>span{padding-inline:3px}.serd-span-2{grid-column:1/-1}.serd-form-grid input,.serd-form-grid textarea,.serd-upload-controls select{width:100%;min-width:0;border:1px solid var(--serd-line)!important;border-radius:12px!important;background:var(--serd-panel)!important;color:var(--serd-text)!important;-webkit-text-fill-color:var(--serd-text)!important;outline:0!important;box-shadow:none!important;font:700 .7rem var(--se-font-ui)!important}.serd-form-grid input,.serd-upload-controls select{min-height:44px;padding:0 12px!important}.serd-form-grid textarea{padding:11px 12px!important;line-height:1.65;resize:vertical}.serd-form-grid input:focus,.serd-form-grid textarea:focus,.serd-upload-controls select:focus{border-color:rgba(23,191,164,.62)!important;box-shadow:0 0 0 3px rgba(23,191,164,.09)!important}.serd-print-actions{justify-content:flex-end;gap:9px;margin-top:16px}
.serd-upload-card{padding:14px;border:1px solid var(--serd-line);border-radius:18px;background:var(--serd-panel-2)}.serd-upload-card .serd-section-head{margin:0 0 12px;padding:0;border:0;background:transparent}.serd-upload-controls{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr) auto;gap:12px;align-items:end}.serd-file-picker{position:relative}.serd-file-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.serd-file-picker>span{min-height:72px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:10px;padding:11px 13px;border:1px dashed rgba(23,191,164,.42);border-radius:14px;background:rgba(23,191,164,.06);color:var(--serd-text)}.serd-file-picker i{grid-row:1/3;color:var(--serd-primary);font-size:1.1rem}.serd-file-picker b{font-size:.66rem}.serd-file-picker small{color:var(--serd-muted);font-size:.55rem}.serd-docs-head{margin:16px 0 10px}.serd-documents{display:grid;gap:9px}.serd-document{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--serd-line);border-radius:14px;background:var(--serd-panel)}.serd-doc-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(23,191,164,.25);border-radius:12px;background:rgba(23,191,164,.08);color:var(--serd-primary)}.serd-doc-copy{min-width:0}.serd-doc-copy strong{display:block;overflow:hidden;color:var(--serd-text);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.serd-doc-copy span{display:block;margin-top:4px;color:var(--serd-muted);font-size:.54rem}.serd-doc-actions{gap:6px}.serd-doc-actions button{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--serd-panel-2);color:var(--serd-text)}.serd-doc-actions button.danger{color:var(--serd-danger);border-color:rgba(255,116,128,.24)}.serd-modal-status{margin:0 16px 14px}
@media(max-width:980px){.serd-students{grid-template-columns:1fr}.serd-upload-controls{grid-template-columns:1fr 1fr}.serd-upload-controls>.serd-btn{grid-column:1/-1}.serd-student-card{align-items:flex-start}.serd-student-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:700px){#admin-pane-registrationdocs{padding-inline:0}.serd-pane-head,.serd-student-card{border-radius:15px}.serd-pane-head{align-items:flex-start}.serd-pane-head p{max-width:75vw}.serd-toolbar{align-items:stretch}.serd-count{min-width:72px}.serd-student-card{display:grid}.serd-student-actions{justify-content:stretch}.serd-student-actions .serd-btn{flex:1}.serd-form-grid,.serd-upload-controls{grid-template-columns:1fr}.serd-span-2{grid-column:auto}.serd-section-head{align-items:flex-start;flex-direction:column}.serd-section-head .serd-btn{width:100%}.serd-print-actions{display:grid;grid-template-columns:1fr}.serd-print-actions .serd-btn{width:100%}.serd-document{grid-template-columns:38px minmax(0,1fr)}.serd-doc-actions{grid-column:1/-1;justify-content:flex-end}.serd-modal-tabs button{flex:1}.serd-modal-head{padding-inline:14px}.serd-panel{padding-inline:12px}#m-registrationdocs .serd-modal-box{width:100vw;height:100dvh;border-radius:0;border-inline:0}}
@media(max-width:430px){.serd-pane-head{display:grid}.serd-pane-head .serd-btn{width:100%}.serd-toolbar{display:grid;grid-template-columns:1fr}.serd-count{width:100%}.serd-student-main{align-items:flex-start}.serd-student-actions{display:grid;grid-template-columns:minmax(0,1fr) 40px}.serd-modal-tabs{padding-inline:8px}.serd-modal-tabs button{padding-inline:10px}.serd-modal-tabs button span{font-size:.56rem}}


/* 4.0.35 — single-action three-PDF registration package. */
.serd-package-actions{justify-content:stretch!important}.serd-package-actions .serd-btn{width:100%;min-height:48px;justify-content:center}.serd-package-btn{color:var(--serd-primary)!important}.serd-btn[aria-busy="true"],.serd-icon-btn[aria-busy="true"]{pointer-events:none;opacity:.66}.serd-btn[aria-busy="true"] i,.serd-icon-btn[aria-busy="true"] i{animation:serdspin .8s linear infinite}@keyframes serdspin{to{transform:rotate(360deg)}}


/* 4.0.37 — document-language selection and resilient zoom layouts. */
.serd-language-card{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);align-items:center;gap:14px;margin-top:14px;padding:14px 16px;border:1px solid var(--serd-line);border-radius:16px;background:linear-gradient(135deg,var(--serd-panel),var(--serd-panel-2))}.serd-language-copy h4{margin:0;color:var(--serd-text);font-size:.76rem;font-weight:950}.serd-language-copy p{margin:5px 0 0;color:var(--serd-muted);font-size:.58rem;line-height:1.55}.serd-language-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;min-width:0}.serd-language-choice{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid var(--serd-line);border-radius:13px;background:rgba(148,163,184,.045);color:var(--serd-text);cursor:pointer}.serd-language-choice input{width:17px!important;height:17px!important;min-height:0!important;margin:0!important;accent-color:var(--serd-primary)}.serd-language-choice span{overflow:hidden;font-size:.62rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.serd-language-choice small{color:var(--serd-muted);font-size:.52rem;font-weight:900}.serd-language-choice:has(input:checked){border-color:color-mix(in srgb,var(--serd-primary) 55%,var(--serd-line));background:color-mix(in srgb,var(--serd-primary) 10%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--serd-primary) 8%,transparent)}
@media(max-width:900px){.serd-language-card{grid-template-columns:1fr}.serd-language-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.serd-language-options{grid-template-columns:1fr}}
html.se-zoom-compact #m-registrationdocs .serd-modal-box{width:min(100vw - 12px,1160px);height:min(100dvh - 12px,900px)}html.se-zoom-narrow #m-registrationdocs .serd-modal-box{width:100vw;height:100dvh;border-radius:0}.serd-modal-box,.serd-modal-body,.serd-panel,.serd-form-grid,.serd-language-card,.serd-language-options{min-width:0;max-width:100%}


/* 4.0.39.15 — student performance report action without changing existing registration controls. */
.serd-report-btn{color:var(--serd-text)!important;background:var(--serd-panel)!important}.serd-report-btn i{color:var(--serd-primary)}
@media(max-width:700px){.serd-student-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px!important}.serd-student-actions .serd-btn{width:100%;min-width:0;padding-inline:9px}.serd-student-actions .serd-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:430px){.serd-student-actions{grid-template-columns:1fr 1fr 40px!important}.serd-student-actions .serd-btn{font-size:.57rem}}

/* === SININBE bundled source: includes/student-performance-report/student-performance-report.css === */
#m-student-performance-report{
  --spr-bg:#07131f;--spr-panel:#0d2230;--spr-panel2:#112c3a;--spr-line:rgba(148,211,202,.18);--spr-text:#f3fbfa;--spr-muted:#9eb5b2;--spr-primary:#17bfa4;--spr-danger:#ff7480;
  z-index:2147481700;background:rgba(2,8,13,.84);backdrop-filter:blur(14px);color:var(--spr-text);font-family:var(--se-font-ui,"Tajawal","Space Grotesk",sans-serif)
}
html[data-theme="light"] #m-student-performance-report,body[data-theme="light"] #m-student-performance-report,#app[data-theme="light"] #m-student-performance-report,#m-student-performance-report[data-theme="light"]{--spr-bg:#f4f8fa;--spr-panel:#fff;--spr-panel2:#f7fafb;--spr-line:#d9e4e7;--spr-text:#15202b;--spr-muted:#647481;--spr-primary:#0e9d88;--spr-danger:#dc5260;background:rgba(71,85,105,.42)}
.se-student-report-shell{width:min(1500px,calc(100vw - 24px));height:min(940px,calc(100dvh - 24px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--spr-line);border-radius:24px;background:var(--spr-bg);box-shadow:0 28px 90px rgba(0,0,0,.34)}
.se-student-report-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid var(--spr-line);background:linear-gradient(180deg,var(--spr-panel),var(--spr-bg))}.se-student-report-heading{min-width:0;display:flex;align-items:center;gap:12px}.se-student-report-heading>div{min-width:0}.se-student-report-mark{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border:1px solid rgba(23,191,164,.3);border-radius:14px;background:rgba(23,191,164,.1);color:var(--spr-primary)}.se-student-report-heading small{display:block;color:var(--spr-primary);font-size:.55rem;font-weight:900}.se-student-report-heading h2{margin:3px 0 0;overflow:hidden;color:var(--spr-text);font-size:1rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.se-student-report-heading p{margin:3px 0 0;color:var(--spr-muted);font-size:.6rem}.se-student-report-close{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border:1px solid var(--spr-line);border-radius:13px;background:var(--spr-panel2);color:var(--spr-text);cursor:pointer}
.se-student-report-body{min-height:0;display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr)}.se-student-report-controls{min-width:0;overflow:auto;padding:15px;border-inline-end:1px solid var(--spr-line);background:var(--spr-panel)}.se-student-report-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.se-student-report-control-grid label{min-width:0;display:grid;gap:6px;color:var(--spr-muted);font-size:.58rem;font-weight:900}.se-student-report-control-grid input,.se-student-report-control-grid select{width:100%;min-width:0;min-height:43px;padding:0 10px;border:1px solid var(--spr-line)!important;border-radius:12px!important;outline:0;background:var(--spr-panel2)!important;color:var(--spr-text)!important;-webkit-text-fill-color:var(--spr-text)!important;font:750 .68rem var(--se-font-ui)!important}.se-student-report-subject-card{margin-top:12px;padding:12px;border:1px solid var(--spr-line);border-radius:15px;background:var(--spr-panel2)}.se-student-report-subject-card>div:first-child strong{display:block;color:var(--spr-text);font-size:.67rem}.se-student-report-subject-card>div:first-child small{display:block;margin-top:4px;color:var(--spr-muted);font-size:.53rem;line-height:1.5}.se-student-report-subjects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px;max-height:220px;overflow:auto}.se-student-report-subject{min-width:0;display:flex;align-items:center;gap:7px;padding:8px;border:1px solid var(--spr-line);border-radius:11px;background:rgba(148,163,184,.05);cursor:pointer}.se-student-report-subject input{width:16px;height:16px;flex:0 0 16px;accent-color:var(--spr-primary)}.se-student-report-subject span{min-width:0;overflow:hidden;color:var(--spr-text);font-size:.58rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.se-student-report-loading,.se-student-report-no-subjects{grid-column:1/-1;padding:12px;color:var(--spr-muted);font-size:.6rem;text-align:center}.se-student-report-command-row{display:grid;gap:8px;margin-top:12px}.se-student-report-btn{min-height:43px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid var(--spr-line);border-radius:12px;background:var(--spr-panel2);color:var(--spr-text);font:900 .63rem var(--se-font-ui);cursor:pointer}.se-student-report-btn.primary{border-color:rgba(23,191,164,.38);background:linear-gradient(135deg,var(--spr-primary),#087b6b);color:#fff}.se-student-report-btn:disabled{opacity:.45;cursor:not-allowed}.se-student-report-btn[aria-busy="true"] i{animation:sprspin .8s linear infinite}@keyframes sprspin{to{transform:rotate(360deg)}}.se-student-report-status{min-height:0;margin-top:10px;color:var(--spr-primary);font-size:.6rem;font-weight:800}.se-student-report-status:not(:empty){padding:9px 10px;border:1px solid rgba(23,191,164,.25);border-radius:11px;background:rgba(23,191,164,.08)}.se-student-report-status.error{color:var(--spr-danger);border-color:rgba(255,116,128,.3);background:rgba(255,116,128,.08)}
.se-student-report-preview{min-width:0;overflow:auto;padding:18px;background:#e8eef0}.se-student-report-empty{min-height:100%;display:grid;place-content:center;justify-items:center;gap:11px;color:#60727b;text-align:center}.se-student-report-empty i{font-size:1.5rem;color:#0e9d88}.se-student-report-empty strong{font-size:.75rem}
/* Report preview; printing uses the same geometry in the isolated print frame. */
.se-student-report-preview .spr-report{width:min(1100px,100%);margin:0 auto;padding:28px;background:#fff;color:#17212b;font-family:"Tajawal","Space Grotesk",Arial,sans-serif;box-shadow:0 18px 50px rgba(29,49,59,.12)}.se-student-report-preview .spr-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px;border:1px solid #dbe5e7;border-radius:22px;background:linear-gradient(135deg,#f4fbfa,#eef6f7)}.se-student-report-preview .spr-brand{display:flex;gap:14px;align-items:center}.se-student-report-preview .spr-brand>img,.se-student-report-preview .spr-brand>span{width:64px;height:64px;object-fit:contain;display:grid;place-items:center;border-radius:17px;background:#0e9d88;color:#fff;font-size:28px;font-weight:900}.se-student-report-preview .spr-brand b{font-size:13px;color:#0e7c6d}.se-student-report-preview .spr-brand h1{margin:4px 0;font-size:25px}.se-student-report-preview .spr-brand p,.se-student-report-preview .spr-id span{margin:0;color:#647481;font-size:12px}.se-student-report-preview .spr-id{text-align:end}.se-student-report-preview .spr-id strong{display:block;font-size:16px}.se-student-report-preview .spr-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}.se-student-report-preview .spr-facts>div{padding:12px;border:1px solid #e0e8ea;border-radius:14px;background:#fafcfc}.se-student-report-preview .spr-facts span{display:block;color:#71808b;font-size:10px;font-weight:800}.se-student-report-preview .spr-facts strong{display:block;margin-top:5px;font-size:12px;overflow-wrap:anywhere}.se-student-report-preview .spr-section{margin-top:16px;padding:18px;border:1px solid #dfe8ea;border-radius:18px}.se-student-report-preview .spr-section h3{margin:0 0 13px;font-size:16px}.se-student-report-preview .spr-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.se-student-report-preview .spr-level{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2f3;color:#53646d;font-size:10px;font-weight:900}.se-student-report-preview .spr-level.good{background:#e4faf2;color:#087b55}.se-student-report-preview .spr-level.mid{background:#fff6d8;color:#8a6200}.se-student-report-preview .spr-level.low{background:#ffeaec;color:#b02c3a}.se-student-report-preview .spr-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.se-student-report-preview .spr-kpi{padding:12px;border:1px solid #e1e9eb;border-radius:14px;background:#fbfdfd}.se-student-report-preview .spr-kpi>div:first-child{display:flex;justify-content:space-between;gap:8px}.se-student-report-preview .spr-kpi span{font-size:10px;color:#657780;font-weight:800}.se-student-report-preview .spr-kpi strong{font-size:13px}.se-student-report-preview .spr-meter{height:7px;margin-top:10px;overflow:hidden;border-radius:999px;background:#e7edef}.se-student-report-preview .spr-meter i{display:block;height:100%;border-radius:inherit;background:#94a3b8}.se-student-report-preview .spr-kpi.good .spr-meter i{background:#16a36f}.se-student-report-preview .spr-kpi.mid .spr-meter i{background:#d49a08}.se-student-report-preview .spr-kpi.low .spr-meter i{background:#df5260}.se-student-report-preview .spr-counts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.se-student-report-preview .spr-counts>div{text-align:center;padding:12px;border-radius:14px;background:#f5f8f9}.se-student-report-preview .spr-counts strong{display:block;font-size:19px;color:#0e8f7b}.se-student-report-preview .spr-counts span{display:block;margin-top:4px;font-size:9px;color:#657780}.se-student-report-preview .spr-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.se-student-report-preview .spr-insight-grid article{padding:13px;border-radius:14px;background:#f7fafb}.se-student-report-preview .spr-insight-grid h4{margin:0 0 8px;font-size:12px}.se-student-report-preview .spr-insight-grid ul{margin:0;padding-inline-start:18px}.se-student-report-preview .spr-insight-grid li{margin:5px 0;font-size:11px;line-height:1.55}.se-student-report-preview .spr-coverage-note{margin:12px 0 0;padding:10px;border-inline-start:4px solid #0e9d88;background:#eff9f7;font-size:10px;line-height:1.6}.se-student-report-preview .spr-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.se-student-report-preview .spr-subject-grid>article{padding:13px;border:1px solid #e1e9eb;border-radius:14px}.se-student-report-preview .spr-subject-grid header{display:flex;justify-content:space-between;align-items:center;gap:8px}.se-student-report-preview .spr-submeta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:9px;color:#6d7e86;font-size:9px}.se-student-report-preview .spr-notes{display:grid;gap:9px}.se-student-report-preview .spr-notes article{padding:12px;border-radius:13px;background:#f7fafb}.se-student-report-preview .spr-notes article>div{display:flex;justify-content:space-between;gap:10px}.se-student-report-preview .spr-notes strong{font-size:11px}.se-student-report-preview .spr-notes span{font-size:9px;color:#71808b}.se-student-report-preview .spr-notes p{margin:7px 0 0;font-size:11px;line-height:1.6}.se-student-report-preview .spr-table-wrap{overflow:auto}.se-student-report-preview table{width:100%;border-collapse:collapse;font-size:9px}.se-student-report-preview th,.se-student-report-preview td{padding:8px;border:1px solid #e1e8ea;text-align:start;vertical-align:top}.se-student-report-preview th{background:#f0f6f6;color:#34515a}.se-student-report-preview .spr-no-data{display:flex;gap:9px;align-items:center;padding:14px;border-radius:14px;background:#fff5dc;color:#765700}.se-student-report-preview .spr-report footer{margin-top:18px;padding-top:12px;border-top:1px solid #dfe8ea;color:#71808b;font-size:9px;text-align:center}
@media(max-width:1050px){.se-student-report-body{grid-template-columns:330px minmax(0,1fr)}.se-student-report-preview .spr-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.se-student-report-preview .spr-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.se-student-report-preview .spr-insight-grid{grid-template-columns:1fr}}
@media(max-width:760px){.se-student-report-shell{width:100vw;height:100dvh;border-radius:0;border-inline:0}.se-student-report-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.se-student-report-controls{max-height:46dvh;border-inline-end:0;border-bottom:1px solid var(--spr-line)}.se-student-report-preview{padding:9px}.se-student-report-preview .spr-report{padding:14px}.se-student-report-preview .spr-header{display:grid}.se-student-report-preview .spr-id{text-align:start}.se-student-report-preview .spr-counts{grid-template-columns:repeat(3,minmax(0,1fr))}.se-student-report-preview .spr-subject-grid{grid-template-columns:1fr}}
@media(max-width:430px){.se-student-report-control-grid{grid-template-columns:1fr}.se-student-report-subjects{grid-template-columns:1fr}.se-student-report-heading small{display:none}.se-student-report-preview .spr-kpis{grid-template-columns:1fr}.se-student-report-preview .spr-facts{grid-template-columns:1fr}}

/* === SININBE bundled source: includes/learning-analytics/learning-analytics.css === */
/* SININBE EDU 4.0.39.19.19 — compact real statistics table. */
.se-learning-analytics,.se-stats-dashboard{--stats-bg:var(--surface,#0c1728);--stats-card:var(--surface2,#13233a);--stats-card2:#0f1d30;--stats-border:rgba(148,163,184,.22);--stats-text:var(--text-primary,#eff6ff);--stats-muted:var(--text-secondary,#91a5bd);--stats-accent:#14b8a6;--stats-accent-soft:rgba(20,184,166,.12);box-sizing:border-box;color:var(--stats-text)}
.se-learning-analytics *,.se-stats-dashboard *{box-sizing:border-box}
#app[data-theme="light"] .se-learning-analytics,#app[data-theme="light"] .se-stats-dashboard{--stats-bg:#f7fafc;--stats-card:#fff;--stats-card2:#f4f8fc;--stats-border:#d8e2ec;--stats-text:#142033;--stats-muted:#687a8e;--stats-accent:#0f9f8f;--stats-accent-soft:#e8f8f5}
#admin-pane-analytics.active{display:block!important;min-height:0;overflow:auto!important;padding:2px;overscroll-behavior:contain}
.se-stats-dashboard{width:100%;display:grid;gap:12px}
.se-stats-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;border:1px solid var(--stats-border);border-radius:16px;background:linear-gradient(135deg,var(--stats-accent-soft),var(--stats-card) 68%)}
.se-stats-heading{display:flex;align-items:center;gap:11px;min-width:0}
.se-stats-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:var(--stats-accent-soft);color:var(--stats-accent);font-size:1rem}
.se-stats-heading>div{min-width:0}.se-stats-heading h2{margin:0;color:var(--stats-text);font-size:clamp(.92rem,1.7vw,1.14rem);line-height:1.3}.se-stats-heading p{margin:4px 0 0;color:var(--stats-muted);font-size:.62rem;line-height:1.55}
.se-stats-refresh{min-width:98px;min-height:40px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid var(--stats-accent);border-radius:11px;background:var(--stats-accent);color:#fff;font:inherit;font-size:.67rem;font-weight:850;line-height:1.2;cursor:pointer;box-shadow:none;transition:transform .16s ease,filter .16s ease}
.se-stats-refresh:hover{filter:brightness(1.06);transform:translateY(-1px)}.se-stats-refresh:focus-visible{outline:2px solid var(--stats-accent);outline-offset:3px}.se-stats-refresh:disabled{opacity:.68;cursor:wait;transform:none}.se-stats-dashboard.is-busy .se-stats-refresh i{animation:seStatsSpin .8s linear infinite}@keyframes seStatsSpin{to{transform:rotate(360deg)}}
.se-stats-status{padding:9px 11px;border:1px solid var(--stats-border);border-radius:10px;background:var(--stats-card);color:var(--stats-muted);font-size:.63rem}.se-stats-status.is-error{border-color:rgba(244,63,94,.32);background:rgba(244,63,94,.08);color:#fb7185}.se-stats-status.is-loading{border-color:rgba(20,184,166,.28);background:var(--stats-accent-soft);color:var(--stats-accent)}
.se-stats-table-wrap{width:100%;max-width:100%;overflow:auto;border:1px solid var(--stats-border);border-radius:16px;background:var(--stats-card);scrollbar-width:thin;overscroll-behavior:contain}.se-stats-table-wrap:focus-visible{outline:2px solid var(--stats-accent);outline-offset:2px}
.se-stats-table{width:100%;min-width:1180px;border-collapse:separate;border-spacing:0;table-layout:fixed;background:var(--stats-card);direction:inherit}
.se-stats-table th,.se-stats-table td{min-width:118px;padding:13px 10px;text-align:center;vertical-align:middle;border-inline-end:1px solid var(--stats-border)}
.se-stats-table th:last-child,.se-stats-table td:last-child{border-inline-end:0}.se-stats-table thead th{height:54px;border-bottom:1px solid var(--stats-border);background:var(--stats-card2);color:var(--stats-muted);font-size:.59rem;font-weight:850;line-height:1.45;white-space:normal}
.se-stats-table tbody td{height:88px;color:var(--stats-text);font-size:clamp(1.02rem,2.1vw,1.42rem);font-weight:950;line-height:1;background:var(--stats-card);font-variant-numeric:tabular-nums}
.se-stats-table tbody td:nth-child(-n+4){color:var(--stats-accent)}
@media(max-width:700px){#admin-pane-analytics.active{padding:0}.se-stats-head{padding:11px;border-radius:13px}.se-stats-heading p{display:none}.se-stats-icon{width:38px;height:38px;flex-basis:38px}.se-stats-refresh{width:40px;min-width:40px;height:40px;padding:0}.se-stats-refresh span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.se-stats-table-wrap{border-radius:13px}.se-stats-table{min-width:1050px}.se-stats-table th,.se-stats-table td{padding-inline:8px}}
@media(prefers-reduced-motion:reduce){.se-stats-refresh,.se-stats-refresh i{transition:none!important;animation:none!important}}

/* === SININBE bundled source: includes/learning-analytics/kpi-board.css === */
/* SININBE EDU 4.0.39.19.23 — KPI board.
   Columns become stacked cards on phones and a grid on wider screens.
   Colours follow the surrounding admin palette in both themes. */

.se-kpi{
  --kpi-bg:#0b1a28;--kpi-surface:#10263a;--kpi-surface-2:#0d2033;--kpi-line:rgba(148,197,214,.20);
  --kpi-text:#eaf4ff;--kpi-muted:#93aec6;--kpi-accent:#21d4b4;--kpi-accent-soft:rgba(33,212,180,.12);
  --kpi-gold:#f5bf4f;--kpi-danger:#ff6d78;--kpi-good:#34d399;
  display:flex;flex-direction:column;gap:12px;min-width:0;width:100%;
  color:var(--kpi-text);font-family:"Tajawal","Space Grotesk",system-ui,sans-serif;
}
#app[data-theme="light"] .se-kpi{
  --kpi-bg:#f4f8fc;--kpi-surface:#ffffff;--kpi-surface-2:#f7fafd;--kpi-line:#dbe4ee;
  --kpi-text:#132234;--kpi-muted:#5f7387;--kpi-accent:#0e9d88;--kpi-accent-soft:#e6f8f4;
  --kpi-gold:#b7791f;--kpi-danger:#be123c;--kpi-good:#0f8a5f;
}
.se-kpi *{box-sizing:border-box;min-width:0}

.se-kpi-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  padding:11px 13px;border:1px solid var(--kpi-line);border-radius:15px;background:var(--kpi-surface)}
.se-kpi-heading{display:flex;align-items:center;gap:10px;min-width:0}
.se-kpi-mark{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;
  background:var(--kpi-accent-soft);color:var(--kpi-accent)}
.se-kpi-head h2{margin:0;font-size:.98rem;color:var(--kpi-text)}
.se-kpi-head p{margin:3px 0 0;font-size:.65rem;color:var(--kpi-muted)}
.se-kpi-refresh{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;cursor:pointer;
  border:1px solid var(--kpi-line);border-radius:11px;background:var(--kpi-surface-2);color:var(--kpi-text);font-size:.72rem}
.se-kpi-refresh:hover{border-color:var(--kpi-accent);color:var(--kpi-accent)}
.se-kpi-refresh[disabled]{opacity:.55;cursor:progress}

.se-kpi-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:9px;
  padding:11px 13px;border:1px solid var(--kpi-line);border-radius:15px;background:var(--kpi-surface)}
.se-kpi-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.se-kpi-field>span{font-size:.62rem;color:var(--kpi-muted)}
.se-kpi-field select,.se-kpi-field input{width:100%;min-height:38px;padding:0 9px;border-radius:10px;
  border:1px solid var(--kpi-line);background:var(--kpi-surface-2);color:var(--kpi-text);font-size:.73rem}
.se-kpi-field select:focus,.se-kpi-field input:focus{outline:2px solid var(--kpi-accent);outline-offset:1px}

.se-kpi-status{padding:9px 12px;border-radius:11px;font-size:.68rem;
  border:1px solid var(--kpi-line);background:var(--kpi-surface-2);color:var(--kpi-muted)}
.se-kpi-status.is-error{color:var(--kpi-danger);border-color:var(--kpi-danger)}

.se-kpi-grid{display:grid;grid-template-columns:1fr;gap:11px}
@media(min-width:620px){.se-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.se-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1360px){
  .se-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .se-kpi-col-wide{grid-column:span 2}
}
@media(min-width:620px) and (max-width:1359px){.se-kpi-col-wide{grid-column:1/-1}}

.se-kpi-col{display:flex;flex-direction:column;gap:9px;padding:11px;min-width:0;
  border:1px solid var(--kpi-line);border-radius:15px;background:var(--kpi-surface)}
.se-kpi-col>header{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--kpi-line)}
.se-kpi-col>header span{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;
  background:var(--kpi-accent-soft);color:var(--kpi-accent);font-size:.76rem}
.se-kpi-col>header h3{margin:0;font-size:.79rem;color:var(--kpi-text)}

.se-kpi-rows{display:flex;flex-direction:column;gap:5px;min-width:0}
.se-kpi-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;
  padding:7px 9px;border-radius:10px;background:var(--kpi-surface-2);border:1px solid transparent;transition:border-color .16s}
.se-kpi-row:hover{border-color:var(--kpi-line)}
.se-kpi-row-label{display:flex;flex-direction:column;gap:2px;min-width:0}
.se-kpi-row-label strong{font-size:.72rem;font-weight:600;color:var(--kpi-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.se-kpi-row-label small{font-size:.57rem;color:var(--kpi-muted)}
.se-kpi-badge{flex:0 0 auto;min-width:44px;padding:4px 9px;border-radius:9px;text-align:center;
  background:var(--kpi-accent-soft);color:var(--kpi-accent);font-size:.76rem;font-weight:700;font-variant-numeric:tabular-nums}
.se-kpi-row.is-total .se-kpi-badge{background:var(--kpi-accent);color:#04121a}
#app[data-theme="light"] .se-kpi-row.is-total .se-kpi-badge{color:#fff}
.se-kpi-row.is-muted .se-kpi-badge{background:transparent;border:1px dashed var(--kpi-line);color:var(--kpi-muted)}
.se-kpi-row.is-good .se-kpi-badge{background:rgba(52,211,153,.14);color:var(--kpi-good)}
.se-kpi-row.is-warn .se-kpi-badge{background:rgba(245,191,79,.15);color:var(--kpi-gold)}
.se-kpi-row.is-bad .se-kpi-badge{background:rgba(255,109,120,.14);color:var(--kpi-danger)}

.se-kpi-switch{display:flex;gap:5px}
.se-kpi-switch button{flex:1;min-height:32px;border-radius:9px;cursor:pointer;font-size:.66rem;
  border:1px solid var(--kpi-line);background:var(--kpi-surface-2);color:var(--kpi-muted)}
.se-kpi-switch button.is-active{background:var(--kpi-accent-soft);color:var(--kpi-accent);border-color:var(--kpi-accent)}

.se-kpi-more{align-self:flex-start;min-height:32px;padding:0 11px;border-radius:9px;cursor:pointer;font-size:.65rem;
  border:1px dashed var(--kpi-line);background:transparent;color:var(--kpi-accent)}
.se-kpi-more:hover{border-style:solid}

.se-kpi-note{font-size:.58rem;line-height:1.65;color:var(--kpi-muted)}
.se-kpi-empty{padding:13px 10px;border-radius:10px;text-align:center;font-size:.66rem;
  background:var(--kpi-surface-2);color:var(--kpi-muted);border:1px dashed var(--kpi-line)}

.se-kpi-card{display:flex;flex-direction:column;gap:7px;padding:10px;border-radius:12px;
  background:var(--kpi-surface-2);border:1px solid var(--kpi-line)}
.se-kpi-card h4{margin:0;font-size:.71rem;color:var(--kpi-accent)}
.se-kpi-card .se-kpi-row{background:var(--kpi-surface)}

.se-kpi-adform{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:7px;align-items:end}
.se-kpi-adform label{display:flex;flex-direction:column;gap:4px;min-width:0}
.se-kpi-adform label>span{font-size:.58rem;color:var(--kpi-muted)}
.se-kpi-adform input,.se-kpi-adform select{width:100%;min-height:36px;padding:0 8px;border-radius:9px;font-size:.7rem;
  border:1px solid var(--kpi-line);background:var(--kpi-surface);color:var(--kpi-text)}
.se-kpi-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 13px;
  cursor:pointer;border:0;border-radius:9px;background:var(--kpi-accent);color:#04121a;font-size:.7rem;font-weight:700}
#app[data-theme="light"] .se-kpi-primary{color:#fff}
.se-kpi-primary[disabled]{opacity:.55;cursor:progress}

.se-kpi-foot{margin:0;font-size:.57rem;color:var(--kpi-muted);text-align:center}
.se-kpi.is-busy{opacity:.72;pointer-events:none}

.se-kpi[dir="ltr"] .se-kpi-row-label strong,.se-kpi[dir="ltr"] .se-kpi-head h2{text-align:left}

@media(max-width:520px){
  .se-kpi-head{padding:9px 10px}
  .se-kpi-head h2{font-size:.88rem}
  .se-kpi-refresh span{display:none}
  .se-kpi-refresh{width:38px;padding:0;flex:0 0 38px;justify-content:center}
  .se-kpi-filters{grid-template-columns:1fr;padding:9px 10px}
  .se-kpi-col{padding:10px}
  .se-kpi-adform{grid-template-columns:1fr}
  .se-kpi-primary{width:100%}
}

/* Missing-value summary shown under the board instead of an "unspecified" row. */
.se-kpi-completeness{margin:0;padding:8px 11px;border-radius:10px;text-align:center;
  background:var(--kpi-surface-2);border:1px dashed var(--kpi-line)}

/* === SININBE bundled source: includes/realtime/realtime.css === */
/* Sininbe EDU realtime/UI stability and visible conversation menus v2.5.76 */
.edu-rt-pin{
  display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;
  flex:0 0 24px;border-radius:8px;color:var(--text-muted);cursor:pointer;opacity:.48;
  transition:opacity .15s,color .15s,background .15s;position:relative!important;z-index:1!important;
}
.edu-rt-pin:hover,.edu-rt-pin:focus-visible{opacity:1;background:rgba(34,211,178,.1);color:var(--primary);outline:none}
.edu-rt-pin.on{opacity:1;color:var(--gold);background:rgba(240,180,41,.1)}
.ni.edu-rt-pinned{border-color:rgba(240,180,41,.28)!important;background:rgba(240,180,41,.055)!important}
.ni .unread-badge.edu-rt-unread{display:inline-flex!important;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;font-size:.58rem;font-weight:950;line-height:1;box-shadow:0 0 0 2px var(--panel-bg,#071126)}

/* Table info controls must remain in their own cell and never float over sticky headers. */
.se-admin-table-wrap,.se-admin-table-wrap-groups{position:relative!important;isolation:isolate!important;overflow:auto!important;contain:layout paint}
.se-admin-table td,.se-admin-table th{position:relative;overflow:hidden}
.se-admin-table .se-info-btn{position:relative!important;inset:auto!important;transform:none!important;z-index:1!important;vertical-align:middle}
.se-admin-table thead th{z-index:3!important}
.se-admin-pane:not(.active) .se-info-btn,#m-adminpanel:not(.show) .se-info-btn{visibility:hidden!important;pointer-events:none!important}

/* The old separators directly below General Community are intentionally removed. */
#adm-block>.sb-sep:first-child,#grp-block>.sb-sep:first-child{display:none!important}

/* Keep notification and badges inside the viewport on every screen width. */
#msg-notif{max-width:min(420px,calc(100vw - 24px))!important;inset-inline:12px!important;margin-inline:auto!important;box-sizing:border-box!important}
@media(max-width:620px){
  .edu-rt-pin{width:22px;height:22px;flex-basis:22px}
  .ni .unread-badge.edu-rt-unread{min-width:18px;height:18px;padding:0 5px}
}
.se-adminmsg-thread>.edu-rt-pin{position:absolute!important;top:7px!important;inset-inline-end:36px!important;width:22px!important;height:22px!important;z-index:2!important}
.se-adminmsg-thread.edu-rt-pinned strong{padding-inline-end:58px!important}

/* v2.5.59 — compact person rows, cross-device admin actions and light audio contrast. */
#stu-lst .ni.se-person-row{
  overflow:hidden!important;
  gap:8px!important;
  min-width:0!important;
  padding-inline:10px!important;
}
#grp-lst .ni.se-group-row{
  overflow:hidden!important;
  gap:8px!important;
  min-width:0!important;
  padding-inline:10px!important;
  box-sizing:border-box!important;
  max-width:100%!important;
  width:100%!important;
}
#grp-lst .ni.se-group-row > .ni-lbl{flex:1 1 0!important;min-width:0!important;width:0!important;}
#grp-lst .ni.se-group-row > .edu-rt-pin{display:none!important;}
#stu-lst .ni.se-person-row > span[id^="stuname-"]{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:none!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#stu-lst .ni.se-person-row > .se-info-btn,
#stu-lst .ni.se-person-row > .se-relation-badge,
#stu-lst .ni.se-person-row > small:not(.unread-badge),
#stu-lst .ni.se-person-row > .edu-rt-pin{display:none!important;}
#stu-lst .ni.se-person-row > .unread-badge{flex:0 0 auto!important;margin-inline-start:2px!important;}
.se-person-more{
  width:30px;height:30px;flex:0 0 30px;border-radius:9px;
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--text-muted);background:rgba(255,255,255,.035);border:1px solid var(--border);
  cursor:pointer;position:relative;z-index:2;transition:.15s ease;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;pointer-events:auto!important;
}
.se-person-more:hover,.se-person-more:focus-visible{color:var(--primary);border-color:rgba(34,211,178,.35);background:rgba(34,211,178,.09);outline:none;}
.edu-person-popup{
  position:fixed;z-index:2147483647!important;box-sizing:border-box;padding:8px;
  max-height:calc(100dvh - 16px);overflow:auto;overscroll-behavior:contain;
  border:1px solid var(--border-strong);border-radius:14px;
  background:linear-gradient(180deg,rgba(10,20,44,.985),rgba(6,14,34,.99));
  box-shadow:0 18px 55px rgba(0,0,0,.5);color:var(--text-primary);
  font-family:var(--se-font-ui),sans-serif;text-align:start;
}
.edu-person-popup[hidden]{display:none!important;}
.edu-person-popup-head{padding:7px 9px 9px;border-bottom:1px solid var(--border);margin-bottom:6px;min-width:0;}
.edu-person-popup-head strong{display:block;font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);}
.edu-person-popup-head span{display:block;margin-top:2px;font-size:.58rem;color:var(--text-muted);font-weight:800;}
.edu-person-popup>button{
  width:100%;min-height:38px;border:0;border-radius:10px;padding:8px 10px;
  display:flex;align-items:center;gap:9px;background:transparent;color:var(--text-primary);
  font-family:inherit;font-size:.7rem;font-weight:850;cursor:pointer;text-align:start;
}
.edu-person-popup>button:hover,.edu-person-popup>button:focus-visible{background:rgba(34,211,178,.09);color:var(--primary);outline:none;}
.edu-person-popup>button i{width:18px;text-align:center;flex:0 0 18px;}
.edu-person-popup-meta{display:grid;grid-template-columns:minmax(72px,.7fr) minmax(0,1.3fr);gap:8px;align-items:start;padding:8px 10px;border-top:1px solid rgba(148,163,184,.10);}
.edu-person-popup-meta span{font-size:.57rem;color:var(--text-muted);font-weight:800;}
.edu-person-popup-meta strong{font-size:.62rem;color:var(--text-secondary);font-weight:900;overflow-wrap:anywhere;text-align:end;}
.edu-person-popup-meta.edu-person-popup-absence{background:rgba(239,68,68,.055);border-top-color:rgba(248,113,113,.18);}
.edu-person-popup-meta.edu-person-popup-absence span,.edu-person-popup-meta.edu-person-popup-absence strong{color:#f87171;}
.edu-person-popup-progress{border-top:1px solid rgba(148,163,184,.10);}
.edu-person-popup-progress .edu-person-popup-meta:first-child{border-top:0;}
.edu-person-popup-progress-status{display:flex;align-items:center;gap:7px;padding:9px 10px;font-size:.58rem;font-weight:850;color:var(--text-muted);line-height:1.45;}
.edu-person-popup-progress-status.error{color:#fb7185;}
[data-theme="light"] .edu-person-popup{background:#fff;border-color:#d6dee9;box-shadow:0 18px 55px rgba(15,23,42,.2);color:#172033;}
[data-theme="light"] .edu-person-popup-head strong,[data-theme="light"] .edu-person-popup>button{color:#172033;}
[data-theme="light"] .edu-person-popup-head span,[data-theme="light"] .edu-person-popup-meta span{color:#64748b;}
[data-theme="light"] .edu-person-popup-meta strong{color:#334155;}
[data-theme="light"] .edu-person-popup-progress{border-top-color:#e2e8f0;}
[data-theme="light"] .edu-person-popup>button:hover{background:rgba(13,155,128,.08);color:#0d9b80;}
[data-theme="light"] .se-person-more{background:#fff;border-color:#d6dee9;color:#64748b;}

/* Administrative voice notes need their own light-theme palette: these cards do
   not use the regular .bub/.bme classes, so the generic audio rules did not apply. */
#app[data-theme="light"] .se-audit-msg .ap,
html[data-theme="light"] .se-audit-msg .ap,
body[data-theme="light"] .se-audit-msg .ap{
  background:#edf3f7!important;border-color:#cbd5e1!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
}
#app[data-theme="light"] .se-audit-msg .ap-pp,
html[data-theme="light"] .se-audit-msg .ap-pp,
body[data-theme="light"] .se-audit-msg .ap-pp{
  background:#ffffff!important;border-color:#b9c6d5!important;color:#0f766e!important;
}
#app[data-theme="light"] .se-audit-msg .ap-bar,
html[data-theme="light"] .se-audit-msg .ap-bar,
body[data-theme="light"] .se-audit-msg .ap-bar{background:#94a3b8!important;}
#app[data-theme="light"] .se-audit-msg .ap-bar.played,
html[data-theme="light"] .se-audit-msg .ap-bar.played,
body[data-theme="light"] .se-audit-msg .ap-bar.played{background:#0d9b80!important;}
#app[data-theme="light"] .se-audit-msg .ap-dur,
#app[data-theme="light"] .se-audit-msg .ap-voice-lbl,
#app[data-theme="light"] .se-audit-msg .ap-spd-btn,
html[data-theme="light"] .se-audit-msg .ap-dur,
html[data-theme="light"] .se-audit-msg .ap-voice-lbl,
html[data-theme="light"] .se-audit-msg .ap-spd-btn,
body[data-theme="light"] .se-audit-msg .ap-dur,
body[data-theme="light"] .se-audit-msg .ap-voice-lbl,
body[data-theme="light"] .se-audit-msg .ap-spd-btn{color:#334155!important;opacity:1!important;}
#app[data-theme="light"] .se-audit-msg .ap-spd-btn,
html[data-theme="light"] .se-audit-msg .ap-spd-btn,
body[data-theme="light"] .se-audit-msg .ap-spd-btn{background:#fff!important;border:1px solid #cbd5e1!important;}

/* User and assignment management remains fully operable on phones/tablets.
   Tables become labelled cards instead of hiding the action column off-screen. */
@media(max-width:760px){
  #admin-pane-users .se-admin-table-wrap,
  #admin-pane-groups .se-admin-table-wrap-groups{overflow:visible!important;max-height:none!important;border:0!important;background:transparent!important;contain:none!important;}
  #admin-pane-users .se-admin-table,
  #admin-pane-groups .se-admin-table{display:block!important;min-width:0!important;width:100%!important;}
  #admin-pane-users .se-admin-table thead,
  #admin-pane-groups .se-admin-table thead{display:none!important;}
  #admin-pane-users .se-admin-table tbody,
  #admin-pane-groups .se-admin-table tbody{display:grid!important;gap:10px!important;width:100%!important;}
  #admin-pane-users .se-admin-table tr,
  #admin-pane-groups .se-admin-table tr{display:block!important;border:1px solid var(--border)!important;border-radius:14px!important;background:rgba(255,255,255,.025)!important;padding:6px!important;overflow:hidden!important;}
  #admin-pane-users .se-admin-table td,
  #admin-pane-groups .se-admin-table td{display:grid!important;grid-template-columns:minmax(88px,34%) minmax(0,1fr)!important;gap:8px!important;align-items:center!important;width:100%!important;box-sizing:border-box!important;padding:9px 8px!important;border-bottom:1px solid rgba(148,163,184,.09)!important;overflow:visible!important;min-height:40px!important;}
  #admin-pane-users .se-admin-table td:last-child,
  #admin-pane-groups .se-admin-table td:last-child{border-bottom:0!important;}
  #admin-pane-users .se-admin-table td::before,
  #admin-pane-groups .se-admin-table td::before{content:attr(data-label);font-size:.6rem;font-weight:900;color:var(--text-muted);overflow-wrap:anywhere;}
  #admin-pane-users .se-admin-table td>* ,
  #admin-pane-groups .se-admin-table td>*{min-width:0;max-width:100%;overflow-wrap:anywhere;}
  #admin-pane-users .se-mini-actions,
  #admin-pane-groups .se-mini-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;width:100%!important;}
  #admin-pane-users .se-mini-actions button,
  #admin-pane-groups .se-mini-actions button{min-height:42px!important;width:100%!important;justify-content:center!important;touch-action:manipulation!important;}
  #admin-pane-users .se-admin-form,
  #admin-pane-groups .se-group-form{position:relative!important;z-index:1!important;}
  #admin-pane-users .se-admin-form input,
  #admin-pane-users .se-admin-form select,
  #admin-pane-users .se-admin-form button,
  #admin-pane-groups .se-group-form input,
  #admin-pane-groups .se-group-form select,
  #admin-pane-groups .se-group-form button{width:100%!important;min-width:0!important;touch-action:manipulation!important;}

  #admin-pane-groups .se-group-meta{align-items:flex-start!important;}
  #admin-pane-groups .se-group-meta>strong{width:100%!important;min-width:0!important;overflow-wrap:anywhere!important;}
  #admin-pane-groups .se-group-planned{display:flex!important;width:100%!important;min-width:0!important;flex-wrap:wrap!important;align-items:center!important;row-gap:6px!important;}
  #admin-pane-groups .se-session-renewal-badge,
  #admin-pane-groups .se-assignment-status-badge{flex:0 0 auto!important;max-width:100%!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;writing-mode:horizontal-tb!important;}
  #app[data-theme="light"] #admin-pane-users .se-admin-table tr,
  #app[data-theme="light"] #admin-pane-groups .se-admin-table tr{background:#fff!important;border-color:#d6dee9!important;}
}
@media(max-width:360px){
  #admin-pane-users .se-admin-table td,
  #admin-pane-groups .se-admin-table td{grid-template-columns:1fr!important;gap:4px!important;}
  .edu-person-popup{max-width:calc(100vw - 16px)!important;}
}
#stu-lst,#adm-block{min-width:0!important;max-width:100%!important;}
#stu-lst .ni.se-person-row{box-sizing:border-box!important;max-width:100%!important;width:100%!important;}
#stu-lst .ni.se-person-row > span[id^="stuname-"]{flex:1 1 0!important;width:0!important;}
#grp-lst{min-width:0!important;max-width:100%!important;}

/* === SININBE bundled source: includes/meeting-links/meeting-links.css === */
/* Sininbe EDU contextual meeting links — v2.5.76 */
#chat-hdr{position:relative}
.se-ml-chat-wrap{position:relative;display:flex;align-items:center;flex:0 0 auto;margin-inline-start:8px;z-index:32}
.se-ml-chat-wrap.hidden{display:none!important}
.se-ml-chat-trigger{position:relative;width:36px;height:36px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.045);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.16s ease;padding:0;font-size:.9rem}
.se-ml-chat-trigger:hover,.se-ml-chat-trigger.active{color:var(--primary);border-color:rgba(34,211,178,.34);background:rgba(34,211,178,.10)}
.se-ml-chat-trigger.has-link::after{content:"";position:absolute;top:5px;inset-inline-end:5px;width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 2px var(--panel-bg,#071126)}
.se-ml-chat-menu{position:absolute;top:calc(100% + 8px);inset-inline-end:0;width:min(310px,calc(100vw - 24px));border:1px solid var(--border);border-radius:16px;background:var(--panel-bg,#071126);box-shadow:0 18px 45px rgba(0,0,0,.34);padding:8px;display:none;z-index:220;overflow:hidden}
.se-ml-chat-menu.show{display:block}
.se-ml-menu-head{padding:8px 9px 9px;border-bottom:1px solid var(--border);margin-bottom:5px;min-width:0}
.se-ml-menu-head strong{display:block;color:var(--text-primary);font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.se-ml-menu-head span{display:block;color:var(--text-muted);font-size:.58rem;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:left}
.se-ml-menu-actions{display:flex;align-items:center;justify-content:center;gap:8px;padding:5px 6px 7px;min-height:42px}
.se-ml-menu-action{width:42px;height:42px;flex:0 0 42px;border:1px solid var(--border);background:rgba(255,255,255,.035);color:var(--primary);border-radius:11px;padding:0;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-family:inherit;font-size:.8rem;font-weight:850;cursor:pointer;transition:.14s ease;position:relative}
.se-ml-menu-action:hover{background:rgba(34,211,178,.09);color:var(--primary)}
.se-ml-menu-action i{width:auto;text-align:center;color:currentColor;font-size:.86rem}
.se-ml-menu-action span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.se-ml-menu-action.danger{color:#f87171}.se-ml-menu-action.danger i{color:#f87171}.se-ml-menu-action.danger:hover{background:rgba(239,68,68,.10)}
.se-ml-menu-empty{padding:12px 10px;color:var(--text-muted);font-size:.66rem;line-height:1.6;text-align:center}

#app>.se-ml-modal{z-index:2147483647!important}
.se-ml-modal .m-box{max-width:520px;width:min(520px,94vw)}
.se-ml-modal-head{display:flex;align-items:center;gap:11px;margin-bottom:14px;padding-inline-end:36px}
.se-ml-modal-icon{width:42px;height:42px;border-radius:13px;background:rgba(34,211,178,.12);border:1px solid rgba(34,211,178,.24);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:1rem;flex:0 0 auto}
.se-ml-modal-head h3{margin:0;color:var(--text-primary);font-size:.92rem;font-weight:950}
.se-ml-modal-head p{margin:3px 0 0;color:var(--text-muted);font-size:.63rem;line-height:1.45}
.se-ml-field{display:grid;gap:6px}.se-ml-field label{font-size:.65rem;color:var(--text-secondary);font-weight:900}.se-ml-field input{width:100%;min-height:44px;border:1px solid var(--border-strong);border-radius:12px;background:rgba(255,255,255,.055);color:var(--text-primary);padding:0 12px;font-family:inherit;font-size:.77rem;direction:ltr;text-align:left;box-sizing:border-box;outline:none}.se-ml-field input:focus{border-color:rgba(34,211,178,.52);box-shadow:0 0 0 3px rgba(34,211,178,.08)}
.se-ml-hint{font-size:.58rem;color:var(--text-muted);line-height:1.55;margin-top:7px}
.se-ml-modal-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:15px}.se-ml-modal-actions .btn{min-height:38px}
.se-ml-save-state{min-height:18px;margin-top:8px;font-size:.62rem;color:var(--text-muted)}.se-ml-save-state.ok{color:var(--primary)}.se-ml-save-state.err{color:#f87171}

#admin-pane-links.active{display:flex!important;flex-direction:column;min-height:0;overflow:hidden}
.se-ml-admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;flex:0 0 auto}
.se-ml-admin-head h3{margin:0;color:var(--text-primary);font-size:.88rem;font-weight:950}.se-ml-admin-head p{margin:4px 0 0;color:var(--text-muted);font-size:.65rem;line-height:1.55}
.se-ml-admin-head .btn{display:inline-flex;gap:7px;align-items:center;flex:0 0 auto}
.se-ml-admin-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,210px);gap:8px;margin-bottom:10px;flex:0 0 auto}.se-ml-admin-tools select{min-height:40px;border:1px solid var(--border-strong);border-radius:11px;background:rgba(255,255,255,.05);color:var(--text-primary);font-family:inherit;padding:0 10px;font-size:.7rem;font-weight:850}
.se-ml-admin-state{font-size:.62rem;color:var(--text-muted);min-height:17px;flex:0 0 auto}.se-ml-admin-state.err{color:#f87171}
.se-ml-admin-list{display:grid;gap:9px;overflow:auto;min-height:0;padding:2px 2px 12px;scrollbar-gutter:stable}
.se-ml-admin-card{border:1px solid var(--border);border-radius:15px;background:rgba(255,255,255,.027);padding:11px;display:grid;gap:10px;min-width:0}
.se-ml-admin-card-head{display:flex;align-items:flex-start;gap:10px;min-width:0}.se-ml-admin-type{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(34,211,178,.10);border:1px solid rgba(34,211,178,.20);color:var(--primary);flex:0 0 auto}.se-ml-admin-card-head>div:nth-child(2){min-width:0;flex:1}.se-ml-admin-card-head strong{display:block;color:var(--text-primary);font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.se-ml-admin-card-head span{display:block;color:var(--text-muted);font-size:.57rem;line-height:1.45;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.se-ml-admin-badge{display:inline-flex!important;width:auto!important;max-width:140px;padding:4px 7px;border-radius:999px;border:1px solid var(--border);font-size:.54rem!important;font-weight:900;color:var(--text-secondary)!important;flex:0 0 auto}
.se-ml-admin-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.se-ml-admin-editor input{min-width:0;width:100%;min-height:40px;border:1px solid var(--border-strong);border-radius:11px;background:rgba(255,255,255,.05);color:var(--text-primary);padding:0 11px;font-family:inherit;font-size:.7rem;direction:ltr;text-align:left;box-sizing:border-box}.se-ml-admin-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.se-ml-admin-actions button{width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.045);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.se-ml-admin-actions button:hover{color:var(--primary);border-color:rgba(34,211,178,.3);background:rgba(34,211,178,.08)}.se-ml-admin-actions button.danger{color:#f87171}.se-ml-admin-meta{font-size:.56rem;color:var(--text-muted);min-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.se-ml-empty{border:1px dashed var(--border);border-radius:14px;padding:24px;text-align:center;color:var(--text-muted);font-size:.68rem}

#app[data-theme="light"] .se-ml-chat-menu{background:#fff!important;box-shadow:0 18px 45px rgba(15,23,42,.16)}
#app[data-theme="light"] .se-ml-chat-trigger,#app[data-theme="light"] .se-ml-admin-card,#app[data-theme="light"] .se-ml-field input,#app[data-theme="light"] .se-ml-admin-tools select,#app[data-theme="light"] .se-ml-admin-editor input{background:#fff!important;color:#0f172a!important}
#app[data-theme="light"] .se-ml-chat-trigger.has-link::after{box-shadow:0 0 0 2px #fff}

@media(max-width:760px){
  .se-ml-chat-wrap{margin-inline-start:5px}.se-ml-chat-trigger{width:34px;height:34px}
  .se-ml-chat-menu{position:fixed;top:74px;inset-inline:12px;width:auto;max-width:none}
  .se-ml-admin-head{align-items:center}.se-ml-admin-head p{display:none}.se-ml-admin-tools{grid-template-columns:1fr}.se-ml-admin-editor{grid-template-columns:1fr}.se-ml-admin-actions{justify-content:flex-end}
}
@media(max-width:420px){.se-ml-modal-actions .btn{flex:1;justify-content:center}.se-ml-chat-menu{top:68px}}

/* 4.0.39.1 — explanatory content remains visible on phones. */
@media(max-width:760px){.se-ml-admin-head{align-items:flex-start;flex-wrap:wrap}.se-ml-admin-head p{display:block;width:100%;white-space:normal;overflow-wrap:anywhere}}
#app[data-theme="light"] .se-ml-modal .m-box{background:#fff!important;color:#0f172a!important;box-shadow:0 20px 55px rgba(15,23,42,.18)}
#app[data-theme="light"] .se-ml-modal .se-ml-field input{background:#fff!important;color:#0f172a!important;border-color:#cbd5e1!important}
#app[data-theme="light"] .se-ml-modal .se-ml-modal-head h3{color:#0f172a!important}
#app[data-theme="light"] .se-ml-modal .se-ml-modal-head p,#app[data-theme="light"] .se-ml-modal .se-ml-hint{color:#64748b!important}
/* v2.5.72 — compact three-action lesson menu. */
.se-ml-menu-action:disabled{opacity:.42;cursor:not-allowed;background:transparent!important;color:var(--text-muted)!important}.se-ml-menu-action:disabled i{color:var(--text-muted)!important}

/* === SININBE bundled source: includes/monthly-reports/monthly-reports.css === */
/* Sininbe EDU monthly reports — v2.5.76 */
#app .tr68-modal{z-index:9000200!important}
#app .tr68-shell{width:min(1180px,96vw);height:min(94vh,920px);max-width:none;padding:0!important;overflow:hidden;display:flex;flex-direction:column;background:var(--surface,#071126);border:1px solid var(--border);border-radius:22px}
#app .tr68-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(34,211,178,.09),rgba(255,255,255,.025));flex:0 0 auto}
#app .tr68-heading{display:flex;align-items:center;gap:11px;min-width:0}.tr68-heading-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:var(--primary);background:rgba(34,211,178,.12);border:1px solid rgba(34,211,178,.22);flex:none}.tr68-heading h2{margin:0;color:var(--text-primary);font-size:1rem;font-weight:950}.tr68-heading p{margin:3px 0 0;color:var(--text-muted);font-size:.65rem;line-height:1.5}.tr68-icon-btn{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;border:1px solid var(--border);background:rgba(255,255,255,.05);color:var(--text-secondary);cursor:pointer;flex:none}
#app #m-monthly-report .tr68-topbar>.tr68-icon-btn{box-sizing:border-box!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;padding:0!important;margin:0!important;display:grid!important;place-items:center!important;line-height:0!important;font-size:0!important;flex:0 0 40px!important;-webkit-appearance:none;appearance:none}
#app #m-monthly-report .tr68-close-glyph{display:block!important;width:18px!important;height:18px!important;margin:0!important;padding:0!important;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round;transform:none!important}
#app .tr68-statusbar{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.018);flex:0 0 auto}.tr68-teacher-card{display:flex;align-items:center;gap:9px;min-width:0}.tr68-teacher-card>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#0d9488);color:#fff;font-weight:950}.tr68-teacher-card div{min-width:0}.tr68-teacher-card small,.tr68-period-field span{display:block;color:var(--text-muted);font-size:.56rem;font-weight:850}.tr68-teacher-card strong{display:block;color:var(--text-primary);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tr68-period-field{display:flex;align-items:center;gap:8px}.tr68-period-field input{min-height:36px;border:1px solid var(--border-strong);background:rgba(255,255,255,.05);color:var(--text-primary);border-radius:10px;padding:0 9px;font:inherit;font-size:.7rem}.tr68-save-state{display:flex;justify-self:end;align-items:center;gap:7px;color:var(--text-muted);font-size:.61rem;font-weight:850}.tr68-save-state.saving{color:#f59e0b}.tr68-save-state.saved{color:var(--primary)}.tr68-save-state.error{color:#f87171}
#app .tr68-body{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:12px;padding:12px;min-height:0;overflow:auto;align-items:start}#tr68-form{display:grid;gap:11px;min-width:0}.tr68-section{border:1px solid var(--border);border-radius:17px;background:rgba(255,255,255,.025);padding:13px;min-width:0}.tr68-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.tr68-section-head>div{display:flex;align-items:center;gap:8px;min-width:0}.tr68-section-head h3{margin:0;color:var(--text-primary);font-size:.78rem;font-weight:950}.tr68-step{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:rgba(34,211,178,.11);color:var(--primary);border:1px solid rgba(34,211,178,.2);font-size:.65rem;font-weight:950;flex:none}.tr68-add-btn,.tr68-mini{border:1px solid var(--border);background:rgba(255,255,255,.05);color:var(--text-primary);border-radius:9px;padding:7px 10px;font:inherit;font-size:.61rem;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.tr68-add-btn:hover,.tr68-mini:hover{border-color:rgba(34,211,178,.4);color:var(--primary)}.tr68-mini.danger{color:#f87171;border-color:rgba(248,113,113,.25)}.tr68-add-btn:disabled{opacity:.4;cursor:not-allowed}.tr68-help{margin:-2px 0 9px;color:var(--text-muted);font-size:.61rem;line-height:1.55}.tr68-optional{font-size:.54rem;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:4px 7px}
.tr68-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.35fr);gap:10px}.tr68-field{display:grid;gap:5px;min-width:0}.tr68-field label{color:var(--text-muted);font-size:.59rem;font-weight:850}.tr68-field input,.tr68-field select,.tr68-section textarea{width:100%;min-height:38px;box-sizing:border-box;border:1px solid var(--border-strong);border-radius:10px;background:rgba(255,255,255,.055);color:var(--text-primary);padding:8px 10px;font:inherit;font-size:.68rem;outline:0}.tr68-field input:focus,.tr68-field select:focus,.tr68-section textarea:focus{border-color:rgba(34,211,178,.58);box-shadow:0 0 0 3px rgba(34,211,178,.09)}.tr68-section textarea{resize:vertical;min-height:100px;line-height:1.65}.tr68-chips{display:flex;flex-wrap:wrap;gap:6px}.tr68-chip{border-radius:999px;padding:6px 9px;background:rgba(34,211,178,.09);border:1px solid rgba(34,211,178,.2);color:var(--primary);font-size:.59rem;font-weight:850}.tr68-chip.empty{color:var(--text-muted);background:rgba(255,255,255,.03);border-color:var(--border)}
.tr68-empty-toggle{display:flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:.62rem;font-weight:800;margin-bottom:9px}.tr68-empty-toggle input{accent-color:var(--primary)}.tr68-rows{display:grid;gap:8px}.tr68-row{display:grid;gap:8px;align-items:end;border:1px solid var(--border);border-radius:13px;padding:10px;background:rgba(255,255,255,.018)}.tr68-row.individual{grid-template-columns:1.3fr 1fr .8fr .65fr .7fr auto}.tr68-row.group{grid-template-columns:1.35fr 1fr .8fr .65fr auto}.tr68-row.shared{grid-template-columns:1.35fr 1fr .8fr .65fr auto auto auto;border-color:color-mix(in srgb,#a78bfa 26%,var(--border));background:color-mix(in srgb,#a78bfa 4%,rgba(255,255,255,.018))}.tr68-row.absence{grid-template-columns:minmax(0,1fr) 150px auto}.tr68-row .tr68-field label{font-size:.53rem}.tr68-duration{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tr68-paid{align-self:center;display:flex;align-items:center;gap:5px;color:#34d399;font-size:.55rem;font-weight:850;white-space:nowrap}.tr68-paid input{accent-color:#10b981}.tr68-remove{width:36px;height:36px;padding:0;display:grid;place-items:center;border:1px solid rgba(248,113,113,.24);border-radius:10px;background:rgba(239,68,68,.08);color:#f87171;cursor:pointer}.tr68-rows-disabled{opacity:.42;pointer-events:none}
.tr68-shared-section{border-color:color-mix(in srgb,#a78bfa 28%,var(--border));background:color-mix(in srgb,#a78bfa 4%,rgba(255,255,255,.025))}.tr68-shared-section .tr68-step{color:#c4b5fd;background:rgba(167,139,250,.12);border-color:rgba(167,139,250,.25)}.tr68-fixed-rate,.tr68-shared-rate-chip{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid rgba(167,139,250,.28);border-radius:999px;background:rgba(167,139,250,.10);color:#c4b5fd;font-weight:900}.tr68-fixed-rate{padding:4px 8px;font-size:.54rem}.tr68-shared-rate-chip{min-height:38px;padding:7px 10px;align-self:end;font-size:.56rem}.tr68-shared-summary{border-color:color-mix(in srgb,#a78bfa 25%,var(--border))!important;background:color-mix(in srgb,#a78bfa 7%,rgba(255,255,255,.025))!important}.tr68-shared-summary strong{color:#c4b5fd!important}

.tr68-upload-zone{display:grid;place-items:center;text-align:center;gap:5px;border:1px dashed var(--border-strong);border-radius:14px;padding:18px;cursor:pointer;background:rgba(255,255,255,.018);transition:.15s}.tr68-upload-zone:hover,.tr68-upload-zone.drag{border-color:var(--primary);background:rgba(34,211,178,.055)}.tr68-upload-zone i{font-size:1.25rem;color:var(--primary)}.tr68-upload-zone strong{font-size:.67rem;color:var(--text-primary)}.tr68-upload-zone span{font-size:.55rem;color:var(--text-muted)}.tr68-assets{display:grid;gap:7px;margin-top:9px}.tr68-asset{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:11px;padding:8px;background:rgba(255,255,255,.02)}.tr68-asset>i{color:var(--primary);width:25px;text-align:center}.tr68-asset-main{min-width:0;flex:1}.tr68-asset-main strong{display:block;color:var(--text-primary);font-size:.61rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tr68-asset-main span{display:block;color:var(--text-muted);font-size:.51rem;margin-top:2px}
.tr68-recorder{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tr68-record-btn{border:0;border-radius:12px;padding:10px 14px;background:linear-gradient(135deg,#10b981,#0d9488);color:#fff;font:inherit;font-size:.65rem;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.tr68-recording-state,.tr68-audio-saved{display:flex;align-items:center;gap:8px;flex:1;min-width:250px;border:1px solid var(--border);border-radius:12px;padding:7px;background:rgba(255,255,255,.025)}.tr68-rec-dot{width:9px;height:9px;border-radius:50%;background:#ef4444;animation:tr68blink 1s infinite}@keyframes tr68blink{50%{opacity:.25}}.tr68-recording-state strong{color:#f87171;font-size:.7rem;direction:ltr}.tr68-audio-saved audio{height:34px;min-width:180px;flex:1;max-width:100%}.hidden{display:none!important}
.tr68-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;padding:3px}.tr68-btn{min-height:42px;border-radius:12px;border:1px solid var(--border);padding:9px 15px;font:inherit;font-size:.66rem;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.tr68-btn.primary{background:linear-gradient(135deg,var(--primary),#0d9488);border-color:transparent;color:#fff;box-shadow:0 9px 20px rgba(13,148,136,.2)}.tr68-btn.secondary{background:rgba(255,255,255,.05);color:var(--text-primary)}.tr68-btn.secondary.danger{color:#f87171;border-color:rgba(248,113,113,.25)}.tr68-btn:disabled{opacity:.5;cursor:not-allowed}
.tr68-summary{position:sticky;top:0;border:1px solid var(--border);border-radius:17px;background:linear-gradient(155deg,rgba(34,211,178,.08),rgba(255,255,255,.025));padding:13px}.tr68-summary-title{display:flex;align-items:center;gap:7px;color:var(--text-primary);font-size:.71rem;font-weight:950;margin-bottom:10px}.tr68-summary-title i{color:var(--primary)}.tr68-summary-grid{display:grid;gap:7px}.tr68-summary-grid>div{border:1px solid var(--border);border-radius:11px;padding:9px;background:rgba(255,255,255,.025)}.tr68-summary-grid small{display:block;color:var(--text-muted);font-size:.53rem}.tr68-summary-grid strong{display:block;color:var(--text-primary);font-size:.8rem;margin-top:4px;direction:ltr;text-align:start}.tr68-summary-grid .tr68-money strong{font-size:1rem;color:var(--primary)}.tr68-summary p{color:var(--text-muted);font-size:.52rem;line-height:1.6;margin:10px 2px 0}
.tr68-countdown{z-index:9000400!important}.tr68-countdown-box{width:min(390px,92vw)!important;text-align:center;padding:26px!important}.tr68-countdown-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:0 auto 10px;color:#f59e0b;background:rgba(245,158,11,.1);font-size:1.3rem}.tr68-countdown-box h2{font-size:.9rem;color:var(--text-primary);margin:0}.tr68-countdown-box p{font-size:.62rem;color:var(--text-muted)}#tr68-countdown-number{font-size:3.3rem;font-weight:950;color:#ef4444;line-height:1.2;direction:ltr}
.tr68-calculator{position:fixed;inset-inline-end:18px;bottom:18px;z-index:9000250;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.tr68-calc-toggle{width:52px;height:52px;border-radius:17px;border:0;background:linear-gradient(135deg,var(--primary),#0d9488);color:#fff;font-size:1rem;box-shadow:0 12px 30px rgba(0,0,0,.25);cursor:pointer}.tr68-calc-panel{width:270px;border:1px solid var(--border);border-radius:17px;background:var(--surface,#071126);box-shadow:0 20px 55px rgba(0,0,0,.35);padding:11px}.tr68-calc-head{display:flex;align-items:center;justify-content:space-between;color:var(--text-primary);font-size:.67rem;margin-bottom:8px}.tr68-calc-head button{border:0;background:transparent;color:var(--text-muted);cursor:pointer}.tr68-calc-panel input{width:100%;box-sizing:border-box;min-height:42px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.05);color:var(--text-primary);font-size:1rem;text-align:end;padding:8px}.tr68-calc-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.tr68-calc-keys button{min-height:38px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.05);color:var(--text-primary);font-weight:900;cursor:pointer}.tr68-calc-keys .wide{grid-column:span 2}.tr68-calc-keys .equal{background:var(--primary);color:#fff}.tr68-calc-keys .danger{color:#f87171}
/* Admin monthly audit */
.tr68-admin-pane{overflow:auto!important}.tr68-admin-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.tr68-admin-toolbar h3{margin:0;color:var(--text-primary);font-size:.86rem}.tr68-admin-toolbar p{margin:4px 0 0;color:var(--text-muted);font-size:.6rem}.tr68-admin-filters{display:flex;gap:7px;align-items:center}.tr68-admin-filters>input{min-height:38px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.05);color:var(--text-primary);padding:0 9px}.tr68-admin-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:10px}.tr68-admin-kpis>div{border:1px solid var(--border);border-radius:13px;padding:10px;background:rgba(255,255,255,.025)}.tr68-admin-kpis small{display:block;color:var(--text-muted);font-size:.55rem}.tr68-admin-kpis strong{display:block;color:var(--text-primary);margin-top:4px;font-size:.88rem}.tr68-admin-kpis>div:last-child strong{color:var(--primary)}.tr68-admin-list{display:grid;gap:8px}.tr68-admin-report{display:grid;grid-template-columns:minmax(160px,1fr) repeat(4,minmax(85px,.45fr)) auto;align-items:center;gap:9px;border:1px solid var(--border);border-radius:13px;padding:10px;background:rgba(255,255,255,.022)}.tr68-admin-report strong{display:block;color:var(--text-primary);font-size:.68rem}.tr68-admin-report span,.tr68-admin-report small{display:block;color:var(--text-muted);font-size:.53rem;margin-top:3px}.tr68-admin-report .money{color:var(--primary);font-size:.75rem;font-weight:950;direction:ltr}.tr68-admin-empty{padding:24px;text-align:center;border:1px dashed var(--border);border-radius:13px;color:var(--text-muted);font-size:.65rem}.tr68-admin-detail-modal{z-index:9000300!important}.tr68-admin-detail-box{width:min(1040px,calc(100vw - 28px))!important;height:min(92dvh,900px)!important;max-height:calc(100dvh - 28px)!important;padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;border-radius:20px!important}.tr68-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.tr68-detail-head h2{margin:0;color:var(--text-primary);font-size:.9rem}.tr68-detail-head p{margin:4px 0 0;color:var(--text-muted);font-size:.58rem}.tr68-detail-money{font-size:1.15rem;color:var(--primary);font-weight:950;direction:ltr}.tr68-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.tr68-detail-card{border:1px solid var(--border);border-radius:12px;padding:10px;background:rgba(255,255,255,.025)}.tr68-detail-card small{color:var(--text-muted);font-size:.53rem}.tr68-detail-card strong{display:block;color:var(--text-primary);font-size:.68rem;margin-top:4px}.tr68-detail-section{border:1px solid var(--border);border-radius:13px;padding:11px;margin-top:9px}.tr68-detail-section h3{font-size:.68rem;color:var(--text-primary);margin:0 0 8px}.tr68-detail-table{width:100%;border-collapse:collapse}.tr68-detail-table th,.tr68-detail-table td{padding:8px;border-bottom:1px solid var(--border);text-align:start;color:var(--text-secondary);font-size:.58rem}.tr68-detail-links{display:flex;gap:7px;flex-wrap:wrap}.tr68-detail-links a{padding:7px 10px;border-radius:9px;background:rgba(34,211,178,.09);border:1px solid rgba(34,211,178,.2);color:var(--primary);text-decoration:none;font-size:.58rem;font-weight:850}
#app[data-theme="light"] .tr68-shell,#app[data-theme="light"] .tr68-calc-panel{background:#f8fafc}#app[data-theme="light"] .tr68-section,#app[data-theme="light"] .tr68-summary,#app[data-theme="light"] .tr68-row,#app[data-theme="light"] .tr68-admin-report,#app[data-theme="light"] .tr68-detail-card,#app[data-theme="light"] .tr68-detail-section{background:#fff}#app[data-theme="light"] .tr68-field input,#app[data-theme="light"] .tr68-field select,#app[data-theme="light"] .tr68-section textarea,#app[data-theme="light"] .tr68-period-field input,#app[data-theme="light"] .tr68-calc-panel input{background:#fff;color:#0f172a}
@media(max-width:980px){#app .tr68-body{grid-template-columns:1fr}.tr68-summary{position:static;order:-1}.tr68-summary-grid{grid-template-columns:repeat(4,1fr)}.tr68-row.individual{grid-template-columns:repeat(3,minmax(0,1fr))}.tr68-row.group,.tr68-row.shared{grid-template-columns:repeat(3,minmax(0,1fr))}.tr68-admin-report{grid-template-columns:minmax(150px,1fr) repeat(2,minmax(80px,.5fr)) auto}.tr68-admin-report .hide-tablet{display:none}}
@media(max-width:680px){#app .tr68-shell{width:100vw;height:100dvh;max-height:none;border-radius:0}#app .tr68-topbar{padding:12px}.tr68-heading p{display:none}#app .tr68-statusbar{grid-template-columns:1fr;padding:8px 12px}.tr68-teacher-card{width:100%}.tr68-period-field{width:100%;justify-content:space-between}.tr68-period-field input{width:min(170px,58vw);min-width:0}.tr68-save-state{grid-column:1;justify-self:start}.tr68-body{padding:8px!important}.tr68-section{padding:10px;border-radius:14px}.tr68-overview-grid{grid-template-columns:1fr}.tr68-row.individual,.tr68-row.group,.tr68-row.shared,.tr68-row.absence{grid-template-columns:1fr}.tr68-shared-rate-chip{justify-self:start;min-height:32px}.tr68-row .tr68-remove{width:100%}.tr68-summary-grid{grid-template-columns:repeat(2,1fr)}.tr68-actions{display:grid;grid-template-columns:1fr}.tr68-actions .tr68-btn{width:100%}.tr68-recorder,.tr68-recording-state,.tr68-audio-saved{width:100%;min-width:0}.tr68-audio-saved{flex-direction:column;align-items:stretch}.tr68-calculator{inset-inline-end:10px;bottom:10px}.tr68-admin-toolbar{flex-direction:column}.tr68-admin-filters{width:100%;flex-direction:column;align-items:stretch}.tr68-admin-report{grid-template-columns:1fr 1fr}.tr68-admin-report>div:first-child{grid-column:1/-1}.tr68-admin-report .hide-mobile{display:none}.tr68-detail-grid{grid-template-columns:1fr}.tr68-detail-table{display:block;overflow:auto}.tr68-admin-kpis{grid-template-columns:1fr 1fr}}


/* v2.5.72 — modal stacking, stable selects, recording controls and audit scrolling */
#app #m-monthly-report.tr68-modal,
#app #m-monthly-countdown.tr68-countdown,
#app #m-monthly-admin-detail.tr68-admin-detail-modal{isolation:isolate}
#app #m-monthly-report.tr68-modal{z-index:9000200!important}
#app #m-monthly-admin-detail.tr68-admin-detail-modal{z-index:9000300!important}
#app #m-monthly-countdown.tr68-countdown{z-index:9000400!important}

.tr69-record-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-inline-start:auto}
.tr69-save-record{color:#fff!important;background:linear-gradient(135deg,#059669,#0f766e)!important;border-color:transparent!important;box-shadow:0 5px 14px rgba(5,150,105,.2)}
.tr69-save-record:hover{filter:brightness(1.06);color:#fff!important}
.tr69-save-record:disabled{opacity:.55;cursor:wait;filter:none}
.tr68-recording-state{min-height:48px;overflow:visible}

.tr69-submit-progress{width:100%;height:8px;border-radius:999px;overflow:hidden;background:rgba(148,163,184,.18);border:1px solid var(--border);margin:12px 0 8px}
.tr69-submit-progress>span{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#0d9488);transform-origin:inline-start;transition:width .22s linear}
.tr68-countdown-box.is-sending .tr68-countdown-icon{color:var(--primary);background:rgba(34,211,178,.12)}
.tr68-countdown-box.is-sending #tr68-countdown-number{font-size:0;min-height:48px;position:relative}
.tr68-countdown-box.is-sending #tr68-countdown-number::after{content:'';position:absolute;inset:5px auto auto 50%;width:34px;height:34px;margin-inline-start:-17px;border:4px solid rgba(34,211,178,.2);border-top-color:var(--primary);border-radius:50%;animation:tr69spin .75s linear infinite}
.tr68-countdown-box.is-sending .tr69-submit-progress>span{width:42%;animation:tr69progress 1.15s ease-in-out infinite}
.tr68-countdown-box.is-sending #tr69-countdown-cancel-btn{display:none!important}
@keyframes tr69spin{to{transform:rotate(360deg)}}
@keyframes tr69progress{0%{transform:translateX(-130%)}55%{transform:translateX(80%)}100%{transform:translateX(260%)}}
#app[data-lang="ar"] .tr68-countdown-box.is-sending .tr69-submit-progress>span{animation-name:tr69progressRtl}
@keyframes tr69progressRtl{0%{transform:translateX(130%)}55%{transform:translateX(-80%)}100%{transform:translateX(-260%)}}

.tr69-admin-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:10px 14px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(34,211,178,.075),rgba(255,255,255,.018));flex:0 0 auto}
.tr69-admin-detail-toolbar>strong{color:var(--text-primary);font-size:.78rem;font-weight:950;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr69-admin-detail-close{position:static!important;width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:11px;background:rgba(255,255,255,.05);color:var(--text-secondary);cursor:pointer;font:inherit}
.tr69-admin-detail-close:hover{color:#ef4444;border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.08)}
.tr69-admin-detail-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:14px 16px 24px;scrollbar-gutter:stable both-edges;overscroll-behavior:contain}
.tr69-admin-detail-scroll::-webkit-scrollbar,.tr68-admin-pane::-webkit-scrollbar{width:9px;height:9px}
.tr69-admin-detail-scroll::-webkit-scrollbar-thumb,.tr68-admin-pane::-webkit-scrollbar-thumb{background:rgba(100,116,139,.55);border:2px solid transparent;background-clip:padding-box;border-radius:999px}
.tr69-admin-detail-scroll::-webkit-scrollbar-track,.tr68-admin-pane::-webkit-scrollbar-track{background:rgba(148,163,184,.08);border-radius:999px}
.tr68-admin-pane{height:100%!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:stable;padding-bottom:26px!important;overscroll-behavior:contain}
.tr68-detail-head{padding-inline:2px}
.tr68-detail-money{white-space:nowrap;min-width:max-content;padding:6px 10px;border-radius:10px;background:rgba(34,211,178,.08);border:1px solid rgba(34,211,178,.2)}

/* Native selects must remain stable while open; no animated transform or clipping. */
.tr68-field select{position:relative;z-index:1;overflow:visible;transform:none!important;animation:none!important}
.tr68-row,.tr68-section,#tr68-form{overflow:visible}

@media(max-width:680px){
  .tr68-recording-state{align-items:flex-start;flex-direction:column}
  .tr69-record-actions{width:100%;margin-inline-start:0;display:grid;grid-template-columns:1fr 1fr}
  .tr69-record-actions .tr68-mini{justify-content:center;min-height:40px}
  .tr69-record-actions .danger{grid-column:1/-1}
  .tr68-admin-detail-box{width:calc(100vw - 10px)!important;height:calc(100dvh - 10px)!important;max-height:calc(100dvh - 10px)!important;border-radius:15px!important}
  .tr69-admin-detail-scroll{padding:10px 10px 22px}
  .tr68-detail-head{flex-direction:column;align-items:stretch}
  .tr68-detail-money{align-self:flex-start}
}
/* Keep the monthly calculator scoped to the monthly-report workspace only. */
.tr68-calculator{display:none!important}
#m-monthly-report.show ~ .tr68-calculator{display:flex!important}

/* v2.5.72 — destructive audit actions and full mobile feature parity */
#settings-monthly-report-btn{touch-action:manipulation;pointer-events:auto!important;position:relative;z-index:1}
.tr70-admin-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:9px 10px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.022)}
.tr70-select-all{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.61rem;font-weight:900;cursor:pointer;user-select:none}
.tr70-select-all input,.tr70-row-check input{accent-color:var(--primary);width:17px;height:17px;margin:0;cursor:pointer}
.tr70-delete-actions,.tr70-detail-actions,.tr70-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.tr70-delete-btn,.tr70-detail-delete{min-height:36px;border:1px solid rgba(239,68,68,.26);border-radius:10px;background:rgba(239,68,68,.07);color:#ef4444;padding:7px 11px;font:inherit;font-size:.59rem;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.tr70-delete-btn:hover,.tr70-detail-delete:hover{background:rgba(239,68,68,.13);border-color:rgba(239,68,68,.48)}
.tr70-delete-btn:disabled,.tr70-detail-delete:disabled{opacity:.42;cursor:not-allowed}
.tr70-delete-btn b{min-width:20px;height:20px;border-radius:999px;display:grid;place-items:center;padding:0 5px;background:rgba(239,68,68,.13);font-size:.52rem}
.tr70-delete-btn.danger{color:#fff;background:linear-gradient(135deg,#dc2626,#b91c1c);border-color:transparent;box-shadow:0 7px 16px rgba(185,28,28,.16)}
.tr70-row-check{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.035);cursor:pointer}
.tr68-admin-report{grid-template-columns:auto minmax(160px,1fr) repeat(4,minmax(85px,.45fr)) auto auto!important}
.tr70-report-teacher{min-width:0}.tr70-report-teacher strong,.tr70-report-teacher span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr70-row-actions{justify-content:flex-end;flex-wrap:nowrap}.tr70-row-actions .tr68-mini{white-space:nowrap;justify-content:center}
.tr69-admin-detail-toolbar{position:relative;z-index:2}.tr70-detail-actions{flex-wrap:nowrap}.tr70-detail-delete{white-space:nowrap}.tr69-admin-detail-close{margin:0!important}
#app[data-theme="light"] .tr70-admin-actions,#app[data-theme="light"] .tr70-row-check{background:#fff}
.edu-ls-retry{width:38px;height:38px;margin:14px auto 0;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;background:rgba(34,211,178,.08);color:var(--primary);cursor:pointer}

/* Do not remove administration capabilities on touch layouts: cards reflow,
   while all edit/upload/delete controls remain reachable. */
@media(max-width:980px){
  .tr68-admin-report{grid-template-columns:auto minmax(145px,1fr) minmax(86px,.55fr) minmax(90px,.55fr) auto!important}
  .tr68-admin-report .hide-tablet{display:none!important}
  .tr70-row-actions{grid-column:auto}
}
@media(max-width:680px){
  .tr70-admin-actions{align-items:stretch;flex-direction:column;padding:9px}
  .tr70-select-all{min-height:38px}
  .tr70-delete-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .tr70-delete-btn{width:100%;min-height:42px}
  .tr68-admin-report{grid-template-columns:36px minmax(0,1fr) auto!important;align-items:start;padding:11px}
  .tr68-admin-report>.tr70-report-teacher{grid-column:2;grid-row:1}
  .tr68-admin-report>.tr70-row-check{grid-column:1;grid-row:1}
  .tr68-admin-report>div:not(.tr70-report-teacher):not(.tr70-row-actions){grid-column:2/-1;display:grid;grid-template-columns:minmax(95px,.8fr) minmax(0,1fr);align-items:center;gap:8px;border-top:1px solid var(--border);padding-top:7px}
  .tr68-admin-report>div:not(.tr70-report-teacher):not(.tr70-row-actions) small,.tr68-admin-report>div:not(.tr70-report-teacher):not(.tr70-row-actions) span{margin:0}
  .tr68-admin-report .hide-tablet,.tr68-admin-report .hide-mobile{display:grid!important}
  .tr70-row-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%;margin-top:3px}
  .tr70-row-actions .tr68-mini{width:100%;min-height:40px}
  .tr70-detail-actions{gap:5px}.tr70-detail-delete span{display:none}.tr70-detail-delete{width:38px;height:38px;padding:0}
  #settings-monthly-report-row{position:relative;z-index:3;overflow:visible!important}
  #settings-monthly-report-btn{min-height:42px;min-width:112px}
}
@media(max-width:360px){
  .tr70-delete-actions,.tr70-row-actions{grid-template-columns:1fr}
  .tr69-admin-detail-toolbar{padding:8px}.tr69-admin-detail-toolbar>strong{font-size:.68rem}
}

/* 4.0.39.1 — compact layouts retain headings and action descriptions. */
@media(max-width:680px){.tr68-heading p{display:block!important;white-space:normal}.tr70-detail-delete{width:auto!important;padding-inline:10px!important}.tr70-detail-delete span{display:inline!important}}

/* SININBE EDU 3.9.2 — mobile audit scrolling without clipped reports */
#admin-pane-monthly.se-admin-pane.active{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  padding-bottom:0!important;
  touch-action:pan-y!important;
}
#admin-pane-monthly .tr68-admin-toolbar,
#admin-pane-monthly .tr68-admin-kpis,
#admin-pane-monthly .tr70-admin-actions{
  flex:0 0 auto!important;
}
#admin-pane-monthly #tr68-admin-list{
  flex:1 1 auto!important;
  min-height:120px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:2px 3px max(34px,calc(env(safe-area-inset-bottom) + 24px))!important;
  scroll-padding-bottom:max(34px,calc(env(safe-area-inset-bottom) + 24px))!important;
  scrollbar-gutter:stable!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
}
#app #m-monthly-admin-detail.tr68-admin-detail-modal.show{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:max(4px,env(safe-area-inset-top)) max(4px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))!important;
  overflow:hidden!important;
}
#app #m-monthly-admin-detail .tr68-admin-detail-box{
  min-width:0!important;
  min-height:0!important;
  max-width:calc(100dvw - 8px)!important;
  max-height:calc(100dvh - 8px)!important;
}
#app #m-monthly-admin-detail .tr69-admin-detail-scroll{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-bottom:max(36px,calc(env(safe-area-inset-bottom) + 28px))!important;
  scroll-padding-bottom:max(36px,calc(env(safe-area-inset-bottom) + 28px))!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
}
@media(max-width:680px){
  #admin-pane-monthly .tr68-admin-toolbar{gap:8px!important;margin-bottom:8px!important}
  #admin-pane-monthly .tr68-admin-filters{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
  #admin-pane-monthly .tr68-admin-kpis{gap:7px!important;margin-bottom:8px!important}
  #admin-pane-monthly .tr70-admin-actions{margin-bottom:8px!important}
  #admin-pane-monthly #tr68-admin-list{padding-inline:0!important;padding-bottom:max(70px,calc(env(safe-area-inset-bottom) + 58px))!important;scroll-padding-bottom:max(70px,calc(env(safe-area-inset-bottom) + 58px))!important}
  #app #m-monthly-admin-detail .tr68-admin-detail-box{width:calc(100dvw - 8px)!important;height:calc(100dvh - 8px)!important;max-height:calc(100dvh - 8px)!important;border-radius:12px!important}
  #app #m-monthly-admin-detail .tr69-admin-detail-toolbar{min-height:50px!important;padding:7px 9px!important}
  #app #m-monthly-admin-detail .tr69-admin-detail-scroll{padding:9px 9px max(52px,calc(env(safe-area-inset-bottom) + 40px))!important}
}

/* 4.0.39.19.18 — reliable voice-note preview and replacement controls */
.tr68-audio-saved{position:relative}
.tr68-audio-saved.is-uploading::after{content:"";width:17px;height:17px;flex:0 0 17px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;opacity:.65;animation:tr68AudioSpin .8s linear infinite}
.tr68-audio-saved.is-upload-failed{border-color:rgba(245,158,11,.45)!important;background:rgba(245,158,11,.07)!important}
.tr68-audio-saved .tr69-retry-audio{color:#f59e0b!important;border-color:rgba(245,158,11,.4)!important;background:rgba(245,158,11,.08)!important}
.tr68-audio-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
@keyframes tr68AudioSpin{to{transform:rotate(360deg)}}
@media(max-width:680px){.tr68-audio-actions{display:grid;grid-template-columns:1fr;width:100%}.tr68-audio-actions .tr68-mini{width:100%;min-width:0}}

/* 4.0.39.19.31 — the monthly recorder mirrors the proven chat voice player and
   draws only waveform samples measured from the live/decoded recording. */
.tr68-audio-saved{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;gap:10px!important;min-width:0!important;
}
.tr68-audio-saved.hidden,.tr68-audio-saved[hidden]{display:none!important}
.tr68-audio-saved.is-uploading::after{position:absolute;top:10px;inset-inline-end:10px;z-index:2;pointer-events:none}
.tr70-voice-player{
  display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;
  width:100%;min-width:0;padding:8px;border:1px solid color-mix(in srgb,var(--border) 78%,transparent);
  border-radius:12px;background:color-mix(in srgb,var(--primary) 7%,transparent);
}
.tr70-voice-player audio{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:.001!important;pointer-events:none!important}
.tr70-audio-play{
  display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;min-width:42px;
  border:0;border-radius:50%;background:linear-gradient(135deg,#10b981,#0f766e);color:#fff;
  box-shadow:0 6px 18px rgba(13,148,136,.25);cursor:pointer;touch-action:manipulation;
}
.tr70-audio-play:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 48%,transparent);outline-offset:2px}
.tr70-audio-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 9px;min-width:0}
.tr70-audio-main>strong{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:.62rem}
.tr71-audio-wave{grid-column:1/-1;display:block;width:100%;height:42px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--primary) 4%,transparent);cursor:pointer;touch-action:manipulation}
.tr71-audio-wave:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 42%,transparent);outline-offset:2px}
.tr71-live-wave{display:block;flex:1 1 150px;width:min(100%,360px);height:38px;min-width:100px;border-radius:8px;background:rgba(15,118,110,.09)}
.tr70-audio-progress{grid-column:1;display:block;width:100%;min-width:0;height:18px;margin:0;accent-color:#0d9488;cursor:pointer;touch-action:manipulation}
.tr70-audio-time{grid-column:2;display:flex;align-items:center;gap:3px;white-space:nowrap;color:var(--text-muted);font:700 .56rem/1.2 "Space Grotesk",sans-serif}
.tr68-audio-saved.is-playback-error .tr70-voice-player{border-color:rgba(244,63,94,.5);background:rgba(244,63,94,.07)}
@media(max-width:760px){
  .tr68-audio-saved{grid-template-columns:1fr!important;align-items:stretch!important}
  .tr68-audio-actions{justify-content:stretch!important}
}
@media(max-width:360px){
  .tr70-voice-player{grid-template-columns:38px minmax(0,1fr);gap:7px;padding:7px}
  .tr70-audio-play{width:38px;height:38px;min-width:38px}
  .tr70-audio-main{grid-template-columns:minmax(0,1fr)!important}
  .tr70-audio-progress,.tr70-audio-time{grid-column:1!important}.tr70-audio-time{justify-self:end}
}
@media(max-width:680px){.tr68-recording-state{display:grid!important;grid-template-columns:auto auto minmax(0,1fr)!important}.tr71-live-wave{grid-column:1/-1;width:100%;max-width:none}.tr69-record-actions{grid-column:1/-1}}

/* 4.0.39.19.32 — monthly absence is derived from daily attendance, not re-entered. */
#app .tr68-auto-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:5px 9px;border:1px solid rgba(34,211,178,.28);border-radius:999px;background:rgba(34,211,178,.09);color:var(--primary);font-size:.56rem;font-weight:900;white-space:nowrap;flex:0 0 auto}
#app .tr68-auto-badge i{font-size:.64rem}
#app .tr68-row.absence.tr68-absence-auto-row{grid-template-columns:minmax(0,1fr) minmax(110px,150px);align-items:stretch;background:rgba(34,211,178,.025)}
#app .tr68-auto-value,#app .tr68-auto-count{min-height:38px;box-sizing:border-box;display:flex;align-items:center;border:1px solid var(--border-strong);border-radius:10px;background:rgba(255,255,255,.035);color:var(--text-primary);padding:8px 10px;font-size:.68rem;font-weight:850;overflow-wrap:anywhere}
#app .tr68-auto-count{justify-content:center;color:var(--primary);font-size:.82rem;font-weight:950}
#app .tr68-auto-empty{min-height:58px;display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px dashed rgba(34,211,178,.28);border-radius:12px;background:rgba(34,211,178,.035);color:var(--text-muted);font-size:.62rem;font-weight:800;line-height:1.55}
#app .tr68-auto-empty i{color:var(--primary);font-size:.9rem;flex:none}
#app[data-theme="light"] .tr68-auto-value,#app[data-theme="light"] .tr68-auto-count{background:#f8fafc}
@media(max-width:680px){#app .tr68-row.absence.tr68-absence-auto-row{grid-template-columns:minmax(0,1fr) minmax(92px,.36fr)}#app .tr68-section-head{align-items:flex-start}#app .tr68-auto-badge{margin-top:0}}
@media(max-width:420px){#app .tr68-row.absence.tr68-absence-auto-row{grid-template-columns:1fr}#app .tr68-auto-count{justify-content:flex-start}}


#app[data-theme="light"] .tr68-shared-section,#app[data-theme="light"] .tr68-row.shared{background:#faf8ff}#app[data-theme="light"] .tr68-fixed-rate,#app[data-theme="light"] .tr68-shared-rate-chip{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}

/* === SININBE bundled source: includes/monthly-reports/monthly-workflow.css === */
/* SININBE EDU 4.0.22 — responsive monthly workflow without horizontal overflow */
.tr419-workflow,.tr419-detail-modal,.tr419-invoice-modal{--tr419-surface:var(--surface,#10192c);--tr419-surface-2:var(--surface2,#162238);--tr419-border:var(--border,rgba(148,163,184,.22));--tr419-text:var(--text,#edf6ff);--tr419-muted:var(--text-secondary,#91a5bd);--tr419-primary:var(--primary,#15b8a6);--tr419-primary-soft:color-mix(in srgb,var(--tr419-primary) 13%,transparent);--tr419-danger:#ef667a;--tr419-warning:#e7ad43;--tr419-success:#27c797;color:var(--tr419-text)}
[data-theme="light"] .tr419-workflow,[data-theme="light"] .tr419-detail-modal,[data-theme="light"] .tr419-invoice-modal,.light .tr419-workflow,.light .tr419-detail-modal,.light .tr419-invoice-modal{--tr419-surface:#fff;--tr419-surface-2:#f6f9fd;--tr419-border:#d8e2ee;--tr419-text:#17253a;--tr419-muted:#63768e;--tr419-primary-soft:color-mix(in srgb,var(--tr419-primary) 10%,white)}
.tr419-workflow *,.tr419-detail-modal *,.tr419-invoice-modal *{box-sizing:border-box}
.tr419-admin-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,620px);align-items:end;gap:18px;margin-block-end:14px}
.tr419-heading h3{margin:0 0 5px;font-size:clamp(1rem,2vw,1.28rem);color:var(--tr419-text)}.tr419-heading p{margin:0;color:var(--tr419-muted);font-size:.78rem;line-height:1.65}
.tr419-admin-filters{display:grid;grid-template-columns:minmax(145px,.62fr) minmax(200px,1.38fr);gap:10px}.tr419-filter-field{display:grid;gap:6px}.tr419-filter-field>span{font-size:.68rem;font-weight:800;color:var(--tr419-muted)}
.tr419-filter-field input,.tr419-filter-field select,.tr419-search-row{min-height:42px;border:1px solid var(--tr419-border);border-radius:12px;background:var(--tr419-surface-2);color:var(--tr419-text)}.tr419-filter-field input,.tr419-filter-field select{width:100%;padding:0 12px;box-shadow:none;outline:0}.tr419-filter-field select{appearance:auto}.tr419-search-row{display:flex;align-items:center;padding-inline:12px;gap:8px}.tr419-search-row i{color:var(--tr419-muted)}.tr419-search-row input{min-width:0;flex:1;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:var(--tr419-text)!important;padding:0!important;height:40px!important}
.tr419-status-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(180px,.9fr);align-items:stretch;gap:8px;width:100%;max-width:100%;min-width:0;padding:7px;border:1px solid var(--tr419-border);border-radius:14px;background:var(--tr419-surface-2);margin-block-end:14px;overflow:visible}.tr419-status-tab,.tr419-invoice-launch{width:100%;min-width:0;min-height:42px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--tr419-muted);font:inherit;font-size:.73rem;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;cursor:pointer;box-shadow:none;line-height:1.3}.tr419-status-tab>i,.tr419-invoice-launch>i{flex:0 0 auto}.tr419-status-tab>span,.tr419-invoice-launch>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr419-status-tab b{flex:0 0 auto;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:color-mix(in srgb,var(--tr419-muted) 15%,transparent);font-size:.66rem}.tr419-status-tab.active{color:var(--tr419-primary);border-color:color-mix(in srgb,var(--tr419-primary) 45%,transparent);background:var(--tr419-primary-soft)}.tr419-invoice-launch{margin:0;color:#fff;background:var(--tr419-primary);border-color:var(--tr419-primary)}.tr419-invoice-launch:hover{filter:brightness(1.05)}.tr419-status-tab:focus-visible,.tr419-invoice-launch:focus-visible{outline:2px solid color-mix(in srgb,var(--tr419-primary) 65%,white);outline-offset:2px}
.tr419-admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tr419-admin-kpis>div{border-radius:13px!important;border:1px solid var(--tr419-border)!important;background:var(--tr419-surface-2)!important;box-shadow:none!important}
.tr419-admin-list{display:grid;gap:9px}.tr419-report-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid var(--tr419-border);border-radius:15px;padding:12px;background:var(--tr419-surface-2);transition:border-color .18s ease,transform .18s ease}.tr419-report-row:hover{border-color:color-mix(in srgb,var(--tr419-primary) 42%,var(--tr419-border));transform:translateY(-1px)}.tr419-report-row.is-confirmed{background:linear-gradient(135deg,color-mix(in srgb,var(--tr419-success) 8%,var(--tr419-surface-2)),var(--tr419-surface-2) 58%)}
.tr419-row-check{width:26px;height:26px;display:grid;place-items:center;cursor:pointer}.tr419-row-check input{position:absolute;opacity:0;pointer-events:none}.tr419-row-check span{width:18px;height:18px;border:1px solid var(--tr419-border);border-radius:6px;background:var(--tr419-surface)}.tr419-row-check input:checked+span{background:var(--tr419-primary);border-color:var(--tr419-primary);box-shadow:inset 0 0 0 4px var(--tr419-primary)}.tr419-report-main{min-width:0;display:grid;grid-template-columns:minmax(180px,.8fr) minmax(420px,1.7fr);align-items:center;gap:14px}.tr419-report-person{display:flex;align-items:center;gap:10px;min-width:0}.tr419-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--tr419-primary-soft);color:var(--tr419-primary);flex:0 0 auto}.tr419-report-person div{min-width:0}.tr419-report-person strong,.tr419-report-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr419-report-person strong{font-size:.82rem;color:var(--tr419-text)}.tr419-report-person small{font-size:.62rem;color:var(--tr419-muted);margin-top:3px}.tr419-report-meta{display:grid;grid-template-columns:repeat(4,minmax(80px,1fr));gap:8px}.tr419-report-meta span{min-width:0;padding-inline-start:10px;border-inline-start:1px solid var(--tr419-border)}.tr419-report-meta small,.tr419-report-meta b{display:block}.tr419-report-meta small{font-size:.58rem;color:var(--tr419-muted);margin-bottom:3px}.tr419-report-meta b{font-size:.7rem;color:var(--tr419-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tr419-report-state{display:grid;justify-items:center;gap:5px}.tr419-report-state small{font-size:.58rem;color:var(--tr419-muted)}
.tr419-status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:.62rem;font-weight:900;white-space:nowrap;background:color-mix(in srgb,var(--tr419-warning) 12%,transparent);color:var(--tr419-warning);border:1px solid color-mix(in srgb,var(--tr419-warning) 35%,transparent)}.tr419-status-badge.confirmed{color:var(--tr419-success);background:color-mix(in srgb,var(--tr419-success) 11%,transparent);border-color:color-mix(in srgb,var(--tr419-success) 36%,transparent)}
.tr419-row-actions{display:flex;align-items:center;gap:6px}.tr419-row-actions button{min-height:34px;padding:7px 10px;border-radius:9px;border:1px solid var(--tr419-border);background:var(--tr419-surface);color:var(--tr419-text);display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:.64rem;font-weight:800;cursor:pointer}.tr419-row-actions button:hover{border-color:var(--tr419-primary);color:var(--tr419-primary)}.tr419-row-actions button.danger{color:var(--tr419-danger)}
.tr419-empty{min-height:130px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--tr419-muted);border:1px dashed var(--tr419-border);border-radius:15px;font-size:.75rem}.tr419-empty i{font-size:1.25rem;color:var(--tr419-primary)}
.tr419-detail-modal,.tr419-invoice-modal{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));align-items:center;justify-content:center}.tr419-detail-box{width:min(1100px,96vw);max-height:min(880px,94dvh);display:flex;flex-direction:column;overflow:hidden;padding:0!important;border-radius:20px!important;background:var(--tr419-surface)!important;border:1px solid var(--tr419-border)!important}.tr419-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid var(--tr419-border);background:var(--tr419-surface);flex:0 0 auto}.tr419-detail-title-wrap{display:flex;align-items:center;gap:10px;min-width:0}.tr419-detail-title-wrap strong{font-size:.9rem;color:var(--tr419-text)}.tr419-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.tr419-action,.tr70-detail-delete,.tr69-admin-detail-close,.tr419-icon-close{min-height:36px;padding:8px 11px;border-radius:10px;border:1px solid var(--tr419-border);background:var(--tr419-surface-2);color:var(--tr419-text);font:inherit;font-size:.65rem;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;box-shadow:none!important}.tr419-action.primary,.tr419-action.confirm{background:var(--tr419-primary);border-color:var(--tr419-primary);color:#fff}.tr419-action.warning{color:var(--tr419-warning)}.tr70-detail-delete{color:var(--tr419-danger)}.tr69-admin-detail-close,.tr419-icon-close{width:38px;padding:0;flex:0 0 38px}.tr419-inline-message{display:none;margin:10px 15px 0;padding:9px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--tr419-success) 35%,transparent);background:color-mix(in srgb,var(--tr419-success) 9%,transparent);color:var(--tr419-success);font-size:.68rem}.tr419-inline-message.visible{display:block}.tr419-inline-message.error{color:var(--tr419-danger);border-color:color-mix(in srgb,var(--tr419-danger) 35%,transparent);background:color-mix(in srgb,var(--tr419-danger) 9%,transparent)}.tr419-detail-scroll{overflow:auto;min-height:0;padding:15px;overscroll-behavior:contain;scrollbar-width:thin}.tr419-detail-summary{display:grid;gap:11px;margin-bottom:13px}.tr419-detail-person{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid var(--tr419-border);border-radius:15px;background:var(--tr419-surface-2)}.tr419-detail-person>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--tr419-primary-soft);color:var(--tr419-primary)}.tr419-detail-person div{min-width:0;flex:1}.tr419-detail-person h2{font-size:1rem;margin:0 0 3px;color:var(--tr419-text)}.tr419-detail-person p{margin:0;color:var(--tr419-muted);font-size:.64rem}.tr419-detail-person>strong{color:var(--tr419-primary);font-size:.92rem}.tr419-detail-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.tr419-detail-facts>div{padding:10px;border:1px solid var(--tr419-border);border-radius:11px;background:var(--tr419-surface-2)}.tr419-detail-facts small,.tr419-detail-facts b{display:block}.tr419-detail-facts small{font-size:.58rem;color:var(--tr419-muted);margin-bottom:4px}.tr419-detail-facts b{font-size:.68rem;color:var(--tr419-text);overflow:hidden;text-overflow:ellipsis}.tr419-detail-section,.tr419-edit-form>section{border:1px solid var(--tr419-border);border-radius:15px;background:var(--tr419-surface-2);padding:13px;margin-top:10px}.tr419-detail-section h3,.tr419-edit-form h3{font-size:.76rem;margin:0 0 10px;color:var(--tr419-text)}.tr419-table-scroll{overflow:auto;border-radius:10px}.tr419-detail-section table{width:100%;border-collapse:collapse;min-width:620px}.tr419-detail-section th,.tr419-detail-section td{padding:9px 10px;text-align:start;border-bottom:1px solid var(--tr419-border);font-size:.64rem;color:var(--tr419-text)}.tr419-detail-section th{color:var(--tr419-muted);font-weight:800}.tr419-ok{color:var(--tr419-success)}.tr419-no-data{margin:0;color:var(--tr419-muted);font-size:.67rem}.tr419-notes p{white-space:pre-wrap;color:var(--tr419-muted);font-size:.68rem;line-height:1.7;margin:0}.tr419-asset-list{display:flex;gap:8px;flex-wrap:wrap}.tr419-asset-list a{color:var(--tr419-primary);border:1px solid var(--tr419-border);border-radius:9px;padding:8px 10px;font-size:.64rem;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.tr419-edit-form{display:grid;gap:10px}.tr419-edit-form>section{margin:0}.tr419-edit-list{display:grid;gap:8px}.tr419-edit-row{display:grid;grid-template-columns:minmax(150px,1.2fr) repeat(4,minmax(90px,.75fr)) auto;align-items:end;gap:8px;padding:10px;border:1px solid var(--tr419-border);border-radius:12px;background:var(--tr419-surface)}.tr419-edit-group{grid-template-columns:minmax(150px,1.3fr) repeat(3,minmax(100px,.8fr)) auto}.tr419-edit-absence{grid-template-columns:minmax(150px,1fr) minmax(120px,.4fr)}.tr419-edit-name{min-height:40px;display:flex;align-items:center;gap:8px;color:var(--tr419-text);font-size:.68rem;font-weight:800;min-width:0}.tr419-edit-name i{color:var(--tr419-primary)}.tr419-edit-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr419-edit-row label,.tr419-edit-notes label{display:grid;gap:5px}.tr419-edit-row label>span,.tr419-edit-notes label>span{font-size:.57rem;color:var(--tr419-muted);font-weight:800}.tr419-edit-row input,.tr419-edit-row select,.tr419-edit-notes input,.tr419-edit-notes textarea{width:100%;min-height:39px;border:1px solid var(--tr419-border)!important;border-radius:9px!important;background:var(--tr419-surface-2)!important;color:var(--tr419-text)!important;padding:8px 10px!important;box-shadow:none!important;outline:0}.tr419-edit-row input:focus,.tr419-edit-row select:focus,.tr419-edit-notes input:focus,.tr419-edit-notes textarea:focus{border-color:var(--tr419-primary)!important}.tr419-check{display:flex!important;align-items:center;min-height:40px;gap:6px}.tr419-check input{width:18px!important;min-height:18px!important;padding:0!important}.tr419-edit-notes{display:grid;grid-template-columns:minmax(150px,.35fr) minmax(260px,1.65fr);gap:10px}
.tr419-invoice-box{width:min(1240px,97vw);height:min(900px,95dvh);display:flex;flex-direction:column;overflow:hidden;padding:0!important;border-radius:20px!important;background:var(--tr419-surface)!important;border:1px solid var(--tr419-border)!important}.tr419-invoice-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--tr419-border)}.tr419-invoice-head h2{font-size:1rem;margin:0 0 4px;color:var(--tr419-text)}.tr419-invoice-head p{font-size:.67rem;line-height:1.6;color:var(--tr419-muted);margin:0}.tr419-invoice-controls{display:grid;grid-template-columns:minmax(150px,.5fr) minmax(220px,1.2fr) auto;gap:9px;padding:12px 16px;border-bottom:1px solid var(--tr419-border)}.tr419-invoice-controls label{display:grid;gap:5px}.tr419-invoice-controls label>span{font-size:.58rem;color:var(--tr419-muted);font-weight:800}.tr419-invoice-controls input,.tr419-invoice-search{min-height:41px;border:1px solid var(--tr419-border);border-radius:10px;background:var(--tr419-surface-2);color:var(--tr419-text)}.tr419-invoice-controls input{padding:0 10px}.tr419-invoice-search{align-self:end;display:flex;align-items:center;padding-inline:11px;gap:7px}.tr419-invoice-search i{color:var(--tr419-muted)}.tr419-invoice-search input{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;padding:0!important}.tr419-invoice-controls>button,.tr419-rates-head button{align-self:end;min-height:41px;border:1px solid var(--tr419-border);border-radius:10px;background:var(--tr419-surface-2);color:var(--tr419-text);font:inherit;font-size:.66rem;font-weight:850;padding:8px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.tr419-rates-panel{padding:12px 16px;border-bottom:1px solid var(--tr419-border);background:color-mix(in srgb,var(--tr419-primary) 3%,var(--tr419-surface))}.tr419-rates-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.tr419-rates-head h3{margin:0 0 3px;font-size:.76rem;color:var(--tr419-text)}.tr419-rates-head p{margin:0;font-size:.59rem;color:var(--tr419-muted);line-height:1.5}.tr419-rates-head button{background:var(--tr419-primary);border-color:var(--tr419-primary);color:#fff}.tr419-rates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;max-height:155px;overflow:auto;scrollbar-width:thin}.tr419-rate-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border:1px solid var(--tr419-border);border-radius:11px;background:var(--tr419-surface-2)}.tr419-rate-card>span{display:grid;grid-template-columns:auto 1fr;column-gap:7px;min-width:0}.tr419-rate-card>span i{grid-row:1/3;color:var(--tr419-primary);align-self:center}.tr419-rate-card b{font-size:.64rem;color:var(--tr419-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr419-rate-card small{font-size:.54rem;color:var(--tr419-muted)}.tr419-rate-card>div,.tr419-money-input{display:flex;align-items:center;border:1px solid var(--tr419-border);border-radius:9px;background:var(--tr419-surface);overflow:hidden}.tr419-rate-card input,.tr419-money-input input{width:85px;min-height:36px;border:0!important;background:transparent!important;color:var(--tr419-text)!important;box-shadow:none!important;padding:7px!important;text-align:center}.tr419-rate-card em,.tr419-money-input em{padding-inline:7px;font-size:.52rem;color:var(--tr419-muted);font-style:normal}.tr419-invoice-warning{margin:10px 16px 0;border:1px solid color-mix(in srgb,var(--tr419-warning) 38%,transparent);background:color-mix(in srgb,var(--tr419-warning) 9%,transparent);color:var(--tr419-warning);padding:9px 11px;border-radius:10px;font-size:.63rem}.tr419-invoice-list{padding:12px 16px 18px;overflow:auto;min-height:0;display:grid;gap:11px;scrollbar-width:thin}.tr419-student-invoice{border:1px solid var(--tr419-border);border-radius:16px;background:var(--tr419-surface-2);overflow:hidden}.tr419-student-invoice>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;border-bottom:1px solid var(--tr419-border)}.tr419-student-identity{display:flex;align-items:center;gap:9px;min-width:0}.tr419-student-identity>span{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;color:var(--tr419-primary);background:var(--tr419-primary-soft)}.tr419-student-identity h3{margin:0 0 3px;font-size:.78rem;color:var(--tr419-text)}.tr419-student-identity p{margin:0;color:var(--tr419-muted);font-size:.55rem}.tr419-existing-invoice{border:1px solid color-mix(in srgb,var(--tr419-success) 35%,var(--tr419-border));border-radius:9px;background:color-mix(in srgb,var(--tr419-success) 8%,transparent);color:var(--tr419-success);min-height:34px;padding:6px 9px;font:inherit;font-size:.59rem;font-weight:800;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.tr419-invoice-lines{display:grid}.tr419-invoice-line{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(100px,.55fr) minmax(140px,.65fr) minmax(120px,.55fr);align-items:center;gap:10px;padding:10px 13px;border-bottom:1px solid var(--tr419-border)}.tr419-line-desc{min-width:0}.tr419-line-desc strong,.tr419-line-desc span{display:block}.tr419-line-desc strong{font-size:.68rem;color:var(--tr419-text);margin-bottom:3px}.tr419-line-desc span{font-size:.53rem;color:var(--tr419-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tr419-line-qty small,.tr419-line-qty b,.tr419-line-total small,.tr419-line-total b{display:block}.tr419-line-qty small,.tr419-line-total small,.tr419-invoice-line label>span{font-size:.53rem;color:var(--tr419-muted);margin-bottom:4px}.tr419-line-qty b,.tr419-line-total b{font-size:.65rem;color:var(--tr419-text)}.tr419-invoice-line label{display:grid}.tr419-invoice-adjustments{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px;padding:10px 13px}.tr419-invoice-adjustments label{display:grid;gap:5px}.tr419-invoice-adjustments span{font-size:.54rem;color:var(--tr419-muted)}.tr419-invoice-adjustments input{min-height:39px;border:1px solid var(--tr419-border)!important;border-radius:9px!important;background:var(--tr419-surface)!important;color:var(--tr419-text)!important;padding:7px 9px!important;box-shadow:none!important}.tr419-student-invoice>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;background:color-mix(in srgb,var(--tr419-primary) 3%,var(--tr419-surface));border-top:1px solid var(--tr419-border)}.tr419-invoice-totals{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.tr419-invoice-totals span{font-size:.57rem;color:var(--tr419-muted)}.tr419-invoice-totals b{color:var(--tr419-text);margin-inline-start:4px}.tr419-create-invoice{min-height:39px;border:1px solid var(--tr419-primary);border-radius:10px;background:var(--tr419-primary);color:#fff;font:inherit;font-size:.65rem;font-weight:900;padding:8px 13px;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.tr419-create-invoice:disabled,.tr419-action:disabled,.tr419-rates-head button:disabled{opacity:.55;cursor:wait}
@media(max-width:1050px){.tr419-report-row{grid-template-columns:auto minmax(0,1fr) auto}.tr419-report-main{grid-template-columns:1fr}.tr419-report-state{grid-column:2}.tr419-row-actions{grid-column:3;grid-row:1/3}.tr419-detail-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.tr419-edit-row,.tr419-edit-group{grid-template-columns:repeat(3,minmax(0,1fr))}.tr419-edit-name{grid-column:1/-1}.tr419-check{align-self:end}.tr419-invoice-line{grid-template-columns:minmax(190px,1.2fr) minmax(90px,.5fr) minmax(130px,.6fr);}.tr419-line-total{grid-column:2/4;text-align:end}}
@media(max-width:760px){.tr419-admin-toolbar{grid-template-columns:1fr;align-items:stretch}.tr419-admin-filters{grid-template-columns:1fr}.tr419-status-bar{grid-template-columns:repeat(2,minmax(0,1fr));position:static;gap:7px;padding:7px;overflow:visible}.tr419-status-tab,.tr419-invoice-launch{min-height:44px;padding:8px 9px;font-size:.69rem}.tr419-invoice-launch{grid-column:1/-1}.tr419-admin-kpis{grid-template-columns:1fr 1fr}.tr419-report-row{grid-template-columns:auto minmax(0,1fr);padding:10px}.tr419-report-main{grid-column:2}.tr419-report-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.tr419-report-state{grid-column:2;display:flex;justify-content:flex-start}.tr419-row-actions{grid-column:2;grid-row:auto;justify-content:flex-end}.tr419-detail-box,.tr419-invoice-box{width:100%;max-width:none;height:100%;max-height:none;border-radius:16px!important}.tr419-detail-toolbar{align-items:flex-start}.tr419-detail-title-wrap{padding-top:7px}.tr419-detail-actions{max-width:72%}.tr419-action span,.tr70-detail-delete span{display:none}.tr419-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.tr419-detail-person{align-items:flex-start;flex-wrap:wrap}.tr419-detail-person>strong{width:100%;padding-inline-start:53px}.tr419-edit-row,.tr419-edit-group{grid-template-columns:repeat(2,minmax(0,1fr))}.tr419-edit-absence{grid-template-columns:1fr}.tr419-edit-notes{grid-template-columns:1fr}.tr419-invoice-controls{grid-template-columns:1fr 1fr}.tr419-invoice-search{grid-column:1/-1;grid-row:2}.tr419-invoice-controls>button{grid-column:2;grid-row:1}.tr419-rates-head{align-items:flex-start}.tr419-rates-grid{grid-template-columns:1fr;max-height:180px}.tr419-invoice-line{grid-template-columns:1fr 1fr}.tr419-line-desc{grid-column:1/-1}.tr419-line-total{grid-column:auto;text-align:start}.tr419-invoice-adjustments{grid-template-columns:1fr 1fr}.tr419-student-invoice>footer{align-items:stretch;flex-direction:column}.tr419-create-invoice{width:100%;justify-content:center}}
@media(max-width:480px){.tr419-status-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;border-radius:12px}.tr419-status-tab,.tr419-invoice-launch{padding:8px 7px;font-size:.64rem;gap:6px}.tr419-status-tab>span,.tr419-invoice-launch>span{max-width:none;overflow:visible;text-overflow:clip;white-space:normal;line-height:1.22}.tr419-status-tab b{min-width:20px;height:20px;padding-inline:5px;font-size:.6rem}.tr419-admin-kpis{grid-template-columns:1fr}.tr419-report-meta{grid-template-columns:1fr 1fr}.tr419-report-meta span{padding-inline-start:7px}.tr419-row-actions button span{display:none}.tr419-row-actions button{width:36px;padding:0;justify-content:center}.tr419-detail-actions{max-width:76%;gap:4px}.tr419-action,.tr70-detail-delete,.tr69-admin-detail-close{width:36px;min-height:36px;padding:0}.tr419-detail-facts{grid-template-columns:1fr}.tr419-edit-row,.tr419-edit-group{grid-template-columns:1fr}.tr419-invoice-controls{grid-template-columns:1fr}.tr419-invoice-controls>button{grid-column:1;grid-row:3}.tr419-invoice-search{grid-row:2}.tr419-rates-head{display:grid}.tr419-rates-head button{width:100%}.tr419-student-invoice>header{align-items:flex-start;flex-direction:column}.tr419-existing-invoice{width:100%;justify-content:center}.tr419-invoice-line{grid-template-columns:1fr}.tr419-line-desc,.tr419-line-total{grid-column:auto}.tr419-invoice-adjustments{grid-template-columns:1fr}.tr419-invoice-totals{display:grid;grid-template-columns:1fr}.tr419-detail-scroll,.tr419-invoice-list{padding-inline:10px}.tr419-invoice-controls,.tr419-rates-panel,.tr419-invoice-head{padding-inline:11px}}
.tr419-paid-badge{display:inline-flex;align-items:center;margin-inline-start:6px;padding:2px 6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--tr419-success) 35%,transparent);background:color-mix(in srgb,var(--tr419-success) 10%,transparent);color:var(--tr419-success);font-size:.49rem;font-style:normal;font-weight:850;vertical-align:middle}
.tr419-edit-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.tr419-edit-section-head h3{margin:0}.tr419-edit-section-head button{min-height:34px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--tr419-primary) 38%,var(--tr419-border));border-radius:9px;background:var(--tr419-primary-soft);color:var(--tr419-primary);font:inherit;font-size:.61rem;font-weight:850;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.tr419-edit-row{grid-template-columns:minmax(155px,1.25fr) minmax(110px,.85fr) minmax(95px,.7fr) repeat(2,minmax(74px,.45fr)) auto 38px}.tr419-edit-group{grid-template-columns:minmax(155px,1.3fr) minmax(110px,.8fr) minmax(95px,.7fr) minmax(90px,.55fr) auto 38px}.tr419-edit-absence{grid-template-columns:minmax(180px,1fr) minmax(120px,.4fr) 38px}.tr419-edit-entity{min-width:0}.tr419-edit-shared{border-color:color-mix(in srgb,#a78bfa 28%,var(--tr419-border));background:color-mix(in srgb,#a78bfa 5%,var(--tr419-surface))}.tr419-fixed-rate{align-self:end;min-height:39px;display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border:1px solid rgba(167,139,250,.28);border-radius:999px;background:rgba(167,139,250,.10);color:#c4b5fd;font-size:.58rem;font-weight:900;white-space:nowrap}.tr419-remove-row{width:36px;height:39px;align-self:end;border:1px solid color-mix(in srgb,var(--tr419-danger) 35%,var(--tr419-border));border-radius:9px;background:color-mix(in srgb,var(--tr419-danger) 8%,transparent);color:var(--tr419-danger);display:grid;place-items:center;cursor:pointer;box-shadow:none}.tr419-remove-row:hover{background:color-mix(in srgb,var(--tr419-danger) 14%,transparent)}
@media(max-width:1050px){.tr419-edit-row,.tr419-edit-group{grid-template-columns:repeat(3,minmax(0,1fr))}.tr419-edit-absence{grid-template-columns:minmax(0,1fr) minmax(120px,.5fr) 38px}.tr419-remove-row{justify-self:end}}
@media(max-width:760px){.tr419-edit-row,.tr419-edit-group{grid-template-columns:repeat(2,minmax(0,1fr))}.tr419-edit-absence{grid-template-columns:minmax(0,1fr) minmax(100px,.45fr) 38px}}
@media(max-width:480px){.tr419-edit-row,.tr419-edit-group,.tr419-edit-absence{grid-template-columns:1fr}.tr419-remove-row{width:100%;height:35px}}


/* 4.0.22 — reliable interaction states and overflow-safe responsive layout. */
#admin-pane-monthly button,
#m-monthly-admin-detail button,
#m-monthly-invoices button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}
#admin-pane-monthly button>i,
#admin-pane-monthly button>span,
#admin-pane-monthly button>b,
#m-monthly-admin-detail button>i,
#m-monthly-admin-detail button>span,
#m-monthly-invoices button>i,
#m-monthly-invoices button>span{pointer-events:none}
#admin-pane-monthly button[aria-busy="true"],
#m-monthly-admin-detail button[aria-busy="true"],
#m-monthly-invoices button[aria-busy="true"]{cursor:progress;opacity:.72}
#admin-pane-monthly button[aria-busy="true"] i,
#m-monthly-admin-detail button[aria-busy="true"] i,
#m-monthly-invoices button[aria-busy="true"] i{animation:tr421-spin .8s linear infinite}
@keyframes tr421-spin{to{transform:rotate(360deg)}}
@media (max-width:640px){
 .tr419-status-bar button,.tr70-delete-actions button,.tr419-detail-actions button,.tr419-invoice-controls button,.tr419-rates-head button{min-height:42px}
 .tr419-detail-actions{gap:7px;padding-inline:2px}
}


/* 4.0.22 — prevent any monthly-audit child from widening the admin pane. */
#admin-pane-monthly.tr419-workflow{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important}
#admin-pane-monthly .tr419-admin-toolbar,#admin-pane-monthly .tr419-admin-filters,#admin-pane-monthly .tr419-status-bar,#admin-pane-monthly .tr419-admin-kpis,#admin-pane-monthly .tr70-admin-actions,#admin-pane-monthly #tr68-admin-list{width:100%;max-width:100%;min-width:0}
#admin-pane-monthly .tr419-status-bar::-webkit-scrollbar{display:none}
@media(max-width:360px){.tr419-status-tab,.tr419-invoice-launch{font-size:.6rem;gap:5px;padding-inline:5px}.tr419-status-tab>i,.tr419-invoice-launch>i{font-size:.78rem}.tr419-status-tab b{min-width:18px;height:18px;padding-inline:4px;font-size:.56rem}}

/* Consistent control targets outside the phone breakpoint. */
.tr419-row-actions button{min-height:40px}
.tr419-action,.tr70-detail-delete,.tr69-admin-detail-close,.tr419-icon-close{min-height:40px}
.tr69-admin-detail-close,.tr419-icon-close{height:40px}

/* SININBE EDU 4.0.26 — spacious mobile audit, stable detail scrolling and reliable controls */
html.tr419-detail-open,body.tr419-detail-open{overscroll-behavior:none}
#m-adminpanel.tr419-parent-locked{pointer-events:none}
#m-adminpanel.tr419-parent-locked .m-box{overflow:hidden!important}
#m-monthly-admin-detail{z-index:10000320;overscroll-behavior:none;touch-action:auto}
#m-monthly-admin-detail .tr419-detail-box{pointer-events:auto;touch-action:auto}
#admin-pane-monthly{width:100%;max-width:100%;min-width:0;overflow-x:clip}
#admin-pane-monthly .tr419-admin-list{padding-block-end:max(12px,env(safe-area-inset-bottom))}
.tr419-report-row,.tr419-detail-box,.tr419-action,.tr419-row-actions button,.tr419-status-tab,.tr419-invoice-launch{touch-action:manipulation}
.tr419-detail-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px;position:relative;z-index:3}
.tr419-detail-title-wrap{grid-column:1;grid-row:1;min-width:0;flex-wrap:wrap}
.tr419-detail-toolbar>.tr69-admin-detail-close{grid-column:2;grid-row:1;justify-self:end}
.tr419-detail-actions{grid-column:1/-1;grid-row:2;width:100%;max-width:none;justify-content:flex-end;position:relative;z-index:4}
.tr419-detail-actions button{pointer-events:auto;position:relative;z-index:1}
.tr419-detail-scroll{flex:1 1 auto;overflow-y:auto!important;overflow-x:hidden!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-behavior:auto;scrollbar-gutter:stable;position:relative;z-index:1;padding-bottom:max(22px,env(safe-area-inset-bottom))}
.tr419-table-scroll{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.tr419-detail-section table{table-layout:auto}
.tr419-detail-section td,.tr419-detail-section th{overflow-wrap:anywhere}

@media(max-width:760px){
  #admin-pane-monthly{padding-inline:0!important}
  #admin-pane-monthly .tr419-admin-toolbar,#admin-pane-monthly .tr419-status-bar,#admin-pane-monthly .tr419-admin-kpis,#admin-pane-monthly .tr70-admin-actions,#admin-pane-monthly #tr68-admin-list{margin-inline:0!important}
  .tr419-admin-toolbar{gap:12px;margin-block-end:12px}
  .tr419-heading{padding-inline:2px}
  .tr419-admin-filters{gap:8px}
  .tr419-filter-field input,.tr419-filter-field select,.tr419-search-row{min-height:46px;border-radius:12px}
  .tr419-status-bar{padding:6px;gap:6px;margin-block-end:12px}
  .tr419-admin-kpis{gap:8px}
  .tr419-report-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;border-radius:14px}
  .tr419-row-check{position:absolute;top:12px;inset-inline-end:12px;z-index:2;width:28px;height:28px}
  .tr419-row-check span{width:20px;height:20px}
  .tr419-report-main,.tr419-report-state,.tr419-row-actions{grid-column:1!important;grid-row:auto!important;min-width:0}
  .tr419-report-person{padding-inline-end:38px}
  .tr419-report-main{gap:10px}
  .tr419-report-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .tr419-report-meta span{padding:8px;border:1px solid var(--tr419-border);border-radius:10px;background:var(--tr419-surface)}
  .tr419-report-meta span{border-inline-start:1px solid var(--tr419-border)}
  .tr419-report-state{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .tr419-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;justify-content:stretch}
  .tr419-row-actions button{width:100%;min-width:0;min-height:44px;padding:9px 10px;justify-content:center;border-radius:11px}
  .tr419-row-actions button span{display:inline!important;min-width:0;overflow-wrap:anywhere}

  .tr419-detail-modal{padding:0!important;align-items:stretch!important;justify-content:stretch!important}
  .tr419-detail-box{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border-radius:0!important;border-inline:0!important}
  .tr419-detail-toolbar{position:sticky;top:0;padding:max(10px,env(safe-area-inset-top)) 10px 10px;background:var(--tr419-surface);box-shadow:0 1px 0 var(--tr419-border);gap:9px;z-index:5}
  .tr419-detail-title-wrap{padding:0;align-items:center}
  .tr419-detail-title-wrap strong{font-size:.86rem}
  .tr419-detail-toolbar>.tr69-admin-detail-close{width:42px;min-width:42px;height:42px;min-height:42px;border-radius:12px}
  .tr419-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0;max-width:none}
  .tr419-action,.tr70-detail-delete{width:100%!important;min-width:0!important;min-height:44px!important;padding:8px 10px!important;border-radius:11px!important}
  .tr419-action span,.tr70-detail-delete span{display:inline!important;min-width:0;overflow-wrap:anywhere;text-align:center}
  .tr419-inline-message{margin:8px 10px 0}
  .tr419-detail-scroll{padding:10px 10px max(18px,env(safe-area-inset-bottom))!important}
  .tr419-detail-person{padding:11px;border-radius:13px}
  .tr419-detail-person>span{width:38px;height:38px}
  .tr419-detail-person>strong{width:auto;padding-inline-start:0;margin-inline-start:auto}
  .tr419-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .tr419-detail-facts>div{padding:9px;border-radius:10px}
  .tr419-detail-section,.tr419-edit-form>section{padding:10px;border-radius:13px;margin-top:8px}
  .tr419-detail-section h3,.tr419-edit-form h3{font-size:.74rem;margin-bottom:8px}
  .tr419-table-scroll{overflow:visible}
  .tr419-detail-section table,.tr419-detail-section tbody,.tr419-detail-section tr,.tr419-detail-section td{display:block;width:100%;min-width:0}
  .tr419-detail-section thead{display:none}
  .tr419-detail-section tbody{display:grid;gap:8px}
  .tr419-detail-section tr{padding:8px 10px;border:1px solid var(--tr419-border);border-radius:11px;background:var(--tr419-surface)}
  .tr419-detail-section td{display:grid;grid-template-columns:minmax(86px,.42fr) minmax(0,1fr);gap:9px;align-items:start;padding:7px 0;border:0;border-bottom:1px dashed var(--tr419-border);font-size:.66rem;text-align:start}
  .tr419-detail-section td:last-child{border-bottom:0}
  .tr419-detail-section td::before{content:attr(data-label);color:var(--tr419-muted);font-size:.58rem;font-weight:800;line-height:1.4}
  .tr419-edit-row,.tr419-edit-group,.tr419-edit-absence{grid-template-columns:1fr!important;gap:8px}
  .tr419-edit-row label,.tr419-edit-notes label{min-width:0}
  .tr419-remove-row{width:100%!important;min-height:40px!important}
}

@media(max-width:430px){
  .tr419-status-tab,.tr419-invoice-launch{font-size:.65rem;gap:5px;padding-inline:6px}
  .tr419-status-tab b{min-width:20px;height:20px}
  .tr419-report-meta{grid-template-columns:1fr 1fr}
  .tr419-detail-facts{grid-template-columns:1fr}
  .tr419-detail-actions{grid-template-columns:1fr 1fr}
  .tr419-detail-section td{grid-template-columns:minmax(76px,.4fr) minmax(0,1fr)}
}

@media(max-width:340px){
  .tr419-row-actions,.tr419-detail-actions{grid-template-columns:1fr}
  .tr419-report-meta{grid-template-columns:1fr}
}

/* 4.0.39.1 — action names remain visible; rows stack instead of becoming icon-only. */
@media(max-width:480px){
 .tr419-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;justify-content:stretch}
 .tr419-row-actions button{width:100%!important;min-width:0!important;padding-inline:9px!important}
 .tr419-row-actions button span{display:inline!important;white-space:normal;text-align:center}
}
@media(max-width:340px){.tr419-row-actions{grid-template-columns:1fr}}
#m-monthly-admin-detail [hidden],#m-monthly-invoices [hidden]{display:none!important}

/* SININBE EDU 4.0.26 — visible bulk approval, portal-safe invoices and stable mobile controls */
.tr70-admin-actions{display:grid!important;grid-template-columns:minmax(150px,.35fr) minmax(0,1fr)!important;align-items:center!important;gap:12px!important}
.tr425-selection-actions{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:9px;min-width:0}
.tr425-status-action,.tr425-selection-actions .tr70-delete-btn{width:100%;min-width:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;border-radius:12px;border:1px solid var(--tr419-border);background:var(--tr419-surface-2);color:var(--tr419-text);font:800 .68rem/1.3 var(--se-font-ui,"Space Grotesk"),sans-serif;cursor:pointer;box-shadow:none}
.tr425-status-action.confirm{background:color-mix(in srgb,var(--tr419-success) 14%,var(--tr419-surface-2));border-color:color-mix(in srgb,var(--tr419-success) 42%,var(--tr419-border));color:var(--tr419-success)}
.tr425-status-action.reopen{background:color-mix(in srgb,var(--tr419-warning) 12%,var(--tr419-surface-2));border-color:color-mix(in srgb,var(--tr419-warning) 38%,var(--tr419-border));color:var(--tr419-warning)}
.tr425-status-action b,.tr425-selection-actions .tr70-delete-btn b{min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:rgba(148,163,184,.14);font-size:.62rem}
.tr425-status-action:disabled,.tr425-selection-actions .tr70-delete-btn:disabled{opacity:.45;cursor:not-allowed}
.tr425-selection-actions [hidden]{display:none!important}
#m-monthly-admin-detail,#m-monthly-invoices{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important}
#m-monthly-invoices{z-index:10000330!important;pointer-events:auto!important}
#m-monthly-invoices.show{display:flex!important;visibility:visible!important;opacity:1!important}
#m-monthly-invoices .tr419-invoice-box{pointer-events:auto}
#sv71-audit-box{scroll-margin-top:12px}

@media(max-width:1000px){.tr425-selection-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .tr70-admin-actions{grid-template-columns:1fr!important;align-items:stretch!important}
 .tr70-select-all{min-height:44px;padding:0 4px}
 .tr425-selection-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .tr425-status-action,.tr425-selection-actions .tr70-delete-btn{min-height:46px;padding:9px 8px;font-size:.65rem;white-space:normal;text-align:center}
 #m-monthly-invoices{padding:0!important;align-items:stretch!important;justify-content:stretch!important}
 #m-monthly-invoices .tr419-invoice-box{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border-radius:0!important;border-inline:0!important;padding-bottom:max(10px,env(safe-area-inset-bottom))!important}
}
@media(max-width:390px){.tr425-selection-actions{grid-template-columns:1fr}.tr425-status-action,.tr425-selection-actions .tr70-delete-btn{font-size:.68rem}}


/* SININBE EDU 4.0.30 — readable, device-safe monthly invoices */
#m-monthly-invoices{padding:clamp(4px,1.4vw,18px)!important;align-items:center!important;justify-content:center!important;overflow:hidden}
#m-monthly-invoices .tr419-invoice-box{width:min(1280px,calc(100vw - 18px))!important;height:min(920px,calc(100dvh - 18px))!important;max-width:none!important;max-height:none!important;display:grid!important;grid-template-rows:auto auto auto auto auto auto minmax(0,1fr);overflow:hidden!important;border-radius:20px!important;background:var(--tr419-surface)!important;color:var(--tr419-text)!important}
#m-monthly-invoices .tr419-invoice-head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 18px}
#m-monthly-invoices .tr419-invoice-head>div{min-width:0}#m-monthly-invoices .tr419-invoice-head h2{font-size:clamp(.9rem,1.8vw,1.15rem);line-height:1.4;overflow-wrap:anywhere}#m-monthly-invoices .tr419-invoice-head p{font-size:.65rem;line-height:1.65;overflow-wrap:anywhere}
#m-monthly-invoices .tr419-invoice-controls{min-width:0;grid-template-columns:minmax(190px,.65fr) minmax(260px,1.5fr) auto;gap:10px;padding:12px 18px}#m-monthly-invoices .tr419-invoice-controls>*{min-width:0}#m-monthly-invoices .tr419-invoice-controls label,#m-monthly-invoices .tr419-invoice-controls label>span{min-width:0}#m-monthly-invoices .tr419-invoice-controls input{width:100%;min-width:0;color:var(--tr419-text)!important;background:var(--tr419-surface)!important}
#m-monthly-invoices .tr419-rates-panel{min-width:0;padding:12px 18px}#m-monthly-invoices .tr419-rates-head{gap:12px}#m-monthly-invoices .tr419-rates-head>div{min-width:0}#m-monthly-invoices .tr419-rates-head h3,#m-monthly-invoices .tr419-rates-head p{overflow-wrap:anywhere}
#m-monthly-invoices .tr419-rates-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));max-height:190px;overflow:auto;scrollbar-gutter:stable}#m-monthly-invoices .tr419-rate-card{min-width:0;grid-template-columns:minmax(0,1fr) auto}#m-monthly-invoices .tr419-rate-card b{white-space:normal;overflow-wrap:anywhere}
#m-monthly-invoices .tr419-invoice-statusbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 18px;border-block:1px solid var(--tr419-border);background:var(--tr419-surface-2);color:var(--tr419-text)}#m-monthly-invoices .tr419-invoice-statusbar span{min-width:48px;padding:5px 9px;border-radius:99px;background:var(--tr419-primary-soft);color:var(--tr419-primary);font-size:.62rem;font-weight:900;text-align:center}#m-monthly-invoices .tr419-invoice-statusbar small{color:var(--tr419-muted);font-size:.58rem;direction:ltr}
#m-monthly-invoices .tr419-invoice-warning{margin:8px 18px 0;overflow-wrap:anywhere}
#m-monthly-invoices .tr419-invoice-list{grid-row:7;min-width:0;min-height:0;overflow:auto!important;align-content:start;grid-auto-flow:row;grid-auto-rows:max-content;padding:12px 18px max(20px,env(safe-area-inset-bottom));scrollbar-gutter:stable}
#m-monthly-invoices .tr419-student-invoice{min-width:0;background:var(--tr419-surface-2);box-shadow:0 10px 28px color-mix(in srgb,#000 8%,transparent)}#m-monthly-invoices .tr419-student-invoice>header{min-width:0;padding:14px 15px}#m-monthly-invoices .tr419-student-identity{min-width:0;flex:1}#m-monthly-invoices .tr419-student-identity>div{min-width:0;flex:1}#m-monthly-invoices .tr419-student-avatar{flex:0 0 42px;width:42px;height:42px}
#m-monthly-invoices .tr419-student-identity h3{margin:0 0 6px;color:var(--tr419-text)!important;font-size:clamp(.78rem,1.3vw,.94rem);line-height:1.35;font-weight:900;white-space:normal;overflow-wrap:anywhere;opacity:1!important}
#m-monthly-invoices .tr419-student-identity p{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;color:var(--tr419-muted)!important;font-size:.57rem;line-height:1.4;opacity:1!important}#m-monthly-invoices .tr419-student-identity p span{display:inline-flex;align-items:center;gap:5px;max-width:100%;overflow-wrap:anywhere}#m-monthly-invoices .tr419-student-identity p i{color:var(--tr419-primary)}
#m-monthly-invoices .tr419-invoice-lines{min-width:0;overflow-x:auto}#m-monthly-invoices .tr419-invoice-line{min-width:760px;grid-template-columns:minmax(250px,1.5fr) minmax(110px,.55fr) minmax(150px,.65fr) minmax(130px,.55fr);padding:12px 15px}#m-monthly-invoices .tr419-line-desc strong{font-size:.72rem;line-height:1.4;white-space:normal;overflow-wrap:anywhere}#m-monthly-invoices .tr419-line-desc span{font-size:.56rem;line-height:1.5;white-space:normal;overflow-wrap:anywhere}#m-monthly-invoices .tr419-line-qty b,#m-monthly-invoices .tr419-line-total b{font-size:.7rem}
#m-monthly-invoices .tr419-money-input{min-width:0}#m-monthly-invoices .tr419-money-input input{width:100%;min-width:82px;font-size:.68rem!important}#m-monthly-invoices .tr419-money-input em{white-space:nowrap}
#m-monthly-invoices .tr419-invoice-adjustments{grid-template-columns:repeat(3,minmax(150px,1fr));padding:12px 15px}#m-monthly-invoices .tr419-invoice-adjustments input{width:100%;font-size:.68rem!important}
#m-monthly-invoices .tr419-student-invoice>footer{padding:12px 15px}#m-monthly-invoices .tr419-invoice-totals{gap:8px 18px}#m-monthly-invoices .tr419-invoice-totals span{font-size:.61rem;line-height:1.5}#m-monthly-invoices .tr419-create-invoice{min-height:42px;white-space:nowrap}
#m-monthly-invoices .tr419-empty{min-height:220px;border:1px dashed var(--tr419-border);border-radius:16px;background:var(--tr419-surface-2);color:var(--tr419-muted)}
@media(max-width:820px){#m-monthly-invoices{padding:0!important;align-items:stretch!important;justify-content:stretch!important}#m-monthly-invoices .tr419-invoice-box{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;border:0!important}#m-monthly-invoices .tr419-invoice-controls{grid-template-columns:1fr auto}#m-monthly-invoices .tr419-invoice-search{grid-column:1/-1;grid-row:2}#m-monthly-invoices .tr419-invoice-controls>button{grid-column:2;grid-row:1}#m-monthly-invoices .tr419-rates-grid{grid-template-columns:1fr;max-height:165px}#m-monthly-invoices .tr419-invoice-line{min-width:0;grid-template-columns:1fr 1fr}#m-monthly-invoices .tr419-line-desc{grid-column:1/-1}#m-monthly-invoices .tr419-line-total{grid-column:auto;text-align:start}#m-monthly-invoices .tr419-invoice-adjustments{grid-template-columns:1fr 1fr}#m-monthly-invoices .tr419-student-invoice>footer{align-items:stretch;flex-direction:column}#m-monthly-invoices .tr419-create-invoice{width:100%;justify-content:center}}
@media(max-width:520px){#m-monthly-invoices .tr419-invoice-head,#m-monthly-invoices .tr419-invoice-controls,#m-monthly-invoices .tr419-rates-panel,#m-monthly-invoices .tr419-invoice-statusbar{padding-inline:11px}#m-monthly-invoices .tr419-invoice-list{padding-inline:9px}#m-monthly-invoices .tr419-invoice-controls{grid-template-columns:1fr}#m-monthly-invoices .tr419-invoice-controls>button{grid-column:1;grid-row:3;width:100%;justify-content:center}#m-monthly-invoices .tr419-invoice-search{grid-row:2}#m-monthly-invoices .tr419-rates-head{display:grid}#m-monthly-invoices .tr419-rates-head button{width:100%}#m-monthly-invoices .tr419-student-invoice>header{align-items:stretch;flex-direction:column}#m-monthly-invoices .tr419-existing-invoice{width:100%;justify-content:center}#m-monthly-invoices .tr419-invoice-line{grid-template-columns:1fr}#m-monthly-invoices .tr419-line-desc,#m-monthly-invoices .tr419-line-total{grid-column:auto}#m-monthly-invoices .tr419-invoice-adjustments{grid-template-columns:1fr}#m-monthly-invoices .tr419-invoice-totals{display:grid;grid-template-columns:1fr}#m-monthly-invoices .tr419-invoice-statusbar{align-items:flex-start;flex-direction:column}}


/* 4.0.30 — selectable sibling invoices and fully responsive combined invoice controls */
.tr429-invoice-selection{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(190px,1fr) minmax(330px,1.5fr) auto auto;align-items:end;gap:10px;padding:11px 16px;border-bottom:1px solid var(--tr419-border);background:color-mix(in srgb,var(--tr419-primary) 4%,var(--tr419-surface));position:relative;z-index:2}
.tr429-select-visible{min-height:42px;display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--tr419-border);border-radius:11px;background:var(--tr419-surface-2);color:var(--tr419-text);font-size:.65rem;font-weight:850;cursor:pointer}.tr429-select-visible input{width:17px;height:17px;accent-color:var(--tr419-primary);flex:0 0 auto}
.tr429-selected-summary{display:grid;gap:4px;min-width:0}.tr429-selected-summary strong{font-size:.68rem;color:var(--tr419-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr429-selected-summary span{font-size:.59rem;color:var(--tr419-muted)}.tr429-selected-summary b{color:var(--tr419-primary);font-size:.8rem}
.tr429-combined-fields{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:7px}.tr429-combined-fields label{display:grid;gap:4px}.tr429-combined-fields span,.tr429-combined-total small{font-size:.55rem;color:var(--tr419-muted);font-weight:800}.tr429-combined-fields input{width:100%;min-width:0;min-height:39px;border:1px solid var(--tr419-border);border-radius:10px;background:var(--tr419-surface-2);color:var(--tr419-text);padding:0 9px;font:inherit;font-size:.68rem;font-weight:800;direction:ltr;text-align:center}.tr429-combined-fields input:focus{outline:2px solid color-mix(in srgb,var(--tr419-primary) 40%,transparent);border-color:var(--tr419-primary)}
.tr429-combined-total{min-width:105px;min-height:42px;display:grid;align-content:center;gap:3px;padding:7px 10px;border:1px solid var(--tr419-border);border-radius:11px;background:var(--tr419-surface-2);text-align:center}.tr429-combined-total b{font-size:.72rem;color:var(--tr419-primary);white-space:nowrap}
.tr429-create-combined{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--tr419-primary);border-radius:11px;background:var(--tr419-primary);color:#fff;padding:9px 13px;font:inherit;font-size:.65rem;font-weight:900;white-space:nowrap;cursor:pointer}.tr429-create-combined:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.45)}
.tr419-student-invoice>header{position:relative}.tr429-student-select{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border:1px solid var(--tr419-border);border-radius:10px;background:var(--tr419-surface);cursor:pointer;order:-1}.tr429-student-select input{width:17px;height:17px;accent-color:var(--tr419-primary);cursor:pointer}.tr419-student-invoice.is-selected{border-color:color-mix(in srgb,var(--tr419-primary) 65%,var(--tr419-border));box-shadow:0 0 0 2px color-mix(in srgb,var(--tr419-primary) 10%,transparent) inset}.tr419-student-invoice.is-selected>header{background:color-mix(in srgb,var(--tr419-primary) 7%,transparent)}
[data-theme="light"] .tr429-invoice-selection{background:#f8fbfd}.tr419-invoice-modal[data-theme="light"] .tr429-invoice-selection{background:#f8fbfd}
@media(max-width:1180px){.tr429-invoice-selection{grid-template-columns:minmax(160px,.8fr) minmax(180px,1fr) minmax(300px,1.5fr) auto}.tr429-create-combined{grid-column:1/-1;width:100%}}
@media(max-width:760px){.tr429-invoice-selection{grid-template-columns:1fr;padding:10px}.tr429-combined-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.tr429-combined-total{width:100%}.tr429-selected-summary strong{white-space:normal}.tr419-student-invoice>header{align-items:flex-start}.tr429-student-select{position:absolute;inset-inline-start:8px;top:8px;z-index:2}.tr419-student-identity{padding-inline-start:42px}}
@media(max-width:460px){.tr429-combined-fields{grid-template-columns:1fr}.tr429-combined-fields input{text-align:start}.tr419-student-identity{padding-inline-start:40px}}

/* SININBE EDU 4.0.39.2 — body-level detail portal and one reliable mobile
   invoice scroll surface. No student card or invoice action is clipped. */
#m-monthly-admin-detail[data-monthly-loading] .tr419-detail-actions{display:none!important}
#m-monthly-admin-detail .tr419-detail-loading,#m-monthly-admin-detail .tr419-detail-load-error{min-height:240px;margin:0;border:1px dashed var(--tr419-border);border-radius:15px;background:var(--tr419-surface-2)}
#m-monthly-admin-detail .tr419-detail-load-error{color:var(--tr419-danger)}
#m-monthly-admin-detail.show,#m-monthly-invoices.show{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
@media(max-width:820px){
 #m-monthly-invoices .tr419-invoice-box{display:block!important;overflow-y:auto!important;overflow-x:hidden!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-gutter:auto!important;padding-bottom:max(28px,env(safe-area-inset-bottom))!important}
 #m-monthly-invoices .tr419-invoice-head{position:sticky;top:0;z-index:12;background:var(--tr419-surface)!important;box-shadow:0 1px 0 var(--tr419-border)}
 #m-monthly-invoices .tr419-rates-grid{max-height:none!important;overflow:visible!important}
 #m-monthly-invoices .tr419-invoice-list{grid-row:auto!important;min-height:180px!important;overflow:visible!important;display:grid!important;padding-bottom:max(34px,env(safe-area-inset-bottom))!important}
 #m-monthly-invoices .tr429-invoice-selection{position:relative;z-index:2}
}

/* SININBE EDU 4.0.39.3 — the audit detail modal is a direct #app portal.
   The toolbar never consumes the scroll surface and the report body remains
   visible on phones, tablets, short landscape screens and desktop. */
#app>#m-monthly-admin-detail{
 box-sizing:border-box!important;position:fixed!important;inset:0!important;
 width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
 overflow:hidden!important;isolation:isolate!important;overscroll-behavior:none!important;
}
#app>#m-monthly-admin-detail.show{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#app>#m-monthly-admin-detail>.tr419-detail-box{
 width:min(1100px,calc(100vw - 24px))!important;height:min(880px,calc(100dvh - 24px))!important;
 max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;display:flex!important;flex-direction:column!important;
 overflow:hidden!important;pointer-events:auto!important;
}
#app>#m-monthly-admin-detail .tr419-detail-toolbar{flex:0 0 auto!important;min-width:0!important}
#app>#m-monthly-admin-detail .tr419-detail-scroll{
 flex:1 1 0!important;min-width:0!important;min-height:0!important;block-size:0!important;
 overflow-y:auto!important;overflow-x:hidden!important;touch-action:pan-y!important;
 -webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important;
}
#app>#m-monthly-admin-detail .tr419-detail-loading,
#app>#m-monthly-admin-detail .tr419-detail-load-error{width:100%!important;min-height:180px!important}
@media(max-width:820px),(max-height:620px){
 #app>#m-monthly-admin-detail{padding:0!important;align-items:stretch!important;justify-content:stretch!important}
 #app>#m-monthly-admin-detail>.tr419-detail-box{
  flex:1 1 auto!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  border:0!important;border-radius:0!important;
 }
 #app>#m-monthly-admin-detail .tr419-detail-toolbar{position:relative!important;top:auto!important;padding-top:max(9px,env(safe-area-inset-top))!important}
 #app>#m-monthly-admin-detail .tr419-detail-scroll{
  padding-bottom:max(42px,calc(env(safe-area-inset-bottom) + 30px))!important;
  scroll-padding-bottom:max(42px,calc(env(safe-area-inset-bottom) + 30px))!important;
 }
}

/* 4.0.39.19.16 — both toolbar controls share the same label and input rows. */
#admin-pane-monthly .tr419-admin-filters{align-items:stretch}
#admin-pane-monthly .tr419-filter-field,
#admin-pane-monthly .tr419-search-field{display:grid;grid-template-rows:auto 42px;gap:6px;min-width:0;margin:0}
#admin-pane-monthly .tr419-filter-field>span,
#admin-pane-monthly .tr419-search-field>span:first-child{font-size:.68rem;font-weight:800;line-height:1.2;color:var(--tr419-muted)}
#admin-pane-monthly .tr419-filter-field select,
#admin-pane-monthly .tr419-search-row{height:42px!important;min-height:42px!important;align-self:end;margin:0!important}

/* 4.0.39.19.27 — the phone view has one vertical scroll owner. Report actions,
   especially “Details”, remain full-width and cannot be clipped by the old
   desktop grid or by a nested list scroller. */
@media(max-width:760px){
 #admin-pane-monthly.se-admin-pane.active{
  display:block!important;height:100%!important;max-height:100%!important;min-height:0!important;
  overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;
  overscroll-behavior-y:contain!important;padding-bottom:max(28px,env(safe-area-inset-bottom))!important;
 }
 #admin-pane-monthly #tr68-admin-list{
  display:grid!important;width:100%!important;min-width:0!important;min-height:0!important;
  overflow:visible!important;flex:none!important;padding-bottom:max(26px,env(safe-area-inset-bottom))!important;
 }
 #admin-pane-monthly :is(.tr419-report-row,.tr68-admin-report){
  width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important;
  grid-template-columns:minmax(0,1fr)!important;box-sizing:border-box!important;
 }
 #admin-pane-monthly :is(.tr419-report-main,.tr419-report-state,.tr419-row-actions,.tr70-row-actions){
  width:100%!important;max-width:100%!important;min-width:0!important;grid-column:1!important;grid-row:auto!important;
 }
 #admin-pane-monthly :is(.tr419-row-actions,.tr70-row-actions){
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
 }
 #admin-pane-monthly :is(.tr419-row-actions,.tr70-row-actions) button{
  display:inline-flex!important;width:100%!important;min-width:0!important;min-height:44px!important;
  justify-content:center!important;visibility:visible!important;opacity:1!important;transform:none!important;
 }
 #admin-pane-monthly :is(.tr419-row-actions,.tr70-row-actions) button span{
  display:inline!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
 }
}
@media(max-width:340px){#admin-pane-monthly :is(.tr419-row-actions,.tr70-row-actions){grid-template-columns:1fr!important}}

/* SININBE EDU 4.0.39.20.17 — monthly audit teacher detail mirrors the compact
   report layout used in the delivered monthly report, without changing audit data. */
.tr430-report-view{
  width:min(760px,100%);
  margin-inline:auto;
  padding-bottom:4px;
}
.tr430-report-view>.tr419-detail-summary{
  margin-bottom:14px;
}
.tr430-report-card,
.tr430-notes-card,
.tr430-assets-card{
  margin-top:14px;
  overflow:hidden;
  border:1px solid var(--tr419-border);
  border-radius:16px;
  background:var(--tr419-surface-2);
}
.tr430-shared{border-color:color-mix(in srgb,#a78bfa 32%,var(--tr419-border));background:color-mix(in srgb,#a78bfa 5%,var(--tr419-surface-2))}.tr430-shared>h3{color:#c4b5fd}
.tr430-report-card>h3{
  margin:0;
  padding:14px 16px;
  color:color-mix(in srgb,var(--tr419-primary) 72%,#d9f4ff);
  font-size:clamp(.88rem,2.4vw,1.08rem);
  font-weight:900;
  line-height:1.25;
}
.tr430-report-table-wrap{
  width:100%;
  overflow:hidden;
}
.tr430-report-table{
  display:table!important;
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
  border-spacing:0!important;
  margin:0!important;
}
.tr430-report-table thead{
  display:table-header-group!important;
}
.tr430-report-table tbody{
  display:table-row-group!important;
}
.tr430-report-table tr{
  display:table-row!important;
  width:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.tr430-report-table th,
.tr430-report-table td{
  display:table-cell!important;
  width:auto!important;
  min-width:0!important;
  padding:12px 11px!important;
  border:0!important;
  border-bottom:1px solid var(--tr419-border)!important;
  vertical-align:top!important;
  text-align:start!important;
  overflow-wrap:anywhere;
  word-break:normal;
  color:var(--tr419-text)!important;
  font-size:clamp(.68rem,1.9vw,.79rem)!important;
  line-height:1.45!important;
}
.tr430-report-table th{
  background:color-mix(in srgb,var(--tr419-primary) 69%,#036a7d)!important;
  color:#fff!important;
  font-weight:900!important;
  white-space:normal!important;
}
.tr430-report-table tbody tr:last-child td{
  border-bottom:0!important;
}
.tr430-report-table td::before{
  content:none!important;
  display:none!important;
}
.tr430-report-table th:nth-child(1),
.tr430-report-table td:nth-child(1){
  width:39%;
}
.tr430-report-table th:nth-child(2),
.tr430-report-table td:nth-child(2){
  width:38%;
}
.tr430-report-table th:nth-child(3),
.tr430-report-table td:nth-child(3){
  width:23%;
  text-align:center!important;
}
.tr430-absence .tr430-report-table th:nth-child(1),
.tr430-absence .tr430-report-table td:nth-child(1){
  width:70%;
}
.tr430-absence .tr430-report-table th:nth-child(2),
.tr430-absence .tr430-report-table td:nth-child(2){
  width:30%;
  text-align:center!important;
}
.tr430-subject-name,
.tr430-subject-type,
.tr430-entity-name,
.tr430-paid-note{
  display:block;
}
.tr430-subject-name,
.tr430-entity-name,
.tr430-number{
  color:var(--tr419-text);
  font-weight:850;
}
.tr430-subject-type{
  margin-top:2px;
  color:var(--tr419-muted);
  font-size:.88em;
  font-weight:750;
}
.tr430-paid-note{
  margin-top:3px;
  color:var(--tr419-success);
  font-size:.82em;
  font-weight:850;
}
.tr430-number{
  display:inline-block;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.tr430-empty{
  margin:0;
  padding:14px 16px 16px;
  border-top:1px solid var(--tr419-border);
  color:var(--tr419-muted);
  font-size:.7rem;
}
.tr430-notes-card{
  padding:14px 16px;
  border-color:color-mix(in srgb,#f59e0b 34%,var(--tr419-border));
  background:color-mix(in srgb,#f59e0b 8%,var(--tr419-surface-2));
}
.tr430-notes-card h3,
.tr430-assets-card h3{
  margin:0 0 9px;
  font-size:.84rem;
  font-weight:900;
}
.tr430-notes-card h3{
  color:#f28b57;
}
.tr430-notes-card p{
  margin:0;
  white-space:pre-wrap;
  color:var(--tr419-text);
  font-size:.72rem;
  line-height:1.75;
}
.tr430-assets-card{
  padding:14px 16px;
}
.tr430-assets-card h3{
  color:color-mix(in srgb,var(--tr419-primary) 72%,#d9f4ff);
}
[data-theme="light"] .tr430-shared{background:#faf8ff;border-color:#ddd6fe}[data-theme="light"] .tr430-shared>h3{color:#6d28d9}
[data-theme="light"] .tr430-report-card>h3,
[data-theme="light"] .tr430-assets-card h3{
  color:#08758b;
}
[data-theme="light"] .tr430-notes-card{
  border-color:#fed7aa;
  background:#fff7ed;
}
[data-theme="light"] .tr430-notes-card h3{
  color:#c2410c;
}
@media(max-width:620px){
  .tr430-report-view{
    width:100%;
  }
  .tr430-report-card,
  .tr430-notes-card,
  .tr430-assets-card{
    margin-top:12px;
    border-radius:14px;
  }
  .tr430-shared{border-color:color-mix(in srgb,#a78bfa 32%,var(--tr419-border));background:color-mix(in srgb,#a78bfa 5%,var(--tr419-surface-2))}.tr430-shared>h3{color:#c4b5fd}
.tr430-report-card>h3{
    padding:13px 12px;
    text-align:center;
  }
  .tr430-report-table th,
  .tr430-report-table td{
    padding:11px 8px!important;
    font-size:clamp(.64rem,3.1vw,.76rem)!important;
  }
  .tr430-report-table th:nth-child(1),
  .tr430-report-table td:nth-child(1){
    width:40%;
  }
  .tr430-report-table th:nth-child(2),
  .tr430-report-table td:nth-child(2){
    width:37%;
  }
  .tr430-report-table th:nth-child(3),
  .tr430-report-table td:nth-child(3){
    width:23%;
  }
  .tr430-notes-card,
  .tr430-assets-card{
    padding:13px 12px;
  }
}
@media(max-width:370px){
  .tr430-report-table th,
  .tr430-report-table td{
    padding:10px 6px!important;
    font-size:.64rem!important;
  }
}

/* === SININBE bundled source: includes/session-verification/session-verification.css === */
/* Sininbe EDU verified lesson starts — v2.5.76 */
.sv72-modal{z-index:19000!important}.sv72-modal .m-box{width:min(500px,calc(100vw - 24px));max-width:500px;max-height:min(660px,calc(100dvh - 24px));padding:0!important;overflow:hidden;display:flex;flex-direction:column;background:var(--surface,#071126);border:1px solid var(--border);border-radius:20px;box-shadow:0 28px 80px rgba(0,0,0,.38)}
.sv72-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid var(--border);flex:0 0 auto}.sv72-title-wrap{display:flex;align-items:center;gap:11px;min-width:0}.sv72-title-icon{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:rgba(34,211,178,.12);border:1px solid rgba(34,211,178,.25);color:var(--primary);flex:0 0 auto}.sv72-title-wrap h2{margin:0;color:var(--text-primary);font-size:.9rem;font-weight:950}.sv72-title-wrap p{margin:3px 0 0;color:var(--text-muted);font-size:.61rem;line-height:1.5}.sv72-close{width:38px;height:38px;border-radius:11px;border:1px solid var(--border);background:rgba(255,255,255,.045);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}.sv72-close:hover{color:#f87171;border-color:rgba(248,113,113,.35);background:rgba(248,113,113,.08)}
.sv72-body{padding:16px;overflow:auto;min-height:0}.sv72-context{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.035);margin-bottom:14px}.sv72-context>i{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(34,211,178,.1);color:var(--primary);flex:0 0 auto}.sv72-context div{min-width:0}.sv72-context small{display:block;color:var(--text-muted);font-size:.55rem;font-weight:800}.sv72-context strong{display:block;color:var(--text-primary);font-size:.7rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sv72-loading{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);font-size:.66rem}.sv72-loading i{font-size:1.5rem;color:var(--primary)}.sv72-challenge{text-align:center}.sv72-challenge>p{margin:2px 0 4px;color:var(--text-secondary);font-size:.68rem;font-weight:900;line-height:1.6}.sv72-code{font-family:'Space Grotesk',monospace;font-size:2.45rem;letter-spacing:.28em;font-weight:950;color:var(--primary);padding:9px 0 3px;margin-inline-start:.28em}.sv72-expiry{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--text-muted);font-size:.59rem}.sv72-expiry strong{color:#f59e0b;font-size:.68rem}.sv72-field{display:grid;gap:6px;max-width:290px;margin:15px auto 0;text-align:start}.sv72-field span{font-size:.6rem;color:var(--text-secondary);font-weight:900}.sv72-field input{width:100%;height:46px;border:1px solid var(--border-strong);border-radius:12px;background:rgba(255,255,255,.055);color:var(--text-primary);font-family:'Space Grotesk',monospace;font-size:1.18rem;font-weight:950;letter-spacing:.2em;text-align:center;padding:0 10px;box-sizing:border-box;outline:none}.sv72-field input:focus{border-color:rgba(34,211,178,.55);box-shadow:0 0 0 3px rgba(34,211,178,.1)}.sv72-state{min-height:21px;margin-top:8px;font-size:.61rem;color:var(--text-muted)}.sv72-state.err{color:#ef4444}.sv72-actions{display:flex;gap:8px;justify-content:center;margin-top:8px}.sv72-btn{min-height:42px;border-radius:12px;border:1px solid transparent;padding:0 15px;font-family:inherit;font-size:.65rem;font-weight:950;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.sv72-btn.primary{background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;box-shadow:0 8px 18px rgba(13,148,136,.2)}.sv72-btn.secondary{background:rgba(255,255,255,.055);border-color:var(--border);color:var(--text-primary)}.sv72-btn:disabled{opacity:.5;cursor:not-allowed}.sv72-success{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center}.sv72-success>i{font-size:2rem;color:var(--primary)}.sv72-success strong{color:var(--text-primary);font-size:.8rem}.sv72-success span{color:var(--text-muted);font-size:.62rem}.sv72-modal .hidden{display:none!important}
#app[data-theme="light"] .sv72-modal .m-box,.sv72-modal[data-theme="light"] .m-box{background:#fff!important;border-color:#dbe4ee!important}.sv72-modal[data-theme="light"] .sv72-context{background:#f8fafc!important;border-color:#dbe4ee!important}.sv72-modal[data-theme="light"] .sv72-field input{background:#fff!important;color:#0f172a!important;border-color:#cbd5e1!important}.sv72-modal[data-theme="light"] .sv72-btn.secondary,.sv72-modal[data-theme="light"] .sv72-close{background:#fff!important;color:#334155!important;border-color:#d6e0ea!important}
/* On-demand monthly audit comparison remains isolated inside the admin detail modal. */
.sv71-audit-box{border:1px solid rgba(34,211,178,.22);background:rgba(34,211,178,.045);border-radius:16px;padding:12px;margin-bottom:12px}.sv71-audit-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sv71-audit-head>div{min-width:0}.sv71-audit-head strong{display:block;color:var(--text-primary);font-size:.7rem}.sv71-audit-head span{display:block;color:var(--text-muted);font-size:.57rem;line-height:1.5;margin-top:3px}.sv71-audit-result{margin-top:10px}.sv71-audit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sv71-audit-summary>div{border:1px solid var(--border);background:rgba(255,255,255,.035);border-radius:11px;padding:8px}.sv71-audit-summary small{display:block;color:var(--text-muted);font-size:.53rem}.sv71-audit-summary strong{display:block;color:var(--text-primary);font-size:.73rem;margin-top:3px}.sv71-audit-status{margin-top:8px;border-radius:10px;padding:8px 10px;font-size:.61rem;font-weight:900}.sv71-audit-status.match{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.sv71-audit-status.review{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.sv71-audit-status.no_records{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.sv71-audit-table-wrap{overflow:auto;margin-top:8px;border:1px solid var(--border);border-radius:11px}.sv71-audit-table{width:100%;border-collapse:collapse;min-width:600px}.sv71-audit-table th,.sv71-audit-table td{padding:8px;border-bottom:1px solid var(--border);text-align:start;font-size:.58rem;color:var(--text-secondary);vertical-align:top}.sv71-audit-table th{color:var(--text-primary);background:rgba(255,255,255,.045);font-weight:950}.sv71-audit-times{display:block;color:var(--text-muted);line-height:1.45;margin-top:4px}.sv71-audit-chip{display:inline-flex;border-radius:999px;padding:3px 7px;font-weight:900}.sv71-audit-chip.match{color:#047857;background:#d1fae5}.sv71-audit-chip.missing{color:#b91c1c;background:#fee2e2}.sv71-audit-chip.extra{color:#92400e;background:#fef3c7}.sv71-empty{padding:10px;text-align:center;color:var(--text-muted);font-size:.62rem}
@media(max-width:520px){.sv72-modal .m-box{width:calc(100vw - 14px);max-height:calc(100dvh - 14px);border-radius:17px}.sv72-topbar{padding:12px}.sv72-title-icon{width:38px;height:38px}.sv72-title-wrap h2{font-size:.82rem}.sv72-title-wrap p{font-size:.56rem}.sv72-body{padding:12px}.sv72-code{font-size:2rem}.sv72-actions{display:grid;grid-template-columns:1fr 1.35fr}.sv72-btn{width:100%;padding:0 9px}.sv71-audit-head{align-items:stretch;flex-direction:column}.sv71-audit-head .sv72-btn,.sv71-audit-head .sv71-btn{width:100%}.sv71-audit-summary{grid-template-columns:1fr}.sv71-audit-table-wrap{max-width:100%}}

/* SININBE EDU 4.0.2 — primary verification action must remain readable in every theme. */
.sv72-btn.primary,
.sv72-btn.primary span,
.sv72-btn.primary i,
.sv71-audit-head .sv72-btn.primary,
.sv71-audit-head .sv72-btn.primary span,
.sv71-audit-head .sv72-btn.primary i,
#app[data-theme="light"] .sv72-btn.primary,
#app[data-theme="light"] .sv72-btn.primary span,
#app[data-theme="light"] .sv72-btn.primary i,
#app[data-theme="dark"] .sv72-btn.primary,
#app[data-theme="dark"] .sv72-btn.primary span,
#app[data-theme="dark"] .sv72-btn.primary i{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  text-shadow:0 1px 1px rgba(0,0,0,.18)!important;
}
.sv72-btn.primary{background:linear-gradient(135deg,#0f766e,#0d9488)!important;border-color:#0f766e!important}
.sv72-btn.primary:hover{background:linear-gradient(135deg,#0d9488,#0f766e)!important}

/* SININBE EDU 4.0.26 — persistent declared-lessons verification */
#sv71-audit-box{position:relative;z-index:2;flex:0 0 auto}
#sv425-verify-report[aria-busy="true"]{opacity:.7;cursor:progress}
#sv425-verify-report[aria-busy="true"] i{animation:sv425spin .8s linear infinite}
@keyframes sv425spin{to{transform:rotate(360deg)}}
@media(max-width:760px){#sv71-audit-box .sv71-audit-head{align-items:stretch;gap:10px}#sv71-audit-box .sv72-btn{width:100%;min-height:44px}}

/* === SININBE bundled source: includes/whiteboard/whiteboard.css === */
/* SININBE EDU collaborative whiteboard 3.9.0 */
body.se-wb-lock{overflow:hidden!important}
#se-whiteboard-modal{position:fixed;inset:0;z-index:2147481000;display:none;align-items:stretch;justify-content:center;padding:12px;background:rgba(1,8,18,.84);backdrop-filter:blur(9px);font-family:Tajawal,Jost,"Space Grotesk",sans-serif}
#se-whiteboard-modal.on{display:flex}
.se-wb-shell{width:min(1680px,100%);height:calc(100dvh - 24px);min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(45,212,191,.25);border-radius:14px;background:#071522;box-shadow:0 28px 90px rgba(0,0,0,.52);color:#eaf7f5}
.se-wb-head{min-height:66px;display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,auto) 44px;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.17);background:linear-gradient(135deg,rgba(14,116,111,.20),rgba(3,18,31,.97));flex:0 0 auto}
.se-wb-title-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(45,212,191,.38);border-radius:10px;background:rgba(45,212,191,.11);color:#2dd4bf;font-size:1rem;box-sizing:border-box}
.se-wb-title{min-width:0}.se-wb-title strong{display:block;font-size:.95rem;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.se-wb-title small{display:block;margin-top:3px;color:#7894a9;font-size:.62rem;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.se-wb-head-actions{width:44px;display:flex;align-items:center;justify-content:flex-end}.se-wb-head-actions button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.25);border-radius:9px;background:rgba(255,255,255,.045);color:#c5d6e3;cursor:pointer;transition:.16s;touch-action:manipulation}.se-wb-head-actions button:hover,.se-wb-head-actions button:focus-visible{border-color:rgba(251,113,133,.45);background:rgba(251,113,133,.10);color:#fecdd3;outline:0}
.se-wb-presence{display:flex;align-items:center;justify-content:flex-end;gap:5px;max-width:330px;overflow:hidden}.se-wb-person{display:inline-flex;align-items:center;gap:5px;min-width:0;padding:5px 8px;border:1px solid rgba(45,212,191,.18);border-radius:8px;background:rgba(45,212,191,.075);font-size:.56rem;font-weight:850;color:#9fded8;white-space:nowrap}.se-wb-person i{font-size:.42rem;color:#34d399}.se-wb-person span{max-width:90px;overflow:hidden;text-overflow:ellipsis}
.se-wb-toolbar{display:flex;align-items:center;gap:7px;padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.14);background:#081827;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;flex:0 0 auto}.se-wb-toolbar-group{display:flex;align-items:center;gap:5px;padding-inline-end:8px;margin-inline-end:1px;border-inline-end:1px solid rgba(148,163,184,.14);flex:0 0 auto}.se-wb-toolbar-group:last-child{border:0;padding-inline-end:0}.se-wb-toolbar button{height:36px;min-width:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:rgba(255,255,255,.04);color:#b8ccda;font-family:inherit;font-size:.61rem;font-weight:900;white-space:nowrap;cursor:pointer;transition:.15s;touch-action:manipulation}.se-wb-toolbar button:hover,.se-wb-toolbar button:focus-visible{border-color:rgba(45,212,191,.46);color:#5eead4;background:rgba(45,212,191,.10);outline:0}.se-wb-toolbar button.active{border-color:rgba(45,212,191,.56);background:rgba(45,212,191,.16);color:#5eead4;box-shadow:inset 0 0 0 1px rgba(45,212,191,.08)}.se-wb-toolbar button.danger{color:#fda4af}.se-wb-toolbar button:disabled{opacity:.34;cursor:not-allowed}.se-wb-color-group{gap:7px}.se-wb-color{width:34px;height:34px;padding:3px;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:#0d2232}.se-wb-width{width:88px;accent-color:#14b8a6}.se-wb-swatches{display:flex;gap:4px}.se-wb-swatch{width:25px!important;min-width:25px!important;height:25px!important;padding:0!important;border-radius:6px!important;background:var(--swatch)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}.se-wb-swatch.active{outline:2px solid #5eead4;outline-offset:2px}.se-wb-zoom-label{min-width:42px;text-align:center;color:#8fa8ba;font-size:.58rem;font-weight:900}
.se-wb-main{position:relative;flex:1;min-height:0;display:flex;overflow:hidden;background:#04101b}.se-wb-stage-scroll{position:relative;flex:1;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable both-edges;padding:20px;background:radial-gradient(circle at 12% 8%,rgba(20,184,166,.07),transparent 34%),#06121e}.se-wb-stage-wrap{position:relative;margin:auto;overflow:hidden;border:1px solid rgba(148,163,184,.20);border-radius:6px;background:#fff;box-shadow:0 16px 52px rgba(0,0,0,.38);transform-origin:top left}.se-wb-canvas{display:block;background:transparent;touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none;outline:none}
.se-wb-status{min-height:32px;display:flex;align-items:center;gap:8px;padding:5px 12px;border-top:1px solid rgba(148,163,184,.14);background:#071522;color:#7690a4;font-size:.56rem;font-weight:800;flex:0 0 auto}.se-wb-status .dot{width:7px;height:7px;border-radius:50%;background:#f59e0b;flex:0 0 auto}.se-wb-status.ok .dot{background:#34d399}.se-wb-status.err .dot{background:#fb7185}.se-wb-status span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.se-wb-status .se-wb-shortcuts{margin-inline-start:auto;opacity:.7}
.se-wb-text-editor{position:absolute;z-index:8;display:none;max-width:calc(100% - 16px);padding:10px;border:1px solid rgba(45,212,191,.65);border-radius:10px;background:#0b1c2a;box-shadow:0 20px 60px rgba(2,6,23,.48)}.se-wb-text-editor.on{display:block}.se-wb-text-editor textarea{display:block;width:100%;min-height:92px;resize:vertical;border:1px solid rgba(148,163,184,.24);border-radius:8px;outline:0;padding:9px 10px;color:#f8fafc;background:#10283a;font-family:Tajawal,Jost,"Space Grotesk",sans-serif;font-size:17px;line-height:1.55;box-sizing:border-box}.se-wb-text-editor textarea::placeholder{color:#91a8ba}.se-wb-text-editor textarea:focus{border-color:#2dd4bf;box-shadow:0 0 0 3px rgba(45,212,191,.10)}.se-wb-text-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:8px}.se-wb-text-actions button{min-height:34px;padding:0 13px;border:1px solid rgba(148,163,184,.28);border-radius:7px;background:#132a3b;color:#d8e5ee;font-family:inherit;font-weight:900;cursor:pointer}.se-wb-text-actions button.primary{border-color:#0f766e;background:#0f766e;color:#fff}
#app[data-theme="light"] .se-wb-shell{background:#f8fafc;color:#0f172a;border-color:#99f6e4}#app[data-theme="light"] .se-wb-head{background:linear-gradient(135deg,#ecfdf5,#fff)}#app[data-theme="light"] .se-wb-toolbar,#app[data-theme="light"] .se-wb-status{background:#fff;border-color:#dbe3ee}#app[data-theme="light"] .se-wb-toolbar button,#app[data-theme="light"] .se-wb-head-actions button{background:#fff;color:#334155;border-color:#dbe3ee}#app[data-theme="light"] .se-wb-title small{color:#64748b}
[dir="rtl"] .se-wb-shell,[data-lang="ar"] .se-wb-shell{direction:rtl;text-align:right}[dir="ltr"] .se-wb-shell{direction:ltr;text-align:left}
@media(max-width:900px){.se-wb-presence{display:none}.se-wb-head{grid-template-columns:42px minmax(0,1fr) 42px}.se-wb-head-actions{grid-column:3}.se-wb-title{grid-column:2}.se-wb-title-icon{grid-column:1}.se-wb-toolbar button span{display:none}.se-wb-swatches .se-wb-swatch:nth-child(n+6){display:none}}
@media(max-width:760px){#se-whiteboard-modal{padding:0}.se-wb-shell{width:100vw;height:100dvh;border:0;border-radius:0}.se-wb-head{min-height:58px;padding:7px 9px;gap:8px;grid-template-columns:38px minmax(0,1fr) 38px}.se-wb-title-icon{width:36px;height:36px;border-radius:8px}.se-wb-title strong{font-size:.82rem}.se-wb-title small{font-size:.55rem}.se-wb-head-actions,.se-wb-head-actions button{width:36px;height:36px}.se-wb-toolbar{padding:6px 7px;gap:4px}.se-wb-toolbar-group{gap:4px;padding-inline-end:5px}.se-wb-toolbar button{height:34px;min-width:34px;padding:0 8px;border-radius:7px}.se-wb-color{width:32px;height:32px}.se-wb-width{width:68px}.se-wb-swatches{display:none}.se-wb-stage-scroll{padding:9px}.se-wb-status .se-wb-shortcuts{display:none}.se-wb-text-editor{padding:8px}}
@media(max-height:560px){.se-wb-head{min-height:50px}.se-wb-title-icon{width:34px;height:34px}.se-wb-toolbar{padding-block:4px}.se-wb-toolbar button{height:32px}.se-wb-status{min-height:26px}}

/* 3.9.0 final header geometry: close button never touches the frame in RTL/LTR. */
.se-wb-head{grid-template-columns:44px minmax(0,1fr) minmax(120px,auto) 44px!important;grid-template-areas:"icon title presence close"!important;padding:11px 14px!important;column-gap:12px!important;box-sizing:border-box!important}
.se-wb-title-icon{grid-area:icon!important}.se-wb-title{grid-area:title!important}.se-wb-presence{grid-area:presence!important}.se-wb-head-actions{grid-area:close!important;width:44px!important;min-width:44px!important;justify-self:end!important;margin:0!important;padding:0!important;box-sizing:border-box!important}.se-wb-head-actions button{position:static!important;width:40px!important;height:40px!important;min-width:40px!important;margin:0!important;inset:auto!important;box-sizing:border-box!important}
#se-whiteboard-modal[dir="rtl"] .se-wb-head{grid-template-areas:"close presence title icon"!important}#se-whiteboard-modal[dir="rtl"] .se-wb-head-actions{justify-self:start!important}
@media(max-width:900px){.se-wb-head{grid-template-columns:40px minmax(0,1fr) 40px!important;grid-template-areas:"icon title close"!important;padding:9px 11px!important}.se-wb-presence{display:none!important}.se-wb-head-actions{width:40px!important;min-width:40px!important}.se-wb-head-actions button{width:38px!important;height:38px!important;min-width:38px!important}#se-whiteboard-modal[dir="rtl"] .se-wb-head{grid-template-areas:"close title icon"!important}}
@media(max-width:760px){.se-wb-head{grid-template-columns:38px minmax(0,1fr) 38px!important;padding:8px 10px!important;gap:9px!important}.se-wb-head-actions{width:38px!important;min-width:38px!important}.se-wb-head-actions button{width:36px!important;height:36px!important;min-width:36px!important}}

/* v4.0.0: the moderator-only clear action is always reachable and never duplicated. */
.se-wb-head-actions{width:auto!important;min-width:44px!important;display:flex!important;gap:7px!important;justify-content:flex-end!important}
.se-wb-head-actions .se-wb-head-clear{width:auto!important;min-width:40px!important;padding-inline:12px!important;border-color:rgba(251,113,133,.32)!important;background:rgba(251,113,133,.08)!important;color:#fda4af!important}
.se-wb-head-actions .se-wb-head-clear span{font-size:.6rem;font-weight:900;white-space:nowrap}
.se-wb-head-actions .se-wb-head-clear[hidden]{display:none!important}
.se-wb-head{grid-template-columns:44px minmax(0,1fr) minmax(90px,auto) minmax(44px,auto)!important}
@media(max-width:900px){.se-wb-head{grid-template-columns:40px minmax(0,1fr) minmax(40px,auto)!important}.se-wb-head-actions .se-wb-head-clear span{display:none}.se-wb-head-actions .se-wb-head-clear{width:38px!important;min-width:38px!important;padding:0!important}}
@media(max-width:760px){.se-wb-head{grid-template-columns:38px minmax(0,1fr) minmax(38px,auto)!important}.se-wb-head-actions{gap:5px!important}.se-wb-head-actions .se-wb-head-clear{width:36px!important;min-width:36px!important;height:36px!important}}

/* 4.0.39.1 — every collaborative control remains reachable on small screens. */
@media(max-width:900px){
 .se-wb-head{grid-template-columns:40px minmax(0,1fr) minmax(40px,auto)!important;grid-template-areas:"icon title close" "presence presence presence"!important;grid-template-rows:auto auto!important;row-gap:7px!important}
 #se-whiteboard-modal[dir="rtl"] .se-wb-head{grid-template-areas:"close title icon" "presence presence presence"!important}
 .se-wb-presence{grid-area:presence!important;display:flex!important;width:100%;max-width:none!important;min-width:0;justify-content:flex-start!important;overflow-x:auto!important;overflow-y:hidden!important;padding:2px 0 1px;scrollbar-width:thin;overscroll-behavior-x:contain}
 .se-wb-person{flex:0 0 auto}
 .se-wb-toolbar button span,.se-wb-head-actions .se-wb-head-clear span{display:inline!important}
 .se-wb-swatches{display:flex!important}.se-wb-swatches .se-wb-swatch:nth-child(n){display:inline-flex!important}
 .se-wb-head-actions .se-wb-head-clear{width:auto!important;min-width:38px!important;padding-inline:10px!important}
}
@media(max-width:760px){
 .se-wb-head{grid-template-columns:36px minmax(0,1fr) minmax(36px,auto)!important;padding:max(8px,env(safe-area-inset-top)) 9px 7px!important}
 .se-wb-toolbar{scroll-padding-inline:7px}.se-wb-toolbar button{min-width:max-content;padding-inline:9px}
 .se-wb-swatches{max-width:none}.se-wb-status{padding-bottom:max(5px,env(safe-area-inset-bottom))}.se-wb-status .se-wb-shortcuts{display:inline!important;flex:0 0 auto}
}
@media(max-width:360px){.se-wb-title-icon{display:flex}.se-wb-title small{white-space:normal;line-height:1.35}.se-wb-person span{max-width:74px}.se-wb-width{width:62px}}

/* === SININBE bundled source: includes/shared-reader/shared-reader.css === */
/* SININBE EDU shared book reader 3.9.0 */
body.se-reader-lock{overflow:hidden!important}
#se-reader-modal{position:fixed;inset:0;z-index:2147480900;display:none;align-items:stretch;justify-content:center;padding:12px;background:rgba(1,8,18,.86);backdrop-filter:blur(9px);font-family:Tajawal,Jost,"Space Grotesk",sans-serif}
#se-reader-modal.on{display:flex}
.se-reader-shell{width:min(1500px,100%);height:calc(100dvh - 24px);min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(96,165,250,.28);border-radius:14px;background:#071522;color:#eaf2fa;box-shadow:0 28px 90px rgba(0,0,0,.55)}
.se-reader-head{min-height:66px;display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,auto) 44px;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.17);background:linear-gradient(135deg,rgba(37,99,235,.18),rgba(3,18,31,.97))}
.se-reader-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(96,165,250,.42);border-radius:10px;background:rgba(59,130,246,.12);color:#60a5fa}
.se-reader-title{min-width:0}.se-reader-title strong{display:block;font-size:.95rem;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.se-reader-title small{display:block;margin-top:3px;color:#7894a9;font-size:.61rem;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.se-reader-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.25);border-radius:9px;background:rgba(255,255,255,.045);color:#c5d6e3;cursor:pointer}.se-reader-close:hover,.se-reader-close:focus-visible{border-color:rgba(251,113,133,.5);background:rgba(251,113,133,.10);color:#fecdd3;outline:0}
.se-reader-presence{display:flex;justify-content:flex-end;gap:5px;max-width:330px;overflow:hidden}.se-reader-presence span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid rgba(96,165,250,.2);border-radius:8px;background:rgba(59,130,246,.08);font-size:.56rem;font-weight:850;color:#bfdbfe;white-space:nowrap}.se-reader-presence i{width:6px;height:6px;border-radius:50%;background:#34d399}
.se-reader-toolbar{display:flex;align-items:center;gap:7px;padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.14);background:#081827;overflow-x:auto;scrollbar-width:thin;flex:0 0 auto}.se-reader-group{display:flex;align-items:center;gap:5px;padding-inline-end:8px;border-inline-end:1px solid rgba(148,163,184,.14);flex:0 0 auto}.se-reader-group:last-child{border:0}.se-reader-toolbar button{height:36px;min-width:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:rgba(255,255,255,.04);color:#b8ccda;font-family:inherit;font-size:.61rem;font-weight:900;white-space:nowrap;cursor:pointer;transition:.15s}.se-reader-toolbar button:hover,.se-reader-toolbar button:focus-visible{border-color:rgba(96,165,250,.48);background:rgba(59,130,246,.11);color:#bfdbfe;outline:0}.se-reader-toolbar button.active{border-color:rgba(96,165,250,.56);background:rgba(59,130,246,.18);color:#dbeafe}.se-reader-toolbar button.danger{color:#fda4af}.se-reader-page{display:flex;align-items:center;gap:5px;color:#8ea5b8;font-size:.58rem;font-weight:850}.se-reader-page input{width:58px;height:32px;border:1px solid rgba(148,163,184,.24);border-radius:7px;background:#102435;color:#f8fafc;text-align:center;font:800 .66rem/1 Jost,"Space Grotesk",sans-serif}.se-reader-page b,#se-reader-zoom{color:#9eb3c2;font-size:.6rem;white-space:nowrap}
.se-reader-main{position:relative;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px;background:radial-gradient(circle at 15% 10%,rgba(59,130,246,.07),transparent 35%),#06121e;scrollbar-gutter:stable both-edges}.se-reader-page-wrap{position:relative;margin:0 auto;border:1px solid rgba(148,163,184,.22);border-radius:5px;background:#fff;box-shadow:0 18px 60px rgba(0,0,0,.42);overflow:hidden}.se-reader-page-wrap canvas{display:block}.se-reader-page-wrap #se-reader-overlay{position:absolute;inset:0;z-index:2;touch-action:none;user-select:none}
.se-reader-empty{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px;text-align:center}.se-reader-empty>i{width:62px;height:62px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(96,165,250,.34);border-radius:12px;background:rgba(59,130,246,.10);color:#60a5fa;font-size:1.35rem}.se-reader-empty strong{font-size:.92rem}.se-reader-empty p{max-width:520px;margin:0;color:#7894a9;font-size:.68rem;line-height:1.7}
.se-reader-status{min-height:32px;display:flex;align-items:center;gap:8px;padding:5px 12px;border-top:1px solid rgba(148,163,184,.14);background:#071522;color:#7690a4;font-size:.56rem;font-weight:800}.se-reader-status i{width:7px;height:7px;border-radius:50%;background:#f59e0b}.se-reader-status.ok i{background:#34d399}.se-reader-status.err i{background:#fb7185}
[dir="rtl"] .se-reader-shell{direction:rtl;text-align:right}[dir="ltr"] .se-reader-shell{direction:ltr;text-align:left}
#app[data-theme="light"] .se-reader-shell{background:#f8fafc;color:#0f172a;border-color:#bfdbfe}#app[data-theme="light"] .se-reader-head{background:linear-gradient(135deg,#eff6ff,#fff)}#app[data-theme="light"] .se-reader-toolbar,#app[data-theme="light"] .se-reader-status{background:#fff;border-color:#dbe3ee}#app[data-theme="light"] .se-reader-toolbar button,#app[data-theme="light"] .se-reader-close{background:#fff;color:#334155;border-color:#dbe3ee}#app[data-theme="light"] .se-reader-page input{background:#fff;color:#0f172a;border-color:#cbd5e1}

/* 4.0.39.19.16 — complete shared-reader theme parity. */
#app[data-theme="light"]>#se-reader-modal{background:rgba(226,232,240,.82)}
#app[data-theme="light"] .se-reader-shell{box-shadow:0 28px 90px rgba(15,23,42,.20)}
#app[data-theme="light"] .se-reader-head{border-color:#dbe3ee}
#app[data-theme="light"] .se-reader-icon{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}
#app[data-theme="light"] .se-reader-title small,
#app[data-theme="light"] .se-reader-page,
#app[data-theme="light"] .se-reader-page b,
#app[data-theme="light"] #se-reader-zoom,
#app[data-theme="light"] .se-reader-status,
#app[data-theme="light"] .se-reader-empty p{color:#64748b}
#app[data-theme="light"] .se-reader-presence span{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
#app[data-theme="light"] .se-reader-group{border-color:#dbe3ee}
#app[data-theme="light"] .se-reader-toolbar button:hover,
#app[data-theme="light"] .se-reader-toolbar button:focus-visible{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
#app[data-theme="light"] .se-reader-toolbar button.active{background:#dbeafe;border-color:#60a5fa;color:#1d4ed8}
#app[data-theme="light"] .se-reader-toolbar button.danger{color:#be123c}
#app[data-theme="light"] .se-reader-close:hover,
#app[data-theme="light"] .se-reader-close:focus-visible{background:#fff1f2;border-color:#fda4af;color:#be123c}
#app[data-theme="light"] .se-reader-main{background:radial-gradient(circle at 15% 10%,rgba(37,99,235,.07),transparent 35%),#edf3f8}
#app[data-theme="light"] .se-reader-page-wrap{border-color:#cbd5e1;box-shadow:0 18px 52px rgba(15,23,42,.20)}
#app[data-theme="light"] .se-reader-empty>i{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}
@media(max-width:900px){.se-reader-presence{display:none}.se-reader-head{grid-template-columns:42px minmax(0,1fr) 42px}.se-reader-close{grid-column:3}.se-reader-title{grid-column:2}.se-reader-icon{grid-column:1}.se-reader-toolbar button span{display:none}}
@media(max-width:760px){#se-reader-modal{padding:0}.se-reader-shell{width:100vw;height:100dvh;border:0;border-radius:0}.se-reader-head{min-height:58px;padding:7px 9px;gap:8px;grid-template-columns:38px minmax(0,1fr) 38px}.se-reader-icon,.se-reader-close{width:36px;height:36px;border-radius:8px}.se-reader-title strong{font-size:.82rem}.se-reader-title small{font-size:.55rem}.se-reader-toolbar{padding:6px 7px;gap:4px}.se-reader-group{gap:4px;padding-inline-end:5px}.se-reader-toolbar button{height:34px;min-width:34px;padding:0 8px;border-radius:7px}.se-reader-page span{display:none}.se-reader-page input{width:50px;height:30px}.se-reader-main{padding:8px}.se-reader-empty{padding:20px}}
/* Permission-controlled reader controls must stay hidden even inside flex toolbars. */
#se-reader-modal [hidden],
#se-reader-modal .se-reader-teacher[hidden]{display:none!important}

/* v4.0.0 focal pinch zoom: the book follows the fingers instead of zooming toward a fixed corner. */
#se-reader-scroll{touch-action:pan-x pan-y;overscroll-behavior:contain;scrollbar-gutter:stable both-edges}
#se-reader-wrap{transform-origin:0 0}
#se-reader-overlay{touch-action:none}
@media(max-width:760px){#se-reader-scroll{padding:8px!important}.se-reader-page-wrap{margin-inline:auto}.se-reader-toolbar{scroll-snap-type:x proximity}.se-reader-toolbar>.se-reader-group{scroll-snap-align:start}}

/* 4.0.39.1 — presence and every permitted reader control stay reachable. */
@media(max-width:900px){
 .se-reader-head{grid-template-columns:40px minmax(0,1fr) 40px!important;grid-template-areas:"icon title close" "presence presence presence"!important;grid-template-rows:auto auto;row-gap:7px!important}
 [dir="rtl"] .se-reader-head{grid-template-areas:"close title icon" "presence presence presence"!important}
 .se-reader-icon{grid-area:icon!important}.se-reader-title{grid-area:title!important}.se-reader-close{grid-area:close!important}.se-reader-presence{grid-area:presence!important;display:flex!important;width:100%;max-width:none!important;min-width:0;justify-content:flex-start!important;overflow-x:auto!important;overflow-y:hidden!important;padding:2px 0 1px;scrollbar-width:thin;overscroll-behavior-x:contain}.se-reader-presence span{flex:0 0 auto}
 .se-reader-toolbar button span,.se-reader-page span{display:inline!important}
}
@media(max-width:760px){
 .se-reader-head{grid-template-columns:36px minmax(0,1fr) 36px!important;padding:max(8px,env(safe-area-inset-top)) 9px 7px!important}
 .se-reader-toolbar button{min-width:max-content;padding-inline:9px}.se-reader-page input{width:52px}.se-reader-status{padding-bottom:max(5px,env(safe-area-inset-bottom))}
}
@media(max-width:360px){.se-reader-title small{white-space:normal;line-height:1.35}.se-reader-presence span{max-width:112px;overflow:hidden;text-overflow:ellipsis}}

/* 4.0.39.19.34 — compact shared PDF reading surface.
   The book keeps the existing PDF.js/annotation/synchronization engine, while
   controls live in a small side drawer and normal reading uses scroll/swipe. */
.se-reader-shell{position:relative!important}
.se-reader-head{min-height:46px!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important;padding:5px 7px!important}
.se-reader-icon{display:none!important}
.se-reader-title{grid-column:1!important;grid-row:1!important}
.se-reader-title strong{font-size:.78rem!important;line-height:1.2!important}
.se-reader-title small{display:none!important}
.se-reader-presence{grid-column:1!important;grid-row:2!important;max-width:100%!important;min-height:0!important;padding:0!important;gap:3px!important;overflow-x:auto!important;justify-content:flex-start!important}
.se-reader-presence span{padding:2px 6px!important;font-size:.5rem!important}
.se-reader-close{grid-column:2!important;grid-row:1 / span 2!important;width:32px!important;height:32px!important;border-radius:8px!important}
.se-reader-menu-toggle{position:absolute;z-index:20;inset-block-start:54px;inset-inline-end:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.30);border-radius:11px;background:rgba(8,24,39,.88);color:#e2e8f0;box-shadow:0 7px 22px rgba(0,0,0,.30);backdrop-filter:blur(10px);cursor:pointer;touch-action:manipulation}
.se-reader-menu-toggle:hover,.se-reader-menu-toggle:focus-visible,.se-reader-menu-toggle[aria-expanded="true"]{border-color:rgba(96,165,250,.65);background:rgba(15,39,61,.97);color:#bfdbfe;outline:0}
.se-reader-toolbar{position:absolute!important;z-index:19!important;inset-block-start:96px!important;inset-inline-end:8px!important;width:min(230px,calc(100% - 16px))!important;max-height:calc(100% - 138px)!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;padding:8px!important;overflow-y:auto!important;overflow-x:hidden!important;border:1px solid rgba(148,163,184,.28)!important;border-radius:12px!important;background:rgba(7,21,34,.97)!important;box-shadow:0 18px 48px rgba(0,0,0,.38)!important;backdrop-filter:blur(12px)!important;scrollbar-width:thin!important}
.se-reader-toolbar[hidden]{display:none!important}
.se-reader-group{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:5px!important;width:100%!important;padding:0 0 6px!important;border-inline-end:0!important;border-bottom:1px solid rgba(148,163,184,.14)!important}
.se-reader-group:last-child{border-bottom:0!important;padding-bottom:0!important}
.se-reader-toolbar button{height:34px!important;min-width:34px!important;padding:0 8px!important;border-radius:8px!important;font-size:.58rem!important}
.se-reader-page{flex:1 1 100%!important;justify-content:center!important;order:-1!important}
.se-reader-page input{width:52px!important;height:30px!important}
.se-reader-main{padding:6px!important;touch-action:pan-x pan-y!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;scrollbar-gutter:stable both-edges!important}
.se-reader-page-wrap{margin-inline:auto!important;max-width:none!important}
.se-reader-page-wrap #se-reader-overlay{pointer-events:none;touch-action:pan-x pan-y}
.se-reader-status{min-height:24px!important;padding:3px 8px!important;font-size:.5rem!important}
#app[data-theme="light"] .se-reader-menu-toggle,#app[data-theme="light"] .se-reader-toolbar{background:rgba(255,255,255,.97)!important;color:#0f172a!important;border-color:#d5deea!important;box-shadow:0 15px 38px rgba(15,23,42,.16)!important}
@media(max-width:900px){
 .se-reader-head{grid-template-columns:minmax(0,1fr) 34px!important;grid-template-areas:none!important;grid-template-rows:auto!important;min-height:42px!important;padding:4px 6px!important}
 [dir="rtl"] .se-reader-head{grid-template-areas:none!important}
 .se-reader-title{grid-column:1!important;grid-row:1!important}.se-reader-close{grid-column:2!important;grid-row:1!important}
 .se-reader-presence{display:none!important}
 .se-reader-menu-toggle{inset-block-start:49px!important;inset-inline-end:6px!important;width:34px!important;height:34px!important}
 .se-reader-toolbar{inset-block-start:89px!important;inset-inline-end:6px!important;width:min(210px,calc(100% - 12px))!important;max-height:calc(100% - 122px)!important;padding:7px!important}
 .se-reader-toolbar button span,.se-reader-page span{display:inline!important}
}
@media(max-width:760px){
 #se-reader-modal{padding:0!important}.se-reader-shell{width:100vw!important;height:100dvh!important;border:0!important;border-radius:0!important}
 .se-reader-head{min-height:38px!important;padding:max(3px,env(safe-area-inset-top)) 5px 3px!important}
 .se-reader-title strong{font-size:.7rem!important}.se-reader-close{width:29px!important;height:29px!important}
 .se-reader-menu-toggle{inset-block-start:44px!important;inset-inline-end:5px!important;width:33px!important;height:33px!important;border-radius:10px!important}
 .se-reader-toolbar{inset-block-start:82px!important;inset-inline-end:5px!important;width:min(204px,calc(100% - 10px))!important;max-height:calc(100% - 108px)!important}
 .se-reader-main{padding:2px!important;scrollbar-gutter:auto!important}.se-reader-page-wrap{border-radius:0!important;border-inline:0!important;box-shadow:0 3px 16px rgba(0,0,0,.25)!important}
 .se-reader-status{min-height:20px!important;padding:2px 6px max(2px,env(safe-area-inset-bottom))!important}
}

/* === SININBE bundled source: includes/conversation-summary/conversation-summary.css === */
/* SININBE EDU 3.9.2 — stable overlay summary and direct attachment navigation */
.se-summary-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;min-height:40px;max-width:100%;padding-inline:13px!important;border:1px solid rgba(56,189,248,.30)!important;border-radius:10px!important;background:linear-gradient(145deg,rgba(56,189,248,.11),rgba(14,116,144,.06))!important;color:#8bdcff!important;box-shadow:0 8px 22px rgba(2,132,199,.06);transition:transform .16s,border-color .16s,background .16s!important}
.se-summary-btn:hover,.se-summary-btn:focus-visible{border-color:rgba(56,189,248,.58)!important;background:rgba(56,189,248,.16)!important;transform:translateY(-1px);outline:0}
#ap-audit-modal .se-audit-modal-card{position:relative!important;isolation:isolate!important}
.se-summary-panel{display:none;position:absolute;inset:8px;z-index:90;min-width:0;min-height:0;overflow:hidden;margin:0;padding:0;border:1px solid rgba(56,189,248,.28);border-radius:14px;background:linear-gradient(145deg,rgba(8,28,46,.99),rgba(5,13,28,.99));box-shadow:0 22px 70px rgba(0,0,0,.48);overscroll-behavior:contain;box-sizing:border-box}
.se-summary-panel.on{display:flex;flex-direction:column}
.se-summary-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto 40px;grid-template-areas:"icon copy method close";align-items:center;gap:10px;min-width:0;min-height:58px;padding:9px 10px;border-bottom:1px solid rgba(148,163,184,.16);background:rgba(6,17,33,.97);flex:0 0 auto}
.se-summary-head-icon{grid-area:icon;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(56,189,248,.34);border-radius:10px;background:rgba(56,189,248,.11);color:#7dd3fc}
.se-summary-head-copy{grid-area:copy;min-width:0}.se-summary-head-copy strong{display:block;color:var(--text-primary);font-size:.82rem;font-weight:950;overflow-wrap:anywhere}.se-summary-head-copy small{display:block;margin-top:2px;color:var(--text-muted);font-size:.57rem;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.se-summary-method{grid-area:method;display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:5px 8px;border:1px solid rgba(148,163,184,.20);border-radius:8px;color:#a8bdcc;background:rgba(255,255,255,.035);font-size:.54rem;font-weight:900;white-space:nowrap}.se-summary-method.ai{border-color:rgba(167,139,250,.30);color:#c4b5fd;background:rgba(124,58,237,.10)}.se-summary-method.local{border-color:rgba(45,212,191,.26);color:#7ce9da;background:rgba(13,148,136,.10)}
.se-summary-close{grid-area:close;position:static!important;width:38px;height:38px;min-width:38px;display:inline-flex;align-items:center;justify-content:center;margin:0!important;padding:0!important;border:1px solid rgba(148,163,184,.25);border-radius:9px;background:rgba(255,255,255,.035);color:#c7d4df;cursor:pointer;box-sizing:border-box;transition:.16s}.se-summary-close:hover,.se-summary-close:focus-visible{border-color:rgba(251,113,133,.48);background:rgba(251,113,133,.11);color:#fecdd3;outline:0}
[dir="rtl"] .se-summary-head,.se-summary-panel[dir="rtl"] .se-summary-head{grid-template-columns:40px auto minmax(0,1fr) 40px;grid-template-areas:"close method copy icon"}
.se-summary-body{flex:1 1 auto;min-height:0;overflow:auto;padding:12px 14px max(18px,env(safe-area-inset-bottom));scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}
.se-summary-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.se-summary-stat{min-width:0;padding:9px 10px;border:1px solid rgba(148,163,184,.17);border-radius:10px;background:rgba(255,255,255,.028)}.se-summary-stat strong{display:block;color:#e2f9f7;font-size:.86rem;font-weight:950}.se-summary-stat span{display:block;margin-top:2px;color:#7890a5;font-size:.53rem;overflow-wrap:anywhere}
.se-summary-most{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:10px;border:1px solid rgba(45,212,191,.18);border-radius:10px;background:rgba(45,212,191,.06);color:#9fded8;font-size:.62rem;overflow-wrap:anywhere}.se-summary-most i{color:#2dd4bf}.se-summary-most strong{color:#d5fff8}
.se-summary-overview{margin:10px 0;padding:11px 12px;border:1px solid rgba(56,189,248,.18);border-radius:11px;background:rgba(2,132,199,.055)}.se-summary-overview h4,.se-summary-section h4{display:flex;align-items:center;gap:6px;margin:0 0 7px;color:#a7f3d0;font-size:.66rem;font-weight:950}.se-summary-overview p{margin:0;color:var(--text-secondary);font-size:.67rem;line-height:1.9;white-space:pre-wrap;unicode-bidi:plaintext;overflow-wrap:anywhere}.se-summary-section{margin-top:11px}
.se-summary-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.se-summary-list li{padding:8px 10px;border:1px solid rgba(148,163,184,.10);border-radius:9px;background:rgba(255,255,255,.035);color:var(--text-secondary);font-size:.64rem;line-height:1.7;overflow-wrap:anywhere}.se-summary-list li b{color:#5eead4}.se-summary-keywords{display:flex;flex-wrap:wrap;gap:5px}.se-summary-keywords span{padding:5px 8px;border-radius:8px;background:rgba(45,212,191,.09);border:1px solid rgba(45,212,191,.17);color:#8be6dc;font-size:.55rem;font-weight:850}
.se-summary-file-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:7px}.se-summary-file{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-width:0;padding:8px 9px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:rgba(255,255,255,.035);color:var(--text-primary);text-align:start;cursor:pointer;transition:.16s}.se-summary-file>i{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(56,189,248,.10);color:#7dd3fc}.se-summary-file span{min-width:0}.se-summary-file strong,.se-summary-file small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.se-summary-file strong{font-size:.62rem}.se-summary-file small{margin-top:2px;color:var(--text-muted);font-size:.51rem}.se-summary-file em{font-style:normal;color:#5eead4;font-size:.53rem;font-weight:900;white-space:nowrap}.se-summary-file:hover,.se-summary-file:focus-visible{border-color:rgba(45,212,191,.46);background:rgba(45,212,191,.09);outline:0;transform:translateY(-1px)}
.se-summary-loading{display:flex;align-items:center;justify-content:center;gap:9px;min-height:100%;padding:20px;color:var(--text-muted);font-size:.65rem}.se-summary-empty{display:grid;place-items:center;min-height:160px;padding:16px;text-align:center;color:var(--text-muted);font-size:.65rem}.se-audit-attachment-focus{border-color:rgba(45,212,191,.72)!important;box-shadow:0 0 0 3px rgba(45,212,191,.12)!important}
#app[data-theme="light"] .se-summary-panel{background:#f8fafc;border-color:#bae6fd}#app[data-theme="light"] .se-summary-head{background:#fff}#app[data-theme="light"] .se-summary-stat,#app[data-theme="light"] .se-summary-list li,#app[data-theme="light"] .se-summary-file{background:#fff;border-color:#dbe4ef}#app[data-theme="light"] .se-summary-stat strong{color:#0f172a}#app[data-theme="light"] .se-summary-overview{background:#f0f9ff}#app[data-theme="light"] .se-summary-most strong{color:#0f766e}
@media(max-width:760px){
 .se-summary-panel{inset:3px;border-radius:11px}
 .se-summary-head{grid-template-columns:36px minmax(0,1fr) 36px;grid-template-areas:"icon copy close";gap:8px;min-height:52px;padding:7px 8px}
 .se-summary-method{display:none}
 [dir="rtl"] .se-summary-head,.se-summary-panel[dir="rtl"] .se-summary-head{grid-template-columns:36px minmax(0,1fr) 36px;grid-template-areas:"close copy icon"}
 .se-summary-head-icon,.se-summary-close{width:36px;height:36px;min-width:36px}
 .se-summary-body{padding:9px 10px max(16px,env(safe-area-inset-bottom))}
 .se-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .se-summary-file-grid{grid-template-columns:1fr}
 .se-summary-btn span{display:none}.se-summary-btn{width:40px;min-width:40px;padding:0!important}
}

/* 4.0.39.1 — narrow screens reflow metadata and labels instead of hiding them. */
@media(max-width:760px){
 .se-summary-head{grid-template-columns:36px minmax(0,1fr) 36px;grid-template-areas:"icon copy close" "method method method"}
 [dir="rtl"] .se-summary-head,.se-summary-panel[dir="rtl"] .se-summary-head{grid-template-columns:36px minmax(0,1fr) 36px;grid-template-areas:"close copy icon" "method method method"}
 .se-summary-method{display:inline-flex;justify-self:start;white-space:normal}
 .se-summary-btn{width:auto;min-width:40px;padding-inline:11px!important}
 .se-summary-btn span{display:inline;white-space:normal}
}

/* === SININBE bundled source: includes/admin-permissions/admin-permissions.css === */
/* SININBE EDU 3.7.0 — granular administration permissions */
.se-admin-permissions-card{display:none;margin:12px 0 16px;padding:16px;border:1px solid rgba(45,212,191,.24);border-radius:18px;background:linear-gradient(145deg,rgba(20,184,166,.08),rgba(15,23,42,.18));overflow:hidden}
.se-admin-permissions-card.is-visible{display:block}
.se-admin-permissions-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.se-admin-permissions-head-copy{min-width:0}.se-admin-permissions-head h3{margin:0;color:var(--text-primary);font:900 .82rem "Tajawal","Space Grotesk",sans-serif}.se-admin-permissions-head p{margin:4px 0 0;color:var(--text-muted);font:650 .63rem/1.65 "Tajawal","Space Grotesk",sans-serif}
.se-admin-permissions-actions{display:flex;gap:7px;flex:0 0 auto}.se-admin-permissions-actions button{min-height:34px;padding:0 11px;border:1px solid var(--border);border-radius:10px;background:var(--glass-bg);color:var(--text-secondary);font:800 .57rem "Tajawal","Space Grotesk",sans-serif;cursor:pointer}.se-admin-permissions-actions button:hover{color:var(--primary);border-color:rgba(45,212,191,.38)}
.se-admin-permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.se-admin-permission-group{min-width:0;padding:11px;border:1px solid rgba(148,163,184,.14);border-radius:14px;background:rgba(255,255,255,.025)}.se-admin-permission-group h4{display:flex;align-items:center;gap:7px;margin:0 0 9px;color:var(--text-primary);font:900 .65rem "Tajawal","Space Grotesk",sans-serif}.se-admin-permission-group h4 i{color:var(--primary)}
.se-admin-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.se-admin-permission-option{min-width:0;display:flex;align-items:flex-start;gap:8px;padding:8px;border:1px solid transparent;border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:.16s}.se-admin-permission-option:hover{background:rgba(45,212,191,.055);border-color:rgba(45,212,191,.16)}.se-admin-permission-option input{width:16px;height:16px;margin:1px 0 0;accent-color:#14b8a6;flex:0 0 auto}.se-admin-permission-option span{min-width:0;font:750 .59rem/1.45 "Tajawal","Space Grotesk",sans-serif}
.se-limited-admin-badge{display:inline-flex;align-items:center;gap:5px;margin-inline-start:6px;padding:3px 7px;border:1px solid rgba(56,189,248,.24);border-radius:999px;background:rgba(56,189,248,.08);color:#7dd3fc;font-size:.5rem;font-weight:850;white-space:nowrap}
.se-admin-readonly-note{display:none;margin:0 0 12px;padding:10px 12px;border:1px solid rgba(245,191,79,.24);border-radius:12px;background:rgba(245,191,79,.07);color:#f6d78b;font-size:.62rem;font-weight:750}.se-admin-readonly-note.is-visible{display:block}
.se-admin-denied{display:none!important}
#admin-pane-users .se-user-account-form{display:grid;grid-template-columns:repeat(5,minmax(138px,1fr));align-items:end;gap:10px;margin:0 0 12px;padding:13px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025)}
#admin-pane-users .se-user-account-form>label{display:grid;align-content:end;gap:6px;min-width:0;margin:0}
#admin-pane-users .se-user-account-form>label>span{display:block;min-height:1.2em;color:var(--text-muted);font:800 .58rem/1.25 "Tajawal","Space Grotesk",sans-serif;white-space:normal}
#admin-pane-users .se-user-account-form input,#admin-pane-users .se-user-account-form select{display:block;width:100%;min-width:0;height:42px;min-height:42px;margin:0;padding:0 11px;border:1px solid var(--border-strong);border-radius:11px;background:rgba(255,255,255,.055);color:var(--text-primary);font:750 .7rem "Tajawal","Space Grotesk",sans-serif;outline:none;box-shadow:none}
#admin-pane-users .se-user-account-form input:focus,#admin-pane-users .se-user-account-form select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(34,211,178,.11)}
#admin-pane-users .se-user-account-form label[hidden]{display:none!important}
#admin-pane-users .se-user-save-button{display:inline-flex;align-items:center;justify-content:center;align-self:end;gap:7px;width:100%;min-width:0;height:42px;min-height:42px;margin:0;padding:0 12px;border-radius:11px;line-height:1.2;white-space:normal}
#admin-pane-users .se-user-save-button i{flex:0 0 auto;line-height:1}#admin-pane-users .se-user-save-button span{min-width:0;line-height:1.2;text-align:center}
#app[data-theme="light"] #admin-pane-users .se-user-account-form{background:#f8fbfc;border-color:#d9e5e8}#app[data-theme="light"] #admin-pane-users .se-user-account-form input,#app[data-theme="light"] #admin-pane-users .se-user-account-form select{background:#fff;color:#172332;border-color:#cad8df}
@media(max-width:1100px){#admin-pane-users .se-user-account-form{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){#admin-pane-users .se-user-account-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}}
@media(max-width:430px){#admin-pane-users .se-user-account-form{grid-template-columns:1fr}#admin-pane-users .se-user-save-button{min-height:44px}}
@media(max-width:850px){.se-admin-permission-groups{grid-template-columns:1fr}.se-admin-permission-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.se-admin-permissions-card{padding:12px}.se-admin-permissions-head{display:grid}.se-admin-permissions-actions{width:100%}.se-admin-permissions-actions button{flex:1}.se-admin-permission-grid{grid-template-columns:1fr}}

/* === SININBE bundled source: includes/ui-modern/ui-modern.css === */
/* SININBE EDU 3.9.0 — unified modern controls without excessive rounding */
#app{--se-control-radius:10px;--se-control-height:40px;--se-control-border:rgba(148,163,184,.22);--se-control-bg:rgba(255,255,255,.045);--se-control-hover:rgba(45,212,191,.10)}
#app button,#app .btn,#app input,#app select,#app textarea{font-family:"Tajawal","Space Grotesk",sans-serif;box-sizing:border-box}
#app button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#app button:not(.se-wb-swatch):not(.emoji-btn):not(.emj-item){transition:transform .15s ease,border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease}
#app button:not(:disabled):not(.se-wb-swatch):hover{transform:translateY(-1px)}
#app button:focus-visible,#app a:focus-visible,#app input:focus-visible,#app select:focus-visible,#app textarea:focus-visible{outline:0!important;box-shadow:0 0 0 3px rgba(45,212,191,.16)!important;border-color:rgba(45,212,191,.58)!important}
#app .btn,#app .se-pill,#app .se-attach-btn,#app .se-mini-actions button,#app .se-audit-option,#app .se-audit-msg-actions button,#app .tp-item,#app .se-admin-tabs button{border-radius:var(--se-control-radius)!important}
#app .btn{min-height:var(--se-control-height);display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 13px;border:1px solid var(--se-control-border);font-weight:900;line-height:1.2}
#app .btn-ac{background:linear-gradient(135deg,#0f766e,#0d9488)!important;border-color:rgba(45,212,191,.54)!important;color:#fff!important;box-shadow:0 8px 24px rgba(13,148,136,.17)}
#app .btn-ac:hover{background:linear-gradient(135deg,#0d9488,#14b8a6)!important;box-shadow:0 10px 28px rgba(13,148,136,.24)}
#app .btn-ghost{background:var(--se-control-bg)!important;border-color:var(--se-control-border)!important;color:var(--text-secondary)!important}
#app .btn-ghost:hover{background:var(--se-control-hover)!important;border-color:rgba(45,212,191,.38)!important;color:var(--text-primary)!important}
#app .btn.danger,#app button.danger{border-color:rgba(251,113,133,.28)!important;color:#fda4af!important;background:rgba(244,63,94,.07)!important}
#app .btn.danger:hover,#app button.danger:hover{border-color:rgba(251,113,133,.48)!important;background:rgba(244,63,94,.13)!important;color:#fecdd3!important}
#app .se-admin-tabs{display:flex;align-items:center;gap:7px;padding:7px;border:1px solid rgba(148,163,184,.14);border-radius:13px;background:rgba(255,255,255,.018);overflow-x:auto;scrollbar-width:thin}
#app .se-admin-tabs button{min-height:39px;padding:8px 12px;border:1px solid transparent!important;background:transparent!important;color:var(--text-muted)!important;white-space:nowrap;font-weight:900}
#app .se-admin-tabs button:hover{background:rgba(45,212,191,.07)!important;color:var(--text-primary)!important}
#app .se-admin-tabs button.active{background:linear-gradient(135deg,rgba(13,148,136,.18),rgba(45,212,191,.08))!important;border-color:rgba(45,212,191,.32)!important;color:#5eead4!important;box-shadow:inset 0 0 0 1px rgba(45,212,191,.04)}
#app .se-mini-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}#app .se-mini-actions button{min-height:34px;padding:6px 10px;border:1px solid var(--se-control-border);background:var(--se-control-bg);color:var(--text-secondary);font-size:.62rem;font-weight:900}
#app .se-audit-option{border:1px solid var(--se-control-border)!important;background:rgba(255,255,255,.025)!important}.se-audit-option:hover{background:rgba(45,212,191,.075)!important}
#app .m-close,#app .se-audit-modal-close{width:40px!important;height:40px!important;min-width:40px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;border:1px solid rgba(148,163,184,.26)!important;border-radius:10px!important;background:rgba(255,255,255,.045)!important;color:var(--text-secondary)!important;inset-block-start:12px!important;inset-inline-end:12px!important;box-sizing:border-box!important}
#app .m-close:hover,#app .se-audit-modal-close:hover{border-color:rgba(251,113,133,.45)!important;background:rgba(251,113,133,.11)!important;color:#fecdd3!important}
/* AI provider card */
#app .se-custom-ai-card{grid-column:1/-1;position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(124,58,237,.055),rgba(14,116,144,.045))}
#app .se-custom-ai-card:before{content:"";position:absolute;inset-block-start:-70px;inset-inline-end:-70px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.13),transparent 68%);pointer-events:none}
#app .se-custom-ai-card .se-custom-card-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:start}
#app .se-ai-ready-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border:1px solid rgba(148,163,184,.22);border-radius:8px;color:var(--text-muted);background:rgba(255,255,255,.035);font-size:.56rem;font-weight:950;white-space:nowrap}.se-ai-ready-badge.ready{color:#6ee7b7!important;border-color:rgba(52,211,153,.34)!important;background:rgba(16,185,129,.10)!important}.se-ai-ready-badge.local{color:#93c5fd!important;border-color:rgba(96,165,250,.30)!important;background:rgba(59,130,246,.08)!important}
#app .se-ai-fields{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.65fr);gap:12px}#app .se-ai-key-field{grid-column:1/-1}#app .se-input-action-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:7px;align-items:stretch}#app .se-field-icon-btn{width:44px;height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:10px;background:rgba(255,255,255,.045);color:#7dd3fc;cursor:pointer}#app .se-field-icon-btn:hover{border-color:rgba(56,189,248,.48);background:rgba(56,189,248,.11)}
#app .se-ai-key-status{display:block;margin-top:6px;color:var(--text-muted);font-size:.56rem;font-weight:800}#app .se-ai-key-status.ok{color:#6ee7b7}#app .se-ai-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:13px}
#app[data-theme="light"]{--se-control-border:#d7e0ea;--se-control-bg:#fff;--se-control-hover:#ecfdf5}#app[data-theme="light"] .se-custom-ai-card{background:linear-gradient(145deg,#faf5ff,#f0fdfa)}
@media(max-width:760px){#app{--se-control-height:42px}#app .se-admin-tabs{border-radius:11px;padding:5px}#app .se-admin-tabs button{min-height:38px;padding:7px 10px}#app .se-ai-fields{grid-template-columns:1fr}#app .se-ai-key-field{grid-column:auto}#app .se-custom-ai-card .se-custom-card-head{grid-template-columns:38px minmax(0,1fr)}#app .se-ai-ready-badge{grid-column:1/-1;justify-self:start}#app .se-ai-actions .btn{flex:1 1 100%}#app .m-close,#app .se-audit-modal-close{inset-block-start:9px!important;inset-inline-end:9px!important;width:38px!important;height:38px!important;min-width:38px!important}}

/* SININBE EDU 3.9.2 — cross-device dialog geometry and attachment viewer stacking */
#app .modal.show{
  overflow:hidden!important;
  padding:max(4px,env(safe-area-inset-top)) max(4px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))!important;
}
#app .modal.show>.m-box{
  min-width:0!important;
  min-height:0!important;
  max-width:calc(100dvw - 8px)!important;
  max-height:calc(100dvh - 8px)!important;
  box-sizing:border-box!important;
}
#app .m-box>*{min-width:0}
#app button,#app .btn,#app input,#app select,#app textarea{max-width:100%}
#app .se-admin-head,#app .se-contact-head,#app .tr69-admin-detail-toolbar,#app .edu-lsv-head{
  min-width:0!important;
}
#app .se-admin-head>*,#app .se-contact-head>*,#app .tr69-admin-detail-toolbar>*,#app .edu-lsv-head>*{min-width:0}
#app .se-search-row{min-width:0!important;max-width:100%!important}
#app .se-search-row input{min-width:0!important;width:100%!important}
#app .se-audit-msg [data-file-url],#app .se-audit-msg [data-code-url]{pointer-events:auto!important;touch-action:manipulation!important;cursor:pointer!important}
#app #m-lesson-viewer.edu-lsv-modal{z-index:2147483600!important}
#app #m-img,#app #m-video,#app #m-doc,#app #m-pdf,#app #m-pptx,#app #m-xls,#app #m-code{z-index:2147483600!important}
#app #ap-audit-modal.se-audit-modal-shell{overscroll-behavior:none!important}
#app #ap-audit-modal .se-audit-modal-card{min-width:0!important;min-height:0!important}
#app #ap-audit-modal #ap-audit-conversation{
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  overscroll-behavior:contain!important;
  scroll-padding-block:18px max(24px,calc(env(safe-area-inset-bottom) + 16px))!important;
}
#app #ap-audit-modal #ap-audit-composer{
  min-width:0!important;
  position:relative!important;
  z-index:4!important;
  background:var(--surface2,var(--surface,#ffffff))!important;
  color:var(--text-primary,#172033)!important;
  border:1px solid var(--border,#d7e1ec)!important;
  border-radius:14px!important;
  padding:9px!important;
  background-image:none!important;
}
#app #ap-audit-modal #ap-audit-message{min-width:0!important;max-width:100%!important}
@media(max-width:760px){
 #app .se-admin-modal .m-box,#app .se-contact-modal .m-box{width:calc(100dvw - 8px)!important;height:calc(100dvh - 8px)!important;max-width:calc(100dvw - 8px)!important;max-height:calc(100dvh - 8px)!important;border-radius:12px!important;padding:8px!important}
 #app #ap-audit-modal.se-audit-modal-shell{inset:4px!important}
 #app #ap-audit-modal .se-audit-modal-card{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;border-radius:11px!important;padding:7px!important;gap:6px!important}
 #app #ap-audit-modal #ap-audit-tools{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:6px!important}
 #app #ap-audit-modal #ap-audit-tools .se-search-row{grid-column:1/-1!important;width:100%!important;min-width:0!important}
 #app #ap-audit-modal #ap-audit-summary{grid-column:1!important;width:42px!important;min-width:42px!important}
 #app #ap-audit-modal #ap-audit-delete-all{grid-column:2!important;width:auto!important;min-width:0!important;max-width:100%!important;padding-inline:10px!important}
 #app #ap-audit-modal #ap-audit-conversation{min-height:0!important;padding:8px!important}
 #app #ap-audit-modal #ap-audit-composer.on{display:grid!important;grid-template-columns:44px 44px minmax(0,1fr)!important;gap:6px!important;padding-top:6px!important;border-top:1px solid var(--border)!important}
 #app #ap-audit-modal #ap-audit-composer .btn{grid-column:1/-1!important;width:100%!important;min-height:42px!important}
 #app #ap-audit-modal #ap-audit-message{grid-column:3!important;min-height:72px!important;max-height:112px!important}
 #app .se-admin-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important;gap:6px!important}
 #app .se-admin-tabs button{width:100%!important;min-width:0!important;white-space:normal!important;text-align:center!important;overflow-wrap:anywhere!important}
 #app .se-audit-msg{max-width:100%!important;width:100%!important;box-sizing:border-box!important}
 #app .se-audit-msg .f-card,#app .se-audit-msg .vp-card,#app .se-audit-msg .chat-img{max-width:100%!important;width:100%!important;box-sizing:border-box!important}
 #app .se-audit-msg .vp-card{aspect-ratio:auto!important;min-height:180px!important}
 #app .edu-lsv-modal.show{padding:0!important}
 #app .edu-lsv-box{width:100dvw!important;height:100dvh!important;max-width:100dvw!important;max-height:100dvh!important;border-radius:0!important}
}
@media(max-width:380px){
 #app .se-admin-tabs{grid-template-columns:1fr!important}
 #app #ap-audit-modal #ap-audit-delete-all span{font-size:.58rem!important}
}


/* 4.0.30 — high-specificity theme parity for the administrative audit composer.
   This block intentionally matches the selector that previously forced a dark strip. */
html[data-theme="light"] #app #ap-audit-modal #ap-audit-composer,
body[data-theme="light"] #app #ap-audit-modal #ap-audit-composer,
#app[data-theme="light"] #ap-audit-modal #ap-audit-composer,
#m-adminpanel[data-theme="light"] #ap-audit-modal #ap-audit-composer{
  background:#f8fafc!important;
  background-image:none!important;
  color:#172033!important;
  border-color:#d7e1ec!important;
  box-shadow:none!important;
}
html[data-theme="light"] #app #ap-audit-modal #ap-audit-message,
body[data-theme="light"] #app #ap-audit-modal #ap-audit-message,
#app[data-theme="light"] #ap-audit-modal #ap-audit-message,
#m-adminpanel[data-theme="light"] #ap-audit-modal #ap-audit-message{
  background:#ffffff!important;
  color:#172033!important;
  border-color:#cbd5e1!important;
  -webkit-text-fill-color:#172033!important;
  box-shadow:none!important;
}
html[data-theme="light"] #app #ap-audit-modal #ap-audit-message::placeholder,
body[data-theme="light"] #app #ap-audit-modal #ap-audit-message::placeholder,
#app[data-theme="light"] #ap-audit-modal #ap-audit-message::placeholder{color:#64748b!important;opacity:1!important}
html[data-theme="light"] #app #ap-audit-modal #ap-audit-composer .se-attach-btn,
body[data-theme="light"] #app #ap-audit-modal #ap-audit-composer .se-attach-btn,
#app[data-theme="light"] #ap-audit-modal #ap-audit-composer .se-attach-btn{
  background:#ffffff!important;color:#334155!important;border-color:#cbd5e1!important;
}
html[data-theme="light"] #app #ap-audit-modal #ap-audit-send,
body[data-theme="light"] #app #ap-audit-modal #ap-audit-send,
#app[data-theme="light"] #ap-audit-modal #ap-audit-send{background:var(--primary,#0f9f8f)!important;color:#ffffff!important}
html[data-theme="dark"] #app #ap-audit-modal #ap-audit-composer,
body[data-theme="dark"] #app #ap-audit-modal #ap-audit-composer,
#app[data-theme="dark"] #ap-audit-modal #ap-audit-composer{
  background:#071126!important;color:#eef6ff!important;border-color:rgba(148,163,184,.20)!important;
}

/* 4.0.30 — exact theme binding for the administrative composer itself. */
#ap-audit-modal[data-theme="light"] #ap-audit-composer,
#ap-audit-composer[data-theme="light"]{
  background:#f8fafc!important;
  background-image:none!important;
  color:#172033!important;
  border-color:#d7e1ec!important;
  box-shadow:none!important;
}
#ap-audit-modal[data-theme="light"] #ap-audit-message,
#ap-audit-message[data-theme="light"]{
  background:#fff!important;
  color:#172033!important;
  -webkit-text-fill-color:#172033!important;
  border-color:#cbd5e1!important;
  caret-color:#0f766e!important;
}
#ap-audit-modal[data-theme="light"] #ap-audit-message::placeholder{color:#64748b!important;opacity:1!important}
#ap-audit-modal[data-theme="light"] #ap-audit-composer .se-attach-btn,
#ap-audit-composer[data-theme="light"] .se-attach-btn{
  background:#fff!important;color:#334155!important;border-color:#cbd5e1!important;
}
#ap-audit-modal[data-theme="dark"] #ap-audit-composer,
#ap-audit-composer[data-theme="dark"]{
  background:#071126!important;background-image:none!important;color:#eef6ff!important;border-color:rgba(148,163,184,.2)!important;
}
#ap-audit-modal[data-theme="dark"] #ap-audit-message,
#ap-audit-message[data-theme="dark"]{
  background:#0b1328!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:rgba(148,163,184,.28)!important;
}

/* === SININBE bundled source: includes/ui-consistency/ui-consistency.css === */
/* SININBE EDU 4.0.2 — responsive controls and language consistency */
:root{--se-control-radius:11px;--se-popover-radius:12px}

/* Native select popovers vary by browser and cannot be reliably sized. The native
   control remains the canonical value, while this accessible trigger/menu supplies
   a stable responsive presentation. */
#m-settings .se-settings-select-shell{
  grid-template-columns:32px minmax(0,1fr) 24px!important;
  width:clamp(220px,44vw,330px)!important;
  max-width:100%!important;
  min-height:46px!important;
  border-radius:var(--se-control-radius)!important;
  overflow:visible!important;
}
#m-settings .se-settings-select-shell:focus-within{
  border-color:var(--border-strong)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset!important;
}
#m-settings .se-settings-select-shell:has(.se-smart-select-trigger:focus-visible){
  border-color:var(--primary)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 24%,transparent)!important;
}
#m-settings .se-settings-select-shell select.se-enhanced-native{
  position:absolute!important;
  inline-size:1px!important;
  block-size:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
  clip-path:inset(50%)!important;
}
.se-smart-select-trigger{
  grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:10px;
  inline-size:100%;min-inline-size:0;min-block-size:44px;padding:0 7px;border:0;
  border-radius:8px;background:transparent;color:var(--text-primary);font:900 .78rem/1.2 var(--se-font-ui);
  text-align:start;cursor:pointer;outline:0;white-space:nowrap;overflow:hidden;
}
.se-smart-select-trigger>span{min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.se-smart-select-trigger:focus-visible{outline:0}
.se-smart-select-menu{
  position:fixed;z-index:2147482000;display:grid;gap:4px;padding:6px;
  min-inline-size:220px;max-inline-size:calc(100vw - 20px);max-block-size:min(360px,calc(100dvh - 24px));
  overflow:auto;overscroll-behavior:contain;border:1px solid var(--border-strong);
  border-radius:var(--se-popover-radius);background:var(--surface,#0e1a2e);color:var(--text-primary);
  box-shadow:0 18px 46px rgba(0,0,0,.34);font-family:var(--se-font-ui);scrollbar-width:thin;
}
.se-smart-select-option{
  display:flex;align-items:center;justify-content:flex-start;inline-size:100%;min-block-size:44px;
  padding:9px 12px;border:1px solid transparent;border-radius:8px;background:transparent;
  color:inherit;font:850 .78rem/1.35 var(--se-font-ui);text-align:start;cursor:pointer;
}
.se-smart-select-option:hover,.se-smart-select-option:focus-visible{background:color-mix(in srgb,var(--primary) 12%,transparent);border-color:color-mix(in srgb,var(--primary) 28%,transparent);outline:0}
.se-smart-select-option[aria-selected="true"]{background:color-mix(in srgb,var(--primary) 20%,transparent);border-color:color-mix(in srgb,var(--primary) 42%,transparent);color:var(--text-primary)}
#app[data-theme="light"] .se-smart-select-menu{background:#fff;color:#0f172a;border-color:#cbd5e1;box-shadow:0 18px 44px rgba(15,23,42,.18)}

/* Neutralize the oversized green rectangular focus ring reported on theme/language controls. */
#app button:focus,#app select:focus,#app input:focus,#app textarea:focus{outline:none}
#app button:focus-visible,#app select:focus-visible,#app input:focus-visible,#app textarea:focus-visible{
  outline:2px solid color-mix(in srgb,var(--primary) 70%,white 10%);outline-offset:2px;
}

/* Direction is a document property, not a one-off component property. */
#app[data-lang="ar"] .se-smart-select-trigger,#app[data-lang="ar"] .se-smart-select-option{direction:rtl;text-align:right}
#app:not([data-lang="ar"]) .se-smart-select-trigger,#app:not([data-lang="ar"]) .se-smart-select-option{direction:ltr;text-align:left}

@media(max-width:620px){
  #m-settings .se-set-row-select{align-items:stretch!important}
  #m-settings .se-settings-select-shell{width:100%!important;max-width:none!important}
  .se-smart-select-menu{min-inline-size:0;inline-size:calc(100vw - 20px);max-inline-size:calc(100vw - 20px);padding:7px}
}
@media(max-width:360px){
  .se-smart-select-trigger,.se-smart-select-option{font-size:.72rem}
  #m-settings .se-settings-select-shell{grid-template-columns:28px minmax(0,1fr) 22px!important}
}

/* Keep document viewers inside every viewport without clipping their toolbars. */
#edu-lesson-viewer,.edu-lsv-viewer,#m-lesson-viewer .m-box{max-inline-size:100%!important;min-inline-size:0!important}
.edu-lsv-stage,.edu-lsv-office-web,.edu-lsv-pdf-reader,.edu-lsv-slide-wrap{min-inline-size:0!important;max-inline-size:100%!important}

/* SININBE EDU 4.0.2 — contrast audit for dark/light cards, fields and status labels. */
:root,[data-theme="dark"]{
  --text-secondary:#a7bfd3;
  --text-muted:#7896ad;
  --input-placeholder:#7896ad;
}
[data-theme="light"]{
  --text-secondary:#475569;
  --text-muted:#5f7185;
  --input-placeholder:#64748b;
}
#app input:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),#app textarea:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),#app select:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)){
  color:var(--text-primary)!important;
  caret-color:var(--primary)!important;
}
#app input:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *))::placeholder,#app textarea:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *))::placeholder{
  color:var(--input-placeholder,var(--text-muted))!important;
  opacity:1!important;
}
#app[data-theme="dark"] input:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),#app[data-theme="dark"] textarea:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),#app[data-theme="dark"] select:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),
html[data-theme="dark"] input:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),html[data-theme="dark"] textarea:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),html[data-theme="dark"] select:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)){
  background-color:var(--input-bg,#061026)!important;
  border-color:var(--input-border,rgba(255,255,255,.16))!important;
}
#app[data-theme="light"] input:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),#app[data-theme="light"] textarea:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),#app[data-theme="light"] select:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),
html[data-theme="light"] input:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),html[data-theme="light"] textarea:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),html[data-theme="light"] select:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)){
  background-color:#fff!important;
  color:#172033!important;
  border-color:#cbd5e1!important;
}
#app[data-theme="light"] select:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)) option,html[data-theme="light"] select:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)) option{background:#fff!important;color:#172033!important}
#app[data-theme="dark"] select:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)) option,html[data-theme="dark"] select:not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)) option{background:#10232d!important;color:#f8fafc!important}
/* Primary actions always use high-contrast white text on the teal background. */
#app .btn.primary,#app .btn.btn-primary,#app button.primary,#app .se-primary-action,
#app .sv72-btn.primary,#app .se-custom-savebar .btn{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#app .btn.primary *,#app .btn.btn-primary *,#app button.primary *,#app .se-primary-action *,
#app .sv72-btn.primary *,#app .se-custom-savebar .btn *{
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}
/* Avoid pale text disappearing on white cards and black text disappearing on dark cards. */
#app[data-theme="light"] .se-admin-pane,#app[data-theme="light"] .se-admin-pane p:not(:where(.sdoc-page *,.spr-report *)),#app[data-theme="light"] .se-admin-pane small:not(:where(.sdoc-page *,.spr-report *)),
#app[data-theme="light"] .se-gradebook-shell p:not(:where(.sdoc-page *,.spr-report *)),#app[data-theme="light"] .se-gradebook-shell small:not(:where(.sdoc-page *,.spr-report *)){
  color:var(--text-muted)!important;
}
#app[data-theme="light"] .se-admin-pane h1:not(:where(.sdoc-page *,.spr-report *)),#app[data-theme="light"] .se-admin-pane h2:not(:where(.sdoc-page *,.spr-report *)),#app[data-theme="light"] .se-admin-pane h3:not(:where(.sdoc-page *,.spr-report *)),#app[data-theme="light"] .se-admin-pane strong:not(:where(.sdoc-page *,.spr-report *)),
#app[data-theme="light"] .se-gradebook-shell h1:not(:where(.sdoc-page *,.spr-report *)),#app[data-theme="light"] .se-gradebook-shell h2:not(:where(.sdoc-page *,.spr-report *)),#app[data-theme="light"] .se-gradebook-shell h3:not(:where(.sdoc-page *,.spr-report *)),#app[data-theme="light"] .se-gradebook-shell strong:not(:where(.sdoc-page *,.spr-report *)){
  color:var(--text-primary)!important;
}
#app[data-theme="dark"] .se-admin-pane,#app[data-theme="dark"] .se-gradebook-shell{color:var(--text-primary)!important}
#app [disabled],#app [aria-disabled="true"]{opacity:.62!important}

/* SININBE EDU 4.0.2 — final semantic contrast pass. */
#app[data-theme="dark"] .se-id-card-open,
[data-theme="dark"] .se-id-card-open{
  color:#eafffb!important;
  background:rgba(13,148,136,.28)!important;
  border-color:rgba(94,234,212,.62)!important;
}
#app[data-theme="light"] .se-id-card-open,
[data-theme="light"] .se-id-card-open{
  color:#134e4a!important;
  background:#ecfdf5!important;
  border-color:#5eead4!important;
}
#app[data-theme="light"] .se-id-card-open span,
#app[data-theme="light"] .se-id-card-open i,
[data-theme="light"] .se-id-card-open span,
[data-theme="light"] .se-id-card-open i{color:inherit!important;-webkit-text-fill-color:inherit!important}
/* Keep muted copy legible without allowing it to become body-black or near-white. */
#app[data-theme="light"] :is(.muted,.sub,.hint,.desc,[class*="-hint"],[class*="-subtitle"]):not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)){color:#52657a!important}
#app[data-theme="dark"] :is(.muted,.sub,.hint,.desc,[class*="-hint"],[class*="-subtitle"]):not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)){color:#91a9bd!important}
/* Explicit field labels and statuses avoid white-on-white and black-on-black regressions. */
#app[data-theme="light"] :is(label,.field-label,[class*="-label"]):not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)){color:#334155}
#app[data-theme="dark"] :is(label,.field-label,[class*="-label"]):not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)){color:#c8d8e5}
#app[data-theme="light"] :is(.success,.status-success,[class*="is-success"]){color:#065f46}
#app[data-theme="dark"] :is(.success,.status-success,[class*="is-success"]){color:#a7f3d0}
#app[data-theme="light"] :is(.warning,.status-warning,[class*="is-warning"]){color:#92400e}
#app[data-theme="dark"] :is(.warning,.status-warning,[class*="is-warning"]){color:#fde68a}
#app[data-theme="light"] :is(.error,.status-error,[class*="is-error"]){color:#991b1b}
#app[data-theme="dark"] :is(.error,.status-error,[class*="is-error"]){color:#fecaca}


/* SININBE EDU 4.0.8 — modal geometry, input surfaces and voice controls. */
#app .modal.show{padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))!important;box-sizing:border-box!important}
#app .modal.show>.m-box{max-inline-size:calc(100vw - 28px)!important;max-block-size:calc(100dvh - 28px)!important;box-sizing:border-box!important}
#app .modal .m-box>.m-close{top:13px!important;inset-inline-end:13px!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:0!important;margin:0!important;border-radius:11px!important;display:grid!important;place-items:center!important;line-height:1!important;box-shadow:none!important;z-index:90!important}
#app .modal .m-box>.m-close i{margin:0!important;line-height:1!important}
#app #m-settings .m-box{width:min(470px,calc(100vw - 28px))!important;height:auto!important;min-height:0!important;max-height:calc(100dvh - 28px)!important;padding:20px!important;padding-top:19px!important;overflow-y:auto!important;overflow-x:hidden!important;border-radius:20px!important}
#app #m-settings #settings-title{min-height:40px!important;display:flex!important;align-items:center!important;margin:0 0 14px!important;padding-inline-end:54px!important}
#app #m-settings .se-settings-grid{gap:10px!important;margin-top:0!important}
#app #m-settings .se-set-row{min-width:0!important;padding:11px 12px!important;border-radius:14px!important;gap:12px!important}
#app #m-settings .se-set-row>strong{min-width:82px!important;max-width:45%!important;overflow-wrap:anywhere}
#app #m-settings .se-settings-select-shell{width:min(238px,100%)!important;min-height:42px!important;border-radius:12px!important;box-shadow:none!important}
#app #m-settings .se-settings-select-shell:focus-within{box-shadow:none!important;outline:2px solid color-mix(in srgb,var(--primary) 70%,transparent)!important;outline-offset:2px!important}
#app #m-settings .se-pill-row{min-width:0!important;justify-content:flex-end!important}
#app #m-settings .se-pill{min-width:112px!important;min-height:40px!important;border-radius:11px!important;box-shadow:none!important}
#app :is(input,textarea,select),#app :is(.se-search-row,.se-settings-select-shell,.se-field,.field){box-shadow:none!important;filter:none!important}
#app :is(input,textarea,select):focus,#app :is(input,textarea,select):focus-visible{box-shadow:none!important;outline:2px solid color-mix(in srgb,var(--primary) 72%,transparent)!important;outline-offset:1px!important}
#app .modal :is(button,.btn){max-inline-size:100%;box-sizing:border-box}
#app .modal :is(.se-mini-actions,.se-audit-actions,.se-admin-actions,.sdoc-actions,.se-custom-savebar){min-width:0;flex-wrap:wrap;gap:8px}
#app .modal :is(.se-mini-actions,.se-audit-actions,.se-admin-actions,.sdoc-actions,.se-custom-savebar)>button{min-width:0;white-space:normal;overflow-wrap:anywhere}
#app #vox{min-width:0!important;min-height:50px!important;gap:8px!important;padding:6px 8px!important;border-radius:15px!important;box-shadow:none!important;overflow:hidden!important}
#app #vox .vox-wave{min-width:34px!important;overflow:hidden!important}
#app #vox .vox-cancel,#app #vox .vox-pause{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;border-radius:11px!important;box-shadow:none!important;transform:none!important}
#app #vox.on + #fab,#app #fab.red{width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;box-shadow:none!important}
#app #m-vdub .m-box{width:min(430px,calc(100vw - 28px))!important;max-height:calc(100dvh - 28px)!important;overflow-y:auto!important;padding:20px!important;border-radius:20px!important}
#app #m-vdub .vdub-lang-grid,#app #vdub-lang-grid>div{min-width:0!important}
#app #m-vdub .vdub-lang-btn{min-width:0!important;min-height:44px!important;padding:9px 10px!important;border-radius:11px!important;box-shadow:none!important;white-space:normal!important;overflow-wrap:anywhere!important}
#app #m-vdub #vdub-custom-inp{box-shadow:none!important}
#app #m-vdub .vdub-send-orig{min-height:44px!important;border-radius:11px!important;box-shadow:none!important}
#app .se-admin-modal.show{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important}
#app .se-admin-modal.show>.m-box{width:min(1540px,calc(100vw - 24px))!important;height:calc(100dvh - 24px)!important;max-height:calc(100dvh - 24px)!important;border-radius:18px!important;padding:clamp(.85rem,1.2vw,1.25rem)!important}
#app .se-admin-modal .se-admin-head{padding-inline-end:52px!important}
@media(max-width:620px){#app .modal.show{padding:6px!important}#app .modal.show>.m-box{max-inline-size:calc(100vw - 12px)!important;max-block-size:calc(100dvh - 12px)!important}#app .modal .m-box>.m-close{top:10px!important;inset-inline-end:10px!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}#app #m-settings .m-box,#app #m-vdub .m-box{width:calc(100vw - 12px)!important;max-height:calc(100dvh - 12px)!important;padding:16px!important;border-radius:16px!important}#app #m-settings .se-set-row{align-items:stretch!important;flex-direction:column!important}#app #m-settings .se-set-row>strong{min-width:0!important;max-width:none!important}#app #m-settings .se-settings-select-shell,#app #m-settings .se-pill-row,#app #m-settings .se-pill{width:100%!important;max-width:none!important}#app .se-admin-modal.show{padding:6px!important}#app .se-admin-modal.show>.m-box{width:calc(100vw - 12px)!important;height:calc(100dvh - 12px)!important;max-height:calc(100dvh - 12px)!important;border-radius:14px!important}}

/* === SININBE bundled source: includes/interaction-health/interaction-health.css === */
/* SININBE EDU 4.0.39.19.60 — instant-tap interaction reliability and focus visibility. */
#app button,#app [role="button"],#app input,#app select,#app textarea{touch-action:manipulation}
#app button:not(:disabled),#app [role="button"]:not([aria-disabled="true"]){cursor:pointer}
#app button:disabled,#app [aria-disabled="true"]{cursor:not-allowed}
#app .se-ml-admin-card input[type="url"]{position:relative;z-index:1;pointer-events:auto;user-select:text;-webkit-user-select:text}
#app .se-ml-admin-card:focus-within{border-color:color-mix(in srgb,var(--primary) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}
#app button[aria-busy="true"]{cursor:wait;opacity:.72}
#app button.is-loading i{animation:se-interaction-spin .8s linear infinite}
@keyframes se-interaction-spin{to{transform:rotate(360deg)}}
body.se-modal-stack-lock{overflow:hidden!important;overscroll-behavior:none}
#se-interaction-shield{display:none;position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:2147483647!important;background:transparent!important;opacity:1!important;visibility:visible!important;pointer-events:none!important;touch-action:none!important;overscroll-behavior:none!important;user-select:none!important;-webkit-user-select:none!important;-webkit-tap-highlight-color:transparent!important;contain:strict}
#se-interaction-shield[data-active="1"]{display:block!important;pointer-events:none!important}
[data-se-modal-managed="1"]{z-index:var(--se-modal-z,2147481000)!important}
[data-se-modal-managed="1"][data-se-modal-state="active"],
[data-se-modal-managed="1"][data-se-modal-state="opening"]{pointer-events:auto!important;visibility:visible!important}
[data-se-modal-managed="1"][data-se-modal-state="under"]{pointer-events:none!important}
[data-se-modal-managed="1"][data-se-modal-state="closing"]{display:flex!important;visibility:visible!important;pointer-events:none!important;opacity:0!important;transition:opacity .22s ease!important}
[data-se-modal-managed="1"][inert]{pointer-events:none!important}
@media(max-width:760px){
  #app .modal[data-se-modal-managed="1"]{padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}
  #app .modal[data-se-modal-managed="1"]>.m-box{min-width:0;max-width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}
}
@media(max-width:360px),(max-height:520px){
  #app .modal[data-se-modal-managed="1"]{align-items:stretch;justify-content:stretch;padding:0!important}
  #app .modal[data-se-modal-managed="1"]>.m-box{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border-radius:0!important;min-width:0!important}
}
@media(max-width:640px){
  #app input,#app select,#app textarea{font-size:16px}
  #app button:not(.se-info-btn):not(.se-user-info-chip):not(.edu-rt-pin):not(.se-person-more),
  #app [role="button"]:not(.se-info-btn):not(.se-user-info-chip):not(.edu-rt-pin):not(.se-person-more){min-height:40px}
  #app .se-info-btn,#app .se-user-info-chip,#app .edu-rt-pin,#app .se-person-more{min-height:28px;min-width:28px}
}

/* v4.0.39.19.106 — hard interaction isolation for background branches.
   Native inert blocks focus and pointer events; pointer-events is the fallback
   for older embedded WebViews that only partially implement inert. */
[data-se-background-inert="1"]{pointer-events:none!important;user-select:none!important;-webkit-user-select:none!important}
[data-se-background-inert="1"] *{pointer-events:none!important}

/* === SININBE bundled source: includes/ui-refinement/ui-refinement.css === */
/* SININBE EDU 4.0.18 — cross-device visual refinement and strict theme inheritance. */

/* ---------- Theme tokens ---------- */
#app[data-theme="dark"],html[data-theme="dark"],body[data-theme="dark"],
[data-theme="dark"]{
  --se-ui-bg:#020617;
  --se-ui-surface:#071026;
  --se-ui-surface-2:#0b172d;
  --se-ui-surface-3:#101d34;
  --se-ui-border:rgba(148,163,184,.20);
  --se-ui-border-strong:rgba(148,163,184,.30);
  --se-ui-text:#f8fafc;
  --se-ui-text-2:#dbe7f2;
  --se-ui-muted:#9ab0c4;
  --se-ui-input:#081428;
}
#app[data-theme="light"],html[data-theme="light"],body[data-theme="light"],
[data-theme="light"]{
  --se-ui-bg:#f4f7fb;
  --se-ui-surface:#ffffff;
  --se-ui-surface-2:#f8fafc;
  --se-ui-surface-3:#eef3f8;
  --se-ui-border:#d8e1eb;
  --se-ui-border-strong:#c4d0dd;
  --se-ui-text:#0f172a;
  --se-ui-text-2:#334155;
  --se-ui-muted:#64748b;
  --se-ui-input:#ffffff;
}

/* Theme changes must not flash mixed light/dark layers. */
html.edu-theme-switching *,body.edu-theme-switching *,#app.edu-theme-switching *{
  transition:none!important;
}

/* ---------- Strict theme inheritance for all application dialogs ---------- */
#app[data-theme="dark"] .modal,
html[data-theme="dark"] .modal,
body[data-theme="dark"] .modal,
#app[data-theme="dark"] :is(#se-gradebook-modal,#se-whiteboard-modal,#se-reader-modal,.se-info-pop),
html[data-theme="dark"] :is(#se-gradebook-modal,#se-whiteboard-modal,#se-reader-modal,.se-info-pop){
  color-scheme:dark;
}
#app[data-theme="light"] .modal,
html[data-theme="light"] .modal,
body[data-theme="light"] .modal,
#app[data-theme="light"] :is(#se-gradebook-modal,#se-whiteboard-modal,#se-reader-modal,.se-info-pop),
html[data-theme="light"] :is(#se-gradebook-modal,#se-whiteboard-modal,#se-reader-modal,.se-info-pop){
  color-scheme:light;
}

#app[data-theme="dark"] .modal>.m-box,
html[data-theme="dark"] .modal>.m-box,
body[data-theme="dark"] .modal>.m-box,
#app[data-theme="dark"] :is(.se-info-card,.se-gradebook-shell,.se-wb-shell,.se-reader-shell,.edu-lsv-box),
html[data-theme="dark"] :is(.se-info-card,.se-gradebook-shell,.se-wb-shell,.se-reader-shell,.edu-lsv-box){
  background-color:var(--se-ui-surface)!important;
  color:var(--se-ui-text)!important;
  border-color:var(--se-ui-border)!important;
}
#app[data-theme="light"] .modal>.m-box,
html[data-theme="light"] .modal>.m-box,
body[data-theme="light"] .modal>.m-box,
#app[data-theme="light"] :is(.se-info-card,.se-gradebook-shell,.se-wb-shell,.se-reader-shell,.edu-lsv-box),
html[data-theme="light"] :is(.se-info-card,.se-gradebook-shell,.se-wb-shell,.se-reader-shell,.edu-lsv-box){
  background-color:var(--se-ui-surface)!important;
  color:var(--se-ui-text)!important;
  border-color:var(--se-ui-border)!important;
}

#app[data-theme="dark"] .modal :is(h1,h2,h3,h4,h5,h6,strong,label):not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),
html[data-theme="dark"] .modal :is(h1,h2,h3,h4,h5,h6,strong,label):not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),
#app[data-theme="dark"] :is(.se-gradebook-shell,.se-wb-shell,.se-reader-shell,.se-info-card) :is(h1,h2,h3,h4,h5,h6,strong,label):not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)){
  color:var(--se-ui-text)!important;
}
#app[data-theme="light"] .modal :is(h1,h2,h3,h4,h5,h6,strong,label):not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),
html[data-theme="light"] .modal :is(h1,h2,h3,h4,h5,h6,strong,label):not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),
#app[data-theme="light"] :is(.se-gradebook-shell,.se-wb-shell,.se-reader-shell,.se-info-card) :is(h1,h2,h3,h4,h5,h6,strong,label):not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)){
  color:var(--se-ui-text)!important;
}

/* Keep controls in the selected theme without changing document canvases/pages. */
#app[data-theme="dark"] :is(.modal,.se-gradebook-shell,.se-wb-shell,.se-reader-shell,.se-info-card) :is(input:not([type="color"]),textarea,select):not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),
html[data-theme="dark"] :is(.modal,.se-gradebook-shell,.se-wb-shell,.se-reader-shell,.se-info-card) :is(input:not([type="color"]),textarea,select):not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)){
  background:var(--se-ui-input)!important;
  color:var(--se-ui-text)!important;
  border-color:var(--se-ui-border-strong)!important;
}
#app[data-theme="light"] :is(.modal,.se-gradebook-shell,.se-wb-shell,.se-reader-shell,.se-info-card) :is(input:not([type="color"]),textarea,select):not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)),
html[data-theme="light"] :is(.modal,.se-gradebook-shell,.se-wb-shell,.se-reader-shell,.se-info-card) :is(input:not([type="color"]),textarea,select):not(:where(.sdoc-page *,.spr-report *,.edu-lsv-text *,.edu-lsv-doc *,.edu-lsv-sheet *,.edu-lsv-word-page *,.edu-lsv-slide *)){
  background:var(--se-ui-input)!important;
  color:var(--se-ui-text)!important;
  border-color:var(--se-ui-border-strong)!important;
}

/* Printable documents and embedded office pages deliberately keep their own
   light palette in both application themes.  Theme rules style the surrounding
   viewer chrome only; they must never recolour the content being read/exported. */
#app :is(.sdoc-page,.spr-report,.edu-lsv-text,.edu-lsv-doc,.edu-lsv-sheet,.edu-lsv-word-page,.edu-lsv-slide,.edu-lsv-html-shell){
  color-scheme:light;
}


/* Known floating panels that are created outside the generic .modal wrapper. */
:is(.edu-ls-manager,.edu-ls-level-menu,.edu-person-popup,.se-ml-chat-menu,.se-smart-select-menu)[data-theme="dark"],
.tr68-calculator[data-theme="dark"] .tr68-calc-panel{
  color-scheme:dark;
  background-color:var(--se-ui-surface)!important;
  color:var(--se-ui-text)!important;
  border-color:var(--se-ui-border)!important;
}
:is(.edu-ls-manager,.edu-ls-level-menu,.edu-person-popup,.se-ml-chat-menu,.se-smart-select-menu)[data-theme="light"],
.tr68-calculator[data-theme="light"] .tr68-calc-panel{
  color-scheme:light;
  background-color:var(--se-ui-surface)!important;
  color:var(--se-ui-text)!important;
  border-color:var(--se-ui-border)!important;
  box-shadow:0 16px 44px rgba(15,23,42,.14)!important;
}
:is(.edu-ls-manager,.edu-ls-level-menu,.edu-person-popup,.se-ml-chat-menu,.se-smart-select-menu)[data-theme="dark"] :is(input:not([type="color"]),textarea,select),
:is(.edu-ls-manager,.edu-ls-level-menu,.edu-person-popup,.se-ml-chat-menu,.se-smart-select-menu)[data-theme="light"] :is(input:not([type="color"]),textarea,select),
.tr68-calculator[data-theme="dark"] .tr68-calc-panel input,
.tr68-calculator[data-theme="light"] .tr68-calc-panel input{
  background:var(--se-ui-input)!important;
  color:var(--se-ui-text)!important;
  border-color:var(--se-ui-border-strong)!important;
}

/* ---------- Learning board heading and close button ---------- */
#se-gradebook-modal[data-theme="dark"],
#app[data-theme="dark"] #se-gradebook-modal,
html[data-theme="dark"] #se-gradebook-modal{
  --gb-bg:#07151f;
  --gb-panel:#0c222e;
  --gb-panel-2:#102c39;
  --gb-line:rgba(147,225,212,.18);
  --gb-text:#f8fafc;
  --gb-muted:#a8bfbc;
}
#se-gradebook-modal[data-theme="light"],
#app[data-theme="light"] #se-gradebook-modal,
html[data-theme="light"] #se-gradebook-modal{
  --gb-bg:#f4f8fa;
  --gb-panel:#ffffff;
  --gb-panel-2:#f4f8fa;
  --gb-line:#d4e2e3;
  --gb-text:#0f172a;
  --gb-muted:#5f7180;
  background:radial-gradient(circle at 12% 10%,rgba(13,148,136,.08),transparent 34%),rgba(226,232,240,.78)!important;
}
#app[data-theme="dark"] #se-gradebook-title,
html[data-theme="dark"] #se-gradebook-title,
#se-gradebook-modal[data-theme="dark"] #se-gradebook-title{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  opacity:1!important;
  text-shadow:none!important;
}
#app[data-theme="light"] #se-gradebook-title,
html[data-theme="light"] #se-gradebook-title,
#se-gradebook-modal[data-theme="light"] #se-gradebook-title{
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  opacity:1!important;
  text-shadow:none!important;
}
#se-gradebook-modal .se-gradebook-head{
  position:relative!important;
  grid-template-columns:minmax(0,1fr) 46px!important;
  grid-template-areas:"title close"!important;
  gap:clamp(10px,1.5vw,18px)!important;
  padding-top:clamp(12px,2vw,18px)!important;
  padding-bottom:clamp(12px,2vw,18px)!important;
  padding-left:max(16px,env(safe-area-inset-left))!important;
  padding-right:max(16px,env(safe-area-inset-right))!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
#se-gradebook-modal #se-gradebook-close{
  grid-area:close!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  justify-self:center!important;
  align-self:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  margin:0!important;
  padding:0!important;
  border-radius:12px!important;
  box-shadow:none!important;
  z-index:3!important;
}
#se-gradebook-modal #se-gradebook-close i{pointer-events:none}

/* ---------- Login fields ---------- */
#v-login .card{width:min(420px,calc(100vw - 24px))!important}
#v-login .se-login-stack{display:grid;gap:11px;width:100%}
#v-login .se-login-field{
  width:100%;min-width:0;min-height:52px;
  display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;
  overflow:hidden;border:1px solid var(--se-ui-border-strong);border-radius:15px;
  background:var(--se-ui-input);color:var(--se-ui-muted);
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease;
}
#v-login .se-login-field:focus-within{
  border-color:rgba(45,212,191,.62);
  box-shadow:0 0 0 3px rgba(45,212,191,.10);
}
#v-login .se-login-field>i{
  width:42px;height:100%;display:grid;place-items:center;
  color:var(--primary);border-inline-end:1px solid var(--se-ui-border);
  font-size:.86rem;
}
#v-login .se-login-field .inp{
  width:100%!important;height:50px!important;min-height:50px!important;
  margin:0!important;padding:0 14px!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;outline:0!important;
  color:var(--se-ui-text)!important;text-align:center!important;font-size:16px!important;
}
#v-login .se-login-field .inp:focus{border:0!important;box-shadow:none!important;background:transparent!important}
#v-login .se-login-submit{min-height:50px!important;margin-top:2px!important;border-radius:15px!important;font-size:.94rem!important}
#v-login .se-login-back{min-height:44px!important;border-radius:13px!important;justify-content:center!important}
#app[data-lang="ar"] #v-login .se-login-field{direction:rtl;grid-template-columns:42px minmax(0,1fr)}
#app[data-lang="ar"] #v-login .se-login-field>i{border-inline-end:1px solid var(--se-ui-border);border-inline-start:0}

/* ---------- Chat composer: one border only ---------- */
#app .ft-row{min-width:0;align-items:center}
#app .inp-wrap{
  min-width:0!important;
  border-width:1px!important;
  border-style:solid!important;
  border-color:var(--se-ui-border-strong)!important;
  background:var(--se-ui-input)!important;
  border-radius:14px!important;
  padding:5px 10px!important;
  box-shadow:none!important;
}
#app .inp-wrap:focus-within{
  border-color:rgba(45,212,191,.62)!important;
  box-shadow:0 0 0 2px rgba(45,212,191,.08)!important;
}
#app #txt-inp,
#app #txt-inp:hover,
#app #txt-inp:focus,
#app #txt-inp:focus-visible{
  min-width:0!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  padding:4px 2px!important;
}

/* ---------- Refresh control ---------- */
#app .se-refresh-btn{
  width:34px;height:34px;min-width:34px;flex:0 0 34px;
  display:inline-grid;place-items:center;margin-inline-start:7px;padding:0;
  border:1px solid rgba(45,212,191,.30);border-radius:11px;
  background:rgba(45,212,191,.08);color:var(--primary);
  cursor:pointer;line-height:1;box-shadow:none;
}
#app .se-refresh-btn:hover,#app .se-refresh-btn:focus-visible{
  background:rgba(45,212,191,.15);border-color:rgba(45,212,191,.55);color:#5eead4;
  transform:none!important;
}
#app .se-refresh-btn:active{transform:scale(.94)!important}
#app .se-refresh-btn i{font-size:.78rem;line-height:1;pointer-events:none}
#app .se-refresh-btn.is-refreshing i,#app .se-refresh-btn[aria-busy="true"] i{animation:seRefineSpin .75s linear infinite}
@keyframes seRefineSpin{to{transform:rotate(360deg)}}

/* ---------- Admin tabs: icon for each section and responsive geometry ---------- */
#app .se-admin-tabs{
  width:100%;min-width:0;display:flex!important;align-items:stretch!important;
  gap:7px!important;padding:7px!important;overflow-x:auto!important;overflow-y:hidden!important;
  scroll-snap-type:x proximity;overscroll-behavior-inline:contain;scrollbar-gutter:stable;
}
#app .se-admin-tabs button{
  flex:0 0 auto;min-width:max-content;min-height:42px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  padding:8px 12px!important;white-space:nowrap!important;text-align:center!important;
  scroll-snap-align:start;line-height:1.2!important;
}
#app .se-admin-tabs button>i{width:16px;flex:0 0 16px;color:currentColor;font-size:.78rem;text-align:center}
#app .se-admin-tabs button>span:not(.se-notif-badge){min-width:0}
#app .se-admin-tabs .se-notif-badge{position:static!important;flex:0 0 auto;margin-inline-start:1px}

/* Common modal close buttons remain inside their frame on all safe areas. */
#app .modal>.m-box{position:relative!important}
#app .modal .m-close{
  inset-block-start:max(10px,env(safe-area-inset-top))!important;
  inset-inline-end:max(10px,env(safe-area-inset-right))!important;
  margin:0!important;transform:none!important;box-shadow:none!important;
}

/* ---------- Responsive behaviour ---------- */
@media (min-width:981px) and (max-width:1180px){
  #app .se-admin-tabs button{min-height:44px!important;padding-inline:11px!important}
}
@media (min-width:761px) and (max-width:980px){
  #app .se-admin-tabs{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    overflow:visible!important;gap:7px!important;padding:7px!important;
  }
  #app .se-admin-tabs button{
    width:100%!important;min-width:0!important;min-height:44px!important;
    padding:7px 9px!important;white-space:normal!important;overflow-wrap:anywhere!important;
  }
  #app .se-admin-tabs button>span:not(.se-notif-badge){font-size:.68rem;line-height:1.25}
}
@media (max-width:760px){
  #app .se-admin-tabs{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    overflow:visible!important;gap:6px!important;padding:6px!important;
  }
  #app .se-admin-tabs button{
    width:100%!important;min-width:0!important;min-height:46px!important;
    padding:7px 8px!important;white-space:normal!important;overflow-wrap:anywhere!important;
  }
  #app .se-admin-tabs button>span:not(.se-notif-badge){font-size:.68rem;line-height:1.25}
  #app .se-refresh-btn{width:38px;height:38px;min-width:38px;flex-basis:38px;border-radius:12px;margin-inline-start:5px}
  #app .ft-row{gap:6px!important}
  #app .inp-wrap{min-height:44px!important;border-radius:13px!important;padding:4px 8px!important}
  #v-login .card{width:min(410px,calc(100vw - 18px))!important;padding-inline:clamp(16px,5vw,24px)!important}
  #se-gradebook-modal .se-gradebook-head{
    grid-template-columns:minmax(0,1fr) 44px!important;
    padding-left:max(12px,env(safe-area-inset-left))!important;
    padding-right:max(12px,env(safe-area-inset-right))!important;
    gap:8px!important;
  }
  #se-gradebook-modal #se-gradebook-close{width:40px!important;height:40px!important;min-width:40px!important;border-radius:11px!important}
}
@media (max-width:390px){
  #app .se-admin-tabs{grid-template-columns:1fr 1fr!important;gap:5px!important;padding:5px!important}
  #app .se-admin-tabs button{min-height:44px!important;padding:6px!important;gap:6px!important}
  #app .se-admin-tabs button>i{width:14px;flex-basis:14px;font-size:.7rem}
  #app .se-admin-tabs button>span:not(.se-notif-badge){font-size:.62rem}
  #app .se-refresh-btn{width:36px;height:36px;min-width:36px;flex-basis:36px}
  #v-login .se-login-field{grid-template-columns:38px minmax(0,1fr);min-height:50px;border-radius:13px}
  #v-login .se-login-field>i{width:38px}
  #v-login .se-login-field .inp{height:48px!important;min-height:48px!important;padding-inline:10px!important}
  #se-gradebook-modal .se-gradebook-head{grid-template-columns:minmax(0,1fr) 40px!important;padding-left:max(9px,env(safe-area-inset-left))!important;padding-right:max(9px,env(safe-area-inset-right))!important}
  #se-gradebook-modal #se-gradebook-close{width:38px!important;height:38px!important;min-width:38px!important}
}
@media (max-width:320px){
  #app .se-admin-tabs{grid-template-columns:1fr!important}
  #app .se-admin-tabs button{min-height:42px!important}
}
@media (max-height:560px) and (orientation:landscape){
  #v-login .card{padding-block:14px!important}
  #v-login .se-login-stack{gap:7px}
  #v-login .se-login-field{min-height:44px}
  #v-login .se-login-field .inp{height:42px!important;min-height:42px!important}
  #v-login .se-login-submit{min-height:44px!important}
  #app .se-admin-tabs button{min-height:38px!important;padding-block:6px!important}
}

@media (prefers-reduced-motion:reduce){
  #app .se-refresh-btn i{animation-duration:0s!important}
}


/* ========================================================================== */
/* SININBE EDU 4.0.18 — compact navigation, single-shell searches, branded UI */
/* ========================================================================== */

/* Lesson-library search control uses one visual shell only. */
#app .edu-ls-search{
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid var(--se-ui-border-strong)!important;
  border-radius:12px!important;
  background:var(--se-ui-input)!important;
  box-shadow:none!important;
  isolation:isolate;
}
#app .edu-ls-search:focus-within{
  border-color:rgba(45,212,191,.62)!important;
  box-shadow:0 0 0 2px rgba(45,212,191,.08)!important;
}
#app .edu-ls-search input,
#app[data-theme="dark"] .edu-ls-search input,
#app[data-theme="light"] .edu-ls-search input,
html[data-theme="dark"] #app .edu-ls-search input,
html[data-theme="light"] #app .edu-ls-search input{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  border:0!important;
  border-color:transparent!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  color:var(--se-ui-text)!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
#app .edu-ls-search input:focus,
#app .edu-ls-search input:focus-visible{
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#app .edu-ls-search i{
  flex:0 0 auto;
  color:var(--se-ui-muted)!important;
}

/* The refresh icon remains compact and does not consume header space. */
#app #btn-rf.se-refresh-btn{
  position:relative!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  flex:0 0 28px!important;
  margin-inline-start:4px!important;
  padding:0!important;
  border:1px solid rgba(45,212,191,.28)!important;
  border-radius:999px!important;
  background:rgba(45,212,191,.07)!important;
  color:var(--primary)!important;
  box-shadow:none!important;
  line-height:1!important;
}
#app #btn-rf.se-refresh-btn::before{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:999px;
}
#app #btn-rf.se-refresh-btn:hover,
#app #btn-rf.se-refresh-btn:focus-visible{
  border-color:rgba(45,212,191,.52)!important;
  background:rgba(45,212,191,.13)!important;
  color:#5eead4!important;
}
#app #btn-rf.se-refresh-btn i{
  font-size:.7rem!important;
  transform:none!important;
  transition:none!important;
}
#app #btn-rf.se-refresh-btn.is-refreshing i,
#app #btn-rf.se-refresh-btn[aria-busy="true"] i{
  transform:none!important;
  transition:none!important;
  animation:seRefineSpin .72s linear infinite!important;
}

/* Mobile/tablet admin navigation is a single compact swipeable strip. */
@media (max-width:980px){
  #app .se-admin-modal .se-admin-tabs,
  #app .se-admin-tabs{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:6px!important;
    padding:5px!important;
    margin-bottom:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-inline:contain!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(45,212,191,.28) transparent!important;
    -webkit-overflow-scrolling:touch!important;
    mask-image:linear-gradient(to right,transparent 0,#000 10px,#000 calc(100% - 10px),transparent 100%);
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 10px,#000 calc(100% - 10px),transparent 100%);
  }
  #app .se-admin-tabs::-webkit-scrollbar{height:3px!important}
  #app .se-admin-tabs::-webkit-scrollbar-track{background:transparent!important}
  #app .se-admin-tabs::-webkit-scrollbar-thumb{background:rgba(45,212,191,.26)!important;border-radius:999px!important}
  #app .se-admin-tabs button{
    width:auto!important;
    min-width:max-content!important;
    min-height:38px!important;
    flex:0 0 auto!important;
    padding:7px 10px!important;
    gap:6px!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    scroll-snap-align:center!important;
    border-radius:11px!important;
  }
  #app .se-admin-tabs button>i{
    width:14px!important;
    flex-basis:14px!important;
    font-size:.68rem!important;
  }
  #app .se-admin-tabs button>span:not(.se-notif-badge){
    font-size:.63rem!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
}
@media (max-width:390px){
  #app .se-admin-tabs button{
    min-height:36px!important;
    padding:6px 8px!important;
  }
  #app .se-admin-tabs button>span:not(.se-notif-badge){font-size:.6rem!important}
  #app #btn-rf.se-refresh-btn{
    width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;flex-basis:30px!important;
  }
}

/* Branded asynchronous confirmation: avoids the browser's “domain says” title. */
.se-branded-confirm{
  position:fixed;
  inset:0;
  z-index:2147483647;
  display:grid;
  pointer-events:auto;
  isolation:isolate;
  place-items:center;
  padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
  background:rgba(2,6,23,.68);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  font-family:"Space Grotesk","Tajawal",sans-serif;
}
.se-branded-confirm[dir="rtl"]{font-family:"Tajawal","Space Grotesk",sans-serif}
.se-branded-confirm__card{
  width:min(470px,100%);
  max-height:min(82dvh,620px);
  overflow:auto;
  padding:18px;
  border:1px solid var(--se-ui-border-strong);
  border-radius:20px;
  background:var(--se-ui-surface);
  color:var(--se-ui-text);
  box-shadow:0 24px 80px rgba(0,0,0,.42);
}
.se-branded-confirm[data-theme="light"]{background:rgba(15,23,42,.34)}
.se-branded-confirm[data-theme="light"] .se-branded-confirm__card{box-shadow:0 24px 70px rgba(15,23,42,.22)}
.se-branded-confirm__head{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.se-branded-confirm__icon{
  width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;
  border:1px solid rgba(251,113,133,.28);border-radius:13px;
  background:rgba(251,113,133,.09);color:#fb7185;
}
.se-branded-confirm__title{min-width:0;margin:0;color:var(--se-ui-text);font-size:1rem;font-weight:900;overflow-wrap:anywhere}
.se-branded-confirm__message{margin:0;color:var(--se-ui-text-2);font-size:.82rem;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.se-branded-confirm__actions{display:flex;justify-content:flex-end;gap:9px;margin-top:17px;flex-wrap:wrap}
.se-branded-confirm__button{
  min-width:104px;min-height:42px;padding:0 16px;border-radius:12px;
  border:1px solid var(--se-ui-border-strong);background:var(--se-ui-surface-2);
  color:var(--se-ui-text);font:800 .78rem "Space Grotesk","Tajawal",sans-serif;cursor:pointer;
}
.se-branded-confirm[dir="rtl"] .se-branded-confirm__button{font-family:"Tajawal","Space Grotesk",sans-serif}
.se-branded-confirm__button:hover,.se-branded-confirm__button:focus-visible{border-color:rgba(45,212,191,.5);outline:0}
.se-branded-confirm__button--danger{border-color:rgba(251,113,133,.42);background:#be123c;color:#fff}
.se-branded-confirm__button--danger:hover,.se-branded-confirm__button--danger:focus-visible{border-color:#fb7185;background:#9f1239}
@media (max-width:520px){
  .se-branded-confirm{align-items:end;padding:10px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
  .se-branded-confirm__card{width:100%;padding:16px;border-radius:19px}
  .se-branded-confirm__actions{display:grid;grid-template-columns:1fr 1fr}
  .se-branded-confirm__button{width:100%;min-width:0}
}

/* ID-level override prevents generic modal input skins from repainting the inner search field. */
#app .edu-ls-search input#edu-ls-search,
#app[data-theme="dark"] .edu-ls-search input#edu-ls-search,
#app[data-theme="light"] .edu-ls-search input#edu-ls-search{
  border:0!important;
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
}
#app .edu-ls-search input[type="search"]::-webkit-search-cancel-button{
  opacity:.55;
  cursor:pointer;
}

html.se-confirm-open,html.se-confirm-open body{overflow:hidden!important;overscroll-behavior:none!important}


/* 4.0.34 — WhatsApp contact and non-destructive subject catalogue management. */
.se-contact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.se-contact-head>div{min-width:0}.se-contact-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 13px;border:1px solid rgba(37,211,102,.38);border-radius:999px;background:rgba(37,211,102,.12);color:#22a84f!important;font-size:.68rem;font-weight:950;text-decoration:none;white-space:nowrap;transition:transform .15s,background .15s,border-color .15s}.se-contact-whatsapp:hover{transform:translateY(-1px);background:rgba(37,211,102,.18);border-color:rgba(37,211,102,.58)}.se-contact-whatsapp[hidden]{display:none!important}.se-contact-whatsapp i{font-size:1rem}
#app[data-theme="dark"] .se-contact-whatsapp{color:#79f09e!important;background:rgba(37,211,102,.13)}#app[data-theme="light"] .se-contact-whatsapp{color:#087b35!important;background:#effdf3;border-color:#86efac}
.se-whatsapp-icon{color:#22c55e!important;border-color:rgba(34,197,94,.28)!important;background:rgba(34,197,94,.10)!important}.se-custom-contact-card .se-custom-input{direction:ltr;text-align:left}
.se-custom-subjects-card{grid-column:1/-1}.se-subject-manager-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}.se-subject-manager-add .btn{min-height:46px!important;border-radius:13px!important}.se-subject-manager-block{margin-top:14px}.se-subject-manager-block>strong{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:.66rem;font-weight:950}.se-subject-manager-list{display:flex;flex-wrap:wrap;gap:7px;min-height:38px;padding:9px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.02)}.se-subject-manager-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:6px 7px 6px 11px;border:1px solid rgba(34,211,178,.25);border-radius:999px;background:rgba(34,211,178,.08);color:var(--text-primary)}.se-subject-manager-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.61rem;font-weight:900}.se-subject-manager-chip button{display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:50%;background:rgba(239,68,68,.11);color:var(--danger-text);cursor:pointer}.se-subject-manager-chip.is-disabled{opacity:.82;border-color:rgba(148,163,184,.25);background:rgba(148,163,184,.08)}.se-subject-manager-chip.is-disabled button{background:rgba(34,211,178,.12);color:var(--primary)}.se-subject-manager-empty{color:var(--text-muted);font-size:.65rem}.se-subject-grid label[data-retired="1"]{opacity:.68;border-style:dashed!important}
#app[data-theme="light"] .se-subject-manager-list{background:#f8fafc;border-color:#dbe3ee}#app[data-theme="light"] .se-subject-manager-chip{color:#0f172a;background:#ecfdf8;border-color:#99f6e4}
@media(max-width:620px){.se-contact-head{align-items:stretch;flex-direction:column}.se-contact-whatsapp{width:100%}.se-subject-manager-add{grid-template-columns:1fr}.se-subject-manager-add .btn{width:100%}}

/* 4.0.39 — contact header geometry without changing unrelated controls. */
#app .se-contact-modal .se-contact-head{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:10px 12px!important;
  min-height:0!important;
  padding-inline-end:58px!important;
  box-sizing:border-box!important;
}
#app .se-contact-modal .se-contact-head>div{
  flex:1 1 260px!important;
  min-width:0!important;
  max-width:100%!important;
  padding:0!important;
}
#app .se-contact-modal .se-contact-whatsapp{
  flex:0 1 auto!important;
  align-self:flex-start!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  white-space:normal!important;
  line-height:1.35!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
  box-sizing:border-box!important;
}
#app .se-contact-modal #admin-contact-whatsapp-lbl{min-width:0!important;overflow-wrap:anywhere!important}

/* Keep Font Awesome glyphs centred inside their own controls. This does not resize buttons. */
#app :is(button,.btn,a[role="button"],a.se-contact-whatsapp) > :is(i.fas,i.far,i.fab,i.fa-solid,i.fa-regular,i.fa-brands){
  position:static!important;
  inset:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  flex:0 0 auto!important;
  margin-block:0!important;
  line-height:1!important;
  vertical-align:middle!important;
  text-align:center!important;
  transform:none;
}
#app :is(.m-close,.se-attach-btn,.se-refresh-btn,.se-audit-clear,.se-icon-btn) > :is(i.fas,i.far,i.fab,i.fa-solid,i.fa-regular,i.fa-brands){margin:0!important}

@media(max-width:620px){
  #app .se-contact-modal .se-contact-head{gap:9px!important;padding-inline-end:50px!important}
  #app .se-contact-modal .se-contact-head>div{flex-basis:100%!important}
  #app .se-contact-modal .se-contact-whatsapp{flex-basis:100%!important;width:100%!important}
}


/* 4.0.39.15 — stable WhatsApp control geometry on phones. */
#app .se-contact-modal .se-contact-whatsapp{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;min-height:42px!important;border-radius:13px!important;padding:9px 13px!important}
#app .se-contact-modal #admin-contact-whatsapp-lbl{display:block!important;min-width:0!important;max-width:min(64vw,260px)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
@media(max-width:620px){#app .se-contact-modal .se-contact-head{align-items:flex-start!important}#app .se-contact-modal .se-contact-whatsapp{flex:0 1 auto!important;flex-basis:auto!important;width:auto!important;max-width:100%!important;align-self:flex-start!important;justify-content:flex-start!important}#app .se-contact-modal #admin-contact-whatsapp-lbl{max-width:calc(100vw - 120px)!important}}


/* ========================================================================== */
/* SININBE EDU 4.0.39.19.9 — modern action system and users-pane recovery.     */
/*                                                                            */
/* The audience fields belong to Users, but their layout used to live inside  */
/* the removed analytics stylesheet. They are deliberately restored here, in  */
/* the final shared UI layer, so removing analytics cannot unstyle them again. */
/* Reader, whiteboard, media and canvas controls keep their specialised sizes. */
/* ========================================================================== */

#app{
  --se-action-radius:12px;
  --se-action-height:42px;
  --se-action-primary:#0f766e;
  --se-action-primary-hover:#115e59;
  --se-action-primary-active:#134e4a;
  --se-action-primary-border:#0f766e;
  --se-action-focus:rgba(20,184,166,.24);
  --se-action-danger:#be123c;
  --se-action-danger-hover:#9f1239;
}
#app[data-theme="light"]{
  --se-action-surface:#ffffff;
  --se-action-surface-hover:#f1f5f9;
  --se-action-panel:#f8fafc;
  --se-action-border:#cbd5e1;
  --se-action-border-hover:#94a3b8;
  --se-action-text:#27364a;
  --se-action-muted:#64748b;
  --se-action-shadow:0 1px 2px rgba(15,23,42,.08),0 5px 14px rgba(15,23,42,.045);
  --se-action-shadow-hover:0 2px 4px rgba(15,23,42,.10),0 8px 20px rgba(15,23,42,.07);
  --se-action-primary-shadow:0 5px 14px rgba(15,118,110,.20);
}
#app[data-theme="dark"]{
  --se-action-surface:#0b172d;
  --se-action-surface-hover:#12243c;
  --se-action-panel:rgba(255,255,255,.025);
  --se-action-border:rgba(148,163,184,.28);
  --se-action-border-hover:rgba(148,163,184,.48);
  --se-action-text:#e7eef7;
  --se-action-muted:#9ab0c4;
  --se-action-shadow:0 1px 2px rgba(0,0,0,.26),0 7px 18px rgba(0,0,0,.12);
  --se-action-shadow-hover:0 2px 5px rgba(0,0,0,.30),0 10px 24px rgba(0,0,0,.18);
  --se-action-primary-shadow:0 6px 18px rgba(13,148,136,.23);
}

/* Standard text actions: clear rectangular geometry, readable hierarchy and
   one coherent interaction language in both themes. */
#app .btn{
  position:relative;
  min-width:0;
  min-height:var(--se-action-height)!important;
  max-width:100%;
  padding:0 15px!important;
  border:1px solid var(--se-action-border)!important;
  border-radius:var(--se-action-radius)!important;
  background:var(--se-action-surface)!important;
  color:var(--se-action-text)!important;
  box-shadow:var(--se-action-shadow)!important;
  font-weight:850!important;
  line-height:1.25!important;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  isolation:isolate;
}
#app .btn>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
#app .btn.btn-ac,
#app .btn.primary,
#app .btn.btn-primary,
#app .se-primary-action,
#app .serd-btn-primary,
#app .se-student-report-btn.primary,
#app .tr68-btn.primary,
#app .tr419-action.primary,
#app .se-gradebook-primary{
  border-color:var(--se-action-primary-border)!important;
  background:linear-gradient(135deg,var(--se-action-primary),#0d9488)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  box-shadow:var(--se-action-primary-shadow)!important;
}
#app .btn.btn-ghost,
#app .serd-btn-secondary,
#app .tr68-btn.secondary,
#app .tr419-action.secondary,
#app .se-gradebook-secondary,
#app .se-gradebook-filter-reset{
  border-color:var(--se-action-border)!important;
  background:var(--se-action-surface)!important;
  color:var(--se-action-text)!important;
  box-shadow:var(--se-action-shadow)!important;
}
#app :is(.btn.danger,.btn.btn-danger,button.danger,.se-logo-remove,.tr70-delete-btn){
  border-color:rgba(244,63,94,.38)!important;
  background:rgba(190,18,60,.09)!important;
  color:#e11d48!important;
  -webkit-text-fill-color:#e11d48!important;
  box-shadow:none!important;
}
#app[data-theme="dark"] :is(.btn.danger,.btn.btn-danger,button.danger,.se-logo-remove,.tr70-delete-btn){
  color:#fda4af!important;
  -webkit-text-fill-color:#fda4af!important;
  background:rgba(190,18,60,.14)!important;
}

/* Existing feature buttons retain their feature-specific dimensions, while
   receiving the same contemporary corners, weight and press behaviour. */
#app :is(
  .se-mini-actions button,
  .se-audit-msg-actions button,
  .sdoc-mini,
  .serd-btn,
  .se-student-report-btn,
  .tr68-btn,
  .tr419-action,
  .tr425-status-action,
  .tr70-delete-btn,
  .se-gradebook-primary,
  .se-gradebook-secondary,
  .se-gradebook-filter-reset,
  .edu-ls-save-btn
){
  border-radius:var(--se-action-radius)!important;
  font-weight:850!important;
  touch-action:manipulation;
}

/* Compact icon actions are visually related without changing reader,
   whiteboard or document-canvas geometry. */
#app :is(
  .m-close,
  .se-refresh-btn,
  .se-field-icon-btn,
  .serd-icon-btn,
  .se-student-report-close,
  .se-gradebook-close,
  .tr419-icon-close,
  .se-audit-clear,
  .se-member-search-button
){
  border-radius:11px!important;
  box-shadow:var(--se-action-shadow)!important;
}

#app :is(.btn,.se-mini-actions button,.se-audit-msg-actions button,.serd-btn,.se-student-report-btn,.tr68-btn,.tr419-action,.tr425-status-action,.tr70-delete-btn,.se-gradebook-primary,.se-gradebook-secondary,.se-gradebook-filter-reset,.edu-ls-save-btn):focus-visible,
#app :is(.m-close,.se-refresh-btn,.se-field-icon-btn,.serd-icon-btn,.se-student-report-close,.se-gradebook-close,.tr419-icon-close,.se-audit-clear,.se-member-search-button):focus-visible{
  outline:0!important;
  border-color:#14b8a6!important;
  box-shadow:0 0 0 3px var(--se-action-focus),var(--se-action-shadow)!important;
}
#app :is(.btn,.se-mini-actions button,.se-audit-msg-actions button,.serd-btn,.se-student-report-btn,.tr68-btn,.tr419-action,.tr425-status-action,.tr70-delete-btn,.se-gradebook-primary,.se-gradebook-secondary,.se-gradebook-filter-reset,.edu-ls-save-btn):active{
  transform:translateY(0) scale(.985)!important;
  box-shadow:0 1px 2px rgba(0,0,0,.12)!important;
}
#app :is(button,.btn):disabled,
#app :is(button,.btn)[aria-disabled="true"]{
  cursor:not-allowed!important;
  transform:none!important;
  box-shadow:none!important;
}
@media(hover:hover) and (pointer:fine){
  #app .btn:not(:disabled):hover{
    border-color:var(--se-action-border-hover)!important;
    background:var(--se-action-surface-hover)!important;
    color:var(--se-action-text)!important;
    box-shadow:var(--se-action-shadow-hover)!important;
    transform:translateY(-1px)!important;
  }
  #app :is(.btn.btn-ac,.btn.primary,.btn.btn-primary,.se-primary-action,.serd-btn-primary,.se-student-report-btn.primary,.tr68-btn.primary,.tr419-action.primary,.se-gradebook-primary):not(:disabled):hover{
    border-color:var(--se-action-primary-hover)!important;
    background:linear-gradient(135deg,var(--se-action-primary-hover),var(--se-action-primary))!important;
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    box-shadow:0 8px 22px rgba(15,118,110,.27)!important;
  }
  #app :is(.btn.danger,.btn.btn-danger,button.danger,.se-logo-remove,.tr70-delete-btn):not(:disabled):hover{
    border-color:rgba(225,29,72,.58)!important;
    background:rgba(190,18,60,.16)!important;
    color:#be123c!important;
    -webkit-text-fill-color:#be123c!important;
  }
  #app[data-theme="dark"] :is(.btn.danger,.btn.btn-danger,button.danger,.se-logo-remove,.tr70-delete-btn):not(:disabled):hover{
    color:#fecdd3!important;
    -webkit-text-fill-color:#fecdd3!important;
  }
}

/* The tabs are navigation controls, not pills. Keep them calm and compact. */
#app .se-admin-tabs{
  border:1px solid var(--se-action-border)!important;
  border-radius:15px!important;
  background:var(--se-action-panel)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
#app .se-admin-tabs button{
  border-radius:10px!important;
  box-shadow:none!important;
}
#app .se-admin-tabs button.active{
  border-color:rgba(20,184,166,.38)!important;
  background:rgba(20,184,166,.12)!important;
  color:var(--primary)!important;
  box-shadow:0 1px 3px rgba(15,23,42,.08)!important;
}
#app[data-theme="light"] .se-admin-tabs button.active{color:#0f766e!important}

/* Users pane: a real scroll owner, fluid controls and no page-level overflow. */
#app #admin-pane-users.active{
  min-width:0!important;
  max-width:100%!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
  padding:2px 3px max(18px,env(safe-area-inset-bottom))!important;
  box-sizing:border-box!important;
}
#app #admin-pane-users .se-users-toolbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:stretch!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0 0 12px!important;
}
#app #admin-pane-users .se-search-row{
  min-width:0!important;
  min-height:46px!important;
  margin:0!important;
  border:1px solid var(--se-action-border)!important;
  border-radius:13px!important;
  background:var(--se-action-surface)!important;
  box-shadow:0 1px 2px rgba(15,23,42,.04)!important;
}
#app #admin-pane-users .se-search-row:focus-within{
  border-color:#14b8a6!important;
  box-shadow:0 0 0 3px var(--se-action-focus)!important;
}
#app #admin-pane-users .se-search-row input{
  min-width:0!important;
  width:100%!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#app #admin-pane-users .se-export-xlsx-btn{
  width:auto!important;
  min-width:158px!important;
  min-height:46px!important;
  justify-content:center!important;
  border-radius:12px!important;
  padding-inline:15px!important;
}
#app #admin-pane-users .se-export-xlsx-btn small{
  flex:0 0 auto;
  min-height:20px;
  border-radius:7px!important;
}

#app #admin-pane-users .se-admin-form{
  display:grid!important;
  grid-template-columns:minmax(118px,.82fr) minmax(155px,1.16fr) minmax(138px,1fr) minmax(145px,1.05fr) minmax(118px,.78fr) minmax(132px,.82fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0 0 12px!important;
  padding:12px!important;
  border:1px solid var(--se-action-border)!important;
  border-radius:16px!important;
  background:var(--se-action-panel)!important;
  box-sizing:border-box!important;
}
#app #admin-pane-users .se-admin-form :is(input,select,button){
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:46px!important;
  margin:0!important;
  box-sizing:border-box!important;
}
#app #admin-pane-users .se-admin-form :is(input,select){
  border:1px solid var(--se-action-border)!important;
  border-radius:11px!important;
  background:var(--se-action-surface)!important;
  color:var(--se-action-text)!important;
  padding-inline:12px!important;
  box-shadow:0 1px 2px rgba(15,23,42,.035)!important;
}
#app #admin-pane-users .se-admin-form :is(input,select):focus-visible{
  border-color:#14b8a6!important;
  box-shadow:0 0 0 3px var(--se-action-focus)!important;
}
#app #admin-pane-users #ap-user-save{
  border-radius:12px!important;
  font-size:.78rem!important;
}

/* Restored and upgraded optional audience fields. */
#app #admin-pane-users .se-user-targeting-card{
  min-width:0!important;
  max-width:100%!important;
  margin:0 0 12px!important;
  border:1px solid var(--se-action-border)!important;
  border-radius:16px!important;
  background:var(--se-action-panel)!important;
  overflow:clip!important;
  box-sizing:border-box!important;
}
#app #admin-pane-users .se-user-targeting-card>summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-width:0!important;
  min-height:64px!important;
  padding:11px 14px!important;
  color:var(--se-action-text)!important;
  cursor:pointer;
  list-style:none!important;
  box-sizing:border-box!important;
  user-select:none;
}
#app #admin-pane-users .se-user-targeting-card>summary::-webkit-details-marker{display:none!important}
#app #admin-pane-users .se-user-targeting-card>summary::marker{content:""}
#app #admin-pane-users .se-user-targeting-card>summary:hover{background:rgba(20,184,166,.055)}
#app #admin-pane-users .se-user-targeting-card>summary:focus-visible{
  outline:0!important;
  box-shadow:inset 0 0 0 3px var(--se-action-focus)!important;
}
#app #admin-pane-users .se-user-targeting-card[open]>summary{
  border-bottom:1px solid var(--se-action-border)!important;
}
#app #admin-pane-users .se-user-targeting-card>summary>span{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
#app #admin-pane-users .se-user-targeting-card>summary>span>i{
  display:inline-grid!important;
  place-items:center!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  border:1px solid rgba(20,184,166,.28)!important;
  border-radius:11px!important;
  background:rgba(20,184,166,.10)!important;
  color:#14b8a6!important;
}
#app #admin-pane-users .se-user-targeting-card>summary>span>span{
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
}
#app #admin-pane-users .se-user-targeting-card>summary strong{
  display:block!important;
  color:var(--se-action-text)!important;
  font-size:.72rem!important;
  font-weight:950!important;
  line-height:1.45!important;
  overflow-wrap:anywhere!important;
}
#app #admin-pane-users .se-user-targeting-card>summary small{
  display:block!important;
  color:var(--se-action-muted)!important;
  font-size:.58rem!important;
  font-weight:700!important;
  line-height:1.5!important;
  overflow-wrap:anywhere!important;
}
#app #admin-pane-users .se-user-targeting-chevron{
  flex:0 0 auto!important;
  color:var(--se-action-muted)!important;
  transition:transform .18s ease!important;
}
#app #admin-pane-users .se-user-targeting-card[open] .se-user-targeting-chevron{transform:rotate(180deg)!important}
#app #admin-pane-users .se-user-targeting-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:13px 11px!important;
  min-width:0!important;
  max-width:100%!important;
  padding:14px!important;
  box-sizing:border-box!important;
}
#app #admin-pane-users .se-user-targeting-grid label{
  display:grid!important;
  grid-template-rows:auto minmax(44px,auto)!important;
  align-content:start!important;
  gap:7px!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
}
#app #admin-pane-users .se-user-targeting-grid label>span{
  display:block!important;
  min-width:0!important;
  color:var(--se-action-muted)!important;
  font-size:.62rem!important;
  font-weight:900!important;
  line-height:1.45!important;
  overflow-wrap:anywhere!important;
}
#app #admin-pane-users .se-user-targeting-grid :is(input,select){
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:44px!important;
  margin:0!important;
  padding:8px 11px!important;
  border:1px solid var(--se-action-border)!important;
  border-radius:11px!important;
  background:var(--se-action-surface)!important;
  color:var(--se-action-text)!important;
  box-shadow:0 1px 2px rgba(15,23,42,.035)!important;
  font-size:.7rem!important;
  box-sizing:border-box!important;
}
#app #admin-pane-users .se-user-targeting-grid :is(input,select):focus-visible{
  border-color:#14b8a6!important;
  box-shadow:0 0 0 3px var(--se-action-focus)!important;
}
#app #admin-pane-users .se-user-targeting-wide{grid-column:span 2!important}

@media(max-width:1100px){
  #app #admin-pane-users .se-admin-form{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:900px){
  #app #admin-pane-users .se-user-targeting-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  #app .se-admin-modal .se-admin-tabs,
  #app .se-admin-tabs{
    display:flex!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:6px!important;
    mask-image:none!important;
    -webkit-mask-image:none!important;
    scroll-snap-type:x proximity!important;
  }
  #app .se-admin-modal .se-admin-tabs button,
  #app .se-admin-tabs button{
    width:auto!important;
    min-width:max-content!important;
    flex:0 0 auto!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    scroll-snap-align:start;
  }
  #app #admin-pane-users .se-admin-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:10px!important}
  #app #admin-pane-users .se-users-toolbar{grid-template-columns:minmax(0,1fr) auto!important}
  #app #admin-pane-users .se-export-xlsx-btn{min-width:142px!important;padding-inline:12px!important}
}
@media(max-width:560px){
  #app #admin-pane-users.active{padding-inline:0!important;scrollbar-gutter:auto}
  #app #admin-pane-users .se-users-toolbar{grid-template-columns:1fr!important;gap:8px!important}
  #app #admin-pane-users .se-export-xlsx-btn{width:100%!important;min-width:0!important}
  #app #admin-pane-users .se-admin-form{grid-template-columns:1fr!important;gap:9px!important}
  #app #admin-pane-users .se-user-targeting-grid{grid-template-columns:1fr!important;padding:11px!important}
  #app #admin-pane-users .se-user-targeting-wide{grid-column:auto!important}
  #app #admin-pane-users .se-user-targeting-card>summary{min-height:60px!important;padding:10px 11px!important}
  #app #admin-pane-users .se-user-targeting-card>summary small{font-size:.56rem!important}
}
@media(max-width:360px){
  #app{--se-action-radius:11px;--se-action-height:44px}
  #app .btn{padding-inline:11px!important}
  #app #admin-pane-users .se-user-targeting-card>summary>span>i{width:32px!important;height:32px!important;min-width:32px!important;border-radius:10px!important}
  #app #admin-pane-users .se-user-targeting-card>summary{gap:8px!important}
}
@media(max-height:500px) and (orientation:landscape){
  #app #admin-pane-users.active{scrollbar-gutter:auto;padding-bottom:max(14px,env(safe-area-inset-bottom))!important}
}
@media(prefers-reduced-motion:reduce){
  #app :is(.btn,button,.se-user-targeting-chevron){transition:none!important}
}

/* 4.0.39.19.27 — explicit password visibility controls. */
#app .se-password-control{position:relative!important;display:block!important;width:100%!important;min-width:0!important}
#app .se-password-control>input{width:100%!important;padding-inline-end:48px!important;box-sizing:border-box!important}
#app .se-password-toggle{
  display:inline-grid!important;place-items:center!important;width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;
  margin:0!important;padding:0!important;border:1px solid var(--se-ui-border-strong)!important;border-radius:10px!important;
  background:color-mix(in srgb,var(--se-ui-input) 88%,transparent)!important;color:var(--se-ui-muted)!important;cursor:pointer!important;
  line-height:1!important;box-shadow:none!important;touch-action:manipulation!important;z-index:2!important;
}
#app .se-password-control>.se-password-toggle{position:absolute!important;inset-inline-end:4px!important;inset-block-start:50%!important;transform:translateY(-50%)!important}
#app .se-password-toggle:hover,#app .se-password-toggle:focus-visible{color:var(--primary)!important;border-color:rgba(45,212,191,.58)!important;outline:0!important;box-shadow:0 0 0 3px rgba(45,212,191,.10)!important}
#app #v-login .se-login-field{grid-template-columns:42px minmax(0,1fr) 46px!important}
#app #v-login .se-login-field>.se-password-toggle{position:static!important;align-self:center!important;justify-self:center!important;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;border:0!important;background:transparent!important}
#app #v-login .se-login-field .inp{padding-inline:10px!important}
#app #m-stedit .se-password-control{min-width:0!important}
#app #m-stedit .se-password-control .stedit-inp{padding-inline-end:48px!important}
#app #admin-pane-users .se-admin-form .se-password-control>.se-password-toggle{width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important}
@media(max-width:560px){#app #v-login .se-login-field{grid-template-columns:38px minmax(0,1fr) 44px!important}}

/* 4.0.39.19.27 — compact, responsive poll creation and reliable vote targets. */
#app #m-poll.modal.show{display:flex!important;align-items:center!important;justify-content:center!important;overflow-y:auto!important;padding:14px!important}
#app #m-poll.modal.show>.m-box.se-poll-dialog{
  display:block!important;width:min(520px,calc(100vw - 28px))!important;width:min(520px,calc(100dvw - 28px))!important;height:auto!important;min-width:0!important;min-height:0!important;
  max-width:520px!important;max-height:calc(100vh - 28px)!important;max-height:calc(100dvh - 28px)!important;margin:auto!important;padding:22px 20px 18px!important;
  overflow-y:auto!important;overflow-x:hidden!important;border-radius:22px!important;box-sizing:border-box!important;
}
#app #m-poll .se-poll-dialog-head{display:flex!important;align-items:center!important;gap:11px!important;margin:0 48px 17px 0!important;min-width:0!important}
#app[dir="rtl"] #m-poll .se-poll-dialog-head,#app[data-lang="ar"] #m-poll .se-poll-dialog-head{margin:0 0 17px 48px!important}
#app #m-poll .se-poll-dialog-icon{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;min-width:38px!important;border:1px solid rgba(34,211,178,.25)!important;border-radius:12px!important;background:rgba(34,211,178,.10)!important;color:var(--primary)!important}
#app #m-poll #poll-modal-title{min-width:0!important;color:var(--se-ui-text)!important;font-size:.95rem!important;font-weight:950!important;line-height:1.4!important;overflow-wrap:anywhere!important}
#app #m-poll .se-poll-question,#app #m-poll .p-opt-inp{
  display:block!important;width:100%!important;min-width:0!important;min-height:44px!important;margin:0!important;padding:10px 13px!important;
  border:1px solid var(--se-ui-border-strong)!important;border-radius:11px!important;background:var(--se-ui-input)!important;color:var(--se-ui-text)!important;
  font:inherit!important;font-size:.82rem!important;outline:0!important;box-sizing:border-box!important;
}
#app #m-poll .se-poll-question{margin-bottom:10px!important}
#app #m-poll :is(.se-poll-question,.p-opt-inp):focus{border-color:rgba(45,212,191,.62)!important;box-shadow:0 0 0 3px rgba(45,212,191,.10)!important}
#app #m-poll .p-opt-row{display:grid!important;grid-template-columns:minmax(0,1fr) 38px!important;gap:7px!important;align-items:center!important;margin-bottom:7px!important}
#app #m-poll .p-opt-del{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;min-width:38px!important;margin:0!important;padding:0!important;border:1px solid rgba(239,68,68,.24)!important;border-radius:10px!important;background:rgba(239,68,68,.06)!important;color:#ef4444!important}
#app #m-poll .se-poll-add{display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:38px!important;margin:2px 0 9px!important;padding:6px 9px!important;border:0!important;background:transparent!important;color:var(--primary)!important;font:inherit!important;font-size:.74rem!important;font-weight:850!important;cursor:pointer!important}
#app #m-poll .se-poll-submit-state{min-height:18px!important;margin-bottom:5px!important;color:#fb7185!important;font-size:.64rem!important;font-weight:750!important}
#app #m-poll #btn-poll-send{min-height:46px!important;border-radius:12px!important}
#app .poll-card{width:min(100%,320px)!important;max-width:320px!important;box-sizing:border-box!important}
#app .poll-opt{width:100%!important;min-width:0!important;text-align:start!important;font-family:inherit!important;appearance:none!important;-webkit-appearance:none!important}
#app .poll-bar-wrap,#app .poll-bar{display:block!important}
#app .poll-opt:disabled{cursor:wait!important;opacity:.7!important}
#app .poll-card[aria-busy="true"]{filter:saturate(.75)!important}
@media(max-width:480px){
 #app #m-poll.modal.show{padding:8px!important}
 #app #m-poll.modal.show>.m-box.se-poll-dialog{width:calc(100vw - 16px)!important;width:calc(100dvw - 16px)!important;max-width:calc(100vw - 16px)!important;max-width:calc(100dvw - 16px)!important;max-height:calc(100vh - 16px)!important;max-height:calc(100dvh - 16px)!important;padding:18px 14px 14px!important;border-radius:16px!important}
 #app #m-poll .se-poll-dialog-head{margin-bottom:14px!important}
}

/* 4.0.39.19.32 — Contact Admin: WhatsApp and close controls never share space. */
#app .se-contact-modal .m-box{position:relative!important}
#app .se-contact-modal .m-close{top:12px!important;inset-inline-end:12px!important;z-index:80!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;box-sizing:border-box!important}
#app .se-contact-modal .se-contact-head{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,auto)!important;align-items:start!important;justify-content:stretch!important;gap:9px 12px!important;padding-inline-end:52px!important;box-sizing:border-box!important;min-width:0!important}
#app .se-contact-modal .se-contact-head>div{grid-column:auto!important;min-width:0!important;max-width:100%!important}
#app .se-contact-modal .se-contact-whatsapp{position:static!important;inset:auto!important;justify-self:end!important;align-self:start!important;max-width:min(100%,320px)!important;min-width:0!important;box-sizing:border-box!important;z-index:1!important}
#app .se-contact-modal #admin-contact-whatsapp-lbl{max-width:min(240px,36vw)!important}
@media(max-width:700px){
  #app .se-contact-modal .se-contact-head{grid-template-columns:minmax(0,1fr)!important;padding-inline-end:50px!important}
  #app .se-contact-modal .se-contact-whatsapp{justify-self:start!important;align-self:start!important;width:auto!important;max-width:min(100%,310px)!important}
  #app .se-contact-modal #admin-contact-whatsapp-lbl{max-width:calc(100vw - 145px)!important}
}
@media(max-width:380px){
  #app .se-contact-modal .m-close{top:9px!important;inset-inline-end:9px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important}
  #app .se-contact-modal .se-contact-head{padding-inline-end:46px!important;gap:8px!important}
  #app .se-contact-modal .se-contact-whatsapp{max-width:100%!important;padding-inline:10px!important}
  #app .se-contact-modal #admin-contact-whatsapp-lbl{max-width:calc(100vw - 132px)!important}
}


/* 4.0.39.19.51 — keep login credentials logically LTR even in an RTL interface.
   The field shell may remain RTL for icon placement, but credential text must not
   inherit bidi direction from Arabic UI. */
#app #v-login .se-login-field .se-credential-input,
#app #v-login input[autocomplete="username"],
#app #v-login input[autocomplete="current-password"]{
  direction:ltr!important;
  unicode-bidi:isolate!important;
  text-align:center!important;
  writing-mode:horizontal-tb!important;
}
#app[data-lang="ar"] #v-login .se-login-field .se-credential-input{direction:ltr!important;text-align:center!important}


/* 4.0.39.19.72 — admin password field: keep the visibility eye physically
   separate from the editable text on every viewport.  The wrapper owns the
   border/focus ring, so the eye never overlays or hides password characters. */
#app #admin-pane-users .se-admin-form .se-password-control{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  border:1px solid var(--se-action-border)!important;
  border-radius:11px!important;
  background:var(--se-action-surface)!important;
  box-shadow:0 1px 2px rgba(15,23,42,.035)!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
/* Critical account controls must stay genuine hit targets above field content.
   Scope is deliberately limited to the users form so no WordPress/global button
   behavior is changed. */
#app #admin-pane-users #ap-user-phone-country-trigger,
#app #admin-pane-users #ap-user-country-trigger,
#app #admin-pane-users .se-password-toggle[data-password-target="ap-user-pass"]{
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
  position:relative!important;
  z-index:4!important;
}
#app #admin-pane-users :is(#ap-user-phone-country-trigger,#ap-user-country-trigger,.se-password-toggle[data-password-target="ap-user-pass"])>*{
  pointer-events:none!important;
}
#app #admin-pane-users .se-admin-form .se-password-control:focus-within{
  border-color:#14b8a6!important;
  box-shadow:0 0 0 3px var(--se-action-focus)!important;
}
#app #admin-pane-users .se-admin-form .se-password-control>input{
  position:relative!important;
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0 10px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
#app #admin-pane-users .se-admin-form .se-password-control>input:focus,
#app #admin-pane-users .se-admin-form .se-password-control>input:focus-visible{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
#app #admin-pane-users .se-admin-form .se-password-control>.se-password-toggle{
  position:static!important;
  inset:auto!important;
  grid-column:2!important;
  grid-row:1!important;
  transform:none!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:auto!important;
  min-height:44px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-inline-start:1px solid var(--se-action-border)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  z-index:1!important;
}
#app #admin-pane-users .se-admin-form .se-password-control>.se-password-toggle:hover,
#app #admin-pane-users .se-admin-form .se-password-control>.se-password-toggle:focus-visible{
  color:var(--primary)!important;
  background:color-mix(in srgb,var(--primary) 9%,transparent)!important;
  border-inline-start-color:rgba(45,212,191,.42)!important;
  outline:0!important;
  box-shadow:inset 0 0 0 2px rgba(45,212,191,.08)!important;
}
@media(max-width:360px){
  #app #admin-pane-users .se-admin-form .se-password-control{grid-template-columns:minmax(0,1fr) 38px!important}
  #app #admin-pane-users .se-admin-form .se-password-control>.se-password-toggle{width:38px!important;min-width:38px!important;max-width:38px!important}
}

/* 4.0.39.19.74 — users administration: structured responsive account form,
   viewport-safe country picker, readable phone control, and secure password
   assistance for existing platform accounts. */
#app #admin-pane-users .se-user-account-form{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:start!important;
  padding:14px!important;
}
#app #admin-pane-users .se-user-account-form>:is(label,.se-form-field){
  display:grid!important;
  grid-template-rows:auto auto!important;
  align-content:start!important;
  align-self:stretch!important;
  gap:6px!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
}
#app #admin-pane-users .se-user-account-form>:is(label,.se-form-field)>:is(span:first-child,.se-field-label){
  display:flex!important;
  align-items:flex-end!important;
  min-width:0!important;
  min-height:22px!important;
  margin:0!important;
  color:var(--se-action-muted)!important;
  font-size:.62rem!important;
  font-weight:900!important;
  line-height:1.4!important;
  overflow-wrap:anywhere!important;
}
#app #admin-pane-users .se-user-account-form .se-field-hint{
  min-height:17px!important;
  margin:0!important;
  padding-inline:2px!important;
  line-height:1.45!important;
  overflow-wrap:anywhere!important;
}
#app #admin-pane-users .se-user-save-button{
  grid-column:1/-1!important;
  justify-self:end!important;
  align-self:end!important;
  width:min(280px,100%)!important;
  min-height:46px!important;
  border-radius:12px!important;
}
#app #admin-pane-users .se-payment-fields{
  grid-column:1/-1!important;
  min-width:0!important;
}

/* At wide desktop/TV widths the ordinary profile fields form two complete
   visual rows: role deliberately spans the remaining two columns instead of
   being stranded by itself on a third row. */
@media(min-width:1200px){
  #app #admin-pane-users .se-user-account-form>.se-user-role-field{grid-column:span 2!important}
}

/* Phone number: the dial selector remains a real separate hit target and the
   number receives the remaining width instead of competing with a long label. */
#app #admin-pane-users .se-phone-composite.has-country{
  display:grid!important;
  grid-template-columns:minmax(94px,116px) minmax(0,1fr)!important;
  min-width:0!important;
  width:100%!important;
  overflow:hidden!important;
}
#app #admin-pane-users .se-phone-composite.has-country>.se-phone-country-trigger{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  padding-inline:9px!important;
}
#app #admin-pane-users .se-phone-composite.has-country>.se-phone-country-trigger .se-country-trigger-value{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
}
#app #admin-pane-users .se-phone-composite.has-country>#ap-user-phone{
  min-width:0!important;
  width:100%!important;
  direction:ltr!important;
  unicode-bidi:isolate!important;
  text-align:left!important;
  font-variant-numeric:tabular-nums!important;
}
#app[data-lang="ar"] #admin-pane-users #ap-user-phone-hint{
  direction:rtl!important;
  text-align:start!important;
}
#app:not([data-lang="ar"]) #admin-pane-users #ap-user-phone-hint{
  direction:ltr!important;
  text-align:start!important;
}

/* The country chooser becomes a viewport sheet on touch/narrow devices.  It is
   no longer anchored to the bottom under the virtual keyboard, and the search
   does not auto-focus there, leaving the list visible immediately. */
#app #ap-country-picker.se-country-picker{
  z-index:2147483500!important;
  box-sizing:border-box!important;
}
@media(max-width:760px), (pointer:coarse){
  #app #ap-country-picker.se-country-picker.is-mobile{
    position:fixed!important;
    inset:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom)) 8px!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    border-radius:18px!important;
  }
  #app #ap-country-picker.se-country-picker.is-mobile .se-country-picker-list{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
}
@media(max-height:520px){
  #app #ap-country-picker.se-country-picker.is-mobile{
    inset:max(4px,env(safe-area-inset-top)) 5px max(4px,env(safe-area-inset-bottom)) 5px!important;
    padding:6px!important;
    border-radius:13px!important;
  }
  #app #ap-country-picker .se-country-picker-head{padding-bottom:5px!important}
  #app #ap-country-picker .se-country-picker-search{margin-bottom:5px!important}
  #app #ap-country-picker .se-country-picker-search input{height:34px!important;min-height:34px!important}
}

/* Existing-user password cell: the eye opens the secure reset/reveal flow. */
#app #admin-pane-users .se-user-password-cell{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  min-width:0!important;
}
#app #admin-pane-users .se-user-password-cell>code{
  min-width:0!important;
  white-space:nowrap!important;
}
#app #admin-pane-users .se-user-password-assist-btn{
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid color-mix(in srgb,var(--primary) 30%,var(--se-action-border))!important;
  border-radius:10px!important;
  background:color-mix(in srgb,var(--primary) 8%,transparent)!important;
  color:var(--primary)!important;
  cursor:pointer!important;
  box-shadow:none!important;
  touch-action:manipulation!important;
}
#app #admin-pane-users .se-user-password-assist-btn:hover,
#app #admin-pane-users .se-user-password-assist-btn:focus-visible{
  outline:0!important;
  border-color:color-mix(in srgb,var(--primary) 58%,var(--se-action-border))!important;
  background:color-mix(in srgb,var(--primary) 14%,transparent)!important;
  box-shadow:0 0 0 3px var(--se-action-focus)!important;
}
#app #admin-pane-users .se-user-phone-value{
  display:inline-block!important;
  max-width:100%!important;
  direction:ltr!important;
  unicode-bidi:isolate!important;
  font-variant-numeric:tabular-nums!important;
  overflow-wrap:anywhere!important;
}

/* Temporary-password assistant.  Plaintext exists only in this live dialog
   after an authorised reset response; it is cleared from the DOM on close. */
#app .se-password-assist{
  position:fixed!important;
  inset:0!important;
  z-index:2147483550!important;
  display:grid!important;
  place-items:center!important;
  padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;
  background:rgba(2,6,23,.70)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
  box-sizing:border-box!important;
}
#app .se-password-assist[hidden]{display:none!important}
#app .se-password-assist-card{
  width:min(540px,100%)!important;
  max-width:540px!important;
  max-height:min(680px,calc(100dvh - 24px))!important;
  overflow:auto!important;
  padding:18px!important;
  border:1px solid var(--se-action-border)!important;
  border-radius:20px!important;
  background:var(--se-action-panel)!important;
  color:var(--se-action-text)!important;
  box-shadow:0 28px 90px rgba(2,6,23,.55)!important;
  box-sizing:border-box!important;
}
#app[data-lang="ar"] .se-password-assist-card,
#app .se-password-assist[data-lang="ar"] .se-password-assist-card{
  font-family:Tajawal,Amiri,sans-serif!important;
}
#app:not([data-lang="ar"]) .se-password-assist-card,
#app .se-password-assist:not([data-lang="ar"]) .se-password-assist-card{
  font-family:"Space Grotesk",Jost,"Josefin Sans",sans-serif!important;
}
#app .se-password-assist-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:13px!important;
}
#app .se-password-assist-heading{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
#app .se-password-assist-icon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  width:42px!important;
  height:42px!important;
  border:1px solid color-mix(in srgb,var(--primary) 36%,var(--se-action-border))!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--primary) 10%,transparent)!important;
  color:var(--primary)!important;
}
#app .se-password-assist-heading h3{
  margin:0!important;
  color:var(--se-action-text)!important;
  font-size:.9rem!important;
  font-weight:950!important;
  line-height:1.35!important;
}
#app .se-password-assist-heading small{
  display:block!important;
  margin-top:3px!important;
  color:var(--se-action-muted)!important;
  font-size:.62rem!important;
  font-weight:750!important;
  line-height:1.45!important;
  overflow-wrap:anywhere!important;
}
#app .se-password-assist-close{
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  width:36px!important;
  min-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--se-action-border)!important;
  border-radius:11px!important;
  background:var(--se-action-surface)!important;
  color:var(--se-action-muted)!important;
  cursor:pointer!important;
}
#app .se-password-assist-security{
  margin:0 0 14px!important;
  padding:11px 12px!important;
  border:1px solid rgba(245,158,11,.24)!important;
  border-radius:12px!important;
  background:rgba(245,158,11,.07)!important;
  color:var(--se-action-muted)!important;
  font-size:.67rem!important;
  font-weight:750!important;
  line-height:1.7!important;
}
#app .se-password-assist-result{
  display:grid!important;
  gap:7px!important;
  margin:0 0 12px!important;
  padding:12px!important;
  border:1px solid color-mix(in srgb,var(--primary) 28%,var(--se-action-border))!important;
  border-radius:14px!important;
  background:color-mix(in srgb,var(--primary) 5%,transparent)!important;
}
#app .se-password-assist-result[hidden]{display:none!important}
#app .se-password-assist-result>label{
  color:var(--se-action-muted)!important;
  font-size:.61rem!important;
  font-weight:900!important;
}
#app .se-password-assist-control{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px auto!important;
  min-width:0!important;
  min-height:46px!important;
  border:1px solid var(--se-action-border)!important;
  border-radius:12px!important;
  background:var(--se-action-surface)!important;
  overflow:hidden!important;
}
#app .se-password-assist-control>input{
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  margin:0!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  color:var(--se-action-text)!important;
  font-family:"Space Grotesk",Jost,"Josefin Sans",sans-serif!important;
  font-size:.82rem!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-align:left!important;
  box-shadow:none!important;
}
#app .se-password-assist-control>button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-width:42px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0 11px!important;
  border:0!important;
  border-inline-start:1px solid var(--se-action-border)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--se-action-muted)!important;
  font:inherit!important;
  font-size:.65rem!important;
  font-weight:900!important;
  cursor:pointer!important;
}
#app .se-password-assist-control>button:hover,
#app .se-password-assist-control>button:focus-visible{
  outline:0!important;
  color:var(--primary)!important;
  background:color-mix(in srgb,var(--primary) 9%,transparent)!important;
}
#app .se-password-assist-result>small{
  color:var(--se-action-muted)!important;
  font-size:.58rem!important;
  font-weight:750!important;
  line-height:1.55!important;
}
#app .se-password-assist-status{
  min-height:20px!important;
  color:var(--se-action-muted)!important;
  font-size:.61rem!important;
  font-weight:800!important;
  line-height:1.45!important;
}
#app .se-password-assist-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  margin-top:8px!important;
}
#app .se-password-assist-actions>.btn{
  min-height:42px!important;
  border-radius:11px!important;
}

/* Desktop/TV: use fewer, wider columns so labels and controls stay coherent. */
@media(min-width:1600px){
  #app #admin-pane-users .se-user-account-form{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}
@media(max-width:1199px){
  #app #admin-pane-users .se-user-account-form{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:820px){
  #app #admin-pane-users .se-user-account-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:11px!important}
}
@media(max-width:560px){
  #app #admin-pane-users .se-user-account-form{grid-template-columns:1fr!important;gap:10px!important;padding:10px!important}
  #app #admin-pane-users .se-user-save-button{width:100%!important;justify-self:stretch!important}
  #app #admin-pane-users .se-password-assist-card{padding:14px!important;border-radius:16px!important}
  #app .se-password-assist-control{grid-template-columns:minmax(0,1fr) 40px!important}
  #app .se-password-assist-control>#ap-password-assist-copy{grid-column:1/-1!important;border-inline-start:0!important;border-top:1px solid var(--se-action-border)!important;min-height:40px!important}
  #app .se-password-assist-actions{display:grid!important;grid-template-columns:1fr!important}
  #app .se-password-assist-actions>.btn{width:100%!important;justify-content:center!important}
}

/* Phones: convert the users table into readable account cards instead of
   forcing a 680px horizontal table into a narrow viewport. */
@media(max-width:760px){
  #app #admin-pane-users .se-admin-table-wrap{
    max-height:none!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  #app #admin-pane-users .se-admin-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  #app #admin-pane-users .se-admin-table>thead{display:none!important}
  #app #admin-pane-users .se-admin-table>tbody{
    display:grid!important;
    gap:10px!important;
    width:100%!important;
  }
  #app #admin-pane-users .se-admin-table>tbody>tr{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:9px 11px!important;
    border:1px solid var(--se-action-border)!important;
    border-radius:14px!important;
    background:var(--se-action-panel)!important;
    box-sizing:border-box!important;
  }
  #app #admin-pane-users .se-admin-table>tbody>tr>td{
    display:grid!important;
    grid-template-columns:minmax(88px,34%) minmax(0,1fr)!important;
    align-items:center!important;
    gap:9px!important;
    min-width:0!important;
    width:100%!important;
    padding:7px 0!important;
    border-bottom:1px solid var(--se-action-border)!important;
    text-align:start!important;
    box-sizing:border-box!important;
  }
  #app #admin-pane-users .se-admin-table>tbody>tr>td:last-child{border-bottom:0!important}
  #app #admin-pane-users .se-admin-table>tbody>tr>td::before{
    content:attr(data-label)!important;
    min-width:0!important;
    color:var(--se-action-muted)!important;
    font-size:.58rem!important;
    font-weight:900!important;
    line-height:1.4!important;
    overflow-wrap:anywhere!important;
  }
  #app #admin-pane-users .se-admin-table>tbody>tr>td.se-empty-row{
    display:block!important;
    text-align:center!important;
    border:0!important;
  }
  #app #admin-pane-users .se-admin-table>tbody>tr>td.se-empty-row::before{content:none!important}
  #app #admin-pane-users .se-user-password-cell,
  #app #admin-pane-users .se-mini-actions{justify-content:flex-start!important}
}

/* 4.0.39.19.108 — password controls: separate the visibility action from the
   editable text instead of overlaying it. This keeps long passwords readable on
   phones/tablets/desktops and removes the admin edit-form visibility eye. */
#app #v-login .se-login-field.se-login-password-field{
  grid-template-columns:42px minmax(0,1fr)!important;
}
#app #v-login .se-login-password-shell{
  direction:ltr!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 46px!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  min-height:50px!important;
  overflow:hidden!important;
}
/* Arabic mirrors the visibility action to the far left; Latin interfaces keep
   it on the far right. The password text itself remains dir=ltr in markup. */
#app[data-lang="ar"] #v-login .se-login-password-shell{direction:rtl!important}
#app:not([data-lang="ar"]) #v-login .se-login-password-shell{direction:ltr!important}
#app #v-login .se-login-password-shell>.se-credential-input{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  width:100%!important;
  padding-inline:14px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:center!important;
}
#app #v-login .se-login-password-shell>.se-login-password-toggle{
  position:static!important;
  inset:auto!important;
  grid-column:2!important;
  grid-row:1!important;
  place-self:stretch!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:auto!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  border:0!important;
  border-inline-start:1px solid var(--se-ui-border)!important;
  border-radius:0!important;
  background:color-mix(in srgb,var(--se-ui-input) 94%,transparent)!important;
  color:var(--se-ui-muted)!important;
  box-shadow:none!important;
}
#app #v-login .se-login-password-shell>.se-login-password-toggle:hover,
#app #v-login .se-login-password-shell>.se-login-password-toggle:focus-visible{
  background:color-mix(in srgb,var(--primary) 11%,var(--se-ui-input))!important;
  color:var(--primary)!important;
  border-inline-start-color:rgba(45,212,191,.42)!important;
  outline:0!important;
  box-shadow:inset 0 0 0 2px rgba(45,212,191,.08)!important;
}
#app #v-login .se-login-password-shell>.se-login-password-toggle i{
  display:block!important;
  width:1em!important;
  height:1em!important;
  margin:auto!important;
  line-height:1!important;
  transform:none!important;
}

#app #v-register .se-reg-password-shell{
  direction:ltr!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 46px!important;
  align-items:stretch!important;
  min-width:0!important;
  min-height:48px!important;
  overflow:hidden!important;
  border:1px solid var(--border-strong)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.035)!important;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease!important;
}
#app #v-register .se-reg-password-shell:focus-within{
  border-color:color-mix(in srgb,var(--primary) 68%,var(--border-strong))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 11%,transparent)!important;
}
#app #v-register .se-reg-password-shell>.se-reg-control{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  height:46px!important;
  min-height:46px!important;
  margin:0!important;
  padding:0 13px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
#app #v-register .se-reg-password-shell>.se-reg-password-toggle{
  position:static!important;
  inset:auto!important;
  grid-column:2!important;
  grid-row:1!important;
  place-self:stretch!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:auto!important;
  min-height:46px!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  border:0!important;
  border-inline-start:1px solid var(--border)!important;
  border-radius:0!important;
  background:color-mix(in srgb,var(--surface-2,#0f1c2e) 84%,transparent)!important;
  color:var(--text-muted)!important;
  box-shadow:none!important;
}
#app #v-register .se-reg-password-shell>.se-reg-password-toggle:hover,
#app #v-register .se-reg-password-shell>.se-reg-password-toggle:focus-visible{
  color:var(--primary)!important;
  background:color-mix(in srgb,var(--primary) 10%,transparent)!important;
  outline:0!important;
  box-shadow:inset 0 0 0 2px rgba(45,212,191,.08)!important;
}
#app #v-register .se-reg-password-shell>.se-reg-password-toggle i{
  display:block!important;
  width:1em!important;
  height:1em!important;
  margin:auto!important;
  line-height:1!important;
  transform:none!important;
}

/* Admin > Users intentionally has no password visibility eye in the edit form.
   Preserve the field geometry so removing that action does not leave an empty
   interactive column or change the save workflow. */
#app #admin-pane-users .se-admin-form .se-password-control.se-admin-password-control-no-toggle{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
}
#app #admin-pane-users .se-admin-form .se-password-control.se-admin-password-control-no-toggle>input{
  grid-column:1!important;
  grid-row:1!important;
  padding-inline:12px!important;
}

@media(max-width:560px){
  #app #v-login .se-login-field.se-login-password-field{grid-template-columns:38px minmax(0,1fr)!important}
  #app #v-login .se-login-password-shell{grid-template-columns:minmax(0,1fr) 44px!important;min-height:44px!important}
  #app #v-login .se-login-password-shell>.se-login-password-toggle{width:44px!important;min-width:44px!important;max-width:44px!important}
  #app #v-register .se-reg-password-shell{grid-template-columns:minmax(0,1fr) 44px!important}
  #app #v-register .se-reg-password-shell>.se-reg-password-toggle{width:44px!important;min-width:44px!important;max-width:44px!important}
}


/* v4.0.39.19.113 — Admin > Users only: the password being entered by an
   administrator is intentionally visible. This does not apply to login,
   registration, API/license keys or any other password field. */
#app #admin-pane-users #ap-user-pass[data-se-password-visible="1"],
#app #admin-pane-users #ap-user-pass[type="text"]{
  -webkit-text-security:none!important;
}

/* === SININBE bundled source: includes/performance-runtime.css === */
/* v4.0.39.19.104 performance: instant settings/admin reveal, bounded DOM and low-GPU responsive path. */
.se-admin-user-pager{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;padding:.8rem 1rem 1rem}.se-admin-user-pager[hidden]{display:none!important}.se-admin-user-pager .btn{min-height:40px;min-width:104px}.se-admin-user-page-status{font-family:"Space Grotesk",sans-serif;font-size:.78rem;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:150px;text-align:center}
html[dir="rtl"] .se-admin-user-page-status{font-family:"Tajawal",sans-serif}.se-admin-user-pager button i{pointer-events:none}

/* Settings and administration are high-frequency navigation surfaces. Their
   former 18px full-screen backdrop blur plus card blur forced an expensive GPU
   readback/composite before the modal could appear, especially in Safari. */
#m-settings,#m-adminpanel{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transition:opacity .08s linear!important}
#m-settings .m-box,#m-adminpanel .m-box{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;animation:none!important;will-change:auto!important}
#app[data-theme="dark"] #m-settings,#app[data-theme="dark"] #m-adminpanel{background:rgba(2,6,20,.88)!important}
#app[data-theme="light"] #m-settings,#app[data-theme="light"] #m-adminpanel{background:rgba(15,23,42,.28)!important}

/* Make taps deterministic on touch UIs without changing keyboard/mouse use. */
#app button,#app [role="button"],#app .btn{touch-action:manipulation}

@media (max-width:1024px){
  /* Decorative geometry has no functional meaning. Removing it on phone/tablet
     eliminates continuous paint/compositor work while preserving every control. */
  .glass-orb,[class*="geo-"]{display:none!important;animation:none!important;will-change:auto!important}
  .bub,.modal,.m-box,#sb,#chat-hdr,#ft{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .modal{transition:opacity .08s linear!important}
  .m-box{animation:none!important}
  .se-admin-user-pager{position:sticky;bottom:0;z-index:3;background:var(--surface,rgba(255,255,255,.96));padding:.65rem;box-shadow:0 -8px 24px rgba(15,23,42,.06)}
}
@media (max-width:599px){.se-admin-user-pager{gap:.45rem}.se-admin-user-pager .btn{min-width:92px;min-height:44px}.se-admin-user-page-status{order:-1;width:100%;min-width:0}}
@media (prefers-reduced-motion:reduce){.glass-orb,[class*="geo-"],.bub,.modal,.m-box,.se-admin-user-pager *{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* v4.0.39.19.123 — group students stay attached to their group while true
   individual-assignment students remain in the original people section. */
#grp-lst .ni.se-group-cluster{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:6px!important;
  padding:7px 8px 8px!important;
  overflow:visible!important;
  cursor:default!important;
  transform:none!important;
  isolation:isolate;
}
#grp-lst .ni.se-group-cluster:hover{
  transform:none!important;
  background:rgba(45,232,200,.065)!important;
}
#grp-lst .se-group-cluster>.se-group-chat-trigger{
  width:100%;min-width:0;min-height:42px;
  display:flex;align-items:center;gap:10px;
  padding:4px 72px 4px 3px;
  border:0;background:transparent;color:var(--text-primary);
  font-family:var(--se-font-ui),sans-serif;font-size:.88rem;font-weight:700;
  text-align:start;cursor:pointer;border-radius:11px;
  -webkit-appearance:none;appearance:none;
}
[dir="rtl"] #grp-lst .se-group-cluster>.se-group-chat-trigger{padding:4px 3px 4px 72px;}
#grp-lst .se-group-cluster>.se-group-chat-trigger:hover,
#grp-lst .se-group-cluster>.se-group-chat-trigger:focus-visible{
  background:rgba(45,232,200,.08);outline:2px solid rgba(45,232,200,.18);outline-offset:1px;
}
#grp-lst .se-group-cluster .se-group-chat-trigger>.ni-lbl{
  flex:1 1 0;min-width:0;width:0;display:flex;flex-direction:column;align-items:flex-start;
}
#grp-lst .se-group-cluster>.se-person-more{
  position:absolute!important;top:12px!important;inset-inline-end:10px!important;z-index:5!important;
}
#grp-lst .se-group-cluster>.unread-badge{
  position:absolute!important;top:17px!important;inset-inline-end:46px!important;z-index:4!important;margin:0!important;
}
#grp-lst .se-group-students-toggle{
  width:100%;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:7px 9px;border:1px solid var(--border);border-radius:11px;
  background:color-mix(in srgb,var(--primary) 7%,transparent);color:var(--text-secondary);
  font-family:var(--se-font-ui),sans-serif;font-size:.68rem;font-weight:850;text-align:start;cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
#grp-lst .se-group-students-toggle:hover,
#grp-lst .se-group-students-toggle:focus-visible{
  background:color-mix(in srgb,var(--primary) 12%,transparent);border-color:color-mix(in srgb,var(--primary) 34%,var(--border));color:var(--primary);outline:none;
}
#grp-lst .se-group-students-toggle-label{display:flex;align-items:center;gap:7px;min-width:0;}
#grp-lst .se-group-students-toggle-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#grp-lst .se-group-students-toggle-label>strong{
  min-width:22px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);font-size:.62rem;font-weight:950;
}
#grp-lst .se-group-students-chevron{flex:0 0 auto;font-size:.62rem;transition:transform .16s ease;}
#grp-lst .se-group-students-panel{
  min-width:0;display:flex;flex-direction:column;gap:4px;padding:2px 0 0;
}
#grp-lst .se-group-students-panel[hidden]{display:none!important;}
#grp-lst .se-group-student-row{
  width:calc(100% - 10px)!important;min-width:0!important;min-height:42px!important;
  margin-inline-start:10px;padding:7px 9px!important;gap:8px!important;
  border-color:color-mix(in srgb,var(--border) 86%,transparent)!important;
  background:color-mix(in srgb,var(--surface-2,#0f1c2e) 58%,transparent)!important;
  box-sizing:border-box!important;
}
#grp-lst .se-group-student-row .stu-n{width:32px;height:32px;min-width:32px;border-radius:10px;font-size:.76rem;}
#grp-lst .se-group-student-row>.ni-lbl{flex:1 1 0;min-width:0;width:0;}
#grp-lst .se-group-student-row .se-group-student-chat-icon{flex:0 0 auto;color:var(--primary);font-size:.78rem;opacity:.78;}
/* Light mode must use a true light surface. The previous fallback resolved to
   #0f1c2e because --surface-2 is not a light-theme token, producing the dark
   grey rows seen on phones. */
[data-theme="light"] #grp-lst .ni.se-group-cluster{
  background:#ffffff!important;
  border-color:rgba(13,155,128,.14)!important;
  box-shadow:0 2px 10px rgba(15,23,42,.045)!important;
}
[data-theme="light"] #grp-lst .ni.se-group-cluster:hover{background:#ffffff!important;border-color:rgba(13,155,128,.20)!important;}
[data-theme="light"] #grp-lst .se-group-student-row{
  background:#f6fbfa!important;
  border-color:rgba(13,155,128,.16)!important;
  color:var(--text-primary)!important;
  box-shadow:0 1px 3px rgba(15,23,42,.035)!important;
}
[data-theme="light"] #grp-lst .se-group-student-row:hover,
[data-theme="light"] #grp-lst .se-group-student-row:focus-visible{
  background:#edf8f5!important;
  border-color:rgba(13,155,128,.28)!important;
  color:var(--text-primary)!important;
  box-shadow:0 2px 7px rgba(13,155,128,.07)!important;
}
[data-theme="light"] #grp-lst .se-group-student-row>.ni-lbl>span{color:var(--text-primary)!important;}
[data-theme="light"] #grp-lst .se-group-student-row .se-group-sidebar-subject{color:var(--text-muted)!important;}
[data-theme="light"] #grp-lst .se-group-students-toggle{
  background:#f5faf9!important;
  border-color:rgba(13,155,128,.15)!important;
  color:var(--text-secondary)!important;
}
[data-theme="light"] #grp-lst .se-group-students-toggle:hover,
[data-theme="light"] #grp-lst .se-group-students-toggle:focus-visible{
  background:#eaf7f3!important;
  border-color:rgba(13,155,128,.28)!important;
  color:var(--primary)!important;
}
#grp-lst .se-group-students-empty{
  margin-inline-start:10px;padding:8px 10px;border:1px dashed var(--border);border-radius:10px;
  color:var(--text-muted);font-size:.64rem;font-weight:750;text-align:start;
}
@media(max-width:620px){
  #grp-lst .ni.se-group-cluster{padding:6px 7px 7px!important;gap:5px!important;}
  #grp-lst .se-group-cluster>.se-group-chat-trigger{min-height:40px;padding-inline-end:68px;font-size:.82rem;}
  [dir="rtl"] #grp-lst .se-group-cluster>.se-group-chat-trigger{padding-inline-start:68px;padding-inline-end:3px;}
  #grp-lst .se-group-students-toggle{min-height:38px;font-size:.66rem;}
  #grp-lst .se-group-student-row{width:calc(100% - 6px)!important;margin-inline-start:6px;min-height:44px!important;}
}


/* === 4.0.39.19.133 — login composition + strict bidi controls === */
#app #v-login .card{
  position:relative!important;
  width:min(92vw,430px)!important;
  padding:clamp(24px,5vw,38px)!important;
  border-radius:28px!important;
}
#app #v-login .se-login-stack{display:grid!important;gap:12px!important;width:100%!important}
#app #v-login .se-login-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  width:100%!important;
  margin-top:5px!important;
  padding:10px!important;
  border:1px solid color-mix(in srgb,var(--border-strong,var(--border)) 75%,transparent)!important;
  border-radius:18px!important;
  background:color-mix(in srgb,var(--surface-2,var(--surface)) 72%,transparent)!important;
}
#app #v-login .se-login-actions .btn{width:100%!important;min-height:48px!important;margin:0!important;justify-content:center!important;gap:9px!important;border-radius:13px!important}
#app #v-login .se-login-submit{min-height:52px!important;font-weight:900!important;box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 20%,transparent)!important}
#app #v-login .as-quick-login{margin:0!important}
#app #v-login .se-login-back{
  width:46px!important;min-width:46px!important;height:46px!important;min-height:46px!important;
  padding:0!important;margin:3px auto 0!important;border-radius:14px!important;justify-content:center!important;
}
#app #v-login .se-login-back i{margin:0!important}
@media(max-width:560px){
  #app #v-login .card{width:min(94vw,410px)!important;padding:22px 16px 18px!important;border-radius:24px!important}
  #app #v-login .se-login-actions{padding:8px!important;gap:8px!important}
  #app #v-login .se-login-actions .btn{min-height:48px!important}
  #app #v-login .se-login-submit{min-height:52px!important}
}

/* Native select direction follows the active interface language. Telephone digits stay LTR. */
#app[data-lang="ar"] #v-register select{direction:rtl!important;text-align:right!important;text-align-last:right!important}
#app[data-lang="ar"] #v-register select option,
#app[data-lang="ar"] #v-register select optgroup{direction:rtl!important;text-align:right!important}
#app:not([data-lang="ar"]) #v-register select{direction:ltr!important;text-align:left!important;text-align-last:left!important}
#app:not([data-lang="ar"]) #v-register select option,
#app:not([data-lang="ar"]) #v-register select optgroup{direction:ltr!important;text-align:left!important}
#app #v-register #reg-phone{direction:ltr!important;text-align:left!important}

/* Password visibility control: Arabic = eye on the physical left; Latin = physical right. */
#app[data-lang="ar"] #v-login .se-login-password-shell,
#app[data-lang="ar"] #v-register .se-reg-password-shell{direction:ltr!important}
#app[data-lang="ar"] #v-login .se-login-password-shell>.se-credential-input,
#app[data-lang="ar"] #v-register .se-reg-password-shell>.se-reg-control{grid-column:2!important;grid-row:1!important}
#app[data-lang="ar"] #v-login .se-login-password-shell>.se-login-password-toggle,
#app[data-lang="ar"] #v-register .se-reg-password-shell>.se-password-toggle{grid-column:1!important;grid-row:1!important;border-inline-start:0!important;border-right:1px solid var(--border,var(--se-ui-border))!important}
#app:not([data-lang="ar"]) #v-login .se-login-password-shell>.se-credential-input,
#app:not([data-lang="ar"]) #v-register .se-reg-password-shell>.se-reg-control{grid-column:1!important;grid-row:1!important}
#app:not([data-lang="ar"]) #v-login .se-login-password-shell>.se-login-password-toggle,
#app:not([data-lang="ar"]) #v-register .se-reg-password-shell>.se-password-toggle{grid-column:2!important;grid-row:1!important;border-right:0!important;border-inline-start:1px solid var(--border,var(--se-ui-border))!important}
#app[data-lang="ar"] #v-login .se-login-password-shell,
#app[data-lang="ar"] #v-register .se-reg-password-shell{grid-template-columns:46px minmax(0,1fr)!important}
#app:not([data-lang="ar"]) #v-login .se-login-password-shell,
#app:not([data-lang="ar"]) #v-register .se-reg-password-shell{grid-template-columns:minmax(0,1fr) 46px!important}
@media(max-width:560px){
 #app[data-lang="ar"] #v-login .se-login-password-shell,
 #app[data-lang="ar"] #v-register .se-reg-password-shell{grid-template-columns:44px minmax(0,1fr)!important}
 #app:not([data-lang="ar"]) #v-login .se-login-password-shell,
 #app:not([data-lang="ar"]) #v-register .se-reg-password-shell{grid-template-columns:minmax(0,1fr) 44px!important}
}
/* v133 final login back control: compact, floating, no empty footer row. */
#app #v-login .se-login-back{position:absolute!important;top:18px!important;inset-inline-start:18px!important;margin:0!important;z-index:3!important}
#app[data-lang="ar"] #v-login .se-login-back i{transform:scaleX(-1)!important}
#app:not([data-lang="ar"]) #v-login .se-login-back i{transform:none!important}
@media(max-width:560px){#app #v-login .se-login-back{top:13px!important;inset-inline-start:13px!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important}}


/* 4.0.39.20.7 hotfix-2 — emoji-only isolation.
   Do not alter global fonts, app views, sessions or other controls. */
#app #emj .emj-btn > .se-emj-glyph{
  display:block!important;
  width:1.72rem!important;
  height:1.72rem!important;
  max-width:1.72rem!important;
  max-height:1.72rem!important;
  object-fit:contain!important;
  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
  opacity:1!important;
  visibility:visible!important;
}
#app #emj .emj-btn.se-emj-native-fallback{
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol",sans-serif!important;
  font-size:1.5rem!important;
  color:inherit!important;
  -webkit-text-fill-color:initial!important;
}
#app #v-lang .lang-row>span{
  display:inline-flex!important;
  align-items:center!important;
  gap:.46rem!important;
}
#app #v-lang .se-language-flag{
  display:inline-block!important;
  width:1.28rem!important;
  height:1.28rem!important;
  object-fit:contain!important;
  flex:0 0 1.28rem!important;
  vertical-align:middle!important;
  pointer-events:none!important;
}

/* v4.0.39.20.9 — Advanced account security / password self-service. */
#app #m-settings .se-set-row-advanced{align-items:center!important}
#app #m-settings .se-set-advanced-copy{display:grid;gap:3px;min-width:0}
#app #m-settings .se-set-advanced-copy strong{min-width:0!important;font-size:.82rem;color:var(--text-primary)}
#app #m-settings .se-set-advanced-copy small{font-size:.62rem;font-weight:700;line-height:1.45;color:var(--text-muted)}
#app .se-account-security-modal .se-account-security-box{width:min(480px,94vw)!important;max-height:min(760px,calc(100dvh - 24px))!important;overflow:auto!important}
#app .se-account-security-head{display:flex;align-items:center;gap:12px;margin:0 44px 18px 0}
#app[data-lang="ar"] .se-account-security-head{margin:0 0 18px 44px}
#app .se-account-security-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-size:1rem}
#app .se-account-security-head h2{margin:0;color:var(--text-primary);font-size:1rem;font-weight:950;line-height:1.3}
#app .se-account-security-head p{margin:4px 0 0;color:var(--text-muted);font-size:.67rem;font-weight:700;line-height:1.55}
#app #account-security-form{display:grid;gap:12px}
#app .se-account-security-field{display:grid;gap:6px;color:var(--text-secondary);font-size:.68rem;font-weight:850}
#app .se-account-security-input{display:grid;grid-template-columns:minmax(0,1fr) 42px;min-width:0;border:1px solid var(--border-strong);border-radius:13px;background:color-mix(in srgb,var(--text-primary) 4%,transparent);overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}
#app .se-account-security-input:focus-within{border-color:color-mix(in srgb,var(--primary) 58%,var(--border-strong));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}
#app .se-account-security-input input{width:100%;min-width:0;height:46px;margin:0!important;padding:0 12px!important;border:0!important;outline:0!important;background:transparent!important;color:var(--text-primary)!important;font-family:"Space Grotesk",Jost,sans-serif!important;font-size:.8rem!important;font-weight:800!important;letter-spacing:.02em}
#app .se-account-password-eye{width:42px;height:46px;margin:0;padding:0;border:0;border-inline-start:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer}
#app .se-account-password-eye:hover,#app .se-account-password-eye:focus-visible{color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}
#app .se-account-security-hint{margin:0;padding:10px 11px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--text-primary) 3%,transparent);color:var(--text-muted);font-size:.63rem;font-weight:700;line-height:1.65}
#app .se-account-security-status{min-height:20px;color:var(--text-muted);font-size:.67rem;font-weight:800;line-height:1.5}
#app .se-account-security-status.is-error{color:#ef4444}
#app .se-account-security-status.is-success{color:#10b981}
#app .se-account-security-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:2px}
#app .se-account-security-actions .btn{min-height:42px}
#app[data-theme="light"] .se-account-security-input,#app[data-theme="light"] .se-account-security-hint{background:#f8fafc}
@media(max-width:620px){
  #app #m-settings .se-set-row-advanced{align-items:stretch!important;flex-direction:column!important}
  #app #m-settings .se-set-row-advanced .se-pill-row,#app #m-settings .se-set-row-advanced .se-pill{width:100%!important}
  #app .se-account-security-modal{padding:6px!important}
  #app .se-account-security-modal .se-account-security-box{width:calc(100vw - 12px)!important;max-height:calc(100dvh - 12px)!important;padding:16px!important;border-radius:16px!important}
  #app .se-account-security-actions{display:grid;grid-template-columns:1fr 1.35fr}
  #app .se-account-security-actions .btn{width:100%}
}


/* 4.0.39.20.14 — session renewal plans */
.se-assignment-form{grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(130px,.6fr) minmax(185px,.9fr) auto auto!important}
.se-session-renewal-badge{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;max-width:100%;margin-inline-start:7px;padding:3px 7px;border:1px solid var(--border);border-radius:999px;font-family:inherit;font-size:.58rem;font-weight:850;line-height:1.35;color:var(--text-secondary);background:rgba(255,255,255,.045);white-space:nowrap;word-break:keep-all;overflow-wrap:normal;writing-mode:horizontal-tb;cursor:pointer;touch-action:manipulation}
.se-session-renewal-badge.monthly{border-color:rgba(96,165,250,.28);color:#93c5fd;background:rgba(59,130,246,.09)}
.se-session-renewal-badge.on_completion{border-color:rgba(45,232,200,.3);color:var(--primary);background:rgba(34,211,178,.09)}.se-session-renewal-badge:hover,.se-session-renewal-badge:focus-visible{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent)}.se-session-renewal-badge:disabled{cursor:wait;opacity:.72}.se-session-renewal-badge.is-updating{filter:saturate(.7)}
.se-session-plan-card{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(130px,.45fr) minmax(185px,.7fr);gap:10px;align-items:end;margin:12px 0;padding:14px;border:1px solid color-mix(in srgb,var(--primary) 26%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--primary) 5%,rgba(255,255,255,.025))}
.se-session-plan-copy{align-self:start}.se-session-plan-copy h3{display:flex;align-items:center;gap:8px;margin:0;color:var(--text-primary);font-size:.84rem}.se-session-plan-copy h3 i{color:var(--primary)}.se-session-plan-copy p{margin:5px 0 0;color:var(--text-muted);font-size:.65rem;line-height:1.55}
.se-session-plan-field{display:grid;gap:5px}.se-session-plan-field>span,.se-session-plan-targets-head strong{color:var(--text-secondary);font-size:.62rem;font-weight:850}.se-session-plan-field input,.se-session-plan-field select{min-height:42px;border:1px solid var(--border-strong);border-radius:.65rem;background:rgba(255,255,255,.06);color:var(--text-primary);padding:0 10px;font-family:inherit}
.se-session-plan-targets{grid-column:1/-1;display:grid;gap:8px}.se-session-plan-targets-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.se-session-plan-targets-head strong{margin-inline-end:auto}.se-session-plan-targets-head .btn{min-height:34px!important;padding:6px 11px!important;font-size:.62rem!important}
.se-session-plan-target-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:7px;max-height:230px;overflow:auto;padding:2px;scrollbar-gutter:stable}.se-session-plan-target{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--border);border-radius:.72rem;background:rgba(255,255,255,.035);cursor:pointer}.se-session-plan-target:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:rgba(34,211,178,.055)}.se-session-plan-target input{width:17px;height:17px;accent-color:var(--primary)}.se-session-plan-target span{min-width:0;display:grid;gap:2px}.se-session-plan-target strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:.68rem}.se-session-plan-target small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:.56rem}.se-session-plan-target em{font-style:normal;color:var(--primary);font-size:.56rem;text-align:end;white-space:nowrap}.se-session-plan-empty{padding:14px;border:1px dashed var(--border);border-radius:.7rem;color:var(--text-muted);font-size:.65rem;text-align:center}
.se-session-plan-action{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.se-session-plan-status{color:var(--text-muted);font-size:.64rem}.se-session-plan-status.error{color:#f87171}
#app[data-theme="light"] .se-session-plan-card{background:#f7fbfa!important}.se-individual-teacher-row{grid-template-columns:repeat(4,minmax(120px,1fr)) auto!important}.se-individual-teacher-field select,.se-individual-teacher-field input{width:100%;min-width:0}
@media(max-width:900px){.se-session-plan-card{grid-template-columns:1fr 1fr}.se-session-plan-copy{grid-column:1/-1}.se-individual-teacher-row{grid-template-columns:1fr 1fr!important}}
@media(max-width:760px){.se-assignment-form{grid-template-columns:1fr!important}.se-session-plan-card{grid-template-columns:1fr}.se-session-plan-copy,.se-session-plan-targets,.se-session-plan-action{grid-column:auto}.se-session-plan-target-grid{grid-template-columns:1fr;max-height:300px}.se-session-plan-action .btn{width:100%;justify-content:center}.se-individual-teacher-row{grid-template-columns:1fr!important}}

/* SININBE assignment bulk controls: integrated in existing assignment list */
.se-assignment-bulkbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:0 0 11px;padding:9px 10px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025)}.se-assignment-bulkbar[hidden]{display:none!important}.se-assignment-bulkbar>strong{align-self:center;min-width:74px;padding:6px 9px;border-radius:999px;background:rgba(34,211,178,.11);color:var(--primary);font-size:.62rem;text-align:center}.se-assignment-bulkbar label{display:grid;gap:4px;min-width:130px}.se-assignment-bulkbar label>span{font-size:.57rem;font-weight:850;color:var(--text-muted)}.se-assignment-bulkbar input,.se-assignment-bulkbar select{min-height:36px;border:1px solid var(--border-strong);border-radius:9px;background:rgba(255,255,255,.055);color:var(--text-primary);padding:0 9px;font-family:inherit;font-size:.65rem}.se-assignment-bulkbar .btn{min-height:36px!important;padding:7px 10px!important;font-size:.61rem!important}.se-session-plan-status{color:var(--text-muted);font-size:.61rem}.se-session-plan-status.error{color:#f87171}.se-assignment-select-col,.se-assignment-select-cell{width:38px!important;min-width:38px!important;text-align:center!important}.se-assignment-select-col input,.se-assignment-select-cell input{width:17px;height:17px;accent-color:var(--primary);cursor:pointer}.se-assignment-status-badge{display:inline-flex;align-items:center;flex:0 0 auto;margin-inline-start:6px;padding:2px 7px;border-radius:999px;font-size:.53rem;font-weight:900;line-height:1.4;white-space:nowrap;word-break:keep-all;overflow-wrap:normal;writing-mode:horizontal-tb}.se-assignment-status-badge.is-active{background:rgba(34,197,94,.12);color:#4ade80}.se-assignment-status-badge.is-paused{background:rgba(245,158,11,.14);color:#fbbf24}.se-admin-table tbody tr.is-paused{background:rgba(245,158,11,.025)}.se-admin-table tbody tr.is-paused>td:not(.se-assignment-select-cell){opacity:.82}#app[data-theme="light"] .se-assignment-bulkbar{background:#fff;border-color:#dbe3ee}#app[data-theme="light"] .se-assignment-bulkbar input,#app[data-theme="light"] .se-assignment-bulkbar select{background:#fff;color:#0f172a;border-color:#cbd5e1}#app[data-theme="light"] .se-assignment-status-badge.is-active{color:#15803d;background:#dcfce7}#app[data-theme="light"] .se-assignment-status-badge.is-paused{color:#b45309;background:#fef3c7}
@media(max-width:900px){.se-assignment-filters{grid-template-columns:1fr 1fr}.se-assignment-bulkbar label{flex:1 1 145px}}
@media(max-width:760px){.se-assignment-filters{grid-template-columns:1fr}.se-assignment-bulkbar{align-items:stretch}.se-assignment-bulkbar>strong{width:100%}.se-assignment-bulkbar label{flex:1 1 100%}.se-assignment-bulkbar .btn{flex:1 1 calc(50% - 8px);justify-content:center}.se-assignment-select-col,.se-assignment-select-cell{width:34px!important;min-width:34px!important}}

/* 4.0.39.20.16 — message attachments: keep the authenticated download action visible.
   Format-specific readers (HTML/code/PDF/PowerPoint) compact their headers and normally
   hide the library download control. Messaging attachments are different: recipients
   must be able to download the exact shared file directly from the protected stream. */
#m-lesson-viewer.is-message-attachment #edu-lsv-download:not(.hidden){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:42px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 11px!important;
  gap:7px!important;
  border:1px solid var(--edu-reader-line,var(--border,#334155))!important;
  border-radius:9px!important;
  background:var(--edu-reader-button,var(--surface-2,#111827))!important;
  color:var(--edu-reader-text,var(--text,#f8fafc))!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  line-height:1!important;
  cursor:pointer!important;
}
#m-lesson-viewer.is-message-attachment #edu-lsv-download:not(.hidden):hover,
#m-lesson-viewer.is-message-attachment #edu-lsv-download:not(.hidden):focus-visible{
  color:var(--edu-reader-accent,var(--primary,#22c55e))!important;
  border-color:var(--edu-reader-accent,var(--primary,#22c55e))!important;
  background:var(--edu-reader-button-hover,var(--surface-3,#172033))!important;
  outline:0!important;
}
#m-lesson-viewer.is-message-attachment #edu-lsv-download i{margin:0!important;line-height:1!important;}
#m-lesson-viewer.is-message-attachment #edu-lsv-download-label{
  display:inline!important;
  font:700 .68rem/1 Jost,"Space Grotesk",sans-serif!important;
}
@media(max-width:520px){
  #m-lesson-viewer.is-message-attachment #edu-lsv-download:not(.hidden){
    width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;gap:0!important;
  }
  #m-lesson-viewer.is-message-attachment #edu-lsv-download-label{display:none!important;}
}
@media(max-width:300px){
  #m-lesson-viewer.is-message-attachment #edu-lsv-download:not(.hidden){
    display:inline-flex!important;width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;
  }
}

