/* KAMI AI Diagnosis */
.kad{--kad-ink:#1d2433;--kad-muted:#5d6678;--kad-line:#d9dee7;--kad-soft:#f4f6f9;--kad-accent:#24406b;--kad-accent-soft:#e7edf6;--kad-warn:#a4410e;--kad-warn-soft:#fbeee6;--kad-ok:#1f6b45;--kad-ok-soft:#e5f3eb;
	max-width:880px;margin:0 auto;color:var(--kad-ink);font-size:16px;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}
.kad *{box-sizing:border-box}
.kad h2{font-size:26px;line-height:1.35;margin:0 0 8px}
.kad h3{font-size:19px;line-height:1.4;margin:36px 0 12px;padding-bottom:8px;border-bottom:2px solid var(--kad-ink)}
.kad p{margin:0 0 8px}
.kad a{color:var(--kad-accent)}
.kad-head{margin:8px 0 20px}
.kad-muted,.kad-note,.kad-hint{color:var(--kad-muted)}
.kad-note{font-size:14px;margin:4px 0 12px}
.kad-hint{font-size:14px;margin:2px 0 8px}
.kad-sub{font-weight:700;margin-top:12px}
.kad-box{border:1px solid var(--kad-line);background:var(--kad-soft);border-radius:10px;padding:20px;margin:16px 0}
.kad-box.kad-ok{background:var(--kad-ok-soft);border-color:#b9dcc8}
.kad-box ul{margin:8px 0 14px 20px}
.kad-btn{display:inline-block;background:var(--kad-accent);color:#fff!important;border:1px solid var(--kad-accent);border-radius:8px;padding:10px 18px;font-size:15px;line-height:1.3;cursor:pointer;text-decoration:none!important;margin:4px 6px 4px 0}
.kad-btn:disabled{opacity:.6;cursor:default}
.kad-btn-ghost{background:#fff;color:var(--kad-accent)!important}
.kad-intro{background:var(--kad-soft);border-radius:10px;padding:18px 20px;margin-bottom:8px}
.kad-intro ul{margin:4px 0 8px 20px;padding:0}
.kad-sec{margin-top:8px}
.kad-tag{display:inline-block;font-size:12px;font-weight:600;color:var(--kad-accent);background:var(--kad-accent-soft);border-radius:999px;padding:2px 10px;vertical-align:middle;margin-left:6px}
.kad-term{color:var(--kad-muted);font-weight:400}
.kad-q{border:1px solid var(--kad-line);border-radius:10px;padding:16px 18px;margin:12px 0;background:#fff}
.kad-q.kad-has-err{border-color:var(--kad-warn);background:var(--kad-warn-soft)}
.kad-qt{font-weight:600;margin-bottom:6px}
.kad-qt b{color:var(--kad-accent);margin-right:4px}
.kad-qbody{margin-bottom:6px}
.kad-qlist{margin:4px 0 8px 18px;padding:0;font-size:15px}
.kad-risk{font-size:14px;color:var(--kad-warn);margin:4px 0 10px}
.kad-part{margin-top:12px}
.kad-pl{font-weight:600;font-size:15px;margin-bottom:6px}
.kad-pl em{font-style:normal;font-size:12px;color:var(--kad-warn);margin-left:4px}
.kad-opts{display:flex;flex-direction:column;gap:6px}
.kad-opts.kad-inline{flex-direction:row;flex-wrap:wrap}
.kad-opt{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid var(--kad-line);border-radius:8px;cursor:pointer;font-weight:400;margin:0}
.kad-opt:hover{background:var(--kad-soft)}
.kad-opt input{margin-top:5px;flex:0 0 auto}
.kad-opt:has(input:checked){border-color:var(--kad-accent);background:var(--kad-accent-soft)}
.kad-opt:has(input:disabled){opacity:.5;cursor:default}
.kad-scale{display:flex;flex-wrap:wrap;gap:6px}
.kad-pt{flex:1 1 0;min-width:90px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:8px 6px;border:1px solid var(--kad-line);border-radius:8px;cursor:pointer;margin:0;font-weight:400}
.kad-pt input{position:absolute;opacity:0;width:1px;height:1px}
.kad-pt-n{font-weight:700;font-size:16px}
.kad-pt-l{font-size:12px;color:var(--kad-muted);line-height:1.35}
.kad-pt:has(input:checked){border-color:var(--kad-accent);background:var(--kad-accent);color:#fff}
.kad-pt:has(input:checked) .kad-pt-l{color:#dfe7f3}
.kad-pt:has(input:focus-visible){outline:2px solid var(--kad-accent);outline-offset:2px}
.kad-pt-na{min-width:140px}
.kad-text-label{display:block;font-weight:600;font-size:15px;margin-bottom:4px}
.kad-text{width:100%;padding:10px 12px;border:1px solid var(--kad-line);border-radius:8px;font-size:15px;margin:4px 0}
.kad-err{color:var(--kad-warn);font-size:14px;font-weight:600;margin:6px 0 0}
.kad-crit{margin:4px 0 8px;font-size:14px}
.kad-crit summary{cursor:pointer;color:var(--kad-accent)}
.kad-crit ol{list-style:none;margin:8px 0;padding:0}
.kad-crit li{padding:2px 0}
.kad-actions{position:sticky;bottom:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;background:rgba(255,255,255,.96);border-top:1px solid var(--kad-line);padding:12px 0;margin-top:24px;z-index:5}
.kad-saved{margin-right:auto;font-size:14px;color:var(--kad-muted)}
.kad-summary{background:var(--kad-warn-soft);color:var(--kad-warn);border-radius:8px;padding:12px 14px;font-weight:600;margin:8px 0}
.kad-table{width:100%;border-collapse:collapse;margin:8px 0 16px;font-size:15px}
.kad-table th,.kad-table td{border:1px solid var(--kad-line);padding:8px 10px;text-align:left;vertical-align:top}
.kad-table th{background:var(--kad-soft);font-weight:600;width:auto}
.kad-table thead th,.kad-table .kad-nw{white-space:nowrap}
.kad-table tbody th{width:28%}
.kad-t10 th{width:30%}
.kad-hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.kad-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.kad-card{border:1px solid var(--kad-line);border-radius:10px;padding:16px;background:#fff}
.kad-card-main{background:var(--kad-accent);border-color:var(--kad-accent);color:#fff}
.kad-card-main .kad-k,.kad-card-main .kad-s,.kad-card-main .kad-muted{color:#dfe7f3}
.kad-k{font-size:13px;color:var(--kad-muted);font-weight:600;margin-bottom:4px}
.kad-v{font-size:26px;font-weight:700;line-height:1.25}
.kad-v small{font-size:15px;font-weight:400}
.kad-v2{font-size:17px;font-weight:700;line-height:1.4;margin-bottom:4px}
.kad-s{font-size:14px}
.kad-status{font-size:14px;font-weight:600;color:var(--kad-accent);margin:8px 0}
.kad-meta{font-size:14px;color:var(--kad-muted);margin-bottom:8px}
.kad-bar{display:flex;gap:3px}
.kad-seg{flex:1;text-align:center;font-size:11px;padding:3px 0;border-radius:4px;background:var(--kad-soft);color:var(--kad-muted)}
.kad-seg.on{background:var(--kad-accent-soft);color:var(--kad-accent)}
.kad-seg.cur{background:var(--kad-accent);color:#fff;font-weight:700}
.kad-lv{font-weight:700;font-size:14px;margin:4px 0 0}
.kad-areas .kad-an{width:30%}
.kad-areas .kad-al{width:30%}
.kad-meter{height:10px;background:var(--kad-soft);border-radius:999px;overflow:hidden;min-width:120px}
.kad-meter span{display:block;height:100%;background:var(--kad-accent)}
td.kad-num{width:70px;text-align:right!important;font-weight:700}
.kad-badge{display:inline-block;border-radius:999px;padding:2px 12px;font-size:13px;font-weight:700}
.kad-badge.ok{background:var(--kad-ok-soft);color:var(--kad-ok)}
.kad-badge.fix{background:var(--kad-warn-soft);color:var(--kad-warn)}
.kad-alert{background:var(--kad-warn-soft);color:var(--kad-warn);border-radius:8px;padding:10px 14px;font-weight:600}
.kad-fixline{display:block;color:var(--kad-warn);font-size:14px}
.kad-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--kad-line);margin-bottom:12px}
.kad-tabs a{padding:8px 14px;border:1px solid var(--kad-line);border-bottom:none;border-radius:8px 8px 0 0;text-decoration:none;color:var(--kad-muted);background:var(--kad-soft)}
.kad-tabs a.on{background:#fff;color:var(--kad-ink);font-weight:700;margin-bottom:-1px}
.kad-foot{margin-top:24px;font-size:14px;color:var(--kad-muted)}
.kad-foot ul{margin:4px 0 0 18px;padding:0}
.kad-print{margin-top:16px}
/* 수강 신청·결제 */
.kad-pay-wrap h3{font-size:19px;margin:28px 0 12px;padding-bottom:8px;border-bottom:2px solid var(--kad-ink)}
.kad-pay .kad-opt b{color:var(--kad-ink)}
.kad-pay s{color:var(--kad-muted)}
.kad-pay [hidden]{display:none!important}
.kad-eb-tag{display:inline-block;font-size:12px;font-weight:700;line-height:1.5;color:var(--kad-accent);border:1px solid var(--kad-accent);border-radius:4px;padding:0 6px;vertical-align:1px}
.kad-pay-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}
.kad-pay-f{margin:0 0 8px}
.kad-pay-f p{margin:4px 0}
.kad-req{font-style:normal;font-size:12px;color:var(--kad-warn);margin-left:4px}
.kad-pay-sum{border:1px solid var(--kad-line);border-radius:10px;padding:14px 18px;margin:0 0 12px;background:var(--kad-soft)}
.kad-pay-sum p{display:flex;justify-content:space-between;gap:12px;margin:4px 0}
.kad-pay-sum span{color:var(--kad-muted)}
.kad-pay-sum b[data-sum="total"]{font-size:20px;color:var(--kad-accent)}
.kad-pay-btn{font-size:17px;padding:13px 28px}
.kad-pay-done{border-color:var(--kad-ok);background:var(--kad-ok-soft)}
.kad-pay-fail{border-color:var(--kad-warn);background:var(--kad-warn-soft)}
.kad-pay-done h3{border:none;margin-top:0;padding:0;color:var(--kad-ok)}
@media (max-width:640px){.kad-pay-fields{grid-template-columns:1fr}.kad-pay-sum p{flex-direction:column;gap:0}}
@media (max-width:640px){
	.kad{font-size:15px}
	.kad h2{font-size:22px}
	.kad-q{padding:14px 12px}
	.kad-pt{min-width:56px}
	.kad-scale-l{flex-direction:column}
	.kad-scale-l .kad-pt{flex-direction:row;justify-content:flex-start;text-align:left;gap:10px}
	.kad-scale-l .kad-pt-l{font-size:14px}
	.kad-table,.kad-table tbody,.kad-table tr,.kad-table th,.kad-table td{display:block;width:100%!important}
	.kad-table thead{display:none}
	.kad-table tr{border:1px solid var(--kad-line);border-radius:8px;margin-bottom:8px;overflow:hidden}
	.kad-table th,.kad-table td{border:none;border-bottom:1px solid var(--kad-line)}
	td.kad-num{text-align:left!important}
}
@media print{
	.kad-actions,.kad-tabs,.kad-print,.kad-head a{display:none!important}
	.kad-card-main{background:#fff;color:var(--kad-ink);border:2px solid var(--kad-ink)}
	.kad-card-main .kad-k,.kad-card-main .kad-s{color:var(--kad-muted)}
	.kad h3{break-after:avoid}
	.kad-table tr{break-inside:avoid}
}
