:root{--gs-suite-ink:#101b2b;--gs-suite-panel:#16263b;--gs-suite-line:#2d4058;--gs-suite-gold:#c5a04a;--gs-suite-text:#eef4fb;--gs-suite-muted:#9eb0c5}
#gs-suite-bar{position:relative;z-index:10000;min-height:52px;display:flex;align-items:center;gap:14px;padding:8px 18px;background:linear-gradient(90deg,#101b2b,#182b42);color:var(--gs-suite-text);border-bottom:2px solid var(--gs-suite-gold);box-shadow:0 5px 18px #0003;font:13px/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
#gs-suite-bar *{box-sizing:border-box}
#gs-suite-bar .gs-brand{display:flex;align-items:center;gap:9px;font-weight:750;letter-spacing:.06em;white-space:nowrap}
#gs-suite-bar .gs-mark{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d8ba73;border-radius:7px;color:#e5c982;background:#22344a;font-size:11px}
#gs-suite-bar nav{display:flex;align-items:center;gap:5px;flex:1;overflow:auto}
#gs-suite-bar a{color:#cbd7e4;text-decoration:none;padding:8px 11px;border-radius:7px;border:1px solid transparent;white-space:nowrap}
#gs-suite-bar a:hover,#gs-suite-bar a.active{color:white;background:#ffffff0e;border-color:#ffffff1c}
#gs-suite-bar a.active{box-shadow:inset 0 -2px var(--gs-suite-gold)}
#gs-suite-bar .gs-tools{display:flex;align-items:center;gap:8px;white-space:nowrap}
#gs-suite-bar select{background:#101b2b;color:#edf4fb;border:1px solid #53667d;border-radius:6px;padding:6px 8px}
#gs-suite-bar .gs-voice-state{font-size:11px;color:var(--gs-suite-muted)}
#gs-suite-bar .gs-user{padding-left:9px;border-left:1px solid #ffffff22}
#gs-suite-bar .gs-role{display:block;font-size:10px;color:var(--gs-suite-muted);text-transform:uppercase;letter-spacing:.08em}
.gs-suite-denied{padding:14px 18px;background:#3c2b18;color:#ffe8ba;border-bottom:1px solid #7a5c25;font:13px -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
@media(max-width:850px){#gs-suite-bar{align-items:flex-start;flex-wrap:wrap}#gs-suite-bar nav{order:3;flex-basis:100%}#gs-suite-bar .gs-tools{margin-left:auto}}

.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px 14px;margin:10px 0 14px}
.permission-grid label{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid #d8e0e7;border-radius:7px;background:#f8fafc}
.permission-grid small{display:block;color:#647386;margin-top:2px}
body[data-gs-fleet-manage="0"] #nodeConnect,
body[data-gs-fleet-manage="0"] #nodeDisconnect,
body[data-gs-fleet-manage="0"] #nodeDevices,
body[data-gs-fleet-manage="0"] #nodeRegister,
body[data-gs-fleet-manage="0"] #powerActions button,
body[data-gs-fleet-manage="0"] #services [data-action],
body[data-gs-fleet-manage="0"] #processes [data-action],
body[data-gs-fleet-manage="0"] [data-node-action="plan"],
body[data-gs-fleet-manage="0"] [data-node-action="retire"],
body[data-gs-fleet-manage="0"] [data-node-action="bottles"]{display:none!important}
body[data-gs-trading-execute="0"] #tradePreviewButton,
body[data-gs-trading-execute="0"] #tradeSubmit,
body[data-gs-trading-execute="0"] [data-broker-action]{display:none!important}
body[data-gs-trading-execute="0"] [data-gs-trade-action]{opacity:.45;cursor:not-allowed!important;filter:saturate(.45)}
body[data-gs-fleet-manage="0"] .console-nav [data-tab="audit"],
body[data-gs-fleet-manage="0"] .console-nav [data-tab="connections"],
body[data-gs-users-manage="0"] #usersNav{display:none!important}

/* GoldSec suite-wide workspace contract */
#gs-suite-bar{position:sticky;top:0}
body{--gs-workspace-bg:#0b1018;--gs-workspace-panel:#131f2d;--gs-workspace-panel2:#101a27;--gs-workspace-line:#2b3b50;--gs-workspace-gold:#d7b77d;--gs-workspace-text:#eaf0f8;--gs-workspace-muted:#98a9bd}
body .topbar{top:52px!important}
body.fleet-console .console-header{top:52px!important}
body.fleet-console .console-sidebar{top:126px;height:calc(100vh - 126px)}
body.fleet-console{--gold:var(--gs-workspace-gold)}
.permission-grid label{background:#101a27!important;border-color:#314258!important;color:var(--gs-workspace-text)!important}
.permission-grid small{color:var(--gs-workspace-muted)!important}
.permission-grid input{accent-color:var(--gs-workspace-gold)}
.research-departments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 24px}
.research-departments .card{margin:0;min-height:190px;background:linear-gradient(145deg,#142338,#111c2b);border-color:#30435b}
.research-departments .card h3{margin-bottom:8px}
.research-departments .card p{color:var(--gs-workspace-muted);min-height:54px}
.research-departments .controls{margin:15px 0 0}
.research-departments button{font-size:11px;padding:7px 9px}
@media(max-width:1200px){.research-departments{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#gs-suite-bar{position:relative}.topbar{top:0!important}.fleet-console .console-header{top:0!important}.research-departments{grid-template-columns:1fr}.fleet-console .console-sidebar{top:0;height:auto}}

body[data-gs-trading-execute="0"] #ex-actions,body[data-gs-trading-execute="0"] #ex-review{display:none!important}

/* Identity and access management */
.access-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 26px}
.access-admin-card{min-width:0;padding:18px;border:1px solid #2f4055;border-radius:10px;background:linear-gradient(145deg,#142033,#101925)}
.access-admin-card .node-form{grid-template-columns:1fr}.access-definition-form{display:grid;gap:12px}
.access-admin-card fieldset,#userEditDialog fieldset{border:1px solid #314258;border-radius:8px;padding:12px;margin:0;background:#0f1926}
.access-admin-card legend,#userEditDialog legend{color:#b9c6d6;font-size:10px;letter-spacing:.08em;padding:0 6px}
.scope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:7px}
.scope-grid label{display:flex;align-items:flex-start;gap:7px;padding:7px 8px;border:1px solid #2d3d51;border-radius:6px;background:#101a27;color:#d7e0ea}
.scope-grid input{margin-top:2px;accent-color:#d7b77d}
.scope-grid small{display:block;color:#8597aa;font-size:9px;margin-top:2px}
.access-wide{grid-column:1/-1}
.access-effective{border-left:3px solid #d7b77d;background:#191b1d;padding:12px 14px;margin:14px 0;color:#dbe5ef}
.access-effective div{font-size:11px;color:#a9b8c8;margin-top:5px;line-height:1.55}
#rolesTable,#groupsTable,#usersTable{margin-top:14px}
@media(max-width:1350px){.access-admin-grid{grid-template-columns:1fr 1fr}.access-admin-card:first-child{grid-column:1/-1}}
@media(max-width:850px){.access-admin-grid{grid-template-columns:1fr}.access-admin-card:first-child{grid-column:auto}}

body[data-gs-fleet-global="0"] #nodeConnect,
body[data-gs-fleet-global="0"] #nodeDisconnect,
body[data-gs-fleet-global="0"] #nodeDevices,
body[data-gs-fleet-global="0"] #nodeRegister,
body[data-gs-fleet-global="0"] .console-nav [data-tab="audit"],
body[data-gs-fleet-global="0"] .console-nav [data-tab="connections"]{display:none!important}

/* Backup catalogue and verified downloads */
.backup-catalogue{display:grid;gap:16px;margin:20px 0}
.backup-catalogue-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.backup-run-card{border:1px solid #2d4055;border-radius:10px;padding:16px;background:linear-gradient(145deg,#142033,#101925)}
.backup-run-card h3{margin:.15rem 0}.backup-run-card p{margin:.35rem 0;color:#9fb0c2}
.backup-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.backup-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.backup-kpis span{padding:10px;border:1px solid #2d4055;border-radius:8px;background:#0f1926}
.backup-kpis b,.backup-kpis small{display:block}.backup-kpis small{color:#8395a8;margin-top:3px}
.button-link{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border:1px solid #6b7c90;border-radius:6px;color:#e8edf3;text-decoration:none;background:#172436}
.button-link:hover{border-color:#d7b77d;color:#fff}
.backup-run-card details{margin-top:12px}.backup-run-card summary{cursor:pointer;color:#d7b77d}
.backup-run-card code{font-size:10px;color:#a9bacb}
@media(max-width:850px){.backup-catalogue-head{align-items:flex-start;flex-direction:column}.backup-kpis{grid-template-columns:1fr}.backup-badges{justify-content:flex-start}}

/* Suite account & effective access */
#gs-suite-bar .gs-user{appearance:none;background:transparent;color:var(--gs-suite-text);border:0;border-left:1px solid #ffffff22;padding:2px 0 2px 10px;text-align:left;cursor:pointer;font:inherit}
#gs-suite-bar .gs-user:hover{color:white}
.gs-account-dialog{width:min(900px,94vw);max-height:88vh;overflow:auto;border:1px solid #3d526a;border-radius:12px;background:#0d1723;color:#e8eef6;box-shadow:0 24px 70px #000b;padding:0}
.gs-account-dialog::backdrop{background:#02060ba8;backdrop-filter:blur(2px)}
.gs-account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid #2b3c51;background:linear-gradient(145deg,#15263a,#101a28)}
.gs-account-head span{color:#d7b77d;font-size:9px;font-weight:850;letter-spacing:.15em}.gs-account-head h2{margin:4px 0 0;font-size:20px}
.gs-account-head button{width:34px;height:34px;border:1px solid #40536b;border-radius:7px;background:#111d2b;color:#dbe5ef;font-size:20px}
#gsAccountBody{padding:16px 20px}
.gs-account-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.gs-account-summary>div{padding:11px 12px;border:1px solid #2d4055;border-radius:8px;background:#101b29}.gs-account-summary small{display:block;color:#8396ad;font-size:9px;letter-spacing:.08em}.gs-account-summary strong{display:block;margin-top:4px;font-size:12px}
.gs-account-flags{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.gs-account-flags span{padding:6px 9px;border-radius:999px;border:1px solid #354a61;font-size:10px}.gs-account-flags .on{background:#103224;border-color:#2d7555;color:#77e7aa}.gs-account-flags .off{background:#291e1d;border-color:#67433d;color:#e8b0a8}
.gs-account-permissions h3{font-size:13px;margin:16px 0 8px}.gs-account-table{overflow:auto;border:1px solid #2d4055;border-radius:8px}.gs-account-table table{width:100%;border-collapse:collapse;font-size:10px}.gs-account-table th,.gs-account-table td{padding:9px 10px;border-bottom:1px solid #223246;text-align:left}.gs-account-table th{color:#8ea2ba;background:#101b29}.gs-account-table code{font-size:9px;color:#d7b77d}
.gs-account-note{padding:11px 12px;border-left:3px solid #d7b77d;background:#1e1a14;color:#d8c8ab;font-size:10px;line-height:1.55}
.gs-account-actions{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px 18px;border-top:1px solid #25364a}.gs-account-actions a{padding:8px 11px;border:1px solid #52667d;border-radius:7px;color:#edf4fb;text-decoration:none;background:#172537}
@media(max-width:760px){.gs-account-summary{grid-template-columns:1fr 1fr}.gs-account-actions{flex-direction:column}}

/* Bottle workspace: credential vault, chart matrix and research evidence */
#bottleWorkspaceExtensions{display:grid;gap:12px;margin:14px 0}
#bottleWorkspaceExtensions details{border:1px solid #2d4055;border-radius:9px;padding:10px;background:#0f1926}
#bottleWorkspaceExtensions summary{cursor:pointer;font-weight:700;color:#d7b77d}
.credential-card,.bottle-chart-row{border:1px solid #2d4055;border-radius:8px;padding:12px;background:#101c2a}
.credential-card h4,.bottle-chart-row h4{margin:.1rem 0 .7rem}
.bottle-chart-row{margin:10px 0}
#bottleStrategyRows{max-height:380px;overflow:auto;margin-top:10px}
#bottleCredentialsPanel .grid.two{align-items:start}
@media(max-width:850px){#bottleCredentialsPanel .grid.two{grid-template-columns:1fr}}

/* Persistent result-table column chooser */
.column-picker{position:relative;margin:0 0 8px;width:max-content;max-width:100%;font-size:10px;color:#91a5ba}.column-picker summary{cursor:pointer;list-style:none;border:1px solid #31455c;border-radius:7px;background:#101b28;padding:6px 9px;color:#c6d4e3;user-select:none}.column-picker[open] summary{border-color:#6c87a6}.column-picker-grid{position:absolute;z-index:70;top:calc(100% + 5px);left:0;min-width:230px;max-width:min(420px,85vw);max-height:320px;overflow:auto;background:#101a27;border:1px solid #3a506b;border-radius:9px;padding:10px;box-shadow:0 14px 36px #000a;display:grid;gap:5px}.column-picker-grid label{display:flex!important;align-items:center;gap:8px;padding:6px 7px!important;margin:0!important;white-space:nowrap;color:#d6e1ed!important;font-size:10px!important}.column-picker-grid input{width:auto!important;margin:0!important}.column-picker-grid button{margin-top:5px;width:100%;font-size:10px}
