
:root{--accent:#a21caf;--rose:#F9A8D4;--gold:#D4AF37;--fg:#111827;--muted:#6b7280}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,Arial;color:var(--fg);background:#fff}
.container{max-width:1160px;margin:0 auto;padding:0 16px}
.topbar{border-bottom:1px solid #e5e7eb;background:#fff}
.row{display:flex;align-items:center}
.wrap{flex-wrap:wrap}
.gap{gap:10px}
.logo{height:40px;width:40px;border-radius:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:10px 16px;background:linear-gradient(90deg,var(--rose),var(--gold));color:#111;border:none;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(244,114,182,.25)}
.btn.ghost{background:#fff;border:1px solid #fce7f3;color:#a21caf}
.input, select, textarea{width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.card{border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.04);padding:12px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.full{grid-column:1/-1}
h1{font-family:'Playfair Display',serif;font-size:30px;margin:8px 0}
h2{font-family:'Playfair Display',serif;font-size:22px;margin:8px 0}
h3{font-family:'Playfair Display',serif;font-size:18px;margin:8px 0}
.small{font-size:12px}
.muted{color:#6b7280}
.footer{padding:16px;text-align:center;color:#374151}
.loading{position:fixed;inset:0;background:rgba(255,255,255,.8);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:50}
.loading[hidden]{display:none!important}
.spinner{width:44px;height:44px;border:4px solid #e5e7eb;border-top-color:var(--rose);border-radius:999px;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.badge{display:inline-flex;padding:2px 8px;border-radius:12px;background:#fdf2f8;border:1px solid #fce7f3;color:#a21caf;font-size:12px}
.preview-cover{display:flex;flex-direction:column;align-items:center;text-align:center}
.goldbar{height:8px;background:linear-gradient(90deg,var(--gold),var(--rose));margin:12px 0;border-radius:999px;width:min(820px,80%)}
.file input[type=file]{display:block;padding:6px 0}
.mt{margin-top:12px}
