body{overflow:scroll}.app{height:100vh;width:100vw;display:flex;justify-content:center;align-items:center}.background-image{position:relative;display:flex;justify-content:center;align-items:center;flex-direction:column}.background-image img{width:100%}.overlay{position:absolute;width:100%;display:flex;text-align:center;flex-direction:column;align-items:center;justify-content:space-between;height:100%}.KR-sign{margin-top:-7%}.KR-sign img{width:70%}.rsvp-btn{background:linear-gradient(45deg,#b99e06,#b8860b);color:#fff;font-weight:700;font-size:2rem;padding:8px 3rem;border:none;border-radius:12px;cursor:pointer;box-shadow:0 8px 20px #0000004d;transition:all .3s;margin-bottom:90%}@media screen and (max-width: 530px){.KR-sign{margin-top:-13%;width:70%}.KR-sign img{width:50%}.rsvp-btn{margin-bottom:90%}.background-image,.background-image img{width:100%}}@media screen and (min-width: 600px){.KR-sign{margin-top:-10%}.KR-sign img{width:70%}.rsvp-btn{margin-bottom:70%}.background-image{width:100%}}@media screen and (min-width: 820px){.KR-sign{margin-top:-7%}.KR-sign img{width:60%}.rsvp-btn{margin-bottom:65%}.background-image{width:85%}}@media screen and (min-width: 1000px){.KR-sign{margin-top:-3%}.KR-sign img{width:60%}.rsvp-btn{margin-bottom:65%}.background-image{width:70%}}.footer{position:relative;padding-top:25px;padding-bottom:25px;color:#fff;font-size:large;width:100%;text-align:center;background-image:url(https://kandrlab.s3.us-east-2.amazonaws.com/bubbles2.png);background:url(https://kandrlab.s3.us-east-2.amazonaws.com/bubbles2.png),linear-gradient(180deg,#115626,#062910);background-size:cover;background-position:bottom}.footer a{color:#b9931e;cursor:pointer}.rsvp-btn:hover{transform:scale(1.05);box-shadow:0 12px 30px #0006}.options{display:flex;justify-content:center;align-items:center;gap:1rem;max-width:400px;margin:0 auto 30%}.option-btn{width:350px;padding:20px 0;border:none;border-radius:12px;font-size:medium;font-weight:600;cursor:pointer;transition:all .3s}.option-btn.yes,.option-btn.no,.option-btn.maybe{background:linear-gradient(45deg,#b99e06,#b8860b);color:#fff}.option-btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px #0003}.rsvp-form{background:#fffffff2;padding:2rem;border-radius:16px;max-width:400px;margin:0 auto;box-shadow:0 10px 30px #0000004d}.rsvp-form h3{margin-top:0;color:#333;font-size:1.4rem}.input-group{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.input-group input,.guests input,.rsvp-form textarea{padding:.8rem;border:1px solid #ccc;border-radius:8px;font-size:1rem}.guests{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1rem 0}.guests-section{margin:1.5rem 0;padding:1rem;background:#ffffffb3;border-radius:12px;border:1px dashed #b8860b}.guest-instructions{margin:0 0 1rem;font-size:.95rem;color:#b8860b;font-weight:500;text-align:center}.guest-pair{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:.8rem}.guest-first,.guest-last{padding:.7rem;border:1px solid #ccc;border-radius:8px;font-size:.95rem}.guest-first::placeholder,.guest-last::placeholder{color:#999;font-style:italic}.guest-first:invalid,.guest-last:invalid{border-color:#dc3545}@media (max-width: 600px){.guest-pair{grid-template-columns:1fr}.guest-instructions{font-size:.9rem}}.form-actions{display:flex;justify-content:space-between;margin-top:1.5rem}.back-btn{background:#6c757d;color:#fff}.submit-btn{background:linear-gradient(45deg,#b8860b,#daa520);color:#fff}.back-btn,.submit-btn{padding:.8rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-weight:600}.admin-link{position:fixed;top:20px;right:20px;background:#0009;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;z-index:2000;transition:all .2s;box-shadow:0 2px 8px #0000004d}.admin-link:hover{background:#000c;transform:translateY(-1px)}.admin-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:#fff;z-index:100}.back-to-rsvp{position:absolute;top:20px;left:20px;background:#706e6e;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer}.admin-login{background:#fff;color:#333;padding:2rem;border-radius:16px;width:100%;max-width:400px;text-align:center}.admin-login input{width:100%;margin:.8rem 0;padding:.8rem;border:1px solid #ccc;border-radius:8px;font-size:1rem}.admin-login button{background:linear-gradient(45deg,#b8860b,#daa520);color:#fff;padding:.8rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-weight:600;width:100%}.error{color:#dc3545;margin:.5rem 0}.admin-dash{background:#fffffff2;color:#333;padding:2rem;border-radius:16px;width:90%;max-width:800px;text-align:center;height:85vh;position:absolute;overflow-y:scroll}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.logout-btn{background:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin:2rem 0}.stat-card{padding:1.5rem;border-radius:12px;color:#fff;box-shadow:0 4px 15px #0003}.stat-card.yes{background:linear-gradient(135deg,#28a745,#1e7e34)}.stat-card.no{background:linear-gradient(135deg,#dc3545,#a71d2a)}.stat-card.maybe{background:linear-gradient(135deg,#ffc107,#d39e00)}.stat-card h3{margin:0 0 .5rem;font-size:1.1rem}.big{font-size:3rem;font-weight:700;margin:.5rem 0}.stat-card small{opacity:.9}.export-btn{background:linear-gradient(45deg,#17a2b8,#138496);color:#fff;padding:.8rem 2rem;border:none;border-radius:50px;font-size:1.1rem;cursor:pointer;margin-top:1rem;transition:all .3s;width:auto;min-width:150px}.export-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #17a2b866}@media (max-width: 768px){.export-btn{width:100%;padding:1rem;font-size:1rem;border-radius:12px}}@media (max-width: 480px){.export-btn{margin-top:.5rem;padding:1.2rem}}@media (max-width: 600px){.input-group,.guests{grid-template-columns:1fr}.rsvp-btn{font-size:1.5rem;padding:.8rem 2rem}.rsvp-modal{width:95%;padding:1.5rem}.close-modal-btn{top:8px;right:12px;font-size:1.5rem}}.responses-section{margin:2rem 0;background:#ffffffe6;padding:1.5rem;border-radius:12px}.responses-section h3{margin-top:0;color:#333}.table-container{overflow-x:auto;max-height:400px;overflow-y:auto}.responses-table{width:100%;border-collapse:collapse;margin-top:1rem}.responses-table th,.responses-table td{padding:.8rem;text-align:left;border-bottom:1px solid #ddd}.responses-table th{background:#f8f9fa;font-weight:600}.responses-table tr:hover{background:#f8f9fa}.response-yes{color:#28a745;font-weight:700}.response-no{color:#dc3545;font-weight:700}.response-maybe{color:#ffc107;font-weight:700}.edit-input,.edit-textarea{width:100%;padding:.4rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem}.guests-edit{display:flex;flex-direction:column;gap:.3rem}.guests-edit input{font-size:.8rem;padding:.3rem}.edit-btn,.save-btn,.cancel-btn{padding:.4rem .8rem;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;margin-right:.3rem}.edit-btn{background:#007bff;color:#fff}.save-btn{background:#28a745;color:#fff}.cancel-btn{background:#6c757d;color:#fff}.edit-btn:hover{background:#0056b3}.save-btn:hover{background:#1e7e34}.cancel-btn:hover{background:#545b62}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:flex-start;padding-top:8vh;z-index:1000;animation:fadeIn .3s ease-out;overflow-y:scroll}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.rsvp-modal{position:relative;background:#fff;border-radius:20px;padding:2rem;width:90%;max-width:500px;box-shadow:0 20px 40px #0000004d;animation:slideUp .4s ease-out}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.close-modal-btn{position:absolute;top:12px;right:16px;background:none;border:none;font-size:1.8rem;color:#999;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-modal-btn:hover{background:#f0f0f0;color:#333}.rsvp-modal .rsvp-form{margin-top:1rem;background:transparent;box-shadow:none;padding:0}.rsvp-modal h3{text-align:center;color:#b8860b;font-weight:600;margin-bottom:1.5rem}.create-form{background:#f8f9fa;padding:1.5rem;border-radius:12px;margin:1.5rem 0;border:1px dashed #ccc}.create-form h3{margin-top:0;color:#333}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:.8rem}.create-form select,.create-form textarea,.create-form input{width:100%;padding:.6rem;border:1px solid #ccc;border-radius:6px;font-size:.9rem}.delete-btn{background:#dc3545;color:#fff;padding:.4rem .8rem;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;margin-left:.3rem}.delete-btn:hover{background:#c82333}.add-btn{background:#28a745;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-weight:600;margin-right:.5rem}.add-btn:hover{background:#218838}.confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1500;animation:fadeIn .4s ease-out}.confirmation-card{background:#fff;padding:2.5rem;border-radius:20px;text-align:center;max-width:500px;width:90%;box-shadow:0 20px 50px #0000004d;animation:slideUp .5s ease-out}.confirmation-card h2{color:#b8860b;margin-bottom:1rem;font-size:2.2rem}.conf-message{color:#555;font-size:1.1rem;margin-bottom:2rem;line-height:1.6}.registry-btn{display:inline-block;background:linear-gradient(45deg,#b8860b,#daa520);color:#fff;padding:1rem 2rem;border-radius:50px;font-weight:600;font-size:1.1rem;text-decoration:none;margin:1rem 0;box-shadow:0 6px 15px #b8860b4d;transition:all .3s}.registry-btn:hover{transform:translateY(-3px);box-shadow:0 10px 20px #b8860b66}.back-to-rsvp-btn{background:#6c757d;color:#fff;border:none;padding:.8rem 1.8rem;border-radius:50px;cursor:pointer;font-size:1rem;margin-top:1rem;transition:all .3s}.back-to-rsvp-btn:hover{background:#5a6268;transform:translateY(-2px)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1.5rem 0}.table-desktop{overflow-x:auto;border-radius:12px;box-shadow:0 2px 8px #0000001a}.responses-table{width:100%;min-width:600px;border-collapse:collapse;background:#fff}.responses-table th{background:#f8f9fa;padding:1rem;text-align:left;font-weight:600;font-size:.9rem;color:#444}.responses-table td{padding:.8rem 1rem;border-bottom:1px solid #eee;font-size:.95rem}.guest-list div,.note-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.table-mobile{display:none}.response-card{background:#fff;border-radius:12px;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000001a;border-left:4px solid #b8860b}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:1.1rem}.response-badge{padding:.3rem .6rem;border-radius:20px;font-size:.75rem;font-weight:700;color:#fff}.response-yes{background:#28a745}.response-no{background:#dc3545}.response-maybe{background:#ffc107;color:#212529}.card-body{font-size:.9rem;color:#555;margin-bottom:.8rem}.card-body div{margin-bottom:.3rem}.card-actions{display:flex;gap:.5rem}.edit-btn,.save-btn,.cancel-btn,.delete-btn,.add-btn{min-height:44px;min-width:44px;padding:.6rem 1rem;font-size:.9rem}@media (max-width: 768px){.table-desktop{display:none}.table-mobile{display:block}.responses-section h3{font-size:1.2rem}.header h2{font-size:1.4rem}}@media (max-width: 480px){.admin-dash{padding:1rem}.header{flex-direction:column;gap:.5rem;align-items:flex-start}.header>div{align-self:flex-end}.card-header{flex-direction:column;align-items:flex-start;gap:.3rem}.response-badge{align-self:flex-end}}.dashboard-footer{text-align:center;margin-top:2rem;padding:1rem;background:#ffffff1a;border-radius:12px;width:100%}@media (max-width: 768px){.dashboard-footer{margin-top:1rem;padding:.5rem}}
