@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400&family=Noto+Sans+KR:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700&display=swap');
:root{--bg:#F8F7F3;--card:#FFFEFA;--sub-bg:#F2EFE9;--ink:#383634;--muted:#6E6A66;--light:#9C9791;--line:rgba(56,54,52,.08);--line2:#E8E4DC;--dash:#DCD7CE;--wash:#DCE7EA;--wash-l:#EBF1F2;--wash-d:#526E75;--sprout:#8FA67E;--sprout-bg:#EEF3EA;--sprout-d:#4E633E;--blush:#F2E6E1;--brand:#526E75;--brand-dk:#3F565C;--sub:#7F959A;--c900:#383634;--c800:#526E75;--c300:#DCE7EA;--c200:#E3ECEE;--soft:#EBF1F2;--soft2:#F3F6F7;--ok:#5A7049;--warn:#9A6B00;--bad:#A85C5C;--r:9px;--shadow:0 10px 30px rgba(56,54,52,.04);--mono:"Plus Jakarta Sans",sans-serif;--serif:"Gowun Batang",serif;--serif-en:"Newsreader",serif}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:14.5px/1.6 "Noto Sans KR",-apple-system,"Malgun Gothic",sans-serif;letter-spacing:-.015em;-webkit-font-smoothing:antialiased}
::selection{background:var(--wash);color:var(--ink)}
h1,h2,.serif{font-family:var(--serif)}.serif-en{font-family:var(--serif-en)}
::-webkit-scrollbar{height:4px;width:4px}::-webkit-scrollbar-thumb{background:var(--dash);border-radius:4px}
a{color:var(--brand);text-decoration:none}
.mono,.num,td.num,th.num{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:0}
.band{background:var(--wash-l);border-bottom:1px solid rgba(82,110,117,.1);font-size:12px;color:var(--wash-d);padding:8px 24px}
.band .in{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.band .k{background:var(--card);border:1px solid var(--wash);color:var(--wash-d);font-size:11px;padding:1px 8px;border-radius:6px;margin-right:8px;font-weight:500}
.band .r{color:var(--muted);font-family:var(--serif-en);font-size:13px}
.band a.adm{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--c800);background:rgba(255,255,255,.7);border:1px solid rgba(190,212,215,.8);padding:1px 7px;border-radius:4px}
header.top{position:sticky;top:0;z-index:10;background:rgba(248,247,243,.88);border-bottom:1px solid var(--line);padding:0 24px;height:68px;display:flex;align-items:center;gap:16px}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);line-height:1.1}
.logo b{display:block;flex:none;width:44px;height:44px;border-radius:50%;overflow:hidden;background:#FAF9F5;border:1px solid #E6E2D9;box-shadow:0 2px 6px rgba(56,54,52,.06)}
.logo b img{display:block;width:100%;height:100%;object-fit:cover}
.logo .t{font-family:var(--serif);font-weight:700;font-size:19px;letter-spacing:-.01em}
.logo .t small{display:none}
.logo .d{display:block;font-family:var(--serif-en);font-size:12px;color:var(--light);letter-spacing:.02em;margin-top:1px}
nav.menu{display:flex;gap:2px;margin-left:auto;align-items:center}
nav.menu .pill{display:flex;padding:4px;background:var(--sub-bg);border-radius:12px;gap:4px;margin-right:10px}
nav.menu a{padding:8px 14px;border-radius:9px;color:var(--muted);font-size:13.5px;font-weight:500;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;transition:.2s}
nav.menu a:hover{color:var(--ink);background:var(--soft2)}
nav.menu .pill a.on{background:var(--card);color:var(--ink);box-shadow:0 2px 8px rgba(56,54,52,.06)}
nav.menu a.on:not(.pill a){color:var(--ink);background:var(--soft2)}
nav.menu a .dot{width:7px;height:7px;border-radius:50%;background:var(--sprout)}
nav.menu a .tg{font-size:11px;background:var(--wash-l);color:var(--wash-d);padding:1px 6px;border-radius:5px}
main{max-width:1080px;margin:0 auto;padding:28px 24px 72px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:18px;box-shadow:var(--shadow)}
h1{font-size:22px;font-weight:700;margin:0 0 16px}h2{font-size:17px;font-weight:700;margin:0 0 12px}h3{font-family:var(--serif-en);font-size:13.5px;font-weight:500;font-style:italic;margin:18px 0 8px;color:var(--wash-d);letter-spacing:.02em;text-transform:none}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:700px){.grid2{grid-template-columns:1fr}header.top{padding:0 14px}main{padding:16px 14px 72px}}
label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
input,select,textarea{width:100%;padding:9px 12px;border:1px solid var(--line2);border-radius:var(--r);font:inherit;background:var(--card);color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--wash);box-shadow:0 0 0 3px var(--wash-l)}
input[type=number]{font-family:var(--mono)}
textarea{min-height:80px;resize:vertical}
.field{margin-bottom:12px}
.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:10px;border:1px solid #D5D0C8;background:var(--card);color:var(--ink);font:inherit;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:.2s}
.btn:hover{background:var(--sub-bg)}
.btn.p{background:var(--ink);border-color:var(--ink);color:#FFFEFA}.btn.p:hover{background:#4c4946}
.btn.o{border-color:#D5D0C8;color:var(--ink);background:var(--card)}.btn.o:hover{background:var(--sub-bg)}
.btn.s{padding:5px 11px;font-size:12.5px;border-radius:8px}.btn.danger{color:var(--bad);border-color:#E9C9C9}.btn.ok{background:var(--wash-d);border-color:var(--wash-d);color:#FFFEFA}
.btn:disabled{opacity:.5;cursor:default}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{font-size:11.5px;color:var(--muted);font-weight:500;background:var(--sub-bg);letter-spacing:.02em;border-bottom:1px solid var(--line2)}
td.num,th.num{text-align:right}
tr.click{cursor:pointer}tr.click:hover td{background:var(--soft2)}
.badge{display:inline-block;padding:2px 9px;border-radius:6px;font-size:11.5px;font-weight:500;border:1px solid var(--line2);color:var(--muted);background:var(--card);line-height:1.6;vertical-align:middle}
.st-quoted,.st-approved,.st-ordered,.st-arrived,.st-delivered,.st-invoiced{border-color:var(--wash);color:var(--wash-d);background:var(--wash-l)}
.st-requested{border-color:var(--line2);color:var(--muted);background:var(--sub-bg)}
.st-revise{border-color:var(--bad);color:var(--bad);background:#FBF3F3}
.st-paid{border-color:rgba(143,166,126,.4);color:var(--sprout-d);background:var(--sprout-bg)}
.st-cancelled{color:#9CA3AF;border-style:dashed}
.muted{color:var(--muted);font-size:13px}
.steps{display:flex;margin:10px 0 18px;overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.steps span{flex:1;min-width:64px;text-align:center;font-size:12px;padding:8px 4px;color:var(--light);border-right:1px solid var(--line)}
.steps span:last-child{border-right:0}
.steps span.done{background:var(--wash-l);color:var(--wash-d)}.steps span.now{background:var(--ink);color:#fff;font-weight:700}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:9px 16px;border-radius:var(--r);font-size:13.5px;z-index:99;opacity:0;transition:.2s}
.toast.show{opacity:1}
.modal-bg{position:fixed;inset:0;background:rgba(56,54,52,.35);display:none;align-items:center;justify-content:center;z-index:50;padding:16px}
.modal-bg.show{display:flex}
.modal{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;width:100%;max-width:560px;max-height:92vh;overflow:auto;box-shadow:0 20px 60px rgba(56,54,52,.12)}
.modal.wide{max-width:980px}
.item-row{display:grid;grid-template-columns:2fr 2fr 70px 1.2fr 32px;gap:8px;margin-bottom:8px;align-items:center}
@media(max-width:700px){.item-row{grid-template-columns:1fr 1fr;}.item-row .x{grid-column:2;justify-self:end}}
.kv{display:grid;grid-template-columns:110px 1fr;gap:6px 10px;font-size:13.5px}.kv dt{color:var(--muted)}.kv dd{margin:0}
.log{border-left:2px solid var(--line);padding-left:12px;margin:8px 0}.log .t{font-size:11.5px;color:var(--muted);font-family:var(--mono)}
.log.c{border-color:var(--brand)}
.sum{display:grid;grid-template-columns:1fr auto;gap:5px 18px;font-size:13.5px;max-width:360px;margin-left:auto;padding:12px 14px;background:var(--bg);border-top:1px dashed var(--dash);border-radius:10px}
.sum span:nth-child(even),.sum b:last-child{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}
.sum b{font-size:15px;border-top:1px solid var(--line);padding-top:6px;margin-top:2px}.sum b:last-child{color:var(--wash-d)}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto}
.tabs a{padding:8px 12px;border-bottom:2px solid transparent;color:var(--muted);white-space:nowrap;cursor:pointer;font-size:13.5px}
.tabs a.on{color:var(--ink);border-color:var(--ink);font-weight:600}
.stat{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--wash);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow)}
.stat .n{font-size:22px;font-weight:700;font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat .l{font-size:11.5px;color:var(--muted);margin-top:2px}
.stat.warn{border-top-color:#D9B5B0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px}
.thumb{width:44px;height:44px;object-fit:cover;border-radius:8px;background:var(--sub-bg);border:1px solid var(--line)}
.search-res tr td:first-child{width:52px}
.empty{padding:32px;text-align:center;color:var(--muted)}
.inline{width:auto;display:inline-block}
/* ---- 홈 ---- */
.hero{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:44px 48px;margin-bottom:56px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.hero:before{content:'';position:absolute;top:-140px;right:-160px;width:820px;height:700px;background:radial-gradient(240px 200px at 40% 45%,rgba(220,231,234,.7),rgba(220,231,234,0)),radial-gradient(200px 170px at 68% 32%,rgba(238,243,234,.75),rgba(238,243,234,0)),radial-gradient(220px 160px at 55% 70%,rgba(242,230,225,.5),rgba(242,230,225,0));pointer-events:none}
.hero>*{position:relative}
.hero .eyebrow{display:inline-flex;align-items:center;gap:6px;font-family:var(--serif-en);font-size:12.5px;color:var(--wash-d);background:var(--wash-l);padding:5px 12px;border-radius:8px;margin-bottom:18px;letter-spacing:.04em}
.hero h1{font-size:32px;line-height:1.38;margin:0 0 14px;font-weight:700;word-break:keep-all}
.hero p{max-width:480px;color:var(--muted);margin:0 0 28px;font-size:15.5px}
.polas{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pola{background:var(--bg);padding:10px 10px 14px;border-radius:14px;border:1px solid var(--line);box-shadow:0 8px 20px rgba(56,54,52,.05);color:var(--ink)}
.pola:nth-child(2){transform:translateY(16px)}
.pola .im{width:100%;height:140px;object-fit:cover;border-radius:9px;margin-bottom:10px;display:block;background:var(--sub-bg)}
.pola .tg{font-family:var(--serif-en);font-size:11.5px;color:var(--light)}.pola .nm{font-size:13px;font-weight:500;margin:2px 0 3px}.pola .pr{font-family:var(--mono);font-size:12px;color:var(--wash-d)}
.sec-h{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 20px;gap:12px;flex-wrap:wrap}
.sec-h h2{margin:0;font-size:22px;display:flex;align-items:center;gap:12px}
.sec-h .pill-g{font-family:"Noto Sans KR",sans-serif;font-size:12px;padding:3px 10px;border-radius:20px;background:var(--sprout-bg);color:#5A7049;font-weight:500}
.sec-h .mono{font-family:var(--serif-en);font-size:13.5px;color:var(--light);letter-spacing:0}
.chips{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}
.chips a{padding:7px 15px;border-radius:20px;font-size:13px;background:var(--card);border:1px solid var(--line);color:var(--muted);cursor:pointer}
.chips a.on{background:var(--ink);color:#FFFEFA;border-color:var(--ink)}
.igrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:64px}
.icard{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);transition:transform .25s;display:flex;flex-direction:column;color:var(--ink)}
.icard:hover{transform:translateY(-4px)}
.icard .tw{position:relative;aspect-ratio:4/3.2;background:var(--sub-bg);overflow:hidden;display:flex;align-items:center;justify-content:center}
.icard .tw img{width:100%;height:100%;object-fit:cover;display:block}
.icard .tw .ph{font-family:var(--serif-en);font-style:italic;color:var(--light);font-size:13px}
.icard.sold .tw img{filter:grayscale(1);opacity:.55}
.icard .no{position:absolute;top:12px;left:12px;background:rgba(255,254,250,.9);padding:3px 9px;border-radius:6px;font-family:var(--serif-en);font-size:12.5px;color:var(--ink)}
.cb{position:absolute;top:12px;right:12px;background:var(--sprout-bg);color:var(--sprout-d);border:1px solid rgba(143,166,126,.3);padding:3px 9px;border-radius:6px;font-size:11px;font-weight:500}
.cb.b2b{background:var(--wash-l);color:var(--wash-d);border-color:var(--wash)}.cb.sold{background:var(--sub-bg);color:var(--light);border-color:var(--line2)}
.icard .bd{padding:18px 20px 20px;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.icard .cat{font-family:var(--serif-en);font-size:12px;color:var(--light);letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px}
.icard .nm{font-size:16px;font-weight:600;margin-bottom:5px;line-height:1.4}
.icard .st{font-size:13px;color:var(--muted);line-height:1.55}
.rcpt{background:var(--bg);border-radius:10px;padding:12px 14px;border-top:1px dashed var(--dash);font-variant-numeric:tabular-nums}
.rcpt .r{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:3px}
.rcpt .t{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding-top:6px;border-top:1px solid var(--line);font-size:14.5px;font-weight:600}
.rcpt .t .n{font-family:var(--mono);color:var(--wash-d)}
.rcpt.only .t{margin-top:0;padding-top:0;border-top:0}
.proc{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:48px}
.proc>div{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--wash);border-radius:14px;padding:22px 20px;box-shadow:var(--shadow)}
.proc .no{font-family:var(--serif-en);font-style:italic;font-size:15px;color:var(--wash-d);margin-bottom:8px}
.proc b{display:block;margin-bottom:8px;font-size:16px;font-family:var(--serif)}.proc p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.foot{border-top:1px solid var(--line);padding:32px 0 0;margin-top:40px;color:var(--light);font-size:12.5px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.arch{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.arch .it,.arch .img,.arch .b,.arch .cat,.arch .nm,.tag,.stamp{}
.tag,.stamp{display:inline-flex;gap:6px;align-items:center;font-family:var(--serif-en);font-size:12.5px;background:var(--wash-l);color:var(--wash-d);border-radius:8px;padding:4px 10px;white-space:nowrap;letter-spacing:.03em}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding:30px 24px}.igrid{grid-template-columns:1fr 1fr;gap:14px}.proc{grid-template-columns:1fr 1fr}}
/* ---- MARKET ---- */
.mk-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:8px 0 18px;border-bottom:1px solid var(--line);margin-bottom:20px;flex-wrap:wrap}
.mk-head h1{margin:0;font-size:26px}
.mk-cats{display:flex;gap:4px;flex-wrap:wrap}.mk-cats a{font-size:13px;padding:7px 15px;border:1px solid var(--line);border-radius:20px;color:var(--muted);cursor:pointer;background:var(--card)}
.mk-cats a.on{background:var(--ink);color:#FFFEFA;border-color:var(--ink)}
.mk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px 16px}
.pc{display:block;color:var(--ink)}
.pc .ph{position:relative;aspect-ratio:1/1;background:var(--sub-bg);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--light);font-family:var(--serif-en);font-style:italic;font-size:13px;box-shadow:var(--shadow)}
.pc .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:.25s}
.pc:hover .ph img{transform:scale(1.02)}
.pc.sold .ph img{filter:grayscale(1);opacity:.55}
.pc .so{position:absolute;inset:0;background:rgba(248,247,243,.5);display:flex;align-items:center;justify-content:center}
.pc .so span{font-family:var(--serif-en);font-size:13px;letter-spacing:.14em;border:1px solid var(--ink);color:var(--ink);padding:5px 14px;background:var(--card);border-radius:6px}
.pc .no{position:absolute;top:10px;left:10px;font-family:var(--serif-en);font-size:12px;color:var(--ink);background:rgba(255,254,250,.9);padding:3px 9px;border-radius:6px}
.pc .in{padding:10px 2px 0;display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:baseline}
.pc .cat{grid-column:1/-1;font-family:var(--serif-en);font-size:12px;color:var(--light);letter-spacing:.04em;text-transform:uppercase}
.pc .nm{font-size:15px;font-weight:600;line-height:1.4}
.pc .pr{font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--wash-d);font-weight:600}
.pc .cd{grid-column:1/-1;font-size:11.5px;color:var(--muted)}
.cond{display:inline-block;font-size:11px;border:1px solid rgba(143,166,126,.3);padding:1px 8px;border-radius:6px;color:var(--sprout-d);background:var(--sprout-bg);font-weight:500}
/* 상세 */
.pd{display:grid;grid-template-columns:1.15fr 1fr;gap:32px}
@media(max-width:820px){.pd{grid-template-columns:1fr;gap:20px}}
.sl{position:relative;aspect-ratio:1/1;background:var(--sub-bg);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.sl img{width:100%;height:100%;object-fit:cover;display:block}
.sl .nav{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border:1px solid var(--line);background:rgba(255,255,255,.9);border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--mono)}
.sl .nav.l{left:10px}.sl .nav.r{right:10px}
.sl .ct{position:absolute;right:10px;bottom:10px;font-family:var(--mono);font-size:11px;background:rgba(255,255,255,.9);padding:2px 7px;border-radius:2px;letter-spacing:.1em}
.thumbs{display:flex;gap:6px;margin-top:8px;overflow-x:auto}.thumbs img{width:60px;height:60px;object-fit:cover;border:1px solid var(--line);border-radius:3px;cursor:pointer;opacity:.6}.thumbs img.on{opacity:1;border-color:var(--brand)}
.pd .eyebrow{font-family:var(--serif-en);font-size:13px;color:var(--light);letter-spacing:.04em;margin-bottom:8px}
.pd h1{font-size:26px;margin:0 0 6px;line-height:1.35}
.pd .price{font-family:var(--mono);font-size:24px;font-variant-numeric:tabular-nums;margin:10px 0 18px;color:var(--wash-d)}
.spec{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 0;margin:0 0 18px}
.spec div{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:13.5px}.spec div:last-child{border-bottom:0}
.spec dt{font-family:var(--serif-en);font-size:12.5px;color:var(--light);letter-spacing:.04em;padding-top:2px}.spec dd{margin:0}
.story{white-space:pre-line;color:#3B4249;font-size:14px;line-height:1.75;margin-bottom:22px}
.order-box{border:1px solid var(--line);border-top:3px solid var(--wash);border-radius:16px;padding:20px;background:var(--card);box-shadow:var(--shadow)}
.order-box h2{font-size:14px;letter-spacing:.04em}
.bank{font-family:var(--mono);font-size:13px;background:var(--bg);border-top:1px dashed var(--dash);border-radius:8px;padding:10px 12px;margin:10px 0}
.done{text-align:center;padding:40px 20px}.done .no{font-family:var(--serif-en);font-size:24px;letter-spacing:.06em;margin:8px 0 16px;color:var(--wash-d)}
.ord{display:grid;grid-template-columns:90px 1fr;gap:6px 12px;font-size:13.5px;text-align:left;max-width:460px;margin:0 auto}.ord dt{color:var(--muted);font-family:var(--mono);font-size:11.5px;padding-top:2px}.ord dd{margin:0}
@media(max-width:700px){.mk-grid{grid-template-columns:1fr 1fr;gap:16px 10px}.pc .nm{font-size:13px}.pc .pr{font-size:12.5px}}

/* ---- 모바일 전용 ---- */
.tabbar{display:none}
@media(max-width:700px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  nav.menu .pill,nav.menu a[href="/requests.html"]{display:none}
  nav.menu a{padding:6px 8px;font-size:13px}
  header.top{height:56px;padding:0 14px}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(255,254,250,.96);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:10px;color:var(--light);font-size:10.5px;letter-spacing:-.01em}
  .tabbar a i{font-style:normal;font-family:var(--serif-en);font-size:17px;line-height:1;color:currentColor}
  .tabbar a.on{color:var(--ink);background:var(--wash-l)}
  .tabbar a.on i{color:var(--wash-d)}
  .tabbar a .dot{width:6px;height:6px;border-radius:50%;background:var(--sprout);position:absolute}
  main{padding:14px 14px 40px}
  .card{padding:16px;border-radius:14px}
  h1{font-size:20px}.sec-h h2{font-size:18px}.sec-h{margin-bottom:12px}
  .chips{gap:6px;margin-bottom:14px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;-webkit-overflow-scrolling:touch}.chips a{white-space:nowrap;padding:6px 12px;font-size:12.5px}
  .mk-head{padding:4px 0 12px;margin-bottom:12px}.mk-head h1{font-size:22px}.mk-cats{overflow-x:auto;flex-wrap:nowrap;width:100%;-webkit-overflow-scrolling:touch}.mk-cats a{white-space:nowrap;padding:6px 12px}
  .igrid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:36px}.icard{border-radius:12px}.icard .bd{padding:10px 11px 12px;gap:10px}.icard .nm{font-size:13.5px}.icard .st{display:none}.icard .cat{font-size:10.5px}
  .icard .no{top:8px;left:8px;font-size:11px;padding:2px 7px}.cb{top:8px;right:8px;font-size:10px;padding:2px 6px}
  .rcpt{padding:8px 10px}.rcpt .r{font-size:11px}.rcpt .t{font-size:13px}
  .pola .im{height:96px}
  .proc{grid-template-columns:1fr;gap:10px;margin-bottom:28px}.proc>div{padding:16px}
  .foot{flex-direction:column;gap:4px;font-size:11.5px;padding-top:20px}
  /* 표 → 가로 스크롤 */
  .card>table,.tbl{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .card>table thead,.card>table tbody,.card>table tr{display:table;width:100%;table-layout:auto;min-width:640px}
  th,td{padding:9px 8px;font-size:13px;white-space:nowrap}
  /* 모달 전체 화면 */
  .modal-bg{padding:0;align-items:flex-end}.modal{max-width:100%;max-height:94vh;border-radius:16px 16px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}
  .modal table{display:block;overflow-x:auto}
  /* 상품 상세: 하단 고정 CTA */
  .pd .sl{border-radius:12px}.pd h1{font-size:22px}
  .sticky-cta{position:fixed;left:0;right:0;bottom:calc(60px + env(safe-area-inset-bottom));z-index:29;padding:8px 14px;background:linear-gradient(to top,rgba(248,247,243,.98),rgba(248,247,243,.7));display:flex;gap:8px;align-items:center}
  .sticky-cta .pr{font-family:var(--mono);font-weight:600;color:var(--wash-d);font-size:15px;white-space:nowrap}
  .sticky-cta .btn{flex:1;justify-content:center}
  /* 의뢰 폼 */
  .rq{gap:12px}.rq-head h1{font-size:22px}.sec{padding:16px;border-radius:12px}.side{position:static}.it{padding:12px}
  /* 목록 카드형 */
  .list-cards{display:flex;flex-direction:column;gap:10px}
  .lc{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);color:var(--ink);display:block}
  .lc .l1{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.lc .l1 .mono{font-size:12px;color:var(--light)}
  .lc .nm{font-weight:600;font-size:14.5px;margin-bottom:6px}.lc .l3{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted)}.lc .l3 .num{color:var(--wash-d);font-weight:600}
  .stats{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:10px 12px}.stat .n{font-size:18px}
  .steps span{min-width:56px;font-size:10.5px;padding:7px 2px}
  .kv{grid-template-columns:84px 1fr}
}
@media(min-width:701px){.sticky-cta,.list-cards{display:none!important}.tbl-wrap-desktop{display:block}}
@media(max-width:700px){
  .band{padding:6px 14px;font-size:11px}.band .in{justify-content:flex-start}.band .r{display:none}.band .k{font-size:10px;padding:0 6px}
  .band .in>div:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .tbl-wrap-desktop{display:none!important}
  .hero h1,.rq-head h1{font-size:22px!important;line-height:1.4}
  .logo .d{display:none}
}

.payopt{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line2);border-radius:10px;cursor:pointer;font-size:13.5px;background:var(--card)}.payopt input{width:auto;margin:0}.payopt.on{border-color:var(--wash-d);background:var(--wash-l)}

footer.site{border-top:1px solid var(--line);margin-top:48px;padding:28px 24px 36px;font-size:12.5px;color:var(--light);background:var(--bg)}
footer.site .in{max-width:1120px;margin:0 auto}footer.site .links{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px}footer.site .links a{color:var(--muted)}footer.site .info{line-height:1.8}
.legal{max-width:760px}.legal h1{font-size:24px}.legal .body{white-space:pre-wrap;line-height:1.85;font-size:14px;color:#3B3936}.legal .nav{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}
@media(max-width:700px){footer.site{padding:20px 14px 90px;font-size:11.5px}.index-foot{display:none}}

/* ===== v2: 장바구니 · 빈 상태 · 슬라이드 패널 · KPI ===== */
:root{--line3:#EAE6DF}
.cartbtn{position:relative;display:inline-flex;align-items:center;gap:6px;margin-left:6px;padding:8px 12px;border:1px solid var(--line3);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:13px;cursor:pointer;transition:.2s}
.cartbtn:hover{background:var(--sub-bg)}
.cartbtn .cnt{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--wash-d);color:#fff;font-family:var(--mono);font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:700px){.cartbtn{margin-left:auto;padding:7px 9px}.cartbtn .lbl{display:none}.cartbtn .cnt{position:absolute;top:-6px;right:-6px}nav.menu{margin-left:8px}}
.drawer{position:fixed;inset:0;z-index:60;pointer-events:none}
.drawer .dw-bg{position:absolute;inset:0;background:rgba(56,54,52,.32);opacity:0;transition:.25s}
.drawer .dw{position:absolute;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--card);border-left:1px solid var(--line3);box-shadow:-20px 0 60px rgba(56,54,52,.12);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.drawer.show{pointer-events:auto}.drawer.show .dw-bg{opacity:1}.drawer.show .dw{transform:none}
.dw-h{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 22px 14px;border-bottom:1px solid var(--line)}
.dw-b{flex:1;overflow:auto;padding:6px 22px}
.dw-f{border-top:1px solid var(--line);padding:16px 22px calc(18px + env(safe-area-inset-bottom));background:var(--bg)}
.cl{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px dashed var(--line2);align-items:start}
.cl-i{width:64px;height:64px;border-radius:10px;overflow:hidden;background:var(--sub-bg);border:1px solid var(--line);display:block}.cl-i img{width:100%;height:100%;object-fit:cover}
.cl-n{color:var(--ink);font-weight:600;font-size:14px;line-height:1.4;display:block;margin-bottom:3px}
.cl-r{text-align:right;display:flex;flex-direction:column;gap:6px;align-items:flex-end;font-size:13.5px;font-weight:600}
.cl.gone{opacity:.55}.cl-w{color:var(--bad);font-size:12px;margin-top:4px}
.lnk{background:none;border:0;padding:0;color:var(--light);font:inherit;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.qty{display:inline-flex;align-items:center;gap:8px;margin-top:6px}.qty button{width:26px;height:26px;border:1px solid var(--line2);background:var(--card);border-radius:7px;cursor:pointer;font-size:14px;line-height:1}.qty button:disabled{opacity:.4}
.dw-sum{display:flex;justify-content:space-between;font-size:14px;font-weight:600;margin-bottom:6px}.dw-sum.s{font-size:12px;font-weight:400;color:var(--muted);margin-bottom:12px}
.dw-go{width:100%;justify-content:center;padding:13px}.dw-go.dis{opacity:.4;pointer-events:none}
.paybadges{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-top:10px}.paybadges span{font-size:10.5px;color:var(--muted);border:1px solid var(--line2);border-radius:5px;padding:1px 7px;background:var(--card)}

.es{display:flex;flex-direction:column;align-items:center;text-align:center;padding:44px 20px;color:var(--muted)}
.es .es-i{width:76px;height:76px;border-radius:22px;background:var(--wash-l);color:var(--wash-d);display:flex;align-items:center;justify-content:center;margin-bottom:14px;border:1px solid rgba(82,110,117,.12)}
.es b{color:var(--ink);font-size:15.5px;font-family:var(--serif);margin-bottom:4px}.es p{margin:0 0 14px;font-size:13px;max-width:340px;line-height:1.6}
.es .es-a{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.es.compact{padding:28px 16px}.es.compact .es-i{width:60px;height:60px;border-radius:18px;margin-bottom:10px}.es.compact .es-i svg{width:34px;height:34px}
tr.es-row td{background:var(--card)!important;border-bottom:0}

.legal-modal{max-width:720px;padding:0;display:flex;flex-direction:column;overflow:hidden}
.lm-h{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--bg)}
.seg{display:flex;gap:2px;padding:3px;background:var(--sub-bg);border-radius:10px;overflow-x:auto}.seg a{padding:6px 12px;border-radius:8px;font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap}.seg a.on{background:var(--card);color:var(--ink);box-shadow:0 1px 4px rgba(56,54,52,.08);font-weight:500}
.lm-b{overflow:auto;padding:22px 26px 28px}.lm-e{font-size:12px;color:var(--wash-d);letter-spacing:.08em}.lm-b h2{font-size:20px;margin:4px 0 14px}
.lm-body{white-space:pre-wrap;font-size:13.5px;line-height:1.85;color:#3B3936}

/* 홈 히어로 우측 */
.hero-side{position:relative;min-height:410px}
.hero-side .pola{position:absolute;width:56%;background:var(--card)}
.hero-side .pola .im{height:150px}
.hero-side .pola.a{top:0;left:0;transform:rotate(-3deg)}
.hero-side .pola.b{top:34px;right:0;transform:rotate(2.5deg)}
.hero-side .pola .new{position:absolute;top:18px;left:18px;font-family:var(--serif-en);font-size:11px;letter-spacing:.08em;background:var(--ink);color:#FFFEFA;padding:2px 8px;border-radius:5px}
.ticker{position:absolute;left:12%;right:4%;bottom:0;background:#FFFEFA;border:1px solid var(--line3);border-radius:4px 4px 12px 12px;box-shadow:0 14px 30px rgba(56,54,52,.08);padding:12px 16px 10px;font-size:12.5px;z-index:2}
.ticker:before{content:'';position:absolute;left:0;right:0;top:-6px;height:6px;background:radial-gradient(circle at 5px 6px,transparent 4px,#FFFEFA 4.5px) 0 0/10px 6px repeat-x}
.ticker .th{display:flex;justify-content:space-between;font-family:var(--serif-en);font-size:11.5px;color:var(--light);letter-spacing:.06em;border-bottom:1px dashed var(--dash);padding-bottom:6px;margin-bottom:6px}
.ticker .live{display:inline-flex;align-items:center;gap:5px;color:var(--sprout-d)}.ticker .live:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--sprout);animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.3}}
.ticker .tv{height:44px;overflow:hidden;position:relative}
.ticker .tl{display:flex;flex-direction:column;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.ticker .tr{height:22px;display:flex;justify-content:space-between;gap:10px;align-items:center;white-space:nowrap}
.ticker .tr span:first-child{overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.ticker .tr .mono{color:var(--wash-d);font-weight:600}
.ticker .tf{font-size:10.5px;color:var(--light);margin-top:4px}
@media(max-width:900px){.hero-side{min-height:360px}}
@media(max-width:700px){.hero-side{min-height:0;padding-top:232px}.hero-side .pola{width:54%}.hero-side .pola .im{height:110px}.ticker{position:relative;left:auto;right:auto;bottom:auto}.rcpt .hm{display:none}}

/* 칩 개수 */
.chip-n{font-family:var(--mono);font-size:11px;margin-left:5px;opacity:.6}
.mk-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:-4px 0 18px}
.mk-bar .chips{margin:0}
.mk-bar .sort{width:auto;font-size:13px;padding:7px 30px 7px 12px;border-radius:20px}
.pc .mini{grid-column:1/-1;display:flex;justify-content:space-between;font-size:11px;color:var(--light);border-top:1px dashed var(--dash);padding-top:5px;margin-top:5px;font-family:var(--mono)}
.pc .add{position:absolute;right:10px;bottom:10px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line3);background:rgba(255,254,250,.95);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translateY(4px);transition:.2s;color:var(--ink);font-size:18px}
.pc:hover .add{opacity:1;transform:none}
@media(hover:none){.pc .add{opacity:1;transform:none}}
.sample-tag{position:absolute;bottom:10px;left:10px;font-size:10.5px;background:rgba(255,254,250,.92);color:var(--muted);border:1px solid var(--line2);border-radius:5px;padding:1px 7px}

/* 상품 상세 구매 박스 */
.buy-box{border:1px solid var(--line3);border-radius:16px;padding:18px;background:var(--card)}
.buy-box .btns{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;margin-top:12px}.buy-box .btns .btn{justify-content:center;padding:13px}
.paylist{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.paylist span{font-size:11.5px;color:var(--muted);background:var(--bg);border:1px solid var(--line2);border-radius:6px;padding:2px 8px}

/* 주문서(체크아웃) */
.co{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;align-items:start}
@media(max-width:860px){.co{grid-template-columns:1fr}}
.co .side{position:sticky;top:104px}
.co-sec{background:var(--card);border:1px solid var(--line3);border-radius:16px;padding:20px 22px;margin-bottom:14px}
.co-sec h2{font-size:15.5px;display:flex;align-items:center;gap:8px;margin-bottom:14px}.co-sec h2 .n{font-family:var(--serif-en);font-style:italic;color:var(--wash-d);font-weight:400}
.pm{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media(max-width:560px){.pm{grid-template-columns:1fr}}
.pm label{position:relative;display:flex;flex-direction:column;gap:4px;border:1px solid var(--line2);border-radius:12px;padding:12px 14px;cursor:pointer;background:var(--card);margin:0;color:var(--ink);font-size:13.5px;font-weight:500;transition:.15s}
.pm label input{position:absolute;opacity:0;pointer-events:none}
.pm label small{font-size:11.5px;color:var(--muted);font-weight:400}
.pm label.on{border-color:var(--wash-d);background:var(--wash-l);box-shadow:0 0 0 3px rgba(82,110,117,.08)}
.pm label.off{opacity:.45;cursor:not-allowed}
.easy{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.easy label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);border-radius:9px;padding:7px 12px;margin:0;cursor:pointer;font-size:13px;color:var(--ink);background:var(--card)}.easy label.on{border-color:var(--ink)}.easy input{display:none}
.easy .lg{width:18px;height:18px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff}
.co-items .ci{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line2);font-size:13.5px}.co-items .ci:last-child{border-bottom:0}
.co-items img{width:52px;height:52px;border-radius:9px;object-fit:cover;background:var(--sub-bg)}
.co-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:12px;margin-top:8px;font-weight:600}.co-total .mono{font-size:20px;color:var(--wash-d)}
.toss-sheet{position:fixed;inset:0;z-index:70;background:rgba(56,54,52,.4);display:flex;align-items:center;justify-content:center;padding:16px}
.toss-sheet .ts{background:#fff;border-radius:18px;width:100%;max-width:380px;padding:26px 24px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.2)}
.toss-sheet .sp{width:34px;height:34px;border:3px solid #E8EEF5;border-top-color:#3182F6;border-radius:50%;margin:6px auto 14px;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* 관리자 KPI */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
@media(max-width:1000px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi{background:var(--card);border:1px solid var(--line3);border-radius:14px;padding:16px 18px;cursor:default;transition:.15s;min-width:0}
.kpi.link{cursor:pointer}.kpi.link:hover{border-color:#D9D3C9;background:#FFFFFC}
.kpi .kh{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);margin-bottom:10px}
.kpi .kh .d{width:7px;height:7px;border-radius:50%;background:var(--sprout)}.kpi .kh .d.b{background:var(--wash-d)}.kpi .kh .d.w{background:#D39B6A}.kpi .kh .d.r{background:var(--bad)}
.kpi .kh svg{margin-left:auto;color:var(--light)}
.kpi .kn{font-family:var(--mono);font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi .kn small{font-size:15px;font-weight:600;margin-left:2px;color:var(--muted)}
.kpi .ks{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);margin-top:6px;flex-wrap:wrap}
.delta{font-family:var(--mono);font-size:11.5px;font-weight:600;padding:1px 6px;border-radius:5px}.delta.up{color:var(--sprout-d);background:var(--sprout-bg)}.delta.dn{color:var(--bad);background:#F8EEEE}.delta.eq{color:var(--muted);background:var(--sub-bg)}
.pipe{display:grid;grid-template-columns:repeat(7,1fr);background:var(--card);border:1px solid var(--line3);border-radius:14px;overflow:hidden;margin-bottom:22px}
.pipe a{padding:12px 10px;border-right:1px solid var(--line);cursor:pointer;color:var(--ink);transition:.15s}.pipe a:last-child{border-right:0}.pipe a:hover{background:var(--soft2)}
.pipe .pn{font-family:var(--mono);font-size:20px;font-weight:700}.pipe .pl{font-size:11.5px;color:var(--muted)}.pipe a.hot .pn{color:var(--wash-d)}
@media(max-width:800px){.pipe{grid-template-columns:repeat(4,1fr)}.pipe a{border-bottom:1px solid var(--line)}}
.sec-t{display:flex;align-items:center;justify-content:space-between;margin:22px 0 10px}.sec-t h3{margin:0;font-family:var(--serif);font-style:normal;font-size:15px;color:var(--ink)}.sec-t span{font-size:12px;color:var(--light)}
.profit{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:#383634;color:#F6F2EA;border-radius:16px;padding:22px 26px;margin-top:18px;position:relative;overflow:hidden}
.profit:after{content:'';position:absolute;right:-40px;top:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(143,166,126,.28),transparent 65%)}
.profit .pl{font-size:12.5px;color:#CFC8BC}.profit .pn{font-family:var(--mono);font-size:32px;font-weight:700;letter-spacing:-.03em;margin-top:4px}
.profit .pr{text-align:right;font-family:var(--mono);font-size:12.5px;color:#CFC8BC;line-height:1.8;position:relative;z-index:1}.profit .pr b{color:#F6F2EA}
.profit .delta.up{background:rgba(143,166,126,.2);color:#C9DBB9}.profit .delta.dn{background:rgba(214,140,140,.18);color:#F0B9B9}
.recent{background:var(--card);border:1px solid var(--line3);border-radius:14px;overflow:hidden}
.sample-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#FBF6EC;border:1px solid #EADFC8;border-radius:12px;padding:12px 16px;margin-bottom:16px;font-size:13px;color:#6B5A3A}
.sample-bar b{color:#4F4128}

/* 관리자 필터 바 · 연월 선택 */
.fbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px;padding:10px;background:var(--card);border:1px solid var(--line3);border-radius:12px}
.fbar select,.fbar input{width:auto;padding:7px 30px 7px 11px;font-size:13px;border-radius:9px;background-color:var(--bg)}
.fbar input{padding-right:11px}
.fbar .sp{flex:1}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236E6A66' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:30px}
.tblc{background:var(--card);border:1px solid var(--line3);border-radius:14px;overflow:auto}
.tblc table th{background:var(--bg)}

/* 슬라이드 오버 */
.so{position:fixed;inset:0;z-index:55;pointer-events:none}
.so .so-bg{position:absolute;inset:0;background:rgba(56,54,52,.28);opacity:0;transition:.25s}
.so .so-p{position:absolute;top:0;right:0;bottom:0;width:min(920px,100%);background:var(--bg);border-left:1px solid var(--line3);box-shadow:-24px 0 70px rgba(56,54,52,.14);transform:translateX(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}
.so.show{pointer-events:auto}.so.show .so-bg{opacity:1}.so.show .so-p{transform:none}
.so-h{padding:18px 24px 14px;background:var(--card);border-bottom:1px solid var(--line3);display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.so-b{flex:1;overflow:auto;padding:18px 24px 40px}
.so-b .blk{background:var(--card);border:1px solid var(--line3);border-radius:14px;padding:16px 18px;margin-bottom:14px}
.so-b .blk h3{margin-top:0}
.so-act{position:sticky;bottom:0;background:var(--card);border-top:1px solid var(--line3);padding:12px 24px calc(12px + env(safe-area-inset-bottom));display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:700px){.so-h,.so-b,.so-act{padding-left:14px;padding-right:14px}}

/* 설정 섹션 + 저장 바 */
.set-sec{background:var(--card);border:1px solid var(--line3);border-radius:16px;padding:0;margin-bottom:16px;overflow:hidden}
.set-sec .sh{display:flex;gap:14px;align-items:flex-start;padding:18px 22px;border-bottom:1px solid var(--line);background:#FFFEFA}
.set-sec .sh .ic{width:36px;height:36px;border-radius:11px;background:var(--wash-l);color:var(--wash-d);display:flex;align-items:center;justify-content:center;flex:none;font-family:var(--serif-en);font-size:15px}
.set-sec .sh h2{margin:0 0 2px;font-size:16px}.set-sec .sh p{margin:0;font-size:12.5px;color:var(--muted)}
.set-sec .sb{padding:18px 22px 8px}
.pg-st{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:3px 10px;border-radius:20px;border:1px solid var(--line2)}.pg-st:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--light)}
.pg-st.on{color:var(--sprout-d);background:var(--sprout-bg);border-color:rgba(143,166,126,.35)}.pg-st.on:before{background:var(--sprout)}
.pg-st.test{color:#8A6116;background:#FBF3E4;border-color:#EBD9B5}.pg-st.test:before{background:#D39B2A}
.savebar{position:sticky;bottom:12px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(56,54,52,.96);color:#F6F2EA;border-radius:14px;padding:10px 12px 10px 18px;margin:6px 0 22px;box-shadow:0 14px 40px rgba(56,54,52,.25);font-size:13px;transform:translateY(8px);opacity:.0;pointer-events:none;transition:.2s}
.savebar.show{opacity:1;transform:none;pointer-events:auto}
.savebar .btn{background:#F6F2EA;color:#383634;border-color:#F6F2EA}.savebar .btn.g{background:transparent;color:#CFC8BC;border-color:rgba(255,255,255,.2)}
.set-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.set-top h2{margin:0}
@media(max-width:700px){.savebar{bottom:calc(70px + env(safe-area-inset-bottom))}}

/* ===== AI 공통 ===== */
.aiw{display:none;margin-top:12px}.aiw.show{display:block}
.aiw .msg{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--wash-d);margin-bottom:10px}
.aiw .msg i{width:14px;height:14px;border:2px solid var(--wash);border-top-color:var(--wash-d);border-radius:50%;animation:spin .8s linear infinite;flex:none}
.skel{height:54px;border-radius:12px;background:linear-gradient(90deg,var(--sub-bg) 25%,#F7F5F0 50%,var(--sub-bg) 75%);background-size:200% 100%;animation:shim 1.3s infinite;margin-bottom:8px}
@keyframes shim{to{background-position:-200% 0}}
.ai-box{border:1px solid var(--wash);background:linear-gradient(180deg,var(--wash-l),var(--card) 75%);border-radius:14px;padding:14px 16px;margin-bottom:14px}
.ai-box>label,.ai-box .lb{color:var(--wash-d);font-weight:500;font-size:12.5px;display:block;margin-bottom:6px}
.ai-box textarea{background:var(--card);min-height:70px}
.ai-out{font-family:inherit;white-space:pre-wrap;background:var(--card);border:1px solid var(--line3);border-radius:12px;padding:14px 16px;font-size:13.5px;line-height:1.75;margin:0}
.ai-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--wash-d);background:var(--wash-l);border:1px solid var(--wash);border-radius:5px;padding:1px 7px}
/* MARKET 컨시어지 */
.cg{position:relative;margin:0 0 16px}
.cg form{display:flex;gap:8px;align-items:center;background:var(--card);border:1px solid var(--line3);border-radius:16px;padding:6px 6px 6px 16px;box-shadow:var(--shadow)}
.cg form:focus-within{border-color:var(--wash-d);box-shadow:0 0 0 3px var(--wash-l)}
.cg input{border:0;box-shadow:none!important;padding:10px 0;background:transparent;font-size:14.5px}
.cg .spark{font-size:16px;color:var(--wash-d)}
.cg .ex{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.cg .ex a{font-size:12px;color:var(--muted);border:1px dashed var(--dash);border-radius:20px;padding:3px 10px;cursor:pointer;background:var(--bg)}
.cg-res{background:var(--card);border:1px solid var(--line3);border-radius:16px;padding:18px 20px;margin-bottom:20px}
.cg-res .hd{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}
.cg-res .sm{font-family:var(--serif);font-size:16px;font-weight:700}
.cg-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.cg-p{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:start;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--bg)}
.cg-p img{width:64px;height:64px;border-radius:9px;object-fit:cover}
.cg-p b{font-size:13.5px;display:block;line-height:1.35}.cg-p .c{font-size:12px;color:var(--wash-d);margin-top:4px;line-height:1.5}.cg-p .pr{font-family:var(--mono);font-size:12.5px;color:var(--muted)}
/* 입금 대조 결과 */
.dep{border:1px solid var(--line3);border-radius:12px;background:var(--card);padding:12px 14px;margin-top:10px}
.dep .dh{display:flex;justify-content:space-between;gap:10px;font-size:13px;flex-wrap:wrap}.dep .dh .mono{font-weight:700}
.dep .m{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px dashed var(--line2);padding-top:8px;margin-top:8px;font-size:13px;flex-wrap:wrap}
.dep .sc{font-family:var(--mono);font-size:11.5px;padding:1px 7px;border-radius:5px;background:var(--sprout-bg);color:var(--sprout-d)}.dep .sc.lo{background:#FBF3E4;color:#8A6116}
/* CS 드로어 */
.drawer.wide .dw{width:min(560px,100%)}
.copyrow{display:flex;justify-content:space-between;align-items:center;margin:14px 0 6px}

/* 견적서 편집 (2단 카드형 행) */
.nw,.qe b,.qe dd{white-space:nowrap}
.qe-set{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--bg);border:1px solid var(--line3);border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:12.5px}
.qe-set label{margin:0 0 0 6px;font-size:12.5px;color:var(--muted)}.qe-set label:first-child{margin-left:0}
.qe-set select,.qe-set input{width:auto;padding:6px 10px;font-size:13px}.qe-set select{padding-right:28px}
.qi{border:1px solid var(--line3);border-radius:14px;background:var(--card);margin-bottom:10px;overflow:hidden}
.qi-t{display:flex;gap:8px;align-items:center;padding:10px 12px}
.qi-t .f2{flex:2;min-width:0}.qi-t .f1{flex:1;min-width:0}
.qty-w{display:flex;align-items:center;gap:4px;width:88px;flex:none}.qty-w input{width:62px;text-align:right}.qty-w span{font-size:12px;color:var(--muted)}
.qi-p{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;background:#F8F7F3;border-top:1px solid var(--line);padding:10px 12px}
.qi-p .pc{display:flex;flex-direction:column;gap:3px;min-width:0}
.qi-p .pc label{font-size:11px;color:var(--muted);margin:0;white-space:nowrap}
.qi-p .pc input{width:128px;padding:7px 10px;font-family:var(--mono);text-align:right}
.qi-p .pc.ro b{font-family:var(--mono);font-size:14px;padding:7px 0;line-height:1.25}
.qi-p .pc.ro small{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:-6px}
.qi-p .pc.mg{margin-left:auto;text-align:right;background:var(--sprout-bg);border-radius:10px;padding:6px 12px}
.qi-p .pc.mg b{color:var(--sprout-d);padding:2px 0}.qi-p .pc.mg b.neg{color:var(--bad)}
.qi-p .op{color:var(--light);font-family:var(--mono);padding-bottom:9px}
.qi-b{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 10px;background:#F8F7F3}.qi-b:empty{display:none}
.qb{font-size:11.5px;padding:2px 8px;border-radius:6px;background:var(--sub-bg);color:var(--muted);white-space:nowrap}.qb.ok{background:var(--sprout-bg);color:var(--sprout-d)}.qb.warn{background:#FBF3E4;color:#8A6116}.qb.bad{background:#F8EEEE;color:var(--bad)}
.qe-sum{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:760px){.qe-sum{grid-template-columns:1fr}.qi-p .pc.mg{margin-left:0}.qi-t{flex-wrap:wrap}.qi-t .f2{flex-basis:100%}}
.qs-c,.qs-m{border-radius:12px;padding:14px 16px;font-size:13px}
.qs-c{background:var(--bg);border:1px solid var(--line3)}.qs-m{background:#EEF3EA;border:1px solid rgba(143,166,126,.35)}
.qs-h{font-size:11.5px;letter-spacing:.02em;color:var(--muted);margin-bottom:8px;font-weight:600}
.qe-sum dl{display:grid;grid-template-columns:1fr auto;gap:5px 12px;margin:0}.qe-sum dt{color:var(--muted)}.qe-sum dd{margin:0;text-align:right;font-family:var(--mono)}.qe-sum .b{color:var(--ink);font-weight:600}
.qs-t{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);margin-top:10px;padding-top:10px;font-weight:600;gap:10px}.qs-t b{font-family:var(--mono);font-size:18px}
.qs-m .qs-t b{color:var(--sprout-d)}.neg{color:var(--bad)!important}
.qs-r{font-size:12px;color:var(--sprout-d);text-align:right;margin-top:4px}
.qi-p .pc small{font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap}
.qi-b .vd{display:inline-flex;align-items:center;gap:6px;margin:0 6px 0 0;font-size:12px;color:var(--ink);white-space:nowrap}.qi-b .vd input{width:auto;margin:0}
.qe-sum .muted2{color:var(--light)!important;font-size:12px}

/* ===== 헤더·인포바 정돈 (에디토리얼) ===== */
.band{background:#F2F1EC;border-bottom:1px solid #E8E6DF;font-size:12px;color:#736E65;padding:7px 40px;letter-spacing:-.005em}
.band .in{max-width:1200px}
.band .k{background:none;border:0;padding:0;margin-right:10px;color:#2C2A29;font-size:12px;font-weight:500;letter-spacing:.02em}
.band .k:after{content:'';display:inline-block;width:1px;height:10px;background:#D3CFC5;margin-left:10px;vertical-align:-1px}
.band .r{font-family:inherit;font-size:12px;color:#9C9791}
.band a.adm{background:none;border:0;padding:0;font-weight:500;color:#5A6B5C}
header.top{padding:0 40px;height:76px;gap:40px;background:#F8F7F3}
.logo{gap:12px}
nav.menu{gap:6px}
nav.menu .pill{background:transparent;padding:0;gap:4px;margin-right:18px}
nav.menu a{font-weight:400;color:#736E65;padding:8px 14px;background:transparent!important;box-shadow:none!important;letter-spacing:-.01em;transition:color .2s}
nav.menu a:hover{color:#2C2A29}
nav.menu .pill a.on,nav.menu a.on{color:#2C2A29;font-weight:500}
nav.menu .pill a.on{position:relative}
nav.menu .pill a.on:after{content:'';position:absolute;left:14px;right:14px;bottom:2px;height:1.5px;background:#5A6B5C;border-radius:2px}
nav.menu a .tg{background:none;color:#9C9791;padding:0;font-size:11px}
.cartbtn{border-color:#E5E3DC;background:transparent}.cartbtn:hover{background:#F2F1EC}
.cartbtn .cnt{background:#5A6B5C}
@media(max-width:1000px){header.top{padding:0 20px;gap:16px}.band{padding:7px 20px}nav.menu .pill{margin-right:4px}nav.menu a{padding:8px 9px}}
@media(max-width:700px){.band{display:none}header.top{padding:0 14px;height:58px}}

/* ===== 카탈로그형 페이지 타이틀 ===== */
.cat-head{padding:18px 0 26px;margin-bottom:22px;border-bottom:1px solid #E5E3DC}
.cat-head .ey{font-family:var(--serif-en);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#5A6B5C;margin-bottom:10px}
.cat-head h1{font-size:30px;line-height:1.3;color:#2C2A29;margin:0 0 10px;letter-spacing:-.02em}
.cat-head p{margin:0;color:#736E65;font-size:14px;line-height:1.85}
.cat-head .meta{display:flex;gap:0;margin-top:16px;font-size:12px;color:#9C9791}
.cat-head .meta span+span:before{content:'';display:inline-block;width:1px;height:10px;background:#D3CFC5;margin:0 12px;vertical-align:-1px}
@media(max-width:700px){.cat-head{padding:6px 0 18px;margin-bottom:16px}.cat-head h1{font-size:24px}.cat-head p{font-size:13px}}

/* ===== AI 큐레이션 검색바 (미니멀) ===== */
.cg{margin:0 0 22px}
.cg form{background:#FFFFFF;border:1px solid #E5E3DC;border-radius:14px;padding:6px 6px 6px 18px;box-shadow:none;gap:10px}
.cg form:focus-within{border-color:#8FA67E;box-shadow:0 0 0 3px rgba(143,166,126,.15)}
.cg input{font-size:14px;color:#2C2A29}.cg input::placeholder{color:#A39E95}
.cg-btn{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:10px;background:#5A6B5C;color:#fff;font:inherit;font-size:13px;font-weight:500;padding:10px 16px;cursor:pointer;white-space:nowrap;transition:background .2s}
.cg-btn:hover{background:#4C5C4E}.cg-btn:disabled{opacity:.6;cursor:default}.cg-btn span{font-size:12px;opacity:.85}
.cg .ex{gap:8px 10px;margin-top:12px}
.cg .ex a{font-size:12px;color:#736E65;border:1px solid #E5E3DC;border-style:solid;border-radius:20px;padding:5px 12px;background:transparent;transition:background .2s,color .2s,border-color .2s}
.cg .ex a:hover{background:#F2F1EC;color:#2C2A29;border-color:#D3CFC5}
.cg .ex a:active{transform:scale(.98)}
@media(max-width:560px){.cg-btn{padding:10px 12px}.cg .ex{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.cg .ex a{white-space:nowrap}}

/* 홈: 절차 섹션 대신 한 줄 배너 · 간격 압축 */
.hero{margin-bottom:44px}
.igrid{margin-bottom:28px}
.b2b-line{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid #E5E3DC;border-bottom:1px solid #E5E3DC;padding:18px 4px;margin:0 0 8px;color:#736E65;font-size:13.5px;transition:color .2s}
.b2b-line b{color:#2C2A29;font-weight:500;white-space:nowrap}
.b2b-line:hover{color:#2C2A29}.b2b-line:hover b{color:#5A6B5C}
main:has(.b2b-line)+footer.site{margin-top:24px}
@media(max-width:700px){.hero{margin-bottom:28px}.b2b-line{font-size:12.5px;padding:14px 2px}}

/* AI 도우미 바 · 브리핑 */
.ai-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:var(--card);border:1px solid var(--wash);border-radius:12px;padding:10px 12px;margin-bottom:14px}
.ai-bar .lb{font-size:12.5px;color:var(--wash-d);font-weight:500;margin-right:4px}
.ai-bar select{width:auto;padding:5px 28px 5px 10px;font-size:12.5px;border-radius:8px}
.ai-bar .aiw,.ai-bar #ai-out{flex-basis:100%}
.ai-res{border-top:1px dashed var(--line2);margin-top:8px;padding-top:10px;font-size:13px}
.ai-res table input{padding:5px 8px;font-size:13px}
.brief{background:var(--card);border:1px solid var(--wash);border-radius:14px;padding:14px 18px;margin-bottom:16px}
.brief-h{font-family:var(--serif);font-size:16px;font-weight:700;margin:12px 0 6px}
.brief-p{margin:0 0 8px;padding-left:20px;font-size:13.5px;line-height:1.8}
.brief-t{margin:6px 0 0;padding-left:18px;font-size:12.5px;line-height:1.8;color:var(--muted)}

/* 종이 라벨 느낌의 태그 줄 */
.cat-head .meta.label{display:inline-flex;gap:0;margin-top:18px;border:1px solid #D9D5CB;border-radius:3px;background:#FBFAF6;padding:5px 2px;font-family:var(--serif-en);font-size:11.5px;letter-spacing:.06em;color:#736E65;box-shadow:0 1px 0 rgba(56,54,52,.04)}
.cat-head .meta.label span{padding:0 12px;position:relative}
.cat-head .meta.label span+span:before{content:'';position:absolute;left:0;top:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;border-radius:50%;background:#B8B2A6}

/* ---- 회원 관리 · 권한 ---- */
.mem-sum{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:0 0 14px}
.mem-sum a{background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;color:var(--ink);cursor:default}
.mem-sum a[onclick]{cursor:pointer}.mem-sum a[onclick]:hover{border-color:var(--sub)}
.mem-sum a.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.mem-sum b{font-family:var(--mono);font-size:20px;font-weight:700}.mem-sum span{font-size:12px;color:var(--muted)}
.pms{display:flex;flex-wrap:wrap;gap:4px}
.pm{display:inline-block;font-size:11.5px;line-height:1;padding:5px 8px;border-radius:20px;border:1px solid var(--line2);background:var(--bg);color:var(--muted);white-space:nowrap}
.pm.b{color:var(--wash-d);border-color:var(--wash);background:var(--wash-l)}
.pm.staff{background:var(--ink);border-color:var(--ink);color:#FFFEFA}
.pm.owner{background:#F4ECDD;border-color:#E6D7B8;color:#7A5A1E}
.pm.b2b{background:var(--wash-l);border-color:var(--wash);color:var(--wash-d)}
.pm.market{background:var(--sprout-bg);border-color:#D6E2CC;color:var(--sprout-d)}
.pm.members{background:var(--blush);border-color:#E8D3CB;color:#8A5A4A}
.st-on{font-size:12.5px;color:var(--ok)}.st-on:before{content:'●';font-size:8px;margin-right:5px;vertical-align:2px}
.st-off{font-size:12.5px;color:var(--bad)}.st-off:before{content:'●';font-size:8px;margin-right:5px;vertical-align:2px}
tr.dim td{opacity:.55}
.perm-blk{border-color:#E6D7B8 !important;background:#FCFAF5 !important}
.perm-pick{display:flex;flex-direction:column;gap:8px}
.perm-pick .pp{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border:1px solid var(--line2);border-radius:11px;background:var(--card);cursor:pointer}
.perm-pick .pp:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.perm-pick .pp.off{opacity:.45;cursor:not-allowed}
.perm-pick .pp input{margin-top:3px;width:auto}
.perm-pick .pp b{display:block;font-size:14px}.perm-pick .pp small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.perm-pick .pp.owner{background:#FCFAF5}
.pp-or{font-size:12px;color:var(--light);text-align:center;margin:2px 0}
@media(max-width:700px){.mem-sum{grid-template-columns:repeat(3,1fr)}}

/* ---- 설정 하위 탭 ---- */
.subtabs{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0 18px;padding:4px;background:var(--sub-bg);border:1px solid var(--line2);border-radius:12px;width:max-content;max-width:100%}
.subtabs a{position:relative;font-size:13.5px;padding:8px 16px;border-radius:9px;color:var(--muted);cursor:pointer;white-space:nowrap}
.subtabs a:hover{color:var(--ink)}
.subtabs a.on{background:var(--card);color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(56,54,52,.08)}
.subtabs .dirty{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--warn)}
@media(max-width:700px){.subtabs{width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}}
.modal-bg.dlg{z-index:85}.toast{z-index:95}

/* ---- 관리자 메일함 ---- */
#tabs .nb:not(:empty){display:inline-block;margin-left:5px;min-width:17px;height:17px;line-height:17px;padding:0 5px;border-radius:9px;background:var(--bad);color:#fff;font-size:10.5px;font-weight:700;text-align:center;vertical-align:1px}
.seg{display:inline-flex;padding:3px;background:var(--sub-bg);border:1px solid var(--line2);border-radius:10px}
.seg a{padding:6px 12px;border-radius:7px;font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap}.seg a.on{background:var(--card);color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(56,54,52,.08)}
.mail-wrap{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:14px;align-items:start}
.mail-list{background:var(--card);border:1px solid var(--line2);border-radius:14px;overflow:hidden;max-height:calc(100vh - 230px);overflow-y:auto}
.mail-list .mi{display:block;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;position:relative}
.mail-list .mi:hover{background:var(--bg)}.mail-list .mi.on{background:var(--wash-l)}
.mail-list .mi.new:before{content:'';position:absolute;left:5px;top:18px;width:6px;height:6px;border-radius:50%;background:var(--wash-d)}
.mi-h{display:flex;justify-content:space-between;gap:8px;font-size:13.5px}.mi-h b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mi-h span{color:var(--light);font-size:12px;white-space:nowrap}
.mi.new .mi-h b,.mi.new .mi-s{font-weight:700;color:var(--ink)}
.mi-s{font-size:13px;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-pg{display:flex;justify-content:center;align-items:center;gap:10px;padding:10px}
.mail-read{background:var(--card);border:1px solid var(--line2);border-radius:14px;min-height:420px;overflow:hidden}
.mail-empty{padding:60px 20px;text-align:center;color:var(--light);font-size:13.5px}
.mr-h{padding:18px 20px 12px;border-bottom:1px solid var(--line)}.mr-h h2{margin:0 0 10px;font-size:19px;line-height:1.4;word-break:break-word}
.mr-meta{font-size:13px;line-height:1.7}.mr-back{display:none;margin-bottom:10px}
.mr-act{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;align-items:center}.mr-act .sp{flex:1}
.mr-att{display:flex;flex-wrap:wrap;gap:6px;padding:10px 20px;border-bottom:1px solid var(--line);background:var(--bg)}
.mr-att a{font-size:12.5px;padding:6px 10px;border:1px solid var(--line2);border-radius:8px;background:var(--card);color:var(--ink)}
.mr-body{display:block;width:100%;min-height:300px;border:0;background:#fff}
.mr-aibox{margin:12px 20px;padding:14px 16px;border:1px solid var(--wash);background:var(--wash-l);border-radius:12px;font-size:13.5px;line-height:1.7}
#mb-read .ai-wait{margin:12px 20px}
.mail-guide{margin:4px 0 12px;padding-left:20px;font-size:13px;line-height:1.85;color:var(--muted)}.mail-guide b{color:var(--ink)}.mail-guide code{font-size:12px;background:var(--sub-bg);padding:1px 5px;border-radius:4px;word-break:break-all}
.spin{display:inline-block;width:12px;height:12px;border:2px solid var(--line2);border-top-color:var(--wash-d);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px;margin-right:4px}
@media(max-width:860px){.mail-wrap{grid-template-columns:1fr}.mail-list{max-height:none}#t-mail.reading .mail-list,#t-mail.reading .mail-bar{display:none}#t-mail:not(.reading) .mail-read{display:none}.mr-back{display:inline-flex}}

/* ======== 관리자 v3: 상단 압축 · 대시보드 3단 · 매입 장부 ======== */
body.adm header.top{height:60px}
body.adm main{padding-top:14px}
@media(max-width:700px){body.adm header.top{height:54px}}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:700px){.grid3{grid-template-columns:1fr}}
/* 탭 바 오른쪽 버튼 */
#tabs{align-items:center}
.tb-acts{margin-left:auto;display:flex;gap:4px;align-items:center;padding-left:8px}
#tabs .tb-act{font-size:12.5px;padding:6px 10px;border:1px solid var(--line2);border-radius:8px;color:var(--wash-d);background:var(--card);border-bottom-width:1px;margin:0 0 4px}
#tabs .tb-act:hover{border-color:var(--sub)}
#tabs .tb-act.smp{color:#7A5A1E;background:#FBF6EC;border-color:#EADFC8}
/* 1구역: 할 일 */
.act{display:grid;grid-template-columns:7fr 3fr;gap:12px;align-items:start}
.act.one{grid-template-columns:1fr}
.act-pipe,.act-todo{background:var(--card);border:1px solid var(--line3);border-radius:14px;padding:14px 16px}
.ah{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px}.ah b{font-size:13.5px}.ah span{font-size:11.5px;color:var(--light)}
.steps{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;position:relative}
.steps a{position:relative;padding:12px 8px 10px;border-radius:10px;text-align:center;cursor:pointer;color:var(--ink);border:1px solid transparent;transition:.15s}
.steps a:not(:last-child):after{content:'›';position:absolute;right:-6px;top:50%;transform:translateY(-50%);color:#D9D5CB;font-size:13px}
.steps .pn{font-family:var(--mono);font-size:20px;font-weight:500;color:#C5C1B9;line-height:1.1}
.steps .pl{font-size:11.5px;color:#B3AEA5;margin-top:3px;white-space:nowrap}
.steps a.hot{background:#F4F6F3;border-color:#DDE6D6}
.steps a.hot .pn{font-weight:800;color:var(--sprout-d);font-size:24px}.steps a.hot .pl{color:var(--ink);font-weight:600}
.steps a.hot:before{content:'';position:absolute;top:7px;right:8px;width:6px;height:6px;border-radius:50%;background:var(--sprout)}
.steps a:hover{border-color:var(--line2)}
.act-todo .td{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 2px;border-top:1px solid var(--line);cursor:pointer;color:var(--ink)}
.act-todo .td:first-of-type{border-top:0}
.act-todo .tt{font-size:13px;color:var(--muted)}.act-todo .tt small{display:block;font-size:11.5px;color:var(--light);margin-top:1px}
.act-todo .td b{font-family:var(--mono);font-size:18px;color:#C5C1B9;white-space:nowrap}.act-todo .td b small{font-size:12px;margin-left:1px}
.act-todo .td.hot .tt{color:var(--ink);font-weight:600}.act-todo .td.hot b{color:#B46A2C}
.act-todo .td:hover .tt{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.act{grid-template-columns:1fr}.steps{grid-template-columns:repeat(4,1fr)}.steps a:after{display:none}}
/* 2구역: 금액 카드 */
.fin{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:12px;align-items:stretch}
.fc{background:var(--card);border:1px solid var(--line3);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;min-width:0}
.fc.link{cursor:pointer}.fc.link:hover{border-color:#D9D3C9}
.fc .fl{font-size:12.5px;color:var(--muted)}
.fc .fn{font-family:var(--mono);font-size:26px;font-weight:700;letter-spacing:-.03em;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.fc .fn small{font-size:14px;font-weight:600;margin-left:2px;color:var(--muted)}
.fc .fs{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:6px}
.fc .fr{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;border-top:1px dashed var(--line2);font-size:12.5px;color:var(--muted)}
.fc .fs + .fr{margin-top:12px}
.fc .fr b{font-family:var(--mono);color:var(--ink);white-space:nowrap}
.fc .fr[onclick]{cursor:pointer}.fc .fr[onclick]:hover span{text-decoration:underline}
.fc.main{background:#2C2A29;border-color:#2C2A29;color:#F6F2EA}
.fc.main .fl{color:#CFC8BC}.fc.main .fn small{color:#CFC8BC}.fc.main .fs{color:#BDB6AA}
.fc.main .delta.up{background:rgba(143,166,126,.22);color:#C9DBB9}.fc.main .delta.dn{background:rgba(214,140,140,.18);color:#F0B9B9}.fc.main .delta.eq{background:rgba(255,255,255,.08);color:#CFC8BC}
.fc .fb{display:flex;flex-direction:column;gap:3px;margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#BDB6AA}
.fc .fs + .fb{margin-top:12px}.fc .fb b{font-family:var(--mono);color:#F6F2EA}
.fc.warn.on{background:#FFF8F0;border-color:#F0DCC4}.fc.warn.on .fn{color:#9A5B1F}.fc.warn.on .fl{color:#9A6B3A}
@media(max-width:1000px){.fin{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fin{grid-template-columns:1fr}}
/* 3구역: 최근 요청 */
table.recent td.qa{text-align:right;white-space:nowrap;width:1%}
table.recent tr.dim td{opacity:.5}
/* 매입 장부 */
.psum{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.ps{background:var(--card);border:1px solid var(--line3);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:3px}
.ps span{font-size:12px;color:var(--muted)}.ps b{font-family:var(--mono);font-size:20px;font-weight:700;letter-spacing:-.02em}.ps b small{font-size:12px;color:var(--muted);margin-left:2px}
.ps em{font-style:normal;font-size:11.5px;color:var(--light)}.ps em a{color:#9A5B1F;cursor:pointer}
.ps.ok b{color:var(--sprout-d)}.ps.warn b{color:#9A5B1F}
@media(max-width:800px){.psum{grid-template-columns:1fr 1fr}}
.ptbl td{font-size:13px;vertical-align:top}.ptbl td.c,.ptbl th.c{text-align:center}
.ptbl .ell{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pk{display:inline-block;font-size:11.5px;padding:3px 8px;border-radius:20px;white-space:nowrap}
.pk.b2b{background:var(--wash-l);color:var(--wash-d)}.pk.stock{background:var(--sprout-bg);color:var(--sprout-d)}.pk.etc{background:var(--sub-bg);color:var(--muted)}
.est{display:inline-block;font-size:10.5px;color:#9A6B00;margin-top:3px}
.evb{display:inline-block;font-size:11.5px;padding:3px 8px;border-radius:6px;border:1px solid var(--line2);background:var(--bg);color:var(--muted);white-space:nowrap}
.evb.tax_invoice{color:var(--wash-d);border-color:var(--wash);background:var(--wash-l)}.evb.biz_card{color:var(--sprout-d);border-color:#D6E2CC;background:var(--sprout-bg)}
.evb.cash_receipt{color:#6E5A2E;border-color:#E6D7B8;background:#FBF6EC}.evb.none{color:var(--bad);border-color:#EBCFCF;background:#FBF3F3}
.evb.miss{color:#9A5B1F;border-style:dashed;border-color:#E2C9A8;background:#FFF8F0}
.pu-calc{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:6px 12px;align-items:baseline;background:var(--bg);border:1px solid var(--line2);border-radius:10px;padding:10px 14px;font-size:12.5px;color:var(--muted)}
.pu-calc b{font-family:var(--mono);color:var(--ink);text-align:right}.pu-calc b.hl{color:var(--sprout-d)}
@media(max-width:560px){.pu-calc{grid-template-columns:auto 1fr}}
@media(max-width:700px){.sec-t > span:not(.row){display:none}}

/* ---- 메일함 v2: 일체형 스플릿 뷰 ---- */
.mw{border:1px solid #E5E3DC;border-radius:14px;background:#fff;overflow:hidden;min-height:680px;display:flex;flex-direction:column}
.mw-bar{height:56px;display:flex;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid #ECEAE4;background:#fff}
.mw-l{display:flex;align-items:center;gap:10px;flex:none}
.mw-c{flex:1;min-width:120px}.mw-c input{width:100%;height:36px;background:#F7F6F2;border-color:transparent}
.mw-c input:focus{background:#fff;border-color:var(--line2)}
.mw-r{display:flex;align-items:center;gap:6px;flex:none}.mw-r .muted{font-size:12px;white-space:nowrap}
.mw .seg a i{font-style:normal;font-size:11.5px;color:var(--light);margin-left:2px}.mw .seg a.on i{color:var(--muted)}
.tg{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);cursor:pointer;white-space:nowrap;margin:0}
.tg input{width:auto;margin:0}
.mw-body{flex:1;display:flex;min-height:620px}
.mw-list{width:350px;flex:none;background:#FAF9F5;border-right:1px solid #ECEAE4;overflow-y:auto;max-height:calc(100vh - 210px);min-height:620px}
.mw-list .mi{display:block;padding:12px 14px 12px 15px;border-bottom:1px solid #EFECE6;border-left:3px solid transparent;color:var(--ink);cursor:pointer}
.mw-list .mi:hover{background:#F5F3EE}
.mw-list .mi.on{background:#F2F0EA;border-left-color:#2C2A29}
.mw-list .mi-h{display:flex;justify-content:space-between;align-items:center;gap:8px}
.mi-f{display:flex;align-items:center;gap:6px;min-width:0}.mi-f b{font-size:13.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mi-f .dot{width:7px;height:7px;border-radius:50%;background:var(--sprout);flex:none}
.mi-t{font-size:11.5px;color:var(--light);white-space:nowrap;display:flex;gap:4px;align-items:center}.mi-t .star{font-style:normal;color:#C9962C}
.mw-list .mi-s{font-size:13.5px;color:var(--ink);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mw-list .mi.new .mi-f b,.mw-list .mi.new .mi-s{font-weight:700}
.mw-list .mi-p{font-size:12.5px;color:#8C877E;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mw-end{padding:18px 14px;text-align:center;font-size:12px;color:#B3AEA5}
.mc{display:inline-block;font-size:10.5px;line-height:1;padding:4px 6px;border-radius:5px;white-space:nowrap;flex:none;font-weight:500;vertical-align:2px}
.mc.b2b{background:var(--wash-l);color:var(--wash-d)}.mc.tax{background:#F4ECDD;color:#7A5A1E}.mc.purchase{background:var(--sprout-bg);color:var(--sprout-d)}.mc.cs{background:var(--blush);color:#8A5A4A}
.mw-read{flex:1;min-width:0;background:#fff;overflow-y:auto;max-height:calc(100vh - 210px);min-height:620px}
.mw-read .mr-h{padding:18px 22px 14px;border-bottom:1px solid #F1EFEA}
.mr-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.mr-top h2{margin:0;font-size:19px;line-height:1.45;word-break:break-word}.mr-top h2 .mc{font-size:11px;margin-left:4px}
.mr-tools{display:flex;gap:4px;flex:none}.mr-tools .btn.on{color:#C9962C}
.mr-from{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:13.5px}.mr-from>div{min-width:0;flex:1}.mr-when{font-size:12.5px;white-space:nowrap;align-self:flex-start}
.av{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--ink);flex:none;font-size:14px}
.mm{margin:12px 22px 0;padding:11px 14px;background:#FBF8F1;border:1px solid #EEE6D6;border-radius:10px;font-size:13px;line-height:1.6}
.mm a{cursor:pointer;color:var(--wash-d);font-weight:600}
.mm-refs{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.mm-ref{font-size:12.5px;padding:4px 9px;background:#fff;border:1px solid #EEE6D6;border-radius:7px;font-weight:400 !important;color:var(--ink) !important}
.mw-read .mr-act{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:12px 22px;margin:0;border-bottom:1px solid #F1EFEA}.mw-read .mr-act .sp{flex:1}
.btn.ai{color:var(--wash-d);border-color:var(--wash)}
.mw-read .mr-att{padding:10px 22px}
.mr-bodywrap{padding:16px 22px 8px}.mw-read .mr-body{min-height:120px;background:#fff}
#mr-reply{padding:0 22px 22px}
.rp{border:1px solid #E5E3DC;border-radius:12px;background:#FCFBF8;overflow:hidden;animation:rpIn .22s ease-out}
@keyframes rpIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.rp-h{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #EFECE6}.rp-h .muted{font-size:12px;flex:1}
.rp-row{display:flex;align-items:center;border-bottom:1px solid #EFECE6;padding:0 14px}.rp-row label{width:64px;flex:none;font-size:12.5px;color:var(--muted);margin:0}
.rp-row input{border:0;background:transparent;padding:9px 0;box-shadow:none;border-radius:0}.rp-row input:focus{box-shadow:none}
.rp-cc{display:none}.rp:focus-within .rp-cc{display:flex}
.rp textarea#rp-text{border:0;border-radius:0;background:#fff;min-height:200px;padding:14px;font-size:14px;line-height:1.75;box-shadow:none;display:block;width:100%}
.rp-q{padding:6px 14px;border-top:1px solid #EFECE6;font-size:12.5px;color:var(--muted)}.rp-q summary{cursor:pointer}
.rp-f{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid #EFECE6;flex-wrap:wrap}.rp-f input[type=file]{width:auto;font-size:12px;border:0;background:transparent;padding:0}.rp-f .sp{flex:1}
.rp .ai-wait{margin:10px 14px}
.rp-note{margin:10px 14px 0;padding:10px 12px;background:var(--wash-l);border:1px solid var(--wash);border-radius:9px;font-size:12.5px;line-height:1.6;color:var(--wash-d)}.rp-note ul{margin:4px 0 0;padding-left:18px;color:var(--muted)}
.rp-done{padding:14px;border:1px solid #DDE6D6;background:#F4F6F3;border-radius:12px;color:var(--sprout-d);font-size:13.5px}
@media(max-width:1100px){.mw-bar{height:auto;flex-wrap:wrap;padding:10px 12px}.mw-c{order:3;flex-basis:100%}}
@media(max-width:860px){.mw{min-height:0}.mw-body{min-height:0}.mw-list{width:100%;border-right:0;max-height:none;min-height:0}.mw-read{max-height:none;min-height:0}
  #t-mail.reading .mw-list,#t-mail.reading .mw-bar{display:none}#t-mail:not(.reading) .mw-read{display:none}.mr-back{display:inline-flex}.mr-top{flex-direction:column}.mw-read .mr-h,.mw-read .mr-act,.mr-bodywrap,#mr-reply{padding-left:14px;padding-right:14px}.mm{margin:12px 14px 0}}
@media(max-width:860px){.mw-l{width:100%;flex-wrap:wrap}.mw-l .seg{max-width:100%;overflow-x:auto}.mw-r{width:100%;justify-content:flex-end}}

/* ---- 공식 서류 · 고객 안내 · D-Day ---- */
.doc-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px}.doc-bar>.muted{font-size:12px;margin-right:4px}
.dd{display:inline-block;font-size:11px;padding:3px 7px;border-radius:6px;background:var(--wash-l);color:var(--wash-d);white-space:nowrap;font-weight:600}
.dd.soon{background:#FFF4E5;color:#9A5B1F}.dd.late{background:#FBEDED;color:var(--bad)}
.nt-chk{display:flex !important;gap:6px;align-items:flex-start;margin:10px 0 0;font-size:13px;line-height:1.5}.nt-chk .muted{font-size:11.5px}
.ntc{border-color:var(--wash) !important;background:var(--wash-l) !important}
.ntc-t{white-space:pre-wrap;font:13px/1.65 "Noto Sans KR",sans-serif;background:#fff;border:1px solid var(--line2);border-radius:9px;padding:12px;margin:10px 0;max-height:220px;overflow:auto}
a.lnk,.lnk{background:none;border:0;padding:0;color:var(--wash-d);font-size:12.5px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}

/* ======== 헤더 v4: 원 라인 에디토리얼 GNB ======== */
.band{display:none!important}
header.top{height:84px;padding:0 40px;gap:24px;background:rgba(248,247,243,.94);border-bottom:1px solid #ECEAE4}
header.top .logo{gap:12px;flex:none}
header.top .logo .t{font-size:19px;font-weight:700;color:#2C2A29;letter-spacing:-.01em}
header.top .logo .d{display:block;font-family:var(--serif-en);font-size:11px;color:#8C877E;letter-spacing:.03em;margin-top:2px}
nav.gnb{display:flex;align-items:center;gap:30px;margin-left:auto}
nav.gnb a{font-size:14px;color:#5E5A55;font-weight:400;letter-spacing:-.01em;white-space:nowrap;transition:color .18s;display:inline-flex;align-items:center;gap:6px}
nav.gnb a:hover{color:#5A6B5C}
nav.gnb a.on{color:#2C2A29;font-weight:600}
nav.gnb a.sub{color:#8C877E;font-size:13.5px}
nav.gnb .sep{width:1px;height:14px;background:#DDD8CE;margin:0 -8px}
nav.gnb .cnt-pill{font-style:normal;font-size:11px;font-weight:700;min-width:18px;height:18px;line-height:18px;padding:0 5px;border-radius:9px;background:#EEF3EA;color:#4E633E;text-align:center}
nav.gnb a.join{border:1px solid #D5D1C8;padding:6px 13px;border-radius:999px;color:#2C2A29;font-weight:500;background:#fff}
nav.gnb a.join:hover{border-color:#5A6B5C;color:#4E633E}
nav.gnb .me{color:#2C2A29;font-weight:500}
nav.gnb .biz-b{font-size:10.5px;font-weight:700;padding:3px 6px;border-radius:5px;background:#EEF3EA;color:#4E633E;letter-spacing:.02em}
header.top .cartbtn{border:1px solid #E5E3DC;border-radius:999px;background:#fff;padding:8px 15px;margin-left:4px;font-size:13.5px;color:#2C2A29;gap:7px}
header.top .cartbtn:hover{border-color:#CFC9BE;background:#fff}
/* 관리자 슬림 헤더 */
header.top.adm-h{height:58px;padding:0 28px;background:#FFFEFA}
header.top.adm-h .logo b{width:34px;height:34px}header.top.adm-h .logo .t{font-size:16px}header.top.adm-h .logo .d{display:none}
.adm-tag{font-family:var(--serif-en);font-size:11px;letter-spacing:.18em;color:#8C877E;border:1px solid #E5E3DC;border-radius:6px;padding:3px 8px}
header.top.adm-h nav.gnb{gap:22px}header.top.adm-h nav.gnb a{font-size:13px}
@media(max-width:1000px){header.top{padding:0 20px;height:72px}nav.gnb{gap:18px}nav.gnb .sep{display:none}}
@media(max-width:700px){header.top{height:58px;padding:0 14px;gap:10px}header.top .logo .d{display:none}header.top .logo .t{font-size:17px}
  nav.gnb{gap:12px}nav.gnb>a:not(.me):not(.join):not([href="/login.html"]){display:none}nav.gnb a.sub:not([href="/login.html"]){display:none}nav.gnb .biz-b{display:none}
  header.top .cartbtn{margin-left:0;padding:7px 10px}header.top.adm-h nav.gnb .me{display:none}}
.bz-f .ai-paste{background:#FBF8F1;border:1px solid #EEE6D6;border-radius:10px;padding:10px;margin-bottom:12px}.bz-f .ai-paste textarea{min-height:70px}
input[type=checkbox],input[type=radio]{accent-color:#2C2A29}
/* 로그인 · 재설정 */
.auth-card{padding:28px 28px 24px}.auth-card h1{font-size:24px;margin:0 0 8px}
.auth-card input{height:46px}.auth-card .go{width:100%;justify-content:center;padding:13px;background:#2C2A29;border-color:#2C2A29;margin-top:4px}
.auth-links{display:flex;justify-content:flex-end;gap:8px;font-size:12.5px;color:#B3AEA5;margin-top:12px}.auth-links a{color:#8C877E}.auth-links a:hover{color:#2C2A29}
.auth-join{border-top:1px solid #ECEAE4;margin-top:18px;padding-top:18px}.auth-join .btn{width:100%;justify-content:center;padding:12px;background:#fff;font-size:13.5px;color:#5E5A55}.auth-join b{color:#2C2A29;margin-left:4px}
.auth-card .alt{text-align:center;font-size:13px;margin-top:14px}
/* 대시보드 v4: 좌우 높이 맞춤 · 셀렉티드 운영 바 */
.act{align-items:stretch}
.act-l{display:flex;flex-direction:column;gap:12px;min-width:0}
.act-l .act-pipe{flex:1;display:flex;flex-direction:column}.act-l .act-pipe .steps{flex:1;align-content:center}
.act-todo{display:flex;flex-direction:column}.act-todo .td{flex:1}
.steps.s3{grid-template-columns:repeat(4,1fr)}
.steps .pn small{font-size:12px;font-weight:500;margin-left:1px;color:inherit;opacity:.8}
.steps a.stock{background:#FAF9F5;border-color:#ECEAE4}.steps a.stock .pn{color:var(--ink);font-weight:700;font-size:22px}.steps a.stock .pl{color:var(--muted)}
.steps a.stock.warn .pl{color:#9A5B1F}
.steps.s3 a:nth-child(3):after{display:none}
table.recent td{vertical-align:middle;padding-top:10px;padding-bottom:10px}
table.recent td.qa .btn{margin:0}
table.recent .badge{vertical-align:middle}
.sec-t .row label.inline{display:inline-flex;align-items:center;gap:5px;margin:0;font-size:12.5px}
.sec-t .row a{font-size:12.5px}
@media(max-width:900px){.steps.s3{grid-template-columns:repeat(2,1fr)}}
body{word-break:keep-all;overflow-wrap:break-word}
.sp-t td{vertical-align:top;font-size:13px}.sp-t select{min-width:220px;font-size:12.5px}
.ta-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.ta{border:1px solid var(--line2);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.6;background:#fff}.ta b{display:block;font-size:13.5px;margin-bottom:2px}.ta div{color:var(--muted)}
.ta.warn{border-color:#F0DCC4;background:#FFF8F0}.ta.bad{border-color:#EBCFCF;background:#FBF3F3}.ta.ok{border-color:#DDE6D6;background:#F4F6F3}
.act-pipe .steps{border:0!important;background:none!important;padding:0!important;box-shadow:none!important;margin:0!important}
.act-l .act-pipe{justify-content:center}.act-l .act-pipe .steps{flex:none}.act-l .act-pipe .ah{margin-bottom:12px}
.act-l .act-pipe:only-child .steps a{padding:18px 8px 16px}
.fin.n3{grid-template-columns:1.25fr 1fr 1fr}.fin.n2{grid-template-columns:1.25fr 1fr}.fin.n1{grid-template-columns:minmax(0,420px)}
@media(max-width:1000px){.fin.n3,.fin.n2{grid-template-columns:1fr 1fr}}@media(max-width:560px){.fin.n3,.fin.n2{grid-template-columns:1fr}}
/* 코스트코 바잉 라인 */
.lines{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px;align-items:center}
.lines a{padding:9px 16px;border-radius:999px;border:1px solid #E5E3DC;background:#fff;font-size:13.5px;color:#5E5A55;cursor:pointer}.lines a i{font-style:normal;opacity:.6;margin-left:4px;font-size:12px}
.lines a.on{background:#2C2A29;border-color:#2C2A29;color:#F6F2EA}.lines a.costco.on{background:#3F565C;border-color:#3F565C}
.ln-note{width:100%;margin:4px 0 0;font-size:12.5px;color:var(--muted)}
.ln-c{display:inline-block;font-family:var(--serif-en);font-size:10.5px;letter-spacing:.12em;font-weight:700;color:#3F565C;background:#E3ECEE;border-radius:4px;padding:2px 6px;vertical-align:1px}
.pc .ph .ln-c.on-ph{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.92)}
.cc-sold{background:#FBFAF7;border:1px solid #ECEAE4;border-radius:12px;padding:14px}.cc-sold b{font-size:15px}.cc-sold p{font-size:12.5px;margin:4px 0 10px}
