/* =====================================================================
   윤슬모터스 CLUSTER — 계기판 문법 (Claude Design 시안 기준)
   켜진 경고등 = 현재 상태 · 강조된 기어 칸 = 지금 단계 · 바늘 · 빨간 눈금 = 현재 · 목표 · 오도미터 숫자판 = 누적 수
   본문·숫자 = Pretendard (고정폭 숫자) · 계기판 숫자·라벨 = Barlow Condensed · 번호·코드 = JetBrains Mono
   색 세트 변수: --bg --panel --panel2 --ink --ink2 --ink3 --line --track --accent --accentSoft --accentText --btn --btnText --onFill
                 --ok/okSoft --warn/warnSoft --risk/riskSoft --stop/stopSoft --sedan --coupe --suv --ev --s1..s6 (거점)
   ===================================================================== */
:root{--bg:#E7E9EC;--panel:#F8F9FA;--panel2:#EEF0F3;--ink:#0F1216;--ink2:#57606B;--ink3:#A3AAB3;--line:#D0D5DB;--track:#DDE1E6;--accent:#1A6CD4;--accentSoft:#DCE8F8;--accentText:#FFFFFF;--btn:#0F1216;--btnText:#F8F9FA;--onFill:#FFFFFF;--ok:#1F8E4D;--okSoft:#DCF0E3;--warn:#B98200;--warnSoft:#F6EBC8;--risk:#D3261D;--riskSoft:#F9DEDB;--stop:#6B7280;--stopSoft:#E4E6EA;--sedan:#3B5578;--coupe:#8E4AAE;--suv:#8A6420;--ev:#0D8F86;--s1:#2F5DB0;--s2:#B0436B;--s3:#2E8655;--s4:#7A52AA;--s5:#C2661A;--s6:#1C8792;--rad:14px}
html.t-cl,html.t-cl body{--font:'Pretendard Variable',Pretendard,system-ui,sans-serif;--cond:'Barlow Condensed',sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;
  --text:var(--ink);--surface:var(--panel);--surface-2:var(--panel2);--border:var(--line);--border-strong:var(--ink3);--muted:var(--ink2);--primary:var(--btn);--primary-ink:var(--btnText);
  --primary-soft:var(--accentSoft);--danger:var(--risk);--radius:var(--rad);--radius-sm:8px;--shadow:none;--th-bg:var(--panel);--th-color:var(--ink2);
  --tone-green:var(--ok);--tone-green-bg:var(--okSoft);--tone-red:var(--risk);--tone-red-bg:var(--riskSoft);--tone-amber:var(--warn);--tone-amber-bg:var(--warnSoft);
  --tone-blue:var(--accent);--tone-blue-bg:var(--accentSoft);--tone-gray:var(--stop);--tone-gray-bg:var(--stopSoft);--tone-violet:var(--coupe);--tone-violet-bg:var(--panel2);
  --tone-teal:var(--ev);--tone-teal-bg:var(--panel2);--tone-rose:var(--s2);--tone-rose-bg:var(--panel2)}
html.t-cl body{margin:0;line-height:normal;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:13px;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
.t-cl *{box-sizing:border-box}
.t-cl a{color:var(--accent);text-decoration:none}.t-cl a:hover{color:var(--ink)}
.t-cl button,.t-cl input,.t-cl select,.t-cl textarea{font-family:inherit;color:inherit}
.t-cl input::placeholder,.t-cl textarea::placeholder{color:var(--ink3)}
.t-cl input[type=range]{accent-color:var(--accent)}
.t-cl button{cursor:pointer}.t-cl button:disabled{cursor:not-allowed;opacity:.45}
.t-cl input:focus,.t-cl select:focus,.t-cl textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}
.t-cl [data-href],.t-cl [data-g],.t-cl [data-post]{cursor:pointer}
.t-cl button[data-href]:hover,.t-cl button[data-g]:hover,.t-cl button[data-post]:hover,.t-cl tr[data-href]:hover td{filter:brightness(.97)}
.mono{font-family:var(--mono)}.dim{color:var(--ink2)}.cond{font-family:var(--cond)}

/* ---------- 틀 : 머리띠 · 계기판 띠 · 왼쪽 화면 목록 */
.cl-app{min-height:100vh;display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);background:var(--bg);color:var(--ink)}
.cl-hd{grid-column:1/-1;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.cl-top{display:flex;align-items:center;gap:14px;padding:9px 16px;flex-wrap:wrap}
.cl-logo{display:flex;align-items:center;gap:10px;padding-right:14px;border-right:1px solid var(--line);color:var(--ink)!important}
.cl-logo .dial{width:30px;height:30px;border-radius:50%;border:2px solid var(--ink);position:relative;flex:none}
.cl-logo .dial i{position:absolute;left:50%;top:50%;width:2px;height:11px;margin-left:-1px;margin-top:-11px;background:var(--accent);transform-origin:50% 100%;transform:rotate(48deg)}
.cl-logo .dial b{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--ink)}
.cl-logo>span:last-child{display:flex;flex-direction:column}.cl-logo>span:last-child>b{font-family:var(--cond);font-weight:700;font-size:17px;letter-spacing:.14em;line-height:1}
.cl-logo em{font-style:normal;color:var(--accent)}.cl-logo small{font-size:10.5px;color:var(--ink2);margin-top:2px}
.cl-grp{display:flex;align-items:center;gap:6px}.cl-grp .lb{font-family:var(--cond);font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--ink2)}
.cl-sel{height:28px;border:1px solid var(--line);background:var(--panel2);font-size:12px;padding:0 6px;border-radius:8px;max-width:200px;color:var(--ink)}
.cl-ob{height:28px;padding:0 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink)!important;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;white-space:nowrap}
.cl-sites{display:flex;align-items:center;gap:3px;padding:3px;border-radius:10px;background:var(--panel2);border:1px solid var(--line);flex-wrap:wrap}
.cl-sites a{height:24px;padding:0 8px;border-radius:7px;font-size:11px;font-weight:700;white-space:nowrap;display:flex;align-items:center;gap:4px}
.cl-sites a span{font-family:var(--cond);font-size:11.5px;letter-spacing:.04em}
.cl-sp{flex:1}
.cl-goto{display:flex;align-items:center;height:28px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel2);margin:0}
.cl-goto span{padding:0 8px;font-size:11px;font-weight:700;color:var(--ink2);border-right:1px solid var(--line);height:100%;display:flex;align-items:center;white-space:nowrap}
.cl-goto input{width:100px;border:0;background:transparent;padding:0 8px;font-family:var(--mono);font-size:12px;outline:none;color:var(--ink)}
.cl-q{margin:0}.cl-q input{height:28px;width:210px;border:1px solid var(--line);background:var(--panel2);padding:0 10px;font-size:12px;outline:none;border-radius:8px;color:var(--ink)}
.cl-chips{display:flex;align-items:center;gap:4px}
.cl-chips .db-chip{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);padding:0;position:relative;overflow:hidden}
.cl-chips .db-chip span{position:absolute;left:3px;right:3px;bottom:3px;height:5px;border-radius:3px}
.cl-chips .db-chip.on{border-color:var(--accent)}
.cl-user{position:relative;display:flex;align-items:center}.cl-user>button{display:flex;align-items:center;border:0;background:transparent;padding:0}
.cl-user .av{width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--panel);display:grid;place-items:center;font-size:11px;font-weight:800}
.a-pop{display:none;position:absolute;right:0;top:36px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 30px rgba(0,0,0,.18);padding:6px;z-index:40;min-width:180px;color:var(--ink)}
.a-pop.open{display:block}.a-pop button{width:100%;height:30px;border:0;background:transparent;color:var(--ink);text-align:left;padding:0 10px;font-weight:700;border-radius:8px}
.a-pop .more{max-height:60vh;overflow:auto;border-top:1px solid var(--line);margin-top:4px;padding-top:4px;min-width:200px}
.a-pop .more b{display:block;padding:8px 10px 2px;font:700 11px/1 var(--cond);letter-spacing:.1em;color:var(--ink3)}
.a-pop .more a{display:block;padding:5px 12px;font-size:12.5px;font-weight:600;color:var(--ink)!important;border-radius:6px}.a-pop .more a.on,.a-pop .more a:hover{background:var(--accentSoft)}
.cl-strip{display:flex;align-items:center;gap:16px;padding:6px 16px;border-top:1px solid var(--line);background:var(--panel2);font-size:11.5px;flex-wrap:wrap}
.cl-strip .tm{font-family:var(--cond);font-weight:700;font-size:14px;letter-spacing:.08em}.cl-strip b{color:var(--ink)}
.cl-strip .lps{display:flex;gap:4px}.cl-strip .r{margin-left:auto}
.cl-strip .cur{font-family:var(--cond);font-weight:700;font-size:13px;letter-spacing:.06em;color:var(--accent)}
.lp{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px 0 6px;border-radius:5px;font-size:10.5px;font-weight:700;border:1px solid}
.lp i{width:7px;height:7px;border-radius:50%}
.lp.risk{background:var(--riskSoft);color:var(--risk);border-color:var(--risk)}.lp.risk i{background:var(--risk);box-shadow:0 0 6px var(--risk)}
.lp.warn{background:var(--warnSoft);color:var(--warn);border-color:var(--warn)}.lp.warn i{background:var(--warn);box-shadow:0 0 6px var(--warn)}
.lp.ok{background:var(--okSoft);color:var(--ok);border-color:var(--ok)}.lp.ok i{background:var(--ok);box-shadow:0 0 6px var(--ok)}
.cl-nav{background:var(--panel);border-right:1px solid var(--line);padding:8px 10px 20px;align-self:stretch}
.cl-nav .gh{padding:14px 8px 6px;font-family:var(--cond);font-size:11px;color:var(--ink3);font-weight:700;letter-spacing:.14em}
.cl-nav a{display:flex;align-items:center;gap:9px;width:100%;border-radius:9px;padding:7px 8px;text-align:left;color:var(--ink)!important;margin-bottom:2px}
.cl-nav a .cd{min-width:30px;height:22px;border-radius:5px;border:1px solid;font-family:var(--cond);font-weight:700;font-size:12.5px;letter-spacing:.04em;display:flex;align-items:center;justify-content:center}
.cl-nav a .nm{font-size:12.5px;line-height:1.25}.cl-nav a:hover{background:var(--panel2)!important}
.cl-legend{margin:18px 6px 0;padding:10px;border-radius:10px;background:var(--panel2);font-size:10.5px;line-height:1.7;color:var(--ink2)}
.cl-legend b{display:block;font-family:var(--cond);font-weight:700;letter-spacing:.1em;color:var(--ink);margin-bottom:2px}
.cl-main{padding:20px 24px 48px;min-width:0}

