@charset "utf-8";
/* ==========================================================================
   LINKALL 디자인 시스템 v4 — AIPM 명세서 P9 "네온 스터디" 기반
   생성기: pm.am24.net/aipm v2.7 · 프리셋 P9 · 히어로 A안 · gl_id 26

   모티프: 성적표·시간표 → 제휴마케팅 "정산표"로 번안
          모눈 그리드(24px) · 형광펜 밑줄 · 체크박스 · 진도 게이지 · 모노 라벨

   ⚠ 대비 실측
     ink  #111827 on paper #F7F8FA : 16.69 ✅
     ink  #111827 on lime  #C6F24E : 13.70 ✅  → 라임은 '배경'으로 쓴다
     lime #C6F24E on night #0B1220 : 14.45 ✅  → 라임 글자는 나이트에서만
     lime #C6F24E on paper #F7F8FA :  1.22 ❌  → 밝은 배경 위 라임 글자 금지
   ========================================================================== */

:root{
  /* ── P9 코어 팔레트 ── */
  --lk-paper:#F7F8FA;
  --lk-surface:#ECEFF4;
  --lk-ink:#111827;
  --lk-accent:#C6F24E;
  --lk-night:#0B1220;

  /* ── 파생 ── */
  --lk-ink-soft:rgba(17,24,39,.70);
  --lk-ink-faint:rgba(17,24,39,.64);
  --lk-ink-ghost:rgba(17,24,39,.62);
  --lk-line:rgba(17,24,39,.14);
  --lk-line-strong:rgba(17,24,39,.26);

  --lk-night-2:#131C2E;
  --lk-on-night:#F7F8FA;
  --lk-on-night-soft:rgba(247,248,250,.74);
  --lk-on-night-faint:rgba(247,248,250,.58);
  --lk-night-line:rgba(247,248,250,.16);

  --lk-accent-deep:#566F0B;   /* 밝은 배경 위 '글자'가 필요할 때만 */
  --lk-accent-ink:#111827;    /* 라임 위 글자색 */

  /* ── 상태 ── */
  --lk-wait:#7A5E14;   --lk-wait-bg:#FBF6E6;
  --lk-fixed:#1F6F43;  --lk-fixed-bg:#E9F4ED;
  --lk-paid:#1B5FA8;   --lk-paid-bg:#E7F0F9;
  --lk-void:#4E545E;   --lk-void-bg:#F0F1F3;
  --lk-danger:#B3261E; --lk-danger-bg:#FCECEA;
  --lk-warn:#7A5E14;   --lk-warn-bg:#FBF6E6;
  --lk-ok:#1F6F43;     --lk-ok-bg:#E9F4ED;
  --lk-info:#1B5FA8;   --lk-info-bg:#E7F0F9;

  /* ── 타이포 (§03 수치 그대로) ── */
  --lk-t-d1:clamp(40px,8vw,118px);      /* 히어로 — 화면을 압도 */
  --lk-t-d0:clamp(38px,9.5vw,140px);    /* 선언 섹션 1곳 전용 */
  --lk-t-d2:clamp(28px,4vw,54px);
  --lk-t-d3:clamp(19px,2.2vw,28px);
  --lk-t-lead:clamp(16px,1.45vw,19px);
  --lk-t-body:16px;
  --lk-sans:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,
            'Apple SD Gothic Neo','Noto Sans KR',sans-serif;
  --lk-mono:'IBM Plex Mono','JetBrains Mono','SF Mono',ui-monospace,Consolas,monospace;

  /* ── 형태 ── */
  --lk-r:2px;
  --lk-grid:24px;                        /* 모눈 단위 */
  --lk-s1:4px;  --lk-s2:8px;  --lk-s3:12px; --lk-s4:16px;
  --lk-s5:24px; --lk-s6:32px; --lk-s7:48px; --lk-s8:clamp(56px,7vw,88px);
  --lk-sec:clamp(90px,13vw,190px);       /* 섹션 패딩 — 명세 필수 */
  --lk-ease:cubic-bezier(.16,1,.3,1);

  --lk-e1:0 1px 2px rgba(17,24,39,.06);
  --lk-e2:0 2px 6px rgba(17,24,39,.07), 0 10px 24px rgba(17,24,39,.06);
  --lk-e3:0 4px 12px rgba(17,24,39,.08), 0 20px 48px rgba(17,24,39,.10);

  --lk-wrap:1320px;
  --lk-gut:clamp(20px,4vw,56px);
}

/* ==========================================================================
   리셋
   ========================================================================== */
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
/* ⚠ 함정 1: scroll-behavior:smooth 전역 금지 (Lenis 충돌). 모바일에서만 */
@media(max-width:899px){html{scroll-behavior:smooth}}
body.linkall{font-family:var(--lk-sans);background:var(--lk-paper);color:var(--lk-ink);
  font-size:var(--lk-t-body);line-height:1.7;letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden;
  padding-top:68px}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
table{border-collapse:collapse;width:100%}
h1,h2,h3,h4,p,li,dt,dd{word-break:keep-all;overflow-wrap:anywhere}
:focus{outline:none}
:focus-visible{outline:2px solid var(--lk-accent);outline-offset:2px}

.lk-num,.lk-tnum{font-family:var(--lk-mono);font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;letter-spacing:-.02em}
.lk-code{font-family:var(--lk-mono);font-size:.92em;font-weight:700;letter-spacing:.03em}
.lk-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.lk-skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--lk-ink);
  color:var(--lk-paper);padding:12px 18px}
.lk-skip:focus{left:0}

/* ==========================================================================
   모눈 그리드 — P9 모티프
   ========================================================================== */
.lk-ruled{position:relative}
.lk-ruled::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(to right, rgba(17,24,39,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(17,24,39,.05) 1px, transparent 1px);
  background-size:var(--lk-grid) var(--lk-grid)}
