/* CASA Designsystem 1.0 · shared project UI. Load after each workspace stylesheet.
   Scoped to application chrome and controls; financial charts/report content keep their styles. */
@font-face { font-family:Inter; src:url('/assets/inter.woff2') format('woff2'); font-style:normal; font-weight:100 900; font-display:swap; }
@font-face { font-family:"CASA Georgian UI"; src:url('/assets/georgian.ttf') format('truetype'); font-style:normal; font-weight:400; font-display:swap; }

:is(body.ce-native-workspace, body.ce-workbench, .project-manager, body.ce-account-page, body.ce-project-reference) {
  --ce-ui-ink:#0a0a0a; --ce-ui-paper:#fff; --ce-ui-graphite:#4b4b4b;
  --ce-ui-silver:#c9c7c2; --ce-ui-surface:#f5f5f3; --ce-ui-field:#767676;
  --ce-ui-focus:#005fcc; --ce-ui-error:#b42318; --ce-ui-error-bg:#fff4f2;
  --ce-ui-warning:#854a0e; --ce-ui-warning-bg:#fff8e6;
  --ce-ui-success:#166534; --ce-ui-success-bg:#f0fdf4;
  --ce-ui-font:Inter,Arial,sans-serif;
  color:var(--ce-ui-ink); font:400 1rem/1.5 var(--ce-ui-font);
}
html[lang="ka"] :is(body.ce-native-workspace, body.ce-workbench, .project-manager, body.ce-account-page, body.ce-project-reference) {
  --ce-ui-font:"CASA Georgian UI",Inter,Arial,sans-serif;
}
body.ce-native-workspace, body.ce-workbench, body.ce-account-page, body.ce-project-reference { margin:0; background:var(--ce-ui-paper); }
:is(body.ce-native-workspace, body.ce-workbench, .project-manager, body.ce-account-page, body.ce-project-reference) *,
:is(body.ce-native-workspace, body.ce-workbench, .project-manager, body.ce-account-page, body.ce-project-reference) *::before,
:is(body.ce-native-workspace, body.ce-workbench, .project-manager, body.ce-account-page, body.ce-project-reference) *::after { box-sizing:border-box; }

/* Page headings, not the headings inside financial report previews. */
body.ce-workbench.ce-navigation-updated #project-content > header h1,
body.ce-native-workspace #main > h1, html .project-manager h1, body.ce-account-page #account-content > h1 {
  font:600 1.75rem/1.25 var(--ce-ui-font); letter-spacing:normal;
  margin:0 0 1rem; overflow-wrap:anywhere;
}
body.ce-workbench.ce-navigation-updated #hub-title,
body.ce-workbench.ce-navigation-updated #project-intake > h2,
body.ce-native-workspace #content > h2, body.ce-native-workspace #review > h2,
body.ce-native-workspace #report > h2, html .project-manager h2, body.ce-account-page #account-content h2 {
  font:600 1.25rem/1.4 var(--ce-ui-font); letter-spacing:normal; overflow-wrap:anywhere;
}
body.ce-native-workspace #state, body.ce-native-workspace .workspace-scope,
body.ce-native-workspace #session-bar, body.ce-native-workspace #session-bar p,
body.ce-native-workspace #workspace-source-note, body.ce-native-workspace .ce-position-id,
body.ce-native-workspace #ce-cost-table-help,
body.ce-native-workspace > [data-casa-environment],
body.ce-workbench.ce-navigation-updated #r17-saved, .project-manager .small {
  font-size:.875rem; line-height:1.5; color:var(--ce-ui-graphite);
}

