:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#111827;background-color:#f9fafb}body{margin:0}button{font:inherit}#app,.boot-screen,.login-shell{min-height:100vh}.boot-screen,.login-shell{display:grid;place-items:center;padding:2rem}.login-shell{background:#f3f4f6}.login-panel{width:min(440px,100%);border:1px solid #e5e7eb;border-radius:1rem;background:#fff;padding:1.5rem;box-shadow:0 20px 60px #0f172a14}.login-panel header{display:grid;gap:.5rem;margin-bottom:1.25rem}.login-panel h1{margin:0;font-size:1.7rem}.login-panel header p:not(.eyebrow){margin:0;color:#6b7280}.login-form,.login-form label{display:grid}.login-form{gap:.875rem}.login-form label{gap:.375rem;font-weight:700}.login-form input{min-height:42px;border:1px solid #d1d5db;border-radius:.625rem;padding:0 .75rem;font:inherit;font-weight:400}.login-error{margin:0;border-radius:.625rem;background:#fef2f2;color:#991b1b;padding:.625rem .75rem}.login-panel footer{display:flex;justify-content:flex-end;margin-top:1rem}.ops-shell{display:flex;min-height:100vh}.ops-sidebar{width:280px;border-right:1px solid #e5e7eb;background:#fff;padding:1.5rem}.brand{display:flex;gap:.875rem;align-items:center;margin-bottom:2rem}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;color:#fff;background:#2563eb;font-weight:800}.brand strong,.brand small,.session-card span,.session-card small{display:block}.brand small,.session-card small,.page-description,.metric-card small,.nav-item small{color:#6b7280}.nav-list{display:grid;gap:.5rem}.nav-item{display:flex;width:100%;justify-content:space-between;gap:.75rem;border:1px solid transparent;border-radius:.875rem;background:transparent;padding:.75rem .875rem;color:#374151;text-align:left;cursor:pointer}.nav-item.active,.nav-item:hover{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.ops-main{flex:1;padding:2rem}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.topbar h1{margin:0;font-size:2rem}.eyebrow{margin:0 0 .375rem;color:#2563eb;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.page-description{max-width:720px;margin:.375rem 0 0}.session-card{min-width:220px;border:1px solid #e5e7eb;border-radius:1rem;background:#fff;padding:1rem}.session-card button{margin-top:.75rem;margin-right:.5rem;border:1px solid #d1d5db;border-radius:.625rem;background:#f9fafb;padding:.5rem .75rem;cursor:pointer}.community-selector{display:grid;gap:.375rem;margin-top:.875rem;color:#374151;font-size:.85rem;font-weight:700}.community-selector select{min-height:38px;border:1px solid #d1d5db;border-radius:.625rem;background:#fff;padding:0 .625rem;color:#111827;font:inherit;font-weight:400}.content-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.metric-card,.panel,.placeholder-panel{border:1px solid #e5e7eb;border-radius:1rem;background:#fff;padding:1.25rem}.metric-card{display:grid;gap:.5rem}.metric-card strong{font-size:2rem}.panel{grid-column:span 2}.panel h2,.page-card h2,.placeholder-panel h2{margin-top:0}.panel ul{margin:0;padding-left:1.25rem}.placeholder-panel{max-width:720px}.contract-card{display:inline-flex;gap:.75rem;align-items:center;margin-top:1rem;border-radius:999px;background:#f3f4f6;padding:.625rem .875rem}code{color:#1d4ed8;font-weight:700}.page-card{border:1px solid #e5e7eb;border-radius:1rem;background:#fff;padding:1.25rem}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-heading h2{margin-bottom:.25rem}.section-heading p{max-width:760px;margin:0;color:#6b7280}.badge{display:inline-flex;align-items:center;border-radius:999px;background:#ecfdf5;color:#047857;padding:.375rem .75rem;font-size:.85rem;font-weight:700;white-space:nowrap}.badge.danger{background:#fef2f2;color:#b91c1c}.role-tag{display:block;margin-top:.25rem;color:#6b7280;font-size:.78rem;font-weight:700}.filter-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.filter-row span,.filter-row button{border:1px solid #e5e7eb;border-radius:999px;background:#f9fafb;padding:.5rem .75rem;color:#4b5563}.filter-row button{cursor:pointer}.filter-row button.active{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.table-wrap{overflow-x:auto}.state-panel{display:grid;gap:.75rem;border:1px dashed #d1d5db;border-radius:.875rem;background:#f9fafb;padding:1rem;color:#4b5563}.state-panel.danger{border-color:#fecaca;background:#fef2f2;color:#991b1b}.state-panel.success{border-color:#bbf7d0;background:#ecfdf5;color:#047857}.state-panel button{justify-self:start;border:1px solid #d1d5db;border-radius:.625rem;background:#fff;padding:.5rem .75rem;color:#374151;cursor:pointer}table{width:100%;border-collapse:collapse;font-size:.93rem}.clickable-row{cursor:pointer}.clickable-row:hover,.clickable-row.selected{background:#f8fafc}th,td{border-bottom:1px solid #e5e7eb;padding:.875rem;text-align:left;vertical-align:top}th{color:#6b7280;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}td strong,td small{display:block}td small,.muted{color:#6b7280}.status-pill,.risk-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .625rem;font-size:.8rem;font-weight:700}.status-pill{background:#eff6ff;color:#1d4ed8}.risk-pill{margin-right:.375rem;background:#fff7ed;color:#c2410c}.split-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.mini-panel{border:1px solid #e5e7eb;border-radius:.875rem;background:#f9fafb;padding:1rem}.mini-panel h3{margin:0 0 .375rem}.mini-panel p{margin:0;color:#6b7280}.detail-panel{margin-top:1.25rem;border:1px solid #dbeafe;border-radius:1rem;background:#fff;padding:1.25rem;box-shadow:0 16px 40px #0f172a0f}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.detail-header h3{margin:0;font-size:1.35rem}.detail-header p{margin:.25rem 0 0;color:#6b7280}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.detail-section{border:1px solid #e5e7eb;border-radius:.875rem;background:#f9fafb;padding:1rem}.detail-section h4{margin:0 0 .75rem}.detail-section dl{display:grid;grid-template-columns:96px 1fr;gap:.5rem .75rem;margin:0}.detail-section dt{color:#6b7280}.detail-section dd{margin:0}.timeline-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.timeline-list li{border-left:3px solid #bfdbfe;padding-left:.75rem}.timeline-list strong,.timeline-list span{display:block}.timeline-list span{color:#6b7280;font-size:.86rem}.timeline-list p{margin:.25rem 0 0}.timeline-list.compact{gap:.5rem}.action-list{display:flex;flex-wrap:wrap;gap:.5rem}.action-list button{border:1px solid #bfdbfe;border-radius:.625rem;background:#eff6ff;color:#1d4ed8;padding:.5rem .75rem;cursor:pointer}.assign-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;margin-top:.875rem}.action-result{border-radius:.75rem;background:#ecfdf5;color:#047857;padding:.625rem .75rem;font-size:.9rem}.action-result.danger{background:#fef2f2;color:#991b1b}.evidence-list{display:flex;flex-wrap:wrap;gap:.5rem}.evidence-list span{border:1px dashed #d1d5db;border-radius:.75rem;background:#fff;padding:.75rem;color:#4b5563}.review-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.review-evidence-grid a{overflow:hidden;border:1px solid #e5e7eb;border-radius:.75rem;background:#fff;color:#374151;text-decoration:none}.review-evidence-grid img{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;background:#f3f4f6}.review-evidence-grid span{display:block;padding:.625rem .75rem;font-size:.88rem;font-weight:700}.ops-users-layout,.account-panels,.rules-layout,.rules-panels{display:grid;gap:1rem}.rules-layout{grid-template-columns:minmax(0,1.4fr) minmax(340px,.6fr);align-items:start}.account-panels{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.ops-form-grid label,.full-field{display:grid;gap:.375rem;color:#374151;font-weight:700}.text-input{min-height:38px;border:1px solid #d1d5db;border-radius:.625rem;background:#fff;padding:0 .625rem;color:#111827;font:inherit;font-weight:400}.text-area{min-height:96px;padding:.625rem;resize:vertical}.ops-form-grid .full-field{grid-column:1 / -1}.trend-list{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.trend-list li{display:flex;justify-content:space-between;gap:.75rem;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem}.trend-list span{color:#6b7280}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.875rem 0}.checkbox-line{display:inline-flex;gap:.375rem;align-items:center;color:#4b5563;font-size:.86rem}.form-actions,.reset-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.875rem}.reset-row .text-input{min-width:240px}.dialog-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#0f172a6b;padding:1rem}.reason-dialog{width:min(520px,100%);border-radius:1rem;background:#fff;padding:1.25rem;box-shadow:0 24px 80px #0f172a47}.reason-dialog h3{margin:0}.reason-dialog header p:not(.eyebrow){margin:.5rem 0 0;color:#6b7280}.reason-field{display:grid;gap:.5rem;margin-top:1rem;font-weight:700}.reason-field textarea{resize:vertical;border:1px solid #d1d5db;border-radius:.75rem;padding:.75rem;font:inherit;font-weight:400}.reason-dialog footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.ghost-button,.primary-button{border-radius:.625rem;padding:.55rem .875rem;cursor:pointer}.ghost-button{border:1px solid #d1d5db;background:#fff;color:#374151}.primary-button{border:1px solid #2563eb;background:#2563eb;color:#fff}.primary-button:disabled{border-color:#d1d5db;background:#e5e7eb;color:#9ca3af;cursor:not-allowed}@media(max-width:960px){.ops-shell{display:block}.ops-sidebar{width:auto}.topbar{display:block}.session-card{margin-top:1rem}.content-grid{grid-template-columns:1fr}.panel{grid-column:auto}.section-heading,.split-panels,.detail-header,.detail-grid,.account-panels,.rules-layout,.ops-form-grid,.assign-row,.permission-grid{display:block}.badge,.mini-panel,.detail-section{margin-top:.75rem}}
