/* settings.html 전용 — main.css/components.css 위에 얹는 추가 스타일 */

.settings-wrap{max-width:1100px;margin:24px auto 80px;padding:0 24px;display:flex;flex-direction:column;gap:18px}

.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}
.card-h{padding:18px 22px 8px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,var(--grey-50))}
.card-h h2{font-size:16px;font-weight:700;color:var(--grey-900);letter-spacing:-.2px;margin-bottom:4px}
.card-h .card-sub{display:block;font-size:12.5px;color:var(--mut);line-height:1.55}
.card-b{padding:18px 22px}

.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.row:last-child{margin-bottom:0}
.lbl{font-size:12px;color:var(--grey-600);font-weight:500}
.input{height:36px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13px;color:var(--txt);font-family:var(--mono);outline:none}
.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50)}
.input.lg{flex:1;min-width:280px}
select.input{padding-right:32px}

.btn{height:36px;padding:0 16px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:6px}
.btn.primary{background:var(--primary);color:#fff}
.btn.primary:hover{background:var(--primary-hover)}
.btn.ghost{background:#fff;color:var(--grey-700);border-color:var(--line)}
.btn.ghost:hover{background:var(--grey-100)}
.btn.warning{background:#fff7e8;color:var(--bronze);border-color:#f7d9b5}
.btn.warning:hover{background:#fdebd0}
.btn:disabled{opacity:.5;cursor:not-allowed}
a.btn{display:inline-flex;text-decoration:none}

.msg{margin-top:10px;padding:8px 12px;border-radius:8px;font-size:12.5px;color:var(--grey-700);background:transparent;min-height:1px}
.msg.ok{background:rgba(12,166,120,.08);color:var(--pos);border:1px solid rgba(12,166,120,.2)}
.msg.err{background:rgba(224,49,49,.08);color:var(--neg);border:1px solid rgba(224,49,49,.2)}
.msg.busy{background:rgba(51,102,255,.08);color:var(--primary);border:1px solid rgba(51,102,255,.2)}

.hint{margin-top:10px;font-size:12px;color:var(--mut)}

.muted-details{margin-top:14px;border-top:1px dashed var(--line);padding-top:12px}
.muted-details summary{cursor:pointer;font-size:12px;color:var(--mut);user-select:none}
.muted-details summary:hover{color:var(--grey-700)}
.howto{margin:10px 0 0 22px;font-size:12.5px;color:var(--grey-700);line-height:1.7}
code{font-family:var(--mono);background:var(--grey-100);padding:1px 6px;border-radius:4px;font-size:12px;color:var(--grey-800)}

.ev-table{width:100%;font-size:12.5px}
.ev-table th,.ev-table td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.ev-table th{background:var(--grey-50);font-size:11.5px;color:var(--grey-600);font-weight:600}
.ev-table td.empty{text-align:center;color:var(--mut);padding:24px}
.ev-table .pill-status{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;font-family:var(--mono)}
.ev-table .pill-status.ok{background:rgba(12,166,120,.12);color:var(--pos)}
.ev-table .pill-status.fail{background:rgba(224,49,49,.12);color:var(--neg)}
.ev-table .pill-kind{display:inline-flex;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;background:var(--primary-50);color:var(--primary);font-family:var(--mono)}
.ev-table .mono{font-family:var(--mono);font-size:11.5px;color:var(--grey-600)}

.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;font-size:13px}
.kv dt{color:var(--grey-600);font-weight:500}
.kv dd{font-family:var(--mono);color:var(--grey-900);word-break:break-all}

.badge{cursor:default}
.badge .dotG.warn{background:var(--warn)}
.badge .dotG.bad{background:var(--neg)}
