:root{color:#172033;background:#f5f7fb;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit}.portal-shell{grid-template-columns:17rem minmax(0,1fr);min-height:100vh;display:grid}.portal-shell.session-state{grid-template-columns:minmax(0,28rem);justify-content:center;align-items:center;padding:1rem;display:grid}.auth-state{gap:.85rem;margin:0;display:grid}.auth-state h1,.auth-state p{margin:0}.correlation-note{color:#4b5a6e;overflow-wrap:anywhere;font-size:.9rem}.portal-sidebar{color:#f8fafc;background:#182230;flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.portal-brand{gap:.25rem;text-decoration:none;display:grid}.portal-brand span,.portal-context span,.eyebrow{color:#68758a;letter-spacing:0;text-transform:uppercase;font-size:.75rem;font-weight:800}.portal-brand span,.portal-context span{color:#9ca9bb}.portal-brand strong{font-size:1.1rem}.portal-nav{gap:.35rem;display:grid}.portal-nav a{color:#dce6f2;border:1px solid #0000;border-radius:8px;padding:.7rem .8rem;text-decoration:none}.portal-nav a:hover,.portal-nav a:focus-visible{border-color:#526174;outline:none}.portal-nav a[aria-current=page]{color:#172033;background:#f8fafc}.portal-context{overflow-wrap:anywhere;gap:.35rem;margin-top:auto;display:grid}.portal-context strong{color:#f8fafc;margin-bottom:.4rem;font-size:.9rem}.portal-main{min-width:0;padding:2rem}.portal-header,.phase-page-heading,.hosted-console-header,.panel,.card{background:#fff;border:1px solid #dce2ea;border-radius:8px;box-shadow:0 8px 22px #17203314}.portal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding:1.25rem;display:flex}.portal-header h1,.hosted-console-header h2,.phase-page-heading h2{margin:.25rem 0}.portal-header p,.hosted-console-header p,.phase-page-heading p,.phase-card p,.card p{color:#4b5a6e;line-height:1.5}.environment-pill,.route-marker,.badge{border-radius:999px;align-items:center;width:fit-content;padding:.25rem .65rem;font-size:.82rem;font-weight:800;display:inline-flex}.environment-pill{color:#116238;white-space:nowrap;background:#e9f8f0}.route-marker{color:#214c9b;overflow-wrap:anywhere;background:#e9f0ff}.phase-page-heading,.hosted-console-header,.panel,.card{margin-bottom:1rem;padding:1rem}.phase-page-heading{justify-content:space-between;gap:1rem;display:flex}.phase-card-grid,.grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.phase-card h3{margin-top:0}.two-column{grid-template-columns:minmax(0,2fr) minmax(18rem,1fr);gap:1rem;display:grid}.users-layout{grid-template-columns:minmax(18rem,22rem) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.roles-layout{grid-template-columns:minmax(20rem,24rem) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.role-list{gap:1rem;display:grid}.role-card-summary{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.role-card-summary h3{margin:.25rem 0}.assignment-controls{border-top:1px solid #dce2ea;gap:.85rem;margin-top:1rem;padding-top:1rem;display:grid}.compact-form{background:#f8fafc;border:1px solid #dce2ea;border-radius:8px;padding:.75rem}.compact-form textarea{min-height:4rem}.assignment-removal-form{background:#fffdf7}.immutable-copy{color:#4b5a6e;font-weight:800;line-height:1.5}.form{gap:.75rem;display:grid}.form label{gap:.25rem;font-weight:700;display:grid}.form input,.form textarea,.form select{color:#172033;font:inherit;border:1px solid #aeb8c7;border-radius:8px;padding:.65rem}.form textarea{min-height:5rem}.action-form{border-top:1px solid #dce2ea;margin-top:1rem;padding-top:1rem}.button-row{flex-wrap:wrap;gap:.5rem;display:flex}.field-hint{color:#4b5a6e;margin:-.25rem 0 0;font-size:.9rem}button{color:#fff;font:inherit;background:#2454d6;border:0;border-radius:8px;padding:.65rem 1rem;font-weight:800}.secondary-button{color:#172033;background:#edf1f6;margin-top:.5rem}button:disabled{background:#8d99aa}.notice,.error{border:1px solid;border-radius:8px;margin-bottom:1rem;padding:.8rem 1rem}.notice{background:#effbf2;border-color:#92d0a1}.error{color:#8a1f1f;background:#fff1f1;border-color:#e59a9a}.badge{color:#1746a2;background:#e8f1ff}.badge.blocked{color:#922222;background:#ffe1e1}.state-grid,.audit-trace dl{border-top:1px solid #dce2ea;grid-template-columns:minmax(7rem,auto) 1fr;gap:.5rem .75rem;margin:1rem 0 0;padding-top:1rem;display:grid}.state-grid dt,.audit-trace dt{color:#4b5a6e;font-weight:800}.state-grid dd,.audit-trace dd{overflow-wrap:anywhere;margin:0}.audit-trace h3{margin:1rem 0 0;font-size:1rem}.forbidden-page h2{margin:.25rem 0}.rate-limit-policy-list{gap:1rem;display:grid}.rate-limit-policy-summary{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.rate-limit-policy-summary h3{margin:.25rem 0}.badge.neutral{color:#42516a;background:#edf1f6}.rollback-copy{color:#4b5a6e;line-height:1.5}.rate-limit-form fieldset,.role-update-form fieldset{border:1px solid #dce2ea;border-radius:8px;gap:.75rem;margin:0;padding:1rem;display:grid}.rate-limit-form legend,.role-update-form legend{color:#4b5a6e;padding:0 .35rem;font-weight:800}.audit-filter-form{grid-template-columns:minmax(10rem,1fr) minmax(12rem,1fr) auto;align-items:end;gap:.75rem;display:grid}.audit-filter-form label{gap:.25rem;font-weight:800;display:grid}.audit-filter-form input{color:#172033;font:inherit;border:1px solid #aeb8c7;border-radius:8px;padding:.65rem}.audit-table-wrap{overflow-x:auto}.audit-table{border-collapse:collapse;width:100%;min-width:56rem}.audit-table th,.audit-table td{text-align:left;vertical-align:top;border-bottom:1px solid #dce2ea;padding:.75rem}.audit-table th{color:#4b5a6e;text-transform:uppercase;font-size:.8rem}.audit-table td{overflow-wrap:anywhere}.audit-table td span,.audit-table td strong{display:block}@media (width<=900px){.portal-shell{grid-template-columns:1fr}.portal-sidebar{position:static}.portal-nav{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.portal-main{padding:1rem}.two-column,.users-layout,.roles-layout,.phase-page-heading,.portal-header,.state-grid,.audit-trace dl,.audit-filter-form{grid-template-columns:1fr}.two-column,.phase-page-heading,.portal-header{display:grid}}