.is-night.lk-ruled::before{
  background-image:
    linear-gradient(to right, rgba(247,248,250,.055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(247,248,250,.055) 1px, transparent 1px)}
.lk-ruled > *{position:relative;z-index:1}

/* ==========================================================================
   타이포
   ========================================================================== */
.lk-d1{font-size:var(--lk-t-d1);font-weight:900;line-height:1.04;letter-spacing:-.045em}
.lk-d0{font-size:var(--lk-t-d0);font-weight:900;line-height:.98;letter-spacing:-.048em}
.lk-d2{font-size:var(--lk-t-d2);font-weight:800;line-height:1.14;letter-spacing:-.035em}
.lk-d3{font-size:var(--lk-t-d3);font-weight:700;line-height:1.32;letter-spacing:-.024em}
.lk-lead{font-size:var(--lk-t-lead);line-height:1.72;color:var(--lk-ink-soft);max-width:48ch}
.lk-fine{font-size:12px;line-height:1.75;color:var(--lk-ink-faint)}
.lk-hint{font-size:13px;color:var(--lk-ink-soft);line-height:1.6}

/* 형광펜 밑줄 — P9 시그니처 모티프 */
.lk-hl{position:relative;display:inline;
  background-image:linear-gradient(transparent 60%, rgba(198,242,78,.70) 60%);
  background-repeat:no-repeat;background-size:100% 100%}
.is-night .lk-hl{background-image:none;color:var(--lk-accent)}
.lk-hl-draw{background-size:var(--hl,0%) 100%}

/* 모노 라벨 */
.lk-lbl{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;
  font:700 11px/1 var(--lk-mono);letter-spacing:.30em;text-transform:uppercase;
  color:var(--lk-ink-faint)}
.lk-lbl::before{content:'';width:22px;height:2px;background:var(--lk-accent-deep);flex:none}
.is-night .lk-lbl::before{background:var(--lk-accent)}
.lk-lbl .no{color:var(--lk-ink-ghost)}
.is-night .lk-lbl .no,.lk-sig .lk-lbl .no,.lk-cta .lk-lbl .no{
  color:var(--lk-on-night-faint)}
.lk-eyebrow{display:inline-block;font:700 11px/1 var(--lk-mono);letter-spacing:.28em;
  text-transform:uppercase;color:var(--lk-ink-faint);margin-bottom:12px}

/* ==========================================================================
   레이아웃 — 비대칭 (5:7, 6:5)
   ========================================================================== */
.lk-w{width:min(100% - (var(--lk-gut) * 2), var(--lk-wrap));margin-inline:auto}
.lk-narrow{max-width:840px}
.lk-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 clamp(16px,2.2vw,32px)}
.lk-g > *:not([class*="c-"]){grid-column:1/-1}
@media(max-width:899px){.lk-g{grid-template-columns:repeat(6,minmax(0,1fr))}}
.c-1-4{grid-column:1/span 4}   .c-1-5{grid-column:1/span 5}
.c-1-6{grid-column:1/span 6}   .c-1-7{grid-column:1/span 7}
.c-1-8{grid-column:1/span 8}   .c-6-7{grid-column:6/span 7}
.c-7-6{grid-column:7/span 6}   .c-8-5{grid-column:8/span 5}
.c-5-8{grid-column:5/span 8}   .c-3-8{grid-column:3/span 8}
.c-full{grid-column:1/-1}
@media(max-width:899px){
  .c-1-4,.c-1-5,.c-1-6,.c-1-7,.c-1-8,.c-6-7,.c-7-6,.c-8-5,.c-5-8,.c-3-8{grid-column:1/-1}
}

/* 섹션 — 밝음→밝음→다크→컬러→밝음 리듬 */
.lk-s{padding-block:var(--lk-sec);position:relative}
.lk-s.tight{padding-block:clamp(56px,7vw,96px)}
.lk-s.is-surface{background:var(--lk-surface)}
.lk-s.is-night{background:var(--lk-night);color:var(--lk-on-night);
  --lk-ink:var(--lk-on-night);--lk-ink-soft:var(--lk-on-night-soft);
  --lk-ink-faint:var(--lk-on-night-faint);--lk-ink-ghost:rgba(247,248,250,.44);
  --lk-paper:var(--lk-night-2);--lk-surface:var(--lk-night-2);
  --lk-line:var(--lk-night-line);--lk-line-strong:rgba(247,248,250,.30);
  --lk-accent-deep:var(--lk-accent)}
.lk-s.is-accent{background:var(--lk-accent);color:var(--lk-accent-ink);
  --lk-ink:var(--lk-accent-ink);--lk-ink-soft:rgba(17,24,39,.80);
  --lk-ink-faint:rgba(17,24,39,.66);--lk-ink-ghost:rgba(17,24,39,.50);
  --lk-line:rgba(17,24,39,.22);--lk-line-strong:rgba(17,24,39,.38);
  --lk-paper:rgba(255,255,255,.34);--lk-surface:rgba(255,255,255,.28);
  --lk-accent-deep:var(--lk-accent-ink)}

/* ==========================================================================
   헤더 — 방향 인식
   ========================================================================== */
.lk-hd{position:fixed;top:0;left:0;right:0;z-index:80;
  background:rgba(247,248,250,.92);backdrop-filter:saturate(1.5) blur(14px);
  border-bottom:1px solid var(--lk-line);
  transform:translateY(0);transition:transform .42s var(--lk-ease),
    background .3s ease,border-color .3s ease}
.lk-hd.is-hidden{transform:translateY(-100%)}
.lk-hd.on-night{background:rgba(11,18,32,.90);border-bottom-color:var(--lk-night-line);
  color:var(--lk-on-night)}
.lk-hd.on-night .lk-hd-nav a:not(.lk-b){color:var(--lk-on-night-soft)}
.lk-hd.on-night .lk-hd-nav a:not(.lk-b):hover,
.lk-hd.on-night .lk-hd-nav a:not(.lk-b).on{color:var(--lk-on-night)}
.lk-hd-in{width:min(100% - (var(--lk-gut) * 2), var(--lk-wrap));margin-inline:auto;
  height:68px;display:flex;align-items:center;gap:20px}
.lk-hd-nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.lk-hd-nav a:not(.lk-b){font-size:13.5px;font-weight:600;padding:9px 13px;
  color:var(--lk-ink-soft);transition:.2s;border-radius:var(--lk-r)}
.lk-hd-nav a:not(.lk-b):hover{color:var(--lk-ink)}
.lk-hd-nav a:not(.lk-b).on{color:var(--lk-ink);font-weight:700}
@media(max-width:820px){.lk-hd-nav .hide-sm{display:none}}

/* ==========================================================================
   워드마크
   ========================================================================== */
.lk-wm{display:inline-flex;align-items:center;line-height:1}
.lk-wm .wm-box{display:inline-flex;align-items:center;background:var(--lk-accent);
  color:var(--lk-accent-ink);font-family:var(--lk-mono);font-weight:700;
  letter-spacing:.10em;border-radius:var(--lk-r);padding:.34em .58em}
.lk-wm-sm .wm-box{font-size:13px}
.lk-wm-md .wm-box{font-size:17px}
.lk-wm-lg .wm-box{font-size:clamp(22px,2.8vw,30px)}
.lk-wm-xl .wm-box{font-size:clamp(26px,4.4vw,46px)}
.lk-wm-plain .wm-box{background:none;padding:0;color:var(--lk-ink);border-radius:0}
.lk-hd.on-night .lk-wm-plain .wm-box{color:var(--lk-on-night)}
.is-night .lk-wm-plain .wm-box{color:var(--lk-on-night)}
.lk-wm-stack .wm-box{flex-direction:column;align-items:flex-start;gap:.02em}
.lk-wm .dot{width:.30em;height:.30em;background:var(--lk-accent);
  border-radius:50%;margin-left:.42em;flex:none}
.lk-wm-plain .dot{background:var(--lk-accent-deep)}
.lk-hd.on-night .lk-wm-plain .dot,.is-night .lk-wm-plain .dot{background:var(--lk-accent)}
.lk-lockup{display:inline-flex;flex-direction:column;gap:12px}
.lk-lockup-tag{font:600 12.5px/1 var(--lk-sans);letter-spacing:.02em;color:var(--lk-ink-faint)}
.lk-lockup.is-on-dark .lk-lockup-tag{color:var(--lk-on-night-faint)}

/* ==========================================================================
   버튼 — 라임은 배경으로만
   ========================================================================== */
.lk-b{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 24px;border:1px solid transparent;border-radius:var(--lk-r);
  font-weight:700;font-size:14.5px;line-height:1;cursor:pointer;white-space:nowrap;
  transition:background .2s ease,border-color .2s ease,color .2s ease}
