/* QAJ O² Admin UI v4 - unified shell + fresh module skin */
*{box-sizing:border-box} :root{--side:292px;--bg:#eef1eb;--bg2:#fbfaf6;--card:#fffffff0;--ink:#101828;--muted:#667085;--line:rgba(15,23,42,.1);--line2:rgba(15,23,42,.16);--gold:#d7ad31;--gold2:#ffdf72;--nav:#0b1425;--nav2:#172239;--green:#027a48;--red:#b42318;--blue:#175cd3;--orange:#b54708;--shadow:0 20px 55px rgba(16,24,40,.1);--hard:0 32px 90px rgba(2,8,23,.26);--r:26px}body.dark-mode{--bg:#08111f;--bg2:#101a2d;--card:rgba(18,30,50,.94);--ink:#f8fafc;--muted:#a7b0c0;--line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.16);--nav:#050a13;--nav2:#0f1b31}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:linear-gradient(rgba(15,23,42,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.025) 1px,transparent 1px),radial-gradient(circle at 16% 0%,rgba(215,173,49,.22),transparent 34%),radial-gradient(circle at 85% 8%,rgba(37,99,235,.08),transparent 30%),linear-gradient(135deg,var(--bg2),var(--bg));background-size:34px 34px,34px 34px,auto,auto,auto}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.muted{color:var(--muted)}
/* one sidebar everywhere */.qaj-side-panel{position:fixed;inset:14px auto 14px 14px;width:var(--side);z-index:2000;background:linear-gradient(180deg,var(--nav),var(--nav2));border:1px solid rgba(255,255,255,.1);border-radius:30px;box-shadow:var(--hard);color:#fff;display:flex;flex-direction:column;overflow:hidden}.qaj-side-brand{display:flex;gap:12px;align-items:center;text-decoration:none;padding:16px;border-bottom:1px solid rgba(255,255,255,.08)}.qaj-brand-mark{width:50px;height:50px;border-radius:18px;background:linear-gradient(135deg,var(--gold),var(--gold2));display:grid;place-items:center;color:#101828;font-weight:1000;font-size:22px;box-shadow:0 16px 35px rgba(215,173,49,.24)}.qaj-side-brand strong{display:block;font-size:16px;letter-spacing:-.02em}.qaj-side-brand small{display:block;color:#cbd5e1;font-size:12px;margin-top:2px}.qaj-side-scroll{overflow:auto;padding:12px 10px;display:grid;gap:14px}.qaj-side-scroll::-webkit-scrollbar{width:8px}.qaj-side-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:99px}.qaj-side-group p{margin:8px 10px;color:#ffdf72;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.12em}.qaj-side-link{display:flex;gap:11px;align-items:center;text-decoration:none;color:#dbe3ef;border:1px solid transparent;border-radius:17px;padding:11px 12px;font-size:14px;font-weight:850;transition:.16s ease}.qaj-side-link span{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.08);font-size:14px}.qaj-side-link:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1);transform:translateX(3px);color:#fff}.qaj-side-link.active{background:linear-gradient(135deg,rgba(215,173,49,.25),rgba(255,255,255,.08));border-color:rgba(255,223,114,.34);color:#fff}.qaj-side-link.active span{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111827}.qaj-side-footer{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.08)}.qaj-side-footer button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:#fff;border-radius:15px;padding:11px;font-weight:950}.qaj-side-footer button:hover{background:#fff;color:#101828}.qaj-mobile-dock{display:none}
/* page layout */.page{min-height:100vh;padding:28px;margin-left:calc(var(--side) + 24px);max-width:calc(100vw - var(--side) - 24px)}.qaj-command-page{padding-top:28px}.section-header{width:min(100%,1320px);margin:0 auto 18px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.78)),radial-gradient(circle at 92% 12%,rgba(215,173,49,.25),transparent 30%);border:1px solid var(--line);border-radius:30px;padding:26px;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:18px;align-items:center}.dark-mode .section-header{background:linear-gradient(135deg,rgba(18,30,50,.95),rgba(18,30,50,.7)),radial-gradient(circle at 92% 12%,rgba(215,173,49,.18),transparent 30%)}.section-header h1{font-size:clamp(34px,4vw,58px);line-height:.92;margin:8px 0 10px;letter-spacing:-.075em}.eyebrow{margin:0;color:#9d7411;font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.16em}.dark-mode .eyebrow{color:#ffdf72}.subtitle,.subtitle-left{margin:0;color:var(--muted);line-height:1.55}.qaj-hero-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.qaj-hero-tools button{border:1px solid var(--line);background:#fff;color:#101828;border-radius:16px;padding:11px 14px;font-weight:950}.dark-mode .qaj-hero-tools button{background:rgba(255,255,255,.07);color:#fff}.logout-btn,.back-btn,.o2-command-ribbon{display:none!important}
/* cards, actions, inputs */.table-card,.card,.student-tools-card,.day-top-panel,.available-day-panel,.teacher-time-dashboard-top>section{width:min(100%,1320px);margin:0 auto 18px;background:var(--card);border:1px solid var(--line);border-radius:28px;padding:20px;box-shadow:0 13px 34px rgba(15,23,42,.06);backdrop-filter:blur(16px)}.module-actions{width:min(100%,1320px);margin:0 auto 18px;background:rgba(255,255,255,.62);border:1px solid var(--line);border-radius:24px;padding:12px;display:flex;gap:10px;flex-wrap:wrap}.dark-mode .module-actions{background:rgba(255,255,255,.04)}.primary-action,.secondary-action,.submit-btn,.primary-btn,.secondary-btn,.danger-btn,.mini-action,.mini-danger-action,.o2-mini,.qaj-action-pill{border:0;border-radius:15px;padding:11px 15px;font-weight:950;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.15;white-space:nowrap}.primary-action,.submit-btn,.primary-btn,.mini-action{background:#101828;color:#fff}.secondary-action,.secondary-btn{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#17130a}.mini-danger-action,.danger-btn{background:#fee4e2;color:var(--red)}button:hover,.primary-action:hover,.secondary-action:hover,.mini-action:hover,.submit-btn:hover{filter:brightness(.98);transform:translateY(-1px)}input,select,textarea{width:100%;border:1px solid var(--line2);background:rgba(255,255,255,.9);color:var(--ink);border-radius:16px;padding:12px 14px;outline:none}textarea{min-height:96px;resize:vertical}.dark-mode input,.dark-mode select,.dark-mode textarea{background:rgba(255,255,255,.06)}input:focus,select:focus,textarea:focus{border-color:rgba(215,173,49,.8);box-shadow:0 0 0 4px rgba(215,173,49,.14)}.grid{display:grid;grid-template-columns:210px 1fr;gap:12px;align-items:center}label{font-weight:950;color:var(--ink);font-size:14px}.small-muted{color:var(--muted);font-size:12px}.table-title,.card-head,.split-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.table-title h2,.card-head h2,.split-title h2{margin:0;font-size:24px;letter-spacing:-.04em}.table-title p,.card-head p,.split-title p{margin:5px 0 0;color:var(--muted)}
/* tables */.qaj-table-frame,.table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.45)}.dark-mode .qaj-table-frame,.dark-mode .table-wrap{background:rgba(255,255,255,.035)}.qaj-table-frame>.table-wrap{border:0;border-radius:0;background:transparent}table{width:100%;min-width:860px;border-collapse:separate;border-spacing:0}th{position:sticky;top:0;z-index:2;background:#f8fafc;color:#334155;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:1000}.dark-mode th{background:#111d31;color:#cbd5e1}th,td{padding:15px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}td{color:var(--ink);font-size:14px}tr:hover td{background:rgba(215,173,49,.045)}.empty{text-align:center;color:var(--muted);padding:24px}.row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.status-pill,.pill,.pill-msg,.message-priority{display:inline-flex;width:max-content;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.03em}.status-in-class,.status-done,.pill.green{background:#dcfae6;color:var(--green)}.status-left,.status-missed,.pill.red,.pill-urgent{background:#fee4e2;color:var(--red)}.status-on-leave,.status-pending,.pill.orange,.pill-feed{background:#fff3cd;color:#9a5b00}.status-rescheduled,.pill.blue,.pill-chat{background:#dbeafe;color:var(--blue)}.pill.gray{background:#f1f5f9;color:#475467}.filter-row,.filter-inline,.compact-filter-row{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0}.filter-btn,.chip{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 13px;font-weight:950}.dark-mode .filter-btn,.dark-mode .chip{background:rgba(255,255,255,.05)}.filter-btn.active,.chip.active{background:#101828;color:#fff;border-color:#101828}.dark-mode .filter-btn.active,.dark-mode .chip.active{background:#fff;color:#101828}
/* dashboard/index */.qaj-stat-grid{width:min(100%,1320px);margin:0 auto 18px;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.qaj-stat-grid article,.qaj-stat{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.qaj-stat-grid small{display:block;color:var(--muted);font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.08em}.qaj-stat-grid strong{display:block;margin-top:8px;font-size:34px;letter-spacing:-.06em}.qaj-command-search{width:min(100%,1320px);margin:0 auto 18px;display:grid;grid-template-columns:1fr auto;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:12px}.qaj-command-search button{border:0;border-radius:16px;background:#101828;color:#fff;font-weight:950;padding:0 18px}.qaj-module-section{width:min(100%,1320px);margin:0 auto 22px}.qaj-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.qaj-section-head h2{margin:0;font-size:22px;letter-spacing:-.04em}.qaj-section-head span{color:var(--muted);font-weight:850}.qaj-module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.qaj-module-card{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:18px;text-decoration:none;color:var(--ink);box-shadow:0 10px 28px rgba(15,23,42,.05);display:grid;gap:8px;transition:.16s}.qaj-module-card:hover{transform:translateY(-3px);border-color:rgba(215,173,49,.65);box-shadow:0 20px 45px rgba(15,23,42,.1)}.qaj-module-card span{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111827;font-weight:1000}.qaj-module-card strong{font-size:18px;letter-spacing:-.03em}.qaj-module-card small{color:var(--muted);font-weight:800}.qaj-feature-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.qaj-check{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:12px;background:rgba(255,255,255,.5)}.qaj-check input{width:auto}
/* modals and special cards */.modal{position:fixed;inset:0;display:none;place-items:center;background:rgba(2,8,23,.72);backdrop-filter:blur(8px);z-index:3000;padding:18px;overflow:auto}.modal.show{display:grid}.modal-box{width:min(920px,100%);max-height:92vh;overflow:auto;padding:24px;border-radius:32px;background:var(--card);box-shadow:var(--hard)}.large-modal{width:min(1120px,100%)}.extra-large-modal{width:min(1380px,100%)}.modal-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}.modal-header h2{margin:0;font-size:26px;letter-spacing:-.04em}.close-btn{width:44px;height:44px;border-radius:999px;border:0;background:#f1f5f9;color:#101828;font-size:24px;display:grid;place-items:center}.message{min-height:20px;margin:10px 0 0;font-size:13px;font-weight:900}.message.error{color:var(--red)}.message.success{color:var(--green)}.message-board-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px}.message-sidebar,.message-panel,.family-group-card,.family-accordion,.family-suggestion-box,.assignment-card-note,.eligibility-summary-card,.details-card,.item-card,.message-card,.simple-list-item,.feed-post,.class-select-card,.student-row-card,.time-card,.um-person-card{border:1px solid var(--line)!important;background:rgba(255,255,255,.62)!important;border-radius:22px!important;padding:14px!important;color:var(--ink);box-shadow:0 8px 22px rgba(15,23,42,.04)}.dark-mode .message-sidebar,.dark-mode .message-panel,.dark-mode .item-card,.dark-mode .message-card,.dark-mode .family-group-card,.dark-mode .family-accordion,.dark-mode .family-suggestion-box,.dark-mode .assignment-card-note,.dark-mode .eligibility-summary-card,.dark-mode .details-card,.dark-mode .class-select-card,.dark-mode .student-row-card,.dark-mode .time-card,.dark-mode .um-person-card{background:rgba(255,255,255,.045)!important}.item-card.clickable:hover,.message-card:hover,.class-select-card:hover,.student-row-card:hover,.time-card:hover{transform:translateY(-2px);border-color:rgba(215,173,49,.65)!important}.list-stack,.simple-list,.message-list,.messages-thread-list,.thread-feed-list{display:grid;gap:11px}.item-top,.message-thread-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.item-meta,.message-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px;font-weight:800}.chat-bubbles{display:grid;gap:10px;align-content:start;max-height:56vh;overflow:auto;padding:12px;background:rgba(15,23,42,.035);border-radius:22px}.chat-bubble{max-width:78%;border:1px solid var(--line);background:var(--card);border-radius:22px;padding:12px}.chat-bubble.mine{justify-self:end;background:#ecfdf3;color:#064e3b;border-color:#bbf7d0}.chat-reply-row{display:grid;grid-template-columns:1fr auto;gap:10px}.classes-layout{display:grid!important;grid-template-columns:minmax(260px,370px) 1fr;gap:18px;align-items:start}.classes-card-grid,.available-slots-grid,.time-board-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.entry-box-row,.qaj-month-row-boxes{display:flex;gap:8px;flex-wrap:wrap}.qaj-mini-class-box,.entry-box{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:10px;min-width:82px;display:grid;gap:4px;text-align:center}.day-top-row{display:flex;gap:10px;overflow:auto;padding-bottom:4px}.day-chip{min-width:120px;border:1px solid var(--line);background:var(--card);border-radius:18px;padding:12px;display:grid;gap:5px;text-align:left}.day-chip.active{background:#101828;color:#fff}.time-block-bulk-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;background:rgba(215,173,49,.1);border:1px solid rgba(215,173,49,.25);border-radius:20px;padding:12px;margin:12px 0}.qaj-autoload-status{width:min(100%,1320px);margin:0 auto 14px;padding:12px 16px;border-radius:20px;background:rgba(16,24,40,.92);color:#fff;box-shadow:0 16px 40px rgba(2,8,23,.18);display:flex;gap:10px;align-items:center;transition:.3s}.qaj-autoload-status.ready{background:rgba(5,150,105,.95)}.qaj-autoload-status.error{background:rgba(185,28,28,.95)}.qaj-autoload-status.fade-out{opacity:0;transform:translateY(-6px);pointer-events:none}.pulse-dot{width:10px;height:10px;border-radius:50%;background:var(--gold2);animation:qajPulse 1.2s infinite}@keyframes qajPulse{70%{box-shadow:0 0 0 9px rgba(255,223,114,0)}100%{box-shadow:0 0 0 0 rgba(255,223,114,0)}}.compact-mode .table-card,.compact-mode .card,.compact-mode .section-header{padding:15px}.compact-mode td{padding:10px 12px}.compact-mode th{padding:11px 12px}
/* login */.login-page,.login-screen,.o2-login-gate{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(470px,100%);padding:30px;border-radius:32px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}.login-card h1{margin:0 0 8px;font-size:38px;letter-spacing:-.06em}.login-form{display:grid;gap:12px;margin-top:18px}.brand-row{display:flex;gap:12px;align-items:center;margin-bottom:14px}
@media(max-width:1180px){:root{--side:252px}.qaj-stat-grid{grid-template-columns:repeat(3,1fr)}.classes-layout,.message-board-grid{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.table-title,.card-head,.split-title{display:grid}.row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.row-actions button{width:100%}}
@media(max-width:900px){.qaj-side-panel{display:none}.qaj-mobile-dock{display:grid;position:fixed;left:10px;right:10px;bottom:10px;z-index:2200;background:rgba(7,13,24,.94);border:1px solid rgba(255,255,255,.1);border-radius:26px;box-shadow:0 24px 70px rgba(2,8,23,.36);backdrop-filter:blur(18px);padding:8px;grid-template-columns:repeat(5,1fr);gap:5px}.qaj-mobile-dock a{text-decoration:none;color:rgba(255,255,255,.68);display:grid;place-items:center;gap:2px;padding:8px 2px;border-radius:18px;font-weight:900}.qaj-mobile-dock span{font-size:18px}.qaj-mobile-dock small{font-size:10px}.qaj-mobile-dock a.active{background:#fff;color:#0f172a}.page{margin-left:0;max-width:none;padding:14px 12px 100px}.section-header{padding:22px;border-radius:26px}.section-header h1{font-size:42px}.qaj-hero-tools,.module-actions,.row-actions,.chat-reply-row{display:grid;grid-template-columns:1fr}.qaj-hero-tools button,.module-actions button,.module-actions a{width:100%}.table-card,.card,.student-tools-card{padding:15px;border-radius:24px}.qaj-stat-grid{grid-template-columns:repeat(2,1fr)}.qaj-command-search{grid-template-columns:1fr}.qaj-module-grid{grid-template-columns:1fr}.modal-box{border-radius:26px;padding:18px}.chat-bubble{max-width:100%}}
@media(max-width:560px){.qaj-stat-grid{grid-template-columns:1fr 1fr}.section-header h1{font-size:34px}.row-actions{grid-template-columns:1fr}th,td{padding:12px 10px}}


/* =========================================================
   QAJ O² ADMIN UI V5 — NON-TECH SAFE + CLEANER MODULE UI
   Goal: same working logic, but easier for non-technical admins.
========================================================= */
:root{
  --side: 286px;
  --safe-red:#dc2626;
  --soft-card:#ffffffeb;
  --soft-shadow:0 18px 44px rgba(15,23,42,.08);
}
body{
  font-size:15px;
  line-height:1.45;
  overflow-x:hidden;
}
body.qaj-has-side-panel .page{
  margin-left:calc(var(--side) + 34px)!important;
  width:calc(100vw - var(--side) - 58px)!important;
  max-width:none!important;
  padding:26px 34px 70px 0!important;
}
.section-header,.module-actions,.table-card,.card,.student-tools-card,.qaj-stat-grid,.qaj-command-search,.qaj-module-section,.qaj-autoload-status{
  width:min(100%,1280px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.section-header{
  min-height:126px;
  padding:26px 30px!important;
  border-radius:28px!important;
  align-items:center!important;
}
.section-header h1{font-size:clamp(34px,3vw,52px)!important;letter-spacing:-.065em!important;line-height:.98!important;}
.module-actions{
  position:sticky;
  top:14px;
  z-index:980;
  backdrop-filter:blur(16px);
  background:rgba(255,255,255,.76)!important;
  border-radius:24px!important;
  box-shadow:0 12px 28px rgba(15,23,42,.06)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  padding:12px!important;
}
.dark-mode .module-actions{background:rgba(15,23,42,.7)!important;}
.module-actions .primary-action,.module-actions .secondary-action,.module-actions .qaj-action-pill,.module-actions a{
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  line-height:1.1!important;
}
.table-card,.card,.student-tools-card{
  border-radius:28px!important;
  padding:22px!important;
  background:var(--soft-card)!important;
  box-shadow:var(--soft-shadow)!important;
}
.table-title,.card-head,.split-title{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:18px!important;
}
.table-title h2,.card-head h2,.split-title h2{font-size:24px!important;letter-spacing:-.045em!important;margin:0 0 4px!important;}
.table-title p,.card-head p,.split-title p{margin:0!important;color:var(--muted)!important;}
.qaj-table-frame{border-radius:22px!important;overflow:hidden!important;border:1px solid var(--line)!important;background:#fff!important;}
.dark-mode .qaj-table-frame{background:rgba(255,255,255,.04)!important;}
table{min-width:980px!important;}
th{font-size:11px!important;letter-spacing:.08em!important;color:#334155!important;background:#f8fafc!important;padding:14px!important;}
td{font-size:14px!important;padding:14px!important;vertical-align:middle!important;}
td .row-actions,.row-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;}
button,.primary-action,.secondary-action,.mini-action,.mini-danger-action,.submit-btn,.filter-btn,.chip,.qaj-action-pill{
  border-radius:14px!important;
  font-weight:900!important;
  letter-spacing:-.015em!important;
}
.primary-action,.submit-btn{background:#0f172a!important;color:#fff!important;}
.secondary-action{background:linear-gradient(135deg,#f7c948,#ffe082)!important;color:#111827!important;}
.mini-action{background:#0f172a!important;color:#fff!important;}
.mini-danger-action{background:#fee2e2!important;color:#b91c1c!important;}
input,select,textarea{
  min-height:44px!important;
  border-radius:16px!important;
  border:1px solid rgba(15,23,42,.14)!important;
  background:#fff!important;
  font-size:14px!important;
}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:#d7ad31!important;box-shadow:0 0 0 4px rgba(215,173,49,.16)!important;}
.grid{grid-template-columns:minmax(170px,220px) minmax(0,1fr)!important;gap:14px 16px!important;align-items:center!important;}
label{font-size:13px!important;font-weight:900!important;color:#334155!important;}
.filter-row,.compact-filter-row{align-items:center!important;gap:8px!important;}
.filter-btn,.chip{min-height:38px!important;background:#fff!important;border-color:var(--line)!important;}
.filter-btn.active,.chip.active{background:#0f172a!important;color:#fff!important;}
.status-pill{font-size:11px!important;padding:7px 11px!important;border:0!important;box-shadow:none!important;}
.status-in-class,.status-done{background:#dcfce7!important;color:#047857!important;}
.status-left,.status-missed{background:#fee2e2!important;color:#b91c1c!important;}
.status-on-leave,.status-pending{background:#fef3c7!important;color:#b45309!important;}

/* Sidebar readability */
.qaj-side-panel{border-radius:26px!important;inset:10px auto 10px 10px!important;}
.qaj-side-scroll{padding:12px!important;}
.qaj-side-link{min-height:44px!important;border-radius:16px!important;}
.qaj-side-link strong{font-size:13.5px!important;}
.qaj-side-group p{margin-top:12px!important;margin-bottom:6px!important;}
.qaj-side-footer{grid-template-columns:1fr!important;}
.qaj-safe-note{margin:8px 12px 0;padding:10px;border-radius:16px;background:rgba(34,197,94,.10);border:1px solid rgba(34,197,94,.20);color:#dcfce7;font-size:12px;font-weight:800;line-height:1.35;}
.qaj-advanced-toggle{background:rgba(255,255,255,.08)!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)!important;}
body:not(.advanced-mode) .mini-danger-action,
body:not(.advanced-mode) button[onclick*="delete" i],
body:not(.advanced-mode) button[onclick*="Delete" i],
body:not(.advanced-mode) button[onclick*="Disable" i],
body:not(.advanced-mode) button[onclick*="disable" i]{
  opacity:.35!important;
  filter:grayscale(.4)!important;
}
body:not(.advanced-mode) .qaj-danger-shield{display:inline-flex!important;}
.qaj-danger-shield{display:none;margin-left:6px;color:#b45309;font-size:11px;font-weight:900;}

/* Modals: scrollable and safe */
.modal{align-items:flex-start!important;place-items:unset!important;justify-content:center!important;padding:28px 18px!important;overflow:auto!important;}
.modal.show{display:flex!important;}
.modal-box{max-height:calc(100vh - 56px)!important;overflow-y:auto!important;border-radius:28px!important;margin:auto!important;}
.modal-box.extra-large-modal,.extra-large-modal{width:min(1180px,calc(100vw - 38px))!important;}
.modal-box.large-modal,.large-modal{width:min(980px,calc(100vw - 38px))!important;}
.modal-header{position:sticky!important;top:0!important;background:var(--card)!important;z-index:4!important;margin:-24px -24px 18px!important;padding:20px 24px 14px!important;border-radius:28px 28px 0 0!important;}
#studentModal .modal-box,#familyAssignModal .modal-box,#taskModal .modal-box{max-height:calc(100vh - 54px)!important;overflow:auto!important;display:block!important;}
#taskModal #taskForm{overflow:visible!important;}
#taskModal .entry-form-actions,.qaj-sticky-modal-actions{position:sticky!important;bottom:0!important;background:var(--card)!important;border-top:1px solid var(--line)!important;padding:12px!important;z-index:5!important;}

/* Messages: cleaner workbench */
body.qaj-module-messages .message-board-grid{grid-template-columns:330px minmax(0,1fr) 280px!important;align-items:start!important;}
body.qaj-module-messages .message-sidebar,
body.qaj-module-messages .message-panel,
body.qaj-module-messages .qaj-message-rail{min-height:620px!important;max-height:calc(100vh - 240px)!important;overflow:auto!important;}
body.qaj-module-messages .message-card{padding:14px!important;border-radius:18px!important;background:#fff!important;}
body.qaj-module-messages .message-card.active{background:#fff8df!important;border-color:#d7ad31!important;}
body.qaj-module-messages .chat-bubbles{max-height:420px!important;background:#f8fafc!important;}
.qaj-message-rail{border:1px solid var(--line);background:var(--card);border-radius:22px;padding:16px;box-shadow:0 8px 22px rgba(15,23,42,.04);display:grid;gap:12px;}
.qaj-message-rail h3{margin:0;font-size:18px;}
.qaj-rail-action{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px;text-align:left;font-weight:900;display:grid;gap:4px;}
.qaj-rail-action small{color:var(--muted);font-weight:700;}
.qaj-help-box{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:12px;color:#475569;font-size:13px;}

/* Tasks: clearer board */
.task-layout{grid-template-columns:390px minmax(0,1fr)!important;gap:18px!important;}
.task-sidebar,.task-detail{border-radius:24px!important;background:var(--card)!important;box-shadow:0 8px 22px rgba(15,23,42,.04)!important;}
.task-card{border-radius:18px!important;background:#fff!important;}
.task-card.active{background:#fff8df!important;border-color:#d7ad31!important;}
.task-dashboard-grid{width:min(100%,1280px)!important;margin-left:auto!important;margin-right:auto!important;}
.task-form-grid{grid-template-columns:minmax(170px,220px) 1fr!important;gap:14px!important;}
.qaj-task-extra-panel{grid-column:1/-1;background:#f8fafc;border:1px solid var(--line);border-radius:20px;padding:16px;display:grid;gap:12px;}
.qaj-task-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.qaj-task-extra-grid label{display:grid;gap:6px;}

/* Admin access granular */
.o2-feature-checklist,.qaj-feature-checklist{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;gap:10px!important;}
.o2-check,.qaj-permission-check{display:flex!important;gap:10px!important;align-items:flex-start!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;padding:12px!important;font-weight:800!important;}
.o2-check input,.qaj-permission-check input{width:auto!important;min-height:auto!important;margin-top:3px!important;}
.qaj-permission-group{grid-column:1/-1;margin-top:8px;font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.12em;color:#9d7411;}

/* dashboard cards softer */
.qaj-module-card{border-radius:24px!important;min-height:150px!important;}
.qaj-module-card strong{font-size:19px!important;}

@media(max-width:1180px){
  body.qaj-has-side-panel .page{margin-left:0!important;width:100%!important;max-width:none!important;padding:14px 14px 100px!important;}
  .qaj-side-panel{display:none!important;}
  body.qaj-module-messages .message-board-grid,.task-layout,.classes-layout{grid-template-columns:1fr!important;}
  body.qaj-module-messages .qaj-message-rail{min-height:auto!important;}
  .grid,.task-form-grid{grid-template-columns:1fr!important;}
  .table-title,.card-head,.split-title{display:grid!important;}
  .module-actions{position:static!important;}
}
@media(max-width:700px){
  .section-header{min-height:auto!important;padding:20px!important;}
  .section-header h1{font-size:34px!important;}
  .table-card,.card{padding:16px!important;}
  .qaj-task-extra-grid{grid-template-columns:1fr!important;}
  .module-actions .primary-action,.module-actions .secondary-action,.module-actions .qaj-action-pill{width:100%!important;}
}


/* =========================================================
   QAJ O² ADMIN UI V6 — GLOBAL POLISH PASS
   Purpose: fix repeated layout/UI issues across every module page.
   This is a visual/UX layer only. Business logic remains untouched.
========================================================= */
:root{
  --side:270px;
  --content-max:1240px;
  --page-pad:28px;
  --soft-bg:#f6f4ec;
  --card-solid:#ffffff;
  --soft-line:#e7eaf0;
  --row-hover:#fffaf0;
}
body{
  background:
    radial-gradient(circle at 10% 0%, rgba(215,173,49,.16), transparent 31%),
    radial-gradient(circle at 92% 12%, rgba(51,93,170,.07), transparent 32%),
    linear-gradient(180deg,#faf9f4 0%,#f1f4f7 100%) !important;
}
body::before{
  content:"";
  position:fixed; inset:0; pointer-events:none; z-index:-1;
  background-image:linear-gradient(rgba(15,23,42,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.028) 1px,transparent 1px);
  background-size:36px 36px;
  opacity:.55;
}
body.dark-mode::before{opacity:.12}

/* Layout: stop centered islands and bring content closer to the sidebar */
.page{
  margin-left:calc(var(--side) + 28px) !important;
  max-width:none !important;
  width:auto !important;
  padding:26px 30px 56px !important;
}
.section-header,
.module-actions,
.table-card,
.card,
.student-tools-card,
.teacher-tools-card,
.day-top-panel,
.available-day-panel,
.teacher-time-dashboard-top>section,
.filter-row:not(.compact-filter-row):not(.time-filter-row),
.qaj-stat-grid,
.qaj-command-search,
.qaj-module-section{
  width:min(100%, var(--content-max)) !important;
  max-width:var(--content-max) !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.filter-row:not(.compact-filter-row):not(.time-filter-row){
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  padding:0 !important;
}

/* Sidebar: cleaner, less bulky, same everywhere */
.qaj-side-panel{
  width:var(--side) !important;
  inset:10px auto 10px 10px !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#081225 0%,#101b31 100%) !important;
}
.qaj-side-brand{padding:14px 15px !important}.qaj-brand-mark{width:44px!important;height:44px!important;border-radius:15px!important}
.qaj-side-scroll{gap:10px!important;padding:10px 9px!important}.qaj-side-group p{margin:10px 10px 6px!important;font-size:10px!important}.qaj-side-link{padding:10px 11px!important;border-radius:14px!important;font-size:13px!important}.qaj-side-link span{width:26px!important;height:26px!important;border-radius:9px!important}.qaj-side-footer{grid-template-columns:1fr!important;gap:7px!important;padding:9px!important}.qaj-side-footer button{padding:9px 10px!important;border-radius:13px!important}.qaj-safe-note{margin:8px 10px!important;padding:9px 10px!important;border-radius:13px!important;font-size:10.5px!important;line-height:1.35!important;background:rgba(16,185,129,.11)!important;border:1px solid rgba(16,185,129,.28)!important;color:#d1fae5!important}

/* Compact professional page hero */
.section-header{
  min-height:0 !important;
  padding:22px 24px !important;
  border-radius:26px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,255,255,.88)) !important;
  box-shadow:0 12px 34px rgba(15,23,42,.075) !important;
}
.section-header h1{font-size:clamp(34px,3.3vw,48px)!important;line-height:.98!important;letter-spacing:-.065em!important;margin:6px 0 8px!important}.section-header .subtitle-left,.section-header .subtitle{font-size:14px!important}.eyebrow{font-size:11px!important;letter-spacing:.14em!important}.qaj-hero-tools{margin-left:auto!important}.qaj-hero-tools button{padding:9px 12px!important;border-radius:13px!important}

/* Action bars: make them look intentional */
.module-actions{
  padding:10px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.74) !important;
  box-shadow:0 8px 22px rgba(15,23,42,.045) !important;
  align-items:center !important;
}
.module-actions::before{content:"Actions";font-size:11px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase;color:#8a6a13;margin:0 4px 0 2px;align-self:center}.module-actions .qaj-hidden-load{display:none!important}.primary-action,.secondary-action,.submit-btn,.primary-btn,.secondary-btn,.danger-btn,.mini-action,.mini-danger-action,.o2-mini,.qaj-action-pill{min-height:38px!important;border-radius:13px!important;padding:10px 14px!important;font-size:13px!important;box-shadow:none!important}.primary-action,.submit-btn,.primary-btn,.mini-action{background:#0d1729!important;color:#fff!important}.secondary-action,.secondary-btn{background:linear-gradient(135deg,#f4c943,#ffe07c)!important;color:#16120a!important}.mini-danger-action,.danger-btn{background:#fff1f1!important;color:#b42318!important}

/* Cards/tables: same width, calmer density */
.table-card,.card,.student-tools-card,.teacher-tools-card,.day-top-panel,.available-day-panel,.teacher-time-dashboard-top>section{
  background:rgba(255,255,255,.92)!important;
  border:1px solid var(--soft-line)!important;
  border-radius:24px!important;
  box-shadow:0 10px 28px rgba(15,23,42,.06)!important;
  padding:18px!important;
}
.table-title,.card-head,.split-title{align-items:center!important;margin-bottom:14px!important}.table-title h2,.card-head h2,.split-title h2{font-size:21px!important;letter-spacing:-.035em!important}.table-title p,.card-head p,.split-title p{font-size:13px!important;line-height:1.4!important}
.table-wrap,.qaj-table-frame{border-radius:20px!important;background:#fff!important;border:1px solid var(--soft-line)!important;box-shadow:none!important}table{border-spacing:0!important;min-width:900px!important}th{background:#f6f8fb!important;color:#24324a!important;font-size:10.5px!important;padding:13px 14px!important}td{padding:13px 14px!important;font-size:13px!important;line-height:1.35!important}tr:hover td{background:var(--row-hover)!important}.compact-teacher-table td{height:58px!important}.admitted-row{opacity:.62!important;background:#f8fafc!important}.row-actions,.compact-row-actions{gap:6px!important;justify-content:flex-start!important}.row-actions .mini-action,.compact-row-actions .mini-action{min-width:64px!important}.row-actions .mini-danger-action,.compact-row-actions .mini-danger-action{display:none!important}body.advanced-mode .row-actions .mini-danger-action,body.advanced-mode .compact-row-actions .mini-danger-action{display:inline-flex!important}

/* Make clickable text look like admin text, not accidental browser buttons */
.link-button,.teacher-name-link,button.link-button{
  appearance:none!important;-webkit-appearance:none!important;border:0!important;background:transparent!important;padding:0!important;margin:0!important;color:#101828!important;text-decoration:none!important;font-weight:850!important;border-radius:0!important;box-shadow:none!important;line-height:1.25!important;text-align:left!important;white-space:normal!important;display:inline!important
}
.link-button:hover,.teacher-name-link:hover{color:#946c08!important;text-decoration:underline!important;transform:none!important}.compact-teacher-table .teacher-name-link{max-width:160px!important}

/* Badges / pills: remove harsh outlines */
.course-code-row,.head-course-row{display:flex!important;flex-wrap:wrap!important;gap:5px!important;align-items:center!important}.course-code-row span,.course-code-row button,.head-course-row span,.head-course-row button,.course-pill,.head-course-pill,.head-missing-pill{
  border:0!important;background:#eef4ff!important;color:#243b77!important;border-radius:999px!important;padding:5px 8px!important;font-size:11px!important;font-weight:900!important;line-height:1!important;box-shadow:none!important;text-decoration:none!important
}
.status-pill,.pill,.pill-msg,.message-priority{border:0!important;padding:6px 9px!important;font-size:10.5px!important}.status-in-class,.status-done{background:#dcfae6!important;color:#027a48!important}.status-left,.status-missed{background:#fee4e2!important;color:#b42318!important}.status-on-leave,.status-pending{background:#fff1d4!important;color:#9a5b00!important}.status-rescheduled{background:#dbeafe!important;color:#175cd3!important}

/* Search/filter sections aligned and grouped */
.teacher-tools-card,.student-tools-card,.compact-search-card,#teacherSearchTools,#studentSearchTools,#batchSearchTools{padding:14px!important}.teacher-search-row,.student-search-row{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;align-items:center!important}.teacher-search-row input,.student-search-row input,#batchGlobalSearch,.compact-search-card input{height:44px!important;border-radius:15px!important}.filter-btn,.chip{height:36px!important;border-radius:999px!important;padding:8px 13px!important;font-size:13px!important;background:#fff!important}.filter-btn.active,.chip.active{background:#0d1729!important;color:#fff!important}

/* Safer UX: destructive controls hidden by default everywhere */
button[data-qaj-shield="1"],.mini-danger-action,.danger-btn{opacity:.55!important}.mini-danger-action:not(.qaj-force-show),.danger-btn:not(.qaj-force-show){display:none!important}body.advanced-mode .mini-danger-action,body.advanced-mode .danger-btn{display:inline-flex!important;opacity:1!important}

/* Modals/popups: must scroll and remain usable */
.modal{padding:22px!important;align-items:flex-start!important;overflow:auto!important}.modal.show{display:grid!important}.modal-box,.large-modal,.extra-large-modal{width:min(100%,980px)!important;max-width:980px!important;max-height:calc(100vh - 48px)!important;overflow:auto!important;border-radius:26px!important;padding:20px!important}.extra-large-modal{width:min(100%,1180px)!important;max-width:1180px!important}.modal-header{position:sticky!important;top:-20px!important;z-index:5!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(12px)!important;margin:-20px -20px 16px!important;padding:18px 20px!important;border-bottom:1px solid var(--soft-line)!important}.close-btn{width:38px!important;height:38px!important;border-radius:13px!important;background:#f1f5f9!important;color:#0d1729!important}.grid{grid-template-columns:190px 1fr!important}.assignment-card-note{border-radius:16px!important;background:#f8fafc!important;border:1px solid var(--soft-line)!important;padding:12px!important;margin:10px 0!important;color:#475467!important}

/* Messages: give it a clearer command-board feel */
.message-board-grid{grid-template-columns:310px minmax(0,1fr) 260px!important;align-items:start!important}.message-sidebar,.message-panel,.qaj-message-rail{border-radius:22px!important;border:1px solid var(--soft-line)!important;background:#fff!important;box-shadow:0 8px 22px rgba(15,23,42,.045)!important}.message-card{border-radius:16px!important;background:#f8fafc!important}.message-card.active{background:#fff8df!important}.chat-bubbles{background:#f8fafc!important;border:1px solid var(--soft-line)!important}.qaj-rail-action{border-radius:16px!important}.qaj-help-box{border-radius:16px!important}

/* Payments/classes cards with overflow should not collapse into tiny awkward panels */
.payment-dashboard-grid,.payment-stats-grid,.qaj-summary-counts,.mini-summary-grid{gap:10px!important}.payment-main-grid{grid-template-columns:minmax(420px,1fr) minmax(320px,.85fr)!important}.classes-layout{width:min(100%,var(--content-max))!important;margin-left:0!important;margin-right:0!important;gap:18px!important}.classes-layout>.table-card{width:100%!important;margin:0!important}.classes-card-grid,.classes-student-list,.list-stack{gap:10px!important}.class-select-card,.student-row-card,.item-card{border-radius:18px!important;border:1px solid var(--soft-line)!important;background:#fff!important;box-shadow:0 6px 16px rgba(15,23,42,.04)!important}

/* Teacher times: turn loose text slots into cards */
.available-slots-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;gap:10px!important}.available-slot-card,.available-slots-grid>button,.available-slots-grid>article{border-radius:16px!important;border:1px solid var(--soft-line)!important;background:#fff!important;padding:12px!important;box-shadow:0 5px 14px rgba(15,23,42,.04)!important}.day-top-row{gap:8px!important}.day-chip{border-radius:16px!important;border:1px solid var(--soft-line)!important;background:#fff!important;padding:12px!important;min-width:94px!important}.day-chip.active{background:#0d1729!important;color:#fff!important}

/* User management summary was plain text: make it not look broken */
#userManagementSummary{width:min(100%,var(--content-max))!important;margin:0 0 18px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}#userManagementSummary>*{background:#fff!important;border:1px solid var(--soft-line)!important;border-radius:18px!important;padding:14px!important;box-shadow:0 6px 16px rgba(15,23,42,.04)!important}#userManagementSummary strong,#userManagementSummary b{font-size:22px!important}

/* Compact mode should be useful, not cramped */
body.compact-mode .section-header{padding:16px 18px!important}body.compact-mode .section-header h1{font-size:34px!important}body.compact-mode td{padding:9px 11px!important}body.compact-mode .table-card,body.compact-mode .card{padding:14px!important}

@media(max-width:1100px){
  .qaj-side-panel{display:none!important}.qaj-mobile-dock{display:grid!important}.page{margin-left:0!important;padding:14px 12px 86px!important;max-width:none!important}.section-header,.module-actions,.table-card,.card,.student-tools-card,.teacher-tools-card,.day-top-panel,.available-day-panel,.teacher-time-dashboard-top>section,.filter-row:not(.compact-filter-row):not(.time-filter-row){width:100%!important;max-width:none!important}.message-board-grid{grid-template-columns:1fr!important}.qaj-message-rail{order:-1}.payment-main-grid{grid-template-columns:1fr!important}.grid{grid-template-columns:1fr!important}.teacher-search-row,.student-search-row{grid-template-columns:1fr!important}#userManagementSummary{grid-template-columns:repeat(2,1fr)!important}.section-header h1{font-size:34px!important}.module-actions::before{width:100%;margin-bottom:2px}.module-actions .primary-action,.module-actions .secondary-action{flex:1 1 auto}.modal{padding:12px!important}.modal-box,.large-modal,.extra-large-modal{max-height:calc(100vh - 24px)!important;border-radius:22px!important}
}
@media(max-width:700px){#userManagementSummary{grid-template-columns:1fr!important}.section-header{border-radius:22px!important}.table-card,.card{border-radius:20px!important}.module-actions{border-radius:18px!important}.qaj-mobile-dock{left:8px!important;right:8px!important;bottom:8px!important}}

/* =========================================================
   QAJ O2 Admin UI V7 — Classes + Teacher Times real polish
   Purpose: calmer, easier, non-technical admin workflow screens.
========================================================= */
:root{
  --qaj-page-max: 1240px;
  --qaj-soft-card: rgba(255,255,255,.88);
  --qaj-soft-line: rgba(15,23,42,.08);
  --qaj-panel-shadow: 0 18px 48px rgba(15,23,42,.08);
  --qaj-focus: #f4c838;
}
body.qaj-v7-layout .page{
  max-width: var(--qaj-page-max)!important;
  margin-left: 292px!important;
  margin-right: auto!important;
  padding-top: 44px!important;
}
body.qaj-v7-layout .section-header,
body.qaj-v7-layout .module-actions,
body.qaj-v7-layout .qaj-workflow-strip,
body.qaj-v7-layout .qaj-class-page-note,
body.qaj-v7-layout .qaj-time-page-note,
body.qaj-v7-layout .table-card,
body.qaj-v7-layout .teacher-time-dashboard-top,
body.qaj-v7-layout .classes-layout,
body.qaj-v7-layout .filter-row:not(.compact-filter-row):not(.time-filter-row){
  max-width: 100%!important;
  width: 100%!important;
}
body.qaj-v7-layout .section-header{
  min-height: 132px!important;
  padding: 28px 32px!important;
  border-radius: 28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}
body.qaj-v7-layout .section-header h1{font-size:44px!important;line-height:.98!important;letter-spacing:-.055em!important;}
body.qaj-v7-layout .section-header .back-btn,
body.qaj-v7-layout .section-header .logout-btn{display:none!important;}
body.qaj-v7-layout .qaj-action-bar-v7{
  margin-top:16px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  padding:12px!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.76)!important;
  border:1px solid var(--qaj-soft-line)!important;
  box-shadow:0 10px 26px rgba(15,23,42,.04)!important;
}
body.qaj-v7-layout .qaj-action-bar-v7::before{content:'Actions';font-size:11px;font-weight:950;color:#9a7300;letter-spacing:.12em;text-transform:uppercase;margin:0 4px 0 0;}
body.qaj-v7-layout .qaj-action-bar-v7 .primary-action,
body.qaj-v7-layout .qaj-action-bar-v7 .secondary-action{
  border-radius:14px!important;
  min-height:44px!important;
  padding:0 18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
body.qaj-v7-layout .qaj-utility-action-v7{display:none!important;}
body.qaj-v7-layout .qaj-main-action-v7{background:#f4c838!important;color:#071329!important;box-shadow:0 8px 16px rgba(244,200,56,.24)!important;}
.qaj-workflow-strip-v7{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:14px 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.qaj-workflow-strip-v7 article{
  display:flex;align-items:center;gap:10px;
  min-height:54px;
  background:rgba(255,255,255,.78);
  border:1px solid var(--qaj-soft-line);
  border-radius:18px;
  padding:10px 12px;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.qaj-workflow-strip-v7 b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#071329;color:#fff;font-size:12px;flex:0 0 auto;}
.qaj-workflow-strip-v7 span{font-size:13px;font-weight:850;color:#334155;line-height:1.2;}
.qaj-class-page-note,.qaj-time-page-note{
  display:flex;gap:8px;align-items:center;
  margin:16px 0 0!important;
  padding:12px 14px;
  border-radius:18px;
  background:#fff8dd;
  border:1px solid rgba(244,200,56,.44);
  color:#3c2b00;
  font-size:13px;
}
.qaj-class-page-note strong,.qaj-time-page-note strong{font-weight:950;white-space:nowrap;}
.qaj-class-page-note span,.qaj-time-page-note span{font-weight:750;color:#5b4a1b;}

/* Classes & Entries: turn it into a real workspace */
body.qaj-classes-v7 #classModeSection.qaj-class-type-card-v7{
  display:block!important;
  padding:18px!important;
  border-radius:24px!important;
}
body.qaj-classes-v7 #classModeSection .table-title{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin-bottom:12px!important;
}
body.qaj-classes-v7 #classModeSection .filter-row{margin:0!important;max-width:none!important;}
body.qaj-classes-v7 .qaj-class-workspace-v7{
  display:grid!important;
  grid-template-columns: 360px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
  max-width:100%!important;
  margin-top:18px!important;
}
body.qaj-classes-v7 .qaj-class-workspace-v7>.table-card{
  margin:0!important;
  border-radius:24px!important;
  box-shadow:var(--qaj-panel-shadow)!important;
}
body.qaj-classes-v7 .qaj-class-workspace-v7>.table-card:first-child{
  position:sticky!important;
  top:24px!important;
  max-height:calc(100vh - 56px)!important;
  overflow:auto!important;
  padding:16px!important;
}
body.qaj-classes-v7 .qaj-class-workspace-v7>#studentCardPanel,
body.qaj-classes-v7 .qaj-class-workspace-v7>#batchCardPanel,
body.qaj-classes-v7 .qaj-class-workspace-v7>#individualStudentsPanel,
body.qaj-classes-v7 .qaj-class-workspace-v7>#groupBatchesPanel{
  grid-column:2!important;
}
body.qaj-classes-v7 .qaj-stage-helper-v7{
  grid-column:2!important;
  min-height:360px!important;
  display:grid!important;
  align-content:center!important;
  justify-items:center!important;
  text-align:center!important;
  padding:38px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(248,250,252,.78))!important;
  border:1px dashed rgba(15,23,42,.16)!important;
}
body.qaj-classes-v7 #individualStudentsPanel[style*="block"] ~ .qaj-stage-helper-v7,
body.qaj-classes-v7 #studentCardPanel[style*="block"] ~ .qaj-stage-helper-v7,
body.qaj-classes-v7 #groupBatchesPanel[style*="block"] ~ .qaj-stage-helper-v7,
body.qaj-classes-v7 #batchCardPanel[style*="block"] ~ .qaj-stage-helper-v7{display:none!important;}
body.qaj-classes-v7 .qaj-stage-helper-v7 h2{font-size:28px!important;margin:0 0 8px!important;}
body.qaj-classes-v7 .qaj-stage-helper-v7 p{max-width:480px;color:#64748b;font-weight:700;line-height:1.5;}
.qaj-stage-icons{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:14px;}
.qaj-stage-icons span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-weight:900;}
body.qaj-classes-v7 .classes-card-grid,
body.qaj-classes-v7 .classes-student-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.qaj-clean-select-card-v7{
  width:100%!important;
  min-height:58px!important;
  border:1px solid rgba(15,23,42,.1)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fff,#fbfcfe)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.045)!important;
  padding:12px 14px!important;
  text-align:left!important;
  display:grid!important;
  align-content:center!important;
  gap:4px!important;
  color:#0f172a!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.qaj-clean-select-card-v7:hover{transform:translateY(-2px)!important;border-color:rgba(244,200,56,.75)!important;box-shadow:0 14px 28px rgba(15,23,42,.08)!important;}
.qaj-clean-select-card-v7 strong{font-weight:950!important;}
.qaj-clean-select-card-v7 small{font-weight:750!important;color:#64748b!important;}
body.qaj-classes-v7 #individualTeachersGrid .qaj-clean-select-card-v7{grid-template-columns:1fr!important;}
body.qaj-classes-v7 .entry-box-row{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(118px,1fr))!important;gap:10px!important;}
body.qaj-classes-v7 .entry-details-box{border-radius:22px!important;background:#fff!important;border:1px solid var(--line)!important;padding:18px!important;}
body.qaj-classes-v7 .qaj-month-summary-panel{border-radius:22px!important;background:#f8fafc!important;border:1px solid var(--line)!important;padding:16px!important;margin-bottom:16px!important;}

/* Teacher Times: make the cards readable and useful */
body.qaj-times-v7 .teacher-time-dashboard-top.qaj-time-workspace-v7{
  display:grid!important;
  grid-template-columns: minmax(0,1.1fr) minmax(0,1.9fr)!important;
  gap:18px!important;
  align-items:start!important;
  margin-top:18px!important;
}
body.qaj-times-v7 .day-top-panel,
body.qaj-times-v7 .available-day-panel,
body.qaj-times-v7 .qaj-teacher-time-list-v7{
  margin:0!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.86)!important;
  border:1px solid var(--qaj-soft-line)!important;
  box-shadow:var(--qaj-panel-shadow)!important;
}
body.qaj-times-v7 .day-top-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;}
body.qaj-times-v7 .day-top-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:14px!important;
}
body.qaj-times-v7 .qaj-day-chip-v7{
  min-height:74px!important;
  border-radius:20px!important;
  padding:14px!important;
  display:grid!important;
  align-content:space-between!important;
  text-align:left!important;
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
  border:1px solid rgba(15,23,42,.1)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.04)!important;
}
body.qaj-times-v7 .qaj-day-chip-v7 span{font-size:13px!important;font-weight:850!important;color:#64748b!important;}
body.qaj-times-v7 .qaj-day-chip-v7 strong{font-size:24px!important;line-height:1!important;color:#0f172a!important;}
body.qaj-times-v7 .qaj-day-chip-v7.active{background:linear-gradient(145deg,#071329,#18243a)!important;color:#fff!important;border-color:#f4c838!important;}
body.qaj-times-v7 .qaj-day-chip-v7.active span,
body.qaj-times-v7 .qaj-day-chip-v7.active strong{color:#fff!important;}
body.qaj-times-v7 .available-slot-filter-panel{
  border-radius:22px!important;
  background:#f8fafc!important;
  border:1px solid var(--line)!important;
  padding:14px!important;
  margin:12px 0 14px!important;
}
body.qaj-times-v7 .available-filter-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
body.qaj-times-v7 .available-filter-grid label{display:grid!important;gap:6px!important;font-weight:850!important;}
body.qaj-times-v7 .available-slots-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;
  gap:12px!important;
  max-height:560px!important;
  overflow:auto!important;
  padding:2px 4px 6px!important;
}
body.qaj-times-v7 .qaj-slot-card-v7{
  border:1px solid rgba(15,23,42,.1)!important;
  border-radius:20px!important;
  background:#fff!important;
  padding:14px!important;
  min-height:118px!important;
  display:grid!important;
  gap:6px!important;
  align-content:start!important;
  box-shadow:0 8px 18px rgba(15,23,42,.045)!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}
body.qaj-times-v7 .qaj-slot-card-v7:hover{transform:translateY(-2px)!important;border-color:rgba(244,200,56,.8)!important;box-shadow:0 14px 30px rgba(15,23,42,.09)!important;}
body.qaj-times-v7 .compact-day-pill{justify-self:start!important;background:#fff8dd!important;color:#946800!important;border-radius:999px!important;padding:5px 9px!important;font-weight:950!important;}
body.qaj-times-v7 .compact-slot-time{font-size:18px!important;line-height:1.15!important;color:#0f172a!important;}
body.qaj-times-v7 .compact-slot-teacher{font-weight:850!important;color:#334155!important;}
body.qaj-times-v7 .compact-slot-tid{font-weight:850!important;color:#94a3b8!important;}
body.qaj-times-v7 .qaj-teacher-time-list-v7{margin-top:18px!important;}
body.qaj-times-v7 #teacherTypeFilters{margin:0 0 14px!important;}
body.qaj-times-v7 #teacherTimesTeachersBody tr{height:72px!important;}
body.qaj-times-v7 #teacherTimesTeachersBody td:nth-child(3),
body.qaj-times-v7 #teacherTimesTeachersBody td:nth-child(4),
body.qaj-times-v7 #teacherTimesTeachersBody td:nth-child(5),
body.qaj-times-v7 #teacherTimesTeachersBody td:nth-child(6){font-size:18px!important;font-weight:950!important;color:#0f172a!important;}
body.qaj-times-v7 #teacherTimesTeachersBody .mini-action{border-radius:999px!important;min-width:84px!important;}
body.qaj-times-v7 .teacher-popup-top{display:flex!important;gap:10px!important;flex-wrap:wrap!important;background:#f8fafc!important;border:1px solid var(--line)!important;border-radius:20px!important;padding:12px!important;margin-bottom:12px!important;}
body.qaj-times-v7 .time-block-bulk-bar{border-radius:18px!important;background:#fff8dd!important;border:1px solid rgba(244,200,56,.5)!important;}

/* Better forms/modals globally for these modules */
body.qaj-classes-v7 .modal-box,
body.qaj-times-v7 .modal-box{max-height:calc(100vh - 36px)!important;overflow:auto!important;}
body.qaj-classes-v7 .modal-header,
body.qaj-times-v7 .modal-header{backdrop-filter:blur(12px)!important;background:rgba(255,255,255,.94)!important;}
body.qaj-classes-v7 input,body.qaj-classes-v7 select,body.qaj-classes-v7 textarea,
body.qaj-times-v7 input,body.qaj-times-v7 select,body.qaj-times-v7 textarea{min-height:44px!important;}

@media(max-width:1100px){
  body.qaj-v7-layout .page{margin-left:0!important;padding:16px 14px 92px!important;}
  .qaj-workflow-strip-v7{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.qaj-classes-v7 .qaj-class-workspace-v7,
  body.qaj-times-v7 .teacher-time-dashboard-top.qaj-time-workspace-v7{grid-template-columns:1fr!important;}
  body.qaj-classes-v7 .qaj-class-workspace-v7>.table-card:first-child{position:static!important;max-height:none!important;}
  body.qaj-classes-v7 .qaj-class-workspace-v7>#studentCardPanel,
  body.qaj-classes-v7 .qaj-class-workspace-v7>#batchCardPanel,
  body.qaj-classes-v7 .qaj-class-workspace-v7>#individualStudentsPanel,
  body.qaj-classes-v7 .qaj-class-workspace-v7>#groupBatchesPanel,
  body.qaj-classes-v7 .qaj-stage-helper-v7{grid-column:auto!important;}
}
@media(max-width:720px){
  body.qaj-v7-layout .section-header{min-height:0!important;padding:22px!important;}
  body.qaj-v7-layout .section-header h1{font-size:34px!important;}
  .qaj-workflow-strip-v7{grid-template-columns:1fr!important;}
  .qaj-class-page-note,.qaj-time-page-note{align-items:flex-start!important;flex-direction:column!important;}
  body.qaj-times-v7 .available-filter-grid{grid-template-columns:1fr!important;}
  body.qaj-times-v7 .day-top-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}


/* =========================================================
   QAJ O² Admin UI V8 — Responsive Workspaces
   Goal: Large monitor = more panels visible, laptop/tablet = focused workspace,
   mobile = safe single column. Visual-only overrides except small performance helpers.
========================================================= */
:root{--side:276px;--content-max:1680px;--page-gap:22px;--v8-card:#ffffffee;--v8-ink:#0d1729;--v8-muted:#64748b;--v8-line:rgba(15,23,42,.105);--v8-gold:#f2c83f;--v8-soft:#f8fafc;}
body.qaj-v8{overflow-x:hidden;background:radial-gradient(circle at 14% 4%,rgba(242,200,63,.18),transparent 30%),radial-gradient(circle at 92% 0%,rgba(59,130,246,.09),transparent 34%),linear-gradient(180deg,#fbfaf4 0%,#eff3f7 100%)!important;}
body.qaj-v8 .qaj-side-panel{width:var(--side)!important;inset:12px auto 12px 12px!important;border-radius:28px!important;}
body.qaj-v8 .page{margin-left:calc(var(--side) + var(--page-gap))!important;width:calc(100vw - var(--side) - var(--page-gap) - 26px)!important;max-width:none!important;padding:30px 18px 64px!important;}
body.qaj-v8 .section-header,body.qaj-v8 .module-actions,body.qaj-v8 .qaj-workflow-strip,body.qaj-v8 .qaj-class-page-note,body.qaj-v8 .qaj-time-page-note,body.qaj-v8 .table-card,body.qaj-v8 .card,body.qaj-v8 .teacher-time-dashboard-top,body.qaj-v8 .classes-layout,body.qaj-v8 .payment-dashboard-grid,body.qaj-v8 .payment-main-grid,body.qaj-v8 .qaj-stat-grid,body.qaj-v8 .qaj-command-search,body.qaj-v8 .qaj-module-section{width:min(100%,var(--content-max))!important;max-width:var(--content-max)!important;margin-left:0!important;margin-right:0!important;}
body.qaj-v8 .section-header{min-height:118px!important;padding:24px 30px!important;border-radius:28px!important;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.78))!important;box-shadow:0 18px 44px rgba(15,23,42,.07)!important;}
body.qaj-v8 .section-header h1{font-size:clamp(38px,3.4vw,64px)!important;letter-spacing:-.065em!important;line-height:.94!important;}
body.qaj-v8 .section-header .subtitle-left{font-size:15px!important;}
body.qaj-v8 .module-actions{align-items:center!important;min-height:64px!important;padding:12px 14px!important;border-radius:24px!important;background:rgba(255,255,255,.76)!important;box-shadow:0 8px 22px rgba(15,23,42,.045)!important;}
body.qaj-v8 .module-actions::before{min-width:76px!important;}
body.qaj-v8 .primary-action,body.qaj-v8 .secondary-action,body.qaj-v8 .mini-action,body.qaj-v8 .submit-btn{border-radius:14px!important;min-height:42px!important;}
body.qaj-v8 .table-card,body.qaj-v8 .card,body.qaj-v8 .day-top-panel,body.qaj-v8 .available-day-panel{border-radius:26px!important;background:var(--v8-card)!important;box-shadow:0 14px 34px rgba(15,23,42,.055)!important;}
body.qaj-v8 .table-title h2{font-size:24px!important;}
body.qaj-v8 .table-title p{font-size:14px!important;}
body.qaj-v8 .table-wrap{border-radius:22px!important;background:#fff!important;}
body.qaj-v8 th{height:48px!important;background:#f7f9fc!important;}
body.qaj-v8 td{height:62px!important;}
body.qaj-v8 .row-actions{display:flex!important;align-items:center!important;gap:8px!important;}
body.qaj-v8 .mini-danger-action{display:none!important;}
body.qaj-advanced-unlocked .mini-danger-action{display:inline-flex!important;}
body.qaj-v8 .qaj-side-footer{grid-template-columns:1fr!important;}
body.qaj-v8 .qaj-safe-mode-note{font-size:11px!important;padding:10px!important;}

/* Big screen: use the monitor. Stop the 50% blank-screen effect. */
@media(min-width:1700px){
  body.qaj-v8{--side:286px;--content-max:calc(100vw - var(--side) - 70px);} 
  body.qaj-v8 .page{padding-top:34px!important;padding-right:26px!important;}
  body.qaj-v8 .section-header{min-height:126px!important;}
  body.qaj-v8 .qaj-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
  body.qaj-v8 .payment-dashboard-grid,.payment-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}

/* Laptop/tablet size: narrower panels, clean focus */
@media(min-width:1101px) and (max-width:1499px){
  body.qaj-v8{--side:244px;--content-max:calc(100vw - var(--side) - 52px);} 
  body.qaj-v8 .page{padding-left:12px!important;padding-right:12px!important;}
  body.qaj-v8 .qaj-side-link{font-size:13px!important;padding:10px!important;}
  body.qaj-v8 .qaj-side-link span{width:26px!important;height:26px!important;}
  body.qaj-v8 .section-header h1{font-size:40px!important;}
}

/* Classes: true admin workspace. Large = selector + list + details visible together. */
body.qaj-v8.qaj-classes-v7 .qaj-class-workspace-v7{width:100%!important;max-width:100%!important;display:grid!important;grid-template-columns:320px minmax(340px,440px) minmax(520px,1fr)!important;gap:16px!important;align-items:start!important;}
body.qaj-v8.qaj-classes-v7 .qaj-class-workspace-v7>.table-card:first-child{grid-column:1!important;position:sticky!important;top:18px!important;max-height:calc(100vh - 46px)!important;overflow:auto!important;}
body.qaj-v8.qaj-classes-v7 #individualStudentsPanel,body.qaj-v8.qaj-classes-v7 #groupBatchesPanel{grid-column:2!important;position:sticky!important;top:18px!important;max-height:calc(100vh - 46px)!important;overflow:auto!important;}
body.qaj-v8.qaj-classes-v7 #studentCardPanel,body.qaj-v8.qaj-classes-v7 #batchCardPanel{grid-column:3!important;min-height:520px!important;}
body.qaj-v8.qaj-classes-v7 .qaj-stage-helper-v7{grid-column:2/4!important;min-height:520px!important;}
body.qaj-v8.qaj-classes-v7 #individualClassesSection:not([style*="none"]),body.qaj-v8.qaj-classes-v7 #groupClassesSection:not([style*="none"]){margin-top:16px!important;}
body.qaj-v8.qaj-classes-v7 .classes-card-grid,body.qaj-v8.qaj-classes-v7 .classes-student-list{gap:9px!important;}
body.qaj-v8.qaj-classes-v7 .qaj-clean-select-card-v7{min-height:54px!important;border-radius:17px!important;padding:12px!important;}
body.qaj-v8.qaj-classes-v7 .qaj-clean-select-card-v7 h3,body.qaj-v8.qaj-classes-v7 .qaj-clean-select-card-v7 strong{font-size:14px!important;line-height:1.25!important;}
body.qaj-v8.qaj-classes-v7 .entry-box-row{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))!important;}
body.qaj-v8.qaj-classes-v7 .entry-details-box{min-height:260px!important;}

/* Teacher Times: dashboard board instead of a heavy table-first page */
body.qaj-v8.qaj-times-v7 .teacher-time-dashboard-top.qaj-time-workspace-v7{display:grid!important;grid-template-columns:360px minmax(0,1fr)!important;gap:16px!important;align-items:start!important;width:100%!important;max-width:100%!important;}
body.qaj-v8.qaj-times-v7 .day-top-panel{position:sticky!important;top:18px!important;max-height:calc(100vh - 48px)!important;overflow:auto!important;}
body.qaj-v8.qaj-times-v7 .day-top-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;overflow:visible!important;}
body.qaj-v8.qaj-times-v7 .day-top-head{display:grid!important;gap:10px!important;}
body.qaj-v8.qaj-times-v7 .qaj-day-chip-v7{min-width:0!important;min-height:82px!important;border-radius:18px!important;}
body.qaj-v8.qaj-times-v7 .available-day-panel{min-height:620px!important;}
body.qaj-v8.qaj-times-v7 .available-slot-filter-panel{position:sticky!important;top:0!important;z-index:3!important;background:#f8fafcdd!important;backdrop-filter:blur(12px)!important;}
body.qaj-v8.qaj-times-v7 .available-slots-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;max-height:620px!important;overflow:auto!important;padding-right:6px!important;}
body.qaj-v8.qaj-times-v7 .compact-available-slot-card{min-height:112px!important;border-radius:18px!important;}
body.qaj-v8.qaj-times-v7 .compact-slot-time{font-size:17px!important;}
body.qaj-v8.qaj-times-v7 .qaj-teacher-time-list-v7{width:100%!important;max-width:100%!important;}
body.qaj-v8.qaj-times-v7 #teacherTimesTeachersBody tr{height:64px!important;}
body.qaj-v8.qaj-times-v7 #teacherTimesTeachersBody td:nth-child(3),body.qaj-v8.qaj-times-v7 #teacherTimesTeachersBody td:nth-child(4),body.qaj-v8.qaj-times-v7 #teacherTimesTeachersBody td:nth-child(5),body.qaj-v8.qaj-times-v7 #teacherTimesTeachersBody td:nth-child(6){font-size:16px!important;}
body.qaj-v8.qaj-times-v7 .extra-large-modal{width:min(1600px,calc(100vw - 32px))!important;}
body.qaj-v8.qaj-times-v7 .popup-table-wrap{max-height:58vh!important;}
body.qaj-v8 .qaj-slot-limit-note{grid-column:1/-1;background:#fff8dc;border:1px solid rgba(242,200,63,.45);border-radius:16px;padding:12px;display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:850;color:#5c4500;}
body.qaj-v8 .qaj-slot-limit-note button{border:0;border-radius:999px;background:#0d1729;color:#fff;font-weight:950;padding:9px 13px;}

/* Generic wide pages: show more detail on large screens */
@media(min-width:1700px){
  body.qaj-v8.qaj-classes-v7 .qaj-class-workspace-v7{grid-template-columns:350px 430px minmax(640px,1fr)!important;}
  body.qaj-v8.qaj-times-v7 .teacher-time-dashboard-top.qaj-time-workspace-v7{grid-template-columns:390px minmax(0,1fr)!important;}
  body.qaj-v8.qaj-times-v7 .available-slots-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;}
  body.qaj-v8 .payment-main-grid{grid-template-columns:minmax(760px,1.35fr) minmax(420px,.8fr)!important;}
  body.qaj-v8 .message-board-grid{grid-template-columns:420px minmax(620px,1fr) 300px!important;}
}

/* Tablet: side hidden, two column where it helps */
@media(max-width:1100px){
  body.qaj-v8 .page{margin-left:0!important;width:100%!important;max-width:none!important;padding:16px 14px 96px!important;}
  body.qaj-v8 .section-header,body.qaj-v8 .module-actions,body.qaj-v8 .table-card,body.qaj-v8 .card,body.qaj-v8 .teacher-time-dashboard-top,body.qaj-v8 .classes-layout{width:100%!important;max-width:none!important;}
  body.qaj-v8.qaj-classes-v7 .qaj-class-workspace-v7{grid-template-columns:minmax(280px,360px) minmax(0,1fr)!important;}
  body.qaj-v8.qaj-classes-v7 .qaj-class-workspace-v7>.table-card:first-child{grid-column:1!important;position:static!important;max-height:none!important;}
  body.qaj-v8.qaj-classes-v7 #individualStudentsPanel,body.qaj-v8.qaj-classes-v7 #groupBatchesPanel,body.qaj-v8.qaj-classes-v7 #studentCardPanel,body.qaj-v8.qaj-classes-v7 #batchCardPanel,body.qaj-v8.qaj-classes-v7 .qaj-stage-helper-v7{grid-column:2!important;position:static!important;max-height:none!important;}
  body.qaj-v8.qaj-times-v7 .teacher-time-dashboard-top.qaj-time-workspace-v7{grid-template-columns:1fr!important;}
  body.qaj-v8.qaj-times-v7 .day-top-panel{position:static!important;max-height:none!important;}
  body.qaj-v8.qaj-times-v7 .day-top-row{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}

/* Mobile: safe app-like flow. Tables remain scrollable, controls become full width. */
@media(max-width:760px){
  body.qaj-v8 .section-header{padding:18px!important;border-radius:22px!important;min-height:auto!important;}
  body.qaj-v8 .section-header h1{font-size:32px!important;letter-spacing:-.05em!important;}
  body.qaj-v8 .module-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  body.qaj-v8 .module-actions::before{width:100%!important;}
  body.qaj-v8 .module-actions button,body.qaj-v8 .module-actions a{width:100%!important;justify-content:center!important;}
  body.qaj-v8.qaj-classes-v7 .qaj-class-workspace-v7,body.qaj-v8.qaj-classes-v7 #individualClassesSection,body.qaj-v8.qaj-classes-v7 #groupClassesSection{display:grid!important;grid-template-columns:1fr!important;}
  body.qaj-v8.qaj-classes-v7 .qaj-class-workspace-v7>.table-card:first-child,body.qaj-v8.qaj-classes-v7 #individualStudentsPanel,body.qaj-v8.qaj-classes-v7 #groupBatchesPanel,body.qaj-v8.qaj-classes-v7 #studentCardPanel,body.qaj-v8.qaj-classes-v7 #batchCardPanel,body.qaj-v8.qaj-classes-v7 .qaj-stage-helper-v7{grid-column:1!important;}
  body.qaj-v8.qaj-times-v7 .day-top-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.qaj-v8.qaj-times-v7 .available-filter-grid{grid-template-columns:1fr!important;}
  body.qaj-v8 .table-title,body.qaj-v8 .split-title,body.qaj-v8 .card-head{display:grid!important;gap:8px!important;}
  body.qaj-v8 .table-wrap{max-width:100%!important;}
  body.qaj-v8 table{min-width:760px!important;}
}


/* =========================================================
   V9 STABLE FIX — stop freezing, keep sidebar, sharpen text
   ========================================================= */
html, body, button, input, select, textarea, table {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: geometricPrecision !important;
  text-shadow: none !important;
}
body.qaj-v9-stable .qaj-side-panel,
body.qaj-v9-stable .qaj-side-panel * {
  filter: none !important;
  text-shadow: none !important;
  transform: none;
  letter-spacing: normal;
}
body.qaj-v9-stable .qaj-side-link:hover{transform:none!important}
body.qaj-v9-stable .qaj-side-link strong,
body.qaj-v9-stable .qaj-side-brand strong{
  font-weight:800!important;
  line-height:1.15!important;
  color:#f8fafc!important;
}
body.qaj-v9-stable .qaj-side-group p{font-weight:900!important;letter-spacing:.08em!important}
body.qaj-v9-stable .qaj-side-panel{z-index:5000!important;will-change:auto!important;contain:layout paint!important}
body.qaj-v9-stable .page{position:relative!important;z-index:1!important}
body.qaj-v9-stable .qaj-autoload-status{display:none!important}
body.qaj-v9-stable .qaj-hidden-load-button{display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
body.qaj-v9-stable .qaj-utility-action-v7{display:inline-flex!important}
body.qaj-v9-stable .module-actions::before{content:'Actions';font-size:11px;font-weight:950;color:#9a7300;letter-spacing:.1em;text-transform:uppercase;align-self:center;margin-right:4px}
body.qaj-v9-stable .module-actions{align-items:center!important}
body.qaj-v9-stable .module-actions button:first-of-type{background:#101828!important;color:#fff!important}
body.qaj-v9-stable .section-header{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
body.qaj-v9-stable .module-actions,
body.qaj-v9-stable .table-card,
body.qaj-v9-stable .card,
body.qaj-v9-stable .student-tools-card,
body.qaj-v9-stable .teacher-tools-card,
body.qaj-v9-stable .day-top-panel,
body.qaj-v9-stable .available-day-panel,
body.qaj-v9-stable .teacher-time-dashboard-top>section{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
body.qaj-v9-stable .page{max-width:none!important;width:auto!important;margin-left:calc(var(--side) + 28px)!important;padding-right:28px!important}
body.qaj-v9-stable.qaj-classes-v9-stable #individualClassesSection,
body.qaj-v9-stable.qaj-classes-v9-stable #groupClassesSection{
  display:grid!important;
  grid-template-columns:minmax(260px,360px) minmax(420px,1fr) minmax(360px,.9fr)!important;
  gap:16px!important;
  align-items:start!important;
}
body.qaj-v9-stable.qaj-classes-v9-stable #individualClassesSection[style*="none"],
body.qaj-v9-stable.qaj-classes-v9-stable #groupClassesSection[style*="none"]{display:none!important}
body.qaj-v9-stable.qaj-classes-v9-stable #individualClassesSection>.table-card,
body.qaj-v9-stable.qaj-classes-v9-stable #groupClassesSection>.table-card{margin:0!important;width:100%!important;max-width:none!important}
body.qaj-v9-stable.qaj-classes-v9-stable .qaj-stage-helper-v7{display:none!important}
body.qaj-v9-stable.qaj-classes-v9-stable .class-select-card,
body.qaj-v9-stable.qaj-classes-v9-stable .student-row-card,
body.qaj-v9-stable.qaj-classes-v9-stable .qaj-clean-select-card-v7{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;
  width:100%!important;border:1px solid var(--line)!important;border-radius:18px!important;background:#fff!important;
  padding:12px 14px!important;box-shadow:0 6px 18px rgba(15,23,42,.045)!important;
}
body.qaj-v9-stable.qaj-times-v9-stable #timeDashboardSection,
body.qaj-v9-stable.qaj-times-v9-stable .teacher-time-dashboard-top{display:grid!important;grid-template-columns:1fr 1.35fr!important;gap:16px!important;align-items:start!important}
body.qaj-v9-stable.qaj-times-v9-stable .available-slots-grid{max-height:520px!important;overflow:auto!important;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;gap:10px!important;padding-right:4px!important}
body.qaj-v9-stable.qaj-times-v9-stable .available-slot-card,
body.qaj-v9-stable.qaj-times-v9-stable .qaj-slot-card-v7{border-radius:16px!important;border:1px solid var(--line)!important;background:#fff!important;padding:12px!important;box-shadow:0 6px 16px rgba(15,23,42,.045)!important}
body.qaj-v9-stable .qaj-soft-notice{width:100%;border:1px solid rgba(215,173,49,.38);background:rgba(255,248,220,.74);border-radius:18px;padding:12px 14px;margin:0 0 16px;display:flex;gap:10px;align-items:center;color:#3b2f0d}
body.qaj-v9-stable .qaj-soft-notice strong{font-weight:950}
@media (min-width:1500px){
  body.qaj-v9-stable{--side:300px!important}
  body.qaj-v9-stable .page{margin-left:328px!important;padding-right:36px!important;padding-left:18px!important}
  body.qaj-v9-stable.qaj-classes-v9-stable #individualClassesSection,
  body.qaj-v9-stable.qaj-classes-v9-stable #groupClassesSection{grid-template-columns:380px minmax(520px,1fr) minmax(420px,.9fr)!important}
}
@media (max-width:1180px){
  body.qaj-v9-stable.qaj-classes-v9-stable #individualClassesSection,
  body.qaj-v9-stable.qaj-classes-v9-stable #groupClassesSection,
  body.qaj-v9-stable.qaj-times-v9-stable #timeDashboardSection,
  body.qaj-v9-stable.qaj-times-v9-stable .teacher-time-dashboard-top{grid-template-columns:1fr!important}
}
@media (max-width:900px){
  body.qaj-v9-stable .qaj-side-panel{display:none!important}
  body.qaj-v9-stable .page{margin-left:0!important;padding:14px 12px 96px!important}
}

/* =========================================================
   QAJ ADMIN V11 — Obsidian Order Brand + O² Loader
========================================================= */
.qaj-side-brand small{font-size:10px!important;letter-spacing:.04em!important;color:rgba(249,231,161,.92)!important;text-transform:uppercase!important;line-height:1.15!important}.qaj-side-brand strong{letter-spacing:-.02em}.command-home.o2-booting #commandShell,.command-home.o2-booting #mobileNav{opacity:0;transform:scale(.985);filter:blur(4px);pointer-events:none}.o2-boot-loader{position:fixed;inset:0;z-index:2147483000;display:none;overflow:hidden;background:radial-gradient(circle at 18% 12%,rgba(22,163,127,.25),transparent 35%),radial-gradient(circle at 80% 10%,rgba(201,162,39,.25),transparent 32%),linear-gradient(135deg,#020617 0%,#07111f 46%,#030712 100%);color:#fff}.o2-boot-loader.show{display:grid;place-items:center}.o2-boot-loader canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.72}.o2-loader-glow{position:absolute;width:min(620px,80vw);height:min(620px,80vw);border-radius:50%;background:radial-gradient(circle,rgba(35,255,168,.18),transparent 62%);filter:blur(8px);animation:o2Pulse 2.4s ease-in-out infinite}.o2-loader-panel{position:relative;width:min(760px,calc(100vw - 32px));border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(15,23,42,.72),rgba(2,6,23,.64));box-shadow:0 34px 120px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(20px);border-radius:34px;padding:30px;overflow:hidden}.o2-loader-panel:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(35,255,168,.7),rgba(201,162,39,.7),rgba(59,130,246,.45));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.o2-loader-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.o2-loader-brand span{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#f8e7a2,#c9a227);display:grid;place-items:center;color:#07111f;font-weight:1000;box-shadow:0 0 34px rgba(201,162,39,.45)}.o2-loader-brand small{font-weight:950;text-transform:uppercase;letter-spacing:.12em;color:#9fffd5;font-size:11px}.o2-loader-panel h1{font-size:clamp(28px,6vw,56px);line-height:.96;margin:0 0 12px;letter-spacing:-.06em;color:#fff;text-shadow:0 0 28px rgba(35,255,168,.22)}.o2-loader-panel p{margin:0 0 18px;color:rgba(255,255,255,.76);font-weight:850}.o2-loader-bar{height:12px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden;margin:18px 0}.o2-loader-bar i{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#23ffa8,#f8e7a2,#60a5fa);animation:o2Bar 2.4s ease-in-out infinite;box-shadow:0 0 28px rgba(35,255,168,.7)}.o2-loader-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}.o2-loader-grid span{border:1px solid rgba(255,255,255,.1);background:rgba(2,6,23,.42);border-radius:14px;padding:9px 10px;color:#23ffa8;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:900;font-size:12px}.o2-loader-grid span.hot{border-color:rgba(248,231,162,.65);color:#f8e7a2;box-shadow:0 0 18px rgba(201,162,39,.2)}.o2-loader-grid em{display:block;font-style:normal;color:rgba(255,255,255,.55);font-size:9px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o2-loader-exit{animation:o2Exit .55s ease forwards}@keyframes o2Pulse{0%,100%{transform:scale(.9);opacity:.55}50%{transform:scale(1.08);opacity:1}}@keyframes o2Bar{0%{transform:translateX(-75%);width:34%}50%{width:72%}100%{transform:translateX(290%);width:34%}}@keyframes o2Exit{to{opacity:0;transform:scale(1.03);filter:blur(12px)}}

.qaj-tech-login-page{min-height:100vh;background:#020617;color:#fff;overflow:hidden}.tech-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.92fr) minmax(360px,1fr);align-items:center;gap:32px;padding:clamp(18px,4vw,56px);position:relative;background:radial-gradient(circle at 18% 18%,rgba(35,255,168,.16),transparent 34%),radial-gradient(circle at 78% 18%,rgba(201,162,39,.18),transparent 28%),linear-gradient(135deg,#020617,#07111f 48%,#030712)}.tech-login-shell:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(35,255,168,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(35,255,168,.07) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(circle at center,#000,transparent 72%)}.tech-login-visual,.tech-login-card{position:relative;z-index:1}.tech-login-visual{min-height:520px;display:grid;place-items:center}.tech-core-mark{width:190px;height:190px;border-radius:48px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(35,255,168,.18),rgba(201,162,39,.16));border:1px solid rgba(255,255,255,.16);box-shadow:0 0 80px rgba(35,255,168,.24),inset 0 1px 0 rgba(255,255,255,.16);font-size:64px;font-weight:1000;color:#f8e7a2;backdrop-filter:blur(14px)}.tech-orbit{position:absolute;border:1px solid rgba(35,255,168,.28);border-radius:50%;animation:o2Spin 16s linear infinite}.tech-orbit-one{width:330px;height:330px}.tech-orbit-two{width:440px;height:220px;transform:rotate(-25deg);animation-duration:22s}.tech-floating-code{position:absolute;border:1px solid rgba(255,255,255,.1);background:rgba(2,6,23,.52);color:#9fffd5;border-radius:999px;padding:10px 14px;font:900 12px ui-monospace,monospace;letter-spacing:.08em;box-shadow:0 0 28px rgba(35,255,168,.09)}.code-a{left:8%;top:18%}.code-b{right:6%;top:44%}.code-c{left:18%;bottom:16%;color:#f8e7a2}.tech-login-card{width:min(520px,100%);justify-self:center;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(15,23,42,.8),rgba(2,6,23,.68));box-shadow:0 30px 100px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.13);border-radius:34px;padding:30px;backdrop-filter:blur(18px)}.tech-login-top{display:flex;gap:14px;align-items:center;margin-bottom:14px}.tech-brand-mark{background:linear-gradient(135deg,#f8e7a2,#c9a227)!important;color:#07111f!important}.tech-login-card .eyebrow{color:#9fffd5}.tech-login-card h1{color:#fff;letter-spacing:-.04em;line-height:1;margin:0}.tech-login-card .subtitle-left{color:rgba(255,255,255,.68);font-weight:750;margin-bottom:22px}.tech-login-form{display:grid;gap:11px}.tech-login-form label{color:rgba(255,255,255,.72);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:950}.tech-login-form input{border-color:rgba(255,255,255,.12)!important;background:rgba(255,255,255,.07)!important;color:#fff!important;min-height:50px}.tech-login-form input::placeholder{color:rgba(255,255,255,.34)}.tech-login-btn{border:0;border-radius:17px;min-height:52px;background:linear-gradient(135deg,#23ffa8,#f8e7a2);color:#07111f;font-weight:1000;cursor:pointer;box-shadow:0 16px 34px rgba(35,255,168,.16);margin-top:8px}.tech-login-btn:hover{transform:translateY(-1px);filter:saturate(1.08)}@keyframes o2Spin{to{rotate:360deg}}@media(max-width:880px){.tech-login-shell{grid-template-columns:1fr;padding:18px}.tech-login-visual{display:none}.tech-login-card{border-radius:26px;padding:22px}.o2-loader-grid{grid-template-columns:1fr 1fr}.o2-loader-panel{padding:22px;border-radius:26px}}@media(max-width:560px){.o2-loader-grid{grid-template-columns:1fr}.o2-loader-panel h1{font-size:34px}.o2-loader-panel{padding:18px;border-radius:22px}}
