/* 접수함 — site.css 토큰만 쓴다 */
body.adm{background:var(--c-soft);color:var(--c-ink)}
.adm-hdr{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-4) var(--s-5);background:var(--c-paper);box-shadow:0 1px 0 var(--c-line)}
.adm-logo{display:inline-flex;align-items:center;gap:var(--s-2);font-weight:600;color:var(--c-head);text-decoration:none}
.adm-main{max-width:var(--w);margin:0 auto;padding:var(--s-6) var(--s-5)}
.adm-login{max-width:360px;margin:var(--s-9) auto;display:grid;gap:var(--s-4);padding:var(--s-6);background:var(--c-paper)}
.adm-login h1{font-size:var(--fs-4)}
.adm-login input{width:100%;padding:var(--s-4);border:1px solid var(--c-line);background:var(--c-paper);font:inherit;font-size:var(--fs-1)}
.adm-login .err{color:var(--c-alert);font-size:var(--fs-1)}
.adm-tabs{display:flex;gap:var(--s-2);flex-wrap:wrap}
.adm-tabs a{padding:var(--s-2) var(--s-4);border-radius:var(--r-p);background:var(--c-paper);color:var(--c-text);text-decoration:none;font-size:var(--fs-1)}
.adm-tabs a[aria-current="page"]{background:var(--c-accent);color:var(--c-on-dark)}
.adm-tabs b{margin-left:var(--s-1)}
.adm-empty{margin-top:var(--s-6);color:var(--c-text)}
.adm-list{display:grid;gap:var(--s-4);margin-top:var(--s-5);padding:0;list-style:none}
.adm-row{padding:var(--s-5);background:var(--c-paper);border-radius:var(--r-1)}
.adm-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-2) var(--s-4)}
.adm-top time,.adm-top small{color:var(--c-text);font-size:var(--fs-1)}
.adm-kind{padding:0 var(--s-2);border-radius:var(--r-p);background:var(--c-accent-soft);color:var(--c-accent);font-size:var(--fs-1);font-weight:600}
.adm-kind.k-reader{background:var(--c-soft);color:var(--c-head)}
.adm-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-2) var(--s-5);margin-top:var(--s-4);font-size:var(--fs-1)}
.adm-fields div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--s-2)}
.adm-fields dt{color:var(--c-text)}
.adm-fields dd{margin:0;overflow-wrap:anywhere}
.adm-fields a{color:var(--c-accent)}
.adm-fields .ico{width:14px;height:14px;vertical-align:-2px}
.adm-fields div.wide{grid-column:1 / -1}