/* ---------- 칠하는 입력 (라디오 · 체크박스 → 칩) */
label.cl-mark{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--ink);white-space:nowrap;user-select:none}
label.cl-mark input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
label.cl-mark.on{background:var(--ink);color:var(--panel);border-color:var(--ink)}
label.cl-mark.acc.on{background:var(--accent);border-color:var(--accent);color:var(--accentText)}
label.cl-mark:focus-within{outline:2px solid var(--accent);outline-offset:1px}

/* ---------- 알림 띠 (오른쪽 아래 · 시안 toast) */
.a-toasts{position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;z-index:80;max-width:calc(100vw - 32px)}
.a-toast{display:flex;gap:10px;align-items:center;background:var(--ink);color:var(--panel);padding:12px 16px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:0 12px 30px rgba(0,0,0,.3);transition:opacity .3s,transform .3s}
.a-toast>i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);flex:none}
.a-toast.error>i{background:var(--risk);box-shadow:0 0 8px var(--risk)}.a-toast.warning>i{background:var(--warn);box-shadow:0 0 8px var(--warn)}
.a-toast .k{font-family:var(--cond);font-size:11.5px;letter-spacing:.1em;opacity:.7;flex:none}
.a-toast button{border:0;background:transparent;color:var(--panel);opacity:.7;font-size:16px}.a-toast.out{opacity:0;transform:translateY(8px);pointer-events:none}

