@import"https://fonts.googleapis.com/css2?family=Petit+Formal+Script&display=swap";*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;min-width:320px;min-height:100vh;overflow-x:hidden;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:#f8f4f1;color:#4a5d4a}body{background-image:url(/assets/bg-BBNbyrs7.jpg);background-size:cover;background-position:center;background-attachment:fixed;margin:0;min-height:100vh;font-family:Apple Chancery,Petit Formal Script,cursive}h1,h2,h3,h4,h5,h6,p,span,div{font-family:Apple Chancery,Petit Formal Script,cursive}.layout{display:flex;min-height:100vh;width:100%;max-width:100%;overflow-x:hidden;position:relative}@media(max-width:768px){.layout{flex-direction:column}}.main-content{flex:1;padding:0;background-color:#f8f4f166;transition:margin-left .3s ease;width:100%;min-height:100vh;overflow-x:hidden}.main-content.no-menu{margin-left:0}.menubar{width:250px;min-width:250px;background-color:#6b7f6be6;color:#f8f4f1;padding:1rem 0;position:sticky;top:0;flex-shrink:0;z-index:1000}.hamburger{display:none;flex-direction:column;justify-content:space-between;width:30px;height:21px;background:transparent;border:none;cursor:pointer;padding:0;margin:1rem}.hamburger span{width:100%;height:3px;background-color:#f8f4f1;transition:all .3s ease}.menu-overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:999}.menu-items{display:flex;flex-direction:column;padding:1rem 1.5rem;gap:1rem}.menu-items a{color:#fff;text-decoration:none;padding:.5rem 0;transition:color .2s}.menu-items a:hover{color:#d4b5a9}.menu-button{background:none;border:1px solid #d4b5a9;color:#f8f4f1;width:100%;margin-top:1rem;padding:.5rem;transition:all .2s ease}.menu-button:hover{background-color:#2b382b;border-color:#2b382b}@media(max-width:768px){body{padding-top:60px}.layout{padding-top:0}.menubar{width:100%;height:60px;min-height:unset;position:fixed;top:0;left:0;right:0;padding:0;background-color:#6b7f6bf2;z-index:9999}.menubar.open{height:60px}.hamburger{display:flex;position:relative;z-index:10000;margin:1rem}.menu-items{display:none}.menu-items.show{display:flex;position:fixed;top:60px;left:0;right:0;background-color:#6b7f6bf2;height:calc(100vh - 60px);padding:1.5rem;z-index:9999;overflow-y:auto}.menu-overlay{display:block;position:fixed;inset:60px 0 0;background-color:#00000080;z-index:9998}.main-content{margin-left:0!important;position:relative;z-index:1}.main-content.no-menu{margin-top:0}body.menu-open{overflow:hidden}}.page{padding:2rem;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}form{display:flex;flex-direction:column;gap:1rem;margin:2rem auto;width:100%;max-width:400px}input{padding:.75rem 1rem;font-size:1rem;border:1px solid #d4b5a9;border-radius:8px;background-color:#fff;color:#4a5d4a;width:100%;transition:all .2s ease}input:focus{outline:none;border-color:#6b7f6b;box-shadow:0 0 0 2px #6b7f6b33}.invite-input{text-align:center;letter-spacing:1px;font-size:1.1rem}label{color:#6b7f6b;font-size:1.1rem;margin-bottom:.5rem;display:block}button{padding:.5rem 1rem;font-size:1rem;cursor:pointer;background-color:#3b4b3b;color:#f8f4f1;border:none;border-radius:4px;transition:background-color .2s}button:hover{background-color:#2b382b}.error{color:#c17676;margin-top:1rem}.qr-login-page{display:flex;justify-content:center;align-items:center;min-height:100vh}.qr-login-container{background-color:#ffffffd9;padding:2rem;border-radius:12px;text-align:center;width:100%;max-width:1400px}.qr-codes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-top:2rem;padding:1rem}.qr-code-item{background-color:#fffffff2;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;align-items:center}.qr-code-item h3{margin:0 0 .5rem;font-size:1.1rem;color:#2d3e2d}.qr-code-text{margin:0 0 1rem;font-size:.9rem;color:#6b7f6b}.qr-code-text strong{color:#4a5d4a;font-weight:600}.scanner-container{margin:2rem auto;max-width:300px;border-radius:12px;overflow:hidden}.scanner-help{margin-top:1rem;color:#4a5d4a}.guest-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.qr-code-container{text-align:center}.qr-help{margin-top:.5rem;font-size:.9rem;color:#6b7f6b}.download-qr-button{margin-top:1rem;padding:.75rem 1.5rem;background-color:#4a5d4a;color:#fff;border:none;border-radius:8px;font-size:.9rem;cursor:pointer;transition:background-color .3s ease}.download-qr-button:hover{background-color:#3a4a3a}.download-qr-button:active{background-color:#2d3e2d}.info-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:2rem}.info-section-card{background-color:#ffffffd9;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.info-section-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px #00000026}.info-section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;color:#3b4b3b}.info-section-header h2{margin:0;font-size:1.8rem}.info-section-content p{margin:.5rem 0;line-height:1.6;color:#4a5d4a}.menu-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:2rem}.menu-category{background-color:#ffffffe6;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a}.menu-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;color:#3b4b3b}.menu-header h2{margin:0;font-size:1.8rem}.menu-items{margin-top:2rem}.menu-item{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(107,127,107,.2)}.menu-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.menu-item h3{margin:0 0 .5rem;color:#3b4b3b}.menu-item p{margin:0;color:#6b7f6b}.guest-list{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem 2rem;margin-top:2rem;width:100%;max-width:100%;overflow-x:hidden}.guest-item{position:relative}.guest-item{padding:2rem;background-color:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;transition:transform .2s,box-shadow .2s}.guest-response-form{margin-top:1.5rem}.guest-response-form .form-group{margin-bottom:1.5rem}.guest-response-form label{display:flex;align-items:flex-start;gap:.75rem;color:#4a5d4a;font-size:1rem;cursor:pointer}.guest-response-form input[type=checkbox]{width:auto;margin-top:.25rem;cursor:pointer}.guest-response-form textarea{width:100%;margin-top:.5rem;padding:.75rem;border:1px solid #d4b5a9;border-radius:8px;resize:vertical;font-family:inherit;font-size:1rem;transition:all .2s ease}.guest-response-form textarea:focus{outline:none;border-color:#6b7f6b;box-shadow:0 0 0 2px #6b7f6b33}.save-button{margin-top:1rem;width:100%;padding:.75rem;font-size:1.1rem}.guest-item:hover{transform:translateY(-10px);box-shadow:0 6px 12px #00000026}.dashboard-page,.login-page{text-align:center;padding:2rem}.login-container{background-color:#ffffffd9;padding:2rem;border-radius:12px;max-width:400px;margin:0 auto}.qr-login-option{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(107,127,107,.2)}.qr-login-option p{color:#6b7f6b;margin:1rem 0}.qr-button{background-color:transparent;border:2px solid #3b4b3b;color:#3b4b3b;padding:.75rem 1.5rem;font-size:1rem;transition:all .3s ease}.qr-button:hover{background-color:#3b4b3b;color:#f8f4f1}.welcome-section{margin-bottom:4rem;position:relative;padding:2rem 0;background-color:#ffffffd9;border-radius:20px}.hearts-decoration{position:absolute;top:-30px;left:0;right:0;display:flex;justify-content:center;gap:3rem}.heart{width:20px;height:20px;background-color:#d4b5a9;position:relative;transform:rotate(45deg);animation:heartbeat 1.5s ease-in-out infinite;margin:20px}.heart:before,.heart:after{content:"";width:20px;height:20px;background-color:#d4b5a9;border-radius:50%;position:absolute}.heart:before{left:-10px;top:0}.heart:after{top:-10px;left:0}.heart:nth-child(2){animation-delay:.5s}.heart:nth-child(3){animation-delay:1s}@keyframes heartbeat{0%{transform:rotate(45deg) scale(1)}14%{transform:rotate(45deg) scale(1.3)}28%{transform:rotate(45deg) scale(1)}42%{transform:rotate(45deg) scale(1.3)}70%{transform:rotate(45deg) scale(1)}to{transform:rotate(45deg) scale(1)}}.welcome-message{font-size:1.2rem;color:#4a5d4a;max-width:800px;margin:1.5rem auto;line-height:1.6}.wedding-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin:3rem 0}.info-card{background-color:#ffffffd9;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease}.info-card:hover{transform:translateY(-10px)}.icon{width:60px;height:60px;margin:0 auto 1rem;background-color:#6b7f6b;mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}.icon.rings{mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="12" r="3"/><circle cx="16" cy="12" r="3"/><path d="M5 12h3m8 0h3"/></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="12" r="3"/><circle cx="16" cy="12" r="3"/><path d="M5 12h3m8 0h3"/></svg>')}.icon.venue{mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 21h18"/><path d="M5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16"/></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 21h18"/><path d="M5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16"/></svg>')}.icon.party{mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5.8 11.3 2 22l10.7-3.79"/><path d="M4 3h.01"/><path d="M22 8h.01"/><path d="M15 2h.01"/><path d="M22 20h.01"/><path d="m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12v0c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10"/><path d="m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11v0c-.11.7-.72 1.22-1.43 1.22H17"/><path d="m11 2 .33.82c.34.86-.2 1.82-1.11 1.98v0C9.52 4.9 9 5.52 9 6.23V7"/><path d="M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z"/></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5.8 11.3 2 22l10.7-3.79"/><path d="M4 3h.01"/><path d="M22 8h.01"/><path d="M15 2h.01"/><path d="M22 20h.01"/><path d="m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12v0c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10"/><path d="m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11v0c-.11.7-.72 1.22-1.43 1.22H17"/><path d="m11 2 .33.82c.34.86-.2 1.82-1.11 1.98v0C9.52 4.9 9 5.52 9 6.23V7"/><path d="M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z"/></svg>')}.icon.guests{mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>')}.icon.calendar{mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="18" height="18" x="3" y="4" rx="2" ry="2"/><line x1="16" x2="16" y1="2" y2="6"/><line x1="8" x2="8" y1="2" y2="6"/><line x1="3" x2="21" y1="10" y2="10"/></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="18" height="18" x="3" y="4" rx="2" ry="2"/><line x1="16" x2="16" y1="2" y2="6"/><line x1="8" x2="8" y1="2" y2="6"/><line x1="3" x2="21" y1="10" y2="10"/></svg>')}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-top:3rem}.stat-card{background-color:#ffffffd9;padding:2rem;border-radius:12px;text-align:center;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px)}.stat-number{font-size:2.5rem;font-weight:700;color:#3b4b3b;margin:1rem 0}.countdown{color:#3b4b3b;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.stat-card:hover{transform:translateY(-10px);box-shadow:0 6px 12px #00000026}.stat-number{font-size:2rem;font-weight:700;color:#3b4b3b;margin:.5rem 0}.venue-page{padding:2rem}.venue-content{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:2rem;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}@media(min-width:1024px){.venue-content{grid-template-columns:1fr 1fr}}.venue-card{background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}.venue-card h2{color:#3b4b3b;margin-bottom:1.5rem;font-size:1.8rem}.venue-details{margin-bottom:2rem}.detail-item{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.detail-item .icon{width:24px;height:24px;background-color:#6b7f6b}.detail-item p{color:#4a5d4a;font-size:1.1rem}.venue-description p{color:#4a5d4a;line-height:1.6;font-size:1.1rem}.venue-map{border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.venue-map iframe{display:block;max-width:100%;box-sizing:border-box}.icon.location{mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z"/><circle cx="12" cy="10" r="3"/></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z"/><circle cx="12" cy="10" r="3"/></svg>')}.icon.ceremony{mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="m12 6 4 6H8l4-6Z"/><path d="M12 18v-3"/></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="m12 6 4 6H8l4-6Z"/><path d="M12 18v-3"/></svg>')}.icon.dinner{mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 19h18"/><path d="M12 5v14"/><path d="M5 12h14"/><path d="m8 5 4 4 4-4"/></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 19h18"/><path d="M12 5v14"/><path d="M5 12h14"/><path d="m8 5 4 4 4-4"/></svg>')}h1{font-size:2.5rem;margin-bottom:2rem;color:#4a5d4a}h3{font-size:1.5rem;color:#6b7f6b;margin-bottom:1rem}@media(max-width:768px){.layout{flex-direction:column}.menu-header{padding:0 1rem 1rem}.menu-items,.main-content{padding:1rem}.page{padding:0 .5rem}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.guest-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.stat-number{font-size:1.75rem}}@media(max-width:480px){.main-content{padding:.75rem}.page{padding:0 .25rem}.dashboard-stats,.guest-list{grid-template-columns:1fr}form{margin:1rem auto}}.event-day{border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;margin-bottom:1rem;background-color:#f9fafb}.event-day h3{margin:0 0 1rem;font-size:1.1rem;color:#374151}.guest-header{margin-bottom:1.5rem}.guest-header h2{color:#1f2937;font-size:1.5rem;margin:0}.form-group{margin-bottom:1rem}.form-group label{display:flex;align-items:flex-start;gap:.5rem}.form-group input[type=checkbox]{margin-top:.25rem}.gifts-page{max-width:1200px;margin:0 auto;padding:2rem}.gift-preference-section{background-color:#ffffffe6;padding:2rem;border-radius:12px;margin-bottom:3rem;box-shadow:0 4px 6px #0000001a}.gift-preference-section h2{color:#3b4b3b;margin-bottom:1.5rem}.gift-preference-section p{color:#4a5d4a;line-height:1.6;margin-bottom:1.5rem}.gift-preference-section ul{color:#4a5d4a;padding-left:1.5rem}.gift-preference-section li{margin-bottom:.5rem;line-height:1.6}.gifts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.gift-card{background-color:#ffffffe6;padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.gift-card:not(.reserved):hover{transform:translateY(-5px);box-shadow:0 6px 12px #00000026}.gift-card h3{color:#3b4b3b;margin-bottom:4rem}.gift-card p{color:#4a5d4a;margin-bottom:2rem}.gift-status{position:absolute;bottom:0;left:0;right:0;padding:1rem;background-color:#ffffffe6;border-top:1px solid rgba(0,0,0,.1);display:flex;justify-content:space-between;align-items:center}.reservation-button{padding:.5rem 1rem;border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.reservation-button.reserve{background-color:#4a5d4a;color:#fff;border:none}.reservation-button.reserve:hover{background-color:#3b4b3b}.reservation-button.cancel{background-color:#fff;color:#c17676;border:1px solid #c17676}.reservation-button.cancel:hover{background-color:#c17676;color:#fff}.status-text{font-weight:500;padding:.25rem .75rem;border-radius:4px}.status-text.available{background-color:#e5f6e5;color:#2d5a2d}.status-text.taken{background-color:#ffe5e5;color:#8b0000}.status-text.yours{background-color:#e5f0ff;color:#0047ab}.gift-card.reserved{opacity:.7;cursor:not-allowed}.gift-card.selected{border:2px solid #3b4b3b}@media(max-width:768px){.gifts-page{padding:1rem}.gifts-grid{grid-template-columns:1fr;gap:1rem}.gift-preference-section{padding:1.5rem;margin-bottom:2rem}}.pictures-page{padding:2rem}.pictures-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;padding:1rem}.picture-item{position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a;transition:transform .2s ease-in-out}.picture-item:hover{transform:scale(1.02)}.picture-item img{width:100%;height:100%;object-fit:cover}.admin-page{padding:2rem;min-height:100vh}.admin-login-container{max-width:400px;margin:5rem auto;background-color:#ffffffd9;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}.admin-login-container h1{text-align:center;margin-bottom:2rem;color:#2d3e2d}.admin-login-container form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#4a5d4a}.form-group input{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus{outline:none;border-color:#4a5d4a}.admin-login-container button{padding:.75rem 1.5rem;background-color:#4a5d4a;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.admin-login-container button:hover:not(:disabled){background-color:#3a4a3a}.admin-login-container button:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#d32f2f;text-align:center;margin-top:-.5rem}.admin-container{max-width:1400px;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-header h1{color:#2d3e2d;margin:0}.logout-button{padding:.75rem 1.5rem;background-color:#d32f2f;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.logout-button:hover{background-color:#b71c1c}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.admin-stats .stat-card{background-color:#ffffffd9;padding:1.5rem;border-radius:12px;text-align:center;box-shadow:0 2px 4px #0000001a}.admin-stats .stat-card h3{margin:0 0 .5rem;font-size:.9rem;color:#6b7f6b;font-weight:600}.admin-stats .stat-card .stat-number{margin:0;font-size:2rem;font-weight:700;color:#2d3e2d}.admin-stats .stat-card .stat-responded{color:#2e7d32}.admin-stats .stat-card .stat-not-responded{color:#d32f2f}.admin-stats .stat-card .stat-partial{color:#ed6c02}.admin-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;margin-bottom:1.5rem;background-color:#ffffffd9;padding:1.5rem;border-radius:12px;box-shadow:0 2px 4px #0000001a}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-weight:600;color:#4a5d4a;font-size:.9rem}.search-input,.filter-select{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.search-input:focus,.filter-select:focus{outline:none;border-color:#4a5d4a}.admin-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.refresh-button,.export-button{padding:.75rem 1.5rem;background-color:#4a5d4a;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.export-button{background-color:#1976d2}.refresh-button:hover:not(:disabled),.export-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.refresh-button:disabled,.export-button:disabled{opacity:.6;cursor:not-allowed}.responses-table-container{background-color:#ffffffd9;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.table-info{margin-bottom:1rem;color:#6b7f6b;font-size:.9rem}.table-info strong{color:#2d3e2d}.responses-table{width:100%;border-collapse:collapse;font-size:.9rem}.responses-table thead{background-color:#4a5d4a;color:#fff}.responses-table th{padding:1rem;text-align:left;font-weight:600;white-space:nowrap}.responses-table td{padding:.75rem 1rem;border-bottom:1px solid #e0e0e0}.responses-table tbody tr{transition:background-color .2s ease}.responses-table tbody tr.status-responded{background-color:#e8f5e9}.responses-table tbody tr.status-partial{background-color:#fff3e0}.responses-table tbody tr.status-not-responded{background-color:#ffebee}.responses-table tbody tr:hover{background-color:#f5f5f5;opacity:.9}.responses-table tbody tr.status-responded:hover{background-color:#c8e6c9}.responses-table tbody tr.status-partial:hover{background-color:#ffe0b2}.responses-table tbody tr.status-not-responded:hover{background-color:#ffcdd2}.responses-table tbody tr:last-child td{border-bottom:none}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;white-space:nowrap}.status-badge.status-responded{background-color:#2e7d32;color:#fff}.status-badge.status-partial{background-color:#ed6c02;color:#fff}.status-badge.status-not-responded{background-color:#d32f2f;color:#fff}.no-data{text-align:center;padding:2rem;color:#6b7f6b}.loading{text-align:center;padding:3rem;color:#6b7f6b;font-size:1.2rem}@media(max-width:768px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-filters{grid-template-columns:1fr}.admin-actions{flex-direction:column}.responses-table-container{overflow-x:scroll}.responses-table{font-size:.8rem}.responses-table th,.responses-table td{padding:.5rem}}