/* ── 2026-10-05 관리자 확장: 메뉴·대시보드·견적 상태·문구 편집 ── */
:root{ --c-series-1:var(--c-accent); --c-series-2:#d0742a; --c-ok:#2e7d4f; --c-ok-soft:#e6f2ea; }   /* 차트 2색 = dataviz 검사기 통과(#006cb8·#d0742a) */
.adm-hdr{flex-wrap:wrap}
.adm-nav{display:flex;gap:var(--s-1);flex-wrap:wrap;margin-right:auto;margin-left:var(--s-5)}
.adm-nav a{padding:var(--s-2) var(--s-3);border-radius:var(--r-p);color:var(--c-text);text-decoration:none;font-size:var(--fs-1);font-weight:600}
.adm-nav a[aria-current="page"]{background:var(--c-accent-soft);color:var(--c-accent)}
.adm-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:var(--s-1);padding:0 var(--s-1);border-radius:var(--r-p);background:var(--c-alert);color:var(--c-on-dark);font-size:var(--fs-1);line-height:1}
.adm-warn,.adm-ok{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-5);padding:var(--s-3) var(--s-4);border-radius:var(--r-1);font-size:var(--fs-1)}
.adm-warn{background:var(--c-paper);box-shadow:inset 0 0 0 1px var(--c-alert);color:var(--c-alert)}
.adm-ok{background:var(--c-ok-soft);color:var(--c-ok)}
.adm-warn .ico{width:16px;height:16px;flex:none}
.card{padding:var(--s-5);background:var(--c-paper);border-radius:var(--r-1)}
.card + .card,.cols2,.card + .note,.cols2 + .note{margin-top:var(--s-5)}
.card-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}
.card-h h2{font-size:var(--fs-2);color:var(--c-ink)}
.card-h h2 small,.tile small,.upd{font-size:var(--fs-1);font-weight:400;color:var(--c-text)}
.card-h a{font-size:var(--fs-1);color:var(--c-accent)}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-4);margin-bottom:var(--s-5)}
.tile{display:grid;gap:var(--s-1);padding:var(--s-5);background:var(--c-paper);border-radius:var(--r-1);color:var(--c-text);text-decoration:none;font-size:var(--fs-1)}
.tile b{font-size:var(--fs-6);line-height:1.2;color:var(--c-ink);font-variant-numeric:tabular-nums}
a.tile:hover{box-shadow:inset 0 0 0 1px var(--c-accent)}
.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5)}
.cols2 .card + .card{margin-top:0}
.note{font-size:var(--fs-1);color:var(--c-text)}
.dash.loading .chart{opacity:.6}
.legend{display:flex;gap:var(--s-4);margin-bottom:var(--s-2);font-size:var(--fs-1);color:var(--c-text)}
.legend span{display:inline-flex;align-items:center;gap:var(--s-1)}
.ln{display:inline-block;width:16px;height:2px;border-radius:2px;background:var(--c-series-1)}
.ln.s2{background:var(--c-series-2)}
.chart{position:relative;min-height:220px;outline-offset:4px}
.csvg{display:block;width:100%;height:auto;overflow:visible}
.csvg .grid{stroke:var(--c-line);stroke-width:1}
.csvg .base{stroke:var(--c-text);stroke-width:1}
.csvg .ax{fill:var(--c-text);font-size:var(--fs-1)}
.csvg .dl{fill:var(--c-ink);font-size:var(--fs-1);font-weight:600}
.csvg .line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.csvg .line.s1,.csvg .dot.s1{stroke:var(--c-series-1)}
.csvg .line.s2,.csvg .dot.s2{stroke:var(--c-series-2)}
.csvg .dot{fill:var(--c-paper);stroke-width:2}
.csvg .bar.s1{fill:var(--c-series-1)}
.csvg .cross{stroke:var(--c-text);stroke-width:1;stroke-dasharray:3 3}
.csvg .hit{fill:transparent;cursor:crosshair;outline:none}
.csvg .hit.on{fill:var(--c-accent-soft);fill-opacity:.5}
.ctip{position:absolute;top:0;z-index:2;display:grid;gap:var(--s-1);min-width:120px;padding:var(--s-2) var(--s-3);background:var(--c-paper);border-radius:var(--r-1);box-shadow:var(--shadow);font-size:var(--fs-1);pointer-events:none}
.ctip[hidden]{display:none}
.ctip-h{color:var(--c-text)}
.ctip-r{display:flex;align-items:center;gap:var(--s-2)}
.ctip-r b{color:var(--c-ink);font-variant-numeric:tabular-nums}
.ctip-r span{color:var(--c-text)}
.tbl{margin-top:var(--s-3);font-size:var(--fs-1)}
.tbl summary{cursor:pointer;color:var(--c-accent)}
.tbl table,.rank{width:100%;border-collapse:collapse;font-size:var(--fs-1)}
.tbl table{margin-top:var(--s-2)}
.tbl th,.tbl td,.rank td{padding:var(--s-1) var(--s-2);border-bottom:1px solid var(--c-line);text-align:left;font-variant-numeric:tabular-nums}
.rank td{overflow-wrap:anywhere}
.rank .cnt{text-align:right;width:56px;color:var(--c-ink)}
.rank .barcell{width:30%}
.rank .barcell i{display:block;height:6px;border-radius:3px;background:var(--c-series-1)}
.rank .muted{color:var(--c-text)}
.mini{display:grid;gap:0;margin:0;padding:0;list-style:none;font-size:var(--fs-1)}
.mini a{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--c-line);color:var(--c-ink);text-decoration:none}
.mini time{margin-left:auto;color:var(--c-text)}
.st{display:inline-block;padding:0 var(--s-2);border-radius:var(--r-p);font-size:var(--fs-1);font-weight:600;white-space:nowrap}
.st-new{background:var(--c-accent);color:var(--c-on-dark)}
.st-seen{background:var(--c-soft);color:var(--c-head)}
.st-sent{background:var(--c-accent-soft);color:var(--c-accent)}
.st-done{background:var(--c-ok-soft);color:var(--c-ok)}
.st-spam{background:var(--c-soft);color:var(--c-text);text-decoration:line-through}
.qbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-5)}
.qsearch{display:flex;gap:var(--s-2)}
.qsearch input{width:220px;max-width:100%;padding:var(--s-2) var(--s-3);border:1px solid var(--c-line);background:var(--c-paper);font:inherit;font-size:var(--fs-1)}
.qlist{display:grid;gap:var(--s-3);margin:0;padding:0;list-style:none}
.qitem{background:var(--c-paper);border-radius:var(--r-1)}
.qitem summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-3);padding:var(--s-4) var(--s-5);cursor:pointer;font-size:var(--fs-1);list-style:none}
.qitem summary::-webkit-details-marker{display:none}
.qitem .who{color:var(--c-ink);font-size:var(--fs-2)}
.qitem .what{color:var(--c-head)}
.qitem time{margin-left:auto;color:var(--c-text)}
.qitem .flag{padding:0 var(--s-2);border-radius:var(--r-p);box-shadow:inset 0 0 0 1px var(--c-alert);color:var(--c-alert)}
.qbody{padding:0 var(--s-5) var(--s-5);border-top:1px solid var(--c-line)}
.qstate{display:grid;gap:var(--s-3);margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px dashed var(--c-line)}
.qstate fieldset{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:0;padding:0;border:0}
.qstate legend{margin-bottom:var(--s-2);font-size:var(--fs-1);font-weight:600;color:var(--c-ink)}
.chip-r{position:relative}
.chip-r input{position:absolute;opacity:0}
.chip-r span{display:inline-block;padding:var(--s-1) var(--s-3);border:1px solid var(--c-line);border-radius:var(--r-p);font-size:var(--fs-1);cursor:pointer}
.chip-r input:checked + span{background:var(--c-accent);border-color:transparent;color:var(--c-on-dark)}
.chip-r input:focus-visible + span{outline:2px solid var(--c-accent);outline-offset:2px}
.memo{display:grid;gap:var(--s-1);font-size:var(--fs-1)}
.memo textarea,.ced textarea{width:100%;padding:var(--s-3);border:1px solid var(--c-line);background:var(--c-soft);font:inherit;font-size:var(--fs-1);color:var(--c-ink)}
.qstate-f{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3);font-size:var(--fs-1)}
.qstate-f small{color:var(--c-text)}
.qstate-f .reply{margin-left:auto;color:var(--c-accent)}
@media (max-width:860px){
  .adm-nav{order:3;width:100%;margin:var(--s-2) 0 0}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cols2{grid-template-columns:minmax(0,1fr)}
  .qsearch,.qsearch label{flex:1}
  .qsearch input{width:100%}
  .qitem summary,.qbody{padding-left:var(--s-4);padding-right:var(--s-4)}
  .qitem time{margin-left:0}
  .tile b{font-size:var(--fs-5)}
}
/* 문구 편집 */
.ced-help{margin-bottom:var(--s-4)}
.ced-list{display:grid;gap:var(--s-3);margin:0;padding:0;list-style:none}
.ced-item{padding:var(--s-4) var(--s-5);background:var(--c-paper);border-radius:var(--r-1);box-shadow:inset 3px 0 0 transparent}
.ced-item.is-mod{box-shadow:inset 3px 0 0 var(--c-accent)}
.ced-item.is-dirty{box-shadow:inset 3px 0 0 var(--c-series-2)}
.ced-h{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-2);font-size:var(--fs-1)}
.ced-h label{font-weight:600;color:var(--c-head)}
.ced-reset{margin-left:auto;padding:0;border:0;background:none;color:var(--c-accent);font:inherit;font-size:var(--fs-1);cursor:pointer}
.ced input[type="text"]{width:100%;padding:var(--s-3);border:1px solid var(--c-line);background:var(--c-soft);font:inherit;font-size:var(--fs-1);color:var(--c-ink)}
.ced textarea{line-height:var(--lh-body);resize:vertical}
.ced-def{margin-top:var(--s-2);font-size:var(--fs-1);color:var(--c-text)}
.ced-def summary{cursor:pointer}
.ced-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:var(--s-4);margin-top:var(--s-4);padding:var(--s-4) 0;background:var(--c-soft)}
.ced-no{min-width:24px;color:var(--c-text);font-variant-numeric:tabular-nums}
.dash-h{margin:var(--s-7) 0 var(--s-4);font-size:var(--fs-4);color:var(--c-ink)}
.dash-h small{display:block;margin-top:var(--s-1);font-size:var(--fs-1);font-weight:400;color:var(--c-text)}
.tiles3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:860px){ .tiles3{grid-template-columns:minmax(0,1fr)} }
/* QR 관리 */
.tile b.is-bad,.st-bad{color:var(--c-alert)}
.st-bad{background:var(--c-paper);box-shadow:inset 0 0 0 1px var(--c-alert)}
.st-warn{background:var(--c-soft);color:var(--c-series-2);box-shadow:inset 0 0 0 1px var(--c-series-2)}
.tile b.sm{font-size:var(--fs-4)}
.dash-h a{color:inherit}
.qsearch select{padding:var(--s-2) var(--s-3);border:1px solid var(--c-line);background:var(--c-paper);font:inherit;font-size:var(--fs-1)}
.qrbook + .qrbook{margin-top:var(--s-4)}
.qrlist{display:grid;gap:0;margin:0;padding:0;list-style:none}
.qrrow{padding:var(--s-3) 0;border-top:1px solid var(--c-line);font-size:var(--fs-1)}
.qrrow.s-bad{box-shadow:inset 3px 0 0 var(--c-alert);padding-left:var(--s-3)}
.qrrow.s-warn{box-shadow:inset 3px 0 0 var(--c-series-2);padding-left:var(--s-3)}
.qr-src{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-3)}
.qr-url{color:var(--c-ink);font-weight:600;overflow-wrap:anywhere}
.qr-src small{color:var(--c-text)}
.qr-title{margin-top:var(--s-1);color:var(--c-text)}
.qr-targets{display:grid;gap:var(--s-1);margin:var(--s-2) 0 0;padding:0 0 0 var(--s-5);list-style:none}
.qr-targets li{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-1) var(--s-3)}
.qr-targets a{color:var(--c-accent);overflow-wrap:anywhere}
.qr-targets .chk{color:var(--c-text)}
.qr-targets .t-bad .chk{color:var(--c-alert);font-weight:600}
.qr-targets .t-warn .chk{color:var(--c-series-2)}
.qr-edit{width:100%}
.qr-edit summary{cursor:pointer;color:var(--c-text)}
.qr-edit form{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:var(--s-2);align-items:end;margin-top:var(--s-2)}
.qr-edit label{display:grid;gap:var(--s-1)}
.qr-edit input{width:100%;padding:var(--s-2) var(--s-3);border:1px solid var(--c-line);background:var(--c-soft);font:inherit;font-size:var(--fs-1)}
.qr-hist{margin:var(--s-2) 0 0;padding:0 0 0 var(--s-5);list-style:none;color:var(--c-text)}
@media (max-width:860px){ .qr-edit form{grid-template-columns:minmax(0,1fr)} }
.adm .card{text-align:left;transition:none}
.adm .card:hover{transform:none;box-shadow:none}
.qr-targets .more{color:var(--c-text)}
.qr-targets .more a{color:var(--c-accent)}
.qr-edit{flex:0 0 auto}
.qr-edit[open]{flex-basis:100%}
.qrsum{margin-bottom:var(--s-4)}
.qrsum p{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}
.qrbad{margin-top:var(--s-3)}
.qrbad a{color:var(--c-accent)}
.qrbad .cnt{color:var(--c-alert);font-weight:600;width:72px}
/* QR 관리 — 첫 화면 책(프로젝트) 목록 */
.qrbooks{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s-3);margin:0;padding:0;list-style:none}
.qrbk{display:grid;gap:var(--s-1);height:100%;padding:var(--s-4);border:1px solid var(--c-line);background:var(--c-paper);color:var(--c-ink);font-size:var(--fs-1);text-decoration:none}
.qrbk:hover{border-color:var(--c-accent)}
.qrbk b{font-size:var(--fs-2)}
.qrbk > span{color:var(--c-text)}
.qrbk.s-bad{box-shadow:inset 3px 0 0 var(--c-alert)}
.qrbk.s-warn{box-shadow:inset 3px 0 0 var(--c-series-2)}
.qr-back{margin-right:var(--s-2);font-size:var(--fs-1);font-weight:400;color:var(--c-accent)}
/* 메일 설정 */
.mflow{display:grid;gap:var(--s-2);margin:0;padding:0;list-style:none;counter-reset:mf}
.mflow li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--s-3);padding:var(--s-3) 0;border-top:1px solid var(--c-line);font-size:var(--fs-1);counter-increment:mf}
.mflow li b{color:var(--c-ink)}
.mflow li b::before{content:counter(mf) ". ";color:var(--c-accent)}
.mflow small{color:var(--c-text)}
.mform{display:grid;gap:var(--s-3);margin-top:var(--s-3)}
.mform label{display:grid;gap:var(--s-1);font-size:var(--fs-1)}
.mform input,.mform select,.mform textarea{width:100%;padding:var(--s-2) var(--s-3);border:1px solid var(--c-line);background:var(--c-soft);font:inherit;font-size:var(--fs-1)}
.mform details{display:grid;gap:var(--s-2)}
.mform summary{cursor:pointer;color:var(--c-text);font-size:var(--fs-1)}
.mform .btn{justify-self:start}
.dash-rule{margin:0 0 var(--s-5)}
@media (max-width:860px){ .mflow li{grid-template-columns:minmax(0,1fr);gap:var(--s-1)} }

