/* One visual language for the public site and native platform screens. */
.platform-admin .staff-navigation { display: block; overflow: visible; }
.platform-admin aside .staff-menu { margin: 0; }
.platform-admin aside .staff-menu > summary { display: none; }
.platform-admin .staff-navigation .staff-nav-group + .staff-nav-group { margin-top: 18px; padding-top: 13px; border-top: 1px solid rgba(148,191,255,.15); }
.platform-admin .staff-navigation .staff-nav-label { margin: 0 0 6px; padding: 0 12px; color: #afbedf; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.platform-admin .staff-navigation a { min-height: 40px; padding: 8px 12px; }
.platform-admin .staff-navigation a[aria-current="page"] { background: rgba(62,212,166,.12); color: #9af4d6; border-left: 3px solid #3ed4a6; }
@media (max-width:760px) {
 .platform-admin aside .staff-menu > summary { display: flex; align-items: center; justify-content: space-between; padding: 12px; border: 1px solid rgba(148,191,255,.25); border-radius: 10px; list-style: none; }
 .platform-admin aside .staff-menu > summary::after { content: '+'; color: #3ed4a6; font-size: 24px; }
 .platform-admin aside .staff-menu[open] > summary::after { content: '−'; }
 .platform-admin aside .staff-menu[open] .staff-navigation { padding-top: 18px; }
 .platform-admin aside .staff-navigation { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; overflow: visible; }
 .platform-admin .staff-navigation .staff-nav-group + .staff-nav-group { margin: 0; padding: 0; border: 0; }
 .platform-admin .staff-navigation a { white-space: normal; }
}
:root {
  --platform-bg: #071632;
  --platform-bg-end: #0f2f6d;
  --platform-surface: rgba(8, 25, 61, .94);
  --platform-surface-strong: #08193d;
  --platform-text: #eaf1ff;
  --platform-muted: #afbedf;
  --platform-line: rgba(148, 191, 255, .25);
  --platform-gold: #ffd166;
  --platform-mint: #3ed4a6;
  --platform-shadow: 0 22px 50px rgba(0, 0, 0, .32);
}
body[class*="platform-"] {
  color-scheme: dark;
  min-height: 100vh;
  margin: 0;
  background: radial-gradient(ellipse at 80% 0, rgba(28, 96, 207, .35), transparent 55%),
    radial-gradient(ellipse at 10% 0, rgba(62, 212, 166, .09), transparent 40%),
    linear-gradient(145deg, var(--platform-bg-end), var(--platform-bg) 70%);
  color: var(--platform-text);
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body[class*="platform-"] *, body[class*="platform-"] *::before, body[class*="platform-"] *::after { box-sizing: border-box; }
body[class*="platform-"] [hidden] { display: none !important; }
body[class*="platform-"] :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--platform-gold);
  outline-offset: 4px;
}
body[class*="platform-"] :is(button, input, select, textarea) { font-family: inherit; }
body[class*="platform-"] :is(button, input, select, textarea):disabled { opacity: .55; cursor: not-allowed; }
body[class*="platform-"] ::selection { background: var(--platform-gold); color: var(--platform-bg); }

/* Administration, advisers, shared access and protected utilities. */
body:is(.platform-admin, .platform-auth, .platform-access, .platform-utility) a { color: #9dcaff; text-underline-offset: .2em; }
body:is(.platform-admin, .platform-auth, .platform-access, .platform-utility) :is(h1, h2, h3, strong, label) { color: var(--platform-text); }
body:is(.platform-admin, .platform-auth, .platform-access, .platform-utility) h1 { font-size: clamp(27px, 3vw, 36px); line-height: 1.2; letter-spacing: -.025em; overflow-wrap: anywhere; }
body:is(.platform-admin, .platform-auth, .platform-access, .platform-utility) :is(small, .appointment-hours, .help, .lead) { color: var(--platform-muted); }
body:is(.platform-admin, .platform-auth) :is(section, .metric),
body.platform-access .card,
body.platform-utility :is(main, article) {
  background: var(--platform-surface);
  border: 1px solid var(--platform-line);
  border-radius: 18px;
  box-shadow: var(--platform-shadow);
}
body:is(.platform-admin, .platform-auth) section { padding: clamp(20px, 3vw, 28px); }
body:is(.platform-admin, .platform-auth) label { font-size: 14px; line-height: 1.5; gap: 8px; }
body:is(.platform-admin, .platform-auth, .platform-utility) :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {
  background: rgba(3, 15, 43, .85);
  color: var(--platform-text);
  border: 1px solid rgba(148, 191, 255, .38);
  border-radius: 10px;
  min-height: 46px;
  padding: 11px 13px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  font: inherit;
}
body:is(.platform-admin, .platform-auth, .platform-utility) :is(input, textarea)::placeholder { color: #9badd2; opacity: 1; }
body:is(.platform-admin, .platform-auth, .platform-utility) :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--platform-mint); }
body:is(.platform-admin, .platform-auth, .platform-utility) input[type="file"]::file-selector-button {
  background: var(--platform-gold); color: var(--platform-bg); border: 0; border-radius: 999px; padding: 8px 14px; margin-right: 10px; font: inherit; font-weight: 700; cursor: pointer;
}
body:is(.platform-admin, .platform-auth, .platform-access, .platform-utility) :is(button, .button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 19px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: var(--platform-mint);
  color: #061d24;
  font: inherit;
  font-weight: 750;
  line-height: 1.35;
  text-decoration: none;
  cursor: pointer;
  transition: background .16s, border-color .16s;
}
body:is(.platform-admin, .platform-auth, .platform-access, .platform-utility) :is(button, .button):hover:not(:disabled) { background: #66e6bf; }
body:is(.platform-admin, .platform-auth, .platform-access, .platform-utility) :is(button.secondary, .button.secondary) { background: rgba(148, 191, 255, .08); color: var(--platform-text); border-color: var(--platform-line); }
body:is(.platform-admin, .platform-auth, .platform-access, .platform-utility) :is(button.secondary, .button.secondary):hover { background: rgba(148, 191, 255, .17); }
body.platform-admin :is(button.danger, .button.danger) { background: #ac3548; color: #fff; border-color: #e36d7c; }
body.platform-admin :is(button.danger, .button.danger):hover { background: #c14659; }
body:is(.platform-admin, .platform-auth, .platform-utility) .notice { background: rgba(255, 209, 102, .11); color: #ffe3a0; border: 1px solid rgba(255, 209, 102, .38); border-radius: 12px; padding: 16px; }
body.platform-admin .pill { background: rgba(62, 212, 166, .13); color: #9af4d6; border: 1px solid rgba(62, 212, 166, .3); border-radius: 999px; }
body.platform-admin aside { background: rgba(3, 14, 38, .97); border-right: 1px solid var(--platform-line); padding: 24px 16px; overflow-y: auto; }
body.platform-admin aside strong { color: var(--platform-gold); letter-spacing: .03em; }
body.platform-admin aside a { color: var(--platform-text); padding: 10px 13px; border-radius: 10px; min-height: 44px; font-size: 14px; }
body.platform-admin aside a:hover { background: rgba(148, 191, 255, .12); }
body.platform-admin main { padding: clamp(20px, 3vw, 36px); min-width: 0; }
body.platform-admin main > header { align-items: baseline; margin-bottom: 28px; }
body.platform-admin main > header h1 { margin-bottom: 0; }
body.platform-admin main > header small { padding: 5px 13px; border: 1px solid var(--platform-line); border-radius: 999px; overflow-wrap: anywhere; }
body.platform-admin :is(.grid, .editor) > * { min-width: 0; }
body.platform-admin :is(.metric, .grid > article) { background: rgba(17, 47, 98, .45); border-color: var(--platform-line) !important; border-radius: 14px; box-shadow: none; }
body.platform-admin .metric strong { color: var(--platform-gold); font-size: clamp(25px, 3vw, 32px); line-height: 1.25; margin-top: 12px; overflow-wrap: anywhere; }
body.platform-admin details > summary { padding: 12px 0; color: var(--platform-text); min-height: 44px; }
body.platform-admin .scroll { border: 1px solid var(--platform-line); border-radius: 12px; margin-top: 18px; overscroll-behavior-x: contain; }
body.platform-admin table { font-size: 14px; }
body.platform-admin :is(th, td) { padding: 15px 13px; border-bottom-color: rgba(148, 191, 255, .15); }
body.platform-admin th { background: rgba(36, 69, 121, .5); color: #c7d8f6; font-weight: 700; white-space: nowrap; }
body.platform-admin tr:last-child td { border-bottom: 0; }
body.platform-admin tbody tr:nth-child(even) { background: rgba(148, 191, 255, .025); }
body.platform-admin tbody tr:hover { background: rgba(148, 191, 255, .07); }
body.platform-admin td a:not(.button) { color: #9dcaff; }
body.platform-admin .actions { gap: 10px; align-items: center; }
body.platform-admin .actions button { min-height: 44px; padding: 10px 15px; font-size: 14px; }
body.platform-admin iframe { border-color: var(--platform-line); border-radius: 12px; background: #fff; }
body.platform-admin :is(p, small)[style*="color:#526b7e"] { color: var(--platform-muted) !important; }
body.platform-admin .calendar-day { background: rgba(15, 41, 88, .65); border-color: var(--platform-line); border-radius: 14px; }
body.platform-admin .calendar-event { background: rgba(35, 74, 126, .55); border-left-color: var(--platform-mint); border-radius: 8px; color: var(--platform-text); padding: 10px; }
body.platform-admin .calendar-event:hover { background: rgba(44, 96, 160, .6); }
body.platform-admin .calendar-event :is(span, small), body.platform-admin .calendar-weekday { color: var(--platform-muted); }
body.platform-auth main { width: 100%; padding: 24px; margin: clamp(24px, 8vh, 90px) auto !important; max-width: 560px !important; }
body.platform-auth main > header h1 { margin-bottom: 24px; }
body.platform-auth section { border-color: rgba(69, 139, 255, .65); }
body.platform-auth button { background: var(--platform-gold); color: var(--platform-bg); }
body.platform-auth button:hover:not(:disabled) { background: #ffdc85; }
body.platform-student-login .student-access-brand { display: flex; align-items: center; gap: 16px; margin-bottom: 28px; }
body.platform-student-login .student-access-brand img { flex-shrink: 0; object-fit: contain; }
body.platform-student-login .student-access-brand p { font-size: 15px; font-weight: 700; line-height: 1.45; margin: 0; }
body.platform-student-login .student-step { color: var(--platform-gold); font-size: 13px; font-weight: 700; margin: 0 0 14px; }
body.platform-student-login .student-login-form { display: grid; gap: 18px; margin: 28px 0; }
body.platform-student-login .student-login-form label { display: grid; }
body.platform-student-login .student-enrollment-input { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; border: 1px solid var(--platform-line); border-radius: 10px; background: var(--platform-bg); overflow: hidden; }
body.platform-student-login .student-enrollment-prefix { padding: 0 14px; color: var(--platform-gold); font-weight: 700; border-right: 1px solid var(--platform-line); }
body.platform-student-login .student-enrollment-input:focus-within { outline: 2px solid var(--platform-gold); outline-offset: 3px; }
body.platform-student-login .student-enrollment-input #student-number { min-width: 0; width: 100%; border: 0; border-radius: 0; margin: 0; min-height: 48px; font-size: 16px; box-shadow: none; }
body.platform-student-login .student-enrollment-input #student-number:focus { outline: none; }
body.platform-student-login .student-help { color: var(--platform-muted); font-size: 14px; line-height: 1.7; margin: 0; }
body.platform-student-login #student-code { font-size: 26px; letter-spacing: .25em; text-align: center; }
body.platform-student-login .student-home { display: inline-block; padding: 8px 0; margin-bottom: 10px; min-height: 44px; }
body.platform-student-login details summary { cursor: pointer; color: var(--platform-gold); min-height: 44px; padding: 10px 0; }
body.platform-student-login .student-access-footer { text-align: center; padding: 0 20px 30px; color: var(--platform-muted); font-size: 13px; }
body.platform-client .student-logout { margin: 0; }
body.platform-client .student-logout button { font: inherit; cursor: pointer; }
body.platform-access { --navy: var(--platform-text); --muted: var(--platform-muted); --line: var(--platform-line); --blue: #9dcaff; }
body.platform-access :is(.header, .footer) { background: rgba(3, 14, 38, .75); border-color: var(--platform-line); }
body.platform-access .brand img { background: var(--platform-surface-strong); }
body.platform-access .card { border-color: rgba(69, 139, 255, .65); }
body.platform-access .card::before { background: linear-gradient(90deg, #2788ff, var(--platform-mint)); }
body.platform-access .eyebrow { color: var(--platform-gold); }
body.platform-access .skip { background: var(--platform-surface-strong); }
body.platform-utility { padding: clamp(18px, 4vw, 36px); }
body.platform-utility main { max-width: 900px; margin: 0 auto; padding: clamp(24px, 4vw, 36px); text-align: left; }
body.platform-utility article { box-shadow: none; padding: 22px; margin: 20px 0; }
body.platform-utility nav { display: flex; gap: 20px; flex-wrap: wrap; }
body.platform-utility code { display: inline-block; color: #cfe0ff; padding: 10px 14px; background: rgba(3, 15, 43, .8); border-radius: 10px; overflow-wrap: anywhere; max-width: 100%; }
body.platform-utility label { display: block; margin: 22px 0; }
body.platform-utility small { display: block; margin-top: 15px; }
body.platform-utility #preview { border: 1px solid var(--platform-line); background: #fff; }
body.platform-utility #status { color: var(--platform-muted); }
body.platform-error main { max-width: 640px; margin: 8vh auto; }
body.platform-error .platform-logo { display: block; object-fit: contain; margin: 0 0 24px; }
body.platform-error p { color: var(--platform-muted); margin: 20px 0 28px; }
body.platform-wizard .form-card, body.platform-appointments .panel { border-color: rgba(69, 139, 255, .65); }
body.platform-wizard :is(input, select, textarea) { font-family: inherit; }
body.platform-appointments { --shadow: var(--platform-shadow); }
@media (max-width: 760px) {
  body.platform-admin aside { position: static; width: auto; border-right: 0; border-bottom: 1px solid var(--platform-line); padding: 18px 16px; }
  body.platform-admin aside nav { gap: 5px; padding-bottom: 5px; }
  body.platform-admin aside a { flex-shrink: 0; }
  body.platform-admin main { margin: 0; padding: 24px 16px; }
  body.platform-admin main > header { display: flex; flex-wrap: wrap; gap: 14px; }
  body.platform-admin main > header small { font-size: 13px; }
  body.platform-admin :is(.editor, .editor.wide) { grid-template-columns: minmax(0, 1fr); }
  body.platform-admin section { padding: 20px 16px; }
  body.platform-admin .grid { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
  body.platform-auth main { padding: 20px 16px; }
  body.platform-utility main { padding: 24px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  body[class*="platform-"] *, body[class*="platform-"] *::before, body[class*="platform-"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  body[class*="platform-"] { color-scheme: light; background: #fff !important; color: #17263a !important; }
  body[class*="platform-"] :is(main, section, article, .card, .metric, .panel) { background: #fff !important; box-shadow: none !important; color: #17263a !important; border-color: #d5dbe4 !important; }
  body[class*="platform-"] :is(h1, h2, h3, p, strong, small, label, a) { color: #17263a !important; }
}

/* Photo tool controls share the theme; paper previews and cropper pixels stay original. */
body.platform-photos .center-name { margin: 0 0 10px; color: var(--platform-gold); font-size: 14px; font-weight: 700; }
body.platform-photos :is(.topbar, .steps-bar) { background: rgba(3, 14, 38, .86); border-color: var(--platform-line); }
body.platform-photos :is(.card, .size-card, .queue-item, .canvas-tools) { background: var(--platform-surface); border-color: var(--platform-line); box-shadow: var(--platform-shadow); }
body.platform-photos :is(.step-chip, .size-tab, .size-tab .status, .name-tag, .chip, .summary-chip) { background: rgba(25, 55, 108, .65); color: var(--platform-text); border-color: var(--platform-line); }
body.platform-photos .size-tab[data-active="true"] { border-color: var(--platform-gold); background: rgba(255, 209, 102, .12); }
body.platform-photos :is(.step-index, .card-step) { background: var(--platform-gold); color: var(--platform-bg); }
body.platform-photos :is(h1, h2, h3, .queue-title, .name-field label, .canvas-tools label, .slider-group label, .size-meta, .qty-control input) { color: var(--platform-text); }
body.platform-photos :is(.meta, .tip, .card-subtitle, .pdf-status, .empty-state, .layout-summary) { color: var(--platform-muted); }
body.platform-photos :is(input[type="text"], input[type="number"], input[type="file"]) { background: rgba(3, 15, 43, .85); border-color: rgba(148, 191, 255, .38); color: var(--platform-text); border-radius: 10px; font-size: 16px; min-height: 44px; }
body.platform-photos input[type="range"] { accent-color: var(--platform-mint); }
body.platform-photos input::placeholder { color: var(--platform-muted); }
body.platform-photos input[type="file"]::file-selector-button { background: var(--platform-gold); color: var(--platform-bg); padding: 10px 14px; border: 0; border-radius: 999px; margin-right: 10px; font: inherit; font-weight: 700; }
body.platform-photos :is(button, .primary) { background: var(--platform-mint); color: #061d24; border-radius: 999px; min-height: 44px; }
body.platform-photos button:hover:not(:disabled) { background: #66e6bf; }
body.platform-photos :is(button.secondary, button.ghost, .qty-btn) { background: rgba(148, 191, 255, .1); color: var(--platform-text); border: 1px solid var(--platform-line); }
body.platform-photos .qty-btn { min-width: 44px; }
body.platform-photos :is(button.danger, button.danger-outline) { background: rgba(172, 53, 72, .3); color: #ffc3cc; border: 1px solid #e36d7c; }
body.platform-photos :is(button.danger, button.danger-outline):hover:not(:disabled) { background: #ac3548; color: #fff; }
body.platform-photos .size-tab[data-status="ok"] .status { background: rgba(62, 212, 166, .15); color: #a7f1d7; border-color: rgba(62, 212, 166, .3); }

/* Append after app/globals.css. Applies only to the existing public platform. */
body.platform-public {
  --platform-bg: #071632;
  --platform-bg-end: #0f2f6d;
  --platform-surface: rgba(8, 25, 61, .94);
  --platform-surface-strong: #08193d;
  --platform-text: #eaf1ff;
  --platform-muted: #afbedf;
  --platform-line: rgba(148, 191, 255, .25);
  --platform-gold: #ffd166;
  --platform-mint: #3ed4a6;
  --platform-shadow: 0 22px 50px rgba(0, 0, 0, .32);
  --platform-radius: 18px;

  /* Preserve existing geometry while resolving shared legacy theme tokens. */
  --navy: var(--platform-bg);
  --navy-soft: var(--platform-surface-strong);
  --gold: var(--platform-gold);
  --gold-dark: var(--platform-gold);
  --gold-light: var(--platform-gold);
  --paper: var(--platform-surface-strong);
  --white: var(--platform-text);
  --ink: var(--platform-text);
  --muted: var(--platform-muted);
  --line: var(--platform-line);
  --error: #ffb2a9;
  --focus: var(--platform-mint);
  --font-sans: "Segoe UI", "SF Pro Display", -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --font-display: var(--font-sans);

  color-scheme: dark;
  color: var(--platform-text);
  font-family: var(--font-sans);
  background:
    radial-gradient(80% 70% at 80% 15%, rgba(66, 162, 255, .24), transparent 60%),
    radial-gradient(70% 65% at 15% 5%, rgba(62, 212, 166, .12), transparent 60%),
    linear-gradient(145deg, var(--platform-bg), var(--platform-bg-end));
}

body.platform-public :is(.site-header, .site-nav, .site-footer) {
  background-color: var(--platform-surface-strong);
  color: var(--platform-text);
}

body.platform-public .site-header {
  border-bottom: 1px solid var(--platform-line);
  box-shadow: 0 6px 22px rgba(0, 0, 0, .18);
}
body.platform-public .brand-title { font-size: 18px; letter-spacing: .015em; }
body.platform-public .brand-subtitle { font-size: 9px; letter-spacing: .16em; }
body.platform-public .nav-links .nav-student-access { border: 1px solid var(--platform-line); border-radius: 999px; padding: 10px 15px; font-size: 14px; }
body.platform-public .footer-staff-access { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 11px 20px; margin-top: 14px; border: 1px solid var(--platform-line); border-radius: 999px; text-decoration: none; color: var(--platform-text); background: rgba(148, 191, 255, .08); }
body.platform-public .footer-staff-access:hover { background: rgba(148, 191, 255, .16); }
body.platform-public .program-card-link { border-radius: inherit; }
body.platform-public .program-card-link:focus-visible { outline-offset: 5px; }
@media (min-width: 1251px) {
  body.platform-public .nav-links { flex-wrap: wrap; row-gap: 12px; column-gap: 18px; justify-content: flex-end; }
  body.platform-public .header-inner { padding-block: 18px; gap: 22px; }
  body.platform-public .brand-link { flex-shrink: 0; }
}

body.platform-public :is(.brand-title, .nav-links a, .footer-grid h2) {
  color: var(--platform-text);
}

body.platform-public :is(.brand-subtitle, .eyebrow, .level-card-kicker,
  .program-level, .program-status span, .path-number, .result-number,
  .quick-question .question-number, .quick-route li > span,
  .quick-answer-list article > span, .process-check-list li::before) {
  color: var(--platform-gold);
}

/* Keep photographs, object-fit, object-position and media dimensions intact. */
body.platform-public :is(.home-hero, .offer-banner, .section-navy) {
  background-color: var(--platform-bg);
  color: var(--platform-text);
}

body.platform-public .offer-banner-copy {
  background: var(--platform-surface);
  border-color: var(--platform-gold);
  border-radius: var(--platform-radius);
  box-shadow: var(--platform-shadow);
}

body.platform-public :is(.home-hero-content h1, .offer-banner-copy h1,
  .program-intro h1, .program-card-body h3 a, .quick-progress-inner strong,
  .quick-route strong, .quick-question legend, .quick-question > label,
  .choice-fieldset legend, .offer-controls label, .field label,
  .process-caution strong, .process-timing strong, .faq-list details[open] summary) {
  color: var(--platform-text);
}

body.platform-public :is(.hero-copy, .offer-banner-copy > p:not(.eyebrow),
  .offer-banner-selection, .boundary-grid p:not(.eyebrow),
  .validation-notice p, .footer-grid p, .menu-legal-mobile p) {
  color: var(--platform-muted);
}

body.platform-public :is(.level-selector, .program-card, .simple-cta,
  .evaluation-form, .evaluation-aside, .result-section, .contact-panel) {
  color: var(--platform-text);
  background: var(--platform-surface);
  border: 1px solid var(--platform-line);
  border-radius: var(--platform-radius);
  box-shadow: var(--platform-shadow);
}

body.platform-public .level-options {
  background: var(--platform-line);
  border-color: var(--platform-line);
}

body.platform-public .level-options a {
  color: var(--platform-text);
  background: var(--platform-surface-strong);
  border-radius: 12px;
}

body.platform-public .level-options a:is(:hover, :focus-visible) {
  background: #102753;
  border-bottom-color: var(--platform-gold);
}

body.platform-public :is(.level-card-media, .program-card-media) {
  background-color: var(--platform-surface-strong);
  border-color: var(--platform-gold);
  border-radius: 12px 12px 0 0;
}

body.platform-public :is(.level-card-description, .selector-note p,
  .filter-status, .program-card-body > p:not(.program-level),
  .program-caution, .requirement-grid ul, .faq-list details p,
  .character-count, .sales-privacy-note, .contact-boundary,
  .field-hint, .save-status, .contact-status, .copy-status) {
  color: var(--platform-muted);
}

body.platform-public :is(.level-card-description, .level-card-action,
  .selector-note, .field-hint, .field-error, .character-count,
  .sales-privacy-note, .contact-boundary, .copy-status) {
  font-size: .875rem;
}

body.platform-public .level-card-kicker {
  font-size: .75rem;
}

body.platform-public :is(.level-card-action, .selector-note a,
  .underlined-link, .path-list a, .sources-section a, .breadcrumbs a,
  .program-catalog-back a, .program-card-action, .process-inline-link,
  .faq-payment-principle a, .program-boundary a, .validation-notice a,
  .footer-grid a, .footer-bottom a, .text-button) {
  color: var(--platform-mint);
  text-decoration-color: var(--platform-mint);
}

body.platform-public .section-navy a:not(.button) {
  color: var(--platform-mint);
}

body.platform-public :is(.responsibility-strip, .program-hero, .program-facts,
  .evaluation-progress, .resume-panel, .result-boundary, .aside-boundary,
  .validation-notice, .program-boundary, .process-checkpoint) {
  color: var(--platform-text);
  background: var(--platform-surface-strong);
  border-color: var(--platform-line);
}

body.platform-public .evaluation-main {
  background: transparent;
}

body.platform-public :is(.validation-notice, .resume-panel, .program-boundary) {
  border-top-color: var(--platform-gold);
  box-shadow: var(--platform-shadow);
}

body.platform-public :is(.process-caution, .process-timing,
  .configuration-notice, .program-context, .process-checkpoint,
  .aside-boundary, .result-boundary) {
  background: var(--platform-surface-strong);
  border-color: var(--platform-gold);
  border-radius: 12px;
}

/* Existing columns, spacing, edge borders and breakpoints remain authoritative. */
body.platform-public :is(.path-list article, .process-list article,
  .requirement-grid article, .boundary-table article, .faq-list details) {
  color: var(--platform-text);
  background-color: var(--platform-surface);
  border-color: var(--platform-line);
  border-radius: var(--platform-radius);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .16);
}

body.platform-public :is(.responsibility-grid p, .document-groups,
  .document-groups section + section, .final-documents, .final-documents span,
  .program-list, .program-level-heading, .program-card, .program-row,
  .program-facts article, .faq-payment-principle, .footer-bottom,
  .evaluation-aside, .result-summary, .result-block, .quick-question,
  .quick-route li, .quick-answer-list article, .contact-boundary) {
  border-color: var(--platform-line);
}

body.platform-public :is(.quick-question legend em, .quick-question > label em,
  .field label span, .choice-fieldset legend span) {
  color: var(--platform-gold);
}

body.platform-public :is(.choice-grid, .choice-stack) {
  border-color: var(--platform-line);
  border-radius: 12px;
}

body.platform-public :is(.choice-grid label, .choice-stack label) {
  background: var(--platform-surface-strong);
  color: var(--platform-text);
  border-color: var(--platform-line);
}

body.platform-public :is(.choice-grid label, .choice-stack label):has(input:checked) {
  background: rgba(255, 209, 102, .1);
  box-shadow: inset 0 -4px 0 var(--platform-gold);
}

body.platform-public :is(.choice-grid label, .choice-stack label):has(input:focus-visible) {
  outline: 3px solid var(--platform-mint);
  outline-offset: 3px;
}

body.platform-public :is(input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="range"]):not([type="color"]), select, textarea) {
  color: var(--platform-text);
  background: var(--platform-surface-strong);
  border-color: rgba(148, 191, 255, .48);
  border-radius: 10px;
}

body.platform-public :is(input, textarea)::placeholder {
  color: var(--platform-muted);
  opacity: 1;
}

body.platform-public :is(input, select, textarea):focus {
  border-color: var(--platform-gold);
  box-shadow: 0 0 0 3px rgba(255, 209, 102, .18);
}

body.platform-public :is(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--platform-gold);
}

body.platform-public :is(input, textarea)[readonly] {
  background-color: rgba(8, 25, 61, .75);
  color: var(--platform-text);
}

body.platform-public :is(.field-error, [aria-invalid="true"]) {
  color: var(--error);
}

body.platform-public [aria-invalid="true"] {
  border-color: var(--error);
  box-shadow: 0 0 0 2px rgba(255, 178, 169, .18);
}

body.platform-public .error-summary {
  color: #ffd5ce;
  background: #3b1c2d;
  border-color: #ffb2a9;
  border-radius: 12px;
}

body.platform-public :is(.button, .nav-cta, .nav-payment, .nav-upload,
  .menu-button, .menu-close, .mobile-whatsapp-cta) {
  border-radius: 999px;
}

body.platform-public :is(.button-gold, .nav-links .nav-cta, .mobile-whatsapp-cta) {
  color: var(--platform-bg);
  background: var(--platform-gold);
  border-color: var(--platform-gold);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .22);
}

body.platform-public :is(.button-gold, .nav-links .nav-cta, .mobile-whatsapp-cta):hover {
  color: var(--platform-bg);
  background: #ffdc88;
  border-color: #ffdc88;
  text-decoration: none;
}

body.platform-public .nav-links .nav-upload {
  color: var(--platform-bg);
  background: var(--platform-mint);
  border-color: var(--platform-mint);
}

body.platform-public .nav-links .nav-upload:hover {
  color: var(--platform-bg);
  background: #7ce6c5;
  border-color: #7ce6c5;
}

body.platform-public :is(.button-outline, .button-outline-dark, .menu-button, .menu-close) {
  color: var(--platform-mint);
  background: rgba(8, 25, 61, .72);
  border-color: var(--platform-mint);
}

body.platform-public :is(.button-outline, .button-outline-dark, .menu-button, .menu-close):hover {
  color: var(--platform-text);
  background: rgba(62, 212, 166, .12);
}

/* Payment keeps its green action; this is independent of the gold advisor CTA. */
body.platform-public .nav-links .nav-payment {
  color: #f8fbff;
  background: #11794b;
  border-color: #11794b;
}

body.platform-public .nav-links .nav-payment:hover {
  color: #f8fbff;
  background: #0c6840;
  border-color: #0c6840;
}

body.platform-public :is(.button:disabled, button:disabled, [aria-disabled="true"]) {
  color: #bec9df;
  background-color: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .18);
  box-shadow: none;
}

body.platform-public .skip-link {
  background: var(--platform-gold);
  color: var(--platform-bg);
  border-radius: 999px;
}

body.platform-public :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--platform-mint);
  outline-offset: 3px;
}

@media (max-width: 1250px) {
  body.platform-public .nav-links a[aria-current="page"] {
    border-left-color: var(--platform-gold);
  }

  body.platform-public .site-nav {
    background: var(--platform-surface-strong);
  }
}

@media (max-width: 600px) {
  body.platform-public :is(.level-selector, .program-card, .evaluation-form,
    .evaluation-aside, .result-section, .contact-panel) {
    border-radius: 14px;
  }

  body.platform-public :is(.field label, .level-card-description,
    .level-card-action, .selector-note, .mobile-whatsapp-cta) {
    font-size: .875rem;
  }
}

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

@media print {
  body.platform-public {
    color-scheme: light;
    color: #111;
    background: #fff;
  }

  body.platform-public :is(.site-header, .site-nav, .site-footer, .home-hero,
    .offer-banner, .offer-banner-copy, .section-navy, .level-selector,
    .level-options, .level-options a, .responsibility-strip, .program-hero,
    .program-facts, .program-card, .simple-cta, .evaluation-main,
    .evaluation-progress, .evaluation-form, .evaluation-aside, .result-section,
    .contact-panel, .resume-panel, .result-boundary, .aside-boundary,
    .validation-notice, .program-boundary, .process-checkpoint, .process-caution,
    .process-timing, .configuration-notice, .program-context, .error-summary,
    .path-list article, .process-list article, .requirement-grid article,
    .boundary-table article, .faq-list details, .choice-grid label,
    .choice-stack label, .button, .nav-cta, .nav-payment, .nav-upload,
    .menu-button, .menu-close, .mobile-whatsapp-cta, input, select, textarea) {
    color: #111 !important;
    background-color: #fff !important;
    border-color: #888 !important;
    box-shadow: none !important;
  }

  body.platform-public :is(h1, h2, h3, h4, h5, h6, p, li, dt, dd,
    a, span, strong, em, label, legend, summary, button) {
    color: #111 !important;
    text-shadow: none;
  }

  /* Do not add print visibility rules: existing publication policy is retained. */
}

/* Append after the existing inline styles. Only these three presentation surfaces are themed. */
body.platform-client,
body.platform-payment,
body.platform-result {
  --platform-bg: #071632;
  --platform-bg-end: #0f2f6d;
  --platform-surface: rgba(8, 25, 61, .94);
  --platform-surface-strong: #08193d;
  --platform-text: #eaf1ff;
  --platform-muted: #afbedf;
  --platform-line: rgba(148, 191, 255, .25);
  --platform-gold: #ffd166;
  --platform-mint: #3ed4a6;
  --platform-shadow: 0 22px 50px rgba(0, 0, 0, .32);
  --platform-radius: 18px;
  --platform-link: #a6cdff;
  --platform-green: #128151;
  --navy: var(--platform-text);
  --ink: var(--platform-text);
  --blue: var(--platform-link);
  --muted: var(--platform-muted);
  --line: var(--platform-line);
  --green: var(--platform-green);
  --surface: var(--platform-surface);
  --paper: var(--platform-surface);
  --light: rgba(58, 116, 204, .16);
  --blue-light: rgba(58, 116, 204, .16);
  --blue-soft: rgba(14, 40, 86, .8);
  --input-border: rgba(148, 191, 255, .48);
  color-scheme: dark;
  min-height: 100vh;
  margin: 0;
  color: var(--platform-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  line-height: 1.6;
  background: radial-gradient(ellipse at 8% 0, rgba(65, 122, 226, .24), transparent 53%),
    linear-gradient(155deg, var(--platform-bg), var(--platform-bg-end) 72%, var(--platform-bg));
}

:is(body.platform-client, body.platform-payment, body.platform-result) a {
  color: var(--platform-link);
  text-underline-offset: .2em;
}
:is(body.platform-client, body.platform-payment, body.platform-result) :is(h1, h2, h3) {
  color: var(--platform-text);
  font-family: inherit;
}
:is(body.platform-client, body.platform-payment, body.platform-result) :is(a, button, input, select):focus-visible {
  outline: 3px solid var(--platform-gold);
  outline-offset: 4px;
}
:is(body.platform-client, body.platform-payment, body.platform-result) :is(a, button, input, select) {
  -webkit-tap-highlight-color: rgba(255, 209, 102, .15);
}

/* Shared identity and return controls. Brand images keep their original pixels. */
body.platform-client .site-header,
body.platform-payment .site-header,
body.platform-result .header {
  background: rgba(7, 22, 50, .78);
  border-color: var(--platform-line);
}
:is(body.platform-client, body.platform-payment, body.platform-result) .brand {
  color: var(--platform-text);
  min-width: 0;
}
:is(body.platform-client, body.platform-payment, body.platform-result) .brand img {
  background: var(--platform-surface-strong);
  border: 1px solid var(--platform-line);
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .16);
}
:is(body.platform-client, body.platform-payment, body.platform-result) .brand small {
  color: var(--platform-gold);
}
body.platform-client .home-link,
body.platform-payment .back-link,
body.platform-result .back {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 15px;
  border: 1px solid var(--platform-line);
  border-radius: 999px;
  background: rgba(30, 66, 128, .25);
  color: var(--platform-text);
  font-size: 14px;
  line-height: 1.35;
  text-decoration: none;
}
body.platform-client .home-link:hover,
body.platform-payment .back-link:hover,
body.platform-result .back:hover {
  border-color: rgba(148, 191, 255, .6);
  background: rgba(42, 88, 157, .35);
}
body.platform-client .site-footer,
body.platform-payment .page-footer,
body.platform-result .footer {
  color: var(--platform-muted);
  border-color: var(--platform-line);
  background: transparent;
}
body.platform-client .skip {
  color: var(--platform-bg);
  background: var(--platform-gold);
}

/* Student profile, appointment and document cards. No document visibility is changed. */
body.platform-client .card,
body.platform-client .student-id,
body.platform-result .card {
  background: var(--platform-surface);
  border-color: var(--platform-line);
  border-radius: var(--platform-radius);
  box-shadow: var(--platform-shadow);
}
body.platform-client .appointment {
  background: linear-gradient(135deg, rgba(26, 65, 133, .78), var(--platform-surface-strong) 85%);
  border-color: rgba(94, 159, 255, .52);
}
body.platform-client .appointment-request {
  border-color: var(--platform-line);
}
body.platform-client .appointment-request p {
  color: var(--platform-muted);
}
body.platform-client .appointment-request input {
  background: var(--platform-surface-strong);
  border-color: var(--platform-line);
  color: var(--platform-text);
}
body.platform-client .appointment-request input:focus-visible {
  outline-color: var(--platform-gold);
}
body.platform-client .eyebrow,
body.platform-payment .tiny-label {
  color: var(--platform-gold);
}
body.platform-client :is(.program, .student-id span, .detail dt, .duration, .card-copy, .section-description, .file-kind, .contact-unavailable, .receipt span),
body.platform-result :is(p, .reference span) {
  color: var(--platform-muted);
}
body.platform-client :is(.student-id strong, .detail dd, .file-info h3, .receipt strong) {
  color: var(--platform-text);
}
body.platform-client :is(.appointment-time, .card-heading > svg) {
  color: var(--platform-gold);
}
body.platform-client :is(.details, .appointment-footer, .receipt) {
  border-color: var(--platform-line);
}
body.platform-client .status {
  background: rgba(62, 212, 166, .12);
  border: 1px solid rgba(62, 212, 166, .3);
  color: #a7f1d7;
}
body.platform-client .status.canceled {
  background: rgba(208, 83, 99, .14);
  border-color: rgba(255, 141, 156, .36);
  color: #ffc3cc;
}
body.platform-client :is(.advisor-icon, .file-icon, .section-heading .count) {
  background: rgba(72, 130, 226, .16);
  color: var(--platform-link);
  border: 1px solid var(--platform-line);
}
body.platform-client :is(.file-card, .empty) {
  background: rgba(13, 36, 78, .58);
  border-color: var(--platform-line);
}
body.platform-client .empty strong { color: var(--platform-text); }
body.platform-client .empty p { color: var(--platform-muted); }
body.platform-client .file-link,
body.platform-client .text-link {
  min-height: 44px;
  color: var(--platform-link);
}
body.platform-client .file-link:hover,
body.platform-client .text-link:hover { color: var(--platform-gold); }
body.platform-client .receipt > div { min-width: 0; }
body.platform-client .message {
  background: rgba(62, 212, 166, .11);
  border-color: rgba(62, 212, 166, .4);
  color: #b7f5df;
}
body.platform-client .button {
  min-height: 48px;
  border-radius: 999px;
  background: #2459af;
  border-color: rgba(128, 179, 255, .55);
  color: #fff;
  box-shadow: 0 7px 18px rgba(0, 0, 0, .2);
}
body.platform-client .button:not(:disabled):hover {
  background: #2b66c4;
  border-color: #a6cdff;
}
body.platform-client .upload-action .button {
  background: var(--platform-gold);
  border-color: var(--platform-gold);
  color: #10203f;
}
body.platform-client .upload-action .button:hover {
  background: #ffe19a;
  border-color: #ffe19a;
}
body.platform-client .advisor .button:not(:disabled) {
  background: var(--platform-mint);
  border-color: var(--platform-mint);
  color: #082a24;
}
body.platform-client .advisor .button:not(:disabled):hover {
  background: #74e7c3;
  border-color: #74e7c3;
}
body.platform-client .payment .button.secondary {
  background: var(--platform-green);
  border-color: #36b782;
  color: #fff;
}
body.platform-client .payment .button.secondary:hover {
  background: #0b6b44;
  border-color: var(--platform-mint);
}
body.platform-client .button:disabled {
  background: #142747;
  border-color: var(--platform-line);
  color: var(--platform-muted);
  box-shadow: none;
}

/* Payment method selection, quoted amounts and transfer details retain their native controls. */
body.platform-payment :is(.form-card, .summary-card, .result-card) {
  background: var(--platform-surface);
  border-color: var(--platform-line);
  border-radius: var(--platform-radius);
  box-shadow: var(--platform-shadow);
}
body.platform-payment .summary-card {
  background: linear-gradient(155deg, rgba(25, 58, 119, .95), var(--platform-surface-strong) 85%);
  border-color: rgba(94, 159, 255, .48);
}
body.platform-payment :is(.method-option, .bank-card, .receipt-note) {
  background: rgba(13, 36, 78, .62);
  border-color: var(--platform-line);
  border-radius: 14px;
  color: var(--platform-text);
}
body.platform-payment .method-option {
  min-height: 88px;
  transition: border-color .15s ease, background .15s ease;
}
body.platform-payment .method-option:hover { border-color: rgba(148, 191, 255, .62); }
body.platform-payment .method-option:has(input:checked) {
  background: rgba(47, 101, 191, .3);
  border-color: var(--platform-gold);
  box-shadow: 0 0 0 1px rgba(255, 209, 102, .15);
}
body.platform-payment .method-option:has(input:disabled) {
  background: rgba(15, 31, 59, .78);
  border-color: var(--platform-line);
  color: var(--platform-muted);
}
body.platform-payment .method-option input { accent-color: var(--platform-gold); }
body.platform-payment .section-label span {
  background: rgba(255, 209, 102, .1);
  color: var(--platform-gold);
  border-color: rgba(255, 209, 102, .36);
  border-radius: 50%;
}
body.platform-payment .amount-input {
  background: rgba(6, 22, 54, .8);
  border-color: var(--input-border);
  border-radius: 14px;
}
body.platform-payment .amount-input:focus-within {
  border-color: var(--platform-gold);
  box-shadow: 0 0 0 3px rgba(255, 209, 102, .16);
}
body.platform-payment .amount-input input,
body.platform-payment .currency-symbol,
body.platform-payment .currency-code { color: var(--platform-text); }
body.platform-payment .amount-input input::placeholder { color: #9bafd4; }
body.platform-payment .field :is(input, select) {
  min-height: 52px;
  background: var(--platform-surface-strong);
  color: var(--platform-text);
  border-color: var(--input-border);
  border-radius: 11px;
  font-size: 16px;
}
body.platform-payment .field :is(input, select):focus {
  border-color: var(--platform-gold);
  box-shadow: 0 0 0 3px rgba(255, 209, 102, .15);
}
body.platform-payment .field input::placeholder { color: #9bafd4; }
body.platform-payment .field input[readonly] {
  background: rgba(31, 51, 90, .55);
  color: var(--platform-text);
}
body.platform-payment .field option {
  background: var(--platform-surface-strong);
  color: var(--platform-text);
}
body.platform-payment .field input:-webkit-autofill {
  -webkit-text-fill-color: var(--platform-text);
  box-shadow: 0 0 0 1000px var(--platform-surface-strong) inset;
}
body.platform-payment input[type="file"]::file-selector-button {
  min-height: 40px;
  margin-right: 12px;
  padding: 8px 13px;
  border: 1px solid var(--platform-line);
  border-radius: 999px;
  background: #204982;
  color: var(--platform-text);
  font: inherit;
  cursor: pointer;
}
body.platform-payment :is(.fee-notice, .transfer-reference, .transfer-notice) {
  background: rgba(40, 87, 163, .19);
  border-color: rgba(148, 191, 255, .34);
  border-radius: 12px;
  color: var(--platform-text);
}
body.platform-payment .fee-notice strong { color: var(--platform-gold); }
body.platform-payment :is(.summary-heading h2, .summary-heading svg, .summary-method, .bank-card h3, .receipt-note svg) {
  color: var(--platform-link);
}
body.platform-payment :is(.summary-total, .cost-breakdown .cost-total dd) { color: var(--platform-gold); }
body.platform-payment :is(.summary-details dt, .bank-details dt) { color: var(--platform-muted); }
body.platform-payment :is(.summary-details dd, .cost-breakdown dd, .bank-details dd, .review-note strong) {
  color: var(--platform-text);
}
body.platform-payment .summary-details dd.empty { color: var(--platform-muted); }
body.platform-payment :is(.summary-rule, .form-divider) { background: var(--platform-line); }
body.platform-payment .summary-breakdown { border-color: var(--platform-line); }
body.platform-payment .zero-fee,
body.platform-payment .copy-status {
  color: #b7f5df;
}
body.platform-payment .zero-fee {
  background: rgba(62, 212, 166, .1);
  border-color: rgba(62, 212, 166, .35);
  border-radius: 999px;
}
body.platform-payment .copy-button {
  min-height: 44px;
  padding: 9px 13px;
  background: rgba(39, 86, 160, .35);
  color: var(--platform-text);
  border-color: rgba(148, 191, 255, .44);
  border-radius: 999px;
}
body.platform-payment .copy-button:hover {
  background: rgba(51, 109, 196, .45);
  border-color: var(--platform-link);
}
body.platform-payment .copy-button:disabled {
  background: #142747;
  color: var(--platform-muted);
  border-color: var(--platform-line);
}
body.platform-payment .submit {
  min-height: 54px;
  border-radius: 999px;
  background: var(--platform-green);
  border-color: #36b782;
  color: #fff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .25);
  text-decoration: none;
}
body.platform-payment .submit:hover {
  background: #0b6b44;
  border-color: var(--platform-mint);
}
body.platform-payment .submit:disabled {
  background: #142747;
  color: var(--platform-muted);
  border-color: var(--platform-line);
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
body.platform-payment .form-error {
  background: rgba(174, 50, 71, .15);
  border-color: rgba(255, 141, 156, .48);
  color: #ffd0d7;
}

/* Payment/document results remain truthful: this file never introduces a payment confirmation. */
body.platform-payment .result-mark,
body.platform-result .mark {
  background: rgba(62, 212, 166, .12);
  color: var(--platform-mint);
  border: 1px solid rgba(62, 212, 166, .3);
}
body.platform-payment .result-mark.pending {
  background: rgba(255, 209, 102, .1);
  color: var(--platform-gold);
  border-color: rgba(255, 209, 102, .34);
}
body.platform-result .reference {
  background: rgba(39, 88, 168, .22);
  border-color: rgba(148, 191, 255, .38);
  border-radius: 12px;
}
body.platform-result .reference strong {
  color: var(--platform-text);
  line-height: 1.5;
}
body.platform-result .cta {
  min-height: 48px;
  border: 1px solid var(--platform-gold);
  border-radius: 999px;
  background: var(--platform-gold);
  color: #10203f;
  box-shadow: 0 7px 18px rgba(0, 0, 0, .2);
}
body.platform-result .cta:hover {
  background: #ffe19a;
  border-color: #ffe19a;
}

/* Native hidden attributes always win over card, note and panel styling. */
body.platform-client [hidden],
body.platform-payment [hidden],
body.platform-result [hidden] { display: none !important; }

@media (max-width: 900px) {
  body.platform-payment .payment-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 540px) {
  body.platform-client .header-inner,
  body.platform-payment .site-header,
  body.platform-result .header { flex-wrap: wrap; gap: 12px; }
  :is(body.platform-client, body.platform-payment, body.platform-result) .brand { flex: 1 1 190px; }
  :is(body.platform-client, body.platform-payment, body.platform-result) .brand img { flex-shrink: 0; }
  body.platform-client .home-link,
  body.platform-payment .back-link,
  body.platform-result .back { margin-left: auto; white-space: normal; text-align: center; }
  body.platform-client .receipt { flex-wrap: wrap; }
  body.platform-client .file-links { gap: 4px 14px; }
  body.platform-payment .method-picker { grid-template-columns: minmax(0, 1fr); }
  body.platform-payment .method-option { min-height: 80px; }
  body.platform-payment .bank-number { flex-wrap: wrap; align-items: flex-start; }
  body.platform-payment .bank-number strong { min-width: 0; }
  body.platform-payment .cost-breakdown div { gap: 10px; }
  body.platform-payment .cost-breakdown dt { max-width: 62%; }
  body.platform-payment .summary-total { font-size: clamp(30px, 9vw, 40px); }
  body.platform-result .reference { padding: 15px; }
  body.platform-result .reference strong { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  :is(body.platform-client, body.platform-payment, body.platform-result) *,
  :is(body.platform-client, body.platform-payment, body.platform-result) *::before,
  :is(body.platform-client, body.platform-payment, body.platform-result) *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
  body.platform-payment .submit:hover { transform: none; }
}

/* Printing these views stays readable; actual receipt/PDF pages have none of these body classes. */
@media print {
  body.platform-client,
  body.platform-payment,
  body.platform-result {
    --platform-surface: #fff;
    --platform-surface-strong: #fff;
    --platform-text: #17384f;
    --platform-muted: #41566b;
    --platform-line: #c6d4e0;
    --platform-link: #18558a;
    --platform-gold: #71500a;
    --platform-shadow: none;
    background: #fff;
    color: #17384f;
    color-scheme: light;
  }
  :is(body.platform-client, body.platform-payment, body.platform-result) *,
  :is(body.platform-client, body.platform-payment, body.platform-result) *::before,
  :is(body.platform-client, body.platform-payment, body.platform-result) *::after {
    color: #17384f !important;
    background: transparent !important;
    border-color: #c6d4e0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
}

/* Staff agenda: compact calendar with full details in the accessible agenda. */
body.platform-admin .section-toolbar { display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px }
body.platform-admin .section-toolbar h2 { margin:0 0 6px }
body.platform-admin .section-toolbar p { margin:0;color:var(--platform-muted) }
body.platform-admin .row-secondary { display:block;margin-top:6px;line-height:1.55 }
body.platform-advisor .advisor-appointments td,body.platform-advisor .advisor-directory td { padding:18px 16px;line-height:1.5;overflow-wrap:break-word }
body.platform-advisor .advisor-appointments td:first-child { width:23%;min-width:160px }
body.platform-advisor .advisor-directory td:first-child { width:23%;font-variant-numeric:tabular-nums }
body.platform-advisor .row-actions { display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:150px }
body.platform-advisor .advisor-search { grid-template-columns:minmax(240px,1fr) auto auto }
body.platform-advisor .advisor-settings { max-width:880px }
body.platform-advisor .advisor-settings .editor { grid-template-columns:1fr;max-width:580px }
body.platform-admin .calendar-navigation { display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px }
body.platform-admin .calendar-grid { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px }
body.platform-admin .calendar-weekday { text-align:center;font-size:13px;padding:8px 0 }
body.platform-admin .calendar-day { display:block;height:102px;min-height:0;padding:10px;text-decoration:none;color:var(--platform-text);overflow:hidden;border:1px solid var(--platform-line) }
body.platform-admin .calendar-day:hover,body.platform-admin .calendar-day:focus-visible { border-color:var(--platform-mint);background:rgba(50,119,171,.35) }
body.platform-admin .calendar-day.is-today { border-color:#87b9ff }
body.platform-admin .calendar-day.is-selected { outline:2px solid var(--platform-mint);outline-offset:1px }
body.platform-admin .calendar-day strong { font-size:17px;display:inline-block;margin-right:8px }
body.platform-admin .calendar-count { font-size:12px;color:var(--platform-mint);font-weight:650 }
body.platform-admin .calendar-times { display:block;margin-top:14px;font-size:12px;line-height:1.5;white-space:nowrap }
body.platform-admin .calendar-free { display:block;font-size:12px;color:var(--platform-muted);margin-top:14px }
body.platform-admin .agenda-day + .agenda-day { margin-top:28px }
body.platform-admin .agenda-day h3 { font-size:17px;margin:0 0 12px }
body.platform-admin .agenda-entry { display:flex;gap:22px;align-items:center;padding:18px 0;border-top:1px solid var(--platform-line) }
body.platform-admin .agenda-entry time { flex:0 0 65px;font-size:20px;font-weight:750;font-variant-numeric:tabular-nums }
body.platform-admin .agenda-entry time small { display:block;font-size:12px;font-weight:400;margin-top:4px }
body.platform-admin .agenda-person { flex:1;min-width:0;overflow-wrap:break-word }
body.platform-admin .agenda-person :is(strong,span,small) { display:block;line-height:1.6 }
body.platform-admin .agenda-person strong { font-size:16px }
body.platform-admin .calendar-agenda { scroll-margin-top:20px }
@media(max-width:760px){
 body.platform-admin .calendar-grid { gap:4px }
 body.platform-admin .calendar-day { height:66px;padding:7px;border-radius:8px }
 body.platform-admin .calendar-day strong { display:block;font-size:15px;margin:0 0 5px }
 body.platform-admin :is(.calendar-count-label,.calendar-times,.calendar-free) { display:none }
 body.platform-admin .agenda-entry { gap:12px;flex-wrap:wrap }
 body.platform-admin .agenda-entry > a { margin-left:77px }
 body.platform-advisor .advisor-search { grid-template-columns:1fr }
}
@media(max-width:560px){
 body.platform-advisor :is(.advisor-directory,.advisor-appointments) .scroll { overflow:visible;border:0 }
 body.platform-advisor :is(.advisor-directory,.advisor-appointments) table,
 body.platform-advisor :is(.advisor-directory,.advisor-appointments) tbody,
 body.platform-advisor :is(.advisor-directory,.advisor-appointments) tr,
 body.platform-advisor :is(.advisor-directory,.advisor-appointments) td { display:block;width:100%;min-width:0 }
 body.platform-advisor :is(.advisor-directory,.advisor-appointments) thead { display:none }
 body.platform-advisor :is(.advisor-directory,.advisor-appointments) tr { border:1px solid var(--platform-line);border-radius:12px;margin:14px 0;padding:14px }
 body.platform-advisor :is(.advisor-directory,.advisor-appointments) td { border:0;padding:6px 0 }
 body.platform-advisor :is(.advisor-directory,.advisor-appointments) td:first-child {width:100%;min-width:0}
}

/* Appointment lists and detail use their own mobile layout; month grid is unchanged. */
body.platform-admin .appointment-cards { display:none }
body.platform-admin .appointment-card { border:1px solid var(--platform-line);border-radius:18px;padding:18px;background:var(--platform-surface);min-width:0 }
body.platform-admin .appointment-card-top { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px }
body.platform-admin .appointment-number { color:var(--platform-muted);font-size:13px;font-weight:650 }
body.platform-admin .appointment-state { display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(62,212,166,.12);color:#9af4d6;border:1px solid rgba(62,212,166,.25);font-size:13px;line-height:1.5 }
body.platform-admin .appointment-state.is-cancelled { color:#ffc2c7;background:rgba(255,111,122,.12);border-color:rgba(255,111,122,.3) }
body.platform-admin .appointment-card h3 { margin:0 0 6px;font-size:20px;line-height:1.35;overflow-wrap:break-word }
body.platform-admin .appointment-program { margin:0 0 18px;color:var(--platform-muted);line-height:1.55;overflow-wrap:break-word }
body.platform-admin .appointment-when { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;padding:14px 0;border-top:1px solid var(--platform-line);border-bottom:1px solid var(--platform-line) }
body.platform-admin .appointment-when time { font-size:15px;line-height:1.6;min-width:0 }
body.platform-admin .appointment-when strong { font-size:20px;white-space:nowrap;color:var(--platform-gold);font-variant-numeric:tabular-nums }
body.platform-admin .appointment-card-meta { display:grid;gap:12px;margin:16px 0 }
body.platform-admin .appointment-card-meta dt { color:var(--platform-muted);font-size:12px;font-weight:650;margin-bottom:3px }
body.platform-admin .appointment-card-meta dd { margin:0;line-height:1.5;overflow-wrap:break-word }
body.platform-admin .appointment-card-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px }
body.platform-admin .appointment-card-actions .button { min-height:48px;width:100%;padding:12px;font-size:15px;border-radius:12px }
body.platform-admin .appointment-card-actions :is(.appointment-open,.appointment-documents) { grid-column:1/-1 }
body.platform-admin .appointment-detail { min-width:0 }
body.platform-admin .appointment-detail-summary > .button { margin-bottom:22px }
body.platform-admin .appointment-detail-summary h2 { font-size:clamp(22px,3vw,30px);line-height:1.3;margin:0 0 8px;overflow-wrap:break-word }
body.platform-admin .appointment-detail-venue { color:var(--platform-muted);margin-bottom:0;overflow-wrap:break-word }
@media(max-width:900px){
 /* The time and action no longer squeeze the student's name into a thin column. */
 body.platform-admin .calendar-agenda .agenda-entry { display:grid;grid-template-columns:65px minmax(0,1fr);gap:12px;align-items:start }
 body.platform-admin .calendar-agenda .agenda-entry > a { grid-column:1/-1;width:100%;margin-left:0;min-height:48px }
 body.platform-admin .calendar-agenda .agenda-person { min-width:0;overflow-wrap:break-word }
 body.platform-admin .appointment-list { padding:0;border:0;background:transparent;box-shadow:none }
 body.platform-admin .appointment-list > .scroll { display:none }
 body.platform-admin .appointment-cards { display:grid;gap:16px;margin-top:20px }
 body.platform-admin .appointment-list .section-toolbar { gap:16px;margin-bottom:18px }
 body.platform-admin .appointment-list .section-toolbar > .button { width:100%;min-height:48px }
 body.platform-admin .appointment-list > .actions { display:grid;grid-template-columns:1fr;margin-bottom:14px }
 body.platform-admin .appointment-filters .editor { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;padding:16px;border:1px solid var(--platform-line);border-radius:14px;background:rgba(8,25,61,.65) }
 body.platform-admin .appointment-filters .editor :is(input,select,button,.button) { font-size:16px;min-height:48px;max-width:100% }
 body.platform-admin .appointment-detail .editor { grid-template-columns:minmax(0,1fr);gap:18px }
 body.platform-admin .appointment-detail .editor :is(input,select,textarea):not([type="hidden"]):not([type="checkbox"]) { font-size:16px;min-height:48px }
 body.platform-admin .appointment-detail section { min-width:0;max-width:100%;padding:20px 16px }
 body.platform-admin .appointment-detail :is(h2,h3,p,dd) { overflow-wrap:break-word }
 body.platform-admin .appointment-detail .actions { display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch }
 body.platform-admin .appointment-detail .actions form { display:block;width:100% }
 body.platform-admin .appointment-detail .actions :is(a,button),
 body.platform-admin .appointment-detail .appointment-responsive-table td > a { display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;padding:12px 14px;border:1px solid var(--platform-line);border-radius:12px;text-decoration:none;line-height:1.5;font-size:15px }
 body.platform-admin .appointment-detail .editor > button { width:100%;min-height:48px }
 body.platform-admin .appointment-detail .button { min-height:48px }
 body.platform-admin .appointment-detail .appointment-responsive-table { border:0;overflow:visible }
 body.platform-admin .appointment-responsive-table :is(table,tbody,tr,td) { display:block;width:100%;min-width:0 }
 body.platform-admin .appointment-responsive-table thead { display:none }
 body.platform-admin .appointment-responsive-table tr { padding:14px;border:1px solid var(--platform-line);border-radius:12px;margin:14px 0 }
 body.platform-admin .appointment-responsive-table td { border:0;padding:7px 0;overflow-wrap:anywhere;font-size:15px;line-height:1.6 }
 body.platform-admin .appointment-responsive-table td[data-label]:not([data-label=""])::before { content:attr(data-label);display:block;color:var(--platform-muted);font-size:12px;font-weight:650;margin-bottom:4px }
}
@media(max-width:420px){
 body.platform-admin .appointment-card { padding:16px }
 body.platform-admin .appointment-when { gap:10px }
 body.platform-admin .appointment-when time { font-size:14px }
 body.platform-admin .appointment-when strong { font-size:18px }
 body.platform-admin .appointment-card h3 { font-size:19px }
 body.platform-admin .appointment-filters .editor label { grid-column:1/-1 }
}
@media print {
 body.platform-admin .appointment-cards { display:none }
 body.platform-admin .appointment-list > .scroll { display:block }
}

/* Official certificates are generated by staff; students receive static files. */
body.platform-admin .certificate-block { margin:24px 0; padding:20px; border:1px solid var(--platform-line); border-radius:14px; background:rgba(16,40,81,.45); }
body.platform-admin .certificate-block h3 { margin-top:0; }
body.platform-admin .certificate-links { display:flex; flex-wrap:wrap; gap:12px; }
body.platform-admin .certificate-block form { margin-top:16px; }
body.platform-admin .certificate-status { color:var(--platform-mint); }
@media(max-width:900px) { body.platform-admin .certificate-links { display:grid; grid-template-columns:minmax(0,1fr); } body.platform-admin .certificate-block :is(button,.button) { width:100%; min-height:48px; } }

/* Calendar restrictions remain visible on phones, with admin-only availability controls. */
body.platform-admin .calendar-day { height:126px }
body.platform-admin .calendar-rule-status { display:block;margin-top:7px;font-size:11px;line-height:1.25;font-weight:700;color:#f5d693 }
body.platform-admin .calendar-day.has-closed { border-color:#d38e9b;background:rgba(116,47,68,.3) }
body.platform-admin .calendar-day.has-allowed { border-color:#7ac7c5 }
body.platform-admin .calendar-day.has-blocked { border-color:#b99b64 }
body.platform-admin :is(.calendar-availability,.calendar-restrictions) { margin-top:24px;padding:24px;border:1px solid var(--platform-line);border-radius:16px;background:rgba(15,41,88,.35);scroll-margin-top:20px }
body.platform-admin .calendar-restrictions li { margin-bottom:12px;line-height:1.5 }
body.platform-admin .calendar-restrictions li span { display:block;color:var(--platform-muted);overflow-wrap:anywhere }
body.platform-admin .calendar-availability p { line-height:1.6 }
body.platform-admin .calendar-existing-warning { padding:12px 16px;border-left:3px solid #f5d693;background:rgba(153,113,42,.15) }
body.platform-admin .calendar-availability-fields { display:grid;grid-template-columns:1fr 1fr 2fr;gap:16px;margin:20px 0 }
body.platform-admin .calendar-availability label { display:flex;flex-direction:column;gap:8px;font-size:14px }
body.platform-admin .calendar-availability :is(input:not([type=hidden]),select,textarea) { box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:12px;background:#102b52;color:var(--platform-text);border:1px solid var(--platform-line);border-radius:8px;font:inherit;color-scheme:dark }
body.platform-admin .calendar-availability :is(input,select,textarea):focus-visible { outline:2px solid var(--platform-mint);outline-offset:2px }
body.platform-admin .calendar-window-fields { min-width:0;padding:16px;border:1px solid var(--platform-line);border-radius:10px }
body.platform-admin .calendar-window-fields:disabled { opacity:.55 }
body.platform-admin .calendar-window-row { display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin-bottom:16px }
body.platform-admin .calendar-note { margin-top:20px }
body.platform-admin [data-calendar-status]:not(:empty) { color:#f5d693 }
body.platform-admin [data-calendar-availability] [hidden] { display:none!important }
@media(max-width:760px){
 body.platform-admin .calendar-day { height:91px;padding:6px }
 body.platform-admin .calendar-rule-status { margin-top:5px;font-size:10px }
 body.platform-admin :is(.calendar-availability,.calendar-restrictions) { padding:16px }
 body.platform-admin .calendar-availability-fields { grid-template-columns:1fr 1fr }
 body.platform-admin .calendar-mode { grid-column:1/-1 }
 body.platform-admin .calendar-window-row { grid-template-columns:1fr 1fr }
 body.platform-admin [data-calendar-remove] { grid-column:1/-1;justify-self:start }
 body.platform-admin [data-calendar-availability] > button[type=submit] { width:100% }
}
@media(max-width:400px){
 body.platform-admin .calendar-day { padding:5px 3px }
 body.platform-admin .calendar-availability-fields { grid-template-columns:1fr }
}
body.platform-admin .calendar-appointment-warning { color:#f5d693;font-weight:650;margin-top:6px }

/* Client workspace: directory, selected pupil and four focused sections. */
body.platform-admin .client-workspace { max-width: 1240px; margin-inline: auto; }
body.platform-admin .client-workspace :is(section, details, #correo, #asesor, #pagos) { scroll-margin-top: 24px; }
body.platform-admin .client-workspace .client-directory { margin-top: 0; }
body.platform-admin .client-directory-switch { margin: 0; }
body.platform-admin .client-directory-switch > summary { display: flex; align-items: center; gap: 14px; padding: 0; list-style: none; }
body.platform-admin .client-directory-switch > summary::before { content: '+'; display: inline-grid; place-content: center; width: 26px; height: 26px; border: 1px solid var(--platform-line); border-radius: 50%; font-size: 20px; color: var(--platform-mint); }
body.platform-admin .client-directory-switch[open] > summary::before { content: '−'; }
body.platform-admin .client-directory-content { padding-top: 24px; }
body.platform-admin .client-summary-count { display: inline-flex; align-items: center; padding: 3px 10px; border: 1px solid var(--platform-line); border-radius: 999px; color: var(--platform-muted); font-size: 12px; font-weight: 600; line-height: 1.5; }
body.platform-admin .client-workspace .client-search { grid-template-columns: minmax(200px, .8fr) minmax(240px, 1.2fr); gap: 20px; margin-top: 24px; }
body.platform-admin .client-search-actions { grid-column: 1 / -1; }
body.platform-admin .client-search-actions button { min-width: 140px; }
body.platform-admin .client-search-note { margin: 18px 0 0; color: var(--platform-muted); font-size: 13px; line-height: 1.7; }
body.platform-admin .client-workspace .client-create { border-top: 1px solid var(--platform-line); padding-top: 8px; margin-top: 20px; }
body.platform-admin .client-overview-heading { display: flex; justify-content: space-between; align-items: start; gap: 20px; }
body.platform-admin .client-workspace .client-overview h2 { font-size: clamp(22px, 2.6vw, 30px); line-height: 1.3; margin: 0; overflow-wrap: anywhere; }
body.platform-admin .client-eyebrow { color: var(--platform-gold); font-size: 12px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 8px; }
body.platform-admin .client-enrollment { color: var(--platform-muted); font-variant-numeric: tabular-nums; margin: 12px 0 0; font-size: 14px; }
body.platform-admin .client-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 30px; margin: 28px 0; padding: 24px 0; border-block: 1px solid var(--platform-line); }
body.platform-admin .client-summary-grid div { min-width: 0; }
body.platform-admin .client-summary-grid dt { color: var(--platform-muted); font-size: 12px; margin-bottom: 7px; }
body.platform-admin .client-summary-grid dd { margin: 0; color: var(--platform-text); font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
body.platform-admin .client-primary-actions { gap: 12px; }
body.platform-admin .client-primary-actions .button { font-size: 14px; }
body.platform-admin .client-section-nav { display: flex; flex-wrap: wrap; gap: 10px; padding: 2px 0 16px; }
body.platform-admin .client-section-nav .button { min-width: 115px; }
body.platform-admin .client-section-nav a[aria-current="location"] { background: rgba(62, 212, 166, .12); border-color: var(--platform-mint); color: #9af4d6; }
body.platform-admin .client-detail-panel { margin: 0 0 16px; background: var(--platform-surface); border: 1px solid var(--platform-line); border-radius: 16px; overflow: clip; }
body.platform-admin .client-detail-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 26px; list-style: none; }
body.platform-admin .client-detail-panel > summary::after { content: '+'; color: var(--platform-mint); font-size: 24px; font-weight: 400; margin-left: auto; }
body.platform-admin .client-detail-panel[open] > summary::after { content: '−'; }
body.platform-admin .client-detail-panel > summary > span { font-size: 18px; }
body.platform-admin .client-detail-panel > summary > small { font-size: 13px; font-weight: 400; margin-left: auto; }
body.platform-admin .client-detail-panel[open] > summary { border-bottom: 1px solid var(--platform-line); }
body.platform-admin .client-panel-content { padding: 24px 26px; }
body.platform-admin .client-workspace .client-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 0; }
body.platform-admin .client-workspace .client-form > button { grid-column: 1 / -1; justify-self: start; min-width: 150px; }
body.platform-admin .client-workspace .client-subsection { margin-top: 24px; border-top: 1px solid var(--platform-line); padding-top: 10px; }
body.platform-admin .client-subsection > summary { color: #9dcaff; }
body.platform-admin .client-subsection .client-form { margin: 18px 0 8px; }
body.platform-admin .client-workspace .scroll { margin-top: 0; }
body.platform-admin .client-workspace .client-management { background: transparent; box-shadow: none; }
body.platform-admin .client-management details { margin: 0; }
body.platform-admin .client-management details > summary { padding: 0; }
body.platform-admin .client-management p { color: var(--platform-muted); margin: 18px 0 22px; }
body.platform-admin .client-management .actions { gap: 16px; }
body.platform-admin .client-management .client-form { display: block; margin: 0; }
body.platform-admin .client-workspace .client-panel-content > #pagos { padding: 0; margin: 0; border: 0; box-shadow: none; background: transparent; }
body.platform-admin .client-workspace :is(a, button, summary):focus-visible { outline: 3px solid var(--platform-gold); outline-offset: 4px; }
/* This shared payment component also appears in the selected expediente. */
body.platform-admin .client-payments .client-payment-intro > p { color: var(--platform-muted); line-height: 1.7; max-width: 720px; }
body.platform-admin .client-payments .client-payment-options { gap: 12px; margin: 22px 0 32px; }
body.platform-admin .client-payments .client-financial-group + .client-financial-group { margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--platform-line); }
body.platform-admin .client-payments h3 { display: flex; align-items: center; gap: 12px; font-size: 17px; margin: 0 0 18px; }
body.platform-admin .client-financial-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
body.platform-admin .client-financial-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 18px 24px; padding: 20px; background: rgba(17, 47, 98, .35); border: 1px solid var(--platform-line); border-radius: 12px; }
body.platform-admin .client-financial-description { min-width: 0; }
body.platform-admin .client-financial-description p { margin: 8px 0; line-height: 1.6; overflow-wrap: anywhere; }
body.platform-admin .client-financial-description small { font-size: 12px; }
body.platform-admin .client-financial-amount { color: var(--platform-gold); font-variant-numeric: tabular-nums; white-space: nowrap; font-size: 17px; }
body.platform-admin .client-financial-actions { grid-column: 1 / -1; border-top: 1px solid var(--platform-line); padding-top: 15px; }
body.platform-admin .client-financial-actions .button { font-size: 13px; }
body.platform-admin .client-financial-actions .client-danger-link { border-color: rgba(227, 109, 124, .6); color: #ffc3cc; }
body.platform-admin .client-empty { padding: 18px 20px; border: 1px dashed var(--platform-line); border-radius: 12px; color: var(--platform-muted); line-height: 1.6; margin: 0; }
@media (max-width: 760px) {
  body.platform-admin .client-workspace :is(.client-search, .client-form, .client-summary-grid) { grid-template-columns: minmax(0, 1fr); }
  body.platform-admin .client-workspace .client-directory-switch > summary { flex-wrap: wrap; gap: 10px; }
  body.platform-admin .client-overview-heading { flex-direction: column; gap: 18px; }
  body.platform-admin .client-summary-grid { gap: 18px; }
  body.platform-admin .client-primary-actions, body.platform-admin .client-search-actions { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
  body.platform-admin .client-section-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  body.platform-admin .client-section-nav .button { min-width: 0; padding-inline: 10px; }
  body.platform-admin .client-detail-panel > summary { padding: 18px; gap: 10px; flex-wrap: wrap; }
  body.platform-admin .client-detail-panel > summary > small { order: 3; width: 100%; margin: 0; }
  body.platform-admin .client-detail-panel > summary::after { order: 2; }
  body.platform-admin .client-panel-content { padding: 22px 18px; }
  body.platform-admin .client-workspace .client-form > button { justify-self: stretch; }
  body.platform-admin .client-workspace .appointment-responsive-table { border: 0; overflow: visible; }
  body.platform-admin .client-management .actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  body.platform-admin .client-management button { width: 100%; }
  body.platform-admin .client-financial-card { grid-template-columns: minmax(0, 1fr); gap: 15px; padding: 18px; }
  body.platform-admin .client-financial-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
}

/* Explicit retirement of an issued official certificate. */
body.platform-admin .certificate-retirement { margin-top: 24px; padding-top: 14px; border-top: 1px solid var(--platform-line); }
body.platform-admin .certificate-retirement > summary { color: #ffc3cc; }
body.platform-admin .certificate-retirement-form { display: grid; gap: 20px; max-width: 680px; margin-top: 22px; }
body.platform-admin .certificate-retirement-form button { justify-self: start; }
body.platform-admin .certificate-retirement-form .check { align-items: flex-start; line-height: 1.6; }
body.platform-admin .certificate-retirement-form .check input { flex-shrink: 0; margin-top: 3px; }
@media (max-width: 760px) { body.platform-admin .certificate-retirement-form button { justify-self: stretch; } }