/* Scoped !important defeats R40's legacy 44px/error overrides; navigation stays 44px. */
:is(body.ce-native-workspace #main,body.ce-workbench #project-hub,.project-manager,body.ce-account-page #account-content) fieldset { min-width:0; max-width:100%; }
:is(body.ce-native-workspace #main, body.ce-workbench #project-hub, .project-manager, body.ce-account-page #account-content)
  :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]), select, textarea) {
  min-width:0; max-width:100%; min-height:48px !important; padding:.625rem .75rem;
  border:1px solid var(--ce-ui-field); border-radius:2px;
  background:var(--ce-ui-paper); color:var(--ce-ui-ink); font:400 1rem/1.5 var(--ce-ui-font);
}
:is(body.ce-native-workspace #main, body.ce-workbench #project-hub, .project-manager, body.ce-account-page #account-content)
  :is(button, .button) {
  min-height:48px !important; max-width:100%; padding:.625rem 1rem;
  font:500 1rem/1.5 var(--ce-ui-font); white-space:normal; overflow-wrap:anywhere; border-radius:2px;
}
:is(body.ce-native-workspace #main, body.ce-workbench #project-hub, .project-manager, body.ce-account-page #account-content)
  :is(input,select,textarea)[aria-invalid="true"] { border-color:var(--ce-ui-error) !important; background:var(--ce-ui-error-bg); }
body.ce-native-workspace #commit, body.ce-native-workspace #main button.primary,
.project-manager .project-card-actions .button:first-child, .project-manager .project-create > button[type="submit"] {
  background:var(--ce-ui-ink); border-color:var(--ce-ui-ink); color:var(--ce-ui-paper);
}
:is(body.ce-native-workspace, body.ce-workbench, .project-manager, body.ce-account-page, body.ce-project-reference)
  :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:3px solid var(--ce-ui-focus) !important; outline-offset:3px !important;
  box-shadow:0 0 0 3px var(--ce-ui-paper) !important;
}

/* Shared 1440px frame and 240px flat sidebar. */
body.ce-workbench.ce-navigation-updated #project-content,
body.ce-native-workspace > header, body.ce-native-workspace .workspace-layout,
body.ce-native-workspace #session-bar, .project-manager, body.ce-account-page #account-content {
  width:100%; min-width:0; max-width:1440px; margin-inline:auto; padding-inline:32px;
}
body.ce-native-workspace .workspace-layout {
  display:grid; grid-template-columns:minmax(0,240px) minmax(0,1fr); gap:32px; padding-block:24px;
}
body.ce-native-workspace .workspace-layout.workspace-restricted { grid-template-columns:minmax(0,1fr); }
body.ce-workbench.ce-navigation-updated #project-hub { grid-template-columns:minmax(0,240px) minmax(0,1fr); column-gap:32px; }
body.ce-native-workspace .workspace-layout > main { min-width:0; width:auto; padding:0; }
body.ce-native-workspace #content :is(.grid,.searchrow) > * { min-width:0; }
body.ce-native-workspace #content .scroll { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }

body.ce-native-workspace > header { gap:16px 24px; padding-block:16px; background:var(--ce-ui-paper); }
body.ce-native-workspace > header .native-logo { width:170px; max-width:100%; height:auto; }
body.ce-native-workspace #native-portal-navigation {
  min-width:0; max-width:100%; gap:8px 24px; border-color:var(--ce-ui-silver);
  background:var(--ce-ui-paper); font:400 .875rem/1.5 var(--ce-ui-font);
}
body.ce-native-workspace #native-portal-navigation .native-project-name { max-width:100%; min-width:0; overflow-wrap:anywhere; }
body.ce-native-workspace #native-portal-navigation :is(a,button),
body.ce-workbench.ce-navigation-updated .portal-work-nav :is(a,button), .project-manager .ce-account-languages a {
  min-height:44px; font:500 .875rem/1.5 var(--ce-ui-font);
}
body.ce-native-workspace .workbench-languages a,
body.ce-workbench.ce-navigation-updated .workbench-languages a, .project-manager .ce-account-languages a { min-width:44px; }
body.ce-workbench.ce-navigation-updated #project-content > header,
body.ce-workbench.ce-navigation-updated .portal-work-nav { border-color:var(--ce-ui-silver); }

body.ce-workbench.ce-navigation-updated {
  --ce-navigation-surface:var(--ce-ui-paper); --ce-navigation-text:var(--ce-ui-ink);
  --ce-navigation-muted:var(--ce-ui-graphite); --ce-navigation-border:var(--ce-ui-field);
  --ce-navigation-selected:var(--ce-ui-surface); --ce-navigation-focus:var(--ce-ui-focus);
}
body.ce-native-workspace #workspace-navigation,
body.ce-workbench.ce-navigation-updated #r7-nav {
  min-width:0; border:0; border-right:1px solid var(--ce-ui-silver); border-radius:0;
  padding:0 16px 0 0; background:var(--ce-ui-paper); color:var(--ce-ui-ink);
}
body.ce-native-workspace #workspace-navigation .workspace-group,
body.ce-native-workspace #workspace-navigation .workspace-group + .workspace-group { border:0; margin:0 0 4px; }
body.ce-native-workspace #workspace-navigation .workspace-group > summary {
  min-height:44px; padding:.625rem .75rem; font:600 .9375rem/1.5 var(--ce-ui-font); overflow-wrap:anywhere;
}
body.ce-native-workspace #workspace-navigation .workspace-group[data-active="true"] > summary {
  background:var(--ce-ui-ink); color:var(--ce-ui-paper); box-shadow:none;
}
body.ce-native-workspace #workspace-navigation .workspace-group-links { padding:4px 0 8px 8px; gap:4px; }
body.ce-native-workspace #workspace-navigation :is(button,a),
body.ce-workbench.ce-navigation-updated #r7-nav :is(button,a) {
  min-height:44px !important; padding:.625rem .75rem; border-radius:0; font:400 .9375rem/1.5 var(--ce-ui-font);
}
body.ce-workbench.ce-navigation-updated #r7-nav .ce-navigation-primary { font-weight:600; }
body.ce-native-workspace #workspace-navigation :is(button,a):hover { background:var(--ce-ui-surface); color:var(--ce-ui-ink); }
body.ce-native-workspace #workspace-navigation [aria-current="page"] {
  background:var(--ce-ui-surface); color:var(--ce-ui-ink); border-left:3px solid var(--ce-ui-ink); font-weight:600;
}
body.ce-native-workspace #workspace-navigation .workspace-native-links { border-color:var(--ce-ui-silver); }
body.ce-native-workspace #workspace-navigation .workspace-native-label { font-size:.875rem; line-height:1.5; color:var(--ce-ui-graphite); }
body.ce-native-workspace #workspace-source-note { border-color:var(--ce-ui-silver); padding:12px; }
body.ce-native-workspace #workspace-source-note > summary { min-height:44px; padding:.625rem 0; }

