/* GENERATED by tools/build-css.js - do not edit; edit the source files and re-run. */

/* ===== navigation-bplus-v1.css ===== */
/* Qimma B+ responsive navigation layer.
 * Visual-only shared layer: keeps theme variables and role-specific menu data intact.
 * Uses stable CSS features with fallbacks for current Chrome, Edge, Firefox, Safari and Opera.
 */
:root {
  --q-bplus-control-radius: 12px;
  --q-bplus-nav-gap: 5px;
  --q-bplus-focus: var(--primary, #2563eb);
}

/* Header control */
.dash-sidebar-toggle {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid var(--border, #dbe3ee);
  border-radius: var(--q-bplus-control-radius);
  color: var(--text, #18332a);
  background: var(--surface, #fff);
  cursor: pointer;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.dash-sidebar-toggle:hover {
  color: var(--primary, #2563eb);
  background: var(--surface-soft, #f5f8fc);
  border-color: var(--primary, #2563eb);
}
.dash-sidebar-toggle:focus-visible,
.dash-top-strip a:focus-visible,
.dash-top-strip button:focus-visible,
.dash-nav a:focus-visible {
  outline: 2px solid var(--q-bplus-focus);
  outline-offset: 2px;
}
.dash-top-strip-app .dash-top-strip-inner {
  gap: 12px;
  min-width: 0;
}
.dash-top-strip-app .dash-top-search {
  min-width: 100px;
  min-height: 42px;
  box-sizing: border-box;
  border-radius: var(--q-bplus-control-radius);
}
.dash-top-search input { min-width: 0; }
.dash-top-actions { align-items: center; }
.dash-top-icon-btn,
.dash-top-language,
.dash-top-profile {
  border-radius: var(--q-bplus-control-radius);
  transition: background-color .16s ease, color .16s ease, border-color .16s ease;
}
.dash-top-icon-btn { position: relative; }
.dash-top-profile { min-height: 42px; }

/* Sidebar: consistent spacing and active state while retaining theme palette. */
.dash-sidebar {
  flex: 0 0 var(--q-sidebar-width, 248px);
  transition: width .18s ease, flex-basis .18s ease, box-shadow .18s ease;
  overscroll-behavior: contain;
}
.dash-nav > ul { gap: var(--q-bplus-nav-gap); }
.dash-nav-main-link,
.dash-nav a {
  border-radius: var(--q-bplus-control-radius) !important;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}
.dash-nav-icon { flex: 0 0 20px; width: 20px; align-items: center; justify-content: center; }
.dash-nav-icon svg { display: block; max-width: 20px; max-height: 20px; }
.dash-nav-item.is-active .dash-nav-main-link,
.dash-nav .dash-nav-main-link.active,
.dash-nav a.active { font-weight: 800 !important; }
.dash-nav a { touch-action: manipulation; }

/* Desktop collapse is layout-only; it does not remove menu items or change permissions. */
@media (min-width: 901px) {
  .dash-layout.q-sidebar-collapsed .dash-sidebar {
    width: 78px !important;
    min-width: 78px !important;
    flex-basis: 78px !important;
  }
  .dash-layout.q-sidebar-collapsed .dash-sidebar-logo {
    padding-inline: 8px !important;
    justify-content: center !important;
    overflow: hidden;
  }
  .dash-layout.q-sidebar-collapsed .dash-sidebar-logo img,
  .dash-layout.q-sidebar-collapsed .dash-sidebar-logo svg.q-brand {
    max-width: 46px !important;
    height: 38px !important;
  }
  .dash-layout.q-sidebar-collapsed .dash-sidebar-logo span { display: none !important; }
  .dash-layout.q-sidebar-collapsed .dash-nav { padding-inline: 8px !important; }
  .dash-layout.q-sidebar-collapsed .dash-nav-main-link,
  .dash-layout.q-sidebar-collapsed .dash-nav a {
    justify-content: center !important;
    padding-inline: 0 !important;
    gap: 0 !important;
  }
  .dash-layout.q-sidebar-collapsed .dash-nav-label { display: none !important; }
  .dash-layout.q-sidebar-collapsed .dash-nav-badge { display: none !important; }
  .dash-layout.q-sidebar-collapsed .dash-nav-icon { flex-basis: 22px; }
}

/* Mobile/tablet drawer. Keep the existing role-aware navigation and backdrop behavior. */
@media (max-width: 900px) {
  .dash-sidebar-toggle { flex-basis: 40px; width: 40px; height: 40px; }
  .dash-top-strip-app .dash-top-strip-inner { gap: 8px !important; }
  .dash-top-strip-app .dash-top-search { flex: 1 1 auto; }
  .dash-sidebar-backdrop.open { display: block !important; }
  .dash-sidebar.open { inset-inline-start: 0 !important; }
  .dash-top-strip-app { z-index: 1100 !important; }
  .dash-sidebar { z-index: 1200 !important; }
  .dash-sidebar-backdrop { z-index: 1190 !important; }
}
@media (max-width: 560px) {
  .dash-top-strip-app .dash-top-strip-inner { padding-inline: 10px !important; }
  .dash-sidebar-toggle { flex-basis: 38px; width: 38px; height: 38px; }
  .dash-top-actions { gap: 4px !important; }
  .dash-top-icon-btn { min-width: 36px; min-height: 36px; }
}

/* Guest navigation shares the same rounded, theme-aware visual language. */
.dash-top-strip-guest .dash-top-guest-nav a,
.dash-top-strip-guest .dash-top-btn,
.dash-top-strip-guest .guest-register-btn,
.guest-menu-toggle {
  border-radius: var(--q-bplus-control-radius);
}
.dash-top-strip-guest .dash-top-guest-nav a { transition: background-color .16s ease, color .16s ease; }
.dash-top-strip-guest .dash-top-guest-nav a.is-active { font-weight: 800; }

@media (prefers-reduced-motion: reduce) {
  .dash-sidebar, .dash-nav-main-link, .dash-nav a, .dash-sidebar-toggle,
  .dash-top-icon-btn, .dash-top-language, .dash-top-profile { transition: none !important; }
}


/* ===== ui-polish-v1.css ===== */
/* Qimma UI polish v1: presentation-only, theme-token-aware layer. */
:root { --q-ui-radius-sm:10px; --q-ui-radius-md:14px; --q-ui-radius-lg:18px; }
html { scroll-behavior:smooth; }
body { text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
:where(.card,.dashboard-card,.stat-card,.panel,.settings-card,.content-card,.q-card) { border-radius:var(--q-ui-radius-lg); }
:where(.card,.dashboard-card,.stat-card,.panel,.settings-card,.content-card,.q-card) img { max-width:100%; }
:where(button,.btn,input[type="button"],input[type="submit"],input[type="reset"]) { transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease; }
:where(button,.btn,input[type="button"],input[type="submit"],input[type="reset"]):not(:disabled):not([disabled]):active { transform:translateY(1px); }
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea,.form-control) { max-width:100%; border-radius:var(--q-ui-radius-sm); }
:where(input,select,textarea,button,a,summary,[tabindex]):focus-visible { outline:2px solid var(--focus-ring,var(--theme-accent,#64748b)); outline-offset:2px; }
:where(table) { border-collapse:separate; border-spacing:0; }
:where(th) { text-align:start; }
:where(td,th) { overflow-wrap:anywhere; }
:where(.alert,.notice,.flash-message) { border-radius:var(--q-ui-radius-md); }
:where(.badge,.status-badge,.chip,.tag) { border-radius:999px; }
:where(.dash-main,.q-main-content,.q-public-main) { min-width:0; }
:where(.dash-main,.q-main-content) :where(img,video,iframe) { max-width:100%; }
@media(max-width:720px) {
 :where(.dash-main,.q-main-content,.q-public-main) { overflow-wrap:anywhere; }
 :where(.dash-main,.q-main-content) :where(table) { font-size:.94em; }
 :where(.dash-main,.q-main-content) :where(.card,.dashboard-card,.stat-card,.panel,.settings-card,.content-card,.q-card) { border-radius:var(--q-ui-radius-md); }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
}


/* ===== platform-table-readability-v1.css ===== */
/* Platform-wide table readability V1
   Keep words/names intact and allow horizontal scrolling instead of squeezing columns. */
:where(.table-responsive,.table-wrap,.table-wrapper,.q-table-wrap,.ql-wrap,.table-card,.data-table-wrap) {
  max-width:100%;
  min-width:0;
}
:where(.table-responsive,.table-wrap,.table-wrapper,.q-table-wrap,.ql-wrap,.table-card,.data-table-wrap) > table,
:where(table.data-table, table.table, table) {
  border-collapse:separate;
  border-spacing:0;
}
@media (max-width: 760px) {
  :where(.table-responsive,.table-wrap,.table-wrapper,.q-table-wrap,.ql-wrap,.table-card,.data-table-wrap) {
    overflow-x:auto !important;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
  }
  :where(.table-responsive,.table-wrap,.table-wrapper,.q-table-wrap,.ql-wrap,.table-card,.data-table-wrap) > table,
  table.data-table,
  table.table {
    width:max-content;
    min-width:720px;
    max-width:none;
    table-layout:auto;
  }
  table {
    display:block;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  table thead, table tbody { width:max-content; }
  table th, table td {
    white-space:nowrap !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none;
    vertical-align:middle;
    line-height:1.45;
    min-width:max-content;
  }
  /* Long text may wrap at spaces, never in the middle of a word/name. */
  table td :where(.name,.student-name,.user-name,.person-name,.course-title,.item-title) {
    white-space:nowrap !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }
}
/* Desktop: don't let narrow grid/flex parents force table columns to collapse. */
:where(.table-responsive,.table-wrap,.table-wrapper,.q-table-wrap,.ql-wrap,.data-table-wrap) {
  min-width:0;
}


/* ===== platform-controls-v1.css ===== */
/* Platform-wide controls consistency V11: responsive filters, search and action bars */
:where(.filters,.filter-bar,.filters-bar,.search-bar,.table-toolbar,.toolbar,.page-toolbar,.list-toolbar,.table-actions,.actions-bar,.search-filters) {
  min-width:0;
  max-width:100%;
}
:where(.filters,.filter-bar,.filters-bar,.search-bar,.table-toolbar,.toolbar,.page-toolbar,.list-toolbar,.table-actions,.actions-bar,.search-filters) {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
:where(.filters,.filter-bar,.filters-bar,.search-bar,.table-toolbar,.toolbar,.page-toolbar,.list-toolbar,.table-actions,.actions-bar,.search-filters) > * {
  min-width:0;
  max-width:100%;
}
:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]), select, textarea) {
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]), select, textarea):focus-visible {
  outline:2px solid var(--primary, #355f7a);
  outline-offset:2px;
}
:where(input[type=search], input[placeholder*="بحث"], input[placeholder*="Search"]) {
  min-width:min(220px, 100%);
}
:where(button, .btn, input[type=submit], input[type=button]) {
  max-width:100%;
}
@media(max-width:760px) {
  :where(.filters,.filter-bar,.filters-bar,.search-bar,.table-toolbar,.toolbar,.page-toolbar,.list-toolbar,.table-actions,.actions-bar,.search-filters) {
    gap:8px;
    align-items:stretch;
  }
  :where(.filters,.filter-bar,.filters-bar,.search-bar,.table-toolbar,.toolbar,.page-toolbar,.list-toolbar,.table-actions,.actions-bar,.search-filters) > input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
  :where(.filters,.filter-bar,.filters-bar,.search-bar,.table-toolbar,.toolbar,.page-toolbar,.list-toolbar,.table-actions,.actions-bar,.search-filters) > select,
  :where(.filters,.filter-bar,.filters-bar,.search-bar,.table-toolbar,.toolbar,.page-toolbar,.list-toolbar,.table-actions,.actions-bar,.search-filters) > .form-control {
    flex:1 1 160px;
    width:auto;
  }
  :where(.filters,.filter-bar,.filters-bar,.search-bar,.table-toolbar,.toolbar,.page-toolbar,.list-toolbar,.table-actions,.actions-bar,.search-filters) > button,
  :where(.filters,.filter-bar,.filters-bar,.search-bar,.table-toolbar,.toolbar,.page-toolbar,.list-toolbar,.table-actions,.actions-bar,.search-filters) > .btn {
    flex:0 1 auto;
    min-height:42px;
  }
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]), select, textarea { font-size:16px; }
}


/* ===== platform-filters-v2.css ===== */
/* Qimma global filter controls V2: one responsive visual system for commercial + school pages. */
/* Shared toolbar/filter containers that are DIVs rather than GET forms on legacy pages. */
.academic-progress-filters,
.ap-filter-actions,
.ap-session-toolbar,
.q-course-filter-bar,
.q-results-filters,
.q-results-toolbar,
.q-exam-question-toolbar,
.qimma-workspace-toolbar,
.qimma-live-toolbar,
.site-review-filters,
.sc-actions,
.st-tools,
.al-f,
.filter-bar,
.filters-bar,
.search-filters,
.table-toolbar,
.page-toolbar,
.list-toolbar,
.table-actions,
.actions-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  min-width: 0;
  max-width: 100%;
}
.academic-progress-filters > input,
.academic-progress-filters > select,
.q-course-filter-bar > input,
.q-course-filter-bar > select,
.q-results-filters > input,
.q-results-filters > select,
.site-review-filters > input,
.site-review-filters > select,
.sc-actions > input,
.sc-actions > select,
.st-tools > input,
.st-tools > select,
.al-f > input,
.al-f > select {
  flex: 1 1 150px;
  min-width: 0;
  max-width: 100%;
  min-height: 40px;
  box-sizing: border-box;
}
@media (max-width: 760px) {
  .academic-progress-filters,
  .ap-filter-actions,
  .ap-session-toolbar,
  .q-course-filter-bar,
  .q-results-filters,
  .q-results-toolbar,
  .q-exam-question-toolbar,
  .qimma-workspace-toolbar,
  .qimma-live-toolbar,
  .site-review-filters,
  .sc-actions,
  .st-tools,
  .al-f,
  .filter-bar,
  .filters-bar,
  .search-filters,
  .table-toolbar,
  .page-toolbar,
  .list-toolbar,
  .table-actions,
  .actions-bar { gap: 8px; }
}
.q-filter-form {
  box-sizing: border-box;
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 9px 10px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 10px 12px;
  margin: 0 0 14px;
  border: 1px solid var(--border, #dfe4ea);
  border-radius: 12px;
  background: var(--surface, #fff);
  box-shadow: 0 1px 2px rgba(20, 32, 50, .035);
}
.q-filter-form > label,
.q-filter-form > .filter-field,
.q-filter-form > .form-group,
.q-filter-form > .form-field {
  display: flex;
  flex: 1 1 155px;
  flex-direction: column;
  justify-content: flex-end;
  gap: 5px;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  color: var(--text-secondary, #596273);
  font-size: 12px;
  font-weight: 650;
}
.q-filter-form > input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),
.q-filter-form > select,
.q-filter-form > textarea,
.q-filter-form > .form-control,
.q-filter-form > .form-select {
  box-sizing: border-box;
  flex: 1 1 155px;
  width: auto;
  min-width: 0;
  max-width: 100%;
  min-height: 40px;
  margin: 0;
}
.q-filter-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),
.q-filter-form select,
.q-filter-form textarea,
.q-filter-form .form-control,
.q-filter-form .form-select {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  min-height: 40px;
  border-radius: 9px;
}
.q-filter-form input:focus,
.q-filter-form select:focus,
.q-filter-form textarea:focus {
  outline: 2px solid var(--primary, #355f7a);
  outline-offset: 2px;
}
.q-filter-form > button,
.q-filter-form > .btn,
.q-filter-form > input[type=submit],
.q-filter-form > input[type=button],
.q-filter-form .q-filter-action {
  flex: 0 0 auto;
  min-width: 94px;
  min-height: 40px;
  margin: 0;
  white-space: nowrap;
}
.q-filter-form > .q-filter-control-group,
.q-filter-form > .filter-group {
  display: flex;
  flex: 1 1 155px;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 6px;
  min-width: 0;
}
.q-filter-form > .q-filter-control-group > input,
.q-filter-form > .q-filter-control-group > select,
.q-filter-form > .q-filter-control-group > textarea,
.q-filter-form > .q-filter-control-group > .form-control,
.q-filter-form > .q-filter-control-group > .form-select { flex: 1 1 145px; min-width: 0; max-width: 100%; }
.q-filter-form .form-text, .q-filter-form .hint, .q-filter-form .help-text { flex-basis: 100%; margin-top: 2px; font-size: 11px; }
.q-filter-form input[type=checkbox], .q-filter-form input[type=radio] { min-height: auto; width: auto; }
.q-filter-form label, .q-filter-form button, .q-filter-form input, .q-filter-form select, .q-filter-form textarea { max-width: 100%; }
@media (max-width: 760px) {
  .q-filter-form { gap: 8px; padding: 9px; border-radius: 10px; }
  .q-filter-form > label,
  .q-filter-form > .filter-field,
  .q-filter-form > .form-group,
  .q-filter-form > .form-field,
  .q-filter-form > input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),
  .q-filter-form > select,
  .q-filter-form > textarea,
  .q-filter-form > .form-control,
  .q-filter-form > .form-select { flex: 1 1 145px; }
  .q-filter-form > button,
  .q-filter-form > .btn,
  .q-filter-form > input[type=submit],
  .q-filter-form > input[type=button] { min-height: 42px; }
}
@media (max-width: 460px) {
  .q-filter-form { display: grid !important; grid-template-columns: minmax(0, 1fr); align-items: stretch; gap: 8px; }
  .q-filter-form > *,
  .q-filter-form > label,
  .q-filter-form > .filter-field,
  .q-filter-form > .form-group,
  .q-filter-form > .form-field,
  .q-filter-form > input:not([type=hidden]):not([type=checkbox]):not([type=radio]),
  .q-filter-form > select,
  .q-filter-form > textarea,
  .q-filter-form > .form-control,
  .q-filter-form > .form-select,
  .q-filter-form > button,
  .q-filter-form > .btn,
  .q-filter-form > input[type=submit],
  .q-filter-form > input[type=button] { width: 100%; min-width: 0; max-width: 100%; }
  .q-filter-form > .q-filter-control-group { display: grid; grid-template-columns: minmax(0,1fr); }
  .q-filter-form > .q-filter-control-group > * { width: 100%; min-width: 0; max-width: 100%; }
}


/* ===== qimma-global-actions-v1.css ===== */
/* Qimma platform-wide action bars, filters and responsive table rhythm. */
:root{--q-action-gap:8px;--q-control-height:40px;--q-table-pad-y:8px;--q-table-pad-x:10px}
:is(.sc-actions,.sc-toolbar,.table-toolbar,.page-toolbar,.q-page-toolbar,.ss-savebar,.settings-save-bar,.filters,.filter-bar,.filter-row,.table-filters,.export-toolbar,.crud-toolbar){display:flex;align-items:center;gap:var(--q-action-gap);flex-wrap:wrap;min-width:0}
:is(.sc-actions,.sc-toolbar,.table-toolbar,.page-toolbar,.q-page-toolbar,.filters,.filter-bar,.filter-row,.table-filters,.export-toolbar,.crud-toolbar)>:is(input,select,textarea,.form-control){min-width:min(100%,150px);max-width:100%;box-sizing:border-box}
:is(.sc-actions,.sc-toolbar,.table-toolbar,.page-toolbar,.q-page-toolbar,.filters,.filter-bar,.filter-row,.table-filters,.export-toolbar,.crud-toolbar) :is(button,.btn,.sc-iconbtn,.sc-btn-sm){min-height:36px;max-width:100%;white-space:normal}
:is(.sc-actions,.sc-toolbar,.table-toolbar,.page-toolbar,.q-page-toolbar,.filters,.filter-bar,.filter-row,.table-filters,.export-toolbar,.crud-toolbar) :is(.btn-primary,.btn-outline,.sc-iconbtn){display:inline-flex;align-items:center;justify-content:center;gap:6px}
:is(.sc-table-wrap,.st-wrap,.q-table-wrap,.table-responsive,.data-table-wrap,.table-wrap){width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
:is(.data-table,.st-t,.sc-table,.table,.q-data-table){width:100%;border-collapse:separate;border-spacing:0}
:is(.data-table,.st-t,.sc-table,.table,.q-data-table) :is(th,td){padding:var(--q-table-pad-y) var(--q-table-pad-x);vertical-align:middle;line-height:1.55;overflow-wrap:normal;word-break:normal}
:is(.data-table,.st-t,.sc-table,.table,.q-data-table) th{white-space:normal;font-weight:700}
:is(.data-table,.st-t,.sc-table,.table,.q-data-table) td{max-width:420px}
:is(.data-table,.st-t,.sc-table,.table,.q-data-table) td :is(.person-name,.user-name,.student-name,.teacher-name){white-space:normal;overflow-wrap:anywhere;word-break:normal}
:is(.sc-savebar,.ss-savebar,.settings-save-bar,.form-actions,.form-submit-row){position:sticky;bottom:0;z-index:8;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding:10px 12px;border:1px solid var(--border,#dbe2ea);border-radius:12px;background:rgba(255,255,255,.96);background:color-mix(in srgb,var(--surface,#fff) 94%,transparent);backdrop-filter:blur(8px)}
:is(.sc-savebar,.ss-savebar,.settings-save-bar,.form-actions,.form-submit-row) button[type=submit],:is(.sc-savebar,.ss-savebar,.settings-save-bar,.form-actions,.form-submit-row) input[type=submit]{min-height:42px;min-width:120px}
:is(.filter-bar,.filter-row,.filters,.table-filters) label{display:flex;flex-direction:column;gap:4px;min-width:0}
:is(.filter-bar,.filter-row,.filters,.table-filters) :is(input,select){min-height:40px;border-radius:10px}
@media(max-width:900px){:root{--q-table-pad-y:7px;--q-table-pad-x:8px} :is(.sc-actions,.sc-toolbar,.table-toolbar,.page-toolbar,.q-page-toolbar,.filters,.filter-bar,.filter-row,.table-filters,.export-toolbar,.crud-toolbar){gap:7px} :is(.sc-actions,.sc-toolbar,.table-toolbar,.page-toolbar,.q-page-toolbar,.filters,.filter-bar,.filter-row,.table-filters,.export-toolbar,.crud-toolbar)>:is(input,select,textarea,.form-control){flex:1 1 145px}}
@media(max-width:560px){:root{--q-control-height:42px;--q-table-pad-y:7px;--q-table-pad-x:7px} :is(.sc-actions,.sc-toolbar,.table-toolbar,.page-toolbar,.q-page-toolbar,.filters,.filter-bar,.filter-row,.table-filters,.export-toolbar,.crud-toolbar)>:is(input,select,textarea,.form-control){flex:1 1 100%;width:100%;min-width:0} :is(.sc-actions,.sc-toolbar,.table-toolbar,.page-toolbar,.q-page-toolbar,.filters,.filter-bar,.filter-row,.table-filters,.export-toolbar,.crud-toolbar)>:is(button,.btn,.sc-iconbtn){flex:0 1 auto} :is(.sc-savebar,.ss-savebar,.settings-save-bar,.form-actions,.form-submit-row){position:static;padding:9px;margin-top:12px} :is(.sc-savebar,.ss-savebar,.settings-save-bar,.form-actions,.form-submit-row) button[type=submit],:is(.sc-savebar,.ss-savebar,.settings-save-bar,.form-actions,.form-submit-row) input[type=submit]{flex:1 1 100%;width:100%} :is(.data-table,.st-t,.sc-table,.table,.q-data-table){min-width:680px}}
@media(prefers-reduced-motion:reduce){:is(button,.btn,a){scroll-behavior:auto!important;transition:none!important}}

/* Qimma unified toolbars v2: shared sizing and predictable layout across commercial and school screens. */
:is(.qimma-people-toolbar,.qimma-admin-users-toolbar,.qimma-page-tools,.qimma-workspace-toolbar,.qimma-crud-toolbar){display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-width:0;margin:0 0 14px;padding:10px 12px;border:1px solid var(--border,#ddd8ef);border-radius:14px;background:var(--surface,#fff);box-shadow:0 1px 2px rgba(20,20,40,.03)}
:is(.qimma-filter-strip,.qimma-workspace-actions,.qimma-toolbar-heading){display:flex;align-items:end;gap:8px;flex-wrap:wrap;min-width:0}
.qimma-toolbar-heading{align-items:center;justify-content:space-between;width:100%}
.qimma-toolbar-heading h3{margin:0;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.35}
.qimma-filter-field{display:flex;flex-direction:column;gap:5px;min-width:130px;max-width:100%;font-size:.82rem;font-weight:700;color:var(--text-soft,#5b6170)}
.qimma-filter-field .form-control,.qimma-filter-field select,.qimma-filter-field input{width:100%;min-width:0;min-height:40px;box-sizing:border-box;border:1px solid var(--border,#d9dce5);border-radius:10px;background:var(--surface,#fff);color:var(--text,#17172a);padding:7px 10px}
.qimma-result-count{display:inline-flex;align-items:center;min-height:32px;padding:4px 10px;border-radius:999px;background:var(--surface-muted,#f3f4f8);color:var(--text-soft,#5b6170);font-size:.82rem;white-space:nowrap}
.qimma-clear-filters{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px}
.qimma-add-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;white-space:nowrap}
:is(.qimma-people-toolbar,.qimma-admin-users-toolbar,.qimma-page-tools) .sc-iconbtn,
:is(.qimma-people-toolbar,.qimma-admin-users-toolbar,.qimma-page-tools) button[data-sc-print],
:is(.qimma-people-toolbar,.qimma-admin-users-toolbar,.qimma-page-tools) .sc-add-btn{width:40px;height:40px;min-width:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border,#d9dce5);border-radius:11px;background:var(--surface,#fff);color:var(--primary,#6550b4)}
.qimma-workspace-actions{align-items:center;justify-content:flex-end;margin-inline-start:auto}
:is(.qimma-people-toolbar,.qimma-admin-users-toolbar,.qimma-page-tools) .sc-tabs-end{margin-inline-start:auto}
@media(max-width:800px){:is(.qimma-people-toolbar,.qimma-admin-users-toolbar,.qimma-page-tools,.qimma-workspace-toolbar,.qimma-crud-toolbar){align-items:stretch}:is(.qimma-filter-strip,.qimma-workspace-actions){width:100%}.qimma-workspace-actions{justify-content:flex-start}}
@media(max-width:560px){:is(.qimma-people-toolbar,.qimma-admin-users-toolbar,.qimma-page-tools,.qimma-workspace-toolbar,.qimma-crud-toolbar){padding:9px;border-radius:12px;gap:10px}.qimma-filter-strip{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;width:100%}.qimma-filter-field{min-width:0;width:100%}.qimma-toolbar-heading{align-items:stretch;flex-direction:column}.qimma-add-action{width:100%}.qimma-workspace-actions{display:flex;flex-wrap:wrap;align-items:center;width:100%}}



/* Standard save/action alignment across forms, settings screens and CRUD pages. */
:is(.as-card-actions,.settings-card-actions,.sc-card-actions,.form-actions,.form-submit-row,.save-actions,.settings-actions){display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:14px}
:is(.as-card-actions,.settings-card-actions,.sc-card-actions,.form-actions,.form-submit-row,.save-actions,.settings-actions) :is(button[type=submit],input[type=submit],.btn-primary){min-height:42px;min-width:120px;display:inline-flex;align-items:center;justify-content:center;gap:7px}
:is(.as-card-actions,.settings-card-actions,.sc-card-actions,.form-actions,.form-submit-row,.save-actions,.settings-actions) :is(button,.btn){border-radius:10px}
@media(max-width:560px){:is(.as-card-actions,.settings-card-actions,.sc-card-actions,.form-actions,.form-submit-row,.save-actions,.settings-actions){display:grid;grid-template-columns:1fr;width:100%}:is(.as-card-actions,.settings-card-actions,.sc-card-actions,.form-actions,.form-submit-row,.save-actions,.settings-actions) :is(button[type=submit],input[type=submit],.btn){width:100%;min-width:0}}


/* Global action and filter consistency across commercial and school workspaces.
   Target existing shared toolbar classes so pages keep their original permissions/forms. */
:is(.sc-actions,.st-tools,.dash-top-actions,.q-results-toolbar,.q-results-filters,
    .q-course-tools,.q-course-filter-bar,.ap-session-toolbar,.q-exam-question-toolbar,
    .site-review-filters,.scu-filters,.qimma-live-toolbar,.st-toolbar,.page-actions,
    .table-actions,.table-toolbar,.data-toolbar,.export-toolbar,.crud-toolbar) {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    min-width:0;
}
:is(.sc-actions,.st-tools,.dash-top-actions,.q-results-toolbar,.q-results-filters,
    .q-course-tools,.q-course-filter-bar,.ap-session-toolbar,.q-exam-question-toolbar,
    .site-review-filters,.scu-filters,.qimma-live-toolbar,.st-toolbar,.page-actions,
    .table-actions,.table-toolbar,.data-toolbar,.export-toolbar,.crud-toolbar)
:is(input[type="search"],input[type="text"],input[type="email"],input[type="number"],select,.form-control) {
    min-height:40px;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
    border-radius:10px;
}
:is(.sc-actions,.st-tools,.dash-top-actions,.q-results-toolbar,.qimma-live-toolbar,
    .page-actions,.table-actions,.table-toolbar,.data-toolbar,.export-toolbar,.crud-toolbar)
:is(button,.btn,.sc-iconbtn,[role="button"]) {
    min-height:40px;
    border-radius:10px;
}
:is(.sc-actions,.st-tools,.dash-top-actions,.q-results-toolbar,.qimma-live-toolbar,
    .page-actions,.table-actions,.table-toolbar,.data-toolbar,.export-toolbar,.crud-toolbar)
:is(.sc-iconbtn,button.icon-button,.icon-button,button[data-action="print"],button[data-action="download"]) {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
}
:is(.sc-filters,.scu-filters,.site-review-filters,.q-results-filters,.academic-progress-filters,
    .q-course-filter-bar,.filter-bar,.filter-row,.filters,.table-filters) {
    display:flex;
    align-items:end;
    flex-wrap:wrap;
    gap:9px;
    min-width:0;
}
:is(.sc-filters,.scu-filters,.site-review-filters,.q-results-filters,.academic-progress-filters,
    .q-course-filter-bar,.filter-bar,.filter-row,.filters,.table-filters) > * {
    min-width:0;
    max-width:100%;
}
:is(.form-actions,.form-submit-row,.save-actions,.settings-actions,.settings-save-bar,
    .ss-savebar,.sc-savebar,.policy-save-bar,.q-unified-exam-save-actions,.q-exam-save-actions) {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:9px;
}
:is(.form-actions,.form-submit-row,.save-actions,.settings-actions,.settings-save-bar,
    .ss-savebar,.sc-savebar,.policy-save-bar,.q-unified-exam-save-actions,.q-exam-save-actions)
:is(button[type="submit"],input[type="submit"],.btn-primary) {
    min-height:42px;
    padding-inline:16px;
    border-radius:10px;
}
@media(max-width:760px) {
    :is(.sc-actions,.st-tools,.dash-top-actions,.q-results-toolbar,.q-results-filters,
        .q-course-tools,.q-course-filter-bar,.ap-session-toolbar,.q-exam-question-toolbar,
        .site-review-filters,.scu-filters,.qimma-live-toolbar,.st-toolbar,.page-actions,
        .table-actions,.table-toolbar,.data-toolbar,.export-toolbar,.crud-toolbar) {
        gap:7px;
    }
    :is(.sc-actions,.st-tools,.dash-top-actions,.q-results-toolbar,.q-results-filters,
        .q-course-tools,.q-course-filter-bar,.ap-session-toolbar,.site-review-filters,
        .scu-filters,.qimma-live-toolbar,.page-actions,.table-actions,.table-toolbar,
        .data-toolbar,.export-toolbar,.crud-toolbar) > :is(form,.filter-group,.filter-field) {
        min-width:min(100%, 220px);
        max-width:100%;
    }
}
@media(max-width:480px) {
    :is(.sc-actions,.st-tools,.dash-top-actions,.q-results-toolbar,.q-results-filters,
        .q-course-tools,.q-course-filter-bar,.ap-session-toolbar,.q-exam-question-toolbar,
        .site-review-filters,.scu-filters,.qimma-live-toolbar,.st-toolbar,.page-actions,
        .table-actions,.table-toolbar,.data-toolbar,.export-toolbar,.crud-toolbar) {
        align-items:stretch;
    }
    :is(.sc-actions,.st-tools,.dash-top-actions,.q-results-toolbar,.q-results-filters,
        .q-course-tools,.q-course-filter-bar,.ap-session-toolbar,.site-review-filters,
        .scu-filters,.qimma-live-toolbar,.page-actions,.table-actions,.table-toolbar,
        .data-toolbar,.export-toolbar,.crud-toolbar) > form {
        flex:1 1 100%;
    }
    :is(.sc-actions,.st-tools,.dash-top-actions,.q-results-toolbar,.qimma-live-toolbar,
        .page-actions,.table-actions,.table-toolbar,.data-toolbar,.export-toolbar,.crud-toolbar)
    :is(input[type="search"],input[type="text"],input[type="email"],input[type="number"],select,.form-control) {
        width:100%;
    }
    :is(.form-actions,.form-submit-row,.save-actions,.settings-actions,.settings-save-bar,
        .ss-savebar,.sc-savebar,.policy-save-bar,.q-unified-exam-save-actions,.q-exam-save-actions) {
        display:grid;
        grid-template-columns:minmax(0,1fr);
    }
    :is(.form-actions,.form-submit-row,.save-actions,.settings-actions,.settings-save-bar,
        .ss-savebar,.sc-savebar,.policy-save-bar,.q-unified-exam-save-actions,.q-exam-save-actions)
    :is(button[type="submit"],input[type="submit"],.btn-primary) {
        width:100%;
        min-width:0;
    }
}

