:root {
  --navy: #12324a;
  --blue: #087bb8;
  --blue-dark: #056698;
  --green: #138a5b;
  --ink: #21313a;
  --muted: #607078;
  --line: #d7d4cc;
  --soft: #f0eee8;
  --paper: #fcfbf8;
  --canvas: #f3f1ec;
}
.head-actions{display:flex;gap:8px;align-items:center}.split-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.compact-scroll{max-height:235px}.inline-form{display:flex;gap:6px;align-items:center;margin:0}.control-sm{min-height:30px;padding:4px 7px}.check-line{grid-column:1/3;display:flex;gap:9px;align-items:center;padding:10px;border:1px solid #b8cad4;background:#f5fafc;font-weight:700}.check-line input{width:17px;height:17px}.span-two{grid-column:1/3}
.access-admin-grid{grid-template-columns:minmax(420px,.82fr) minmax(520px,1.18fr);gap:14px;align-items:stretch}.access-admin-grid>.access-panel{width:100%;min-width:0;margin:0;display:flex;flex-direction:column}.access-panel .table-scroll{width:100%;flex:1}.panel-heading{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;padding-bottom:8px}.panel-heading h2{margin:0}.panel-heading p{margin:2px 0 0;color:#526b78;font-size:11px}.access-panel table{width:100%;table-layout:auto}.access-panel th,.access-panel td{white-space:nowrap}.exam-name-cell{white-space:normal!important;min-width:155px;font-weight:700}.school-name-cell{min-width:205px}.school-name-cell b{display:inline-block;margin-right:6px;color:#003f5c}.school-name-cell span{white-space:normal}.access-panel .inline-form{justify-content:flex-start}.access-panel .control-sm{width:106px}.access-panel .btn-sm{white-space:nowrap}
@media(max-width:1120px){.access-admin-grid{grid-template-columns:1fr}.access-panel .compact-scroll{max-height:220px}}@media(max-width:900px){.split-panels{grid-template-columns:1fr}.head-actions{flex-wrap:wrap}.access-admin-grid{display:grid}.panel-heading{align-items:flex-start}.inline-form{flex-wrap:wrap}}

/* Readable production UI */
html,body{font-family:"Segoe UI",Arial,sans-serif;font-size:15px}.app{grid-template-columns:242px minmax(0,1fr)}.sidebar{height:100vh;overflow:hidden;display:flex;flex-direction:column;padding:16px 10px 14px}.sidebar .brand{font-size:21px;flex:0 0 auto}.tenant{font-size:12.5px;line-height:1.45;flex:0 0 auto}.tenant b{font-size:13.5px;line-height:1.35}.sidebar nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-width:thin;scrollbar-color:#648397 #12324a}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-thumb{background:#648397;border-radius:8px}.menu-group summary{min-height:43px;font-size:13.5px;padding:9px 10px}.group-icon{width:25px;height:25px;font-size:12px}.submenu{padding-left:15px}.submenu a{min-height:38px;font-size:12.5px;line-height:1.25;padding:8px 9px 8px 17px}.quick-menu a{min-height:43px;font-size:13.5px}.page-head h1{font-size:25px}.page-head p{font-size:13.5px;line-height:1.45}.data-title h2{font-size:20px}.data-title small,.panel-heading p{font-size:12.5px}.stat small{font-size:12px}.field label,.data-toolbar label{font-size:13px}.control{min-height:41px;font-size:14px}.btn{min-height:38px;padding:8px 15px;font-size:13.5px;font-weight:650;border-radius:5px}.btn-sm{min-height:32px;padding:5px 11px;font-size:12.5px}.table-scroll{position:relative}table{font-size:13px}th{position:sticky;top:0;z-index:4;background:#066fa7;color:#fff;padding:9px 10px;font-size:13px;font-weight:750;letter-spacing:.08px;border-right-color:#3990b8;box-shadow:inset 0 -1px 0 #03577f}td{padding:8px 10px;line-height:1.3}.table-footer{font-size:13px;padding:8px 12px}.state-pill{font-size:11.5px}.table-scroll td .btn{box-shadow:0 1px 2px #102f3f20}.table-scroll td .btn-primary{background:#087bb8;color:#fff;border-color:#087bb8}.modal{width:min(590px,94vw);border-radius:7px;overflow:hidden;box-shadow:0 22px 65px #00182470}.modal-title{min-height:48px;padding:13px 17px;font-size:15px;letter-spacing:.1px}.modal-body{padding:18px;gap:2px 15px}.modal-actions{padding:13px 17px;background:#f7fafb}.modal-title-rich{display:flex;align-items:center;justify-content:space-between}.modal-title-rich>div{display:flex;flex-direction:column;gap:3px}.modal-title-rich span{font-size:11.5px;font-weight:400;color:#cce0ea}.modal-x{width:31px;height:31px;border:1px solid #ffffff55;border-radius:4px;background:#ffffff12;color:#fff;font-size:22px;line-height:1;cursor:pointer}.grade-modal{width:min(650px,94vw)}.grade-modal-body{padding:16px 18px}.grade-grid{display:grid;grid-template-columns:80px 1fr 1fr 95px;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid #e0e8ec}.grade-grid-head{padding:6px 0 9px;color:#5a6e78;font-size:12px;font-weight:750;text-transform:uppercase}.grade-badge{width:42px;height:32px;display:grid;place-items:center;border-radius:5px;background:#e6eef2;color:#12324a;font-size:15px}.grade-a,.grade-b{background:#dff4e8;color:#087447}.grade-c,.grade-d{background:#e8f2fa;color:#075e8c}.grade-e,.grade-s{background:#fff1ce;color:#805d00}.grade-f{background:#fde4e1;color:#a22b22}.grade-point{font-weight:750;text-align:center;color:#12324a}.modal-help{margin-top:12px;padding:10px 12px;border-left:3px solid #087bb8;background:#eef6fa;color:#465e6a;font-size:12.5px;line-height:1.45}.btn-grade{border-color:#6d58bf;color:#503ca1;background:#f4f1ff}.btn-grade:hover{background:#eae4ff}
@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{display:none}.page-head{align-items:flex-start;gap:12px}.grade-grid{grid-template-columns:55px 1fr 1fr 65px}.content{padding:15px}.modal-body{grid-template-columns:1fr}.span-two,.check-line{grid-column:1}}

/* Candidate bulk import */
.import-upload-modal{width:min(720px,94vw)}.import-modal-body{padding:20px;display:grid;gap:16px}.template-downloads{display:flex;gap:10px;flex-wrap:wrap}.import-drop{display:grid;gap:7px;padding:18px;border:1px dashed #67a4bf;border-radius:7px;background:#f3f9fc;color:#163e52}.import-drop span{font-size:12.5px;color:#5c727d}.import-drop input{margin-top:4px;background:#fff}.import-rules{display:grid;gap:6px;padding:12px 14px;border-left:4px solid #087bb8;background:#eef6fa}.import-rules span{font-size:12px;font-weight:700;word-break:break-word}.import-rules small{color:#5c7079;line-height:1.45}.import-reference{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.import-reference div{min-width:0;padding:11px;border:1px solid #d3e0e6;background:#fff}.import-reference b,.import-reference span{display:block}.import-reference span{margin-top:5px;color:#536a75;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.import-preview-modal{width:min(1180px,96vw)}.import-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:1px;background:#cddbe1;border-bottom:1px solid #cddbe1}.import-summary div{padding:12px 16px;background:#f7fafb}.import-summary b{display:block;font-size:22px;color:#123d53}.import-summary span{font-size:12px;color:#5c707a}.import-summary .ready{border-top:3px solid #079567}.import-summary .duplicate{border-top:3px solid #d89200}.import-summary .error{border-top:3px solid #c84338}.import-table-scroll{max-height:430px;overflow:auto}.import-table-scroll table{width:100%;white-space:nowrap}.import-table-scroll .import-message{min-width:230px;white-space:normal}.import-status{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:800}.status-ready,.status-imported{background:#dff4e8;color:#087447}.status-duplicate,.status-skipped{background:#fff1ce;color:#805d00}.status-error,.status-failed{background:#fde4e1;color:#a22b22}.import-row-error td,.import-row-duplicate td{background:#fffaf3}.modal-actions form{margin:0}.btn:disabled{opacity:.55;cursor:not-allowed}@media(max-width:800px){.import-reference{grid-template-columns:1fr}.import-summary{grid-template-columns:1fr 1fr}.import-table-scroll{max-height:55vh}}
.candidate-number-control{display:grid;grid-template-columns:auto 1fr;height:41px;border:1px solid #aebdc6;border-radius:5px;overflow:hidden;background:#fff}.candidate-number-control:focus-within{outline:2px solid #b8def1;border-color:#087bb8}.candidate-number-control span{display:flex;align-items:center;padding:0 12px;background:#e7f1f6;border-right:1px solid #b7c9d2;color:#064d70;font-size:15px;font-weight:800;letter-spacing:.6px}.candidate-number-control input{min-width:0;width:100%;border:0;outline:0;padding:8px 11px;font-size:15px;font-weight:750;letter-spacing:2px;color:#17242d}.candidate-number-control input::placeholder{color:#9aaab2}.field-hint{display:block;margin-top:5px;color:#647983;font-size:11.5px;line-height:1.35}
.state-private-candidate{background:#eee8ff;color:#563a9d;border:1px solid #cbbdf2}.modal form .modal-body{max-height:70vh;overflow-y:auto}
* {
  box-sizing: border-box;
}
html,
body {
  margin: 0;
  min-height: 100%;
  font-family: Arial, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--canvas);
  font-size: 14px;
}
a {
  text-decoration: none;
  color: inherit;
}
button,
input,
select {
  font: inherit;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 14px;
  border: 1px solid #aebdc6;
  border-radius: 3px;
  background: #fff;
  color: #233944;
  cursor: pointer;
}
.btn:hover {
  background: #eef5f8;
}
.btn-primary {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}
.btn-primary:hover {
  background: var(--blue-dark);
}
.btn-green {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
}
.btn-danger {
  color: #b42318;
  border-color: #e8aaa5;
}
.btn-sm {
  min-height: 27px;
  padding: 3px 10px;
  font-size: 12px;
}
.site-header {
  height: 66px;
  background: #fff;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  padding: 0 5.5vw;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 700;
}
.mark {
  width: 35px;
  height: 35px;
  background: var(--blue);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 700;
  border-radius: 3px;
}
.site-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 24px;
}
.site-nav a {
  font-size: 13px;
  color: #4e616c;
}
.hero {
  height: calc(100vh - 66px);
  min-height: 600px;
  display: grid;
  grid-template-columns: 56% 44%;
  background: #fff;
}
.hero-copy {
  padding: 9vh 5.5vw;
}
.kicker {
  font-size: 12px;
  font-weight: 700;
  color: var(--green);
  letter-spacing: 0.08em;
}
.hero h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 48px;
  line-height: 1.13;
  color: var(--navy);
  max-width: 680px;
  margin: 18px 0;
}
.hero p {
  font-size: 17px;
  line-height: 1.65;
  color: #596b75;
  max-width: 600px;
}
.hero-actions {
  display: flex;
  gap: 10px;
  margin: 27px 0;
}
.checks {
  display: flex;
  gap: 22px;
  border-top: 1px solid var(--line);
  padding-top: 22px;
  color: #4d606b;
  font-size: 12px;
}
.checks b {
  color: var(--green);
}
.hero-summary {
  background: #e9f0f4;
  padding: 10vh 4vw;
  display: flex;
  align-items: center;
}
.official-panel {
  background: #fff;
  border: 1px solid #b9c7cf;
  width: 100%;
  box-shadow: 0 8px 24px #17324113;
}
.panel-title {
  padding: 12px 15px;
  border-bottom: 3px solid var(--green);
  font-weight: 700;
  color: var(--navy);
}
.summary-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--line);
}
.summary-cell {
  padding: 17px;
  border-right: 1px solid var(--line);
}
.summary-cell:last-child {
  border: 0;
}
.summary-cell strong {
  font-size: 23px;
  color: var(--navy);
}
.summary-cell small {
  display: block;
  color: var(--muted);
  margin-top: 6px;
}
.landing-table { padding:10px 15px 15px; }
.landing-row {
  display:grid; grid-template-columns:1fr 100px; align-items:center;
  min-height:39px; border-bottom:1px solid #e2e8eb; color:#405660; font-size:11px;
}
.landing-row b { color:#14754d; text-align:right; }
.landing-head { min-height:28px; color:#75868e; font-size:9px; font-weight:800; }
.landing-head span:last-child { text-align:right; }
.auth-page {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 42% 58%;
  background: #fff;
}
.auth-info {
  background: var(--navy);
  color: #fff;
  padding: 55px;
  display: flex;
  flex-direction: column;
}
.auth-info .brand {
  color: #fff;
}
.auth-info section {
  margin: auto 0;
}
.auth-info h1 {
  font-family: Georgia, serif;
  font-size: 38px;
  line-height: 1.2;
}
.auth-info p {
  color: #cedce3;
  line-height: 1.7;
}
.auth-form {
  display: grid;
  place-items: center;
  padding: 50px;
}
.form-card {
  width: 460px;
  max-width: 100%;
}
.form-card h2 {
  font-size: 27px;
  color: var(--navy);
  margin: 0 0 7px;
}
.help {
  color: var(--muted);
  font-size: 13px;
}
.field {
  margin: 15px 0;
}
.field label {
  display: block;
  font-weight: 700;
  font-size: 12px;
  margin-bottom: 6px;
}
.control {
  width: 100%;
  height: 39px;
  border: 1px solid #b9c6ce;
  border-radius: 3px;
  background: #fff;
  padding: 8px 10px;
}
.account-types {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 22px 0;
}
.account-type {
  border: 1px solid var(--line);
  padding: 14px;
  cursor: pointer;
}
.account-type.active {
  border: 2px solid var(--blue);
  background: #f0f8fc;
}
.account-type b,
.account-type small {
  display: block;
}
.account-type small {
  color: var(--muted);
  margin-top: 5px;
  line-height: 1.4;
}
.app {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 218px minmax(0, 1fr);
}
.sidebar {
  background: var(--navy);
  color: #d6e0e5;
  padding: 18px 12px;
}
.sidebar .brand {
  color: #fff;
  padding: 0 8px 18px;
}
.tenant {
  border-top: 1px solid #ffffff24;
  border-bottom: 1px solid #ffffff24;
  padding: 13px 8px;
  margin-bottom: 14px;
  font-size: 11px;
  line-height: 1.5;
}
.tenant b {
  display: block;
  color: #fff;
  font-size: 12px;
}
.menu {
  display: flex;
  flex-direction: column;
}
.menu a {
  padding: 10px;
  border-left: 3px solid transparent;
  color: #d0dce2;
  font-size: 12px;
}
.menu a:hover {
  background: #ffffff0c;
}
.menu a.active {
  background: #ffffff12;
  border-left-color: #43c28b;
  color: #fff;
  font-weight: 700;
}
.workspace {
  min-width: 0;
  background: var(--canvas);
}
.app-header {
  height: 59px;
  background: #fff;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  padding: 0 24px;
}
.app-header strong {
  color: var(--navy);
}
.app-user {
  margin-left: auto;
  display: flex;
  gap: 13px;
  align-items: center;
  color: var(--muted);
  font-size: 12px;
}
.avatar {
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background: var(--soft);
  display: grid;
  place-items: center;
  font-weight: 700;
  color: var(--blue);
}
.content {
  padding: 22px 25px;
  background: var(--canvas);
}
.page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 16px;
}
.page-head h1 {
  font-size: 23px;
  color: #27369c;
  margin: 0 0 4px;
}
.page-head p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}
.stats {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.stat {
  background: #fff;
  border: 1px solid var(--line);
  border-top: 3px solid var(--blue);
  padding: 11px 14px;
  min-width: 125px;
}
.stat strong {
  font-size: 19px;
  color: var(--navy);
}
.stat small {
  display: block;
  color: var(--muted);
  margin-top: 4px;
  font-size: 11px;
}
.dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(300px, 0.8fr);
  gap: 14px;
}
.box {
  background: #fff;
  border: 1px solid var(--line);
}
.box-title {
  padding: 10px 13px;
  border-bottom: 1px solid var(--line);
  font-weight: 700;
  color: var(--navy);
  display: flex;
  justify-content: space-between;
}
.box-title span {
  font-size: 11px;
  color: var(--muted);
  font-weight: 400;
}
.box-body {
  padding: 13px;
}
.bar-row {
  display: grid;
  grid-template-columns: 55px minmax(100px, 1fr) 48px;
  gap: 8px;
  align-items: center;
  margin: 13px 0;
  font-size: 11px;
}
.bar-track {
  height: 9px;
  background: #e4ebef;
}
.bar-fill {
  height: 100%;
  background: var(--green);
}
.data-section {
  width: fit-content;
  min-width: 58%;
  max-width: 75vw;
  background: #fff;
  border: 1px solid #aebdc6;
}
.data-section.wide {
  width: 100%;
  max-width: 100%;
}
.data-title {
  padding: 11px 13px;
  border-bottom: 3px solid #30a862;
  display: flex;
  align-items: center;
  gap: 12px;
}
.data-title h2 {
  margin: 0;
  color: #27369c;
  font-size: 21px;
}
.data-toolbar {
  display: flex;
  gap: 6px;
  align-items: center;
  padding: 8px;
  background: #f7f0e6;
  border-bottom: 1px solid #d8cfc3;
  flex-wrap: wrap;
}
.data-toolbar label {
  font-size: 12px;
}
.data-toolbar .control {
  height: 32px;
  width: auto;
  min-width: 125px;
}
.data-toolbar .search {
  margin-left: auto;
  width: 220px;
}
.table-scroll {
  overflow: auto;
  max-height: 455px;
}
table {
  border-collapse: collapse;
  width: auto;
  min-width: 100%;
  font-size: 11px;
  background: #fff;
}
th {
  background: #087bb8;
  color: #fff;
  text-align: left;
  padding: 7px 9px;
  white-space: nowrap;
  border-right: 1px solid #2f91bf;
}
td {
  padding: 6px 9px;
  border-right: 1px solid #d5dde2;
  border-bottom: 1px solid #d5dde2;
  white-space: nowrap;
}
tbody tr:nth-child(even) {
  background: #edf2f6;
}
tbody tr:hover {
  background: #ddecf5;
}
.center {
  text-align: center;
}
.status {
  font-weight: 700;
  color: #087447;
}
.table-footer {
  border-top: 2px solid #111;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 7px 12px;
  font-size: 12px;
}
.pagination {
  display: flex;
  gap: 5px;
}
.pagination .btn {
  min-width: 39px;
}
.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1000;
  isolation: isolate;
  background: #07172299;
  display: none;
  place-items: center;
}
.modal-backdrop.open {
  display: grid;
  z-index: 2147483647 !important;
}
.modal {
  position: relative;
  z-index: 2147483647 !important;
  width: 520px;
  background: #fff;
  border: 1px solid #8fa2ad;
  box-shadow: 0 15px 45px #0005;
}
.modal-title {
  background: var(--navy);
  color: #fff;
  padding: 11px 14px;
  font-weight: 700;
}
.modal-body {
  padding: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 13px;
}
.modal-actions {
  padding: 12px 16px;
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: flex-end;
  gap: 7px;
}
.marks-grid input {
  width: 54px;
  height: 27px;
  text-align: center;
  border: 1px solid #aebdc6;
}
.save-note {
  padding: 8px 11px;
  background: #e8f5ee;
  border: 1px solid #b8ddc8;
  color: #176d49;
  font-size: 11px;
  margin-bottom: 10px;
}
.certificate-page {
  min-height: 100vh;
  background: #dfe5e8;
  padding: 28px;
  display: grid;
  place-items: center;
}
.certificate {
  width: 1050px;
  height: 742px;
  background: #fff;
  border: 11px solid var(--navy);
  outline: 3px solid #c89d2c;
  outline-offset: -20px;
  padding: 25px;
  text-align: center;
  position: relative;
}
.certificate h1 {
  font:
    700 42px Georgia,
    serif;
  color: var(--navy);
  letter-spacing: 2px;
  margin: 18px;
}
.certificate h2 {
  font-size: 15px;
  letter-spacing: 2px;
  color: #9b7720;
}
.seal {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  margin: 12px auto;
  background: var(--navy);
  color: #d8b44b;
  border: 5px solid #d8b44b;
  display: grid;
  place-items: center;
  font-size: 25px;
  font-weight: 700;
}
.rank {
  position: absolute;
  right: 55px;
  top: 52px;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: #c89d2c;
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 18px;
}
.presented {
  color: var(--muted);
  font-size: 12px;
  margin-top: 25px;
}
.student-name {
  font:
    700 35px Georgia,
    serif;
  color: #08734e;
  display: inline-block;
  border-bottom: 1px solid #c89d2c;
  padding: 7px 35px;
}
.award {
  max-width: 760px;
  margin: 16px auto;
  line-height: 1.7;
  font-family: Georgia, serif;
}
.facts {
  display: flex;
  justify-content: center;
  gap: 34px;
  margin: 24px;
}
.facts small {
  color: var(--muted);
}
.facts b {
  display: block;
  color: var(--navy);
  margin-top: 5px;
}
.signatures {
  display: flex;
  justify-content: space-around;
  margin-top: 43px;
}
.signature {
  width: 210px;
  border-top: 1px solid #555;
  padding-top: 7px;
  font-size: 11px;
  color: var(--muted);
}
@media (max-width: 800px) {
  .site-nav {
    display: none;
  }
  .hero {
    grid-template-columns: 1fr;
    height: auto;
  }
  .hero-copy {
    padding: 55px 22px;
  }
  .hero h1 {
    font-size: 36px;
  }
  .hero-summary {
    padding: 35px 22px;
  }
  .checks {
    flex-wrap: wrap;
  }
  .auth-page {
    grid-template-columns: 1fr;
  }
  .auth-info {
    display: none;
  }
  .app {
    grid-template-columns: 1fr;
  }
  .sidebar {
    display: none;
  }
  .content {
    padding: 15px;
  }
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
  .data-section {
    min-width: 100%;
    max-width: 100%;
  }
  .data-toolbar .search {
    margin-left: 0;
    width: 100%;
  }
  .certificate-page {
    display: block;
    overflow: auto;
    padding: 0;
  }
  .certificate {
    transform: scale(0.36);
    transform-origin: top left;
  }
  .app-header {
    padding: 0 14px;
  }
}

