:root {
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 15px; letter-spacing: 0;
  color: #17202c; background: #f8fafc;
  --navy: #172235; --orange: #f47c20; --blue: #1d4ed8;
  --muted: #657386; --border: #d8dee8;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; }
header { display: flex; align-items: center; gap: 14px; padding: 20px 32px; background: #fff; border-top: 4px solid var(--orange); border-bottom: 1px solid var(--border); }
header img { object-fit: contain; flex-shrink: 0; border-radius: 4px; }
header strong { font-size: 24px; color: var(--navy); }
.brand-accent { color: #c85f14; }
.preview-label { margin-left: auto; color: var(--muted); font-size: 13px; }
nav { display: flex; gap: 24px; padding: 0 32px; background: #fff; border-bottom: 1px solid var(--border); }
nav button { border: 0; border-bottom: 3px solid transparent; border-radius: 0; padding: 16px 2px 13px; color: var(--muted); background: transparent; }
nav button:hover { color: var(--navy); background: transparent; border-bottom-color: var(--border); }
nav button[aria-pressed="true"] { border-bottom-color: var(--orange); color: var(--navy); font-weight: 700; }
main { width: 100%; min-width: 0; max-width: 1440px; margin: 0 auto; padding: 28px 32px 56px; flex: 1; }
h1 { color: var(--navy); font-size: 30px; line-height: 1.25; margin: 8px 0 30px; font-weight: 650; }
h2 { color: var(--navy); font-size: 20px; margin: 0 0 20px; }
label { display: grid; gap: 8px; margin: 0 0 20px; font-weight: 600; font-size: 14px; }
input, select, textarea { font: inherit; color: inherit; width: 100%; min-width: 0; border: 1px solid #a7b5c7; border-radius: 6px; padding: 12px; background: #fff; }
input, select { min-height: 46px; }
textarea { resize: vertical; line-height: 1.5; }
input[readonly] { background: #eef2f7; color: #526176; }
input:hover, select:hover, textarea:hover { border-color: #7c9bc7; }
input:focus, select:focus, textarea:focus, button:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
button { font: inherit; font-weight: 600; border: 1px solid #a7b5c7; border-radius: 6px; padding: 10px 16px; min-height: 42px; background: #fff; color: var(--navy); cursor: pointer; white-space: normal; line-height: 1.35; }
button:hover { background: #eff6ff; border-color: #7c9bc7; }
button:disabled { background: #eef2f7; border-color: var(--border); color: var(--muted); cursor: not-allowed; }
.primary { background: var(--orange); border-color: #c85f14; color: #172235; }
.primary:hover { background: #ff822d; border-color: #a94a09; }
.primary:disabled { background: #eef2f7; border-color: var(--border); color: var(--muted); }
.compact { max-width: 480px; }
.compact > .primary { min-width: 160px; min-height: 46px; margin-top: 4px; }
.portal-shell:not(.signed-in) main { max-width: 820px; padding-top: 48px; }
.portal-shell.public-content main { max-width: 1080px; }
.home-masthead { padding: 0 0 36px; margin-bottom: 32px; border-bottom: 1px solid var(--border); }
.home-masthead > img { object-fit: contain; display: block; margin-bottom: 22px; border-radius: 4px; }
.home-masthead h1 { margin: 0 0 14px; font-size: 36px; }
.home-masthead .decisions { margin-bottom: 0; }
#home-view .page-heading h2 { margin: 0; }
#public-nav { flex-wrap: wrap; gap: 6px 24px; }
#public-nav #workspace-tab { margin-left: auto; }
.portal-shell:not(.signed-in) #review-view { max-width: 480px; margin: 0 auto; }
.portal-shell:not(.signed-in) #review-view h1 { margin-bottom: 32px; }
.registration { max-width: 680px; margin: 0 auto; }
.registration-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 24px; }
.form-wide { grid-column: 1 / -1; }
.form-submit { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--border); padding-top: 24px; }
.form-submit .primary { flex-shrink: 0; min-height: 46px; }
.field-meta { margin-left: auto; color: var(--muted); font-size: 12px; font-weight: 400; }
.password-field { margin-bottom: 20px; }
.password-field > label { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.password-control { display: flex; position: relative; }
.password-control input { padding-right: 58px; }
.password-control .password-toggle { position: absolute; right: 3px; top: 3px; min-height: 40px; width: 40px; height: 40px; border-color: transparent; background: transparent; }
.password-toggle[aria-pressed="true"] { box-shadow: inset 0 -2px #1d4ed8; }
.registration-result { border-top: 3px solid #16816a; padding: 28px 0; }
.registration-result h2 { margin: 16px 0 12px; }
.registration-result p { max-width: 540px; line-height: 1.7; color: #526176; margin-bottom: 24px; }
button[aria-busy="true"] { opacity: .65; cursor: progress; }
.toolbar { display: flex; gap: 10px; align-items: center; margin-bottom: 28px; padding-bottom: 20px; border-bottom: 1px solid var(--border); }
.toolbar span { margin-right: auto; color: var(--muted); }
.split { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(300px, 1fr); gap: 32px; }
.accounts { min-width: 0; }
#detail { padding-left: 32px; border-left: 1px solid var(--border); min-width: 0; }
table { border-collapse: collapse; width: 100%; background: #fff; table-layout: fixed; }
.table-scroll { max-width: 100%; overflow-x: auto; }
th, td { text-align: left; padding: 14px 10px; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; }
th { font-size: 12px; text-transform: uppercase; color: #435c7c; background: #eef4fc; }
th:first-child { width: 40%; }
th:last-child { width: 104px; }
tbody tr:hover { background: #f8fafc; }
td button { white-space: nowrap; overflow-wrap: normal; color: var(--blue); }
td small { display: block; color: var(--muted); margin-top: 6px; }
.pagination, .decisions { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.pagination { justify-content: space-between; }
#reject, #disable { color: #b91c1c; }
#reject:hover, #disable:hover { background: #fef2f2; border-color: #b91c1c; }
#reject:disabled, #disable:disabled { color: var(--muted); border-color: var(--border); background: #eef2f7; }
.check { display: flex; align-items: flex-start; font-weight: 400; line-height: 1.5; }
.check input { width: 18px; min-width: 18px; height: 18px; min-height: 18px; margin: 2px 0 0; accent-color: var(--blue); }
dl { display: grid; grid-template-columns: 115px minmax(0, 1fr); gap: 12px; font-size: 14px; margin: 24px 0; }
dt { color: var(--muted); }
dd { margin: 0; overflow-wrap: anywhere; }
#notice { white-space: pre-line; color: #047857; margin: 0 0 20px; line-height: 1.5; }
#notice:empty { display: none; }
#notice:not(:empty) { padding: 12px 16px; border-left: 3px solid #047857; background: #ecfdf5; }
#notice.error { color: #b91c1c; border-color: #b91c1c; background: #fef2f2; }
#applicant-name, #applicant-email, #applicant-org { overflow-wrap: anywhere; }
#applicant-org { color: var(--muted); }
#email-draft { margin-top: 24px; }
#verify-form { border-top: 1px solid var(--border); margin-top: 24px; padding-top: 24px; }
footer { padding: 20px 32px; border-top: 1px solid var(--border); background: #fff; color: var(--muted); font-size: 13px; }
[hidden] { display: none !important; }
.portal-shell { flex: 1; }
.portal-shell.signed-in { display: grid; grid-template-columns: 228px minmax(0, 1fr); }
aside { background: #fff; border-right: 1px solid var(--border); padding: 28px 16px; display: flex; flex-direction: column; gap: 18px; }
.eyebrow { font-size: 11px; font-weight: 700; color: #657386; margin: 0 0 12px; letter-spacing: 0; }
.side-nav { padding: 0; border: 0; display: grid; gap: 6px; }
.side-nav button { display: flex; align-items: center; gap: 10px; text-align: left; border: 0; border-left: 3px solid transparent; padding: 12px 10px; min-height: 46px; font-weight: 600; color: #435064; }
.side-nav button img { margin: 0; }
.side-nav button[aria-current="page"] { color: #893c0b; background: #fff1e7; border-left-color: var(--orange); }
.side-nav button:hover { background: #f0f6f8; border-left-color: #86b5bc; }
.sidebar-bottom { margin-top: auto; padding: 40px 10px 0; color: var(--muted); font-size: 12px; }
.sidebar-bottom button { margin-top: 18px; display: block; width: 100%; }
.status-dot { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: #16816a; }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 30px; }
.page-heading h1 { margin: 0; }
.page-heading .eyebrow { margin-bottom: 8px; }
.metrics { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 0 0 40px; background: #fff; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.metric { padding: 24px 16px; border-right: 1px solid var(--border); }
.metric:last-child { border: 0; }
.metric span { display: block; color: var(--muted); font-size: 12px; min-height: 34px; }
.metric strong { display: block; font-size: 30px; color: #125951; }
.dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; }
#attention p { padding: 15px 0; border-bottom: 1px solid var(--border); margin: 0; line-height: 1.6; }
.activity { list-style: none; padding: 0; margin: 0; }
.activity li { padding: 12px 0; border-bottom: 1px solid var(--border); display: grid; gap: 5px; overflow-wrap: anywhere; }
.activity strong { text-transform: capitalize; font-size: 14px; }
.activity span,.activity time { font-size: 12px; color: var(--muted); }
.filterbar { display: flex; gap: 16px; align-items: end; margin: 0 0 24px; }
.filterbar label { margin: 0; }
.filterbar label:first-child { flex: 1; max-width: 420px; }
.filterbar button { min-height: 46px; }
.atlas-access-form {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px;margin-bottom:24px;align-items:end;}
.atlas-access-form label {min-width:0;margin:0;}
.atlas-access-form input[type=checkbox] {width:20px;height:20px;vertical-align:middle;margin-right:8px;}
.atlas-access-form fieldset {grid-column:1/-1;border:1px solid var(--border);padding:16px;display:flex;flex-wrap:wrap;gap:12px 24px;min-width:0;}
.atlas-access-form fieldset label {display:flex;align-items:center;overflow-wrap:anywhere;}
.atlas-access-form [role=status] {grid-column:1/-1;margin:0;}
@media(max-width:700px){.atlas-access-form{grid-template-columns:minmax(0,1fr);}}
.muted { color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.content-row { display: flex; align-items: center; gap: 28px; padding: 26px 0; border-top: 1px solid var(--border); }
.content-copy { flex: 1; min-width: 0; }
.content-copy h2 { margin: 0 0 8px; font-size: 19px; overflow-wrap: anywhere; }
.content-copy p { margin: 0 0 10px; color: #526176; overflow-wrap: anywhere; white-space: pre-wrap; }
.content-copy small { display: block; color: var(--muted); line-height: 1.6; overflow-wrap: anywhere; }
.content-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; max-width: 280px; }
.content-actions button { font-size: 13px; min-height: 36px; padding: 8px 12px; }
.badge { display: inline-block; margin-top: 10px; font-size: 11px; font-weight: 600; padding: 4px 7px; border-radius: 3px; }
.badge.draft { background: #fdf1cf; color: #7a5a09; }
.badge.published { background: #dcf4ea; color: #156044; }
.badge.archived { background: #e7ebef; color: #536173; }
.badge.active, .badge.verified, .badge.passed { background: #dcf4ea; color: #156044; }
.badge.pending, .badge.unavailable { background: #fdf1cf; color: #7a5a09; }
.badge.disabled, .badge.recorded { background: #e7ebef; color: #536173; }
.badge.rejected, .badge.failed { background: #fce8e8; color: #a12727; }
td .badge { margin: 0; font-size: 12px; }
.empty-state { padding: 48px 0; border-top: 1px solid var(--border); color: var(--muted); }
dialog { width: min(760px, calc(100% - 32px)); max-height: calc(100dvh - 40px); overflow: auto; border: 1px solid var(--border); border-radius: 6px; padding: 28px; color: #17202c; }
dialog::backdrop { background: rgb(20 31 42 / 45%); }
.dialog-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 24px; }
.dialog-heading h2 { margin: 0; }
.editor-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.article-body { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.85; }
#article-title { overflow-wrap: anywhere; }
.lead { color: #526176; font-size: 17px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.error { color: #b91c1c; }
.operation-section { border-top: 1px solid var(--border); padding: 24px 0; }
.operation-facts { display: grid; grid-template-columns: minmax(110px,240px) minmax(0,1fr); gap: 12px 20px; }
.operation-facts dt { color: #526176; }
.operation-facts dd { margin: 0; overflow-wrap: anywhere; }
.operation-table { min-width: 680px; }
.operation-table td { overflow-wrap: anywhere; max-width: 220px; }
.operation-table th:first-child { width: auto; }
@media (max-width:640px) {
  .health-view .operation-facts {grid-template-columns:minmax(90px,40%) minmax(0,1fr);gap:12px;}
  .health-view .operation-table {min-width:0;width:100%;}
  .health-view .operation-table thead {display:none;}
  .health-view .operation-table tr {display:block;border-bottom:1px solid var(--border);padding:10px 0;}
  .health-view .operation-table td {display:grid;grid-template-columns:minmax(90px,40%) minmax(0,1fr);gap:12px;max-width:none;padding:7px 4px;border:0;overflow-wrap:anywhere;}
  .health-view .operation-table td::before {content:attr(data-label);font-weight:600;}
}
.atlas-config-form { align-items: end; }
.atlas-config-form label { min-width: 180px; }
.atlas-config-form textarea { min-width: min(520px, 80vw); resize: vertical; }
.credential-once { border: 2px solid #b45309; padding: 20px; background: #fff7ed; }
.credential-once dd { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
button img { vertical-align: middle; flex-shrink: 0; pointer-events: none; margin-right: 8px; }
.icon-button { display: inline-flex; justify-content: center; align-items: center; width: 42px; height: 42px; padding: 9px; flex-shrink: 0; }
.icon-button img { margin: 0; }
.content-actions .icon-button { width: 36px; height: 36px; }
footer { display: flex; justify-content: space-between; }
@media (max-width: 1120px) {
  .split,.dashboard-grid { grid-template-columns: 1fr; }
  #detail { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--border); }
  .metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .metric { border-bottom: 1px solid var(--border); }
}
@media (max-width: 820px) {
  .split { grid-template-columns: 1fr; }
  #detail { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--border); }
  header { flex-wrap: wrap; padding: 18px 20px; }
  .preview-label { width: 100%; margin: 0; }
  nav { padding: 0 20px; gap: 20px; }
  main { padding: 28px 20px 40px; }
  h1 { font-size: 26px; }
  .toolbar { flex-wrap: wrap; }
  .toolbar span { width: 100%; }
  footer { padding: 20px; }
  th, td { padding: 10px 6px; font-size: 13px; }
  th:first-child { width: 35%; }
  .portal-shell.signed-in { display: block; }
  aside { padding: 10px 20px; border-right: 0; border-bottom: 1px solid var(--border); gap: 8px; }
  aside .eyebrow { display: none; }
  .side-nav { display: flex; flex-wrap: wrap; gap: 4px; }
  .side-nav button { padding: 10px; font-size: 13px; min-height: 40px; }
  .sidebar-bottom { padding: 0; display: flex; align-items: center; gap: 6px; }
  .sidebar-bottom button { width: auto; margin: 0 0 0 auto; padding: 6px 10px; min-height: 32px; font-size: 12px; }
  #signout,#customer-signout { display: none; }
  .metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .metric { padding: 18px 12px; }
  .content-row { align-items: stretch; flex-direction: column; gap: 16px; }
  .content-actions { justify-content: flex-start; max-width: none; }
  .filterbar { flex-wrap: wrap; }
  .filterbar label:first-child { flex-basis: 100%; max-width: none; }
  .page-heading { flex-wrap: wrap; }
  .editor-grid { grid-template-columns: 1fr; gap: 0; }
  .portal-shell:not(.signed-in) main { padding-top: 32px; }
  .registration-form { grid-template-columns: 1fr; }
  .form-submit { align-items: stretch; flex-direction: column; gap: 16px; }
  dialog { padding: 20px; }
}
.password-section {margin-top:32px;padding-top:24px;border-top:1px solid #dde3e8;}
.suite-intro {max-width:680px;line-height:1.7;color:var(--muted);}
.product-index {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;gap:0;background:white;border-bottom:1px solid var(--border);}
.product-index a {display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px 20px;border-top:3px solid var(--orange);color:var(--navy);text-decoration:none;min-width:0;}
.product-index a:nth-child(2) {border-color:#1d4ed8;}
.product-index a:nth-child(3) {border-color:#047857;}
.product-index a:nth-child(4) {border-color:#657386;}
.product-index a:hover {background:#eef2f7;}
.product-index a:focus-visible {outline:2px solid var(--blue);outline-offset:-3px;}
.product-index strong {font-size:21px;}
.product-index a>span:not(.product-number) {font-size:14px;}
.product-number {font-size:11px;font-weight:700;color:var(--muted);}
.product-section {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:52px;padding:44px 0;border-bottom:1px solid var(--border);align-items:start;}
.product-section h2 {font-size:30px;margin:8px 0 12px;scroll-margin-top:24px;}
.product-subtitle {font-size:19px;line-height:1.5;margin:0 0 20px;}
.product-copy>p {line-height:1.75;}
.product-features {list-style:none;padding:0;margin:24px 0;}
.product-features li {padding:10px 0 10px 16px;border-left:3px solid #d8dee8;margin:8px 0;line-height:1.5;}
.hardware-section {grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;}
.product-image {margin:0;text-align:center;}
.product-image img {display:block;width:100%;height:auto;object-fit:contain;}
.product-image figcaption {font-size:12px;color:var(--muted);margin-top:18px;}
.product-note {color:#536174;font-size:13px;}
.atlas-section .eyebrow {color:#047857;}
.product-stage {display:inline-block;border-left:3px solid #657386;padding-left:10px;font-size:13px;color:#536174;}
.suite-summary {padding:32px 28px;background:#eef2f7;margin:32px 0 44px;}
.suite-summary h2 {font-size:24px;}
.suite-summary>p:not(.eyebrow) {max-width:780px;line-height:1.75;}
@media(max-width:640px) {
  .product-index {grid-template-columns:repeat(2,minmax(0,1fr));}
  .product-index a {padding:18px 12px;gap:8px;}
  .product-number {font-size:10px;}
  .product-index strong {font-size:19px;}
  .product-section,.hardware-section {grid-template-columns:minmax(0,1fr);gap:12px;padding:32px 0;}
  .product-section h2 {font-size:26px;}
  .product-image {max-width:360px;margin:12px auto;}
  .suite-summary {padding:24px 20px;}
}
#profile-facts {grid-template-columns:minmax(100px,180px) minmax(0,1fr);}
#support-view {min-width:0;}
#support-view form:not(.filterbar) {max-width:850px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:24px 0;padding:24px 0;border-top:1px solid var(--border);}
#support-view form[hidden] {display:none;}
#support-view form h2,#support-view form label:has(textarea),#support-view form button {grid-column:1/-1;}
#support-view form button {justify-self:start;}
#support-view label {margin:0;min-width:0;}
#support-view .filterbar {margin-top:24px;flex-wrap:wrap;}
#support-view .content-row {flex-wrap:wrap;gap:12px;overflow-wrap:anywhere;}
#support-list .content-row strong {flex:1;min-width:180px;}
#support-conversation .content-row {display:block;padding:16px 0;}
#support-conversation {margin-top:32px;}
#support-view pre {white-space:pre-wrap;overflow-wrap:anywhere;}
#support-view details {border-top:1px solid var(--border);margin-top:32px;padding-top:20px;}
@media(max-width:600px){#support-view form:not(.filterbar){grid-template-columns:minmax(0,1fr);}#support-view .filterbar label{flex:1 1 140px;}}
@media (max-width:640px) {#profile-facts {grid-template-columns:90px minmax(0,1fr);}}
/* Platform administration uses existing page typography and unframed sections. */
.platform-section {border-bottom:1px solid #53616b;padding:16px 0;margin:8px 0;}
.platform-section summary {cursor:pointer;font-weight:600;}
.platform-form {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;padding:16px 0;align-items:end;}
.platform-form label {display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere;}
.platform-form input,.platform-form select {min-width:0;max-width:100%;}
.platform-form input[type=checkbox] {width:20px;height:20px;}
.platform-actions {display:flex;gap:8px;flex-wrap:wrap;}
.platform-form .platform-checkbox {flex-direction:row;align-items:center;gap:10px;margin:0;min-height:42px;}
.platform-form .platform-checkbox input {flex:0 0 20px;min-height:20px;padding:0;margin:0;}
.platform-scope-editor {grid-column:1/-1;min-width:0;border:1px solid var(--border);padding:12px;}
.platform-command-scope {grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));border-bottom:1px solid var(--border);margin-bottom:12px;}
.platform-command-scope label {margin:0;}
.platform-scope-remove {width:42px;height:42px;padding:10px;justify-self:start;}
