*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:linear-gradient(135deg,#1a5f2a,#2d8a46,#1a5f2a);min-height:100vh;color:#333}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:#fffffff2;padding:1.5rem 2rem;text-align:center;box-shadow:0 2px 10px #0000001a}.header-content{display:flex;align-items:center;justify-content:center;gap:1rem;max-width:800px;margin:0 auto}.header-text{flex:1}.header-sloth{width:80px;height:80px;object-fit:contain;animation:sloth-sway 3s ease-in-out infinite;cursor:pointer;transition:transform .2s}.header-sloth:hover{transform:scale(1.1);animation:none}@keyframes sloth-sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.header h1{color:#1a5f2a;font-size:2rem;margin-bottom:.25rem}.header .subtitle{color:#666;font-size:1rem}.user-info{margin-top:1rem;display:flex;justify-content:center;align-items:center;gap:1rem}.user-info span{color:#1a5f2a;font-weight:500}.nav{background:#1a5f2ae6;padding:.75rem 2rem;display:flex;justify-content:center;gap:2rem}.nav-link{color:#fff;text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:4px;transition:background .2s}.nav-link:hover{background:#fff3}.main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.footer{background:#0000004d;color:#fff;text-align:center;padding:1rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#1a5f2a;color:#fff}.btn-primary:hover:not(:disabled){background:#2d8a46}.btn-secondary{background:#e0e0e0;color:#333}.btn-secondary:hover:not(:disabled){background:#d0d0d0}.btn-logout{background:#dc3545;color:#fff;padding:.5rem 1rem;font-size:.875rem}.btn-logout:hover{background:#c82333}.auth-container{display:flex;justify-content:center;align-items:center;min-height:60vh}.auth-card{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 4px 20px #00000026;width:100%;max-width:400px}.auth-card h2{color:#1a5f2a;margin-bottom:.5rem;text-align:center}.auth-subtitle{color:#666;text-align:center;margin-bottom:1.5rem}.auth-footer{text-align:center;margin-top:1.5rem;color:#666}.auth-footer a{color:#1a5f2a;font-weight:500}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#1a5f2a}.error-message{background:#f8d7da;color:#721c24;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.success-message{background:#d4edda;color:#155724;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.loading{text-align:center;padding:3rem;color:#fff;font-size:1.25rem}.tour-list-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 20px #0000001a}.tour-list-header{margin-bottom:1.5rem}.tour-list-header h2{color:#1a5f2a;margin-bottom:.5rem}.tour-list-header p{color:#666;margin-bottom:1rem}.tour-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.selection-count{font-weight:500;color:#1a5f2a}.tour-item{border:2px solid #e0e0e0;border-radius:8px;margin-bottom:.75rem;transition:all .2s;overflow:hidden}.tour-item:hover{border-color:#1a5f2a}.tour-item.selected{border-color:#1a5f2a;background:#f0f9f2}.tour-header{display:flex;align-items:center;padding:1rem;gap:1rem}.tour-checkbox{position:relative;cursor:pointer}.tour-checkbox input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{display:inline-block;width:24px;height:24px;background:#fff;border:2px solid #1a5f2a;border-radius:4px;transition:all .2s}.tour-checkbox input:checked~.checkmark{background:#1a5f2a}.tour-checkbox input:checked~.checkmark:after{content:"✓";display:block;color:#fff;font-size:16px;text-align:center;line-height:20px}.tour-info{flex:1;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem}.tour-name{font-size:1rem;font-weight:500;color:#333}.tour-meta{display:flex;align-items:center;gap:.75rem}.tour-cost{font-weight:600;color:#1a5f2a;white-space:nowrap}.interest-badge{background:#2d8a46;color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:.875rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.interest-badge:hover{background:#1a5f2a;transform:scale(1.1)}.popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.popup-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;max-width:400px;width:90%;max-height:80vh;overflow:hidden}.popup-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#1a5f2a;color:#fff}.popup-header h4{margin:0;font-size:1.1rem}.popup-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;line-height:1;padding:0;opacity:.8;transition:opacity .2s}.popup-close:hover{opacity:1}.popup-body{padding:1.25rem}.popup-tour-name{font-weight:600;color:#1a5f2a;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e0e0e0}.interested-list{list-style:none;margin:0;padding:0}.interested-list li{padding:.5rem .75rem;background:#f0f9f2;border-radius:6px;margin-bottom:.5rem;color:#333}.btn-expand{width:36px;height:36px;border:2px solid #1a5f2a;background:#fff;color:#1a5f2a;border-radius:50%;font-size:1.25rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-expand:hover{background:#1a5f2a;color:#fff}.tour-description{padding:1rem;background:#f8f9fa;border-top:1px solid #e0e0e0}.tour-description p{color:#555;line-height:1.6}.results-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 20px #0000001a}.results-container h2{color:#1a5f2a;margin-bottom:.5rem}.results-subtitle{color:#666;margin-bottom:1.5rem}.results-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.group-toggle{display:flex;align-items:center;gap:.5rem}.group-toggle span{font-weight:500;color:#333}.toggle-btn{padding:.5rem 1rem;border:2px solid #1a5f2a;background:#fff;color:#1a5f2a;font-weight:500;cursor:pointer;transition:all .2s}.toggle-btn:first-of-type{border-radius:6px 0 0 6px}.toggle-btn:last-of-type{border-radius:0 6px 6px 0;border-left:none}.toggle-btn.active{background:#1a5f2a;color:#fff}.toggle-btn:hover:not(.active){background:#f0f9f2}.export-btn{display:flex;align-items:center;gap:.5rem}.interested-count-badge{display:inline-block;background:#2d8a46;color:#fff;font-weight:600;padding:.25rem .75rem;border-radius:20px;margin-bottom:.5rem}.results-table-wrapper{overflow-x:auto}.results-table{width:100%;border-collapse:collapse}.results-table th,.results-table td{padding:1rem;text-align:left;border-bottom:1px solid #e0e0e0}.results-table th{background:#1a5f2a;color:#fff;font-weight:600}.results-table tr:hover{background:#f8f9fa}.no-selections{color:#999;font-style:italic}.tour-selections-list{list-style:none;margin:0;padding:0}.tour-selections-list li{display:flex;justify-content:space-between;padding:.5rem;border-radius:4px;margin-bottom:.25rem;background:#f0f9f2}.tour-selections-list .tour-name,.tour-selections-list .tour-cost{font-size:.875rem}.results-summary{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #e0e0e0;display:flex;gap:2rem}.no-results{text-align:center;color:#666;padding:3rem}@media (max-width: 768px){.header{padding:1rem}.header h1{font-size:1.5rem}.header-sloth{width:60px;height:60px}.main{padding:1rem}.tour-info{flex-direction:column;align-items:flex-start;gap:.25rem}.tour-actions{flex-direction:column;align-items:stretch}.results-summary{flex-direction:column;gap:.5rem}}.welcome-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.welcome-modal{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:100%;box-shadow:0 10px 40px #0000004d;text-align:center;animation:modal-appear .3s ease-out}@keyframes modal-appear{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.welcome-modal h2{color:#1a5f2a;margin-bottom:1.5rem;font-size:1.75rem}.welcome-modal p{color:#444;line-height:1.6;margin-bottom:1rem}.welcome-modal .welcome-note{color:#666;font-style:italic;font-size:.95rem;margin-bottom:1.5rem}.welcome-modal .btn{padding:.875rem 2.5rem;font-size:1.1rem}