/* Grouped application navigation */
.sidebar {
  height: 100vh;
  position: sticky;
  top: 0;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #557287 #12324a;
  padding: 16px 10px 22px;
}
.sidebar::-webkit-scrollbar {
  width: 6px;
}
.sidebar::-webkit-scrollbar-thumb {
  background: #557287;
  border-radius: 8px;
}
.menu-group {
  margin: 4px 0;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  overflow: hidden;
  transition: background-color .15s ease,border-color .15s ease;
}
.menu-group summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 5px;
  color: #eef5f8;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  user-select: none;
}
.menu-group summary::-webkit-details-marker {
  display: none;
}
.menu-group summary::after {
  content: "›";
  margin-left: auto;
  color: #89a3b2;
  font-size: 18px;
  transition: transform 0.18s ease;
}
.menu-group[open] summary {
  background: #0b5063;
  color: #fff;
}
.menu-group[open] summary::after {
  transform: rotate(90deg);
}
.group-icon {
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  border-radius: 5px;
  background: #ffffff12;
  color: #65d5a3;
  font-size: 11px;
}
.submenu {
  padding: 4px 0 6px 17px;
}
.menu-group[open] {
  border-color: #2b6a79;
  background: #0a3b4d;
  box-shadow: inset 3px 0 0 #13b98a;
}
.menu-group[open] .submenu {
  background: #082f40;
}
.menu-group:not([open]) {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.menu-group:not([open]) > .submenu {
  display: none;
  background: transparent;
}
.submenu a {
  display: flex;
  align-items: center;
  min-height: 33px;
  margin: 2px 0;
  padding: 7px 10px 7px 16px;
  border: 1px solid transparent;
  border-radius: 5px;
  color: #bfcfd7;
  font-size: 11px;
  position: relative;
}
.submenu a::before {
  content: "";
  position: absolute;
  left: 4px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #647f8f;
}
.submenu a:hover {
  background: #ffffff0d;
  color: #fff;
}
.submenu a.active {
  background: linear-gradient(90deg, #0c9263, #12a973);
  border-color: #31bd8b;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 4px 12px #001c1538;
}
.submenu a.active::before {
  background: #fff;
}
.quick-menu {
  display: grid;
  gap: 4px;
  margin: 8px 0 10px;
}
.quick-menu a {
  display: flex;
  gap: 9px;
  align-items: center;
  padding: 9px 10px;
  border-radius: 5px;
  color: #d9e5ea;
  font-size: 12px;
  font-weight: 700;
}
.quick-menu a.active {
  background: #087bb8;
  color: #fff;
}
.workflow-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap: 14px;
}
.action-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.action-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 5px;
}
.action-item:hover {
  border-color: #79b9d9;
  background: #f3f9fc;
}
.action-icon {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--blue);
  font-weight: 700;
}
.action-item b,
.action-item small {
  display: block;
}
.action-item small {
  color: var(--muted);
  margin-top: 3px;
  font-size: 10px;
}
.entry-mode {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  font-size: 11px;
}
.entry-mode:last-child {
  border-bottom: 0;
}
.mode-badge {
  padding: 5px 7px;
  border-radius: 3px;
  background: #e9f6ef;
  color: #08724c;
  font-size: 9px;
  font-weight: 700;
}
.mode-badge.pending {
  background: #fff3dd;
  color: #925d00;
}
@media (max-width: 900px) {
  .workflow-grid {
    grid-template-columns: 1fr;
  }
}

