/* Rail Strips (style value "rail"). Shares the Terminal base; this layer recolours it and
   adds an icon rail, coloured count chips and rounded full-width strips. Every rule is gated
   by data-ui-skin="rail", so Classic and Ledger are unaffected. */
html[data-ui-style="terminal"][data-ui-skin="rail"] {
  --bg:#1a1b26; --surface:#1f2335; --surface-2:#24283b; --bg-secondary:#16161e; --bg-hover:#292e42;
  --text:#c0caf5; --text-secondary:#a9b1d6; --text-muted:#8a94c4;
  --border:#2f334d; --border-subtle:#262a40; --border-strong:#414868; --border-hover:#565f89;
  --accent:#bb9af7; --accent-text:#16161e; --accent-tint:#2a2345; --accent-tint-strong:#352c58; --accent-line:#5a4a8a;
  --success:#9ece6a; --success-tint:#20301a; --success-tint-strong:#2a3f20; --success-line:#4d6b33;
  --warning:#e0af68; --warning-tint:#2e2516; --warning-tint-strong:#3b301c; --warning-line:#6e5631;
  --danger:#f7768e; --danger-tint:#33202a; --danger-tint-strong:#422833; --danger-line:#7a3a4b;
  --terminal-bg:#13141c; --rail-cyan:#7dcfff; --rail-pink:#f7768e; --rail-amber:#e0af68;
  background:var(--bg);
}
html[data-ui-skin="rail"] :is(.btn,.icon-btn,.ctrl-btn,.card-btn,.notify-btn,.terminal-btn,.node-copy-btn,.profile-copy-btn,.copy-ip-btn,.cmd-action-btn,.fm-btn,.fm-tab,.terminal-tab,.vkey-btn,.btn-cmd,#fab-add-client) { border-radius:7px !important; }
html[data-ui-skin="rail"] :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { border-radius:7px !important; }
html[data-ui-skin="rail"] :is(.modal-content,.miner-config-modal,.save-profile-modal,.id-modal,.fm-popup,.fm-editor-popup,.nmm-popup,.context-menu,.dropdown-menu,.cmd-dropdown,.miner-menu,.vps-menu,.login-box,.settings-section,.config-subsection,.ssh-server-row,.global-info-bar,.node-system-logs,.no-data,.empty-state,.loading) { border-radius:10px !important; }
html[data-ui-skin="rail"] :is(.miner-state,.node-state,.badge,.version-tag) { border-radius:6px; }

/* Top bar: slim, no fill, a gradient hairline underneath. */
html[data-ui-skin="rail"] .top-bar { border-bottom:2px solid transparent; border-image:linear-gradient(90deg,#bb9af7,#7dcfff,#9ece6a,#e0af68,#f7768e) 1; }
html[data-ui-skin="rail"] .top-bar .header-wordmark { color:var(--text); letter-spacing:.06em; text-transform:none; }
html[data-ui-skin="rail"] .top-bar .header-wordmark .wm-control { color:var(--accent); }
html[data-ui-skin="rail"] .terminal-command-user { color:var(--accent); }

/* Admin page: icon rail in its own column on the left; everything else in the main column. */
html[data-ui-skin="rail"] .admin-panel { display:grid !important; grid-template-columns:60px minmax(0,1fr); column-gap:20px; align-content:start; padding-left:0 !important; }
html[data-ui-skin="rail"] .admin-panel > * { grid-column:2; }
html[data-ui-skin="rail"] .admin-panel > .workspace-rail { grid-column:1; grid-row:1 / span 40; position:sticky; top:0; align-self:start; display:flex; flex-direction:column; align-items:center; gap:6px; height:100vh; margin:0; padding:12px 0; background:var(--bg-secondary); border:0; border-right:1px solid var(--border); }
html[data-ui-skin="rail"] .workspace-rail .workspace-brand { display:grid !important; place-items:center; width:36px; height:36px; margin:0 0 10px; }
html[data-ui-skin="rail"] .workspace-rail .workspace-brand img { width:30px; height:30px; border-radius:8px; }
html[data-ui-skin="rail"] .workspace-rail .workspace-brand span { display:none; }
html[data-ui-skin="rail"] .workspace-rail :is(.workspace-rail-label,.workspace-rail-footer) { display:none !important; }
html[data-ui-skin="rail"] .admin-tabs { flex-direction:column !important; align-items:center; gap:6px !important; flex-wrap:nowrap; }
html[data-ui-skin="rail"] .admin-tabs .tab-btn { position:relative; flex:0 0 auto !important; width:38px; min-width:38px; height:38px; min-height:38px !important; padding:0 !important; font-size:0 !important; border-radius:10px !important; color:var(--text-muted) !important; background:transparent !important; }
html[data-ui-skin="rail"] .admin-tabs .tab-btn::before { content:none !important; }
html[data-ui-skin="rail"] .admin-tabs .tab-btn .ui-icon { display:block !important; width:19px; height:19px; color:inherit; }
html[data-ui-skin="rail"] .admin-tabs .tab-btn:nth-child(1) .ui-icon { color:var(--rail-cyan); }
html[data-ui-skin="rail"] .admin-tabs .tab-btn:nth-child(2) .ui-icon { color:var(--success); }
html[data-ui-skin="rail"] .admin-tabs .tab-btn:nth-child(3) .ui-icon { color:var(--accent); }
html[data-ui-skin="rail"] .admin-tabs .tab-btn:nth-child(4) .ui-icon { color:var(--rail-pink); }
html[data-ui-skin="rail"] .admin-tabs .tab-btn:nth-child(5) .ui-icon { color:var(--rail-amber); }
html[data-ui-skin="rail"] .admin-tabs .tab-btn:hover:not(.active) { background:var(--surface) !important; }
html[data-ui-skin="rail"] .admin-tabs .tab-btn.active { background:var(--accent-tint) !important; box-shadow:inset 3px 0 0 var(--accent) !important; }
html[data-ui-skin="rail"] .admin-tabs .tab-btn .badge { position:absolute; top:-4px; right:-6px; min-width:16px; padding:0 4px !important; font-size:9px !important; line-height:15px; text-align:center; color:var(--text) !important; background:var(--border-strong) !important; border-radius:8px; }
html[data-ui-skin="rail"] .admin-tabs .tab-btn .badge::before,html[data-ui-skin="rail"] .admin-tabs .tab-btn .badge::after { content:none !important; }
html[data-ui-skin="rail"] .admin-tabs .tab-btn .badge.hidden { display:none !important; }

/* Heading with counts as coloured chips. */
html[data-ui-skin="rail"] :is(.terminal-page-heading,.workspace-page-heading) h1 { text-transform:none; letter-spacing:0; font-size:17px; }
html[data-ui-skin="rail"] .terminal-kpi-grid { gap:6px; border:0; margin:0 0 12px; }
html[data-ui-skin="rail"] .terminal-kpi-card { padding:4px 10px !important; border:0 !important; border-radius:7px; background:var(--accent-tint); }
html[data-ui-skin="rail"] .terminal-kpi-card:nth-child(1) { background:#172a3a; --chip:var(--rail-cyan); }
html[data-ui-skin="rail"] .terminal-kpi-card:nth-child(2) { background:var(--success-tint); --chip:var(--success); }
html[data-ui-skin="rail"] .terminal-kpi-card:nth-child(3) { background:var(--accent-tint); --chip:var(--accent); }
html[data-ui-skin="rail"] .terminal-kpi-card:nth-child(4) { background:var(--danger-tint); --chip:var(--rail-pink); }
html[data-ui-skin="rail"] :is(.terminal-kpi-value,.terminal-kpi-header h2) { color:var(--chip,var(--accent)); }
html[data-ui-skin="rail"] .terminal-kpi-value { order:-1; font-size:13px; }
html[data-ui-skin="rail"] :is(.miners-inline-label,.nodes-inline-label) { color:var(--text); letter-spacing:.04em; }

/* Records become rounded strips with a gap between them. */
html[data-ui-skin="rail"] :is(.miners-grid,.nodes-grid,.clients-cards-grid) { gap:8px; border-top:0; }
html[data-ui-skin="rail"] :is(.nodes-grid .node-card,.miners-grid .miner-card,.client-card-v2) { background:var(--surface); border:1px solid var(--border) !important; border-radius:10px; padding:2px 14px; }
html[data-ui-skin="rail"] .client-card-v2 { padding:0; overflow:hidden; }
html[data-ui-skin="rail"] .client-card-v2 .card-header { padding:10px 12px; background:var(--surface-2); border-right-color:var(--border); }
html[data-ui-skin="rail"] :is(.nodes-grid .node-card,.miners-grid .miner-card,.client-card-v2):hover { background:var(--surface-2); border-color:var(--border-hover) !important; }
html[data-ui-skin="rail"] .client-card-v2:hover .card-header { background:var(--bg-hover); }
html[data-ui-skin="rail"] .node-card .node-icon-wrapper { display:inline-grid; place-items:center; width:28px; height:28px; border-radius:8px; background:var(--accent-tint); }
html[data-ui-skin="rail"] .node-card .node-addr { color:var(--rail-cyan); }
html[data-ui-skin="rail"] .node-card .node-quick-label,html[data-ui-skin="rail"] .miner-card .quick-label { text-transform:none; letter-spacing:0; }
html[data-ui-skin="rail"] .node-card .node-details summary,html[data-ui-skin="rail"] .miner-card .miner-details summary { border-radius:6px; }
html[data-ui-skin="rail"] .node-card .node-actions .icon-btn,html[data-ui-skin="rail"] .miner-card .miner-actions .icon-btn { border-color:var(--border-strong); }
html[data-ui-skin="rail"] :is(.miner-state,.node-state) { text-transform:none; }
html[data-ui-skin="rail"] :is(.miner-state,.node-state)::before,html[data-ui-skin="rail"] :is(.miner-state,.node-state)::after { content:none; }
html[data-ui-skin="rail"] :is(.miner-state--mining,.node-state--online) { background:var(--success-tint) !important; padding:2px 8px; }
html[data-ui-skin="rail"] :is(.miner-state--paused,.miner-state--stale,.node-state--offline) { background:var(--danger-tint) !important; padding:2px 8px; }

/* Phones: the rail becomes a row of icons above the page. */
@media (max-width:760px) {
  html[data-ui-skin="rail"] .admin-panel { grid-template-columns:minmax(0,1fr); padding-left:12px !important; }
  html[data-ui-skin="rail"] .admin-panel > * { grid-column:1; }
  html[data-ui-skin="rail"] .admin-panel > .workspace-rail { grid-column:1; grid-row:auto; position:static; flex-direction:row; height:auto; padding:6px; border-right:0; border-radius:10px; border:1px solid var(--border); margin:0 0 8px; }
  html[data-ui-skin="rail"] .workspace-rail .workspace-brand { margin:0 6px 0 0; }
  html[data-ui-skin="rail"] .admin-tabs { flex-direction:row !important; flex:1; justify-content:space-around; }
  html[data-ui-skin="rail"] .admin-tabs .tab-btn { width:44px; height:44px; min-height:44px !important; }
}

/* Client dashboard: rounded solid tiles and panels. */
html[data-ui-skin="rail"] .client-workspace :is(.metric-item,.progress-row,.client-detail-panel,.status-bar,.client-metric-event,.event-warning) { border-radius:10px !important; border-style:solid !important; }
html[data-ui-skin="rail"] .client-workspace .client-detail-header { border-bottom-style:solid; }
html[data-ui-skin="rail"] .client-workspace-rail .ctrl-btn { border-radius:7px; }
html[data-ui-skin="rail"] .client-workspace .progress-bar { border-radius:3px; }

/* Settings and Messages: solid rounded panels like the strips. */
html[data-ui-skin="rail"] .settings-section { border-style:solid !important; }
html[data-ui-skin="rail"] #tab-messages > :not(h2) { border-radius:10px; overflow:hidden; border-style:solid !important; }
html[data-ui-skin="rail"] #tab-messages :is(.conversations-search,.conversation-item) { border-bottom-style:solid; }
