:root{--font-title:"Outfit",sans-serif;--font-body:"Montserrat",sans-serif;--font-hand:"Caveat",cursive;--color-bg-dark:#0b0f19;--color-card-dark:rgba(17,24,39,0.7);--color-primary:#0284c7;--color-primary-hover:#0369a1;--color-secondary:#f59e0b;--color-secondary-hover:#d97706;--color-accent:#10b981;--color-danger:#ef4444;--color-text-main:#f8fafc;--color-text-muted:#94a3b8;--color-border:hsla(0,0%,100%,0.08);--color-glass-bg:hsla(0,0%,100%,0.03);--color-glass-border:hsla(0,0%,100%,0.06);--color-room-box-bg:hsla(0,0%,100%,0.03);--color-room-box-border:hsla(0,0%,100%,0.05);--shadow-premium:0 8px 32px 0 rgba(0,0,0,0.37);--radius-premium:16px;--transition-smooth:all 0.3s cubic-bezier(0.4,0,0.2,1)}:root[data-theme=light]{--color-bg-dark:#f8fafc;--color-card-dark:hsla(0,0%,100%,0.85);--color-primary:#0284c7;--color-primary-hover:#0369a1;--color-secondary:#ea580c;--color-secondary-hover:#c2410c;--color-accent:#059669;--color-danger:#dc2626;--color-text-main:#0f172a;--color-text-muted:#475569;--color-border:rgba(15,23,42,0.08);--color-glass-bg:hsla(0,0%,100%,0.7);--color-glass-border:rgba(15,23,42,0.08);--color-room-box-bg:rgba(2,132,199,0.06);--color-room-box-border:rgba(2,132,199,0.15);--shadow-premium:0 8px 32px 0 rgba(148,163,184,0.12)}*{box-sizing:border-box;padding:0}*,body{margin:0}body{background-color:#0b0f19;background-color:var(--color-bg-dark);color:#f8fafc;color:var(--color-text-main);font-family:"Montserrat",sans-serif;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden;background-image:radial-gradient(at 0 0,rgba(2,132,199,.15) 0,transparent 50%),radial-gradient(at 100% 0,rgba(245,158,11,.1) 0,transparent 50%),radial-gradient(at 50% 100%,rgba(16,185,129,.08) 0,transparent 50%);background-attachment:fixed}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0b0f19;background:var(--color-bg-dark)}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.1);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0284c7;background:var(--color-primary)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}button,input,select,textarea{font-family:inherit}:root[data-theme=light] body{background-color:#f1f5f9;color:#0f172a;background-image:radial-gradient(at 0 0,rgba(2,132,199,.12) 0,transparent 50%),radial-gradient(at 100% 0,rgba(245,158,11,.08) 0,transparent 50%),radial-gradient(at 50% 100%,rgba(16,185,129,.05) 0,transparent 50%)}:root[data-theme=light] .activity-card,:root[data-theme=light] .boarding-pass,:root[data-theme=light] .book-card,:root[data-theme=light] .chat-card,:root[data-theme=light] .checklist-container,:root[data-theme=light] .dinner-card,:root[data-theme=light] .glass-panel,:root[data-theme=light] .guide-card,:root[data-theme=light] .photo-card,:root[data-theme=light] .room-card,:root[data-theme=light] .sidebar{background:hsla(0,0%,100%,.85)!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:0 8px 32px 0 rgba(148,163,184,.12)!important;color:#0f172a!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}:root[data-theme=light] .input-field,:root[data-theme=light] input,:root[data-theme=light] select,:root[data-theme=light] textarea{background:hsla(0,0%,100%,.95)!important;border:1px solid rgba(15,23,42,.15)!important;color:#0f172a!important}:root[data-theme=light] .input-field::-webkit-input-placeholder,:root[data-theme=light] input::-webkit-input-placeholder,:root[data-theme=light] select::-webkit-input-placeholder,:root[data-theme=light] textarea::-webkit-input-placeholder{color:#94a3b8!important}:root[data-theme=light] .input-field:-ms-input-placeholder,:root[data-theme=light] input:-ms-input-placeholder,:root[data-theme=light] select:-ms-input-placeholder,:root[data-theme=light] textarea:-ms-input-placeholder{color:#94a3b8!important}:root[data-theme=light] .input-field::placeholder,:root[data-theme=light] input::placeholder,:root[data-theme=light] select::placeholder,:root[data-theme=light] textarea::placeholder{color:#94a3b8!important}:root[data-theme=light] .nav-item{color:#334155!important}:root[data-theme=light] .nav-item.active{color:#fff!important;background:#0284c7!important;background:var(--color-primary)!important}:root[data-theme=light] .nav-item:hover:not(.active){background:rgba(2,132,199,.08)!important;color:#0284c7!important;color:var(--color-primary)!important}:root[data-theme=light] .pass-footer{background:rgba(15,23,42,.02)!important;border-top:1px solid rgba(15,23,42,.06)!important}:root[data-theme=light] .pass-header{border-bottom:1px dashed rgba(15,23,42,.12)!important}:root[data-theme=light] .chat-input-container{background:hsla(0,0%,100%,.95)!important;border-top:1px solid rgba(15,23,42,.08)!important}:root[data-theme=light] .status-scheduled{background:rgba(100,116,139,.1)!important;color:#334155!important}:root[data-theme=light] .status-boarding{background:rgba(245,158,11,.12)!important;color:#b45309!important}:root[data-theme=light] .status-inflight{background:rgba(2,132,199,.1)!important;color:#0369a1!important}:root[data-theme=light] .status-landed{background:rgba(16,185,129,.1)!important;color:#047857!important}:root[data-theme=light] .status-delayed{background:rgba(239,68,68,.1)!important;color:#b91c1c!important}:root[data-theme=light] .room-capacity-bar{background:rgba(15,23,42,.06)!important}:root[data-theme=light] .guest-pill{background:hsla(0,0%,100%,.9)!important;border:1px solid rgba(15,23,42,.08)!important;color:#0f172a!important}:root[data-theme=light] ::-webkit-scrollbar-track{background:#e2e8f0}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:rgba(15,23,42,.12)}:root[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#0284c7;background:var(--color-primary)}:root[data-theme=light] .glass-panel h3,:root[data-theme=light] .glass-panel h4,:root[data-theme=light] h1,:root[data-theme=light] h2,:root[data-theme=light] h3,:root[data-theme=light] h4{color:#0f172a!important}:root[data-theme=light] .room-detail-item{border-top:1px solid rgba(15,23,42,.06)!important}:root[data-theme=light] .dining-day-header{background:rgba(2,132,199,.1)!important;color:#0369a1!important}:root[data-theme=light] .activity-meta{border-bottom:1px solid rgba(15,23,42,.06)!important}:root[data-theme=light] .comment-box{background:rgba(15,23,42,.02)!important;border:1px solid rgba(15,23,42,.06)!important}:root[data-theme=light] .message.received{background:rgba(15,23,42,.05)!important;color:#0f172a!important}:root[data-theme=light] .message-user{color:#475569!important}:root[data-theme=light] .password-card{background:hsla(0,0%,100%,.95)!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:0 10px 40px rgba(15,23,42,.1)!important;color:#0f172a!important}:root[data-theme=light] .password-input{background:hsla(0,0%,100%,.95)!important;border:2px solid rgba(15,23,42,.1)!important;color:#0f172a!important}:root[data-theme=light] .password-input:focus{border-color:#0284c7!important;border-color:var(--color-primary)!important}:root[data-theme=light] .name-input{background:hsla(0,0%,100%,.95)!important;border:2px solid rgba(15,23,42,.1)!important;color:#0f172a!important}:root[data-theme=light] .name-input:focus{border-color:#0284c7!important;border-color:var(--color-primary)!important}:root[data-theme=light] .password-subtitle{color:#475569!important}:root[data-theme=light] .theme-toggle-btn-gate{background:rgba(15,23,42,.05)!important;border:1px solid rgba(15,23,42,.08)!important}:root[data-theme=light] .header-countdown{background:rgba(15,23,42,.03)!important;border:1px solid rgba(15,23,42,.06)!important}:root[data-theme=light] .countdown-label{color:#475569!important}:root[data-theme=light] .countdown-value{color:#f59e0b!important;color:var(--color-secondary)!important}:root[data-theme=light] .logout-btn{background:rgba(15,23,42,.05)!important;border:1px solid rgba(15,23,42,.08)!important;color:#475569!important}:root[data-theme=light] .logout-btn:hover{background:#ef4444!important;background:var(--color-danger)!important;color:#fff!important}:root[data-theme=light] .app-header{border-bottom:1px solid rgba(15,23,42,.08)!important;background:hsla(0,0%,100%,.8)!important}:root[data-theme=light] .brand h1{color:#0284c7!important;color:var(--color-primary)!important}:root[data-theme=light] .brand p{color:#475569!important}:root[data-theme=light] .airport-code,:root[data-theme=light] .detail-val,:root[data-theme=light] .gate-info span,:root[data-theme=light] .passenger-name{color:#0f172a!important}:root[data-theme=light] .flight-arc{stroke:rgba(15,23,42,.15)!important}:root[data-theme=light] .flight-details-grid{background:rgba(15,23,42,.03)!important;border:1px solid rgba(15,23,42,.08)!important}:root[data-theme=light] .room-occupant-input{color:#0f172a!important;background:hsla(0,0%,100%,.95)!important;border:1px solid rgba(15,23,42,.15)!important}:root[data-theme=light] .room-tag{background:rgba(15,23,42,.03)!important;border:1px solid rgba(15,23,42,.08)!important;color:#475569!important}:root[data-theme=light] .room-capacity-badge{background:rgba(15,23,42,.06)!important;border:1px solid rgba(15,23,42,.1)!important;color:#475569!important}:root[data-theme=light] .dinner-date,:root[data-theme=light] .dinner-theme-name,:root[data-theme=light] .grocery-name,:root[data-theme=light] .room-details h3{color:#0f172a!important}:root[data-theme=light] .dinner-menu-box{background:rgba(15,23,42,.03)!important;border:1px solid rgba(15,23,42,.08)!important}:root[data-theme=light] .activity-details-block h3,:root[data-theme=light] .modal-header h3,:root[data-theme=light] .vote-counter{color:#0f172a!important}:root[data-theme=light] .modal-close:hover{color:#0284c7!important;color:var(--color-primary)!important}:root[data-theme=light] .panic-location{color:#0f172a!important}:root[data-theme=light] .panic-status-card{background:rgba(15,23,42,.03)!important;border:1px solid rgba(239,68,68,.15)!important}:root[data-theme=light] .panic-title{color:#ef4444!important;color:var(--color-danger)!important}:root[data-theme=light] .panic-subtitle{color:#475569!important}:root[data-theme=light] .glass-panel h3{color:#0f172a!important}:root[data-theme=light] .airline-badge{background:rgba(15,23,42,.05)!important}:root[data-theme=light] .dinner-role-item{background:rgba(15,23,42,.03)!important}:root[data-theme=light] .grocery-item-card{background:rgba(15,23,42,.02)!important;border:1px solid rgba(15,23,42,.06)!important}:root[data-theme=light] .grocery-item-card.claimed{background:rgba(2,132,199,.05)!important;border-color:rgba(2,132,199,.15)!important}:root[data-theme=light] .grocery-item-card.purchased{background:rgba(16,185,129,.04)!important;border-color:rgba(16,185,129,.1)!important}:root[data-theme=light] .travel-info-chip{background:hsla(0,0%,100%,.85)!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:0 4px 12px rgba(0,0,0,.04)!important}:root[data-theme=light] .travel-info-val{color:#0f172a!important}:root[data-theme=light] .travel-info-subval{color:#475569!important}:root[data-theme=light] .loading-chip{background:hsla(0,0%,100%,.85)!important;border-color:rgba(15,23,42,.08)!important;color:#475569!important;box-shadow:0 4px 12px rgba(0,0,0,.04)!important}:root[data-theme=light] .loading-chip .spinner{border-color:#0284c7 rgba(15,23,42,.1) rgba(15,23,42,.1)!important;border-top-color:var(--color-primary)!important}:root[data-theme=light] .grocery-checkbox{border:2px solid rgba(15,23,42,.8)!important;background:rgba(15,23,42,.08)!important}:root[data-theme=light] .grocery-checkbox:hover{border-color:#f59e0b!important;border-color:var(--color-secondary)!important;background:rgba(15,23,42,.16)!important}:root[data-theme=light] .modal-content{background:hsla(0,0%,100%,.98)!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:0 20px 50px rgba(15,23,42,.12)!important;color:#0f172a!important}:root[data-theme=light] .panic-overlay{background:rgba(239,68,68,.08)!important}:root[data-theme=light] .panic-empty-box{background:rgba(239,68,68,.03)!important;border:1px solid rgba(239,68,68,.15)!important;color:#991b1b!important}:root[data-theme=light] .panic-remedy-box{background:rgba(239,68,68,.04)!important;border:1px solid rgba(239,68,68,.15)!important;color:#991b1b!important}.App{flex-direction:column}.App,.password-gate{min-height:100vh;display:flex}.password-gate{align-items:center;justify-content:center;padding:24px}.password-card{background:var(--color-card-dark);border:1px solid var(--color-glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:48px;border-radius:24px;max-width:480px;width:100%;text-align:center;box-shadow:var(--shadow-premium);-webkit-animation:fadeIn .8s ease-out;animation:fadeIn .8s ease-out}.password-logo{font-size:4rem;margin-bottom:16px;display:inline-block;-webkit-animation:float 4s ease-in-out infinite;animation:float 4s ease-in-out infinite}.password-card h1{font-family:var(--font-title);font-size:2.2rem;color:var(--color-text-main);margin-bottom:12px;letter-spacing:-.5px}.password-subtitle{color:var(--color-text-muted);font-size:.95rem;margin-bottom:32px}.password-input-group{position:relative;margin-bottom:24px}.password-input{width:100%;padding:16px 20px;border-radius:12px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);color:var(--color-text-main);font-size:1.1rem;text-align:center;letter-spacing:4px;transition:var(--transition-smooth)}.password-input:focus{outline:none;border-color:var(--color-primary);background:hsla(0,0%,100%,.08);box-shadow:0 0 16px rgba(2,132,199,.25)}.name-input{width:100%;padding:16px 20px;border-radius:12px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);color:var(--color-text-main);font-size:1.1rem;text-align:center;letter-spacing:normal;transition:var(--transition-smooth)}.name-input:focus{outline:none;border-color:var(--color-primary);background:hsla(0,0%,100%,.08);box-shadow:0 0 16px rgba(2,132,199,.25)}.password-btn{width:100%;padding:16px;border-radius:12px;border:none;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;font-weight:600;font-size:1.1rem;cursor:pointer;box-shadow:0 4px 12px rgba(2,132,199,.3);transition:var(--transition-smooth)}.password-btn:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);box-shadow:0 6px 20px rgba(2,132,199,.5)}.password-error{color:var(--color-danger);font-size:.9rem;margin-top:12px;font-weight:500}.app-header{background:rgba(11,15,25,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-glass-border);padding:16px 40px;position:-webkit-sticky;position:sticky;top:0;z-index:100;justify-content:space-between}.app-header,.brand{display:flex;align-items:center}.brand{grid-gap:12px;gap:12px;cursor:pointer}.brand-icon{font-size:2.2rem;-webkit-animation:spinSlow 20s linear infinite;animation:spinSlow 20s linear infinite}.brand-text h1{font-family:var(--font-title);font-size:1.5rem;font-weight:700;letter-spacing:-.5px;color:var(--color-text-main)}.brand-text p{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:2px;margin-top:-2px}.header-countdown{display:flex;align-items:center;grid-gap:20px;gap:20px;background:hsla(0,0%,100%,.03);border:1px solid var(--color-glass-border);padding:8px 20px;border-radius:9999px}.countdown-label{font-size:.8rem;font-weight:600;text-transform:uppercase;color:var(--color-secondary);letter-spacing:1px}.countdown-value{font-family:var(--font-title);font-size:1.1rem;font-weight:700;color:var(--color-text-main);background:rgba(2,132,199,.2);padding:4px 12px;border-radius:12px;border:1px solid rgba(2,132,199,.3)}.logout-btn{background:transparent;border:1px solid hsla(0,0%,100%,.15);color:var(--color-text-muted);padding:8px 16px;border-radius:9999px;font-size:.85rem;font-weight:500;cursor:pointer;transition:var(--transition-smooth)}.logout-btn:hover{border-color:var(--color-danger);color:var(--color-danger);background:rgba(239,68,68,.05)}.app-container{flex:1 1;display:flex;position:relative}.sidebar{width:280px;background:rgba(11,15,25,.4);border-right:1px solid var(--color-glass-border);padding:32px 16px;display:flex;flex-direction:column;grid-gap:8px;gap:8px}.nav-item{display:flex;align-items:center;grid-gap:16px;gap:16px;padding:14px 20px;border-radius:12px;color:var(--color-text-muted);font-weight:500;text-decoration:none;cursor:pointer;background:transparent;border:none;text-align:left;transition:var(--transition-smooth)}.nav-item:hover{background:hsla(0,0%,100%,.03);color:var(--color-text-main)}.nav-item.active{background:rgba(2,132,199,.08);border:1px solid rgba(2,132,199,.15);color:var(--color-text-main);box-shadow:0 4px 12px rgba(2,132,199,.05)}.nav-item-icon{font-size:1.3rem;transition:var(--transition-smooth)}.nav-item.active .nav-item-icon{-webkit-transform:scale(1.1);transform:scale(1.1);color:var(--color-primary)}.content-area{flex:1 1;padding:40px;overflow-y:auto;max-width:1440px;margin:0 auto;width:100%}.tab-panel{-webkit-animation:fadeIn .4s ease-out;animation:fadeIn .4s ease-out}.view-title-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.view-title h2{font-family:var(--font-title);font-size:2.2rem;font-weight:700;letter-spacing:-.5px;margin-bottom:4px}.view-title p{color:var(--color-text-muted);font-size:.95rem}.btn-primary{display:flex;align-items:center;grid-gap:8px;gap:8px;background:var(--color-primary);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-weight:600;cursor:pointer;transition:var(--transition-smooth);box-shadow:0 4px 12px rgba(2,132,199,.2)}.btn-primary:hover{background:var(--color-primary-hover);-webkit-transform:translateY(-1px);transform:translateY(-1px);box-shadow:0 6px 16px rgba(2,132,199,.3)}.btn-secondary{display:flex;align-items:center;grid-gap:8px;gap:8px;background:hsla(0,0%,100%,.05);color:var(--color-text-main);border:1px solid var(--color-glass-border);padding:12px 24px;border-radius:12px;font-weight:500;cursor:pointer;transition:var(--transition-smooth)}.btn-secondary:hover{background:hsla(0,0%,100%,.08)}.glass-panel{background:var(--color-card-dark);border:1px solid var(--color-glass-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius-premium);padding:28px;box-shadow:var(--shadow-premium)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px;margin-bottom:20px}.form-group{display:flex;flex-direction:column;grid-gap:8px;gap:8px}.form-group label{font-size:.8rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.5px}.input-field{padding:12px 16px;border-radius:8px;background:hsla(0,0%,100%,.04);border:1px solid var(--color-glass-border);color:#fff;font-size:.95rem;transition:var(--transition-smooth)}.input-field:focus{outline:none;border-color:var(--color-primary);background:hsla(0,0%,100%,.07)}@-webkit-keyframes fadeIn{0%{opacity:0;-webkit-transform:translateY(8px);transform:translateY(8px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;-webkit-transform:translateY(8px);transform:translateY(8px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes float{0%{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes float{0%{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes spinSlow{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spinSlow{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-content{background:#0f172a;border:1px solid var(--color-glass-border);border-radius:20px;max-width:600px;width:100%;box-shadow:var(--shadow-premium);-webkit-animation:fadeIn .3s ease-out;animation:fadeIn .3s ease-out;overflow:hidden}.modal-header{padding:20px 28px;border-bottom:1px solid var(--color-glass-border);display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-family:var(--font-title);font-size:1.5rem;color:#fff}.modal-close{background:transparent;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer;transition:var(--transition-smooth)}.modal-close:hover{color:#fff}.modal-body{padding:28px}.flight-timeline{display:flex;flex-direction:column;grid-gap:20px;gap:20px}.flight-day-section{margin-bottom:24px}.flight-day-title{font-family:var(--font-title);font-size:1.3rem;color:var(--color-secondary);border-bottom:1px solid var(--color-glass-border);padding-bottom:8px;margin-bottom:16px}.flight-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));grid-gap:20px;gap:20px}.boarding-pass{background:linear-gradient(135deg,rgba(20,30,48,.9),rgba(15,23,42,.8));border:1px solid hsla(0,0%,100%,.08);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-premium);display:flex;flex-direction:column;position:relative}.boarding-pass:after,.boarding-pass:before{content:"";position:absolute;top:50%;width:20px;height:20px;background:var(--color-bg-dark);border-radius:50%;z-index:10}.boarding-pass:before{left:-10px;border-right:1px solid var(--color-glass-border)}.boarding-pass:after,.boarding-pass:before{-webkit-transform:translateY(-50%);transform:translateY(-50%)}.boarding-pass:after{right:-10px;border-left:1px solid var(--color-glass-border)}.pass-header{padding:16px 20px;border-bottom:1px dashed hsla(0,0%,100%,.15);justify-content:space-between}.pass-header,.passenger-badge{display:flex;align-items:center}.passenger-badge{grid-gap:8px;gap:8px}.passenger-avatar{width:28px;height:28px;border-radius:50%;background:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;color:#fff}.passenger-name{font-weight:600;font-size:.95rem;color:#fff}.airline-badge{background:hsla(0,0%,100%,.06);padding:4px 10px;border-radius:8px;font-size:.75rem;font-weight:600;letter-spacing:.5px;color:var(--color-text-muted)}.pass-body{padding:20px;flex:1 1}.route-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.airport-info{display:flex;flex-direction:column}.airport-code{font-family:var(--font-title);font-size:1.8rem;font-weight:800;color:#fff;letter-spacing:-.5px}.airport-city{font-size:.75rem;color:var(--color-text-muted)}.flight-path-svg{width:100px;height:40px}.flight-arc{fill:none;stroke:hsla(0,0%,100%,.15);stroke-width:2;stroke-dasharray:4,4}.flight-progress-arc{fill:none;stroke:var(--color-primary);stroke-width:2;transition:stroke-dashoffset 1s linear}.plane-icon-svg{fill:var(--color-primary)}.flight-details-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-bottom:16px;background:hsla(0,0%,100%,.02);padding:10px;border-radius:8px;border:1px solid hsla(0,0%,100%,.04)}.detail-item{display:flex;flex-direction:column}.detail-label{font-size:.65rem;text-transform:uppercase;color:var(--color-text-muted);font-weight:600;margin-bottom:2px}.detail-val{font-size:.85rem;font-weight:600;color:#fff}.flight-status-badge{align-self:flex-start;padding:6px 12px;border-radius:9999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-scheduled{background:rgba(148,163,184,.15);color:#cbd5e1}.status-boarding{background:rgba(245,158,11,.15);color:#fbbf24;-webkit-animation:pulse 2s infinite;animation:pulse 2s infinite}.status-inflight{background:rgba(2,132,199,.15);color:#38bdf8}.status-landed{background:rgba(16,185,129,.15);color:#34d399}.status-delayed{background:rgba(239,68,68,.15);color:#f87171}.pass-footer{padding:12px 20px;background:rgba(0,0,0,.2);border-top:1px solid hsla(0,0%,100%,.04);display:flex;justify-content:space-between;align-items:center}.gate-info{font-size:.75rem;color:var(--color-text-muted);font-weight:500}.gate-info span{color:#fff;font-weight:700}.btn-delete-pass{background:transparent;border:none;color:rgba(239,68,68,.6);cursor:pointer;font-size:.8rem;transition:var(--transition-smooth)}.btn-delete-pass:hover{color:var(--color-danger)}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:16px;gap:16px}.room-card{background:var(--color-card-dark);border:1px solid var(--color-glass-border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:var(--transition-smooth)}.room-card:hover{-webkit-transform:translateY(-4px);transform:translateY(-4px);border-color:rgba(245,158,11,.2)}.room-image-stub{height:120px;background:linear-gradient(135deg,rgba(2,132,199,.1),rgba(245,158,11,.05));display:flex;align-items:center;justify-content:center;font-size:3rem;border-bottom:1px solid var(--color-glass-border);position:relative}.room-capacity-badge{position:absolute;top:12px;right:12px;background:rgba(11,15,25,.8);padding:4px 10px;border-radius:9999px;font-size:.7rem;font-weight:600;color:var(--color-text-main);border:1px solid var(--color-glass-border)}.room-details{padding:20px;flex:1 1;display:flex;flex-direction:column}.room-details h3{font-family:var(--font-title);font-size:1.25rem;font-weight:700;margin-bottom:4px}.room-amenity-tags{display:flex;flex-wrap:wrap;grid-gap:6px;gap:6px;margin-bottom:16px}.room-tag{background:hsla(0,0%,100%,.04);color:var(--color-text-muted);font-size:.65rem;padding:2px 8px;border-radius:9999px;border:1px solid hsla(0,0%,100%,.04)}.room-assignment-box{margin-top:auto;border-top:1px solid var(--color-glass-border);padding-top:16px}.assigned-occupant-label{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:8px;display:block}.assigned-name{font-family:var(--font-hand);font-size:1.6rem;color:var(--color-secondary);font-weight:600;display:flex;align-items:center;grid-gap:6px;gap:6px;line-height:1}.empty-room{font-family:var(--font-body);font-size:.85rem;color:var(--color-text-muted);font-style:italic}.room-occupant-input{width:100%;padding:8px 12px;border-radius:8px;background:hsla(0,0%,100%,.03);border:1px solid var(--color-glass-border);color:#fff;font-size:.9rem;transition:var(--transition-smooth)}.room-occupant-input:focus{outline:none;border-color:var(--color-primary)}.grocery-layout{display:grid;grid-template-columns:320px 1fr;grid-gap:32px;gap:32px;align-items:start}.grocery-list-container{display:flex;flex-direction:column;grid-gap:16px;gap:16px}.grocery-item-card{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-radius:12px;background:hsla(0,0%,100%,.02);border:1px solid var(--color-glass-border);transition:var(--transition-smooth)}.grocery-item-card.claimed{background:rgba(2,132,199,.03);border-color:rgba(2,132,199,.15)}.grocery-item-card.purchased{opacity:.5;background:rgba(16,185,129,.01);border-color:rgba(16,185,129,.05)}.grocery-item-left{display:flex;align-items:center;grid-gap:16px;gap:16px}.grocery-checkbox{width:22px;height:22px;border-radius:6px;border:2px solid hsla(0,0%,100%,.8);background:hsla(0,0%,100%,.12);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth)}.grocery-checkbox:hover{border-color:#fff;background:hsla(0,0%,100%,.2)}.grocery-checkbox.checked{background:var(--color-accent);border-color:var(--color-accent)}.grocery-checkbox.checked:after{content:"✓";color:#fff;font-size:.75rem;font-weight:700}.grocery-text-block{display:flex;flex-direction:column}.grocery-name{font-weight:600;font-size:.95rem;color:#fff}.grocery-item-card.purchased .grocery-name{text-decoration:line-through;color:var(--color-text-muted)}.grocery-metadata{font-size:.7rem;color:var(--color-text-muted)}.grocery-metadata span{color:var(--color-secondary)}.grocery-item-actions{display:flex;align-items:center;grid-gap:12px;gap:12px}.btn-claim{font-size:.75rem;padding:6px 12px;border-radius:6px;border:1px solid rgba(2,132,199,.3);background:rgba(2,132,199,.1);color:var(--color-primary);font-weight:600;cursor:pointer;transition:var(--transition-smooth)}.btn-claim:hover{background:var(--color-primary);color:#fff}.btn-unclaim{font-size:.75rem;padding:6px 12px;border-radius:6px;border:1px solid rgba(239,68,68,.3);background:rgba(239,68,68,.1);color:var(--color-danger);font-weight:600;cursor:pointer;transition:var(--transition-smooth)}.grocery-shopper-tag{font-size:.7rem;font-weight:700;background:rgba(16,185,129,.15);color:var(--color-accent);padding:4px 10px;border-radius:9999px;border:1px solid rgba(16,185,129,.2)}.btn-delete-grocery{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.8rem;font-weight:500;transition:var(--transition-smooth)}.btn-delete-grocery:hover{color:var(--color-danger)}.dinner-timeline{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:24px;gap:24px}.dinner-card{background:var(--color-card-dark);border:1px solid var(--color-glass-border);border-radius:16px;overflow:hidden;padding:24px;display:flex;flex-direction:column;transition:var(--transition-smooth)}.dinner-card:hover{border-color:rgba(2,132,199,.2);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.dinner-day-label{font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--color-secondary);letter-spacing:1px;margin-bottom:4px}.dinner-date{font-family:var(--font-title);font-size:1.3rem;font-weight:700;color:#fff;margin-bottom:16px}.dinner-menu-box{background:hsla(0,0%,100%,.02);border:1px solid hsla(0,0%,100%,.04);padding:14px;border-radius:10px;margin-bottom:20px;flex:1 1}.dinner-theme-name{font-weight:700;font-size:.95rem;color:#fff;margin-bottom:6px}.dinner-menu-details{font-size:.85rem;color:var(--color-text-muted);line-height:1.4}.dinner-roles-section{display:flex;flex-direction:column;grid-gap:12px;gap:12px}.dinner-role-item{display:flex;align-items:center;justify-content:space-between;background:hsla(0,0%,100%,.03);padding:8px 12px;border-radius:8px}.role-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted)}.role-assignee{font-family:var(--font-hand);font-size:1.4rem;color:var(--color-secondary);font-weight:600}.role-empty{font-family:var(--font-body);font-size:.75rem;color:var(--color-text-muted);font-style:italic}.btn-role-signup{font-size:.7rem;padding:4px 10px;border-radius:6px;border:1px solid rgba(245,158,11,.3);background:rgba(245,158,11,.08);color:var(--color-secondary);font-weight:600;cursor:pointer}.btn-role-signup:hover{background:var(--color-secondary);color:#0b0f19}.activity-card-list{display:flex;flex-direction:column;grid-gap:20px;gap:20px}.activity-card{display:grid;grid-template-columns:100px 1fr 180px;grid-gap:24px;gap:24px;align-items:center;background:var(--color-card-dark);border:1px solid var(--color-glass-border);border-radius:16px;padding:24px;transition:var(--transition-smooth)}.activity-card:hover{border-color:rgba(16,185,129,.2)}.activity-icon-box{width:80px;height:80px;border-radius:12px;background:linear-gradient(135deg,rgba(16,185,129,.1),rgba(2,132,199,.1));display:flex;align-items:center;justify-content:center;font-size:2.2rem;border:1px solid var(--color-glass-border)}.activity-details-block h3{font-family:var(--font-title);font-size:1.3rem;color:#fff;margin-bottom:6px}.activity-description{font-size:.85rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:12px}.activity-tags-row{display:flex;grid-gap:8px;gap:8px}.activity-tag{background:hsla(0,0%,100%,.03);border:1px solid var(--color-glass-border);padding:2px 8px;border-radius:9999px;font-size:.65rem;font-weight:500;color:var(--color-text-muted)}.activity-vote-panel{display:flex;flex-direction:column;align-items:center;grid-gap:8px;gap:8px;border-left:1px solid var(--color-glass-border);padding-left:24px}.vote-counter{font-family:var(--font-title);font-size:1.6rem;font-weight:700;color:#fff}.btn-vote-heart{background:transparent;border:1px solid rgba(239,68,68,.3);color:var(--color-danger);width:48px;height:48px;border-radius:50%;font-size:1.3rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-smooth)}.btn-vote-heart:hover{background:rgba(239,68,68,.1);-webkit-transform:scale(1.08);transform:scale(1.08)}.btn-vote-heart.active{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.discussion-layout{display:grid;grid-template-columns:2fr 1fr;grid-gap:32px;gap:32px}.chat-messages-container{display:flex;flex-direction:column;grid-gap:12px;gap:12px;height:400px;overflow-y:auto;background:rgba(0,0,0,.2);border-radius:12px;padding:16px;border:1px solid var(--color-glass-border)}.chat-bubble{display:flex;flex-direction:column;max-width:75%;padding:12px 16px;border-radius:12px;-webkit-animation:fadeIn .3s ease-out;animation:fadeIn .3s ease-out}.chat-bubble.mine{align-self:flex-end;background:var(--color-primary);color:#fff;border-bottom-right-radius:2px}.chat-bubble.other{align-self:flex-start;background:hsla(0,0%,100%,.05);color:var(--color-text-main);border-bottom-left-radius:2px}.chat-sender{font-size:.7rem;font-weight:700;margin-bottom:4px;text-transform:uppercase}.chat-bubble.mine .chat-sender{color:var(--color-secondary)}.chat-bubble.other .chat-sender{color:var(--color-primary)}.chat-text{font-size:.9rem;line-height:1.4}.chat-time{font-size:.65rem;color:hsla(0,0%,100%,.4);align-self:flex-end;margin-top:4px}.chat-input-bar{display:flex;grid-gap:12px;gap:12px;margin-top:16px}.chat-input{flex:1 1}.photo-masonry{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:16px;gap:16px}.photo-card{background:var(--color-card-dark);border:1px solid var(--color-glass-border);border-radius:12px;overflow:hidden;position:relative;transition:var(--transition-smooth)}.photo-card img{width:100%;height:140px;object-fit:cover;display:block}.photo-card-info{padding:8px 12px;font-size:.75rem}.photo-uploader{font-weight:600;color:var(--color-secondary)}.photo-caption{color:var(--color-text-muted)}.upload-button-wrapper{margin-top:24px}.btn-upload-file{position:relative;overflow:hidden;display:inline-block}.btn-upload-file input[type=file]{font-size:100px;position:absolute;left:0;top:0;opacity:0;cursor:pointer}.panic-button-wrapper{display:flex;justify-content:center;margin:40px 0}.btn-panic-massive{font-size:2.2rem;padding:24px 60px;border-radius:9999px;background:linear-gradient(135deg,var(--color-danger),#b91c1c);color:#fff;border:none;font-weight:800;font-family:var(--font-title);letter-spacing:-.5px;cursor:pointer;box-shadow:0 10px 30px rgba(239,68,68,.4);transition:var(--transition-smooth)}.btn-panic-massive:hover{-webkit-transform:scale(1.05) rotate(-1deg);transform:scale(1.05) rotate(-1deg);box-shadow:0 14px 40px rgba(239,68,68,.6)}.panic-overlay{background:rgba(239,68,68,.15)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important}.panic-content{border-color:var(--color-danger)!important;box-shadow:0 20px 50px rgba(239,68,68,.4)!important}.panic-body{text-align:center}.panic-title{font-family:var(--font-title);font-size:2.5rem;font-weight:800;color:#fff;margin-bottom:8px}.panic-subtitle{color:#fca5a5;font-size:1.1rem;margin-bottom:24px}.panic-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:16px;gap:16px;margin-bottom:32px}.panic-status-card{background:rgba(0,0,0,.4);border:1px solid rgba(239,68,68,.2);padding:16px;border-radius:12px}.panic-person{font-weight:700;color:var(--color-secondary);font-size:.95rem;margin-bottom:4px}.panic-location{font-size:.85rem;color:#fff;font-weight:500}.panic-remedy{font-size:.75rem;color:var(--color-text-muted);margin-top:4px}.panic-empty-box{padding:40px 24px;background:rgba(0,0,0,.3);font-size:1.1rem;line-height:1.6;margin-bottom:24px}.panic-empty-box,.panic-remedy-box{border:1px solid rgba(239,68,68,.2);border-radius:12px;color:#fca5a5}.panic-remedy-box{background:rgba(239,68,68,.05);padding:16px;font-size:.85rem;line-height:1.5}@media (max-width:1024px){.app-container{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid var(--color-glass-border);padding:16px;flex-direction:row;overflow-x:auto;grid-gap:12px;gap:12px}.nav-item{padding:10px 16px;white-space:nowrap}.content-area{padding:24px}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}50%{-webkit-transform:scale(1.02);transform:scale(1.02);opacity:.9}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}50%{-webkit-transform:scale(1.02);transform:scale(1.02);opacity:.9}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.travel-info-chip{background:hsla(0,0%,100%,.12);padding:16px;border-radius:10px;border:1px solid hsla(0,0%,100%,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .3s ease}.travel-info-val{color:#fff}.travel-info-subval{color:var(--color-text-muted)}.loading-container{display:flex;justify-content:center;align-items:center;min-height:200px;flex-direction:column;grid-gap:12px;gap:12px;width:100%}.loading-chip{background:hsla(0,0%,100%,.05);border:1px solid var(--color-glass-border);border-radius:9999px;padding:12px 24px;display:flex;align-items:center;grid-gap:10px;gap:10px;color:var(--color-text-muted);font-size:.9rem;font-weight:500;box-shadow:var(--shadow-premium);-webkit-animation:pulse 1.5s ease-in-out infinite;animation:pulse 1.5s ease-in-out infinite;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.loading-chip .spinner{display:inline-block;width:18px;height:18px;border:2px solid hsla(0,0%,100%,.1);border-top:2px solid var(--color-primary);border-radius:50%;-webkit-animation:spinSlow 1s linear infinite;animation:spinSlow 1s linear infinite}.dashboard-primary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:24px;gap:24px;margin-bottom:32px}.dashboard-secondary-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:32px;gap:32px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px;gap:32px;margin-bottom:32px}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:24px;gap:24px}@media (max-width:768px){.input-field,input,select,textarea{font-size:16px!important}.app-header{flex-direction:column;grid-gap:12px;gap:12px;padding:16px 20px;text-align:center}.view-title-container{flex-direction:column;align-items:stretch;grid-gap:16px;gap:16px}.view-title-container .btn-primary{width:100%;justify-content:center}.header-countdown{padding:6px 16px}.book-grid,.dashboard-secondary-grid,.dinner-timeline,.grocery-layout,.guide-grid{grid-template-columns:1fr;grid-gap:20px;gap:20px}.activity-card{grid-template-columns:1fr;grid-gap:16px;gap:16px;text-align:center;padding:20px}.activity-icon-box{margin:0 auto}.activity-vote-panel{border-left:none;border-top:1px solid var(--color-glass-border);padding-left:0;padding-top:16px;width:100%}.discussion-layout{grid-template-columns:1fr;grid-gap:24px;gap:24px}}@media (max-width:480px){.flight-grid,.room-grid{grid-template-columns:1fr}.password-card{padding:24px 16px}.view-title h2{font-size:1.8rem}}
/*# sourceMappingURL=main.b28cd3b0.chunk.css.map */