:root{color:#18342e;font-synthesis:none;background:#f3f0e8;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 85% 8%,#dce8d8 0,#0000 25%),#f3f0e8;min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#f3f0e8e0;border-bottom:1px solid #18342e1f;justify-content:space-between;align-items:center;height:76px;padding:0 5vw;display:flex;position:sticky;top:0}.brand{color:#18342e;letter-spacing:-.5px;background:0 0;border:0;align-items:center;gap:10px;font-size:20px;font-weight:700;display:flex}.brand-mark{color:#f7f3e8;background:#18342e;border-radius:50% 50% 45% 55%;place-items:center;width:34px;height:34px;font-family:Georgia,Times New Roman,serif;display:grid}nav{gap:6px;display:flex}nav button{color:#66746f;background:0 0;border:0;border-radius:100px;padding:10px 15px;font-weight:600}nav button.active{color:#18342e;background:#fff;box-shadow:0 2px 12px #18342e14}.badge{color:#18342e;background:#e5a54b;border-radius:20px;place-items:center;min-width:21px;height:21px;margin-left:4px;padding:0 6px;font-size:12px;display:inline-grid}main{width:min(900px,90vw);margin:0 auto;padding:72px 0 100px}.hero{text-align:center;max-width:760px;margin:0 auto 42px}.eyebrow{color:#bc762b;text-transform:uppercase;letter-spacing:2px;margin-bottom:14px;font-size:12px;font-weight:700;display:inline-block}h1,h2{letter-spacing:-2px;font-family:Georgia,Times New Roman,serif;font-weight:600}.hero h1,.saved-header h1{margin:0 0 24px;font-size:clamp(46px,7vw,74px);line-height:.98}.hero h1 em{color:#c97931;font-weight:600}.hero p,.saved-header p{color:#697873;max-width:620px;margin:0 auto;font-size:18px;line-height:1.65}.planner-card{background:#ffffffe0;border:1px solid #18342e1a;border-radius:24px;padding:34px;box-shadow:0 24px 80px #25393117}.planner-form{gap:24px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.field{flex-direction:column;gap:9px;display:flex}.field label,legend{color:#29473f;font-size:14px;font-weight:700}input,textarea{color:#18342e;background:#faf9f5;border:1px solid #d9ddd7;border-radius:11px;outline:0;width:100%;padding:14px 15px;transition:border .2s,box-shadow .2s}input:focus,textarea:focus{border-color:#477c6c;box-shadow:0 0 0 3px #477c6c1f}textarea{resize:vertical}.input-suffix,.input-prefix{position:relative}.input-suffix span,.input-prefix span{color:#7f8985;position:absolute;top:50%;transform:translateY(-50%)}.input-suffix span{right:15px}.input-prefix span{font-weight:700;left:15px}.input-prefix input{padding-left:34px}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:12px}.checks{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.checks label{color:#53635e;cursor:pointer;background:#f7f6f1;border:1px solid #e1e3dd;border-radius:10px;align-items:center;gap:10px;padding:13px 14px;font-size:14px;display:flex}.checks input{accent-color:#2f6958;width:18px;height:18px}.label-row{justify-content:space-between;display:flex}.label-row span{color:#929b97;font-size:12px}.primary-button,.save-button,.empty-state button{border:0;border-radius:12px;padding:15px 22px;font-weight:700}.primary-button{color:#fff;background:#1e594a;justify-content:center;align-items:center;gap:10px;font-size:16px;display:flex;box-shadow:0 8px 20px #1e594a33}.primary-button:hover,.save-button:hover{background:#16483c}.primary-button:disabled,.save-button:disabled{opacity:.65;cursor:wait}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:17px;height:17px;animation:.7s linear infinite spin}.spinner.dark{border-color:#18342e #18342e33 #18342e33}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{color:#8b3827;background:#fff1ed;border:1px solid #e9b5a7;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:22px 0;padding:14px 18px;display:flex}.error-banner button{color:#8b3827;background:0 0;border:0;font-weight:700;text-decoration:underline}.itinerary{margin-top:56px}.itinerary-heading{justify-content:space-between;align-items:end;gap:36px;margin-bottom:24px;display:flex}.itinerary-heading h2{margin:0 0 10px;font-size:42px}.itinerary-heading p{color:#687873;max-width:650px;margin:0;line-height:1.65}.cost{text-align:right;flex:none}.cost span{color:#7c8884;font-size:12px;display:block}.cost strong{font-family:Georgia,Times New Roman,serif;font-size:29px}.save-button{color:#fff;background:#1e594a;margin:0 0 24px auto;display:block}.timeline{gap:14px;display:grid}.day-card{background:#fff;border:1px solid #18342e17;border-radius:18px;grid-template-columns:88px 1fr;display:grid;overflow:hidden}.day-number{color:#1e594a;background:#e0e9df;flex-direction:column;justify-content:center;align-items:center;display:flex}.day-number span{text-transform:uppercase;letter-spacing:1.5px;font-size:10px;font-weight:700}.day-number strong{font-family:Georgia,Times New Roman,serif;font-size:36px}.day-content{padding:25px 28px}.day-content h3{margin:0 0 16px;font-family:Georgia,Times New Roman,serif;font-size:26px}.work-setup{color:#315f53;background:#edf3ec;border-radius:10px;gap:10px;padding:13px;display:flex}.work-setup strong{text-transform:uppercase;letter-spacing:.8px;font-size:12px}.work-setup p{color:#526f67;margin:3px 0 0;font-size:14px;line-height:1.45}.day-columns{grid-template-columns:1fr 1fr;gap:30px;margin-top:18px;display:grid}.day-columns h4{margin:0 0 8px;font-size:13px}ul{color:#62716c;margin:0;padding-left:18px;font-size:14px;line-height:1.65}.saved-page{width:min(1180px,92vw)}.saved-header{text-align:center;margin-bottom:48px}.saved-header h1{margin-bottom:12px}.saved-layout{grid-template-columns:340px 1fr;align-items:start;gap:28px;display:grid}.trip-list{gap:10px;display:grid;position:sticky;top:98px}.trip-row{text-align:left;color:#18342e;background:#ffffffad;border:1px solid #18342e1a;border-radius:14px;gap:5px;padding:18px;display:grid}.trip-row:hover,.trip-row.selected{background:#fff;border-color:#6d9488;box-shadow:0 8px 24px #18342e12}.trip-row span{color:#657570;font-size:13px}.trip-row small{color:#9aa39f}.saved-detail .itinerary{margin-top:0}.saved-detail .itinerary-heading{align-items:start}.saved-detail .itinerary-heading h2{font-size:34px}.empty-state{text-align:center;color:#657570;border:1px dashed #b8c2bd;border-radius:16px;padding:45px 24px}.empty-state>span{color:#c97931;font-size:30px}.empty-state h3{color:#18342e;margin:12px 0 6px}.empty-state p{font-size:14px;line-height:1.5}.empty-state button{color:#fff;background:#1e594a;margin-top:10px}.empty-state.compact{margin-top:60px}.loading-state{color:#62716c;justify-content:center;align-items:center;gap:10px;padding:80px;display:flex}footer{color:#7a8782;border-top:1px solid #18342e1a;justify-content:space-between;padding:28px 5vw;font-size:12px;display:flex}@media (width<=760px){header{padding:0 4vw}.brand>span:last-child{display:none}nav button{padding:9px 10px;font-size:13px}main{width:92vw;padding-top:48px}.hero h1,.saved-header h1{font-size:46px}.hero p{font-size:16px}.planner-card{padding:22px 18px}.form-grid,.checks,.day-columns,.saved-layout{grid-template-columns:1fr}.itinerary-heading{flex-direction:column;align-items:start}.cost{text-align:left}.day-card{grid-template-columns:62px 1fr}.day-content{padding:20px 17px}.trip-list{position:static}footer{flex-direction:column;gap:8px}}
