:root{--navy:#062f59;--gold:#c4932d;--ivory:#fbf8f0}*{box-sizing:border-box}html,body{color:var(--navy);background:#ece8df;margin:0;font-family:Georgia,Times New Roman,serif}body{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:18px;display:flex}.poster-wrap{background:#fff;width:min(100%,1054px);line-height:0;position:relative;box-shadow:0 16px 44px #0003}.poster{width:100%;height:auto;display:block}.hotspot{cursor:pointer;background:0 0;border:0;padding:0;position:absolute}.hotspot:focus-visible{box-shadow:0 0 0 7px var(--gold);border-radius:22px;outline:4px solid #fff}.map-ceremony{width:32.3%;height:11.7%;top:82.4%;left:14.2%}.map-party{width:33.7%;height:11.7%;top:82.4%;left:52.7%}.rsvp-cta{background:var(--navy);color:#fff;font:inherit;text-align:center;cursor:pointer;box-shadow:inset 0 0 0 3px var(--gold);border:0;border-radius:999px;margin:18px auto 0;padding:15px 28px;font-size:17px;font-weight:700;display:block}dialog{background:var(--ivory);width:min(92vw,650px);color:var(--navy);border:0;border-radius:24px;padding:0;box-shadow:0 24px 70px #00000059}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#03162cb8}.modal-head{background:var(--navy);color:#fff;border-bottom:4px solid var(--gold);justify-content:space-between;align-items:center;gap:16px;padding:22px 28px;display:flex}.modal-head h2{margin:0;font-size:clamp(24px,4vw,36px);font-weight:600;line-height:1.1}.close{color:#fff;cursor:pointer;background:0 0;border:0;font-size:34px;line-height:1}form{gap:16px;padding:26px;display:grid}label,legend{font-weight:700;line-height:1.35}input,select,textarea{width:100%;font:inherit;color:#132d4a;background:#fff;border:1px solid #c7b992;border-radius:10px;margin-top:7px;padding:13px 14px}textarea{resize:vertical}.grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}fieldset{border:1px solid #c7b992;border-radius:12px;padding:14px 16px}.choice{align-items:flex-start;gap:9px;margin:9px 0;font-weight:400;display:flex}.choice input{width:auto;margin:3px 0 0}.submit{background:var(--navy);color:#fff;text-align:center;cursor:pointer;box-shadow:inset 0 0 0 3px var(--gold);border:0;border-radius:999px;padding:15px 22px;font-size:18px;font-weight:700;text-decoration:none;display:inline-block}.submit:disabled{opacity:.6;cursor:not-allowed}.note{color:#536273;margin:0;font-size:13px;line-height:1.4}.status{margin:0;font-size:15px;font-weight:700}.status.success{color:#146c2e}.status.error{color:#a3222b}@media (max-width:1024px){body{align-items:center;padding:0;position:relative}body:before{content:"";filter:blur(28px)brightness(.65);z-index:0;background:url(/invitation-aaron-meyer.jpg) 50%/cover no-repeat;position:fixed;inset:0;transform:scale(1.15)}.poster-wrap{z-index:1;position:relative;box-shadow:0 12px 32px #00000059}.rsvp-cta{z-index:1;position:relative}}@media (max-width:600px){.grid{grid-template-columns:1fr}.modal-head{padding:18px}form{padding:20px}}.admin{width:100%;max-width:1100px;margin:0 auto;padding:32px 20px 60px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.admin-header h1{margin:0;font-size:clamp(20px,3vw,28px)}.admin-export{background:var(--navy);color:#fff;box-shadow:inset 0 0 0 2px var(--gold);border-radius:999px;padding:10px 18px;font-size:14px;font-weight:700}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:28px;display:grid}.admin-stat{background:#fff;border:1px solid #ddd3bd;border-radius:14px;flex-direction:column;gap:4px;padding:16px;display:flex}.admin-stat-value{color:var(--navy);font-size:28px;font-weight:800}.admin-stat-label{color:#536273;font-size:13px}.admin-empty{color:#536273}.admin-table-wrap{background:#fff;border:1px solid #ddd3bd;border-radius:14px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th,.admin-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #eee5d0;padding:12px 14px}.admin-table td:nth-child(8){white-space:normal;min-width:200px}.admin-table th{color:var(--navy);background:#f6f1e4;font-weight:700}.admin-delete{color:#fff;cursor:pointer;background:#a3222b;border:0;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.admin-delete:disabled{opacity:.6;cursor:not-allowed}.login-wrap{justify-content:center;align-items:center;width:100%;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--ivory);border-radius:24px;gap:16px;width:min(92vw,420px);padding:32px 28px;display:grid;box-shadow:0 24px 70px #00000040}.login-card h1{color:var(--navy);margin:0 0 4px;font-size:clamp(20px,4vw,26px)}.confirmation-wrap{justify-content:center;align-items:center;width:100%;min-height:100vh;padding:20px;display:flex}.confirmation-card{background:var(--ivory);text-align:center;border-radius:24px;width:min(92vw,560px);padding:40px 32px;box-shadow:0 24px 70px #00000040}.confirmation-card h1{color:var(--navy);margin:0 0 16px;font-size:clamp(26px,5vw,38px)}.confirmation-card p{margin:0 0 12px;line-height:1.5}.confirmation-card .submit{margin-top:12px}.admin-header-actions{align-items:center;gap:12px;display:flex}.admin-logout{color:var(--navy);cursor:pointer;background:#fff;border:1px solid #ddd3bd;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:700}.admin-nav{border-bottom:1px solid #ddd3bd;gap:8px;margin-bottom:22px;display:flex}.admin-nav-link{color:#536273;border-bottom:3px solid #0000;padding:10px 16px;font-size:14px;font-weight:700}.admin-nav-link.active{color:var(--navy);border-bottom-color:var(--gold)}.admin-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.admin-filters input[type=text],.admin-filters select{font:inherit;color:#132d4a;background:#fff;border:1px solid #ddd3bd;border-radius:10px;padding:10px 12px;font-size:14px}.admin-filters input[type=text]{min-width:220px}.admin-filter-submit{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:700}.admin-filter-reset{color:#536273;font-size:13px;text-decoration:underline}.admin-badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.admin-badge.success{color:#146c2e;background:#e3f3e6}.admin-badge.error{color:#a3222b;background:#fbe4e4}.admin-ua{word-break:break-word;color:#536273;max-width:320px;font-size:12px;white-space:normal!important}.pagination{color:#536273;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:14px;display:flex}.pagination-controls{align-items:center;gap:14px;display:flex}.pagination-link{color:var(--navy);font-weight:700}.pagination-link[aria-disabled=true]{opacity:.4;pointer-events:none}