.lk-b .ar{transition:transform .3s var(--lk-ease)}
@media(hover:hover){.lk-b:hover .ar{transform:translateX(4px)}}
.lk-b-fill{background:var(--lk-accent);color:var(--lk-accent-ink)}
.lk-b-solid{background:var(--lk-ink);color:var(--lk-paper)}
.lk-b-line{background:transparent;border-color:var(--lk-line-strong);color:var(--lk-ink)}
.lk-b-ghost{background:transparent;color:var(--lk-ink-soft);padding-inline:12px}
@media(hover:hover){
  .lk-b-fill:hover{background:#D4FA6B}
  .lk-b-solid:hover{background:#26324A}
  .lk-b-line:hover{border-color:var(--lk-ink);background:rgba(17,24,39,.05)}
}
.is-night .lk-b-solid{background:var(--lk-accent);color:var(--lk-accent-ink)}
.is-night .lk-b-line{border-color:rgba(247,248,250,.34);color:var(--lk-on-night)}
@media(hover:hover){.is-night .lk-b-line:hover{background:rgba(247,248,250,.10);
  border-color:var(--lk-on-night)}}
.is-accent .lk-b-fill{background:var(--lk-ink);color:var(--lk-accent)}
.is-accent .lk-b-line{border-color:rgba(17,24,39,.44);color:var(--lk-accent-ink)}
@media(hover:hover){.is-accent .lk-b-line:hover{background:rgba(17,24,39,.10)}}
.lk-b-sm{padding:9px 15px;font-size:13px}
.lk-b-lg{padding:18px 32px;font-size:16px}

/* 롤링 텍스트 — 명세 선택 FX */
.lk-roll{display:inline-block;overflow:hidden;vertical-align:bottom;position:relative}
.lk-roll .dup{position:absolute;left:0;top:100%;white-space:nowrap}

/* ==========================================================================
   체크박스 리스트 · 진도 게이지 — P9 모티프
   ========================================================================== */
/* 장식용 체크리스트 (마케팅 카피). 폼 체크박스 .lk-check 와 이름이 겹치면 안 된다. */
.lk-ticks{list-style:none;display:grid;gap:14px}
.lk-ticks li{position:relative;padding-left:34px;font-size:15.5px;line-height:1.65;
  color:var(--lk-ink-soft)}
.lk-ticks li::before{content:'';position:absolute;left:0;top:.2em;
  width:19px;height:19px;border:2px solid var(--lk-line-strong);border-radius:2px}
.lk-ticks li::after{content:'';position:absolute;left:5px;top:.44em;
  width:9px;height:5px;border-left:2.5px solid var(--lk-accent-deep);
  border-bottom:2.5px solid var(--lk-accent-deep);transform:rotate(-45deg)}
.lk-ticks li b{color:var(--lk-ink);font-weight:700}

.lk-gauge{height:6px;background:var(--lk-line);border-radius:99px;overflow:hidden}
.lk-gauge > i{display:block;height:100%;width:var(--v,0%);background:var(--lk-accent);
  border-radius:99px}

/* ==========================================================================
   카드
   ========================================================================== */
.lk-cd{background:var(--lk-paper);border:1px solid var(--lk-line);
  border-radius:var(--lk-r);padding:26px 24px;transition:border-color .25s ease}
@media(hover:hover){.lk-cd:hover{border-color:var(--lk-line-strong)}}
.lk-cd-n{display:block;font:700 11px/1 var(--lk-mono);letter-spacing:.28em;
  text-transform:uppercase;color:var(--lk-ink-faint);margin-bottom:14px}
.lk-cd h4{font-size:18px;font-weight:800;letter-spacing:-.02em;margin-bottom:10px}
.lk-cd p{font-size:14.5px;line-height:1.72;color:var(--lk-ink-soft)}
.lk-cd.is-fill{background:var(--lk-accent);border-color:var(--lk-accent);
  color:var(--lk-accent-ink)}
.lk-cd.is-fill .lk-cd-n{color:rgba(17,24,39,.72)}
.lk-cd.is-fill h4{color:var(--lk-accent-ink)}
.lk-cd.is-fill p{color:rgba(17,24,39,.84)}

/* ==========================================================================
   상품 카드
   ========================================================================== */
.lk-pg{display:grid;gap:clamp(14px,1.8vw,22px);
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.lk-pc{background:var(--lk-paper);border:1px solid var(--lk-line);
  border-radius:var(--lk-r);overflow:hidden;display:flex;flex-direction:column;
  transition:border-color .25s ease,transform .3s var(--lk-ease)}
@media(hover:hover){.lk-pc:hover{border-color:var(--lk-ink);transform:translateY(-3px)}}
.lk-pc-thumb{aspect-ratio:16/10;background:var(--lk-surface);overflow:hidden;position:relative}
.lk-pc-thumb img{width:100%;height:100%;object-fit:cover;filter:contrast(1.08) saturate(.9)}
.lk-pc-noimg{display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;background:var(--lk-surface);color:var(--lk-ink-ghost);
  font:700 11px/1 var(--lk-mono);letter-spacing:.2em}
.lk-pc-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.lk-pc-name{font-size:16.5px;font-weight:800;letter-spacing:-.02em;line-height:1.4}
.lk-pc-desc{font-size:13.5px;color:var(--lk-ink-soft);line-height:1.6;flex:1}
.lk-pc-foot{display:flex;align-items:baseline;justify-content:space-between;
  gap:10px;padding-top:14px;border-top:1px solid var(--lk-line)}
.lk-pc-comm{font-family:var(--lk-mono);font-variant-numeric:tabular-nums;
  font-size:20px;font-weight:800;letter-spacing:-.03em;color:var(--lk-ink)}
.lk-pc-rate{font-size:12px;color:var(--lk-ink-faint);font-family:var(--lk-mono)}

/* ==========================================================================
   pill / 배지
   ========================================================================== */
.lk-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;
  border-radius:99px;font-size:11.5px;font-weight:700;border:1px solid transparent}
.lk-pill-open{background:var(--lk-accent);color:var(--lk-accent-ink)}
.lk-pill-closed{background:var(--lk-void-bg);color:var(--lk-void);border-color:var(--lk-line)}
.lk-pill-wait{background:var(--lk-wait-bg);color:var(--lk-wait)}
.lk-pill-fixed{background:var(--lk-fixed-bg);color:var(--lk-fixed)}
.lk-pill-paid{background:var(--lk-paid-bg);color:var(--lk-paid)}
.lk-pill-void{background:var(--lk-void-bg);color:var(--lk-void)}
.lk-pill-hold{background:var(--lk-wait-bg);color:var(--lk-wait)}
.lk-pill-brokered{background:var(--lk-info-bg);color:var(--lk-info)}
/* 광고주 상담 상태 — lk_pill_advertiser() 가 반환한다 */
.lk-pill-pause{background:var(--lk-void-bg);color:var(--lk-void);border-color:var(--lk-line)}

/* ==========================================================================
   정의 목록 (정산 규칙)
   ========================================================================== */
.lk-dl{display:grid;grid-template-columns:minmax(120px,auto) 1fr;
  border-top:1px solid var(--lk-line)}
.lk-dl dt,.lk-dl dd{padding:16px 0;border-bottom:1px solid var(--lk-line);
  font-size:14.5px;line-height:1.66}
.lk-dl dt{font-weight:700;color:var(--lk-ink);padding-right:20px;
  font-family:var(--lk-mono);font-size:12.5px;letter-spacing:.02em;
  display:flex;align-items:flex-start;padding-top:18px}
.lk-dl dd{color:var(--lk-ink-soft)}
@media(max-width:599px){
  .lk-dl{grid-template-columns:1fr}
  .lk-dl dt{border-bottom:0;padding-bottom:4px}
  .lk-dl dd{padding-top:0}
}

/* ==========================================================================
   FAQ
   ========================================================================== */
.lk-fq{border-top:1px solid var(--lk-line)}
.lk-fq details{border-bottom:1px solid var(--lk-line)}
.lk-fq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;
  position:relative;font-size:16px;font-weight:700;letter-spacing:-.02em;
  transition:color .2s}
.lk-fq summary::-webkit-details-marker{display:none}
.lk-fq summary::after{content:'';position:absolute;right:8px;top:50%;
  width:11px;height:11px;border-right:2px solid var(--lk-ink-faint);
  border-bottom:2px solid var(--lk-ink-faint);
  transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--lk-ease)}
