/* Workspace controllers share semantic status and layout primitives. */
.topbar {flex-wrap:wrap;gap:12px 20px;padding:12px 24px;}
.topbar .tabs {order:3;width:100%;gap:8px;border-top:1px solid var(--border);padding-top:8px;}
.topbar-right {gap:8px;}
.ws-utilities {position:relative;}
.ws-utilities summary {list-style:none;cursor:pointer;}
.ws-utilities summary::-webkit-details-marker {display:none;}
.ws-utility-menu {position:absolute;right:0;top:48px;min-width:210px;background:var(--surface);border:1px solid var(--border);padding:8px;box-shadow:0 8px 32px rgba(0,0,0,.12);border-radius:12px;z-index:20;}
.ws-utility-menu .tab {display:block;width:100%;text-align:left;}
#workspace-bar {display:flex;align-items:center;gap:16px;padding:12px 28px;background:var(--surface);border-bottom:1px solid var(--border);}
#workspace-bar label {margin:0;display:flex;align-items:center;gap:10px;}
#ws-project {max-width:320px;}
#ws-identity {margin-left:auto;}
.ws-heading {display:flex;justify-content:space-between;align-items:center;gap:24px;margin:8px 0 28px;}
.ws-heading h1 {font-size:clamp(28px,3.5vw,44px);letter-spacing:-.045em;line-height:1.15;margin-bottom:12px;}
.ws-heading h2 {font-size:26px;}
.ws-heading p {max-width:760px;}
.ws-project-grid,.ws-leaders {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:18px;}
.ws-project {display:flex;flex-direction:column;gap:12px;}
.ws-project h2 {font-size:25px;}
.ws-actions {display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.ws-chips {display:flex;flex-wrap:wrap;gap:6px;margin:10px 0;}
.ws-chips span,.ws-asset-label {color:var(--text-sec);background:var(--bg);padding:4px 8px;border-radius:6px;font-size:12px;}
.ws-counts {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:28px;}
.ws-count {display:flex;flex-direction:column;align-items:flex-start;padding:22px;background:var(--card);border:1px solid var(--border);border-radius:12px;cursor:pointer;color:var(--text-pri);}
.ws-count b,.ws-big {font:700 32px var(--display);}
.ws-count span {color:var(--text-sec);margin-top:8px;}
.ws-row {padding:14px 0;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.ws-row>span:first-child,.ws-row>b:first-child {flex:1;min-width:150px;}
.ws-row:last-child {border-bottom:0;}
.ws-empty {border:1px dashed var(--border);padding:32px;color:var(--text-sec);border-radius:12px;line-height:1.7;}
.ws-create-layout {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px;align-items:start;}
.ws-form input:not([type=checkbox]),.ws-form select,.ws-detail input:not([type=checkbox]),.ws-detail select,.ws-variant select,.ws-variant input {width:100%;}
.ws-form-grid {display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ws-review {position:sticky;top:155px;}
.ws-more {border-top:1px solid var(--border);padding:16px 0;margin-top:16px;}
.ws-more summary {cursor:pointer;color:var(--text-sec);}
.ws-notice {padding:18px;margin:16px 0;background:var(--bg);border-radius:10px;border:1px solid var(--border);}
.ws-check {display:flex;align-items:center;gap:9px;margin:14px 0;}
.ws-asset-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.45fr);gap:24px;align-items:start;}
.ws-asset-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;}
.ws-asset {display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px;text-align:left;color:var(--text-pri);cursor:pointer;overflow:hidden;}
.ws-asset:hover {border-color:var(--accent);}
.ws-asset img,.ws-asset-placeholder {width:100%;height:160px;object-fit:cover;border-radius:8px;background:var(--bg);}
.ws-asset-placeholder {display:grid;place-items:center;font:32px var(--display);color:var(--text-dim);}
.ws-asset b {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ws-detail {background:var(--card);border:1px solid var(--border);padding:22px;border-radius:12px;position:sticky;top:155px;max-height:calc(100vh - 175px);overflow:auto;}
.ws-detail-head {display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px;}
.ws-detail video,.ws-detail img {width:100%;max-height:400px;object-fit:contain;border-radius:8px;}
.ws-detail h3 {margin-top:24px;}
.ws-detail pre,.ws-review pre {white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;font-size:12px;}
.ws-issues {display:grid;gap:14px;}
.ws-issue h2 {font-size:20px;margin:12px 0;}
.ws-issue p {margin-bottom:12px;}
.ws-variant {padding:16px;margin:18px 0;border:1px solid var(--border);border-radius:8px;}
#ws-results {margin-top:44px;padding-top:28px;border-top:1px solid var(--border);}
.ws-role select {max-width:220px;}
@media(max-width:900px){.ws-create-layout,.ws-asset-layout {grid-template-columns:1fr;}.ws-review,.ws-detail {position:static;max-height:none;}.ws-counts {grid-template-columns:repeat(3,1fr);}.topbar-right .acting {display:none;}.ws-detail {scroll-margin-top:160px;}}
@media(max-width:600px){.topbar {padding:10px 14px;gap:8px;}.topbar-right {gap:4px;}.topbar-right #open-guide,.topbar-right #open-create {display:none;}.topbar .tabs {gap:2px;justify-content:space-between;}.tabs>.tab {padding:9px 7px;font-size:13px;}#workspace-bar {padding:10px 16px;gap:10px;flex-wrap:wrap;}#workspace-bar label {flex:1;}#ws-project {width:100%;max-width:230px;}#ws-identity {display:none;}main {padding:20px 16px 60px;}.ws-heading {align-items:flex-start;flex-direction:column;gap:16px;}.ws-counts {gap:8px;}.ws-count {padding:14px;}.ws-count b {font-size:27px;}.ws-form-grid {grid-template-columns:1fr;gap:0;}.ws-asset-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.ws-asset img,.ws-asset-placeholder {height:130px;}.ws-role {align-items:flex-start;flex-direction:column;}.ws-project-grid,.ws-leaders {grid-template-columns:1fr;}.ws-utility-menu {right:-8px;}#theme-toggle {font-size:0;padding:8px;}#theme-toggle::first-letter {font-size:16px;}#logout {font-size:12px;padding:7px;}}

.ws-run-filters {display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px;}
.ws-runs {width:100%;border-collapse:collapse;}
.ws-runs th,.ws-runs td {text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:top;}
.ws-runs th {font-size:12px;color:var(--text-sec);font-weight:600;}
.ws-runs td:first-child {white-space:nowrap;}
.ws-run-error {color:var(--red);margin-top:4px;}
