@font-face{font-family:Obviously;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ObviouslyDemo-WideMedium.woff2) format("woff2"),url(/fonts/ObviouslyDemo-WideMedium.otf) format("opentype")}:root{--hero-1:#9ed7f9;--hero-2:#77cde3;--hero-3:#4e96c7;--accent:#8cd7ff;--brand:#23a2f3;--brand-dark:#255370;--brand-soft:#eaf6ff;--ink:#1f3a4d;--muted:#6b8499;--line:#d7e8f3;--bg:#eef7fd;--danger:#d6455b;--ok:#1f9d6b}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,맑은 고딕,Noto Sans KR,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.55}.wrap{max-width:480px;margin:0 auto;padding:0 18px 56px}.hero{background:linear-gradient(135deg,var(--hero-1) 0,var(--hero-2) 50%,var(--hero-3) 100%);color:#fff;border-radius:0 0 24px 24px;padding:38px 18px 30px;text-align:center;margin:0 -18px 24px}.hero .badge{display:inline-block;background:#fff;border:1px solid rgba(255,255,255,.7);color:var(--brand-dark);padding:6px 16px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.04em;margin-bottom:16px;box-shadow:0 2px 8px rgba(37,83,112,.18)}.hero h1.deal{font-family:Obviously,Pretendard Variable,sans-serif;font-size:clamp(30px,8.5vw,42px);line-height:1.04;margin:0 0 12px;font-weight:500;letter-spacing:.005em;word-break:keep-all;color:#fff;padding-bottom:14px;background-image:linear-gradient(90deg,rgba(140,215,255,0) 0,var(--accent) 28%,#eaf8ff 50%,var(--accent) 72%,rgba(140,215,255,0) 100%);background-repeat:no-repeat;background-position:center bottom 2px;background-size:56% 3px}.hero h1.deal .excl{font-family:Pretendard Variable,Pretendard,sans-serif;font-weight:900;font-size:.92em;display:inline-block;transform:scaleY(1.12);transform-origin:bottom;vertical-align:baseline;position:relative;top:.05em;margin-left:.04em}.hero p{margin:0;font-size:14.5px;color:#fff;opacity:.92;word-break:keep-all}.hero .dates{margin-top:18px;display:flex;flex-direction:column;gap:10px;align-items:stretch}.hero .date-chip{display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;border:1px solid rgba(255,255,255,.8);border-radius:14px;padding:12px 16px;box-shadow:0 2px 10px rgba(37,83,112,.16)}.hero .date-chip .label{font-size:12px;font-weight:800;color:#fff;background:var(--brand);border-radius:999px;padding:3px 11px}.hero .date-chip .d{font-size:18px;font-weight:900;color:var(--brand-dark)}.hero .date-chip .t{font-size:15.5px;font-weight:700;color:var(--muted)}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 20px;box-shadow:0 2px 16px rgba(11,83,148,.05)}.field{margin-bottom:18px}.field label{display:block;font-size:14px;font-weight:700;margin-bottom:7px}.field .req{color:var(--brand);margin-left:3px}.field input{width:100%;padding:14px;font-size:16px;border:1.5px solid var(--line);border-radius:12px;outline:none;transition:border-color .15s;background:#fff;color:var(--ink)}.field input:focus{border-color:var(--brand)}.field .hint{color:var(--muted)}.field .err,.field .hint{font-size:12.5px;margin-top:6px}.field .err{color:var(--danger)}.consent{background:var(--brand-soft);border-radius:14px;padding:16px 16px 8px;margin:22px 0 6px}.check{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;cursor:pointer}.check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--brand);flex-shrink:0}.check .ctxt{font-size:13.5px;line-height:1.45}.check .ctxt b{color:var(--brand-dark)}.policy-toggle{display:block;background:none;border:none;color:var(--brand);font-size:12.5px;text-align:left;text-decoration:underline;padding:0;margin:-6px 0 12px 30px;cursor:pointer}.policy-box{font-size:12px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin:0 0 12px;line-height:1.6}.policy-box table{width:100%;border-collapse:collapse;margin-top:6px}.policy-box td{border:1px solid var(--line);padding:5px 7px}.btn{display:block;width:100%;padding:16px;font-size:16.5px;font-weight:600;color:#fff;background:linear-gradient(180deg,#4fb8f9 0,var(--brand) 52%,#1c86cf 100%);border:none;border-radius:13px;cursor:pointer;margin-top:18px;letter-spacing:.01em;box-shadow:0 10px 22px rgba(37,83,112,.42),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -3px 0 rgba(37,83,112,.55);transition:transform .12s ease,background .15s,box-shadow .15s,opacity .15s}.btn:hover{background:linear-gradient(180deg,#3cb1f8,#2095e6 52%,#1877bd);box-shadow:0 12px 26px rgba(37,83,112,.48),inset 0 1px 0 rgba(255,255,255,.55),inset 0 -3px 0 rgba(37,83,112,.6)}.btn:active{transform:translateY(1px);box-shadow:0 5px 12px rgba(37,83,112,.4),inset 0 1px 0 rgba(255,255,255,.4),inset 0 -2px 0 rgba(37,83,112,.5)}.btn:disabled{opacity:.55;cursor:not-allowed}.member-note{margin-top:20px;border:1.5px dashed var(--brand);background:#fff;border-radius:14px;padding:16px;text-align:center}.member-note .mtitle{font-size:14px;font-weight:800;color:var(--brand-dark)}.member-note p{font-size:13px;color:var(--muted);margin:6px 0 12px;word-break:keep-all}.member-note a{display:inline-block;font-size:14px;font-weight:700;color:var(--brand);border:1.5px solid var(--brand);border-radius:10px;padding:10px 22px;text-decoration:none}.foot{font-size:11.5px;color:var(--muted);margin-top:26px;line-height:1.6}.done,.foot{text-align:center}.done{padding:30px 8px}.done .circle{width:76px;height:76px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:40px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}.done h2{font-size:21px;margin:0 0 10px}.done p{font-size:14.5px;color:var(--muted);margin:0 0 6px;word-break:keep-all}.done .summary{background:var(--brand-soft);border-radius:12px;padding:14px;margin:18px 0;font-size:14px}.admin-wrap{max-width:1000px;margin:0 auto;padding:24px 18px 60px}.admin-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}.admin-head h1{font-size:21px;margin:0}.admin-head .sub{font-size:13px;color:var(--muted)}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center}.stat .num{font-size:28px;font-weight:800;color:var(--brand)}.stat .lab{font-size:12.5px;color:var(--muted);margin-top:4px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;align-items:center}.toolbar input[type=search]{flex:1 1;min-width:160px;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;font-size:14px}.tbtn{padding:10px 16px;font-size:14px;font-weight:700;border-radius:10px;border:1.5px solid var(--brand);background:#fff;color:var(--brand);cursor:pointer}.tbtn.primary{background:var(--brand);color:#fff}.tbtn.ghost{border-color:var(--line);color:var(--muted)}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:13.5px}table.data td,table.data th{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}table.data th{background:#f8fafc;font-size:12.5px;color:var(--muted);font-weight:700;position:-webkit-sticky;position:sticky;top:0}table.data tr:last-child td{border-bottom:none}table.data tbody tr:hover{background:#fafcff}.pill{display:inline-block;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px}.pill.y{background:#e7f6ef;color:var(--ok)}.pill.n{background:#fdeaed;color:var(--danger)}.empty{padding:50px 20px;color:var(--muted);font-size:14px}.empty,.login{text-align:center}.login{max-width:360px;margin:80px auto 0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 24px}.login h1{font-size:19px;color:var(--brand-dark);margin:0 0 18px}.login input{width:100%;padding:13px;font-size:15px;border:1.5px solid var(--line);border-radius:11px;margin-bottom:12px}.login .msg{font-size:13px;color:var(--danger);margin-bottom:10px}