/* QuizPulse Workspace v2: authoritative presentation for non-game surfaces. */
@font-face { font-family:"Noto Sans Arabic"; src:url("/fonts/noto-sans-arabic/NotoSansArabic-400.ttf") format("truetype"); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:"Noto Sans Arabic"; src:url("/fonts/noto-sans-arabic/NotoSansArabic-500.ttf") format("truetype"); font-style:normal; font-weight:500; font-display:swap; }
@font-face { font-family:"Noto Sans Arabic"; src:url("/fonts/noto-sans-arabic/NotoSansArabic-600.ttf") format("truetype"); font-style:normal; font-weight:600; font-display:swap; }
@font-face { font-family:"Noto Sans Arabic"; src:url("/fonts/noto-sans-arabic/NotoSansArabic-700.ttf") format("truetype"); font-style:normal; font-weight:700; font-display:swap; }
@font-face { font-family:"Noto Sans Arabic"; src:url("/fonts/noto-sans-arabic/NotoSansArabic-800.ttf") format("truetype"); font-style:normal; font-weight:800; font-display:swap; }
@font-face { font-family:"Noto Sans Arabic"; src:url("/fonts/noto-sans-arabic/NotoSansArabic-900.ttf") format("truetype"); font-style:normal; font-weight:900; font-display:swap; }

:root {
  --qp-ws-canvas: #f6f7fb;
  --qp-ws-surface: #fff;
  --qp-ws-surface-muted: #f8fafc;
  --qp-ws-ink: #171326;
  --qp-ws-muted: #6f6a7d;
  --qp-ws-line: #e7e4ee;
  --qp-ws-accent: #6428f5;
  --qp-ws-accent-strong: #5017d4;
  --qp-ws-accent-soft: #f0ebff;
  --qp-ws-danger: #c92f45;
  --qp-ws-radius: 8px;
  --qp-ws-shadow: 0 1px 2px rgba(23,19,38,.04), 0 8px 24px rgba(23,19,38,.055);
  --qp-ws-focus: 0 0 0 3px rgba(100,40,245,.2);
}

/* Theme bridge: the workspace palette is authored as --qp-ws-* literals, but a
   resolved page theme only publishes --qpt-*. Without this block every
   workspace-v2 surface (subjects, academic management, reports) keeps the
   default purple while the theme engine reports itself as active. Scoped to
   [data-qp-theme-active="1"] so the untouched default theme is unchanged. */