/* Official non-scroll public portal */
.portal-body {
  min-height: 100vh;
  overflow: hidden;
  background: #e8eef1;
}
.portal-home {
  width: min(1180px, calc(100% - 34px));
  height: calc(100vh - 34px);
  min-height: 620px;
  margin: 17px auto;
  background: #fff;
  border: 1px solid #b8c5cc;
  box-shadow: 0 8px 26px #15304418;
  display: grid;
  grid-template-rows: 70px 1fr 42px;
}
.portal-header {
  display: grid;
  grid-template-columns: 240px 1fr 260px;
  align-items: center;
  padding: 0 22px;
  border-top: 5px solid var(--green);
  border-bottom: 1px solid var(--line);
}
.portal-header-title {
  text-align: center;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 700;
}
.portal-header-actions {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
}
.portal-main {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, 0.65fr);
  align-items: center;
  padding: 5vh 6%;
  gap: 7%;
}
.portal-label {
  color: var(--green);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
}
.portal-intro h1 {
  color: var(--navy);
  font:
    700 43px/1.12 Georgia,
    "Times New Roman",
    serif;
  margin: 12px 0;
}
.portal-intro > p {
  max-width: 610px;
  color: #5e6f79;
  font-size: 15px;
  line-height: 1.7;
}
.portal-buttons {
  width: min(560px, 100%);
  display: grid;
  gap: 8px;
  margin-top: 25px;
}
.portal-button {
  min-height: 68px;
  display: grid;
  grid-template-columns: 42px 1fr 20px;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border: 1px solid #c8d4da;
  border-left: 4px solid var(--blue);
  background: #fff;
}
.portal-button:hover {
  background: #f4f9fb;
  border-color: #81b7d1;
}
.portal-button-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 4px;
  background: var(--blue);
  color: #fff;
  font-weight: 700;
}
.portal-button-icon.joint {
  background: #6354b5;
}
.portal-button-icon.school {
  background: #16865b;
}
.portal-button b,
.portal-button small {
  display: block;
}
.portal-button small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
}
.portal-button i {
  color: #79909d;
  font-size: 22px;
  font-style: normal;
}
.portal-board {
  border: 1px solid #aebfc8;
  background: #f7f9fa;
}
.portal-board-title {
  padding: 12px 14px;
  background: var(--navy);
  color: #fff;
  font-weight: 700;
}
.portal-board dl {
  margin: 0;
}
.portal-board dl div {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 14px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}
.portal-board dt {
  color: #41545f;
}
.portal-board dd {
  margin: 0;
  color: var(--green);
  font-weight: 700;
}
.portal-plans-link {
  display: block;
  padding: 13px 14px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 700;
}
.portal-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 22px;
  border-top: 1px solid var(--line);
  background: #f5f7f8;
  color: #71818a;
  font-size: 10px;
}

/* System boundaries */
.settings-layout {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 14px;
}
.settings-nav {
  background: #fff;
  border: 1px solid var(--line);
  height: fit-content;
}
.settings-nav a {
  display: block;
  padding: 10px 12px;
  border-bottom: 1px solid #e7ecef;
  color: #52646e;
  font-size: 11px;
}
.settings-nav a.active {
  background: var(--blue);
  color: #fff;
  font-weight: 700;
}
.settings-stack {
  display: grid;
  gap: 12px;
}
.boundary-note {
  padding: 10px 12px;
  border-left: 4px solid var(--blue);
  background: #edf7fc;
  color: #395765;
  font-size: 11px;
  line-height: 1.5;
}
.rule-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.rule-item {
  border: 1px solid var(--line);
  background: #fff;
  padding: 11px;
}
.rule-item b,
.rule-item small {
  display: block;
}
.rule-item small {
  color: var(--muted);
  margin-top: 5px;
  line-height: 1.45;
}
.paper-chip {
  display: inline-block;
  margin: 3px 3px 0 0;
  padding: 4px 6px;
  background: #eaf3f7;
  border: 1px solid #c6dbe5;
  color: #255d78;
  font-size: 9px;
  font-weight: 700;
}
@media (max-width: 800px) {
  .portal-body {
    overflow: auto;
  }
  .portal-home {
    width: 100%;
    min-height: 100vh;
    height: auto;
    margin: 0;
  }
  .portal-header {
    grid-template-columns: 1fr auto;
  }
  .portal-header-title {
    display: none;
  }
  .portal-header-actions .btn:first-child {
    display: none;
  }
  .portal-main {
    grid-template-columns: 1fr;
    padding: 45px 20px;
  }
  .portal-board {
    display: none;
  }
  .portal-intro h1 {
    font-size: 34px;
  }
  .settings-layout {
    grid-template-columns: 1fr;
  }
  .rule-grid {
    grid-template-columns: 1fr;
  }
}

