:root{color-scheme:light;--ui-font: "Segoe UI Variable", "Segoe UI", sans-serif;--ui-bg-primary: #f0f0f0;--ui-bg-secondary: #ffffff;--ui-overlay-dim: rgba(30, 40, 60, .25);--ui-surface: rgba(252, 253, 255, .82);--ui-surface-blur: blur(14px);--ui-surface-border: 1px solid rgba(255, 255, 255, .65);--ui-surface-radius: 14px;--ui-surface-shadow: 0 16px 48px rgba(20, 30, 60, .35);--ui-title-bg: transparent;--ui-title-text: #1a1d24;--ui-title-border: none;--ui-text-primary: #1a1d24;--ui-text-secondary: #4b5260;--ui-text-muted: #8a8f99;--ui-accent: #4c6ef5;--ui-accent-hover: #4263eb;--ui-accent-text: #ffffff;--ui-card: rgba(255, 255, 255, .55);--ui-card-border: 1px solid rgba(255, 255, 255, .8);--ui-card-radius: 10px;--ui-control-bg: rgba(255, 255, 255, .85);--ui-control-border: 1px solid rgba(120, 130, 150, .35);--ui-control-radius: 7px;--ui-control-hover-bg: rgba(120, 130, 150, .15);--ui-table-bg: rgba(255, 255, 255, .7);--ui-table-border: 1px solid rgba(160, 170, 190, .3);--ui-table-header-bg: rgba(244, 246, 251, .95);--ui-table-header-text: #4b5260;--ui-row-divider: 1px solid rgba(160, 170, 190, .18);--ui-selection: rgba(76, 110, 245, .85);--ui-selection-text: #ffffff;--ui-row-hover: rgba(76, 110, 245, .08);--ui-footer-bg: rgba(255, 255, 255, .45);--ui-footer-border: 1px solid rgba(255, 255, 255, .7);--ui-separator: rgba(120, 130, 150, .25);--ui-btn-primary-bg: linear-gradient(180deg, #5b7cfa, #4c6ef5);--ui-btn-primary-hover-bg: linear-gradient(180deg, #4c6ef5, #4263eb);--ui-btn-primary-text: #ffffff;--ui-btn-primary-shadow: 0 2px 6px rgba(76, 110, 245, .4);--ui-btn-secondary-bg: rgba(255, 255, 255, .8);--ui-btn-secondary-hover-bg: #ffffff;--ui-btn-secondary-text: #3c4250;--ui-btn-secondary-border: 1px solid rgba(120, 130, 150, .35);--ui-button-active: rgba(76, 110, 245, .12);--ui-panel-bg: rgba(248, 249, 251, .96);--severity-critical: #ff4400;--severity-fault: #ff8800;--severity-warning: #ffaa00;--severity-event: #0088ff;--severity-info: #00aa00;--danger: #d63b00;--danger-bg: rgba(255, 68, 0, .1);--warning-bg: rgba(255, 170, 0, .14);--ok-bg: rgba(0, 170, 0, .1)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ui-bg-primary);color:var(--ui-text-primary);font:14px/1.5 var(--ui-font)}h1,h2,h3{color:var(--ui-title-text);letter-spacing:-.01em;margin:0 0 .5em}h1{font-size:20px}h2{font-size:16px}h3{font-size:14px}a{color:var(--ui-accent)}a:hover{color:var(--ui-accent-hover)}hr{border:none;border-top:1px solid var(--ui-separator)}input,select,textarea{font:inherit;font-size:13px;padding:7px 10px;border-radius:var(--ui-control-radius);border:var(--ui-control-border);background:var(--ui-control-bg);color:var(--ui-text-primary);outline:none}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:1px}input:disabled,select:disabled,textarea:disabled{opacity:.6}input[type=checkbox],input[type=radio]{padding:0;accent-color:var(--ui-accent)}::selection{background:var(--ui-selection);color:var(--ui-selection-text)}.panel{background:var(--ui-surface);backdrop-filter:var(--ui-surface-blur);-webkit-backdrop-filter:var(--ui-surface-blur);border:var(--ui-surface-border);border-radius:var(--ui-surface-radius);box-shadow:var(--ui-surface-shadow);padding:20px}.card{background:var(--ui-card);border:var(--ui-card-border);border-radius:var(--ui-card-radius);padding:14px}.muted{color:var(--ui-text-muted)}.app-shell{padding:24px}table{border-collapse:collapse;width:100%;background:var(--ui-table-bg);border:var(--ui-table-border)}th,td{padding:6px 10px;text-align:left;border-bottom:var(--ui-row-divider)}th{background:var(--ui-table-header-bg);color:var(--ui-table-header-text);font-weight:600;white-space:nowrap}tbody tr:hover{background:var(--ui-row-hover)}tbody tr[aria-selected=true]{background:var(--ui-selection);color:var(--ui-selection-text)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--ui-separator)}.tabs button{background:none;border:none;border-bottom:2px solid transparent;color:var(--ui-text-secondary);cursor:pointer;font:inherit;padding:8px 16px}.tabs button:hover{background:var(--ui-control-hover-bg)}.tabs button[aria-selected=true]{border-bottom-color:var(--ui-accent);color:var(--ui-text-primary)}.btn-acrylic-primary{font:inherit;font-size:13px;font-weight:500;padding:8px 20px;min-width:80px;border:none;border-radius:var(--ui-control-radius);background:var(--ui-btn-primary-bg);color:var(--ui-btn-primary-text);cursor:pointer;box-shadow:var(--ui-btn-primary-shadow)}.btn-acrylic-primary:hover:not(:disabled){background:var(--ui-btn-primary-hover-bg)}.btn-acrylic-primary:disabled{opacity:.4;cursor:default}.btn-acrylic-secondary{font:inherit;font-size:13px;font-weight:500;padding:8px 20px;min-width:80px;border:var(--ui-btn-secondary-border);border-radius:var(--ui-control-radius);background:var(--ui-btn-secondary-bg);color:var(--ui-btn-secondary-text);cursor:pointer}.btn-acrylic-secondary:hover:not(:disabled){background:var(--ui-btn-secondary-hover-bg)}.btn-acrylic-secondary:disabled{opacity:.4;cursor:default}.btn-acrylic-primary svg,.btn-acrylic-secondary svg{vertical-align:-3px;margin-right:6px}.btn-acrylic-primary svg:only-child,.btn-acrylic-secondary svg:only-child{margin-right:0}.notice{padding:8px 12px;border-radius:var(--ui-control-radius);border-left:3px solid var(--severity-event);background:var(--ui-card)}.notice.error{border-left-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.notice.warning{border-left-color:var(--severity-warning);background:var(--warning-bg)}.notice.ok{border-left-color:var(--severity-info);background:var(--ok-bg)}.login-shell{display:grid;min-height:100vh;place-items:center;padding:16px}.login-shell .panel{width:min(360px,100%)}.login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--ui-overlay-dim);backdrop-filter:var(--ui-surface-blur);-webkit-backdrop-filter:var(--ui-surface-blur)}.login-shell .field{display:grid;gap:4px;margin-bottom:12px}.login-shell .error{color:var(--danger)}.shell{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh}.shell-header{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--ui-surface);border-bottom:var(--ui-surface-border)}.shell-header h1{margin:0;font-size:18px;flex:1}.shell-body{display:grid;grid-template-columns:240px 1fr;min-height:0}.turbine-list{display:flex;flex-direction:column;overflow-y:auto;border-right:1px solid var(--ui-separator);background:var(--ui-card)}.turbine-filter{margin:8px 10px;padding:6px 8px}.turbine-none{padding:8px 14px}.turbine-group-head{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;border:0;border-bottom:var(--ui-row-divider);background:transparent;color:var(--ui-text-primary);font:inherit;text-align:left;cursor:pointer}.turbine-group-head .muted{margin-left:auto}.turbine-class-head{padding-left:24px}.turbine-list a{display:grid;padding:8px 14px 8px 40px;border-bottom:var(--ui-row-divider);color:var(--ui-text-primary);text-decoration:none}.turbine-group-head .tree-toggle{display:inline-flex;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.turbine-list .turbine-group-head a{display:inline;padding:0;border:0;background:transparent}.turbine-list .turbine-group-head a[aria-current=page]{color:var(--ui-selection-text);background:var(--ui-selection)}.turbine-list a.tree-folder{display:flex;align-items:center;gap:6px;padding-left:40px;font-style:italic}.turbine-list>a.tree-folder{padding-left:14px}.node-path{margin-top:-8px}.turbine-list a:hover{background:var(--ui-row-hover)}.turbine-list a[aria-current=page]{background:var(--ui-selection);color:var(--ui-selection-text)}.turbine-list a[aria-current=page] .muted{color:inherit}.turbine-name{font-weight:600}.shell-main{padding:16px 24px;min-width:0}.turbine-page h2{margin-top:0}.section-body{padding-top:16px}.status-bar{padding:6px 16px;background:var(--ui-footer-bg);border-top:var(--ui-footer-border);font-size:13px}.status-bar svg{vertical-align:-3px}.status-alert{color:var(--danger);font-weight:600}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.workbook-view{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.workbook-tabs{flex-wrap:wrap}.workbook-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.edit-count{color:var(--ui-text-secondary);margin-left:8px}.workbook-tab-body{min-width:0}.grid-scroll{overflow:auto;max-height:70vh;border:var(--ui-table-border);border-radius:var(--ui-control-radius)}.sheet-grid{width:max-content;min-width:100%;border:none}.sheet-grid thead th{position:sticky;top:0;z-index:1}.sheet-grid td{min-width:80px;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text;padding:4px 8px}.sheet-grid td:focus{outline:2px solid var(--ui-accent);outline-offset:-2px}.sheet-grid .row-number{color:var(--ui-text-muted);font-weight:400;text-align:right;min-width:48px}.sheet-grid .row-actions{min-width:0;cursor:default}.cell-editor{width:100%;min-width:120px;padding:2px 6px}.icon-button{background:none;border:none;border-radius:var(--ui-control-radius);color:var(--ui-text-secondary);cursor:pointer;padding:4px;line-height:0}.icon-button:hover:not(:disabled){background:var(--ui-control-hover-bg)}.icon-button:disabled{opacity:.35;cursor:default}.cell-changed{background:var(--ui-button-active)}tr.row-new,tr.row-draft,.kv-entry.row-inserted{background:var(--ok-bg)}tr.row-cleared,.row-cleared{color:var(--ui-text-muted);text-decoration:line-through}tr.has-problem,.kv-entry.has-problem{background:var(--warning-bg)}tr.has-problem .row-number{border-left:3px solid var(--severity-warning)}tr.edit-error,.kv-entry.edit-error{outline:2px solid var(--danger);outline-offset:-2px}.edit-error-cell{background:var(--danger-bg);color:var(--danger)}.add-row,.add-setting,.add-section{justify-self:start;margin-top:8px}.kv-tab{display:grid;gap:16px}.kv-section{display:grid;gap:2px}.kv-section h3{margin:0 0 4px;font-family:Consolas,monospace}.kv-section h3.kv-section-new{display:flex;align-items:center;gap:6px;padding:2px 4px;border-radius:var(--ui-control-radius);background:var(--ok-bg)}.kv-add .field-error{align-self:center;color:var(--danger);font-size:12px}.kv-entry{display:flex;align-items:center;gap:6px;padding:2px 4px;border-radius:var(--ui-control-radius)}.kv-entry:hover{background:var(--ui-row-hover)}.kv-cell{font:inherit;font-family:Consolas,monospace;background:none;border:1px solid transparent;border-radius:var(--ui-control-radius);color:inherit;text-align:left;cursor:text;padding:2px 6px;min-width:40px;min-height:26px}.kv-key{min-width:200px;font-weight:600}.kv-value{flex:1}.kv-cell:hover:not(:disabled){border:var(--ui-control-border)}.kv-cell:disabled{cursor:default;color:inherit}.kv-equals{color:var(--ui-text-muted)}.kv-comment{color:var(--ui-text-muted);font-family:Consolas,monospace;font-style:italic;padding:2px 10px}.kv-add{display:flex;flex-wrap:wrap;gap:6px;padding:4px}.problem-list h3 svg{vertical-align:-3px}.problem-list ul{margin:0;padding-left:20px;max-height:160px;overflow-y:auto}.link-button{font:inherit;background:none;border:none;padding:0;color:var(--ui-accent);cursor:pointer;text-align:left}.link-button:hover{color:var(--ui-accent-hover);text-decoration:underline}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:grid;place-items:center;padding:16px;background:var(--ui-overlay-dim)}.modal{width:min(480px,100%)}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.diagnostics-view,.diagnostics-body{display:grid;gap:10px}.diagnostics-panes{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:12px;align-items:start}.diag-list{display:grid;gap:6px;max-height:75vh;overflow-y:auto;padding:8px;background:var(--ui-card);border:var(--ui-card-border);border-radius:var(--ui-card-radius)}.diag-filter{display:flex;align-items:center;gap:6px;color:var(--ui-text-secondary)}.diag-groups,.diag-rows{list-style:none;margin:0;padding:0}.diag-group .diag-groups,.diag-group .diag-rows{padding-left:14px}.diag-group-head,.diag-row{font:inherit;width:100%;text-align:left;background:none;border:none;border-radius:var(--ui-control-radius);color:inherit;cursor:pointer;padding:3px 6px}.diag-group-head{font-weight:600}.diag-group-head:hover,.diag-row:hover{background:var(--ui-row-hover)}.diag-row[aria-current=true]{background:var(--ui-selection);color:var(--ui-selection-text)}.diag-row[aria-current=true] .muted{color:inherit}.diag-id{font-family:Consolas,monospace}.diag-unused{opacity:.6}.diag-problem{border-left:3px solid var(--severity-warning)}.diag-badge{margin-left:6px;padding:0 6px;border-radius:var(--ui-control-radius);background:var(--ui-button-active);font-size:.8em}.diag-badge.warn{background:var(--warning-bg)}.diag-more{margin:4px 0 4px 14px}.diagnostics-detail{min-width:0}.diag-form{display:grid;gap:10px}.diag-form-head{display:flex;align-items:baseline;gap:10px}.diag-form-head h3{margin:0;font-family:Consolas,monospace}.chip{padding:1px 8px;border-radius:var(--ui-control-radius);background:var(--ui-button-active);color:var(--ui-accent);font-weight:600}.diag-fields th{width:1%;white-space:nowrap;text-align:left}.diag-fields input[type=text],.diag-messages input[type=text]{width:100%}.num-field.invalid{border-color:var(--danger);background:var(--danger-bg)}.num-group{display:flex;flex-wrap:wrap;gap:8px}.num-group label{display:grid;gap:2px;font-size:.85em;color:var(--ui-text-secondary)}.num-group .num-field{width:110px}.diag-body{width:100%;font-family:Consolas,monospace}.diag-readonly{font-family:Consolas,monospace;color:var(--ui-text-muted);word-break:break-all}.diag-issues{margin:0;padding-left:24px}.diag-actions,.diag-copy{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.shared-files{margin:0;padding-left:20px;max-height:200px;overflow-y:auto;word-break:break-all}.build-view .build-list{margin:4px 0 12px;padding-left:20px;font-family:monospace;font-size:.9em;overflow-wrap:anywhere}.build-view .build-list.errors{color:var(--danger)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.history-fold summary{cursor:pointer;color:var(--ui-text-secondary)}.files-tree{display:flex;flex-direction:column;gap:8px}.files-layer>summary{cursor:pointer;font-weight:600;padding:4px 0}.files-row td{vertical-align:middle}.files-note{color:var(--ui-text-secondary)}.files-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 8px}.files-layer.files-drop-active{outline:2px dashed var(--ui-accent);outline-offset:2px;background:#4c6ef514}.files-lines{margin:8px 0;padding-left:20px}.text-editor{display:grid;gap:10px}.text-editor-area{width:100%;min-height:60vh;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;white-space:pre;overflow:auto}.text-editor-actions{display:flex;gap:8px}
