:root{color-scheme:dark;color:#f8fafc;background:#0f172a;font-family:Inter,ui-sans-serif,system-ui,sans-serif;--primary:#3b82f6;--primary-hover:#2563eb;--card-bg:rgba(15,23,42,0.94);--border:rgba(148,163,184,0.16);--text-muted:#cbd5e1;--success:#10b981}.trip-nav{position:sticky;top:0;z-index:50;background:var(--card-bg);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.trip-nav-inner{display:flex;gap:.25rem;padding:.5rem 1rem;max-width:1400px;margin:0 auto;overflow-x:auto;white-space:nowrap}.trip-nav-link{padding:.45rem .95rem;border-radius:6px;text-decoration:none;font-size:.92rem;color:inherit;opacity:.7;transition:all .15s}.trip-nav-link:hover{opacity:1;background:rgba(148,163,184,.08)}.trip-nav-link.active{opacity:1;background:var(--primary);color:white}.view-page{max-width:900px;margin:0 auto;padding:1.5rem 1rem 4rem}.view-page h1{margin:0 0 1.5rem}.timeline-day{position:relative;padding-left:1.5rem;border-left:2px solid var(--border);margin-bottom:1.5rem}.timeline-dot{position:absolute;left:-9px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--primary);border:3px solid var(--card-bg)}.timeline-header{font-weight:600;margin-bottom:.4rem}.timeline-header .muted{opacity:.65;font-weight:400;margin-left:.5rem}.timeline-item{display:flex;gap:.5rem;padding:.4rem 0;font-size:.94rem}.timeline-item .icon{width:1.4em}.timeline-item .time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.75;min-width:3.2em}.timeline-item .empty{opacity:.45;font-style:italic}.booking-card{border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;margin-bottom:.6rem;background:rgba(148,163,184,.04)}.booking-card .booking-head{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:baseline;margin-bottom:.25rem}.booking-card .booking-head strong{font-size:1rem}.booking-card .booking-head .date{opacity:.75;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.booking-card .booking-head .badge{padding:.1rem .5rem;border-radius:999px;font-size:.78rem;background:rgba(59,130,246,.15);color:var(--primary)}.booking-card .booking-meta{font-size:.88rem;opacity:.8;line-height:1.5}.booking-card .booking-meta span{margin-right:1rem}[data-theme=light]{color-scheme:light;color:#0f172a;background:#f8fafc;--primary:#3b82f6;--primary-hover:#2563eb;--card-bg:rgba(248,250,252,0.94);--border:rgba(15,23,42,0.16);--text-muted:#64748b;--success:#10b981}[data-theme=light] input,[data-theme=light] select{background:#ffffff;border-color:rgba(15,23,42,.2);color:#0f172a}[data-theme=light] .day-card{background:rgba(248,250,252,.9);border-color:rgba(15,23,42,.1)}[data-theme=light] .day-card:hover{background:rgba(248,250,252,1)}[data-theme=light] .day-card.selected{border-color:var(--primary);background:rgba(59,130,246,.05)}[data-theme=light] .card{background:rgba(255,255,255,.95);border-color:rgba(15,23,42,.1)}[data-theme=light] .chronological-item{background:rgba(248,250,252,.7);border-left-color:var(--primary)}[data-theme=light] .item-details-expanded{background:rgba(248,250,252,.5);border-color:rgba(15,23,42,.1)}*{box-sizing:border-box}body,html{padding:0;margin:0;min-height:100%}body{background:radial-gradient(circle at top,#1e293b,#0f172a 45%)}button,input{font:inherit}.page-shell{width:min(1400px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 4rem}.hero{margin-bottom:2rem;padding:2rem;border:1px solid var(--border);border-radius:1.25rem;background:rgba(15,23,42,.88);text-align:center;position:relative}.theme-toggle{position:absolute;top:1rem;right:1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:.5rem;padding:.5rem;cursor:pointer;color:var(--primary);transition:all .2s ease}.theme-toggle:hover{background:var(--primary);color:white}.hero h1{margin:0 0 .25rem;font-size:clamp(1.5rem,2vw,2rem)}.hero p{margin:0;color:var(--text-muted);font-size:.9rem}.main-grid{display:grid;grid-template-columns:250px minmax(0,1fr) minmax(0,1fr);gap:.5rem;margin-bottom:2rem}.days-list{gap:.5rem}.days-container,.days-list{display:flex;flex-direction:column}.days-container{gap:.25rem}.day-card{background:rgba(15,23,42,.7);border:1px solid var(--border);border-radius:.5rem;padding:.5rem;cursor:pointer;transition:all .2s ease;position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;font-size:.875rem;min-height:3.25rem}.day-card:hover{background:rgba(15,23,42,.9);transform:translateY(-1px);box-shadow:0 5px 10px rgba(15,23,42,.2)}.day-card.selected{border-color:var(--primary);background:rgba(59,130,246,.1)}.day-header{display:flex;align-items:center;gap:.25rem;flex:1 1;min-width:0}.day-date{font-weight:600;color:var(--primary);font-size:.9rem;min-width:80px;flex-shrink:0}.day-locations{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;font-size:.85rem;color:var(--text-muted);flex:1 1;min-width:0}.day-locations span{overflow:visible;white-space:normal}.arrow{color:var(--primary);font-size:.8rem}.day-details{font-size:.9rem}.accommodation{margin-bottom:.5rem;color:var(--success)}.activities ul{margin:.5rem 0 0;padding-left:1rem}.activities li{margin-bottom:.25rem;color:var(--text-muted)}.edit-day label{display:block;margin-bottom:1rem}.edit-day input{width:100%;padding:.5rem;border-radius:.5rem;border:1px solid var(--border);background:#0f172a;color:#f8fafc;margin-top:.25rem}.activities-section{margin-top:1.5rem}.activity-list{margin-top:.5rem;padding-left:0;list-style:none}.activity-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;margin-bottom:.25rem;background:rgba(15,23,42,.5);border-radius:.25rem;font-size:.9rem}.day-details-full{display:flex;flex-direction:column;gap:.5rem}.basic-info{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.basic-info label{display:flex;flex-direction:column;font-size:.9rem;font-weight:500}.basic-info input{padding:.5rem;border-radius:.5rem;border:1px solid var(--border);background:#0f172a;color:#f8fafc;margin-top:.25rem}.details-section{border:1px solid var(--border);border-radius:.75rem;overflow:hidden}.section-header{display:flex;align-items:center;gap:.5rem;padding:1rem;background:rgba(15,23,42,.5);cursor:pointer;transition:background .2s ease}.section-header:hover{background:rgba(15,23,42,.7)}.section-header h4{margin:0;font-size:1rem;font-weight:600}.section-content{padding:1rem;background:rgba(15,23,42,.3)}.add-item{display:flex;gap:.5rem;margin-bottom:1rem}.add-item input{flex:1 1;padding:.5rem;border-radius:.5rem;border:1px solid var(--border);background:#0f172a;color:#f8fafc}.item-list{list-style:none;padding:0;margin:0}.item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:.5rem;background:rgba(15,23,42,.5);border-radius:.5rem;font-size:.9rem}.item-details{display:flex;flex-direction:column;gap:.25rem}.item-details span{display:block}.item-details strong{color:var(--primary);margin-right:.5rem}.chronological-itinerary{margin-top:1.5rem}.itinerary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.itinerary-header h4{margin:0;font-size:1.1rem;font-weight:600}.add-item-btn{display:flex;align-items:center;gap:.5rem;background:var(--primary);color:white;border:none;border-radius:.5rem;padding:.5rem 1rem;cursor:pointer;font-size:.9rem;transition:all .2s ease}.add-item-btn:hover{background:var(--primary-hover)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--card-bg);border:1px solid var(--border);border-radius:.75rem;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:1.25rem}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s ease}.close-btn:hover{background:rgba(239,68,68,.1);color:#ef4444}.modal-body{padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-muted)}.form-group input,.form-group select{width:100%;padding:.75rem;border-radius:.5rem;border:1px solid var(--border);background:#0f172a;color:#f8fafc;font-size:1rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid var(--border)}.cancel-btn{background:rgba(107,114,128,.1);color:#6b7280;border:1px solid var(--border);border-radius:.5rem;padding:.5rem 1rem;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:rgba(107,114,128,.2)}.modal-footer .add-btn{background:var(--primary);color:white;border:none;border-radius:.5rem;padding:.5rem 1rem;cursor:pointer;transition:all .2s ease}.modal-footer .add-btn:hover{background:var(--primary-hover)}.chronological-list{list-style:none;padding:0;margin:0}.chronological-item{display:flex;align-items:center;gap:1rem;padding:.75rem;margin-bottom:.5rem;background:rgba(15,23,42,.5);border-radius:.5rem;border-left:3px solid var(--primary)}.item-time{font-weight:600;color:var(--primary);font-size:.9rem;min-width:60px}.item-content{flex:1 1}.item-type{font-weight:600;color:var(--success);margin-bottom:.25rem;font-size:.9rem}.item-content .item-details{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.85rem}.item-content .item-details span{display:flex;align-items:center}.item-content .item-details strong{color:var(--primary);margin-right:.25rem;font-size:.8rem}.details-btn{background:rgba(59,130,246,.1);border:1px solid var(--primary);color:var(--primary);padding:.25rem .5rem;border-radius:.25rem;font-size:.8rem;cursor:pointer;margin-top:.5rem;transition:all .2s ease}.details-btn:hover{background:rgba(59,130,246,.2)}.item-details-expanded{margin-top:.75rem;padding:.75rem;background:rgba(15,23,42,.3);border-radius:.25rem;border:1px solid var(--border)}.detail-field{margin-bottom:.5rem;font-size:.85rem}.detail-field:last-child{margin-bottom:0}.detail-field strong{color:var(--text-muted);display:block;margin-bottom:.25rem}.map-section{position:sticky;top:2rem;height:fit-content}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:1rem;padding:1.5rem;box-shadow:0 20px 40px rgba(15,23,42,.12)}.card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.icon{color:var(--primary);width:24px;height:24px}.card h2{margin:0;font-size:1.25rem}.input-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.input-group input{width:100%;padding:.75rem .9rem;border-radius:.75rem;border:1px solid var(--border);background:#0f172a;color:#f8fafc}.input-group input:focus{outline:none;border-color:var(--primary)}.add-btn{align-self:flex-start;cursor:pointer;border:none;border-radius:.75rem;padding:.75rem;background:var(--primary);color:#0f172a;font-weight:700;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.add-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.list{padding-left:0;margin:0;list-style:none}.list-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.75rem;margin-bottom:.5rem;border-radius:.5rem;background:rgba(15,23,42,.5);border:1px solid var(--border)}.list-item div{flex:1 1}.list-item p{margin:.25rem 0 0;color:var(--text-muted);font-size:.9rem}.remove-btn{cursor:pointer;border:none;background:transparent;color:#ef4444;padding:.25rem;border-radius:.25rem;transition:background .15s ease}.remove-btn:hover{background:rgba(239,68,68,.1)}.empty{color:var(--text-muted);text-align:center}.empty,.map-card{padding:1rem}.map-container{border-radius:.5rem;overflow:hidden;border:1px solid var(--border)}.summary{margin-top:2rem}.summary pre{margin-top:1rem;padding:1rem;border-radius:.9rem;background:rgba(15,23,42,.75);overflow-x:auto;color:#e2e8f0;font-size:.85rem}@media (max-width:1024px){.main-grid{grid-template-columns:1fr}.map-section{position:static}}@media (max-width:768px){.content-grid{grid-template-columns:1fr}.input-group,.list-item{flex-direction:column}.list-item{gap:.5rem}}