/* 수주각AI(/bid) 화면 스타일. 하다컴퍼니 홈페이지와 틀을 나눴다 (10-28 A단계): 포인트 컬러(#005CFF)만 같고 머리·바닥·톤은 수주각AI 전용 */
:root{
  --blue:#005CFF; --blue-light:#e8efff; --blue-dark:#0047d6;
  --ink:#0f172a; --ink-60:rgba(15,23,42,0.62); --ink-40:rgba(15,23,42,0.42); --ink-20:rgba(15,23,42,0.11); --ink-08:rgba(15,23,42,0.055);
  --white:#f7f9fc; --gray:#eef2f7;
  --bg:#f2f4f8; --navy:#0b1220; --navy-2:#141e33; --line:#e2e7ef;
  --green:#0f9d58; --red:#d93025; --amber:#b26a00; --amber-bg:#fff7e6; --red-bg:#fff1f0;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Pretendard Variable','Pretendard','Apple SD Gothic Neo',sans-serif;background:var(--bg);font-feature-settings:'tnum';color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;word-break:keep-all;}
::selection{background:var(--blue);color:#fff;}
a{color:inherit;}

/* ── 머리 (수주각AI 전용) ── */
.app-hd{position:sticky;top:0;z-index:200;background:var(--navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.07);}
.hd-in{max-width:1040px;margin:0 auto;height:60px;padding:0 24px;display:flex;align-items:center;gap:28px;}
.hd-logo{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:#fff;flex:none;}
.hd-logo img{display:block;height:28px;width:auto;}
.hd-logo b{font-size:18px;font-weight:800;letter-spacing:-.04em;}
.hd-logo span{font-size:11.5px;font-weight:700;color:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:2px 8px;}
.hd-nav{display:flex;gap:4px;}
.hd-nav a{font-size:14px;font-weight:600;color:rgba(255,255,255,.66);text-decoration:none;padding:8px 12px;border-radius:8px;transition:color .15s,background .15s;}
.hd-nav a:hover{color:#fff;background:rgba(255,255,255,.06);}
.hd-nav a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.09);}
.hd-acct{margin-left:auto;}
.hd-acct [data-mbar-acts]{display:flex;align-items:center;gap:8px;}
.hd-btn{font-size:13.5px;font-weight:700;text-decoration:none;color:#fff;background:var(--blue);border:1px solid var(--blue);border-radius:8px;padding:7px 14px;white-space:nowrap;transition:background .15s,border-color .15s;}
.hd-btn:hover{background:var(--blue-dark);border-color:var(--blue-dark);}
.hd-btn.ghost{background:transparent;border-color:rgba(255,255,255,.22);color:rgba(255,255,255,.88);}
.hd-btn.ghost:hover{border-color:rgba(255,255,255,.5);color:#fff;}

/* ── 바닥 (수주각AI 전용). 내용이 짧은 화면에서도 바닥이 화면 아래에 붙게 ── */
body{min-height:100vh;display:flex;flex-direction:column;}
#bidMain{flex:1 0 auto;width:100%;}
.app-ft{margin-top:72px;background:#fff;border-top:1px solid var(--line);}
.ft-in{max-width:1040px;margin:0 auto;padding:32px 24px 36px;display:grid;grid-template-columns:1fr auto;gap:10px 24px;font-size:13px;color:var(--ink-60);}
.ft-brand b{font-size:15px;font-weight:800;color:var(--ink);letter-spacing:-.03em;}
.ft-brand img{display:block;height:21px;width:auto;}
.ft-brand p{margin-top:8px;}
.ft-links{display:flex;gap:16px;align-items:flex-start;}
.ft-links a{color:var(--ink-60);text-decoration:none;font-weight:600;}
.ft-links a:hover{color:var(--blue);}
.ft-links b{color:var(--ink);}
.ft-op,.ft-copy{grid-column:1/-1;}
.ft-op a{color:var(--ink);font-weight:700;}
.ft-copy{color:var(--ink-40);font-size:12px;}

/* ── 공통 ── */
.bid-wrap{max-width:1040px;margin:0 auto;padding:28px 24px 0;}
.label{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--ink-60);margin-bottom:14px;}
.sub{font-size:15px;color:var(--ink-60);line-height:1.75;}
.btn-primary{background:var(--blue);color:#fff;padding:12px 22px;border-radius:8px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .15s;border:none;cursor:pointer;font-family:inherit;white-space:nowrap;}
.btn-primary:hover{background:var(--blue-dark);}
.btn-ghost{border:1.5px solid var(--ink-20);background:#fff;color:var(--ink);padding:11px 20px;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:border-color .15s,color .15s;cursor:pointer;font-family:inherit;white-space:nowrap;}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue);}
.fake-ribbon{background:#fff4d6;border:1px solid #f3d27a;color:#7a5200;font-size:13px;font-weight:600;padding:10px 14px;border-radius:10px;margin-bottom:20px;}
.dev-bar{position:fixed;left:16px;bottom:16px;z-index:300;display:flex;align-items:center;gap:6px;background:#0a0a0f;color:#fff;font-size:12px;padding:8px 10px;border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.25);}
.dev-bar b{color:#ffd166;margin-right:4px;}
.dev-bar button{font:inherit;font-weight:700;background:rgba(255,255,255,.12);color:#fff;border:none;border-radius:6px;padding:5px 9px;cursor:pointer;}
.dev-bar button[aria-pressed="true"]{background:var(--blue);}

/* 배지·태그 */
.dd{display:inline-flex;align-items:center;font-size:12px;font-weight:800;padding:4px 9px;border-radius:999px;background:var(--ink-08);color:var(--ink);}
.dd-hot{background:var(--red);color:#fff;}
.dd-end{background:var(--ink-20);color:var(--ink-60);}
.tg{display:inline-flex;align-items:center;font-size:12px;font-weight:700;padding:4px 8px;border-radius:6px;background:var(--gray);color:var(--ink-60);}
.tg-target{background:var(--ink);color:#fff;}
.tg-nego{background:var(--gray);color:var(--ink-60);}
.tg-kind{background:var(--amber-bg);color:var(--amber);}
.tg-report{background:var(--gray);color:var(--ink);}
.tg-price{background:var(--gray);color:var(--ink);}

/* ── 목록 ── */
.bid-hero{position:relative;isolation:isolate;color:#fff;margin:-28px 0 24px;padding:36px 0 34px;}
/* 남색 띠를 화면 끝까지 (본문 폭 1040px 밖으로, 화면 폭만큼) */
.bid-hero::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);background:var(--navy);}
.bid-hero .label{color:#7fa8ff;}
.bid-hero h1{font-size:clamp(26px,3.6vw,36px);font-weight:800;letter-spacing:-.045em;line-height:1.28;margin-bottom:12px;}
.bid-hero h1 em{font-style:normal;color:#6f9dff;}
.bid-hero .sub{max-width:640px;color:rgba(255,255,255,.66);}
.hero-cred{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px;font-size:13.5px;color:rgba(255,255,255,.72);}
.hero-cred li{display:flex;align-items:baseline;gap:7px;}
.hero-cred b{color:#fff;font-size:15px;font-weight:800;letter-spacing:-.02em;}
.hero-cred li+li::before{content:"";align-self:center;width:1px;height:12px;background:rgba(255,255,255,.18);margin-right:13px;}
.hero-stats{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap;}
.hero-stats div{background:var(--navy-2);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 18px;min-width:132px;}
.hero-stats b{display:block;font-size:24px;font-weight:800;letter-spacing:-.03em;}
.hero-stats span{font-size:12.5px;color:rgba(255,255,255,.55);font-weight:600;}

.bid-filter{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:20px;}
.search{display:flex;gap:8px;margin-bottom:14px;}
.search input{flex:1;min-width:0;font:inherit;font-size:15px;padding:11px 14px;border:1.5px solid var(--ink-20);border-radius:8px;background:var(--white);}
.search input:focus{outline:none;border-color:var(--blue);background:#fff;}
.chip-row{display:flex;align-items:flex-start;gap:12px;padding:6px 0;}
.chip-label{flex:0 0 64px;font-size:13px;font-weight:700;color:var(--ink-60);padding-top:6px;}
.chips{display:flex;flex-wrap:wrap;gap:6px;}
.chip{font-size:13px;font-weight:600;text-decoration:none;padding:6px 12px;border-radius:999px;border:1px solid var(--ink-20);background:#fff;color:var(--ink-60);white-space:nowrap;transition:border-color .15s,color .15s;position:relative;}
.chip:hover{border-color:var(--ink-40);color:var(--ink);}
.chip.on,.chip:has(input:checked){background:#fff;border-color:var(--ink);box-shadow:inset 0 0 0 .5px var(--ink);color:var(--ink);font-weight:800;}
label.chip,button.chip{cursor:pointer;font-family:inherit;line-height:normal;}
.chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;}
label.chip:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px;}
/* 두 손잡이 드래그 막대: 막대와 고른 값을 한 줄에 */
.range-row{align-items:center;}
.range-row .chip-label{padding-top:0;}
.rng{display:flex;align-items:center;gap:16px;flex:0 1 480px;min-width:0;}
.rng-track{position:relative;flex:1;min-width:120px;height:28px;}
.rng-track::before{content:"";position:absolute;left:11px;right:11px;top:50%;height:4px;margin-top:-2px;background:var(--ink-08);border-radius:2px;}
.rng-fill{position:absolute;top:50%;height:4px;margin-top:-2px;background:var(--ink-40);border-radius:2px;}
.rng input[type=range]{position:absolute;inset:0;width:100%;height:28px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none;}
.rng input[type=range]::-webkit-slider-runnable-track{background:none;height:28px;}
.rng input[type=range]::-moz-range-track{background:none;}
.rng input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:22px;height:22px;margin-top:3px;border-radius:50%;background:var(--ink);border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.28);cursor:grab;}
.rng input[type=range]::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;background:var(--ink);border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.28);cursor:grab;}
.rng input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--blue);outline-offset:2px;}
.rng-val{flex:0 0 auto;min-width:118px;font-size:14px;font-weight:800;color:var(--ink);white-space:nowrap;}
.filter-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--ink-08);margin-top:10px;padding-top:12px;font-size:13px;color:var(--ink-60);}
.filter-foot b{color:var(--ink);}
.filter-foot a{color:var(--ink-60);font-weight:600;text-decoration:none;}
.ff-acts{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.closed-toggle{display:inline-flex;align-items:center;gap:6px;font-weight:600;cursor:pointer;}
.closed-toggle input{accent-color:var(--blue);width:15px;height:15px;}
.ff-submit{font-size:14px;padding:10px 18px;}
.filter-foot a:hover{color:var(--blue);}
.filter-foot .reset{color:var(--ink-60);text-decoration:underline;text-underline-offset:2px;}

.alert-cta,.consult-band{display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:14px;padding:16px 20px;margin-bottom:20px;}
.alert-cta{background:#fff;border:1px solid var(--line);}
.alert-cta b,.consult-band b{font-size:15px;font-weight:800;}
.alert-cta p,.consult-band p{font-size:13.5px;color:var(--ink-60);margin-top:4px;line-height:1.6;}
.consult-band{background:var(--navy);color:#fff;margin-top:36px;padding:24px 26px;}
.consult-band p{color:rgba(255,255,255,.7);}

.bl-group{margin-top:28px;}
.bl-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.bl-head h2{font-size:18px;font-weight:900;letter-spacing:-.03em;}
.bl-head h2 span{color:var(--ink-60);margin-left:2px;}
.bl-head p{font-size:13px;color:var(--ink-60);}
.bl-sort{margin-left:auto;display:inline-flex;gap:6px;align-self:center;}
.bl-sort-btn{font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;border:1px solid var(--ink-20);color:var(--ink-60);background:#fff;text-decoration:none;white-space:nowrap;}
.bl-sort-btn.on{background:var(--ink);border-color:var(--ink);color:#fff;}
.bl-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.bc{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s,transform .15s;}
.bc:hover{border-color:var(--ink-20);box-shadow:0 6px 22px rgba(15,23,42,.07);transform:translateY(-1px);}
.bc-target{}
.bc-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.bc-title{font-size:16px;font-weight:800;letter-spacing:-.03em;line-height:1.45;}
.bc-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px;color:var(--ink-60);}
.bc-meta span+span::before{content:"·";margin-right:10px;color:var(--ink-40);}
.bc-meta .via{color:var(--ink-40);}
.bc-meta .via::before{content:none!important;}
.bc-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;margin-top:auto;padding-top:10px;border-top:1px dashed var(--ink-20);}
.bc-price{font-weight:800;}
.bc-price em{font-style:normal;font-weight:600;color:var(--ink-60);margin-right:4px;}
.bc-close{color:var(--ink-60);font-weight:600;}

.empty{background:#fff;border:1px dashed var(--ink-20);border-radius:14px;padding:40px;text-align:center;color:var(--ink-60);}
.empty a{color:var(--ink);text-decoration:underline;font-weight:700;}
.pager{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 28px;margin-top:28px;font-size:14px;font-weight:700;}
.pg-nums{display:flex;align-items:center;gap:4px;}
.pg{min-width:36px;height:36px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:var(--ink);text-decoration:none;}
a.pg:hover{background:var(--gray);color:var(--ink);}
.pg.on{background:var(--blue);color:#fff;}
.pg-step{color:var(--ink-60);}
.pg-step.off{color:#c5cad3;}
.pg-gap{color:#9aa1ad;padding:0 2px;}
.pg-jump{display:flex;align-items:center;gap:6px;color:#6b7280;font-weight:600;}
.pg-jump input{width:64px;height:36px;border:1px solid #d6dbe3;border-radius:8px;padding:0 8px;font:inherit;font-weight:700;text-align:center;color:var(--ink);}
.pg-jump input:focus{outline:2px solid var(--blue);outline-offset:-1px;border-color:transparent;}
.pg-jump button{height:36px;padding:0 14px;border:0;border-radius:8px;background:var(--ink);color:#fff;font:inherit;font-weight:700;cursor:pointer;}
@media(max-width:520px){.pg-far{display:none;}.pg{min-width:32px;height:34px;}}

.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;font-size:14px;font-weight:600;padding:12px 18px;border-radius:10px;opacity:0;transition:opacity .2s,transform .2s;z-index:400;pointer-events:none;max-width:calc(100% - 32px);text-align:center;}
.toast.show{opacity:1;transform:translateX(-50%);}

@media(max-width:760px){
  .hd-in{padding:0 16px;gap:12px;height:56px;}
  .hd-logo span,.hd-nav a[data-nav="notice"]{display:none;}
  .hd-nav a{padding:7px 8px;font-size:13.5px;}
  .hd-btn{padding:6px 10px;font-size:13px;}
  .ft-in{grid-template-columns:1fr;padding:28px 16px 32px;}
}
@media(max-width:760px){
  .bid-wrap{padding:20px 16px 0;}
  .bid-hero{margin-top:-20px;padding:28px 0 26px;}
  .bl-cards{grid-template-columns:1fr;}
  .bid-filter{padding:14px;}
  .chip-row{flex-direction:column;gap:6px;}
  .chip-label{flex:none;padding-top:0;}
  .chips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px;scrollbar-width:none;}
  .chips::-webkit-scrollbar{display:none;}
  .range-row{align-items:stretch;}
  .rng{flex:none;max-width:none;width:100%;gap:12px;}
  .rng-val{flex:0 0 96px;min-width:0;font-size:13px;text-align:right;white-space:normal;line-height:1.35;}
  .filter-foot{flex-direction:column;align-items:stretch;}
  .ff-acts{justify-content:space-between;}
  .ff-submit{width:100%;}
  
  .hero-cred{flex-direction:column;gap:6px;}
  .hero-cred li+li::before{display:none;}
  .hero-stats div{min-width:0;flex:1;padding:10px 12px;}
  .hero-stats b{font-size:20px;}
  .alert-cta,.consult-band{flex-direction:column;align-items:stretch;}
  .dev-bar{left:8px;right:8px;bottom:8px;justify-content:center;flex-wrap:wrap;}
}

/* ── 상세 + 리포트 ── */
.crumb{display:flex;gap:8px;font-size:13px;color:var(--ink-60);margin-bottom:14px;}
.crumb a{color:var(--ink-60);font-weight:700;text-decoration:none;}
.bd-head{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 26px;}
.bd-head h1{font-size:clamp(22px,3vw,30px);font-weight:900;letter-spacing:-.045em;line-height:1.3;margin:12px 0 8px;}
.bd-org{font-size:14px;color:var(--ink-60);}
.bd-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ink-08);border:1px solid var(--ink-08);border-radius:12px;overflow:hidden;margin:18px 0;}
.bd-facts div{background:#fff;padding:10px 14px;}
.bd-facts dt{font-size:12px;color:var(--ink-60);font-weight:600;}
.bd-facts dd{font-size:14px;font-weight:800;margin-top:2px;}
.bd-actions{display:flex;gap:8px;flex-wrap:wrap;}

.report{margin-top:20px;display:flex;flex-direction:column;gap:14px;}
.rp-nav{position:sticky;top:60px;z-index:20;display:flex;gap:4px;overflow-x:auto;background:rgba(242,244,248,.96);backdrop-filter:blur(10px);padding:10px 0;border-bottom:1px solid var(--ink-20);scrollbar-width:none;}
.rp-nav::-webkit-scrollbar{display:none;}
.rp-nav a{font-size:13px;font-weight:700;color:var(--ink-60);text-decoration:none;padding:6px 11px;border-radius:999px;white-space:nowrap;}
.rp-nav a:hover,.rp-nav a.on{background:#fff;color:var(--ink);}
.rp-meta{font-size:12.5px;color:var(--ink-60);}
.rp-sec{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;scroll-margin-top:120px;position:relative;}
.rp-h{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.rp-h h2{font-size:18px;font-weight:900;letter-spacing:-.03em;flex:1;}
.rp-no{width:26px;height:26px;border-radius:8px;background:var(--gray);color:var(--ink-60);font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex:none;}
.rp-lead{font-size:15px;line-height:1.75;margin-bottom:14px;}
.note{font-size:12.5px;color:var(--ink-60);line-height:1.6;margin-top:10px;}
.note a{color:var(--ink);font-weight:700;text-underline-offset:2px;}
.src-chip{flex:none;font:inherit;font-size:12px;font-weight:700;color:var(--ink-60);background:var(--gray);border:none;border-radius:999px;padding:4px 10px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;}
.src-chip:hover{background:var(--ink);color:#fff;}
.src-chip.off{color:var(--ink-40);background:var(--gray);cursor:default;}
.kv{width:100%;border-collapse:collapse;font-size:14px;}
.kv th{width:132px;text-align:left;font-weight:700;color:var(--ink-60);padding:9px 12px 9px 0;vertical-align:top;border-top:1px solid var(--ink-08);}
.kv td{padding:9px 0;border-top:1px solid var(--ink-08);line-height:1.6;}

.timeline{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}
.timeline li{border:1px solid var(--ink-08);background:var(--white);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;position:relative;}
.timeline li:first-child{border-color:var(--red);background:var(--red-bg);}
.tl-date{font-size:12.5px;font-weight:800;color:var(--ink);}
.timeline li:first-child .tl-date{color:var(--red);}
.timeline b{font-size:14.5px;}
.tl-note{font-size:12.5px;color:var(--ink-60);line-height:1.5;}
/* 값은 왼쪽, 원문 칩은 오른쪽 끝. 칩이 글줄 안에 끼면 첫 줄이 높아져 왼쪽 항목명과 어긋나서 따로 둔다 */
.kv th{line-height:1.6;}
.kv-v{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.kv-v>span{flex:1;min-width:0;}
.kv-v .src-chip{margin-top:-1px;}
.timeline li .src-chip{align-self:flex-start;margin-top:4px;}

.box-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.box{border-radius:14px;padding:16px 18px;}
.box h3{font-size:14.5px;font-weight:800;margin-bottom:10px;}
.box ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
.box li{display:flex;gap:8px;align-items:flex-start;justify-content:space-between;font-size:14px;line-height:1.6;}
.box li span:first-child::before{content:"•";margin-right:6px;}
.box-must{background:var(--white);border:1px solid var(--line);}
.box-must h3{color:var(--red);}
.box-warn{background:var(--white);border:1px solid var(--line);}
.box-warn h3{color:var(--amber);}

.split-bar{display:flex;height:34px;border-radius:10px;overflow:hidden;font-size:13px;font-weight:800;color:#fff;}
.split-bar span{display:flex;align-items:center;padding:0 12px;white-space:nowrap;}
.sb-tech{background:var(--blue);}
.sb-price{background:#7aa7ff;}
.ev-method{font-size:13.5px;color:var(--ink-60);margin:12px 0 4px;line-height:1.6;}
.pass{display:inline-block;margin-left:6px;font-weight:800;color:var(--red);background:var(--red-bg);padding:2px 8px;border-radius:6px;}
.score-list{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:14px;}
.sl-top{display:flex;align-items:center;gap:10px;}
.sl-top b{font-size:15px;flex:1;}
.sl-score{font-size:15px;font-weight:900;color:var(--ink);}
.sl-bar{height:8px;background:var(--ink-08);border-radius:999px;margin:7px 0;overflow:hidden;}
.sl-bar span{display:block;height:100%;background:var(--ink-40);border-radius:999px;}
.sl-tags{display:flex;flex-wrap:wrap;gap:5px;}
.sl-tags span{font-size:12px;font-weight:600;color:#7a5200;background:#fff8e1;border:1px solid #f3dca8;padding:3px 9px;border-radius:999px;}
.formula{margin-top:16px;background:var(--gray);border-radius:12px;padding:14px 16px;}
.fm-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;}
.fm-h h3{font-size:14.5px;font-weight:800;}
.fm-line{font-size:14px;font-weight:600;line-height:1.7;}
.fm-notes{margin:6px 0 0 18px;font-size:12.5px;color:var(--ink-60);line-height:1.6;}

.tbl-wrap{overflow-x:auto;}
.req{width:100%;border-collapse:collapse;font-size:14px;}
.req th{font-size:12.5px;color:var(--ink-60);text-align:left;font-weight:700;padding:8px 10px;border-bottom:2px solid var(--ink-20);white-space:nowrap;}
.req td{padding:10px;border-bottom:1px solid var(--ink-08);vertical-align:top;line-height:1.6;}
.req .num{font-weight:800;color:var(--ink-40);width:44px;}
.req .cat{font-weight:700;white-space:nowrap;width:90px;}
.req .src{width:86px;text-align:right;}

.checklist{list-style:none;display:flex;flex-direction:column;gap:2px;margin-top:10px;}
.checklist li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 4px;border-bottom:1px solid var(--ink-08);}
.checklist label{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;cursor:pointer;flex:1;}
.checklist input{width:18px;height:18px;accent-color:var(--blue);margin-top:1px;flex:none;}
.checklist input:checked+span{color:var(--ink-40);text-decoration:line-through;}
.checklist em{font-style:normal;font-size:12px;color:var(--ink-60);}

.emph-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.emph{border:1px solid var(--ink-20);border-radius:14px;padding:16px;background:var(--white);}
.emph-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.emph-view{font-size:12px;font-weight:800;color:var(--ink-60);background:var(--gray);padding:3px 9px;border-radius:6px;}
.emph h3{font-size:15.5px;font-weight:800;letter-spacing:-.02em;margin-bottom:6px;}
.emph p{font-size:14px;line-height:1.7;color:rgba(10,10,15,.78);}

.paid-badge{font-size:12px;font-weight:800;color:#7a5200;background:#ffe9a8;padding:3px 9px;border-radius:6px;}
.pc-body{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.pc-prev,.pc-calc{border:1px solid var(--ink-08);border-radius:12px;padding:14px 16px;background:var(--white);}
.pc-prev.none p{font-size:13.5px;color:var(--ink-60);line-height:1.6;}
.pc-cap{font-size:13px;font-weight:700;color:var(--ink-60);margin-bottom:10px;line-height:1.5;}
.pc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.pc-stats span{display:block;font-size:12px;color:var(--ink-60);}
.pc-stats b{font-size:18px;font-weight:900;letter-spacing:-.03em;}
.pc-foot{font-size:12.5px;color:var(--ink-60);margin-top:10px;}
.calc-in{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.calc-in label{font-size:12px;font-weight:700;color:var(--ink-60);display:flex;flex-direction:column;gap:4px;}
.calc-in input{font:inherit;font-size:15px;font-weight:700;padding:8px 10px;border:1.5px solid var(--ink-20);border-radius:8px;width:100%;}
.calc-in input:focus{outline:none;border-color:var(--blue);}
.calc-out{margin-top:10px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.calc-out b{font-size:24px;font-weight:900;color:var(--ink);}
.calc-out span{font-size:13px;color:var(--ink-60);}
.calc-table{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:8px;}
.calc-table th,.calc-table td{padding:5px 6px;border-top:1px solid var(--ink-08);text-align:right;}
.calc-table th:first-child,.calc-table td:first-child{text-align:left;color:var(--ink-60);}
.price-card.locked{min-height:300px;}
.price-card.locked .pc-body{filter:blur(5px);user-select:none;pointer-events:none;}
.lock-over{position:absolute;inset:56px 0 0;display:flex;align-items:center;justify-content:center;padding:16px;}
.lock-card{background:#fff;border:1px solid var(--ink-20);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.10);padding:18px 20px;max-width:440px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;}
.lock-card b{font-size:15.5px;}
.lock-card p{font-size:13.5px;color:var(--ink-60);line-height:1.6;}
.lock-ico{font-size:20px;}
/* AI 낙찰가 예상 카드 (9단계, price_ai) */
.ai-body{grid-template-columns:1fr;}
.ai-main{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:var(--white);}
.ai-cap{font-size:13px;font-weight:700;color:var(--ink-60);}
.ai-big{display:block;font-size:28px;font-weight:900;letter-spacing:-.03em;color:var(--blue);margin:4px 0 2px;}
.ai-sub{font-size:14px;font-weight:600;line-height:1.6;}
.ai-why{font-size:13px;color:var(--ink-60);line-height:1.6;margin-top:6px;}
.ai-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.ai-stats>div{border:1px solid var(--ink-08);border-radius:10px;padding:10px 12px;background:var(--white);}
.ai-stats span{display:block;font-size:12px;color:var(--ink-60);line-height:1.4;}
.ai-stats b{display:block;font-size:19px;font-weight:900;letter-spacing:-.03em;margin-top:2px;}
.ai-stats em{display:block;font-style:normal;font-size:11.5px;color:var(--ink-40);line-height:1.4;margin-top:2px;}
.ai-note{font-size:12.5px;color:var(--ink-60);line-height:1.6;}
.ai-card.locked{min-height:340px;}
.ai-card .lock-acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}

.rp-empty{background:#fff;border:1px dashed var(--ink-20);border-radius:16px;padding:24px;}
.rp-empty h2{font-size:18px;font-weight:900;margin-bottom:8px;}
.rp-empty p{font-size:14px;color:var(--ink-60);line-height:1.7;margin-bottom:12px;}
.rp-empty p:last-child{margin-bottom:0;}
.rp-empty.warn{border-color:#f3dca8;background:var(--amber-bg);}
.rp-empty.make{border-style:solid;}
.rp-empty .quota{font-size:13px;color:var(--ink-60);margin-left:10px;}
.lock-line{font-size:13.5px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:6px;}

.file-list{list-style:none;display:flex;flex-direction:column;}
.file-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--ink-08);font-size:14px;}
.fname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ext{font-size:11px;font-weight:800;padding:3px 6px;border-radius:5px;background:var(--gray);color:var(--ink-60);flex:none;min-width:42px;text-align:center;}
.ext-hwp,.ext-hwpx{background:#e6f0ff;color:#2a5bd7;}
.ext-pdf{background:#fdecea;color:#c5221f;}
.fstat{font-size:12px;color:var(--ink-40);white-space:nowrap;}
.file-list li.in-zip{padding-left:26px;font-size:13.5px;border-top-style:dashed;position:relative;}
.file-list li.in-zip::before{content:'└';position:absolute;left:8px;top:10px;color:var(--ink-40);font-size:12px;}

.consult-end{margin-top:28px;background:var(--ink);color:#fff;border-radius:18px;padding:28px;}
.consult-end h2{font-size:22px;font-weight:900;letter-spacing:-.04em;margin-bottom:8px;}
.consult-end p{font-size:14.5px;color:rgba(255,255,255,.72);line-height:1.7;max-width:620px;}
.oss-note{margin-top:14px;font-size:11.5px;color:var(--ink-40);line-height:1.6;text-align:center;}
.oss-note a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
.ce-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;}
.btn-kakao{background:#fee500;color:#191919;padding:12px 22px;border-radius:8px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;}
.btn-kakao:hover{background:#f5dc00;}

@media(max-width:760px){
  .bd-head{padding:18px 16px;}
  .bd-facts{grid-template-columns:1fr 1fr;}
  .bd-actions>*{flex:1 1 auto;}
  .rp-nav{top:56px;margin:0 -16px;padding:8px 16px;}
  .rp-sec{padding:16px;}
  .kv th{width:96px;}
  .box-pair,.emph-grid,.pc-body{grid-template-columns:1fr;}
  .req thead{display:none;}
  .req tr{display:grid;grid-template-columns:32px 1fr auto;gap:2px 8px;padding:10px 0;border-bottom:1px solid var(--ink-08);}
  .req td{border:none;padding:0;}
  .req .num{grid-row:span 2;width:auto;}
  .req .cat{width:auto;}
  .req td:nth-child(3){grid-column:2 / 4;}
  .req .src{grid-column:3;grid-row:1;width:auto;}
  .pc-stats b{font-size:16px;}
  .ai-stats{grid-template-columns:1fr 1fr;}
  .ai-big{font-size:23px;}
  .lock-over{inset:52px 0 0;}
  .consult-end{padding:22px 18px;}
  .ce-actions>*{flex:1 1 100%;}
}

/* ── 상담 모달 ── */
.cm{position:fixed;inset:0;z-index:500;background:rgba(10,10,15,.5);display:none;align-items:center;justify-content:center;padding:16px;}
.cm.open{display:flex;}
.cm-box{position:relative;background:#fff;border-radius:18px;width:100%;max-width:520px;max-height:calc(100vh - 32px);overflow-y:auto;padding:26px 26px 22px;box-shadow:0 24px 60px rgba(0,0,0,.25);}
.cm-x{position:absolute;top:14px;right:14px;width:34px;height:34px;border:none;background:var(--gray);border-radius:50%;cursor:pointer;font-size:14px;color:var(--ink-60);}
.cm-box h2{font-size:21px;font-weight:900;letter-spacing:-.04em;}
.cm-sub{font-size:13.5px;color:var(--ink-60);font-weight:700;margin:4px 0 14px;}
.cm-bid{background:var(--gray);border-radius:12px;padding:10px 14px;margin-bottom:14px;display:flex;flex-direction:column;gap:4px;}
.cm-bid div{display:flex;gap:10px;font-size:13.5px;line-height:1.5;}
.cm-bid dt{flex:0 0 44px;color:var(--ink-60);font-weight:600;}
.cm-bid dd{font-weight:700;}
.cm-f{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;font-size:13px;font-weight:700;}
.cm-f em,.cm-ready em{font-style:normal;font-weight:500;color:var(--ink-40);margin-left:4px;}
.cm-f input,.cm-f textarea{font:inherit;font-size:15px;font-weight:500;padding:10px 12px;border:1.5px solid var(--ink-20);border-radius:8px;resize:vertical;}
.cm-f input:focus,.cm-f textarea:focus{outline:none;border-color:var(--blue);}
.cm-ready{border:none;margin-bottom:12px;}
.cm-ready legend{font-size:13px;font-weight:700;margin-bottom:6px;}
.cm-ready label{display:inline-flex;margin:0 6px 6px 0;cursor:pointer;}
.cm-ready input{position:absolute;opacity:0;pointer-events:none;}
.cm-ready span{font-size:13.5px;font-weight:600;padding:7px 13px;border:1px solid var(--ink-20);border-radius:999px;}
.cm-ready input:checked+span{background:var(--blue);border-color:var(--blue);color:#fff;}
.cm-ready input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px;}
.cm-off{font-size:12.5px;font-weight:600;color:var(--ink-60);background:var(--gray);border-radius:8px;padding:8px 12px;margin:10px 0 0;}
.cm-actions .btn-primary:disabled{background:#c5cad3;color:#fff;cursor:not-allowed;}
.cm-agree{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink-60);line-height:1.5;cursor:pointer;}
.cm-agree input{width:16px;height:16px;margin-top:1px;accent-color:var(--blue);flex:none;}
.cm-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.cm-privacy{font-size:12px;color:var(--ink-40);margin:4px 0 0 24px;}
.cm-privacy a{color:var(--ink-60);text-decoration:underline;}
.cm-err{min-height:20px;font-size:13px;font-weight:700;color:var(--red);margin:8px 0 4px;}
.cm-actions{display:flex;gap:8px;flex-wrap:wrap;}
.cm-actions>*{flex:1 1 auto;}
.cm-done{text-align:center;padding:10px 0 4px;}
.cm-done p{font-size:14px;color:var(--ink-60);line-height:1.7;margin:8px 0 16px;}
.cm-check{width:52px;height:52px;border-radius:50%;background:var(--blue);color:#fff;font-size:26px;font-weight:900;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
@media(max-width:760px){
  .cm{align-items:flex-end;padding:0;}
  .cm-box{border-radius:18px 18px 0 0;max-height:92vh;padding:22px 18px 18px;}
}

/* ── 원문 보기 ── */
.sv{position:fixed;inset:0;z-index:450;background:#2b2d33;display:none;flex-direction:column;}
.sv.open{display:flex;}
.sv-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#16171b;color:#fff;}
.sv-name{flex:1;min-width:0;font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sv-nav{display:flex;align-items:center;gap:6px;}
.sv-nav button,.sv-x{width:36px;height:36px;border:none;border-radius:8px;background:rgba(255,255,255,.12);color:#fff;font-size:18px;cursor:pointer;}
.sv-nav button:disabled{opacity:.35;cursor:default;}
.sv-page{font-size:13px;font-weight:700;min-width:64px;text-align:center;}
.sv-x{font-size:14px;}
.sv-body{flex:1;overflow:auto;padding:20px 16px 40px;outline:none;}
.sv-page-wrap{max-width:860px;margin:0 auto;}
.sv-page-wrap svg,.sv-page-wrap canvas{display:block;width:100%;height:auto;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.35);}
.sv-msg{color:#fff;text-align:center;font-size:15px;line-height:1.8;padding:80px 16px;}
.sv-msg small{color:rgba(255,255,255,.6);}
@media(max-width:760px){
  .sv-bar{padding:8px 10px;gap:8px;}
  .sv-name{font-size:12.5px;}
  .sv-body{padding:10px 6px 30px;}
}

/* ── 10-24 수정: 부가세 표기, 기본 정보, 목록 버튼, 원문 칩 안내 ── */
.tg-wait{background:var(--gray);color:var(--ink-60);border:1px dashed var(--ink-20);}
.bc-price small,.vat{font-size:11.5px;font-weight:600;color:var(--ink-40);margin-left:2px;}
.chip-hint{align-self:center;font-size:12px;color:var(--ink-40);white-space:nowrap;margin-left:4px;}
.chip-row[data-key=consult] .chip-hint{white-space:normal;flex:1;min-width:0;}
@media(max-width:760px){.chip-hint{align-self:flex-start;white-space:normal;margin-left:0;}}
.corner-note{position:absolute;top:10px;right:14px;font-size:11.5px;font-weight:600;color:var(--ink-40);}
.vat-note{font-size:11.5px;font-weight:600;color:var(--ink-40);margin-left:auto;white-space:nowrap;}
.facts-wrap{position:relative;margin:18px 0;}
.facts-wrap .vat-note{display:block;text-align:right;margin-bottom:5px;}
.facts-wrap .bd-facts{margin:0;}
.bd-facts dd a{color:var(--ink);text-decoration:none;}
.rp-h .vat-note{margin-left:8px;}

.back-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.back-row.end{margin:20px 0 0;}
.back-btn{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:800;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;text-decoration:none;transition:background .15s,color .15s;}
.back-btn:hover{background:var(--gray);}
.crumb-no{font-size:12.5px;color:var(--ink-40);}

.basic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.bg-box{background:var(--white);border:1px solid var(--ink-08);border-radius:12px;padding:12px 14px;}
.bg-box h3{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:13.5px;font-weight:800;margin-bottom:8px;}
.bg-box h3 .vat-note{margin-left:0;white-space:normal;}
.bg-box dl{display:flex;flex-direction:column;gap:6px;}
.bg-box dl div{display:flex;gap:10px;font-size:13px;line-height:1.5;}
.bg-box dt{flex:0 0 104px;color:var(--ink-60);font-weight:600;}
.bg-box dd{font-weight:700;min-width:0;word-break:break-all;}
.bg-box dd a{color:var(--ink);text-decoration:none;}

.submit-how{display:flex;align-items:center;gap:10px;background:var(--gray);border-radius:10px;padding:10px 12px;margin:4px 0 6px;font-size:14px;line-height:1.5;}
.submit-how b{flex:none;color:var(--ink);}
.submit-how span{flex:1;}

.calc-fixed{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:700;color:var(--ink-60);}
.calc-fixed b{font-size:15px;color:var(--ink);padding:8px 10px;background:var(--gray);border-radius:8px;}
.calc-fixed em{font-style:normal;font-weight:500;color:var(--ink-40);font-size:11.5px;}

.f-acts{display:flex;align-items:center;gap:6px;flex:none;}
.dl{font-size:12px;font-weight:700;color:var(--ink);background:#fff;border:1px solid var(--ink-20);border-radius:999px;padding:4px 10px;text-decoration:none;white-space:nowrap;}
.dl:hover{border-color:var(--blue);color:var(--blue);}
.dl::before{content:"↓ ";}

.src-chip{display:inline-flex;align-items:center;gap:4px;}
.src-chip .ic{flex:none;}
.src-chip.pulse{animation:chip-pulse 1.4s ease-out 3;}
@keyframes chip-pulse{0%{box-shadow:0 0 0 0 rgba(0,92,255,.45);}100%{box-shadow:0 0 0 8px rgba(0,92,255,0);}}
.src-tip{position:absolute;z-index:30;width:250px;background:var(--ink);color:#fff;font-size:13px;line-height:1.55;border-radius:10px;padding:10px 32px 10px 12px;box-shadow:0 8px 24px rgba(0,0,0,.2);}
.src-tip::after{content:"";position:absolute;bottom:-6px;right:22px;border:6px solid transparent;border-bottom:none;border-top-color:var(--ink);}
.src-tip b{color:#9ec1ff;}
.src-tip button{position:absolute;top:6px;right:6px;width:22px;height:22px;border:none;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:11px;cursor:pointer;}
@media (prefers-reduced-motion:reduce){ .src-chip.pulse{animation:none;} }

@media(max-width:960px){ .basic-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:760px){
  .basic-grid{grid-template-columns:1fr;}
  .bg-box dt{flex-basis:96px;}
  .facts-wrap .vat-note{text-align:left;white-space:normal;}
  .rp-h{flex-wrap:wrap;}
  .rp-h .vat-note{flex-basis:100%;margin-left:0;order:9;}
  .file-list li{flex-wrap:wrap;}
  .fname{flex:1 1 calc(100% - 60px);}
  .f-acts{margin-left:52px;}
  .file-list li.in-zip .f-acts{margin-left:52px;}
  .submit-how{flex-wrap:wrap;}
}

/* 사업 개요 · 문의처 */
.contacts{margin-top:16px;border-top:1px solid var(--ink-08);padding-top:14px;}
.contacts h3{font-size:14.5px;font-weight:800;margin-bottom:8px;}
.contacts ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
.contacts li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;}
.ct-kind{font-size:12px;font-weight:800;padding:3px 8px;border-radius:6px;background:var(--gray);color:var(--ink-60);flex:none;}
.ct-kind.biz{background:var(--gray);color:var(--ink);}
.ct-who{flex:1;min-width:0;}
.ct-tel{font-weight:800;color:var(--ink);text-decoration:none;white-space:nowrap;}
.src-note{font-size:11.5px;font-weight:600;color:var(--ink-40);}
@media(max-width:760px){ .ct-who{flex-basis:calc(100% - 90px);} }

/* ── 회원 (6단계, members 플래그): 위쪽 띠, 별, 리포트 잠금, 로그인·가입·내 정보 ── */
.member-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;font-size:13px;color:var(--ink-60);margin-bottom:14px;}
.mbar-alert{display:flex;gap:8px;align-items:baseline;margin:-6px 0 14px;padding:9px 14px;border-radius:10px;background:var(--amber-bg);color:var(--amber);font-size:13.5px;text-decoration:none;line-height:1.5;}
.mbar-alert b{flex:none;white-space:nowrap;}
.mbar-alert span{color:var(--ink);}
.mbar-alert:hover span{text-decoration:underline;}
.member-bar .mbar-text b{color:var(--ink);}
.mbar-link{font-weight:700;color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:5px 12px;background:#fff;}
.member-bar.on .mbar-link{border-color:var(--ink-20);color:var(--ink);}
.mbar-acts{display:flex;align-items:center;gap:6px;}
.mbar-acts .mbar-text{margin-right:4px;}
.mbar-link.ghost{border-color:var(--ink-20);color:var(--ink);}
.mbar-link:not(.ghost){background:var(--blue);border-color:var(--blue);color:#fff;}
.member-bar.on .mbar-link{background:#fff;}
.mb-switch{font-size:13.5px;color:var(--ink-60);text-align:center;}
.mb-switch a{color:var(--ink-60);font-weight:700;text-underline-offset:2px;}
.mb-switch a:hover{color:var(--blue);}
.bc-wrap{position:relative;display:flex;}
.bc-wrap>.bc{flex:1;min-width:0;}
.bc-wrap .bc-top{padding-right:34px;}
.fav-star{position:absolute;top:10px;right:10px;width:34px;height:34px;border:none;background:none;font-size:20px;line-height:1;color:var(--ink-40);cursor:pointer;border-radius:8px;}
.fav-star:hover{background:var(--gray);color:var(--blue);}
.fav-star.on{color:#f5a700;}
.fav-btn.on{border-color:#f5a700;color:#9a6a00;}
.link-btn{background:none;border:none;padding:0;font:inherit;font-weight:700;color:var(--ink);cursor:pointer;text-decoration:underline;text-underline-offset:2px;}
.link-btn.danger{color:var(--red);}
.rp-lock{}
.lock-tag{font-size:12px;font-weight:700;color:var(--ink-60);background:var(--gray);border-radius:999px;padding:3px 10px;}
/* 잠긴 리포트 흐린 미리보기 (10-30): 항목 이름과 개수는 또렷하게, 내용 자리는 흐리게, 그 위 가운데에 잠금 카드 */
.lp-wrap{position:relative;}
.lp-list{display:flex;flex-direction:column;gap:10px;}
.lp-sec{border:1px solid var(--ink-20);border-radius:10px;padding:12px 14px;background:#fff;overflow:hidden;}
.lp-h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.lp-h b{font-size:14.5px;}
.lp-h span{font-size:12.5px;color:var(--ink-60);}
.lp-ph{filter:blur(4px);user-select:none;pointer-events:none;color:var(--ink-60);font-size:13px;line-height:1.7;}
.lp-line{white-space:nowrap;overflow:hidden;}
.lp-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;}
.lp-chip{display:inline-block;font-size:11.5px;padding:1px 8px;border-radius:999px;background:var(--gray);color:var(--blue);margin:0 0 6px;}
.lp-chips{display:flex;flex-wrap:wrap;gap:6px;}
.lp-chips .lp-chip{color:var(--ink-60);font-size:13px;padding:4px 10px;}
.lp-tbl{width:100%;border-collapse:collapse;}
.lp-tbl th,.lp-tbl td{border-bottom:1px solid var(--ink-08);padding:4px 6px;text-align:left;}
.lp-num{display:flex;gap:8px;align-items:baseline;}
.lp-num b{color:var(--blue);}
.lp-wrap .lock-over{inset:0;align-items:flex-start;padding-top:96px;}
.lp-wrap .lock-card{position:sticky;top:140px;}
.rp-lock .lock-card{max-width:none;margin:0 auto;box-shadow:none;}
.lock-acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:4px;}
.mb-page{max-width:520px;margin:12px auto 64px;background:#fff;border:1px solid var(--ink-20);border-radius:16px;padding:28px 26px;}
.mb-page.wide{max-width:760px;}
.mb-page.doc{max-width:760px;line-height:1.75;font-size:14.5px;}
.mb-page.doc h2{font-size:16px;font-weight:800;margin:22px 0 6px;}
.mb-page.doc ul{padding-left:20px;}
.mb-page.doc h3{font-size:15px;font-weight:800;margin:16px 0 4px;}
.mb-page.doc .table{overflow-x:auto;margin:10px 0;}
.mb-page.doc table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.6;min-width:560px;}
.mb-page.doc th,.mb-page.doc td{border:1px solid var(--ink-20);padding:8px 10px;text-align:left;vertical-align:top;}
.mb-page.doc th{background:var(--gray);font-weight:700;white-space:nowrap;}
.mb-page.doc .note{background:var(--gray);border-radius:10px;padding:12px 16px;font-size:13.5px;}
.mb-page.doc :is(p,li,td) > a:not(.btn-ghost){color:var(--blue);}
.mb-page.doc .nt-list{padding-left:0;}
.mb-page.doc .nt-list li > a:not(.btn-ghost){color:var(--ink);}
.mb-page h1{font-size:24px;font-weight:900;letter-spacing:-.03em;margin-bottom:8px;}
.mb-lead{font-size:15px;color:var(--ink-60);line-height:1.65;margin-bottom:18px;}
.mb-form{display:flex;flex-direction:column;gap:12px;}
.mb-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;}
.mb-field input{font:inherit;font-size:16px;font-weight:500;padding:12px 14px;border:1.5px solid var(--ink-20);border-radius:8px;}
.mb-field input:focus{outline:none;border-color:var(--blue);}
.mb-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.mb-msg{font-size:14px;line-height:1.6;color:var(--green);min-height:20px;}
.mb-msg.bad{color:var(--red);}
.mb-sub{font-size:16px;font-weight:800;margin:26px 0 10px;}
.mb-sub span{color:var(--ink-60);}
.mb-perks{list-style:none;display:flex;flex-direction:column;gap:8px;}
.mb-perks li{font-size:14px;color:var(--ink-60);line-height:1.6;background:var(--gray);border-radius:10px;padding:10px 12px;}
.mb-perks b{display:block;color:var(--ink);}
.mb-agree{display:flex;flex-direction:column;gap:10px;border:1px solid var(--ink-20);border-radius:12px;padding:14px;}
.mb-check{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.55;cursor:pointer;}
.mb-check input{margin-top:4px;width:16px;height:16px;flex:none;accent-color:var(--blue);}
.mb-agree-box{font-size:12.5px;color:var(--ink-60);line-height:1.7;background:var(--gray);border-radius:8px;padding:10px 12px;margin-left:24px;}
.mb-info{display:grid;gap:8px;}
.mb-info div{display:grid;grid-template-columns:120px 1fr;gap:10px;font-size:14.5px;}
.mb-info dt{color:var(--ink-60);font-weight:600;}
.mb-info dd b{color:var(--ink);font-size:17px;}
.mb-bids{list-style:none;display:flex;flex-direction:column;gap:8px;}
.mb-bid{position:relative;display:flex;flex-direction:column;gap:3px;border:1px solid var(--ink-20);border-radius:10px;padding:10px 46px 10px 12px;}
.mb-bid.removed{opacity:.45;}
.mb-bid.gone{color:var(--ink-60);}
.mb-bid-t{display:flex;gap:8px;align-items:center;font-size:14.5px;font-weight:700;color:var(--ink);text-decoration:none;}
.mb-bid-t em{font-style:normal;font-weight:500;font-size:12.5px;}
.mb-bid-t .dd{flex:none;white-space:nowrap;}
a.mb-bid-t:hover span{color:var(--blue);}
.mb-bid-m{font-size:12.5px;color:var(--ink-60);}
.mb-bid-d{position:absolute;top:12px;right:12px;font-size:12px;color:var(--ink-40);}
.mb-bid .fav-star{top:6px;right:6px;}
.mb-empty{font-size:14px;color:var(--ink-60);}
.mb-foot{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:18px;border-top:1px solid var(--ink-20);}
/* 내 정보 탭 (10-28) */
.mb-tabs{display:flex;gap:4px;border-bottom:1px solid var(--ink-20);margin:6px 0 20px;overflow-x:auto;scrollbar-width:none;}
.mb-tabs a{flex:none;padding:10px 14px;font-size:14.5px;font-weight:700;color:var(--ink-60);text-decoration:none;border-bottom:2.5px solid transparent;margin-bottom:-1px;}
.mb-tabs a span{color:var(--ink-40);font-weight:600;}
.mb-tabs a[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--blue);}
.mb-tabs a[aria-selected="true"] span{color:var(--ink-60);}
.mb-panel > .mb-sub:first-child{margin-top:0;}
.mb-more{display:block;margin:14px auto 0;}
.mb-more span{color:var(--ink-60);}
/* 공지 목록·상세 (10-28) */
.nt-list{list-style:none;border-top:1.5px solid var(--ink);}
.nt-list a{display:flex;align-items:center;gap:10px;padding:16px 4px;border-bottom:1px solid var(--ink-20);text-decoration:none;color:var(--ink);font-size:15px;}
.nt-list a:hover .nt-t{color:var(--blue);}
.nt-t{flex:1;min-width:0;}
.nt-d{flex:none;font-size:13px;color:var(--ink-40);}
.nt-tag{flex:none;font-size:12px;font-weight:700;color:var(--ink-60);background:var(--gray);border-radius:6px;padding:2px 7px;vertical-align:3px;}
.nt-tag.chg{color:var(--amber);background:var(--amber-bg);}
.nt-empty{padding:28px 0;text-align:center;border-top:1.5px solid var(--ink);border-bottom:1px solid var(--ink-20);}
.nt-back{font-size:13.5px;color:var(--ink-60);text-decoration:none;}
.nt-back:hover{color:var(--blue);}
.nt-head{margin:14px 0 20px;padding-bottom:16px;border-bottom:1px solid var(--ink-20);}
.nt-head h1{font-size:21px;line-height:1.45;margin-bottom:6px;}
.nt-meta{font-size:13px;color:var(--ink-40);}
.nt-body{font-size:15px;line-height:1.8;color:var(--ink);}
.nt-body p{margin-bottom:12px;}
.nt-body ul{padding-left:20px;margin-bottom:12px;}
.nt-link{margin-top:20px;}
@media(max-width:760px){
  .mbar-acts .mbar-text{display:none;}
  .mb-tabs a{padding:10px 9px;font-size:14px;}
  .nt-list a{flex-wrap:wrap;gap:4px 8px;}
  .nt-t{flex-basis:100%;order:2;}
  .nt-d{margin-left:auto;}
  .lp-cols{grid-template-columns:minmax(0,1fr);}
  .mb-page{padding:22px 18px;margin-top:4px;}
  .mb-info div{grid-template-columns:100px 1fr;}
  .mb-bid-d{position:static;}
}

/* ── 요금제·주문 (B단계 상품별 구독) ── */
.pl-page,.ck-page{max-width:1040px;margin:0 auto;}
.pl-head{margin:8px 0 24px;}
.pl-head h1{font-size:clamp(24px,3.2vw,32px);font-weight:800;letter-spacing:-.04em;margin-bottom:10px;}
.pl-head .sub{max-width:680px;}
.pl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch;}
.pl-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 22px;}
.pl-card.best{border:2px solid var(--blue);box-shadow:0 10px 30px rgba(0,92,255,.10);}
.pl-card.sel{outline:3px solid rgba(0,92,255,.25);outline-offset:2px;}
.pl-best{position:absolute;top:-12px;left:20px;background:var(--blue);color:#fff;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;}
.pl-card h2{font-size:19px;font-weight:800;letter-spacing:-.03em;}
.pl-lead{font-size:13.5px;color:var(--ink-60);margin-top:4px;min-height:20px;}
.pl-price{display:flex;align-items:baseline;gap:8px;margin-top:18px;}
.pl-price s{font-size:14px;color:var(--ink-40);}
.pl-price b{font-size:30px;font-weight:800;letter-spacing:-.04em;}
.pl-price span{font-size:13px;color:var(--ink-60);}
.pl-beta{font-size:12.5px;font-weight:700;color:var(--blue);margin-top:4px;}
.pl-feat{list-style:none;margin:18px 0 22px;display:flex;flex-direction:column;gap:9px;font-size:14px;line-height:1.55;}
.pl-feat li{padding-left:22px;position:relative;}
.pl-feat li::before{content:"";position:absolute;left:2px;top:6px;width:11px;height:6px;border-left:2px solid var(--ink-40);border-bottom:2px solid var(--ink-40);transform:rotate(-45deg);}
.pl-btn{margin-top:auto;width:100%;}
.pl-free{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;background:#fff;border:1px dashed var(--ink-20);border-radius:14px;padding:18px 22px;}
.pl-free b{font-size:15px;font-weight:800;}
.pl-free p{font-size:13.5px;color:var(--ink-60);margin-top:4px;line-height:1.6;}
.pl-faq{margin-top:36px;}
.pl-faq h2{font-size:18px;font-weight:800;letter-spacing:-.03em;margin-bottom:10px;}
.pl-faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:8px;}
.pl-faq summary{font-size:14.5px;font-weight:700;cursor:pointer;}
.pl-faq details p{font-size:14px;color:var(--ink-60);line-height:1.7;margin-top:8px;}

.ck-page h1{font-size:26px;font-weight:800;letter-spacing:-.04em;margin:14px 0 18px;}
.ck-grid{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start;}
.ck-main,.ck-sum{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;}
.ck-main h2,.ck-sum h2{font-size:15px;font-weight:800;margin-bottom:12px;}
.ck-main h2+*{margin-bottom:22px;}
.ck-opts{display:flex;flex-direction:column;gap:8px;}
.ck-opt{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;}
.ck-opt.on{border-color:var(--blue);background:var(--blue-light);}
.ck-opt input{accent-color:var(--blue);width:18px;height:18px;flex:none;}
.ck-opt span{flex:1;display:flex;flex-direction:column;gap:2px;}
.ck-opt b{font-size:15px;font-weight:800;}
.ck-opt em{font-style:normal;font-size:12.5px;color:var(--ink-60);}
.ck-opt strong{font-size:16px;font-weight:800;white-space:nowrap;}
.ck-opt small{font-size:12px;font-weight:600;color:var(--ink-60);margin-left:2px;}
.ck-pay{border:1px dashed var(--ink-20);border-radius:12px;padding:16px;font-size:14px;color:var(--ink-60);background:var(--white);}
.ck-who{font-size:13px;color:var(--ink-60);}
.ck-sum{position:sticky;top:76px;}
.ck-sum dl{display:flex;flex-direction:column;gap:9px;font-size:14px;}
.ck-sum dl div{display:flex;justify-content:space-between;gap:12px;}
.ck-sum dt{color:var(--ink-60);}
.ck-sum dd{font-weight:700;}
.ck-sum .minus{color:var(--ink-60);}
.ck-sum .total{border-top:1px solid var(--line);padding-top:12px;margin-top:4px;}
.ck-sum .total dt{color:var(--ink);font-weight:800;}
.ck-sum .total dd{font-size:22px;font-weight:800;letter-spacing:-.03em;}
.ck-agree{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;margin:14px 0 12px;line-height:1.5;cursor:pointer;}
.ck-agree input{accent-color:var(--blue);margin-top:3px;}
.ck-pay-btn{width:100%;padding:14px;font-size:16px;}
.ck-pay-btn:disabled{background:var(--ink-20);color:#fff;cursor:not-allowed;}
.pl-year{font-size:12.5px;color:var(--ink-60);margin-top:6px;}
/* 결제 내역 (결제 10-28) */
.mb-paymsg{font-size:14px;font-weight:700;border-radius:10px;padding:12px 14px;margin:0 0 14px;background:var(--gray);}
.mb-paymsg.ok{background:#e7f6ee;color:var(--green);}
.mb-paymsg.bad{background:var(--red-bg);color:var(--red);}
.mb-orders{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:12px;}
.mb-order{display:grid;grid-template-columns:1fr auto;gap:4px 12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;}
.mb-order.focus{border-color:var(--blue);}
.mb-order-t{font-size:15px;}
.mb-order-d{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr;gap:5px 14px;font-size:13.5px;margin-top:8px;}
.mb-order-d>div{display:contents;}
.mb-order-d dt{color:var(--ink-60);white-space:nowrap;}
.mb-order-d dd{overflow-wrap:anywhere;}
.mb-order .muted{color:var(--ink-40);}
.mb-refund-link{grid-column:1 / -1;justify-self:start;margin-top:8px;background:none;border:0;padding:0;font:inherit;font-size:13px;color:var(--ink-60);text-decoration:underline;cursor:pointer;}
.mb-refund{grid-column:1 / -1;margin-top:10px;background:var(--gray);border-radius:10px;padding:14px 16px;font-size:13.5px;line-height:1.6;}
.mb-refund b{display:block;font-size:14.5px;margin-bottom:6px;}
.mb-refund .mb-order-d{margin:4px 0 8px;}
.mb-refund-lose{margin:4px 0 10px 18px;}
.mb-refund-why{display:flex;flex-direction:column;gap:4px;font-weight:700;margin-bottom:10px;}
.mb-refund-why textarea{font:inherit;font-weight:400;border:1px solid var(--line);border-radius:8px;padding:8px 10px;resize:vertical;}
.mb-refund-acts{display:flex;gap:8px;flex-wrap:wrap;}
.mb-refund-acts>*{flex:1 1 160px;}
.mb-use{flex:none;font-size:11.5px;font-weight:800;border-radius:6px;padding:2px 7px;margin-right:6px;background:var(--gray);color:var(--ink-60);}
.mb-use.p-price{background:#fff4e5;color:var(--amber);}
.mb-order-s{font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px;margin-left:4px;background:var(--gray);color:var(--ink-60);}
.mb-order-s.s-paid{background:#e7f6ee;color:var(--green);}
.mb-order-s.s-failed{background:var(--red-bg);color:var(--red);}
.mb-order-s.s-refund_req,.mb-order-s.s-approving{background:var(--amber-bg);color:var(--amber);}
@media(max-width:860px){
  .pl-grid{grid-template-columns:1fr;gap:18px;}
  .ck-grid{grid-template-columns:1fr;}
  .ck-sum{position:static;}
  .pl-free{flex-direction:column;align-items:stretch;}
}

/* 포인트 컬러 원칙 (10-29 사용자 확정): 파란색은 주 버튼·고른 상태(탭·필터 칩·쪽 번호)·화면마다 가장 중요한 숫자 하나에만 쓴다.
   그 밖의 링크·태그·칩·번호·표 안 숫자는 남색·회색 단계로, 구역은 테두리보다 여백으로 나눈다 */

/* ── 상세 탭 (C단계, 플래그 detail_tabs). 데스크톱은 왼쪽 세로 탭, 760px 아래는 위쪽 가로 탭
   포인트 컬러는 고른 탭 표시·주 버튼에만 쓰고, 나머지는 회색 단계로 나눈다 ── */
.dt-head .bd-facts{display:none;}
.dt-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:22px 0 20px;border-top:1px solid var(--line);}
.dt-keys>div{padding:14px 16px 0 0;}
.dt-keys>div+div{padding-left:16px;border-left:1px solid var(--line);}
.dt-keys dt{font-size:12.5px;font-weight:600;color:var(--ink-60);}
.dt-keys dd{font-size:18px;font-weight:800;letter-spacing:-.02em;margin-top:4px;}
.dt-keys dd a{color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:5px;font-size:15px;border-bottom:1px dashed var(--ink-40);}
.dt-keys p{font-size:12px;color:var(--ink-40);margin-top:2px;}
/* 열기 전 낙찰가 칸: 흐린 자리표시 위에 자물쇠 버튼 (10-30) */
.dt-key-locked{position:relative;display:inline-flex;align-items:center;min-height:30px;}
.dt-key-ph{filter:blur(6px);user-select:none;color:var(--ink-60);}
.dt-keys dd .dt-key-lock{position:absolute;left:0;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer;text-decoration:none;box-shadow:0 1px 3px rgba(0,0,0,.06);}
.dt-keys dd .dt-key-lock:hover{border-color:var(--ink-40);}
.dt-keys dd .dt-key-lock:disabled{opacity:.6;cursor:default;}
.dt{display:grid;grid-template-columns:172px 1fr;gap:28px;margin-top:28px;align-items:start;}
.dt-tabs{position:sticky;top:84px;display:flex;flex-direction:column;gap:2px;}
.dt-tabs a{display:flex;align-items:center;gap:6px;padding:10px 12px;border-radius:8px;font-size:14.5px;font-weight:600;color:var(--ink-60);text-decoration:none;border-left:2.5px solid transparent;}
.dt-tabs a:hover{background:#fff;color:var(--ink);}
.dt-tabs a[aria-selected="true"]{background:#fff;color:var(--ink);font-weight:800;border-left-color:var(--blue);border-radius:0 8px 8px 0;}
.dt-lock{flex:none;color:var(--ink-40);}
.dt-body{min-width:0;}
.dt-panel.report{margin-top:0;}
.dt-panel[hidden]{display:none;}
.dt .rp-no{display:none;}
.dt-awards .num{text-align:right;}
.dt-awards td.nw{color:var(--ink-60);}
.dt-awards td b{font-weight:600;}
.dt-kind{display:block;font-size:11.5px;font-weight:600;color:var(--ink-40);}
.dt-fail{color:var(--ink-40);}
.dt-more{display:block;width:100%;margin-top:10px;padding:10px;font:inherit;font-size:13.5px;font-weight:700;color:var(--ink-60);background:var(--white);border:1px solid var(--line);border-radius:8px;cursor:pointer;}
.dt-more:hover{color:var(--ink);}
.dt-org-blur{position:relative;margin-top:14px;min-height:300px;}
.dt-org-ph{filter:blur(5px);user-select:none;pointer-events:none;}
.dt-org-ph .ai-stats{margin-bottom:12px;}
.dt-org-blur .lock-over{inset:0;align-items:flex-start;padding-top:36px;}
.dt-awards{width:100%;border-collapse:collapse;font-size:13px;}
.dt-awards th{text-align:left;font-size:12.5px;font-weight:600;color:var(--ink-60);padding:8px 10px 8px 0;border-bottom:1px solid var(--line);white-space:nowrap;}
.dt-awards td{padding:10px 10px 10px 0;border-bottom:1px solid var(--ink-08);white-space:nowrap;}
.dt-awards td.tt{white-space:normal;min-width:180px;line-height:1.5;}
.dt .tbl-wrap{overflow-x:auto;}
@media(max-width:760px){
  .dt-keys{grid-template-columns:1fr 1fr;}
  .dt-keys>div{padding:12px 10px 12px 0;}
  .dt-keys>div:nth-child(odd){padding-left:0;border-left:none;}
  .dt-keys>div:nth-child(n+3){border-top:1px solid var(--line);}
  .dt-keys dd{font-size:16px;}
  .dt{grid-template-columns:1fr;gap:14px;margin-top:18px;}
  .dt-tabs{top:56px;z-index:20;flex-direction:row;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px;background:rgba(242,244,248,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
  .dt-tabs::-webkit-scrollbar{display:none;}
  .dt-tabs a{flex:none;padding:12px 10px;border-left:none;border-bottom:2.5px solid transparent;border-radius:0;white-space:nowrap;}
  .dt-tabs a:hover{background:none;}
  .dt-tabs a[aria-selected="true"]{background:none;border-bottom-color:var(--blue);border-radius:0;}
  .tbl-wrap{overflow-x:auto;}
  .dt-awards thead{display:none;}
  .dt-awards tr{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 8px;padding:12px 0;border-bottom:1px solid var(--ink-08);}
  .dt-awards tr[hidden]{display:none;}
  .dt-awards td{border:none;padding:0;white-space:normal;}
  .dt-awards td.nw,.dt-awards td.tt,.dt-awards td.win{grid-column:1/-1;}
  .dt-awards td.tt{min-width:0;}
  .dt-awards .num{text-align:left;}
  .dt-awards .num::before{content:attr(data-k);display:block;font-size:11px;color:var(--ink-40);}
  .dt-awards td.win.ok::before{content:'낙찰 업체 ';color:var(--ink-40);font-size:12px;}
}

/* ── 경쟁 분석 탭 (10-31) ── */
.cp .cp-concl{background:var(--blue-light);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;font-size:14.5px;line-height:1.7;}
.cp .cp-concl b{color:var(--blue-dark);font-weight:800;}
.cp .cp-cap{font-size:12.5px;font-weight:700;color:var(--blue-dark);}
.cp .cp-act{font-weight:700;}
.cp-h{font-size:15.5px;font-weight:800;margin:28px 0 6px;letter-spacing:-.02em;}
.cp-desc{font-size:13px;color:var(--ink-60);line-height:1.65;margin:0 0 12px;}
.cp-tbl td span{display:block;font-size:11.5px;color:var(--ink-40);font-weight:400;margin-top:2px;}
.cp-tbl tr.on td{background:var(--blue-light);}
.cp-tbl tr.on td:first-child{box-shadow:inset 3px 0 0 var(--blue);padding-left:10px;}
.cp-tbl td.tt{min-width:200px;}
.cp-bars{margin-bottom:14px;}
.cp-sub{font-size:12.5px;font-weight:700;color:var(--ink-60);margin-bottom:6px;}
.cp-bar{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.cp-bar-k{flex:none;width:62px;font-size:12.5px;color:var(--ink-60);}
.cp-track{flex:1;display:flex;gap:2px;height:26px;}
.cp-seg{display:flex;align-items:center;padding:0 8px;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;min-width:0;}
.cp-seg:first-child{border-radius:4px 0 0 4px;}
.cp-seg:last-child{border-radius:0 4px 4px 0;}
.cp-seg:only-child{border-radius:4px;}
.cp-seg.s0{background:var(--blue);color:#fff;}
.cp-seg.s1{background:#7fa9ff;color:var(--ink);}
.cp-seg.s2{background:#d3e1ff;color:var(--ink);}
.cp-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start;}
.cp-col{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;}
.cp-col b{font-size:15px;font-weight:800;text-align:center;}
.cp-colbar{width:100%;max-width:72px;height:130px;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:4px;}
.cp-colbar i{display:block;width:100%;background:#b8cdfb;border-radius:4px 4px 0 0;}
.cp-col.on .cp-colbar i{background:var(--blue);}
.cp-col span{font-size:13px;font-weight:700;}
.cp-col span em{display:block;font-style:normal;font-size:11px;color:var(--blue);}
.cp-col small{font-size:11px;color:var(--ink-40);line-height:1.4;}
.cp-conv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px;}
.cp-conv>div{border:1px solid var(--ink-08);border-radius:10px;padding:10px 12px;background:var(--white);}
.cp-conv span{display:block;font-size:12px;color:var(--ink-60);line-height:1.4;}
.cp-conv b{display:block;font-size:18px;font-weight:900;letter-spacing:-.03em;margin-top:4px;}
@media(max-width:720px){
  .cp-conv{grid-template-columns:1fr;}
  .cp-cols{gap:6px;}
  .cp-bar-k{width:54px;}
  .cp-tbl tr{grid-template-columns:repeat(3,1fr);}
  .cp-tbl tr.on{background:var(--blue-light);border-radius:8px;padding:12px 10px;}
  .cp-tbl tr.on td,.cp-tbl tr.on td:first-child{background:none;box-shadow:none;padding:0;}
  .cp-tbl td.tt{grid-column:1/-1;}
}
/* AI 입찰가 분포 그래프 (10-31). 막대는 1%p 칸, 위치는 left % (render-detail.js distHtml, bid.js 계산기) */
.dist{border:1px solid var(--line);border-radius:12px;padding:14px 16px 10px;background:var(--white);}
.dist-cap{font-size:13px;font-weight:700;color:var(--ink-60);margin-bottom:28px;line-height:1.5;}
.dist-plot{position:relative;height:130px;border-bottom:1px solid var(--ink-20);}
.dist-bars{position:absolute;inset:0;display:flex;align-items:flex-end;gap:2px;}
.dist-bars i{flex:1;min-width:0;background:var(--ink-20);border-radius:3px 3px 0 0;}
.dist-bars i.on{background:var(--blue);}
.dist-band{position:absolute;top:-6px;bottom:0;background:var(--blue-light);border-radius:6px 6px 0 0;}
.dist-mark{position:absolute;top:-22px;bottom:0;width:0;border-left:1.5px dashed var(--ink);}
.dist-mark span{position:absolute;top:0;left:4px;font-size:11.5px;font-weight:800;white-space:nowrap;background:var(--white);padding:0 3px;border-radius:4px;}
.dist-mark.prev{border-color:var(--amber);top:18px;}
.dist-mark.prev span{color:var(--amber);}
.dist-mark.mine{border-left-style:solid;border-color:var(--blue);}
.dist-mark.mine span{color:var(--blue);}
.dist-mark.flip span{left:auto;right:4px;}
.dist-axis{position:relative;height:34px;margin-top:4px;}
.dist-axis span{position:absolute;top:0;transform:translateX(-50%);font-size:11px;font-weight:700;color:var(--ink-60);text-align:center;white-space:nowrap;}
.dist-axis em{display:block;font-style:normal;font-weight:500;color:var(--ink-40);font-size:10.5px;}
.dist-foot{font-size:12px;color:var(--ink-60);line-height:1.6;}
.dist-foot .lg{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px;margin:0 4px 0 0;}
.dist-foot .lg-band{background:var(--blue);}
.dist-foot .lg-bar{background:var(--ink-20);margin-left:8px;}
.pc-calc .dist{margin-top:12px;background:#fff;}
.pc-calc .dist-bars i{background:rgba(0,92,255,.32);}
.calc-table td em{display:block;font-style:normal;font-size:11px;color:var(--ink-40);}
@media (max-width:640px){
  .dist{padding:12px 12px 8px;}
  .dist-plot{height:110px;}
  .dist-bars{gap:1px;}
  .dist-axis em{display:none;}
}
/* 협상 AI 입찰가 분석 탭 (10-31 개편, render-detail.js negoGuide · bid.js 시뮬레이터) */
.pg-hero,.pg-sim{border:1px solid var(--line);border-radius:14px;padding:18px 20px;background:var(--white);}
.pg-cap{font-size:13px;font-weight:700;color:var(--ink-60);}
.pg-big{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:2px 0 8px;}
.pg-big b{font-size:32px;font-weight:900;letter-spacing:-.03em;color:var(--blue);}
.pg-big span{font-size:14px;font-weight:700;color:var(--ink-60);}
.pg-line{font-size:15px;line-height:1.7;}
.pg-line b{font-weight:800;}
.ruler{position:relative;margin:44px 4px 0;}
.rl-track{position:relative;height:12px;background:var(--gray);border-radius:999px;}
.rl-band{position:absolute;top:0;bottom:0;background:#7aa7ff;border-radius:999px;}
.rl-pin{position:absolute;top:-6px;height:24px;width:0;border-left:2px solid var(--ink);}
.rl-pin span{position:absolute;left:-2px;white-space:nowrap;font-size:12px;font-weight:800;}
.rl-pin.up span{bottom:26px;}
.rl-pin.down span{top:26px;}
.rl-pin.up2 span{bottom:44px;}
.ruler.tall{margin-top:62px;}
.rl-pin.flip span{left:auto;right:0;}
.rl-pin.rec{border-color:var(--blue);border-width:3px;}
.rl-pin.rec span{color:var(--blue);font-size:13px;}
.rl-pin.low{border-color:var(--ink-60);}
.rl-pin.low span{color:var(--ink-60);font-weight:700;}
.rl-pin.prev{border-color:var(--amber);}
.rl-pin.prev span{color:var(--amber);}
.rl-axis{position:relative;height:34px;margin-top:46px;}
.rl-axis span{position:absolute;top:0;transform:translateX(-50%);font-size:11.5px;font-weight:700;color:var(--ink-60);text-align:center;white-space:nowrap;}
.rl-axis em{display:block;font-style:normal;font-weight:500;color:var(--ink-40);font-size:10.5px;}
.rl-legend{font-size:12.5px;color:var(--ink-60);}
.rl-legend i{display:inline-block;width:18px;height:8px;border-radius:999px;background:#7aa7ff;margin-right:6px;vertical-align:1px;}
.pg-sim{margin-top:4px;}
.pg-h{font-size:17px;font-weight:900;letter-spacing:-.02em;margin-bottom:6px;}
.pg-desc{font-size:14px;color:var(--ink-60);line-height:1.65;}
.ev-split{margin-top:14px;}
.ev-split .split-bar{height:30px;font-size:12.5px;}
.sb-quant{background:#0b2e7a;}
.ev-q{font-size:12.5px;color:var(--ink-60);margin-top:6px;line-height:1.5;}
.sim-in{margin-top:18px;}
.sim-in label{font-size:13.5px;font-weight:800;}
.sim-range{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:12px;color:var(--ink-60);font-weight:700;}
.sim-range input{flex:1;accent-color:var(--blue);height:28px;}
.sim-gap{display:block;text-align:center;font-size:16px;font-weight:900;margin-top:2px;}
.pg-hint{font-size:12.5px;color:var(--ink-60);line-height:1.6;margin-top:6px;}
.sim-out{margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--blue-light);}
.sim-out b{display:block;font-size:20px;font-weight:900;color:var(--blue-dark);letter-spacing:-.02em;}
.sim-out span{display:block;font-size:13px;color:var(--ink-60);margin-top:4px;line-height:1.55;}
.sim-chart{margin-top:14px;}
.sc-cap{font-size:13px;font-weight:700;color:var(--ink-60);margin-bottom:8px;}
.sc-plot{position:relative;height:160px;border-left:1px solid var(--ink-20);border-bottom:1px solid var(--ink-20);}
.sc-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.sc-line{fill:none;stroke:var(--blue);stroke-width:2.5;}
.sc-zero{stroke:var(--ink-20);stroke-width:1;}
.sc-need{stroke:var(--red);stroke-width:1.5;stroke-dasharray:5 4;}
.sc-need-lbl{position:absolute;right:4px;transform:translateY(-120%);font-size:11.5px;font-weight:800;color:var(--red);}
.sc-dot{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--red);border:2px solid #fff;box-shadow:0 0 0 1px var(--red);}
.sc-lbl{position:absolute;transform:translate(8px,6px);font-size:12px;font-weight:900;white-space:nowrap;}
.sc-lbl.flip{transform:translate(calc(-100% - 8px),6px);}
.sim-chart .dist-axis{margin-top:6px;}
.sim-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:14px;}
.sim-table th,.sim-table td{padding:7px 8px;border-top:1px solid var(--ink-08);text-align:right;}
.sim-table th{font-size:12px;color:var(--ink-60);}
.sim-table th:first-child,.sim-table td:first-child{text-align:left;}
.sim-table tr.on td{background:var(--blue-light);font-weight:800;}
.sim-table td.no{color:var(--ink-40);}
.pg-assume{font-size:12.5px;color:var(--ink-60);line-height:1.6;margin-top:12px;}
.sim-rival{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-weight:700;}
.sim-rival input{font:inherit;font-weight:700;width:130px;padding:4px 8px;border:1.5px solid var(--ink-20);border-radius:6px;text-align:right;}
.pg-more{border:1px solid var(--line);border-radius:12px;background:#fff;}
.pg-more summary{list-style:none;cursor:pointer;padding:14px 16px;font-size:14.5px;font-weight:800;display:flex;justify-content:space-between;align-items:center;}
.pg-more summary::-webkit-details-marker{display:none;}
.pg-more summary::after{content:'+';font-size:18px;color:var(--ink-40);}
.pg-more[open] summary::after{content:'−';}
.pg-more-in{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.7;}
.pg-note{font-size:12.5px;color:var(--ink-60);line-height:1.6;}
@media (max-width:640px){
  .pg-hero,.pg-sim{padding:16px 14px;}
  .pg-big b{font-size:27px;}
  .rl-axis em{display:none;}
  .sim-out b{font-size:17px;}
  .sc-plot{height:140px;}
}
/* 11-01: 기술평가 만점 기준 시뮬레이터 · 경쟁 분석 개편 */
.pg-cmp{font-size:13px;line-height:1.6;margin-top:8px;padding:8px 12px;background:var(--gray);border-radius:8px;}
.sim-vs{margin-top:14px;}
.vs-row{display:grid;grid-template-columns:150px 1fr 48px;align-items:center;gap:10px;margin-top:6px;}
.vs-k{font-size:13px;font-weight:800;line-height:1.3;}
.vs-k em{display:block;font-style:normal;font-weight:500;font-size:11.5px;color:var(--ink-60);}
.vs-bar{display:flex;height:28px;background:var(--gray);border-radius:6px;overflow:hidden;}
.vs-bar i{display:flex;align-items:center;padding:0 8px;font-style:normal;font-size:11.5px;font-weight:700;white-space:nowrap;overflow:hidden;}
.vs-bar i.t{background:var(--blue);color:#fff;}
.vs-bar i.p{background:#7aa7ff;color:var(--ink);}
.vs-row b{font-size:16px;font-weight:900;text-align:right;}
.sim-table td em{display:block;font-style:normal;font-size:11px;color:var(--ink-40);}
.cp-people{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:var(--white);margin-bottom:14px;}
.cp-cap2{font-size:13px;font-weight:700;color:var(--ink-60);}
.cp-big{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:2px 0 10px;}
.cp-big b{font-size:28px;font-weight:900;color:var(--blue);letter-spacing:-.03em;}
.cp-big span{font-size:14px;font-weight:700;color:var(--ink-60);}
.cp-hist{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;height:130px;align-items:end;margin-bottom:10px;}
.cp-hist>div{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:3px;}
.cp-hist i{display:block;width:100%;max-width:56px;background:#b8cdfb;border-radius:4px 4px 0 0;min-height:2px;}
.cp-hist .on i{background:var(--blue);}
.cp-hist em{font-style:normal;font-size:11.5px;font-weight:800;}
.cp-hist span{font-size:11.5px;color:var(--ink-60);white-space:nowrap;}
.cp .cp-head{font-size:18px;font-weight:900;letter-spacing:-.02em;color:var(--ink);}
.cp-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.cp-tiles>div{background:#fff;border-radius:10px;padding:10px 12px;}
.cp-tiles span{display:block;font-size:12px;color:var(--ink-60);line-height:1.4;}
.cp .cp-tiles b{display:block;font-size:19px;font-weight:900;letter-spacing:-.02em;margin-top:2px;color:var(--ink);}
.cp-tiles em{display:block;font-style:normal;font-size:11px;color:var(--ink-40);}
.cp-more{margin-top:24px;}
@media (max-width:640px){
  .vs-row{grid-template-columns:96px 1fr 40px;gap:6px;}
  .cp-tiles{grid-template-columns:1fr 1fr;}
  .cp-hist{gap:3px;}
  .cp-hist span{font-size:10px;}
}
.cp-line{font-size:14px;line-height:1.6;margin:-4px 0 12px;}
.cp-acc{font-size:13px;line-height:1.55;color:var(--ink-60);margin:-4px 0 0;}
.cp-acc b{color:var(--ink);}
.cp-hist em{display:flex;flex-direction:column;align-items:center;line-height:1.2;}
.cp-hist em small{font-size:10.5px;font-weight:600;color:var(--ink-40);}