.lk-fq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
@media(hover:hover){.lk-fq summary:hover{color:var(--lk-accent-deep)}}
.lk-fq-a{padding:0 0 24px;font-size:14.5px;line-height:1.78;color:var(--lk-ink-soft);
  max-width:72ch}

/* ==========================================================================
   지표
   ========================================================================== */
.lk-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:clamp(16px,2.4vw,36px);margin-top:clamp(34px,4vw,52px);
  padding-top:clamp(24px,3vw,34px);border-top:1px solid var(--lk-line)}
.lk-figs .v{display:block;font-family:var(--lk-mono);font-variant-numeric:tabular-nums;
  font-size:clamp(26px,3.2vw,40px);font-weight:800;letter-spacing:-.04em;
  line-height:1;color:var(--lk-ink)}
.is-night .lk-figs .v{color:var(--lk-accent)}
.lk-figs .k{display:block;margin-top:10px;font-size:12.5px;color:var(--lk-ink-faint);
  line-height:1.5}

.lk-stat-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.lk-stat{padding:20px;background:var(--lk-paper);border:1px solid var(--lk-line);
  border-radius:var(--lk-r);border-top:3px solid var(--lk-line-strong)}
.lk-stat.is-hold{border-top-color:var(--lk-wait)}
.lk-stat.is-fixed{border-top-color:var(--lk-accent-deep)}
.lk-stat.is-zero{opacity:.55}
.lk-stat-label{display:flex;align-items:center;gap:5px;font-size:11.5px;
  font-weight:700;color:var(--lk-ink-faint)}
.lk-stat-value{display:block;margin-top:10px;font-family:var(--lk-mono);
  font-variant-numeric:tabular-nums;font-size:clamp(21px,2.4vw,27px);
  font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--lk-ink)}
.lk-stat-value small{margin-left:2px;font-size:.52em;color:var(--lk-ink-faint)}
.lk-stat-sub{display:block;margin-top:8px;font-size:11.5px;color:var(--lk-ink-faint)}
.lk-num-xl{font-family:var(--lk-mono);font-variant-numeric:tabular-nums;
  font-size:clamp(30px,4vw,44px);font-weight:800;letter-spacing:-.04em;line-height:1}
.lk-help{display:inline-flex;align-items:center;justify-content:center;
  width:14px;height:14px;border-radius:50%;background:var(--lk-line);
  font-size:9.5px;font-weight:800;color:var(--lk-ink-soft);cursor:help;flex:none}

/* ==========================================================================
   프로세스 단계
   ========================================================================== */
.lk-steps{display:grid;gap:14px;counter-reset:lkstep;margin:0;padding:0;list-style:none}
.lk-step{position:relative;counter-increment:lkstep;padding:20px 22px 20px 62px;
  background:var(--lk-paper);border:1px solid var(--lk-line);border-radius:var(--lk-r);
  font-size:14.5px;line-height:1.7;color:var(--lk-ink-soft)}
.lk-step::before{content:'0' counter(lkstep);position:absolute;left:22px;top:20px;
  font:800 13px/1.4 var(--lk-mono);letter-spacing:.04em;color:var(--lk-accent-deep)}
.lk-step b{display:block;margin-bottom:5px;font-size:15.5px;color:var(--lk-ink)}

/* ==========================================================================
   폼
   ========================================================================== */
.lk-f{display:grid;gap:7px;margin-bottom:18px}
.lk-f label{font-size:13px;font-weight:700;color:var(--lk-ink)}
.lk-f .req{color:var(--lk-danger);margin-left:3px}
.lk-f input,.lk-f select,.lk-f textarea{width:100%;padding:13px 15px;
  background:var(--lk-paper);border:1px solid var(--lk-line-strong);
  border-radius:var(--lk-r);font-size:15px;transition:border-color .18s}
.lk-f input:focus,.lk-f select:focus,.lk-f textarea:focus{border-color:var(--lk-ink)}
.lk-f textarea{min-height:110px;resize:vertical;line-height:1.65}
.lk-f .hint{font-size:12px;color:var(--lk-ink-faint);line-height:1.55}
.lk-f.has-err input,.lk-f.has-err select,.lk-f.has-err textarea{border-color:var(--lk-danger)}
.lk-f .err{font-size:12px;color:var(--lk-danger);font-weight:600}
.lk-form{display:grid;gap:16px}
.lk-actform{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.lk-actform input,.lk-actform select{flex:1;min-width:120px}
.lk-chk{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;
  line-height:1.6;color:var(--lk-ink-soft);cursor:pointer}
.lk-chk input{width:17px;height:17px;margin-top:2px;flex:none;accent-color:var(--lk-accent-deep)}

/* 폼 체크박스 — join.php 등이 <label class="lk-check"> 로 쓴다.
   체크 표시는 라임 배경 + 잉크 체크로 대비를 확보한다. */
.lk-check{display:flex;gap:11px;align-items:flex-start;cursor:pointer;min-height:44px;
  padding:10px 12px;border-radius:var(--lk-r);background:var(--lk-surface);
  font-size:13.5px;line-height:1.6;color:var(--lk-ink-soft);transition:background .2s}
@media(hover:hover){.lk-check:hover{background:var(--lk-line)}}
.lk-check input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;
  width:21px;height:21px;margin-top:1px;position:relative;cursor:pointer;
  border:2px solid var(--lk-line-strong);border-radius:3px;
  background:var(--lk-paper);transition:.2s}
.lk-check input[type=checkbox]:checked{background:var(--lk-accent);
  border-color:var(--lk-accent-deep)}
