/* Platform-only presentation. Uses the same light/dark tokens as the planner. */
body.platform-page {margin:0;background:var(--ui-ground);color:var(--ui-ink);font:14px/1.5 system-ui,sans-serif;color-scheme:var(--ui-color-scheme)}
body.platform-page>header {background:#172633;color:#edf0f2;padding:14px max(24px,calc((100vw - 1512px)/2));border-bottom:1px solid #354550}
.platform-page .platform-brand {display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.platform-page .platform-brand .brand-mark {display:grid;place-items:center;background:#f2a900;color:#172633;width:32px;height:36px;margin:0;font-size:22px;font-weight:800}
.platform-page .platform-brand b {font-size:13px;letter-spacing:.12em;line-height:1.3}
.platform-page .platform-brand small {display:block;font-size:10px;color:#aeb9c2;letter-spacing:.08em;margin-top:3px}
body.platform-page>header>a:last-child {font-size:13px;text-decoration:none;border:1px solid #50606c;border-radius:7px;padding:7px 12px}
body.platform-page>header>a:last-child:hover {background:#30424e}
.platform-page #portal {max-width:1560px;margin:24px auto;padding:0 24px}
.platform-page #portal h1 {font-size:27px;line-height:1.25;letter-spacing:-.025em;margin:0}
.platform-page #portal h2 {font-size:18px;line-height:1.35;margin:0 0 10px}
.platform-page #portal h3 {font-size:15px;margin:20px 0 10px}
.platform-page #portal p {line-height:1.6}
.platform-page #portal :is(.muted,small) {color:var(--ui-ink2)}
.platform-page #portal .card {background:var(--ui-card);color:var(--ui-ink);border:1px solid var(--ui-line);border-radius:11px;box-shadow:0 1px 3px #00000005;padding:22px;margin:18px 0}
.platform-page #portal .login {max-width:460px;margin:70px auto}
.platform-page #portal .login h1 {margin-bottom:14px}
.platform-page #portal :is(input,select,textarea) {background:var(--ui-card);color:var(--ui-ink);border:1px solid var(--ui-line);border-radius:7px;min-height:39px;padding:9px 11px;margin:6px 0 12px;font-size:14px}
.platform-page #portal label {color:var(--ui-ink2);font-size:12px;font-weight:650}
.platform-page #portal button {border:1px solid transparent;border-radius:7px;min-height:36px;padding:8px 13px;font:650 13px system-ui;line-height:1.4;background:var(--ui-accent);color:#172633}
.platform-page #portal button.secondary {background:var(--ui-card);color:var(--ui-ink);border-color:var(--ui-line)}
.platform-page #portal button:hover:not(:disabled) {filter:brightness(.96);border-color:var(--ui-petrol)}
.platform-page #portal button.secondary:hover:not(:disabled) {background:var(--ui-soft);filter:none}
.platform-page #portal button:active:not(:disabled) {transform:translateY(1px)}
.platform-page #portal button:disabled {opacity:.5;cursor:wait}
.platform-page #portal :is(button,input,select,textarea,summary,a):focus-visible {outline:2px solid var(--ui-accent);outline-offset:3px}
.platform-page #portal .danger-action {background:var(--ui-reds);color:var(--ui-red);border-color:var(--ui-red)}
.platform-page #portal .platform-danger-zone {border-color:color-mix(in srgb,var(--ui-red) 40%,var(--ui-line));background:var(--ui-card)}
.platform-page #portal .platform-danger-zone>summary {color:var(--ui-red);font-size:14px;font-weight:650;cursor:pointer}
.platform-page #portal details[open]>summary {margin-bottom:16px}
.platform-page #portal .platform-create>summary {font-size:15px}
.platform-page #portal .platform-page-head {display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.platform-page #portal .platform-kicker {font-size:10px;letter-spacing:.14em;font-weight:750;color:var(--ui-ink3);margin:0 0 5px}
.platform-account {display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.platform-account>span {font-size:13px;font-weight:650;margin-right:8px}
.platform-page #portal .platform-account label {display:flex;align-items:center;gap:8px}
.platform-page #portal .platform-account select {width:100px;min-height:36px;margin:0;padding:7px}
.platform-nav {display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--ui-line);padding-bottom:1px;margin-bottom:18px}
.platform-page #portal .platform-nav button {background:transparent;border:0;border-bottom:3px solid transparent;border-radius:6px 6px 0 0;padding:10px 16px;color:var(--ui-ink2)}
.platform-page #portal .platform-nav button[aria-current=page] {background:var(--ui-head);color:var(--ui-ink);border-bottom-color:var(--ui-accent)}
.platform-intro {margin:0 0 12px;font-size:13px}
.platform-delivery {display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--ui-ink2);margin:10px 0 18px}
.platform-page #portal .badge {display:inline-block;white-space:nowrap;background:var(--ui-greens);color:var(--ui-green);border-radius:5px;padding:3px 7px;font-size:11px;line-height:1.4;font-weight:650}
.platform-page #portal .badge.suspended {background:var(--ui-reds);color:var(--ui-red)}
.platform-page #portal .badge.neutral {background:var(--ui-soft);color:var(--ui-ink2)}
.platform-page #portal .danger {color:var(--ui-red)}
.platform-statbar {display:flex;flex-wrap:wrap;border:1px solid var(--ui-line);border-radius:9px;overflow:hidden;background:var(--ui-card);margin:16px 0}
.platform-page #portal .platform-statbar button {display:flex;align-items:center;gap:10px;flex:1 1 160px;text-align:left;border:0;border-radius:0;background:transparent;padding:12px 18px;border-right:1px solid var(--ui-line)}
.platform-page #portal .platform-statbar b {font-size:21px;line-height:1.2;font-weight:700;color:var(--ui-ink)}
.platform-page #portal .platform-statbar span {font-size:12px;font-weight:500;color:var(--ui-ink2)}
.platform-page #portal table {font-size:13px}
.platform-page #portal th {background:var(--ui-head);color:var(--ui-head-ink);border-bottom:1px solid var(--ui-line);font-size:10px;letter-spacing:.045em;text-transform:uppercase;font-weight:700}
.platform-page #portal td {border-color:var(--ui-line);vertical-align:top;background:var(--ui-card);padding:14px 12px}
.platform-page #portal th {padding:11px 12px}
.platform-page #portal tr:hover>td {background:var(--ui-board)}
.platform-page #portal .scroll {border:1px solid var(--ui-line);border-radius:8px}
.platform-page #portal .scroll:focus-visible {outline:2px solid var(--ui-accent);outline-offset:3px}
.platform-page #portal .platform-filters {background:var(--ui-board);border:1px solid var(--ui-line);border-radius:8px;padding:12px 14px;gap:14px;align-items:end}
.platform-page #portal .platform-filters :is(input,select) {margin-bottom:0}
.platform-page #portal .platform-overview-table small {font-size:11px;line-height:1.5}
.platform-page #portal .platform-overview-table td:last-child button {display:block;min-width:95px;margin:0 0 6px;padding:6px 10px;min-height:32px}
.platform-page #portal .platform-overview-table {min-width:1080px}
.platform-page #portal .platform-module {min-width:125px;font-size:12px}
.platform-page #portal .platform-module b {font-weight:650}
.platform-section-head {display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:14px}
.platform-section-head p {margin:5px 0 0;font-size:13px}
.platform-page #portal .platform-module-picker {max-width:360px;margin:20px 0}
.platform-page #portal .platform-license-card>form {margin:16px 0;padding:18px;background:var(--ui-board);border:1px solid var(--ui-line);border-radius:8px}
.platform-page #portal .platform-license-card>form h3 {margin-top:0}
.platform-page #portal .platform-restore-info {margin:16px 0;padding:13px 16px;background:var(--ui-board);border:1px solid var(--ui-line);border-radius:8px}
.platform-page #portal summary {cursor:pointer}
.platform-page #portal .platform-filename {overflow-wrap:anywhere;font-size:12px}
.platform-page #portal .platform-info {background:var(--ui-warnings);color:var(--ui-warning);padding:12px;border-radius:7px}
.platform-page #portal .platform-error {background:var(--ui-reds);color:var(--ui-red);padding:12px;border-radius:7px}
.platform-audit-filters {display:grid;grid-template-columns:minmax(200px,2fr) minmax(160px,1.3fr) minmax(170px,1.5fr) repeat(2,minmax(125px,.8fr)) auto;gap:12px;align-items:end;background:var(--ui-board);border:1px solid var(--ui-line);border-radius:8px;padding:14px}
.platform-page #portal .platform-audit-filters :is(input,select) {margin-bottom:0}
.platform-audit-table {min-width:760px;table-layout:fixed}
.platform-audit-table th:nth-child(1) {width:15%}
.platform-audit-table th:nth-child(2) {width:20%}
.platform-audit-table th:nth-child(3) {width:27%}
.platform-audit-table th:nth-child(4) {width:38%}
.platform-audit-table small {display:block;margin-top:5px;font-size:11px}
.platform-audit-table td {overflow-wrap:anywhere}
.platform-audit-table strong {font-weight:650}
.platform-audit-facts {margin:0;display:grid;gap:7px}
.platform-audit-facts>div {display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px}
.platform-audit-facts dt {font-size:11px;color:var(--ui-ink2)}
.platform-audit-facts dd {margin:0;white-space:pre-wrap;font-size:12px;line-height:1.5}
.platform-technical {margin-top:12px;font-size:11px;color:var(--ui-ink2)}
.platform-technical summary {font-weight:500}
.platform-technical pre {white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;overflow:auto;padding:12px;margin:10px 0 0;background:var(--ui-board);border:1px solid var(--ui-line);border-radius:6px;font:11px/1.6 ui-monospace,monospace;color:var(--ui-ink2)}
.platform-page #portal #platform-audit-more {margin-top:16px}
.platform-page #portal .platform-empty {padding:28px;text-align:center;color:var(--ui-ink2)}
.platform-page #notice:empty {display:none}
.platform-page #notice:not(:empty) {position:sticky;top:0;bottom:auto;left:auto;transform:none;margin:0 auto;padding:10px 24px;width:auto;max-width:1560px;z-index:15;background:var(--ui-head);color:var(--ui-ink);border:1px solid var(--ui-line);border-radius:0 0 8px 8px;font-size:13px}
.platform-page #notice[data-type=error] {background:var(--ui-reds);color:var(--ui-red)}
.platform-page #notice[data-type=pending]::before {content:'';display:inline-block;vertical-align:-2px;width:12px;height:12px;border:2px solid var(--ui-line);border-top-color:var(--ui-petrol);border-radius:50%;margin-right:9px;animation:platform-progress .8s linear infinite}
.platform-page #portal[aria-busy=true] {cursor:progress}
.platform-dashboard-grid {display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px}
.platform-page #portal .platform-dashboard-grid>.card {margin:0}
.platform-followups,.platform-recent-events {list-style:none;margin:0;padding:0}
.platform-followups>li {display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--ui-line)}
.platform-followups>li:last-child {border:0;padding-bottom:0}
.platform-followups>li:first-child {padding-top:4px}
.platform-followups strong {font-size:13px;font-weight:650}
.platform-followups p {margin:5px 0;color:var(--ui-ink2);font-size:12px}
.platform-followups small {font-size:11px}
.platform-followups button {flex-shrink:0}
.platform-operation {display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--ui-line);padding:18px 0}
.platform-operation:last-child {padding-bottom:0}
.platform-page #portal .platform-operation h3 {margin:5px 0;font-size:14px}
.platform-operation p {font-size:12px;color:var(--ui-ink2);margin:6px 0;overflow-wrap:anywhere}
.platform-operation small {font-size:11px}
.platform-operation button {flex-shrink:0}
.platform-recent-events>li {display:grid;grid-template-columns:145px minmax(0,1fr);gap:20px;padding:13px 0;border-top:1px solid var(--ui-line)}
.platform-recent-events time {font-size:12px;color:var(--ui-ink2)}
.platform-recent-events strong {font-size:13px;font-weight:650}
.platform-recent-events small {display:block;font-size:11px;margin-top:4px}
@media(max-width:1000px){.platform-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:480px){.platform-operation,.platform-followups>li{align-items:flex-start;flex-direction:column;gap:10px}.platform-recent-events>li{grid-template-columns:1fr;gap:6px}}
@keyframes platform-progress {to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce) {.platform-page #notice[data-type=pending]::before{animation:none}}
@media(max-width:1200px) {.platform-audit-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-audit-facts>div{grid-template-columns:80px minmax(0,1fr);gap:8px}}
@media(max-width:800px) {
 .platform-page #portal{padding:0 16px;margin:20px auto}
 .platform-page #portal .platform-overview-table{min-width:0}
 .platform-page #portal .platform-overview-table tr{border-color:var(--ui-line);background:var(--ui-card)}
 .platform-page #portal .platform-overview-table td{padding:0}
 .platform-page #portal .platform-overview-table td[data-label]::before{color:var(--ui-ink2)}
 .platform-page #portal .platform-overview-table td:last-child{display:flex;gap:8px}
 .platform-account{gap:8px}
 .platform-nav{flex-wrap:nowrap;overflow-x:auto}
 .platform-page #portal .platform-nav button{white-space:nowrap;padding:10px 12px}
 .platform-page #portal .card{padding:18px}
 .platform-audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .platform-audit-filters>label:first-child{grid-column:1 / -1}
 .platform-audit-filters>button{grid-column:1 / -1}
 .platform-audit-table{min-width:0;display:block;table-layout:auto}
 .platform-audit-table thead{display:none}
 .platform-audit-table tbody{display:block}
 .platform-audit-table tr{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px;border-bottom:1px solid var(--ui-line)}
 .platform-page #portal .platform-audit-table td{display:block;padding:0;border:0;min-width:0}
 .platform-audit-table td:nth-child(n+3){grid-column:1 / -1}
 .platform-audit-table td::before{content:attr(data-label);display:block;text-transform:uppercase;letter-spacing:.06em;font-size:10px;color:var(--ui-ink2);margin-bottom:7px}
 .platform-audit-facts>div{grid-template-columns:100px minmax(0,1fr)}
}
@media(max-width:480px) {
 body.platform-page>header{padding:12px 16px}
 .platform-page #portal h1{font-size:24px}
 .platform-page #portal .platform-page-head{gap:14px}
 .platform-account>span{width:100%}
 .platform-page #portal .card{padding:14px}
 .platform-page #portal .platform-statbar button{flex-basis:45%;padding:12px}
 .platform-page #portal .platform-statbar span{font-size:11px}
 .platform-audit-facts>div{grid-template-columns:80px minmax(0,1fr)}
}
