:root{--bg:#F2F0EA;--surface:#FBFAF7;--surface-2:#EAE7DE;--ink:#16302F;--muted:#63736F;--line:#DDD9CE;--accent:#0E5C57;--bokat:#2F7E68;--valt:#C98A2E;--saknas:#B9482F;--okant:#8B2F52;--ombord:#8B948F;--radius:14px;--shadow:0 1px 2px rgba(22,48,47,.05), 0 8px 24px rgba(22,48,47,.05);--safe: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.display{font-family:Fraunces,Georgia,serif;font-weight:500;letter-spacing:-.015em}button{font-family:inherit;cursor:pointer}a{color:inherit}h1,h2,h3{margin:0;font-weight:600}.wrap{max-width:820px;margin:0 auto;padding:0 16px calc(96px + var(--safe))}.topbar{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar-in{max-width:820px;margin:0 auto;padding:14px 16px;display:flex;align-items:baseline;gap:12px}.brand{font-family:Fraunces,serif;font-size:20px;font-weight:600;letter-spacing:-.02em}.brand small{font-family:Inter;font-weight:500;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-left:8px}.topbar .logout{margin-left:auto;border:none;background:none;color:var(--muted);font-size:13px;padding:6px 8px;border-radius:8px}.topbar .logout:hover{background:var(--surface-2);color:var(--ink)}.bar-load{height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:slide 1.1s linear infinite}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{border:none;background:none;color:var(--muted);padding:8px 13px;border-radius:99px;font-weight:500;font-size:14px;white-space:nowrap}.tab.active{background:var(--ink);color:var(--bg)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:6px 8px calc(6px + var(--safe));display:flex;justify-content:space-around}.tabbar button{border:none;background:none;color:var(--muted);font-size:11px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 8px;border-radius:10px;min-width:60px}.tabbar button .ikon{font-size:17px;line-height:1}.tabbar button.active{color:var(--accent);font-weight:600}.tabbar button .prick{position:absolute;margin:-2px 0 0 16px;width:6px;height:6px;border-radius:99px;background:var(--saknas)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card.pad{padding:18px}.section-title{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:26px 0 10px}.stack{display:grid;gap:10px}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px}.row{display:flex;align-items:center;gap:10px}.spread{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:9px 14px;border-radius:10px;font-weight:500;font-size:14px}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.liten{padding:5px 10px;font-size:13px;border-radius:8px}input,select,textarea{font-family:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);width:100%}label.falt{display:block;font-size:12px;color:var(--muted);margin:0 0 5px;font-weight:500}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;font-size:12px;font-weight:600;letter-spacing:.01em}.pill.bokat{background:#2f7e681f;color:var(--bokat)}.pill.valt{background:#c98a2e24;color:#8a5c13}.pill.saknas{background:#b9482f1f;color:var(--saknas)}.pill.okant{background:#8b2f521f;color:var(--okant)}.pill.ombord{background:#8b948f29;color:#5c6663}.hero{padding:22px 20px}.hero .etikett{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}.hero .stor{font-family:Fraunces,serif;font-size:30px;font-weight:500;letter-spacing:-.02em;margin:6px 0 2px;line-height:1.15}.hero .under{color:var(--muted);font-size:14px}.nedrakning{display:flex;gap:20px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.nedrakning div span{display:block}.nedrakning .tal{font-family:Fraunces,serif;font-size:26px;font-weight:500}.nedrakning .txt{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.handelse{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line)}.handelse:last-child{border-bottom:none}.handelse .nar{font-size:12px;color:var(--muted);font-weight:600;line-height:1.35}.handelse .vad{font-weight:500}.natt{display:grid;grid-template-columns:58px 8px 1fr;gap:11px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--surface-2)}.natt:last-child{border-bottom:none}.natt .d{font-size:12px;color:var(--muted);font-weight:600}.natt .strimma{width:8px;height:100%;min-height:30px;border-radius:99px}.natt .txt{font-size:14px;overflow:hidden;text-overflow:ellipsis}.natt.idag{background:#0e5c5712}.natt .flyg{font-size:12px;color:var(--accent);font-weight:600;margin-top:2px}.etapphuvud{padding:14px 16px 8px;display:flex;align-items:baseline;gap:8px;border-bottom:1px solid var(--line);background:var(--surface-2)}.etapphuvud .namn{font-family:Fraunces,serif;font-size:17px;font-weight:600}.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.kpi{padding:16px}.kpi .label{font-size:12px;color:var(--muted);margin-bottom:4px}.kpi .val{font-family:Fraunces,serif;font-size:26px;font-weight:500;letter-spacing:-.02em}.kpi .sub{font-size:11px;color:var(--muted);margin-top:3px}.katrad{padding:11px 16px;border-bottom:1px solid var(--surface-2)}.katrad:last-child{border-bottom:none}.spar{height:7px;background:var(--surface-2);border-radius:99px;overflow:hidden;margin-top:7px}.spar i{display:block;height:100%;background:var(--accent);border-radius:99px}.spar i.over{background:var(--saknas)}.uppg{display:grid;grid-template-columns:24px 1fr;gap:11px;padding:12px 16px;border-bottom:1px solid var(--surface-2);align-items:start}.uppg:last-child{border-bottom:none}.uppg.klar .text{text-decoration:line-through;color:var(--muted)}.kryss{width:22px;height:22px;border-radius:7px;border:1.5px solid var(--line);background:var(--surface);display:grid;place-items:center;font-size:13px;color:var(--bokat);padding:0}.kryss.pa{border-color:var(--bokat);background:#2f7e681a}.prio{display:inline-block;width:6px;height:6px;border-radius:99px;margin-right:6px;vertical-align:middle}.prio.p1{background:var(--saknas)}.prio.p2{background:var(--valt)}.prio.p3{background:var(--line)}.forfallen{color:var(--saknas);font-weight:600}@media (min-width:720px){.kpis{grid-template-columns:repeat(4,1fr)}.tabbar{display:none}.wrap{padding-bottom:60px}}@media (max-width:719px){.topbar .tabs{display:none}}.modal-bak{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#16302f73;display:flex;align-items:flex-end;justify-content:center;padding:0}.modal{background:var(--surface);width:100%;max-width:560px;max-height:92vh;border-radius:18px 18px 0 0;display:flex;flex-direction:column;box-shadow:0 -8px 40px #16302f40}.modal-huvud{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.modal-huvud .btn{margin-left:auto}.modal-kropp{padding:18px;overflow-y:auto;gap:14px}.modal-fot{display:flex;align-items:center;gap:10px;padding:14px 18px;border-top:1px solid var(--line);padding-bottom:calc(14px + var(--safe))}.tva{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tre{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px}.snabb{border:none;background:none;color:var(--accent);font-size:12px;font-weight:600;padding:2px 6px;border-radius:6px}.snabb:hover{background:var(--surface-2)}.natt .hoger{margin-left:auto}@media (min-width:600px){.modal-bak{align-items:center;padding:20px}.modal{border-radius:18px}}.flygknapp{border:none;background:none;padding:2px 0;text-align:left;font-size:12px;font-weight:600;color:var(--accent);display:flex;align-items:center;gap:5px}.flygknapp .pil{font-size:9px;opacity:.6}.flygkort{background:var(--surface-2);border-radius:10px;padding:12px 13px;margin:6px 0 4px}.ben{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;font-size:13px;padding:3px 0}.ben .flygnr{font-weight:600;min-width:45px;font-size:12px}.ben .ort{font-weight:500}.mellanlandning{padding:4px 0 4px 52px;font-style:italic}
