:root{--christmas-red:#c41e3a;--christmas-green:#165b33;--christmas-gold:gold;--snow-white:#fff;--frost-blue:#e8f4f8;--dark-green:#0d3d20;--light-red:#e74c3c;--shadow:#0000001a;--text-dark:#2c3e50;--text-light:#7f8c8d}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#e8f4f8,#fff);background:linear-gradient(135deg,var(--frost-blue) 0,var(--snow-white) 100%);color:#2c3e50;color:var(--text-dark);font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{color:#c41e3a;color:var(--christmas-red);font-family:Mountains of Christmas,cursive}body:before{animation:snowfall 20s linear infinite;content:"❄️ ❄️ ❄️ ❄️ ❄️ ❄️ ❄️ ❄️";font-size:3rem;left:0;opacity:.3;pointer-events:none;position:fixed;right:0;top:-100px;z-index:0}@keyframes snowfall{0%{transform:translateY(-100px)}to{transform:translateY(100vh)}}.container{margin:0 auto;max-width:1200px;padding:20px;position:relative;z-index:1}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;text-decoration:none;transition:all .3s ease}.btn-primary{background:#c41e3a;background:var(--christmas-red);color:#fff}.btn-primary:hover{background:#e74c3c;background:var(--light-red);box-shadow:0 4px 12px #0000001a;box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.btn-secondary{background:#165b33;background:var(--christmas-green);color:#fff}.btn-secondary:hover{background:#0d3d20;background:var(--dark-green);box-shadow:0 4px 12px #0000001a;box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.btn-outline{background:#0000;border:2px solid #c41e3a;border:2px solid var(--christmas-red);color:#c41e3a;color:var(--christmas-red)}.btn-outline:hover{background:#c41e3a;background:var(--christmas-red);color:#fff}.card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;box-shadow:0 4px 6px var(--shadow);margin-bottom:20px;padding:24px;transition:transform .3s ease}.card:hover{box-shadow:0 8px 16px #0000001a;box-shadow:0 8px 16px var(--shadow);transform:translateY(-4px)}.form-group{margin-bottom:20px}.form-group label{color:#2c3e50;color:var(--text-dark);display:block;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #ddd;border-radius:8px;font-family:Nunito,sans-serif;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#c41e3a;border-color:var(--christmas-red);outline:none}.form-group textarea{min-height:100px;resize:vertical}.error-message{background:#ffe0e0;border-left:4px solid #c41e3a;border-left:4px solid var(--christmas-red);color:#c41e3a}.error-message,.success-message{border-radius:8px;margin-bottom:16px;padding:12px}.success-message{background:#e0ffe0;border-left:4px solid #165b33;border-left:4px solid var(--christmas-green);color:#165b33;color:var(--christmas-green)}.loading{align-items:center;display:flex;justify-content:center;min-height:200px}.spinner{animation:spin 1s linear infinite;border:4px solid #e8f4f8;border-top:4px solid #c41e3a;border:4px solid var(--frost-blue);border-radius:50%;border-top-color:var(--christmas-red);height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.container{padding:12px}.card{padding:16px}.btn{justify-content:center;width:100%}}.lang-btn,.language-picker{align-items:center;display:flex;gap:4px}.lang-btn{background:#0000;border:2px solid var(--christmas-gold);border-radius:6px;color:var(--text-dark);cursor:pointer;font-size:.9rem;font-weight:600;padding:6px 12px;transition:all .3s ease}.lang-btn:hover{background:var(--frost-blue);transform:translateY(-2px)}.lang-btn.active,.lang-btn:hover{border-color:var(--christmas-red)}.lang-btn.active{background:var(--christmas-red);color:#fff}@media (max-width:768px){.lang-btn{font-size:.85rem;padding:4px 8px}}.navbar{background:#fff;border-bottom:3px solid var(--christmas-red);min-height:70px;padding:1.2rem 0}.navbar-content{justify-content:space-between}.navbar-brand,.navbar-content{align-items:center;display:flex}.navbar-brand{color:var(--christmas-red);font-family:Mountains of Christmas,cursive;font-size:28px;font-weight:700;gap:12px;text-decoration:none;transition:transform .3s ease}.navbar-brand:hover{transform:scale(1.05)}.brand-icon{color:var(--christmas-green);font-size:32px}.navbar-menu{align-items:center;display:flex;gap:20px}.nav-link{border-radius:6px;color:var(--text-dark);font-weight:600;padding:8px 16px;text-decoration:none;transition:color .3s ease}.nav-link:hover{color:var(--christmas-red)}.nav-link:hover,.nav-user{background:var(--frost-blue)}.nav-user{align-items:center;border-radius:20px;color:var(--text-dark);display:flex;gap:8px;padding:8px 16px}.user-icon{color:var(--christmas-green);font-size:24px}.btn-small{font-size:14px;padding:8px 16px}@media (max-width:768px){.navbar-menu{gap:12px}.nav-link{font-size:14px;padding:6px 12px}.nav-user span{display:none}.btn-small{font-size:12px;padding:6px 12px}.navbar-brand span{font-size:24px}}.home-page{padding-top:60px}.hero{background:linear-gradient(135deg,var(--christmas-red) 0,var(--light-red) 100%);color:#fff;overflow:hidden;padding:80px 0;position:relative}.hero:before{animation:float 6s ease-in-out infinite;content:"🎄";font-size:20rem;opacity:.1;position:absolute;right:-50px;top:-50px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.hero .container{grid-gap:40px;align-items:center;display:grid;gap:40px;grid-template-columns:1fr 1fr}.hero-title{color:#fff;font-size:3.5rem;margin-bottom:20px;text-shadow:2px 2px 4px #0003}.hero-subtitle{font-size:1.5rem;font-weight:600;margin-bottom:16px}.hero-description{font-size:1.1rem;margin-bottom:32px;opacity:.95}.hero-buttons{display:flex;flex-wrap:wrap;gap:16px}.btn-large{font-size:18px;padding:16px 32px}.hero-image{align-items:center;display:flex;justify-content:center}.gift-box{animation:bounce 2s ease-in-out infinite;font-size:15rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-30px)}}.features{background:#fff;padding:80px 0}.section-title{font-size:2.5rem;margin-bottom:50px;text-align:center}.features-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.feature-card{background:var(--frost-blue);border-radius:12px;padding:30px;text-align:center;transition:all .3s ease}.feature-card:hover{box-shadow:0 8px 24px var(--shadow);transform:translateY(-8px)}.feature-icon{color:var(--christmas-green);font-size:3rem;margin-bottom:16px}.feature-card h3{font-size:1.5rem;margin-bottom:12px}.feature-card p{color:var(--text-light);line-height:1.6}.how-it-works{background:linear-gradient(135deg,var(--frost-blue) 0,#fff 100%);padding:80px 0}.steps{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:50px}.step{text-align:center}.step-number{align-items:center;background:var(--christmas-green);border-radius:50%;box-shadow:0 4px 12px var(--shadow);color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:60px;justify-content:center;margin:0 auto 20px;width:60px}.step h3{font-size:1.3rem;margin-bottom:12px}.step p{color:var(--text-light)}.cta{background:var(--christmas-green);color:#fff;padding:60px 0;text-align:center}.cta h2{color:#fff;font-size:2.5rem;margin-bottom:16px}.cta p{font-size:1.2rem;margin-bottom:32px}.footer{background:var(--text-dark);color:#fff;padding:30px 0;text-align:center}.footer-tagline{margin-top:8px;opacity:.8}@media (max-width:968px){.hero .container{grid-template-columns:1fr;text-align:center}.hero-title{font-size:2.5rem}.gift-box{font-size:10rem}.hero-buttons{justify-content:center}.btn-large{width:100%}.steps{grid-template-columns:1fr}}.auth-page{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 60px);padding:40px 20px}.auth-container{margin:0 auto;max-width:500px;width:100%}.auth-card{padding:40px}.auth-card h1{font-size:2.5rem;margin-bottom:12px;text-align:center}.auth-subtitle{color:var(--text-light);font-size:1.1rem;margin-bottom:32px;text-align:center}.auth-form{margin-bottom:24px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.auth-form .btn{margin-top:8px;width:100%}.auth-switch{color:var(--text-light);text-align:center}.auth-switch a{color:var(--christmas-red);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.verification-status{padding:40px 20px;text-align:center}.verification-status p{color:var(--text-light);font-size:1.1rem;margin-top:20px}.error-icon,.success-icon{font-size:4rem;margin-bottom:16px}.email-sent-info{color:var(--text-light);margin-top:12px}.redirect-info{color:var(--text-light);font-style:italic;margin-top:8px}@media (max-width:768px){.auth-card{padding:24px}.form-row{grid-template-columns:1fr}}.dashboard-page{padding-bottom:40px}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.dashboard-header h1{font-size:2.5rem}.families-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.family-card{border:2px solid #0000;cursor:pointer;text-decoration:none;transition:all .3s ease}.family-card:hover{border-color:var(--christmas-red)}.family-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.family-card-header h3{font-size:1.5rem;margin:0}.family-icon{color:var(--christmas-green);font-size:2rem}.family-description{color:var(--text-light);margin-bottom:16px;min-height:40px}.family-stats{border-top:1px solid var(--frost-blue);display:flex;gap:16px;margin-bottom:16px;padding-top:16px}.stat{align-items:center;color:var(--text-dark);display:flex;font-weight:600;gap:8px}.stat svg{color:var(--christmas-red)}.family-footer{border-top:1px solid var(--frost-blue);padding-top:12px}.owner-badge{background:var(--frost-blue);border-radius:12px;color:var(--text-dark);display:inline-block;font-size:.9rem;padding:4px 12px}.empty-state{margin:40px auto;max-width:500px;padding:60px 40px;text-align:center}.empty-icon{color:var(--text-light);font-size:5rem;margin-bottom:24px}.empty-state h2{font-size:2rem;margin-bottom:12px}.empty-state p{color:var(--text-light);font-size:1.1rem;margin-bottom:24px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;max-height:90vh;max-width:500px;overflow-y:auto;padding:32px;width:90%}.modal-content h2{font-size:2rem;margin-bottom:24px}.modal-buttons{display:flex;gap:12px;margin-top:24px}.modal-buttons .btn{flex:1 1}@media (max-width:768px){.dashboard-header{align-items:stretch;flex-direction:column;gap:16px}.dashboard-header .btn{width:100%}.families-grid{grid-template-columns:1fr}}.family-detail-page{padding-bottom:40px}.family-header{margin-bottom:32px}.back-link{align-items:center;color:var(--text-dark);display:inline-flex;font-weight:600;gap:8px;margin-bottom:16px;text-decoration:none;transition:color .3s ease}.back-link:hover{color:var(--christmas-red)}.family-header h1{font-size:2.5rem;margin-bottom:12px}.family-desc{color:var(--text-light);font-size:1.1rem}.action-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:32px}.family-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:300px 1fr}.members-sidebar{height:-webkit-fit-content;height:fit-content;position:-webkit-sticky;position:sticky;top:80px}.members-sidebar h3{font-size:1.3rem;margin-bottom:16px}.members-list{display:flex;flex-direction:column;gap:8px}.member-item{align-items:center;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:12px;transition:all .3s ease}.member-item.active,.member-item:hover{background:var(--frost-blue)}.member-item.active{border-color:var(--christmas-red)}.member-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.member-name{color:var(--text-dark);font-weight:600}.linked-badge{color:var(--christmas-green);font-size:.9em}.gift-count{color:var(--text-light);font-size:.9rem}.link-btn{background:var(--christmas-green);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;margin-top:4px;padding:4px 12px;transition:all .3s ease}.link-btn:hover{background:var(--text-dark);transform:scale(1.05)}.member-actions{align-items:center;display:flex;gap:4px}.delete-btn,.edit-btn{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:1rem;padding:8px;transition:color .3s ease}.edit-btn:hover{color:var(--christmas-gold)}.delete-btn:hover{color:var(--christmas-red)}.gifts-section{min-height:400px}.gifts-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.gifts-header h3{font-size:1.8rem}.empty-gifts,.empty-selection{padding:60px 20px;text-align:center}.empty-gifts p,.empty-selection p{color:var(--text-light);font-size:1.1rem;margin-bottom:16px}.gifts-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.gift-card{position:relative}.gift-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:12px}.gift-header h4{color:var(--text-dark);flex:1 1;font-size:1.2rem;margin:0}.gift-description{line-height:1.5}.gift-price{margin-bottom:8px}.gift-link{color:var(--christmas-red);display:inline-block;margin-bottom:12px;transition:color .3s ease}.gift-link:hover{text-decoration:underline}.gift-priority{background:var(--frost-blue);border-radius:6px;color:var(--text-dark);display:inline-block;font-size:.9rem;padding:6px 12px}@media (max-width:968px){.family-content{grid-template-columns:1fr}.members-sidebar{position:static}.action-buttons{flex-direction:column}.action-buttons .btn{width:100%}}.my-match-page{padding-bottom:40px}.my-match-page .container{max-width:900px}.help-text{color:var(--text-light);font-size:1.1rem;margin-top:16px}.help-text,.match-reveal{text-align:center}.match-reveal>h1{font-size:2.5rem;margin-bottom:12px}.family-name{font-size:1.1rem;margin-bottom:32px}.reveal-card{background:linear-gradient(135deg,var(--christmas-red) 0,var(--light-red) 100%);color:#fff;margin-bottom:48px;overflow:hidden;padding:48px 32px;position:relative}.reveal-card:before{content:"❄️";font-size:10rem;opacity:.1;position:absolute;right:-20px;top:-20px}.reveal-icon{animation:pulse 2s ease-in-out infinite;font-size:4rem;margin-bottom:16px}.reveal-card h2{color:#fff;font-size:1.8rem;margin-bottom:16px}.receiver-name{font-family:Mountains of Christmas,cursive;font-size:3rem;font-weight:700;margin-bottom:16px;text-shadow:2px 2px 4px #0003}.reveal-message{font-size:1.2rem;opacity:.95}.wishlist-section{margin-bottom:32px;text-align:left}.wishlist-section h3{font-size:2rem;margin-bottom:24px;text-align:center}.gifts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.gift-card .gift-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:12px}.gift-card h4{color:var(--text-dark);flex:1 1;font-size:1.3rem;margin:0}.high-priority{background:var(--christmas-gold);border-radius:4px;color:var(--text-dark);font-size:.8rem;font-weight:600;padding:4px 8px;white-space:nowrap}.gift-description{color:var(--text-light);line-height:1.6;margin-bottom:12px}.gift-price{background:var(--frost-blue);border-radius:6px;color:var(--christmas-green);font-weight:600;margin-bottom:16px;padding:8px 12px}.gift-link{align-items:center;display:inline-flex;gap:8px;margin-bottom:16px;text-decoration:none}.gift-footer{border-top:1px solid var(--frost-blue);padding-top:12px}.priority-badge{background:var(--frost-blue);border-radius:6px;color:var(--text-dark);display:inline-block;font-size:.9rem;padding:6px 12px}.no-gifts{margin-bottom:32px;padding:60px 40px;text-align:center}.no-gifts-icon{color:var(--text-light);font-size:4rem;margin-bottom:16px}.no-gifts h3{font-size:1.8rem;margin-bottom:12px}.no-gifts p{color:var(--text-light);font-size:1.1rem;line-height:1.6}.tips-section{background:var(--frost-blue);text-align:left}.tips-section h3{color:var(--christmas-green);font-size:1.5rem;margin-bottom:16px}.tips-section ul{list-style:none;padding:0}.tips-section li{border-bottom:1px solid #0000000d;color:var(--text-dark);font-size:1.05rem;line-height:1.6;padding:12px 0}.tips-section li:last-child{border-bottom:none}@media (max-width:768px){.receiver-name{font-size:2rem}.reveal-card{padding:32px 20px}.gifts-grid{grid-template-columns:1fr}}.admin-matches-page{padding-bottom:40px}.admin-header{margin-bottom:32px;text-align:center}.admin-header h1{color:var(--christmas-red);font-size:2.5rem;margin-bottom:12px}.family-name{color:var(--text-light);font-size:1.2rem;margin-top:8px}.admin-actions{background:var(--frost-blue);border-radius:12px;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px;padding:20px}.admin-actions,.help-text{align-items:center;display:flex}.help-text{color:var(--text-dark);font-weight:600;gap:8px}.empty-matches{padding:60px 20px;text-align:center}.empty-matches h2{color:var(--text-dark);margin-bottom:16px}.empty-matches p{color:var(--text-light);margin-bottom:24px}.matches-container{margin:0 auto;max-width:800px}.matches-header{grid-gap:16px;background:var(--christmas-green);border-radius:12px 12px 0 0;color:#fff;display:grid;font-size:1.1rem;font-weight:700;gap:16px;grid-template-columns:1fr 60px 1fr 150px;padding:16px;text-align:center}.header-actions,.header-arrow,.header-col{align-items:center;display:flex;justify-content:center}.matches-list{background:#fff;border:2px solid var(--christmas-green);border-radius:0 0 12px 12px;border-top:none;overflow:hidden}.match-row{grid-gap:16px;border-bottom:2px solid var(--frost-blue);display:grid;gap:16px;grid-template-columns:1fr 60px 1fr 150px;padding:20px;transition:background .3s ease}.match-row.notified{background:#f0f8f0;opacity:.85}.match-row:last-child{border-bottom:none}.match-row:hover{background:var(--frost-blue)}.match-row.dragging{opacity:.5}.match-giver,.match-receiver{align-items:center;background:#fff;border-radius:8px;display:flex;font-weight:600;gap:12px;padding:12px 16px;transition:all .3s ease}.match-receiver{border:2px dashed #0000;cursor:move;position:relative}.match-receiver.draggable:hover{background:var(--christmas-gold);box-shadow:0 4px 12px #00000026;transform:scale(1.02)}.match-receiver.draggable{border-color:var(--christmas-gold);touch-action:none;-webkit-user-select:none;user-select:none}.match-receiver.touch-over{background:var(--christmas-gold);border-color:var(--christmas-red);box-shadow:0 4px 16px #dc143c4d;transform:scale(1.05)}.match-receiver.locked{border-color:#ccc;cursor:not-allowed;opacity:.7}.match-receiver.locked:hover{background:#fff;box-shadow:none;transform:none}.match-receiver.mobile-select{align-items:center;cursor:default;display:flex;gap:8px}.receiver-select{background:#fff;border:2px solid var(--christmas-gold);border-radius:8px;color:var(--text-dark);cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:8px 12px;transition:all .3s ease}.receiver-select:focus{border-color:var(--christmas-red);box-shadow:0 0 0 3px #dc143c1a;outline:none}.email-badge,.notified-badge{font-size:.9rem;margin-left:4px}.match-actions{justify-content:center}.btn-notify,.match-actions{align-items:center;display:flex}.btn-notify{background:var(--christmas-green);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;gap:6px;padding:8px 16px;transition:all .3s ease}.btn-notify:hover:not(:disabled){background:var(--christmas-red);box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.btn-notify:disabled{background:#ccc;cursor:not-allowed;opacity:.5}.notified-status{align-items:center;color:var(--christmas-green);display:flex;font-weight:600;gap:4px}.member-avatar{background:var(--frost-blue);border-radius:50%;height:40px;width:40px}.match-arrow,.member-avatar{align-items:center;display:flex;font-size:1.5rem;justify-content:center}.match-arrow{color:var(--christmas-red)}.drag-handle{color:var(--text-light);cursor:move;font-size:1.2rem;margin-left:auto;-webkit-user-select:none;user-select:none}.matches-info{margin-top:32px;padding:24px}.matches-info h3{color:var(--christmas-green);margin-bottom:16px}.matches-info ul{list-style:none;padding:0}.matches-info li{color:var(--text-dark);padding:8px 0 8px 24px;position:relative}.matches-info li:before{content:"🎄";left:0;position:absolute}@media (max-width:768px){.match-row,.matches-header{gap:12px;grid-template-columns:1fr;padding:12px}.header-arrow,.match-arrow{display:none}.match-actions{justify-content:flex-start}.match-giver,.match-receiver{font-size:.9rem;padding:8px 12px}.member-avatar{height:32px;width:32px}.match-arrow,.member-avatar{font-size:1.2rem}.admin-header h1{font-size:1.8rem}.admin-actions{flex-direction:column;text-align:center}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.match-receiver[draggable=true]:active{animation:pulse .3s ease}.App{min-height:100vh}.page{min-height:calc(100vh - 100px);padding-top:100px}nav{background:#fff;box-shadow:0 2px 8px var(--shadow);position:fixed;top:0;width:100%;z-index:1000}
/*# sourceMappingURL=main.fa8958ba.css.map*/