.lk-check input[type=checkbox]:checked::after{content:'';position:absolute;
  left:5px;top:4px;width:7px;height:11px;border:solid var(--lk-accent-ink);
  border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.lk-check input[type=checkbox]:focus-visible{outline:2px solid var(--lk-ink);
  outline-offset:2px}
.lk-check b{color:var(--lk-ink);font-weight:700}
.lk-check-all{border:1px solid var(--lk-line-strong);background:var(--lk-paper);
  font-weight:800;color:var(--lk-ink);font-size:14px}

/* ==========================================================================
   패널 / 알림
   ========================================================================== */
.lk-panel{background:var(--lk-paper);border:1px solid var(--lk-line);
  border-radius:var(--lk-r);padding:clamp(22px,3vw,34px)}
.lk-note{padding:18px 20px;border-left:3px solid var(--lk-accent-deep);
  background:rgba(198,242,78,.16);font-size:13.5px;line-height:1.74;
  color:var(--lk-ink-soft)}
.lk-note b{color:var(--lk-ink);font-weight:700}
/* 다크 문맥 — .lk-sig 는 .is-night 를 안 쓰므로 함께 지정한다.
   빠뜨리면 어두운 배경 위 잉크색 글자(1.39:1)가 된다. */
.is-night .lk-note,.lk-sig .lk-note,.lk-cta .lk-note{
  background:rgba(198,242,78,.10);border-left-color:var(--lk-accent);
  color:var(--lk-on-night-soft)}
.is-night .lk-note b,.lk-sig .lk-note b,.lk-cta .lk-note b{color:var(--lk-on-night)}
.lk-alert{padding:14px 16px;border-radius:var(--lk-r);font-size:13.5px;
  line-height:1.6;margin-bottom:18px;border:1px solid transparent}
.lk-alert-ok{background:var(--lk-ok-bg);color:var(--lk-ok);border-color:rgba(31,111,67,.24)}
.lk-alert-err{background:var(--lk-danger-bg);color:var(--lk-danger);border-color:rgba(179,38,30,.24)}
.lk-alert-info{background:var(--lk-info-bg);color:var(--lk-info);border-color:rgba(27,95,168,.24)}
.lk-alert-warn{background:var(--lk-warn-bg);color:var(--lk-warn);border-color:rgba(122,94,20,.24)}

/* ==========================================================================
   표
   ========================================================================== */
.lk-table-wrap{border:1px solid var(--lk-line);border-radius:var(--lk-r);
  overflow-x:auto;background:var(--lk-paper)}
/* min-width 는 .lk-table-wrap(overflow-x:auto) 안에서만 의미가 있다.
   래퍼 없이 쓰는 표(order/form.php)가 있어 좁은 화면에서는 해제한다. */
.lk-table{font-size:13.5px}
@media(min-width:600px){.lk-table{min-width:520px}}
.lk-table-wrap > .lk-table{min-width:520px}
.lk-table thead th{padding:13px 15px;font:700 11.5px/1 var(--lk-mono);
  letter-spacing:.1em;text-transform:uppercase;color:var(--lk-ink-faint);
  background:var(--lk-surface);text-align:left;white-space:nowrap;
  border-bottom:1px solid var(--lk-line-strong)}
.lk-table td{padding:14px 15px;border-bottom:1px solid var(--lk-line);vertical-align:middle}
.lk-table tbody tr:last-child td{border-bottom:0}
@media(hover:hover){.lk-table tbody tr:hover td{background:var(--lk-surface)}}
.lk-table th.num,.lk-table td.num{text-align:right;font-family:var(--lk-mono);
  font-variant-numeric:tabular-nums}

/* ==========================================================================
   페이아웃 패널 (다크)
   ========================================================================== */
.lk-payout{border-radius:var(--lk-r);padding:24px;background:var(--lk-night);
  color:var(--lk-on-night);
  --lk-ink:var(--lk-on-night);--lk-ink-soft:var(--lk-on-night-soft);
  --lk-ink-faint:var(--lk-on-night-faint);--lk-line:var(--lk-night-line)}
.lk-payout table{font-family:var(--lk-mono);font-variant-numeric:tabular-nums;font-size:13px}
.lk-payout td{padding:6px 0;border:0}
.lk-payout td:last-child{text-align:right}
.lk-payout .total td{border-top:1px solid var(--lk-night-line);padding-top:11px;
  font-size:21px;font-weight:800;color:var(--lk-accent)}
.lk-payout .lk-table-wrap{background:transparent;border:0}
.lk-payout .lk-table{color:var(--lk-on-night)}
.lk-payout .lk-table th{color:var(--lk-on-night-faint);font-weight:600;
  text-align:left;vertical-align:top;background:transparent}
.lk-payout .lk-table td{color:var(--lk-on-night-soft)}
.lk-payout .lk-table th,.lk-payout .lk-table td{
  border-bottom-color:var(--lk-night-line);padding:12px 0}
.lk-payout .lk-table tbody tr:last-child th,
.lk-payout .lk-table tbody tr:last-child td{border-bottom:0}
@media(hover:hover){.lk-payout .lk-table tbody tr:hover td{background:transparent}}
.lk-payout .lk-eyebrow{color:var(--lk-accent)}
.lk-on-night .lk-eyebrow,.is-night .lk-eyebrow{color:var(--lk-accent)}

/* ==========================================================================
   링크 박스 · 소재함
   ========================================================================== */
.lk-linkbox{display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  padding:14px;background:var(--lk-surface);border:1px solid var(--lk-line);
  border-radius:var(--lk-r)}
.lk-linkbox code{flex:1;min-width:200px;font-family:var(--lk-mono);font-size:12.5px;
  word-break:break-all;color:var(--lk-ink)}
.lk-material-grid{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
@media(min-width:768px){.lk-material-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.lk-material-grid{grid-template-columns:repeat(4,1fr)}}
.lk-material{border:1px solid var(--lk-line);border-radius:var(--lk-r);
  overflow:hidden;background:var(--lk-paper);display:flex;flex-direction:column}
.lk-material-thumb{aspect-ratio:1/1;background:var(--lk-surface);overflow:hidden}
.lk-material-thumb img{width:100%;height:100%;object-fit:cover;
  filter:contrast(1.08) saturate(.9)}
.lk-material-copy{background:var(--lk-night);color:var(--lk-on-night);font-size:12.5px;
  line-height:1.75;padding:16px;white-space:pre-wrap;aspect-ratio:1/1;overflow-y:auto}

/* ==========================================================================
   페이지 헤더 / 공개 고지
   ========================================================================== */
.lk-page-h{margin-bottom:clamp(28px,3.4vw,44px)}
.lk-page-h h1{font-size:clamp(26px,3.6vw,44px);font-weight:900;
  letter-spacing:-.038em;line-height:1.14}
.lk-page-h p{margin-top:14px;font-size:15.5px;color:var(--lk-ink-soft);max-width:60ch}
.lk-disc{padding:16px 18px;background:var(--lk-surface);
  border:1px solid var(--lk-line);border-radius:var(--lk-r);
  font-size:13px;line-height:1.7;color:var(--lk-ink-soft)}
.lk-disc b{color:var(--lk-ink)}
.lk-disc-why{margin-top:8px}

/* ==========================================================================
   레거시 브리지 — 기존 18개 파일의 클래스명 흡수
   ========================================================================== */
.lk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 21px;border:1px solid transparent;border-radius:var(--lk-r);
  font:700 14px/1 inherit;cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:background .18s ease,border-color .18s ease,color .18s ease}
.lk-btn:disabled,.lk-btn[aria-disabled="true"]{opacity:.45;pointer-events:none}
.lk-btn-primary{background:var(--lk-accent);color:var(--lk-accent-ink)}
.lk-btn-dark{background:var(--lk-ink);color:var(--lk-paper)}
.lk-btn-ghost{background:transparent;border-color:var(--lk-line-strong);color:var(--lk-ink)}
.lk-btn-quiet{background:var(--lk-surface);color:var(--lk-ink-soft)}
.lk-btn-danger{background:transparent;border-color:var(--lk-danger);color:var(--lk-danger)}
.lk-btn-copy{background:transparent;border-color:var(--lk-line-strong);
  color:var(--lk-ink);font-family:var(--lk-mono);font-size:12.5px}
.lk-btn-copy.is-done{background:var(--lk-accent);border-color:var(--lk-accent);
  color:var(--lk-accent-ink)}
@media(hover:hover){
  .lk-btn-primary:hover{background:#D4FA6B}
  .lk-btn-dark:hover{background:#26324A}
  .lk-btn-ghost:hover,.lk-btn-copy:hover{border-color:var(--lk-ink)}
  .lk-btn-quiet:hover{background:var(--lk-line)}
  .lk-btn-danger:hover{background:var(--lk-danger);color:#fff}
}
.lk-btn-sm{padding:8px 13px;font-size:12.5px}
.lk-btn-lg{padding:16px 28px;font-size:15px}
.lk-btn-block{display:flex;width:100%}
.lk-btn-row{display:flex;gap:10px;flex-wrap:wrap}
.lk-btn-link{background:none;border:0;padding:0;cursor:pointer;font:inherit;
  font-size:13px;color:var(--lk-accent-deep);text-decoration:underline;
  text-underline-offset:3px}
.is-night .lk-btn-ghost,.lk-on-night .lk-btn-ghost{
  border-color:rgba(247,248,250,.28);color:var(--lk-on-night)}
.is-night .lk-btn-quiet{background:rgba(247,248,250,.08);color:var(--lk-on-night-soft)}
/* 본문 링크 — 라임은 밝은 배경에서 1.22:1 이라 글자로 쓸 수 없다.
   deep 라임(#5F7D0C)은 페이퍼 위 5.6:1 로 통과한다. */
.lk-a{color:var(--lk-accent-deep);font-weight:700;
  text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1.5px;text-decoration-color:rgba(86,111,11,.45)}
@media(hover:hover){.lk-a:hover{text-decoration-color:currentColor}}
.is-night .lk-a{color:var(--lk-accent);text-decoration-color:rgba(198,242,78,.5)}
.lk-accent{color:var(--lk-accent-deep)}
.is-night .lk-accent{color:var(--lk-accent)}
.lk-ok{color:var(--lk-ok)}       .lk-ok-bg{background:var(--lk-ok-bg)}
.lk-warn{color:var(--lk-warn)}   .lk-danger{color:var(--lk-danger)}
.lk-r-lg{border-radius:4px}
.lk-mb1{margin-bottom:var(--lk-s2)}  .lk-mb2{margin-bottom:var(--lk-s4)}
.lk-mb3{margin-bottom:var(--lk-s5)}  .lk-mb4{margin-bottom:var(--lk-s6)}
.lk-mb5{margin-bottom:var(--lk-s7)}

/* ==========================================================================
   푸터
   ========================================================================== */
.lk-ft{background:var(--lk-night);color:var(--lk-on-night);
  padding-block:clamp(56px,7vw,88px) 40px;
  --lk-ink:var(--lk-on-night);--lk-ink-soft:var(--lk-on-night-soft);
  --lk-ink-faint:var(--lk-on-night-faint);--lk-line:var(--lk-night-line)}
.lk-ft h4{font:700 11px/1 var(--lk-mono);letter-spacing:.28em;text-transform:uppercase;
  color:var(--lk-on-night-faint);margin-bottom:16px}
.lk-ft ul{list-style:none;display:grid;gap:11px}
.lk-ft ul a{font-size:14px;color:var(--lk-on-night-soft);transition:color .2s}
@media(hover:hover){.lk-ft ul a:hover{color:var(--lk-accent)}}
.lk-ft-biz{margin-top:clamp(40px,5vw,64px);padding-top:24px;
  border-top:1px solid var(--lk-night-line);display:flex;flex-wrap:wrap;gap:8px 20px;
  font-size:11.5px;color:var(--lk-on-night-faint);line-height:1.7}
.lk-ft-note{margin-top:18px;font-size:11.5px;line-height:1.75;
  color:var(--lk-on-night-faint);max-width:88ch}

/* ==========================================================================
   토스트 · 모바일 하단 CTA 바
   ========================================================================== */
.lk-toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,20px);
  background:var(--lk-ink);color:var(--lk-paper);padding:13px 22px;
  border-radius:var(--lk-r);font-size:14px;font-weight:600;z-index:300;
  opacity:0;pointer-events:none;transition:opacity .25s,transform .25s var(--lk-ease)}
.lk-toast.on{opacity:1;transform:translate(-50%,0)}

.lk-mbar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;
  gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(247,248,250,.96);backdrop-filter:blur(12px);
  border-top:1px solid var(--lk-line)}
.lk-mbar .lk-b{flex:1;padding:14px 12px}
@media(max-width:719px){
  .lk-mbar{display:flex}
  body.linkall{padding-bottom:76px}
  .lk-toast{bottom:88px}
}

/* ==========================================================================
   reduced-motion — 명세 §10
   ========================================================================== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;
    animation-iteration-count:1 !important;transition-duration:.001ms !important;
    scroll-behavior:auto !important}
}

/* ==========================================================================
   v3 → v4 이식 컴포넌트
   my/join/product/order/adm 이 쓰던 클래스들. v4 재작성 때 누락돼 있었다.
   P9 토큰(잉크·페이퍼·라임)으로 번안한다.
   ========================================================================== */

/* ── 빈 상태 ─────────────────────────────────────────────────────── */
.lk-empty{padding:50px 24px;text-align:center;border:1px dashed var(--lk-line-strong);
  border-radius:var(--lk-r);background:var(--lk-paper)}
.lk-empty.is-compact{padding:32px 18px}
.lk-empty b{display:block;font-size:15.5px;font-weight:800;margin-bottom:8px}
.lk-empty p{font-size:13.5px;color:var(--lk-ink-soft);line-height:1.7;max-width:44ch;
  margin:0 auto 16px}
.lk-empty-ico{width:44px;height:44px;margin:0 auto 14px;border-radius:var(--lk-r);
  background:var(--lk-surface);display:grid;place-items:center;
  color:var(--lk-ink-faint);font-size:19px}

/* ── 배지 ────────────────────────────────────────────────────────── */
.lk-badge{display:inline-block;font:700 10px/1 var(--lk-mono);letter-spacing:.12em;
  padding:5px 8px;border-radius:2px;background:var(--lk-ink);color:var(--lk-paper)}
.lk-badge-brand{background:var(--lk-accent);color:var(--lk-accent-ink)}
.lk-badge-muted{background:var(--lk-surface);color:var(--lk-ink-soft)}
.lk-pill-sm{height:20px;font-size:10.5px;padding:0 7px}

/* ── 패널 헤더/바디 ──────────────────────────────────────────────── */
.lk-panel-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:15px 18px;border-bottom:1px solid var(--lk-line)}
.lk-panel-h h3{font-size:15.5px;font-weight:800;letter-spacing:-.02em}
.lk-panel-h .right{margin-left:auto;font-size:12.5px;color:var(--lk-ink-soft)}
.lk-panel-b{padding:18px}
/* .lk-panel 안에 헤더가 있으면 패널 자체 패딩은 뺀다 */
.lk-panel:has(> .lk-panel-h){padding:0}

