:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;background:#f7f7f3;color:#19364b;font-synthesis:none;--ink:#19364b;--muted:#637684;--navy:#173447;--teal:#168778;--cream:#f7f7f3;--sand:#f0e9db;--line:#e4e9e8;--white:#fff;--amber:#df995b;--shadow:0 10px 35px rgba(24,45,59,.07)}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.52}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #e2ab5c;outline-offset:3px}p{margin:.35rem 0 0;line-height:1.55}.app-shell{min-height:100vh;padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}.shell{max-width:1060px;margin:0 auto}.topbar{background:#152f43;color:#fff;padding:22px max(18px,calc((100% - 1060px)/2 + 26px)) 35px;position:relative;overflow:hidden}.topbar:after{content:'';position:absolute;width:330px;height:330px;border-radius:50%;right:-140px;top:-190px;background:rgba(255,255,255,.045)}.topbar-inner{position:relative;z-index:1}.brand{display:flex;align-items:center;justify-content:space-between;gap:12px}.brandmark{display:flex;align-items:center;gap:10px;font-size:1.14rem;font-weight:800;letter-spacing:-.035em}.brandicon{height:35px;width:35px;display:grid;place-items:center;border-radius:13px;background:#f8e3ba;color:#19364b;font-size:22px}.toptag{font-size:.7rem;padding:7px 10px;background:#2e5061;border-radius:20px;letter-spacing:.015em;color:#dfeaed}.hero{margin-top:27px}.eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.145em;color:#b9d3d4;font-weight:800}.hero h1{font-size:clamp(1.65rem,3.4vw,2.65rem);margin:5px 0 7px;letter-spacing:-.05em;line-height:1.15}.hero p{font-size:.91rem;color:#d0dee2;max-width:650px}.content{padding:0 18px 30px;margin-top:-17px;position:relative;z-index:2}.main-grid{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}.main-col{min-width:0}.panel{background:#fff;border:1px solid var(--line);border-radius:21px;box-shadow:var(--shadow);padding:19px;margin-bottom:16px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title h2{font-size:1.1rem;margin:0;letter-spacing:-.025em}.sub{color:var(--muted);font-size:.82rem}.mini{font-size:.73rem;color:var(--muted)}.pill{font-size:.72rem;font-weight:750;padding:6px 9px;border-radius:99px;background:#edf4f1;color:#2b7669;white-space:nowrap}.pill.warn{background:#fff2df;color:#916522}.pill.gray{background:#eff2f3;color:#5b6d77}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 14px;border-radius:12px;background:var(--teal);color:#fff;font-size:.85rem;font-weight:730;min-height:42px;line-height:1.25;text-align:center}.btn:hover{filter:brightness(.96)}.btn.secondary{background:#e9f3f0;color:#16695e}.btn.ghost{background:#f0f3f4;color:var(--ink)}.btn.outline{background:#fff;border:1px solid #d9e2df;color:var(--ink)}.btn.rose{background:#fdf0ef;color:#ae564b}.btn.sm{padding:8px 10px;min-height:34px;font-size:.76rem;border-radius:10px}.btn:disabled{filter:grayscale(.5)}.btn.wide{width:100%}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.notice{border-radius:15px;background:#fff5e7;border:1px solid #f5e1c0;padding:14px;display:flex;gap:11px;align-items:start;margin-bottom:16px}.notice strong{font-size:.87rem}.notice p{font-size:.79rem;color:#826c4b}.notice .btn{margin-left:auto;flex-shrink:0}.notice-ico{font-size:1.3rem}.tripbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.tripbar .name{font-weight:800;letter-spacing:-.02em}.tripbar .date{font-size:.75rem;color:var(--muted)}.section-tag{color:#758891;font-size:.68rem;letter-spacing:.105em;text-transform:uppercase;font-weight:850;margin-bottom:8px}.place-line{display:grid;grid-template-columns:52px 1fr;gap:11px;align-items:start;padding:13px 0;border-top:1px solid var(--line)}.place-line:first-of-type{border-top:0}.hour{color:#799099;font-size:.78rem;font-weight:750;padding-top:6px;font-variant-numeric:tabular-nums}.place-visual{height:74px;width:93px;border-radius:12px;object-fit:cover;background:#e8edef;flex-shrink:0}.place-core{display:flex;align-items:start;gap:10px;min-width:0}.place-info{flex:1;min-width:0}.place-name{font-size:.94rem;font-weight:800;line-height:1.3}.place-info p{color:var(--muted);font-size:.76rem}.place-meta{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}.place-actions{display:flex;gap:6px;flex-wrap:wrap}.place-actions .btn{font-size:.73rem;min-height:33px;padding:7px 9px}.small-label{display:inline-flex;gap:4px;align-items:center;border-radius:30px;background:#f3f5f4;color:#5f7476;padding:4px 8px;font-size:.67rem;font-weight:720}.small-label.must{background:#fcebea;color:#a45152}.small-label.skip{background:#f4f4f4;color:#888}.small-label.rain{background:#e8f0fb;color:#366697}.status-skip{opacity:.55}.status-skip .place-name{text-decoration:line-through}.status-done .place-name{color:#367d6e}.next-card{border-radius:17px;background:linear-gradient(120deg,#eff7f3,#dfeee9);padding:17px;margin:12px 0 16px}.next-card .section-tag{color:#56887b}.next-card strong{display:block;margin:5px 0 10px;font-size:1.03rem}.next-card p{font-size:.77rem;color:#546f6a}.footnote{font-size:.72rem;color:#74858b;margin-top:10px}.banner-warning{padding:13px;border-radius:13px;border:1px solid #f4d8ac;background:#fff8ef;font-size:.79rem;color:#805d34}.weather-choices{display:flex;gap:7px;margin:12px 0}.toggle{padding:8px 11px;border-radius:11px;border:1px solid #dbe4e2;background:#fff;font-size:.78rem;font-weight:750}.toggle.selected{background:#173d50;color:#fff;border-color:#173d50}.side-panel .panel{box-shadow:none}.side-stat{display:flex;align-items:center;gap:9px;padding:9px 0;border-top:1px solid #edf0ef}.side-stat:first-child{border-top:0}.iconbubble{display:grid;place-items:center;border-radius:12px;background:#edf5f2;width:35px;height:35px;flex-shrink:0}.side-stat strong{font-size:.82rem}.side-stat p{font-size:.72rem;color:var(--muted)}.tabs{display:flex;align-items:center;justify-content:space-around;position:fixed;z-index:40;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #dbe3e2;box-shadow:0 -8px 22px rgba(14,46,62,.06);padding:8px max(8px,calc((100% - 720px)/2)) calc(9px + env(safe-area-inset-bottom,0px))}.tab{background:transparent;color:#6f8088;min-width:66px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 5px;border-radius:12px;font-size:.68rem;font-weight:750;line-height:1}.tab .tabicon{font-size:1.34rem}.tab.active{color:#106f63;background:#e8f3ee}.vote-card{overflow:hidden;border-radius:18px;border:1px solid #e6edeb;background:#fff}.vote-image{width:100%;height:235px;object-fit:cover;background:#e9f2ef}.vote-content{padding:16px}.vote-content h2{font-size:1.24rem;margin:3px 0 6px}.vote-content p{font-size:.87rem;color:var(--muted)}.ratings{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0 9px}.rating{background:#f3f6f5;border:1px solid #dce6e2;color:var(--ink);height:52px;font-size:1.1rem;font-weight:850;border-radius:13px}.rating.selected{background:var(--teal);border-color:var(--teal);color:#fff}.scale{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);gap:10px}.result{padding:12px 14px;background:#f4f7f5;border-radius:12px;font-size:.85rem;margin-top:12px}.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff;min-width:0}.tile img{height:140px;width:100%;object-fit:cover;background:#e2eded}.tile-body{padding:12px}.tile h3{font-size:.91rem;margin:0 0 5px;line-height:1.25}.tile p{font-size:.75rem;color:var(--muted);line-height:1.45;margin:0 0 8px}.tile-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.tile-foot .btn{font-size:.73rem}.event{display:grid;grid-template-columns:40px 1fr;gap:11px;padding:14px 0;border-top:1px solid var(--line)}.event:first-child{border-top:0}.event-icon{background:#eef3f1;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;font-size:1.2rem}.event strong{font-size:.9rem}.event p{font-size:.79rem;color:var(--muted)}.story-image{width:100%;max-height:290px;object-fit:cover;border-radius:15px;margin-bottom:12px}.story-text{font-size:1rem;line-height:1.76;white-space:pre-wrap;color:#324a59}.story-tip{padding:13px;background:#f0f5f2;border-radius:12px;margin-top:12px}.story-tip p{font-size:.84rem}.searchbox{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #dbe5e2;border-radius:12px;background:#f8faf9;margin-bottom:15px}.searchbox input{width:100%;border:0;background:transparent;outline:none;color:var(--ink)}.empty{padding:28px 10px;text-align:center;color:var(--muted)}.empty .big{font-size:2.2rem;margin-bottom:8px}.empty h3{margin:0 0 6px;color:var(--ink)}.block-label{font-size:.8rem;font-weight:800;margin-bottom:6px;display:block}.input{border:1px solid #d9e3e1;background:#fff;border-radius:12px;padding:12px;width:100%;color:var(--ink);margin-bottom:13px}.login-screen{min-height:100vh;background:#152f43;display:grid;place-items:center;padding:18px}.login-card{width:min(440px,100%);border-radius:24px;background:#fff;padding:28px;box-shadow:0 30px 90px #061b2480}.login-card h1{font-size:1.85rem;letter-spacing:-.05em}.login-card .logo{color:var(--teal);font-weight:800}.login-card p{color:var(--muted);font-size:.83rem;margin-bottom:20px}.login-err{color:#bd4444;font-size:.84rem;margin:10px 0}.modal-back{position:fixed;inset:0;z-index:100;background:rgba(9,31,42,.64);display:flex;align-items:flex-end;justify-content:center;padding:12px}.modal{background:#fff;border-radius:21px 21px 16px 16px;width:min(530px,100%);max-height:90vh;overflow:auto;padding:22px;box-shadow:0 18px 70px #0b1a2190}.modal h2{margin:0 0 8px;font-size:1.17rem}.modal p{font-size:.87rem;color:var(--muted)}.modal-buttons{display:flex;gap:8px;margin-top:17px}.modal-buttons .btn{flex:1}.top-info{display:flex;align-items:center;gap:8px;color:#557166;font-size:.76rem;margin-top:9px}.my-location{font-size:.8rem;color:var(--muted);margin-top:8px}.stack{display:grid;gap:9px}.reco{padding:13px;border:1px solid #e1e9e5;border-radius:13px}.reco strong{font-size:.87rem}.reco p{font-size:.79rem;color:var(--muted)}.toast{position:fixed;bottom:89px;left:50%;transform:translateX(-50%);z-index:80;background:#18384a;color:#fff;padding:11px 17px;border-radius:12px;max-width:90vw;box-shadow:var(--shadow);font-size:.82rem}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.4rem;font-weight:850;color:var(--ink)}.loading span{color:var(--teal)}.lang-label{font-size:.74rem;color:#9cb7bd}.offline-tag{background:#fff0d9;color:#916522;padding:4px 8px;border-radius:20px;font-size:.68rem}.instructions{font-size:.83rem;line-height:1.65;color:#506574}.divider{border-top:1px solid var(--line);margin:12px 0}.tagged{display:flex;flex-wrap:wrap;gap:6px}.hidden{display:none!important}
@media(max-width:780px){.main-grid{grid-template-columns:1fr}.side-panel{display:none}.content{margin-top:-12px}.topbar{padding:20px 18px 30px}.hero{margin-top:20px}.hero h1{font-size:1.9rem}}
@media(max-width:470px){.panel{padding:15px;border-radius:17px}.content{padding:0 11px 20px}.place-line{grid-template-columns:40px 1fr;gap:7px}.hour{font-size:.7rem}.place-visual{width:76px;height:72px}.cards-grid{gap:9px}.tile img{height:115px}.tile-body{padding:10px}.rating{height:49px}.notice{flex-wrap:wrap}.notice .btn{margin-left:0}.btn-row .btn{flex:1}.toptag{font-size:.64rem}}

