
:root{
  --bg:#06131d;--bg2:#0a1b28;--card:#102533;--card2:#143447;--line:#23495d;
  --text:#f7fafb;--muted:#b6c6d0;--cyan:#60e6d2;--blue:#68a8ff;--violet:#b58cff;
  --gold:#ffd17d;--green:#7be495;--danger:#ff8e8e;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:
radial-gradient(circle at 10% 0%,rgba(104,168,255,.18),transparent 30%),
radial-gradient(circle at 100% 10%,rgba(181,140,255,.16),transparent 28%),
linear-gradient(180deg,var(--bg2),var(--bg));
font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;line-height:1.45}
button,input,textarea{font:inherit}a{color:inherit}
.app-shell{max-width:760px;margin:auto;padding:calc(env(safe-area-inset-top) + 14px) 16px 96px}
.screen{min-height:100vh}
.hero{padding:22px 4px 14px}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);font-weight:800}
h1{font-size:40px;line-height:1;margin:8px 0}
h2{font-size:30px;line-height:1.08;margin:8px 0 18px}
h3{font-size:20px;margin:0 0 7px}
.subtitle,.meta,.small{color:var(--muted)}
.small{font-size:12px}.meta{font-size:13px}
.status{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.pill,.badge{display:inline-block;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);padding:7px 10px;border-radius:999px;font-size:12px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.tile{min-height:142px;border:1px solid var(--line);border-radius:22px;padding:16px;text-decoration:none;
background:linear-gradient(145deg,rgba(20,52,71,.96),rgba(15,34,48,.96));
box-shadow:0 14px 34px rgba(0,0,0,.24);position:relative;overflow:hidden}
.tile .icon{font-size:30px}.tile h3{font-size:18px;margin:16px 0 4px}.tile p{font-size:13px;color:var(--muted);margin:0}
.card,.day{background:linear-gradient(145deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:22px;padding:17px;margin:12px 0;box-shadow:0 10px 28px rgba(0,0,0,.2)}
.topbar{display:flex;align-items:center;justify-content:space-between;margin:6px 0 18px}
.back{border:1px solid var(--line);background:var(--card);color:white;border-radius:14px;padding:10px 13px}
.actions,.mapgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
.btn,.mapgrid a{display:block;text-decoration:none;text-align:center;padding:12px;border-radius:14px;background:#1b4d5c;font-weight:750;border:0;color:white}
.btn.primary{background:var(--cyan);color:#06211e}.btn.secondary{background:#253d63}
label{display:block;font-size:13px;color:var(--muted);margin:12px 0 6px}
input,textarea{width:100%;border:1px solid var(--line);background:#091b27;color:white;border-radius:14px;padding:13px;outline:none}
textarea{min-height:110px;resize:vertical}
.check label{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);margin:0;color:white}
.check input{width:20px;height:20px;accent-color:var(--cyan)}
.note{border-left:3px solid var(--gold);padding:10px 12px;background:rgba(255,209,125,.08);border-radius:12px;color:#ffe7b5}
.list-item{display:block;text-decoration:none;padding:14px 0;border-bottom:1px solid var(--line)}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(4,14,22,.9);backdrop-filter:blur(18px);border-top:1px solid #1d3a4a;z-index:20;display:grid;grid-template-columns:repeat(4,1fr)}
.bottom-nav button{border:0;background:transparent;color:var(--muted);font-size:11px;padding:4px}.bottom-nav b{display:block;color:white;font-size:20px}
.guide-hero{border-radius:24px;padding:26px 20px;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;
background:linear-gradient(180deg,rgba(4,14,22,.12),rgba(4,14,22,.92)),
url("https://images.unsplash.com/photo-1590050752117-238cb0fb12b1?auto=format&fit=crop&w=1200&q=82") center/cover;border:1px solid var(--line);margin-bottom:14px}
.number{display:inline-block;background:var(--cyan);color:#06211e;font-weight:850;border-radius:999px;padding:6px 10px;font-size:12px}
.timeline{border-left:2px solid #2b5264;margin:13px 0 0 7px;padding-left:17px}.timeline p{margin:0 0 14px}
.kpi{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kpi .card{margin:0}.value{font-size:26px;font-weight:800}
@media(min-width:650px){.grid{grid-template-columns:repeat(3,1fr)}}
