.sc-panel { background:var(--sc-surface); border:1px solid var(--sc-border); border-radius:var(--sc-radius-lg); padding:var(--sc-space-5); box-shadow:var(--sc-shadow-panel); }
.sc-panel--flush { padding:0; overflow:hidden; }
.sc-panel__title { margin:0; color:var(--sc-heading); font-size:16px; line-height:22px; font-weight:700; }
.sc-panel__description { margin:var(--sc-space-1) 0 0; color:var(--sc-text-muted); font-size:13px; line-height:18px; }

.sc-button { min-height:40px; display:inline-flex; align-items:center; justify-content:center; gap:var(--sc-space-2); padding:9px 14px; border:1px solid transparent; border-radius:var(--sc-radius); font:600 14px/20px var(--sc-font-sans); text-decoration:none; cursor:pointer; transition:background-color .15s ease,border-color .15s ease,color .15s ease; }
.sc-button:hover { text-decoration:none; }
.sc-button:disabled,.sc-button[aria-disabled="true"] { opacity:.58; cursor:not-allowed; }
.sc-button--primary { background:var(--sc-primary); color:#fff; }
.sc-button--primary:hover { background:var(--sc-primary-hover); color:#fff; }
.sc-button--secondary { background:var(--sc-surface); border-color:var(--sc-border-strong); color:var(--sc-heading); }
.sc-button--secondary:hover { background:var(--sc-surface-subtle); color:var(--sc-heading); }
.sc-button--danger { background:var(--sc-danger); color:#fff; }
.sc-button--danger:hover { background:#8f1c14; color:#fff; }
.sc-button--link { min-height:auto; padding:0; color:var(--sc-primary); background:transparent; }
.sc-button--sm { min-height:34px; padding:6px 10px; font-size:13px; line-height:18px; }
.sc-button--icon { width:40px; padding:0; }

.sc-status { display:inline-flex; align-items:center; gap:6px; min-height:24px; padding:3px 8px; border:1px solid transparent; border-radius:999px; font:600 12px/16px var(--sc-font-sans); white-space:nowrap; }
.sc-status--success { color:var(--sc-success); background:var(--sc-success-bg); border-color:#ccebd8; }
.sc-status--warning { color:var(--sc-warning); background:var(--sc-warning-bg); border-color:#f2dfb1; }
.sc-status--danger { color:var(--sc-danger); background:var(--sc-danger-bg); border-color:#f0cecb; }
.sc-status--info { color:var(--sc-info); background:var(--sc-info-bg); border-color:#cfe2f5; }
.sc-status--neutral { color:var(--sc-neutral); background:var(--sc-neutral-bg); border-color:var(--sc-border); }

.sc-alert { display:flex; gap:var(--sc-space-3); padding:var(--sc-space-3) var(--sc-space-4); border:1px solid; border-radius:var(--sc-radius); font-size:14px; line-height:20px; }
.sc-alert--success { color:var(--sc-success); background:var(--sc-success-bg); border-color:#ccebd8; }
.sc-alert--warning { color:var(--sc-warning); background:var(--sc-warning-bg); border-color:#f2dfb1; }
.sc-alert--danger { color:var(--sc-danger); background:var(--sc-danger-bg); border-color:#f0cecb; }
.sc-alert--info { color:var(--sc-info); background:var(--sc-info-bg); border-color:#cfe2f5; }

.sc-empty-state { padding:var(--sc-space-10) var(--sc-space-5); text-align:center; color:var(--sc-text-muted); }
.sc-empty-state__title { margin:0 0 var(--sc-space-1); color:var(--sc-heading); font-size:16px; line-height:22px; font-weight:700; }
.sc-empty-state__description { max-width:560px; margin:0 auto; font-size:14px; line-height:20px; }
.sc-empty-state__actions { display:flex; justify-content:center; flex-wrap:wrap; gap:var(--sc-space-2); margin-top:var(--sc-space-4); }

.sc-field { display:flex; flex-direction:column; gap:6px; }
.sc-field__label { color:var(--sc-text); font-size:14px; line-height:20px; font-weight:600; }
.sc-field__required { color:var(--sc-danger); }
.sc-field__help,.sc-field__error { margin:0; font-size:13px; line-height:18px; }
.sc-field__help { color:var(--sc-text-muted); }
.sc-field__error { color:var(--sc-danger); }
.sc-control { width:100%; min-height:42px; padding:9px 11px; border:1px solid var(--sc-border-strong); border-radius:var(--sc-radius); background:var(--sc-surface); color:var(--sc-text); font:400 15px/22px var(--sc-font-sans); }
.sc-control[aria-invalid="true"] { border-color:var(--sc-danger); }

.sc-search,.sc-filter-bar { display:flex; align-items:flex-end; flex-wrap:wrap; gap:var(--sc-space-2); }
.sc-search__field { position:relative; flex:1 1 260px; }
.sc-search__field .sc-control { padding-left:38px; }
.sc-search__icon { position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--sc-text-muted); pointer-events:none; }
.sc-filter-bar { padding:var(--sc-space-4); border:1px solid var(--sc-border); border-radius:var(--sc-radius-lg); background:var(--sc-surface-subtle); }

.sc-metric-strip { display:grid; grid-template-columns:repeat(var(--sc-metric-columns, 4),minmax(0,1fr)); border:1px solid var(--sc-border); border-radius:var(--sc-radius-lg); background:var(--sc-surface); overflow:hidden; }
.sc-metric { min-width:0; padding:var(--sc-space-4); border-right:1px solid var(--sc-border); }
.sc-metric:last-child { border-right:0; }
.sc-metric__label { display:block; color:var(--sc-text-muted); font-size:13px; line-height:18px; font-weight:600; }
.sc-metric__value { display:block; margin-top:var(--sc-space-1); color:var(--sc-heading); font-size:26px; line-height:30px; font-weight:700; font-variant-numeric:tabular-nums; }
.sc-metric__note { display:block; margin-top:var(--sc-space-1); color:var(--sc-text-muted); font-size:13px; line-height:18px; }

.sc-table-wrap { max-width:100%; overflow-x:auto; border:1px solid var(--sc-border); border-radius:var(--sc-radius); background:var(--sc-surface); }
.sc-table { width:100%; border-collapse:collapse; color:var(--sc-text); font-size:14px; line-height:20px; }
.sc-table th { padding:10px 12px; background:var(--sc-surface-subtle); color:var(--sc-text-muted); font-size:12px; line-height:16px; font-weight:700; text-align:left; white-space:nowrap; }
.sc-table td { padding:12px; border-top:1px solid var(--sc-border); vertical-align:top; }
.sc-table tbody tr:hover { background:#fbfcfd; }

.sc-progress { display:flex; align-items:center; gap:var(--sc-space-2); }
.sc-progress__track { flex:1; height:8px; overflow:hidden; border-radius:999px; background:var(--sc-neutral-bg); }
.sc-progress__bar { height:100%; border-radius:inherit; background:var(--sc-primary); }
.sc-progress__value { color:var(--sc-text-muted); font-size:13px; line-height:18px; white-space:nowrap; }

.sc-timeline { margin:0; padding:0; list-style:none; }
.sc-timeline__item { position:relative; padding:0 0 var(--sc-space-5) 24px; border-left:2px solid var(--sc-border); }
.sc-timeline__item:last-child { padding-bottom:0; border-left-color:transparent; }
.sc-timeline__marker { position:absolute; top:2px; left:-6px; width:10px; height:10px; border:2px solid var(--sc-surface); border-radius:50%; background:var(--sc-primary); box-shadow:0 0 0 1px var(--sc-primary); }

.sc-modal[hidden],.sc-drawer[hidden] { display:none; }
.sc-modal,.sc-drawer { position:fixed; inset:0; z-index:1055; }
.sc-overlay { position:absolute; inset:0; background:rgba(15,47,87,.42); }
.sc-modal__dialog,.sc-drawer__dialog { position:relative; z-index:1; background:var(--sc-surface); }
.sc-modal__dialog { width:min(560px,calc(100% - 32px)); max-height:calc(100vh - 32px); margin:16px auto; overflow:auto; border-radius:var(--sc-radius-lg); box-shadow:0 16px 40px rgba(15,23,42,.18); }
.sc-drawer__dialog { width:min(440px,calc(100% - 32px)); height:100%; margin-left:auto; overflow:auto; box-shadow:-12px 0 36px rgba(15,23,42,.16); }
.sc-modal__header,.sc-modal__body,.sc-modal__footer,.sc-drawer__header,.sc-drawer__body { padding:var(--sc-space-4) var(--sc-space-5); }
.sc-modal__header,.sc-drawer__header { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--sc-space-3); border-bottom:1px solid var(--sc-border); }
.sc-modal__footer { display:flex; justify-content:flex-end; gap:var(--sc-space-2); border-top:1px solid var(--sc-border); }

.sc-toast-region { position:fixed; right:var(--sc-space-4); bottom:var(--sc-space-4); z-index:1100; width:min(360px,calc(100% - 32px)); pointer-events:none; }
.sc-toast { margin-top:var(--sc-space-2); padding:var(--sc-space-3) var(--sc-space-4); border:1px solid var(--sc-border); border-radius:var(--sc-radius); background:var(--sc-surface); color:var(--sc-text); box-shadow:0 8px 24px rgba(15,23,42,.12); }

.setup-result-modal { border:1px solid var(--sc-border); border-radius:var(--sc-radius-lg); box-shadow:0 16px 40px rgba(15,23,42,.18); }
.setup-result-modal .modal-header { align-items:flex-start; border-bottom:1px solid var(--sc-border); }
.setup-result-modal .modal-title { margin:2px 0 0; color:var(--sc-heading); font-size:18px; line-height:24px; font-weight:700; }
.setup-result-modal .modal-header p { margin:5px 0 0; color:var(--sc-text-muted); font-size:13px; line-height:19px; }
.setup-result-success-label { display:block; color:var(--sc-success); font-size:12px; line-height:16px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.shared-setup-result-list { display:grid; gap:9px; margin:0 0 14px; }
.shared-setup-result-list div { display:grid; grid-template-columns:112px minmax(0,1fr); gap:10px; padding-bottom:9px; border-bottom:1px solid var(--sc-border); }
.shared-setup-result-list dt { color:var(--sc-text-muted); font-size:13px; line-height:18px; font-weight:600; }
.shared-setup-result-list dd { margin:0; color:var(--sc-heading); font-size:14px; line-height:20px; font-weight:650; overflow-wrap:anywhere; }
.shared-setup-result-qr-wrap { margin:14px 0; padding:14px; border:1px solid var(--sc-border); border-radius:var(--sc-radius); background:var(--sc-surface-subtle); text-align:center; }
.shared-setup-result-qr-wrap > span { display:block; margin-bottom:8px; color:var(--sc-text-muted); font-size:12px; line-height:16px; font-weight:650; }
.shared-setup-result-qr { display:block; width:220px; max-width:100%; height:auto; margin:0 auto; padding:8px; border:1px solid var(--sc-border); background:#fff; }
.shared-setup-actions { display:flex; flex-wrap:wrap; gap:8px; }
.setup-result-security-note { margin:12px 0 0; color:var(--sc-text-muted); font-size:12px; line-height:18px; }

@media (max-width:767px) {
    .sc-panel { padding:var(--sc-space-4); }
    .sc-button { min-height:44px; }
    .sc-metric-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .sc-metric { border-bottom:1px solid var(--sc-border); }
    .sc-metric:nth-child(2n) { border-right:0; }
    .sc-modal__header,.sc-modal__body,.sc-modal__footer,.sc-drawer__header,.sc-drawer__body { padding:var(--sc-space-4); }
    .shared-setup-actions { flex-direction:column; }
    .shared-setup-actions .sc-button { width:100%; min-height:44px; }
    .shared-setup-result-list div { grid-template-columns:1fr; gap:2px; }
}
