@import url("https://fonts.googleapis.com/css2?family=Gowun+Dodum&family=Inter:wght@400;500;600;700&family=Whisper&display=swap");:root{--brown:#5b4334;--brown-dark:#3e2d23;--cream:#fcf8f3;--gold:#dfd18e;--gold-dark:#c4b76e;--line:#e8e0d5;--text:#3e2d23;--text-soft:#8a7a6c;--white:#fff;--danger:#b4543e;--success:#5e7a52;--font-display:"Gowun Dodum",serif;--font-script:"Whisper",cursive;--font-body:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--radius:14px;--radius-sm:9px;--shadow:0 4px 24px rgba(91,67,52,.08);--shadow-lg:0 10px 40px rgba(91,67,52,.14);--maxw:1100px}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--cream);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100%}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;color:var(--brown-dark);line-height:1.2}a{color:var(--brown);text-decoration:none}a:hover{color:var(--gold-dark)}.page{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;border:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:center}.btn-primary{background:var(--brown);color:var(--cream)}.btn-primary:hover{background:var(--brown-dark);transform:translateY(-1px)}.btn-gold{background:var(--gold);color:var(--brown-dark)}.btn-gold:hover{background:var(--gold-dark);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--brown);border:1.5px solid var(--line)}.btn-ghost:hover{border-color:var(--brown);background:rgba(91,67,52,.04)}.btn-danger{background:transparent;color:var(--danger);border:1.5px solid #e8c9c0}.btn-danger:hover{background:rgba(180,84,62,.06);border-color:var(--danger)}.btn[aria-disabled=true]{opacity:.5;pointer-events:none}.btn-block{width:100%}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:26px}.field{margin-bottom:18px}.field label{display:block;font-size:13.5px;font-weight:600;color:var(--brown);margin-bottom:7px;letter-spacing:.01em}.field .hint{font-weight:400;color:var(--text-soft);font-size:12.5px}.input,.textarea,select.input{width:100%;padding:12px 14px;font-family:var(--font-body);font-size:15px;color:var(--text);background:var(--cream);border:1.5px solid var(--line);border-radius:var(--radius-sm);transition:border-color .15s ease,background .15s ease}.input:focus,.textarea:focus,select.input:focus{outline:none;border-color:var(--gold-dark);background:var(--white)}.textarea{resize:vertical;min-height:90px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:600}.eyebrow,.script{color:var(--gold-dark)}.script{font-family:var(--font-script);font-size:2.2em;line-height:1}.divider-gold{height:2px;border:none;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:28px 0}.notice{padding:13px 16px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:16px}.notice-error{background:#faede9;color:var(--danger);border:1px solid #e8c9c0}.notice-success{background:#eef3ea;color:var(--success);border:1px solid #cfe0c4}.notice-info{background:#fbf6eb;color:var(--brown);border:1px solid var(--gold)}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:100px;font-size:12px;font-weight:600}.badge-on{background:#eef3ea;color:var(--success)}.badge-off{background:#f0ebe4;color:var(--text-soft)}.table-wrap{width:100%;overflow-x:auto}.muted{color:var(--text-soft)}.center{text-align:center}.row,.row-between{display:flex;gap:12px;flex-wrap:wrap}.row-between{align-items:center;justify-content:space-between}.stack-sm>*+*{margin-top:8px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:18px;gap:18px}.grid-cards>*,.row>*{min-width:0}@media (max-width:600px){.card-pad{padding:18px}.container{padding:0 16px}.grid-cards{grid-template-columns:1fr}}