.project-sidebar-actions { display: grid; grid-template-columns: minmax(0, 1fr) 38px; gap: 7px; margin-top: 8px; }
.project-sidebar-actions .new-task { margin-top: 0; }
.project-add { border: 1px solid var(--line-strong); border-radius: 9px; background: var(--panel); color: var(--accent); cursor: pointer; }
.project-add:hover { border-color: var(--accent); background: var(--accent-wash); }
.project-nav { max-height: 42%; margin-top: 6px; overflow: auto; border-bottom: 1px solid var(--line); }
.project-nav-item { width: 100%; display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: center; gap: 7px; padding: 8px 9px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); text-align: left; cursor: pointer; }
.project-nav-item:hover, .project-nav-item.selected { background: var(--panel-2); color: var(--text); }
.project-nav-item.selected { box-shadow: inset 2px 0 var(--accent); }
.project-nav-item > span:first-child { color: var(--accent); font-family: var(--font-mono); text-align: center; }
.project-nav-item b, .project-nav-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-nav-item b { font-size: 10px; font-weight: 600; }
.project-nav-item small { margin-top: 3px; color: var(--faint); font: 7px var(--font-mono); }
.project-search-hit { position: relative; width: 100%; display: grid; gap: 3px; padding: 9px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); text-align: left; cursor: pointer; }
.project-search-hit:hover { background: var(--panel-2); }
.project-search-hit > span { color: var(--accent); font: 7px var(--font-mono); letter-spacing: .1em; }
.project-search-hit b { overflow: hidden; color: var(--text); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.project-search-hit small { display: -webkit-box; overflow: hidden; color: var(--faint); font-size: 8px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.project-search-hit > i { position: absolute; top: 9px; right: 8px; color: var(--amber); font: 7px var(--font-mono); }
.sidebar-collapsed .project-nav, .sidebar-collapsed .project-add { display: none; }

.project-panel { min-height: 0; overflow: hidden; background: radial-gradient(circle at 12% 0, rgba(231, 188, 104, .045), transparent 28%), var(--bg); }
#project-workspace { min-width: 0; min-height: 0; flex: 1; overflow: auto; }
.project-room { min-width: 0; min-height: 100%; padding: 24px; }
.project-room-head { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.project-room-title { min-width: 0; display: flex; align-items: center; gap: 15px; }
.project-room-title > div { min-width: 0; }
.project-id { min-width: 76px; height: 76px; display: grid; place-items: center; border: 1px solid rgba(231, 188, 104, .35); border-radius: 14px; background: linear-gradient(145deg, rgba(231, 188, 104, .15), rgba(231, 188, 104, .035)); color: var(--accent-strong); font: 800 13px var(--font-mono); box-shadow: inset 0 0 0 5px rgba(9, 11, 10, .32); }
.project-room-title h2 { margin: 6px 0 5px; font: 700 26px/1 var(--font-display); letter-spacing: -.025em; }
.project-room-title > div > p:last-child { max-width: 620px; margin: 0; overflow: hidden; color: var(--faint); font: 9px var(--font-mono); text-overflow: ellipsis; white-space: nowrap; }
.project-room-actions { display: flex; gap: 6px; }
.project-room-actions button, .project-sections button { border: 1px solid var(--line); border-radius: 7px; background: var(--panel); color: var(--muted); cursor: pointer; }
.project-room-actions button { min-height: 34px; padding: 0 11px; font-size: 9px; }
.project-room-actions button:hover, .project-sections button:hover:not(:disabled) { border-color: var(--line-strong); color: var(--text); }
.project-room-actions .danger:hover { border-color: rgba(255, 133, 133, .5); color: var(--red); }
.project-sections { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.project-sections span { min-width: 12px; flex: 1; }
.project-sections button { flex: 0 0 auto; min-height: 31px; padding: 0 10px; background: transparent; font-size: 9px; }
.project-sections button.active { border-color: rgba(231, 188, 104, .35); background: var(--accent-wash); color: var(--accent-strong); }
.project-sections button:disabled { opacity: .38; cursor: not-allowed; }
.project-sections i { margin-left: 5px; color: var(--faint); font: 7px var(--font-mono); font-style: normal; }

.project-memory { margin-top: 14px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 11px; background: linear-gradient(105deg, rgba(89, 141, 255, .055), rgba(17, 20, 17, .8)); }
.project-memory.stale, .project-memory.error { border-color: rgba(233, 170, 81, .3); }
.project-memory > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.project-memory h3 { margin: 5px 0 0; font: 650 13px var(--font-display); }
.project-memory-grid { display: grid; grid-template-columns: minmax(150px, .7fr) minmax(260px, 1.3fr); gap: 18px; margin-top: 12px; }
.project-memory-grid > div { display: grid; align-content: start; gap: 5px; }
.project-memory-grid b { color: var(--blue); font: 9px var(--font-mono); text-transform: uppercase; }
.project-memory-grid span, .project-memory-grid small { color: var(--muted); font-size: 8px; }
.project-memory-grid small { color: var(--faint); }
.project-memory-grid ol { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.project-memory-grid li { min-width: 0; display: grid; grid-template-columns: auto minmax(90px, .6fr) minmax(120px, 1fr); gap: 8px; align-items: center; }
.project-memory-grid li code { color: var(--accent); font-size: 7px; }
.project-memory-grid li span, .project-memory-grid li small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.project-workspace-grid { min-height: 640px; display: grid; grid-template-columns: minmax(220px, 28%) minmax(0, 1fr); gap: 18px; padding-top: 18px; }
.project-entities { min-width: 0; display: grid; align-content: start; gap: 18px; }
.project-entities > section { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: rgba(17, 20, 17, .72); }
.project-entities > section > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.project-entities h3 { margin: 5px 0 0; font: 650 13px var(--font-display); }
.project-entities > section > header button { width: 29px; height: 29px; border: 1px solid var(--line); border-radius: 7px; background: var(--panel-2); color: var(--accent); cursor: pointer; }
.project-card-list { display: grid; gap: 7px; }
.project-entity-card { width: 100%; display: grid; gap: 6px; padding: 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); color: var(--text); text-align: left; cursor: pointer; }
.project-entity-card:hover, .project-entity-card.selected { border-color: var(--line-strong); background: var(--panel-2); }
.project-entity-card.selected { box-shadow: inset 2px 0 var(--accent); }
.project-entity-id { color: var(--accent); font: 8px var(--font-mono); letter-spacing: .08em; }
.project-entity-card h3, .project-thread-card h3 { margin: 0; font: 600 11px/1.25 var(--font-display); }
.project-entity-card p, .project-thread-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.project-entity-card footer, .project-thread-card footer { display: flex; align-items: center; gap: 6px; margin-top: 2px; color: var(--faint); font: 7px var(--font-mono); }
.project-entity-card footer i { margin-left: auto; font-style: normal; }
.project-entity-empty { margin: 0; padding: 12px 5px; color: var(--faint); font-size: 9px; line-height: 1.5; }
.project-thread-card { display: grid; gap: 7px; padding: 11px; border-left: 2px solid var(--blue); border-radius: 3px 8px 8px 3px; background: var(--panel); }
.project-thread-card.done { border-left-color: var(--green); opacity: .78; }
.project-thread-card.success { border-left-color: var(--green); }
.project-thread-card.failed, .project-thread-card.protocol_error, .project-thread-card.timeout { border-left-color: var(--red); }
.project-thread-card > header { display: flex; color: var(--blue); font: 8px var(--font-mono); }
.project-thread-card > header i { margin-left: auto; color: var(--faint); font-style: normal; }
.project-thread-card footer button { padding: 4px 7px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: var(--muted); font-size: 8px; cursor: pointer; }
.project-thread-card footer code + button { margin-left: auto; }
.thread-result-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin: 3px 0; padding: 10px; border: 1px solid var(--line); border-radius: 7px; background: rgba(8, 10, 9, .56); }
.thread-result-card > div { min-width: 0; }
.thread-result-card dt { color: var(--faint); font: 7px var(--font-mono); text-transform: uppercase; }
.thread-result-card dd { margin: 3px 0 0; overflow-wrap: anywhere; color: var(--muted); font: 8px/1.45 var(--font-mono); }

.project-editor { min-width: 0; min-height: 620px; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 12px; background: #0e110f; box-shadow: 0 24px 70px rgba(0, 0, 0, .22); }
.project-editor-head { min-height: 60px; display: flex; align-items: center; gap: 12px; padding: 10px 15px; border-bottom: 1px solid var(--line); background: var(--panel); }
.project-editor-head h3 { margin: 6px 0 0; font: 650 13px var(--font-display); }
.project-editor-head h3 span { margin-left: 7px; color: var(--faint); font: 8px var(--font-mono); }
.project-editor-head > code { margin-left: auto; padding: 5px 7px; border: 1px solid var(--line); border-radius: 5px; color: var(--faint); font-size: 8px; }
.project-model-toolbar { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 14px; align-items: end; padding: 10px 15px; border-bottom: 1px solid var(--line); background: rgba(18, 23, 19, .9); }
.project-model-toolbar label { display: grid; gap: 4px; color: var(--faint); font: 7px var(--font-mono); text-transform: uppercase; }
.project-model-toolbar select { min-width: 90px; height: 30px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel-2); color: var(--text); }
.project-model-toolbar > div { min-width: 0; display: flex; flex-wrap: wrap; gap: 5px; }
.project-model-toolbar button { min-height: 30px; padding: 0 8px; border: 1px solid var(--line); border-radius: 6px; background: transparent; color: var(--muted); font-size: 8px; cursor: pointer; }
.project-model-toolbar button:hover { border-color: var(--accent); color: var(--text); }
.project-model-toolbar button.fresh-view { border-color: rgba(89, 141, 255, .42); background: rgba(89, 141, 255, .08); color: #a8c1ff; }
.project-model-toolbar small { grid-column: 1 / -1; color: var(--faint); font: 7px var(--font-mono); }
.project-approval-gate { display: grid; gap: 10px; padding: 12px 15px; border-bottom: 1px solid var(--line); background: repeating-linear-gradient(115deg, rgba(233, 170, 81, .035) 0 12px, transparent 12px 24px), #101411; }
.project-approval-gate.ready { background: repeating-linear-gradient(115deg, rgba(92, 197, 139, .045) 0 12px, transparent 12px 24px), #101411; }
.project-approval-gate.approved { box-shadow: inset 3px 0 var(--accent); background: repeating-linear-gradient(115deg, rgba(231, 188, 104, .05) 0 12px, transparent 12px 24px), #101411; }
.project-approval-gate > header, .project-approval-gate > footer { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.project-approval-gate h3 { margin: 4px 0 0; color: var(--text); font: 620 12px var(--font-display); }
.project-approval-gate > header > code { color: var(--faint); font-size: 8px; }
.project-readiness-rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.project-readiness-rail button { min-width: 0; display: flex; align-items: center; gap: 5px; min-height: 25px; padding: 0 7px; overflow: hidden; border: 1px solid var(--line); border-radius: 4px; background: rgba(8, 10, 9, .65); color: var(--faint); font: 7px var(--font-mono); cursor: pointer; text-align: left; }
.project-readiness-rail button > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-readiness-rail button.pass { border-color: rgba(92, 197, 139, .22); color: var(--green); }
.project-readiness-rail button.miss { border-color: rgba(233, 170, 81, .32); color: var(--amber); }
.project-readiness-rail button:hover { border-color: currentColor; }
.project-gate-loading { color: var(--faint); font-size: 8px; }
.project-approval-gate > footer p { min-width: 0; margin: 0; overflow: hidden; color: var(--faint); font-size: 8px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.project-approval-gate > footer > div { flex: 0 0 auto; display: flex; gap: 5px; }
#project-document-editor { width: 100%; min-height: 485px; flex: 1; resize: vertical; padding: 24px clamp(18px, 4vw, 56px); border: 0; outline: 0; background: transparent; color: #e3e4df; font: 13px/1.65 var(--font-mono); tab-size: 2; }
#project-document-editor::selection { background: rgba(231, 188, 104, .22); }
.project-editor-toolbar { min-height: 55px; display: flex; flex-wrap: wrap; align-items: center; gap: 7px; padding: 8px 11px; border-top: 1px solid var(--line); background: var(--panel); }
.project-version-picker { min-width: 180px; display: flex; align-items: center; gap: 7px; }
.project-version-picker label { color: var(--faint); font: 7px var(--font-mono); text-transform: uppercase; }
.project-version-picker select { min-width: 0; max-width: 260px; height: 31px; flex: 1; border: 1px solid var(--line); border-radius: 6px; background: var(--panel-2); color: var(--muted); font-size: 8px; }
.project-button { min-height: 32px; padding: 0 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--panel-2); color: var(--muted); font-size: 9px; cursor: pointer; }
.project-button:hover:not(:disabled) { border-color: var(--line-strong); color: var(--text); }
.project-button.primary { border-color: var(--accent); background: var(--accent); color: #18140d; font-weight: 700; }
.project-button:disabled { opacity: .4; cursor: not-allowed; }
.project-save-state { margin-left: auto; color: var(--faint); font-size: 8px; }
.project-diff { max-height: 300px; margin: 0; overflow: auto; padding: 18px; border-top: 1px solid var(--line); background: #090b0a; color: #c7cdc7; font: 10px/1.5 var(--font-mono); white-space: pre; }
.project-loading, .project-empty { min-height: 100%; display: grid; place-content: center; justify-items: center; gap: 12px; color: var(--faint); }
.project-loading i { width: 24px; height: 24px; border: 2px solid var(--line); border-top-color: var(--accent); border-radius: 50%; animation: project-spin .8s linear infinite; }
.project-empty h2 { margin: 0; color: var(--text); font: 650 20px var(--font-display); }
.project-empty p { margin: 0; }
@keyframes project-spin { to { transform: rotate(360deg); } }

.project-dialog { width: min(520px, calc(100vw - 32px)); padding: 0; border: 1px solid var(--line-strong); border-radius: 14px; background: var(--panel); color: var(--text); box-shadow: 0 35px 120px rgba(0, 0, 0, .65); }
.project-dialog::backdrop { background: rgba(2, 4, 3, .76); backdrop-filter: blur(3px); }
.project-dialog-card > header { display: flex; align-items: center; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.project-dialog-card h2 { margin: 6px 0 0; font: 650 20px var(--font-display); }
.project-dialog-card > header button { width: 31px; height: 31px; margin-left: auto; border: 0; background: transparent; color: var(--muted); cursor: pointer; }
.project-dialog-fields { display: grid; gap: 13px; padding: 20px; }
.project-dialog-fields label { display: grid; gap: 6px; color: var(--muted); font-size: 9px; }
.project-dialog-fields input, .project-dialog-fields textarea, .project-dialog-fields select { width: 100%; border: 1px solid var(--line); border-radius: 7px; outline: 0; background: #0b0e0c; color: var(--text); }
.project-dialog-fields input, .project-dialog-fields select { height: 38px; padding: 0 10px; }
.project-dialog-fields textarea { padding: 10px; resize: vertical; }
.project-dialog-note { margin: 0; color: var(--faint); font-size: 8px; line-height: 1.5; }
.project-budget-contract { display: grid; gap: 5px; padding: 11px; border: 1px solid rgba(231, 188, 104, .28); border-radius: 8px; background: rgba(231, 188, 104, .045); }
.project-budget-contract span { color: var(--accent); font: 7px var(--font-mono); text-transform: uppercase; }
.project-budget-contract b { color: var(--text); font: 650 11px var(--font-display); }
.project-budget-contract p { margin: 0; color: var(--muted); font: 8px/1.5 var(--font-mono); }
.project-result-meta { display: flex; justify-content: space-between; gap: 8px; color: var(--faint); font: 8px var(--font-mono); }
.project-fresh-contract { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 4px 9px; padding: 14px; border: 1px solid rgba(89, 141, 255, .28); border-radius: 8px; background: rgba(89, 141, 255, .055); }
.project-fresh-contract b { color: #a8c1ff; font: 700 18px var(--font-display); }
.project-fresh-contract span { color: var(--muted); font-size: 9px; }
.project-fresh-contract p { grid-column: 1 / -1; margin: 5px 0 0; color: var(--faint); font-size: 8px; line-height: 1.55; }
.project-approval-summary { display: grid; gap: 8px; padding: 13px; border: 1px solid rgba(231, 188, 104, .28); border-radius: 8px; background: var(--accent-wash); }
.project-approval-summary span { color: var(--accent-strong); font: 8px var(--font-mono); }
.project-approval-summary code { overflow-wrap: anywhere; color: var(--text); font-size: 8px; }
.project-approval-summary p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.project-dialog-fields label.project-confirm { grid-template-columns: 18px 1fr; align-items: center; color: var(--text); }
.project-dialog-fields label.project-confirm input { width: 16px; height: 16px; margin: 0; accent-color: var(--accent); }
.project-review-dialog { width: min(940px, calc(100vw - 32px)); }
.project-review-dialog .project-dialog-card { max-height: min(90vh, 920px); display: flex; flex-direction: column; }
.project-review-body { min-height: 0; overflow: auto; }
.project-review-artifact, .project-final-diff { display: grid; gap: 7px; }
.project-review-artifact > span, .project-final-diff > header > span { color: var(--accent-strong); font: 8px var(--font-mono); text-transform: uppercase; letter-spacing: .06em; }
.project-review-artifact.response > span { color: var(--blue); }
.project-review-artifact pre, .project-hunk pre, .project-conflict-diff { max-height: 240px; margin: 0; overflow: auto; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: #090b0a; color: #c7cdc7; font: 9px/1.55 var(--font-mono); white-space: pre-wrap; overflow-wrap: anywhere; }
.project-final-diff > header { display: flex; justify-content: space-between; gap: 10px; }
.project-final-diff > header code { color: var(--faint); font-size: 7px; }
.project-hunk-list { display: grid; gap: 6px; }
.project-dialog-fields label.project-hunk { grid-template-columns: 18px minmax(0, 1fr); align-items: start; gap: 9px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: rgba(10, 12, 11, .45); }
.project-dialog-fields label.project-hunk input { width: 15px; height: 15px; margin: 2px 0 0; accent-color: var(--accent); }
.project-hunk > span { min-width: 0; display: grid; gap: 5px; }
.project-hunk b { color: var(--text); font: 8px var(--font-mono); }
.project-hunk small { color: var(--faint); font: 7px var(--font-mono); }
.project-hunk pre { max-height: 150px; }
.project-review-conflict { margin: 0; padding: 10px 12px; border-left: 2px solid var(--amber); background: rgba(233, 170, 81, .06); color: var(--amber); font-size: 9px; line-height: 1.5; }
.project-button.danger { border-color: rgba(255, 133, 133, .34); color: var(--red); }
.project-dialog-fields input:focus, .project-dialog-fields textarea:focus, .project-dialog-fields select:focus { border-color: var(--accent); }
.project-dialog-error { min-height: 16px; margin: 0 20px; color: var(--red); font-size: 9px; }
.project-dialog-card > footer { display: flex; justify-content: flex-end; gap: 7px; padding: 14px 20px 18px; }

.project-insights { display: grid; gap: 14px; padding: 18px 0 4px; }
.project-insights > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.project-insights > header h3 { margin: 5px 0 3px; color: var(--text); font: 680 18px var(--font-display); }
.project-insights > header p:last-child { margin: 0; color: var(--faint); font-size: 8px; }
.project-insights-empty { margin: 0; padding: 28px; border: 1px dashed var(--line); border-radius: 10px; color: var(--faint); text-align: center; }
.activity-summary { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.activity-summary > div { min-width: 0; display: grid; gap: 5px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); }
.activity-summary span { overflow: hidden; color: var(--faint); font: 7px var(--font-mono); text-overflow: ellipsis; white-space: nowrap; }
.activity-summary b { color: var(--text); font: 700 18px var(--font-display); }
.activity-list { display: grid; gap: 7px; }
.activity-item { min-width: 0; display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 9px; background: rgba(16, 20, 17, .78); }
.activity-item.unread { border-color: var(--line-strong); box-shadow: inset 3px 0 var(--accent); }
.activity-item.read { opacity: .66; }
.activity-shape { width: 13px; height: 13px; justify-self: center; border: 2px solid var(--faint); }
.activity-item.running .activity-shape { border-color: var(--blue); border-radius: 50%; box-shadow: 0 0 0 3px rgba(89, 141, 255, .1); }
.activity-item.needs_decision .activity-shape { border-color: var(--amber); transform: rotate(45deg); }
.activity-item.ready_review .activity-shape { border-color: var(--accent); border-radius: 3px; }
.activity-item.blocked .activity-shape { width: 15px; height: 13px; border: 0; background: var(--red); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.activity-item.completed_unread .activity-shape { border-color: var(--green); border-radius: 50% 50% 3px 50%; }
.activity-item > div { min-width: 0; }
.activity-item > div > header { display: flex; align-items: center; gap: 9px; }
.activity-item > div > header b { color: var(--text); font: 650 10px var(--font-display); }
.activity-item > div > header code { color: var(--accent); font-size: 7px; }
.activity-item p { margin: 5px 0 3px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.activity-item small { color: var(--faint); font: 7px var(--font-mono); }
.activity-item > footer { display: flex; align-items: center; gap: 5px; }
.activity-item > footer button { min-height: 28px; padding: 0 8px; border: 1px solid var(--line); border-radius: 6px; background: transparent; color: var(--muted); font-size: 8px; cursor: pointer; }
.activity-item > footer span { color: var(--faint); font: 7px var(--font-mono); }

.metric-filters { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.metric-filters label { min-width: 0; display: grid; gap: 4px; color: var(--faint); font: 7px var(--font-mono); text-transform: uppercase; }
.metric-filters select { min-width: 0; height: 32px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel-2); color: var(--text); font-size: 8px; }
.metric-limits { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.metric-limits > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 13px; border-bottom: 1px solid var(--line); }
.metric-limits h4, .metric-limits p { margin: 0; }
.metric-limits h4 { color: var(--text); font: 650 12px var(--font-display); }
.metric-limits p { margin-top: 3px; color: var(--faint); font-size: 8px; }
.metric-limits > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.metric-limits article { min-width: 0; display: grid; gap: 4px; padding: 11px 13px; border-right: 1px solid var(--line); }
.metric-limits article:last-child { border-right: 0; }
.metric-limits article.exhausted { background: rgba(220, 79, 72, .07); }
.metric-limits article span { color: var(--faint); font: 7px var(--font-mono); text-transform: uppercase; }
.metric-limits article b { overflow: hidden; color: var(--text); font: 650 10px var(--font-display); text-overflow: ellipsis; white-space: nowrap; }
.metric-limits article.exhausted b { color: var(--red); }
.metric-limits article small { overflow: hidden; color: var(--muted); font: 7px var(--font-mono); text-overflow: ellipsis; white-space: nowrap; }
.metric-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.metric-kpis article { min-width: 0; display: grid; gap: 5px; padding: 13px; border: 1px solid var(--line); border-radius: 9px; background: linear-gradient(140deg, rgba(231, 188, 104, .035), var(--panel)); }
.metric-kpis span { color: var(--faint); font: 7px var(--font-mono); text-transform: uppercase; }
.metric-kpis b { color: var(--text); font: 700 21px var(--font-display); }
.metric-kpis small { overflow: hidden; color: var(--muted); font: 8px var(--font-mono); text-overflow: ellipsis; white-space: nowrap; }
.metric-section { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: rgba(14, 17, 15, .8); }
.metric-section > header { display: flex; justify-content: space-between; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.metric-section h4 { margin: 0; color: var(--text); font: 650 12px var(--font-display); }
.metric-section > header span { color: var(--faint); font: 7px var(--font-mono); }
.metric-table { min-width: 680px; }
.metric-row { display: grid; grid-template-columns: 1.1fr repeat(5, minmax(78px, 1fr)); gap: 8px; padding: 10px 14px; border-bottom: 1px solid rgba(49, 57, 51, .45); color: var(--muted); font: 8px var(--font-mono); }
.metric-row.head { color: var(--faint); font-size: 7px; text-transform: uppercase; }
.metric-row b { color: var(--accent); }
.metric-models { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 10px; }
.metric-models article { min-width: 0; display: grid; gap: 8px; padding: 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); }
.metric-models article > header { display: grid; grid-template-columns: auto 1fr auto; gap: 7px; align-items: center; }
.metric-models code { color: var(--accent); font-size: 7px; }
.metric-models b { overflow: hidden; color: var(--text); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.metric-models header span { color: var(--blue); font: 7px var(--font-mono); }
.metric-models dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin: 0; }
.metric-models dl > div { min-width: 0; }
.metric-models dt { color: var(--faint); font: 7px var(--font-mono); }
.metric-models dd { margin: 3px 0 0; overflow: hidden; color: var(--muted); font: 8px var(--font-mono); text-overflow: ellipsis; white-space: nowrap; }
.metric-models article > small { color: var(--faint); font: 7px var(--font-mono); }

.project-mini-graph { display: grid; gap: 12px; }
.project-mini-graph > header { padding: 2px 0 10px; border-bottom: 1px solid var(--line); }
.project-mini-graph > header code { color: var(--accent); font-size: 7px; }
.project-mini-graph > header h3 { margin: 5px 0; color: var(--text); font: 680 16px var(--font-display); }
.project-mini-graph > header p { margin: 0; color: var(--faint); font-size: 8px; }
.project-mini-graph ol { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.project-mini-graph li { position: relative; min-width: 0; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 9px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: #0b0e0c; }
.project-mini-graph li:not(:last-child)::after { position: absolute; left: 24px; bottom: -7px; width: 1px; height: 8px; background: var(--line-strong); content: ""; }
.graph-node-shape { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid var(--faint); border-radius: 5px; color: var(--faint); font: 7px var(--font-mono); }
.project-mini-graph li.done .graph-node-shape { border-color: var(--green); color: var(--green); }
.project-mini-graph li.active .graph-node-shape { border-color: var(--blue); border-radius: 50%; color: var(--blue); }
.project-mini-graph li.failed .graph-node-shape { border-color: var(--red); transform: rotate(45deg); color: var(--red); }
.project-mini-graph li.failed .graph-node-shape { line-height: 1; }
.project-mini-graph li > div { min-width: 0; }
.project-mini-graph li b { color: var(--text); font: 650 10px var(--font-display); }
.project-mini-graph li small { margin-left: 7px; color: var(--faint); font: 7px var(--font-mono); }
.project-mini-graph li p { margin: 4px 0 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.project-mini-graph details { margin-top: 7px; }
.project-mini-graph summary { color: var(--accent); font: 7px var(--font-mono); cursor: pointer; }
.project-mini-graph details code { display: block; margin-top: 4px; overflow-wrap: anywhere; color: var(--faint); font-size: 7px; }

@media (max-width: 1180px) {
  .project-workspace-grid { grid-template-columns: 230px minmax(0, 1fr); }
  .project-room { padding: 18px; }
  .project-save-state { display: none; }
  .project-editor-toolbar { flex-wrap: wrap; }
  .activity-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .project-room { padding: 14px 12px 80px; }
  .project-room-head { align-items: flex-start; }
  .project-id { min-width: 58px; width: 58px; height: 58px; font-size: 10px; }
  .project-room-title h2 { font-size: 20px; }
  .project-room-actions { display: grid; }
  .project-room-actions button { min-height: 28px; }
  .project-workspace-grid { min-height: 0; grid-template-columns: 1fr; }
  .project-memory-grid { grid-template-columns: 1fr; }
  .project-memory-grid ol { display: none; }
  .project-entities { grid-template-columns: minmax(0, 1fr); }
  .project-card-list { grid-auto-flow: column; grid-auto-columns: minmax(210px, 78vw); overflow-x: auto; scroll-snap-type: x proximity; }
  .project-entity-card, .project-thread-card { scroll-snap-align: start; }
  .project-editor { min-height: 650px; }
  .project-model-toolbar { grid-template-columns: 1fr; align-items: stretch; }
  .project-approval-gate > header, .project-approval-gate > footer { align-items: flex-start; flex-direction: column; }
  .project-approval-gate > footer p { white-space: normal; }
  .project-approval-gate > footer > div { width: 100%; }
  .project-approval-gate > footer .project-button { flex: 1; }
  .project-readiness-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-sections { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; }
  .project-sections span { display: none; }
  .project-insights > header { align-items: stretch; flex-direction: column; }
  .activity-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .activity-item { grid-template-columns: 20px minmax(0, 1fr); }
  .activity-item > footer { grid-column: 2; flex-wrap: wrap; }
  .metric-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-limits > header { align-items: flex-start; flex-direction: column; }
  .metric-limits > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-limits article:nth-child(2) { border-right: 0; }
  .metric-limits article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .metric-kpis { grid-template-columns: 1fr; }
  .metric-models { grid-template-columns: 1fr; }
  .metric-section { overflow-x: auto; }
  #project-document-editor { min-height: 480px; padding: 18px 14px; font-size: 11px; }
  .project-editor-toolbar { align-items: stretch; }
  .project-version-picker { width: 100%; }
  .project-version-picker select { max-width: none; }
  .project-editor-toolbar .project-button { flex: 1 1 auto; }
  .project-review-dialog .project-dialog-card > footer { flex-wrap: wrap; }
  .project-review-dialog .project-dialog-card > footer .project-button { flex: 1 1 44%; }
}

@media (max-width: 960px) {
  .mobile-tabs { grid-template-columns: repeat(5, 1fr); }
  .sidebar-collapsed .project-nav { display: block; }
  .sidebar-collapsed .project-add { display: initial; }
}

@media (prefers-reduced-motion: reduce) {
  .project-loading i { animation: none; }
}
