.trip-calendar-page{min-height:100vh;padding:5.2rem 1rem 2.2rem;background:var(--bg-secondary);display:grid;grid-gap:1rem;gap:1rem}.trip-card{max-width:1220px;width:100%;margin:0 auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:1rem;display:grid;grid-gap:.75rem;gap:.75rem}.trip-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.trip-card h1,.trip-card h2,.trip-card h3,.trip-card p{margin:0}.trip-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.45rem;gap:.45rem}.trip-step-chip{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border-color));background:color-mix(in srgb,var(--accent) 8%,var(--bg-primary));color:var(--text-primary);border-radius:12px;padding:.72rem .82rem;display:grid;grid-gap:.3rem;gap:.3rem;text-align:left;cursor:pointer;font-size:.98rem;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 18%,transparent);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background-color .14s ease}.trip-step-chip span{color:var(--text-secondary);font-size:.8rem}.trip-step-chip.active{border-color:color-mix(in srgb,var(--accent) 78%,var(--border-color));background:color-mix(in srgb,var(--accent) 22%,var(--bg-primary));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent),0 8px 18px color-mix(in srgb,var(--accent) 26%,transparent)}.trip-step-chip strong{font-size:1.02rem}.trip-step-chip:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 62%,var(--border-color));box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 20%,transparent)}.trip-step-chip:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 62%,#fff);outline-offset:2px}.trip-calendar-focus{border-width:2px;border-color:color-mix(in srgb,var(--accent) 40%,var(--border-color))}.trip-grid-two{max-width:1220px;width:100%;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-gap:1rem;gap:1rem}.trip-grid{display:grid;grid-gap:.5rem;gap:.5rem}.trip-inline{display:flex;gap:.45rem;flex-wrap:wrap}.trip-grid input,.trip-grid select,.trip-grid textarea,.trip-inline input,.trip-inline select{width:100%;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-primary);color:var(--text-primary);padding:.55rem .7rem;font:inherit}.trip-inline input,.trip-inline select{flex:1 1 170px}.trip-date-field{display:grid;grid-template-columns:1fr auto;grid-gap:.45rem;gap:.45rem;align-items:center}.trip-date-picker-btn{white-space:nowrap}.trip-create-range-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.trip-create-range-summary>div{border:1px solid var(--border-color);border-radius:10px;padding:.55rem .7rem;background:var(--bg-primary);display:grid;grid-gap:.15rem;gap:.15rem}.trip-create-range-picker{border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border-color));border-radius:12px;padding:.7rem;background:color-mix(in srgb,var(--accent) 6%,var(--bg-primary));overflow-x:auto}.trip-day-picker .rdp{--rdp-accent-color:var(--accent);--rdp-accent-background-color:color-mix(in srgb,var(--accent) 16%,var(--bg-primary));--rdp-range_middle-background-color:color-mix(in srgb,var(--accent) 24%,transparent);--rdp-range_middle-color:var(--text-primary);--rdp-day_button-border-radius:8px;--rdp-selected-border:1px solid color-mix(in srgb,var(--accent) 72%,var(--border-color));--rdp-day-width:40px;--rdp-day-height:40px;margin:0}.trip-day-picker .rdp-months{gap:1rem}.trip-day-picker .rdp-month{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:.55rem}.trip-day-picker .rdp-day_button{color:var(--text-primary);border:1px solid transparent}.trip-day-picker .rdp-day_button:hover{background:color-mix(in srgb,var(--accent) 10%,var(--bg-primary))}.trip-day-picker .rdp-outside{opacity:.4}.trip-day-picker .rdp-range_middle{background:color-mix(in srgb,var(--accent) 24%,transparent)}.trip-day-picker .rdp-range_middle .rdp-day_button{background:transparent;color:var(--text-primary)}.trip-day-picker .rdp-range_end .rdp-day_button,.trip-day-picker .rdp-range_start .rdp-day_button,.trip-day-picker .rdp-selected .rdp-day_button{background:var(--accent);color:#fff;font-weight:700;border-color:color-mix(in srgb,var(--accent) 70%,#000 8%);box-shadow:0 4px 10px color-mix(in srgb,var(--accent) 40%,transparent)}.trip-day-picker .rdp-caption_label,.trip-day-picker .rdp-weekday{color:var(--text-secondary)}.trip-connection-time-row{align-items:center}.trip-connection-time-row label{min-width:220px}.trip-journey-type-group{gap:.45rem}.trip-journey-type-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.45rem;gap:.45rem}.trip-journey-type-btn{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:10px;padding:.55rem .65rem;text-align:left;cursor:pointer;display:grid;grid-gap:.2rem;gap:.2rem}.trip-journey-type-btn small{color:var(--text-secondary);font-size:.8rem}.trip-journey-type-btn.active{border-color:color-mix(in srgb,var(--accent) 70%,var(--border-color));background:color-mix(in srgb,var(--accent) 16%,var(--bg-primary));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.trip-journey-auto-segment{border:1px dashed color-mix(in srgb,var(--accent) 36%,var(--border-color));border-radius:10px;padding:.55rem .7rem;background:color-mix(in srgb,var(--accent) 8%,var(--bg-primary))}.trip-grid textarea{min-height:70px}.trip-btn{border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border-color));background:color-mix(in srgb,var(--accent) 18%,var(--bg-primary));color:var(--text-primary);border-radius:10px;padding:.55rem .85rem;cursor:pointer;font-weight:600}.trip-btn:disabled{opacity:.58;cursor:not-allowed}.trip-btn.danger{border-color:color-mix(in srgb,#ef4444 55%,var(--border-color));background:color-mix(in srgb,#ef4444 14%,var(--bg-primary))}.trip-btn-secondary{border-color:var(--border-color);background:var(--bg-primary)}.trip-calendar-grid{display:grid;grid-gap:.45rem;gap:.45rem;grid-template-columns:repeat(7,minmax(0,1fr))}.trip-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.trip-calendar-month{font-size:1.05rem;text-transform:capitalize}.trip-day-calendar-controls{display:grid;grid-gap:.55rem;gap:.55rem}.trip-day-mode-toggle{display:inline-flex;gap:.45rem;flex-wrap:wrap}.trip-day-mode-active{border-color:color-mix(in srgb,var(--accent) 75%,var(--border-color));background:color-mix(in srgb,var(--accent) 22%,var(--bg-primary))}.trip-calendar-legend{display:flex;gap:.45rem;flex-wrap:wrap}.trip-calendar-legend-item{border:1px solid var(--border-color);border-radius:999px;padding:.15rem .5rem;font-size:.75rem;color:var(--text-secondary);background:var(--bg-primary)}.trip-calendar-legend-item.active{border-color:color-mix(in srgb,var(--accent) 60%,var(--border-color));background:color-mix(in srgb,var(--accent) 14%,var(--bg-primary))}.trip-calendar-legend-item.range{border-color:color-mix(in srgb,var(--accent) 40%,var(--border-color))}.trip-calendar-legend-item.travel{border-color:color-mix(in srgb,var(--accent) 42%,var(--border-color));color:color-mix(in srgb,var(--accent) 88%,var(--text-primary))}.trip-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:.45rem;gap:.45rem}.trip-weekdays div{text-align:center;font-size:.82rem;color:var(--text-secondary);font-weight:700}.trip-calendar-cell{border:1px solid var(--border-color);border-radius:10px;background:var(--bg-primary);color:var(--text-primary);text-align:left;padding:.5rem;display:grid;grid-gap:.25rem;gap:.25rem;cursor:pointer;position:relative;overflow:hidden}.trip-calendar-cell small,.trip-calendar-cell span{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-calendar-cell.active{border-color:color-mix(in srgb,var(--accent) 70%,var(--border-color));background:color-mix(in srgb,var(--accent) 18%,var(--bg-primary));outline:2px solid color-mix(in srgb,var(--accent) 72%,#fff);outline-offset:1px;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 26%,transparent)}.trip-calendar-cell.trip-in-range{background:color-mix(in srgb,var(--accent) 8%,var(--bg-primary))}.trip-calendar-cell.has-segment{border-color:color-mix(in srgb,var(--segment-color,var(--accent)) 64%,var(--border-color));border-left-width:1px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--segment-color,var(--accent)) 34%,transparent);background:color-mix(in srgb,var(--segment-color,var(--accent)) 9%,var(--bg-primary))}.trip-calendar-cell.has-segment:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--segment-color,var(--accent));opacity:.95}.trip-calendar-cell.connection-from-any{border-color:color-mix(in srgb,#f59e0b 48%,var(--border-color));background:color-mix(in srgb,#f59e0b 10%,var(--bg-primary))}.trip-calendar-cell.connection-to-any{border-color:color-mix(in srgb,#22c55e 48%,var(--border-color));background:color-mix(in srgb,#22c55e 10%,var(--bg-primary))}.trip-calendar-cell.has-segment.connection-from-any,.trip-calendar-cell.has-segment.connection-to-any{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--segment-color,var(--accent)) 35%,transparent),inset 0 -3px 0 0 color-mix(in srgb,var(--segment-color,var(--accent)) 75%,transparent)}.trip-calendar-cell.travel-day{border-style:solid}.trip-segment-label.segment-colored{display:inline-flex;align-items:center;gap:.3rem;width:-moz-fit-content;width:fit-content;padding:.12rem .36rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--segment-color,var(--accent)) 50%,var(--border-color));background:color-mix(in srgb,var(--segment-color,var(--accent)) 18%,var(--bg-primary));color:var(--text-primary);font-weight:600}.trip-segment-label.segment-colored:before{content:"";width:.5rem;height:.5rem;border-radius:999px;background:var(--segment-color,var(--accent));box-shadow:0 0 0 1px color-mix(in srgb,var(--segment-color,var(--accent)) 72%,#000 6%)}.trip-travel-day-label{display:inline-block;width:-moz-fit-content;width:fit-content;margin-top:.1rem;padding:.12rem .38rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border-color));background:color-mix(in srgb,var(--accent) 12%,var(--bg-primary));color:color-mix(in srgb,var(--accent) 85%,var(--text-primary))!important;font-size:.68rem;font-weight:700;letter-spacing:.01em}.trip-calendar-cell.range{border-color:color-mix(in srgb,var(--accent) 40%,var(--border-color));background:color-mix(in srgb,var(--accent) 10%,var(--bg-primary))}.trip-calendar-cell.connection-from{border-color:color-mix(in srgb,#f59e0b 65%,var(--border-color));background:color-mix(in srgb,#f59e0b 16%,var(--bg-primary))}.trip-calendar-cell.connection-to{border-color:color-mix(in srgb,#22c55e 65%,var(--border-color));background:color-mix(in srgb,#22c55e 16%,var(--bg-primary))}.trip-calendar-cell.trip-start{border-color:color-mix(in srgb,#3b82f6 70%,var(--border-color));box-shadow:inset 0 0 0 2px color-mix(in srgb,#3b82f6 22%,transparent)}.trip-calendar-cell.trip-end{border-color:color-mix(in srgb,#8b5cf6 70%,var(--border-color));box-shadow:inset 0 0 0 2px color-mix(in srgb,#8b5cf6 22%,transparent)}.trip-calendar-cell.adjacent{border-style:dashed}.trip-calendar-cell.empty{opacity:.18;border-style:dashed;pointer-events:none}.trip-calendar-cell.outside{opacity:.48}.trip-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.45rem;gap:.45rem}.trip-trip-selector-list{display:grid;grid-gap:.4rem;gap:.4rem}.trip-trip-selector-item{border:1px solid var(--border-color);border-radius:10px;padding:.5rem;display:flex;justify-content:space-between;align-items:center;gap:.6rem}.trip-trip-selector-item.active{border-color:color-mix(in srgb,var(--accent) 60%,var(--border-color));background:color-mix(in srgb,var(--accent) 10%,var(--bg-primary))}.trip-list li{border:1px solid var(--border-color);border-radius:10px;padding:.55rem;display:flex;justify-content:space-between;gap:.6rem;align-items:center}.trip-list li.trip-connection-highlighted{border-color:color-mix(in srgb,var(--accent) 70%,var(--border-color));background:color-mix(in srgb,var(--accent) 10%,var(--bg-primary))}.trip-list p{color:var(--text-secondary);font-size:.9rem}.trip-day-planner{display:grid;grid-gap:.75rem;gap:.75rem}.trip-day-card{border:1px solid var(--border-color);border-radius:12px;padding:.75rem;background:color-mix(in srgb,var(--accent) 4%,var(--bg-primary));display:grid;grid-gap:.55rem;gap:.55rem}.trip-day-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.trip-muted{color:var(--text-secondary)}.trip-error{color:#ef4444;font-weight:600}.trip-success{color:#22c55e;font-weight:600}.trip-suggestion-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}.trip-suggestion-btn{width:100%;text-align:left;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:8px;padding:.45rem .6rem;cursor:pointer}.trip-map{width:100%;min-height:300px;border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.trip-marker-dot span{width:100%;height:100%;border-radius:999px;display:grid;place-items:center;background:#2563eb;color:#fff;border:2px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.35);font-size:.72rem;font-weight:700}.trip-marker-dot.active span{background:#ef4444}.trip-checklist-item{display:grid!important;grid-template-columns:1fr;align-items:start!important;background:var(--bg-primary);border-color:color-mix(in srgb,var(--accent) 16%,var(--border-color));padding:.75rem!important;grid-gap:.65rem;gap:.65rem;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background-color .14s ease}.trip-checklist-card{gap:.9rem}.trip-checklist-progress{display:grid;grid-gap:.4rem;gap:.4rem;padding:.55rem .65rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border-color));background:color-mix(in srgb,var(--accent) 4%,var(--bg-primary))}.trip-checklist-progress .trip-inline{justify-content:space-between;align-items:center}.trip-checklist-progress-track{width:100%;height:9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--bg-primary));border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border-color));overflow:hidden}.trip-checklist-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 80%,#22c55e) 0,color-mix(in srgb,#22c55e 74%,var(--accent)) 100%);transition:width .28s ease}.trip-checklist-toolbar{justify-content:flex-end}.trip-checklist-list{gap:.65rem}.trip-checklist-content{gap:.55rem}.trip-checklist-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 34%,var(--border-color));box-shadow:0 6px 14px color-mix(in srgb,var(--accent) 12%,transparent)}.trip-checklist-title-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:.55rem;gap:.55rem;align-items:center}.trip-checklist-title-row input[type=checkbox]{width:1.05rem;height:1.05rem;min-width:1.05rem;margin:0;padding:0!important;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;flex:0 0 auto;accent-color:var(--accent)}.trip-checklist-title{font-weight:600;color:var(--text-primary)}.trip-checklist-input,.trip-checklist-notes{border-color:color-mix(in srgb,var(--accent) 20%,var(--border-color))!important;background:var(--bg-primary)!important;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.trip-checklist-input:focus,.trip-checklist-notes:focus{border-color:color-mix(in srgb,var(--accent) 65%,var(--border-color))!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.trip-checklist-notes{min-height:78px!important}.trip-checklist-item.done{background:color-mix(in srgb,#22c55e 6%,var(--bg-primary));border-color:color-mix(in srgb,#22c55e 22%,var(--border-color))}.trip-checklist-item.done .trip-checklist-input,.trip-checklist-item.done .trip-checklist-title{text-decoration:line-through;color:var(--text-secondary)}.trip-checklist-add{align-items:stretch;gap:.55rem;padding-top:.25rem}.trip-checklist-add input{min-height:42px}.trip-checklist-item .trip-btn.danger{justify-self:end;align-self:center;min-height:36px;padding:.45rem .7rem}@media (max-width:900px){.trip-checklist-item{gap:.7rem}}.trip-page{min-height:100vh;padding:5.2rem 1rem 2.2rem;background:var(--bg-secondary)}.trip-container{max-width:1220px;margin:0 auto;display:grid;grid-gap:1rem;gap:1rem}.trip-header{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:1rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}.trip-header-actions{display:flex;gap:.5rem}.trip-grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:.5rem;gap:.5rem}.trip-grid-form input{border:1px solid var(--border-color);border-radius:10px;background:var(--bg-primary);color:var(--text-primary);padding:.55rem .7rem;font:inherit}.trip-items{list-style:none;margin:0;padding:0;display:grid;grid-gap:.6rem;gap:.6rem}.trip-items li{border:1px solid var(--border-color);border-radius:10px;padding:.65rem;display:flex;justify-content:space-between;align-items:center;gap:.8rem;background:var(--bg-primary)}.trip-items-meta{display:grid;grid-gap:.2rem;gap:.2rem;color:var(--text-secondary)}@media (max-width:900px){.trip-grid-two{grid-template-columns:1fr}.trip-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.trip-topbar{flex-direction:column}.trip-calendar-grid,.trip-weekdays{gap:.28rem}.trip-header{flex-direction:column;align-items:flex-start}.trip-journey-type-picker{grid-template-columns:1fr}.trip-day-actions .trip-btn{width:100%}.trip-items li{flex-direction:column;align-items:flex-start}}