:root { --provider-panel:linear-gradient(145deg, #0a1b36e8, #06142af2); }
.provider-page { margin:auto; max-width:1100px; padding:clamp(2rem,5vw,4.5rem) clamp(1rem,4vw,3.5rem) 5rem; }
.provider-back { color:var(--paper-muted); font-size:.9rem; font-weight:700; text-underline-offset:.25rem; }
.provider-title { align-items:end; display:flex; gap:1.25rem; justify-content:space-between; margin:2.5rem 0 1.6rem; }
.provider-title h1 { font-size:clamp(2.5rem,5vw,5rem); margin:.35rem 0 0; }
.provider-title p:not(.eyebrow) { color:var(--paper-muted); line-height:1.65; margin:.6rem 0 0; max-width:43rem; }
.provider-state { align-items:center; background:#0a213f; border:1px solid var(--line); border-radius:99rem; color:var(--paper-muted); display:flex; font-size:.82rem; font-weight:800; gap:.5rem; padding:.5rem .7rem; white-space:nowrap; }
.provider-state i { background:var(--amber); border-radius:50%; display:block; height:.5rem; width:.5rem; }
.provider-state.is-ready { border-color:#8affbd70; color:#b5ffd2; }.provider-state.is-ready i { background:#7cffb6; box-shadow:0 0 .7rem #7cffb6; }.provider-state.is-blocked { border-color:#ff9aab80; color:var(--danger); }.provider-state.is-blocked i { background:var(--danger); }
.provider-layout { display:grid; gap:1.25rem; grid-template-columns:minmax(0,1fr) minmax(18rem,.6fr); }
.provider-card { background:var(--provider-panel); border:1px solid var(--line); border-radius:1rem; box-shadow:0 1.25rem 2.6rem #00091866, inset 0 1px #d4efff12; overflow:hidden; }
.provider-card--spaced { margin-top:1.25rem; }
.provider-card__heading { align-items:flex-start; border-bottom:1px solid var(--line); display:flex; gap:1rem; justify-content:space-between; padding:1.25rem; }.provider-card__heading h2 { font-size:1.5rem; margin:0; }.provider-card__heading p { color:var(--paper-muted); font-size:.88rem; margin:.25rem 0 0; }.provider-count { color:var(--cyan); font-family:ui-monospace,monospace; font-size:.76rem; white-space:nowrap; }
.provider-capability { align-items:center; border-bottom:1px solid var(--line); cursor:pointer; display:grid; gap:.85rem; grid-template-columns:1.2rem minmax(0,1fr) auto; padding:1rem 1.25rem; transition:background .15s ease; }.provider-capability:last-child { border-bottom:0; }.provider-capability:hover { background:#17406d55; }.provider-capability input { accent-color:var(--cyan); height:1.05rem; margin:0; width:1.05rem; }.provider-capability h3 { font-family:ui-serif,Georgia,serif; font-size:1.08rem; margin:0; }.provider-capability p { color:var(--paper-muted); font-size:.84rem; line-height:1.45; margin:.2rem 0 0; }.provider-requirement { color:var(--lime); font-family:ui-monospace,monospace; font-size:.7rem; text-align:right; white-space:nowrap; }.provider-capability.is-disabled { cursor:not-allowed; opacity:.42; }.provider-capability.is-disabled:hover { background:transparent; }
.provider-hardware { align-items:end; border-top:1px solid var(--line); display:flex; gap:1rem; justify-content:space-between; padding:1rem 1.25rem; }.provider-hardware h3 { font-size:1rem; margin:0 0 .25rem; }.provider-hardware p { color:var(--paper-muted); font-size:.84rem; line-height:1.45; margin:0; max-width:34rem; }.provider-hardware label { color:var(--paper-muted); display:grid; font-size:.78rem; font-weight:800; gap:.35rem; min-width:9rem; }.provider-hardware select { background:#07162e; border:1px solid var(--line); border-radius:.45rem; color:var(--paper); font:inherit; padding:.5rem; }
.provider-note { background:#10284a; border:1px solid #5794d64f; border-radius:.7rem; color:#c5d9f5; font-size:.84rem; line-height:1.5; margin:1.25rem; padding:.85rem; }.provider-note strong { color:var(--paper); }.provider-error { background:#3b1a37; border-color:#ff9aab78; color:#ffd1d9; }
.provider-enrollment { padding:1.25rem; }.provider-enrollment h2 { font-size:1.5rem; margin:0; }.provider-enrollment > p { color:var(--paper-muted); font-size:.88rem; line-height:1.55; margin:.45rem 0 1rem; }.provider-identifier-label { color:var(--paper-muted); display:grid; font-size:.8rem; font-weight:800; gap:.4rem; }.provider-identifier-label input { background:#061831; border:1px solid var(--line); border-radius:.5rem; color:var(--paper); font:inherit; padding:.65rem; }.provider-save-notice { background:#2f1656; border:1px solid #e2b7ff; box-shadow:inset 0 1px #ffffff2b,0 .6rem 1.5rem #00081a66; color:#fff; display:grid; gap:.45rem; margin:1rem 0; padding:1rem; }.provider-save-notice strong { font-size:1rem; }.provider-save-notice span { color:#f1dcff; font-size:.84rem; line-height:1.45; }.provider-save-notice button { background:#fff4ff; border:1px solid #fff; box-shadow:none; color:#271043; margin:0; }.provider-enrollment button,.provider-host-actions a { width:100%; }.provider-secondary { background:#0b2344; border:1px solid var(--line); box-shadow:none; color:var(--paper); margin-bottom:.7rem; }.provider-enrollment-status { color:var(--paper-muted); font-size:.82rem; margin: .7rem 0 0; min-height:1.25rem; text-align:center; }.provider-enrollment-status.is-success { color:#9dffcc; }.provider-enrollment-status.is-error { color:var(--danger); }
.provider-session-warning { background:linear-gradient(90deg,#51213d,#32162f); border:1px solid #ff9aab; border-radius:.8rem; box-shadow:0 .6rem 1.5rem #00091a55; color:#fff1f4; font-size:1rem; margin:-.35rem 0 1.25rem; padding:1rem 1.25rem; }.provider-session-warning strong { color:#fff; }
.host-grid { display:grid; gap:1.25rem; grid-template-columns:minmax(0,1fr) minmax(18rem,.6fr); }.host-steps { list-style:none; margin:0; padding:0; }.host-step { align-items:center; border-bottom:1px solid var(--line); display:grid; gap:.8rem; grid-template-columns:1.5rem minmax(0,1fr) auto; padding:1rem 1.25rem; }.host-step:last-child { border-bottom:0; }.host-mark { align-items:center; border:1px solid var(--line); border-radius:50%; color:var(--paper-muted); display:grid; font: .72rem ui-monospace,monospace; height:1.3rem; justify-content:center; width:1.3rem; }.host-step h3 { font-size:.95rem; margin:0; }.host-step p { color:var(--paper-muted); font-size:.8rem; margin:.15rem 0 0; }.host-step-state { color:var(--paper-muted); font-size:.78rem; }.host-step.is-running .host-mark { border-color:var(--amber); color:var(--amber); box-shadow:0 0 0 .25rem #ffce6b20; }.host-step.is-running .host-step-state { color:var(--amber); }.host-step.is-done .host-mark { background:#81ffb9; border-color:#81ffb9; color:#041526; }.host-step.is-done .host-step-state { color:#9dffcc; }.host-step.is-failed .host-mark { border-color:var(--danger); color:var(--danger); }.host-step.is-failed .host-step-state { color:var(--danger); }
.provider-terminal { background:#020b1b; color:#d5efe1; font: .78rem/1.65 ui-monospace,SFMono-Regular,Menlo,monospace; height:19rem; overflow:auto; padding:1rem 1.15rem; }.provider-log-line { display:grid; gap:.5rem; grid-template-columns:4.2rem .7rem 1fr; }.provider-log-time { color:#7497a4; }.provider-log-mark { color:#9dffcc; }.provider-log-mark.is-warn { color:var(--amber); }.provider-log-mark.is-error { color:var(--danger); }
.provider-host-summary { padding:1.25rem; }.provider-host-summary h2 { font-size:1.5rem; margin:0; }.provider-host-summary > p { color:var(--paper-muted); font-size:.88rem; line-height:1.55; margin:.45rem 0 1rem; }.provider-key-values { border-top:1px solid var(--line); display:grid; margin:1rem 0; }.provider-key-values div { border-bottom:1px solid var(--line); color:var(--paper-muted); display:flex; font-size:.82rem; gap:1rem; justify-content:space-between; padding:.65rem 0; }.provider-key-values strong { color:var(--paper); max-width:62%; text-align:right; }.provider-disconnect-warning { background:#3b1a37; border:1px solid #ff9aab78; border-radius:.7rem; color:#ffd1d9; font-size:.82rem; line-height:1.5; margin:0 1.25rem 1.25rem; padding:.9rem; }.provider-disconnect-warning strong { color:#fff0f3; }
@media(max-width:760px) { .provider-title,.provider-layout,.host-grid { align-items:start; display:grid; grid-template-columns:1fr; }.provider-title { gap:1rem; }.provider-state { justify-self:start; } }
@media(max-width:500px) { .provider-page { padding-inline:1rem; }.provider-capability { grid-template-columns:1.2rem minmax(0,1fr); }.provider-requirement { grid-column:2; text-align:left; }.host-step { grid-template-columns:1.4rem minmax(0,1fr); }.host-step-state { grid-column:2; }.provider-log-line { grid-template-columns:3.7rem .5rem 1fr; gap:.35rem; } }
