.provider-sheet { width:min(1040px,calc(100vw - 28px)); max-height:min(88dvh,860px); overflow:auto; overscroll-behavior:contain; border:1px solid var(--line); border-radius:24px; color:var(--text); background:var(--panel-strong); box-shadow:0 30px 100px rgba(0,0,0,.34); padding:0; }
.provider-sheet::backdrop { background:rgba(5,8,11,.58); backdrop-filter:blur(6px); }
.provider-sheet-shell { padding:24px; }
.provider-sheet-shell>header { display:flex; justify-content:space-between; align-items:flex-start; }
.provider-sheet-shell>header span,.provider-route span { color:var(--gold); font:800 9px/1 var(--font-latin); letter-spacing:.16em; }
.provider-sheet-shell h2 { margin:6px 0 0; font-size:27px; font-weight:560; }
.provider-sheet-shell>header button { width:42px; min-height:42px; border:1px solid var(--line); border-radius:50%; color:var(--muted); background:var(--surface-control); font-size:20px; }
.provider-path { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto; align-items:center; gap:9px; margin:24px 0; color:var(--muted); font:700 9px/1 var(--font-latin); letter-spacing:.08em; }
.provider-path i { height:1px; background:linear-gradient(90deg,var(--gold),var(--line)); }
.provider-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:26px; }
.provider-list { display:grid; align-content:start; gap:6px; padding-right:18px; border-right:1px solid var(--line); }
.provider-list button { display:grid; gap:3px; min-height:52px; border:0; border-radius:12px; color:var(--muted); background:transparent; padding:10px 12px; text-align:left; }
.provider-list button.is-active { color:var(--text); background:var(--accent-soft); }
.provider-list small { font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.provider-detail { min-width:0; }
.provider-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.provider-fields label,.provider-model-head label { display:grid; gap:6px; color:var(--muted); font-size:10px; }
.provider-fields input,.provider-model-head :is(input,select) { width:100%; min-height:43px; border:1px solid var(--line); border-radius:10px; color:var(--text); background:var(--surface-control); padding:9px 11px; }
.provider-toggle { grid-template-columns:auto 1fr!important; align-items:center; align-content:center; }
.provider-toggle input { width:18px; min-height:18px; }
.provider-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.provider-actions button,.provider-route button,.provider-empty button { min-height:40px; border:1px solid var(--line); border-radius:999px; color:var(--text); background:var(--surface-control); padding:8px 13px; font-size:10px; }
.provider-actions button:first-child,.provider-route button { color:var(--accent-ink); border-color:var(--gold); background:var(--gold); }
.provider-status { display:flex; justify-content:space-between; gap:16px; margin:18px 0 10px; border-block:1px solid var(--line); padding:12px 2px; }
.provider-status span { font:800 10px/1 var(--font-latin); text-transform:uppercase; letter-spacing:.1em; }
.provider-status .is-ok { color:var(--sage); }
.provider-status small { color:var(--muted); font-size:10px; }
.provider-models { border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.provider-model-head { display:grid; grid-template-columns:1fr 1fr; gap:12px; background:var(--surface-soft); padding:13px; }
.provider-model-list { max-height:245px; overflow:auto; padding:7px; }
.provider-model-list button { display:grid; grid-template-columns:minmax(0,1fr) auto; width:100%; min-height:40px; border:0; border-bottom:1px solid var(--line); color:var(--text); background:transparent; padding:9px; text-align:left; content-visibility:auto; contain-intrinsic-size:auto 42px; }
.provider-model-list button span { min-width:0; overflow-wrap:anywhere; }
.provider-model-list button.is-selected { background:var(--accent-soft); }
.provider-model-list small { color:var(--muted); }
.provider-route { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:14px; border-left:3px solid var(--gold); background:var(--surface-soft); padding:13px 15px; }
.provider-route div { display:grid; gap:4px; }
.provider-route b { max-width:100%; overflow-wrap:anywhere; }
.provider-route small,.provider-empty { color:var(--muted); font-size:10px; }
.provider-capability-test { display:flex; align-items:end; justify-content:flex-end; gap:9px; margin-top:10px; }
.provider-capability-test label { display:grid; gap:4px; color:var(--muted); font-size:9px; }
.provider-capability-test select { min-height:40px; border:1px solid var(--line); border-radius:10px; color:var(--text); background:var(--surface-control); padding:7px 10px; }
.provider-capability-test button { min-height:40px; border:1px solid var(--gold); border-radius:999px; color:var(--gold); background:transparent; padding:8px 14px; font-size:10px; }
[data-provider-message] { min-height:20px; color:var(--muted); font-size:10px; }
.provider-empty { display:grid; place-items:center; gap:14px; min-height:260px; }
html[data-theme="chat"] .provider-sheet { background:#fbfcfa; }
.provider-secret-dialog { width:min(430px,calc(100vw - 28px)); max-height:88dvh; overflow:auto; overscroll-behavior:contain; border:1px solid var(--line); border-radius:18px; color:var(--text); background:var(--panel-strong); box-shadow:0 26px 80px rgba(0,0,0,.35); padding:20px; }
.provider-secret-dialog::backdrop { background:rgba(5,8,11,.66); }
.provider-secret-dialog label { display:grid; gap:8px; color:var(--muted); font-size:11px; }
.provider-secret-dialog input { min-height:46px; border:1px solid var(--line); border-radius:10px; color:var(--text); background:var(--surface-control); padding:10px 12px; }
.provider-secret-dialog footer { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; }
.provider-secret-dialog button { min-height:42px; border:1px solid var(--line); border-radius:999px; color:var(--text); background:var(--surface-control); padding:8px 16px; }
@media(max-width:720px){.provider-sheet-shell{padding:18px}.provider-path{overflow:hidden}.provider-layout{grid-template-columns:1fr}.provider-list{display:flex; overflow:auto; border:0; border-bottom:1px solid var(--line); padding:0 0 10px}.provider-list button{min-width:150px}.provider-fields,.provider-model-head{grid-template-columns:1fr}.provider-status,.provider-route{align-items:flex-start;flex-direction:column}.provider-model-list{max-height:220px}}