/* ── 견적 요청 = 메일함(10-05): 왼쪽 날짜 · 오른쪽 카드 → 요청서 한 장 ── */
.qbox{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--s-5);align-items:start}
.qside{position:sticky;top:var(--s-4);display:grid;gap:var(--s-3);padding:var(--s-4);background:var(--c-paper);border-radius:var(--r-1)}
.qside .qsearch input{width:100%}
.qside .qsearch,.qside .qsearch label{display:block}
.qstat{display:flex;flex-wrap:wrap;gap:var(--s-1)}
.qstat a{padding:0 var(--s-2);border-radius:var(--r-p);color:var(--c-text);font-size:var(--fs-1);text-decoration:none}
.qstat a[aria-current="page"]{background:var(--c-accent-soft);color:var(--c-accent);font-weight:600}
.qdays{display:grid;gap:var(--s-1);margin:0;padding:var(--s-3) 0 0;border-top:1px solid var(--c-line);list-style:none}
.qdays a{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-1);color:var(--c-head);font-size:var(--fs-1);text-decoration:none}
.qdays a:hover{background:var(--c-soft)}
.qdays a[aria-current="true"]{background:var(--c-accent-soft);color:var(--c-accent);font-weight:600}
.qdays a span{margin-right:auto}
.qdays b{color:var(--c-text);font-weight:400}
.qnew{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 var(--s-1);border-radius:var(--r-p);background:var(--c-accent);color:var(--c-on-dark);font-size:var(--fs-1);font-style:normal;line-height:1}
.qdays-empty{color:var(--c-text);font-size:var(--fs-1)}
.qday-h{margin:0 0 var(--s-4);font-size:var(--fs-3)}
.qday-h small{color:var(--c-text);font-size:var(--fs-1);font-weight:400}
.qcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-3);margin:0;padding:0;list-style:none}
.qcard{display:grid;gap:var(--s-1);height:100%;padding:var(--s-4);background:var(--c-paper);border-radius:var(--r-1);box-shadow:inset 0 0 0 1px var(--c-line);color:var(--c-head);font-size:var(--fs-1);text-decoration:none}
.qcard:hover{box-shadow:inset 0 0 0 1px var(--c-accent)}
.qcard.is-new{box-shadow:inset 3px 0 0 var(--c-accent),inset 0 0 0 1px var(--c-line)}
.qcard-top{display:flex;align-items:center;justify-content:space-between}
.qcard-top time{color:var(--c-text)}
.qcard-who{color:var(--c-ink);font-size:var(--fs-2)}
.qcard-spec{color:var(--c-text)}
.qcard-foot{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-1);color:var(--c-text)}
.qcard-foot .ico{width:14px;height:14px;vertical-align:-2px}
.qcard .flag,.qtools .flag{padding:0 var(--s-2);border-radius:var(--r-p);box-shadow:inset 0 0 0 1px var(--c-alert);color:var(--c-alert)}
.qcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);font-size:var(--fs-1);color:var(--c-text)}
.qcrumb a{color:var(--c-accent);text-decoration:none}
.qcrumb b{color:var(--c-ink)}
.qtools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3)}
.qtools-r{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-left:auto}
.qtools-r form{margin:0}
.btn-del{background:var(--c-paper);color:var(--c-alert);box-shadow:inset 0 0 0 1px var(--c-alert)}
.qpaper{padding:var(--s-5);background:var(--c-paper);border-radius:var(--r-1);overflow-x:auto}
.qmain .qstate{padding:var(--s-4) var(--s-5);background:var(--c-paper);border-radius:var(--r-1);border-top:0}
@media (max-width:860px){
  .qbox{grid-template-columns:minmax(0,1fr)}
  .qside{position:static}
  .qdays{display:flex;overflow-x:auto;padding-bottom:var(--s-1)}
  .qdays a{white-space:nowrap}
  .qtools-r{margin-left:0}
  .qpaper{padding:var(--s-3)}
}
@media print{
  body.adm{background:#fff}
  .adm-hdr,.qside,.qcrumb,.qtools,.qmain .qstate,.adm-ok,.adm-warn{display:none !important}
  .adm-main{max-width:none;padding:0}
  .qbox{display:block}
  .qpaper{padding:0;overflow:visible}
  .qsheet{max-width:none !important;padding:0 !important}
  .qsheet a{color:inherit !important;text-decoration:none}
}

/* 완료 알림(.adm-ok) = 화면 아래 토스트(10-05 주인님) — 레이아웃을 밀지 않고 5초 뒤 사라진다(마우스를 올리면 멈춤). 경고(.adm-warn)는 제자리에 남는다 */
.adm-ok{position:fixed;left:50%;bottom:var(--s-5);z-index:60;width:max-content;max-width:calc(100% - var(--s-6));margin:0;transform:translateX(-50%);background:var(--c-head);color:var(--c-on-dark);box-shadow:var(--shadow);animation:adm-toast .3s var(--ease),adm-toast-out .4s var(--ease) 5s forwards}
.adm-ok:hover{animation-play-state:paused}
@keyframes adm-toast{from{opacity:0;transform:translate(-50%,var(--s-3))}}
@keyframes adm-toast-out{to{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){ .adm-ok{animation:adm-toast-out 0s 4s forwards} }

/* ── 사이트 설정 › 탐색 설정(10-05) ── */
.site-tabs{margin-bottom:var(--s-5)}
.seo-sum .card-h form{margin:0}
.seo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4) var(--s-6);margin-top:var(--s-4)}
.seo-grid h3{margin-bottom:var(--s-2);font-size:var(--fs-1);color:var(--c-ink)}
.seo-items{display:grid;gap:var(--s-2);margin:0;padding:0;list-style:none}
.seo-items li{display:flex;gap:var(--s-2);align-items:flex-start;font-size:var(--fs-1)}
.seo-items li span{display:grid;min-width:0}
.seo-items small{color:var(--c-text);overflow-wrap:anywhere}
.sk{display:inline-grid;place-items:center;flex:none;width:20px;height:20px;border-radius:var(--r-p);font-size:var(--fs-1);font-weight:600;line-height:1}
.sk-ok{background:var(--c-ok-soft);color:var(--c-ok)}
.sk-bad{background:var(--c-alert);color:var(--c-on-dark)}
.sk-todo{box-shadow:inset 0 0 0 1px var(--c-line);color:var(--c-text)}
.seo-pages{margin-top:var(--s-5)}
.seo-pages summary{cursor:pointer;color:var(--c-accent);font-size:var(--fs-1)}
.seo-tbl{overflow-x:auto}
.seo-tbl .seo-n{white-space:nowrap;font-variant-numeric:tabular-nums}
.seo-steps{display:grid;gap:var(--s-2);margin:var(--s-4) 0 0;padding:0;list-style:none}
.seo-steps > li{border-radius:var(--r-1);box-shadow:inset 0 0 0 1px var(--c-line)}
.seo-steps summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);cursor:pointer;font-size:var(--fs-1);list-style:none}
.seo-steps summary::-webkit-details-marker{display:none}
.seo-steps summary b{color:var(--c-ink)}
.seo-steps summary small{margin-left:auto;color:var(--c-text)}
.seo-steps .is-done summary b{color:var(--c-text)}
.seo-steps details > :not(summary){margin-left:var(--s-4);margin-right:var(--s-4)}
.seo-why{font-size:var(--fs-1);color:var(--c-head)}
.seo-how{display:grid;gap:var(--s-1);margin-top:var(--s-2);padding-left:var(--s-5);font-size:var(--fs-1);color:var(--c-text)}
.seo-how code,.seo-form code{padding:0 var(--s-1);border-radius:var(--r-1);background:var(--c-soft);color:var(--c-ink);overflow-wrap:anywhere}
.seo-act{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-3);margin-bottom:var(--s-4)}
.seo-act form{margin:0}
.seo-form fieldset{display:grid;gap:var(--s-3);margin:0 0 var(--s-5);padding:0;border:0}
.seo-form legend{margin-bottom:var(--s-2);font-size:var(--fs-1);font-weight:600;color:var(--c-ink)}
.seo-now{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3)}
.seo-now form{margin:0}
.seo-now a{color:var(--c-accent)}
.seo-ideas{display:grid;gap:var(--s-3);margin:0;padding-left:var(--s-5);font-size:var(--fs-1);color:var(--c-head)}
.seo-ideas b{color:var(--c-ink)}
.seo-page > .card + .card{margin-top:var(--s-5)}
@media (max-width:860px){ .seo-grid{grid-template-columns:minmax(0,1fr)} }
.seo-intro{margin-bottom:var(--s-4);padding:var(--s-3) var(--s-4);border-radius:var(--r-1);background:var(--c-paper);color:var(--c-head)}
.seo-where{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:baseline;margin-top:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-1);background:var(--c-accent-soft);color:var(--c-ink);font-size:var(--fs-1)}
.seo-where span{flex:none;padding:0 var(--s-2);border-radius:var(--r-p);background:var(--c-accent);color:var(--c-on-dark);font-weight:600}
.seo-hours{display:grid;gap:var(--s-1);font-size:var(--fs-1)}
.seo-hours > div{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}
.seo-hours input[type=time]{width:auto}