html[data-qp-theme-active="1"] {
  --qp-ws-canvas: var(--qpt-background, #f6f7fb);
  --qp-ws-surface: var(--qpt-surface, #fff);
  --qp-ws-surface-muted: var(--qpt-surface-alt, #f8fafc);
  --qp-ws-ink: var(--qpt-text, #171326);
  --qp-ws-muted: var(--qpt-muted, #6f6a7d);
  --qp-ws-line: var(--qpt-border, #e7e4ee);
  --qp-ws-accent: var(--qpt-primary, #6428f5);
  --qp-ws-accent-strong: var(--qpt-primary, #5017d4);
  --qp-ws-accent-soft: color-mix(in srgb, var(--qpt-primary, #6428f5) 12%, var(--qpt-surface, #fff));
  --qp-ws-danger: var(--qpt-danger, #c92f45);
  --qp-ws-radius: var(--qpt-control-radius, 8px);
  --qp-ws-focus: 0 0 0 3px color-mix(in srgb, var(--qpt-primary, #6428f5) 20%, transparent);
}
/* --qp-purple is a global brand literal also used by the live game surfaces,
   which the theme engine deliberately leaves alone; remap it for workspace
   chrome only. */
html[data-qp-theme-active="1"] body.qp-workspace-v2 { --qp-purple: var(--qpt-primary, #6428f5); }

/* Academic Workspace v1.23: learning and administration are intentionally separate. */
.qp-subject-learning-page,.qp-academic-control{display:grid;gap:16px;max-width:1440px;width:100%;margin:0 auto}
.qp-subject-learning-head,.qp-academic-control-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:22px;border:1px solid var(--qp-ws-line);border-radius:var(--qp-ws-radius);background:var(--qp-ws-surface);box-shadow:var(--qp-ws-shadow)}
.qp-academic-control [hidden],.qp-academic-manage-body [hidden]{display:none!important}
.qp-subject-learning-head h2,.qp-academic-control-head h2{margin:4px 0;font-size:clamp(22px,3vw,34px);letter-spacing:0}.qp-subject-learning-head p,.qp-academic-control-head p{margin:0;color:var(--qp-ws-muted)}
.qp-eyebrow{display:block;color:var(--qp-ws-accent-strong);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.qp-subject-learning-count{min-width:112px;padding:12px 16px;border:1px solid var(--qp-ws-line);border-radius:8px;background:var(--qp-ws-surface-muted);text-align:center}.qp-subject-learning-count b{display:block;font-size:26px}.qp-subject-learning-count span{color:var(--qp-ws-muted);font-size:12px;font-weight:800}
.qp-subject-learning-toolbar{display:flex;max-width:520px}.qp-search-field{position:relative;display:flex;align-items:center;width:100%}.qp-search-field>span{position:absolute;inset-inline-start:13px;z-index:1;color:var(--qp-ws-muted)}.qp-search-field .qp-input{width:100%;padding-inline-start:38px}
.qp-subject-learning-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.qp-learning-subject-card{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;gap:14px;padding:18px;border:1px solid var(--qp-ws-line);border-radius:var(--qp-ws-radius);background:var(--qp-ws-surface);box-shadow:var(--qp-ws-shadow)}
.qp-learning-subject-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:8px;background:var(--qp-ws-accent-soft);font-size:26px}.qp-learning-subject-copy{min-width:0}.qp-learning-subject-copy h3{margin:6px 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:19px;letter-spacing:0}.qp-learning-subject-copy p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--qp-ws-muted);font-size:13px}.qp-learning-subject-meta,.qp-learning-subject-groups{display:flex;gap:6px;overflow:hidden}.qp-learning-subject-meta span,.qp-learning-subject-groups span,.qp-mini-chip{display:inline-flex;min-width:0;padding:3px 7px;border-radius:999px;background:var(--qp-ws-surface-muted);color:var(--qp-ws-muted);font-size:11px;font-weight:800;white-space:nowrap}.qp-learning-subject-groups{margin-top:10px}.qp-learning-subject-numbers{grid-column:1/-1;display:flex;gap:8px}.qp-learning-subject-numbers span{display:flex;align-items:baseline;gap:5px;padding:7px 9px;border:1px solid var(--qp-ws-line);border-radius:7px;color:var(--qp-ws-muted);font-size:11px}.qp-learning-subject-numbers b{color:var(--qp-ws-ink);font-size:16px}.qp-learning-subject-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--qp-ws-line);padding-top:12px}.qp-learning-subject-actions>*{flex:0 0 auto;white-space:nowrap}
.qp-academic-control-head{grid-template-columns:minmax(240px,1fr) minmax(210px,300px);align-items:end}.qp-academic-control-head>label{display:grid;gap:6px;color:var(--qp-ws-muted);font-size:11px;font-weight:900}.qp-academic-control-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.qp-academic-control-metrics span{padding:11px 13px;border:1px solid var(--qp-ws-line);border-radius:8px;background:var(--qp-ws-surface-muted);color:var(--qp-ws-muted);font-size:11px;font-weight:800}.qp-academic-control-metrics b{display:block;color:var(--qp-ws-ink);font-size:22px}
.qp-academic-main-tabs,.qp-academic-secondary-tabs{display:flex;gap:4px;padding:4px;overflow-x:auto;border:1px solid var(--qp-ws-line);border-radius:9px;background:var(--qp-ws-surface);box-shadow:var(--qp-ws-shadow);scrollbar-width:none}.qp-academic-main-tabs::-webkit-scrollbar,.qp-academic-secondary-tabs::-webkit-scrollbar{display:none}.qp-academic-main-tabs button,.qp-academic-secondary-tabs button{flex:0 0 auto;min-height:40px;padding:8px 16px;border:0;border-radius:6px;background:transparent;color:var(--qp-ws-muted);font:inherit;font-size:13px;font-weight:850;cursor:pointer;white-space:nowrap}.qp-academic-main-tabs button.active,.qp-academic-secondary-tabs button.active{background:var(--qp-ws-accent-soft);color:var(--qp-ws-accent-strong)}
.qp-academic-focused-panel{display:grid;gap:14px;padding:18px;border:1px solid var(--qp-ws-line);border-radius:var(--qp-ws-radius);background:var(--qp-ws-surface);box-shadow:var(--qp-ws-shadow)}.qp-academic-focused-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.qp-academic-focused-head h2{margin:4px 0;font-size:22px}.qp-academic-focused-head p{margin:0;color:var(--qp-ws-muted);font-size:13px}.qp-academic-secondary-tabs{width:max-content;max-width:100%;box-shadow:none}.qp-academic-table-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:12px}.qp-academic-table-toolbar .qp-search-field{width:min(480px,100%);margin-inline-end:auto}.qp-academic-page-size{display:flex;align-items:center;gap:7px;color:var(--qp-ws-muted);font-size:12px;font-weight:800}.qp-academic-page-size .qp-input{width:76px;min-height:38px;padding:6px 28px 6px 10px}.qp-academic-focused-table td{vertical-align:middle}.qp-academic-focused-table td>small{display:block;color:var(--qp-ws-muted)}.qp-table-icon-actions{display:flex;gap:6px}.qp-mobile-row-kind{display:none!important}.qp-academic-pagination{display:flex;align-items:center;justify-content:center;gap:10px;min-height:42px}.qp-page-matrix{display:flex;align-items:center;gap:5px}.qp-page-number{width:36px;height:36px;border:1px solid var(--qp-ws-line);border-radius:7px;background:var(--qp-ws-surface);color:var(--qp-ws-text);font:800 13px/1 inherit;cursor:pointer}.qp-page-number:hover,.qp-page-number.active{border-color:var(--qp-purple);background:var(--qp-purple);color:#fff}.qp-page-gap{min-width:18px;text-align:center;color:var(--qp-ws-muted);font-weight:800}
.qp-academic-drawer{position:fixed;inset:0 0 0 auto;width:min(520px,100vw);height:100dvh;max-height:none;margin:0;padding:0;border:0;border-inline-start:1px solid var(--qp-ws-line);border-radius:0;background:var(--qp-ws-surface);color:var(--qp-ws-ink);box-shadow:-24px 0 70px rgba(23,19,38,.2)}.qp-academic-drawer::backdrop{background:rgba(21,16,36,.45);backdrop-filter:blur(3px)}.qp-academic-drawer-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.qp-academic-drawer-shell>header,.qp-academic-drawer-shell>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--qp-ws-line)}.qp-academic-drawer-shell>footer{justify-content:flex-end;border-top:1px solid var(--qp-ws-line);border-bottom:0}.qp-academic-drawer-shell h2{margin:4px 0 0;font-size:22px}.qp-academic-drawer-body{min-height:0;overflow:auto;display:grid;align-content:start;gap:14px;padding:18px}.qp-academic-drawer-body>label{display:grid;gap:6px;color:var(--qp-ws-muted);font-size:12px;font-weight:850}.qp-academic-drawer-body fieldset{display:grid;gap:9px;padding:14px;border:1px solid var(--qp-ws-line);border-radius:8px}.qp-academic-drawer-body legend{padding:0 5px;font-weight:900}.qp-drawer-choice-grid{display:grid;gap:6px;max-height:220px;overflow:auto}.qp-drawer-choice-grid label{display:flex;align-items:center;gap:9px;padding:8px;border-radius:6px;background:var(--qp-ws-surface-muted);cursor:pointer}.qp-drawer-choice-grid label:has(input:checked){background:var(--qp-ws-accent-soft);color:var(--qp-ws-accent-strong)}
.qp-page-language-ar :where(.qp-subject-learning-page,.qp-academic-control,.qp-academic-drawer){direction:rtl;text-align:right}.qp-page-language-ar .qp-academic-main-tabs,.qp-page-language-ar .qp-academic-secondary-tabs{direction:rtl}.qp-page-language-ar .qp-academic-drawer{inset:0 auto 0 0;border-inline-start:0;border-inline-end:1px solid var(--qp-ws-line)}
@media(max-width:760px){.qp-subject-learning-head,.qp-academic-control-head{grid-template-columns:1fr;padding:15px}.qp-subject-learning-count{display:none}.qp-subject-learning-grid{grid-template-columns:1fr}.qp-learning-subject-card{grid-template-columns:44px minmax(0,1fr);padding:14px}.qp-learning-subject-icon{width:44px;height:44px}.qp-learning-subject-actions{overflow-x:auto}.qp-academic-control-head>div:first-child{display:none}.qp-academic-control-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.qp-academic-control-metrics span{padding:9px}.qp-academic-focused-panel{padding:12px}.qp-academic-focused-head{align-items:stretch;flex-direction:column}.qp-academic-focused-head .qp-btn{align-self:flex-start}.qp-academic-table-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.qp-academic-table-toolbar .qp-search-field{grid-column:1/-1;max-width:none}.qp-academic-page-size{justify-self:start}.qp-academic-focused-panel .qp-admin-table-wrap{overflow:visible}.qp-academic-focused-table{min-width:0!important}.qp-academic-focused-table thead{display:none}.qp-academic-focused-table,.qp-academic-focused-table tbody,.qp-academic-focused-table tr,.qp-academic-focused-table td{display:block;width:100%}.qp-academic-focused-table tr{margin-bottom:10px;padding:11px;border:1px solid var(--qp-ws-line);border-radius:8px;background:var(--qp-ws-surface)}.qp-academic-focused-table td{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:7px 0!important;border:0!important;text-align:end}.qp-academic-focused-table td:before{content:attr(data-label);color:var(--qp-ws-muted);font-size:11px;font-weight:850;text-align:start}.qp-academic-focused-table td:first-child{display:block;text-align:start}.qp-academic-focused-table td:first-child:before{display:none}.qp-mobile-row-kind{display:block!important}.qp-academic-pagination{gap:6px;overflow-x:auto;justify-content:flex-start;padding:2px}.qp-page-matrix{gap:4px}.qp-page-number{width:34px;height:34px;flex:0 0 auto}.qp-academic-drawer{width:100vw}.qp-dashboard-content.qp-academic-control,.qp-dashboard-content.qp-subject-learning-page{padding-bottom:calc(88px + env(safe-area-inset-bottom))}}

body.qp-workspace-v2 { color: var(--qp-ws-ink); background: var(--qp-ws-canvas) !important; }
.qp-workspace-v2 :where(.qp-dashboard-main,.qp-dashboard-content) { background: var(--qp-ws-canvas) !important; }
.qp-workspace-v2 .qp-dashboard-content { width: min(100%,1500px); margin-inline: auto; padding: clamp(16px,2.4vw,32px) !important; }
.qp-workspace-v2 .qp-dashboard-topbar { min-height: 68px; padding: 12px clamp(16px,2.4vw,32px) !important; border-bottom: 1px solid var(--qp-ws-line) !important; background: rgba(255,255,255,.94) !important; box-shadow: none !important; backdrop-filter: blur(14px); }
.qp-workspace-v2 .qp-dashboard-title-group h1 { margin: 0; color: var(--qp-ws-ink) !important; font-size: clamp(22px,2vw,28px) !important; line-height: 1.15; letter-spacing: 0 !important; }
.qp-workspace-v2 .qp-dashboard-title-group p { max-width: 64ch; margin: 4px 0 0 !important; color: var(--qp-ws-muted) !important; font-size: 13px !important; line-height: 1.45; }
.qp-workspace-v2 .qp-dashboard-top-actions { position: relative; display: flex; align-items: center; gap: 8px; }
.qp-header-account-cluster { position: relative; display: flex; align-items: center; gap: 6px; }
.qp-header-notifications,.qp-account-menu-trigger { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--qp-ws-line); border-radius: 8px; background: var(--qp-ws-surface); color: var(--qp-ws-ink); text-decoration: none; box-shadow: none; }
.qp-header-notifications { position: relative; width: 40px; padding: 0; cursor: pointer; }
.qp-header-notifications > b { position: absolute; top: -5px; right: -5px; min-width: 18px; height: 18px; padding: 0 4px; display: grid; place-items: center; border: 2px solid var(--qp-ws-surface); border-radius: 999px; background: var(--qp-ws-danger); color: #fff; font-size: 10px; }
.qp-account-menu-trigger { max-width: 190px; padding: 4px 8px 4px 5px; cursor: pointer; }
.qp-account-menu-trigger .qp-account-chip-avatar,.qp-account-menu-identity .qp-account-chip-avatar { width: 32px; height: 32px; display: grid; place-items: center; overflow: hidden; border-radius: 7px; background: var(--qp-ws-accent-soft); font-size: 20px; }
.qp-account-trigger-name { max-width: 104px; overflow: hidden; color: var(--qp-ws-ink); font-size: 13px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.qp-account-menu { position: absolute; z-index: 10020; top: calc(100% + 10px); right: 0; width: 248px; padding: 7px; border: 1px solid var(--qp-ws-line); border-radius: 10px; background: var(--qp-ws-surface); box-shadow: 0 20px 55px rgba(23,19,38,.2); }
.qp-account-menu[hidden] { display: none !important; }
.qp-account-menu-identity { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; margin: 1px 1px 7px; padding: 9px; border-radius: 7px; background: var(--qp-ws-surface-muted); }
.qp-account-menu-identity span:last-child { min-width: 0; display: grid; }
.qp-account-menu-identity b,.qp-account-menu-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qp-account-menu :where(a,button) { width: 100%; min-height: 42px; display: grid; grid-template-columns: 25px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 8px 10px; border: 0; border-radius: 7px; background: transparent; color: var(--qp-ws-ink); font: inherit; font-size: 14px; text-align: left; text-decoration: none; cursor: pointer; }
.qp-account-menu :where(a,button):hover { background: var(--qp-ws-accent-soft); color: var(--qp-ws-accent-strong); }
.qp-account-menu :where(a,button) span:last-child:not(:nth-child(2)) { color: var(--qp-ws-muted); font-size: 12px; }
.qp-account-theme-picker { width: 100%; min-height: 42px; display: grid; grid-template-columns: 25px minmax(0,1fr) minmax(0,112px); align-items: center; gap: 8px; padding: 7px 10px; border-radius: 7px; color: var(--qp-ws-ink); font-size: 14px; }
.qp-account-theme-picker:hover,.qp-account-theme-picker:focus-within { background: var(--qp-ws-accent-soft); color: var(--qp-ws-accent-strong); }
.qp-account-theme-picker select { width: 100%; min-width: 0; height: 30px; padding: 3px 24px 3px 7px; border: 1px solid var(--qp-ws-line); border-radius: 6px; background: var(--qp-ws-surface); color: var(--qp-ws-ink); font: inherit; font-size: 12px; text-overflow: ellipsis; }
.qp-account-theme-picker select:focus-visible { outline: 2px solid var(--qp-ws-accent); outline-offset: 1px; }
.qp-account-menu .danger { color: var(--qp-ws-danger); }
.qp-account-menu-separator { height: 1px; margin: 6px 8px; background: var(--qp-ws-line); }
.qp-language-toggle {
  display: inline-grid;
  grid-template-columns: 1fr 1px 1fr;
  align-items: center;
  gap: 7px;
  min-width: 82px;
  min-height: 40px;
  padding: 6px 10px;
  border: 1px solid var(--qp-ws-line);
  border-radius: 8px;
  background: #fff;
  color: var(--qp-ws-muted);
  box-shadow: none;
  cursor: pointer;
}
.qp-language-toggle i { width: 1px; height: 18px; background: var(--qp-ws-line); }
.qp-language-toggle span { font-size: 12px; font-weight: 800; letter-spacing: 0; }
.qp-language-toggle span.active { color: var(--qp-ws-accent-strong); }
.qp-language-toggle:hover { border-color: #cfc8dc; background: #fbfaff; }
html[data-language="ar"] body,
.qp-language-ar :where(.qp-dashboard-title-group,.qp-dashboard-content,.qp-dashboard-nav .qp-nav-label) { font-family: "Noto Sans Arabic", Tahoma, Arial, sans-serif; }
.qp-language-ar .qp-dashboard-title-group,
.qp-language-ar .qp-dashboard-content :where(h1,h2,h3,p,small,.qp-muted),
.qp-language-ar .qp-dashboard-nav .qp-nav-label { direction: rtl; text-align: right; unicode-bidi: plaintext; }
.qp-page-language-ar :where(button,label,th,td,input,select,option,.qp-pill,.qp-mini-status,.qp-empty,.qp-dropdown-label) { font-family: "Noto Sans Arabic", Tahoma, Arial, sans-serif; }
.qp-page-language-ar :where(input,select,textarea,th,td) { direction: rtl; text-align: right; }
.qp-page-language-ar :where(button,label,.qp-pill,.qp-mini-status,.qp-empty,.qp-dropdown-label) { unicode-bidi: plaintext; }
.qp-workspace-v2 :where(button,a,input,select,textarea):focus-visible { outline: 0 !important; box-shadow: var(--qp-ws-focus) !important; }
.qp-workspace-v2 :where(.qp-btn,.qp-icon-action,.qp-grade-detail-toggle) { min-height: 44px; border-radius: var(--qp-ws-radius) !important; }
.qp-workspace-v2 .qp-btn.small { min-height: 44px !important; }
.qp-workspace-v2 .qp-btn { border-color: var(--qp-ws-line) !important; background: var(--qp-ws-surface) !important; color: var(--qp-ws-ink) !important; box-shadow: none !important; transform: none !important; }
.qp-workspace-v2 .qp-btn:hover { border-color: #cfc8dc !important; background: #fbfaff !important; }
.qp-workspace-v2 .qp-btn.primary { border-color: var(--qp-ws-accent) !important; background: var(--qp-ws-accent) !important; color: #fff !important; }
.qp-workspace-v2 .qp-btn.primary:hover { background: var(--qp-ws-accent-strong) !important; }
.qp-workspace-v2 .qp-btn.danger { color: var(--qp-ws-danger) !important; }
.qp-workspace-v2 :where(.qp-input,.qp-select,.qp-textarea) { min-height: 44px; border: 1px solid var(--qp-ws-line) !important; border-radius: var(--qp-ws-radius) !important; background: var(--qp-ws-surface) !important; color: var(--qp-ws-ink) !important; box-shadow: none !important; }
.qp-workspace-v2 .qp-pill { min-height: 28px; padding: 5px 9px; border: 1px solid #ded8f1; border-radius: 999px !important; background: var(--qp-ws-accent-soft) !important; color: #4d22b5 !important; font-size: 11px; letter-spacing: 0 !important; }
.qp-workspace-v2 :where(.qp-dashboard-settings,.qp-settings-card,.qp-subject-list-section,.qp-subject-create,.qp-assigned-teachers-panel,.qp-assigned-people-panel,.qp-academic-builder,.qp-grade-subject-card,.qp-gradebook-summary article,.qp-gradebook-toolbar,.qp-grade-table-shell) { border: 1px solid var(--qp-ws-line) !important; border-radius: var(--qp-ws-radius) !important; background: var(--qp-ws-surface) !important; box-shadow: var(--qp-ws-shadow) !important; }
.qp-workspace-v2 .qp-empty,.qp-workspace-v2 .qp-grade-empty { min-height: 180px; display: grid; place-items: center; padding: 32px 20px !important; border: 1px dashed #d7d1e2 !important; border-radius: var(--qp-ws-radius) !important; background: var(--qp-ws-surface-muted) !important; color: var(--qp-ws-muted) !important; font-weight: 700; line-height: 1.5; }

/* Shared operational surfaces used by legacy authenticated pages. */
.qp-workspace-v2 :where(
  .qp-academic-manage-panel,.qp-admin-user-panel,.qp-admin-user-filter-card,
  .qp-manual-user-card,.qp-news-admin-panel,.qp-library-section,
  .qp-review-composer,.qp-review-summary,.qp-stats-leaderboard-shell,
  .qp-shop-admin-card,.qp-space-setup-card,.qp-question-bank-layout > section,
  .qp-question-bank-layout > aside
) { border: 1px solid var(--qp-ws-line) !important; border-radius: var(--qp-ws-radius) !important; background: var(--qp-ws-surface) !important; box-shadow: var(--qp-ws-shadow) !important; }
.qp-workspace-v2 .qp-profile-hero { border-color: #263249 !important; background: #151e2f !important; color: #fff !important; box-shadow: 0 18px 44px rgba(15,23,42,.16) !important; }
.qp-workspace-v2 :where(.qp-admin-toolbar,.qp-bank-toolbar,.qp-library-toolbar,.qp-stats-toolbar,.qp-shop-toolbar,.qp-academic-manage-toolbar) { gap: 10px; padding: 10px !important; border: 1px solid var(--qp-ws-line) !important; border-radius: var(--qp-ws-radius) !important; background: var(--qp-ws-surface) !important; box-shadow: var(--qp-ws-shadow) !important; }
.qp-workspace-v2 :where(.qp-admin-table-wrap,.qp-stats-table-wrap) { overflow: auto; border: 1px solid var(--qp-ws-line) !important; border-radius: var(--qp-ws-radius) !important; background: var(--qp-ws-surface) !important; box-shadow: var(--qp-ws-shadow) !important; }
.qp-workspace-v2 :where(.qp-admin-table,.qp-stats-table) { width: 100%; border-collapse: collapse; background: var(--qp-ws-surface) !important; }
.qp-workspace-v2 :where(.qp-admin-table,.qp-stats-table) th { height: 44px; background: var(--qp-ws-surface-muted) !important; color: var(--qp-ws-muted) !important; font-size: 12px; letter-spacing: 0 !important; }
.qp-workspace-v2 :where(.qp-admin-table,.qp-stats-table) td { min-height: 52px; border-color: var(--qp-ws-line) !important; }
.qp-workspace-v2 :where(.qp-library-tabs,.qp-admin-user-tabs,.qp-stats-mode-tabs,.qp-shop-tabs) { gap: 4px !important; padding: 4px !important; overflow-x: auto; border: 1px solid var(--qp-ws-line) !important; border-radius: 10px !important; background: var(--qp-ws-surface) !important; box-shadow: var(--qp-ws-shadow) !important; scrollbar-width: none; }
.qp-workspace-v2 :where(.qp-library-tabs,.qp-admin-user-tabs,.qp-stats-mode-tabs,.qp-shop-tabs) button { min-height: 44px; border-radius: 7px !important; }
.qp-workspace-v2 :where(dialog,.qp-user-import-dialog,.qp-academic-assignment-dialog,.qp-group-import-dialog,.qp-stats-filter-dialog) { border: 1px solid var(--qp-ws-line) !important; border-radius: var(--qp-ws-radius) !important; background: var(--qp-ws-surface) !important; color: var(--qp-ws-ink) !important; box-shadow: 0 24px 70px rgba(23,19,38,.2) !important; }
.qp-workspace-v2 :where(.qp-muted,small) { color: var(--qp-ws-muted); }

/* Settings: identity lives in Profile; settings leads with controls. */
.qp-workspace-v2.qp-settings-pro-body .qp-settings-pro-hero { display: none !important; }
.qp-workspace-v2 .qp-settings-pro { display: grid !important; grid-template-columns: 210px minmax(0,1fr); align-items: start; gap: 16px !important; }
.qp-workspace-v2 .qp-settings-pro-tabs { position: sticky !important; z-index: 12; top: 68px; display: flex; width: fit-content; max-width: 100%; gap: 4px !important; padding: 4px !important; overflow-x: auto; border: 1px solid var(--qp-ws-line) !important; border-radius: 10px !important; background: rgba(255,255,255,.96) !important; box-shadow: var(--qp-ws-shadow) !important; scrollbar-width: none; }
.qp-workspace-v2 .qp-settings-pro-tabs { grid-column: 1; width: 100%; flex-direction: column; align-items: stretch; }
.qp-workspace-v2 .qp-settings-pro-panel { grid-column: 2; min-width: 0; }
.qp-workspace-v2 .qp-settings-pro-tabs::-webkit-scrollbar { display: none; }
.qp-workspace-v2 .qp-settings-pro-tabs button { min-width: max-content; min-height: 44px; padding: 8px 14px !important; border: 0 !important; border-radius: 7px !important; background: transparent !important; color: var(--qp-ws-muted) !important; box-shadow: none !important; }
.qp-workspace-v2 .qp-settings-pro-tabs button.active { background: var(--qp-ws-accent-soft) !important; color: var(--qp-ws-accent-strong) !important; }
.qp-workspace-v2 .qp-settings-tab-hero { min-height: 0 !important; padding: 18px 20px !important; border: 1px solid var(--qp-ws-line) !important; border-radius: var(--qp-ws-radius) !important; background: var(--qp-ws-surface) !important; color: var(--qp-ws-ink) !important; box-shadow: var(--qp-ws-shadow) !important; }
.qp-workspace-v2 .qp-settings-tab-hero :where(h2,span) { color: inherit !important; }
.qp-workspace-v2 .qp-settings-tab-hero p { color: var(--qp-ws-muted) !important; }
.qp-workspace-v2 .qp-settings-account-hero {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  align-items: center !important;
  gap: 24px !important;
  min-height: 0 !important;
  padding: 20px !important;
  border: 1px solid var(--qp-ws-line) !important;
  border-radius: var(--qp-ws-radius) !important;
  background: var(--qp-ws-surface) !important;
  color: var(--qp-ws-ink) !important;
  box-shadow: var(--qp-ws-shadow) !important;
}
.qp-workspace-v2 .qp-settings-account-hero .qp-profile-identity { align-items: center !important; flex-direction: row !important; gap: 20px !important; }
.qp-workspace-v2 .qp-settings-account-hero .qp-profile-avatar-stack { flex: 0 0 124px; width: 124px !important; min-height: 92px !important; }
.qp-workspace-v2 .qp-settings-account-hero .qp-profile-avatar-ring { width: 88px !important; height: 88px !important; overflow: hidden; border-width: 3px !important; border-radius: 24px !important; background: var(--qp-ws-accent-soft) !important; box-shadow: none !important; font-size: 48px !important; }
.qp-workspace-v2 .qp-settings-account-hero .qp-profile-crown { display: none !important; }
.qp-workspace-v2 .qp-settings-account-hero .qp-profile-name-block { min-width: 0; }
.qp-workspace-v2 .qp-settings-account-hero .qp-profile-name-block h2 { margin: 6px 0 !important; color: var(--qp-ws-ink) !important; font-size: clamp(24px,2.5vw,34px) !important; line-height: 1.05 !important; letter-spacing: 0 !important; overflow-wrap: anywhere; }
.qp-workspace-v2 .qp-settings-account-hero .qp-profile-handle { color: var(--qp-ws-muted) !important; }
.qp-workspace-v2 .qp-settings-account-hero .qp-profile-hero-actions { margin-top: 12px !important; }
.qp-workspace-v2 .qp-settings-account-hero .qp-profile-hero-btn { min-height: 44px !important; padding: 8px 12px !important; border-radius: 7px !important; border: 1px solid var(--qp-ws-line) !important; background: var(--qp-ws-surface-muted) !important; color: var(--qp-ws-ink) !important; box-shadow: none !important; }
.qp-workspace-v2 .qp-settings-danger-card summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; }
.qp-settings-account-view.is-account .qp-settings-pro-grid > :not(.qp-settings-account-card),
.qp-settings-account-view.is-password .qp-settings-pro-grid > :not(.qp-settings-password-card):not(.qp-settings-security-card) { display: none !important; }
.qp-settings-account-view.is-password .qp-settings-account-hero { display: none !important; }
.qp-settings-language-options { display: grid; grid-template-columns: repeat(2,minmax(0,220px)); gap: 12px; }
.qp-settings-language-options button { min-height: 82px; display: grid; grid-template-columns: 44px 1fr; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--qp-ws-line); border-radius: var(--qp-ws-radius); background: var(--qp-ws-surface); color: var(--qp-ws-ink); text-align: left; cursor: pointer; }
.qp-settings-language-options button[aria-checked="true"] { border-color: var(--qp-ws-accent); box-shadow: var(--qp-ws-focus); }
.qp-settings-language-options button > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 7px; background: var(--qp-ws-surface-muted); color: var(--qp-ws-accent-strong); font-weight: 900; }

/* Profile: one strong header, followed by focused tabbed content. */
.qp-profile-tabs { display: flex; gap: 4px; margin-top: 18px; padding: 4px; overflow-x: auto; border: 1px solid var(--qp-ws-line); border-radius: 10px; background: var(--qp-ws-surface); box-shadow: var(--qp-ws-shadow); scrollbar-width: none; }
.qp-profile-tabs::-webkit-scrollbar { display: none; }
.qp-profile-tabs button { flex: 0 0 auto; min-height: 44px; padding: 8px 15px; border: 0; border-radius: 7px; background: transparent; color: var(--qp-ws-muted); font: inherit; font-weight: 800; cursor: pointer; }
.qp-profile-tabs button[aria-selected="true"] { background: var(--qp-ws-accent-soft); color: var(--qp-ws-accent-strong); }
.qp-profile-tab-panel[hidden] { display: none !important; }
.qp-profile-history-panel { margin-top: 14px; padding: 22px; border: 1px solid var(--qp-ws-line); border-radius: var(--qp-ws-radius); background: var(--qp-ws-surface); box-shadow: var(--qp-ws-shadow); }
.qp-profile-history-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.qp-profile-history-panel h2 { margin: 0; font-size: 21px; }
.qp-profile-compact-empty { min-height: 120px; display: flex; align-items: center; gap: 14px; margin-top: 14px; padding: 18px; border: 1px dashed var(--qp-ws-line); border-radius: 8px; background: var(--qp-ws-surface-muted); }
.qp-profile-compact-empty > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 8px; background: var(--qp-ws-accent-soft); color: var(--qp-ws-accent-strong); font-size: 20px; }
.qp-profile-compact-empty > div { min-width: 0; display: grid; gap: 4px; }
.qp-profile-compact-empty small { color: var(--qp-ws-muted); }
.qp-profile-compact-empty a { margin-left: auto; color: var(--qp-ws-accent-strong); font-weight: 800; }

/* Library cards keep their geometry stable regardless of title length. */
.qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) { grid-template-columns: repeat(auto-fill,minmax(260px,1fr)) !important; align-items: stretch; }
.qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-kahoot-quiz-card { height: 286px !important; display: grid !important; grid-template-rows: 158px 128px; overflow: hidden; }
.qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-kahoot-card-thumb { width: 100%; height: 158px !important; aspect-ratio: 16/9; overflow: hidden; }
.qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-kahoot-card-thumb img { width: 100%; height: 100%; object-fit: fill; transform: none !important; }
.qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-kahoot-card-body { min-height: 0; display: grid !important; grid-template-rows: 42px 17px 30px !important; align-content: start; gap: 4px !important; padding: 9px !important; overflow: hidden; }
.qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-kahoot-card-mainline h3 { min-height: 38px !important; max-height: 38px; line-height: 1.25 !important; -webkit-line-clamp: 2; }

/* Subjects library: keep selection and results in separate full-width rows. */
.qp-workspace-v2 .qp-kahoot-library-grid.is-subject-browser {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.qp-workspace-v2 .qp-library-section,
.qp-workspace-v2 .qp-library-subject-picker { max-width: 100%; min-width: 0; }
.qp-workspace-v2 .qp-library-status-row p {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}
.qp-workspace-v2 .qp-library-subject-selector,
.qp-workspace-v2 .qp-library-subject-results {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.qp-workspace-v2 .qp-library-subject-selector {
  display: grid;
  gap: 9px;
  padding: 14px;
  border: 1px solid var(--qp-ws-line);
  border-radius: var(--qp-ws-radius);
  background: var(--qp-ws-surface);
  box-shadow: var(--qp-ws-shadow);
}
.qp-workspace-v2 .qp-library-subject-choice { max-width: 100%; }
.qp-workspace-v2 .qp-library-subject-choice span {
  overflow: visible;
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
}
.qp-workspace-v2 .qp-library-subject-selector-head,
.qp-workspace-v2 .qp-library-subject-results-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.qp-workspace-v2 .qp-library-subject-selector-head > span,
.qp-workspace-v2 .qp-library-subject-results-head > span {
  flex: 0 0 auto;
  min-width: 32px;
  padding: 4px 9px;
  border-radius: 999px;
  background: var(--qp-ws-accent-soft);
  color: var(--qp-ws-accent);
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}
.qp-workspace-v2 .qp-library-subject-results { display: grid; gap: 10px; }
.qp-workspace-v2 .qp-library-subject-results-head { padding: 0 2px; }
.qp-workspace-v2 .qp-library-subject-results-head small { display: block; color: var(--qp-ws-muted); font-size: 11px; font-weight: 800; }
.qp-workspace-v2 .qp-library-subject-results-head h3 { margin: 2px 0 0; overflow-wrap: anywhere; }
.qp-workspace-v2 .qp-library-subject-prompt {
  padding: 28px 18px;
  border: 1px dashed var(--qp-ws-line);
  border-radius: var(--qp-ws-radius);
  color: var(--qp-ws-muted);
  text-align: center;
  font-weight: 750;
}
.qp-workspace-v2 .qp-library-subject-table-shell {
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  border: 1px solid var(--qp-ws-line);
  border-radius: var(--qp-ws-radius);
  background: var(--qp-ws-surface);
  box-shadow: var(--qp-ws-shadow);
}
.qp-workspace-v2 .qp-library-subject-table { width: 100%; min-width: 760px; border-collapse: collapse; table-layout: fixed; }
.qp-workspace-v2 .qp-library-subject-table th,
.qp-workspace-v2 .qp-library-subject-table td { padding: 11px 14px; border-bottom: 1px solid var(--qp-ws-line); text-align: left; vertical-align: middle; }
.qp-workspace-v2 .qp-library-subject-table th { color: var(--qp-ws-muted); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.qp-workspace-v2 .qp-library-subject-table th:first-child { width: 46%; }
.qp-workspace-v2 .qp-library-subject-table th:nth-child(2) { width: 10%; }
.qp-workspace-v2 .qp-library-subject-table th:nth-child(3),
.qp-workspace-v2 .qp-library-subject-table th:nth-child(4) { width: 12%; }
.qp-workspace-v2 .qp-library-subject-table th:nth-child(5) { width: 14%; }
.qp-workspace-v2 .qp-library-subject-table th:last-child { width: 54px; }
.qp-workspace-v2 .qp-library-subject-table tbody tr:last-child td { border-bottom: 0; }
.qp-workspace-v2 .qp-library-subject-table tbody tr:hover { background: var(--qp-ws-surface-muted); }
.qp-workspace-v2 .qp-library-table-quiz { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: center; gap: 12px; }
.qp-workspace-v2 .qp-library-table-thumb { width: 88px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 6px; background: var(--qp-ws-surface-muted); }
.qp-workspace-v2 .qp-library-table-thumb img,
.qp-workspace-v2 .qp-library-table-fallback { width: 100%; height: 100%; display: grid; place-items: center; object-fit: fill; }
.qp-workspace-v2 .qp-library-table-fallback { background: linear-gradient(135deg, #5b21b6, #1e3a8a); color: #fff; font-size: 22px; }
.qp-workspace-v2 .qp-library-table-title { min-width: 0; display: grid; gap: 3px; }
.qp-workspace-v2 .qp-library-table-title > a { color: var(--qp-ws-text); font-weight: 900; line-height: 1.25; overflow-wrap: anywhere; text-decoration: none; white-space: normal; }
.qp-workspace-v2 .qp-library-table-title > a:hover { color: var(--qp-ws-accent); }
.qp-workspace-v2 .qp-library-table-title small,
.qp-workspace-v2 .qp-library-table-date { overflow: hidden; color: var(--qp-ws-muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.qp-workspace-v2 .qp-library-table-actions { text-align: right !important; }
.qp-workspace-v2 .qp-library-table-actions .qp-card-menu-btn { position: static; margin: 0; }
.qp-workspace-v2 .qp-library-view-actions[hidden] { display: none !important; }
.qp-workspace-v2 .qp-kahoot-owner { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qp-workspace-v2 .qp-kahoot-card-status { align-content: start; max-height: 42px; overflow: hidden; }

/* Subjects: compact operational command center. */
.qp-workspace-v2 .qp-academic-workspace { gap: 16px !important; }
.qp-workspace-v2 .qp-academic-hero { min-height: 0 !important; display: flex !important; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px !important; border: 1px solid var(--qp-ws-line) !important; border-radius: var(--qp-ws-radius) !important; background: var(--qp-ws-surface) !important; color: var(--qp-ws-ink) !important; box-shadow: var(--qp-ws-shadow) !important; }
.qp-workspace-v2 .qp-academic-hero :where(h2,p) { color: inherit !important; }
.qp-workspace-v2 .qp-academic-hero h2 { margin: 6px 0 3px !important; font-size: 20px !important; }
.qp-workspace-v2 .qp-academic-hero p { margin: 0 !important; color: var(--qp-ws-muted) !important; font-size: 13px; }
.qp-workspace-v2 .qp-academic-hero .qp-pill { display: none; }
.qp-workspace-v2 .qp-academic-hero-metrics { display: flex !important; gap: 8px !important; }
.qp-workspace-v2 .qp-academic-hero-metrics span { min-width: 104px; padding: 10px 12px !important; border: 1px solid var(--qp-ws-line) !important; border-radius: var(--qp-ws-radius) !important; background: var(--qp-ws-surface-muted) !important; color: var(--qp-ws-muted) !important; }
.qp-workspace-v2 .qp-academic-hero-metrics b { color: var(--qp-ws-ink) !important; }
.qp-workspace-v2 .qp-academic-tabs { display: flex !important; flex-flow: row nowrap !important; align-items: center !important; gap: 4px !important; padding: 4px !important; overflow-x: auto; border: 1px solid var(--qp-ws-line) !important; border-radius: 10px !important; background: var(--qp-ws-surface) !important; box-shadow: var(--qp-ws-shadow) !important; scrollbar-width: none; }
.qp-workspace-v2 .qp-academic-tabs[hidden] { display: none !important; }
.qp-workspace-v2 .qp-academic-tabs::-webkit-scrollbar { display: none; }
.qp-workspace-v2 .qp-academic-tabs button { flex: 0 0 auto !important; width: auto !important; min-width: max-content; min-height: 44px; border: 0 !important; border-radius: 7px !important; background: transparent !important; color: var(--qp-ws-muted) !important; }
.qp-workspace-v2 .qp-academic-tabs button.active,.qp-workspace-v2 .qp-academic-tabs button[aria-selected="true"] { background: var(--qp-ws-accent-soft) !important; color: var(--qp-ws-accent-strong) !important; }
.qp-workspace-v2 .qp-subject-list-head { align-items: center !important; }
.qp-workspace-v2 .qp-subject-list-head .qp-pill:first-child { display: none; }
.qp-page-language-ar .qp-academic-workspace { direction: rtl; text-align: right; }
.qp-page-language-ar .qp-academic-tabs { direction: rtl; }
.qp-page-language-ar .qp-academic-tabs button { display: inline-flex; align-items: center; justify-content: center; text-align: center; }
.qp-page-language-ar .qp-academic-workspace :where(.qp-subject-list-head,.qp-assigned-teachers-panel > header,.qp-assigned-people-panel > header) { text-align: right; }
.qp-page-language-ar .qp-academic-workspace :where(.qp-teacher-assignment-toolbar,.qp-assignment-toolbar,.qp-subject-create form) label { text-align: right; }
.qp-page-language-ar .qp-academic-workspace select { direction: ltr; text-align: right; }
.qp-page-language-ar .qp-academic-workspace select option { direction: rtl; text-align: right; }
.qp-page-language-ar .qp-academic-workspace .qp-admin-table { direction: ltr; }
.qp-page-language-ar .qp-academic-workspace .qp-admin-table :where(th,td) { text-align: right; }
.qp-page-language-ar .qp-academic-workspace .qp-admin-user-cell { direction: ltr; justify-content: flex-start; text-align: left; }
.qp-page-language-ar .qp-academic-workspace .qp-admin-user-cell > div { min-width: 0; text-align: start; unicode-bidi: plaintext; }
.qp-page-language-ar .qp-academic-workspace :where(.qp-placement-pill,.qp-status-chip,.qp-mini-chip-list) { direction: rtl; }

/* Grades: dense, legible, and touch-friendly. */
.qp-workspace-v2 .qp-grades-page { gap: 16px !important; }
.qp-workspace-v2 .qp-grade-subject-grid { grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 12px; }
.qp-workspace-v2 .qp-grade-subject-card { gap: 14px !important; padding: 18px !important; border-top: 1px solid var(--qp-ws-line) !important; }
.qp-workspace-v2 .qp-grade-subject-card::before { content: ""; width: 34px; height: 4px; border-radius: 999px; background: var(--qp-ws-accent); }
.qp-workspace-v2 .qp-grade-subject-metrics div { border-radius: 6px !important; background: var(--qp-ws-surface-muted) !important; }
.qp-workspace-v2 .qp-grades-search { min-height: 44px; border-color: var(--qp-ws-line) !important; border-radius: var(--qp-ws-radius) !important; }
.qp-workspace-v2 .qp-grade-table th { height: 44px; background: var(--qp-ws-surface-muted) !important; }
.qp-workspace-v2 .qp-grade-table td { height: 56px; border-color: #efedf4 !important; }
.qp-workspace-v2 .qp-grade-detail-toggle { width: 44px !important; height: 44px !important; }

/* Dashboard: compact command center. */
.qp-workspace-v2 .qp-dashboard-hero-simple { min-height: 0 !important; padding: clamp(18px,2.5vw,28px) !important; border: 0 !important; border-radius: var(--qp-ws-radius) !important; background: #21143f !important; box-shadow: var(--qp-ws-shadow) !important; }
.qp-workspace-v2 .qp-dashboard-hero-simple h2 { font-size: clamp(26px,3vw,40px) !important; letter-spacing: 0 !important; }
.qp-workspace-v2 .qp-dashboard-hero-simple p { max-width: 60ch; font-size: 15px !important; }
.qp-workspace-v2 .qp-dashboard-stats { gap: 12px !important; }
.qp-workspace-v2 .qp-dashboard-role-loading { min-height: min(52vh,420px); display: grid; place-content: center; justify-items: center; gap: 12px; color: var(--qp-ws-muted); }
.qp-workspace-v2 .qp-dashboard-role-loading[hidden] { display: none !important; }
.qp-workspace-v2 .qp-dashboard-role-loading p { margin: 0; font-size: 14px; font-weight: 700; }

html[data-theme="dark"] body.qp-workspace-v2 { --qp-ws-canvas:#10131b; --qp-ws-surface:#181c27; --qp-ws-surface-muted:#202532; --qp-ws-ink:#f7f5fb; --qp-ws-muted:#aaa5b7; --qp-ws-line:#303646; --qp-ws-accent-soft:#2d2250; --qp-ws-shadow:0 1px 2px rgba(0,0,0,.2),0 12px 30px rgba(0,0,0,.18); }
html[data-theme="dark"] .qp-workspace-v2 :where(.qp-dashboard-topbar,.qp-settings-pro-tabs) { background: rgba(24,28,39,.94) !important; }
@media (min-width:761px) and (max-width:1180px) {
  .qp-workspace-v2 .qp-dashboard-topbar { grid-template-columns: auto minmax(0,1fr) max-content !important; }
  /* Squeezing this row to nowrap pushed the overflow past the start edge, where
     justify-content:flex-end left it clipped and unreachable. Let it wrap. */
  .qp-workspace-v2 .qp-dashboard-top-actions { width: auto !important; min-width: 0; flex-wrap: wrap !important; justify-content: flex-end !important; row-gap: 8px; }
  .qp-workspace-v2 .qp-language-toggle { flex: 0 0 82px; }
  .qp-workspace-v2 .qp-account-chip { width: auto !important; max-width: 190px; }
  .qp-workspace-v2 .qp-account-chip small { display: none; }
}

@media (max-width:760px) {
  .qp-workspace-v2 .qp-dashboard-content { padding: 12px 12px calc(92px + env(safe-area-inset-bottom,0px)) !important; }
  .qp-workspace-v2 .qp-dashboard-topbar { min-height: 60px; padding: 10px 14px !important; }
  .qp-account-trigger-name,.qp-account-menu-trigger > span:last-child { display: none; }
  .qp-account-menu-trigger { width: 42px; padding: 4px; }
  .qp-account-menu { position: fixed; top: 66px; right: 12px; left: 12px; width: auto; max-height: calc(100dvh - 82px - env(safe-area-inset-bottom,0px)); overflow-y: auto; overscroll-behavior: contain; }
  .qp-language-toggle { min-width: 68px; padding-inline: 7px; gap: 5px; }
  .qp-workspace-v2 .qp-settings-pro { grid-template-columns: minmax(0,1fr); }
  .qp-workspace-v2 .qp-settings-pro-tabs { grid-column: 1; top: 60px; width: 100%; flex-direction: row; }
  .qp-workspace-v2 .qp-settings-pro-panel { grid-column: 1; }
  .qp-settings-language-options { grid-template-columns: 1fr; }
  .qp-profile-tabs { scroll-snap-type: x proximity; }
  .qp-profile-tabs button { scroll-snap-align: start; }
  .qp-profile-compact-empty { align-items: flex-start; }
  .qp-profile-compact-empty a { margin-left: 0; }
  .qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) { grid-template-columns: 1fr !important; }
  .qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-kahoot-quiz-card { height: 116px !important; grid-template-columns: 112px minmax(0,1fr) !important; grid-template-rows: 116px !important; }
  .qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-kahoot-card-brand { display: none !important; }
  .qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-kahoot-card-thumb { width: 112px !important; height: 116px !important; grid-column: 1; grid-row: 1; }
  .qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-kahoot-card-body { height: 116px; grid-column: 2; grid-row: 1; grid-template-rows: 42px 21px 28px; padding: 10px !important; }
  .qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-kahoot-card-mainline h3 { display: block !important; min-height: 0 !important; max-height: 20px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .qp-workspace-v2 .qp-dashboard-title-group p { display: none; }
  .qp-workspace-v2 .qp-settings-pro-tabs { top: 60px; width: 100%; }
  .qp-workspace-v2 .qp-settings-account-hero { grid-template-columns: 1fr !important; gap: 16px !important; padding: 14px !important; }
  .qp-workspace-v2 .qp-settings-account-hero .qp-profile-identity { align-items: center !important; }
  .qp-workspace-v2 .qp-settings-account-hero .qp-profile-avatar-stack { flex-basis: 88px; width: 88px !important; min-height: 76px !important; }
  .qp-workspace-v2 .qp-settings-account-hero .qp-profile-avatar-ring { width: 72px !important; height: 72px !important; border-radius: 20px !important; font-size: 44px !important; }
  .qp-workspace-v2 .qp-settings-account-hero .qp-profile-name-block h2 { font-size: 23px !important; }
  .qp-workspace-v2 .qp-academic-hero { align-items: stretch; flex-direction: column; padding: 14px !important; }
  .qp-workspace-v2 .qp-academic-hero > div:first-child { display: none; }
  .qp-workspace-v2 .qp-academic-hero-metrics { width: 100%; }
  .qp-workspace-v2 .qp-academic-hero-metrics span { flex: 1; min-width: 0; }
  .qp-workspace-v2 .qp-subject-list-head { align-items: stretch !important; flex-direction: column; }
  .qp-workspace-v2 .qp-subject-list-head .qp-academic-search { width: 100%; }
  .qp-workspace-v2 .qp-grade-subject-grid { grid-template-columns: 1fr; }
  .qp-workspace-v2 .qp-kahoot-library-grid.is-subject-browser { gap: 14px !important; }
  .qp-workspace-v2 .qp-library-subject-selector { padding: 12px; }
  .qp-workspace-v2 .qp-library-subject-results-head { align-items: flex-end; }
  .qp-workspace-v2 .qp-library-subject-results-head h3 { font-size: 18px; }
  .qp-workspace-v2 .qp-library-subject-table-shell { overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .qp-workspace-v2 .qp-library-subject-table,
  .qp-workspace-v2 .qp-library-subject-table tbody { display: grid; width: 100%; min-width: 0; gap: 9px; }
  .qp-workspace-v2 .qp-library-subject-table thead { display: none; }
  .qp-workspace-v2 .qp-library-subject-table tr {
    display: grid;
    grid-template-columns: 84px minmax(0,1fr) 42px;
    grid-template-rows: auto auto;
    min-height: 96px;
    overflow: visible;
    border: 1px solid var(--qp-ws-line);
    border-radius: var(--qp-ws-radius);
    background: var(--qp-ws-surface);
    box-shadow: var(--qp-ws-shadow);
  }
  .qp-workspace-v2 .qp-library-subject-table td { display: none; padding: 0; border: 0; }
  .qp-workspace-v2 .qp-library-subject-table .qp-library-table-quiz {
    grid-column: 1 / 3;
    grid-row: 1;
    display: grid;
    grid-template-columns: 84px minmax(0,1fr);
    gap: 10px;
    min-width: 0;
    padding: 10px 4px 6px 10px;
  }
  .qp-workspace-v2 .qp-library-subject-table .qp-library-table-actions {
    grid-column: 3;
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    padding: 4px;
  }
  .qp-workspace-v2 .qp-library-table-thumb { width: 84px; align-self: center; }
  .qp-workspace-v2 .qp-library-table-title > a { font-size: 14px; }
  .qp-workspace-v2 .qp-library-table-title small { font-size: 11px; }
  .qp-workspace-v2 .qp-library-subject-table td[data-label="Status"],
  .qp-workspace-v2 .qp-library-subject-table td[data-label="Visibility"] { grid-row: 2; display: block; padding: 0 0 10px 10px; }
  .qp-workspace-v2 .qp-library-subject-table td[data-label="Status"] { grid-column: 2; }
  .qp-workspace-v2 .qp-library-subject-table td[data-label="Visibility"] { grid-column: 2; margin-left: 72px; }
  .qp-workspace-v2 .qp-grade-table tbody > tr:not(.qp-grade-details-row) { border-radius: var(--qp-ws-radius) !important; box-shadow: var(--qp-ws-shadow); }
}

@media (prefers-reduced-motion:reduce) {
  .qp-workspace-v2 *,.qp-workspace-v2 *::before,.qp-workspace-v2 *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Keep this last so component reset rules cannot erase keyboard focus. */
.qp-workspace-v2 :where(button,a,input,select,textarea):focus-visible,
.qp-workspace-v2 :where(.qp-btn,.qp-profile-hero-btn,.qp-settings-pro-tabs button,.qp-academic-tabs button):focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px rgba(100,40,245,.58) !important;
}

/* Library academic folders, rich cards, and creator save metadata. */
.qp-library-breadcrumbs { display:flex; align-items:center; gap:9px; margin:0 0 18px; overflow:auto; scrollbar-width:none; white-space:nowrap; font-weight:800; color:#64748b; }
.qp-library-breadcrumbs::-webkit-scrollbar { display:none; }
.qp-library-breadcrumbs a { color:#6328e8; text-decoration:none; }
.qp-library-breadcrumbs b { color:#b4aec5; }
.qp-library-folder-browser { max-width:1180px; margin:0 auto; }
.qp-library-folder-browser[hidden],.qp-library-browser[hidden] { display:none !important; }
.qp-library-folder-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:18px; margin-top:20px; }
.qp-library-folder-card { min-width:0; color:#171126; text-decoration:none; display:grid; gap:12px; padding:10px; border:1px solid #e2ddea; border-radius:8px; background:#fff; box-shadow:0 10px 26px rgba(35,22,63,.07); transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.qp-library-folder-card:hover,.qp-library-folder-card:focus-visible { transform:translateY(-2px); border-color:#8b5cf6; box-shadow:0 15px 34px rgba(91,33,182,.13); }
.qp-library-folder-cover { display:block; aspect-ratio:16/9; overflow:hidden; border-radius:6px; background:#ede9fe; }
.qp-library-folder-cover img,.qp-library-folder-fallback { width:100%; height:100%; display:grid; place-items:center; object-fit:cover; }
.qp-library-folder-fallback { color:#fff; font-size:clamp(28px,4vw,48px); font-weight:900; background:linear-gradient(135deg,#4c1d95,#7c3aed); }
.qp-library-folder-fallback[data-theme="1"] { background:linear-gradient(135deg,#164e63,#0891b2); }
.qp-library-folder-fallback[data-theme="2"] { background:linear-gradient(135deg,#14532d,#16a34a); }
.qp-library-folder-fallback[data-theme="3"] { background:linear-gradient(135deg,#7c2d12,#ea580c); }
.qp-library-folder-fallback[data-theme="4"] { background:linear-gradient(135deg,#1e3a8a,#2563eb); }
.qp-library-folder-fallback[data-theme="5"] { background:linear-gradient(135deg,#831843,#db2777); }
.qp-library-folder-card > span:last-child { display:grid; gap:3px; padding:2px 4px 5px; min-width:0; }
.qp-library-folder-card small { color:#746b86; font-weight:700; }
.qp-library-folder-card strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:17px; }
.qp-kahoot-card-status { margin-top:0; }
.qp-quiz-like { border:0; background:transparent; color:#8b8499; display:inline-flex; align-items:center; gap:5px; min-height:30px; padding:4px 7px; border-radius:6px; font:inherit; cursor:pointer; box-shadow:none; }
.qp-quiz-like:hover:not(:disabled),.qp-quiz-like:focus-visible { color:#2563eb; background:transparent; }
.qp-quiz-like span { font-size:19px; line-height:1; }
.qp-quiz-like b { color:inherit; font-size:12px; }
.qp-quiz-like.is-liked { color:#2563eb; }
.qp-quiz-like:disabled { cursor:default; opacity:.48; }
.qp-save-location-actions .qp-icon-only { width:44px; min-width:44px; padding:0; font-size:20px; }
.qp-save-description-editor { display:grid; gap:7px; }
.qp-save-description-editor[hidden] { display:none; }
.qp-save-description-editor label { font-weight:800; }
.qp-save-description-editor textarea { resize:vertical; min-height:88px; }
.qp-save-description-editor output { justify-self:end; color:#726a82; font-size:12px; font-weight:800; }
.qp-academic-cover-name { display:flex; align-items:center; gap:10px; min-width:0; }
.qp-academic-cover-mini { width:64px; aspect-ratio:16/9; border-radius:5px; object-fit:cover; display:grid; place-items:center; flex:0 0 auto; overflow:hidden; background:#ede9fe; color:#5b21b6; font-size:12px; font-weight:900; }

@media (max-width:700px) {
  .qp-library-folder-grid { grid-template-columns:1fr; gap:12px; }
  .qp-library-folder-card { grid-template-columns:112px minmax(0,1fr); align-items:center; }
  .qp-library-folder-cover { width:112px; }
  .qp-library-folder-card strong { font-size:15px; }
  .qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-kahoot-quiz-card { height:116px !important; grid-template-rows:116px !important; }
  .qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-kahoot-card-thumb { height:116px !important; }
  .qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-kahoot-card-body {
    display:flex !important;
    flex-direction:column !important;
    height:116px !important;
    min-height:0 !important;
    overflow:hidden;
    gap:2px;
    padding:9px 10px !important;
  }
  .qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-kahoot-card-mainline {
    width:100%;
    min-height:24px;
    grid-template-columns:minmax(0,1fr) 30px !important;
  }
  .qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-kahoot-owner {
    width:100%;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
  .qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-kahoot-card-status {
    width:100%;
    max-height:30px;
    flex-wrap:nowrap;
    overflow:hidden;
  }
  .qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-meta-date { display:inline-flex !important; }
  .qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-mini-status { padding:3px 5px; font-size:9px; }
  .qp-workspace-v2 .qp-kahoot-library-grid:not(.is-list) .qp-quiz-like { gap:2px; min-height:24px; padding:2px; }
  .qp-save-location-actions { flex-wrap:wrap; }
  .qp-save-location-actions .qp-btn.primary { flex:1; }
}
