:root{color:#18221f;background:#eef6f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#eef6f3f5,#fcfaf4fa),#eef6f3}#root{min-height:100vh}.app-shell{height:100vh;height:100dvh;display:grid;grid-template-rows:minmax(0,1fr) auto}.app-content{min-height:0;overflow-y:auto}.location-warning,.update-warning{max-width:840px;margin:12px auto 0;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;background:#fff6d8;border:1px solid #dbc078;border-radius:8px;color:#4d3b0d}.update-warning{background:#e4f0ee;border-color:#a7c8bf;color:#143d36}.location-warning p,.update-warning p{margin:0;line-height:1.35}.location-warning button,.update-warning button{min-width:48px;min-height:38px;border:0;border-radius:8px;background:#7b4d13;color:#fff;font-weight:800}.update-warning button{background:#1e5c52}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.loading,.unlock{min-height:100vh;display:grid;place-items:center;padding:24px}.unlock-card{width:min(100%,420px);background:#fffdf8;border:1px solid #ded4c2;border-radius:8px;padding:24px;box-shadow:0 20px 60px #3128171f}.brand-mark{width:52px;height:52px;display:grid;place-items:center;background:#f0b35b;color:#22170b;border-radius:8px}.unlock-card h1,.top h1,.utility-page h1{margin:14px 0 6px;font-size:2rem;letter-spacing:0}.unlock-card p,.top p,.info-tile p,.fact p,.accommodation p,.activity p,.contact p{color:#5d665e;line-height:1.45}.unlock-card form{display:grid;gap:10px;margin-top:20px}.unlock-card input{min-height:48px;border:1px solid #cfc5b3;border-radius:8px;padding:0 14px;background:#fff}.unlock-card button,.day-switcher button,.bottom-tabs button{border:0;cursor:pointer}.unlock-card button{min-height:48px;background:#1e5c52;color:#fff;border-radius:8px;font-weight:700}.unlock-card button:disabled{opacity:.55}.error{color:#9d1d20!important}.plan,.utility-page{max-width:840px;margin:0 auto;padding:14px}.top{min-height:178px;display:grid;grid-template-columns:1fr 118px;gap:14px;align-items:stretch}.top img{width:118px;height:160px;object-fit:cover;border-radius:8px;border:1px solid #ded4c2}.eyebrow{display:inline-block;color:#7b4d13;font-size:.78rem;font-weight:800;text-transform:uppercase}.day-switcher,.next-card,.fact,.accommodation,.info-tile,.contact{background:#fffdf8;border:1px solid #ded4c2;border-radius:8px}.day-switcher{min-height:60px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;margin:10px 0;overflow:hidden}.day-switcher button{height:100%;background:#f1e5d0;color:#1f2b28;display:grid;place-items:center}.day-switcher button:disabled{opacity:.35}.day-switcher div{display:grid;place-items:center;gap:2px}.day-switcher span{color:#6a716b;font-size:.82rem}.next-card{padding:16px;display:grid;gap:12px;box-shadow:0 12px 40px #372d1b1a}.next-card h2{margin:4px 0 6px;font-size:1.45rem;letter-spacing:0}.place,.activity-body p{display:flex;align-items:center;gap:5px;margin:0}.next-actions{display:flex;align-items:center;justify-content:space-between}.time-pill{min-width:68px;padding:8px 10px;border-radius:8px;background:#e4f0ee;color:#18483f;font-weight:800;text-align:center}.icon-button,.activity-header a{width:42px;height:42px;display:grid;place-items:center;color:#18483f;background:#e4f0ee;border-radius:8px}.live-grid,.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.info-tile{padding:12px;min-height:116px}.info-tile strong{display:block;margin:8px 0 4px}.info-tile p{margin:4px 0 0;font-size:.88rem}.text-action{margin-top:8px;padding:0;border:0;background:transparent;color:#18483f;font-weight:800;text-align:left;cursor:pointer}.tile-title{display:flex;gap:6px;align-items:center;font-weight:800}.tile-subtitle{margin-top:5px!important;color:#7b4d13!important;font-weight:800}.fact,.accommodation{padding:14px;margin-top:12px}.fact p,.accommodation p{margin:6px 0 0}.accommodation h2,.timeline h2,.utility-page h2{margin:0 0 8px;font-size:1.05rem;letter-spacing:0}.timeline{margin-top:18px}.activity{display:grid;grid-template-columns:58px 1fr;gap:10px;margin-bottom:10px}.activity-time{padding-top:13px;color:#7b4d13;font-weight:800;font-size:.9rem}.activity-body{background:#fffdf8;border-left:4px solid #1e5c52;border-radius:8px;padding:12px;min-width:0}.activity-food .activity-body{border-left-color:#c47a24}.activity-travel .activity-body{border-left-color:#3b6ea8}.activity-break .activity-body{border-left-color:#8a9f52}.activity-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.activity h3{margin:0 0 6px;font-size:1rem;letter-spacing:0}details{margin-top:8px}summary{cursor:pointer;color:#18483f;font-weight:800}ul{padding-left:18px;margin:8px 0 0;color:#4f5851}li{margin:5px 0;line-height:1.35}.links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.links a,.contact a{display:inline-flex;align-items:center;gap:5px;color:#18483f;font-weight:800;text-decoration:none}.utility-page{display:grid;gap:12px}.metric-grid div{min-height:110px;display:grid;place-items:center;background:#1e5c52;color:#fff;border-radius:8px}.metric-grid strong{font-size:2.6rem}.metric-grid span{margin-top:-20px}.contact{padding:14px;display:grid;gap:7px}.contact h2{margin:0}.bottom-tabs{align-self:end;justify-self:center;width:min(calc(100% - 20px),620px);min-height:64px;margin-bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);background:#fffdf8f0;border:1px solid #ded4c2;border-radius:8px;box-shadow:0 14px 42px #3128172e;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bottom-tabs button{display:grid;place-items:center;gap:3px;background:transparent;color:#58615a;font-size:.76rem;font-weight:800}.bottom-tabs button.active{color:#18483f;background:#e4f0ee}.bottom-tabs button:disabled{cursor:default}.bottom-tabs .sync-button.syncing svg{animation:spin .8s linear infinite;transform-origin:center;transform-box:fill-box}.sync-button.synced{color:#18483f;background:#d9efe4}.sync-button.error{color:#8b2a1d;background:#f6e4df}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:720px){.plan,.utility-page{padding:24px 14px 14px}.top{grid-template-columns:1fr 260px}.top img{width:260px}.next-card{grid-template-columns:1fr auto}.live-grid{grid-column:1 / -1}}