/* Specific status classes, never a green treatment for every live status message. */
:is(body.ce-native-workspace,body.ce-workbench,.project-manager,body.ce-account-page) :is(#error,.ce-status-error) { color:var(--ce-ui-error); background:var(--ce-ui-error-bg); border-color:var(--ce-ui-error); }
:is(body.ce-native-workspace,body.ce-workbench,.project-manager,body.ce-account-page) .ce-status-warning { color:var(--ce-ui-warning); background:var(--ce-ui-warning-bg); border-color:var(--ce-ui-warning); }
:is(body.ce-native-workspace,body.ce-workbench,.project-manager,body.ce-account-page) .ce-status-success { color:var(--ce-ui-success); background:var(--ce-ui-success-bg); border-color:var(--ce-ui-success); }
body.ce-native-workspace .ce-project-fallback { width:calc(100% - 64px); max-width:1376px; margin:8px auto; padding:8px 16px; border:1px solid var(--ce-ui-silver); border-radius:0; font-size:.875rem; }
body.ce-native-workspace .ce-project-fallback > summary { min-height:44px; padding:.5rem 0; font-weight:600; line-height:1.5; }
body.ce-native-workspace .ce-project-fallback :is(p,ul) { margin:.5rem 0; }
body.ce-native-workspace .ce-project-fallback a { display:inline-flex; align-items:center; min-height:44px; max-width:100%; overflow-wrap:anywhere; }

/* Original project/reference pages retain their content, provenance and existing site menu. */
body.ce-project-reference {
  --ink:var(--ce-ui-ink); --paper:var(--ce-ui-paper); --graphite:var(--ce-ui-graphite);
  --silver:var(--ce-ui-silver); --surface:var(--ce-ui-surface); --line:var(--ce-ui-silver);
  --body:var(--ce-ui-font); --display:var(--ce-ui-font); --max:1440px; --gutter:32px;
}
body.ce-project-reference #main { min-width:0; overflow-wrap:anywhere; }
body.ce-project-reference #main h1 { font:600 1.75rem/1.25 var(--ce-ui-font); letter-spacing:normal; max-width:none; }
body.ce-project-reference #main h2 { font:600 1.25rem/1.4 var(--ce-ui-font); letter-spacing:normal; }
body.ce-project-reference #main :is(.source-note,.facts-note,.small,.status-label,.portal-doc small) { font-size:.875rem; line-height:1.5; }
body.ce-project-reference #main :is(.source-note,.facts-note,.muted,.portal-doc small) { color:var(--ce-ui-graphite); }
body.ce-project-reference .header { height:auto; }
body.ce-project-reference .header-inner { min-height:80px; padding-block:12px; gap:16px; flex-wrap:wrap; }
body.ce-project-reference :is(.header .logo img,.footer-logo) { width:170px; max-width:100%; height:auto; }
body.ce-project-reference .header .languages { height:auto; }
body.ce-project-reference .header :is(.nav a,.languages a,.menu-button) { min-height:44px; min-width:44px; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
body.ce-project-reference .menu-button { border-color:var(--ce-ui-field); font:500 .875rem/1.5 var(--ce-ui-font); }
body.ce-project-reference .portal-bar { padding-block:16px; gap:16px; }
body.ce-project-reference .portal-bar :is(nav,.portal-account) { min-width:0; max-width:100%; gap:8px 16px; }
body.ce-project-reference .portal-bar :is(a,button) { min-height:44px; min-width:44px; max-width:100%; font:500 .875rem/1.5 var(--ce-ui-font); white-space:normal; }
body.ce-project-reference #main :is(.portal-bar a,.text-link,.portal-doc a):not([hidden]) { display:inline-flex; align-items:center; min-height:44px; max-width:100%; white-space:normal; }
body.ce-project-reference #main :is(.button,.actions button) { min-height:48px !important; max-width:100%; padding:.625rem 1rem; font:500 1rem/1.5 var(--ce-ui-font); white-space:normal; overflow-wrap:anywhere; border-radius:2px; }
body.ce-project-reference .page-heading { max-width:none; padding-block:32px 24px; }
body.ce-project-reference .page-heading .lead { font-size:1rem; line-height:1.5; margin-top:16px; }
body.ce-project-reference #main :is(.body-section,.section,.status-section,.cta) { padding-block:32px; }
body.ce-project-reference #main :is(.project-heading,.project-layout,.section-header,.portal-bundle,.cta-inner) { gap:24px; }
body.ce-project-reference #main :is(.project-heading,.project-layout,.section-header,.status-item,.portal-doc,.portal-bundle,.cta-inner) > * { min-width:0; max-width:100%; }
body.ce-project-reference .project-heading .project-emblem { padding:24px; margin-bottom:24px; }
body.ce-project-reference .project-emblem .power { font:600 1.75rem/1.4 var(--ce-ui-font); }
body.ce-project-reference .portal-bundle { padding:24px; margin-block:24px; }
body.ce-project-reference .portal-section { padding-bottom:32px; }
body.ce-project-reference .actions { margin-top:24px; }

@media (max-width:1200px) {
  body.ce-project-reference { --gutter:24px; }
  body.ce-workbench.ce-navigation-updated #project-content, body.ce-native-workspace > header,
  body.ce-native-workspace .workspace-layout, body.ce-native-workspace #session-bar,
  .project-manager, body.ce-account-page #account-content { padding-inline:24px; }
  body.ce-native-workspace .workspace-layout, body.ce-workbench.ce-navigation-updated #project-hub { column-gap:24px; }
  body.ce-native-workspace .ce-project-fallback { width:auto; margin-inline:24px; }
}
@media (min-width:901px) {
  body.ce-workbench.ce-navigation-updated #r7-nav { padding:6px 16px 6px 6px; }
  body.ce-native-workspace #workspace-navigation:not([hidden]) { display:block; }
  body.ce-native-workspace #workspace-menu-toggle { display:none; }
}
@media (max-width:900px) {
  body.ce-project-reference { --gutter:16px; }
  body.ce-workbench.ce-navigation-updated #project-content, body.ce-native-workspace > header,
  body.ce-native-workspace .workspace-layout, body.ce-native-workspace #session-bar,
  .project-manager, body.ce-account-page #account-content { padding-inline:16px; }
  body.ce-native-workspace .workspace-layout, body.ce-workbench.ce-navigation-updated #project-hub { display:block; }
  body.ce-native-workspace #workspace-navigation, body.ce-workbench.ce-navigation-updated #r7-nav { border:0; padding:0; margin:0 0 16px; }
  body.ce-native-workspace #workspace-menu-toggle:not([hidden]) { display:flex; min-height:44px; margin:8px 16px 0; width:calc(100% - 32px); border-color:var(--ce-ui-field); }
  body.ce-native-workspace #workspace-navigation[data-expanded="false"]:not([hidden]) { display:none; }
  body.ce-native-workspace #workspace-navigation[data-expanded="true"]:not([hidden]) { display:block; }
  body.ce-native-workspace #native-portal-navigation { flex-basis:100%; gap:8px 16px; }
  body.ce-native-workspace #native-portal-navigation .ce-work-utilities { max-width:100%; flex-wrap:wrap; }
  body.ce-native-workspace .ce-project-fallback { margin-inline:16px; }
}
@media (max-width:540px) {
  body.ce-native-workspace #native-portal-navigation .native-project-name { flex-basis:100%; }
  body.ce-native-workspace #native-portal-navigation .ce-work-utilities { margin-inline-start:0; }
  body.ce-native-workspace #content .grid { grid-template-columns:minmax(0,1fr); }
}
@media (forced-colors:active) {
  :is(body.ce-native-workspace,body.ce-workbench,.project-manager,body.ce-account-page,body.ce-project-reference) :focus-visible { outline-color:Highlight !important; box-shadow:none !important; }
}
@media print {
  body.ce-project-reference { --gutter:0; }
  body.ce-native-workspace .workspace-layout { display:block; max-width:none; padding:0; }
  body.ce-native-workspace #workspace-navigation, body.ce-native-workspace #workspace-menu-toggle,
  body.ce-native-workspace .ce-project-fallback { display:none !important; }
}

/* Requirements review: one navigation hierarchy, readable parameter names and
   available width for the existing forms. No report/chart styles are changed. */
body.ce-native-workspace #content .ce-parameter-name { min-width:12rem; max-width:36rem; }
body.ce-native-workspace #content .ce-parameter-name > span { display:block; font-weight:500; line-height:1.45; }
body.ce-native-workspace #content .ce-parameter-code {
  display:block; margin-top:4px; color:var(--ce-ui-graphite);
  font:400 .8125rem/1.5 var(--ce-ui-font); overflow-wrap:anywhere; user-select:text;
}
body.ce-native-workspace #main :is(input[type="checkbox"],input[type="radio"]) {
  width:1.125rem; height:1.125rem; min-width:1.125rem; min-height:1.125rem;
  padding:0; margin:3px 0 0; flex:0 0 auto; accent-color:var(--ce-ui-ink);
}
body.ce-native-workspace #main .ce-checkbox-field {
  display:flex; align-items:flex-start; gap:12px; padding:12px 16px;
  margin-block:16px; border:1px solid var(--ce-ui-silver); background:var(--ce-ui-surface);
}
body.ce-native-workspace #main .ce-checkbox-field > label { margin:0; min-width:0; font-size:1rem; line-height:1.5; cursor:pointer; }
body.ce-native-workspace #report {
  display:grid; grid-template-columns:minmax(11rem,1fr) auto; gap:8px 16px;
  margin-top:24px; padding-top:16px;
}
body.ce-native-workspace #report > h2 { grid-column:1 / -1; margin:0 0 4px; }
body.ce-native-workspace #report > label { grid-column:1; grid-row:2; margin:0; }
body.ce-native-workspace #report > select { grid-column:1; grid-row:3; width:12rem; max-width:100%; margin:0; }
body.ce-native-workspace #report > .exports { grid-column:2; grid-row:3; gap:8px; margin:0; align-self:end; }
body.ce-native-workspace #report > p { grid-column:1 / -1; margin:4px 0 0; font-size:.875rem; line-height:1.5; }
body.ce-native-workspace #content [data-report-entry="financial-plan"] > a {
  display:inline-flex; align-items:center; min-height:44px; padding:8px 0; font-weight:500;
}
body.ce-workbench.ce-navigation-updated #entry-live { position:static; inset:auto; z-index:auto; }
body.ce-workbench.ce-navigation-updated #project-intake #r8-input-layout { grid-template-columns:minmax(0,1fr); gap:16px; }
body.ce-workbench.ce-navigation-updated #project-intake #r8-areas {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 16px; padding:0;
}
body.ce-workbench.ce-navigation-updated #project-intake #r8-areas > label[for="r8-scope"] { grid-column:1; grid-row:1; margin:0 0 4px; }
body.ce-workbench.ce-navigation-updated #project-intake #r8-areas > #r8-scope { grid-column:1; grid-row:2; margin:0; }
body.ce-workbench.ce-navigation-updated #project-intake #r8-areas .ce-input-area-compact { display:block; grid-column:2; grid-row:1 / span 2; min-width:0; }
body.ce-workbench.ce-navigation-updated #project-intake #r8-areas .ce-input-area-compact > label { display:block; margin:0 0 4px; }
body.ce-workbench.ce-navigation-updated #project-intake #r8-areas select { width:100%; min-width:0; }
body.ce-workbench.ce-navigation-updated #project-intake #r8-areas .r8-area-list { display:none; }
body.ce-workbench.ce-navigation-updated #project-intake #r8-no-areas { grid-column:1 / -1; }
body.ce-workbench.ce-navigation-updated #project-intake #intake-fields {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr)); gap:20px;
}
body.ce-workbench.ce-navigation-updated #project-intake #intake-fields > .intake-field { min-width:0; }
body.ce-workbench.ce-navigation-updated #ce-native-export-options { scroll-margin-block-start:24px; }
@media (max-width:1100px) {
  body.ce-native-workspace #report { grid-template-columns:minmax(0,1fr); }
  body.ce-native-workspace #report > .exports { grid-column:1; grid-row:4; }
}
@media (max-width:540px) {
  body.ce-workbench.ce-navigation-updated #project-intake #r8-areas { display:block; }
  body.ce-workbench.ce-navigation-updated #project-intake #r8-areas .ce-input-area-compact { margin-top:12px; }
}


