
@import url('https://fonts.googleapis.com/css2?family=Gowun+Dodum&family=Song+Myung&display=swap');
:root{--red:#8f1f28;--deep:#57161d;--paper:#f7f1e7;--ink:#2d2623;--line:rgba(87,22,29,.16)}
*{box-sizing:border-box} body{margin:0;background:#efe6da;color:var(--ink);font-family:"Gowun Dodum",sans-serif}
a{color:inherit}.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
aside{background:var(--deep);color:#fff8ed;padding:24px 18px;position:sticky;top:0;height:100vh;overflow:auto}
.admin-brand{display:flex;align-items:center;gap:10px;margin-bottom:24px;text-decoration:none}.seal{width:40px;height:40px;border-radius:12px;background:var(--red);display:grid;place-items:center;font-family:"Song Myung";font-size:22px}.admin-brand strong{font-family:"Song Myung";font-size:20px}.admin-brand small{display:block;color:#d8b7ad;font-size:10px;margin-top:2px}
.admin-nav{display:grid;gap:6px}.admin-nav a{padding:10px 12px;border-radius:12px;text-decoration:none;color:#eddcd5;font-size:13px}.admin-nav a:hover,.admin-nav a.active{background:#fff0e2;color:var(--deep)}
.admin-bottom{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:8px}.admin-bottom a,.admin-bottom button{font:inherit;font-size:12px;border:0;background:rgba(255,255,255,.08);color:#fff;padding:9px 10px;border-radius:10px;text-decoration:none;text-align:left;cursor:pointer}
main{padding:36px clamp(20px,4vw,54px)}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}.page-head p{margin:0;color:var(--red);font-size:11px;letter-spacing:.12em}.page-head h1{font-family:"Song Myung";font-size:38px;font-weight:400;margin:4px 0 0}.save-note{font-size:11px;color:#85766f}
.card{background:rgba(255,252,247,.82);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 12px 32px rgba(70,37,25,.08);margin-bottom:16px}.card h2,.card h3{font-family:"Song Myung";font-weight:400;margin:0 0 16px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
label{display:grid;gap:7px;margin-bottom:12px}label span{font-size:11px;font-weight:700;color:#6f5f59}input,textarea,select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fffaf3;font:inherit;color:inherit}textarea{resize:vertical}
.btn{border:1px solid var(--red);background:var(--red);color:#fff;border-radius:11px;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer}.btn.ghost{background:#fffaf3;color:var(--red)}.btn.danger{background:#6d2e34;border-color:#6d2e34}.btn.small{padding:7px 9px;font-size:11px}
.repeat-list{display:grid;gap:9px}.repeat-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center}.repeat-row.one{grid-template-columns:1fr auto}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.status{font-size:11px;color:var(--red);min-height:17px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat{background:#fff8ee;border:1px solid var(--line);border-radius:16px;padding:16px}.stat small{color:#8c7c75}.stat strong{display:block;font-family:"Song Myung";font-size:26px;color:var(--red);margin-top:5px}
.table{display:grid;gap:8px}.table-row{display:grid;grid-template-columns:120px 1fr 90px auto;gap:10px;align-items:center;padding:10px 12px;background:#fff9f0;border:1px solid rgba(87,22,29,.08);border-radius:12px;font-size:12px}.thumb{width:58px;height:58px;border-radius:12px;object-fit:cover;background:#e6dbce}
.preview-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.preview-item{background:#fff9f0;border:1px solid var(--line);border-radius:14px;padding:10px}.preview-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}.preview-item strong{display:block;margin:7px 0 3px}
.login-page{min-height:100vh;display:grid;place-items:center;padding:20px}.login-box{width:min(430px,100%);background:#fffaf2;border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:0 24px 60px rgba(62,31,26,.14)}.login-box h1{font-family:"Song Myung";font-weight:400;font-size:34px;margin:0 0 6px}.login-box p{color:#7f6f68;font-size:12px;line-height:1.7}.login-actions{display:grid;gap:10px;margin-top:18px}
.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dash-card{display:block;text-decoration:none;background:#fff9f1;border:1px solid var(--line);border-radius:18px;padding:18px}.dash-card span{color:var(--red);font-family:"Song Myung";font-size:24px}.dash-card strong{display:block;margin:12px 0 4px}.dash-card small{color:#897a73}
@media(max-width:900px){.admin-shell{grid-template-columns:1fr}aside{position:relative;height:auto}.admin-nav{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.grid3,.preview-list{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){main{padding:22px 14px}.grid2,.grid3,.dashboard-grid,.preview-list{grid-template-columns:1fr}.repeat-row,.table-row{grid-template-columns:1fr}.admin-nav{grid-template-columns:1fr 1fr}.page-head{align-items:flex-start;flex-direction:column}}

.text-edit-card{margin-bottom:10px}
.text-edit-card label{margin-bottom:5px}
.text-default-hint{font-size:10px;color:#9b8b84;line-height:1.6;white-space:pre-wrap}

.text-edit-card textarea{min-height:72px;line-height:1.75;white-space:pre-wrap}

.stamp-admin-preview{margin-top:7px;width:110px;height:110px;display:grid;place-items:center;background:#fff8ef;border:1px dashed var(--line);border-radius:18px}
.stamp-admin-preview img{max-width:90px;max-height:90px;object-fit:contain}
.default-stamp-preview{width:78px;height:78px;border:5px double var(--red);border-radius:50%;display:grid;place-items:center;color:var(--red);font-family:"Song Myung";font-size:34px;transform:rotate(-8deg);position:relative}
.default-stamp-preview small{position:absolute;bottom:9px;font-size:7px}

.stamp-admin-preview{width:160px;height:160px;margin:10px auto 0}
.stamp-admin-preview img{max-width:138px;max-height:138px}
.default-stamp-preview{width:112px;height:112px;font-size:46px}

/* v10 larger centered stamp preview */
.stamp-admin-preview{
  width:190px !important;
  height:190px !important;
  margin:12px auto 0 !important;
}
.stamp-admin-preview img{
  max-width:170px !important;
  max-height:170px !important;
  object-fit:contain !important;
}

.image-slot-card{display:grid;grid-template-columns:190px 1fr;gap:20px;align-items:center}
.image-slot-preview{width:190px;height:150px;border-radius:18px;background:#fff8ef;border:1px dashed var(--line);display:grid;place-items:center;overflow:hidden}
.image-slot-preview img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
@media(max-width:620px){.image-slot-card{grid-template-columns:1fr}.image-slot-preview{width:100%;height:200px}}


