:root {
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #132b3c;
  background: #eaf1f4;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html, body { width: 100%; min-width: 1180px; height: 100%; margin: 0; overflow: hidden; }
button, input, textarea, select { font: inherit; }
button:focus-visible, a:focus-visible, [tabindex]:focus-visible { outline: 3px solid #33c7bf; outline-offset: 2px; }

.desktop-app { display: grid; grid-template-rows: 64px minmax(0, 1fr); width: 100%; height: 100%; min-width: 1180px; background: #edf3f5; }
.app-header {
  display: grid;
  grid-template-columns: 180px minmax(260px, 1fr) auto 210px;
  align-items: center;
  gap: 20px;
  min-width: 0;
  padding: 0 18px;
  color: #f4fbfc;
  background: #092c3f;
  border-bottom: 1px solid #061e2c;
  box-shadow: 0 3px 14px rgb(5 34 49 / 18%);
}
.brand { color: #ffffff; font-size: 23px; font-weight: 800; letter-spacing: -.03em; text-decoration: none; }
.context-path { display: flex; min-width: 0; align-items: center; gap: 8px; color: #b8d3dc; font-size: 13px; white-space: nowrap; overflow: hidden; }
.context-path span, .context-path strong { overflow: hidden; text-overflow: ellipsis; }
.context-path strong { color: #ffffff; font-weight: 700; }
.header-binding { display: flex; align-items: center; gap: 16px; color: #94b7c4; font-size: 11px; white-space: nowrap; }
.header-binding span { display: grid; gap: 2px; }
.header-binding strong { max-width: 130px; overflow: hidden; color: #e7f5f7; font-size: 12px; text-overflow: ellipsis; }
.header-binding .model-state { display: inline-flex; grid-auto-flow: column; align-items: center; gap: 6px; color: #ffd9c2; }
.model-state::before { width: 7px; height: 7px; border-radius: 50%; background: #ef8551; content: ""; }
.header-binding .model-state.is-configured { color: #c7eee8; }
.model-state.is-configured::before { background: #61c4ad; }
.header-binding .model-state.is-unavailable { color: #ffd0cb; }
.model-state.is-unavailable::before { background: #ef6b61; }
.identity { min-width: 0; text-align: right; }
.identity a:not([hidden]) { display: inline-block; margin-top: 6px; padding: 8px 12px; color: #fff; background: #0d746d; border: 1px solid #86aeba; border-radius: 6px; font-size: 12px; font-weight: 700; text-decoration: none; }
.identity span { display: block; color: #86aeba; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.identity strong { display: block; overflow: visible; margin-top: 2px; color: #e7f5f7; font-size: 11px; line-height: 1.25; overflow-wrap: anywhere; white-space: pre-line; }

.desktop-workspace { display: grid; grid-template-columns: 210px minmax(570px, 1fr) 410px; min-width: 0; min-height: 0; overflow: hidden; }
.scope-rail { display: flex; min-width: 0; min-height: 0; flex-direction: column; gap: 22px; padding: 20px 15px 18px; background: #f9fbfc; border-right: 1px solid #c7d6dc; overflow: hidden; }
.eyebrow { margin: 0 0 5px; color: #63808d; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.scope-rail h1, .stage-heading h2 { margin: 0; color: #102f40; font-size: 18px; line-height: 1.15; }
.scope-rail nav { display: grid; gap: 5px; }
.rail-item { width: 100%; padding: 10px 12px; color: #56717d; text-align: left; background: transparent; border: 1px solid transparent; border-radius: 7px; }
.rail-item.is-active { color: #093d4d; font-weight: 750; background: #dff2f1; border-color: #a9d9d5; }
.rail-item:disabled { opacity: .62; }
.scope-facts { display: grid; gap: 11px; margin: 0; }
.scope-facts div { min-width: 0; }
.scope-facts dt { color: #718993; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.scope-facts dd { overflow: hidden; margin: 3px 0 0; color: #183b4b; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.boundary-note { margin: auto 0 0; padding: 12px; color: #5b737d; font-size: 11px; line-height: 1.45; background: #eef4f6; border: 1px solid #d4e0e4; border-radius: 7px; }

.grid-stage { display: grid; grid-template-rows: 58px auto auto minmax(0, 1fr); min-width: 0; min-height: 0; overflow: hidden; background: #dce7eb; }
.stage-heading { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 18px; padding: 10px 14px; background: #ffffff; border-bottom: 1px solid #c6d5da; }
.stage-heading h2 { font-size: 17px; }
#shell-status { max-width: 360px; margin: 0; overflow: hidden; color: #617a84; font-size: 11px; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
#shell-status[data-tone="ready"] { color: #14736c; }
#shell-status[data-tone="error"] { color: #a94135; }
.project-set-panel { display: grid; gap: 7px; margin: 8px 0 0; padding: 10px; border: 1px solid #cbdadd; border-radius: 8px; }
.project-set-panel legend { padding: 0 4px; color: #31515b; font-size: 11px; font-weight: 700; }
.project-set-help { margin: 0; color: #617a84; font-size: 10px; line-height: 1.35; }
#project-set-options { display: grid; gap: 4px; }
#project-set-options label { display: flex; gap: 6px; align-items: center; color: #31515b; font-size: 11px; }
#project-set-run, #project-set-chat { padding: 5px 7px; border: 1px solid #8ab7b3; border-radius: 6px; background: #eef8f7; color: #175f59; cursor: pointer; }
#project-set-run:disabled, #project-set-chat:disabled { cursor: not-allowed; opacity: .55; }
#project-set-result { display: block; max-height: 310px; min-height: 28px; overflow: auto; color: #617a84; font-size: 10px; line-height: 1.35; }
.project-set-results { display: grid; gap: 7px; color: #31515b; }
.project-set-results h3, .project-set-results h4 { margin: 0; color: #173b4a; font-size: 11px; }
.project-set-results__summary { margin: 0; }
.project-set-results__members, .project-set-results__overlap-list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.project-set-results__member { min-width: 0; padding: 6px; background: #f5f9fa; border: 1px solid #d2e0e4; border-radius: 6px; }
.project-set-results__member-summary { display: grid; gap: 2px; }
.project-set-results__project-id { overflow: hidden; color: #173b4a; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
.project-set-results__metric { display: flex; justify-content: space-between; gap: 8px; }
.project-set-results__fields { margin-top: 5px; }
.project-set-results__fields summary { color: #176b66; cursor: pointer; font-weight: 700; }
.project-set-results__field-table { width: 100%; margin-top: 5px; border-collapse: collapse; font-size: 9px; }
.project-set-results__field-table caption { text-align: left; }
.project-set-results__field-table th, .project-set-results__field-table td { padding: 3px 5px; border: 1px solid #d2e0e4; text-align: left; white-space: nowrap; }
.project-set-results__field-table th { color: #173b4a; background: #eef5f6; }
.project-set-results__overlaps { display: grid; gap: 4px; }
.project-set-results__overlap { padding: 4px 0; border-bottom: 1px solid #d8e3e6; }
.project-set-results__overlap-pair { color: #173b4a; font-weight: 700; }
.project-set-results__sr-caption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.upload-panel { display: grid; gap: 10px; padding: 11px 14px 12px; background: #f8fbfc; border-bottom: 1px solid #c6d5da; }
.upload-intro { display: flex; align-items: end; justify-content: space-between; gap: 18px; min-width: 0; }
.upload-intro h3 { margin: 0; color: #102f40; font-size: 15px; }
.upload-context-path { max-width: 55%; margin: 0; overflow: hidden; color: #54717d; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.upload-controls { display: grid; grid-template-columns: minmax(190px, 1fr) auto auto auto; gap: 8px; align-items: end; }
.file-picker { display: grid; gap: 4px; min-width: 0; color: #597681; font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.file-picker input { min-width: 0; padding: 6px; color: #163848; font-size: 11px; background: #fff; border: 1px solid #b9cdd3; border-radius: 6px; }
.upload-controls button { min-height: 31px; padding: 6px 10px; color: #fff; font-size: 11px; font-weight: 700; background: #0d746d; border: 1px solid #0b655f; border-radius: 6px; cursor: pointer; }
.upload-controls button.secondary { color: #31515b; background: #eef5f6; border-color: #b9cdd3; }
.upload-controls button:disabled { cursor: not-allowed; opacity: .5; }
.upload-status { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px 12px; margin: 0; }
.upload-status div { min-width: 0; }
.upload-status dt { color: #728b95; font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.upload-status dd { overflow: hidden; margin: 2px 0 0; color: #173b4a; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.upload-message { margin: 0; color: #5d747d; font-size: 10px; line-height: 1.35; }
.upload-message[data-tone="ready"] { color: #14736c; }
.upload-message[data-tone="error"] { color: #a94135; }
.delivery-panel { display: grid; gap: 9px; padding: 10px 14px 11px; background: #f3f8f8; border-bottom: 1px solid #bfcfd4; }
.delivery-panel[hidden] { display: none; }
.delivery-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; min-width: 0; }
.delivery-heading h3 { margin: 0; color: #102f40; font-size: 15px; }
.delivery-context { max-width: 52%; margin: 0; overflow: hidden; color: #54717d; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.delivery-controls { display: flex; flex-wrap: wrap; gap: 7px; align-items: end; }
.delivery-controls[hidden] { display: none; }
.delivery-controls label { display: grid; gap: 3px; min-width: 112px; color: #607983; font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.delivery-controls select { min-height: 30px; padding: 5px 24px 5px 7px; color: #173b4a; background: #fff; border: 1px solid #b9cdd3; border-radius: 6px; }
.delivery-controls button { min-height: 30px; padding: 5px 9px; color: #fff; font-size: 10px; font-weight: 700; background: #0d746d; border: 1px solid #0b655f; border-radius: 6px; cursor: pointer; }
.delivery-controls button.secondary { color: #31515b; background: #eef5f6; border-color: #b9cdd3; }
.delivery-controls button:disabled, .delivery-controls select:disabled { cursor: not-allowed; opacity: .5; }
.delivery-review { display: grid; grid-template-columns: 1.05fr 1.3fr 1fr; gap: 8px; min-width: 0; }
.delivery-review article { min-width: 0; padding: 8px; background: #fff; border: 1px solid #cfdee1; border-radius: 7px; }
.delivery-review h4 { margin: 0 0 6px; color: #244b59; font-size: 10px; letter-spacing: .03em; text-transform: uppercase; }
.delivery-review dl { display: grid; gap: 4px; margin: 0; }
.delivery-review dl div { min-width: 0; }
.delivery-review dt { color: #728b95; font-size: 8px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.delivery-review dd, .delivery-review p, .delivery-review li { overflow: hidden; margin: 1px 0 0; color: #173b4a; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 9px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.delivery-review ul { display: grid; gap: 2px; max-height: 42px; margin: 3px 0 5px; padding: 0; overflow: auto; list-style: none; }
.delivery-review li[data-severity="BLOCKING"], .delivery-review li[data-status="AMBIGUOUS"], .delivery-review li[data-status="INVALID"] { color: #a94135; }
.delivery-review li[data-severity="WARNING"] { color: #8a5c13; }
.delivery-review li[data-status="WARNING"] { color: #8a5c13; }
.delivery-review li[data-status="BLOCKING"] { color: #a94135; }
.delivery-message { margin: 0; color: #5d747d; font-size: 10px; line-height: 1.35; }
.delivery-message[data-tone="ready"] { color: #14736c; }
.delivery-message[data-tone="error"] { color: #a94135; }
.grid-host { min-width: 0; min-height: 0; padding: 8px; overflow: hidden; }
.grid-host > .iwg-root { width: 100%; height: 100%; }

.chat-stage { min-width: 0; min-height: 0; padding: 8px; background: #d7e3e7; border-left: 1px solid #b7cbd2; overflow: hidden; }
.chat-host { width: 100%; height: 100%; min-width: 0; min-height: 0; overflow: hidden; }
.chat-host > informed-docked-chat { width: 100%; height: 100%; }
.chat-empty-state { height: 100%; display: grid; align-content: center; gap: 8px; padding: 28px; border-left: 1px solid #c1d0d5; background: #f8fafb; color: #526771; text-align: center; }
.chat-empty-state h2, .chat-empty-state p { margin: 0; }
.chat-empty-state h2 { color: #173641; font-size: 17px; }
.chat-empty-state p { font-size: 13px; line-height: 1.5; }

.customer-admin-stage { grid-column: 2 / 4; min-width: 0; min-height: 0; overflow: hidden; background: #edf3f5; }
.customer-admin-stage iframe { display: block; width: 100%; height: 100%; border: 0; background: #edf3f5; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* A delivery review shows the candidate and its approval controls in the authorized context. */
.is-delivery-review .desktop-workspace { grid-template-columns: 210px minmax(570px, 1fr); }
.is-access-approval .desktop-workspace { grid-template-columns: 210px minmax(0, 1fr); }
.is-access-approval #project-set-panel,
.is-access-approval #workbook-nav,
.is-access-approval #m365-publication-nav,
.is-access-approval #audit-nav,
.is-access-approval .upload-panel,
.is-access-approval .boundary-note,
.is-access-approval .model-state { display: none; }
.is-access-approval #grid-stage,
.is-access-approval #chat-stage,
.is-access-approval #audit-stage,
.is-access-approval #m365-publication-stage,
.is-access-approval #customer-admin-frame[hidden] { display: none; }
.approval-context-picker { padding: 32px; background: white; }
.approval-context-picker form { display: grid; gap: 12px; max-width: 620px; }
.approval-context-picker select, .approval-context-picker button { padding: 12px; font: inherit; }
.is-delivery-review .upload-panel,
.is-delivery-review #workbook-grid-host,
.is-delivery-review .chat-stage,
.is-delivery-review #project-set-panel,
.is-delivery-review .scope-rail nav,
.is-delivery-review #m365-publication-stage,
.is-delivery-review .boundary-note,
.is-delivery-review .model-state,
.is-delivery-review .stage-heading .eyebrow,
.is-delivery-review #delivery-panel > .delivery-controls:not(#delivery-approver-controls) > :not(#delivery-refresh) { display: none; }

/* Informed workspace: content first. Existing component semantics are preserved. */
html,body{min-width:360px;background:#fff}
.desktop-app{min-width:0;grid-template-rows:60px minmax(0,1fr);background:#fff;color:#263947;--ws-chat-width:410px;font:14px/1.45 'Segoe UI',Inter,system-ui,sans-serif}
.desktop-app .app-header{grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding:8px 18px 8px 84px;background:#fff;color:#263947;box-shadow:none;border-bottom:1px solid #dfe5e9}
.desktop-app .desktop-workspace{grid-template-columns:64px minmax(0,1fr) var(--ws-chat-width);background:#fff}
.desktop-app[data-workspace-view="other"] .desktop-workspace,.desktop-app[data-chat-open="false"] .desktop-workspace{grid-template-columns:64px minmax(0,1fr)}
.desktop-app .scope-rail{position:relative;grid-column:1;gap:14px;padding:16px 0;background:#162a36;border:0;overflow:visible}
.desktop-app .scope-rail>.brand{position:fixed;z-index:3;top:0;left:0;width:64px;height:60px;display:grid;place-items:center;background:#162a36;color:#a2e9e3;font-size:0}
.desktop-app .scope-rail>.brand::after{content:'i';font:bold 36px 'Segoe UI',sans-serif}
.desktop-app .scope-rail>div,.desktop-app .scope-rail>.boundary-note{display:none}
.desktop-app .scope-rail nav{gap:8px}
.desktop-app .rail-item{height:64px;padding:9px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;border-left:3px solid transparent;border-radius:0;text-align:center;color:#d7e4eb;background:transparent}
.desktop-app .rail-item.is-active{color:#a2e9e3;background:#204551;border-left-color:#21b8ad}
.desktop-app svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.desktop-app .ws-nav-label{font-size:10px}
.desktop-app .ws-button{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:7px 12px;color:#263947;background:#fff;border:1px solid #d4dfe5;border-radius:6px;cursor:pointer;font:inherit;white-space:nowrap}
.desktop-app .ws-button:hover{background:#eef7f6;border-color:#99c9c4}
.desktop-app .ws-button:focus-visible{outline:2px solid #087f75;outline-offset:2px}
.desktop-app .ws-icon-button{font-size:0;width:36px;padding:7px;flex-shrink:0}
.desktop-app .ws-chat-toggle[aria-expanded="true"]{background:#087f75;color:#fff;border-color:#087f75}
.desktop-app .ws-context{justify-self:start;max-width:100%;min-width:0;justify-content:start}
.desktop-app .context-path,.desktop-app .context-path strong{color:#263947;font-size:14px}
.desktop-app .ws-workbook-actions{display:flex;gap:8px;flex-shrink:0}
.desktop-app .grid-stage{display:flex;flex-direction:column;overflow:hidden;background:#fff;grid-column:2;min-width:0;min-height:0}
.desktop-app .stage-heading{flex-shrink:0;gap:12px;min-height:52px;padding:8px 14px;border-color:#dfe5e9;background:#f4f6f8}
.desktop-app .stage-heading>div:not(.ws-workbook-actions){display:none}
.desktop-app #shell-status{font-size:12px;max-width:420px}
.desktop-app .grid-host{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;overflow:hidden}
.desktop-app .iwg-authoritative-host{flex:1;min-height:0;overflow:hidden}
.desktop-app .grid-host>div:has(>.iwg-authoritative){flex:1;min-height:0}
.desktop-app .chat-stage{position:relative;grid-column:3;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:visible;padding:0;background:#fff;border-left:1px solid #dfe5e9}
.desktop-app .ws-chat-tabs{display:flex;align-items:center;gap:2px;min-height:52px;padding:7px 10px;border-bottom:1px solid #dfe5e9}
.desktop-app .ws-chat-tabs>[role="tab"]{border:0;background:transparent;border-radius:0;padding:9px 10px;font-size:13px;border-bottom:2px solid transparent}
.desktop-app .ws-chat-tabs>[aria-selected="true"]{color:#087f75;border-bottom-color:#087f75;font-weight:600}
.desktop-app .ws-chat-tabs>.ws-icon-button{margin-left:auto;border:0}
.desktop-app #customer-chat-host,.desktop-app .customer-chat-selected{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.desktop-app .customer-chat-selected__label{display:none}
.desktop-app .chat-host{min-height:0;flex:1;display:flex;overflow:hidden}
.desktop-app .informed-chat{--chat-accent:#087f75;--chat-accent-dark:#086b63;--chat-surface-selected:#e8f6f4;min-width:0;min-height:0;width:100%;border:0;font-size:14px}
.desktop-app .informed-chat__header{display:none}
.desktop-app .informed-chat__context{padding:10px 14px}
.desktop-app .informed-chat__chips,.desktop-app .informed-chat__model-status{display:none}
.desktop-app .informed-chat__log{padding:14px;background:#fff}
.desktop-app .informed-chat__scope{grid-template-columns:65px minmax(0,1fr)}
.desktop-app .ws-chat-resize{position:absolute;z-index:8;left:-4px;top:0;bottom:0;width:8px;cursor:col-resize;touch-action:none}
.desktop-app .ws-chat-resize:hover,.desktop-app .ws-chat-resize:focus-visible{background:#087f7540;outline:none}
.desktop-app .customer-admin-stage,.desktop-app .audit-stage,.desktop-app .m365-publication-stage{grid-column:2 / -1;min-height:0;min-width:0;overflow:auto;background:#fff}
.desktop-app #customer-admin-frame{width:100%;height:100%;border:0}
.desktop-app .ws-dialog{width:min(920px,calc(100vw - 40px));max-height:calc(100dvh - 60px);padding:0;background:#fff;color:#263947;border:1px solid #dfe5e9;border-radius:10px;box-shadow:0 16px 65px #162a3628;font:inherit}
.desktop-app .ws-dialog::backdrop{background:#162a3633}
.desktop-app .ws-dialog-heading{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid #dfe5e9;background:#fff}
.desktop-app .ws-dialog-heading h2{margin:0;font-size:20px}
.desktop-app .ws-dialog-body{padding:20px;display:grid;gap:18px;overflow:auto;max-height:calc(100dvh - 150px)}
.desktop-app .ws-dialog .identity{text-align:left}
.desktop-app .ws-dialog .identity :is(span,strong),.desktop-app .ws-dialog .header-binding :is(span,strong){color:#263947;font-size:13px}
.desktop-app .ws-dialog .header-binding{display:flex;flex-wrap:wrap;white-space:normal}
.desktop-app .ws-dialog .scope-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.desktop-app .ws-dialog .project-set-panel{margin:0}
.desktop-app .ws-dialog .project-set-help,.desktop-app .ws-dialog #project-set-options label,.desktop-app .ws-dialog #project-set-result{font-size:13px}
.desktop-app .ws-dialog .upload-panel,.desktop-app .ws-dialog .delivery-panel{padding:0;border:0;background:#fff}
.desktop-app .ws-dialog :is(input,select,textarea){font-size:14px}
.desktop-app .ws-dialog .upload-guidance{font-size:13px;line-height:1.6}
.desktop-app .ws-shell-alert{position:fixed;z-index:20;bottom:16px;left:80px;right:24px;max-width:780px;padding:14px 18px;background:#fff4f1;border:1px solid #dfa99d;border-radius:6px;color:#8e3124;white-space:normal}
.desktop-app .iwg-root{--iwg-blue:#087f75;--iwg-selected:#e2f4f1;--iwg-band:#fff;--iwg-teal:#f4f6f8;--iwg-text:#263947;min-width:0;min-height:0;border:0;height:100%;font-size:14px}
.desktop-app .iwg-authoritative[data-workspace-compact]{grid-template-rows:48px 28px minmax(0,1fr) 36px}
.desktop-app .ws-grid-tools{display:flex;align-items:center;gap:8px;padding:6px 14px;border-bottom:1px solid #dfe5e9;overflow-x:auto;background:#fff}
.desktop-app .ws-grid-tools .ws-button{border:0;padding:6px 8px;font-size:13px}
.desktop-app .iwg-authoritative-grid-header{color:#263947;background:#f4f6f8}
.desktop-app .iwg-authoritative-header-cell{color:#263947!important;border-right:1px solid #dfe5e9!important;font-size:13px;font-weight:600}
.desktop-app .iwg-authoritative-header-cell:hover{background:#e2f4f1}
.desktop-app .iwg-authoritative-row>span{font-size:13px}
.desktop-app .iwg-authoritative-query-state{font-size:12px;background:#fff}
.desktop-app .iwg-authoritative-status{background:#f4f6f8;color:#263947;border-top:1px solid #dfe5e9;padding:3px 12px;font-size:12px;overflow-x:auto}
.desktop-app .iwg-authoritative-status .iwg-authoritative-status-button{color:#263947!important;border-color:#c8d8dd!important}
.desktop-app .ws-dialog .iwg-topbar{background:#f4f6f8;color:#263947;padding:10px;flex-wrap:wrap}
.desktop-app .ws-dialog .iwg-brand,.desktop-app .ws-dialog .iwg-authoritative-badge{display:none}
.desktop-app .ws-dialog .iwg-authoritative-toolbar,.desktop-app .ws-dialog .iwg-authoritative-columns{flex-wrap:wrap;padding:10px 0;overflow:visible}
.desktop-app .ws-dialog .iwg-inspector{width:100%;border:0;max-height:none;background:#fff}
.desktop-app .ws-dialog .iwg-inspector-header{display:none}

/* Approved portal shell: simple top navigation shared by Kunder and Arbejdsområde. */
.desktop-app{grid-template-rows:58px minmax(0,1fr);background:#fff}
.desktop-app .app-header{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:22px;min-height:58px;padding:0 20px;background:#092c3f;color:#edf8fc;border:0;box-shadow:none}
.desktop-app .app-header>.brand{position:static;width:auto;height:auto;display:block;color:#fff;background:transparent;font-size:21px;font-weight:650;letter-spacing:-.7px;text-decoration:none}
.desktop-app .ws-top-navigation{height:100%;display:flex;align-items:center;gap:22px}
.desktop-app .ws-top-navigation .rail-item{width:auto;height:100%;padding:3px 0 0;display:flex;flex-direction:row;gap:0;color:#b4cdd7;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;font-size:13px;cursor:pointer}
.desktop-app .ws-top-navigation .rail-item svg{display:none}
.desktop-app .ws-top-navigation .rail-item.is-active{color:#fff;background:transparent;border-bottom-color:#79d4c6}
.desktop-app .app-header>.identity{grid-column:4;text-align:right;color:#edf8fc}
.desktop-app .app-header>.identity span{display:none}
.desktop-app .app-header>.identity strong{display:block;max-width:260px;color:#edf8fc;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.desktop-app .app-header>.identity a{color:#fff;font-size:12px}
.desktop-app .app-header>.ws-icon-button{display:none}
.desktop-app .scope-rail{display:none!important}
.desktop-app .desktop-workspace{grid-template-columns:minmax(0,1fr) var(--ws-chat-width);background:#fff}
.desktop-app[data-workspace-view="other"] .desktop-workspace,.desktop-app[data-workspace-view="explorer"] .desktop-workspace,.desktop-app[data-chat-open="false"] .desktop-workspace{grid-template-columns:minmax(0,1fr)}
.desktop-app :is(.customer-admin-stage,.workspace-stage,.grid-stage,.audit-stage,.m365-publication-stage){grid-column:1}
.desktop-app .customer-admin-stage,.desktop-app .audit-stage,.desktop-app .m365-publication-stage{grid-column:1/-1}
.desktop-app .grid-stage{grid-column:1}
.desktop-app .chat-stage{grid-column:2}
.desktop-app .stage-heading{min-height:54px;padding:8px 16px;background:#fff;border-bottom:1px solid #d4dde0}
.desktop-app .ws-workbook-actions{width:100%;align-items:center}
.desktop-app .ws-workbook-name{font-size:18px;font-weight:600;color:#233b45;margin-right:auto}
.desktop-app .ws-context{order:-1;max-width:320px;min-height:32px;padding:5px 8px;border:0;color:#64777e;background:transparent;overflow:hidden}
.desktop-app .ws-context .context-path{display:flex;min-width:0;gap:5px;overflow:hidden;white-space:nowrap}
.desktop-app .ws-context .context-path span,.desktop-app .ws-context .context-path strong{font-size:11px;color:#64777e;overflow:hidden;text-overflow:ellipsis}
.desktop-app .ws-context .context-path span:first-child{display:none}
.desktop-app .ws-chat-toggle{margin-left:0}
.desktop-app .ws-formula-bar{background:#f4f6f7;border-color:#d4dde0}
.desktop-app .iwg-root{--iwg-blue:#14744a;--iwg-selected:#e6f3eb;--iwg-teal:#f4f6f7;--iwg-text:#233b45}
.desktop-app .ws-grid-tools{background:#f4f6f7;padding:8px 14px}
.desktop-app .ws-grid-tools .ws-button{border:1px solid #d4dde0;background:#fff}
.desktop-app .iwg-authoritative-grid-header{background:#f4f6f7}
.desktop-app .chat-stage{background:#fff;border-left-color:#d4dde0}
.desktop-app .ws-chat-tabs{min-height:54px}
.desktop-app #customer-admin-frame{background:#fff}
@media(max-width:900px){.desktop-app{--ws-chat-width:360px}.desktop-app .app-header{gap:14px;padding:0 14px}.desktop-app .ws-context{display:none}.desktop-app .ws-workbook-name{margin-right:auto}}
@media(max-width:680px){.desktop-app .app-header{grid-template-columns:auto 1fr auto}.desktop-app .app-header>.ws-icon-button{display:none}.desktop-app .app-header>.identity{grid-column:3}.desktop-app .ws-top-navigation{gap:14px}.desktop-app .desktop-workspace,.desktop-app[data-chat-open="true"] .desktop-workspace{grid-template-columns:minmax(0,1fr)}.desktop-app .chat-stage{position:fixed;z-index:12;inset:58px 0 0;grid-column:1}.desktop-app .ws-workbook-name{font-size:15px}}
.desktop-app .ws-dialog .iwg-interactions{padding:0;display:flex;gap:12px;background:#fff}
.desktop-app .ws-dialog .iwg-interactions>strong{width:100%;font-size:16px}
.desktop-app .ws-dialog .iwg-interaction-value-bar{min-width:0;flex-basis:100%}
.desktop-app .ws-dialog .iwg-interaction-state{flex-basis:100%;white-space:normal}
@media(max-width:1050px){.desktop-app .desktop-workspace{grid-template-columns:56px minmax(0,1fr)}.desktop-app .chat-stage{position:absolute;right:0;top:60px;bottom:0;width:min(440px,calc(100vw - 56px));z-index:15;box-shadow:-10px 0 36px #162a361a}.desktop-app .ws-chat-resize{display:none}.desktop-app[data-chat-open="false"] .desktop-workspace,.desktop-app[data-workspace-view="other"] .desktop-workspace{grid-template-columns:56px minmax(0,1fr)}.desktop-app .scope-rail>.brand{width:56px}.desktop-app .app-header{padding-left:70px}.desktop-app .stage-heading #shell-status{display:none}}
@media(max-width:650px){.desktop-app .app-header{padding-right:8px;gap:6px}.desktop-app .context-path{font-size:12px;gap:4px}.desktop-app .context-path strong{font-size:12px}.desktop-app .ws-chat-toggle{font-size:0;padding:7px}.desktop-app .ws-context{padding:7px}.desktop-app .ws-workbook-actions .ws-button{font-size:12px;padding:6px}.desktop-app .stage-heading{padding:6px 8px}.desktop-app .ws-dialog{width:calc(100vw - 20px)}.desktop-app .ws-dialog-body{padding:14px}.desktop-app .upload-controls{grid-template-columns:1fr 1fr}.desktop-app .upload-controls>label{grid-column:1/-1}.desktop-app .ws-shell-alert{left:64px;right:10px}.desktop-app .scope-facts{grid-template-columns:1fr}}

/* HTML hidden must win over component flex/grid declarations. */
.desktop-app [hidden]{display:none!important}
.desktop-app #projects-nav{display:none!important}
.desktop-app .customer-chat{border:0;border-radius:0}
.desktop-app .iwg-authoritative-status .iwg-status-message{color:#526977}

/* Sign-in is the entry screen; authenticated identity stays in the header. */
.login-gate{position:fixed;inset:0;z-index:100;background:#f2f7f7;display:grid;place-items:center;padding:24px;color:#263947;font:16px/1.5 'Segoe UI',sans-serif}
.login-gate[hidden]{display:none}
.login-card{width:min(100%,420px);box-sizing:border-box;padding:36px;background:white;border:1px solid #dfe5e9;border-radius:16px;box-shadow:0 16px 50px #162a3610}
.login-brand{color:#0d746d;font-size:20px;font-weight:700;margin:0 0 24px}
.login-card h1{font-size:25px;line-height:1.25;margin:0 0 14px}
.login-card p{overflow-wrap:anywhere}
.login-primary,.login-retry{box-sizing:border-box;display:block;width:100%;margin-top:24px;padding:12px 16px;border:1px solid #0d746d;border-radius:7px;background:#0d746d;color:white;text-decoration:none;text-align:center;font:600 15px 'Segoe UI',sans-serif;cursor:pointer}
.login-primary[hidden],.login-retry[hidden]{display:none}
.login-primary:focus-visible,.login-retry:focus-visible{outline:3px solid #263947;outline-offset:4px}
.desktop-app .app-header{grid-template-columns:minmax(0,1fr) auto auto minmax(120px,240px)}
.desktop-app .app-header>.identity{min-width:0;max-width:240px;text-align:right}
.desktop-app .app-header>.identity span{color:#c7d9e4;font-size:10px}
.desktop-app .app-header>.identity strong{color:#ffffff;font-size:12px;line-height:1.3;max-height:34px;overflow:hidden}
.desktop-app .app-header>.identity #portal-logout{display:block;margin:3px 0 0 auto;padding:2px 0;border:0;background:transparent;color:#fff;font:600 11px 'Segoe UI',sans-serif;text-decoration:underline;cursor:pointer}
.desktop-app .app-header>.identity #portal-logout:focus-visible{outline:2px solid #fff;outline-offset:3px}
.desktop-app .app-header>.identity #portal-logout:disabled{opacity:.65;cursor:wait}
@media(max-width:650px){.desktop-app .app-header{grid-template-columns:minmax(0,1fr) auto auto minmax(92px,130px);gap:4px}.desktop-app .app-header>.identity strong{font-size:10px;max-height:30px}.desktop-app .app-header>.identity span{font-size:8px}.login-card{padding:24px}}

/* Approved workspace v2: explorer and Excel-like workbook chrome. */
.desktop-app .workspace-stage{grid-column:1;min-width:0;min-height:0;overflow:hidden;background:#fff}
.desktop-app .ws-workbook-actions{min-width:0;align-items:center;flex:1}.desktop-app .ws-workbook-name{min-width:120px;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600}.desktop-app .ws-workbook-actions>.ws-button:nth-last-child(-n+2){margin-left:auto}.desktop-app .ws-workbook-actions>.ws-button:last-child{margin-left:0}
.desktop-app .ws-formula-bar{display:flex;align-items:center;gap:9px;min-height:37px;padding:5px 9px;border-bottom:1px solid #dfe5e9;background:#f4f6f8}.desktop-app .ws-cell-address{width:72px;min-height:26px;padding:4px 7px;border:1px solid #d4dfe5;border-radius:2px;background:#fff;color:#263947;font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.desktop-app .ws-formula-fx{color:#647b87;font:italic 13px Georgia,serif}.desktop-app .ws-formula-value{flex:1;min-width:0;min-height:26px;padding:4px 8px;border:1px solid #d4dfe5;border-radius:2px;background:#fff;color:#263947;font-size:12px}
.desktop-app .ws-sheet-tabs{display:flex;align-items:end;min-height:36px;padding:0 10px;border-top:1px solid #dfe5e9;background:#f4f6f8}.desktop-app .ws-sheet-tabs button{min-height:35px;padding:8px 16px;border:0;border-bottom:2px solid #087f75;background:#fff;color:#087f75;font:600 12px 'Segoe UI',sans-serif}.desktop-app .ws-sheet-tabs button:disabled{opacity:1}
.desktop-app .iwg-authoritative-grid-header{counter-reset:sheet-column}.desktop-app .iwg-authoritative-header-cell{position:relative;padding-top:23px}.desktop-app .iwg-authoritative-header-cell::before{counter-increment:sheet-column;position:absolute;top:0;right:0;left:0;height:20px;padding-top:3px;border-bottom:1px solid #dfe5e9;background:#f4f6f8;color:#647b87;font-size:10px;font-weight:500;text-align:center;content:counter(sheet-column,upper-alpha)}
.desktop-app .iwg-authoritative-row{position:relative;counter-increment:sheet-row}.desktop-app .iwg-authoritative-body{counter-reset:sheet-row}.desktop-app .iwg-authoritative-row::before{display:grid;position:absolute;top:0;bottom:0;left:0;z-index:2;place-items:center;width:32px;border-right:1px solid #dfe5e9;background:#f4f6f8;color:#647b87;font-size:10px;content:counter(sheet-row)}
.desktop-app .iwg-authoritative-row,.desktop-app .iwg-authoritative-grid-header{padding-left:32px}
@media(max-width:760px){.desktop-app .ws-workbook-actions>.ws-button:nth-last-child(-n+2){display:none}.desktop-app .ws-workbook-name{max-width:180px}.desktop-app .workspace-stage{grid-column:1}}

/* Informed UI refresh: monochrome shell, compact panels and workbook controls. */
:root{color-scheme:light}
body{background:#f1f1f1;color:#111}
.desktop-app .app-header{background:#111!important;color:#fff;border-bottom:1px solid #333;box-shadow:0 1px 0 #000}
.desktop-app .app-header>.brand{color:#fff;font-weight:700;letter-spacing:-.04em}
.desktop-app .context-path,.desktop-app .context-path span,.desktop-app .context-path strong{color:#d8d8d8!important}
.desktop-app .ws-top-navigation .rail-item{color:#bdbdbd;border-bottom-color:transparent}
.desktop-app .ws-top-navigation .rail-item.is-active{color:#fff;border-bottom-color:#fff}
.desktop-app .app-header>.identity,.desktop-app .app-header>.identity strong,.desktop-app .app-header>.identity a{color:#fff}
.desktop-app .desktop-workspace{background:#f1f1f1}
.desktop-app :is(.workspace-stage,.grid-stage,.customer-admin-stage,.audit-stage,.m365-publication-stage,.chat-stage){background:#fff}
.desktop-app .stage-heading,.desktop-app .ws-grid-tools,.desktop-app .ws-formula-bar,.desktop-app .ws-sheet-tabs{background:#fafafa;border-color:#d1d1d1}
.desktop-app .ws-button,.desktop-app button,.desktop-app input,.desktop-app select,.desktop-app textarea{border-radius:7px}
.desktop-app .ws-button{color:#111;border-color:#c9c9c9;background:#fff}
.desktop-app .ws-button:hover:not(:disabled),.desktop-app .ws-button.is-active{color:#fff;background:#111;border-color:#111}
.desktop-app .ws-chat-size-control{display:inline-flex;align-items:center;gap:3px;margin-left:auto;padding:3px;border:1px solid #d1d1d1;border-radius:8px;background:#f7f7f7}
.desktop-app .ws-chat-size-control .ws-button{min-height:27px;padding:3px 8px;border:0;background:transparent;font-size:11px}
.desktop-app .ws-chat-size-control .ws-button[aria-pressed="true"]{color:#fff;background:#111}
.desktop-app .chat-stage{border-left:1px solid #d1d1d1}
.desktop-app .ws-chat-resize:hover,.desktop-app .ws-chat-resize:focus-visible{background:#1113}
.desktop-app .ws-dialog{color:#111;border-color:#cfcfcf;border-radius:12px;box-shadow:0 16px 65px #0002}
.desktop-app .ws-dialog-heading{background:#fafafa;border-color:#d1d1d1}
.login-gate{background:#f1f1f1;color:#111}
.login-card{border-color:#cfcfcf;border-radius:14px;box-shadow:0 16px 50px #0002}
.login-brand{color:#111}
.login-primary,.login-retry{color:#fff;background:#111;border-color:#111;border-radius:8px}
.desktop-app .grid-host{min-width:0;min-height:0;overflow:auto;background:#fff}
.desktop-app .iwg-root{--iwg-navy:#111;--iwg-navy-strong:#1d1d1d;--iwg-teal:#2b2b2b;--iwg-teal-dark:#111;--iwg-blue:#111;--iwg-text:#111;--iwg-muted:#666;--iwg-border:#d1d1d1;--iwg-border-strong:#aaa;--iwg-surface:#fff;--iwg-surface-muted:#f5f5f5;--iwg-band:#fafafa;--iwg-selected:#e8e8e8;--iwg-danger:#555;--iwg-danger-soft:#f1f1f1;--iwg-success:#333;--iwg-success-soft:#f1f1f1;min-width:1180px;border-color:#bdbdbd;border-radius:10px;box-shadow:0 1px 3px #0001}
.desktop-app .iwg-topbar{color:#fff;background:#111;border-bottom-color:#333}
.desktop-app .iwg-authoritative-grid-header,.desktop-app .iwg-statusbar{color:#fff;background:#2b2b2b}
.desktop-app .iwg-authoritative-header-cell{color:#fff!important;background:#2b2b2b}
.desktop-app .iwg-authoritative-header-cell:hover{background:#111}
.desktop-app .iwg-authoritative-row:hover{background:#f0f0f0}
.desktop-app .iwg-authoritative-row.is-selected{background:#e5e5e5;box-shadow:inset 0 0 0 2px #111}
.desktop-app .iwg-authoritative-status .iwg-authoritative-status-button{color:#fff!important;border-color:#777!important;background:#333}
.desktop-app .ws-grid-zoom-control{display:inline-flex;align-items:center;gap:3px;margin-left:auto;padding:3px;border:1px solid #d1d1d1;border-radius:8px;background:#fff;white-space:nowrap}
.desktop-app .ws-grid-zoom-control .ws-button{min-width:28px;min-height:27px;padding:3px 7px;border:0;background:transparent;font-size:11px}
.desktop-app .ws-grid-zoom-control .ws-grid-zoom-value{min-width:42px;color:#111;font-size:11px;text-align:center}

/* Final grayscale pass: remove remaining teal accents from active portal controls. */
.desktop-app .workspace-explorer{--workspace-accent:#111;--workspace-tint:#f0f0f0;--workspace-ink:#111}
.desktop-app .workspace-button.is-primary{color:#fff!important;background:#111!important;border-color:#111!important}
.desktop-app .workspace-button.is-primary:hover:not(:disabled),.desktop-app .workspace-button.is-primary:focus-visible{color:#fff!important;background:#2a2a2a!important;border-color:#2a2a2a!important}
.desktop-app .workspace-tree-folder.is-active{color:#111;background:#f0f0f0}
.desktop-app .workspace-sync.is-synced::before,.desktop-app .workspace-item-sync.is-synced::before,.desktop-app .workspace-item-sync.is-sql-synchronized::before{background:#555}
.desktop-app .workspace-cell.is-header{background:#f0f0f0}
.desktop-app .workspace-cell-input:focus{outline-color:#111}
.desktop-app .workspace-dataset-tabs button.is-active{border-bottom-color:#111;color:#111}
.desktop-app .customer-chat__new,.desktop-app .customer-chat__send{color:#fff!important;background:#111!important;border-color:#111!important}
.desktop-app .customer-chat__new:disabled{color:#555!important;background:transparent!important;border-color:transparent!important}
.desktop-app .customer-chat__tool,.desktop-app .customer-chat__icon{color:#555!important}
.desktop-app .ws-chat-tabs>[aria-selected="true"]{color:#111!important;border-bottom-color:#111!important}
.desktop-app .informed-chat{--chat-accent:#111;--chat-accent-dark:#2a2a2a;--chat-surface-selected:#f0f0f0}
.desktop-app .app-header>.identity a:not([hidden]){color:#fff!important;background:#111!important;border-color:#111!important}

/* Keep chat navigation readable in every hover/focus state. */
.desktop-app .ws-button:hover:not(:disabled){color:#111;background:#f0f0f0;border-color:#aaa}
.desktop-app .ws-chat-tabs>[role="tab"]:hover:not(:disabled),
.desktop-app .ws-chat-tabs>[role="tab"]:focus-visible{color:#111!important;background:#f0f0f0!important;border-bottom-color:#111!important}
.desktop-app .ws-chat-tabs>[role="tab"][aria-selected="true"]{color:#111!important;background:#fff!important;border-bottom-color:#111!important}