/* Visit later: still wanted, visually different from skipped or visited */
.status-deferred{border-left:3px solid #c7a067;padding-left:9px;background:#fffbf4;border-radius:10px}.small-label.postponed{background:#fff1d8;color:#88612c}.status-skipped{opacity:.65}.status-skipped .place-name{text-decoration:line-through}.status-visited .place-name{color:#367d6e}

/* Select any saved destination without changing itinerary */
.dest-list{display:grid;gap:7px}.destination-option{width:100%;border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px;display:flex;align-items:center;gap:10px;text-align:left;color:var(--ink)}.destination-option:hover{background:#f6faf8}.destination-option.selected{border:2px solid var(--teal);background:#f1f8f5}.dest-icon{width:32px;font-size:1.2rem;text-align:center}.dest-body{flex:1;min-width:0;display:grid;gap:3px}.dest-body strong{font-size:.86rem}.dest-body small{color:var(--muted);font-size:.72rem;line-height:1.4}

/* v0.4: widok wybranego celu i czytelny powrot do planu */
.route-return{display:grid;grid-template-columns:1fr;gap:9px;margin-top:20px}.route-return .btn{min-height:47px}.destination-option:focus-visible{outline:3px solid #e2ab5c;outline-offset:2px}

/* v0.4: widok wybranego celu i czytelny powrot do planu */
.route-return{display:grid;grid-template-columns:1fr;gap:9px;margin-top:20px}.route-return .btn{min-height:47px}.destination-option:focus-visible{outline:3px solid #e2ab5c;outline-offset:2px}