/* Refined production preview */
.btn {
  gap: 6px;
  min-height: 35px;
  border-radius: 5px;
  font-weight: 700;
  box-shadow: 0 1px 2px #17324110;
}
.btn:hover {
  transform: translateY(-1px);
}
.btn-primary {
  background: linear-gradient(#1289c5, #0874ac);
}
.btn-green {
  background: linear-gradient(#1a9b69, #118054);
}
.btn-edit {
  color: #076b9f;
  border-color: #74bce0;
  background: #eef8fd;
}
.btn-danger {
  background: #fff5f4;
}
.table-scroll td .btn:not(.btn-danger) {
  color: #076b9f;
  border-color: #74bce0;
  background: #eef8fd;
}
.table-scroll td .btn-danger {
  font-weight: 700;
}
.auth-page {
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  padding: 30px;
  background: linear-gradient(145deg, #edf4f7, #f9fbfc);
}
.auth-shell {
  width: 470px;
  max-width: 100%;
}
.auth-brand {
  display: flex;
  justify-content: center;
  margin-bottom: 18px;
}
.auth-form {
  display: block;
  background: #fff;
  border: 1px solid #cbd6dc;
  box-shadow: 0 16px 45px #17324118;
  padding: 30px;
  border-radius: 8px;
}
.form-card {
  width: 100%;
  max-width: none;
}
.form-card h2,
.form-card > .help {
  text-align: center;
}
.home-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #4e626d;
  font-size: 12px;
  margin-top: 16px;
}
.control {
  border-radius: 4px;
}
.control:focus {
  outline: 2px solid #b8def1;
  border-color: var(--blue);
}
.account-type {
  border-radius: 5px;
  padding: 13px;
}
.app-header {
  height: 64px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  padding: 0 24px;
}
.app-context {
  font-size: 11px;
  color: var(--muted);
}
.institution-name {
  font:
    700 21px Georgia,
    "Times New Roman",
    serif;
  color: var(--navy);
  text-align: center;
  letter-spacing: 0.2px;
}
.app-user {
  margin-left: 0;
  justify-self: end;
}
.avatar {
  width: 33px;
  height: 33px;
  background: #e5f3fa;
}
.stats {
  gap: 10px;
  margin-bottom: 16px;
}
.stat {
  display: grid;
  grid-template-columns: 42px auto;
  align-items: center;
  gap: 10px;
  border-top: 1px solid var(--line);
  padding: 11px 14px;
  min-width: 155px;
  border-radius: 6px;
  box-shadow: 0 3px 10px #1732410b;
}
.stat-icon {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  background: var(--blue);
}
.stat.green .stat-icon {
  background: #16865b;
}
.stat.purple .stat-icon {
  background: #6354b5;
}
.stat.orange .stat-icon {
  background: #d27b17;
}
.stat.red .stat-icon {
  background: #bb4038;
}
.stat.teal .stat-icon {
  background: #16858a;
}
.stat-copy strong {
  display: block;
}
.table-scroll {
  overflow: auto;
  max-height: 390px;
  scrollbar-width: thin;
}
thead {
  position: sticky;
  top: 0;
  z-index: 2;
}
body.modal-open thead,
body:has(.modal-backdrop.open) thead {
  position: static !important;
  z-index: auto !important;
}
.modal {
  border-radius: 7px;
  overflow: hidden;
}
.plans-page {
  min-height: 100vh;
  background: #f2f5f7;
}
.plans-head {
  background: #fff;
  border-bottom: 1px solid var(--line);
  padding: 38px 20px;
  text-align: center;
}
.plans-head h1 {
  color: var(--navy);
  font:
    700 34px Georgia,
    serif;
  margin: 0 0 8px;
}
.plans-grid {
  max-width: 1050px;
  margin: 35px auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  padding: 0 20px;
}
.plan {
  background: #fff;
  border: 1px solid #c8d4da;
  padding: 23px;
  position: relative;
}
.plan.featured {
  border: 2px solid var(--blue);
  box-shadow: 0 10px 30px #087bb816;
}
.plan-badge {
  position: absolute;
  right: 15px;
  top: 15px;
  background: #e9f6ef;
  color: #14724e;
  padding: 5px 8px;
  font-size: 10px;
  font-weight: 700;
  border-radius: 3px;
}
.plan h2 {
  color: var(--navy);
  margin: 0;
  font-size: 20px;
}
.plan-duration {
  color: var(--blue);
  font-weight: 700;
  margin: 8px 0 18px;
}
.plan ul {
  list-style: none;
  padding: 0;
  margin: 18px 0;
}
.plan li {
  padding: 8px 0;
  border-bottom: 1px solid #edf1f3;
  font-size: 12px;
}
.plan li:before {
  content: "✓";
  color: var(--green);
  font-weight: 700;
  margin-right: 8px;
}
.plan li.locked {
  color: #8a969d;
}
.plan li.locked:before {
  content: "×";
  color: #b14b44;
}
.demo-watermark {
  font-size: 10px;
  color: #a9231a;
  font-weight: 700;
}
.registration-page {
  min-height:100vh; display:grid; place-items:center; padding:28px;
  background:#edf2f5;
}
.registration-shell { width:min(760px,100%); }
.auth-brand {
  display:flex; justify-content:center; align-items:center; gap:9px; margin-bottom:14px;
  color:#12324a; font-size:20px; font-weight:800;
}
.registration-card {
  background:#fff; border:1px solid #c6d2d8; border-radius:6px;
  box-shadow:0 12px 38px #17324114; overflow:hidden;
}
.registration-card header { padding:20px 24px 14px; border-bottom:3px solid #087bb8; text-align:center; }
.registration-card header h1 { margin:0; color:#12324a; font-size:23px; }
.registration-card header p { margin:5px 0 0; color:#687b85; font-size:12px; }
.registration-card form { padding:5px 24px 18px; }
.registration-grid { display:grid; grid-template-columns:1fr 1fr; column-gap:15px; }
.registration-password { grid-column:1/-1; }
.registration-actions {
  display:flex; justify-content:flex-end; align-items:center; gap:14px;
  margin-top:4px; padding-top:15px; border-top:1px solid #dbe3e7;
}
.registration-actions a { margin-right:auto; color:#526770; font-size:11px; }
.registration-card footer {
  padding:12px 20px; background:#f5f8f9; border-top:1px solid #d8e1e5;
  text-align:center; color:#667983; font-size:11px;
}
.registration-card footer a { color:#087bb8; font-weight:800; }
.auth-error {
  margin:14px 24px 0; padding:9px 11px; border:1px solid #e1aaa5;
  background:#fff1f0; color:#982f28; font-size:11px;
}

/* Registration experience v56 */
.registration-page{padding:20px;background:radial-gradient(circle at 15% 10%,#dceef6 0,transparent 34%),linear-gradient(135deg,#eef5f7 0%,#e6eef2 100%)}
.registration-shell{width:min(820px,100%)}
.auth-brand{margin-bottom:12px;text-decoration:none;font-size:21px}.auth-brand>.mark{width:38px;height:38px;display:grid;place-items:center;border-radius:7px;background:linear-gradient(145deg,#0796ce,#05679d);color:#fff;box-shadow:0 7px 17px #075d8f30}.auth-brand>span:last-child{display:flex;flex-direction:column;line-height:1.05}.auth-brand small{margin-top:4px;color:#66808d;font-size:9px;font-weight:650;letter-spacing:.35px}
.registration-card{border:1px solid #bfd0d8;border-radius:11px;box-shadow:0 22px 60px #173d511c}
.registration-card header{padding:17px 28px 15px;border-bottom:1px solid #d6e2e7;background:linear-gradient(180deg,#fff,#f9fcfd)}
.registration-kicker{display:block;margin-bottom:5px;color:#087bb8;font-size:9px;font-weight:850;letter-spacing:1.25px}.registration-card header h1{font-size:24px}.registration-card header p{font-size:12.5px}
.registration-card form{padding:7px 28px 20px}.registration-section-title{display:flex;align-items:center;gap:10px;margin:13px 0 7px;padding-bottom:7px;border-bottom:1px solid #e2e9ec}.registration-section-title>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#e3f2f9;color:#076c9f;font-size:11px;font-weight:850}.registration-section-title div{display:flex;flex-direction:column}.registration-section-title b{color:#163b50;font-size:13px}.registration-section-title small{margin-top:1px;color:#72858e;font-size:10.5px}
.registration-grid{column-gap:17px;row-gap:0}.registration-grid .field{margin-bottom:9px}.registration-grid .field label{margin-bottom:5px;color:#183a4d;font-size:12px;font-weight:750}.registration-grid .field label em{color:#7c8d95;font-size:9px;font-style:normal;font-weight:650;text-transform:uppercase}.registration-grid .control{width:100%;height:42px;min-height:42px;border-color:#afc2cb;border-radius:6px;background:#fff;font-size:13px;transition:border-color .15s,box-shadow .15s}.registration-grid .control:focus{border-color:#0780ba;box-shadow:0 0 0 3px #bde5f73d;outline:0}.registration-grid .control::placeholder{color:#9aaab1}.field-help{display:block;margin-top:4px;color:#71858f;font-size:10px;line-height:1.25}
.registration-password-control{position:relative}.registration-password-control .control{padding-right:58px}.registration-password-control button{position:absolute;top:1px;right:1px;height:40px;width:54px;border:0;border-left:1px solid #d4e0e5;border-radius:0 5px 5px 0;background:#f5f9fa;color:#076b9d;font-size:10.5px;font-weight:800;cursor:pointer}.registration-password-control button:hover{background:#e7f3f8}
.auth-error{display:flex;align-items:flex-start;gap:10px;margin:12px 28px 0;padding:10px 12px;border:1px solid #efb1ab;border-left:4px solid #c83d32;border-radius:6px;background:#fff3f2;color:#8e2d27;font-size:11.5px}.auth-error>span{width:23px;height:23px;display:grid;place-items:center;flex:0 0 23px;border-radius:50%;background:#c83d32;color:#fff;font-weight:900}.auth-error b{display:block;margin-bottom:2px;font-size:12px}.auth-error p{margin:0;line-height:1.4}
.registration-actions{margin-top:7px;padding-top:14px}.registration-back{display:inline-flex;align-items:center;gap:7px;padding:9px 2px;text-decoration:none;font-size:12px!important;font-weight:750}.registration-back span{font-size:17px}.registration-submit{min-width:210px;height:44px;display:flex;align-items:center;justify-content:center;gap:18px;border:1px solid #066b9d;border-radius:6px;background:linear-gradient(135deg,#0788c3,#06689e);color:#fff;font-size:13px;font-weight:800;box-shadow:0 7px 16px #076b9d29;cursor:pointer}.registration-submit:hover{transform:translateY(-1px);background:linear-gradient(135deg,#0795d2,#075f91);box-shadow:0 9px 19px #076b9d35}.registration-submit:disabled{cursor:wait;opacity:.78;transform:none}.registration-submit.is-loading b{animation:registrationPulse .8s infinite alternate}.registration-card footer{padding:11px 20px;font-size:11.5px}.registration-card footer span{color:#657983}.registration-card footer a{text-decoration:none}
@keyframes registrationPulse{to{transform:translateX(5px)}}
@media(max-width:680px){.registration-page{display:block;padding:10px}.registration-shell{margin:0 auto}.auth-brand{margin:3px 0 10px}.registration-card header{padding:15px 17px 13px}.registration-card header h1{font-size:21px}.registration-card form{padding:6px 16px 16px}.auth-error{margin:11px 16px 0}.registration-section-title small{display:none}.registration-grid{grid-template-columns:1fr}.registration-actions{align-items:stretch;flex-direction:column-reverse;gap:5px}.registration-submit{width:100%}.registration-back{justify-content:center;margin:0!important}.registration-card footer{padding:10px}.registration-page .field-help{font-size:10.5px}}
@media(max-height:760px) and (min-width:681px){.registration-page{place-items:start center;padding:10px}.auth-brand{margin-bottom:8px}.auth-brand small{display:none}.registration-card header{padding:12px 24px 10px}.registration-card header h1{font-size:21px}.registration-card form{padding-bottom:13px}.registration-section-title{margin:8px 0 5px}.registration-grid .field{margin-bottom:6px}.registration-grid .control{height:38px;min-height:38px}.registration-password-control button{height:36px}.field-help{margin-top:2px}.registration-actions{padding-top:9px}.registration-submit{height:40px}.registration-card footer{padding:8px}}
.process-strip {
  display: flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 16px;
  padding: 10px 14px;
  border: 1px solid #cbd7dd;
  background: #fff;
  box-shadow: 0 2px 7px #1531410a;
}
.process-strip div { display: flex; align-items: center; gap: 8px; min-width: 125px; }
.process-strip b {
  display: grid; place-items: center; width: 24px; height: 24px;
  border-radius: 50%; background: #087bb8; color: #fff; font-size: 11px;
}
.process-strip span { color: #243943; font-size: 11px; font-weight: 700; }
.process-strip i { margin: 0 12px; color: #88a0ab; font-style: normal; font-size: 20px; }
.state-pill {
  display: inline-block; min-width: 72px; padding: 4px 7px; border-radius: 3px;
  font-size: 9px; font-weight: 800; text-align: center; letter-spacing: .35px;
  background: #e8eef1; color: #3c515b;
}
.state-published,.state-complete { background:#e4f5eb; color:#0b6d45; }
.state-processed,.state-validated { background:#e5f1fa; color:#075f91; }
.state-entry_closed,.state-incomplete { background:#fff0d9; color:#945500; }
.state-open { background:#e9e7fb; color:#5440a0; }
.state-absent { background:#f5e8e7; color:#9a332d; }
.action-col { min-width: 245px; }
.row-actions { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.row-actions form { margin:0; }
.action-btn {
  display:inline-flex; align-items:center; justify-content:center; height:26px; padding:0 9px;
  border:1px solid #aec0c9; border-radius:3px; background:#fff; color:#29434f;
  font:700 10px Arial,sans-serif; text-decoration:none; cursor:pointer; white-space:nowrap;
}
.action-btn:hover { filter:brightness(.96); box-shadow:0 1px 4px #17334219; }
.action-check { border-color:#2c9a69; color:#087346; background:#f2fbf6; }
.action-process { border-color:#087bb8; color:#066b9f; background:#edf8fd; }
.action-publish { border-color:#6a54b7; color:#503b9d; background:#f4f1ff; }
.action-view { border-color:#5690aa; color:#1f647f; background:#f2f8fb; }
.action-award { border-color:#c28a24; color:#845800; background:#fff8e6; }
.report-filter {
  display:flex; align-items:end; gap:10px; width:min(560px,75%); margin-bottom:14px;
}
.report-filter label { width:100%; color:#526670; font-size:10px; font-weight:700; }
.report-filter select { margin-top:5px; }
.btn-export { background:#16794e; color:#fff; border-color:#116540; }
.report-stats .stat-blue { border-top:3px solid #087bb8; }
.report-stats .stat-green { border-top:3px solid #19865a; }
.report-stats .stat-orange { border-top:3px solid #d98216; }
.report-stats .stat-purple { border-top:3px solid #6752a8; }
.results-scroll { max-height:420px; overflow:auto; }
.result-sheet {
  width:min(900px,75%); background:#fff; border:1px solid #bdccd3; padding:20px;
  box-shadow:0 2px 9px #122e3d0d;
}
.result-sheet-head { display:grid; grid-template-columns:1.25fr 1fr; gap:25px; border-bottom:3px solid #087bb8; padding-bottom:15px; }
.result-sheet-head small,.award-details small { display:block; color:#6b7e87; font-size:9px; font-weight:800; letter-spacing:.7px; text-transform:uppercase; }
.result-sheet-head h2 { color:#13374a; font-size:21px; margin:4px 0; }
.result-sheet-head h3 { color:#13374a; font-size:15px; margin:4px 0; }
.result-summary { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:#d3dde2; margin:15px 0; border:1px solid #d3dde2; }
.result-summary div { background:#f7f9fa; padding:11px; text-align:center; }
.result-summary small { display:block; color:#667b85; font-size:9px; font-weight:700; }
.result-summary strong { color:#0b5276; font-size:18px; }
.report-footnote { margin:13px 0 0; color:#687b84; font-size:10px; }
.empty-state { display:flex; flex-direction:column; gap:5px; width:min(700px,75%); padding:30px; background:#fff; border:1px solid #cad5da; color:#6b7c84; }
.setup-columns { display:grid; grid-template-columns:1.25fr 1fr; gap:14px; width:min(1100px,100%); margin-bottom:14px; }
.setup-columns .data-section { width:100%; }
.setup-scroll { max-height:300px; overflow:auto; }
.empty-state b { color:#183b4b; }
.certificate-workspace { background:#edf1f3; }
.merit-certificate {
  width:min(1000px,100%); aspect-ratio:1.414/1; margin:0 auto 22px; padding:13px;
  background:#fff; box-shadow:0 5px 22px #17313f21; page-break-after:always;
}
.certificate-border {
  height:100%; border:3px double #153f58; outline:1px solid #c7a44a; outline-offset:-8px;
  padding:32px 45px; display:flex; flex-direction:column; align-items:center; text-align:center;
  background:linear-gradient(135deg,#fff 0%,#f9fbfc 52%,#fffaf0 100%);
}
.certificate-border header { position:relative; width:100%; }
.certificate-seal {
  position:absolute; left:0; top:0; width:48px; height:48px; display:grid; place-items:center;
  border:2px solid #c29a35; border-radius:50%; color:#153f58; font:700 18px Georgia,serif;
}
.certificate-border header small { color:#9b7417; font-size:9px; font-weight:800; letter-spacing:2px; }
.certificate-border header h1 { margin:8px 0 4px; color:#123d56; font:700 30px Georgia,serif; letter-spacing:2px; }
.certificate-border header h2 { margin:0; color:#526a75; font-size:12px; letter-spacing:1px; }
.award-copy { margin:18px 0 8px; }
.award-copy p { margin:5px; color:#677a83; font:italic 13px Georgia,serif; }
.award-copy h3 { margin:7px 0 2px; padding:0 30px 5px; border-bottom:1px solid #c7a44a; color:#142f3d; font:700 24px Georgia,serif; }
.award-copy h4 { margin:6px 0; color:#174f6b; font-size:13px; }
.award-rank {
  width:92px; height:92px; display:flex; flex-direction:column; justify-content:center;
  border:2px solid #c59d36; border-radius:50%; color:#143d54; background:#fffaf0;
}
.award-rank span,.award-rank small { font-size:7px; font-weight:800; letter-spacing:1px; }
.award-rank strong { font:700 34px Georgia,serif; line-height:35px; color:#a4750a; }
.award-details { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:1px; width:100%; margin:14px 0; background:#d5dde0; border:1px solid #d5dde0; }
.award-details div { padding:8px; background:#fff; }
.award-details b { display:block; margin-top:3px; color:#183c4e; font-size:10px; }
.certificate-border footer { margin-top:auto; display:grid; grid-template-columns:1fr 1.4fr 1fr; align-items:end; gap:35px; width:100%; }
.signature span { display:block; border-top:1px solid #435b66; }
.signature b { display:block; padding-top:4px; color:#425963; font-size:9px; }
.verify small { display:block; color:#7c8b92; font-size:8px; }
.verify b { color:#9b7417; font-size:10px; letter-spacing:.8px; }
@media print {
  .sidebar,.app-header,.no-print,.save-note,.boundary-note { display:none !important; }
  .app,.workspace,.content,.certificate-workspace { display:block; width:100%; margin:0; padding:0; background:#fff; }
  .merit-certificate { width:100%; margin:0; box-shadow:none; }
  .result-sheet { width:100%; border:0; box-shadow:none; }
}
@media (max-width: 800px) {
  .auth-page {
    padding: 18px;
  }
  .auth-form {
    padding: 22px;
  }
  .account-types {
    grid-template-columns: 1fr;
  }
  .plans-grid {
    grid-template-columns: 1fr;
  }
  .app-header {
    padding: 0 12px;
    grid-template-columns: 55px 1fr 55px;
  }
  .institution-name {
    font-size: 14px;
  }
  .app-user span,
  .app-context {
    display: none;
  }
  .stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .stat {
    min-width: 0;
  }
  .process-strip { overflow-x:auto; width:100%; }
  .process-strip div { min-width:110px; }
  .report-filter,.result-sheet,.empty-state { width:100%; }
  .result-summary { grid-template-columns:repeat(2,1fr); }
  .merit-certificate { aspect-ratio:auto; }
  .certificate-border { padding:24px 18px; }
  .award-details { grid-template-columns:1fr 1fr; }
  .hero { height:auto; min-height:calc(100vh - 66px); grid-template-columns:1fr; }
  .hero-copy { padding:42px 24px; }
  .hero h1 { font-size:35px; }
  .hero-summary { padding:28px 24px; }
  .checks { flex-wrap:wrap; }
  .registration-page { padding:15px; }
  .registration-grid { grid-template-columns:1fr; }
  .registration-password { grid-column:1; }
  .setup-columns { grid-template-columns:1fr; }
}

/* Final global readability overrides */
html,body{font-family:"Segoe UI",Arial,sans-serif;font-size:15px}.app{grid-template-columns:242px minmax(0,1fr)}
.sidebar{height:100vh;overflow:hidden;display:flex;flex-direction:column;padding:16px 10px 14px}.sidebar .brand{font-size:21px;flex:0 0 auto}.tenant{font-size:12.5px;line-height:1.45;flex:0 0 auto}.tenant b{font-size:13.5px;line-height:1.35}.sidebar nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-width:thin;scrollbar-color:#648397 #12324a}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-thumb{background:#648397;border-radius:8px}.menu-group summary{min-height:43px;font-size:13.5px;padding:9px 10px}.group-icon{width:25px;height:25px;font-size:12px}.submenu{padding-left:15px}.submenu a{min-height:38px;font-size:12.5px;line-height:1.25;padding:8px 9px 8px 17px}.quick-menu a{min-height:43px;font-size:13.5px}
.page-head h1{font-size:25px}.page-head p{font-size:13.5px;line-height:1.45}.data-title h2{font-size:20px}.data-title small,.panel-heading p{font-size:12.5px}.stat small{font-size:12px}.field label,.data-toolbar label{font-size:13px}.control{min-height:41px;font-size:14px}.btn{min-height:38px;padding:8px 15px;font-size:13.5px;font-weight:650;border-radius:5px}.btn-sm{min-height:32px;padding:5px 11px;font-size:12.5px}
.table-scroll{position:relative}table{font-size:13px}th{background:#066fa7;color:#fff;padding:9px 10px;font-size:13px;font-weight:750;letter-spacing:.08px;border-right-color:#3990b8;box-shadow:inset 0 -1px 0 #03577f}thead{position:sticky;top:0;z-index:4}td{padding:8px 10px;line-height:1.3}.table-footer{font-size:13px;padding:8px 12px}.state-pill{font-size:11.5px}.table-scroll td .btn{box-shadow:0 1px 2px #102f3f20}.table-scroll td .btn-primary{background:#087bb8;color:#fff;border-color:#087bb8}
.modal{width:min(590px,94vw);border-radius:7px;overflow:hidden;box-shadow:0 22px 65px #00182470}.modal-title{min-height:48px;padding:13px 17px;font-size:15px;letter-spacing:.1px}.modal-body{padding:18px;gap:2px 15px}.modal-actions{padding:13px 17px;background:#f7fafb}.modal-title-rich{display:flex;align-items:center;justify-content:space-between}.modal-title-rich>div{display:flex;flex-direction:column;gap:3px}.modal-title-rich span{font-size:11.5px;font-weight:400;color:#cce0ea}.modal-x{width:31px;height:31px;border:1px solid #ffffff55;border-radius:4px;background:#ffffff12;color:#fff;font-size:22px;line-height:1;cursor:pointer}.grade-modal{width:min(650px,94vw)}.grade-modal-body{padding:16px 18px}.grade-grid{display:grid;grid-template-columns:80px 1fr 1fr 95px;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid #e0e8ec}.grade-grid-head{padding:6px 0 9px;color:#5a6e78;font-size:12px;font-weight:750;text-transform:uppercase}.grade-badge{width:42px;height:32px;display:grid;place-items:center;border-radius:5px;background:#e6eef2;color:#12324a;font-size:15px}.grade-a,.grade-b{background:#dff4e8;color:#087447}.grade-c,.grade-d{background:#e8f2fa;color:#075e8c}.grade-e,.grade-s{background:#fff1ce;color:#805d00}.grade-f{background:#fde4e1;color:#a22b22}.grade-point{font-weight:750;text-align:center;color:#12324a}.modal-help{margin-top:12px;padding:10px 12px;border-left:3px solid #087bb8;background:#eef6fa;color:#465e6a;font-size:12.5px;line-height:1.45}.btn-grade{border-color:#6d58bf;color:#503ca1;background:#f4f1ff}.btn-grade:hover{background:#eae4ff}
@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{display:none}.page-head{align-items:flex-start;gap:12px}.grade-grid{grid-template-columns:55px 1fr 1fr 65px}.content{padding:15px}.modal-body{grid-template-columns:1fr}.span-two,.check-line{grid-column:1}}
.enrollment-filters{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;padding:14px}.enrollment-filters .field{margin:0}.enrollment-search{grid-column:span 2}.filter-action{display:flex;align-items:flex-end}.enrollment-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.enrollment-title small{display:block;margin-top:3px;color:#526b78}.enrollment-scroll{max-height:430px;overflow:auto}.check-cell{width:38px;text-align:center}.enrollment-status{display:inline-block;min-width:104px;padding:5px 8px;border-radius:4px;text-align:center;font-size:11px;font-weight:800}.is-enrolled{background:#d9f4e8;color:#08734d}.is-pending{background:#fff0ce;color:#8a5b00}.success-icon{background:#079668!important}.warning-icon{background:#df7a00!important}.enrollment-register .table-footer span{color:#526b78}@media(max-width:900px){.enrollment-filters{grid-template-columns:1fr 1fr}.enrollment-search{grid-column:span 1}.enrollment-title{align-items:flex-start;flex-direction:column}}
.marks-filter{display:grid;grid-template-columns:200px minmax(230px,1fr) 210px auto;gap:8px}.marks-bulk-form{margin-top:12px}.marks-command-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 13px;border-bottom:2px solid #00a778;background:#fff}.marks-command-bar h2{margin:0 0 3px;color:#123c54;font-size:18px}.marks-command-bar span{color:#536b77;font-size:12.5px}.marks-save-all{min-width:142px}.marks-entry-scroll{max-height:480px;overflow:auto}.marks-grid .mark-input{width:105px;height:38px;border:1px solid #9db7c4;border-radius:4px;padding:6px 9px;font-size:16px;font-weight:700;text-align:center;color:#12394d;background:#fff}.marks-grid .mark-input:focus{outline:3px solid #95d9f5;border-color:#047caf}.marks-grid .mark-input.mark-invalid{border:2px solid #d5322c;background:#fff2f1;outline:3px solid #f7aaa6}.abs-control{display:inline-flex;align-items:center;gap:6px;font-weight:700;cursor:pointer}.abs-control input{width:20px;height:20px}.mark-state{display:inline-block;min-width:72px;padding:5px 8px;border-radius:4px;text-align:center;font-size:11px;font-weight:800}.mark-state.saved{background:#d9f4e8;color:#08734d}.mark-state.pending{background:#fff0ce;color:#845800}.mark-state.locked{background:#e3e8eb;color:#435863}.mark-range-popup{position:fixed;z-index:1000;right:24px;top:92px;display:none;min-width:310px;padding:13px 16px;border-left:5px solid #d5322c;border-radius:5px;background:#fff;box-shadow:0 10px 35px #102d3d45;color:#263f4d}.mark-range-popup.show{display:block;animation:markPopupIn .16s ease-out}.mark-range-popup b{display:block;color:#b72520;font-size:14px}.mark-range-popup span{display:block;margin-top:3px;font-size:13px}.marks-entry-page .table-footer{align-items:center}@keyframes markPopupIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(max-width:900px){.marks-filter{grid-template-columns:1fr 1fr}.marks-command-bar{align-items:flex-start;flex-direction:column}.mark-range-popup{left:15px;right:15px;top:75px;min-width:0}}
.marks-page-head{align-items:center}.marks-live-stats{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:9px}.marks-stat{min-width:140px;padding:9px 13px;border:1px solid #bfd0d8;border-left:5px solid #087bb8;border-radius:5px;background:#fff;box-shadow:0 2px 6px #16384a0d}.marks-stat span{display:block;color:#526b77;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}.marks-stat strong{display:block;margin-top:2px;color:#123c54;font-size:23px;line-height:1}.marks-stat.entered{border-left-color:#078f64}.marks-stat.entered strong{color:#08734d}.marks-stat.absent{border-left-color:#d98216}.marks-stat.absent strong{color:#a55a00}.marks-stat.empty{border-left-color:#c33b35}.marks-stat.empty strong{color:#a62823}@media(max-width:900px){.marks-page-head{align-items:flex-start}.marks-live-stats{width:100%;grid-template-columns:repeat(3,1fr)}.marks-stat{min-width:0}}
.progress-exam-filter{display:flex;align-items:center;gap:9px}.progress-exam-filter label{color:#526b77;font-size:12px;font-weight:750}.progress-exam-filter select{min-width:310px}.progress-overview{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:10px;margin-bottom:14px}.progress-card{padding:12px 14px;border:1px solid #c2d1d8;border-top:4px solid #087bb8;border-radius:5px;background:#fff;box-shadow:0 2px 7px #173b4d0c}.progress-card span{display:block;color:#536b77;font-size:11px;font-weight:800;text-transform:uppercase}.progress-card strong{display:block;margin:3px 0;color:#123d54;font-size:25px}.progress-card small{color:#6a7e87;font-size:10.5px}.progress-card.entered{border-top-color:#078f64}.progress-card.absent{border-top-color:#d98216}.progress-card.empty{border-top-color:#c33b35}.progress-card.complete{border-top-color:#6752a8}.mini-progress,.table-progress{height:7px;overflow:hidden;border-radius:8px;background:#dfe8ec}.mini-progress{margin-top:8px}.mini-progress i,.table-progress i{display:block;height:100%;border-radius:inherit;background:#07966a}.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.progress-section{width:100%}.progress-table-scroll{max-height:350px;overflow:auto}.cell-subtitle{display:block;margin-top:2px;color:#617681;font-size:10.5px}.table-progress{display:inline-block;width:70px;margin-right:6px;vertical-align:middle}.progress-value{color:#254859;font-size:11px}.danger-text{color:#b52d27!important;font-weight:800}.success-text{color:#08734d!important}.submission-pill,.missing-pill{display:inline-block;padding:4px 7px;border-radius:4px;font-size:10px;font-weight:800;background:#e7edf0;color:#435b67}.submission-submitted{background:#d9f4e8;color:#08734d}.submission-reopened{background:#fff0ce;color:#805900}.missing-marks-section .data-title{display:flex;align-items:center;justify-content:space-between}.missing-total{padding:6px 10px;border-radius:4px;background:#fde5e2;color:#a52b25;font-size:11px;font-weight:850}.missing-scroll{max-height:390px;overflow:auto}.missing-pill{background:#fde5e2;color:#a52b25}@media(max-width:1100px){.progress-overview{grid-template-columns:repeat(3,1fr)}.progress-grid{grid-template-columns:1fr}}@media(max-width:700px){.progress-overview{grid-template-columns:1fr 1fr}.progress-exam-filter{width:100%;align-items:flex-start;flex-direction:column}.progress-exam-filter select{min-width:0;width:100%}}
.compact-missing-scroll{max-height:310px}.compact-missing-scroll table{width:auto;min-width:820px}.compact-missing-scroll th:nth-child(1){width:55px}.compact-missing-scroll th:nth-child(2){width:145px}.compact-missing-scroll th:nth-child(3){min-width:230px}.compact-missing-scroll th:nth-child(4){min-width:270px}.compact-missing-scroll th:nth-child(5){width:125px;text-align:center}.compact-missing-scroll td:nth-child(5){text-align:center}.candidate-missing-count{display:inline-grid;min-width:42px;height:30px;place-items:center;border-radius:15px;background:#fde5e2;color:#a52b25;font-size:13px;font-weight:850}.missing-details-modal{width:min(820px,95vw)}.missing-candidate-summary{display:grid;grid-template-columns:1fr 1.5fr 2fr .7fr;gap:1px;background:#cad7dd;border-bottom:1px solid #cad7dd}.missing-candidate-summary div{padding:11px 13px;background:#f7fafb}.missing-candidate-summary span{display:block;color:#647983;font-size:10px;font-weight:800;text-transform:uppercase}.missing-candidate-summary b{display:block;margin-top:3px;color:#183d50;font-size:13px}.missing-modal-table{max-height:350px;overflow:auto;padding:14px 16px;background:#fff}.missing-modal-table table{width:100%}@media(max-width:700px){.missing-candidate-summary{grid-template-columns:1fr 1fr}.missing-details-modal{width:96vw}}
.qa-status{min-width:92px;padding:6px 9px;border:0;border-radius:4px;font-size:10.5px;font-weight:850;cursor:pointer}.qa-ready{background:#d9f4e8;color:#08734d}.qa-blocked{background:#fde5e2;color:#a52b25}.results-qa-modal{width:min(760px,95vw)}.qa-modal-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#c9d7de;border-bottom:1px solid #c9d7de}.qa-modal-summary div{padding:11px 8px;text-align:center;background:#f8fafb}.qa-modal-summary span{display:block;color:#627681;font-size:9.5px;font-weight:800;text-transform:uppercase}.qa-modal-summary b{display:block;margin-top:3px;color:#153e53;font-size:19px}.qa-verdict{margin:14px 16px 9px;padding:11px 13px;border-left:4px solid #c33b35;background:#fff1ef;color:#992a25;font-size:13px;font-weight:800}.qa-verdict.ready{border-left-color:#078f64;background:#e7f7f0;color:#08734d}.qa-check-list{max-height:320px;overflow:auto;margin:0 16px 16px;border:1px solid #d2dde2}.qa-check-list>div{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;min-height:39px;padding:7px 10px;border-bottom:1px solid #e0e7ea}.qa-check-list>div:last-child{border-bottom:0}.qa-check-list b{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;font-size:12px}.qa-check-list span{color:#344f5d;font-size:12.5px}.qa-check-list strong{font-size:10.5px}.qa-check-list .passed b{background:#d9f4e8;color:#08734d}.qa-check-list .passed strong{color:#08734d}.qa-check-list .failed b{background:#fde5e2;color:#a52b25}.qa-check-list .failed strong{min-width:30px;text-align:center;color:#a52b25}.qa-check-list .warning b{background:#fff0ce;color:#835b00}.qa-check-list .warning strong{color:#835b00}@media(max-width:650px){.qa-modal-summary{grid-template-columns:repeat(3,1fr)}}
.qa-waiting{background:#fff0ce!important;color:#805900!important}.qa-verdict.waiting{border-left-color:#d98216;background:#fff7e5;color:#805900}
.action-disabled{opacity:.55!important;cursor:not-allowed!important;background:#e4e9ec!important;color:#60727b!important;border-color:#c7d1d6!important}
.report-review-title{display:flex;align-items:center;justify-content:space-between}.review-note{padding:6px 9px;border:1px solid #b9d2de;border-radius:4px;background:#eef6fa;color:#285468;font-size:11px;font-weight:800;text-transform:uppercase}.report-tabs{display:flex;gap:0;padding:0 11px;border-bottom:1px solid #bccdd5;background:#f4f7f8;overflow-x:auto}.report-tabs button{min-width:125px;padding:12px 15px;border:0;border-bottom:3px solid transparent;background:transparent;color:#47616e;font-size:13px;font-weight:750;cursor:pointer}.report-tabs button:hover{background:#eaf1f4;color:#0a5278}.report-tabs button.active{border-bottom-color:#00a778;background:#fff;color:#083f5d}.report-tabs button span{display:inline-grid;min-width:22px;height:20px;place-items:center;margin-left:4px;border-radius:10px;background:#dce7ec;font-size:10px}.report-panel{display:none}.report-panel.active{display:block}.analytics-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 12px 10px;border-bottom:1px solid #d5e0e5;background:#fff}.analytics-heading h3{margin:0;color:#123f58;font-size:18px}.analytics-heading p{margin:3px 0 0;color:#5f747e;font-size:12px}.report-live-search{width:270px}.analytics-scroll{max-height:410px;overflow:auto}.performance-pill{display:inline-block;min-width:58px;padding:4px 7px;border-radius:4px;background:#dff4e8;color:#087447;text-align:center;font-weight:800}.division-analytics{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:11px;padding:15px;background:#edf2f4}.division-analytics article{padding:14px;border:1px solid #c6d4db;border-top:4px solid #087bb8;border-radius:5px;background:#fff}.division-analytics article>span{display:block;color:#637783;font-size:10px;font-weight:800;text-transform:uppercase}.division-analytics article>strong{display:block;margin:2px 0;color:#123d54;font:700 28px Georgia,serif}.division-analytics article>b{display:block;color:#294c5d;font-size:12px}.division-analytics article>div{height:7px;margin:10px 0 6px;overflow:hidden;border-radius:7px;background:#e1e9ed}.division-analytics article i{display:block;height:100%;border-radius:inherit;background:#079669}.division-analytics article small{color:#667b85;font-size:10.5px}.rank-medal{display:inline-grid;width:31px;height:31px;place-items:center;border-radius:50%;background:#e3ebef;color:#25495b;font-weight:850}.rank-1{background:#f4d66d;color:#624900}.rank-2{background:#dce2e5;color:#344a55}.rank-3{background:#e5b98f;color:#6f3e17}@media(max-width:900px){.analytics-heading{align-items:flex-start;flex-direction:column}.report-live-search{width:100%}.division-analytics{grid-template-columns:1fr 1fr}.report-tabs button{min-width:110px}}
.report-empty-state{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;width:min(880px,100%);padding:20px}.report-empty-state>div{display:flex;flex-direction:column;gap:4px}.empty-state-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:5px;background:#087bb8;color:#fff;font-size:20px;font-weight:850}.report-empty-state .btn{white-space:nowrap}@media(max-width:700px){.report-empty-state{grid-template-columns:48px 1fr}.report-empty-state .btn{grid-column:1/-1}}

/* Secure bulk import progress and completion */
.import-progress-overlay{position:fixed;inset:0;z-index:2147483647;display:none;place-items:center;padding:20px;background:rgba(2,24,36,.84);backdrop-filter:blur(4px)}.import-progress-overlay.show{display:grid}.import-progress-card{width:min(510px,94vw);padding:28px 30px 23px;border:1px solid #88b8c8;border-top:5px solid #09a97a;border-radius:9px;background:#fff;box-shadow:0 30px 90px #00151fcc;text-align:center}.import-progress-visual{--progress:0deg;position:relative;width:122px;height:122px;display:grid;place-items:center;margin:0 auto 20px;border-radius:50%;background:conic-gradient(#079a70 var(--progress),#dce8ec 0);transition:background .25s ease;box-shadow:0 0 0 8px #eff6f7}.import-progress-visual:before{content:"";position:absolute;inset:13px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #d3e0e5}.import-progress-visual:after{content:"";position:absolute;inset:-8px;border:2px solid transparent;border-top-color:#087bb8;border-radius:50%;animation:importOrbit 1.05s linear infinite}.import-progress-visual span{position:relative;z-index:1;color:#083e57;font-size:23px;font-weight:850}.import-progress-copy small{display:block;color:#078760;font-size:10.5px;font-weight:850;letter-spacing:1.4px}.import-progress-copy h2{margin:6px 0;color:#083c58;font-size:23px}.import-progress-copy p{max-width:410px;margin:0 auto;color:#566e79;font-size:13.5px;line-height:1.5}.import-progress-bar{height:8px;margin:21px 0 10px;overflow:hidden;border-radius:10px;background:#dce7eb}.import-progress-bar i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#087bb8,#08a875);transition:width .28s ease}.import-progress-foot{display:flex;align-items:center;justify-content:space-between;color:#6a7c85;font-size:11.5px}.import-progress-foot b{color:#08745a}.import-processing{overflow:hidden}.import-complete-notice{display:flex;align-items:center;gap:13px;padding:13px 17px;border-bottom:1px solid #bfe3d6;background:#e9f8f2}.import-complete-notice i{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#079668;color:#fff;font-style:normal;font-size:19px;font-weight:850}.import-complete-notice b,.import-complete-notice span{display:block}.import-complete-notice b{color:#076b4c;font-size:14px}.import-complete-notice span{margin-top:2px;color:#456b5e;font-size:12px}@keyframes importOrbit{to{transform:rotate(360deg)}}@media(max-width:600px){.import-progress-card{padding:24px 19px 20px}.import-progress-visual{width:105px;height:105px}.import-progress-foot{align-items:flex-start;gap:5px;flex-direction:column}}

/* Premium public access */
.public-home{height:100vh;min-height:680px;overflow:hidden;background:#fff;color:#102f46;font-family:"Segoe UI",Arial,sans-serif}.public-topbar{height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 28px;border-bottom:1px solid #ccd8de;background:#fff;box-shadow:0 2px 9px #15394b0c;position:relative;z-index:2}.public-logo{justify-self:start}.public-logo span{width:46px;height:46px;display:grid;place-items:center;border-radius:6px;background:#076fa8;color:#fff;font-size:22px;font-weight:850;box-shadow:0 4px 10px #075d8924}.public-topbar>strong{color:#073e71;font-size:42px;line-height:1;font-weight:800;letter-spacing:-1px}.public-topbar>small{justify-self:end;color:#425b69;font-size:14px}.public-stage{height:calc(100vh - 76px);min-height:604px;display:grid;grid-template-columns:minmax(0,64%) minmax(390px,36%);background:#fff}.public-story{position:relative;overflow:hidden;background-image:linear-gradient(90deg,rgba(3,47,85,.96) 0%,rgba(3,53,92,.88) 27%,rgba(4,52,84,.18) 63%,rgba(3,34,51,.08) 100%),url('../images/a-level-students-results.jpg');background-size:cover;background-position:center}.public-story:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,38,59,.18),transparent 45%);pointer-events:none}.public-story-copy{position:absolute;z-index:1;left:5.2%;top:50%;width:min(520px,50%);transform:translateY(-50%);color:#fff}.public-eyebrow{margin:0 0 13px!important;color:#6ee0b2!important;font-size:11px!important;font-weight:800;letter-spacing:1.5px}.public-story h1{margin:0 0 18px;font-size:42px;line-height:1.14;letter-spacing:-.6px;text-shadow:0 2px 9px #001a2b32}.public-story-copy>p{margin:0;color:#edf6fa;font-size:17px;line-height:1.5}.public-checks{display:grid;gap:13px;margin-top:27px}.public-checks span{display:flex;align-items:center;gap:11px;font-size:15px;font-weight:600}.public-checks b{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#05aa70;color:#fff;font-size:14px}.public-access{display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#f7fafb,#edf3f6)}.public-login-card{width:min(470px,100%);padding:35px 34px 31px;border:1px solid #cbd7dd;border-radius:8px;background:#fff;box-shadow:0 17px 46px #12384a18}.public-login-card header{text-align:center;margin-bottom:23px}.public-login-card h2{margin:0 0 7px;color:#073866;font-size:25px}.public-login-card header p{margin:0;color:#647984;font-size:13px}.public-login-card form{display:grid;gap:15px}.public-login-card label{display:grid;gap:7px;color:#17394d;font-size:12.5px;font-weight:750}.public-input{height:48px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;overflow:hidden;border:1px solid #aebfc8;border-radius:5px;background:#fff}.public-input:focus-within{border-color:#087bb8;box-shadow:0 0 0 3px #c5e7f7}.public-input i{color:#607785;font-style:normal;text-align:center;font-size:11px;font-weight:800}.public-input input{height:100%;min-width:0;border:0;outline:0;padding:0 8px 0 0;color:#17394d;font-size:14px}.password-toggle{height:100%;padding:0 13px;border:0;background:transparent;color:#075e8d;font-size:11px;font-weight:800;cursor:pointer}.public-signin,.public-create{height:48px;display:grid;place-items:center;border-radius:5px;font-size:15px;font-weight:800}.public-signin{margin-top:3px;border:1px solid #075f94;background:#075f94;color:#fff;cursor:pointer}.public-signin:hover{background:#064f7b}.public-new{display:flex;align-items:center;gap:12px;margin:20px 0 14px;color:#5d707a;font-size:12px}.public-new:before,.public-new:after{content:"";height:1px;flex:1;background:#ccd7dc}.public-new span{white-space:nowrap}.public-create{border:1px solid #075f94;background:#fff;color:#07578a}.public-create:hover{background:#edf7fb}.public-alert{margin:0 0 14px;padding:10px 12px;border-left:4px solid;border-radius:3px;font-size:12px}.public-alert.error{border-color:#bd352e;background:#fff0ef;color:#962821}.public-alert.success{border-color:#078e62;background:#e9f8f2;color:#08704e}

/* Premium dashboard */
.premium-dashboard{padding:16px 24px 18px}.dashboard-hero{height:202px;position:relative;overflow:hidden;border:1px solid #beced6;border-radius:7px;background-image:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 36%,rgba(255,255,255,.33) 62%,rgba(255,255,255,.03) 100%),url('../images/a-level-students-results.jpg');background-size:cover;background-position:center 43%;box-shadow:0 4px 14px #17394a10}.dashboard-hero-copy{width:48%;height:100%;display:flex;flex-direction:column;justify-content:center;padding:22px 28px}.dashboard-hero h1{margin:0 0 10px;color:#133f86;font-size:27px;letter-spacing:-.25px}.hero-status{display:flex;align-items:center;gap:7px;color:#385563;font-size:12.5px}.hero-status i{width:10px;height:10px;border-radius:50%;background:#07966a;box-shadow:0 0 0 3px #daf3e9}.hero-status b{color:#078158}.dashboard-hero-copy>p{margin:9px 0 13px;color:#526b77;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-hero-actions{display:flex;gap:9px}.premium-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:12px 0}.premium-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.premium-stat{min-height:79px;display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid #c4d2d9;border-radius:6px;background:#fff;box-shadow:0 2px 8px #193c4d0b;transition:.15s ease}.premium-stat:hover{transform:translateY(-1px);border-color:#88b7cb;box-shadow:0 6px 15px #193c4d14}.premium-stat-icon{width:47px;height:47px;flex:0 0 auto;display:grid;place-items:center;border-radius:6px;background:#087bb8;color:#fff;font-size:18px;font-weight:850}.premium-stat.green .premium-stat-icon{background:#079668}.premium-stat.purple .premium-stat-icon{background:#6552b8}.premium-stat.orange .premium-stat-icon{background:#e07b00}.premium-stat div{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px;min-width:0}.premium-stat strong{grid-row:1/3;color:#123d54;font-size:23px;line-height:1}.premium-stat b{color:#244654;font-size:13px}.premium-stat small{color:#6a7d86;font-size:10.5px;white-space:nowrap}.dashboard-operations{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);gap:12px}.readiness-panel,.premium-actions{min-width:0;border:1px solid #c3d1d8;border-radius:6px;background:#fff;overflow:hidden}.readiness-panel>header,.premium-actions>header{min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:9px 15px;border-bottom:1px solid #d3dee3}.readiness-panel h2,.premium-actions h2{margin:0;color:#123e56;font-size:17px}.readiness-panel header p{margin:2px 0 0;color:#6a7e87;font-size:10.5px}.readiness-panel header>b{color:#08734d;font-size:12px}.readiness-bar{height:7px;margin:10px 15px 7px;overflow:hidden;border-radius:8px;background:#e0e8ec}.readiness-bar i{display:block;height:100%;border-radius:inherit;background:#07966a}.readiness-steps{padding:0 15px 9px}.readiness-steps>a{min-height:39px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1e7ea}.readiness-steps>a:last-child{border-bottom:0}.readiness-steps span{color:#214555;font-size:12px;font-weight:750}.readiness-steps small{display:block;margin-top:1px;color:#6b7e87;font-size:10px;font-weight:400}.readiness-steps>a>b{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-size:11px}.readiness-steps .done{background:#daf4e9;color:#08734d}.readiness-steps .waiting{background:#fff0ce;color:#855b00}.premium-actions>header small{color:#687c85;font-size:10.5px}.premium-actions>a{min-height:57px;display:grid;grid-template-columns:39px 1fr 20px;align-items:center;gap:10px;margin:7px 10px;padding:7px 9px;border:1px solid #d3dde2;border-radius:5px;background:#fff}.premium-actions>a:hover{border-color:#81b5ca;background:#f4fafc}.premium-actions i{width:37px;height:37px;display:grid;place-items:center;border-radius:5px;background:#087bb8;color:#fff;font-style:normal;font-weight:850}.premium-actions i.green{background:#079668}.premium-actions i.purple{background:#6552b8}.premium-actions i.orange{background:#e07b00}.premium-actions span b{display:block;color:#173e51;font-size:12.5px}.premium-actions span small{display:block;margin-top:2px;color:#6a7d86;font-size:10.5px}.premium-actions>a>strong{color:#56717e;font-size:22px}
@media(max-width:1100px){.public-topbar>strong{font-size:34px}.public-stage{grid-template-columns:60% 40%}.public-story-copy{width:60%}.public-story h1{font-size:34px}.dashboard-hero-copy{width:58%}.dashboard-operations{grid-template-columns:1fr}.premium-dashboard{overflow:auto}.premium-stats{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.public-home{height:auto;min-height:100vh;overflow:auto}.public-topbar{height:68px;grid-template-columns:auto 1fr;padding:0 16px}.public-logo span{width:40px;height:40px}.public-topbar>strong{justify-self:center;font-size:27px}.public-topbar>small{display:none}.public-stage{height:auto;min-height:calc(100vh - 68px);display:block}.public-story{min-height:330px}.public-story-copy{width:80%;left:25px}.public-story h1{font-size:31px}.public-story-copy>p{font-size:14px}.public-checks{gap:8px;margin-top:18px}.public-checks span{font-size:13px}.public-access{padding:18px}.public-login-card{padding:25px 21px}.premium-dashboard{padding:13px}.dashboard-hero{height:215px;background-position:62% center}.dashboard-hero:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.22)}.dashboard-hero-copy{position:relative;z-index:1;width:75%;padding:18px}.dashboard-hero h1{font-size:22px}.premium-stats,.premium-stats.three{grid-template-columns:1fr 1fr}.dashboard-operations{grid-template-columns:1fr}.premium-stat{min-height:72px;padding:9px}.premium-stat small{display:none}}

.public-brand-actions{justify-self:start;display:flex;align-items:center;gap:13px}.public-portal-link{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border:1px solid #a9bfca;border-radius:5px;color:#174b68;background:#f7fbfd;text-decoration:none;font-size:13px;font-weight:750;transition:.15s ease;box-shadow:0 2px 7px #15394b0d}.public-portal-link b{font-size:17px;line-height:1}.public-portal-link:hover{border-color:#075f94;background:#e8f5fa;color:#064f7b;transform:translateY(-1px)}@media(max-width:800px){.public-brand-actions{gap:8px}.public-portal-link{height:36px;padding:0 10px;font-size:0}.public-portal-link b{font-size:19px}.public-topbar>small{display:none}}

/* Stable official application topbar */
.workspace{min-width:0;position:relative}.app-header{position:sticky;top:0;z-index:100;height:64px;background:linear-gradient(100deg,#073d62 0%,#075c78 48%,#087d7b 100%);border-bottom:1px solid #0b596d;color:#fff;box-shadow:0 5px 16px #052b3d24;padding:0 26px}.app-header:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,#13b98a,#72d7bc,#13b98a);opacity:.9}.app-header .app-context{color:#d8eef3;font-weight:650;letter-spacing:.15px}.app-header .institution-name{color:#fff;text-shadow:0 1px 2px #00313e55}.app-header .app-user{color:#edf8fa}.app-header .avatar{background:#e8fbf6;color:#076b68;border:1px solid #b8e6dc;box-shadow:0 2px 7px #002d3b24}@media(max-width:900px){.app-header{padding:0 15px;height:60px}.app-header .institution-name{font-size:17px}.app-header .app-user>span{display:none}}

/* Final fixed topbar controller: only the workspace content scrolls. */
html,body{height:100%}.app{height:100vh;min-height:0;overflow:hidden}.workspace{height:100vh;min-height:0;overflow-y:auto;overflow-x:hidden;padding-top:64px;scrollbar-width:thin;scrollbar-color:#7aa0b1 #eaf0f3}.workspace::-webkit-scrollbar{width:8px}.workspace::-webkit-scrollbar-thumb{background:#7aa0b1;border-radius:8px}.app-header{position:fixed;top:0;left:242px;right:0;width:auto;z-index:1000;background:linear-gradient(105deg,#073d62 0%,#075a76 50%,#087b78 100%)}.app-user{gap:10px}.topbar-logout{margin:0}.topbar-logout button{height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;border:1px solid #bde6de;border-radius:5px;background:#f1fffb;color:#075e5c;font-size:12.5px;font-weight:800;cursor:pointer;box-shadow:0 2px 7px #002c3924}.topbar-logout button:hover{background:#dff8f1;border-color:#8dd3c5}.topbar-logout button span{font-size:17px;line-height:1}@media(max-width:900px){.workspace{padding-top:60px}.app-header{left:0;height:60px;grid-template-columns:42px minmax(0,1fr) 42px}.app-header .avatar{display:none}.app-header .app-user{width:38px}.topbar-logout button{width:38px;padding:0;justify-content:center;font-size:0}.topbar-logout button span{font-size:18px}}@media print{html,body,.app,.workspace{height:auto!important;overflow:visible!important}.workspace{padding-top:0!important}}

/* Public trust navigation and information modals */
.public-topbar{background:linear-gradient(105deg,#073d62 0%,#075a76 50%,#087b78 100%);border-bottom-color:#0a5a6e;box-shadow:0 5px 18px #052b3d2b}.public-topbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#13b98a,#78dfc1,#13b98a)}.public-topbar>strong{color:#fff;text-shadow:0 2px 5px #00334655}.public-logo span{background:#fff;color:#076b72;box-shadow:0 4px 12px #002b3b3d}.public-portal-link{border-color:#ffffff54;background:#ffffff12;color:#fff;box-shadow:none}.public-portal-link:hover{border-color:#bde8df;background:#ffffff20;color:#fff}.public-nav{justify-self:end;display:flex;align-items:center;gap:7px}.public-nav button{height:36px;padding:0 11px;border:1px solid #ffffff45;border-radius:5px;background:#ffffff0c;color:#eaf8f8;font-size:11.5px;font-weight:750;cursor:pointer;white-space:nowrap}.public-nav button:hover{background:#ffffff1c;border-color:#aee1d8;color:#fff}.public-nav .public-nav-contact{background:#f1fffb;color:#075f5c;border-color:#c6ebe4}.public-nav .public-nav-contact:hover{background:#dcf7f0;color:#064f4d}.public-support-line{width:100%;margin-top:13px;padding:9px 8px 0;border:0;border-top:1px solid #d7e1e5;background:transparent;color:#536d79;font-size:11.5px;cursor:pointer}.public-support-line b{color:#075f78}.public-support-line:hover{color:#075f78}.public-modal-backdrop{position:fixed;inset:0;z-index:3000;display:none;place-items:center;padding:18px;background:#031d2bd1;backdrop-filter:blur(3px)}.public-modal-backdrop.show{display:grid}.public-info-modal{width:min(610px,94vw);overflow:hidden;border:1px solid #9db8c3;border-radius:7px;background:#fff;box-shadow:0 28px 80px #0018227a}.public-info-modal>header{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;background:linear-gradient(105deg,#073d62,#087b78);color:#fff}.public-info-modal>header span{display:block;margin-bottom:3px;color:#8fe5cf;font-size:10px;font-weight:850;letter-spacing:1.2px}.public-info-modal>header h2{margin:0;color:#fff;font-size:21px}.public-info-modal>header button{width:34px;height:34px;border:1px solid #ffffff70;border-radius:4px;background:#ffffff10;color:#fff;font-size:24px;line-height:1;cursor:pointer}.public-info-body{padding:19px 20px;color:#294a59;font-size:13.5px;line-height:1.6}.public-info-body>p:first-child{margin-top:0}.public-info-body ul{margin:8px 0 0;padding-left:21px}.public-info-body li{margin:6px 0}.public-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}.public-info-grid span{padding:11px;border:1px solid #cad9df;border-top:3px solid #079a72;border-radius:5px;background:#f8fbfc;color:#526b76;font-size:11.5px;line-height:1.4}.public-info-grid b{display:block;margin-bottom:4px;color:#123f54;font-size:12.5px}.public-info-modal>footer{display:flex;justify-content:flex-end;padding:12px 18px;border-top:1px solid #d5e0e4;background:#f5f8f9}.public-info-modal>footer button{height:36px;padding:0 17px;border:1px solid #075f78;border-radius:5px;background:#075f78;color:#fff;font-weight:800;cursor:pointer}.public-contact-card{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:15px;border-left:5px solid #079a72;background:#f1f8f8}.public-contact-card>b,.public-contact-card>span{grid-column:1/-1}.public-contact-card>b{color:#073d62;font-size:19px}.public-contact-card>span{margin-top:-5px;color:#637a84;font-size:12px}.public-contact-card a{padding:9px 10px;border:1px solid #c4d6dc;border-radius:4px;background:#fff;color:#075f78;text-decoration:none;font-weight:750;text-align:center}.public-contact-card a:last-child{grid-column:1/-1}.public-contact-note{margin:13px 0 0!important;color:#627883;font-size:12px}.public-modal-open{overflow:hidden}@media(max-width:1150px){.public-nav button:not(.public-nav-contact){display:none}}@media(max-width:800px){.public-nav{display:none}.public-info-grid{grid-template-columns:1fr}.public-contact-card{grid-template-columns:1fr}.public-contact-card a,.public-contact-card a:last-child{grid-column:1}.public-info-modal>header h2{font-size:18px}}

/* Screen-safe bulk import modals: fixed header/footer and an independently scrolling register. */
.modal-backdrop:has(.import-preview-modal){padding:18px;overflow:hidden;align-items:center;justify-items:center}
.import-preview-modal{display:flex;flex-direction:column;width:min(1120px,calc(100vw - 36px));max-height:calc(100dvh - 36px);min-height:0;overflow:hidden;background:#fff}
.import-preview-modal>.modal-title{flex:0 0 auto;position:relative;z-index:4}
.import-preview-modal>.import-summary{flex:0 0 auto}
.import-preview-modal>.import-table-scroll{flex:1 1 auto;min-height:150px;max-height:none;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.import-preview-modal>.modal-actions{flex:0 0 auto;position:relative;z-index:4;min-height:62px;align-items:center;flex-wrap:wrap;box-shadow:0 -5px 15px #0b354510}
.import-preview-modal>.modal-actions form{display:flex}
.import-result-modal>.import-complete-notice{flex:0 0 auto}
.import-complete-notice{align-items:flex-start;padding:14px 18px;border-left:0;border-bottom:1px solid #b7dfd0;background:linear-gradient(90deg,#e7f8f1,#f6fcfa)}
.import-complete-notice i{margin-top:1px;box-shadow:0 0 0 5px #d6f1e7}
.import-complete-copy{min-width:0;display:grid;gap:3px}
.import-complete-copy b{color:#075f46;font-size:15px;line-height:1.25}
.import-complete-copy span{color:#315e50;font-size:12.5px;line-height:1.4}
.import-complete-copy span strong{color:#075f46;font-size:14px}
.import-complete-copy small{color:#607871;font-size:11.5px;line-height:1.4}
.import-preview-modal .import-summary div{min-width:0;padding:10px 15px}
.import-preview-modal .import-summary b{font-size:20px}
.import-preview-modal .import-table-scroll thead{z-index:5}
.import-preview-modal .import-table-scroll th{top:0}
@media(max-height:720px){
  .modal-backdrop:has(.import-preview-modal){padding:10px}
  .import-preview-modal{width:min(1120px,calc(100vw - 20px));max-height:calc(100dvh - 20px)}
  .import-preview-modal>.modal-title{min-height:44px;padding:9px 14px}
  .import-preview-modal .import-summary div{padding:7px 13px}
  .import-preview-modal .import-summary b{font-size:18px}
  .import-complete-notice{padding:9px 14px;gap:11px}
  .import-complete-notice i{width:31px;height:31px;font-size:16px}
  .import-complete-copy{gap:1px}
  .import-preview-modal>.modal-actions{min-height:52px;padding:8px 13px}
}
@media(max-width:700px){
  .modal-backdrop:has(.import-preview-modal){padding:8px;align-items:stretch}
  .import-preview-modal{width:100%;max-height:calc(100dvh - 16px);margin:auto}
  .import-preview-modal .modal-title-rich>div{min-width:0}
  .import-preview-modal .modal-title-rich b,.import-preview-modal .modal-title-rich span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .import-preview-modal .import-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
  .import-preview-modal .import-summary div{padding:8px 6px;text-align:center}
  .import-preview-modal .import-summary b{font-size:17px}
  .import-preview-modal .import-summary span{font-size:10px}
  .import-complete-notice{padding:10px 12px}
  .import-complete-copy small{display:none}
  .import-preview-modal>.modal-actions{justify-content:stretch;display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .import-preview-modal>.modal-actions .btn,.import-preview-modal>.modal-actions form{width:100%}
  .import-preview-modal>.modal-actions form .btn{width:100%}
  .import-preview-modal>.modal-actions>a:last-child,.import-preview-modal>.modal-actions>form:last-child{grid-column:1/-1}
}

/* Warm neutral application theme — reduced glare for extended use. */
.workspace,.content{background:var(--canvas)}
.data-section,.stat,.readiness-panel,.premium-actions,.results-focus-card,.results-required-action,.report-control-bar,.result-sheet,.empty-state{background:var(--paper);border-color:var(--line)}
tbody tr:nth-child(even) td{background:#f7f5f1}
.modal-body,.modal-actions{background:var(--paper)}
@media print{tbody tr:nth-child(even) td{background:#fff}}

/* Expanded sidebar section: one dark-green panel matching the approved reference. */
.sidebar .menu-group[open]{border-color:#087d67;background:#075e4b;box-shadow:inset 3px 0 0 #08b982}
.sidebar .menu-group[open]>summary{background:#075646;color:#fff}
.sidebar .menu-group[open]>.submenu{display:block;padding:5px 7px 8px;background:#075e4b}
.sidebar .menu-group[open]>.submenu a{margin:2px 0;color:#e2f4ee;border-color:transparent;background:transparent}
.sidebar .menu-group[open]>.submenu a::before{background:#79b9a8}
.sidebar .menu-group[open]>.submenu a:hover{background:#ffffff12;color:#fff}
.sidebar .menu-group[open]>.submenu a.active{background:#0a735c;border-color:#17a982;color:#fff;font-weight:750;box-shadow:inset 3px 0 0 #5fe0b4}
.sidebar .menu-group[open]>.submenu a.active::before{width:7px;height:7px;background:#fff;box-shadow:0 0 0 2px #0a735c}
.sidebar .menu-group:not([open]),.sidebar .menu-group:not([open])>.submenu{background:transparent;border-color:transparent;box-shadow:none}
.notification-bell{position:relative;display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:rgba(255,255,255,.18);color:inherit;text-decoration:none}.notification-bell>span{font-size:15px}.notification-bell>b{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:10px;background:#a92f3a;color:#fff;font:700 11px/18px Arial;text-align:center;border:2px solid rgba(255,255,255,.85)}
