* { box-sizing: border-box; }
body { margin:0; min-height:100vh; color:var(--obra-color-body); background:var(--obra-surface-canvas); font-family:var(--obra-font-family); }
button, select { font:inherit; }
.demo-shell { min-height:100vh; display:grid; grid-template-columns:var(--obra-sidebar-width) minmax(0,1fr); }
.demo-sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:var(--obra-space-m) 0; overflow:hidden; background:var(--obra-sidebar-bg); color:var(--obra-sidebar-text); }
.demo-brand { display:flex; align-items:center; gap:var(--obra-space-s); padding:0 var(--obra-space-l) var(--obra-space-l); color:var(--obra-sidebar-text); text-decoration:none; }
.demo-brand img { display:block; width:64px; height:64px; object-fit:contain; }
.demo-brand strong { font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; }
.demo-mode { display:grid; grid-template-columns:auto 1fr; column-gap:.55rem; align-items:center; margin:0 var(--obra-space-l) var(--obra-space-m); padding:.65rem .75rem; border:1px solid rgba(255,255,255,.12); border-radius:var(--obra-radius-sm); background:rgba(255,255,255,.05); }
.demo-mode > span { grid-row:1/3; width:8px; height:8px; border-radius:50%; background:var(--obra-color-secondary); }
.demo-mode strong { font-size:.68rem; letter-spacing:.08em; }.demo-mode small{color:var(--obra-sidebar-muted);font-size:.72rem;}
.demo-nav { display:grid; gap:var(--obra-space-2xs); overflow:auto; padding-bottom:96px; }
.demo-nav button { display:flex; gap:12px; align-items:center; width:100%; min-height:42px; padding:10px 20px; border:0; border-left:3px solid transparent; color:rgba(255,255,255,.64); background:transparent; text-align:left; font-weight:600; cursor:pointer; transition:background .18s ease,color .18s ease,border-color .18s ease; }
.demo-nav button:hover,.demo-nav button.active { color:var(--obra-sidebar-text); background:var(--obra-color-brand-glow); border-left-color:var(--obra-color-primary); }
.demo-nav button span { display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;opacity:.9; }
.demo-nav button span svg { display:block;width:20px;height:20px; }
.demo-sidebar-foot { position:absolute; left:0; right:0; bottom:0; display:grid; grid-template-columns:36px minmax(0,1fr); gap:var(--obra-space-s); align-items:center; padding:var(--obra-space-l); border-top:1px solid rgba(255,255,255,.1); background:var(--obra-sidebar-bg); }
.demo-avatar { display:grid;place-items:center;width:36px;height:36px;border-radius:999px;background:var(--obra-color-brand-gradient);color:#fff;font-size:.76rem;font-weight:800; }
.demo-sidebar-foot strong,.demo-sidebar-foot span{display:block}.demo-sidebar-foot strong{font-size:.86rem}.demo-sidebar-foot span{margin-top:.1rem;color:var(--obra-sidebar-muted);font-size:.72rem}
.demo-main { min-width:0; width:min(calc(100% - 2 * var(--obra-space-xl)),var(--obra-content-max)); margin:0 auto; padding:var(--obra-space-xl) 0 2.5rem; display:grid; gap:.85rem; align-content:start; }
.demo-topbar { min-height:58px; display:flex;gap:1.5rem;align-items:flex-end;justify-content:space-between;padding:0 0 .3rem; }
.demo-eyebrow { margin:0;color:var(--obra-color-ink);font-size:clamp(1.3rem,2.4vw,1.75rem);font-weight:700;letter-spacing:-.03em; }
.demo-topbar h1 { margin:.25rem 0 0;color:var(--obra-color-muted);font-size:.92rem;font-weight:500;letter-spacing:0; }
.demo-top-actions { display:flex;gap:.6rem;align-items:end; }
.role-switch { display:grid;gap:.25rem;color:var(--obra-color-muted);font-size:.72rem;font-weight:650; }
.role-switch select { min-width:190px;height:42px;padding:0 .75rem;border:var(--obra-border-subtle);border-radius:var(--obra-radius-sm);background:var(--obra-input-bg);color:var(--obra-color-ink);font-weight:650; }
.demo-icon-btn,.demo-exit { display:grid;place-items:center;height:42px;padding:0 .85rem;border:var(--obra-border-subtle);border-radius:var(--obra-radius-sm);background:var(--obra-surface-white);color:var(--obra-color-ink);font-weight:650;text-decoration:none;cursor:pointer; }
.read-only-banner { display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;align-items:center;padding:.8rem 1rem;border:1px solid color-mix(in srgb,var(--obra-color-primary) 25%,transparent);border-radius:var(--obra-radius-md);background:var(--obra-color-primary-soft);color:var(--obra-color-primary-strong); }
.lock-icon { display:grid;place-items:center;width:34px;height:34px;border-radius:var(--obra-radius-sm);background:var(--obra-surface-white);font-weight:800; }
.read-only-banner strong,.read-only-banner p{display:block;margin:0}.read-only-banner p{margin-top:.15rem;color:var(--obra-color-muted);font-size:.82rem}
.read-only-banner button,.demo-cta button { min-height:42px;padding:0 var(--obra-btn-padding-x);border:0;border-radius:var(--obra-radius-sm);background:var(--obra-color-brand-gradient);color:#fff;font-weight:700;cursor:pointer; }
.demo-content { display:grid;gap:.9rem; }
.demo-kpis { display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:0;min-height:104px;padding:.7rem .45rem;border:var(--obra-border-subtle);border-radius:18px;background:color-mix(in srgb,var(--obra-surface-white) 88%,transparent); }
.demo-card { min-width:0;padding:1rem 1.1rem;border:var(--obra-border-subtle);border-radius:var(--obra-radius-lg);background:var(--obra-surface-white);box-shadow:var(--obra-shadow-card); }
.kpi-card { min-height:82px;padding:.65rem .95rem;border:0;border-radius:0;background:transparent;box-shadow:none; }
.kpi-card::before,.kpi-card::after { display:none!important;content:none!important; }
.kpi-card:not(:last-child) { border-right:var(--obra-table-divider); }
.kpi-label { margin:0;color:var(--obra-color-muted);font-size:.82rem;font-weight:650; }
.kpi-value { display:block;margin:.3rem 0 .15rem;color:var(--obra-color-ink);font-size:1.55rem;font-weight:750;letter-spacing:-.03em; }
.kpi-note { color:var(--obra-color-muted);font-size:.75rem; }.kpi-note.positive{color:var(--obra-color-secondary)}
.demo-grid-2 { display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:.9rem;align-items:start; }
.card-head { display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.75rem; }
.card-head h2 { margin:0;color:var(--obra-color-ink);font-size:.98rem;letter-spacing:-.02em }.card-head span{color:var(--obra-color-muted);font-size:.78rem}
.sample-action { min-height:34px;padding:.4rem .7rem;border:var(--obra-border-subtle);border-radius:var(--obra-radius-sm);background:var(--obra-surface-subtle);color:var(--obra-color-soft);font-size:.74rem;font-weight:650;cursor:not-allowed;opacity:var(--obra-disabled-opacity); }
.demo-page-toolbar { display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,220px) auto;gap:.75rem;align-items:end;box-shadow:none;padding:.85rem 1rem; }
.demo-page-toolbar label { display:grid;gap:.3rem;color:var(--obra-color-muted);font-size:.72rem;font-weight:650; }
.demo-page-toolbar input,.demo-page-toolbar select { width:100%;height:40px;padding:0 .75rem;border:var(--obra-border-subtle);border-radius:var(--obra-radius-sm);background:var(--obra-input-bg);color:var(--obra-color-ink); }
.demo-page-toolbar input:focus,.demo-page-toolbar select:focus { outline:0;box-shadow:var(--obra-focus-ring); }
.demo-page-toolbar .sample-action { min-height:40px; }
.demo-result-count { white-space:nowrap; }
.demo-table-wrap{overflow:auto}.demo-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:.82rem}.demo-table th{padding:.62rem;text-align:left;color:var(--obra-color-muted);background:var(--obra-table-header-bg);border-bottom:var(--obra-table-divider);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}.demo-table td{padding:.72rem .62rem;border-bottom:var(--obra-table-divider)}.demo-table tr:last-child td{border-bottom:0}.demo-table strong{color:var(--obra-color-ink)}
.demo-no-results { margin:1.25rem 0;text-align:center;color:var(--obra-color-muted);font-size:.82rem; }
.demo-side-list { display:grid;gap:.2rem; }
.demo-side-list>div { display:grid;grid-template-columns:34px 1fr;gap:.7rem;align-items:center;padding:.7rem 0;border-bottom:var(--obra-table-divider); }
.demo-side-list>div:last-child { border-bottom:0; }
.demo-side-icon { display:grid;place-items:center;width:34px;height:34px;border-radius:var(--obra-radius-sm);background:var(--obra-color-primary-soft);color:var(--obra-color-primary); }
.demo-side-icon svg { width:17px;height:17px; }
.demo-side-list p,.demo-side-list strong,.demo-side-list small { display:block;margin:0; }
.demo-side-list strong { color:var(--obra-color-ink);font-size:.8rem; }
.demo-side-list small { margin-top:.15rem;color:var(--obra-color-muted);font-size:.72rem; }
.status-pill { display:inline-flex;padding:.25rem .5rem;border-radius:var(--obra-radius-pill);font-size:var(--obra-font-badge-size);font-weight:700;background:var(--obra-badge-role-bg);color:var(--obra-badge-role-text) }.status-pill.green{background:var(--obra-badge-success-bg);color:var(--obra-badge-success-text)}.status-pill.amber{background:var(--obra-badge-warning-bg);color:var(--obra-badge-warning-text)}.status-pill.blue{background:var(--obra-badge-status-bg);color:var(--obra-badge-status-text)}.status-pill.red{background:var(--obra-badge-danger-bg);color:var(--obra-badge-danger-text)}
.activity-list{display:grid;gap:.2rem}.activity-item{display:grid;grid-template-columns:9px 1fr;gap:.65rem;padding:.65rem 0;border-bottom:var(--obra-table-divider)}.activity-item:last-child{border:0}.activity-item>i{width:9px;height:9px;margin-top:.3rem;border-radius:50%;background:var(--obra-color-primary)}.activity-item strong{color:var(--obra-color-ink);font-size:.82rem}.activity-item span{display:block;margin-top:.15rem;color:var(--obra-color-muted);font-size:.74rem}
.role-summary{display:flex;flex-wrap:wrap;gap:.55rem}.capability{padding:.5rem .7rem;border:var(--obra-border-subtle);border-radius:var(--obra-radius-sm);background:var(--obra-surface-subtle);color:var(--obra-color-body);font-size:.76rem;font-weight:650}.capability::before{content:"✓";margin-right:.4rem;color:var(--obra-color-secondary)}
.demo-cta { display:flex;gap:1.5rem;align-items:center;justify-content:space-between;padding:1.25rem 1.4rem;border:var(--obra-border-subtle);border-radius:var(--obra-radius-lg);background:var(--obra-surface-white);box-shadow:var(--obra-shadow-card);color:var(--obra-color-body) }
.demo-cta p{margin:0 0 .3rem;color:var(--obra-color-primary);font-size:.68rem;font-weight:750;letter-spacing:.1em}.demo-cta h2{margin:0 0 .25rem;color:var(--obra-color-ink);font-size:1.15rem}.demo-cta span{color:var(--obra-color-muted);font-size:.82rem}.demo-cta button{white-space:nowrap}
@media(max-width:1100px){.demo-grid-2{grid-template-columns:1fr}.demo-shell{grid-template-columns:220px 1fr}.demo-main{width:calc(100% - 2rem)}}
@media(max-width:800px){.demo-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-card:nth-child(2n){border-right:0}.kpi-card:nth-child(-n+2){border-bottom:var(--obra-table-divider)}}
@media(max-width:760px){.demo-shell{display:block}.demo-sidebar{position:relative;width:100%;height:auto;padding:.8rem 0}.demo-brand{padding:0 1rem .65rem}.demo-brand img{width:48px;height:48px}.demo-mode,.demo-sidebar-foot{display:none}.demo-nav{display:flex;overflow:auto;padding:0}.demo-nav button{width:auto;white-space:nowrap;border-left:0;border-bottom:3px solid transparent}.demo-nav button.active{border-left:0;border-bottom-color:var(--obra-color-primary)}.demo-main{width:auto;margin:0;padding:1rem}.demo-topbar{align-items:flex-start;flex-direction:column}.demo-top-actions{width:100%;flex-wrap:wrap}.role-switch{flex:1}.role-switch select{width:100%;min-width:150px}.read-only-banner{grid-template-columns:auto 1fr}.read-only-banner button{grid-column:1/-1}.demo-page-toolbar{grid-template-columns:1fr 1fr}.demo-page-toolbar .sample-action{grid-column:1/-1}.demo-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:500px){.demo-kpis{grid-template-columns:1fr;padding:0}.kpi-card,.kpi-card:nth-child(2n){border-right:0}.kpi-card:not(:last-child){border-bottom:var(--obra-table-divider)}.demo-card{padding:.85rem}.kpi-value{font-size:1.35rem}.demo-exit{display:none}}