/* ── 폼 (my/join/order 가 쓰는 이름) ─────────────────────────────── */
.lk-field{margin-bottom:20px}
.lk-field > label{display:block;font-size:12.5px;font-weight:700;margin-bottom:8px}
.lk-field .req{color:var(--lk-danger);margin-left:3px}
.lk-field .opt{color:var(--lk-ink-faint);font-weight:500;font-size:12px;margin-left:4px}
.lk-field .hint{font-size:12px;color:var(--lk-ink-soft);margin-top:7px;line-height:1.6}
.lk-field-2{display:grid;gap:14px}
@media(min-width:640px){.lk-field-2{grid-template-columns:1fr 1fr}}

.lk-input,.lk-select,.lk-textarea{width:100%;min-height:48px;padding:13px 14px;
  font-size:16px;background:var(--lk-paper);border:1px solid var(--lk-line-strong);
  border-radius:var(--lk-r);transition:border-color .2s,box-shadow .2s}
@media(min-width:768px){.lk-input,.lk-select,.lk-textarea{font-size:15px}}
@media(hover:hover){
  .lk-input:hover,.lk-select:hover,.lk-textarea:hover{border-color:var(--lk-ink-faint)}
}
.lk-input:focus,.lk-select:focus,.lk-textarea:focus{
  border-color:var(--lk-ink);box-shadow:0 0 0 3px rgba(198,242,78,.45)}
