.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:linear-gradient(135deg,#0a1e2e,#1a3a52);border-radius:20px;box-shadow:0 20px 60px #00000080;max-width:700px;width:90%;max-height:85vh;display:flex;flex-direction:column;border:2px solid rgba(0,206,201,.3)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:25px;border-bottom:2px solid rgba(0,206,201,.2)}.modal-header h2{margin:0;color:#fff;font-size:24px}.modal-close{background:none;border:none;color:#fff;font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close:hover{color:#00cec9}.modal-body{flex:1;overflow-y:auto;padding:25px}.modal-section{margin-bottom:30px}.modal-section h3{color:#00cec9;font-size:18px;margin:0 0 15px;text-transform:uppercase;letter-spacing:1px}.itinerary-theme{color:#ffd89b;font-size:16px;font-weight:600;margin:0 0 10px}.itinerary-description{color:#d0d0d0;font-size:14px;line-height:1.6;margin:0}.day-detail{background:#00cec90d;border-left:4px solid #00cec9;padding:15px;margin-bottom:15px;border-radius:8px}.day-detail h4{color:#ffd89b;margin:0 0 12px;font-size:15px}.section-label{color:#00cec9;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:10px 0 5px}.activities-list ul{list-style:none;padding:0;margin:0}.activities-list li{color:#d0d0d0;font-size:13px;margin-bottom:6px;padding-left:0}.accommodation-info,.meals-info{color:#d0d0d0;font-size:13px;margin:8px 0}.day-divider{border:none;border-top:1px solid rgba(0,206,201,.2);margin:15px 0}.cost-breakdown{background:#00cec90d;border-radius:8px;padding:15px}.cost-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;color:#d0d0d0;font-size:14px}.cost-row:not(:last-child){border-bottom:1px solid rgba(0,206,201,.1)}.cost-label{flex:1}.cost-amount{font-weight:600;color:#00cec9}.total-row{padding-top:12px;padding-bottom:0;border-top:2px solid rgba(0,206,201,.3);border-bottom:none}.total-amount{color:#ffd89b;font-size:16px}.modal-footer{display:flex;gap:10px;padding:20px 25px;border-top:2px solid rgba(0,206,201,.2);background:#0000004d}.btn-primary,.btn-secondary{flex:1;padding:12px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#00cec9,#00a896);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 16px #00cec94d}.btn-secondary{background:#00cec91a;color:#00cec9;border:2px solid #00cec9}.btn-secondary:hover{background:#00cec933}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#00cec90d;border-radius:10px}.modal-body::-webkit-scrollbar-thumb{background:#00cec9;border-radius:10px}.modal-body::-webkit-scrollbar-thumb:hover{background:#ffd89b}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}:root{--primary-gradient: linear-gradient(135deg, #f97316 0%, #f59e0b 100%);--secondary-gradient: linear-gradient(135deg, #00CEC9 0%, #0984E3 100%);--accent-coral: #f97316;--accent-amber: #f59e0b;--accent-teal: #00CEC9;--accent-orange: #f97316;--dark-bg: #0a1628;--card-bg: #1a2f4e;--text-primary: #ffffff;--text-secondary: #94a3b8;--border-color: rgba(255, 255, 255, .08);--success-color: #10B981;--error-color: #EF4444}body{background:linear-gradient(160deg,#0a1628,#0d1f3c,#0a1628);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;border-radius:8px;transition:all .2s ease;font-weight:600;padding:12px 24px}input,select,textarea{font-family:inherit;border-radius:8px;border:1px solid rgba(255,255,255,.12);padding:12px;background:#1a2f4e99;color:var(--text-primary);transition:all .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-orange);box-shadow:0 0 0 3px #f973162e;background:#1a2f4ee6}.app-container{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 40px}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translate(-50%) translateY(-12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.loading{text-align:center;padding:60px 20px;animation:fadeIn .6s ease-in}.spinner{display:inline-block;width:40px;height:40px;border:4px solid rgba(249,115,22,.2);border-top-color:var(--accent-orange);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-secondary);font-size:16px}.planner-page{width:100%;max-width:680px;padding:0 4px}.planner-header{text-align:center;margin-bottom:32px;animation:fadeIn .5s ease-in}.planner-header h1{font-size:32px;font-weight:800;margin-bottom:10px;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.planner-header p{color:var(--text-secondary);font-size:15px}.selector-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.selector-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:22px 20px;transition:border-color .2s ease,box-shadow .2s ease}.selector-card:hover{border-color:#f9731666;box-shadow:0 4px 20px #f973161f}.selector-label{display:block;font-size:11px;font-weight:700;color:var(--text-secondary);margin-bottom:10px;text-transform:uppercase;letter-spacing:1.2px}.selector-input{width:100%;font-size:18px;font-weight:600;padding:10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);border-radius:8px}.selector-card input[type=range]{width:100%;cursor:pointer;padding:0;border:none;background:none;accent-color:var(--accent-orange)}.range-value{display:inline-block;background:var(--primary-gradient);color:#fff;padding:4px 14px;border-radius:99px;font-size:13px;font-weight:700;margin-top:10px}.currency-toggle{display:flex;gap:8px}.currency-btn{flex:1;padding:8px;background:#ffffff0f;color:var(--text-secondary);font-size:12px;font-weight:600;border-radius:6px;border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.currency-btn.active{background:var(--accent-orange);color:#fff;border-color:var(--accent-orange);box-shadow:0 3px 10px #f9731659}.generate-button{display:block;width:100%;max-width:520px;margin:0 auto 12px;background:linear-gradient(90deg,#f97316,#f59e0b);color:#fff;padding:18px 48px;font-size:18px;font-weight:800;border-radius:14px;letter-spacing:.2px;box-shadow:0 8px 28px #f9731673;border:none;cursor:pointer;transition:all .2s ease;animation:fadeIn .5s ease-in .3s both}.generate-button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.generate-button:hover:not(:disabled){transform:scale(1.02) translateY(-1px);box-shadow:0 12px 36px #f9731699;background:linear-gradient(90deg,#ea6010,#e8a000)}.error-message{background:#ef44441a;color:#fca5a5;padding:12px 16px;border-radius:10px;border-left:4px solid var(--error-color);font-size:14px;margin-bottom:16px;line-height:1.5}.itineraries-container{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:32px}.itinerary-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;overflow:hidden;transition:all .3s ease}.itinerary-card:hover{border-color:#f9731659;box-shadow:0 12px 48px #f9731633;transform:translateY(-4px)}.card-header{background:var(--secondary-gradient);padding:24px;color:#fff}.card-title{font-size:20px;font-weight:800;margin-bottom:6px;color:#fff}.card-subtitle{font-size:13px;opacity:.9;color:#fff}.card-body{padding:20px 20px 8px}.itinerary-item{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.day-label{display:inline-block;background:var(--accent-orange);color:#fff;padding:3px 12px;border-radius:99px;font-size:11px;font-weight:700;margin-bottom:6px;letter-spacing:.2px}.activity-list{list-style:none;padding:0}.activity-description{color:var(--text-secondary);font-size:14px;line-height:1.6}.accommodation-info{color:var(--text-secondary);font-size:13px;margin-top:6px}.cost-info{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#f9731614;border-radius:10px;border:1px solid rgba(249,115,22,.15);margin-top:12px}.cost-label{font-size:13px;color:var(--text-secondary);font-weight:600}.cost-value{font-size:22px;font-weight:800;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-actions{display:flex;gap:10px;padding:16px 20px 20px;border-top:1px solid var(--border-color)}.action-btn{flex:1;padding:12px 16px;font-size:14px;border-radius:10px;font-weight:600;transition:all .2s ease;min-height:48px}.btn-primary{background:linear-gradient(90deg,#f97316,#f59e0b);color:#fff;border:none;box-shadow:0 4px 16px #f9731666}.btn-primary:hover{transform:scale(1.02);box-shadow:0 6px 22px #f973168c}.btn-secondary{background:#ffffff0f;color:var(--text-primary);border:1px solid rgba(255,255,255,.1)}.btn-secondary:hover{background:#ffffff1a;border-color:#f9731666}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-group label{font-size:13px;font-weight:600;color:var(--text-secondary)}.form-group input{padding:13px 14px;font-size:15px;width:100%}.login-button{width:100%;background:var(--primary-gradient);color:#fff;padding:14px 24px;font-size:16px;font-weight:700;border-radius:10px;box-shadow:0 6px 20px #f9731659;border:none}.login-button:hover:not(:disabled){box-shadow:0 10px 28px #f9731680;transform:translateY(-1px)}.login-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.modal-content{background:var(--card-bg);border:1px solid rgba(255,255,255,.1);border-radius:20px;width:100%;max-width:580px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 80px #00000080;animation:fadeIn .25s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:20px;font-weight:700;color:var(--text-primary)}.modal-close{background:#ffffff14;border:none;color:var(--text-secondary);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;padding:0;transition:background .15s}.modal-close:hover{background:#ffffff26}.modal-body{padding:20px 24px}.modal-footer{display:flex;gap:12px;padding:16px 24px 20px;border-top:1px solid var(--border-color);justify-content:flex-end}@media (max-width: 768px){.app-container{padding:16px 12px 60px}.planner-page{max-width:100%}.planner-header h1{font-size:26px}.selector-container{grid-template-columns:1fr;gap:12px;margin-bottom:18px}.generate-button{font-size:17px;padding:16px 32px;border-radius:12px}.itinerary-card:hover{transform:none}}@media (max-width: 480px){.modal-content{border-radius:16px;max-height:95vh}.card-actions{flex-direction:column}.action-btn{width:100%}.generate-button{font-size:16px;padding:15px 24px}}
