.planner-hero{height:40vh;min-height:300px;background-image:linear-gradient(rgba(10,10,26,.7),rgba(10,10,26,.7)),url(https://picsum.photos/id/42/1920/1080);background-size:cover;background-position:50%;display:flex;align-items:center;justify-content:center;padding:2rem;margin-top:80px;position:relative;overflow:hidden}.planner-hero:before{top:0;height:100%;background:radial-gradient(circle at top left,rgba(153,69,255,.2),transparent 70%)}.planner-hero:after,.planner-hero:before{content:"";position:absolute;left:0;width:100%;z-index:0}.planner-hero:after{bottom:0;height:30%;background:linear-gradient(to top,var(--background),transparent)}.planner-hero-content{text-align:center;max-width:800px;position:relative;z-index:1}.planner-section{padding:4rem 0}.planner-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:2rem}.trip-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;width:100%;max-width:800px}.trip-detail-item{display:flex;flex-direction:column;gap:.5rem}.trip-detail-item label{font-size:.875rem;color:rgba(255,255,255,.7)}.trip-detail-item input{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:.75rem 1rem;color:white;outline:none}.date-input-wrapper input:focus,.input-group input:focus,.trip-detail-item input:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(153,69,255,.2)}.trip-dates{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.date-input-wrapper{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:0 1rem}.date-input-wrapper input{background:none;border:none;padding:.75rem 0;width:100%}.trip-actions{display:flex;gap:1rem}.action-button,.save-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius);font-weight:600;border:none;transition:background .3s ease,transform .3s ease}.save-button{background:var(--success);color:black;position:relative;overflow:hidden}.save-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .7s ease}.save-button:hover:before{left:100%}.save-button.unsaved{background:var(--primary);color:white;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(153,69,255,.4)}70%{box-shadow:0 0 0 10px rgba(153,69,255,0)}to{box-shadow:0 0 0 0 rgba(153,69,255,0)}}.action-button{background:rgba(255,255,255,.1);color:white;position:relative;overflow:hidden}.action-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .7s ease}.action-button:hover:before{left:100%}.action-button:hover,.save-button:hover{transform:translateY(-2px)}.planner-content{display:grid;grid-template-columns:300px 1fr;gap:2rem}.planner-sidebar{display:flex;flex-direction:column;gap:2rem}.trip-summary{background:rgba(18,18,42,.5);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:1.5rem}.trip-summary h3{margin-bottom:1.5rem;font-size:1.25rem;color:var(--primary)}.summary-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.summary-item:last-child{border-bottom:none}.days-tabs{background:rgba(18,18,42,.5);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:1.5rem}.days-tabs h3{margin-bottom:1.5rem;font-size:1.25rem;color:var(--primary)}.days-list{display:flex;flex-direction:column;gap:.75rem}.day-tab{background:rgba(255,255,255,.1);border:none;color:white;padding:.75rem;border-radius:var(--radius);font-weight:600;transition:background .3s ease;text-align:left;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.day-tab:hover:not(.active){background:rgba(255,255,255,.2);transform:translateX(5px)}.day-tab.active{background:var(--primary);transform:scale(1.05);box-shadow:0 5px 15px rgba(153,69,255,.3)}.day-tab.add-day{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.05);border:1px dashed rgba(255,255,255,.3);justify-content:center;margin-top:.5rem}.suggested-activities{background:rgba(18,18,42,.5);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:1.5rem}.suggested-activities h3{margin-bottom:1.5rem;font-size:1.25rem;color:var(--primary)}.suggestion-list{display:flex;flex-direction:column;gap:1rem}.suggestion-item{display:flex;align-items:center;gap:1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:1rem;cursor:pointer;transition:background .3s ease}.suggestion-item:hover{background:rgba(255,255,255,.1)}.suggestion-icon{font-size:1.5rem}.suggestion-content{flex:1}.suggestion-content h4{font-size:1rem;margin-bottom:.25rem}.suggestion-content p{font-size:.875rem;color:rgba(255,255,255,.7)}.add-suggestion{width:24px;height:24px;border-radius:50%;background:var(--primary);color:white;border:none;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;transition:transform .3s ease}.add-suggestion:hover{transform:scale(1.2)}.planner-main{display:flex;flex-direction:column;gap:2rem}.itinerary-map{background:rgba(18,18,42,.5);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);overflow:hidden}.map-container{width:100%;height:400px}.selected-location-marker{position:relative}.pulse{position:absolute;width:20px;height:20px;border-radius:50%;background:rgba(153,69,255,.6);animation:mapPulse 1.5s infinite}@keyframes mapPulse{0%{transform:scale(.5);opacity:1}to{transform:scale(2);opacity:0}}.map-loading{height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(18,18,42,.5);border-radius:var(--radius)}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top:3px solid var(--primary);border-radius:50%;margin-bottom:1rem;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.itinerary-planner{background:rgba(18,18,42,.5);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:1.5rem}.itinerary-planner h3{margin-bottom:1.5rem;font-size:1.25rem;color:var(--primary)}.itinerary-timeline{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.empty-itinerary{text-align:center;padding:2rem;color:rgba(255,255,255,.7);background:rgba(255,255,255,.05);border-radius:var(--radius)}.itinerary-item{display:flex;align-items:center;gap:1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:1rem;transition:transform .3s ease,box-shadow .3s ease;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease}.itinerary-item.dragging{opacity:.5;box-shadow:0 10px 20px rgba(153,69,255,.2)}.itinerary-item:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(153,69,255,.2);transform:translateY(-5px) scale(1.02);box-shadow:0 10px 20px rgba(153,69,255,.2)}.item-drag-handle{cursor:grab;color:rgba(255,255,255,.5)}.item-time{display:flex;align-items:center;gap:.5rem;min-width:100px;color:var(--primary);font-weight:600}.item-content{flex:1}.item-activity{font-size:1rem;margin-bottom:.25rem}.item-location{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:rgba(255,255,255,.7)}.item-delete{background:none;border:none;color:rgba(255,255,255,.5);cursor:pointer;transition:color .3s ease}.item-delete:hover{color:var(--error)}.add-itinerary-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:1.5rem}.add-itinerary-item h4{margin-bottom:1rem;font-size:1rem;color:var(--primary)}.add-item-inputs{display:grid;grid-template-columns:150px 1fr 1fr;gap:1rem;margin-bottom:1rem}.input-group{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:0 1rem}.input-group input{background:none;border:none;padding:.75rem 0;color:white;width:100%;outline:none}.map-instruction{font-size:.875rem;color:rgba(255,255,255,.7);margin-bottom:1rem;font-style:italic}.add-item-button{display:flex;align-items:center;gap:.5rem;background:var(--primary);color:white;border:none;padding:.75rem 1.5rem;border-radius:var(--radius);font-weight:600;transition:background .3s ease,transform .3s ease;position:relative;overflow:hidden}.add-item-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .7s ease}.add-item-button:hover:before{left:100%}.add-item-button:hover{background:var(--primary-dark);transform:translateY(-2px)}.planner-tips{padding:4rem 0;background:var(--card)}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.tip-card{background:rgba(18,18,42,.5);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:2rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s ease}.tip-card:hover{transform:translateY(-10px);box-shadow:0 15px 30px rgba(0,0,0,.3);transform:translateY(-15px) scale(1.03);box-shadow:0 20px 40px rgba(0,0,0,.4),0 0 20px rgba(153,69,255,.2)}.tip-icon{font-size:2.5rem;margin-bottom:1rem;transition:transform .3s ease}.tip-card:hover .tip-icon{transform:scale(1.2)}.tip-card h3{font-size:1.25rem;margin-bottom:1rem}.tip-card p{color:rgba(255,255,255,.7);font-size:.875rem;line-height:1.5}.save-confirmation{position:fixed;bottom:-100px;left:50%;transform:translateX(-50%);background:var(--success);color:black;padding:1rem 2rem;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;box-shadow:0 5px 15px rgba(0,0,0,.3);transition:bottom .3s ease;z-index:1000}.save-confirmation.show{bottom:2rem}.save-confirmation-content{display:flex;align-items:center;gap:1rem}.save-icon{font-size:1.5rem;font-weight:700}@media (max-width:992px){.planner-content{grid-template-columns:1fr}.planner-sidebar{order:2}.planner-main{order:1}.add-item-inputs{grid-template-columns:1fr}}@media (max-width:768px){.trip-details{grid-template-columns:1fr}.trip-dates{grid-column:auto;grid-template-columns:1fr}.trip-actions{width:100%;justify-content:space-between}.tips-grid{grid-template-columns:1fr}}.cta-section{position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 30%,rgba(153,69,255,.4),transparent 70%),radial-gradient(circle at 80% 70%,rgba(69,166,255,.4),transparent 70%);z-index:0}.cta-section .container{position:relative;z-index:1}[data-theme=dark] .planner-hero,[data-theme=light] .planner-hero{background:linear-gradient(to bottom,var(--background),transparent)}[data-theme=dark] .trip-details,[data-theme=light] .trip-details{background-color:var(--surface);border:1px solid var(--surface-border)}[data-theme=dark] .planner-tab,[data-theme=dark] .trip-detail-item input,[data-theme=dark] .trip-detail-item select,[data-theme=light] .planner-tab,[data-theme=light] .trip-detail-item input,[data-theme=light] .trip-detail-item select{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--surface-border)}[data-theme=dark] .planner-tab.active,[data-theme=light] .planner-tab.active{background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));color:white}[data-theme=dark] .days-tabs,[data-theme=dark] .suggested-activities,[data-theme=dark] .trip-summary,[data-theme=light] .days-tabs,[data-theme=light] .suggested-activities,[data-theme=light] .trip-summary{background-color:var(--surface);border:1px solid var(--surface-border)}[data-theme=dark] .day-tab,[data-theme=light] .day-tab{background-color:rgba(255,255,255,.05);color:var(--text-primary)}[data-theme=light] .day-tab{background-color:rgba(0,0,0,.05)}[data-theme=dark] .day-tab.active,[data-theme=light] .day-tab.active{background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));color:white}[data-theme=dark] .itinerary-planner,[data-theme=light] .itinerary-planner{background-color:var(--surface);border:1px solid var(--surface-border)}[data-theme=dark] .itinerary-item,[data-theme=light] .itinerary-item{background-color:rgba(255,255,255,.05);border:1px solid var(--surface-border)}[data-theme=light] .itinerary-item{background-color:rgba(0,0,0,.05)}[data-theme=dark] .add-itinerary-item input,[data-theme=dark] .add-itinerary-item select,[data-theme=dark] .add-itinerary-item textarea,[data-theme=light] .add-itinerary-item input,[data-theme=light] .add-itinerary-item select,[data-theme=light] .add-itinerary-item textarea{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--surface-border)}[data-theme=dark] .budget-breakdown,[data-theme=dark] .budget-card,[data-theme=dark] .budget-details,[data-theme=dark] .budget-tips,[data-theme=light] .budget-breakdown,[data-theme=light] .budget-card,[data-theme=light] .budget-details,[data-theme=light] .budget-tips{background-color:var(--surface);border:1px solid var(--surface-border)}[data-theme=dark] .expense-table-header,[data-theme=light] .expense-table-header{background-color:rgba(255,255,255,.05)}[data-theme=light] .expense-table-header{background-color:rgba(0,0,0,.05)}[data-theme=dark] .expense-table-row,[data-theme=light] .expense-table-row{border-bottom:1px solid var(--surface-border)}[data-theme=dark] .cost-input,[data-theme=light] .cost-input{color:var(--text-primary)}[data-theme=dark] .cost-input,[data-theme=dark] .templates-tab-content,[data-theme=dark] .weather-tab-content,[data-theme=light] .cost-input,[data-theme=light] .templates-tab-content,[data-theme=light] .weather-tab-content{background-color:var(--surface);border:1px solid var(--surface-border)}[data-theme=dark] .forecast-card,[data-theme=dark] .template-card,[data-theme=light] .forecast-card,[data-theme=light] .template-card{background-color:rgba(255,255,255,.05);border:1px solid var(--surface-border)}[data-theme=light] .forecast-card,[data-theme=light] .template-card{background-color:rgba(0,0,0,.05)}[data-theme=dark] .tip-card,[data-theme=light] .tip-card{background-color:var(--surface);border:1px solid var(--surface-border)}