@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Great+Vibes&family=Montserrat:wght@300;400;500&display=swap";:root{--bg: #fbf6f3;--ink: #8f2d44;--ink-soft: #a9586a;--line: #e5c8cf;--card: rgba(255, 255, 255, .82)}*{box-sizing:border-box}body{margin:0;font-family:Montserrat,sans-serif;color:var(--ink);background:radial-gradient(circle at 0% 0%,#f6dbe2 0,transparent 45%),radial-gradient(circle at 100% 100%,#f8d4de 0,transparent 40%),var(--bg)}.invite-shell{min-height:100vh;display:grid;place-items:center;padding:36px 16px;position:relative;overflow:hidden}.card{width:min(640px,100%);background:var(--card);border:1px solid #eddde1;border-radius:18px;box-shadow:0 12px 35px #8f2d441f;padding:30px 24px;text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:2;position:relative}.ornate-frame:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid #e7b8c4;border-radius:14px;pointer-events:none}.eyebrow{letter-spacing:3px;font-size:10px;margin:0 0 8px;text-transform:uppercase}.event-date{margin:0 0 10px;font-size:14px;letter-spacing:2px;font-weight:600;color:var(--ink-soft)}.ornament-icon{margin:0;text-align:center;font-size:18px;color:#b66a7d;line-height:1}.venue-line{margin:4px 0 6px;font-size:13px;color:#7d3a4b;font-weight:600}.reminder-line{margin:8px 0 14px;font-size:11px;color:#9f4a5c;font-weight:600}.monogram{margin:0;font-family:Great Vibes,cursive;font-size:clamp(72px,12vw,118px);line-height:.95;letter-spacing:2px}.monogram span{font-size:.34em;vertical-align:middle;letter-spacing:0;font-family:Cormorant Garamond,serif;font-style:normal}.couple{font-family:Cormorant Garamond,serif;font-size:clamp(30px,5vw,46px);margin:2px 0 8px;letter-spacing:1px}.invite-divider{height:1px;width:70%;margin:8px auto 10px;background:linear-gradient(90deg,transparent,#e2b7c2,transparent)}.couple span{font-family:Montserrat,sans-serif;font-size:.45em;font-style:italic;margin:0 8px;letter-spacing:1px}.subtitle,.subtle{color:var(--ink-soft);margin:8px auto 20px;max-width:500px;line-height:1.6}.subtitle-small{font-size:12px;margin-top:2px;margin-bottom:8px;letter-spacing:.2px}.lang-switch{display:flex;justify-content:flex-end;gap:8px;margin-bottom:6px}.lang-btn{width:auto;margin:0;padding:6px 10px;border-radius:999px;border:1px solid #dca8b6;background:#fff;color:var(--ink);font-size:12px;font-weight:600}.lang-btn.active{background:linear-gradient(90deg,#8f2d44,#b04a62);color:#fff;border-color:transparent}.section-title{margin:6px 0 8px;font-family:Cormorant Garamond,serif;font-size:30px;text-align:center}.section-hint{margin:0 0 14px;text-align:center;color:var(--ink-soft)}.error-text{margin:8px 0 0;color:#bc2f54;font-size:13px}.rsvp-form{text-align:left}.rsvp-form label{display:block;margin:12px 0 6px;font-size:13px;letter-spacing:.5px}.rsvp-form input,.rsvp-form select{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;font-size:15px;color:#702436;background:#fff;outline:none}.rsvp-form input:focus,.rsvp-form select:focus{border-color:#bf7388;box-shadow:0 0 0 3px #bf738826}.grid-2{display:grid;gap:10px;grid-template-columns:1fr 1fr}button{margin-top:16px;width:100%;border:none;border-radius:999px;padding:12px 18px;font-weight:600;letter-spacing:1px;background:linear-gradient(90deg,#8f2d44,#b04a62);color:#fff;cursor:pointer}button:hover{filter:brightness(1.05)}button:disabled{opacity:.7;cursor:not-allowed}.danger-btn{background:linear-gradient(90deg,#b4233c,#d14a63)}.floral{position:absolute;width:clamp(170px,25vw,300px);opacity:.98;z-index:1;pointer-events:none}.floral-left-top{top:-20px;left:-18px}.floral-right-top{top:-20px;right:-18px}.floral-left-bottom{bottom:-22px;left:-18px;transform:rotate(180deg)}.floral-right-bottom{bottom:-22px;right:-18px;transform:rotate(180deg)}.thanks-card h1{margin:8px 0 0;font-family:Cormorant Garamond,serif;font-size:42px}.admin-shell{padding:24px;max-width:1200px;margin:0 auto;display:grid;gap:16px}.admin-card{background:#ffffffeb;border:1px solid #eddde1;border-radius:16px;padding:18px;box-shadow:0 10px 28px #8f2d441a}.admin-card h1,.admin-card h2,.admin-card h3{margin:0 0 10px}.admin-token-row,.admin-filter-row,.admin-table-head,.admin-form-grid{display:grid;gap:10px;align-items:center}.admin-token-row{grid-template-columns:1fr auto auto}.admin-form-grid{grid-template-columns:1fr 1fr auto}.bulk-grid{grid-template-columns:120px 1fr 1fr auto}.admin-token-row input,.admin-form-grid input,.admin-filter-row input,.admin-filter-row select{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.admin-token-row button,.admin-form-grid button,.admin-table-head button{width:auto;margin:0;padding:10px 14px;border-radius:10px}.admin-stats-grid{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.admin-stats-grid div{border:1px solid #ecd4da;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px}.admin-stats-grid strong{font-size:24px}.admin-table-head{grid-template-columns:1fr auto}.admin-actions-row{display:flex;gap:8px}.admin-filter-row{grid-template-columns:220px 1fr;margin-bottom:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{border-bottom:1px solid #f0dce1;padding:10px;text-align:left;vertical-align:top;font-size:14px}td code{background:#fff3f6;border:1px solid #f0dce1;border-radius:6px;padding:2px 6px}.table-wrap .danger-btn{width:auto;margin:0;padding:8px 12px;border-radius:8px}.admin-row-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-row-actions button{width:auto;margin:0;padding:8px 12px;border-radius:8px}th{background:#fff5f8;position:sticky;top:0}.print-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.print-card{width:4in;min-height:6in;background:#fff;border:1px solid #e8d4da;border-radius:14px;padding:18px;color:#7b2f42;position:relative;overflow:hidden}.print-card h1{margin:0 0 8px;font-size:22px}.print-line{margin:6px 0;font-size:13px}.print-options p{margin:8px 0;font-size:13px}.print-link{word-break:break-all;font-size:12px;color:#a9586a}.print-qr{width:120px;height:120px;border:1px solid #eddde1;border-radius:8px}.print-reminder{margin-top:12px;font-size:12px;color:#9f4a5c}.floral-print-card{border:1px solid #e9cfd7;box-shadow:0 8px 20px #8f2d4414}.print-floral{position:absolute;width:96px;opacity:.9;pointer-events:none}.print-floral-left-top{top:-22px;left:-22px}.print-floral-right-top{top:-22px;right:-22px}.print-floral-left-bottom{bottom:-18px;left:-18px;transform:rotate(180deg)}.print-floral-right-bottom{bottom:-18px;right:-18px;transform:rotate(180deg)}.print-small-title{text-align:center;margin:8px 0 4px;letter-spacing:1px;font-size:11px;color:#9f4a5c;text-transform:uppercase}.floral-print-card>*:not(.print-floral){position:relative;z-index:2}.print-script-title{text-align:center;font-family:Great Vibes,cursive;font-size:54px!important;margin:-2px 0 8px!important;color:#8f2d44;letter-spacing:.5px}.print-fill-area{border:1px dashed #e4c6cf;border-radius:10px;padding:10px;margin-bottom:8px}.fill-line{margin:7px 0;font-size:12px;color:#7d3a4b}.print-name-input{width:66%;margin-left:8px;border:none;border-bottom:1px solid #c89aa7;background:transparent;color:#7d3a4b;font-size:12px;outline:none}.fill-line span{font-weight:600}.print-light{font-weight:400!important;color:#9f4a5c}.print-utility{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start;margin-top:2px}.print-option-title{margin:0 0 6px;font-size:12px;font-weight:700;color:#8f2d44}.print-mailback{margin-top:8px;border-top:1px solid #f0dce1;padding-top:8px}@media print{body{background:#fff}.print-wrap{padding:0}.print-card{border:none;border-radius:0;width:4in;min-height:6in;box-shadow:none}.print-card button{display:none}.print-utility{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.card{padding:22px 16px}.grid-2{grid-template-columns:1fr}.floral{width:120px;opacity:.85}.admin-shell{padding:12px}.admin-card{padding:14px}.admin-token-row,.admin-form-grid,.bulk-grid,.admin-filter-row,.admin-stats-grid{grid-template-columns:1fr}.admin-token-row button,.admin-form-grid button,.admin-table-head button{width:100%;min-height:44px}.admin-token-row input,.admin-form-grid input,.admin-filter-row input,.admin-filter-row select{font-size:16px}.admin-table-head{grid-template-columns:1fr;gap:8px}.admin-actions-row{display:grid;grid-template-columns:1fr}table,thead,tbody,th,td,tr{display:block}thead{display:none}tbody tr{border:1px solid #f0dce1;border-radius:10px;padding:8px;margin-bottom:10px;background:#fff}tbody td{border:0;border-bottom:1px dashed #f2e2e6;padding:8px 6px}tbody td:last-child{border-bottom:0}tbody td:before{content:attr(data-label);display:block;font-size:12px;color:#a9586a;margin-bottom:2px;font-weight:600}}
