:root{color-scheme:dark;--bg:#0c1019;--panel:#151c29;--line:#273246;--text:#e9eff9;--muted:#92a0b7;--accent:#8b85ff;--green:#60d4af}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{background:var(--accent);color:#0a0d15;border:1px solid transparent;border-radius:10px;padding:12px 18px;cursor:pointer;font-weight:600}button:hover{filter:brightness(1.12)}button:disabled{opacity:.5;cursor:wait}.secondary{background:transparent;border-color:var(--line);color:var(--text)}input,select,textarea{width:100%;background:#0d131e;border:1px solid var(--line);border-radius:9px;color:var(--text);padding:12px;margin:8px 0 14px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent)}label{display:block;color:#bdc8dc}h1{font-size:32px;font-weight:650;letter-spacing:-1px;margin:7px 0}h2{font-size:20px;margin:0 0 18px}h3{font-size:17px;margin:0 0 12px}p{line-height:1.6}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--muted)}.mark{background:linear-gradient(130deg,#a195ff,#557aeb);border-radius:12px;padding:11px;color:white;font-weight:750;font-size:20px;display:inline-block}.brand{display:flex;gap:12px;align-items:center;font-weight:700;font-size:17px;margin-bottom:50px}.brand span{display:block;font-size:12px;color:var(--muted);margin-top:4px}aside{position:fixed;width:240px;inset:0 auto 0 0;border-right:1px solid var(--line);padding:30px 20px;background:#101622}nav{display:grid;gap:7px}nav button{text-align:left;color:var(--muted);background:transparent;padding:13px;font-weight:500}nav button.active{color:#e7e4ff;background:#262641;border-color:#3e3c67}.aside-bottom{position:absolute;bottom:25px;font-size:12px}.dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:7px}main{margin-left:240px;padding:34px 40px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:23px;margin-bottom:18px;min-width:0}.number{font-size:32px;font-weight:600;margin:10px 0}.unit{font-size:14px;color:var(--muted)}.meter{width:100%;height:7px;border:0;border-radius:5px;accent-color:var(--accent)}progress::-webkit-progress-bar{background:#283247;border-radius:5px}progress::-webkit-progress-value{background:var(--accent);border-radius:5px}.row{display:flex;align-items:center;justify-content:space-between;gap:14px}.badge{font-size:11px;white-space:nowrap;padding:5px 9px;background:#233c36;color:var(--green);border-radius:20px}.badge.pending{background:#3b3423;color:#edc176}.path{font:12px ui-monospace,monospace;overflow-wrap:anywhere;color:var(--muted)}.details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.details span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.toolbar{display:flex;gap:14px;align-items:center;margin-bottom:20px}.toolbar input{margin:0;max-width:420px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cards .card{margin-bottom:0}.hint{background:#1c2435;border-left:3px solid var(--accent);padding:15px 18px;border-radius:7px;color:#bcc8dd;line-height:1.6;margin:18px 0}#notice{color:#edc176;line-height:1.6;margin-bottom:16px}svg.chart{width:100%;height:130px;display:block}svg polyline{fill:none;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 20%,#232442,transparent 60%)}.loginbox{width:min(430px,90vw);padding:38px;background:var(--panel);border:1px solid var(--line);border-radius:20px}.loginbox button{width:100%}.loginbox label{margin-top:28px}#loginError{color:#ff9a9a}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:16px;width:min(580px,94vw);max-height:90vh;padding:27px}dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}.modal-title{display:flex;justify-content:space-between;align-items:start}.empty{padding:35px;color:var(--muted);text-align:center}table{width:100%;border-collapse:collapse}th,td{padding:13px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}th{color:var(--muted)}a{color:#b6afff}.overflow{overflow:auto}[hidden]{display:none!important}@media(max-width:1150px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding:25px}}@media(max-width:720px){aside{position:static;width:100%;padding:16px;border-right:0;border-bottom:1px solid var(--line)}.brand{margin-bottom:10px}.aside-bottom{position:static;display:flex;align-items:center;gap:14px;margin-top:10px}aside .eyebrow{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap}main{margin:0;padding:20px 16px}.grid,.two,.cards{grid-template-columns:1fr}header{align-items:start}h1{font-size:26px}header button{padding:10px;font-size:11px}.toolbar{flex-wrap:wrap}}

details{margin:16px 0}summary{cursor:pointer;color:var(--muted)}

.toolbar{flex-wrap:wrap}.toolbar input{flex:1;min-width:180px}.toolbar select{width:auto;margin:0}.selected{border-color:var(--accent);color:#c9c3ff}.diagnostic{font-size:12px;color:#edc176}.text-button,.platform-table th button{background:none;color:var(--text);padding:0;text-align:left}.text-button{color:#b6afff}.platform-table{min-width:1050px}.platform-table td{vertical-align:middle}.platform-table th button:hover{color:var(--accent)}#detailDialog .card{border:0;padding:0;margin:0}#detailDialog{width:min(720px,94vw)}

.upgrade-dialog{width:min(650px,94vw);background:radial-gradient(ellipse at 50% 32%,#252541,#151c29 65%);border-color:#4b456f}.upgrade-dialog .modal-title p{margin:0 0 8px}.upgrade-dialog h2{text-align:center;font-size:24px}.upgrade-dialog canvas{display:block;width:100%;height:230px}.upgrade-progress-row{display:flex;align-items:center;gap:18px}.upgrade-progress-row progress{height:9px}.upgrade-progress-row span{min-width:40px;font-variant-numeric:tabular-nums}.upgrade-clock{text-align:center;padding:12px 0 20px;color:var(--muted)}#upgradeTimer{display:flex;justify-content:center;gap:3px;margin-top:9px;font:42px ui-monospace,monospace;color:#eeeaff;font-variant-numeric:tabular-nums;text-shadow:0 0 22px #8b85ff55}#upgradeTimer span{display:inline-block;min-width:.55em}.upgrade-steps{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.upgrade-steps span{padding:6px 9px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:11px}.upgrade-steps .current{border-color:var(--accent);background:#8b85ff22;color:#dbd7ff}#upgradeConnection{text-align:center;color:var(--muted);font-size:12px}@media(max-width:480px){.upgrade-dialog{padding:20px}.upgrade-dialog canvas{height:190px}#upgradeTimer{font-size:34px}}

.platform-upgrade-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}.platform-upgrade-tabs button{flex:1;min-width:130px}.platform-upgrade-tabs .selected{box-shadow:0 0 0 2px #b7afff66}.platform-upgrade-summary{margin-bottom:18px}#platformUpgradePanel .card{padding:24px}#platformUpgradePanel form{display:grid;gap:16px}#platformUpgradePanel label{margin:12px 0}#platformUpgradePanel .row{gap:12px;flex-wrap:wrap}#platformUpgradePanel input{width:100%;min-width:0}@media(max-width:600px){.platform-upgrade-tabs button{min-width:110px;padding:12px 8px}#platformUpgradePanel .row button{width:100%}}
.source-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.source-tabs button[aria-pressed=true]{border-color:#a69aff;color:#e5e0ff;background:#282344}.release-table{width:100%;font-size:14px}.release-table th{text-align:left;color:#a8b6cc}.release-table td,.release-table th{padding:16px 12px}.release-table td:first-child{overflow-wrap:anywhere}.release-table button{white-space:nowrap}.chart-empty{display:grid;place-items:center;min-height:140px;color:#a8b6cc}[hidden]{display:none!important}

/* Unified upgrade workspace */
.upgrade-heading{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.upgrade-heading label{width:min(360px,100%)}.upgrade-heading select{margin-bottom:0}.upgrade-heading strong{display:block;margin-top:8px}.upgrade-heading p{font-size:12px;margin:8px 0}.workspace-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:12px}.workspace-tabs button[aria-selected=true]{background:#282344;border-color:var(--accent);color:#e5e0ff}.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start;margin-top:16px}.actions button{width:auto!important}.package-workspace .source-tabs{margin-top:0}#platformUpgradePanel form{display:block;max-width:760px}#platformUpgradePanel label{margin:0}#platformUpgradePanel .card{padding:24px}#platformUpgradePanel .source-tabs button{width:auto}.package-workspace input{max-width:760px}.workspace-tabs button{flex:none}.upgrade-settings{max-width:800px}@media(max-width:600px){.upgrade-heading{gap:14px}.upgrade-heading>div{flex:1;min-width:160px}.upgrade-heading label{width:100%}.source-tabs{gap:6px}.source-tabs button{padding:10px 12px}.workspace-tabs button{padding:10px 12px}}

#upgradeDone.current{box-shadow:0 0 22px #8b85ff88;animation:doneGlow 2s ease-in-out infinite}#upgradeDone:disabled{opacity:.45;cursor:default}#releaseReview{max-width:620px}#releaseReview .actions{margin-top:24px}@keyframes doneGlow{50%{box-shadow:0 0 32px #9b90ffbb}}@media(prefers-reduced-motion:reduce){#upgradeDone.current{animation:none}}

.platform-toolbar{flex-wrap:wrap;gap:12px}.platform-toolbar #search{flex:1 1 220px;min-width:180px;max-width:420px}.platform-toolbar #autoDiscovery{margin-left:auto;white-space:nowrap}.platform-toolbar button{flex-shrink:0}#discoveryCredentials{border-top:1px solid var(--line);padding-top:20px;margin-top:12px}#discoveryCredentials input:disabled{opacity:.55;cursor:not-allowed}@media(max-width:720px){.platform-toolbar #autoDiscovery{margin-left:0;width:100%}}

#releaseReview{width:min(740px,94vw);overflow-x:hidden}#releaseReview .modal-title{position:sticky;top:-27px;background:var(--panel);padding:12px 0;z-index:1}#releaseReview .actions{position:sticky;bottom:-27px;background:var(--panel);padding:16px 0;border-top:1px solid var(--line);flex-wrap:wrap}.release-notes{margin:16px 0;padding:18px;background:#0d131e;border:1px solid var(--line);border-radius:12px;font:14px/1.7 system-ui,sans-serif;overflow-wrap:anywhere;min-width:0}.release-notes h3{font-size:16px;color:#c4bfff;margin:22px 0 10px}.release-notes h3:first-child{margin-top:0}.release-notes ul{padding-left:22px}.release-notes li{margin:8px 0}.release-notes code{white-space:normal;color:#b7e6ed}

/* V1R4SP5: compact platform context, releases as the primary workspace. */
.upgrade-heading{align-items:center;gap:20px}.upgrade-heading>button{align-self:center}.upgrade-heading strong{display:block;margin-top:6px}.upgrade-heading small{font-size:11px}.package-workspace details{max-width:760px;margin:12px 0}.package-workspace summary{cursor:pointer;color:var(--accent);padding:8px 0}.package-feedback{margin:12px 0;color:var(--muted)}.package-feedback .actions:has(button[hidden]){display:none}.package-workspace .empty{padding:24px 0;border-top:1px solid var(--line);margin-top:20px}.release-table{width:100%}@media(max-width:600px){.upgrade-heading>button{width:100%}.package-workspace{padding:18px!important}.release-table button{min-width:130px}}

.folder-link{color:var(--accent);align-self:center;padding:10px;text-decoration:none}.folder-link:hover{text-decoration:underline}

.upgrade-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.upgrade-heading label{flex:1;max-width:420px}.upgrade-heading select{margin-bottom:0}.upgrade-context{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:24px}.upgrade-context p{margin:5px 0}.upgrade-context strong{display:block}.workspace-tabs{margin-top:20px;margin-bottom:20px}#cliOutput{background:#080c12;color:#b9f4d7;min-height:320px;max-height:65vh;overflow:auto;white-space:pre-wrap;padding:18px;border:1px solid var(--line);font:14px/1.5 monospace}#cliOutput:focus{outline:2px solid var(--accent)}@media(max-width:600px){.upgrade-heading{align-items:flex-end;flex-wrap:wrap}.upgrade-context{gap:14px}.upgrade-context button{width:100%}}
