:root{--ink:#17372e;--green:#153f34;--green2:#245d4e;--cream:#f5f0e6;--paper:#fffdf8;--gold:#b88935;--line:#ddd3c1;--muted:#6b746e;--danger:#a4443e;--shadow:0 16px 44px rgba(24,55,46,.12)}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(135deg,#edf1eb,#f7f2e8 55%,#efe7d8);color:var(--ink);font-family:"Noto Sans KR",sans-serif}
button,input,textarea{font:inherit}
.editor-header{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(18px,4vw,52px);border-bottom:1px solid rgba(255,255,255,.18);background:rgba(21,63,52,.96);color:#fff;box-shadow:0 8px 28px rgba(13,36,30,.22);backdrop-filter:blur(12px)}
.editor-header p{margin:0 0 3px;color:#d5bd88;font-size:10px;font-weight:900;letter-spacing:.18em}.editor-header h1{margin:0;font-family:"Gowun Batang";font-size:clamp(23px,3vw,34px)}
.header-actions,.intro-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.auth-status{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:11px;font-weight:800}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid transparent;border-radius:11px;text-decoration:none;cursor:pointer;font-weight:800;transition:.18s ease}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.55;transform:none}
.button.primary{background:#d6ad62;color:#17372e}.button.secondary{border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.09);color:inherit}.intro-card .button.secondary{border-color:#c9bfac;background:#fff;color:var(--green)}.button.danger-soft{border-color:#dfbbb6;background:#fff8f6;color:var(--danger)}
main{width:min(1180px,calc(100% - 30px));margin:26px auto 110px}.intro-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow)}.intro-card>div:first-child{display:grid;gap:7px;max-width:720px}.intro-card strong{font-family:"Gowun Batang";font-size:22px}.intro-card span{color:var(--muted);font-size:13px;line-height:1.7}
.save-state{margin:14px 3px;color:var(--muted);font-size:12px}.blocked-card{display:grid;gap:14px;justify-items:start;margin-top:30px;padding:30px;border:1px solid #e0b8b3;border-radius:20px;background:#fff8f6}.blocked-card strong{font-size:24px}.blocked-card span{color:var(--muted)}.blocked-actions{display:flex;flex-wrap:wrap;gap:9px}.blocked-card .button.secondary{border-color:#c9bfac;background:#fff;color:var(--green)}
.editor-root{display:grid;gap:18px}.editor-section{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:var(--shadow)}.editor-section>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:19px 22px;cursor:pointer;list-style:none;background:linear-gradient(135deg,#fffdf8,#f2ece0)}.editor-section>summary::-webkit-details-marker{display:none}.editor-section>summary strong{font-family:"Gowun Batang";font-size:23px}.editor-section>summary span{color:var(--muted);font-size:12px}.section-body{display:grid;gap:18px;padding:22px;border-top:1px solid var(--line)}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:grid;gap:7px}.field.wide{grid-column:1/-1}.field label{font-size:12px;font-weight:900}.field small{color:var(--muted);font-size:10px;line-height:1.5}.field input,.field textarea{width:100%;border:1px solid #cfc5b5;border-radius:10px;background:#fff;padding:11px 12px;color:#233e35;outline:none}.field textarea{min-height:108px;resize:vertical;line-height:1.65}.field input:focus,.field textarea:focus{border-color:#6c9d89;box-shadow:0 0 0 3px rgba(73,130,106,.12)}
.product-card,.sub-card{display:grid;gap:16px;padding:18px;border:1px solid #e2d9ca;border-radius:15px;background:#faf7f0}.product-card h3,.sub-card h3{margin:0;font-family:"Gowun Batang";font-size:21px}.image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.image-field{display:grid;gap:9px}.image-field>span{font-size:12px;font-weight:900}.image-preview{position:relative;overflow:hidden;aspect-ratio:4/3;border:1px dashed #b9ad99;border-radius:12px;background:#eae5db}.image-preview img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}.image-actions{display:flex;align-items:center;gap:8px}.image-actions input{position:absolute;width:1px;height:1px;opacity:0}.image-actions label{flex:1;padding:9px 11px;border:1px solid #b9ad99;border-radius:9px;background:#fff;text-align:center;font-size:11px;font-weight:900;cursor:pointer}.image-actions small{color:var(--muted);font-size:10px}
.sticky-save{position:fixed;z-index:30;right:24px;bottom:22px;display:flex;align-items:center;gap:14px;padding:12px 14px 12px 18px;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:rgba(21,63,52,.96);color:#fff;box-shadow:0 18px 45px rgba(12,35,29,.28)}.sticky-save span{font-size:11px}.toast{position:fixed;z-index:60;left:50%;bottom:26px;max-width:min(560px,90vw);padding:12px 18px;border-radius:999px;background:#17372e;color:#fff;text-align:center;opacity:0;pointer-events:none;transform:translate(-50%,14px);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.busy{position:fixed;z-index:70;inset:0;display:grid;place-content:center;justify-items:center;gap:13px;background:rgba(16,39,32,.62);color:#fff;backdrop-filter:blur(4px)}.busy[hidden]{display:none}.spinner{width:38px;height:38px;border:4px solid rgba(255,255,255,.25);border-top-color:#e4c681;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:820px){.editor-header{position:relative;align-items:flex-start;flex-direction:column}.header-actions{width:100%}.header-actions .button{flex:1}.intro-card{align-items:stretch;flex-direction:column}.field-grid,.image-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.sticky-save{right:12px;bottom:12px;left:12px;justify-content:space-between}.editor-section>summary{align-items:flex-start;flex-direction:column}.section-body{padding:15px}.product-card,.sub-card{padding:14px}}
