:root{--bg:#f4f6fa;--bg-elevated:#fff;--bg-panel:#f7f9fc;--bg-input:#fff;--bg-hover:#eef2f7;--border:#e3e7ee;--border-strong:#cdd3df;--text:#15233b;--text-muted:#5b6577;--text-dim:#94a0b4;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-dim:#2563eb14;--accent-dim-strong:#2563eb29;--danger:#e11d48;--warn:#f59e0b;--success:#16a34a;--shadow-sm:0 1px 2px #0f172a0d;--shadow:0 1px 3px #0f172a14, 0 1px 2px #0f172a0a;--shadow-lg:0 12px 24px -8px #0f172a2e, 0 4px 8px #0f172a0f;--toolbar-bg:#0f172a;--toolbar-text:#f1f5f9;--toolbar-text-muted:#94a3b8;--toolbar-border:#ffffff14;--toolbar-hover:#ffffff14;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow:hidden}button{color:var(--text);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12.5px;line-height:1.2;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}button:focus-visible{box-shadow:0 0 0 3px var(--accent-dim-strong);outline:none}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 1px 2px #2563eb40}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}button.danger:hover:not(:disabled){background:#be123c;border-color:#be123c}button.icon{color:var(--text-muted);background:0 0;border-color:#0000;padding:4px}button.icon:hover:not(:disabled){background:var(--bg-hover);color:var(--text);border-color:#0000}.toolbar button{border:1px solid var(--toolbar-border);color:var(--toolbar-text);background:0 0}.toolbar button:hover:not(:disabled){background:var(--toolbar-hover);color:var(--toolbar-text);border-color:#ffffff2e}.toolbar button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.toolbar button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.toolbar button.icon{color:var(--toolbar-text-muted);background:0 0;border-color:#0000}.toolbar button.icon:hover:not(:disabled){background:var(--toolbar-hover);color:var(--toolbar-text)}input,select,textarea{background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:6px;outline:none;padding:6px 9px;font-family:inherit;font-size:12.5px;transition:border-color .12s,box-shadow .12s}input::placeholder,textarea::placeholder{color:var(--text-dim)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim-strong)}input[type=checkbox]{accent-color:var(--accent)}.toolbar input,.toolbar select,.toolbar textarea{color:var(--toolbar-text);background:#ffffff14;border-color:#ffffff1f}.toolbar input:focus,.toolbar select:focus,.toolbar textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb66}.app{background:var(--bg);grid-template:"toolbar toolbar toolbar"48px"rail data center"1fr/64px 360px minmax(0,1fr);width:100%;height:100%;display:grid}.toolbar{background:var(--toolbar-bg);border-bottom:1px solid var(--toolbar-border);z-index:10;color:var(--toolbar-text);grid-area:toolbar;align-items:center;gap:8px;padding:0 14px;display:flex}.toolbar-title{color:var(--toolbar-text);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;background:#ffffff0f;border-radius:999px;align-items:center;max-width:280px;margin-right:6px;padding:5px 12px;font-size:13.5px;font-weight:600;display:inline-flex;overflow:hidden}.toolbar-spacer{flex:1}.toolbar-inline-field{color:var(--toolbar-text-muted);align-items:center;gap:8px;font-size:11.5px;display:inline-flex}.toolbar-inline-field select{min-width:78px;padding:4px 6px}.coordination-rail{border-right:1px solid var(--border);background:#f8fafc;flex-direction:column;grid-area:rail;justify-content:flex-start;align-items:stretch;gap:12px;padding:12px 8px;display:flex}.coordination-rail-group{flex-direction:column;gap:8px;display:flex}.coordination-rail button{width:48px;height:44px;color:var(--text-muted);background:0 0;border-color:#0000;justify-content:center;padding:0;position:relative}.coordination-rail button:hover:not(:disabled){background:var(--bg-hover);color:var(--text);border-color:#0000}.coordination-rail button.active{color:var(--accent);background:var(--accent-dim);border-color:#2563eb2e}.coordination-rail button.active:before{content:"";background:var(--accent);border-radius:999px;width:3px;position:absolute;top:7px;bottom:7px;left:-8px}.coordination-rail button span{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:2px;right:2px}.coordination-data-panel{background:var(--bg-elevated);border-right:1px solid var(--border);flex-direction:column;grid-area:data;min-width:0;display:flex;overflow:hidden}.coordination-panel-header{border-bottom:1px solid var(--border);background:var(--bg-elevated);align-items:center;min-height:64px;padding:12px 16px;display:flex}.coordination-panel-title{font-size:18px;font-weight:650}.coordination-panel-subtitle{max-width:310px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;overflow:hidden}.coordination-panel-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.panel-loading{color:var(--text-muted);padding:14px;font-size:13px}.coordination-panel-body>.asset-hub{border-bottom:0;min-height:100%;max-height:none}.flush-panel-body{padding:12px}.asset-hub{border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-direction:column;gap:10px;max-height:58%;padding:12px;display:flex;overflow-y:auto}.asset-hub-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.asset-hub-title{font-size:15px;font-weight:700}.asset-hub-subtitle{color:var(--text-muted);margin-top:2px;font-size:11.5px}.asset-count{background:var(--accent-dim);min-width:28px;height:24px;color:var(--accent);border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.asset-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.asset-actions button{justify-content:center;padding:6px 7px}.asset-search{border:1px solid var(--border);background:var(--bg-input);border-radius:6px;align-items:center;gap:6px;padding:0 8px;display:flex}.asset-search input{min-width:0;box-shadow:none;border:0;flex:1;padding-left:0}.asset-search input:focus{box-shadow:none}.asset-list{flex-direction:column;gap:6px;min-height:72px;display:flex}.asset-row{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.asset-row.active{background:var(--accent-dim);color:var(--accent);border-color:#2563eb52}.asset-row-main{color:var(--text);font-weight:700}.asset-row span:last-child{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11.5px;overflow:hidden}.asset-empty,.asset-muted{color:var(--text-muted);font-size:12px}.asset-empty{text-align:center;padding:16px 6px}.asset-detail{border:1px solid var(--border);background:var(--bg-panel);border-radius:8px;flex-direction:column;gap:9px;padding:10px;display:flex}.asset-detail-title{font-size:14px;font-weight:800}.asset-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.asset-tabs button{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:5px 4px;font-size:10.5px;overflow:hidden}.asset-tabs button.active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.asset-detail-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.asset-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.asset-meta span,.asset-section-title{color:var(--text-muted);text-transform:uppercase;font-size:10.5px;font-weight:700}.asset-meta strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11.5px;overflow:hidden}.asset-chip-list,.asset-detail-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.asset-detail-actions span{color:var(--text-muted);font-size:11px}.asset-source-chip{color:var(--accent);background:var(--accent-dim);border-radius:999px;padding:3px 7px;font-size:10.5px;font-weight:700}.asset-source-card{border:1px solid var(--border);background:var(--bg-panel);border-radius:6px;flex-direction:column;gap:6px;width:100%;padding:7px;display:flex}.asset-standards{flex-wrap:wrap;grid-column:1/-1;gap:5px;margin-top:2px;display:flex}.asset-standards.compact{margin-top:0}.asset-standards .asset-section-title{width:100%}.asset-standard-pill{background:var(--bg-elevated);max-width:100%;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 6px;font-size:10.5px;display:inline-flex;overflow:hidden}.asset-standard-pill strong{color:var(--text)}.asset-standard-pill.ok{color:#047857;background:#10b9811f}.asset-standard-pill.missing{color:#92400e;background:#f59e0b1f}.source-pid_plant3d,.source-pid_spreadsheet{color:#047857;background:#10b9811f}.source-step{color:#7c3aed;background:#7c3aed1f}.asset-import-preview{border:1px solid var(--accent);background:var(--accent-dim);border-radius:6px;flex-direction:column;gap:7px;padding:8px;display:flex}.asset-validation-dashboard{border:1px solid var(--border);background:var(--bg-panel);border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.asset-validation-dashboard>div:first-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.asset-validation-dashboard strong{font-size:16px}.asset-validation-counts{grid-template-columns:1fr 1fr;gap:4px;display:grid}.asset-validation-counts span{color:var(--text-muted);background:var(--bg-elevated);text-transform:uppercase;border-radius:999px;padding:3px 6px;font-size:10.5px;font-weight:700}.asset-validation-counts .severity-critical,.asset-validation-counts .severity-error{color:#b91c1c;background:#ef44441f}.asset-validation-counts .severity-warning{color:#92400e;background:#f59e0b1f}.asset-dashboard-validation{color:var(--text-muted);align-items:center;gap:5px;font-size:11px;display:flex}.asset-import-preview>strong{font-size:12px}.asset-import-preview>span,.asset-preview-map span,.asset-preview-warnings span{color:var(--text-muted);font-size:11px}.asset-preview-map,.asset-preview-warnings{flex-wrap:wrap;gap:5px;display:flex}.asset-preview-map span,.asset-preview-warnings span{background:var(--bg-elevated);border-radius:999px;padding:3px 6px}.asset-preview-warnings span{color:#92400e;background:#f59e0b29}.asset-preview-sample{flex-direction:column;gap:4px;max-height:92px;display:flex;overflow:auto}.asset-preview-sample code{color:var(--text-muted);background:var(--bg-elevated);white-space:pre-wrap;border-radius:4px;padding:5px;font-size:10px;display:block}.asset-match-list{flex-direction:column;gap:5px;display:flex}.asset-match-row{border:1px solid var(--border);background:var(--bg-panel);border-radius:6px;grid-template-columns:minmax(0,1fr) auto 26px 26px;align-items:center;gap:6px;padding:7px;display:grid}.asset-match-row strong,.asset-match-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.asset-match-row strong{font-size:11.5px}.asset-match-row span{color:var(--text-muted);font-size:10.5px}.asset-match-status{background:var(--bg-elevated);text-transform:uppercase;border-radius:999px;padding:2px 6px;font-weight:700}.match-approved .asset-match-status{color:#047857;background:#10b9811f}.match-rejected .asset-match-status{color:#b91c1c;background:#ef44441f}.asset-validation-list{flex-direction:column;gap:5px;display:flex}.asset-validation{color:#92400e;background:#f59e0b1f;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:11.5px;display:flex}.asset-issue-list{flex-direction:column;gap:5px;display:flex}.asset-issue-row{border:1px solid var(--border);background:var(--bg-panel);border-radius:6px;flex-direction:column;gap:2px;padding:7px;display:flex}.asset-issue-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11.5px;overflow:hidden}.asset-issue-row span{color:var(--text-muted);font-size:10.5px}.model-tree-embedded{background:var(--bg-elevated);flex-direction:column;height:100%;display:flex}.center-panel{background:#e9edf3;grid-area:center;position:relative;overflow:hidden}.viewport{position:absolute;inset:0}.panel-header{border-bottom:1px solid var(--border);background:var(--bg-elevated);letter-spacing:-.01em;align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:600;display:flex}.panel-body{flex:1;padding:10px;overflow-y:auto}.model-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;margin-bottom:6px;padding:9px 10px;transition:background .12s,border-color .12s;display:flex}.model-item:hover{background:var(--bg-panel);border-color:var(--border-strong)}.model-item .name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;font-weight:500;overflow:hidden}.model-item .meta{color:var(--text-muted);font-size:11px}.model-status-item{border:1px solid var(--border);background:var(--bg-panel);border-radius:8px;margin-bottom:8px;padding:9px 10px}.model-status-summary{border:1px solid var(--border);background:var(--bg-panel);border-radius:8px;margin:0 8px 8px 22px;padding:7px 9px}.model-status-main{align-items:center;gap:8px;min-width:0;display:flex}.model-status-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;font-weight:500;overflow:hidden}.model-status-detail{color:var(--text-muted);overflow-wrap:anywhere;padding:5px 0 0 22px;font-size:10.5px;line-height:1.35}.model-status-action{margin:8px 0 0 22px;padding:4px 8px}.tree-node{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:4px;padding:4px 6px;font-size:12px;transition:background .1s;display:flex}.tree-node:hover{background:var(--bg-hover)}.tree-node.selected{background:var(--accent-dim);color:var(--accent);font-weight:500}.tree-children{padding-left:16px}.tree-toggle{width:14px;color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.empty-state{text-align:center;color:var(--text-muted);padding:36px 22px;font-size:12px}.empty-state .icon{opacity:.45;margin-bottom:10px;font-size:32px}.hub-header{border-bottom:1px solid var(--border);background:var(--bg-elevated);justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.hub-header-left,.hub-header-right{align-items:center;gap:12px;display:flex}.hub-header-chip{background:var(--accent-dim);color:var(--accent);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:600}.hub-tabs{gap:8px;padding:16px 24px 0;display:flex}.hub-panel{flex-direction:column;gap:16px;display:flex}.hub-panel-title{font-size:18px;font-weight:600}.hub-panel-copy,.admin-card-copy{color:var(--text-muted);line-height:1.5}.hub-project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.hub-project-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:6px;padding:14px;display:flex}.hub-admin-hint{border:1px solid var(--border);color:var(--text-muted);background:var(--bg-elevated);border-radius:6px;padding:12px 14px;font-size:13px}.admin-panel-shell{flex-direction:column;gap:16px;display:flex}.admin-section-grid{grid-template-columns:minmax(360px,480px) 1fr;align-items:start;gap:16px;display:grid}.acc-admin-shell{border:1px solid var(--border);background:var(--bg-elevated);min-height:640px;box-shadow:var(--shadow-sm);border-radius:8px;grid-template-columns:232px minmax(0,1fr);display:grid;overflow:hidden}.acc-admin-nav{border-right:1px solid var(--border);background:var(--bg-panel);flex-direction:column;gap:18px;padding:18px 14px;display:flex}.acc-admin-nav-title{color:var(--text);padding:0 8px 6px;font-size:14px;font-weight:700}.acc-admin-nav-group{flex-direction:column;gap:6px;display:flex}.acc-admin-nav-group span{color:var(--text-dim);text-transform:uppercase;padding:0 8px 4px;font-size:11px;font-weight:700}.acc-admin-project-context,.acc-admin-nav-note{border-radius:6px;padding:8px;font-size:12px;line-height:1.35}.acc-admin-project-context{color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);font-weight:700}.acc-admin-nav-note{color:var(--text-muted);background:#64748b14}.acc-admin-nav button{box-shadow:none;background:0 0;border-color:#0000;justify-content:flex-start}.acc-admin-nav button.active{color:var(--accent);background:var(--accent-dim);border-color:#5b4cff2e}.acc-admin-main{background:var(--bg);flex-direction:column;gap:16px;min-width:0;padding:20px;display:flex}.acc-admin-tool-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.acc-admin-tool-header select{max-width:280px}.acc-admin-split{grid-template-columns:minmax(260px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.acc-admin-table{flex-direction:column;gap:8px;display:flex}.acc-admin-table-head,.acc-admin-table-row{grid-template-columns:minmax(150px,1.2fr) minmax(150px,1.5fr) minmax(140px,1fr) 72px 112px;align-items:center;gap:12px;display:grid}.acc-admin-table-head{color:var(--text-dim);text-transform:uppercase;padding:0 12px;font-size:11px;font-weight:700}.acc-admin-table-row{text-align:left;border:1px solid var(--border);background:var(--bg-panel);border-radius:8px;width:100%;padding:12px}.acc-admin-table-row span{color:var(--text-muted);font-size:12px}.acc-admin-table-row.active{background:var(--accent-dim);border-color:#5b4cff73}.project-overview-header,.project-create-header,.project-create-section-head,.project-create-actions{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-overview-header{align-items:center}.project-create-shell{flex-direction:column;gap:16px;display:flex}.project-create-header{border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-sm);border-radius:8px;padding:18px}.project-create-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:16px;display:grid}.project-create-chapters{flex-direction:column;gap:8px;display:flex;position:sticky;top:16px}.project-create-chapters button{text-align:left;border-color:var(--border);background:var(--bg-elevated);justify-items:start;gap:3px;padding:10px;display:grid}.project-create-chapters button.active{background:var(--accent-dim);border-color:#5b4cff8c}.project-create-chapters span{max-width:100%;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.project-create-main{flex-direction:column;gap:12px;min-width:0;display:flex}.project-create-section{border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-sm);border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.project-create-block{flex-direction:column;gap:10px;min-width:0;display:flex}.project-create-summary-line{border:1px solid var(--border);background:var(--bg-panel);color:var(--text-muted);border-radius:6px;padding:8px 10px;font-size:12px}.project-create-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.project-create-summary-grid div{border:1px solid var(--border);background:var(--bg-panel);border-radius:6px;gap:3px;min-width:0;padding:10px;display:grid}.project-create-summary-grid span{color:var(--text-muted);font-size:11px}.project-create-summary-grid strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-create-final{border-color:#5b4cff47}.admin-card{background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:8px;flex-direction:column;gap:14px;padding:18px;display:flex}.admin-owner-strip{border:1px solid var(--border);background:var(--bg-panel);border-radius:6px;grid-template-columns:minmax(0,1fr) minmax(140px,220px) auto;align-items:center;gap:8px;padding:10px;display:grid}.acc-picker-list{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.acc-picker-list button{justify-content:flex-start}.acc-picker-list button.active{background:var(--accent-dim);color:var(--accent);border-color:#5b4cff8c}.acc-source-browser{grid-column:1/-1;grid-template-columns:minmax(180px,.9fr) minmax(220px,1.1fr);gap:10px;min-height:260px;display:grid}.acc-source-pane{border:1px solid var(--border);background:var(--bg-panel);border-radius:6px;min-width:0;padding:10px}.acc-folder-tree,.acc-source-file-list{flex-direction:column;gap:4px;max-height:340px;display:flex;overflow:auto}.acc-folder-row,.acc-source-file-row{border-radius:5px;align-items:flex-start;gap:6px;min-width:0;padding:6px;display:flex}.acc-folder-row:hover,.acc-source-file-row:hover{background:var(--bg-elevated)}.acc-folder-row label,.acc-source-file-row{cursor:pointer}.acc-folder-row label,.acc-source-file-row div{min-width:0}.acc-folder-row span,.acc-source-file-row strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.acc-folder-expander{flex:none;justify-content:center;width:24px;height:24px;padding:0}.admin-card-title{font-size:16px;font-weight:600}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-form-grid-tight{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-inline-form{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-inline-form>*{flex:160px}.admin-checkbox{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.admin-list{flex-direction:column;gap:10px;display:flex}.admin-list-row{border:1px solid var(--border);background:var(--bg-panel);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.admin-list-row-stacked{flex-direction:column;align-items:stretch}.admin-link-state{color:var(--text-dim);margin-top:4px;font-size:11px}.admin-project-layout{grid-template-columns:260px minmax(0,1fr);gap:16px;min-height:420px;display:grid}.admin-project-list{flex-direction:column;gap:10px;display:flex}.admin-project-button{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;display:flex}.admin-project-button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.admin-project-button.active span{color:#ffffffc7}.admin-project-button span{color:var(--text-muted);font-size:11px}.admin-project-detail{flex-direction:column;gap:16px;display:flex}.admin-subsection{flex-direction:column;gap:12px;display:flex}.admin-subtitle{font-size:14px;font-weight:600}.admin-role-list{flex-direction:column;gap:12px;display:flex}.admin-role-chip-list{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.admin-role-chip{background:var(--accent-dim);color:var(--accent);border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:600;display:inline-flex}.admin-role-chip button{min-height:0;color:inherit;box-shadow:none;background:0 0;border:0;padding:0 3px}.admin-role-card{border:1px solid var(--border);background:var(--bg-panel);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.admin-role-header{gap:10px;display:flex}.admin-role-header input{flex:1}.admin-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.admin-muted{color:var(--text-muted);font-size:12px}.admin-error{color:var(--danger);background:#e11d4814;border:1px solid #e11d4829;border-radius:8px;padding:10px 12px}.admin-status{background:var(--accent-dim);color:var(--accent);border-radius:999px;align-self:flex-start;padding:8px 12px;font-weight:600}.error-boundary{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-height:160px;padding:30px 24px;display:flex}.error-boundary-title{color:var(--text);font-size:13px;font-weight:600}.error-boundary-message{color:var(--text-muted);word-break:break-word;max-width:420px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.comments-block{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.comments-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;margin-bottom:6px;font-size:10.5px;font-weight:600;display:flex}.comments-empty{color:var(--text-dim);padding:4px 0 8px;font-size:11.5px}.comments-list{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.comment{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.comment-meta{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:4px;font-size:10.5px;display:flex}.comment-author{color:var(--text);font-weight:600}.comment-date{flex:1}.comment-delete{padding:2px}.comment-body{white-space:pre-wrap;word-break:break-word;color:var(--text);font-size:12.5px}.comments-error{color:var(--danger);margin-top:4px;font-size:11px}.inline-warning{color:#92400e;background:#f59e0b1a;border:1px solid #f59e0b47;border-radius:6px;padding:8px 10px;font-size:11px;line-height:1.4}.advanced-section{border:1px solid var(--border);background:var(--bg-elevated);border-radius:6px;margin-bottom:8px}.advanced-section-toggle{width:100%;color:var(--text-muted);background:0 0;border:0;border-radius:6px;justify-content:flex-start;font-size:11.5px;font-weight:600}.advanced-section-toggle:hover:not(:disabled){background:var(--bg-hover)}.advanced-section-body{padding:0 8px 8px}.feedback-stack{z-index:1200;pointer-events:none;flex-direction:column;gap:8px;width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.feedback-toast{pointer-events:auto;border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-lg);color:var(--text);border-radius:8px;grid-template-columns:18px 1fr 24px;align-items:start;gap:8px;padding:10px 10px 10px 12px;font-size:12px;line-height:1.35;display:grid}.feedback-toast span{overflow-wrap:anywhere;min-width:0}.feedback-info svg{color:var(--accent)}.feedback-success svg{color:var(--success)}.feedback-warning svg{color:var(--warn)}.feedback-error svg{color:var(--danger)}.feedback-dialog-backdrop{z-index:1300;background:#0f172a52;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.feedback-dialog{border:1px solid var(--border);background:var(--bg-elevated);width:min(420px,100%);box-shadow:var(--shadow-lg);border-radius:8px;padding:16px}.feedback-dialog-title{align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.feedback-dialog-message{color:var(--text-muted);margin-top:10px;font-size:12.5px;line-height:1.45}.feedback-dialog-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.property-group{margin-bottom:12px}.property-group-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-panel);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:4px;margin-bottom:6px;padding:7px 10px;font-size:11px;font-weight:600;display:flex}.property-row{border-bottom:1px solid var(--border);grid-template-columns:40% 60%;padding:5px 10px;font-size:12px;display:grid}.property-row:last-child{border-bottom:none}.property-row .key{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.property-row .value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.property-edit-row{border-bottom:1px solid var(--border);gap:6px;padding:8px 10px 10px;display:grid}.property-edit-row label{color:var(--text-muted);font-size:12px}.property-edit-control{grid-template-columns:minmax(0,1fr) 30px;gap:6px;display:grid}.property-edit-control input{min-width:0;height:30px}.property-edit-control button{width:30px;height:30px}.clash-filter{border-bottom:1px solid var(--border);background:var(--bg-panel);padding:12px}.filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.filter-row label{color:var(--text-muted);min-width:70px;font-size:11.5px}.filter-row input[type=number]{width:80px}.checkbox-row{align-items:center;gap:6px;margin-bottom:4px;font-size:12px;display:flex}.checkbox-row input{margin:0}.type-multiselect{background:var(--bg-input);border:1px solid var(--border);border-radius:6px;max-height:100px;padding:4px;overflow-y:auto}.type-multiselect label{cursor:pointer;border-radius:3px;align-items:center;gap:4px;min-width:0;padding:3px 4px;font-size:11.5px;display:flex}.type-multiselect label:hover{background:var(--bg-hover)}.clash-item{border-bottom:1px solid var(--border);cursor:pointer;padding:9px 10px;font-size:12px;transition:background .12s}.clash-item:hover{background:var(--bg-hover)}.clash-item.active{background:var(--accent-dim);border-left:3px solid var(--accent);padding-left:7px}.clash-item .clash-title{margin-bottom:2px;font-weight:500}.clash-item .clash-detail{color:var(--text-muted);font-size:11px}.status-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:1px 8px;font-size:10px;font-weight:600;display:inline-block}.status-open{color:var(--danger);background:#e11d481a}.status-approved{color:var(--success);background:#16a34a1f}.status-reviewed{color:#b45309;background:#f59e0b29}.status-resolved{color:var(--success);background:#16a34a1f}.status-uploaded{color:var(--text-muted);background:#94a0b42e}.status-queued,.status-processing{color:#b45309;background:#f59e0b29}.status-ready{color:var(--success);background:#16a34a1f}.status-failed{color:var(--danger);background:#e11d481a}.loading-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#f4f6fabf;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-box{background:var(--bg-elevated);border:1px solid var(--border);min-width:280px;box-shadow:var(--shadow-lg);border-radius:10px;padding:20px 24px}.loading-message{color:var(--text);margin-bottom:10px;font-size:13px}.progress-bar{background:var(--bg-hover);border-radius:2px;height:4px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .2s}.stats{color:var(--text-muted);gap:10px;font-size:11.5px;display:flex}.toolbar .stats{color:var(--toolbar-text-muted)}.viewport-overlay{color:var(--text-muted);pointer-events:none;box-shadow:var(--shadow);border:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffeb;border-radius:8px;padding:6px 10px;font-size:11px;position:absolute;bottom:14px;right:14px}.viewport-tip{color:var(--text-muted);max-width:260px;box-shadow:var(--shadow);border:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff2;border-radius:8px;padding:8px 10px;font-size:11px;position:absolute;top:14px;left:14px}.sync-status-card{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);border-radius:6px;gap:3px;margin-top:6px;padding:6px;font-size:11px;display:grid}.sync-status-card span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sync-status-succeeded{border-color:#22c55e73}.sync-status-failed{border-color:#ef44448c}.sync-status-running{border-color:#3b82f68c}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d0d6df padding-box padding-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#b8bfca padding-box padding-box;border:2px solid #0000}.toolbar ::-webkit-scrollbar-thumb{background:#ffffff26 padding-box padding-box}.toolbar ::-webkit-scrollbar-thumb:hover{background:#ffffff40 padding-box padding-box}@media (width<=1100px){.app{grid-template-columns:56px minmax(280px,34vw) minmax(0,1fr)}.coordination-rail{padding-inline:6px}.coordination-rail button{width:44px}.acc-admin-shell,.acc-admin-split,.admin-section-grid,.admin-project-layout,.admin-permission-grid,.admin-form-grid,.admin-form-grid-tight,.admin-owner-strip,.acc-source-browser,.project-create-layout,.project-create-summary-grid{grid-template-columns:1fr}.project-create-chapters{position:static}.project-overview-header,.project-create-header,.project-create-section-head,.project-create-actions{flex-wrap:wrap}.acc-admin-nav{border-right:0;border-bottom:1px solid var(--border)}.acc-admin-table-head,.acc-admin-table-row{grid-template-columns:1fr}.hub-header,.hub-header-left,.hub-header-right{flex-wrap:wrap}}