/* ---------- 처리 팝업 (시안 modal) */
dialog.a-modal{border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);padding:0;width:min(480px,calc(100vw - 32px));box-shadow:0 30px 70px rgba(0,0,0,.35);max-height:90vh;overflow:auto}
dialog.a-modal::backdrop{background:rgba(6,8,12,.5)}
.a-modal .bar{height:4px;background:var(--accent)}.a-modal.rsn .bar{background:var(--warn)}.a-modal.danger .bar{background:var(--risk)}
.a-modal-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px 4px}
.a-modal-h b{font-size:15px;font-weight:800}.a-modal-h small{font-family:var(--cond);font-size:11.5px;letter-spacing:.12em;color:var(--ink2)}
.a-modal-b{padding:6px 18px 4px;display:flex;flex-direction:column;gap:10px;font-size:13px;line-height:1.65}
.a-modal-b .sub{font-family:var(--cond);font-size:11.5px;letter-spacing:.1em;color:var(--ink2);display:none}
.a-modal-b .desc{color:var(--ink2);text-wrap:pretty}
.a-modal-b .box{padding:8px 10px;background:var(--panel2);border-radius:8px;font-weight:700;color:var(--ink)}
.a-modal-b .lns,.a-modal-b .flds{display:flex;flex-direction:column;gap:8px}.a-modal-b .flds:empty{display:none}
.a-modal-b .ln{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.a-modal-b .ln span{color:var(--ink2)}.a-modal-b .ln b{text-align:right}
.a-modal-b .fld,.a-modal-b .rsn{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--ink)}.a-modal-b .rsn em{font-style:normal;color:var(--risk)}
.a-modal-b textarea,.a-modal-b input:not([type=hidden]):not([type=checkbox]),.a-modal-b select{width:100%;border:1px solid var(--line);background:var(--panel2);color:var(--ink);padding:9px;font-size:12.5px;border-radius:8px}
.a-modal-b input:not([type=hidden]),.a-modal-b select{height:34px;padding:0 10px}.a-modal-b textarea{resize:vertical}
.a-modal-b .err input,.a-modal-b .err select,.a-modal-b .err textarea{border:1.5px solid var(--risk);background:var(--riskSoft)}
.a-lbl{font-size:11px;font-weight:700;color:var(--ink)}
.a-err{display:none;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:var(--riskSoft);border:1px solid var(--risk);color:var(--risk);font-size:12.5px;font-weight:700}
.a-err::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--risk);box-shadow:0 0 6px var(--risk);flex-shrink:0}
#a-modal-err{display:none}
.a-chiprow{display:flex;gap:4px;flex-wrap:wrap}.a-chiprow:empty{display:none}
.a-chiprow button{height:24px;padding:0 9px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--ink);font-size:11px;font-weight:700}
.a-chiprow button:hover{background:var(--ink);border-color:var(--ink);color:var(--panel)}
.a-modal-f{display:flex;gap:6px;justify-content:flex-end;padding:16px 18px 18px}
.a-btn{height:32px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--ink);font-size:12px;font-weight:700}
.a-btn-ac{background:var(--btn);border-color:var(--btn);color:var(--btnText)}.a-btn-danger{background:var(--risk);border-color:var(--risk);color:var(--onFill)}

