:root{
  --bg:#FAFAF7;--card:#FFFFFF;--line:#E4E2DC;--text:#16161A;--sub:#45454D;--muted:#5C5C66;
  --accent:#B43C0C;--accent-ink:#FFFFFF;--accent-soft:#FBE9E0;--ok:#1F6F3A;--ok-soft:#E3F2E7;
  --warn:#8A5A00;--warn-soft:#FFF1D6;--crit:#B42318;--crit-soft:#FDE7E5;--focus:#1D4ED8;
  --r:14px;--fs:17px;--fs2:15px;--tab:68px;--shadow:0 1px 2px rgba(0,0,0,.06),0 2px 10px rgba(0,0,0,.05);
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#111113;--card:#1C1C20;--line:#2E2E34;--text:#F4F4F5;--sub:#C9C9D1;--muted:#A9A9B3;
  --accent:#FF8A4C;--accent-ink:#1A0A00;--accent-soft:#3A2116;--ok:#6FD48F;--ok-soft:#173222;
  --warn:#F5C451;--warn-soft:#3A2E10;--crit:#FF7A6E;--crit-soft:#3D1A17;--focus:#8AB4FF;--shadow:none}}
:root[data-theme="dark"]{
  --bg:#111113;--card:#1C1C20;--line:#2E2E34;--text:#F4F4F5;--sub:#C9C9D1;--muted:#A9A9B3;
  --accent:#FF8A4C;--accent-ink:#1A0A00;--accent-soft:#3A2116;--ok:#6FD48F;--ok-soft:#173222;
  --warn:#F5C451;--warn-soft:#3A2E10;--crit:#FF7A6E;--crit-soft:#3D1A17;--focus:#8AB4FF;--shadow:none}
:root.big{--fs:20px;--fs2:18px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 var(--fs)/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,system-ui,sans-serif;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}
a{color:var(--accent)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:8px}
svg{width:22px;height:22px;flex:none}
.li .chev{width:20px;height:20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#app{max-width:680px;margin:0 auto;min-height:100dvh;padding:0 16px calc(var(--tab) + 24px + env(safe-area-inset-bottom))}
header.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top) + 8px) 0 8px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%)}
header.top h1{flex:1;margin:0;font-size:1.32rem;line-height:1.2;font-weight:700;letter-spacing:-.01em;min-width:0;overflow-wrap:anywhere}
.back{min-width:48px;min-height:48px;border:0;background:none;color:var(--accent);font-weight:600;display:flex;align-items:center;gap:2px;padding:0 6px 0 0;cursor:pointer}
.iconbtn{text-decoration:none;min-width:48px;min-height:48px;border:0;background:none;color:var(--text);display:grid;place-items:center;border-radius:50%;cursor:pointer}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:1rem}
.sync{font-size:var(--fs2);color:var(--muted)}
nav.tabs{position:fixed;left:0;right:0;bottom:0;z-index:6;display:flex;justify-content:center;background:color-mix(in srgb,var(--card) 90%,transparent);backdrop-filter:blur(16px) saturate(170%);-webkit-backdrop-filter:blur(16px) saturate(170%);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
nav.tabs .in{display:flex;width:100%;max-width:680px}
nav.tabs a{flex:1;min-height:var(--tab);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--muted);font-size:13px;font-weight:600}
:root.big nav.tabs a{font-size:15px}
nav.tabs a[aria-current="page"]{color:var(--accent)}
nav.tabs svg{width:26px;height:26px}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);border:1px solid var(--line);padding:16px;margin:12px 0}
.eyebrow{font-size:var(--fs2);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:22px 0 6px}
h2{font-size:1.25rem;margin:4px 0 6px;line-height:1.25}
h3{font-size:1.06rem;margin:0 0 4px;line-height:1.3}
p{margin:6px 0}
.sub{color:var(--sub);font-size:var(--fs2)}
.muted{color:var(--muted);font-size:var(--fs2)}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;padding:12px 16px;border-radius:14px;border:0;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:1.05rem;text-decoration:none;cursor:pointer;transition:transform .12s ease-out}
.btn:active{transform:scale(.98)}
.btn.sec{background:var(--card);color:var(--text);border:1.5px solid var(--line)}
.btn.ghost{background:transparent;color:var(--accent);border:0;min-height:48px}
.btn.danger{background:var(--crit);color:#fff}
.btn[disabled]{opacity:.5}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.list{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:10px 0}
.li{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 14px;border:0;border-top:1px solid var(--line);background:none;text-align:left;width:100%;text-decoration:none;color:inherit;cursor:pointer}
.li:first-child{border-top:0}
.li .tx{flex:1;min-width:0}
.li .t{font-weight:600;overflow-wrap:anywhere}
.li .s{color:var(--sub);font-size:var(--fs2);overflow-wrap:anywhere}
.li .chev{color:var(--muted);flex:none}
.ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex:none}
.ico svg{width:22px;height:22px}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:14px;font-weight:700;background:var(--accent-soft);color:var(--accent)}
.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.crit{background:var(--crit-soft);color:var(--crit)}
.hero{border-radius:20px;padding:18px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);margin:8px 0 12px}
.hero .when{font-weight:800;color:var(--accent);font-size:var(--fs2);text-transform:uppercase;letter-spacing:.05em}
.hero .what{font-size:1.45rem;font-weight:750;line-height:1.2;margin:4px 0;letter-spacing:-.01em;overflow-wrap:anywhere}
.next{display:flex;gap:12px;align-items:baseline;padding-top:12px;margin-top:12px;border-top:1px solid var(--line)}
.next .when{min-width:58px}
/* Linha do tempo */
.tl{position:relative;margin:8px 0 16px}
.ev{display:grid;grid-template-columns:64px 1fr;gap:10px;margin:0}
.ev .tm{font-weight:700;font-size:var(--fs2);color:var(--sub);padding-top:16px;text-align:right;font-variant-numeric:tabular-nums}
.ev .bx{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:6px 0;box-shadow:var(--shadow);text-align:left;width:100%;cursor:pointer;color:inherit}
.ev.meal .bx{padding:10px 14px}
.ev.move .bx{min-height:44px;background:none;border:0;box-shadow:none;border-left:3px dotted var(--line);border-radius:0;margin:0 0 0 6px;padding:6px 12px;color:var(--sub);font-size:var(--fs2)}
.ev.note .bx{border-left:3px solid var(--line);font-size:var(--fs2)}
.ev.note .tt{font-weight:500;color:var(--sub)}
.ev.flight .bx{border-left:5px solid var(--accent)}
.ev.now .bx{outline:2px solid var(--accent)}
.ev.past{opacity:.62}
.ev .k{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:14px;font-weight:700;margin-bottom:2px}
.ev .k svg{width:16px;height:16px}
.ev .tt{font-weight:650;overflow-wrap:anywhere}
.ev .ss{color:var(--sub);font-size:var(--fs2);margin-top:2px;overflow-wrap:anywhere}
.notice{border-radius:var(--r);padding:12px 14px;margin:10px 0;background:var(--warn-soft);color:var(--text);border-left:5px solid var(--warn)}
.notice.crit{background:var(--crit-soft);border-color:var(--crit)}
.notice.ok{background:var(--ok-soft);border-color:var(--ok)}
.daynav{display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none}
.daynav a{flex:none;min-width:58px;min-height:58px;border-radius:14px;border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:var(--text);font-weight:700}
.daynav a small{font-weight:600;color:var(--muted);font-size:13px}
.daynav a[aria-current="page"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.daynav a[aria-current="page"] small{color:var(--accent-ink)}
.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0;scrollbar-width:none}
.chip{flex:none;min-height:44px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-weight:600;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--text);color:var(--bg);border-color:var(--text)}
input[type=search],input[type=text],input[type=number],input[type=date],input[type=time],select,textarea{width:100%;min-height:52px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--card)}
textarea{min-height:110px;resize:vertical}
label.f{display:block;margin:12px 0 4px;font-weight:650}
.hint{font-size:var(--fs2);color:var(--muted);margin-top:4px}
.count{float:right;font-weight:600;color:var(--muted);font-size:14px}
.count.over{color:var(--crit)}
.facts{display:grid;gap:10px;margin:10px 0}
.fact{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start}
.fact svg{width:22px;height:22px;color:var(--muted);margin-top:2px}
.pre{white-space:pre-line}
/* Tela cheia para mostrar */
.show{position:fixed;inset:0;z-index:20;background:#fff;color:#000;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 12px) 20px calc(env(safe-area-inset-bottom) + 16px);overflow:auto}
.show .big1{font-size:clamp(30px,9vw,54px);font-weight:800;line-height:1.15;margin:12px 0;overflow-wrap:anywhere}
.show .big2{font-size:clamp(22px,6vw,34px);font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.show .pt{font-size:20px;color:#333;margin-top:16px}
.show .close{align-self:flex-end;min-height:52px;min-width:120px;border-radius:14px;border:2px solid #000;background:#fff;color:#000;font-weight:800;font-size:18px}
.show .acts{display:flex;gap:10px;margin-top:auto;padding-top:16px}
.show .acts button,.show .acts a{flex:1;min-height:56px;border-radius:14px;border:2px solid #000;background:#fff;color:#000;font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;text-decoration:none}
/* Folha (sheet) */
.scrim{position:fixed;inset:0;z-index:15;background:rgba(0,0,0,.42);opacity:0;transition:opacity .2s ease}
.scrim.on{opacity:1}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:16;max-height:92dvh;overflow:auto;background:var(--bg);border-radius:20px 20px 0 0;padding:8px 16px calc(env(safe-area-inset-bottom) + 20px);transform:translateY(100%);transition:transform .32s cubic-bezier(.32,.72,0,1);max-width:680px;margin:0 auto}
.sheet.on{transform:none}
.sheet .grab{width:42px;height:5px;border-radius:3px;background:var(--line);margin:4px auto 10px}
.toast{position:fixed;left:16px;right:16px;bottom:calc(var(--tab) + 16px + env(safe-area-inset-bottom));z-index:30;max-width:560px;margin:0 auto;background:var(--text);color:var(--bg);padding:14px 16px;border-radius:14px;font-weight:600;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.center{min-height:80dvh;display:flex;flex-direction:column;justify-content:center;gap:12px}
.logo{width:72px;height:72px;border-radius:20px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:36px;font-weight:800}
table.t{width:100%;border-collapse:collapse;font-size:var(--fs2)}
table.t td,table.t th{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.t td.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
details.more{margin:10px 0}
details.more>summary{min-height:48px;display:flex;align-items:center;font-weight:650;color:var(--accent);cursor:pointer;list-style:none}
details.more>summary::-webkit-details-marker{display:none}
.check{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-top:1px solid var(--line);min-height:56px;cursor:pointer}
.check:first-child{border-top:0}
.check input{width:26px;height:26px;margin:2px 0 0;accent-color:var(--accent);flex:none}
.check.done .t{text-decoration:line-through;color:var(--muted)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media (prefers-contrast:more){:root{--line:#77777F;--sub:var(--text);--muted:var(--text)}}
