:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#f4f7f8;background:#090d10;--bg: #090d10;--surface: #11171c;--surface-2: #151d23;--surface-3: #1c252d;--border: #29343d;--muted: #8d9aa6;--text: #f4f7f8;--accent: #14d8c9;--accent-2: #f4b94a;--radius: 8px}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{overflow:hidden}button,input,textarea,select{font:inherit}button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);font-size:13px;font-weight:750;cursor:pointer}button:hover,button:focus-visible{border-color:var(--accent)}input,textarea,select{width:100%;border:1px solid var(--border);border-radius:var(--radius);background:#0c1115;color:var(--text)}input{height:40px;padding:0 12px}textarea{min-height:94px;padding:12px;resize:vertical}.platform-shell{display:grid;grid-template-columns:264px minmax(0,1fr);width:100vw;height:100vh;background:var(--bg)}.platform-sidebar{display:flex;flex-direction:column;gap:20px;min-width:0;padding:18px;border-right:1px solid var(--border);background:#0d1216}.platform-brand{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:52px;padding:8px;border:0;background:transparent;text-align:left}.platform-logo{width:58px;height:44px;flex:0 0 auto;object-fit:contain}.platform-brand strong,.viewer-company strong{display:block;color:var(--text);font-size:15px}.platform-brand small,.viewer-company span{display:block;color:var(--muted);font-size:12px;font-weight:700}.brand-cube{display:inline-block;width:32px;height:32px;flex:0 0 auto;border-radius:8px;background:linear-gradient(135deg,var(--brand-primary, var(--accent)),var(--brand-secondary, var(--accent-2)));box-shadow:0 0 26px #14d8c933}.brand-cube.large{width:48px;height:48px}.platform-nav{display:grid;gap:8px}.platform-nav button{min-height:42px;padding:0 12px;text-align:left}.platform-nav button.is-active,.toggle-grid button.is-active{border-color:#14d8c9a6;background:#14d8c91a;color:var(--accent)}.access-panel{margin-top:auto;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:#0a0f13}.access-panel span,.tenant-label,.muted{color:var(--muted);font-size:12px;font-weight:750}.access-panel strong{display:block;margin-top:4px}.access-panel p{margin:8px 0 0;color:var(--muted);font-size:13px}.platform-main{min-width:0;overflow:auto}.platform-header{position:sticky;z-index:5;top:0;display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:0 24px;border-bottom:1px solid var(--border);background:#090d10e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.header-actions{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;font-weight:750;text-transform:capitalize}.header-actions button{min-height:34px;padding:0 12px}.page{display:grid;gap:22px;padding:26px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}h1,h2,p{margin:0}.page-heading h1{font-size:32px;line-height:1.1}.page-heading p{margin-top:8px;color:var(--muted)}.primary-action{min-height:42px;padding:0 16px;border-color:#14d8c9a6;background:var(--accent);color:#061010}.primary-action.full{width:100%;margin-top:10px}.stats-grid,.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat,.content-band,.table-surface,.project-card,.settings-grid{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.stat{padding:16px}.stat span,.record-list span,.table-row span,.project-card span,.selection-card span,.comment-list span,dt{color:var(--muted);font-size:12px;font-weight:750}.stat strong{display:block;margin-top:8px;font-size:24px}.content-band{display:grid;gap:16px;padding:18px}.record-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.record-list article{display:grid;gap:5px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#0c1115}.table-surface{overflow:hidden}.table-row{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;align-items:center;gap:12px;min-height:58px;padding:0 16px;border-bottom:1px solid var(--border)}.table-row:last-child{border-bottom:0}.table-head{min-height:42px;background:#0c1115}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-room-grid.compact{grid-template-columns:1fr}.project-card{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px}.project-card h2{margin-top:8px;font-size:20px}.project-card p{margin-top:8px;color:var(--muted)}.project-card button{flex:0 0 auto;min-height:38px;padding:0 12px}.project-room-card{display:grid;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.project-room-card.is-archived,.subproject-card.is-archived{opacity:.82}.project-room-card h2{margin-top:8px;font-size:20px}.project-room-card p{margin-top:8px;color:var(--muted)}.project-room-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0}.project-room-metrics div{display:grid;gap:4px;min-width:0;padding:8px;border:1px solid var(--border);border-radius:7px;background:#0c1115}.project-room-metrics dt{color:var(--muted);font-size:11px;font-weight:800}.project-room-metrics dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--text);font-weight:850}.project-room-actions{display:flex;flex-wrap:wrap;gap:8px}.project-room-actions button{min-height:36px;padding:0 11px}.project-allocation-summary,.project-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.subproject-grid{display:grid;gap:14px}.subproject-grid.compact{gap:10px}.subproject-card{display:grid;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.subproject-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.subproject-card header span,.subproject-card header small,.revision-row span{color:var(--muted);font-size:12px;font-weight:750}.subproject-card h2{margin-top:4px;font-size:20px}.subproject-card p{margin-top:6px;color:var(--muted)}.subproject-card header strong{flex:0 0 auto;color:var(--accent);font-size:13px}.package-management-card{gap:18px}.package-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.subproject-actions{display:flex;flex-wrap:wrap;gap:8px}.subproject-actions button,.revision-row button{min-height:34px;padding:0 11px}button:disabled{cursor:not-allowed;opacity:.45}.revision-history{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius)}.revision-row{display:grid;grid-template-columns:.8fr minmax(160px,1.2fr) .8fr minmax(260px,1fr);align-items:center;gap:10px;min-height:54px;padding:8px 12px;border-bottom:1px solid var(--border)}.revision-row:last-child{border-bottom:0}.revision-row>div{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.revision-head{min-height:38px;background:#0c1115}.empty-state{padding:14px;color:var(--muted)}.limit-warning{padding:11px 13px;border:1px solid rgba(244,185,74,.46);border-radius:var(--radius);background:#f4b94a1a;color:#f3c86a;font-size:13px;font-weight:850}.revision-create-panel,.revision-detail-panel{border-color:#14d8c957}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px}.settings-grid label,.login-panel label{display:grid;gap:8px;color:#dfe7eb;font-size:13px;font-weight:750}.settings-grid .wide{grid-column:1 / -1}.login-screen{display:grid;min-height:100vh;place-items:center;padding:22px;background:radial-gradient(circle at 50% 20%,rgba(20,216,201,.14),transparent 34%),var(--bg)}.login-panel{display:grid;gap:16px;width:min(420px,100%);padding:26px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.login-panel h1{font-size:32px}.login-logo{width:min(260px,100%);height:74px;object-fit:contain;object-position:left center}.license-stats .stat strong{font-size:18px;text-transform:capitalize}.license-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.details-list{display:grid;gap:10px;margin:0}.details-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;min-height:38px;padding:9px 0;border-bottom:1px solid var(--border)}.details-list div:last-child{border-bottom:0}.details-list dd{margin:0;color:var(--text);font-weight:800;text-align:right;text-transform:capitalize}.license-alerts{display:grid;gap:10px}.license-banner{padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius);background:#0c1115;color:var(--text);font-size:13px;font-weight:850}.license-banner.success{border-color:#14d8c96b;background:#14d8c914;color:var(--accent)}.license-banner.warning{border-color:#f4b94a75;background:#f4b94a1a;color:#f3c86a}.license-banner.danger{border-color:#ff897a75;background:#ff897a1a;color:#ffad9f}.license-banner.info{border-color:#95b8d175;background:#95b8d11a;color:#bdd5e7}.status-pill{padding:5px 9px;border:1px solid rgba(20,216,201,.45);border-radius:999px;background:#14d8c914;color:var(--accent);font-size:11px;font-weight:900;text-transform:capitalize}.status-pill.expired,.status-pill.suspended{border-color:#ff897a66;background:#ff897a14;color:#ffad9f}.usage-card strong{font-size:14px}.usage-meter{overflow:hidden;height:10px;border:1px solid var(--border);border-radius:999px;background:#090d10}.usage-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.usage-meter.usage-green span,.allocation-meter.usage-green span{background:linear-gradient(90deg,#14d8c9,#68dfac)}.usage-meter.usage-amber span,.allocation-meter.usage-amber span{background:linear-gradient(90deg,#f4b94a,#f7d778)}.usage-meter.usage-red span,.allocation-meter.usage-red span{background:linear-gradient(90deg,#ff7769,#ffad9f)}.request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.request-grid label{display:grid;gap:8px;color:var(--muted);font-size:13px;font-weight:800}.request-grid .wide{grid-column:1 / -1}.allocation-request-panel textarea,.content-band>textarea{min-height:90px;resize:vertical}.dashboard-top-grid,.dashboard-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dashboard-card{align-content:start}.dashboard-facts,.project-health-metrics{display:grid;gap:8px;margin:0}.dashboard-facts div,.project-health-metrics div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:34px;padding:8px 0;border-bottom:1px solid var(--border)}.dashboard-facts div:last-child,.project-health-metrics div:last-child{border-bottom:0}.dashboard-facts.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-facts.compact div{display:block;min-height:auto;padding:0;border-bottom:0}.dashboard-facts dd,.project-health-metrics dd{margin:0;color:var(--text);font-weight:850;text-align:right;text-transform:capitalize}.allocation-meter{overflow:hidden;height:12px;border:1px solid var(--border);border-radius:999px;background:#090d10}.allocation-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.dashboard-scoreboard{grid-template-columns:repeat(3,minmax(0,1fr))}.project-health-list,.activity-list,.quick-actions,.report-grid{display:grid;gap:12px}.project-health-card{display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,1.4fr) auto;gap:16px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:#0c1115}.project-health-card h3{margin:10px 0 6px;font-size:18px}.project-health-card p,.activity-list p,.report-tile p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.project-health-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.project-health-actions{display:grid;gap:8px}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions button,.project-health-actions button{min-height:42px}.quick-actions small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-tile,.activity-list article{display:grid;gap:6px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#0c1115}.report-tile span,.activity-list span{color:var(--muted);font-size:12px;font-weight:800}.report-tile strong{font-size:24px}.dashboard-empty-list{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#05090cb8}.modal-panel{display:grid;gap:16px;width:min(720px,100%);max-height:min(780px,calc(100vh - 48px));overflow:auto;padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 24px 80px #00000059}.invoice-line-items{display:grid;gap:10px}.invoice-line-items h3{margin:0;font-size:16px}.invoice-line-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#0c1115}.commercial-table,.project-revision-table,.drawing-reference-table{overflow:auto;border:1px solid var(--border);border-radius:var(--radius)}.commercial-table-row,.project-revision-row,.drawing-reference-row{display:grid;align-items:center;gap:12px;min-width:820px;min-height:56px;padding:10px 14px;border-bottom:1px solid var(--border)}.commercial-table-row{grid-template-columns:1.2fr 1fr 1fr 1fr .8fr}.project-revision-row{grid-template-columns:minmax(90px,.7fr) minmax(180px,1.3fr) minmax(100px,.75fr) minmax(130px,.95fr) minmax(130px,.95fr) minmax(120px,.9fr) minmax(110px,.75fr) minmax(90px,.6fr) minmax(80px,.55fr) minmax(360px,1.8fr)}.drawing-reference-row{grid-template-columns:minmax(120px,.8fr) minmax(210px,1.35fr) minmax(130px,.85fr) minmax(110px,.75fr) minmax(160px,1fr) minmax(130px,.85fr) minmax(120px,.8fr) minmax(420px,2fr)}.payment-table-row{grid-template-columns:1fr 1fr 1fr 1.4fr .8fr 1fr}.invoice-table-row{grid-template-columns:1.1fr 1fr 1fr 1fr .7fr .8fr 1.2fr auto}.allocation-history-row{grid-template-columns:.95fr 1.2fr .55fr .55fr .7fr 1fr minmax(220px,1.6fr)}.commercial-table-row:last-child,.project-revision-row:last-child,.drawing-reference-row:last-child{border-bottom:0}.commercial-table-head,.project-revision-head,.drawing-reference-head{min-height:42px;background:#0c1115}.commercial-table-row span,.project-revision-row span,.drawing-reference-row span{min-width:0;overflow-wrap:anywhere;color:var(--muted);font-size:12px;font-weight:750}.project-revision-row strong,.drawing-reference-row strong{min-width:0;overflow-wrap:anywhere}.project-revision-row.is-selected{background:#14d8c914}.project-revision-row>div{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.drawing-reference-row>div{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.drawing-reference-section .panel-heading p,.drawing-reference-modal .panel-heading p{margin:4px 0 0;color:var(--muted);font-size:13px}.drawing-reference-list{display:grid;gap:10px}.drawing-reference-list.compact{margin-top:12px}.drawing-reference-card{display:grid;gap:5px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#14d8c90f}.drawing-reference-card span,.drawing-reference-card small{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.drawing-reference-card strong{color:var(--text)}.drawing-reference-card button{justify-self:start;margin-top:4px}.drawing-reference-modal{width:min(820px,100%)}.access-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px}.access-invite-panel{align-content:start}.access-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.access-form-grid label{display:grid;gap:7px;color:#c7d2d8;font-size:12px;font-weight:800}.access-form-grid label:nth-child(5){grid-column:span 2}.access-table{overflow:auto;border:1px solid var(--border);border-radius:var(--radius)}.access-table-row{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(115px,.7fr) minmax(220px,1.3fr) minmax(94px,.55fr) minmax(132px,.75fr) minmax(150px,.75fr);gap:12px;align-items:center;min-width:960px;min-height:62px;padding:12px;border-bottom:1px solid var(--border);background:#0c1115}.access-table-row:last-child{border-bottom:0}.access-table-head{min-height:42px;background:#111820;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.access-table-row>span,.access-table-row>div{min-width:0;overflow:hidden;text-overflow:ellipsis}.access-table-row strong,.mini-list strong{display:block;color:var(--text)}.access-table-row span,.mini-list span{color:#aab6be;font-size:12px}.row-actions{display:flex;flex-wrap:wrap;gap:6px}.row-actions button{min-height:30px;padding:0 9px}.mini-list{display:grid;gap:8px}.mini-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,auto) minmax(80px,auto);gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#0c1115}.mini-list article>span:last-child{overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.compact-details{gap:8px}.admin-content-surface{display:grid;gap:18px;margin:8px -12px -18px;padding:20px;border:1px solid #d9e1e7;border-radius:8px 8px 0 0;background:#f5f7fa;color:#15202a}.admin-content-surface .stat,.admin-content-surface .content-band,.admin-content-surface .table-surface,.admin-content-surface .project-card,.admin-content-surface .project-room-card,.admin-content-surface .settings-grid,.admin-content-surface .subproject-card{border-color:#d7e0e7;background:#fff;color:#15202a;box-shadow:0 12px 28px #111f2b12}.admin-content-surface .record-list article,.admin-content-surface .revision-history,.admin-content-surface .commercial-table,.admin-content-surface .project-revision-table,.admin-content-surface .drawing-reference-table,.admin-content-surface .project-health-card,.admin-content-surface .report-tile,.admin-content-surface .activity-list article,.admin-content-surface .project-room-metrics div,.admin-content-surface .invoice-line-row,.admin-content-surface .drawing-reference-card{border-color:#d7e0e7;background:#fff}.admin-content-surface .table-row,.admin-content-surface .revision-row,.admin-content-surface .commercial-table-row,.admin-content-surface .project-revision-row,.admin-content-surface .drawing-reference-row,.admin-content-surface .details-list div,.admin-content-surface .dashboard-facts div,.admin-content-surface .project-health-metrics div{border-color:#e1e7ec}.admin-content-surface .table-head,.admin-content-surface .revision-head,.admin-content-surface .commercial-table-head,.admin-content-surface .project-revision-head,.admin-content-surface .drawing-reference-head{background:#edf2f6}.admin-content-surface .stat span,.admin-content-surface .record-list span,.admin-content-surface .table-row span,.admin-content-surface .project-card span,.admin-content-surface .project-card p,.admin-content-surface .project-room-card p,.admin-content-surface .project-room-metrics dt,.admin-content-surface .muted,.admin-content-surface .subproject-card header span,.admin-content-surface .subproject-card header small,.admin-content-surface .subproject-card p,.admin-content-surface .revision-row span,.admin-content-surface .details-list dt,.admin-content-surface .commercial-table-row span,.admin-content-surface .project-revision-row span,.admin-content-surface .drawing-reference-row span,.admin-content-surface .drawing-reference-card span,.admin-content-surface .drawing-reference-card small,.admin-content-surface .empty-state,.admin-content-surface .settings-grid label{color:#526475}.admin-content-surface .project-health-card p,.admin-content-surface .activity-list p,.admin-content-surface .report-tile p,.admin-content-surface .activity-list span,.admin-content-surface .report-tile span,.admin-content-surface .quick-actions small,.admin-content-surface .dashboard-facts dt,.admin-content-surface .project-health-metrics dt{color:#526475}.admin-content-surface .stat strong,.admin-content-surface .record-list strong,.admin-content-surface .table-row strong,.admin-content-surface .project-card h2,.admin-content-surface .project-room-card h2,.admin-content-surface .project-room-metrics dd,.admin-content-surface .content-band h2,.admin-content-surface .subproject-card h2,.admin-content-surface .subproject-card header strong,.admin-content-surface .details-list dd,.admin-content-surface .commercial-table-row strong,.admin-content-surface .project-revision-row strong,.admin-content-surface .drawing-reference-row strong,.admin-content-surface .drawing-reference-card strong{color:#111b24}.admin-content-surface .dashboard-facts dd,.admin-content-surface .project-health-metrics dd,.admin-content-surface .project-health-card h3,.admin-content-surface .activity-list strong,.admin-content-surface .report-tile strong{color:#111b24}.admin-content-surface input,.admin-content-surface select,.admin-content-surface textarea{border-color:#cbd6de;background:#fff;color:#111b24}.admin-content-surface input::placeholder,.admin-content-surface textarea::placeholder{color:#8a99a6}.admin-content-surface .status-pill{border-color:#14867c47;background:#14d8c91a;color:#08736c}.admin-content-surface .status-pill.expired,.admin-content-surface .status-pill.suspended,.admin-content-surface .status-pill.disabled{border-color:#b6504559;background:#ff897a1f;color:#a54238}.admin-content-surface .usage-meter,.admin-content-surface .allocation-meter{border-color:#cbd6de;background:#edf2f6}.admin-content-surface .license-banner{border-color:#d7e0e7;background:#fff;color:#15202a}.admin-content-surface .license-banner.success{border-color:#14867c47;background:#14d8c91a;color:#08736c}.admin-content-surface .license-banner.warning,.admin-content-surface .limit-warning{border-color:#b881164d;background:#f4b94a26;color:#8d620d}.admin-content-surface .license-banner.danger{border-color:#b6504559;background:#ff897a1f;color:#a54238}.admin-content-surface .license-banner.info{border-color:#5264753d;background:#95b8d126;color:#314b61}.admin-content-surface .status-pill.paid,.admin-content-surface .status-pill.confirmed,.admin-content-surface .status-pill.active,.admin-content-surface .status-pill.usage-green{border-color:#14867c47;background:#14d8c91a;color:#08736c}.admin-content-surface .status-pill.pending,.admin-content-surface .status-pill.issued,.admin-content-surface .status-pill.due,.admin-content-surface .status-pill.pending_renewal,.admin-content-surface .status-pill.usage-amber{border-color:#b881164d;background:#f4b94a26;color:#8d620d}.admin-content-surface .status-pill.overdue,.admin-content-surface .status-pill.failed,.admin-content-surface .status-pill.cancelled,.admin-content-surface .status-pill.void,.admin-content-surface .status-pill.usage-red{border-color:#b6504559;background:#ff897a1f;color:#a54238}.admin-content-surface button:not(.primary-action){border-color:#cbd6de;background:#f8fafc;color:#17232d}.admin-content-surface button:not(.primary-action):hover,.admin-content-surface button:not(.primary-action):focus-visible{border-color:#14a99f;color:#08736c}.users-access-surface{display:grid;gap:18px;margin:8px -12px -18px;padding:20px;border:1px solid #d9e1e7;border-radius:8px 8px 0 0;background:#f5f7fa;color:#15202a}.users-page .users-access-surface .stat,.users-page .users-access-surface .content-band{border-color:#d7e0e7;background:#fff;color:#15202a;box-shadow:0 12px 28px #111f2b12}.users-page .users-access-surface .stat span,.users-page .users-access-surface .muted,.users-page .users-access-surface .details-list dt,.users-page .users-access-surface .access-table-row span,.users-page .users-access-surface .mini-list span,.users-page .users-access-surface .access-form-grid label{color:#526475}.users-page .users-access-surface .stat strong,.users-page .users-access-surface h2,.users-page .users-access-surface .details-list dd,.users-page .users-access-surface .access-table-row strong,.users-page .users-access-surface .mini-list strong{color:#111b24}.users-page .users-access-surface input,.users-page .users-access-surface select,.users-page .users-access-surface textarea{border-color:#cbd6de;background:#fff;color:#111b24}.users-page .users-access-surface input::placeholder{color:#8a99a6}.users-page .users-access-surface .access-table{border-color:#d7e0e7;background:#fff}.users-page .users-access-surface .access-table-row{border-color:#e1e7ec;background:#fff}.users-page .users-access-surface .access-table-head{background:#edf2f6}.users-page .users-access-surface .mini-list article{border-color:#d7e0e7;background:#fff}.users-page .users-access-surface .status-pill{border-color:#14867c47;background:#14d8c91a;color:#08736c}.users-page .users-access-surface .status-pill.disabled{border-color:#b6504559;background:#ff897a1f;color:#a54238}.users-page .users-access-surface button:not(.primary-action){border-color:#cbd6de;background:#f8fafc;color:#17232d}.users-page .users-access-surface button:not(.primary-action):hover,.users-page .users-access-surface button:not(.primary-action):focus-visible{border-color:#14a99f;color:#08736c}.login-panel p,.login-panel small{color:var(--muted)}.login-panel button{min-height:44px;border-color:#14d8c9a6;background:var(--accent);color:#061010}.viewer-loading{display:grid;min-height:100vh;place-items:center;background:var(--bg)}.viewer-load-failed{padding:20px}.viewer-load-failed section{display:grid;gap:12px;width:min(560px,100%);padding:22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.viewer-load-failed h1{font-size:24px}.viewer-load-failed p{color:var(--muted)}.viewer-load-failed code{overflow-wrap:anywhere;padding:10px;border:1px solid var(--border);border-radius:6px;background:#0c1115;color:var(--accent)}.viewer-load-failed pre{max-height:220px;overflow:auto;margin:0;padding:10px;border:1px solid var(--border);border-radius:6px;background:#0c1115;color:#d6e2e8;font-size:12px;white-space:pre-wrap}.viewer-page{display:grid;grid-template-rows:64px minmax(0,1fr) 34px;width:100vw;height:100vh;overflow:hidden;background:#080c0f}.viewer-header,.viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border-color:var(--border);background:#080c0ff0}.viewer-header{padding:0 16px;border-bottom:1px solid var(--border)}.viewer-company{display:flex;align-items:center;gap:10px;min-width:230px}.viewer-company img{width:34px;height:34px;border-radius:8px;object-fit:contain}.viewer-toolbar{display:flex;justify-content:flex-end;gap:8px;overflow-x:auto}.viewer-toolbar button{min-height:36px;padding:0 12px;white-space:nowrap}.viewer-workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:0}.viewer-stage{position:relative;min-width:0;min-height:0;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 48% 42%,color-mix(in srgb,var(--brand-primary, #14d8c9) 16%,transparent),transparent 28%),#080c0f;background-size:48px 48px,48px 48px,auto,auto}.viewer-canvas-host{width:100%;height:100%}.viewer-canvas-host canvas{display:block;width:100%;height:100%}.load-progress,.viewer-error{position:absolute;z-index:3;left:18px;top:18px;width:min(340px,calc(100% - 36px));padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#0c1115e0;box-shadow:0 20px 40px #00000047}.viewer-error{top:auto;bottom:18px;color:#ffd8a3;font-size:13px}.load-progress span,.load-progress strong{font-size:12px;font-weight:800}.load-progress strong{float:right}.load-progress div{height:6px;margin-top:10px;overflow:hidden;border-radius:999px;background:#26313a}.load-progress i{display:block;height:100%;border-radius:inherit;background:var(--brand-primary, var(--accent))}.viewer-side-panel{min-width:0;overflow-y:auto;border-left:1px solid var(--border);background:#10161b}.viewer-side-panel section{padding:16px;border-bottom:1px solid var(--border)}.viewer-side-panel h2{margin-bottom:12px;font-size:12px;text-transform:uppercase}dl{display:grid;gap:10px;margin:0}dl div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px}dd{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.toggle-grid button{min-height:38px;text-transform:capitalize}.selection-card{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#0c1115}.selection-card span{overflow-wrap:anywhere}.selection-actions{display:grid;gap:8px;margin-top:6px}.selection-actions button{min-height:34px}.comment-list{display:grid;gap:10px;margin-top:14px}.comment-list article{display:grid;gap:6px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#0c1115}.comment-list p{color:#dfe7eb;font-size:13px}.viewer-footer{padding:0 14px;border-top:1px solid var(--border);color:var(--muted);font-size:12px;font-weight:750}.viewer-footer strong{color:var(--brand-primary, var(--accent));white-space:nowrap}.cad-viewer{grid-template-rows:56px minmax(0,1fr) 34px;background:#070b0e}.cad-topbar{display:grid;grid-template-columns:250px auto minmax(320px,1fr) auto auto;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid #1e2931;background:linear-gradient(180deg,#10161b,#080c10);box-shadow:0 1px #ffffff08 inset}.cad-brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-cube.compact{width:24px;height:24px;border-radius:6px}.cad-brand img{width:24px;height:24px;object-fit:contain}.cad-brand.product-logo-brand img{width:250px;height:46px;border-radius:4px;object-fit:contain}.cad-brand strong,.cad-brand span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-brand strong{font-size:14px;line-height:1.1}.cad-brand span{margin-top:2px;color:#92a0ab;font-size:11px;font-weight:700}.cad-file-actions,.cad-toolstrip,.cad-view-modes,.cad-export-actions{display:flex;align-items:center;gap:7px;min-width:0}.hidden-file-input{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none}.cad-toolstrip{justify-content:center}.cad-export-actions{justify-content:flex-end}.cad-topbar button,.cad-left-panel button,.cad-right-panel button,.cad-floating-tools button{border-color:#26323b;background:#121920;box-shadow:0 1px #ffffff08 inset}.cad-topbar button{min-height:34px;padding:0 12px;font-size:12px}.cad-toolstrip button{display:grid;place-items:center;min-width:48px;min-height:42px;padding:5px 8px;color:#dbe4e8;font-size:10px}.cad-toolstrip button:before{content:"";width:16px;height:16px;margin-bottom:2px;border:1px solid currentColor;border-radius:999px}.cad-toolstrip button.is-active,.cad-view-modes button.is-active,.accent-button{border-color:#14d8c98c;background:linear-gradient(180deg,#14d8c961,#088881c7);color:#ecffff}.cad-view-modes{padding:3px;border:1px solid #26323b;border-radius:7px;background:#0a0f13}.cad-view-modes button{min-height:30px;border:0;background:transparent}.cad-workspace{display:grid;grid-template-columns:245px minmax(0,1fr) 320px;min-height:0}.cad-left-panel,.cad-right-panel{min-width:0;overflow:hidden;background:linear-gradient(180deg,#11181e,#0b1014)}.cad-left-panel{display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto;border-right:1px solid #24313a}.cad-right-panel{overflow-y:auto;border-left:1px solid #24313a}.cad-tabs,.cad-subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 10px;border-bottom:1px solid #22303a}.cad-tabs button,.cad-subtabs button{min-height:38px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#8e9ba6;font-size:11px;text-transform:uppercase}.cad-tabs button.is-active,.cad-subtabs button.is-active{border-bottom-color:var(--brand-primary, var(--accent));color:var(--brand-primary, var(--accent))}.cad-subtabs{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:8px;border-bottom:0}.cad-subtabs button{min-height:30px;border:1px solid #26323b}.cad-project-picker{display:grid;gap:6px;padding:10px;border-bottom:1px solid #22303a}.cad-project-picker label,.cad-browser-title strong,.cad-revision-select span{color:#84919c;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.cad-project-picker select,.cad-revision-select select{width:100%;min-height:34px;color:#edf8fb;background:#0b1116}.cad-browser-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid #22303a}.cad-browser-title span{color:#f2f8fa;font-size:13px;font-weight:900}.cad-search-row{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:6px;padding:10px}.cad-search-row input{height:32px;font-size:12px}.cad-search-row button{min-height:32px;padding:0;overflow:hidden;font-size:11px}.cad-tree{overflow-y:auto;padding:4px 8px 10px}.cad-tree-root,.cad-tree-node{display:grid;grid-template-columns:16px 18px minmax(0,1fr) 36px;align-items:center;min-height:28px;gap:5px;padding-left:calc(var(--tree-depth, 0) * 16px);color:#d8e0e5;font-size:12px}.cad-tree-root,.cad-tree-node{width:100%;border:0;border-radius:4px;background:transparent;box-shadow:none;text-align:left}.cad-tree-node:hover,.cad-tree-node.is-selected{background:#14d8c91a;color:#ecffff}.cad-tree-root{padding-left:0;font-weight:800}.cad-tree-root .tree-eye,.cad-tree-node .tree-eye{min-height:0;padding:0;border:0;background:transparent;box-shadow:none}.tree-caret,.tree-eye{color:#8996a0;font-size:10px}.tree-caret:before{content:""}.tree-caret.is-open:before{content:"v"}.tree-caret.is-closed:before{content:">"}.cad-tree-node .tree-caret.is-closed:before{content:">"}.tree-cube{width:13px;height:13px;border:1px solid #94a2ad;border-radius:2px;transform:rotate(30deg) skew(-12deg)}.tree-eye{text-align:right}.cad-asset-list{display:grid;align-content:start;gap:8px;overflow-y:auto;padding:10px}.cad-asset-list article{display:grid;gap:4px;padding:10px;border:1px solid #26323b;border-radius:6px;background:#0c1115}.cad-asset-list span{color:#84919c;font-size:10px;font-weight:800;text-transform:uppercase}.cad-asset-list strong{overflow:hidden;color:#e4ecef;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.cad-revision-list{gap:10px}.cad-revision-select{display:grid;gap:6px;padding:10px;border:1px solid #26323b;border-radius:6px;background:#0c1115}.cad-revision-card{display:grid;gap:4px;width:100%;min-height:72px;padding:10px;border:1px solid #26323b;border-radius:6px;background:#0c1115;box-shadow:none;text-align:left}.cad-revision-card:hover,.cad-revision-card.is-active{border-color:#14d8c98c;background:#14d8c914}.cad-revision-card span,.cad-revision-card small{overflow:hidden;color:#84919c;font-size:10px;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.cad-revision-card strong{color:#f1f9fb;font-size:13px}.cad-revision-card small{color:#a9b7c0;font-weight:700;text-transform:none}.cad-new-revision{min-height:34px;border-color:#14d8c98c;color:var(--brand-primary, var(--accent))}.cad-left-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:9px;border-top:1px solid #24313a}.cad-left-actions button{min-height:30px;padding:0;font-size:10px}.cad-dropzone{display:grid;place-items:center;gap:4px;margin:0 10px 10px;min-height:86px;padding:12px;border:1px dashed #3b4b56;border-radius:7px;background:#0d1419;text-align:center}.cad-dropzone strong{font-size:12px}.cad-dropzone span{color:var(--brand-primary, var(--accent));font-size:12px}.cad-dropzone small{color:#84919c;font-size:10px}.cad-viewport{position:relative;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.06),transparent 36%),linear-gradient(135deg,#20262c,#0a0e12 54%,#161b20)}.cad-viewport .viewer-canvas-host{position:absolute;top:0;right:0;bottom:0;left:0}.cad-progress{z-index:6}.cad-view-cube{position:absolute;z-index:4;top:22px;right:28px;width:116px;height:104px;color:#d5dde3;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.cad-view-cube:active{cursor:grabbing}.view-cube-body{position:absolute;left:28px;top:8px;width:62px;height:62px;transform:rotateX(var(--cube-rotate-x, -24deg)) rotateY(var(--cube-rotate-y, 38deg)) rotate(0);transform-style:preserve-3d;pointer-events:auto;transition:transform 80ms linear}.cad-view-cube:active .view-cube-body{transition:none}.view-cube-body:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.08),transparent 35%),linear-gradient(180deg,#7b869052,#3b454e1a);transform:translateZ(-34px) rotateX(90deg);box-shadow:0 16px 24px #00000047}.cube-face{position:absolute;display:grid;place-items:center;width:62px;height:62px;min-height:0;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:0;background:linear-gradient(145deg,#d8dde1,#9ea8b1);color:#27313a;font-size:9px;font-weight:900;text-transform:uppercase;cursor:pointer;box-shadow:none;backface-visibility:hidden}.cube-face:hover,.cube-face:focus-visible{border-color:#14d8c9cc;color:#071112;background:linear-gradient(145deg,#eff5f7,#aeb8c0)}.cube-top{transform:rotateX(90deg) translateZ(31px)}.cube-left{transform:rotateY(-90deg) translateZ(31px);filter:brightness(.76)}.cube-front{transform:translateZ(31px);filter:brightness(.9)}.cube-right{transform:rotateY(90deg) translateZ(31px);filter:brightness(.7)}.cube-hint{position:absolute;left:6px;right:6px;bottom:0;color:#aab4bd;font-size:10px;font-weight:800;text-align:center;opacity:0;transform:translateY(3px);transition:opacity .14s ease,transform .14s ease}.cad-view-cube:hover .cube-hint{opacity:.9;transform:translateY(0)}.cad-floating-tools{position:absolute;z-index:4;left:16px;top:52%;display:grid;gap:1px;overflow:hidden;width:42px;border:1px solid #33414a;border-radius:7px;background:#121a20;transform:translateY(-50%);box-shadow:0 16px 34px #00000052}.cad-floating-tools button{min-height:38px;padding:0;border:0;border-radius:0;font-size:9px}.cad-floating-tools button.is-active{background:linear-gradient(180deg,#14d8c980,#0b706db8)}.cad-lighting-panel{position:absolute;z-index:4;right:24px;bottom:18px;width:min(360px,46%);padding:14px;border:1px solid #2c3841;border-radius:7px;background:#10171de6;box-shadow:0 18px 38px #0000005c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.panel-heading h2,.cad-inspector-section h2{margin:0;font-size:11px;letter-spacing:0;text-transform:uppercase}.panel-heading select{width:150px;height:32px;font-size:12px}.env-swatches{display:grid;grid-template-columns:repeat(4,42px);gap:8px;margin-bottom:12px}.env-swatches button{height:34px;min-height:34px;padding:0;overflow:hidden;border:1px solid #33414a;border-radius:6px;background:linear-gradient(135deg,#4d6977,#d4af37);color:transparent;font-size:0}.env-swatches button:nth-child(2){background:linear-gradient(135deg,#2d2d2d,#a09888)}.env-swatches button:nth-child(3){background:linear-gradient(135deg,#88a8bf,#c49a63)}.env-swatches button:nth-child(4){background:linear-gradient(135deg,#243850,#db8a58)}.env-swatches .is-active{border-color:var(--brand-primary, var(--accent))}.compact-slider{display:grid;grid-template-columns:86px minmax(0,1fr) 54px;align-items:center;gap:10px;min-height:34px;color:#dce4e8;font-size:12px}.compact-slider input{height:auto;padding:0;accent-color:var(--brand-primary, var(--accent))}.compact-slider output{height:28px;padding:5px 7px;border:1px solid #29343d;border-radius:6px;background:#12181e;color:#dce4e8;text-align:center}.cad-inspector-section{display:grid;gap:12px;padding:14px;border-bottom:1px solid #24313a}.cad-inspector-section label{display:grid;gap:7px;color:#dce4e8;font-size:12px}.cad-inspector-section select,.cad-inspector-section input[type=text]{height:34px;font-size:12px}.color-row{grid-template-columns:1fr 54px 78px;align-items:end}.color-row input[type=color]{height:34px;padding:4px}.color-row code{height:34px;padding:8px;border:1px solid #29343d;border-radius:6px;background:#0c1115;color:#dce4e8;font-size:11px}.cad-toggle-row,.map-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;font-size:12px}.mini-switch{min-height:24px;min-width:44px;padding:0 8px;color:#82909a;font-size:10px}.mini-switch.is-on{border-color:#14d8c98c;background:#14d8c933;color:var(--brand-primary, var(--accent))}.map-row{grid-template-columns:28px minmax(0,1fr) 28px;min-height:32px;padding:4px;border:1px solid #29343d;border-radius:6px;background:#0c1115;color:#cad4da}.map-row span{width:22px;height:22px;border-radius:4px;background:linear-gradient(135deg,#cbd2dc,#6675d4)}.map-row button{min-height:24px;padding:0}.cad-selection-card{background:#0b1115}.cad-comments textarea{min-height:78px}.measure-readout{padding:10px;border:1px solid rgba(20,216,201,.38);border-radius:6px;background:#14d8c914;color:#dffefd;font-size:12px;font-weight:800}.cad-statusbar{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:18px;background:#090d10}.simple-viewer{display:grid;grid-template-rows:58px minmax(0,1fr) 32px;width:100vw;height:100vh;overflow:hidden;background:#070b0e;color:var(--text)}.simple-viewer-header,.simple-viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 16px;border-color:#24313a;background:#080c0ff0}.simple-viewer-header{border-bottom:1px solid #24313a}.simple-viewer-brand{display:flex;align-items:center;gap:10px;min-width:0}.simple-viewer-brand img{width:28px;height:28px;border-radius:6px;object-fit:contain}.simple-viewer-brand.product-logo-brand img{width:250px;height:46px;border-radius:4px;object-fit:contain}.simple-viewer-brand strong,.simple-viewer-brand span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.simple-viewer-brand strong{font-size:14px;line-height:1.1}.simple-viewer-brand span{color:#91a0aa;font-size:11px;font-weight:800}.simple-viewer-actions{display:flex;align-items:center;gap:8px;overflow-x:auto}.simple-viewer-actions button{min-height:34px;padding:0 12px;border-color:#26323b;background:#121920;white-space:nowrap}.simple-viewer-actions button.is-active{border-color:#14d8c999;background:#14d8c933;color:var(--brand-primary, var(--accent))}.simple-viewer-stage{position:relative;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 36%,rgba(255,255,255,.06),transparent 34%),linear-gradient(135deg,#1f252b,#070b0e 56%,#141a1f)}.simple-viewer-stage .viewer-canvas-host{position:absolute;top:0;right:0;bottom:0;left:0}.simple-selection-pill{position:absolute;z-index:5;left:16px;bottom:16px;max-width:min(360px,calc(100% - 32px));overflow:hidden;padding:9px 12px;border:1px solid #2b3943;border-radius:7px;background:#0c1115db;color:#dce8ec;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.simple-viewer-footer{border-top:1px solid #24313a;color:#8e9ba6;font-size:11px;font-weight:800}.simple-viewer-footer span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.simple-viewer-footer strong{color:var(--brand-primary, var(--accent));white-space:nowrap}@media(max-width:1040px){body{overflow:auto}.platform-shell,.viewer-page{width:100%;height:auto;min-height:100vh}.cad-topbar{grid-template-columns:1fr;gap:8px;padding:10px 12px;max-width:100vw;overflow:hidden}.cad-file-actions,.cad-toolstrip,.cad-view-modes,.cad-export-actions{width:calc(100vw - 24px);max-width:calc(100vw - 24px);justify-content:flex-start;overflow-x:auto}.cad-workspace{grid-template-columns:1fr}.cad-left-panel{display:none}.cad-right-panel{border-left:0;border-top:1px solid #24313a}.cad-viewport{min-height:64vh}.cad-lighting-panel{position:static;width:calc(100vw - 24px);max-width:calc(100vw - 24px);margin:12px;overflow:hidden}.platform-shell{grid-template-columns:1fr}.platform-sidebar{border-right:0;border-bottom:1px solid var(--border)}.platform-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-top-grid,.dashboard-work-grid,.project-room-grid,.project-health-card{grid-template-columns:1fr}.viewer-page{grid-template-rows:auto auto auto;overflow:visible;max-width:100vw;overflow-x:hidden}.viewer-header{align-items:flex-start;flex-direction:column;padding:12px;overflow:hidden}.viewer-company,.viewer-toolbar{width:100%;max-width:calc(100vw - 24px)}.viewer-toolbar{flex-wrap:wrap;justify-content:flex-start;overflow-x:visible}.viewer-workspace{grid-template-columns:1fr}.viewer-stage{min-height:64vh}.viewer-side-panel{border-left:0;border-top:1px solid var(--border)}}@media(max-width:720px){.page{padding:18px}.admin-content-surface,.users-access-surface{margin-inline:-8px;padding:14px}.page-heading,.project-card,.viewer-footer{align-items:stretch;flex-direction:column}.stats-grid,.record-list,.project-grid,.settings-grid,.dashboard-scoreboard,.dashboard-facts.compact,.project-health-metrics,.quick-actions,.report-grid,.dashboard-empty-list,.request-grid,.project-allocation-summary,.project-summary-grid,.project-room-metrics,.package-metrics{grid-template-columns:1fr}.request-grid .wide{grid-column:auto}.table-row{grid-template-columns:1fr;align-items:flex-start;padding:14px}.platform-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.viewer-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;width:calc(100vw - 24px)}.viewer-toolbar button{min-width:0;width:100%;padding:0 8px}.cad-toolstrip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.cad-toolstrip button,.cad-file-actions button,.cad-export-actions button,.cad-view-modes button{min-width:0}.cad-file-actions,.cad-export-actions,.cad-view-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.cad-file-actions button,.cad-export-actions button,.cad-view-modes button{width:100%}.cad-lighting-panel .panel-heading{align-items:stretch;flex-direction:column}.cad-lighting-panel .panel-heading select{width:100%}.cad-lighting-panel .compact-slider{grid-template-columns:70px minmax(0,1fr) 50px}.cad-view-cube{top:14px;right:14px;width:92px;height:88px;transform:scale(.82);transform-origin:top right}.cad-floating-tools{left:10px;width:38px}.cad-statusbar{grid-template-columns:1fr;gap:4px;padding:8px 12px}.simple-viewer{grid-template-rows:auto minmax(0,1fr) auto}.simple-viewer-header,.simple-viewer-footer{align-items:stretch;flex-direction:column;padding:10px 12px}.simple-viewer-actions{width:100%}.simple-viewer-actions button{flex:1 0 auto}}.review-room-viewer{grid-template-rows:82px minmax(0,1fr) 34px}.review-topbar{grid-template-columns:276px minmax(340px,1fr) auto 190px;min-height:82px}.review-context{display:grid;min-width:0;gap:3px}.review-context span,.review-context small,.review-user-menu span{overflow:hidden;color:#8d9aa6;font-size:11px;font-weight:750;line-height:1.15;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.review-context small+small{color:var(--brand-primary, var(--accent))}.review-context strong,.review-user-menu strong{overflow:hidden;color:#f4f7f8;font-size:13px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.review-mode-switch{display:flex;align-items:center;gap:6px;padding:3px;border:1px solid #26323b;border-radius:7px;background:#0a0f13}.review-mode-switch button{min-height:32px;padding:0 10px;border:0;background:transparent;white-space:nowrap}.review-mode-switch button.is-active{background:#14d8c92e;color:var(--brand-primary, var(--accent))}.review-user-menu{display:grid;justify-items:end;min-width:0}.review-workspace{grid-template-columns:300px minmax(0,1fr) 340px}.review-left-panel{grid-template-rows:auto minmax(0,1fr)}.review-left-panel .cad-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.review-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.review-navigation{display:grid;align-content:start;gap:16px;overflow-y:auto;padding:12px}.review-navigation section{display:grid;gap:8px}.review-navigation h2{margin:0;color:#dfe8ec;font-size:11px;text-transform:uppercase}.review-navigation .cad-project-picker{padding:0;border:0}.review-navigation .cad-project-picker span{color:#84919c;font-size:10px;font-weight:800;text-transform:uppercase}.review-explorer-tree,.review-explorer-project,.review-explorer-package{display:grid;min-width:0}.review-explorer-tree{gap:4px}.review-explorer-children{display:grid;gap:3px;margin-left:16px;padding-left:10px;border-left:1px solid #23313a}.review-explorer-row{display:grid;grid-template-columns:14px 16px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;min-height:32px;padding:6px 8px;border:1px solid transparent;border-radius:5px;background:transparent;box-shadow:none;color:#dce7eb;text-align:left}.review-explorer-row:hover,.review-explorer-row.is-active{border-color:#14d8c973;background:#14d8c914}.review-explorer-row strong{overflow:hidden;font-size:12px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.review-explorer-row small{color:#8fa0aa;font-size:10px;font-weight:800;text-transform:uppercase;white-space:nowrap}.project-row-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px}.project-row{min-height:36px}.project-delete-button{min-width:54px;min-height:30px;padding:0 8px;border:1px solid rgba(255,137,122,.35);border-radius:5px;background:#ff897a14;color:#ffd5cf;font-size:10px;font-weight:900}.project-delete-button:disabled{cursor:not-allowed;opacity:.42}.package-row{grid-template-columns:14px 16px minmax(0,1fr) 34px}.revision-row{grid-template-columns:16px minmax(0,1fr) auto;min-height:30px;padding-left:10px}.explorer-folder,.explorer-file{width:13px;height:11px;border:1px solid #8fa0aa}.explorer-folder{border-radius:2px;background:linear-gradient(180deg,#14d8c933,#14d8c90f)}.explorer-folder.package{background:linear-gradient(180deg,#f4b94a3d,#f4b94a0f)}.explorer-file{height:14px;border-radius:2px;background:#8fa0aa14}.explorer-empty{margin:3px 0 7px;padding-left:10px}.project-intake-panel{margin-top:auto;padding-top:12px;border-top:1px solid #23313a}.project-intake-panel label{display:grid;gap:6px}.project-intake-panel label span{color:#84919c;font-size:10px;font-weight:800;text-transform:uppercase}.project-intake-panel input{min-height:34px;width:100%;color:#edf8fb;background:#0b1116}.project-intake-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.project-intake-actions button{min-height:32px;padding:0 8px;font-size:10px}.project-intake-dropzone{display:grid;place-items:center;gap:4px;min-height:82px;padding:12px;border:1px dashed #3b4b56;border-radius:7px;background:#0d1419;text-align:center}.project-intake-dropzone strong{color:#f3fafc;font-size:12px}.project-intake-dropzone span{color:var(--brand-primary, var(--accent));font-size:11px;font-weight:800}.model-objects-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.model-objects-panel .cad-tree{min-height:0}.review-nav-card,.review-revision-link,.drawing-reference{display:grid;gap:4px;width:100%;padding:10px;border:1px solid #26323b;border-radius:6px;background:#0c1115}.review-nav-card.is-active,.review-revision-link.is-active{border-color:#14d8c98c;background:#14d8c914}.review-nav-card span,.review-nav-card small,.review-revision-link span{color:#84919c;font-size:10px;font-weight:800;text-transform:uppercase}.review-nav-card strong,.review-revision-link strong{overflow:hidden;color:#eef7fa;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.review-revision-link{grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:38px;box-shadow:none;text-align:left}.drawing-reference{margin:0;color:#b4c0c8;font-size:12px}.drawing-reference strong{color:#edf7fa;font-size:12px}.drawing-reference small{color:#8fa0aa;font-size:10px;font-weight:800;text-transform:uppercase}.drawing-reference button{min-height:30px;margin-top:4px;padding:0 9px;justify-self:start}.review-viewport{background:radial-gradient(circle at 52% 36%,rgba(255,255,255,.05),transparent 35%),linear-gradient(135deg,#161e24,#080d11 58%,#10161b)}.review-viewer-toolbar{position:absolute;z-index:5;top:12px;left:50%;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;width:min(760px,calc(100% - 190px));transform:translate(-50%)}.review-viewer-toolbar button{min-height:34px;padding:0 10px;border-color:#26323b;background:#121920eb;box-shadow:0 8px 24px #00000038}.review-viewer-toolbar button.is-active{border-color:#14d8c98c;background:#14d8c92e;color:var(--brand-primary, var(--accent))}.review-measure-pill{position:absolute;z-index:5;left:18px;bottom:18px;padding:9px 12px;border:1px solid #2c3841;border-radius:7px;background:#10171de6;color:#f4f7f8;font-size:12px;font-weight:800}.review-dropzone{position:absolute;z-index:5;left:18px;top:70px;display:grid;place-items:center;min-width:132px;min-height:38px;padding:0 12px;border:1px dashed #3b4b56;border-radius:7px;background:#0d1419e0;color:var(--brand-primary, var(--accent));font-size:12px;font-weight:800;cursor:pointer}.admin-tools-panel{position:absolute;z-index:5;right:24px;bottom:18px;display:grid;gap:12px;width:min(520px,54%);max-height:min(520px,calc(100% - 110px));overflow-y:auto;padding:14px;border:1px solid #2c3841;border-radius:7px;background:#10171df0;box-shadow:0 18px 38px #0000005c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.admin-tabs,.admin-tool-actions{display:flex;flex-wrap:wrap;gap:6px}.admin-tabs button,.admin-tool-actions button{min-height:30px;padding:0 9px;text-transform:capitalize}.admin-tabs button.is-active{border-color:#14d8c98c;color:var(--brand-primary, var(--accent))}.admin-tool-grid{display:grid;gap:12px}.admin-tool-grid label{display:grid;gap:7px;color:#dce4e8;font-size:12px}.review-right-panel{background:linear-gradient(180deg,#10171d,#0b1014)}.review-info-grid{display:grid;grid-template-columns:112px minmax(0,1fr);gap:8px 10px;padding:10px;border:1px solid #26323b;border-radius:6px;background:#0c1115}.review-info-grid span{color:#84919c;font-size:11px;font-weight:800}.review-info-grid strong{min-width:0;overflow:hidden;color:#eef7fa;font-size:12px;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.review-right-panel .comment-list article button{min-height:30px}.review-room-viewer .cad-lighting-panel,.review-room-viewer .cad-floating-tools,.review-room-viewer .cad-file-actions,.review-room-viewer .cad-view-modes,.review-room-viewer .cad-export-actions,.review-room-viewer .cad-toolstrip{display:none}.review-room-viewer .cad-statusbar strong{color:var(--brand-primary, var(--accent))}@media(max-width:980px){.review-topbar{grid-template-columns:1fr;height:auto}.review-workspace{grid-template-columns:1fr}.review-left-panel{display:grid;max-height:360px}.review-right-panel{border-left:0;border-top:1px solid #24313a}.review-viewer-toolbar{left:12px;justify-content:flex-start;width:calc(100% - 118px);transform:none}.admin-tools-panel{position:static;width:auto;max-height:none;margin:12px}}
