/* Shared screen design system for the editor, project workspace and administration.
   Drawing colours and print/export documents are intentionally defined elsewhere. */
@font-face {
  font-family: "Tetolejtes Geist";
  src: url("fonts/geist-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Tetolejtes Geist";
  src: url("fonts/geist-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0300-036F,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
:root {
  --ui-font: "Tetolejtes Geist", "Segoe UI", Arial, sans-serif;
  --ui-canvas: #edf2f6;
  --ui-surface: #fff;
  --ui-subtle: #f5f8fa;
  --ui-raised: #fff;
  --ui-border: #d7e1e8;
  --ui-border-soft: #e7edf1;
  --ui-ink: #142a39;
  --ui-secondary: #506777;
  --ui-muted: #657b88;
  --ui-navy: #0c2332;
  --ui-blue: #145dba;
  --ui-blue-hover: #0b4f9e;
  --ui-blue-pressed: #094484;
  --ui-blue-pale: #eaf3ff;
  --ui-success: #08745c;
  --ui-warning: #956009;
  --ui-danger: #b33d49;
  --ui-info: #236a9c;
  --ui-focus: #347bd3;
  --ui-r-xs: 6px;
  --ui-r-sm: 8px;
  --ui-r-md: 11px;
  --ui-r-lg: 16px;
  --ui-r-xl: 20px;
  --ui-s1: 4px;
  --ui-s2: 8px;
  --ui-s3: 12px;
  --ui-s4: 16px;
  --ui-s5: 20px;
  --ui-s6: 24px;
  --ui-s8: 32px;
  --ui-control: 42px;
  --ui-small-control: 36px;
  --ui-shadow-sm: 0 2px 8px #132f4012;
  --ui-shadow-panel: 0 12px 34px #0b293522;
  --ui-shadow-dialog: 0 28px 80px #071c2c4d;
}
@media screen {
  .ui-icon-sprite {position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
  .tool-icon,.brand-icon {width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .brand-icon {width:20px;height:20px}
  html {font-family:var(--ui-font)}
  body {font-family:var(--ui-font);color:var(--ui-ink)}
  button,input,select,textarea {font-family:inherit}
  button,select,summary,[type="checkbox"],[type="range"] {accent-color:var(--ui-blue)}
  :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible {
    outline:3px solid var(--ui-focus);
    outline-offset:2px;
  }
  button:disabled,select:disabled,input:disabled {cursor:not-allowed}
  :is(input,select,textarea)::placeholder {color:#8295a1}
  :is(input,select,textarea):disabled {background:#edf2f5;color:#718592;border-color:var(--ui-border)}
  :is(input,select,textarea)[aria-invalid="true"] {border-color:var(--ui-danger)}
  :is(table,.metrics,.statusbar,.canvas-title,.field,.input-unit,.ea .price) {font-variant-numeric:tabular-nums}

  /* Editor application chrome */
  .topbar {background:var(--ui-navy);border-bottom:1px solid #294658;min-height:66px;padding:9px 18px;gap:18px}
  .brand {gap:10px;padding-right:18px;border-right:1px solid #365161}
  .brand strong {font-size:17px;font-weight:760;letter-spacing:-.035em}
  .brand-mark {width:34px;height:34px;border-radius:var(--ui-r-sm);border-color:#477484;background:#163e4d;color:#80ead1;font-size:24px}
  .project-heading>strong {font-size:14px;font-weight:690;color:#f5f9fc;letter-spacing:-.01em}
  .save-state {font-size:12px;color:#bad1d8;display:flex;align-items:center;gap:7px;line-height:1.25}
  .save-state::before {content:"";width:6px;height:6px;flex:none;border-radius:50%;background:#54d7a9;box-shadow:0 0 0 3px #54d7a925}
  .project-actions {gap:8px}
  .btn,.icon-btn,.tool,.workflow-tab,.result-tab,.zoom-controls button,
  .ea-controls button,.ea-controls a {
    transition:background-color .17s ease,border-color .17s ease,color .17s ease,box-shadow .17s ease;
  }
  .btn {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ui-control);padding:9px 14px;border-radius:var(--ui-r-sm);font-size:13px;line-height:1.3;font-weight:680;letter-spacing:-.006em;white-space:normal;text-align:center}
  .btn:hover {transform:none}
  .btn:active,.tool:active,.icon-btn:active {box-shadow:inset 0 2px 5px #091d2630}
  .btn.primary {background:var(--ui-blue);border:1px solid var(--ui-blue);color:#fff}
  .btn.primary:hover {background:var(--ui-blue-hover);border-color:var(--ui-blue-hover);color:#fff;box-shadow:0 3px 9px #145dba2a}
  .btn.primary:active {background:var(--ui-blue-pressed)}
  .btn.subtle {background:#fff;border:1px solid #cbd9e2;color:#24475d}
  .btn.subtle:hover {background:#f1f6fa;border-color:#8daabb;color:#13384f}
  .btn.dark {background:#14374b;border:1px solid #14374b;color:#fff}
  .btn.dark:hover {background:#214e68}
  .btn.ghost,.topbar #undoBtn,.topbar #redoBtn {background:#173548;border:1px solid #3b5a6d;color:#e3edf2}
  .btn.ghost:hover,.topbar #undoBtn:hover,.topbar #redoBtn:hover {background:#24475c;border-color:#6c92a5}
  .btn.danger,.btn.subtle.danger {background:#fff7f7;border:1px solid #efc8cc;color:#a93341}
  .btn.danger:hover,.btn.subtle.danger:hover {background:#ffe9ec;border-color:#d89ca4}
  .btn:disabled,.tool:disabled {opacity:.48;box-shadow:none}
  .project-actions #generateBtn {min-width:174px}
  .menu-content,.legend-menu .legend {border-color:var(--ui-border);border-radius:var(--ui-r-md);box-shadow:var(--ui-shadow-panel);padding:7px;background:var(--ui-raised)}
  .menu-content .btn,.menu-content .text-btn {min-height:38px;border-radius:var(--ui-r-xs);padding:9px 11px;text-align:left;justify-content:flex-start;color:var(--ui-ink)}
  .menu-content .btn:hover,.menu-content .text-btn:hover {background:var(--ui-blue-pale);color:var(--ui-blue)}
  .menu-separator {background:var(--ui-border-soft);margin:5px 3px}
  /* Terv / export: light rows in groups, each with its file format (v123; a dark button with the
     menu's dark text was unreadable). */
  .project-menu {min-width:260px}
  .project-menu .menu-section {display:block;margin:7px 11px 2px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-muted)}
  .project-menu .btn {display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:0;color:var(--ui-ink)}
  .project-menu .menu-format {margin-left:auto;padding:1px 6px;border:1px solid var(--ui-border);border-radius:5px;background:var(--ui-raised);color:var(--ui-muted);font:600 10.5px/1.6 var(--ui-font);font-style:normal;letter-spacing:.03em}
  .project-menu .btn:hover .menu-format,.project-menu .btn:focus-visible .menu-format {border-color:currentColor;color:inherit}
  .editor-layout {--left:292px;--right:302px;background:var(--ui-canvas)}
  .editor-layout .panel {background:var(--ui-surface)}
  .editor-layout .left-panel,.editor-layout .right-panel {border-color:var(--ui-border)}
  .panel-heading {min-height:52px;padding:10px 16px;background:#fbfcfd;border-bottom:1px solid var(--ui-border-soft)}
  .panel-heading>strong {font-size:13px;letter-spacing:.025em;font-weight:750;color:#284559}
  .panel section {padding:17px 16px;border-color:var(--ui-border-soft)}
  .panel-footer {padding:12px 16px;background:#f9fbfc;border-color:var(--ui-border)}
  .panel-footer>.btn {width:100%}
  .panel-scroll {scrollbar-color:#c5d3dc transparent;scrollbar-width:thin}
  .workflow-tabs {padding:10px 10px 0;gap:2px;border-color:var(--ui-border)}
  .workflow-tab {gap:5px;min-height:69px;padding:6px 0 8px;border-bottom-width:2px;color:var(--ui-secondary);font-size:12px;font-weight:620}
  .workflow-tab:hover {color:var(--ui-blue);background:#f5f9fd}
  .workflow-tab>span {width:23px;height:23px;border:1px solid #dce7ee;background:#f2f6f8;border-radius:var(--ui-r-xs);font-size:11px}
  .workflow-tab[aria-selected=true] {color:var(--ui-blue);border-color:var(--ui-blue);background:#f2f7fe}
  .workflow-tab[aria-selected=true]>span {background:var(--ui-blue);border-color:var(--ui-blue);color:#fff}
  .section-heading {margin:18px 0 12px}
  .section-heading h2 {font-size:13px;font-weight:760;letter-spacing:.01em;text-transform:none;color:#1b4058}
  #stage-roof>.section-heading:first-child {margin-top:2px}
  .field {margin-bottom:14px}
  .field>span,.range-field span {display:block;margin-bottom:6px;font-size:13px;font-weight:650;line-height:1.35;color:#344f60}
  .field input,.field select,.input-unit input,.training-main :is(input,select,textarea),.training-sidebar input,.export-preview-tools select {
    min-height:var(--ui-control);height:var(--ui-control);border:1px solid #c9d8e1;border-radius:var(--ui-r-sm);background:#fff;color:var(--ui-ink);font-size:14px;line-height:1.35;padding:9px 11px;
  }
  .training-main textarea {height:auto;min-height:88px}
  .field input:focus,.field select:focus,.input-unit input:focus,.training-main :is(input,select,textarea):focus,.ea :is(input,select,textarea):focus {
    outline:none;border-color:var(--ui-focus);box-shadow:0 0 0 3px #347bd32b;
  }
  .input-unit em {top:50%;right:11px;transform:translateY(-50%);color:var(--ui-secondary);font-size:12px;font-weight:650;pointer-events:none}
  .check-field {gap:9px;color:#344f60;font-size:13px;line-height:1.5}
  .check-field input {width:16px;height:16px;margin-top:2px;flex:none}
  .check-field input[type=checkbox],.range-field input[type=range] {accent-color:var(--ui-blue)}
  .hint,.upload-zone span,.disclaimer {color:var(--ui-secondary);line-height:1.5}
  .upload-zone {padding:18px 13px;border:1px dashed #9db6c8;border-radius:var(--ui-r-md);background:#f7fafe}
  .upload-zone:hover {border-color:var(--ui-blue);background:#eff6ff}
  .upload-zone b {color:#174566;font-size:13px;font-weight:700}
  .upload-zone span {font-size:12px}
  .tool-grid {gap:8px}
  .tool-group-label {grid-column:1/-1;margin:7px 0 0;padding:8px 0 2px;border-top:1px solid var(--ui-border-soft);color:var(--ui-muted);font-size:11px;font-weight:740;line-height:1.25;letter-spacing:.075em;text-transform:uppercase}
  .tool-group-label:first-child {border-top:0;margin-top:0;padding-top:0}
  .tool {min-height:57px;display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:8px 10px;border:1px solid var(--ui-border);border-radius:var(--ui-r-sm);background:#f9fbfc;color:#2d5065;text-align:left}
  .tool:hover {background:#edf5ff;border-color:#88acd5;color:#164f95}
  .tool.active {background:#eaf3ff;border-color:#72a5df;color:#104e98;box-shadow:inset 0 0 0 1px #72a5df}
  .tool b {width:19px;min-width:19px;font-size:20px;line-height:1;font-weight:550;text-align:center;color:inherit}
  .tool span {font-size:12px;line-height:1.22;font-weight:660}
  .tool.wide {min-height:42px;justify-content:center}
  .panel-divider {border-color:var(--ui-border-soft)}
  .blank-plan,.recognition-result,.custom-elements-section {border-color:#c7dae5;border-radius:var(--ui-r-md);background:#f4f8fb}
  .blank-plan>summary,.custom-elements-section summary {color:#214d68}
  .roof-manager {border-bottom:1px solid var(--ui-border-soft);padding-bottom:16px}
  .roof-visibility label {font-size:12px}
  .canvas-bar {min-height:57px;padding:8px 14px;background:#fff;border-bottom:1px solid var(--ui-border)}
  .canvas-panel-actions {padding-right:12px;border-right:1px solid var(--ui-border-soft)}
  .canvas-panel-actions .btn,.canvas-view-actions .btn {min-height:var(--ui-small-control)}
  .canvas-title strong {font-size:13px;font-weight:720;color:var(--ui-ink)}
  .canvas-title>span {font-size:12px;color:var(--ui-muted)}
  .icon-btn {width:var(--ui-small-control);min-height:var(--ui-small-control);height:var(--ui-small-control);border-radius:var(--ui-r-sm);color:#36596e}
  .icon-btn:hover {background:var(--ui-blue-pale);color:var(--ui-blue)}
  .legend-menu .legend {padding:14px;gap:10px}
  .canvas-wrap {background:#e8eff4}
  .canvas-empty {border-radius:var(--ui-r-lg);border-color:var(--ui-border);box-shadow:var(--ui-shadow-panel);padding:30px}
  .canvas-empty h2 {font-size:19px;font-weight:740;letter-spacing:-.025em}
  .canvas-empty p {font-size:14px;color:var(--ui-secondary)}
  .empty-symbol {background:#eaf3ff;color:var(--ui-blue);border-radius:var(--ui-r-md)}
  .zoom-controls {border-color:var(--ui-border);border-radius:var(--ui-r-sm);box-shadow:var(--ui-shadow-sm)}
  .zoom-controls button:hover {background:var(--ui-blue-pale);color:var(--ui-blue)}
  .zoom-controls span,.statusbar {font-variant-numeric:tabular-nums}
  .statusbar {min-height:29px;border-color:var(--ui-border);background:#f9fbfc;color:var(--ui-secondary)}
  .results-drawer {border-color:var(--ui-border)}
  .results-bar {min-height:46px;background:#fff}
  .result-tab {border-top:0;border-bottom:2px solid transparent;font-size:13px;font-weight:660;color:var(--ui-secondary)}
  .result-tab:hover {color:var(--ui-blue)}
  .result-tab[aria-selected=true] {border-color:var(--ui-blue);color:var(--ui-blue)}
  .result-tab span {border-radius:var(--ui-r-xs)}
  .results-body {border-color:var(--ui-border-soft);background:#fbfcfd}
  .metrics div {background:#f1f6fa;border:1px solid var(--ui-border-soft);border-radius:var(--ui-r-sm);padding:10px}
  .metrics span {font-size:12px;color:var(--ui-secondary)}
  .metrics strong {font-size:16px;letter-spacing:-.025em;color:#143b58}
  .table-wrap,.training-table {border-color:var(--ui-border);border-radius:var(--ui-r-sm)}
  .schedule-section table,.training-table table {border-collapse:separate;border-spacing:0}
  .schedule-section th,.training-table th,.custom-elements-wrap th {position:sticky;top:0;z-index:1;background:#eaf1f6;color:#345368;font-size:12px;font-weight:730;border-bottom:1px solid var(--ui-border)}
  .schedule-section tbody tr:hover,.training-table tbody tr:hover,.custom-elements-wrap tbody tr:hover {background:#f2f7fc}
  .schedule-section :is(th,td):nth-child(n+2),.custom-elements-wrap :is(th,td):nth-child(n+4) {text-align:right;font-variant-numeric:tabular-nums}
  .total-row {border-top:1px solid var(--ui-border-soft);color:var(--ui-secondary)}
  .total-row strong {color:var(--ui-ink)}
  .validation-item {border-radius:var(--ui-r-sm);font-size:13px;line-height:1.45}
  .toast {bottom:24px;max-width:min(620px,calc(100vw - 28px));padding:12px 16px;border:1px solid #3e5e70;border-radius:var(--ui-r-md);background:#102c3d;box-shadow:var(--ui-shadow-panel);font-size:13px;line-height:1.4;text-align:left}
  .learning-dialog,.export-preview,.ea-feedback {border:1px solid var(--ui-border);border-radius:var(--ui-r-lg);box-shadow:var(--ui-shadow-dialog);font-family:var(--ui-font);color:var(--ui-ink)}
  .learning-dialog {width:min(1320px,calc(100vw - 32px));height:auto;max-height:92dvh;overflow:auto}
  .learning-dialog::backdrop,.export-preview::backdrop,.ea-feedback::backdrop {background:#081b29aa}
  .training-top {padding:22px 24px;border-bottom:1px solid var(--ui-border-soft)}
  .training-top h2 {font-size:22px;letter-spacing:-.03em;color:var(--ui-ink)}
  .training-tabs {background:#f2f6f9;border-bottom-color:var(--ui-border);gap:8px}
  .training-sidebar {background:#f9fbfc;border-right-color:var(--ui-border)}
  .training-main {background:#fff}
  .training-source,.training-table {border-color:var(--ui-border);border-radius:var(--ui-r-sm)}
  .training-status {border-radius:var(--ui-r-xs);font-variant-numeric:tabular-nums}
  .training-notice,.training-error,.training-warning,#trainingProgress {border-radius:var(--ui-r-sm)}
  .export-preview-head {border-color:var(--ui-border);background:#fff}
  .export-preview h2 {font-size:19px;letter-spacing:-.02em}
  .export-preview-tools {background:#f5f8fa;border-bottom:1px solid var(--ui-border-soft)}
  .export-preview-status {border-color:var(--ui-border-soft)}
  .ea-controls a,.ea-controls button {min-height:var(--ui-small-control);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--ui-r-sm);border-color:#59788b;background:#1a4055;color:#f5f9fb;font:650 12px/1.2 var(--ui-font)}
  .ea-controls a:hover,.ea-controls button:hover {background:#2a5872}
  .ea-controls button.good {background:#1b6757}.ea-controls button.bad {background:#79452f}
  .ea-identity {font:12px/1.3 var(--ui-font);color:#c0d5db}
  .ea-warning {left:auto;right:16px;top:78px;transform:none;position:fixed;max-width:min(440px,calc(100vw - 32px));padding:13px 42px 13px 16px;border-radius:var(--ui-r-md);box-shadow:var(--ui-shadow-panel);font:13px/1.45 var(--ui-font)}
  .ea-warning .dismiss {position:absolute;right:7px;top:7px;width:26px;min-height:26px;margin:0;padding:0;border:0;border-radius:var(--ui-r-xs);background:transparent;color:#6b5732;font-size:19px;line-height:1}
  .ea-warning .dismiss:hover {background:#f5e8c6}
  .ea-feedback form {font:14px/1.4 var(--ui-font)}
  .ea-feedback :is(input,select,textarea) {min-height:var(--ui-control);border:1px solid var(--ui-border);border-radius:var(--ui-r-sm)}
  .ea-feedback button {min-height:var(--ui-control);border-radius:var(--ui-r-sm)}
  .ea-feedback button[type=submit] {background:var(--ui-blue)}

  /* Portal, dashboard, admin and auth result pages. Marketing has its own layout. */
  .ea:not(.ea-home) {--ink:var(--ui-ink);--accent:var(--ui-blue);--light:var(--ui-blue-pale);--border:var(--ui-border);font-family:var(--ui-font);background:#f0f4f7;color:var(--ui-ink)}
  .ea:not(.ea-home) nav {max-width:none;min-height:68px;padding:10px max(32px,calc((100vw - 1260px)/2));background:var(--ui-navy);color:#e8f2f4;border-bottom:1px solid #355365;gap:20px}
  .ea:not(.ea-home) nav strong {font-size:17px;font-weight:760;letter-spacing:-.035em}
  .ea:not(.ea-home) .app-brand {display:inline-flex;align-items:center;gap:11px;line-height:1.15}
  .ea:not(.ea-home) .app-brand-mark {width:32px;height:32px;flex:none;display:grid;place-items:center;border:1px solid #55899a;border-radius:var(--ui-r-sm);background:#173b4b;color:#80ead1}
  .ea:not(.ea-home) .app-brand-mark svg {width:19px;height:19px}
  .ea:not(.ea-home) .app-brand small {font-size:12px;font-weight:540;color:#b7cdd5;letter-spacing:0}
  .ea:not(.ea-home) nav a {font-size:13px;font-weight:640;color:#c3d7df}
  .ea:not(.ea-home) nav a:hover {color:#fff}
  .ea:not(.ea-home) .links {gap:24px}
  .ea:not(.ea-home) .portal-context {margin:-8px 0 20px}
  .ea:not(.ea-home) main {max-width:1260px;padding:42px 32px 80px}
  .ea:not(.ea-home) .eyebrow {font-size:11px;font-weight:750;letter-spacing:.12em;color:var(--ui-blue)}
  .ea:not(.ea-home) h1 {font-size:clamp(30px,3vw,38px);line-height:1.16;font-weight:740;letter-spacing:-.045em;margin:8px 0 26px}
  .ea:not(.ea-home) h2 {font-size:21px;line-height:1.25;font-weight:710;letter-spacing:-.025em;margin:0}
  .ea:not(.ea-home) h3 {font-size:16px;font-weight:700;letter-spacing:-.015em}
  .ea:not(.ea-home) p {color:var(--ui-secondary);line-height:1.55}
  .ea:not(.ea-home) .section {margin:30px 0}
  .ea:not(.ea-home) .section-header {display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
  .ea:not(.ea-home) .section-header p {font-size:13px;margin:5px 0 0}
  .ea:not(.ea-home) .card {padding:24px;border:1px solid var(--ui-border);border-radius:var(--ui-r-lg);box-shadow:var(--ui-shadow-sm);background:var(--ui-surface)}
  .ea:not(.ea-home) .card+.card {margin-top:14px}
  .ea:not(.ea-home) .action,.ea:not(.ea-home) button.action {min-height:var(--ui-control);padding:10px 16px;border-radius:var(--ui-r-sm);background:var(--ui-blue);font-size:13px;line-height:1.3;font-weight:680;white-space:nowrap}
  .ea:not(.ea-home) .action:hover,.ea:not(.ea-home) button.action:hover {background:var(--ui-blue-hover)}
  .ea:not(.ea-home) .outline {min-height:var(--ui-small-control);display:inline-flex;align-items:center;justify-content:center;padding:8px 13px;border-radius:var(--ui-r-sm);font-size:13px;font-weight:650;color:#245269;background:#fff}
  .ea:not(.ea-home) .outline:hover {background:var(--ui-blue-pale);border-color:#8daed1;color:var(--ui-blue)}
  .ea:not(.ea-home) :is(input,select,textarea) {min-height:var(--ui-control);border:1px solid #c8d7e0;border-radius:var(--ui-r-sm);font-size:14px;line-height:1.35;color:var(--ui-ink);padding:9px 11px}
  .ea:not(.ea-home) :is(input,select,textarea):focus {outline:none;border-color:var(--ui-focus);box-shadow:0 0 0 3px #347bd32b}
  .ea:not(.ea-home) .form {gap:16px}
  .ea:not(.ea-home) .form label {font-size:13px;color:#38556a;gap:7px;font-weight:650}
  .ea:not(.ea-home) .table-wrap {overflow:auto}
  .ea:not(.ea-home) .card.table-wrap {padding:0}
  .ea:not(.ea-home) table {min-width:720px;border-collapse:separate;border-spacing:0}
  .ea:not(.ea-home) th,.ea:not(.ea-home) td {padding:14px 16px;border-bottom:1px solid var(--ui-border-soft);font-size:13px;line-height:1.45}
  .ea:not(.ea-home) th {position:sticky;top:0;background:#f0f5f8;color:#466174;font-size:12px;font-weight:740;white-space:nowrap}
  .ea:not(.ea-home) tbody tr:hover {background:#f7fafe}
  .ea:not(.ea-home) tbody tr:last-child td {border-bottom:0}
  .ea:not(.ea-home) td.numeric,.ea:not(.ea-home) th.numeric {text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
  .ea:not(.ea-home) .table-action {text-align:right;white-space:nowrap}
  .ea:not(.ea-home) .tabs {gap:4px;padding:4px;border:1px solid var(--ui-border);border-radius:var(--ui-r-md);background:#eaf0f4;width:max-content;max-width:100%}
  .ea:not(.ea-home) .tabs button {min-height:var(--ui-small-control);border:1px solid transparent;border-radius:var(--ui-r-sm);padding:8px 13px;background:transparent;color:var(--ui-secondary);font-size:13px;font-weight:650}
  .ea:not(.ea-home) .tabs button:hover {background:#fff;color:var(--ui-ink)}
  .ea:not(.ea-home) .tabs button.active {background:#fff;color:var(--ui-blue);border-color:var(--ui-border);box-shadow:var(--ui-shadow-sm)}
  .ea:not(.ea-home) .tabs button:last-child:not(.active) {margin-left:12px}
  .ea:not(.ea-home) .status-badge {display:inline-flex;align-items:center;gap:7px;border:1px solid #c3d9eb;border-radius:var(--ui-r-xs);padding:5px 8px;background:#edf5fc;color:#245d8e;font-size:12px;font-weight:690;white-space:nowrap}
  .ea:not(.ea-home) .status-badge::before {content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
  .ea:not(.ea-home) .status-badge.active {border-color:#b9decf;background:#eaf8f1;color:var(--ui-success)}
  .ea:not(.ea-home) .status-badge.suspended {border-color:#e6d1ad;background:#fff5e4;color:var(--ui-warning)}
  .ea:not(.ea-home) .workspace-overview {display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:1px solid var(--ui-border);border-radius:var(--ui-r-lg);padding:24px 28px;box-shadow:var(--ui-shadow-sm)}
  .ea:not(.ea-home) .workspace-overview h2 {margin-bottom:8px}
  .ea:not(.ea-home) .workspace-meta {display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;color:var(--ui-secondary);font-size:13px;font-variant-numeric:tabular-nums}
  .ea:not(.ea-home) .workspace-meta>span+span {padding-left:16px;border-left:1px solid var(--ui-border)}
  .ea:not(.ea-home) .overview-actions {flex:none;display:flex;align-items:center;gap:10px}
  .ea:not(.ea-home) .empty-state {display:flex;align-items:center;gap:18px;padding:30px 25px}
  .ea:not(.ea-home) .empty-state-icon {width:44px;height:44px;flex:none;display:grid;place-items:center;background:#eaf3ff;border:1px solid #d5e5f6;border-radius:var(--ui-r-sm);color:var(--ui-blue);font-size:22px}
  .ea:not(.ea-home) .empty-state h3 {margin:0 0 4px}
  .ea:not(.ea-home) .empty-state p {margin:0}
  .ea:not(.ea-home) .team-list {display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px;padding:0;list-style:none}
  .ea:not(.ea-home) .team-list li {display:flex;align-items:center;flex-wrap:wrap;min-width:0;max-width:100%;gap:9px;padding:9px 11px;border:1px solid var(--ui-border);border-radius:var(--ui-r-sm);background:#f8fafb;font-size:13px}
  .ea:not(.ea-home) .team-list li strong {overflow-wrap:anywhere}
  .ea:not(.ea-home) .team-list small {color:var(--ui-muted)}
  .ea:not(.ea-home) .team-form {border-top:1px solid var(--ui-border-soft);padding-top:20px}
  .ea:not(.ea-home) .team-form {grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr) auto}
  .ea:not(.ea-home) .team-form:first-child {border-top:0;padding-top:0}
  .ea:not(.ea-home) .team-form .action {align-self:end}
  .ea:not(.ea-home) .error,.ea:not(.ea-home) .success {border-radius:var(--ui-r-sm);font-size:13px}
  .ea:not(.ea-home) .quality-stat {font-size:30px;font-weight:760;letter-spacing:-.04em;line-height:1.15;color:#174c71;margin:14px 0}
  .ea:not(.ea-home) .quality-stat small {display:block;font-size:12px;font-weight:600;color:var(--ui-secondary);letter-spacing:0;margin-top:8px}
  .ea:not(.ea-home) .data-list {list-style:none;margin:12px 0 0;padding:0}
  .ea:not(.ea-home) .data-list li {display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--ui-border-soft);font-size:13px}
  .ea:not(.ea-home) .data-list li:last-child {border-bottom:0}
  .ea:not(.ea-home) .filter-field {display:grid;gap:7px;max-width:420px;margin-bottom:14px;font-size:13px;font-weight:650;color:#38556a}
}
@media screen and (max-width:1180px) {
  .editor-layout {--right:0px}
  .editor-layout .right-panel {width:302px}
}
@media screen and (max-width:1560px) {
  .topbar {gap:10px}
  .topbar .brand {padding-right:12px}
  .topbar .project-heading {min-width:115px}
  .topbar .project-actions {gap:6px}
  .topbar .project-actions .btn {padding-inline:10px}
  .topbar .project-actions #generateBtn {min-width:152px}
  .topbar .ea-controls {gap:5px;margin-right:0}
  .topbar .ea-identity {display:none}
  .topbar .ea-controls :is(a,button) {padding-inline:9px}
}
@media screen and (max-width:780px) {
  .editor-layout {--left:0px}
  .editor-layout .left-panel {width:292px}
  .topbar .brand {border:0}
  .ea:not(.ea-home) main {padding:28px 18px 60px}
  .ea:not(.ea-home) nav {padding:12px 18px}
  .ea:not(.ea-home) .workspace-overview {align-items:stretch;flex-direction:column;gap:18px;padding:20px}
  .ea:not(.ea-home) .overview-actions {flex-wrap:wrap}
  .ea:not(.ea-home) .section-header {align-items:flex-start}
  .ea:not(.ea-home) .team-form {grid-template-columns:1fr 1fr}
  .ea:not(.ea-home) .team-form .action {grid-column:1/-1;justify-self:start}
  .ea:not(.ea-home) .tabs {width:100%;overflow:auto;flex-wrap:nowrap}
  .ea:not(.ea-home) .tabs button {white-space:nowrap}
}
@media screen and (max-width:480px) {
  .topbar {gap:7px}
  .project-actions #generateBtn {min-width:0}
  .ea:not(.ea-home) .workspace-meta {display:grid;gap:7px}
  .ea:not(.ea-home) .workspace-meta .status-badge {justify-self:start}
  .ea:not(.ea-home) .workspace-meta>span+span {padding-left:0;border:0}
  .ea:not(.ea-home) .grid,.ea:not(.ea-home) .form {grid-template-columns:1fr}
  .ea:not(.ea-home) .empty-state {align-items:flex-start;padding:22px 18px}
}
@media screen and (max-width:690px) {
  .ea-warning {top:132px}
}
@media (prefers-reduced-motion:reduce) {
  .btn,.icon-btn,.tool,.workflow-tab,.result-tab,.ea-controls button,.ea-controls a {transition:none!important}
}
