/* G78Q — Enterprise visual + organization recovery, stage 4.
   Presentation focused. Existing record/action/open-close behavior is intentionally preserved. */

:root{
  --q-ink:#17374d;
  --q-ink-2:#24495f;
  --q-muted:#687e8e;
  --q-muted-2:#8294a1;
  --q-line:#dbe5eb;
  --q-line-soft:#e9eff3;
  --q-surface:#ffffff;
  --q-surface-soft:#f7fafc;
  --q-surface-blue:#eef5f8;
  --q-navy:#10334b;
  --q-navy-2:#184863;
  --q-accent:#2d6f92;
  --q-shadow-sm:0 3px 12px rgba(16,48,70,.045);
  --q-shadow:0 10px 28px rgba(16,48,70,.075);
  --q-radius:16px;
  --q-radius-sm:12px;
}

/* ---------- Overall application frame ---------- */
.portal-content,.content{max-width:none}
.portal-content>#portalPageBody,.content>.page{width:100%}
#portalPageBody,.page{color:var(--q-ink)}
.portal-content #portalPageBody{max-width:1480px;margin:0 auto}
.content>.page{max-width:1480px;margin-left:auto;margin-right:auto}

.portal-topbar,.topbar{min-height:68px}
.portal-topbar .brand-mark.small,.topbar .brand-mark.small{
  border-radius:11px;
  box-shadow:0 5px 16px rgba(14,49,72,.12);
}
.portal-top-actions,.top-actions{gap:7px}
.portal-top-actions .btn,.top-actions .btn{font-weight:760}

/* ---------- Sidebar hierarchy ---------- */
#portalSidebar,#sidebar{padding-top:14px}
#portalSidebar nav,#sidebar nav{display:grid;gap:2px}
#portalSidebar .nav-group,#sidebar .nav-group{
  border-radius:12px;
  padding:5px 3px 8px;
}
#portalSidebar .nav-label,#sidebar .nav-label{
  font-size:.6rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}
#portalSidebar .nav-btn,#sidebar .nav-btn{
  min-height:43px;
  font-size:.78rem;
  font-weight:760;
}
#portalSidebar .nav-btn span,#sidebar .nav-btn span{font-size:.96rem}
#portalSidebar .nav-btn.active,#sidebar .nav-btn.active{
  background:linear-gradient(90deg,rgba(255,255,255,.17),rgba(255,255,255,.09));
}
#portalSidebar .sidebar-footer,#sidebar .sidebar-footer{padding:16px 11px 3px}