/* G: complete the existing application surfaces. No chart series, generated report
   files, visibility rules, data or menu breakpoints are changed by this supplement. */
@media screen {
  /* G browser follow-up: action buttons/selects in the header and menu are
     standard 48px controls; secondary navigation links retain their 44px targets. */
  body.ce-workbench.ce-navigation-updated .portal-work-nav button,
  body.ce-workbench.ce-navigation-updated #r7-nav button,
  body.ce-native-workspace #native-portal-navigation button,
  body.ce-native-workspace > header #language,
  body.ce-native-workspace #workspace-menu-toggle,
  body.ce-native-workspace #workspace-navigation button {
    min-height:48px !important; max-width:100%;
    font:500 1rem/1.5 var(--ce-ui-font); white-space:normal; overflow-wrap:anywhere;
  }
  body.ce-workbench #r7-workspace > section > h2,
  body.ce-workbench #r7-workspace .r7-analysis-heading > h2,
  body.ce-workbench :is(#r34-profit,#r37-optimization,#r9-review-intro) > h2 {
    font:600 1.25rem/1.4 var(--ce-ui-font); color:var(--ce-ui-ink); letter-spacing:normal;
  }
  body.ce-workbench :is(.field small,.field .help,.kpi span,.kpi small,.casa-ui-scroll-hint,#report-stamp,.ce-online-controls .note),
  body.ce-workbench #project-content > header .title p,
  :is(.project-manager,body.ce-account-page,body.ce-project-reference) .form-help,
  body.ce-project-reference #main .status-tag,
  body.ce-native-workspace #main :is(.muted,.card > span,.digest,.ce-parameter-code) {
    font-size:.875rem; line-height:1.5; color:var(--ce-ui-graphite);
  }
  body .ce-test-banner {
    font:500 .875rem/1.5 Inter,Arial,sans-serif; color:#4b4b4b; background:#f5f5f3; border-color:#c9c7c2;
  }
  html[lang="ka"] body .ce-test-banner { font-family:"CASA Georgian UI",Inter,Arial,sans-serif; }
  body.ce-native-workspace #content .ce-parameter-code { font-size:.875rem; }
  body.ce-native-workspace :is(#content,#review) details > summary {
    min-height:44px; padding-block:.5rem; font:500 1rem/1.5 var(--ce-ui-font); overflow-wrap:anywhere;
  }
  body.ce-native-workspace :is(#content,#review) table { font-size:.875rem; line-height:1.5; }
  body.ce-native-workspace :is(#content,#review) th { background:var(--ce-ui-ink); color:var(--ce-ui-paper); }
  body.ce-native-workspace :is(#content,#review) :is(th,td) { border-color:var(--ce-ui-silver); }
  body.ce-native-workspace #content tbody tr:nth-child(even),
  body.ce-native-workspace #content .ce-cost-position-table tr:nth-child(even) td:first-child { background:var(--ce-ui-surface); }
  body.ce-native-workspace #session-bar :is(button,select) {
    min-height:48px !important; max-width:100%; font:400 1rem/1.5 var(--ce-ui-font);
    color:var(--ce-ui-ink); background:var(--ce-ui-paper); border-color:var(--ce-ui-field);
  }

  /* An analysis being current and an unsaved draft remain separate labelled states. */
  body.ce-workbench #ce-analysis-state {
    color:var(--ce-ui-ink); background:var(--ce-ui-surface); border-color:var(--ce-ui-silver);
    font:400 1rem/1.5 var(--ce-ui-font); padding:16px;
  }
  body.ce-workbench #ce-analysis-state :is([data-ce-state-help],[data-ce-state-time]) {
    font-size:.875rem; line-height:1.5;
  }
  body.ce-workbench #ce-analysis-state [data-ce-state-time] { color:var(--ce-ui-graphite); }
  body.ce-workbench #ce-analysis-state [data-ce-storage] { color:var(--ce-ui-ink); }
  body.ce-workbench #ce-analysis-state [data-ce-calculation]::before { background:var(--ce-ui-graphite); }
  body.ce-workbench #ce-analysis-state[data-tone="current"] [data-ce-calculation] {
    color:var(--ce-ui-success); background:var(--ce-ui-success-bg);
  }
  body.ce-workbench #ce-analysis-state[data-tone="current"] [data-ce-calculation]::before { background:var(--ce-ui-success); }
  body.ce-workbench #ce-analysis-state[data-tone="warning"] [data-ce-calculation],
  body.ce-workbench #ce-analysis-state[data-storage="draft"] [data-ce-storage] {
    color:var(--ce-ui-warning); background:var(--ce-ui-warning-bg);
  }
  body.ce-workbench #ce-analysis-state[data-tone="warning"] [data-ce-calculation]::before { background:var(--ce-ui-warning); }
  body.ce-workbench #ce-analysis-state[data-tone="error"] [data-ce-calculation] {
    color:var(--ce-ui-error); background:var(--ce-ui-error-bg);
  }
  body.ce-workbench #ce-analysis-state[data-tone="error"] [data-ce-calculation]::before { background:var(--ce-ui-error); }
  body.ce-workbench #ce-analysis-state[data-tone="error"] [data-ce-state-help] { color:var(--ce-ui-error); }

  /* This alert is mounted directly under body, outside the normal form container. */
  :is(body.ce-workbench,body.ce-native-workspace) #ce-session-recovery {
    max-width:1440px; margin-inline:auto; padding:16px 32px;
    font:400 1rem/1.5 var(--ce-ui-font); color:var(--ce-ui-warning);
    background:var(--ce-ui-warning-bg); border-color:var(--ce-ui-warning); overflow-wrap:anywhere;
  }
  :is(body.ce-workbench,body.ce-native-workspace) #ce-session-recovery p { max-width:75ch; }
  :is(body.ce-workbench,body.ce-native-workspace) #ce-session-recovery :is(a,button) {
    min-height:48px !important; min-width:0; max-width:100%; padding:.625rem 1rem;
    font:500 1rem/1.5 var(--ce-ui-font); color:var(--ce-ui-ink); background:var(--ce-ui-paper);
    border:1px solid var(--ce-ui-field); border-radius:4px; white-space:normal; overflow-wrap:anywhere;
  }
  :is(body.ce-workbench,body.ce-native-workspace) #ce-session-recovery :is(a,button):not([hidden]) { display:inline-flex; align-items:center; }
  :is(body.ce-workbench,body.ce-native-workspace) #ce-session-recovery :is(a,button):hover { background:var(--ce-ui-surface); }
  :is(body.ce-workbench,body.ce-native-workspace) #ce-session-recovery button:disabled {
    color:var(--ce-ui-graphite); background:#ededeb; border-color:var(--ce-ui-silver); cursor:not-allowed;
  }

  /* The legacy error class has !important backgrounds as well as borders. */
  :is(body.ce-workbench #project-hub,body.ce-native-workspace #main)
    :is(input,select,textarea):is(.error,[aria-invalid="true"]) {
    border-color:var(--ce-ui-error) !important; background:var(--ce-ui-error-bg) !important;
  }

  /* Screen presentation of the existing profit report, not its standalone exports. */
  body.ce-workbench .ce-profit {
    font:400 1rem/1.5 var(--ce-ui-font); color:var(--ce-ui-ink); background:var(--ce-ui-paper);
  }
  body.ce-workbench .ce-profit :is(h1,h2,h3) { font-family:var(--ce-ui-font); color:var(--ce-ui-ink); }
  body.ce-workbench .ce-profit h1 { font-size:1.75rem; line-height:1.25; font-weight:600; }
  body.ce-workbench .ce-profit h2 { font-size:1.25rem; line-height:1.4; font-weight:600; }
  body.ce-workbench .ce-profit h3 { font-size:1.0625rem; line-height:1.5; font-weight:600; }
  body.ce-workbench .ce-profit svg text { font-family:var(--ce-ui-font); }
  body.ce-workbench .ce-profit :is(.profit-meta,figcaption) { font-size:.875rem; line-height:1.5; color:var(--ce-ui-graphite); }
  body.ce-workbench .ce-profit :is(table,th,td) { font-size:.875rem; line-height:1.5; }
  body.ce-workbench .ce-profit th { background:var(--ce-ui-ink); color:var(--ce-ui-paper); }
  body.ce-workbench .ce-profit :is(th,td,.profit-section) { border-color:var(--ce-ui-silver); }
  body.ce-workbench .ce-profit tbody tr:nth-child(even) td { background:var(--ce-ui-surface); }
  body.ce-workbench .ce-profit .profit-red { color:var(--ce-ui-error); background:var(--ce-ui-error-bg); }
  body.ce-workbench .ce-profit .profit-amber { color:var(--ce-ui-warning); background:var(--ce-ui-warning-bg); }

  /* Optimizer styles may be appended later; scoped specificity keeps the UI font. */
  body.ce-workbench :is(#ce-opt-simple,#ce-opt-detailed,#r37-optimization) {
    font-family:var(--ce-ui-font); line-height:1.5; color:var(--ce-ui-ink);
    background:var(--ce-ui-paper); border-color:var(--ce-ui-silver);
  }
  body.ce-workbench :is(#ce-opt-simple,#ce-opt-detailed) :is(h1,h2) {
    font-family:var(--ce-ui-font); font-weight:600; letter-spacing:normal;
  }
  body.ce-workbench :is(#ce-opt-simple,#ce-opt-detailed) h1 { font-size:1.75rem; line-height:1.25; }
  body.ce-workbench :is(#ce-opt-simple,#ce-opt-detailed) h2 { font-size:1.25rem; line-height:1.4; }
  body.ce-workbench :is(#ce-opt-simple,#ce-opt-detailed,#r37-optimization) :is(small,.ce-opt-grey) {
    font-size:.875rem; line-height:1.5; color:var(--ce-ui-graphite);
  }
  body.ce-workbench :is(#ce-opt-simple,#ce-opt-detailed) summary { min-height:44px; padding-block:.5rem; }
  body.ce-workbench :is(#ce-opt-simple,#ce-opt-detailed,#r37-optimization) .ce-opt-red { color:var(--ce-ui-error); background:var(--ce-ui-error-bg); }
  body.ce-workbench :is(#ce-opt-simple,#ce-opt-detailed,#r37-optimization) .ce-opt-amber { color:var(--ce-ui-warning); background:var(--ce-ui-warning-bg); }
  body.ce-workbench :is(#ce-opt-simple,#ce-opt-detailed,#r37-optimization) .ce-opt-grey { background:var(--ce-ui-surface); }
  body.ce-workbench :is(#ce-opt-simple,#ce-opt-detailed) [role="alert"] { color:var(--ce-ui-error); }
}
@media screen and (max-width:1200px) {
  :is(body.ce-workbench,body.ce-native-workspace) #ce-session-recovery { padding-inline:24px; }
}
@media screen and (max-width:900px) {
  :is(body.ce-workbench,body.ce-native-workspace) #ce-session-recovery { padding-inline:16px; }
}

/* Authenticated data room: explicit page scope agreed with the template owner.
   No new sidebar, forced table minimum width or change to forms/authorization. */
body.ce-project-room {
  --ce-ui-ink:#0a0a0a; --ce-ui-paper:#fff; --ce-ui-graphite:#4b4b4b;
  --ce-ui-silver:#c9c7c2; --ce-ui-surface:#f5f5f3; --ce-ui-field:#767676;
  --ce-ui-focus:#005fcc; --ce-ui-error:#b42318; --ce-ui-error-bg:#fff4f2;
  --ce-ui-font:Inter,Arial,sans-serif;
  margin:0; color:var(--ce-ui-ink); background:var(--ce-ui-paper); font:400 1rem/1.5 var(--ce-ui-font);
}
html[lang="ka"] body.ce-project-room { --ce-ui-font:"CASA Georgian UI",Inter,Arial,sans-serif; }
body.ce-project-room *,body.ce-project-room *::before,body.ce-project-room *::after { box-sizing:border-box; }
body.ce-project-room .ce-room-main {
  width:100%; min-width:0; max-width:1440px; margin-inline:auto; padding:24px 16px 32px; overflow-wrap:anywhere;
}
body.ce-project-room .ce-room-main h1 { margin:0 0 16px; font:600 1.75rem/1.25 var(--ce-ui-font); letter-spacing:normal; }
body.ce-project-room .ce-room-main h2 { margin:32px 0 16px; font:600 1.25rem/1.4 var(--ce-ui-font); letter-spacing:normal; }
body.ce-project-room .ce-room-main h3 { margin:24px 0 12px; font:600 1.0625rem/1.5 var(--ce-ui-font); }
body.ce-project-room .ce-room-main p { max-width:75ch; margin:8px 0 16px; }
body.ce-project-room .ce-room-main :is(small,.muted,.help) { color:var(--ce-ui-graphite); font-size:.875rem; line-height:1.5; }
body.ce-project-room .ce-room-main :is(header,nav):not([hidden]) { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; }
body.ce-project-room .ce-room-main header { border-bottom:1px solid var(--ce-ui-silver); padding-bottom:16px; }
body.ce-project-room .ce-room-main :is(header,nav) > * { min-width:0; max-width:100%; }
body.ce-project-room .ce-room-main header img { width:170px; max-width:100%; height:auto; }
body.ce-project-room .ce-room-main a { color:var(--ce-ui-ink); text-underline-offset:.2em; overflow-wrap:anywhere; }
body.ce-project-room .ce-room-main :is(nav,li) > a:not([hidden]) { display:inline-flex; align-items:center; min-height:44px; max-width:100%; }
body.ce-project-room .ce-room-main :is(ul,ol) { padding-inline-start:24px; }
body.ce-project-room .ce-room-main section { margin-top:24px; padding-top:16px; border-top:1px solid var(--ce-ui-silver); }
body.ce-project-room .ce-room-main form { width:100%; min-width:0; max-width:768px; margin:24px 0; }
body.ce-project-room .ce-room-main label:not([hidden]) { display:block; margin-bottom:8px; font-weight:500; }
body.ce-project-room .ce-room-main :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea) {
  width:100%; min-width:0; max-width:100%; min-height:48px !important; padding:.625rem .75rem;
  border:1px solid var(--ce-ui-field); border-radius:4px; color:var(--ce-ui-ink); background:var(--ce-ui-paper);
  font:400 1rem/1.5 var(--ce-ui-font);
}
body.ce-project-room .ce-room-main textarea { min-height:8rem !important; resize:vertical; margin-top:8px; }
body.ce-project-room .ce-room-main textarea:not([hidden]) { display:block; }
body.ce-project-room .ce-room-main button {
  min-height:48px !important; max-width:100%; padding:.625rem 1rem; border:1px solid var(--ce-ui-ink); border-radius:4px;
  color:var(--ce-ui-paper); background:var(--ce-ui-ink); font:500 1rem/1.5 var(--ce-ui-font); white-space:normal; overflow-wrap:anywhere; cursor:pointer;
}
body.ce-project-room .ce-room-main button:hover { background:#2b2b2b; border-color:#2b2b2b; }
body.ce-project-room .ce-room-main button:active { background:var(--ce-ui-graphite); border-color:var(--ce-ui-graphite); }
body.ce-project-room .ce-room-main form[action$="/logout/"] button { color:var(--ce-ui-ink); background:var(--ce-ui-paper); border-color:var(--ce-ui-field); }
body.ce-project-room .ce-room-main form[action$="/logout/"] button:hover { background:var(--ce-ui-surface); }
body.ce-project-room .ce-room-main form[action$="/logout/"] button:active { background:#e4e4e1; }
body.ce-project-room .ce-room-main :is(button,input,select,textarea):disabled {
  opacity:1; color:var(--ce-ui-graphite); background:#ededeb; border-color:var(--ce-ui-silver); cursor:not-allowed;
}
body.ce-project-room .ce-room-main :is(input,select,textarea)[aria-invalid="true"] {
  border-color:var(--ce-ui-error) !important; background:var(--ce-ui-error-bg);
}
body.ce-project-room .ce-room-main table { width:100%; max-width:100%; border-collapse:collapse; font-size:.875rem; line-height:1.5; }
body.ce-project-room .ce-room-main :is(th,td) { min-width:0; padding:12px; border-bottom:1px solid var(--ce-ui-silver); vertical-align:top; text-align:start; overflow-wrap:anywhere; }
body.ce-project-room .ce-room-main th { background:var(--ce-ui-surface); font-weight:600; }
body.ce-project-room .ce-room-main :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:3px solid var(--ce-ui-focus) !important; outline-offset:3px !important; box-shadow:0 0 0 3px var(--ce-ui-paper) !important;
}
@media (min-width:48rem) { body.ce-project-room .ce-room-main { padding:32px 24px 48px; } }
@media (min-width:75rem) { body.ce-project-room .ce-room-main { padding-inline:32px; } }
@media (forced-colors:active) { body.ce-project-room :focus-visible { outline-color:Highlight !important; box-shadow:none !important; } }