/* ---------- 공통 틀 (목록 · 상세 · 등록) */
.bp-sec{display:flex;flex-direction:column;gap:16px;max-width:1500px}
.bp-sec.narrow{max-width:1100px}
.bp-ph{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.bp-ph .kick{font-family:var(--cond);font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.1em}
.bp-ph h1{margin:4px 0 0;font-size:22px;font-weight:800}
.bp-ph .acts,.acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.box{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden}
.bb{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--ink)!important;font-size:12px;font-weight:700;white-space:nowrap;text-decoration:none}
.bb:hover:not(:disabled){filter:brightness(.97)}
.bb.p{background:var(--btn);color:var(--btnText)!important;border-color:var(--btn)}
.bb.r,.bb.ro{border-color:var(--risk);color:var(--risk)!important;background:transparent}
.bp-hl{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden}
.bp-hl>*{padding:10px 14px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px;color:var(--ink)!important}.bp-hl>a:hover{background:var(--panel2)}
.bp-hl span{font-size:10.5px;color:var(--ink2)}.bp-hl b{font-family:var(--cond);font-size:28px;font-weight:700}.bp-hl small{font-size:11px;color:var(--ink2)}
.bp-hl .red b{color:var(--risk)}.bp-hl .amber b{color:var(--warn)}
.lhd{display:flex;gap:10px;padding:12px 16px 8px;align-items:center;font-size:12.5px;font-weight:700}.lhd .r{font-family:var(--cond);font-size:12px;letter-spacing:.06em;color:var(--ink2)}
.ltabs{display:flex;gap:3px;overflow-x:auto;flex:1;min-width:0;padding:3px;border-radius:10px;background:var(--panel2);border:1px solid var(--line)}
.ltabs a{flex:none;height:24px;padding:0 9px;display:flex;align-items:center;gap:5px;border-radius:7px;font-size:11px;font-weight:700;color:var(--ink)!important;white-space:nowrap}
.ltabs a.on{background:var(--ink);color:var(--panel)!important}.ltabs small{font-family:var(--cond);font-size:12px}
.a-filter{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel)}
.a-filter-l{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.a-in,.a-sel{height:30px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--ink);font-size:12px}
.a-in.q{min-width:220px}.a-chip{font-size:11px;padding:2px 8px;border:1px solid var(--line);border-radius:9px;font-weight:700}
.a-reset{font-size:11.5px;color:var(--accent)!important}
.a-period{display:flex;gap:4px}.a-period a{height:26px;padding:0 9px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:7px;font-size:11px;font-weight:700;color:var(--ink)!important}
.a-period a.on{background:var(--ink);color:var(--panel)!important;border-color:var(--ink)}
.a-bulk{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 16px;border-bottom:1px solid var(--line);font-size:12px;color:var(--ink2);flex-wrap:wrap;background:var(--panel)}
.a-bulk.on{background:var(--accentSoft);color:var(--ink)}
.a-bulk-acts{display:flex;gap:6px}.a-bulk-acts button{height:26px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--panel2);font-size:11.5px;font-weight:700}
.a-bulk-acts button.danger{color:var(--risk);border-color:var(--risk)}
.scroll{overflow-x:auto;background:var(--panel)}
.a-tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.a-tbl th{background:var(--panel);color:var(--ink2);font-size:10.5px;font-weight:600;text-align:left;padding:6px 10px;white-space:nowrap;border-bottom:1px solid var(--line)}
.a-tbl th a{color:var(--ink2)!important}.a-tbl td{padding:9px 10px;border-bottom:1px solid var(--line)}
.a-tbl .num{text-align:right}.a-tbl .a-no{font-weight:700;color:var(--ink)!important}
.a-tbl tr:hover td{background:var(--panel2)}.a-chk{accent-color:var(--accent)}
.a-tfoot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;font-size:11.5px;color:var(--ink2);flex-wrap:wrap;background:var(--panel)}
.a-pages{display:flex;gap:3px;align-items:center}
.a-pages a,.a-pages span{min-width:28px;height:28px;display:inline-grid;place-items:center;border-radius:7px;border:1px solid var(--line);font-family:var(--cond);font-size:13px;font-weight:700;color:var(--ink)!important}
.a-pages .cur{background:var(--ink);color:var(--panel)!important;border-color:var(--ink)}.a-pages .dis{opacity:.4}
.a-pages select{height:28px;margin-left:6px;border:1px solid var(--line);border-radius:7px;background:var(--panel2);color:var(--ink)}
.empty0{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px 16px;border:1px dashed var(--line);border-radius:var(--rad);background:var(--panel);color:var(--ink2);font-size:12px;text-align:center}
.empty0 .lamp3{display:flex;gap:6px}.empty0 .lamp3 i{width:12px;height:12px;border-radius:50%;background:var(--ink3)}.empty0 b{color:var(--ink);font-size:13px}
.t-cl .stack{display:flex;flex-direction:column;gap:16px}
.t-cl .card{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);box-shadow:none;overflow:hidden}
.t-cl .card-head{padding:12px 16px 8px;display:flex;justify-content:space-between;align-items:center}
.t-cl .card-title{font-size:12.5px;font-weight:700}.t-cl .card-body{padding:4px 16px 14px}
.t-cl .kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0}
.t-cl .kv-item{padding:8px 16px;display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px;align-items:baseline;border-top:1px solid var(--line)}.t-cl .kv-item.full{grid-column:1/-1}
.t-cl .kv-label{font-size:10.5px;color:var(--ink2);margin:0}.t-cl .kv-value{font-size:13px;font-weight:600}
.t-cl .tbl-wrap{overflow-x:auto}
.t-cl .tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.t-cl .tbl th{background:var(--panel);color:var(--ink2);font-size:10.5px;font-weight:600;text-align:left;padding:6px 10px;height:auto;border:0;border-bottom:1px solid var(--line)}
.t-cl .tbl td{padding:8px 10px;height:auto;border-bottom:1px solid var(--line);border-top:0}.t-cl .tbl .num{text-align:right}
.t-cl .tbl a{color:var(--ink)!important;font-weight:700}
.t-cl .form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.t-cl .field{display:flex;flex-direction:column;gap:4px}.t-cl .field.full{grid-column:1/-1}
.t-cl .field-label{font-size:11px;font-weight:700}.t-cl .req{color:var(--risk);margin-left:2px}
.t-cl .field input:not([type=checkbox]),.t-cl .field select,.t-cl .field textarea{height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--ink);width:100%}
.t-cl .field textarea{height:auto;min-height:90px;padding:8px 10px}
.t-cl .field-err{color:var(--risk);font-size:11.5px;font-weight:700}.t-cl .help{color:var(--ink2);font-size:11px}
.t-cl .alert{padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.t-cl .alert-error{border-color:var(--risk);color:var(--risk);background:var(--riskSoft)}
.t-cl .badge{border-radius:5px;font-weight:700;padding:0 7px;font-size:10.5px;height:20px;display:inline-flex;align-items:center}
.t-cl .muted{color:var(--ink2)}.t-cl .small{font-size:11.5px}.t-cl .strong{font-weight:800}.t-cl .empty{padding:20px;text-align:center;color:var(--ink2)}
.t-cl .act-bar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:10px 16px;background:var(--panel2);border:1px solid var(--line);border-radius:var(--rad)}
.t-cl .act-bar form{display:contents}.t-cl .act-cap{font-family:var(--cond);font-size:12px;letter-spacing:.1em;color:var(--ink2);margin-right:6px}
.t-cl .stage-path{display:flex;gap:3px}.t-cl .stage-step{flex:1;padding:5px 6px;border-radius:7px;color:var(--ink3);font-size:11px;font-weight:700;text-align:center}
.t-cl .stage-step.done{color:var(--ink)}.t-cl .stage-step.current{background:var(--accent);color:var(--accentText)}
.t-cl .btn{height:32px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--ink)!important;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.t-cl .btn-primary{background:var(--btn);border-color:var(--btn);color:var(--btnText)!important}.t-cl .btn-danger{border-color:var(--risk);color:var(--risk)!important;background:transparent}
.t-cl .btn-sm{height:26px;padding:0 9px;font-size:11.5px}.t-cl .btn svg{width:13px;height:13px}
.t-cl .page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.t-cl .page-title{margin:4px 0 0;font-size:22px;font-weight:800}.t-cl .page-sub{color:var(--ink2);font-size:12px;margin:2px 0 0}
.t-cl .crumbs{display:flex;gap:6px;font-size:11.5px;color:var(--ink2)}.t-cl .crumbs a{color:var(--accent)!important}
.t-cl .page-actions{display:flex;gap:6px;flex-wrap:wrap}
.pcard{cursor:pointer}.pcard .on-t{display:none}.pcard.on .on-t{display:inline}.pcard.on .off-t{display:none}

