@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Great+Vibes&family=Montserrat:wght@400;500;600;700&display=swap');
:root{--navy:#123b73;--blue:#228fad;--aqua:#48b8c6;--paper:#fffefa;--ink:#24406b}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Montserrat,Arial,sans-serif;background:#e4f8fa}.invite-page{min-height:100vh;padding:16px;background:radial-gradient(circle at 3% 8%,#81d4e0 0 3%,transparent 18%),radial-gradient(circle at 99% 23%,#b3eced 0 7%,transparent 25%),linear-gradient(135deg,#d8f6f8,#f9ffff 48%,#cceff1)}.invite-card{position:relative;overflow:hidden;max-width:650px;min-height:calc(100vh - 32px);margin:auto;padding:64px 11% 45px;text-align:center;background:linear-gradient(90deg,rgba(130,216,222,.2),#fffefa 15%,#fffefa 85%,rgba(130,216,222,.2));border:5px double rgba(55,157,180,.55);box-shadow:0 4px 22px #478b9850}.invite-card:before,.invite-card:after{content:'❀ ❀ ❀';position:absolute;font-size:80px;letter-spacing:-20px;color:#9fd9e3aa}.invite-card:before{left:-22px;bottom:8%;transform:rotate(-22deg)}.invite-card:after{right:-20px;top:10%;transform:rotate(25deg)}.corner{position:absolute;color:#50afc1;font-size:55px}.top-left{top:10px;left:15px}.bottom-right{right:15px;bottom:8px}.butterfly{position:absolute;font-size:52px}.one{top:56px;left:11%}.two{top:32%;right:8%;transform:rotate(-15deg)}.eyebrow{margin:25px 0 0;letter-spacing:.32em;font-family:'Cormorant Garamond',serif;font-size:25px;font-weight:600;color:var(--navy)}.invite-card h1{position:relative;z-index:1;margin:0 0 14px;color:#187db8;font-family:'Cormorant Garamond',serif;line-height:.74}.invite-card h1 span{font-size:190px;font-weight:500;text-shadow:3px 4px 3px #7775}.invite-card h1 em{display:block;margin-top:-6px;font-family:'Great Vibes',cursive;font-size:88px;font-weight:400;color:#3eacb4}.intro,.presence{position:relative;z-index:1;font:500 23px/1.42 'Cormorant Garamond',serif}.intro strong{color:#168f9f}.divider{margin:20px auto;color:#40aeb8;letter-spacing:10px}.event-info{position:relative;z-index:1;text-align:left;margin:auto;max-width:430px;font:500 21px/1.3 'Cormorant Garamond',serif}.event-info p{display:flex;gap:12px;margin:12px 0}.event-info b{white-space:nowrap;color:var(--navy)}.event-info b:first-letter{color:#33adb5}.script{font:42px/1 'Great Vibes',cursive;color:#36a7ad;margin:24px 0}.signature{font:22px/1.35 'Cormorant Garamond',serif;margin:30px 0 0}.signature strong{font:48px 'Great Vibes',cursive;color:#164783}.floating-confirm{position:fixed;z-index:3;right:18px;bottom:18px;display:flex;align-items:center;gap:9px;padding:13px 17px;border-radius:50px;background:var(--navy);box-shadow:0 5px 18px #123b7366;color:#fff;text-align:left;text-decoration:none;font-size:12px;font-weight:700;line-height:1.25}.floating-confirm span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#50c4cb;font-size:19px}.form-page,.admin-page{min-height:100vh;padding:25px 16px;background:linear-gradient(130deg,#d5f1f4,#fdfdfb 55%,#cef0f2)}.form-card,.login-card{max-width:620px;margin:20px auto;padding:34px;background:#fffefa;border-radius:22px;box-shadow:0 8px 30px #24616c24}.form-card h1,.login-card h1,.admin-wrap h1{font:600 43px 'Cormorant Garamond',serif;margin:4px 0 12px;color:var(--navy)}.back{display:inline-block;color:#287c9a;text-decoration:none;font-size:13px;margin-bottom:13px}.help{font-size:14px;line-height:1.55;color:#5f7391}.small{margin-top:-9px}label{display:block;margin:18px 0 7px;font-size:13px;font-weight:700;color:#345276}input{width:100%;border:1px solid #acd6dc;border-radius:10px;padding:14px;font:15px Montserrat;background:#fff;color:#24406b}input:focus{outline:2px solid #64c4cd;border-color:transparent}.primary,.secondary{border:0;border-radius:10px;padding:14px 20px;font:700 14px Montserrat;cursor:pointer}.primary{width:100%;margin-top:22px;background:linear-gradient(90deg,#197da1,#42b5b9);color:white}.secondary{margin-top:12px;background:#e4f6f7;color:#207e91}.results{margin-top:10px}.match-title{font-size:13px;font-weight:700}.match{display:flex;justify-content:space-between;width:100%;padding:13px;margin:7px 0;border:1px solid #d5e9ea;border-radius:9px;background:white;color:#24406b;text-align:left;font:14px Montserrat;cursor:pointer}.match span{font-size:21px;color:#32a9b1}.guest-choice{display:flex;align-items:center;gap:12px;padding:13px;margin-top:8px;border:1px solid #d0eaeb;border-radius:10px;font-size:15px}.guest-choice input{width:19px;height:19px;margin:0;accent-color:#258eaa}.hidden{display:none}.notice{padding:14px;margin:17px 0;border-radius:10px;background:#e2f7f1;color:#177960;font-size:14px;line-height:1.4}.notice.error{background:#fff0f0;color:#a63f3f}.empty{font-size:14px;color:#71809a}.admin-wrap{max-width:980px;margin:auto}.admin-wrap header{display:flex;justify-content:space-between;align-items:center}.logout,.delete{color:#b04b52;font-size:13px;text-decoration:none}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.stats div,.admin-box{background:#fffefa;border-radius:14px;box-shadow:0 4px 16px #24616c18}.stats div{padding:18px;text-align:center}.stats strong{display:block;color:#16849c;font-size:28px}.stats span{font-size:12px}.admin-box{padding:22px;margin:20px 0}.admin-box h2{font:600 27px 'Cormorant Garamond',serif;margin:0;color:var(--navy)}.guest-row{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;margin-top:10px}.remove{border:0;border-radius:8px;background:#fde8e8;color:#b44444;font-size:21px;width:40px;cursor:pointer}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;margin-top:13px;font-size:13px;text-align:left}th,td{padding:12px 8px;border-bottom:1px solid #e3eeee}.status{padding:5px 8px;border-radius:20px;font-size:11px;font-weight:700}.status.yes{background:#dff5ea;color:#16835d}.status.no{background:#fff0dc;color:#a76913}.login-card{max-width:410px}.login-card .primary{margin-bottom:20px}@media(max-width:500px){.invite-card{padding:55px 9% 35px}.invite-card h1 span{font-size:145px}.invite-card h1 em{font-size:72px}.eyebrow{font-size:20px}.intro,.presence{font-size:20px}.event-info{font-size:18px}.script{font-size:35px}.signature strong{font-size:42px}.butterfly{font-size:40px}.guest-row{grid-template-columns:1fr 1fr}.remove{grid-column:2;justify-self:end}.admin-box{padding:18px}.form-card{padding:27px 20px}.stats div{padding:14px 4px}}
