:root {color-scheme:light; font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; font-size:13px; --page:#f3f6f7; --surface:#fff; --ink:#18343e; --muted:#68818b; --line:#dce6ea; --accent:#087f72; --accent-soft:#e4f5f1; --sidebar:#102c35; --sidebar-muted:#97b3bb; --sidebar-hover:#1c414a; --danger:#b43b42; --danger-soft:#fcedee; --warning:#925b13; --warning-soft:#fff5e4; --blue:#2f648c; --blue-soft:#eaf3fa; --shadow:0 10px 32px #102c3510; --backdrop:#0e2435aa;}
* {box-sizing:border-box;} body {margin:0; background:var(--page); color:var(--ink); line-height:1.55;} button,input,select,textarea {font:inherit;} button {cursor:pointer;} button:disabled {cursor:wait; opacity:.55;} a {color:var(--accent); text-decoration:none;} a:hover {text-decoration:underline;} h1,h2,h3,p {margin:0;} h1 {font-size:27px; letter-spacing:-.035em; font-weight:650; line-height:1.25;} h2 {font-size:16px; font-weight:650; line-height:1.4;} h3 {font-size:19px;} p {margin-top:7px;} small {font-size:11px;} :focus-visible {outline:2px solid var(--accent); outline-offset:3px;} .muted {color:var(--muted);} .mono {font-family:ui-monospace,Consolas,monospace; font-size:11px;} .wrap {overflow-wrap:anywhere;} .spacer {flex:1;} .stack {display:flex; flex-direction:column; gap:18px; min-width:0;} .eyebrow {font-size:10px; letter-spacing:.17em; font-weight:700;} .boot {margin:80px auto; max-width:500px;}
.app-layout {display:grid; grid-template-columns:215px minmax(0,1fr); min-height:100vh;} .sidebar {height:100vh; position:sticky; top:0; background:var(--sidebar); color:var(--surface); display:flex; flex-direction:column; padding:27px 18px;} .brand {display:flex; align-items:center; gap:12px; color:var(--surface); font-size:18px; font-weight:600; line-height:1.2; padding:0 5px 30px;} .brand:hover {text-decoration:none;} .brand small {display:block; letter-spacing:.15em; font-size:8px; color:var(--sidebar-muted); margin-top:7px;} .brand-mark {display:flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid var(--sidebar-muted); border-radius:10px; font-size:13px; font-weight:750; letter-spacing:-.05em; flex-shrink:0;} .sidebar nav {display:grid; gap:7px;} .sidebar nav a {display:flex; align-items:center; gap:14px; color:var(--sidebar-muted); padding:11px 13px; border-radius:6px;} .sidebar nav a:hover,.sidebar nav a.active {color:var(--surface); background:var(--sidebar-hover); text-decoration:none;} .sidebar nav a.active {box-shadow:inset 3px 0 var(--accent);} .nav-mark {font-family:ui-monospace,monospace; font-size:10px; opacity:.65;} .sidebar-bottom {margin-top:auto; padding:20px 7px 0; border-top:1px solid var(--sidebar-hover); display:grid; gap:6px; font-size:12px;} .sidebar-bottom small,.machine-label {color:var(--sidebar-muted);} .machine-label {font-size:8px; letter-spacing:.12em;} .sidebar-bottom a {color:var(--sidebar-muted); font-size:11px; margin-top:14px;} .workspace {min-width:0;} .topbar {height:66px; display:flex; align-items:center; gap:12px; padding:0 30px; background:var(--surface); border-bottom:1px solid var(--line);} .breadcrumb {color:var(--muted); font-size:11px;} .breadcrumb strong {color:var(--ink);} .connection {font-size:11px; display:flex; align-items:center; gap:7px; white-space:nowrap;} .connection:before {content:""; width:7px; height:7px; border-radius:50%; background:var(--muted);} .connection.online:before {background:var(--accent);} .connection.offline:before {background:var(--warning);} #view {padding:27px 30px 45px; max-width:1600px; margin:auto;} .page-title {display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:23px;} .page-title p {font-size:12px;} .notice {margin:16px 30px 0; background:var(--blue-soft); color:var(--blue); padding:12px 16px; border-radius:7px; font-size:12px;} .notice.attention {background:var(--warning-soft); color:var(--warning);} .notice a {color:inherit; text-decoration:underline;} #view .notice {margin:0 0 18px;}
.button {display:inline-flex; align-items:center; justify-content:center; gap:7px; font-size:12px; line-height:1.4; padding:9px 14px; min-height:35px; border:1px solid var(--line); color:var(--ink); background:var(--surface); border-radius:6px; white-space:nowrap; font-weight:550;} .button:hover {background:var(--page); text-decoration:none;} .button.primary {background:var(--accent); color:var(--surface); border-color:var(--accent);} .button.primary:hover {filter:brightness(.95);} .button.danger {color:var(--danger); border-color:var(--danger-soft); background:var(--danger-soft);} .button.small {padding:6px 11px; min-height:30px; font-size:11px;} .button.quiet {border-color:transparent; background:transparent; color:var(--muted);} .text-link {font-size:11px; font-weight:600;} .text-button {font:inherit; text-align:left; color:var(--accent); border:0; padding:0; background:transparent;} .text-button:hover {text-decoration:underline;} .form-actions {display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:flex-end; margin-top:16px;} .form-actions>.muted:first-child {margin-right:auto; font-size:10px;} input[type=text],input[type=password],input[type=search],textarea,select {display:block; width:100%; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--ink); padding:10px 11px; font-size:12px;} textarea {resize:vertical; min-height:85px;} input::placeholder,textarea::placeholder {color:var(--muted);} input[type=file] {max-width:100%; font-size:11px; color:var(--muted);} input[type=file]::file-selector-button {background:var(--page); color:var(--ink); border:1px solid var(--line); padding:8px 11px; border-radius:5px; margin-right:12px; cursor:pointer;} .field {margin-bottom:15px; min-width:0;} .field>label {display:block; font-size:11px; font-weight:650; margin-bottom:7px;} .field-hint {font-size:10px; color:var(--muted); margin-top:6px;} .check-label {display:flex; gap:9px; align-items:center; margin:17px 0;} .check-label input {accent-color:var(--accent);}
.metrics {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin-bottom:23px;} .metric {background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:17px 18px; display:grid; gap:6px;} .metric-label {font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em;} .metric>strong {font-size:24px; font-weight:650; letter-spacing:-.02em;} .metric>small {color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;} .card {border:1px solid var(--line); border-radius:8px; background:var(--surface); padding:19px; min-width:0; margin-bottom:18px;} .stack>.card {margin-bottom:0;} .section-head {display:flex; align-items:flex-start; justify-content:space-between; gap:13px; margin-bottom:16px;} .section-head p {font-size:11px; margin-top:4px;} .split-grid {display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:19px;} .desktop-grid {display:grid; grid-template-columns:minmax(0,1.9fr) minmax(260px,1fr); gap:20px;} .compact-grid {grid-template-columns:1fr 1fr;} .screen-frame {height:300px; background:var(--page); border:1px solid var(--line); border-radius:5px; display:flex; align-items:center; justify-content:center; overflow:hidden;} .screen-image {width:100%; height:100%; object-fit:contain; cursor:zoom-in;} .screen-empty {text-align:center; padding:25px; color:var(--muted);} .screen-empty strong {display:block; color:var(--ink); font-size:13px;} .screen-empty p {font-size:11px; max-width:250px;} .screen-symbol {font-size:34px; color:var(--muted); margin-bottom:12px;} .screen-footer {display:flex; justify-content:space-between; gap:8px; font-size:10px; margin-top:12px;} .screen-card {display:flex; flex-direction:column;} .screen-card .screen-frame {flex:1; min-height:270px;} .desktop-grid .screen-frame {min-height:380px;} .recent-list>a {display:block; color:var(--ink);} .recent-list>a:hover {text-decoration:none; background:var(--page);} .recent-row {display:flex; align-items:center; gap:15px; padding:14px 3px; border-top:1px solid var(--line);} .recent-row>div {min-width:0; flex:1;} .recent-row small {display:block; margin-top:3px;} .recent-row strong {font-weight:550; font-size:12px;} .truncate {display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;} .empty-state {text-align:center; padding:30px 15px; color:var(--muted); font-size:12px;} .badge {display:inline-flex; align-items:center; border-radius:4px; padding:4px 8px; font-size:10px; font-weight:600; white-space:nowrap; background:var(--page); color:var(--muted);} .badge.succeeded {background:var(--accent-soft); color:var(--accent);} .badge.leased {background:var(--blue-soft); color:var(--blue);} .badge.queued,.badge.stalled {background:var(--warning-soft); color:var(--warning);} .badge.failed {background:var(--danger-soft); color:var(--danger);} .facts {display:grid; grid-template-columns:1fr 1.5fr; gap:13px; margin:0; font-size:11px;} .facts dt {color:var(--muted);} .facts dd {margin:0; text-align:right; overflow-wrap:anywhere;} .quick-keys {display:flex; flex-wrap:wrap; gap:8px; margin-top:14px;} .action-grid {display:grid; grid-template-columns:1fr 1fr; gap:11px;} .document-title {display:flex; align-items:center; gap:16px;} .document-icon {width:58px; height:58px; background:var(--accent-soft); color:var(--accent); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700;} .document-title>div:last-child {min-width:0;} .document-title p {font-size:11px;} .document-facts {display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border-top:1px solid var(--line); padding-top:16px; margin-top:18px; gap:12px;} .document-facts>div {display:grid; gap:4px; font-size:11px;} .document-facts strong {font-weight:550; overflow-wrap:anywhere;}
.filter-chips {display:flex; flex-wrap:wrap; gap:7px; margin:0 0 14px;} .chip {padding:6px 10px; border:1px solid var(--line); color:var(--muted); border-radius:5px; font-size:11px; background:var(--surface);} .chip.active {color:var(--accent); border-color:var(--accent); background:var(--accent-soft);} .chip:hover {text-decoration:none; border-color:var(--accent);} .grid-card {background:var(--surface); border:1px solid var(--line); border-radius:7px; overflow:hidden; width:100%;} .table-tools {padding:12px 14px; display:flex; gap:10px; align-items:center;} .table-tools input {max-width:275px; padding:8px 10px; font-size:11px;} .top-scroll {height:14px; overflow-x:auto; overflow-y:hidden; border-top:1px solid var(--line); scrollbar-color:var(--line) var(--surface);} .top-scroll>div {height:1px;} .table-scroll {max-height:620px; overflow:auto; scrollbar-color:var(--line) var(--surface);} table {border-collapse:separate; border-spacing:0; table-layout:fixed; width:100%; font-size:12.5px;} .number-col {width:42px;} th {position:sticky; top:0; background:var(--page); height:18px; padding:0 12px; line-height:16px; font-size:11px; font-weight:600; color:var(--muted); text-align:left; border-top:1px solid var(--line); border-bottom:1px solid var(--line); z-index:2; white-space:nowrap;} .header-name {display:block; overflow:hidden; text-overflow:ellipsis; user-select:none;} .resize-handle {position:absolute; right:0; top:0; width:6px; height:100%; cursor:col-resize; touch-action:none;} .resize-handle:hover,.drop-target {background:var(--accent-soft);} td {height:100px; padding:8px 12px; border-bottom:1px solid var(--line); vertical-align:middle; color:var(--ink); overflow-wrap:anywhere;} tr:last-child td {border-bottom:0;} tbody tr:hover td {background:var(--page);} .row-number {width:42px; text-align:center; color:var(--muted); font-size:10px; padding:0 4px;} .pinned {position:sticky; left:0; background:var(--surface); z-index:1; border-right:1px solid var(--line);} th.pinned {z-index:3; background:var(--page);} .number-toggle {border:0; background:transparent; color:inherit; font:inherit; padding:0; width:100%; height:100%;} .cell-clamp {display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; max-height:76px;} .short-cell {white-space:nowrap; overflow:hidden; text-overflow:ellipsis;} .table-empty {height:165px; text-align:center; color:var(--muted); font-size:12px;} .grid-hint {padding:11px 15px; font-size:10px; color:var(--muted); border-top:1px solid var(--line); margin:0;} .thumbnail-button {width:84px; height:84px; padding:0; border:1px solid var(--line); border-radius:4px; background:var(--page);} .thumbnail-button img {width:100%; height:100%; object-fit:contain;} .file-type {display:inline-flex; padding:7px; background:var(--page); color:var(--muted); font-size:10px; border-radius:4px; max-width:80px; overflow:hidden;} .pager {display:flex; align-items:center; gap:10px; margin-top:14px;} .pager>.muted {margin-right:auto; font-size:11px;} .storage-status {border:1px solid var(--line); background:var(--surface); padding:13px 17px; border-radius:7px; margin-bottom:18px;} .storage-status strong {font-size:12px;} .storage-status p {font-size:10px; margin-top:4px;}
.task-title {display:flex; align-items:center; gap:12px; flex-wrap:wrap;} .task-summary {font-size:18px; white-space:pre-wrap; overflow-wrap:anywhere; margin-top:15px;} .result-text {white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.7;} .error-text {color:var(--danger); white-space:pre-wrap;} details {margin-top:12px; font-size:11px;} summary {cursor:pointer; color:var(--muted);} pre {background:var(--page); border:1px solid var(--line); padding:13px; border-radius:5px; font-size:11px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere;} .event {position:relative; padding:13px 0 13px 20px; border-left:2px solid var(--line); margin-left:3px;} .event:before {content:""; position:absolute; width:6px; height:6px; border-radius:50%; background:var(--accent); top:20px; left:-4px;} .event p {font-size:12px; margin-top:4px;} .file-row {display:flex; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line);} .file-row:last-child {border-bottom:0;} .file-row>div {min-width:0;} .file-row small {display:block; margin-top:3px;} .file-link {display:block; padding:9px 0; font-size:12px;}
dialog {border:1px solid var(--line); border-radius:10px; padding:24px; background:var(--surface); color:var(--ink); max-width:min(900px,calc(100vw - 32px)); min-width:min(450px,calc(100vw - 32px)); max-height:90vh; box-shadow:var(--shadow);} dialog::backdrop {background:var(--backdrop);} .modal-head {display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:18px;} .modal-head h2 {overflow-wrap:anywhere;} .lightbox-image {width:100%; max-height:65vh; object-fit:contain; background:var(--page); border-radius:5px;} .file-preview {padding:60px 20px; text-align:center; background:var(--page);} .column-options {display:grid; gap:10px; margin:20px 0;} .column-option {display:flex; gap:10px; align-items:center;} .column-option input {accent-color:var(--accent);} #toasts {position:fixed; right:22px; bottom:22px; z-index:100; display:grid; gap:8px; max-width:min(450px,calc(100vw - 36px));} .toast {background:var(--sidebar); color:var(--surface); box-shadow:var(--shadow); padding:13px 18px; border-radius:7px; font-size:12px;} .toast.bad {background:var(--danger);}
.login-layout {min-height:100vh; display:grid; grid-template-columns:1.1fr 1fr; background:var(--surface);} .login-brand {background:var(--sidebar); color:var(--surface); padding:clamp(40px,8vw,120px); display:flex; flex-direction:column; justify-content:center;} .login-brand .brand-mark {width:62px; height:62px; font-size:19px; margin-bottom:50px;} .login-brand .eyebrow {color:var(--sidebar-muted); margin-bottom:20px;} .login-brand h1 {font-size:clamp(28px,4vw,48px); max-width:470px; line-height:1.2; letter-spacing:-.04em;} .login-brand>p:not(.eyebrow) {color:var(--sidebar-muted); font-size:14px; margin-top:24px; max-width:390px;} .login-feature-list {display:grid; gap:14px; margin-top:55px; color:var(--sidebar-muted); font-size:12px;} .login-card {align-self:center; max-width:430px; width:100%; margin:auto; padding:38px;} .login-card h2 {font-size:24px; line-height:1.3;} .login-card>p {font-size:12px; margin:13px 0 30px;} .login-card .button {width:100%; min-height:40px;} .login-card>a {display:block; font-size:11px; margin-top:26px;} .login-error {color:var(--danger); margin-bottom:13px; font-size:12px;}
@media(max-width:1150px) {.document-facts {grid-template-columns:repeat(3,1fr);} .split-grid {grid-template-columns:1fr 1fr;} .action-grid {grid-template-columns:1fr;} .desktop-grid {grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);}}
@media(max-width:900px) {.app-layout {grid-template-columns:75px minmax(0,1fr);} .sidebar {padding:22px 10px;} .brand {padding:0 6px 28px;} .brand>span:last-child,.sidebar-bottom,.sidebar nav a>span:last-child {display:none;} .sidebar nav a {justify-content:center; padding:14px 0;} .nav-mark {font-size:12px;} .topbar {padding:0 20px;} #view {padding:22px 20px;} .notice {margin:14px 20px 0;} .metrics {grid-template-columns:repeat(2,1fr);} .desktop-grid {grid-template-columns:1fr;} .desktop-grid>.stack:last-child {display:grid; grid-template-columns:1fr 1fr;} .split-grid {grid-template-columns:1fr;} .compact-grid {grid-template-columns:1fr 1fr;} .action-grid {grid-template-columns:1fr 1fr;} .login-brand {padding:50px;} .login-card {padding:30px;}}
@media(max-width:600px) {.app-layout {display:block;} .sidebar {position:sticky; z-index:10; height:auto; padding:8px 9px; display:block;} .sidebar>.brand {display:none;} .sidebar nav {display:flex; justify-content:space-between; gap:3px;} .sidebar nav a {padding:9px 11px; font-size:11px; gap:0;} .sidebar nav a>span:last-child {display:block;} .nav-mark {display:none;} .topbar {height:62px; padding:0 14px; gap:8px;} .breadcrumb,.topbar>.spacer {display:none;} .connection {margin-right:auto; font-size:10px;} #view {padding:21px 14px 35px;} h1 {font-size:23px;} .page-title {flex-wrap:wrap; gap:13px;} .page-title>div {width:100%;} .notice {margin:12px 14px 0; font-size:11px;} .metrics {gap:9px; margin-bottom:17px;} .metric {padding:14px;} .metric>strong {font-size:21px;} .card {padding:16px; margin-bottom:15px;} .screen-card .screen-frame,.desktop-grid .screen-frame {min-height:235px; height:235px;} .screen-footer {flex-direction:column;} .section-head {gap:8px; flex-wrap:wrap;} .section-head h2 {font-size:15px;} .desktop-grid>.stack:last-child,.compact-grid {grid-template-columns:1fr;} .document-facts {grid-template-columns:1fr 1fr;} .document-title {gap:10px;} .document-title h3 {font-size:16px;} .document-icon {width:43px; height:43px; flex-shrink:0; font-size:11px;} .table-tools {padding:10px; gap:8px;} .table-tools input {min-width:0;} .grid-hint {font-size:9px;} .file-row {flex-wrap:wrap;} .file-row>div {width:100%;} .login-layout {display:block;} .login-brand {padding:28px;} .login-brand .brand-mark {width:42px; height:42px; font-size:14px; margin-bottom:23px;} .login-brand h1 {font-size:30px;} .login-brand>p:not(.eyebrow) {font-size:12px; margin-top:17px;} .login-brand .eyebrow {margin-bottom:14px;} .login-feature-list {display:none;} .login-card {padding:29px;} .login-card h2 {font-size:21px;} dialog {padding:18px;} .task-title .mono {width:100%;} .task-summary {font-size:16px;} .action-grid {grid-template-columns:1fr 1fr;} .pager {gap:7px;} .pager>.muted {font-size:10px;}}

.grid-tooltip {position:fixed; z-index:200; max-width:min(380px,calc(100vw - 16px)); background:var(--sidebar); color:var(--surface); padding:10px 13px; border-radius:5px; box-shadow:var(--shadow); font-size:11px; overflow-wrap:anywhere; pointer-events:none; display:grid; gap:5px;} .grid-tooltip small {color:var(--sidebar-muted); font-size:9px;}

th[draggable="true"] {cursor:grab;} th.dragging {cursor:grabbing; opacity:.5;} th.drop-target {box-shadow:inset 4px 0 var(--accent);} .headers-unpinned th {position:relative; top:auto;} .headers-unpinned th.pinned {position:sticky; top:auto;} .readonly-cell {cursor:not-allowed;} .screen-preview-button {display:block; border:0; padding:0; background:transparent; width:100%; height:100%; cursor:zoom-in;}

/* The controller keeps the desktop and prompt visible while work runs. */
.controller-layout {display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:20px;align-items:start;margin:22px 0;}
.controller-screen {padding:16px;min-width:0;} .live-tools {display:flex;gap:6px;} .live-screen {background:#16232a;border-radius:7px;min-height:260px;display:flex;align-items:center;justify-content:center;overflow:hidden;} .live-screen img {display:block;width:100%;height:auto;user-select:none;} .live-screen:fullscreen {background:#111;display:flex;align-items:center;justify-content:center;} .live-screen:fullscreen img {width:auto;max-width:100%;max-height:100vh;object-fit:contain;}
.controller-screen .quick-keys {margin:12px 0;} .controller-screen .screen-footer {margin-top:9px;align-items:center;} .controller-screen .check-label {margin:0;white-space:nowrap;} .inline-command {display:flex;gap:10px;align-items:flex-end;} .inline-command .field {flex:1;margin:0;min-width:0;} .inline-command input {width:100%;} .command-state {font-size:11px;min-height:18px;}
.ai-output {margin-top:18px;} .ai-output:empty {display:none;} .ai-output .section-head {gap:12px;} .ai-output .section-head strong {font-size:13px;max-width:80%;} .ai-output .result-text {max-height:350px;overflow:auto;white-space:pre-wrap;font-family:inherit;font-size:12px;} .ai-events {font-size:11px;max-height:180px;overflow:auto;margin:12px 0;display:grid;gap:5px;}
.history-row {display:grid;grid-template-columns:minmax(0,1fr) 130px 90px;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:13px 0;} .history-row .badge {justify-self:end;} .direct-commands summary {cursor:pointer;font-weight:600;} .direct-commands form {margin:15px 0;} .direct-commands .quick-keys {margin:15px 0;} details summary {font-size:12px;cursor:pointer;margin:8px 0;} details .field {margin-top:10px;} .project-browser .quick-keys {margin:12px 0;} .project-browser>.muted {margin:12px 0;}
.app-layout {display:block;} .sidebar {height:auto;position:sticky;z-index:20;top:0;padding:10px 24px;background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:35px;} .brand {padding:0;color:var(--ink);font-size:16px;} .brand small {color:var(--muted);} .brand-mark {width:32px;height:32px;border-color:var(--line);background:var(--accent-soft);color:var(--accent);} .sidebar nav {display:flex;gap:5px;} .sidebar nav a {color:var(--muted);padding:8px 18px;} .sidebar nav a.active,.sidebar nav a:hover {color:var(--accent);background:var(--accent-soft);box-shadow:none;} .nav-mark,.sidebar-bottom {display:none;} .topbar {height:50px;background:var(--page);border-bottom:0;} #view {padding-top:15px;max-width:1800px;}
@media(max-width:1100px) {.controller-layout {grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);}}
@media(max-width:800px) {.controller-layout {grid-template-columns:1fr;} .sidebar {padding:10px 16px;gap:20px;} .sidebar>.brand {display:flex;} .brand>span:last-child {display:none;} .sidebar nav a>span:last-child {display:block;} .sidebar nav a {padding:9px 18px;} .topbar {padding:0 14px;} .topbar .breadcrumb {display:none;} .history-row {grid-template-columns:minmax(0,1fr) 80px;gap:10px;} .history-row small {display:none;} .live-screen {min-height:180px;} .controller-screen .screen-footer {flex-direction:row;} .topbar .connection {font-size:10px;} .topbar .button {padding:5px 7px;font-size:10px;}}
@media(max-width:420px) {.topbar {gap:4px;} .topbar .connection {max-width:105px;white-space:normal;line-height:1.2;} .topbar>.spacer {display:none;} .inline-command {flex-wrap:wrap;} .inline-command .field {min-width:160px;} .controller-screen {padding:12px;} .live-tools .button {padding:5px 7px;} .controller-screen .screen-footer {align-items:flex-start;gap:8px;} .controller-layout {gap:14px;}}

.controller-history .button.wrap {white-space:normal;min-width:0;}
.remote-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}
.remote-toolbar .muted{flex:1;min-width:150px}.remote-toolbar select{max-width:220px}
.remote-surface{background:#151e22;min-height:200px;display:flex;align-items:center;justify-content:center;outline:none;overflow:hidden;touch-action:none}
.remote-surface canvas{display:block;width:auto;max-width:100%;height:auto;max-height:75vh;object-fit:contain;user-select:none;pointer-events:auto}
.remote-surface.controlling{outline:3px solid var(--accent,#26837c);cursor:crosshair}
.remote-surface:fullscreen{width:100vw;height:100vh}.remote-surface:fullscreen canvas{max-width:100%;max-height:100vh;width:auto;height:auto}
.interactive-desktop .inline-command{margin-top:12px}.interactive-desktop .inline-command input{flex:1;min-width:120px}
.diagnostic-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.diagnostic-metrics strong{display:block;font-size:24px}
.metrics-chart{display:block;width:100%;height:90px;margin-top:15px;background:#f5f8f8}
.identity-details{display:grid;grid-template-columns:minmax(130px,180px) minmax(0,1fr);gap:10px;margin:0}.identity-details dd{margin:0}.identity-details dt{color:#667777}
.support-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:18px}.support-grid>.card{margin-bottom:18px}.support-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:10px;align-items:end;margin-bottom:14px}.support-toolbar .field{margin:0}.support-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:13px 0}.support-facts>div{min-width:0;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--page)}.support-facts small,.support-facts strong{display:block}.support-facts strong{font-size:11px;margin-top:3px}.support-probe{display:grid;grid-template-columns:140px minmax(180px,1fr) 110px auto;gap:10px;align-items:end;margin-top:16px}.support-probe .field{margin:0}.support-result{min-height:20px}.support-camera-stage{position:relative;min-height:275px;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--sidebar);color:var(--sidebar-muted)}.support-camera-stage img{display:block;width:100%;height:100%;object-fit:contain}.support-camera-stage.has-frame .support-camera-empty{display:none}.support-camera-stage:fullscreen{width:100vw;height:100vh;border:0;border-radius:0}.support-camera-empty{padding:24px;text-align:center}.support-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.support-tool-grid>section{min-width:0}.support-tool-grid>section+section{padding-left:24px;border-left:1px solid var(--line)}.support-tool-grid h3{font-size:14px;margin-bottom:12px}.support-volume{display:grid;grid-template-columns:minmax(0,1fr) 50px;gap:12px;align-items:center}.support-volume output{text-align:right;font-variant-numeric:tabular-nums}.support-availability{padding:10px 12px;margin:0 0 14px;border-radius:6px;background:var(--warning-soft);color:var(--warning)}
[hidden]{display:none!important}@media(max-width:640px){.diagnostic-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.identity-details{grid-template-columns:110px minmax(0,1fr)}.remote-toolbar select{max-width:100%}}
@media(max-width:1050px){.support-grid{grid-template-columns:1fr}.support-grid>.card{margin-bottom:0}.support-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.support-toolbar,.support-probe{grid-template-columns:1fr}.support-toolbar .button,.support-probe .button{width:100%}.support-facts,.support-tool-grid{grid-template-columns:1fr}.support-tool-grid>section+section{padding:18px 0 0;border-left:0;border-top:1px solid var(--line)}.support-camera-stage{min-height:210px}.support-grid{gap:15px}}

/* Combined desktop and background CAD workspace. */
.computer-title{margin-bottom:16px}.computer-layout{display:grid;grid-template-columns:minmax(380px,1.35fr) minmax(330px,1fr) minmax(300px,.9fr);gap:18px;align-items:start;min-width:0}.computer-layout>*{min-width:0}.computer-layout .card{margin-bottom:0}.desktop-column,.task-column,.computer-side{min-width:0}.computer-side{display:grid;gap:14px}.computer-panel{margin:0;padding:16px;overflow:hidden}.computer-panel>summary{font-size:13px;font-weight:650;color:var(--ink);margin:0}.computer-panel[open]>summary{margin-bottom:14px}.computer-panel>h2,.computer-panel>section>h2{margin:10px 0}.computer-panel>section+section{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.task-mode-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.task-mode-row .field{margin-bottom:10px}.native-badge{background:var(--accent-soft);color:var(--accent)}.mode-handoff{border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:11px;color:var(--muted);background:var(--page)}.mode-handoff.solidworks{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.task-lanes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.task-lanes .card{padding:15px}.task-lanes .section-head{margin-bottom:10px}.task-lanes .ai-output{margin-top:0;min-height:42px}.task-lanes .ai-output:empty:after{content:"No active task";color:var(--muted);font-size:11px}.task-lanes .section-head strong{max-width:100%}.computer-side .grid-card{margin-top:12px}.computer-side .table-scroll{max-height:320px}.computer-side table{font-size:11px}.computer-side td{height:66px}.result-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}html,body{max-width:100%;overflow-x:hidden}
@media(max-width:1350px){.computer-layout{grid-template-columns:minmax(380px,1.3fr) minmax(330px,1fr)}.computer-side{grid-column:1/-1;grid-template-columns:1fr 1fr}.computer-side .computer-panel:nth-child(n+3){grid-column:auto}.computer-side .grid-card{max-width:100%}}
@media(max-width:900px){.computer-layout{grid-template-columns:1fr}.computer-side{grid-column:auto;grid-template-columns:1fr}.task-lanes{grid-template-columns:1fr 1fr}.computer-side .computer-panel:nth-child(n){grid-column:auto}}
@media(max-width:600px){.computer-layout{gap:14px}.task-lanes{grid-template-columns:1fr}.task-mode-row{grid-template-columns:1fr}.native-badge{justify-self:start}.computer-panel{padding:14px}.computer-side .table-tools{flex-wrap:wrap}.computer-side .table-tools input{width:100%;max-width:none}.computer-side .top-scroll,.computer-side .table-scroll{max-width:100%}}
.computer-picker{display:flex;align-items:center;gap:6px;min-width:0}.computer-picker select{max-width:220px;min-width:130px}.enrollment-details{display:grid;gap:14px;margin-top:16px}.enrollment-details section{display:grid;gap:7px;padding:13px;border:1px solid var(--line);border-radius:7px;background:var(--page)}.enrollment-secret{display:block;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:5px;user-select:all}.enrollment-meta{display:grid;gap:5px}.enrollment-meta span{display:grid;grid-template-columns:85px minmax(0,1fr);gap:8px}.enrollment-details .form-actions{align-items:center}.enrollment-details .form-actions a{font-size:11px}
@media(max-width:800px){.topbar{height:auto;min-height:62px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}.computer-picker{order:-1;width:100%;display:grid;grid-template-columns:minmax(110px,1fr) auto auto}.computer-picker select{width:100%;max-width:none}.computer-picker .button{white-space:nowrap}}
@media(max-width:420px){.computer-picker{gap:4px}.computer-picker .button{font-size:9px;padding:5px 6px}.topbar{row-gap:6px}.enrollment-meta span{grid-template-columns:1fr}}
.model-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.model-controls .field{margin-bottom:8px}.ai-event{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){.model-controls{grid-template-columns:1fr}}
.task-busy-choices{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.task-busy-choices[hidden]{display:none}
.task-busy-row{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px}
.task-busy-row .wrap{flex:1;min-width:0}
.badge.waiting{background:var(--warning-soft);color:var(--warning)}
@media(max-width:600px){.task-busy-row{flex-wrap:wrap}.task-busy-row .wrap{flex-basis:100%}}

/* Keep the desktop and the agent transcript in view; put occasional tools below. */
.computer-layout{grid-template-columns:minmax(0,1.3fr) minmax(360px,1fr)}
.computer-title{margin-bottom:12px}
.computer-title h1{font-size:21px}
.computer-side{grid-column:1/-1;display:block;padding:12px 16px}
.computer-side>summary{font-size:12px;font-weight:650;color:var(--ink);margin:0}
.computer-side[open]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.computer-side[open]>summary{grid-column:1/-1;margin-bottom:2px}
.computer-side>.computer-panel{border-radius:6px;padding:12px}
.manual-controls{margin-top:12px;border-top:1px solid var(--line);padding-top:6px}
.manual-controls>summary{font-weight:600;color:var(--muted)}
.manual-controls .command-state{margin-top:9px}
.agent-workspace{display:flex;flex-direction:column;min-height:0}
.agent-workspace>.section-head{margin-bottom:9px}
.terminal-status{display:flex;gap:8px;align-items:center;font-size:11px;margin-bottom:8px}
.terminal-status[hidden]{display:none}
.terminal-status .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clean-terminal.ai-output{margin:0;min-height:360px;height:min(57vh,620px);overflow:auto;border:1px solid #253b43;border-radius:7px;background:#0f2028;color:#e6f1f1;padding:13px 15px;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;scrollbar-color:#506e74 #0f2028}
.terminal-line{display:flex;align-items:baseline;gap:11px;white-space:pre-wrap;overflow-wrap:anywhere;padding:2px 0}
.terminal-line>span:last-child{min-width:0}
.terminal-time{flex:0 0 68px;color:#8faab0;font-size:10px}
.terminal-marker{color:#6ad9b6;font-size:15px;font-weight:700}
.terminal-prompt{color:#a7e8cf;border-bottom:1px solid #2b4249;padding-bottom:9px;margin-bottom:8px}
.terminal-error{color:#ffabae}
.terminal-response{color:#f2f7f6;border-top:1px solid #2b4249;padding-top:9px;margin-top:8px}
.terminal-empty{color:#8faab0}
.clean-terminal a{color:#8fd7ff}
.terminal-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:9px}
.terminal-actions:empty{display:none}
.compact-prompt{display:grid;gap:9px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.compact-prompt>textarea{min-height:68px;max-height:180px;resize:vertical}
.task-options{font-size:11px}
.task-options>summary{font-weight:600;color:var(--muted);margin:0}
.task-options[open]{padding:10px 12px;border:1px solid var(--line);border-radius:6px}
.task-options[open]>summary{margin-bottom:12px}
.task-options .field{margin-bottom:10px}
.task-composer-footer{display:flex;align-items:center;gap:10px;justify-content:flex-end}
.task-mode-status{font-size:10px;margin-right:auto}
@media(max-width:900px){.computer-layout{grid-template-columns:1fr}.task-column{order:-1}.computer-side[open]{grid-template-columns:1fr}.clean-terminal.ai-output{height:min(35vh,360px);min-height:220px}}
