.sms-settings-panel { overflow:hidden; }
.sms-settings-heading { padding-block-end:18px; border-block-end:1px solid var(--cc-line); }
.sms-settings-heading h2 { margin-block:.3rem .2rem; }
.sms-connection-overview { display:grid; grid-template-columns:minmax(0,2fr) repeat(4,minmax(110px,1fr)); gap:10px; }
.sms-connection-overview>div { min-width:0; padding:14px 16px; border:1px solid var(--cc-line); border-radius:12px; background:var(--cc-surface-sunken); display:grid; gap:6px; }
.sms-connection-overview span { color:var(--cc-ink-soft); font-size:.78rem; }
.sms-connection-overview strong { font-size:.92rem; font-weight:650; overflow-wrap:anywhere; }
.sms-settings-form { display:grid; gap:16px; }
.sms-settings-group { margin:0; padding:20px; border:1px solid var(--cc-line); border-radius:16px; background:var(--cc-surface); min-width:0; }
.sms-settings-group legend { width:100%; padding:0 0 14px; display:flex; gap:12px; align-items:flex-start; font-weight:750; }
.sms-settings-group legend>span:first-child { width:30px; height:30px; flex:none; display:grid; place-items:center; border-radius:9px; background:var(--cc-accent-soft,var(--cc-subtle)); color:var(--cc-accent); font-size:.8rem; }
.sms-settings-group legend>span:last-child { display:grid; gap:3px; }
.sms-settings-group legend small { color:var(--cc-ink-soft); font-size:.78rem; font-weight:450; line-height:1.8; }
.sms-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.sms-fields--connection { grid-template-columns:repeat(2,minmax(0,1fr)); }
.sms-fields--secret { grid-template-columns:minmax(0,2fr) minmax(220px,1fr); align-items:end; }
.sms-field { min-width:0; display:grid; grid-template-columns:1fr auto; gap:7px; color:var(--cc-ink); font-size:.86rem; font-weight:600; }
.sms-field--wide { grid-column:1/-1; }
.sms-field :is(input,select,textarea) { grid-column:1/-1; width:100%; min-width:0; min-height:46px; padding:10px 12px; border:1px solid var(--cc-line-strong); border-radius:11px; background:var(--cc-surface); color:var(--cc-ink); transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.sms-field :is(input,select,textarea):hover { border-color:var(--cc-accent); }
.sms-field :is(input,select,textarea):focus { border-color:var(--cc-accent); box-shadow:0 0 0 3px var(--cc-focus-soft,var(--cc-glow-button)); outline:0; }
.sms-field__hint,.sms-field__help { color:var(--cc-ink-soft); font-size:.72rem; font-weight:450; }
.sms-field__help { grid-column:1/-1; }
.sms-capability-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.sms-choice { min-width:0; min-height:68px; padding:13px 14px; border:1px solid var(--cc-line); border-radius:13px; background:var(--cc-surface-sunken); display:flex; align-items:center; gap:12px; cursor:pointer; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.sms-choice:hover { border-color:var(--cc-accent); transform:translateY(-1px); }
.sms-choice>input[type=hidden] { display:none; }
.sms-choice>input[type=checkbox] { width:20px; height:20px; flex:none; accent-color:var(--cc-accent); }
.sms-choice>span { min-width:0; display:grid; gap:3px; }
.sms-choice strong { font-size:.88rem; }
.sms-choice small { color:var(--cc-ink-soft); font-size:.75rem; line-height:1.7; }
.sms-choice--danger { background:var(--cc-danger-soft); }
.sms-choice--danger strong { color:var(--cc-danger); }
.sms-settings-submit { padding:16px; border-radius:16px; background:var(--cc-surface-sunken); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.sms-choice--master { flex:1; padding:0; border:0; background:transparent; min-height:auto; }
.sms-choice--master:hover { transform:none; border-color:transparent; }
.sms-settings-submit .cc-primary { flex:none; min-width:190px; }
@media(max-width:900px) {
 .sms-connection-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sms-connection-overview>div:first-child { grid-column:1/-1; }
}
@media(max-width:700px) {
 .sms-settings-heading { align-items:flex-start; }
 .sms-connection-overview,.sms-fields,.sms-fields--connection,.sms-fields--secret,.sms-capability-grid { grid-template-columns:minmax(0,1fr); }
 .sms-connection-overview>div:first-child,.sms-field--wide { grid-column:auto; }
 .sms-settings-group { padding:16px; }
 .sms-settings-submit { align-items:stretch; flex-direction:column; }
 .sms-settings-submit .cc-primary { width:100%; min-width:0; }
}
.sms-workspace { scroll-behavior:smooth; }
.sms-tabs { position:sticky; top:64px; z-index:5; display:flex; gap:8px; padding:10px; overflow-x:auto; border:1px solid var(--cc-line); border-radius:14px; background:color-mix(in srgb,var(--cc-surface) 94%,transparent); backdrop-filter:blur(12px); }
.sms-tabs a { flex:none; padding:8px 12px; border-radius:9px; color:var(--cc-ink-soft); text-decoration:none; font-size:.82rem; }
.sms-tabs a:hover,.sms-tabs a:focus-visible { color:var(--cc-ink); background:var(--cc-surface-sunken); outline:2px solid var(--cc-accent); outline-offset:1px; }
.sms-banner { display:flex; gap:10px; align-items:center; padding:14px 16px; border:1px solid var(--cc-warning,#bd7c1e); border-radius:14px; background:var(--cc-warning-soft,#fff6df); }
.sms-banner span { color:var(--cc-ink-soft); }
.sms-summary { grid-template-columns:repeat(4,minmax(0,1fr)); }
.sms-summary small,.cc-table small { display:block; margin-top:4px; color:var(--cc-ink-soft); font-weight:400; }
.sms-inline-action { margin-top:16px; padding:16px; display:flex; gap:14px; align-items:center; justify-content:flex-start; border-radius:14px; background:var(--cc-surface-sunken); }
.sms-inline-action small { color:var(--cc-ink-soft); }
.sms-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.sms-template-card { padding:16px; border:1px solid var(--cc-line); border-radius:14px; display:grid; gap:10px; background:var(--cc-surface-sunken); }
.sms-template-card>div { display:flex; justify-content:space-between; gap:8px; }
.sms-template-card p { min-height:3.5em; margin:0; color:var(--cc-ink-soft); }
.sms-template-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.sms-template-form label,.sms-compact-form label { display:grid; gap:5px; font-size:.8rem; }
.sms-template-form :is(input,select,textarea),.sms-compact-form input { width:100%; }
.sms-compact-form { display:grid; gap:8px; margin-top:10px; }
.sms-delete-form { margin-top:12px; padding-top:12px; border-top:1px solid var(--cc-line); display:grid; gap:8px; }
.sms-delete-form button { color:var(--cc-danger); }
.sms-state { width:max-content; padding:4px 8px; border-radius:999px; background:var(--cc-accent-soft,var(--cc-subtle)); font-size:.74rem; }
.sms-empty { min-height:110px; display:grid; place-content:center; gap:5px; text-align:center; color:var(--cc-ink-soft); border:1px dashed var(--cc-line-strong); border-radius:14px; }
.sms-help { margin-top:14px; padding:12px 16px; border:1px solid var(--cc-line); border-radius:12px; }
.sms-provider-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0; }
.sms-provider-list>div { padding:16px; border:1px solid var(--cc-line); border-radius:13px; }
.sms-provider-list dt { color:var(--cc-ink-soft); font-size:.78rem; }.sms-provider-list dd { margin:7px 0 0; }
.sms-test-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.sms-test-grid>article,.sms-live-test { min-width:0; padding:16px; border:1px solid var(--cc-line); border-radius:14px; background:var(--cc-surface-sunken); }
.sms-test-grid p { color:var(--cc-ink-soft); font-size:.8rem; }
.sms-live-test label { display:grid; gap:6px; }.sms-live-test input { width:100%; }
.sms-capability-table { display:grid; gap:8px; }
.sms-capability-table>div { display:grid; grid-template-columns:1.2fr .8fr .8fr 2fr; gap:10px; align-items:center; padding:12px 14px; border:1px solid var(--cc-line); border-radius:11px; }
.sms-capability-table small { color:var(--cc-ink-soft); }
.sms-no-permission { padding:16px; border:1px dashed var(--cc-line-strong); border-radius:12px; }
@media(max-width:1000px) {
 .sms-summary,.sms-test-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sms-card-grid,.sms-provider-list { grid-template-columns:minmax(0,1fr); }
 .sms-capability-table>div { grid-template-columns:1fr 1fr; }
 .sms-capability-table small { grid-column:1/-1; }
}
@media(max-width:600px) {
 .sms-tabs { top:52px; margin-inline:-8px; border-radius:0; }
 .sms-summary,.sms-test-grid { grid-template-columns:minmax(0,1fr); }
 .sms-inline-action { align-items:stretch; flex-direction:column; }
 .sms-template-form { grid-template-columns:minmax(0,1fr); }
}