.lk-input::placeholder,.lk-textarea::placeholder{color:var(--lk-ink-ghost)}
.lk-textarea{min-height:110px;resize:vertical;line-height:1.66}
.lk-input-group{display:flex}
.lk-input-affix{display:grid;place-items:center;padding:0 13px;background:var(--lk-surface);
  border:1px solid var(--lk-line-strong);border-right:0;
  border-radius:var(--lk-r) 0 0 var(--lk-r);font:700 13px var(--lk-mono);
  color:var(--lk-ink-soft);white-space:nowrap}
.lk-input-group .lk-input{border-radius:0 var(--lk-r) var(--lk-r) 0}
.lk-err{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;font-weight:600;
  color:var(--lk-danger);margin-top:7px}
.lk-field.is-error .lk-input,.lk-field.is-error .lk-select,
.lk-field.is-error .lk-textarea{border-color:var(--lk-danger)}

/* ── 동의 박스 ───────────────────────────────────────────────────── */
.lk-consent{border:1px solid var(--lk-line-strong);border-left:3px solid var(--lk-ink);
  border-radius:var(--lk-r);background:var(--lk-paper);padding:17px 19px;margin-bottom:14px}
.lk-consent.is-required{border-left-color:var(--lk-warn)}
.lk-consent.is-checked{border-left-color:var(--lk-accent-deep)}
.lk-consent.is-error{border-left-color:var(--lk-danger)}
.lk-consent-h{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:4px}
.lk-consent-h b{font-size:14px;font-weight:800}
.lk-consent-body{font-size:12.8px;line-height:1.78;color:var(--lk-ink-soft);
  max-height:180px;overflow-y:auto;padding:12px 6px 0 0;margin-bottom:12px;
  border-top:1px dashed var(--lk-line)}
.lk-consent-body ol{padding-left:18px}
.lk-consent-body li{margin-bottom:6px}
.lk-consent-body b{color:var(--lk-ink)}

/* ── 광고 표기(공개) 안내 ────────────────────────────────────────── */
.lk-disclosure{background:var(--lk-paper);border:1px solid var(--lk-line-strong);
  border-left:3px solid var(--lk-accent-deep);border-radius:var(--lk-r);
  padding:17px 19px;margin:14px 0 20px}
.lk-disclosure-h{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:11px}
.lk-disclosure-h b{font-size:14px;font-weight:800}
.lk-disclosure-quote{background:var(--lk-surface);border:1px dashed var(--lk-line-strong);
  border-radius:var(--lk-r);padding:14px 16px;margin-bottom:12px;
  font-size:13.5px;line-height:1.7}
.lk-disclosure-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.lk-disclosure-why{margin-top:13px;padding-top:13px;border-top:1px solid var(--lk-line);
  font-size:12.8px;line-height:1.76;color:var(--lk-ink-soft)}
.lk-disclosure-why ul{list-style:none;margin:9px 0}
.lk-disclosure-why li{padding-left:14px;position:relative;margin-bottom:6px}
.lk-disclosure-why li::before{content:'';position:absolute;left:0;top:9px;
  width:6px;height:1px;background:var(--lk-accent-deep)}

/* ── 링크 박스 ───────────────────────────────────────────────────── */
.lk-linkbox-h{display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  padding:12px 14px;border-bottom:1px solid var(--lk-line);background:var(--lk-surface)}
.lk-linkbox-h b{font-size:13.5px;font-weight:800}
.lk-linkbox-h .lk-pill{margin-left:auto}
.lk-linkbox-b{display:flex;align-items:stretch}
.lk-linkbox-url{flex:1;min-width:0;padding:14px;display:flex;align-items:center;
  font:600 12.5px/1.5 var(--lk-mono);background:var(--lk-paper);border:0;
  white-space:nowrap;overflow-x:auto;scrollbar-width:none;user-select:all}
.lk-linkbox-url::-webkit-scrollbar{display:none}
.lk-linkbox-b .lk-b,.lk-linkbox-b .lk-btn{border-radius:0;min-width:104px;
  border-left:1px solid var(--lk-line)}
.lk-linkbox-f{display:flex;gap:8px;flex-wrap:wrap;align-items:center;
  padding:11px 14px;border-top:1px solid var(--lk-line)}
.lk-linkbox-f .meta{margin-left:auto;font-size:11.5px;color:var(--lk-ink-faint)}
@media(max-width:559px){
  .lk-linkbox-b{flex-direction:column}
  .lk-linkbox-url{white-space:normal;word-break:break-all}
  .lk-linkbox-b .lk-b,.lk-linkbox-b .lk-btn{width:100%;border-left:0;
    border-top:1px solid var(--lk-line)}
}

/* ── 원장 요약 ───────────────────────────────────────────────────── */
.lk-ledger-sum{display:grid;gap:1px;background:var(--lk-line);
  border:1px solid var(--lk-line);border-radius:var(--lk-r);overflow:hidden;
  grid-template-columns:repeat(2,1fr);margin-bottom:18px}
@media(min-width:768px){.lk-ledger-sum{grid-template-columns:repeat(4,1fr)}}
.lk-ledger-sum > div{background:var(--lk-paper);padding:14px;
  display:flex;flex-direction:column;gap:6px}
.lk-ledger-sum .cnt{font:600 11.5px var(--lk-mono);color:var(--lk-ink-soft)}
.lk-ledger-sum .amt{font-family:var(--lk-mono);font-variant-numeric:tabular-nums;
  font-size:18px;font-weight:800;letter-spacing:-.03em;color:var(--lk-ink)}

/* ── 소재 카드 본문 ──────────────────────────────────────────────── */
.lk-material-b{padding:12px 13px;display:flex;flex-direction:column;gap:8px;flex:1}
.lk-material-b h5{font-size:13.5px;font-weight:700}
.lk-material-b .lk-b,.lk-material-b .lk-btn{margin-top:auto}

/* ── 세그먼트 컨트롤 ─────────────────────────────────────────────── */
.lk-seg{display:inline-flex;background:var(--lk-surface);border-radius:var(--lk-r);
  padding:3px;gap:2px}
.lk-seg button,.lk-seg a{border:0;background:transparent;cursor:pointer;padding:8px 15px;
  border-radius:2px;font-size:13px;font-weight:700;color:var(--lk-ink-soft);transition:.2s}
.lk-seg .on{background:var(--lk-paper);color:var(--lk-ink);box-shadow:var(--lk-e1)}

/* ── 노트 변형 ───────────────────────────────────────────────────── */
.lk-note-warn{border-left-color:var(--lk-warn);background:var(--lk-warn-bg);color:var(--lk-warn)}
.lk-note-err{border-left-color:var(--lk-danger);background:var(--lk-danger-bg);color:var(--lk-danger)}
.lk-note-ok{border-left-color:var(--lk-ok);background:var(--lk-ok-bg);color:var(--lk-ok)}
.lk-note-legal{border-left-color:var(--lk-ink);background:var(--lk-surface);color:var(--lk-ink-soft)}
.lk-note-warn b,.lk-note-err b,.lk-note-ok b{color:inherit}