/* ---------- Context rail ---------- */
.g78o-contextbar{
  min-height:52px;
  margin-bottom:18px;
  border-radius:15px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(249,252,253,.98));
  box-shadow:0 4px 15px rgba(16,48,70,.04);
}
.g78o-context-home{background:#eaf3f7;color:#2b6482}
.g78o-context-tag{background:#edf5f8;border-color:#d5e5ed;color:#386d88}

/* ---------- Shared page headers ---------- */
.page-head{
  min-height:64px;
  align-items:flex-end;
  gap:20px;
  padding:4px 2px 14px;
  margin-bottom:18px;
  border-bottom:1px solid var(--q-line-soft);
}
.page-head>div:first-child{min-width:0}
.page-head h2{
  margin-top:3px;
  font-size:clamp(1.48rem,2.2vw,1.9rem);
  font-weight:880;
  letter-spacing:-.035em;
  color:var(--q-ink);
}
.page-head .eyebrow{
  color:#4d7892;
  font-size:.64rem;
  letter-spacing:.105em;
  text-transform:uppercase;
}
.page-subtitle{max-width:820px;color:var(--q-muted);font-size:.78rem}
.head-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}

/* ---------- Workspace section headings ---------- */
.g10-section-heading,.g12-section-heading,.g15-section-heading,.g5-section-title,.g14-section-title,
.g3-section-head,.g7-panel-intro,.g8-panel-intro,.g10-calendar-workspace-head,.g13-workspace-head{
  border:0;
}
.g10-section-heading,.g12-section-heading,.g15-section-heading,.g5-section-title,.g14-section-title,.g3-section-head{
  margin:23px 0 11px;
  padding:0 2px;
}
.g10-section-heading h3,.g12-section-heading strong,.g15-section-heading strong,.g5-section-title h3,
.g14-section-title h3,.g3-section-head h3{
  color:var(--q-ink);
  letter-spacing:-.015em;
}
.g10-section-heading p,.g12-section-heading small,.g15-section-heading small,.g5-section-title p,
.g14-section-title p,.g3-section-head p{color:var(--q-muted)}

/* ---------- Organization home ---------- */
.portal-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  padding:29px 31px;
  margin-bottom:17px;
  border-radius:20px;
  background:
    radial-gradient(circle at 88% 12%,rgba(115,190,224,.2),transparent 34%),
    linear-gradient(135deg,#102f47 0%,#194964 62%,#236b8b 100%);
}
.portal-hero h3{font-size:clamp(1.7rem,3vw,2.25rem)!important;margin:4px 0 8px;color:#fff}
.portal-hero p:not(.eyebrow){max-width:780px;line-height:1.55;color:#d3e4ed}
.portal-hero .eyebrow{color:#9fc6d8}
.portal-hero-badge{
  min-width:185px;
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  text-align:center;
  font-size:.74rem;
  font-weight:850;
  color:#fff;
}
.portal-kpis{margin-bottom:18px}

.g78q-home-groups{display:grid;gap:18px;margin-top:18px}
.g78q-workspace-section{
  border:1px solid var(--q-line);
  border-radius:18px;
  background:#fff;
  padding:18px;
  box-shadow:var(--q-shadow-sm);
}
.g78q-workspace-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:0 2px 13px;
  margin-bottom:13px;
  border-bottom:1px solid var(--q-line-soft);
}
.g78q-workspace-section-title{display:flex;align-items:flex-start;gap:11px}
.g78q-workspace-section-icon{
  display:grid;
  place-items:center;
  width:37px;
  height:37px;
  flex:0 0 auto;
  border-radius:11px;
  background:var(--q-surface-blue);
  color:#2a6786;
  font-size:1rem;
}
.g78q-workspace-section-head h3{margin:0;color:var(--q-ink);font-size:.98rem}
.g78q-workspace-section-head p{margin:4px 0 0;color:var(--q-muted);font-size:.7rem;line-height:1.4}
.g78q-workspace-section-count{
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  background:#f2f6f8;
  color:#647c8b;
  font-size:.62rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.g78q-workspace-section .portal-card-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}
.g78q-workspace-section .portal-module-card{
  min-height:102px;
  padding:15px;
  border-radius:14px;
  box-shadow:none;
  background:linear-gradient(180deg,#fff,#fbfdfe);
}
.g78q-workspace-section .portal-module-card:hover{box-shadow:0 8px 21px rgba(16,48,70,.07)}
.g78q-workspace-section .portal-card-icon{width:42px;height:42px;border-radius:11px}
.g78q-workspace-section .portal-module-card h3{font-size:.88rem}
.g78q-workspace-section .portal-module-card p{font-size:.69rem;line-height:1.38}

/* ---------- Organization/course cards ---------- */
.portal-course-grid,.course-grid{gap:13px}
.portal-course-grid .course-card,.course-grid .course-card{
  min-height:158px;
  border:1px solid var(--q-line);
  border-radius:17px;
  background:linear-gradient(180deg,#fff,#fbfdfe);
  box-shadow:var(--q-shadow-sm);
}
.portal-course-grid .course-card h3,.course-grid .course-card h3{color:var(--q-ink);letter-spacing:-.018em}
.portal-course-grid .course-meta,.course-grid .course-meta{color:var(--q-muted)}
.organization-card{
  border:1px solid var(--q-line);
  border-radius:17px;
  background:#fff;
  box-shadow:var(--q-shadow-sm);
}
.organization-card-body{padding:17px}
.organization-actions{border-top:1px solid var(--q-line-soft);padding:12px 17px}

/* ---------- Universal cards and panels ---------- */
.panel{
  border:1px solid var(--q-line);
  border-radius:17px;
  background:var(--q-surface);
  box-shadow:var(--q-shadow-sm);
}
.panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.panel-head h3{font-weight:850;color:var(--q-ink)}
.panel-head .tiny{line-height:1.4}
.two-col{gap:15px}
.portal-section{margin-top:17px}
.portal-section>.panel,.settings-section>.panel{margin-top:0}

.portal-list-button{
  width:100%;
  min-height:58px;
  padding:11px 12px;
  border:1px solid transparent;
  border-bottom-color:#edf2f5;
  border-radius:10px;
  background:#fff;
  text-align:left;
  transition:.14s ease;
}
.portal-list-button:hover{border-color:#d8e5ec;background:#f8fbfd}
.portal-list-button strong{color:var(--q-ink)}
.portal-list-button span{color:var(--q-muted)}
.list-item{padding:11px 4px;border-bottom-color:#edf2f5}
.list-title{color:var(--q-ink);font-weight:780}
.list-sub{color:var(--q-muted)}

/* ---------- KPI system ---------- */
.kpi-grid,.portal-kpis{gap:11px}
.kpi{
  position:relative;
  overflow:hidden;
  min-height:104px;
  padding:16px 17px;
  border:1px solid var(--q-line);
  border-radius:15px;
  background:linear-gradient(180deg,#fff,#fbfdfe);
  box-shadow:var(--q-shadow-sm);
}
.kpi::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,#c5dde9,transparent);
}
.kpi .label{color:#718795;font-size:.63rem;letter-spacing:.075em}
.kpi .value{color:var(--q-ink);font-size:1.65rem;font-weight:880}
.kpi .sub{color:var(--q-muted);line-height:1.35}

/* ---------- Tables ---------- */
.table-wrap{
  border:1px solid var(--q-line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--q-shadow-sm);
}
.data-table{font-size:.76rem}
.data-table th{
  padding:11px 12px;
  background:#f4f8fa;
  color:#607888;
  font-size:.61rem;
  font-weight:880;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.data-table td{padding:11px 12px;color:#334e5f}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr:hover td{background:#f8fbfd}

/* ---------- Form controls / action bars ---------- */
label{color:#455f70}
.field-grid{gap:12px 14px}
input,select,textarea{min-height:41px}
textarea{min-height:92px}
.check-pill{
  border:1px solid #dce7ed;
  border-radius:11px;
  background:#f8fbfc;
}
.wrap-actions,.action-button-row,.access-user-actions,.builder-actions,.case-footer-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.btn.secondary{border-radius:10px}
.btn.danger{border-radius:10px}
.link-btn{font-weight:760}

/* ---------- Tabs / segmented controls / workspace choosers ---------- */
.segmented,.portal-subnav{
  border:1px solid #d8e3ea;
  border-radius:12px;
  background:#f5f8fa;
  padding:4px;
}
.segmented button,.portal-subnav button{
  border-radius:9px;
  min-height:36px;
  font-weight:780;
}
.g7-workspace-chooser{
  gap:10px;
  margin-bottom:15px;
}
.g7-workspace-choice{
  min-height:98px;
  padding:14px;
  border:1px solid var(--q-line);
  border-radius:14px;
  background:#fff;
  box-shadow:var(--q-shadow-sm);
}
.g7-workspace-choice.selected{border-color:#82aec5;background:#f1f8fb}
.g7-workspace-choice strong{color:var(--q-ink)}
.g7-workspace-choice small{color:var(--q-muted);line-height:1.38}
.g7-workspace-icon{background:#edf5f8;color:#2d6684}

/* ---------- Course dashboard ---------- */
.g10-dashboard-page .g10-dashboard-kpis{margin-bottom:14px}
.g10-dashboard-focus-grid,.g10-communications-grid{gap:14px}
.g10-focus-panel{min-height:320px}
.g10-focus-panel .panel-head{padding-bottom:11px;border-bottom:1px solid #edf2f5}
.g10-scroll-list{padding-right:2px}
.attention-row,.g3-attention-row,.g3-recent-row{
  border:1px solid #e1e9ee;
  border-radius:12px;
  background:#fff;
  margin-bottom:8px;
  padding:11px 12px;
}
.attention-row:hover,.g3-attention-row:hover,.g3-recent-row:hover{background:#f8fbfd}
.announcement-row,.feed-post,.discussion-post,.g13-announcement-card,.g13-thread-card{
  border-color:#dfe8ed;
  border-radius:13px;
  background:#fff;
}

/* ---------- Student management ---------- */
.g5-overview-grid,.g5-progress-grid,.g5-student-card-grid{gap:12px}
.g5-student-card,.req-student{
  border:1px solid var(--q-line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--q-shadow-sm);
}
.g5-student-card-head{padding-bottom:10px;border-bottom:1px solid #edf2f5}
.g5-panel-intro{
  margin-bottom:13px;
  padding-bottom:12px;
  border-bottom:1px solid #edf2f5;
}
.g5-quick-actions{gap:8px}
.student-payment-row,.g14-payment-row,.g14-payment-history-row,.g14-profile-request{
  border-color:#e1e9ee;
  border-radius:12px;
  background:#fff;
}

/* ---------- Applicant / admissions ---------- */
.applicant-hero,.g15-applicant-hero{
  border:1px solid #d8e5ec;
  border-radius:18px;
  background:linear-gradient(135deg,#f5fafc,#fff);
  box-shadow:var(--q-shadow-sm);
}
.applicant-card,.g15-applicant-panel,.admissions-panel,.admissions-class-panel{
  border-color:var(--q-line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--q-shadow-sm);
}
.applicant-card-top,.assessment-session-top,.g15-session-card,.g15-document-card,.g15-assignment-card{
  border-color:#e1e9ee;
}
.applicant-action-strip,.g15-action-grid{gap:9px}
.applicant-workspace-tabs{margin-bottom:14px}
.applicant-next-action,.g15-next-panel{
  border-radius:15px;
  background:#f4f9fb;
  border-color:#d8e7ee;
}

/* ---------- Calendar / attendance ---------- */
.g10-calendar-workspace,.g13-calendar-workspace{
  border-color:var(--q-line);
  border-radius:17px;
}
.calendar-grid{gap:5px}
.calendar-day{
  border-color:#e0e8ed;
  border-radius:10px;
  background:#fff;
}
.calendar-day.today{border-color:#6ea5c1;background:#f0f8fb}
.calendar-event{border-radius:8px}
.attendance-row{
  border:1px solid #e1e9ee;
  border-radius:12px;
  background:#fff;
  margin-bottom:8px;
}
.attendance-student{color:var(--q-ink);font-weight:790}
.attendance-mini-field,.attendance-override-row,.attendance-context-list{
  border-color:#e2eaef;
  border-radius:10px;
}

/* ---------- Assignments / LMS / files / completion ---------- */
.assignment-card,.g12-assignment-card,.g12-week-panel,.g12-next-item,.g12-week-item,
.assignment-clean-form,.external-tool-row{
  border-color:var(--q-line);
  border-radius:14px;
  background:#fff;
  box-shadow:var(--q-shadow-sm);
}
.assignment-card-top,.g12-assignment-title-row,.g12-week-item-top{padding-bottom:9px;border-bottom:1px solid #edf2f5}
.g12-week-hero{
  border-radius:18px;
  background:linear-gradient(135deg,#11384f,#1d5c7a);
}
.g8-workspace-panel{border-color:var(--q-line);border-radius:17px}
.g8-workspace-label,.g7-live-label{
  border-radius:999px;
  background:#edf5f8;
  color:#376c87;
}
.completion-banner{
  border-radius:16px;
  border-color:#dce7ed;
  background:linear-gradient(135deg,#f4f9fb,#fff);
}

/* ---------- Clinical / ride along ---------- */
.g14-clinical-card,.g14-readiness-card,.g14-requirement-row,.g14-requirements-hero,
.g14-student-panel,.g14-checklist-panel{
  border-color:var(--q-line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--q-shadow-sm);
}
.g14-clinical-card-top{padding-bottom:10px;border-bottom:1px solid #edf2f5}
.g14-clinical-facts{color:var(--q-muted)}

/* ---------- Gradebook ---------- */
.g13-grade-hero,.g13-record-panel,.category-row{
  border-color:var(--q-line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--q-shadow-sm);
}
.g13-grade-main{color:var(--q-ink)}
.g13-grade-policy{background:#f6f9fb;border-radius:11px}
.assessment-score-grid{gap:9px}
.assessment-score{border-color:#e0e8ed;border-radius:11px;background:#fff}

/* ---------- Payments ---------- */
.payment-plan-card,.student-payment-overview,.g14-online-payment{
  border-color:var(--q-line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--q-shadow-sm);
}
.student-payment-overdue,.payment-overdue{border-color:#e7b7b7!important;background:#fff8f8!important}
.payment-alert-critical{border-radius:13px}

/* ---------- Reports / completion / archives ---------- */
.g3-report-section,.g4-archive-main,.g4-archive-row,.g4-history-row,.g4-portable-list,
.g4-certificate-summary,.g4-coverage-grid{
  border-color:var(--q-line);
}
.g3-report-section,.g4-archive-main,.g4-certificate-summary{
  border-radius:16px;
  background:#fff;
  box-shadow:var(--q-shadow-sm);
}
.g4-archive-row,.g4-history-row{border-radius:11px;background:#fff}

/* ---------- Organization operational workspaces ---------- */
.g73-alert-command{
  display:flex;justify-content:space-between;gap:24px;align-items:stretch;margin:0 0 16px;padding:22px 24px;
  border:1px solid #d9e3ec;border-radius:18px;background:linear-gradient(135deg,#f8fbfd 0%,#fff 72%);
}
.g73-alert-command h3{margin:4px 0 8px;font-size:24px;line-height:1.2}
.g73-alert-command p{margin:0;max-width:790px;color:#52606d;line-height:1.55}
.g73-alert-command-state{min-width:170px;border-radius:16px;padding:15px 18px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;border:1px solid #dbe3eb;background:#f8fafc}
.g73-alert-command-state.attention{border-color:#f1c4c4;background:#fff7f7}
.g73-alert-command-state.clear{border-color:#cce5d6;background:#f5fbf7}
.g73-alert-command-state strong{font-size:34px;line-height:1}
.g73-alert-filterbar{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:4px 1px 13px;margin-bottom:5px}
.g73-alert-filter{white-space:nowrap;border:1px solid #d8e1e9;background:#fff;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;color:#334155}
.operations-alert-card{border-radius:14px!important;border-color:#dce5eb!important}
.operations-alert-facts{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 12px;font-size:12px;color:#64748b}
.operations-alert-facts span{padding:4px 8px;border-radius:8px;background:#f4f7fa}

.g74-training-command{margin:18px 0 20px;padding:20px;border:1px solid #d8e2e9;border-radius:18px;background:linear-gradient(180deg,#fff,#f7fafc);box-shadow:0 8px 24px rgba(22,61,90,.06)}
.g74-command-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.g74-command-head h3{margin:3px 0 6px;font-size:21px;color:#17384d}
.g74-command-head p{margin:0;max-width:830px;color:#5d6c78;line-height:1.45}
.g74-command-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.g74-command-grid.g74-three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px}
.g74-command-grid button{appearance:none;border:1px solid #d8e2e9;border-radius:15px;background:#fff;padding:15px;text-align:left;display:flex;flex-direction:column;gap:6px;min-height:158px}
.g74-command-grid strong{font-size:15px;color:#183b53}
.g74-command-grid small{font-size:12px;line-height:1.4;color:#667783;flex:1}
.g74-icon{display:inline-flex;width:34px;height:34px;border-radius:11px;align-items:center;justify-content:center;background:#edf4f7;color:#17384d;font-size:12px;font-weight:900}
.g74-captain-badge{margin:0 0 14px;padding:11px 13px;border-radius:12px;background:#f1f7fa;border:1px solid #d8e7ee}

.g75-workspace-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:15px 17px;margin:-3px 0 16px;border:1px solid #d8e3ea;border-radius:16px;background:#f8fbfd}
.g75-workspace-banner strong{display:block;color:#173f5b;font-size:15px;margin-bottom:4px}
.g75-workspace-banner span{display:block;color:#5b6d79;font-size:12.5px;line-height:1.45;max-width:820px}
.g75-jumpbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:10px;border:1px solid #dce5eb;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(17,52,76,.04);position:sticky;top:78px;z-index:8}
.g75-jumpbar .g75-label{font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#73838e}
.g75-jumpbar button{border:1px solid #d6e0e6;background:#f8fafc;color:#29495e;border-radius:10px;padding:8px 10px;font-weight:800;font-size:12px}
.g75-flow{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin:0 0 16px}
.g75-flow-step{padding:12px;border:1px solid #dce5eb;border-radius:13px;background:#fff}
.g75-flow-step b{display:block;color:#173f5b;font-size:12px}
.g75-flow-step span{display:block;color:#6a7a85;font-size:11px;line-height:1.35;margin-top:3px}

/* ---------- Users & permissions ---------- */
.access-user{
  border:1px solid var(--q-line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--q-shadow-sm);
  margin-bottom:10px;
}
.access-user-top{padding-bottom:10px;border-bottom:1px solid #edf2f5}
.permission-group,.access-section{
  border:1px solid #dfe8ed;
  border-radius:14px;
  background:#f9fbfc;
}
.permission-group h4,.access-section-head{color:var(--q-ink)}
.permission-row{border-color:#e4ebef;border-radius:9px}
.access-mode-select{border-radius:9px}
.g76-users-hero{display:flex;justify-content:space-between;gap:22px;align-items:center;margin:0 0 14px;padding:18px 20px;border:1px solid #d8e3ec;border-radius:16px;background:#f8fbfd}
.g76-user-kpis{display:grid!important;grid-template-columns:repeat(3,minmax(86px,1fr));gap:8px;min-width:290px}
.g76-user-kpis div{padding:10px 12px;border:1px solid #dbe5ec;border-radius:12px;background:#fff;text-align:center}
.g76-user-controls{display:grid;grid-template-columns:minmax(240px,1fr) 150px 175px auto;gap:10px;align-items:end;margin:0 0 14px;padding:12px;border:1px solid #dbe5ec;border-radius:14px;background:#fff}
.g76-permission-tools{display:grid;gap:12px;margin:12px 0 14px;padding:14px 16px;border:1px solid #dbe5ec;border-radius:14px;background:#f8fbfd}
.g76-permission-controls{display:grid;grid-template-columns:minmax(220px,1fr) 190px;gap:10px}
.g76-permission-savebar{position:sticky;bottom:0;z-index:7;display:flex;justify-content:space-between;gap:18px;align-items:center;margin:18px -2px 0;padding:13px 14px;border:1px solid #dbe5ec;border-radius:14px;background:rgba(248,251,253,.97);box-shadow:0 -5px 18px rgba(31,58,78,.08)}

/* ---------- Settings refinements ---------- */
.settings-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.settings-dashboard .settings-card{min-height:175px}
.settings-section{margin-top:16px}
.settings-section>.panel{border-radius:17px}
.settings-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.settings-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.mode-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.public-settings-preview{min-height:180px}

/* ---------- Student portal visual separation ---------- */
.student-page .page-head,.applicant-page .page-head{border-bottom-color:#e2ebf0}
.g12-week-hero,.g14-requirements-hero,.g15-applicant-hero{box-shadow:0 12px 30px rgba(16,48,70,.08)}
.g12-week-grid,.g14-progress-grid,.g15-home-grid,.g14-clinical-grid{gap:12px}
.g14-progress-grid>*,.g15-home-grid>*{border-radius:14px}
.g15-next-action,.g14-completion-status{border-radius:13px}
.g15-update-row,.g15-ack-item,.g15-uploaded-file{border-color:#e1e9ee;border-radius:11px}

/* ---------- Empty / alert states ---------- */
.empty,.empty-inline{
  border:1px dashed #cddae2;
  border-radius:13px;
  background:#f9fbfc;
  color:#718594;
}
.info-banner,.warn-box,.warning-card,.danger-card{
  border-radius:13px;
  box-shadow:none;
}
.badge,.pill,.check-pill,.role-chip,.delivery-badge,.g12-kind-badge,.g13-kind-label,.g15-appointment-status{
  font-weight:800;
}

/* ---------- Responsive ---------- */
@media(max-width:1180px){
  .g78q-workspace-section .portal-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g74-command-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .g75-flow{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .portal-hero{grid-template-columns:1fr;padding:24px}
  .portal-hero-badge{min-width:0;justify-self:start}
  .settings-dashboard,.settings-value-grid,.settings-access-grid{grid-template-columns:1fr}
  .mode-card-grid{grid-template-columns:1fr}
  .g76-users-hero{align-items:stretch;flex-direction:column}
  .g76-user-kpis{min-width:0}
  .g76-user-controls{grid-template-columns:1fr 1fr}
  .g76-user-controls label:first-child{grid-column:1/-1}
  .g76-permission-controls{grid-template-columns:1fr}
  .g75-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g73-alert-command{flex-direction:column;padding:18px}
}
@media(max-width:700px){
  .page-head{align-items:flex-start;flex-direction:column}
  .head-actions{justify-content:flex-start;width:100%}
  .head-actions .btn{flex:1 1 145px}
  .g78q-workspace-section{padding:14px}
  .g78q-workspace-section .portal-card-grid{grid-template-columns:1fr}
  .g78q-workspace-section-head{flex-direction:column}
  .g78q-workspace-section-count{align-self:flex-start}
  .g74-command-grid,.g74-command-grid.g74-three{grid-template-columns:1fr 1fr}
  .g75-jumpbar{position:static}
}
@media(max-width:520px){
  .g74-command-grid,.g74-command-grid.g74-three,.g75-flow{grid-template-columns:1fr}
  .g76-user-kpis{grid-template-columns:repeat(3,1fr)}
  .g76-user-controls{grid-template-columns:1fr}
  .g76-user-controls label:first-child{grid-column:auto}
  .portal-hero{padding:20px}
}
