/* Path identity 18.2.3. Native local SVG assets, no image banners or remote fonts.
   Status colours and actionable warnings remain independent of the brand palette. */
:root {
  --ink:#101d36; --muted:#64728b; --navy:#101d36;
  --blue:#3058d9; --blue-pale:#edf2ff; --teal:#087f7c; --teal-pale:#e8f7f3;
  --border:#dfe6f1; --surface:#fff; --canvas:#f6f8fc;
  --shadow:0 6px 26px #152c5908; --radius:16px;
  --brand-violet:#8763e7; --brand-cyan:#00a5bd;
  font-family:"Segoe UI",Arial,sans-serif;
}
body {background:var(--canvas);color:var(--ink)}
h1,h2,h3 {color:var(--ink)}
p,.muted,.eyebrow,.map-note {color:var(--muted)}
a {color:var(--blue)}
.button {border-color:var(--border);color:var(--ink)}
.button:hover {background:#f3f6fd;border-color:#b7c8ef}
.button.primary {background:var(--blue);border-color:var(--blue);color:#fff}
.button.primary:hover {background:#254ac3;border-color:#254ac3}
.button.secondary {background:var(--blue-pale);border-color:#dbe4fe;color:var(--blue)}
.button.danger {color:var(--red);background:var(--red-pale);border-color:#f5c9ce}
.badge.blue {color:#3056b7;background:var(--blue-pale)}
.badge.green {color:var(--teal);background:var(--teal-pale)}
.notice {color:#38557e;background:#f0f5ff;border-color:#dbe6fb}
.notice.notice-danger {color:#9c3544;background:#fff1f2;border-color:#f4d3db}
.notice.notice-amber {color:#835818;background:#fff7e6;border-color:#ebdbb5}
.notice.success {color:var(--teal);background:var(--teal-pale);border-color:#bfe4d9}
.role-badge {background:#f0f4fc;border-color:#dfe6f4;color:#51627c}
.toolbar input,.toolbar select,.stack-form input,.stack-form select {border-color:#cfd9e8}
input:focus,select:focus,textarea:focus {border-color:var(--blue)}
:focus-visible {outline:3px solid #315adb;outline-offset:3px}
kbd {background:#f7f9fd;color:#66748c;border-color:#dbe2ef}
th {background:#f6f8fd;color:#5b6c86}
.icon-button:hover {background:#edf2fc;color:var(--ink)}
.panel {border-color:var(--border)}
.page-heading p:empty,.panel-head p:empty,.form-feedback:empty {margin:0;padding:0}
/* Live wordmark: real text stays selectable and accessible. */
.pv-brand {display:flex;align-items:center;gap:12px;color:var(--ink);min-width:0}
.pv-brand .brand-mark {width:42px;height:52px;flex:0 0 42px;background:none;
  border:0;border-radius:0;box-shadow:none;display:flex;align-items:center;justify-content:center}
.pv-brand .brand-mark img {display:block;width:100%;height:100%;object-fit:contain}
.pv-brand .brand-wordmark {display:block;min-width:0;line-height:1.12}
.pv-brand .brand-prefix {display:block;font-size:11px;font-weight:600;letter-spacing:.4px;margin:0 0 2px}
.pv-brand strong {display:block;font-size:18px;font-weight:750;letter-spacing:-.55px;color:inherit}
.pv-brand small {display:block;font-size:8px;font-weight:500;line-height:1.4;letter-spacing:2px;
  color:var(--muted);opacity:1;margin-top:7px}
.pv-brand-inverse,.pv-brand-inverse strong {color:#fff}
.pv-brand-inverse small {color:#b8c9e8}
.sidebar .pv-brand {padding:0 3px;gap:9px}
.sidebar .pv-brand .brand-mark {width:32px;height:43px;flex-basis:32px}
.sidebar .pv-brand strong {font-size:13px;letter-spacing:-.3px;white-space:nowrap}
.sidebar .pv-brand .brand-prefix {font-size:10px}
.sidebar .pv-brand small {font-size:6.7px;letter-spacing:1.35px}
/* Quiet working shell. */
.sidebar {background:#f1f5fb;color:var(--ink);border-right-color:#e0e7f1}
.nav-caption {color:#75829a}
.nav-search {border-color:#d9e2f0;background:#ffffffc9;color:#62738f}
.nav-item {color:#556580}
.nav-item>.ui-icon {opacity:1;color:#677b9e}
.nav-item:hover {background:#e8eef9;color:#244dbd}
.nav-item.active {background:#e2eafa;color:#244ab7;box-shadow:inset 3px 0 0 #4165d9}
.nav-item.active>.ui-icon {color:#2e55c9}
.sidebar-bottom a {color:#49638c}
.topbar {background:#ffffffed;border-color:#e2e8f2}
.scope-label .eyebrow,.period-control {color:#6b7c95}
.scope-label strong {color:#304665}
.period-control input {border-color:#d7e0ef}
.app-footer,.career-footer {color:#78869f}
.app-footer {border-top:1px solid #e6ebf4}
.workspace-label {background:#f0f4fb;border-color:#dee6f5;color:#667994}
.home-heading .eyebrow {color:#71819a}
.workspace-hero {background:radial-gradient(ellipse at 93% 15%,#d5faf12e,transparent 45%),linear-gradient(118deg,#edf3ff,#f7f9ff 58%,#e8f6fc);
  border-color:#dae4f6;grid-template-columns:minmax(0,1fr) 260px;gap:40px;min-height:284px}
.workspace-hero .eyebrow {color:#647b9e}
.workspace-hero h2 {color:var(--ink);font-size:36px}
.workspace-hero>div>p {color:#617695}
.workspace-brand {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  border-left:1px solid #d5dff34d;padding-left:24px}
.workspace-brand img {display:block;width:118px;height:148px;filter:drop-shadow(0 12px 20px #4b64c012)}
.workspace-brand span {font-size:10px;letter-spacing:2px;color:#7584a2;text-align:center}
.quick-grid {align-items:stretch}
.quick-card {background:#fff;border-color:var(--border);position:relative;padding-top:24px}
.quick-card:hover {border-color:#b8c9f0;background:#fafcff;box-shadow:0 9px 28px #2c4ea408}
.quick-card h3 {color:var(--ink)}
.quick-card p {color:#697a94}
.quick-index {color:#788aaa}
.quick-arrow {color:#385dd0}
.quick-symbol {width:38px;height:38px;border-radius:11px;background:#eef3ff;color:#3e5ac0;
  display:grid;place-items:center;margin-bottom:16px}
.quick-symbol .ui-icon {width:23px;height:23px}
.section-title>span {color:#78879f}
.service-links {grid-template-columns:repeat(2,minmax(0,1fr))}
.service-links a {border-color:var(--border);background:#fff;color:var(--ink)}
.service-links a span {color:#7385a1}
.service-links a:hover {border-color:#b3c5ee;background:#f7faff}
/* Consistent, meaningful icons; no typographic placeholder glyphs. */
.ui-icon {flex-shrink:0;display:inline-block;overflow:visible;vertical-align:middle;color:inherit}
.template-card-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}
.template-symbol {width:44px;height:44px;display:grid;place-items:center;border-radius:13px;
  background:linear-gradient(145deg,#e8f6ff,#edf0ff);color:#335cc2}
.template-symbol .ui-icon {width:24px;height:24px}
.template-format {color:#4d6591;background:#eaf0fb;margin:0;font-size:9px;letter-spacing:.9px}
.template-card {background:#fbfcff;border-color:#dfe7f4}
.template-card:hover {border-color:#b8c9ed;box-shadow:none}
.template-card h3 {color:var(--ink)}
.template-card>p {color:#6d7f9b}
.template-card .small-link {color:#5b7195}
.template-upload {color:#2d55c8;border-color:#d6e0f7;background:#fff}
.import-section-label {border-color:#e4eaf4}
.bulk-access-panel {background:#f3f7ff;border-color:#dce6fa}
.bulk-access-panel .eyebrow {color:#667ca0}
.import-dropzone {background:#f9fbff;border-color:#d4e0f7}
.import-stepper {color:#8090a8}
.import-stepper>span.active {color:#2d55c8}
.import-stepper>span b {color:#6a7e9f;background:#edf2fb}
.import-stepper>span.active b {background:#3058d9;color:#fff}
.import-stepper i {background:#dfe6f3}
/* Map meaning remains in a short legend. The removed explanatory paragraph
   is absent from templates/JS; CSS does not hide warnings or important fields. */
.map-boundary {fill:#eef1f7;stroke:#a6b9d2;stroke-width:.65}
.map-boundary.assigned {fill:#d8e1ef}
.map-boundary.reported {fill:#9dbaf2}
.map-boundary.risk {fill:#efc682}
.map-boundary.selected,.map-boundary[role=button]:hover,.map-boundary[role=button]:focus-visible {
  fill:#c0d4fa;stroke:#315ad7;stroke-width:2;outline:none}
.map-legend {gap:14px;flex-wrap:wrap;color:#657794}
.legend-key:before {background:#91afe9}
.legend-key.amber:before {background:#d99d40}
.legend-key.assigned:before {background:#bacadd}
.legend-key.unassigned:before {background:#e6ebf2;border:1px solid #bdcbe0}
.map-frame {border-color:#dce5f2;background:#f8fbff}
.map-region {fill:#f0f5fd}
.map-background {fill:#e9effa}
.map-city-label {fill:#758aaa}
.map-source {font-size:10px;line-height:1.5;padding:6px 12px;text-align:right;color:#7789a4}
.map-source summary {cursor:pointer;display:list-item;list-style-position:inside;min-height:25px;line-height:25px}
.map-source>span {display:block;padding:3px 0 8px;overflow-wrap:anywhere}
.map-summary {font-size:11px;color:#75859e;margin:8px 0 12px}
.quick-assistant {background:#f1f5ff;border-color:#dce6f8}
.quick-assistant h3 {color:#2e4671;display:flex;gap:8px;align-items:center}
/* Optional context and mandatory feedback are separate components. */
.context-help,.catalog-cautions {margin:14px 0;border:0;border-radius:0;background:transparent;color:#637897;font-size:12px}
.context-help>summary,.catalog-cautions>summary {cursor:pointer;list-style-position:inside;min-height:32px;line-height:1.5;padding:7px 0;color:#607495;width:fit-content}
.context-help>div {padding:12px 16px;border-left:2px solid #d4dff3;background:#f8faff;margin:3px 0 12px;max-width:900px;line-height:1.65}
.context-help>div p:last-child {margin-bottom:0}
.context-help[open]>summary {color:#3159c5}
.field-note {font-size:12px;color:#677b9a;margin:12px 0;line-height:1.6}
/* Public pages carry the same identity rather than an unrelated green theme. */
.career-page {background:#fbfcff}
.guest-header,.career-header {background:#ffffffeb;border-bottom-color:#e7edf6}
.guest-navigation a {color:#60718e}
.guest-navigation a:hover {color:#2f55c4;background:#f1f5ff}
.guest-navigation a.active {color:#2c52c8;background:#ecf2ff}
.guest-navigation .nav-organizations {color:#294fb8;border-color:#d8e2f7;background:#fff}
.studio-hero {gap:50px}
.studio-hero h1 {color:var(--ink);font-size:clamp(42px,4.5vw,65px);line-height:1.12;letter-spacing:-2.5px}
.studio-hero h1 span,.career-intro h1 span {color:#315cd4;background:linear-gradient(100deg,#3861e8,#009caf 92%);
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.studio-hero-copy>.eyebrow,.career-intro>.eyebrow {color:#788aad}
.studio-hero-copy>p,.career-intro>p {color:#70809a}
.privacy-pills span {color:#617895;border-color:#e0e8f3;background:#f5f8fd}
.privacy-pills span:before {background:#19b9a5}
.journey-card {transform:none;position:relative;background:linear-gradient(140deg,#f1f5ff,#f8fcff 67%,#eefaF9);
  border-color:#dfe7f7;box-shadow:0 15px 40px #24489407;overflow:hidden}
.journey-card-head {color:#5576c1}
.journey-card-head .eyebrow {color:#748ab0}
.journey-card h2 {color:var(--ink);font-size:32px}
.journey-card>p {color:#6f82a1}
.journey-row {background:#ffffffbf;border-color:#dde6f6;color:var(--ink)}
.journey-row:hover {border-color:#b7ccf5;background:#fff}
.journey-row strong {color:#23375e}
.journey-row small {color:#7689a6}
.journey-row>b {color:#486fd6}
.journey-icon {background:#eaf2ff;color:#3056c4;border-color:#dce5f7}
.path-picker {border-color:#e1e9f5;background:#fff}
.path-controls {background:#f3f6fc;border-color:#e3eaf6}
.path-tab {color:#6a7c9b}
.path-tab:has(input:checked) {background:#fff;color:#3057c7;border-color:#d7e2f7;box-shadow:0 3px 10px #24489407}
.path-index {color:#7189b7}
.path-pane h3 {color:var(--ink)}
.path-pane p {color:#7083a1}
.career-footer {display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#f5f8fd;border-top:1px solid #e5ebf5}
.career-panel {border-color:#dde6f4;box-shadow:0 10px 30px #25488706}
.career-intro h1 {color:var(--ink)}
.tile-symbol,.empty-icon {background:#eef3ff;color:#335ac9}
.tile-symbol img {width:25px;height:32px;object-fit:contain}
.navigation-dialog {border-color:#d8e2f3}
.nav-command-result {color:#415b87}
.nav-command-result:hover {background:#edf3ff;color:#2b52c4}
/* Organisation sign-in: inverse logo on a dark institutional background. */
.auth-intro {background:radial-gradient(ellipse at 8% 98%,#284bb970,transparent 54%),radial-gradient(ellipse at 100% 10%,#008eab35,transparent 55%),#101d36;color:#fff}
.auth-intro .brand {color:#fff}
.auth-copy .eyebrow {color:#a3b9e2}
.auth-copy h1 {color:#fff;font-size:clamp(36px,4vw,62px);line-height:1.13;letter-spacing:-1.7px}
.auth-copy p {color:#adc0e1;max-width:430px;font-size:15px}
.auth-bottom {color:#9db2d6}
.auth-rings {border-color:#6a8ddb20;opacity:.45;box-shadow:0 0 0 45px #729dff09,0 0 0 90px #78c2e908}
.auth-form-section {background:#f8faff}
.auth-card .eyebrow {color:#7a8fac}
.auth-card h2 {color:var(--ink)}
.public-career-link {border-color:#e0e8f6;background:#f2f6ff;color:#284dba}
.public-career-link small {color:#667fa8}
@media(max-width:1100px) {
  .workspace-hero {grid-template-columns:minmax(0,1fr) 175px;padding:29px;gap:20px}
  .workspace-brand {padding-left:15px}.workspace-brand img {width:96px;height:120px}
  .workspace-brand span {font-size:9px;letter-spacing:1px}
  .guest-header .pv-brand strong {font-size:16px}
  .studio-hero {gap:32px}
}
@media(max-width:800px) {
  .workspace-hero {grid-template-columns:minmax(0,1fr) 130px}
  .workspace-hero h2 {font-size:30px}.workspace-brand span {display:none}
  .pv-brand strong {font-size:16px}.pv-brand small {font-size:7px;letter-spacing:1.6px}
  .pv-brand .brand-mark {width:34px;height:44px;flex-basis:34px}
  .studio-hero h1 {font-size:48px}
  .auth-copy h1 {font-size:38px}
}
@media(max-width:600px) {
  .workspace-hero {grid-template-columns:minmax(0,1fr);padding:24px;gap:0;min-height:0}
  .workspace-brand {display:none}
  .workspace-hero h2 {font-size:30px}
  .studio-hero {gap:28px;grid-template-columns:1fr}
  .studio-hero h1 {font-size:45px;letter-spacing:-1.8px}
  .studio-hero-copy>p {font-size:15px}
  .journey-card h2 {font-size:30px}
  .service-links {grid-template-columns:1fr}
  .template-card-heading {margin-bottom:14px}
  .map-legend {gap:10px;font-size:10px}
  .career-footer {font-size:10px}
  .context-help {font-size:11px}
  .guest-navigation .nav-organizations {white-space:nowrap}
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important;scroll-behavior:auto!important}
}
@media(forced-colors:active) {
  .studio-hero h1 span,.career-intro h1 span {-webkit-text-fill-color:currentColor;background:none;color:CanvasText}
  .nav-item.active {outline:2px solid Highlight;box-shadow:none}
  .workspace-hero,.journey-card,.quick-card,.auth-intro {background:Canvas;color:CanvasText}
  .auth-copy h1,.auth-copy p,.pv-brand-inverse,.pv-brand-inverse strong,.pv-brand-inverse small {color:CanvasText}
}
@media print {
  .workspace-hero,.journey-card {background:#fff;border-color:#bbb}
  .map-source {color:#222}
}

/* Complete the original studio palette migration. */
.career-header .pv-brand,.guest-header .pv-brand {color:var(--ink)}
.service-links strong,.kpi-value,.report-readonly strong,.progress-head strong {color:var(--ink)}
.kpi-label,.kpi-card small {color:#6a7c98}
.path-tab {background:#f5f8ff;border-color:#dfe7f5}
.path-tab .path-index {color:#5f77ac;background:#f1f5fd;border-color:#dce5f6}
.path-tab:has(input:checked) .path-index {color:#fff;background:#3c5ece;border-color:#3c5ece}
.import-stepper>span {color:#7a89a3}
.excel-panel>details>summary {color:#5c7398}