/* ---------- 반응형 (태블릿 · 휴대폰 390px) */
.cl-main section[data-screen-label] td,.cl-main section[data-screen-label] th{white-space:nowrap}
.cl-main section[data-screen-label] td.wrap{white-space:normal}
@media (max-width:1100px){
  .cl-app{grid-template-columns:minmax(0,1fr)}
  .cl-nav{display:flex;overflow-x:auto;padding:4px 8px;border-right:0;border-bottom:1px solid var(--line);gap:2px;align-items:center}
  .cl-nav .gh,.cl-legend{display:none}
  .cl-nav a{width:auto;flex:none;padding:5px 8px;gap:5px;margin:0}
  .cl-hd{position:static}
}
@media (max-width:860px){
  .cl-top{gap:8px;padding:8px 12px}.cl-logo{border-right:0;padding-right:0}.cl-sp{display:none}
  .cl-goto,.cl-q{flex:1 1 100%;min-width:0}.cl-goto input{width:100%;min-width:0;flex:1}.cl-q input{width:100%}
  .cl-sites{width:100%;overflow-x:auto;flex-wrap:nowrap}.cl-sites a{flex:none}
  .cl-strip{gap:10px;padding:6px 12px}.cl-strip .r{margin-left:0}
  .cl-main{padding:12px 12px 32px}
  .cl-main section[data-screen-label]{grid-template-columns:minmax(0,1fr)!important}
  .cl-main section[data-screen-label] [style*="grid-template-columns:repeat(auto-fit,minmax(5"],
  .cl-main section[data-screen-label] [style*="grid-template-columns:repeat(auto-fit,minmax(4"],
  .cl-main section[data-screen-label] [style*="grid-template-columns:repeat(auto-fit,minmax(3"],
  .cl-main section[data-screen-label] [style*="grid-template-columns:repeat(auto-fit,minmax(2"],
  .cl-main section[data-screen-label] [style*="grid-template-columns:minmax(3"],
  .cl-main section[data-screen-label] [style*="grid-template-columns:minmax(2"],
  .cl-main section[data-screen-label] [style*="grid-template-columns:minmax(0,1."],
  .cl-main section[data-screen-label] [style*="grid-template-columns:minmax(0,2"],
  .cl-main section[data-screen-label] .cl-col2{grid-template-columns:minmax(0,1fr)!important}
  .cl-main section[data-screen-label] [style*="margin-left:auto"]{margin-left:0!important}
  .cl-main section[data-screen-label] [style*="position:sticky"]{position:static!important}
  .cl-main section[data-screen-label] [style*="display:flex"][style*="align-items:flex-end"]{flex-wrap:wrap}
  .bp-ph .acts{width:100%}.a-in.q{min-width:0;width:100%}
}
@media (max-width:860px){
  .cl-main section[data-screen-label] [style*="display:flex;gap:16px;align-items:center"],
  .cl-main section[data-screen-label] [style*="display:flex;gap:24px"],
  .cl-main section[data-screen-label] [style*="border-radius:28px"]{flex-wrap:wrap;justify-content:center}
  .cl-main section[data-screen-label] [style*="border-radius:28px"]{padding:14px!important}
}
/* 차량 사진 칸 — 실루엣 (사진 대신) */
.cl-car{position:relative;overflow:hidden}
.cl-car::before{content:"";position:absolute;left:50%;top:50%;width:min(78%,180px);aspect-ratio:3/1;transform:translate(-50%,-62%);background:var(--ink3);opacity:.55;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40'%3E%3Cpath d='M6 30c-3 0-4-2-4-5 0-3 2-5 6-6l14-3 14-9c3-2 7-3 11-3h22c5 0 9 2 13 5l9 7 15 3c4 1 7 4 7 8v3h-8a8 8 0 0 0-16 0H33a8 8 0 0 0-16 0z M25 34a6 6 0 1 0 0-12 6 6 0 0 0 0 12z M95 34a6 6 0 1 0 0-12 6 6 0 0 0 0 12z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40'%3E%3Cpath d='M6 30c-3 0-4-2-4-5 0-3 2-5 6-6l14-3 14-9c3-2 7-3 11-3h22c5 0 9 2 13 5l9 7 15 3c4 1 7 4 7 8v3h-8a8 8 0 0 0-16 0H33a8 8 0 0 0-16 0z M25 34a6 6 0 1 0 0-12 6 6 0 0 0 0 12z M95 34a6 6 0 1 0 0-12 6 6 0 0 0 0 12z'/%3E%3C/svg%3E") center/contain no-repeat}
.cl-car{display:flex!important;flex-direction:column!important;justify-content:flex-end!important;align-items:center!important;padding-bottom:8px}
.cl-car>*{position:relative}
.cl-nav a .dot{width:8px;height:8px;border-radius:50%;border:1.5px solid;flex:none}
