@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Noto+Sans+KR:wght@400;500;600&display=swap";:root{--bg: #e7eff8;--bg-strong: #d8e5f2;--panel: #ffffff;--ink: #1b1f24;--muted: #4f5e70;--navy: #1e2f45;--accent: #caa15b;--accent-strong: #a67b3f;--line: rgba(30, 47, 69, .12);--shadow: 0 26px 70px rgba(18, 30, 50, .18);--shadow-soft: 0 18px 42px rgba(20, 34, 55, .12);--sky-top: #e7eff8;--sky-mid: #d7e5f3;--sky-bottom: #f6efe6;font-family:Noto Sans KR,sans-serif;line-height:1.6;font-weight:400;color:var(--ink);background-color:var(--bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;position:relative;overflow-x:hidden;background:radial-gradient(circle at 12% 10%,rgba(255,255,255,.85),transparent 40%),radial-gradient(circle at 82% 16%,rgba(255,255,255,.7),transparent 45%),radial-gradient(circle at 78% 78%,rgba(255,255,255,.6),transparent 48%),linear-gradient(180deg,var(--sky-top) 0%,var(--sky-mid) 45%,var(--sky-bottom) 100%)}html{overflow-x:hidden}body:before,body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0}body:before{background:repeating-linear-gradient(120deg,rgba(30,47,69,.05) 0,rgba(30,47,69,.05) 1px,transparent 1px,transparent 180px),repeating-linear-gradient(30deg,rgba(30,47,69,.04) 0,rgba(30,47,69,.04) 1px,transparent 1px,transparent 220px);opacity:.55}body:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='800' viewBox='0 0 1200 800' fill='none'%3E%3Cpath d='M40 560 C 260 440 540 520 860 360' stroke='%231f2f44' stroke-opacity='0.2' stroke-width='2' stroke-dasharray='6 10'/%3E%3Cpath d='M180 640 C 420 520 680 600 1120 420' stroke='%231f2f44' stroke-opacity='0.15' stroke-width='1.5' stroke-dasharray='4 10'/%3E%3Ccircle cx='860' cy='360' r='5' fill='%231f2f44' fill-opacity='0.18'/%3E%3Ccircle cx='1120' cy='420' r='4' fill='%231f2f44' fill-opacity='0.15'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center 18%;background-size:clamp(720px,90vw,1200px);opacity:.4}#root{min-height:100vh;position:relative;z-index:1}h1,h2,h3{font-family:Cormorant Garamond,Noto Sans KR,serif;letter-spacing:-.02em}p{margin:0}button,input{font-family:inherit}::selection{background:#cfa45f40}code{font-family:Noto Sans KR,sans-serif}.app{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;width:100%;max-width:100vw;padding:clamp(2rem,6vw,3rem) clamp(1rem,5vw,1.5rem);padding-left:calc(clamp(1rem,5vw,1.5rem) + env(safe-area-inset-left,0px));padding-right:calc(clamp(1rem,5vw,1.5rem) + env(safe-area-inset-right,0px))}.panel{position:relative;padding:2rem 1.6rem;width:100%;max-width:720px;min-width:0;margin:0 auto;border-radius:28px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;animation:rise .8s ease both;animation-delay:.1s}.ticket-strip{display:inline-flex;gap:.8rem;align-items:center;flex-wrap:wrap;padding:.45rem 1.1rem;border-radius:999px;border:1px solid rgba(32,48,71,.2);background:#2030470a;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);font-weight:600;margin-bottom:1.4rem}.panel:before,.panel:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--bg);box-shadow:0 0 0 1px var(--line);top:140px;display:none}.panel:before{left:-9px}.panel:after{right:-9px}.header{display:grid;gap:.4rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:var(--muted);font-weight:600}.header h1{margin:0;font-size:clamp(1.9rem,2.6vw,2.4rem);line-height:1.2}.subtitle{color:var(--muted);max-width:36ch}.divider{height:1px;background:linear-gradient(90deg,transparent,rgba(32,48,71,.2),transparent);margin:1.6rem 0}.form{display:grid;gap:1.15rem;min-width:0}.form-row{display:grid;gap:1rem;min-width:0}.form-row.inline,.limit-row.inline{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:.9rem;row-gap:.9rem;align-items:end;width:100%}.form-row.inline.compact{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.form-row.inline.keep-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.limit-row.inline.compact{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.field{display:grid;gap:.55rem;animation:rise .6s ease both;min-width:0;max-width:100%}.field.full{grid-column:1 / -1}.field:nth-of-type(1){animation-delay:.06s}.field:nth-of-type(2){animation-delay:.1s}.field:nth-of-type(3){animation-delay:.14s}.field:nth-of-type(4){animation-delay:.18s}.field:nth-of-type(5){animation-delay:.22s}.field:nth-of-type(6){animation-delay:.26s}.field:nth-of-type(7){animation-delay:.3s}label{font-weight:600;font-size:.95rem;color:var(--navy)}.label-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .6rem}.label-hint{font-size:.78rem;color:var(--muted)}.email-row{display:grid;grid-template-columns:1fr;gap:.6rem;align-items:center}.email-row input,.email-row select{width:100%}.email-row .at{font-weight:600;color:var(--muted);display:none}.email-custom{margin-top:.6rem}.email-custom input{width:100%}.date-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;align-items:center}.date-row select{width:100%}input,select{width:100%;max-width:100%;padding:.85rem 1rem;border-radius:14px;border:1px solid rgba(32,48,71,.18);background:#fffdf9;font-size:1rem;color:var(--ink);min-width:0;min-inline-size:0;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}input[type=date]{display:block;width:100%;max-width:100%;min-width:0;overflow:hidden}input[type=date]::-webkit-datetime-edit,input[type=date]::-webkit-datetime-edit-fields-wrapper{max-width:100%;overflow:hidden}input::placeholder{color:#1b1a1766}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%231f2f44' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px;padding-right:2.6rem}select:invalid{color:#1b1a1773}input:focus,select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #2030472e;transform:translateY(-1px)}.actions{display:flex;justify-content:stretch;margin-top:.5rem}button.primary{border:none;padding:.9rem 2rem;border-radius:999px;font-weight:600;font-size:.95rem;background:linear-gradient(135deg,var(--navy),#3a5173);color:#fef8f1;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;width:100%}button.primary:hover{transform:translateY(-1px);box-shadow:0 16px 30px #20304740;filter:brightness(1.03)}button.primary:disabled{cursor:not-allowed;transform:none;box-shadow:none;opacity:.65}.status{margin-top:1.6rem;padding:1rem 1.25rem;border-radius:16px;border:1px solid var(--line);background:#f9f4ee;display:grid;gap:.4rem;animation:rise .5s ease both}.status code{font-weight:600;letter-spacing:.08em;color:var(--navy)}.status.success{border-color:#2e7a6659;background:#eff7f4}.status.error{border-color:#b0453a59;background:#fff1f0}.status ul{margin:.3rem 0 0 1.25rem;padding:0}.modal-backdrop{position:fixed;inset:0;background:#0f162173;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(420px,100%);border-radius:24px;padding:1.8rem 1.6rem;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;display:grid;gap:.9rem;animation:rise .35s ease both}.modal-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-weight:700;letter-spacing:.08em;color:var(--navy);background:#1f2f4414;border:1px solid rgba(31,47,68,.2);margin:0 auto}.modal h2{margin:0;font-size:1.5rem}.modal-text{margin:0;color:var(--muted);font-size:.95rem}.modal-actions{display:flex;justify-content:center}.admin-header{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.admin-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.admin-sort{display:flex;align-items:center;gap:.5rem}.admin-sort label{font-size:.85rem;color:var(--muted);font-weight:600}.admin-sort select{padding:.55rem 2.4rem .55rem .9rem;font-size:.9rem;border-radius:999px}button.ghost{border:1px solid rgba(31,47,68,.2);padding:.6rem 1.4rem;border-radius:999px;background:#fff;color:var(--navy);font-weight:600;font-size:.9rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}button.ghost:hover{border-color:#1f2f4459;box-shadow:0 10px 22px #1f2f441f;transform:translateY(-1px)}button.ghost:disabled{cursor:not-allowed;opacity:.65;transform:none;box-shadow:none}.admin-count{font-size:.85rem;color:var(--muted)}.admin-empty{text-align:center;color:var(--muted);padding:1.2rem 0}.admin-section{display:grid;gap:1rem}.admin-section-header h2{margin:0;font-size:1.3rem}.admin-section-header{display:flex;align-items:end;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.admin-section-header .subtitle{margin-top:.3rem}.admin-filter{display:flex;align-items:center;gap:.35rem}.admin-filter label{font-size:.82rem;color:var(--muted);white-space:nowrap}.admin-filter select{width:auto;min-width:104px;padding:.55rem 2.2rem .55rem .75rem;font-size:.9rem}.limit-form,.limit-row{display:grid;gap:.9rem}.limit-row.stack{grid-template-columns:minmax(0,1fr);align-items:start}.limit-actions{display:flex;justify-content:flex-start}.limit-actions.inline{align-self:end}.limit-actions button.primary{width:auto}.limit-capacity-row{display:flex;align-items:flex-end;gap:.7rem;flex-wrap:wrap}.limit-capacity-field{flex:0 0 170px;max-width:170px}.admin-table-wrap{display:grid;margin-top:.8rem;border-radius:18px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-soft);overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.list-filter-bar{display:flex;justify-content:flex-end;margin-top:.2rem}.limit-filter-bar{justify-content:flex-start;margin-top:-.1rem}.admin-table{width:100%;border-collapse:collapse;min-width:760px;font-size:.92rem}.limit-table{min-width:520px}.admin-table thead th{text-align:left;padding:.9rem 1rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:#1f2f440a;border-bottom:1px solid var(--line)}.admin-table tbody td{padding:.85rem 1rem;border-bottom:1px solid rgba(31,47,68,.08);color:var(--ink);vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#1f2f4408}.cell-strong{font-weight:600;color:var(--navy)}.cell-muted{color:var(--muted)}.cell-alert{color:#b0453a;font-weight:600}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;padding:.75rem 1rem;border-top:1px solid rgba(31,47,68,.1);background:#fff}.pagination-text{min-width:62px;text-align:center;color:var(--muted);font-size:.86rem;font-weight:600}.notice{margin-top:1.6rem;padding:1.2rem 1.3rem;border-radius:18px;border:1px solid rgba(31,47,68,.12);background:#ffffffe6;color:var(--muted);box-shadow:0 12px 30px #1f2f4414}.notice-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem;font-size:.92rem}.notice-list li{position:relative;padding-left:1.1rem;line-height:1.6}.notice-list li:before{content:"*";position:absolute;left:0;color:#1f2f4499;font-weight:600}.user-panel{border-radius:10px;border-color:#d7dbe2;background:#fff;box-shadow:0 10px 24px #141f2e1a}.user-panel:before,.user-panel:after{display:none}.user-panel h1,.user-panel h2,.user-panel h3{font-family:Noto Sans KR,sans-serif;letter-spacing:-.01em}.user-panel .header h1{font-size:clamp(1.8rem,2.4vw,2.2rem);font-weight:700}.user-panel .subtitle{color:#5c6675}.user-panel .divider{margin:1.25rem 0 1.45rem;background:#dfe4ec}.user-panel .field{animation:none}.user-panel label{font-weight:700;color:#1f2d42}.user-panel .label-hint{color:#687384}.user-panel input,.user-panel select{border-radius:6px;border-color:#c7ced9;background:#fff;box-shadow:none}.user-panel input:focus,.user-panel select:focus{border-color:#355b86;box-shadow:0 0 0 2px #355b8624;transform:none}.user-panel select{padding-right:2.2rem;background-position:right .8rem center}.user-panel .actions{margin-top:.65rem}.user-panel button.primary{border-radius:6px;background:#2a4468;box-shadow:none;font-size:1rem;padding:.85rem 1.4rem}.user-panel button.primary:hover{transform:none;box-shadow:none;filter:none;background:#243c5c}.user-panel .status,.user-panel .notice{border-radius:8px;box-shadow:none}.user-panel .notice{border-color:#d5dae3;background:#f9fbfe}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:720px){.form-row,.limit-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.limit-row.stack{grid-template-columns:minmax(0,1fr);align-items:start}.admin-header{flex-direction:row;align-items:flex-start;justify-content:space-between}.email-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.email-row .at{display:inline}.actions{justify-content:flex-end}button.primary{width:auto}}@media(min-width:980px){.app{align-items:center;padding:4.5rem 2rem}.panel{padding:2.6rem}.ticket-strip{gap:1.2rem;font-size:.7rem;letter-spacing:.18em}.panel:before,.panel:after{display:block}}@media(max-width:520px){.app{padding:1.6rem .9rem;padding-left:calc(.9rem + env(safe-area-inset-left,0px));padding-right:calc(.9rem + env(safe-area-inset-right,0px))}.panel{padding:1.45rem 1rem;border-radius:22px}.header h1{font-size:clamp(1.6rem,6vw,2rem)}.form-row.inline,.limit-row.inline{column-gap:.6rem;row-gap:.6rem}.admin-section-header{align-items:flex-start}.admin-filter{width:100%}.admin-filter select{width:100%;min-width:0}.list-filter-bar{justify-content:stretch}.pagination{justify-content:center}label{font-size:.9rem}.label-hint{font-size:.74rem}input,select{padding:.75rem .85rem;font-size:.95rem}select{padding-right:2.2rem;background-position:right .85rem center}input[type=date]{padding-right:.7rem}}@media(max-width:420px){.form-row.inline,.limit-row.inline{grid-template-columns:minmax(0,1fr)}.form-row.inline.keep-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.limit-capacity-row{gap:.55rem}.limit-capacity-field{flex-basis:145px;max-width:145px}}@media(prefers-reduced-motion:reduce){.intro-card,.detail,.stamp,.panel,.field,.status{animation:none}button.primary,input{transition:none}}