/* ── 모바일 표 → 카드 ───────────────────────────────────────────── */
@media(max-width:719px){
  .lk-table-cards,.lk-table-cards tbody,.lk-table-cards tr,.lk-table-cards td{
    display:block;width:100%}
  .lk-table-cards{min-width:0}
  .lk-table-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;
    clip:rect(0,0,0,0)}
  .lk-table-cards tr{background:var(--lk-paper);border:1px solid var(--lk-line);
    border-radius:var(--lk-r);padding:6px 14px 10px;margin-bottom:10px}
  .lk-table-cards td{display:flex;justify-content:space-between;align-items:center;
    gap:14px;padding:9px 0;border-bottom:1px dashed var(--lk-line);text-align:right}
  .lk-table-cards td:last-child{border-bottom:0}
  .lk-table-cards td::before{content:attr(data-th);font-size:12px;font-weight:700;
    color:var(--lk-ink-faint);text-align:left;flex:none}
}

/* ── 여백 유틸 ───────────────────────────────────────────────────── */
.lk-mt0{margin-top:0}   .lk-mb0{margin-bottom:0}
.lk-mt4{margin-top:var(--lk-s6)}

/* ==========================================================================
   관리자(adm/lk) 브리지 — v4 전면 교체 때 누락된 관리자 전용 클래스
   프론트에는 안 쓰이지만 adm/lk/*.php 가 의존한다. 지우지 말 것.
   ⚠ .lk-adm 으로 스코프한다 — 스코프 없이 두면 .lk-panel{padding:0} 등이
     join/advertiser/refund 의 프론트 패널을 망가뜨린다.
   ========================================================================== */

/* 패널 헤더 / 바디 — .lk-panel 은 이미 패딩을 가지므로 여기서 상쇄한다 */
.lk-adm .lk-panel{padding:0;margin-bottom:16px;overflow:hidden}
.lk-adm .lk-panel-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:15px 20px;border-bottom:1px solid var(--lk-line);background:var(--lk-surface)}
.lk-adm .lk-panel-h h3{font-size:14px;font-weight:800;letter-spacing:-.01em;color:var(--lk-ink)}
.lk-adm .lk-panel-h .right{margin-left:auto;font-size:12.5px;color:var(--lk-ink-faint)}
.lk-adm .lk-panel-h .right a{color:var(--lk-accent-deep);font-weight:700}
.lk-adm .lk-panel-b{padding:20px}
.lk-adm .lk-panel-b > .lk-table-wrap{border:0;border-radius:0}

/* 통계 카드 추가 변형 */
.lk-adm .lk-stat.is-paid{border-top-color:var(--lk-paid)}
.lk-adm .lk-stat.is-accent{border-top-color:var(--lk-accent)}

/* 알림 노트 변형 — .lk-note 의 라임 기본값을 의미색으로 덮는다 */
.lk-adm .lk-note-ok{border-left-color:var(--lk-ok);background:var(--lk-ok-bg);color:var(--lk-ok)}
.lk-adm .lk-note-err{border-left-color:var(--lk-danger);background:var(--lk-danger-bg);color:var(--lk-danger)}
.lk-adm .lk-note-warn{border-left-color:var(--lk-warn);background:var(--lk-warn-bg);color:var(--lk-warn)}
.lk-adm .lk-note-legal{border-left-color:var(--lk-info);background:var(--lk-info-bg);color:var(--lk-info)}
.lk-adm .lk-note-ok b, .lk-adm .lk-note-err b, .lk-adm .lk-note-warn b, .lk-adm .lk-note-legal b{
  display:block;margin-bottom:5px;color:inherit}

/* 작은 상태 배지 */
.lk-adm .lk-pill-sm{padding:3px 8px;font-size:11px;letter-spacing:.02em}
.lk-adm .lk-badge{display:inline-block;padding:3px 9px;border-radius:999px;
  font-size:11.5px;font-weight:700;line-height:1.5}
.lk-adm .lk-badge-muted{background:var(--lk-surface);color:var(--lk-ink-soft);
  border:1px solid var(--lk-line)}

/* 빈 상태 */
.lk-adm .lk-empty{padding:40px 20px;text-align:center;color:var(--lk-ink-faint)}
.lk-adm .lk-empty b{display:block;font-size:14px;color:var(--lk-ink-soft);margin-bottom:6px}
.lk-adm .lk-empty p{font-size:12.5px;line-height:1.7}
.lk-adm .lk-empty.is-compact{padding:22px 16px}

/* 폼 컨트롤 — 관리자 화면 전용 */
.lk-adm .lk-field{margin-bottom:18px}
.lk-adm .lk-field > label{display:block;margin-bottom:7px;font-size:13px;font-weight:700;color:var(--lk-ink)}
.lk-adm .lk-field .req{color:var(--lk-danger);margin-left:3px}
.lk-adm .lk-field .opt{margin-left:5px;font-size:12px;font-weight:500;color:var(--lk-ink-faint)}
.lk-adm .lk-field .hint{margin-top:6px}
.lk-adm .lk-field-2{display:grid;gap:0 16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.lk-adm .lk-mb0{margin-bottom:0}

.lk-adm .lk-input, .lk-adm .lk-select, .lk-adm .lk-textarea{
  display:block;width:100%;padding:10px 13px;min-height:42px;
  font:inherit;font-size:14px;color:var(--lk-ink);
  background:var(--lk-paper);border:1px solid var(--lk-line-strong);
  border-radius:var(--lk-r);transition:border-color .18s ease,box-shadow .18s ease}
.lk-adm .lk-textarea{min-height:auto;line-height:1.65;resize:vertical}
.lk-adm .lk-input:focus, .lk-adm .lk-select:focus, .lk-adm .lk-textarea:focus{
  outline:0;border-color:var(--lk-accent-deep);
  box-shadow:0 0 0 3px rgba(198,242,78,.28)}
.lk-adm .lk-input::placeholder, .lk-adm .lk-textarea::placeholder{color:var(--lk-ink-ghost,rgba(17,24,39,.42))}
.lk-adm .lk-input[type=file]{padding:8px 11px}
.lk-adm .lk-select{appearance:none;padding-right:34px;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),
                   linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat}

/* 커미션 합계 스트립 */
.lk-adm .lk-ledger-sum{display:grid;gap:10px;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.lk-adm .lk-ledger-sum > div{padding:13px 15px;background:var(--lk-paper);
  border:1px solid var(--lk-line);border-radius:var(--lk-r)}
.lk-adm .lk-ledger-sum .cnt{display:block;font-size:11.5px;font-weight:700;
  color:var(--lk-ink-faint);letter-spacing:.02em}
.lk-adm .lk-ledger-sum .amt{display:block;margin-top:6px;font-family:var(--lk-mono);
  font-variant-numeric:tabular-nums;font-size:17px;font-weight:800;color:var(--lk-ink)}
.lk-adm .lk-ledger-sum > div.is-void{opacity:.6}

/* 표 안의 강조 숫자 · 합계행 */
.lk-adm .lk-table td.strong{font-weight:800;color:var(--lk-ink)}
.lk-adm .lk-table tfoot td{padding:13px 15px;background:var(--lk-surface);
  border-top:1px solid var(--lk-line-strong);font-weight:800;color:var(--lk-ink)}
.lk-adm .lk-table tfoot td.num{font-family:var(--lk-mono);font-variant-numeric:tabular-nums}

/* 관리자 목록의 액션 폼은 인라인이어야 한다 (프론트의 flex 규칙을 되돌린다) */
.lk-adm .lk-table .lk-actform{display:inline-flex;gap:0;margin:0;width:auto}
.lk-adm .lk-table .lk-actform input, .lk-adm .lk-table .lk-actform select{flex:none;min-width:0}
