/* 관리자: 형이 휴대폰 한 손으로 쓰는 화면. 사이트와 같은 남색·금색, 글씨는 크게. */
:root{--sand:#F4EEE4;--paper:#FBF8F2;--night:#0F1B2D;--ink:#1A2230;--muted:#5F6874;--line:#DDD2BF;--gold:#E7C088;--gold-d:#94703E;--warn:#9A3B1F;--ok:#2F6B4F;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--sand);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold-d);outline-offset:2px}
.bar{position:sticky;top:0;z-index:5;background:var(--night);color:#fff;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.brand{font-weight:700;text-decoration:none}.brand em{font-style:normal;color:var(--gold);font-weight:500;margin-left:4px}
nav{display:flex;gap:4px;overflow-x:auto;width:100%;scrollbar-width:none}
nav a{text-decoration:none;padding:8px 12px;border-radius:999px;font-size:14px;white-space:nowrap;color:#C9D2DC}
nav a.on{background:var(--gold);color:var(--night);font-weight:600}
main{max-width:760px;margin:0 auto;padding:16px}
.pad{padding:24px 16px}
.muted{color:var(--muted)}
h1{font-size:22px;margin:8px 0 14px}
h2{font-size:18px;margin:24px 0 10px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:50px;padding:0 18px;border-radius:10px;border:1px solid var(--night);background:#fff;font-weight:600;cursor:pointer;text-decoration:none}
.btn.main{background:var(--night);color:#fff}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--night)}
.btn.danger{border-color:var(--warn);color:var(--warn)}
.btn[disabled]{opacity:.5}
.row{display:flex;flex-wrap:wrap;gap:8px}
.wide{width:100%}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:14px;cursor:pointer}
.chip.on{background:var(--night);color:#fff;border-color:var(--night)}
.list{list-style:none;margin:0;padding:0}
.list a{display:flex;align-items:center;gap:10px;padding:14px 4px;border-bottom:1px solid var(--line);text-decoration:none;min-height:60px}
.list b{flex:1}
.list small{display:block;color:var(--muted);font-weight:400;font-size:13px}
.st{font-size:12px;font-weight:700;border-radius:999px;padding:3px 9px;white-space:nowrap}
.st-draft,.st-review{background:#FBEFE9;color:var(--warn)}
.st-approved{background:#FBF1DF;color:#6B4E1F}
.st-published{background:#EEF6F1;color:var(--ok)}
.st-recheck{background:#FBEFE9;color:var(--warn)}
.st-hidden{background:#ECECEC;color:#666}
label.f{display:block;margin:0 0 14px}
label.f>span{display:block;font-size:14px;font-weight:600;margin-bottom:4px}
label.f>small{display:block;font-size:12.5px;color:var(--muted);margin-top:4px}
input[type=text],input[type=url],input[type=number],input[type=date],input:not([type]),select,textarea{width:100%;min-height:48px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px;font-size:16px}
textarea{min-height:110px;resize:vertical}
fieldset{border:1px solid var(--line);border-radius:10px;padding:12px;margin:0 0 14px}
legend{font-weight:600;font-size:14px;padding:0 6px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.photos figure{margin:0;position:relative}
.photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#ddd}
.photos figcaption{font-size:11.5px;color:var(--muted)}
.dock{position:fixed;left:0;right:0;bottom:0;z-index:6;background:rgba(251,248,242,.97);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));display:flex;gap:8px;justify-content:center}
.dock .btn{flex:1;max-width:240px}
.toast{position:fixed;left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:7;background:var(--night);color:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 10px 30px -10px rgba(0,0,0,.5);white-space:pre-line}
.toast.err{background:var(--warn)}
.keep{word-break:keep-all;overflow-wrap:break-word}
.diff{margin:0 0 12px;font-size:14px;word-break:keep-all;overflow-wrap:anywhere}
.difflist{list-style:none;margin:0;padding:0}
.difflist>li{padding:8px 0;border-top:1px solid var(--line)}
.difflist summary{cursor:pointer;min-height:32px}
.difflist ul{list-style:none;margin:6px 0 0;padding:0 0 0 4px}
.difflist ul li{padding:4px 0}
.difflist del{color:var(--warn)}
.difflist ins{text-decoration:none;color:var(--ok);font-weight:600}
.pricelist{margin-top:10px;font-size:14px;word-break:keep-all;overflow-wrap:anywhere}
.pricelist summary{cursor:pointer;min-height:32px;font-weight:600}
.pricelist ul{list-style:none;margin:6px 0 0;padding:0}
.pricelist li{padding:6px 0;border-top:1px solid var(--line)}
.pricelist li small{display:block}
.links{font-size:14px;word-break:keep-all;color:var(--muted);margin:12px 0 0}
.links a{color:var(--ink);display:inline-block;padding:6px 2px}
.confirm{border:1px solid var(--gold-d);background:#FBF1DF;border-radius:10px;padding:14px;margin:12px 0}
.stat{display:flex;gap:6px;align-items:flex-end;height:90px;margin:8px 0}
.stat i{flex:1;background:var(--gold-d);border-radius:3px 3px 0 0;min-height:2px}
.big{font-size:34px;font-weight:700}
.kv{display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:14px}
.warnbox{border-left:3px solid var(--warn);background:#FBEFE9;padding:10px 12px;border-radius:6px;font-size:14px;margin:0 0 14px}
/* 기능 설정·문구 자리표시자 */
label.f.chk{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:48px;font-weight:600}
label.f.chk input{width:24px;height:24px;margin:0;flex:none}
label.f.chk small{flex-basis:100%;font-weight:400;font-size:12.5px;color:var(--muted)}
label.f.chk.on{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 12px}
.num{display:flex;align-items:center;gap:8px}.num input{flex:1;min-width:0}.num span{flex:none;color:var(--muted);font-size:14px}
small.need{display:block;font-size:12.5px;color:var(--gold-d);margin:-8px 0 2px}small.need code{font:inherit;font-weight:600;background:#fff;border:1px solid var(--line);border-radius:4px;padding:0 4px;margin-right:4px}
small.bad{color:var(--warn)!important;font-weight:600}
ol.multi{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff}
ol.multi li{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--line);min-height:48px}
ol.multi li:last-child{border-bottom:0}
ol.multi label{flex:1;display:flex;align-items:center;gap:8px;min-height:40px;font-weight:500}
ol.multi input{width:22px;height:22px;margin:0;flex:none}
ol.multi .chip{min-width:40px;min-height:40px;padding:0;font-size:16px}
.multi-f{margin:0 0 14px}.multi-f>b{display:block;font-size:14px;font-weight:600;margin-bottom:4px}.multi-f>small{display:block;font-size:12.5px;color:var(--muted);margin-top:4px}
[hidden]{display:none!important}
input[type=search]{width:100%;min-height:48px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px;font-size:16px}
.copysearch{display:flex;gap:8px;align-items:flex-end;margin:0 0 6px}
.copysearch>label{flex:1;min-width:0;margin:0}
.copysearch>.btn{flex:none;min-height:48px}
