@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Great+Vibes&family=Montserrat:wght@300;400;500;600&display=swap";:root{color:#595a32;font-synthesis:none;background:#f6f3ee;font-family:Montserrat,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.loading{color:#595a32;place-items:center;min-height:100vh;display:grid}.stationery-shell{color:#5c5d32;background:#f6f3ee;min-height:100vh;padding:22px}.stationery-card{outline-offset:-18px;text-align:center;background:#f6f3ee;border:8px double #5c5d32;outline:1px solid #5c5d32;max-width:900px;min-height:calc(100vh - 44px);margin:0 auto;padding:clamp(28px,6vw,78px)}.topline{letter-spacing:.2em;text-transform:uppercase;color:#5c5d32;font-size:11px;font-weight:400;line-height:1.8}.names-block{margin:45px 0 26px}.names-block h1,.dash-header h1{letter-spacing:-.035em;color:#5c5d32;margin:14px 0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(50px,10vw,104px);font-weight:500;line-height:.82}.and{letter-spacing:.04em;color:#5c5d32;margin:22px 0;font-family:Cormorant Garamond,Georgia,serif;font-size:26px;display:block}.wedding-date{color:#5c5d32;margin:36px 0 24px;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(24px,4vw,34px)}.stationery-rule{background:#77774d;max-width:95px;height:1px;margin:30px auto}.script-heading{letter-spacing:0;color:#5c5d32;margin:12px 0;font-family:Great Vibes,cursive;font-size:clamp(38px,6vw,56px);font-weight:400;line-height:1.15}.invited-name{margin:10px 0;font-family:Cormorant Garamond,Georgia,serif;font-size:30px}.copy{color:#5c5d32;letter-spacing:.1em;text-transform:uppercase;max-width:640px;margin:12px auto;font-size:13px;line-height:1.9}.small-copy{font-size:11px}.rsvp-form{text-align:left;border:1px solid #b9b79b;max-width:620px;margin:36px auto 44px;padding:28px clamp(18px,4vw,42px)}.rsvp-form label{color:#5c5d32;letter-spacing:.1em;text-transform:uppercase;margin:20px 0 8px;font-size:11px;font-weight:500;display:block}.rsvp-form label em{opacity:.7;letter-spacing:.04em;text-transform:none;margin-left:5px;font-size:9px;font-style:normal}.rsvp-form input,.rsvp-form select,.rsvp-form textarea,.toolbar input,.add-row input{color:#454627;letter-spacing:.02em;background:#fbf9f5;border:1px solid #b8b69a;border-radius:0;outline:none;width:100%;padding:13px 14px;font-size:13px}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{border-color:#5c5d32;box-shadow:0 0 0 2px #5c5d3218}.rsvp-form textarea{resize:vertical;min-height:82px}.field-hint{color:#85856c;letter-spacing:.02em;font-size:10px;line-height:1.6}.choice-row{grid-template-columns:1fr 1fr;gap:9px;display:grid}.choice{color:#5c5d32;letter-spacing:.1em;text-transform:uppercase;background:0 0;border:1px solid #9a9a76;border-radius:0;padding:14px 8px;font-size:10px}.choice.selected{color:#f6f3ee;background:#5c5d32}.form-divider{color:#77774d;letter-spacing:.2em;align-items:center;gap:12px;margin:30px 0 6px;font-size:9px;display:flex}.form-divider:after{content:"";background:#d2cfbc;flex:1;height:1px}.submit-button{color:#f6f3ee;text-transform:uppercase;letter-spacing:.18em;cursor:pointer;background:#5c5d32;border:1px solid #5c5d32;border-radius:0;width:100%;margin-top:28px;padding:16px 20px;font-size:10px}.submit-button:disabled{opacity:.55;cursor:wait}.confirmation{border:1px solid #b9b79b;max-width:600px;margin:35px auto;padding:28px}.details-section{max-width:660px;margin:48px auto}.details-section p{color:#5c5d32;letter-spacing:.13em;text-transform:uppercase;margin:12px auto;font-size:clamp(10px,1.8vw,14px);line-height:1.85}.footer-couple{letter-spacing:.2em;margin-top:45px;font-size:10px}.notice{color:#4c4d2c;background:#efecdf;border-left:3px solid #5c5d32;padding:13px;font-size:12px;line-height:1.6}.admin-link{color:#5c5d32;letter-spacing:.14em;text-transform:uppercase;margin:34px 0 12px;font-size:10px;display:inline-block}.admin-shell{background:#f6f3ee;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{outline-offset:-18px;text-align:center;border:8px double #5c5d32;outline:1px solid #5c5d32;width:min(100%,650px);padding:60px 35px}.login-card h1{color:#5c5d32;font:500 clamp(38px,8vw,64px) Cormorant Garamond,serif}.login-card .and{margin:10px;font-size:18px}.dashboard{color:#5c5d32;max-width:1180px;margin:auto;padding:42px 22px}.dash-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px;display:flex}.dash-header h1{font-size:clamp(34px,5vw,56px);line-height:.95}.dash-header h1 span{margin-top:8px;font-size:.7em;display:block}.muted{color:#85856c;font-size:12px;line-height:1.7}.outline{color:#5c5d32;letter-spacing:.12em;text-transform:uppercase;background:0 0;border:1px solid #77774d;border-radius:0;padding:12px 16px;font-size:10px}.stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.stats article,.panel{background:#fbf9f5;border:1px solid #d2cfbc;padding:20px}.stats article span{letter-spacing:.17em;font-size:9px;display:block}.stats article strong{margin-top:6px;font:500 38px Cormorant Garamond,serif;display:block}.panel{margin:15px 0}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-heading h2{font:500 28px Cormorant Garamond,serif}.add-row,.toolbar{align-items:center;gap:10px;display:flex}.add-row input{flex:1}.compact{white-space:nowrap;width:auto;margin:0}.toolbar{justify-content:space-between;margin:18px 0}.toolbar input{max-width:340px}.guest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.guest-row{border:1px solid #e3dfd0;grid-template-columns:1fr 90px;align-items:center;gap:10px;padding:14px;display:grid}.guest-info{flex-direction:column;gap:6px;min-width:0;display:flex}.guest-info strong{overflow-wrap:anywhere;font:600 20px Cormorant Garamond,serif}.guest-info small{color:#85856c;overflow-wrap:anywhere;font-size:10px}.status{text-transform:uppercase;letter-spacing:.1em;font-size:10px}.status.yes{color:#53724e}.status.no{color:#a35d51}.status.pending{color:#8d835d}.qr{object-fit:contain;width:88px;height:88px}.guest-actions{grid-column:1/-1;justify-content:space-between;font-size:10px;display:flex}.guest-actions a{color:#5c5d32;text-transform:uppercase;letter-spacing:.08em}.count{font:12px Montserrat,sans-serif}.footer-note{color:#85856c;font:italic 18px Cormorant Garamond,serif}.centered{text-align:center}@media (width<=720px){.stationery-shell{padding:0}.stationery-card{outline-offset:-14px;border-width:6px;min-height:100vh;padding:45px 24px}.names-block{margin:32px 0 20px}.names-block h1{font-size:clamp(44px,12vw,70px)}.details-section{margin:38px auto}.rsvp-form{padding:20px 15px}.dashboard{padding:24px 14px}.dash-header{align-items:flex-start}.dash-header h1{font-size:36px}.stats{grid-template-columns:repeat(2,1fr)}.add-row,.toolbar{flex-wrap:wrap}.add-row input,.toolbar input{flex-basis:100%;max-width:none}.guest-grid{grid-template-columns:1fr}}.action-bar{flex-wrap:wrap;gap:9px;margin:15px 0 18px;display:flex}.action-bar button,.danger-button{color:#5c5d32;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #77774d;padding:11px 14px;font-size:10px}.danger-button{color:#9c5148;border-color:#a65f54}.danger-button:disabled{opacity:.4;cursor:not-allowed}.row-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.row-actions button,.row-actions a{color:#5c5d32;cursor:pointer;background:0 0;border:0;padding:3px;font-size:11px;text-decoration:underline}.row-actions .danger-text{color:#a04f45}.table-wrap{overflow-x:auto}.guest-table{border-collapse:collapse;width:100%;min-width:780px;font-size:12px}.guest-table th,.guest-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e3dfd0;padding:13px 10px}.guest-table th{letter-spacing:.14em;text-transform:uppercase;color:#85856c;font-size:9px}.guest-table td strong{font:600 19px Cormorant Garamond,serif}.guest-table td small{color:#85856c;margin-top:4px;font-size:10px;display:block}.guest-table input[type=checkbox]{accent-color:#5c5d32;width:16px;height:16px}.file-button{color:#5c5d32;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1px solid #77774d;align-items:center;padding:11px 14px;font-size:10px;display:inline-flex}.file-button input{display:none}.shared-qr-panel .panel-heading{align-items:flex-start}.shared-qr-layout{flex-wrap:wrap;align-items:center;gap:28px;padding:18px 0;display:flex}.shared-qr-layout img{object-fit:contain;background:#f6f3ee;border:1px solid #d2cfbc;width:220px;height:220px;padding:12px}.shared-qr-layout>div{max-width:520px}.qr-placeholder{color:#85856c;border:1px dashed #b8b69a;place-items:center;width:220px;height:220px;font-size:12px;display:grid}.access-form{margin-top:25px}.access-form .submit-button{margin-top:24px}.resend-button{width:100%;margin-top:12px;padding:14px 16px}@media (width<=720px){.shared-qr-layout{justify-content:center;gap:15px}.shared-qr-layout>div{text-align:center;width:100%}.shared-qr-layout img,.qr-placeholder{width:190px;height:190px}}.modal-backdrop{z-index:20;background:#24241488;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.edit-modal{background:#f6f3ee;border:6px double #5c5d32;width:min(100%,480px);padding:30px}.edit-modal h2{font:500 30px Cormorant Garamond,serif}.edit-modal label{letter-spacing:.12em;text-transform:uppercase;margin:17px 0;font-size:10px;display:block}.edit-modal input{color:#454627;background:#fbf9f5;border:1px solid #b8b69a;width:100%;margin-top:8px;padding:12px;display:block}.modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}@media (width<=720px){.action-bar{gap:7px}.action-bar button{flex:44%}.guest-table{min-width:780px}}
