/* ============ AURORA TOKENS (extraídos de hub/wwwroot/hub.css) ============ */
:root{
  --canvas:#FAF4EE; --surface:#FFFFFF; --surface-2:#FDF9F4;
  --ink:#241B10; --ink-soft:#6B5D4D; --ink-faint:#7A6A5B; /* F-02: 2.95:1→4.76:1 (AA no light); dark inalterado */
  --line:rgba(36,27,16,.08); --line-2:rgba(36,27,16,.14);
  --hub:#5B5BF5; --hub-2:#8B5CF6; --hub-soft:rgba(91,91,245,.10);
  --ai:#6D5DE8; --ai-2:#A78BFA; --ai-soft:rgba(124,111,240,.11); --ai-line:rgba(124,111,240,.28);
  --ok:#0FA968; --warn:#E6920B; --danger:#EF4560; --flyx:#EC4899;
  /* Accent do Rotina: laranja-alvorada — o dia começa aqui. Sistema Aurora. */
  --rtn:#E8590C; --rtn-2:#F97316; --rtn-soft:rgba(232,89,12,.10); --rtn-line:rgba(232,89,12,.30);
  /* Fontes agregadas usam a cor do app de origem (padrão da família de protótipos). */
  --enc:#7C3AED; --enc-soft:rgba(124,58,237,.10); --enc-line:rgba(124,58,237,.30);
  --agd:#0EA5E9; --agd-soft:rgba(14,165,233,.10); --agd-line:rgba(14,165,233,.30);
  --qdr:#5B5BF5; --qdr-soft:rgba(91,91,245,.10); --qdr-line:rgba(91,91,245,.30);
  --shadow-sm:0 1px 2px rgba(36,27,16,.06),0 2px 6px rgba(36,27,16,.05);
  --shadow-md:0 4px 12px rgba(36,27,16,.07),0 12px 30px rgba(36,27,16,.08);
  --shadow-lg:0 8px 24px rgba(36,27,16,.10),0 24px 60px rgba(36,27,16,.12);
  --r-lg:22px; --r-md:15px; --r-sm:10px; --r-pill:999px;
}
[data-theme="dark"]{
  --canvas:#17100A; --surface:#211913; --surface-2:#2A211A;
  --ink:#F7F0E7; --ink-soft:#C6B7A4; --ink-faint:#8B7C6A;
  --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.14);
  --hub-soft:rgba(139,92,246,.16); --ai-soft:rgba(139,121,250,.17); --ai-line:rgba(167,139,250,.34);
  --rtn-soft:rgba(249,115,22,.16); --rtn-line:rgba(249,115,22,.36);
  --enc-soft:rgba(167,139,250,.16); --enc-line:rgba(167,139,250,.34);
  --agd-soft:rgba(56,189,248,.14); --agd-line:rgba(56,189,248,.32);
  --qdr-soft:rgba(139,143,250,.15); --qdr-line:rgba(139,143,250,.34);
  --shadow-sm:0 1px 2px rgba(0,0,0,.4); --shadow-md:0 6px 20px rgba(0,0,0,.45); --shadow-lg:0 12px 40px rgba(0,0,0,.55);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:"Hanken Grotesk",system-ui,sans-serif; color:var(--ink);
  background:var(--canvas); font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased; min-height:100vh;
}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(900px 500px at 88% -8%,var(--rtn-soft),transparent 60%),
             radial-gradient(700px 400px at -6% 10%,var(--hub-soft),transparent 55%);}
h1,h2,h3,h4{font-family:"Bricolage Grotesque",sans-serif;letter-spacing:-.01em;margin:0}
a{color:inherit;text-decoration:none}
.mono{font-family:"JetBrains Mono",ui-monospace,monospace}
.wrap{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 20px 90px}
/* AURORA APPNAV (padronizacao dos menus · PO 2026-09-20) — as abas viraram o rail lateral do componente compartilhado.
   O host aliasa os tokens Aurora (o componente le acc/ink/canvas/surface/line/r-sm/shadow) pro palette do Rotina.
   Altura = viewport menos a barra do Hub (so standalone) menos a topbar propria do Loop (~58px). */
#rotinaAppNav{
  --acc:var(--rtn); --acc-2:var(--rtn-2); --acc-soft:var(--rtn-soft); --acc-ink:var(--rtn);
  --danger:#EF4560; --warn-ink:#8a5a06;
  --r-sm:10px; --r-md:14px; --r-pill:999px; --shadow-lg:0 12px 40px rgba(0,0,0,.5);
  height:calc(100dvh - var(--aurora-bar-h,0px)); min-height:0;   /* full-height: a topbar do Loop foi pro painel de conteudo (rail vai ate o topo) */
}
/* a topbar do Loop agora vive DENTRO do painel de conteudo (sticky no topo do scroll do .anav-content) */
#rotinaAppNav .topbar{position:sticky;top:0;z-index:20}
#rotinaAppNav .anav-pagewrap{display:flex;flex-direction:column;min-height:0}
html[data-theme="light"] #rotinaAppNav{ --shadow-lg:0 8px 24px rgba(36,27,16,.10),0 24px 60px rgba(36,27,16,.12); }
#rotinaAppNav .anav-content{overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch}
#rotinaAppNav .anav-pagewrap{min-width:0}
#rotinaAppNav .wrap{padding-top:0}   /* a topbar própria já dá o respiro; o hero (.apphead) fica no topo do painel */
/* MOBILE (≤700): altura natural + conteúdo overflow visível → a PÁGINA do Hub é o único scroll (fix iOS · AppEmbed). */
@media (max-width:700px){ #rotinaAppNav{height:auto;min-height:0} #rotinaAppNav .anav-content{overflow:visible} }
:focus-visible{outline:2px solid var(--rtn);outline-offset:2px;border-radius:4px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* ============ TOPBAR ============ */
.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--canvas) 82%,transparent);
  backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.topbar-in{max-width:1200px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:14px}
.brand{display:flex;align-items:center;gap:10px;font-family:"Bricolage Grotesque",sans-serif}
.appmark{width:34px;height:34px;border-radius:10px;flex:none;display:grid;place-items:center;
  color:#fff;font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:17px;
  background:linear-gradient(140deg,var(--rtn),var(--rtn-2));box-shadow:0 6px 16px -5px var(--rtn)}
.brand b{font-size:17px}.brand .k{color:var(--ink-faint);font-weight:600;font-size:13px}
.spacer{flex:1}
.icon-btn{height:36px;padding:0 13px;border:1px solid var(--line-2);border-radius:var(--r-pill);
  background:transparent;color:var(--ink-soft);font:inherit;font-size:13px;font-weight:600;cursor:pointer;
  display:inline-flex;align-items:center;gap:7px;transition:all .16s}
.icon-btn:hover{color:var(--ink);border-color:var(--ink-faint)}
.icon-btn kbd{font-family:"JetBrains Mono",monospace;font-size:10.5px;background:var(--surface-2);
  border:1px solid var(--line-2);border-radius:5px;padding:1px 5px;color:var(--ink-faint)}
/* sino — notificação v1 é SÓ in-app (badge + toast) */
.bell{position:relative;width:36px;height:36px;padding:0;justify-content:center}
.bell .bdg{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;border-radius:var(--r-pill);
  background:var(--rtn);color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;padding:0 4px;
  border:2px solid var(--canvas)}
.avatar{width:36px;height:36px;border-radius:var(--r-pill);border:1px solid var(--line-2);
  display:grid;place-items:center;font-weight:800;font-size:13px;color:#fff;
  background:linear-gradient(140deg,var(--hub),var(--hub-2))}

/* ============ APP HEAD + TABS ============ */
.apphead{padding:34px 0 8px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;
  color:var(--rtn);background:var(--rtn-soft);padding:5px 12px;border-radius:var(--r-pill);margin-bottom:14px}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--rtn)}
.apphead h1{font-size:34px;font-weight:800}
.apphead h1 em{font-style:normal;background:linear-gradient(120deg,var(--rtn),var(--rtn-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.apphead p{color:var(--ink-soft);font-size:16px;margin:8px 0 0;max-width:64ch}
.sovereign{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:12.5px;font-weight:600;
  color:var(--ok);background:var(--surface);border:1px solid var(--line-2);padding:6px 12px;border-radius:var(--r-pill);box-shadow:var(--shadow-sm)}
.tabs{display:flex;gap:6px;margin:26px 0 8px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tab{padding:10px 15px;font-weight:600;font-size:14.5px;color:var(--ink-soft);border:none;background:none;cursor:pointer;
  border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .16s;display:inline-flex;align-items:center;gap:8px}
.tab:hover{color:var(--ink)}
.tab.active{color:var(--rtn);border-bottom-color:var(--rtn)}
.tab .cnt{font-size:11px;font-weight:700;background:var(--rtn-soft);color:var(--rtn);padding:1px 7px;border-radius:var(--r-pill)}
.tab kbd{font-family:"JetBrains Mono",monospace;font-size:10.5px;background:var(--surface-2);
  border:1px solid var(--line-2);border-radius:5px;padding:1px 5px;color:var(--ink-faint)}
.panel{display:none;animation:fade .3s}
.panel.show{display:block}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ============ COMMON PRIMITIVES ============ */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.section-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:24px 0 14px;flex-wrap:wrap}
.section-h h2{font-size:19px;font-weight:700}
.section-h .sub{color:var(--ink-faint);font-size:13.5px}
.btn-primary{height:42px;padding:0 18px;border:none;border-radius:var(--r-pill);cursor:pointer;font:inherit;font-weight:700;font-size:14px;
  color:#fff;background:linear-gradient(135deg,var(--rtn),var(--rtn-2));box-shadow:0 6px 16px -5px var(--rtn);
  display:inline-flex;align-items:center;gap:8px;transition:transform .14s}
.btn-primary:hover{transform:translateY(-1px)}
.btn-ghost{height:42px;padding:0 15px;border:1px solid var(--line-2);border-radius:var(--r-pill);background:var(--surface);
  color:var(--ink-soft);font:inherit;font-weight:600;font-size:13.5px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .16s}
.btn-ghost:hover{color:var(--ink);border-color:var(--ink-faint)}

/* selo de fonte (o herói da agregação por ponteiro) = COR + rótulo; o marcador é uma bolinha de cor pura
   (dot CSS, herda a cor da fonte por currentColor) — nunca um glyph-ícone. */
.src{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;line-height:1;
  padding:3px 9px;border-radius:var(--r-pill);white-space:nowrap;border:1px solid var(--line);flex:none}
.src::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.src.enc{color:var(--enc);background:var(--enc-soft);border-color:var(--enc-line)}
.src.agd{color:var(--agd);background:var(--agd-soft);border-color:var(--agd-line)}
.src.qdr{color:var(--qdr);background:var(--qdr-soft);border-color:var(--qdr-line)}
.src.rtn{color:var(--rtn);background:var(--rtn-soft);border-color:var(--rtn-line)}
[data-theme="dark"] .src.qdr{color:#A5A8FB}
[data-theme="dark"] .src.enc{color:#B79AF8}
[data-theme="dark"] .src.agd{color:#5BC9F5}
[data-theme="dark"] .src.rtn{color:var(--rtn-2)}

/* contadores do cabeçalho do dia */
.day-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0 14px}
.day-h h2{font-size:22px;font-weight:800}
.day-h .today-pill{font-size:11px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--rtn),var(--rtn-2));
  padding:3px 10px;border-radius:var(--r-pill)}
.day-h .counts{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.count{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink-soft);
  background:var(--surface);border:1px solid var(--line);padding:5px 12px;border-radius:var(--r-pill)}
.count b{color:var(--ink);font-weight:800}

/* ============ TIMELINE DO DIA (a assinatura) ============ */
.today-grid{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}
@media(max-width:960px){.today-grid{grid-template-columns:1fr}}
.tl-card{padding:18px 18px 22px}
.tl{display:flex;gap:0}
.tl-hours{position:relative;width:50px;height:768px;flex:none}
.tl-hours span{position:absolute;right:10px;transform:translateY(-50%);font-family:"JetBrains Mono",monospace;
  font-size:11px;color:var(--ink-faint);font-weight:500}
.tl-track{position:relative;flex:1;height:768px;border-left:1px solid var(--line-2);
  background:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px 64px)}
/* bloco base — largura por LANE: cards no mesmo intervalo repartem o trilho em colunas (--cols) e
   ocupam a coluna --lane; sem sobreposição (--cols:1/--lane:0 default == full-width de antes). */
.blk{position:absolute;--lane:0;--cols:1;
  left:calc(10px + var(--lane) * ((100% - 16px - (var(--cols) - 1) * 4px) / var(--cols) + 4px));
  width:calc((100% - 16px - (var(--cols) - 1) * 4px) / var(--cols));
  border-radius:12px;border:1px solid;padding:0 12px;z-index:2;
  display:flex;align-items:center;gap:9px;overflow:hidden;font-size:13px;background:var(--surface)}
.blk .t{font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:500;color:var(--ink-soft);flex:none}
.blk .n{font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blk .sp{flex:1}
.blk.enc{background:var(--enc-soft);border-color:var(--enc-line)}
.blk.agd{background:var(--agd-soft);border-color:var(--agd-line)}
.blk.rtn{background:var(--rtn-soft);border-color:var(--rtn-line);flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;padding:10px 14px}
.blk.rtn .row{display:flex;align-items:center;gap:9px;width:100%}
.blk.rtn .note{font-size:11.5px;color:var(--ink-soft)}
.enter-room{height:26px;padding:0 12px;border:none;border-radius:var(--r-pill);cursor:pointer;font:inherit;
  font-weight:700;font-size:11.5px;color:#fff;background:linear-gradient(135deg,var(--enc),#A78BFA);
  box-shadow:0 4px 10px -4px var(--enc);flex:none}
.enter-room:hover{filter:brightness(1.06)}
/* card do Quadros — ARRASTÁVEL (arrastar = reagendar NA FONTE) */
.blk.qdr{background:linear-gradient(var(--qdr-soft),var(--qdr-soft)),var(--surface);border-color:var(--qdr-line);cursor:grab;touch-action:none;user-select:none;
  box-shadow:var(--shadow-sm);transition:box-shadow .16s}
.blk.qdr:active{cursor:grabbing}
.blk.qdr.dragging{box-shadow:var(--shadow-lg);z-index:5;opacity:.92}
.blk.qdr .grip{color:var(--ink-faint);font-size:13px;letter-spacing:-1px;flex:none;cursor:inherit}
.blk.qdr .card-id{font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--qdr);flex:none}
[data-theme="dark"] .blk.qdr .card-id{color:#A5A8FB}
.drag-hint{font-size:10.5px;color:var(--ink-faint);font-weight:600;flex:none}
.wb-chip{display:none;align-items:center;gap:4px;font-size:10px;font-weight:800;color:var(--ok);
  background:rgba(15,169,104,.12);border:1px solid rgba(15,169,104,.3);padding:2px 8px;border-radius:var(--r-pill);flex:none}
.blk.qdr.moved .wb-chip{display:inline-flex}
.blk.qdr.moved .drag-hint{display:none}
@media(max-width:480px){.drag-hint{display:none}} /* F-03: some no mobile — o afford de arrastar segue no cursor/toque */
/* lembrete pin na timeline */
.pin{position:absolute;left:10px;right:6px;display:flex;align-items:center;gap:8px;height:30px;padding:0 12px;
  border-radius:var(--r-pill);border:1px dashed var(--rtn-line);background:var(--surface);font-size:12px}
.pin .bell-ic{color:var(--rtn);font-size:13px}
.pin .t{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--ink-soft)}
.pin .n{font-weight:700}
/* janela livre */
.free{position:absolute;left:10px;right:6px;border-radius:12px;border:1px dashed var(--line-2);z-index:1;
  display:grid;place-items:center;font-size:11.5px;color:var(--ink-faint);font-weight:600;background:transparent}
/* agulha do agora */
.now{position:absolute;left:0;right:0;z-index:4;pointer-events:none}
.now::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--rtn);border-radius:2px}
.now::after{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--rtn);
  box-shadow:0 0 0 4px var(--rtn-soft)}
.now .lbl{position:absolute;right:0;top:-22px;font-family:"JetBrains Mono",monospace;font-size:10.5px;font-weight:700;
  color:#fff;background:var(--rtn);padding:2px 8px;border-radius:var(--r-pill)}
/* legenda + nota de ponteiro */
.legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);
  font-size:12px;color:var(--ink-soft);font-weight:600}
.legend i{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:5px;vertical-align:-1px}
.pointer-note{margin-top:14px;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-md);
  background:var(--surface-2);border:1px dashed var(--line-2);font-size:12.5px;color:var(--ink-soft)}
.pointer-note b{color:var(--ink)}
.pointer-note .ic{font-size:15px;color:var(--rtn)}

/* coluna lateral do HOJE */
.side{display:flex;flex-direction:column;gap:14px}
.side-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-sm)}
.side-card h3{font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px}
.side-card .hint{font-size:12.5px;color:var(--ink-soft);margin-top:6px;line-height:1.55}
.ai-mk{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:14px;color:#fff;
  background:linear-gradient(140deg,var(--ai),var(--ai-2));flex:none}
.ai-seal{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:11.5px;font-weight:700;
  color:var(--ai);background:var(--ai-soft);border:1px solid var(--ai-line);padding:5px 11px;border-radius:var(--r-pill)}
.side-rem{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}
.side-rem:last-child{border-bottom:none}
.side-rem .t{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--ink-soft);flex:none}
.side-rem .n{font-weight:600;flex:1}
.szz{height:24px;padding:0 9px;border:1px solid var(--line-2);border-radius:var(--r-pill);background:var(--surface);
  color:var(--ink-soft);font:inherit;font-size:11px;font-weight:700;cursor:pointer;flex:none}
.szz:hover{color:var(--rtn);border-color:var(--rtn-line)}
.sov-note{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--ink-soft);line-height:1.55}
.sov-note .ic{font-size:16px;color:var(--ok)}
.sov-note b{color:var(--ink)}

/* ============ SEMANA / MÊS ============ */
.seg{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-2);margin-bottom:18px}
.seg button{padding:8px 16px;border:none;background:none;border-radius:var(--r-pill);font:inherit;font-weight:700;font-size:13px;color:var(--ink-soft);cursor:pointer;transition:all .16s}
.seg button.on{background:var(--surface);color:var(--rtn);box-shadow:var(--shadow-sm)}
.subview{display:none}.subview.show{display:block}
.wk-card{padding:18px;overflow-x:auto}
.wk{display:grid;grid-template-columns:44px repeat(7,minmax(110px,1fr));gap:0;min-width:820px}
.wk .wh{padding:6px 4px 10px;text-align:center;font-size:12px;font-weight:700;color:var(--ink-soft)}
.wk .wh b{display:block;font-family:"Bricolage Grotesque",sans-serif;font-size:16px;color:var(--ink)}
.wk .wh.today{color:var(--rtn)}.wk .wh.today b{color:var(--rtn)}
.wk-hours{position:relative;height:400px}
.wk-hours span{position:absolute;right:8px;transform:translateY(-50%);font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--ink-faint)}
.wk-col{position:relative;height:400px;border-left:1px solid var(--line);
  background:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px 40px)}
.wk-col.today{background-color:var(--rtn-soft)}
.wblk{position:absolute;left:4px;right:4px;border-radius:8px;border:1px solid;font-size:10px;font-weight:700;
  padding:2px 7px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--ink)}
.wblk.enc{background:var(--enc-soft);border-color:var(--enc-line)}
.wblk.agd{background:var(--agd-soft);border-color:var(--agd-line)}
.wblk.qdr{background:var(--qdr-soft);border-color:var(--qdr-line)}
.wblk.rtn{background:var(--rtn-soft);border-color:var(--rtn-line)}
/* mês */
.mo-card{padding:18px}
.mo{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.mo .dow{text-align:center;font-size:11px;font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;padding:4px 0}
.mo .mday{min-height:72px;border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 9px;background:var(--surface);font-size:12.5px;font-weight:700;color:var(--ink-soft)}
.mo .mday.blank{border:none;background:none}
.mo .mday.today{border-color:var(--rtn);box-shadow:0 0 0 2px var(--rtn-soft);color:var(--rtn)}
.mo .dots{display:flex;gap:3px;flex-wrap:wrap;margin-top:7px}
.mo .dt{width:7px;height:7px;border-radius:50%}
.dt.enc{background:var(--enc)}.dt.agd{background:var(--agd)}.dt.qdr{background:var(--qdr)}.dt.rtn{background:var(--rtn)}

/* ============ PLANEJAR MEU DIA (IA em modo PROPOSTA — a manchete) ============ */
.plan-hero{display:flex;align-items:center;gap:14px;padding:20px 22px;border-radius:var(--r-lg);
  border:1px solid var(--ai-line);background:linear-gradient(135deg,var(--ai-soft),transparent 70%);margin-bottom:20px;flex-wrap:wrap}
.plan-hero .mk{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:21px;color:#fff;
  background:linear-gradient(140deg,var(--ai),var(--ai-2));box-shadow:0 8px 20px -8px var(--ai);flex:none}
.plan-hero h2{font-size:21px;font-weight:800}
.plan-hero p{font-size:13.5px;color:var(--ink-soft);margin:3px 0 0}
.plan-hero .seal{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;
  color:var(--ai);background:var(--surface);border:1px solid var(--ai-line);padding:8px 14px;border-radius:var(--r-pill);box-shadow:var(--shadow-sm)}
.plan-grid{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}
@media(max-width:960px){.plan-grid{grid-template-columns:1fr}}
.plan-bar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.plan-bar .st{font-size:13px;font-weight:700;color:var(--ink-soft)}
.plan-bar .st b{color:var(--ink)}
.plan-bar .acts{margin-left:auto;display:flex;gap:8px}
.props{display:flex;flex-direction:column;gap:12px}
.prop{border:1px solid var(--ai-line);background:var(--surface);border-radius:var(--r-md);padding:16px 18px;transition:all .2s}
.prop .ph{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.prop .when{font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:700;color:var(--ai);
  background:var(--ai-soft);padding:4px 10px;border-radius:var(--r-pill)}
.prop .pn{font-weight:800;font-size:15px}
.prop .pstat{margin-left:auto;font-size:11px;font-weight:800;padding:3px 10px;border-radius:var(--r-pill);display:none}
.prop .why{font-size:13px;color:var(--ink-soft);margin-top:9px;line-height:1.55}
.prop .why b{color:var(--ink)}
.prop .pfoot{display:flex;align-items:center;gap:8px;margin-top:13px;flex-wrap:wrap}
.prop .pprov{font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--ink-faint);margin-left:auto}
.ai-btn{height:34px;padding:0 15px;border-radius:var(--r-pill);font:inherit;font-weight:700;font-size:13px;cursor:pointer;border:1px solid transparent;transition:all .14s}
.ai-approve{color:#fff;background:linear-gradient(135deg,var(--ai),var(--ai-2));box-shadow:0 4px 12px -5px var(--ai)}
.ai-approve:hover{filter:brightness(1.06)}
.ai-reject{background:var(--surface);border-color:var(--line-2);color:var(--ink-soft)}
.ai-reject:hover{border-color:var(--danger);color:var(--danger)}
.prop.ok{border-color:rgba(15,169,104,.4);background:rgba(15,169,104,.05)}
.prop.ok .pstat{display:inline-flex;color:var(--ok);background:rgba(15,169,104,.12)}
.prop.no{opacity:.55}
.prop.no .pstat{display:inline-flex;color:var(--ink-faint);background:var(--surface-2)}
.prop.ok .ai-btn,.prop.no .ai-btn{display:none}
/* preview lateral: sólidos = dia atual; tracejados = propostas (fantasmas) */
.prev-card{padding:16px 16px 20px}
.prev-card h3{font-size:14px;font-weight:800;margin-bottom:2px}
.prev-card .hint{font-size:11.5px;color:var(--ink-faint);margin-bottom:12px}
.prev{position:relative;height:400px;border-left:1px solid var(--line-2);margin-left:38px;
  background:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px 40px)}
.prev .hlb{position:absolute;left:-38px;transform:translateY(-50%);font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--ink-faint)}
.pblk{position:absolute;left:6px;right:4px;border-radius:8px;border:1px solid;font-size:10px;font-weight:700;
  padding:2px 7px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--ink)}
.pblk.enc{background:var(--enc-soft);border-color:var(--enc-line)}
.pblk.agd{background:var(--agd-soft);border-color:var(--agd-line)}
.pblk.qdr{background:var(--qdr-soft);border-color:var(--qdr-line)}
.pblk.rtn{background:var(--rtn-soft);border-color:var(--rtn-line)}
.pblk.ghost{background:transparent;border:1.5px dashed var(--ai-line);color:var(--ai);font-weight:800}
.pblk.ghost.approved{background:var(--ai-soft);border-style:solid;color:var(--ai)}
.pblk.ghost.refused{display:none}
[data-theme="dark"] .pblk.ghost{color:var(--ai-2)}
.anti-motion{margin-top:18px;display:flex;gap:10px;align-items:flex-start;padding:13px 15px;border-radius:var(--r-md);
  background:var(--ai-soft);border:1px solid var(--ai-line);font-size:12.5px;color:var(--ink);line-height:1.55}
.anti-motion .ic{font-size:16px}

/* ============ LEMBRETES ============ */
.rem-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.rem-row{display:flex;align-items:center;gap:13px;padding:15px 18px;border-bottom:1px solid var(--line)}
.rem-row:last-child{border-bottom:none}
.chk{width:24px;height:24px;border-radius:50%;border:2px solid var(--line-2);background:var(--surface);cursor:pointer;flex:none;
  display:grid;place-items:center;color:transparent;font-size:12px;transition:all .16s;padding:0}
.chk:hover{border-color:var(--rtn)}
.rem-row.done .chk{background:var(--ok);border-color:var(--ok);color:#fff}
.rem-main{flex:1;min-width:0}
.rem-main .rn{font-weight:700;font-size:14.5px}
.rem-row.done .rn{text-decoration:line-through;color:var(--ink-faint)}
.rem-meta{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap;font-size:12px;color:var(--ink-soft)}
.rec-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--rtn);
  background:var(--rtn-soft);border:1px solid var(--rtn-line);padding:2px 9px;border-radius:var(--r-pill)}
[data-theme="dark"] .rec-chip{color:var(--rtn-2)}
.next{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--ink-soft)}
.snoozed-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--warn);
  background:rgba(230,146,11,.12);border:1px solid rgba(230,146,11,.3);padding:2px 9px;border-radius:var(--r-pill)}
.rem-acts{display:flex;gap:6px;flex:none;flex-wrap:wrap;justify-content:flex-end}
.rem-note{margin-top:16px;display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:var(--r-md);
  background:var(--surface-2);border:1px solid var(--line);font-size:13px;color:var(--ink-soft);line-height:1.55}
.rem-note .ic{font-size:16px}
.rem-note b{color:var(--ink)}
.lock{font-size:10.5px;font-weight:800;color:var(--ink-faint);border:1px solid var(--line-2);
  padding:2px 8px;border-radius:var(--r-pill);background:var(--surface)}

/* ============ EQUIPE (RBAC "ver todos os usuários" — permissão, NÃO paywall) ============ */
.tab .tab-lock{font-size:10.5px;opacity:.6}
.perm-chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;
  color:var(--ok);background:var(--surface);border:1px solid rgba(15,169,104,.35);
  padding:6px 13px;border-radius:var(--r-pill);box-shadow:var(--shadow-sm)}
.perm-chip b{color:inherit}
.tm-priv{margin:0 0 16px;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-md);
  background:var(--surface-2);border:1px dashed var(--line-2);font-size:12.5px;color:var(--ink-soft);line-height:1.55}
.tm-priv b{color:var(--ink)}
.tm-priv .ic{font-size:15px;color:var(--ok)}
.uf-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.uf-bar .lbl{font-size:11px;font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em}
.uf{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--line-2);border-radius:var(--r-pill);
  background:var(--surface);color:var(--ink-soft);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .16s}
.uf:hover{color:var(--ink);border-color:var(--ink-faint)}
.uf.on{color:var(--rtn);border-color:var(--rtn-line);background:var(--rtn-soft)}
[data-theme="dark"] .uf.on{color:var(--rtn-2)}
.uf .uav{width:18px;height:18px;font-size:8px}
.tm-card{padding:6px 18px 18px}
.tm-row{display:grid;grid-template-columns:64px 1fr;border-top:1px solid var(--line)}
.tm-row:first-child{border-top:none}
.tm-hour{font-family:"JetBrains Mono",monospace;font-size:11.5px;font-weight:600;color:var(--ink-faint);padding:16px 10px 0 2px}
.tm-row.now-row{background:var(--rtn-soft);border-radius:var(--r-sm)}
.tm-row.now-row .tm-hour{color:var(--rtn);font-weight:800}
[data-theme="dark"] .tm-row.now-row .tm-hour{color:var(--rtn-2)}
.tm-items{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 14px 14px;border-left:1px solid var(--line-2);min-height:44px;align-items:center}
.tm-item{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;
  padding:6px 11px 6px 7px;font-size:12.5px;background:var(--surface)}
.tm-item.enc{background:var(--enc-soft);border-color:var(--enc-line)}
.tm-item.agd{background:var(--agd-soft);border-color:var(--agd-line)}
.tm-item.qdr{background:var(--qdr-soft);border-color:var(--qdr-line)}
.tm-item.rtn{background:var(--rtn-soft);border-color:var(--rtn-line)}
.tm-item .who{font-weight:800;color:var(--ink);flex:none}
.tm-item .what{font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:26ch}
.tm-item .t{font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--ink-soft);flex:none}
.uav{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:9.5px;font-weight:800;color:#fff;flex:none}
.uav.u1{background:linear-gradient(140deg,#E8590C,#F97316)}
.uav.u2{background:linear-gradient(140deg,#5B5BF5,#8B5CF6)}
.uav.u3{background:linear-gradient(140deg,#7C3AED,#A78BFA)}
.uav.u4{background:linear-gradient(140deg,#0EA5E9,#38BDF8)}
.uav.u5{background:linear-gradient(140deg,#0FA968,#34D399)}
.uav.u6{background:linear-gradient(140deg,#B45309,#E6920B)}
.tm-empty{font-size:11.5px;color:var(--ink-faint);font-weight:600;font-style:italic}
@media(max-width:560px){.tm-row{grid-template-columns:46px 1fr}.tm-item .what{max-width:18ch}}

/* ============ COMMAND BAR (⌘K) — captura NL com preview ao vivo ============ */
/* scrim de dispensa = <button> focável (WCAG 2.1.1), com os resets pra parecer um véu, não um botão */
.ck-scrim{position:fixed;inset:0;z-index:60;background:rgba(20,12,5,.45);backdrop-filter:blur(4px);
  border:0;margin:0;padding:0;display:block;width:100%;height:100%;cursor:pointer;
  opacity:0;visibility:hidden;transition:.2s}
.ck-scrim.open{opacity:1;visibility:visible}
.ck{position:fixed;left:50%;top:14vh;transform:translateX(-50%) translateY(-8px);z-index:70;width:min(640px,94vw);
  background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);
  opacity:0;visibility:hidden;transition:.22s cubic-bezier(.3,.8,.3,1)}
.ck.open{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.ck-in{display:flex;align-items:center;gap:11px;padding:16px 18px;border-bottom:1px solid var(--line)}
.ck-in .mk{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:15px;color:#fff;
  background:linear-gradient(140deg,var(--rtn),var(--rtn-2));flex:none}
.ck-in input{flex:1;border:none;background:none;font:inherit;font-size:16.5px;color:var(--ink);outline:none}
.ck-in input::placeholder{color:var(--ink-faint)}
.ck-in kbd{font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--ink-faint);border:1px solid var(--line-2);
  border-radius:5px;padding:2px 6px;background:var(--surface-2);flex:none}
.ck-body{padding:16px 18px}
.ck-eg{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.ck-eg .lbl{font-size:11px;font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;width:100%}
.eg{padding:7px 12px;border:1px solid var(--line-2);border-radius:var(--r-pill);background:var(--surface);
  color:var(--ink-soft);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .16s;font-family:inherit}
.eg:hover{color:var(--rtn);border-color:var(--rtn-line);background:var(--rtn-soft)}
/* preview do parse — atualiza AO DIGITAR (padrão da casa: preview em tempo real) */
.parsed{border:1px solid var(--rtn-line);border-radius:var(--r-md);background:var(--rtn-soft);padding:14px 16px}
.parsed .pv-top{display:flex;align-items:center;gap:9px}
.pv-type{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;color:var(--rtn);
  background:var(--surface);border:1px solid var(--rtn-line);padding:4px 11px;border-radius:var(--r-pill)}
[data-theme="dark"] .pv-type{color:var(--rtn-2)}
.pv-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;color:var(--ok)}
.pv-live i{width:7px;height:7px;border-radius:50%;background:var(--ok);animation:blink 1.1s infinite}
@keyframes blink{50%{opacity:.35}}
.parsed .pv-title{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:17px;margin-top:9px}
.pv-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.pv-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink);
  background:var(--surface);border:1px solid var(--line-2);padding:5px 11px;border-radius:var(--r-pill)}
.pv-chip .k{font-size:10px;font-weight:800;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em}
.pv-chip.dim{color:var(--ink-faint)}
.ck-empty{border:1px dashed var(--line-2);border-radius:var(--r-md);padding:18px;text-align:center;
  font-size:13px;color:var(--ink-faint)}
.ck-foot{display:flex;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--line);
  font-size:11.5px;color:var(--ink-faint);flex-wrap:wrap}
.ck-foot .mono{font-size:10.5px}
.ck-foot .r{margin-left:auto}

/* ============ TOASTS (notificação in-app v1) ============ */
.toasts{position:fixed;right:18px;bottom:18px;z-index:90;display:flex;flex-direction:column;gap:10px;max-width:min(420px,90vw)}
.toast{display:flex;gap:11px;align-items:flex-start;background:var(--surface);border:1px solid var(--line-2);
  border-radius:var(--r-md);padding:13px 16px;box-shadow:var(--shadow-lg);font-size:13px;color:var(--ink);
  animation:toast-in .28s cubic-bezier(.3,.8,.3,1)}
.toast .tic{font-size:16px;flex:none}
.toast b{font-weight:700}
.toast .tsub{display:block;font-size:11.5px;color:var(--ink-faint);margin-top:3px;font-family:"JetBrains Mono",monospace}
@keyframes toast-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ============ RESPONSIVE ============ */
@media(max-width:720px){
  .apphead h1{font-size:26px}
  .day-h .counts{margin-left:0}
  .plan-hero .seal{margin-left:0}
  .blk{font-size:12px;padding:0 8px}
  .blk .t{display:none}
}
@media(max-width:560px){
  .wrap{padding:0 14px 60px}
  .apphead h1{font-size:23px}
  .tl-hours{width:40px}
  .rem-acts{width:100%;justify-content:flex-start}
  .rem-row{flex-wrap:wrap}
}
.proto-flag{position:fixed;bottom:14px;left:14px;z-index:80;font-size:11px;font-weight:700;font-family:"JetBrains Mono",monospace;
  color:var(--warn);background:var(--surface);border:1px solid var(--warn);padding:6px 11px;border-radius:var(--r-pill);box-shadow:var(--shadow-md)}
a{text-decoration:none}
/* ícones Lucide inline (Icons.cs) herdam cor/tamanho do texto e alinham à baseline como os glyphs de antes */
.ico{vertical-align:-.15em}
.tabs{align-items:flex-end}
.tabs .tab{text-decoration:none}
a.brand{text-decoration:none;color:inherit}
.seg .seg-btn{padding:8px 16px;border:none;background:none;border-radius:var(--r-pill);font:inherit;font-weight:700;font-size:13px;
  color:var(--ink-soft);cursor:pointer;transition:all .16s;text-decoration:none;display:inline-block}
.seg .seg-btn:hover{color:var(--ink)}
.seg .seg-btn.on{background:var(--surface);color:var(--rtn);box-shadow:var(--shadow-sm)}
[data-theme="dark"] .seg .seg-btn.on{color:var(--rtn-2)}
.enter-room{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
a.btn-primary{text-decoration:none;justify-content:center}
.chk{font-size:12px}
form{margin:0}

/* ═══════════ ONDA 1 "o incrível" — duas pistas · composer inline · menu · estados ═══════════ */

/* --- BARRA DE PISTAS (R-207): você (laranja sólido) × a IA propõe (tracejado violeta) --- */
.lanes{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 14px;padding:12px 16px;border-radius:var(--r-md);
  background:var(--surface);border:1px solid var(--line)}
.lane{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;color:var(--ink-soft)}
.lane b{color:var(--ink)}
.swatch{width:22px;height:15px;border-radius:5px;flex:none}
.swatch.you{background:var(--rtn-soft);border:1.5px solid var(--rtn)}
.swatch.ai{background:transparent;border:1.5px dashed var(--ai)}
.lanes .lanes-note{margin-left:auto;font-size:11.5px;color:var(--ink-faint);display:inline-flex;align-items:center;gap:6px}
.lanes .lanes-note .ico{color:var(--ai)}
[data-theme="dark"] .lanes .lanes-note .ico{color:var(--ai-2)}

/* --- chip "✓ você" no bloco próprio (procedência sempre legível · R-207) --- */
.you-chip{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:800;color:var(--rtn);
  background:var(--rtn-soft);border:1px solid var(--rtn-line);border-radius:var(--r-pill);padding:2px 7px;flex:none;text-transform:uppercase;letter-spacing:.03em}
[data-theme="dark"] .you-chip{color:var(--rtn-2)}
.you-chip .ico{width:.85em;height:.85em}
/* o bloco próprio é clicável (abre o menu Editar/Excluir) e arrastável (mover direto) */
.blk.rtn[data-own]{cursor:grab}
.blk.rtn[data-own].dragging{cursor:grabbing;opacity:.9;box-shadow:var(--shadow-lg);z-index:20}
.blk.rtn[data-own].moved{outline:2px solid var(--rtn-line);outline-offset:1px}

/* --- COMPOSER INLINE (criar direto — ato humano, instantâneo · R-202) --- */
.composer{position:absolute;left:10px;right:6px;z-index:12;background:var(--surface);border:1.5px solid var(--rtn);
  border-radius:12px;box-shadow:var(--shadow-lg);padding:12px 14px;display:none;flex-direction:column;gap:10px}
.composer.open{display:flex}
.composer .ctop{display:flex;align-items:center;gap:8px}
.composer .ctop .lbl{font-size:11px;font-weight:800;color:var(--rtn);text-transform:uppercase;letter-spacing:.05em;display:inline-flex;align-items:center;gap:5px}
[data-theme="dark"] .composer .ctop .lbl{color:var(--rtn-2)}
.composer .ctop .x{margin-left:auto;border:none;background:none;color:var(--ink-faint);cursor:pointer;line-height:1;padding:2px;display:inline-flex}
.composer .ctop .x:hover{color:var(--ink)}
.composer input.ct{border:none;background:none;font:inherit;font-size:15px;font-weight:700;color:var(--ink);outline:none;width:100%}
.composer input.ct::placeholder{color:var(--ink-faint);font-weight:600}
.composer .crow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mini-seg{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line-2);border-radius:var(--r-pill);background:var(--surface-2)}
.mini-seg button{border:none;background:none;border-radius:var(--r-pill);padding:5px 11px;font:inherit;font-size:11.5px;font-weight:700;color:var(--ink-soft);cursor:pointer}
.mini-seg button.on{background:var(--surface);color:var(--rtn);box-shadow:var(--shadow-sm)}
[data-theme="dark"] .mini-seg button.on{color:var(--rtn-2)}
.chip-in{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border:1px solid var(--line-2);border-radius:var(--r-pill);background:var(--surface);font-size:12px;font-weight:600;color:var(--ink-soft)}
.chip-in .mono{color:var(--ink);font-weight:700}
.composer .cfoot{display:flex;align-items:center;gap:8px}
.composer .cfoot .hint{font-size:11px;color:var(--ink-faint);margin-left:auto}
.c-create{height:34px;padding:0 16px;border:none;border-radius:var(--r-pill);font:inherit;font-weight:800;font-size:13px;cursor:pointer;
  color:#fff;background:linear-gradient(135deg,var(--rtn),var(--rtn-2));box-shadow:0 4px 12px -5px var(--rtn);display:inline-flex;align-items:center;gap:6px}
.c-create:hover{filter:brightness(1.05)}
/* afford "criar aqui" na janela livre (hover/teclado) */
.free{cursor:pointer}
.free .plus{display:none;align-items:center;gap:6px;font-weight:800}
.free:hover,.free:focus-visible{border-color:var(--rtn);color:var(--rtn);background:var(--rtn-soft);outline:none}
.free:hover .lbl-free,.free:focus-visible .lbl-free{display:none}
.free:hover .plus,.free:focus-visible .plus{display:inline-flex}

/* --- MENU do item (Editar/Excluir/Abrir na fonte · R-206) --- */
.pop-scrim{position:fixed;inset:0;z-index:56;background:transparent;border:none;display:none}
.pop-scrim.open{display:block}
.bmenu{position:fixed;z-index:58;min-width:190px;background:var(--surface);border:1px solid var(--line-2);
  border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:5px;display:none;flex-direction:column;gap:1px}
.bmenu.open{display:flex}
.bmenu .bm-h{font-size:10.5px;font-weight:800;color:var(--ink-faint);padding:6px 10px 4px;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:6px;max-width:230px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.bmenu button{display:flex;align-items:center;gap:9px;border:none;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--ink);
  padding:9px 11px;border-radius:var(--r-sm);cursor:pointer;text-align:left;width:100%}
.bmenu button:hover{background:var(--surface-2)}
.bmenu button.danger{color:var(--danger)}
.bmenu button.danger:hover{background:rgba(239,69,96,.1)}

/* --- ESTADOS (vazio · carregando · erro · R-221) --- */
.state-hero{padding:48px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.state-hero .sic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;color:#fff;margin-bottom:8px;font-size:26px}
.state-hero .sic .ico{width:26px;height:26px}
.state-hero.empty .sic{background:linear-gradient(140deg,var(--rtn),var(--rtn-2));box-shadow:0 10px 24px -10px var(--rtn)}
.state-hero.error .sic{background:linear-gradient(140deg,var(--warn),#F0A93A);box-shadow:0 10px 24px -10px var(--warn)}
.state-hero h3{font-size:22px;font-weight:800}
.state-hero p{font-size:14.5px;color:var(--ink-soft);max-width:52ch;line-height:1.55;margin:0}
.state-cta{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:16px}
.state-fine{font-size:12.5px;color:var(--ink-faint);margin-top:14px;display:inline-flex;align-items:center;gap:7px}
.state-fine .ic{color:var(--ok)}
/* skeleton de carregamento (gancho — respeita prefers-reduced-motion) */
.sk-grid{display:grid;grid-template-columns:1fr 328px;gap:20px;align-items:start}
@media(max-width:960px){.sk-grid{grid-template-columns:1fr}}
.sk{background:linear-gradient(90deg,var(--surface-2) 25%,var(--line) 37%,var(--surface-2) 63%);background-size:400% 100%;
  animation:sk 1.3s ease-in-out infinite;border-radius:var(--r-sm)}
@keyframes sk{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){.sk{animation:none}}
.sk-tl{padding:18px}.sk-row{display:flex;gap:12px;margin-bottom:14px}
.sk-hour{width:40px;height:16px}.sk-blk{flex:1;height:44px;border-radius:12px}
.sk-side .sk-card{height:120px;border-radius:var(--r-lg);margin-bottom:14px}
.sk-loading-lbl{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--ink-soft);margin-bottom:12px}
.sk-loading-lbl .sp{width:14px;height:14px;border:2px solid var(--line-2);border-top-color:var(--rtn);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.sk-loading-lbl .sp{animation:none}}

/* ═══════════ ONDA 2a "o incrível" — Briefing · O próximo passo · camada IA · Encerrar o dia ═══════════ */

/* --- BRIEFING (R-200): saudação viva, heurística (o momento "aliado") --- */
.brief{position:relative;overflow:hidden;padding:24px 26px;border-radius:var(--r-lg);border:1px solid var(--rtn-line);
  background:linear-gradient(135deg,var(--rtn-soft),transparent 62%);margin:8px 0 18px}
.brief::after{content:"";position:absolute;right:-40px;top:-40px;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,var(--rtn-soft),transparent 70%);pointer-events:none}
.brief-top{display:flex;align-items:center;gap:10px;position:relative;z-index:1;flex-wrap:wrap}
.brief-sun{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;flex:none;
  background:linear-gradient(140deg,var(--rtn),var(--rtn-2));box-shadow:0 8px 18px -8px var(--rtn)}
.brief-sun .ico{width:19px;height:19px}
.brief-hi{font-family:"Bricolage Grotesque",sans-serif;font-size:23px;font-weight:800}
.brief-date{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--ink-soft)}
.brief-date .today-pill{font-size:10.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--rtn),var(--rtn-2));padding:3px 10px;border-radius:var(--r-pill);margin-left:8px}
.brief-say{position:relative;z-index:1;font-size:16.5px;line-height:1.55;color:var(--ink);margin:14px 0 0;max-width:74ch}
.brief-say b{color:var(--rtn);font-weight:800}[data-theme="dark"] .brief-say b{color:var(--rtn-2)}
.brief-cta{position:relative;z-index:1;display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;align-items:center}
.brief-stats{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}

/* --- O PRÓXIMO PASSO (R-201 · ex-"O Fio"): UM próximo passo recomendado (heurística) --- */
.fio{border:1px solid var(--rtn-line);border-radius:var(--r-lg);background:var(--surface);padding:18px;box-shadow:var(--shadow-sm)}
.fio h3{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--rtn);display:flex;align-items:center;gap:7px;margin:0}
[data-theme="dark"] .fio h3{color:var(--rtn-2)}
.fio .q{font-size:13px;color:var(--ink-faint);margin:9px 0 4px}
.fio .a{font-family:"Bricolage Grotesque",sans-serif;font-size:18px;font-weight:800;line-height:1.3}
.fio .meta{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap;font-size:12px;color:var(--ink-soft)}
.fio .acts{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.fio-btn{height:36px;padding:0 14px;border-radius:var(--r-pill);font:inherit;font-weight:700;font-size:13px;cursor:pointer;
  border:1px solid transparent;display:inline-flex;align-items:center;gap:6px;transition:all .14s;text-decoration:none}
.fio-go{color:#fff;background:linear-gradient(135deg,var(--rtn),var(--rtn-2));box-shadow:0 4px 12px -5px var(--rtn)}
.fio-go:hover{transform:translateY(-1px)}
.fio-alt{background:var(--surface);border-color:var(--line-2);color:var(--ink-soft)}
.fio-alt:hover{color:var(--ink);border-color:var(--ink-faint)}

/* --- SWITCH "Sugestões da IA" (R-204 · OFF por padrão · funde a tela /plan · D-1) --- */
.ai-switch{display:inline-flex;align-items:center;gap:9px;height:36px;padding:0 6px 0 14px;border:1px solid var(--ai-line);
  border-radius:var(--r-pill);background:var(--surface);font:inherit;font-size:13px;font-weight:700;color:var(--ai);cursor:pointer;transition:all .16s}
[data-theme="dark"] .ai-switch{color:var(--ai-2)}
.ai-switch:hover{filter:brightness(1.04)}
.ai-switch .knob{width:38px;height:22px;border-radius:var(--r-pill);background:var(--line-2);position:relative;transition:.18s;flex:none}
.ai-switch .knob::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:.18s}
.ai-switch.on .knob{background:linear-gradient(135deg,var(--ai),var(--ai-2))}
.ai-switch.on .knob::after{left:18px}

/* --- BLOCO FANTASMA da IA (R-205): tracejado + violeta, Aprovar/Recusar inline (D-IA-6) --- */
.ghost{position:absolute;left:10px;right:6px;border-radius:12px;border:1.5px dashed var(--ai-line);background:var(--ai-soft);
  display:none;flex-direction:column;justify-content:center;gap:6px;padding:8px 12px;z-index:3;box-shadow:var(--shadow-sm)}
.ai-on .ghost{display:flex}
.ghost .grow{display:flex;align-items:center;gap:8px;width:100%}
.ghost .t{font-family:"JetBrains Mono",monospace;font-size:10.5px;font-weight:700;color:var(--ai);flex:none}
[data-theme="dark"] .ghost .t{color:var(--ai-2)}
.ghost .gn{font-weight:800;font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ghost .why{font-size:11px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.ghost .prop-seal{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:800;color:var(--ai);
  background:var(--surface);border:1px solid var(--ai-line);padding:2px 7px;border-radius:var(--r-pill);flex:none;margin-left:auto}
[data-theme="dark"] .ghost .prop-seal{color:var(--ai-2)}
.ghost .gacts{display:flex;gap:6px;flex:none}
.g-btn{height:26px;padding:0 12px;border-radius:var(--r-pill);font:inherit;font-weight:700;font-size:11.5px;cursor:pointer;border:1px solid transparent;transition:all .14s}
.g-approve{color:#fff;background:linear-gradient(135deg,var(--ai),var(--ai-2))}
.g-approve:hover{filter:brightness(1.06)}
.g-reject{background:var(--surface);border-color:var(--line-2);color:var(--ink-soft)}
.g-reject:hover{border-color:var(--danger);color:var(--danger)}
.ai-note{display:none;align-items:flex-start;gap:9px;margin:10px 0 0;padding:11px 14px;border-radius:var(--r-md);
  background:var(--ai-soft);border:1px solid var(--ai-line);font-size:12px;color:var(--ink-soft);line-height:1.5}
.ai-on .ai-note{display:flex}
.ai-note .ico{color:var(--ai);flex:none}[data-theme="dark"] .ai-note .ico{color:var(--ai-2)}

/* --- ENCERRAR O DIA (R-220 · modal · D-5): ritual leve de alívio --- */
.shut-scrim{position:fixed;inset:0;z-index:60;background:rgba(20,12,5,.5);backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:.2s;border:none}
.shut-scrim.open{opacity:1;visibility:visible}
.shut{position:fixed;left:50%;top:9vh;transform:translateX(-50%) translateY(-8px);z-index:70;width:min(560px,94vw);max-height:84vh;overflow:auto;
  background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:.22s cubic-bezier(.3,.8,.3,1)}
.shut.open{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.shut-hero{padding:26px 26px 20px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--rtn-soft),transparent 70%);position:relative}
.shut-hero .moon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(140deg,var(--rtn),var(--rtn-2));box-shadow:0 8px 20px -8px var(--rtn)}
.shut-hero h2{font-size:23px;font-weight:800;margin-top:14px}
.shut-hero p{font-size:14px;color:var(--ink-soft);margin:6px 0 0;line-height:1.5}
.shut-hero .x{position:absolute;top:18px;right:18px;border:1px solid var(--line-2);background:var(--surface);border-radius:50%;
  width:32px;height:32px;display:grid;place-items:center;cursor:pointer;color:var(--ink-soft)}
.shut-body{padding:22px 26px 26px}
.rings{display:flex;gap:16px;align-items:center;margin-bottom:20px;flex-wrap:wrap}
.ring{width:76px;height:76px;border-radius:50%;flex:none;display:grid;place-items:center;position:relative;
  background:conic-gradient(var(--ok) calc(var(--p,0)*1%),var(--line-2) 0)}
.ring::before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--surface)}
.ring b{position:relative;font-family:"Bricolage Grotesque",sans-serif;font-size:20px;font-weight:800}
.rings .rt{font-size:13px;color:var(--ink-soft);line-height:1.5}
.rings .rt b{color:var(--ink);font-size:15px;display:block;font-family:"Bricolage Grotesque",sans-serif}
.leftover{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-bottom:18px}
.leftover .lh{padding:12px 16px;font-size:13px;font-weight:800;background:var(--surface-2);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}
.lo-row{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13.5px}
.lo-row:last-child{border-bottom:none}
.lo-row .n{font-weight:700;flex:1}
.lo-row .mv{height:30px;padding:0 13px;border:1px solid var(--rtn-line);border-radius:var(--r-pill);background:var(--surface);
  color:var(--rtn);font:inherit;font-weight:700;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.lo-row .mv:hover{background:var(--rtn-soft)}
.lo-row.moved .mv{color:var(--ok);border-color:rgba(15,169,104,.4);pointer-events:none}
.shut-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.shut-foot .bye{margin-left:auto;font-size:13px;color:var(--ink-faint);font-style:italic}
.shutdown-card{background:linear-gradient(135deg,var(--surface-2),transparent);border:1px solid var(--rtn-line)}
.shutdown-card .hint{font-size:12.5px;color:var(--ink-soft);margin:6px 0 12px;line-height:1.5}

/* ═══════════ ONDA 2b — Semana/Mês interativos (mesmo modelo do Hoje) ═══════════ */
.wk-col{cursor:pointer}
.wk-col:focus-visible{outline:2px solid var(--rtn);outline-offset:-2px}
.wk-col .cell-hint{position:absolute;left:4px;right:4px;display:none;align-items:center;justify-content:center;gap:5px;height:22px;
  font-size:10.5px;font-weight:800;color:var(--rtn);background:var(--rtn-soft);border:1px dashed var(--rtn);border-radius:7px;pointer-events:none;z-index:1}
[data-theme="dark"] .wk-col .cell-hint{color:var(--rtn-2)}
.wblk{cursor:pointer;display:flex;align-items:center;gap:4px;z-index:2}
.wblk>span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0}
.wblk.drg{cursor:grab}
.wblk.dragging{opacity:.85;box-shadow:var(--shadow-lg);z-index:30;cursor:grabbing}
.wblk .yk{flex:none;color:var(--rtn);display:inline-flex;align-items:center}
.wblk .yk .ico{width:.95em;height:.95em}
[data-theme="dark"] .wblk .yk{color:var(--rtn-2)}
.wblk.ghost{background:var(--ai-soft);border:1.5px dashed var(--ai-line);color:var(--ai);display:none}
.wk.ai-on .wblk.ghost{display:flex}
[data-theme="dark"] .wblk.ghost{color:var(--ai-2)}
.wk-now{position:absolute;left:0;right:0;height:2px;background:var(--rtn);z-index:5;pointer-events:none}
.wk-now::before{content:"";position:absolute;left:-1px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--rtn)}
/* composer FLUTUANTE (Semana/Mês) — reusa mini-seg/chip-in/c-create do Hoje */
.qcomp{position:fixed;z-index:62;width:300px;max-width:92vw;background:var(--surface);border:1.5px solid var(--rtn);border-radius:12px;
  box-shadow:var(--shadow-lg);padding:12px 14px;display:none;flex-direction:column;gap:10px}
.qcomp.open{display:flex}
.qcomp .ctop{display:flex;align-items:center;gap:8px}
.qcomp .ctop .lbl{font-size:11px;font-weight:800;color:var(--rtn);text-transform:uppercase;letter-spacing:.05em;display:inline-flex;align-items:center;gap:5px}
[data-theme="dark"] .qcomp .ctop .lbl{color:var(--rtn-2)}
.qcomp .ctop .x{margin-left:auto;border:none;background:none;color:var(--ink-faint);cursor:pointer;line-height:1;padding:2px;display:inline-flex}
.qcomp .ctop .x:hover{color:var(--ink)}
.qcomp input.ct{border:none;background:none;font:inherit;font-size:15px;font-weight:700;color:var(--ink);outline:none;width:100%}
.qcomp input.ct::placeholder{color:var(--ink-faint);font-weight:600}
.qcomp .crow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qcomp .cfoot{display:flex;align-items:center;gap:8px}
.qcomp .cfoot .hint{font-size:11px;color:var(--ink-faint);margin-left:auto}
/* Mês interativo — pills por dia + ＋N */
.mo .mday{cursor:pointer;display:flex;flex-direction:column;gap:5px}
.mo .mday.blank{cursor:default}
.mo .mday:focus-visible{outline:2px solid var(--rtn);outline-offset:-2px}
.mo .mday.dragover{border-color:var(--rtn);box-shadow:0 0 0 2px var(--rtn-soft)}
.mo .md-n{flex:none}
.mo-items{display:flex;flex-direction:column;gap:3px}
.mo-item{display:flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;color:var(--ink);border:1px solid;border-radius:6px;padding:2px 6px;cursor:pointer;overflow:hidden;white-space:nowrap}
.mo-item>span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0}
.mo-item[draggable="true"]{cursor:grab}
.mo-item.dragging{opacity:.6}
.mo-item.enc{background:var(--enc-soft);border-color:var(--enc-line)}
.mo-item.agd{background:var(--agd-soft);border-color:var(--agd-line)}
.mo-item.qdr{background:var(--qdr-soft);border-color:var(--qdr-line)}
.mo-item.rtn{background:var(--rtn-soft);border-color:var(--rtn-line)}
.mo-item .yk{flex:none;color:var(--rtn);display:inline-flex;align-items:center}.mo-item .yk .ico{width:.9em;height:.9em}
[data-theme="dark"] .mo-item .yk{color:var(--rtn-2)}
.mo-item.ghost{background:var(--ai-soft);border:1.5px dashed var(--ai-line);color:var(--ai);display:none}
.mo.ai-on .mo-item.ghost{display:flex}
[data-theme="dark"] .mo-item.ghost{color:var(--ai-2)}
.mo-more{font-size:10px;font-weight:800;color:var(--ink-soft);cursor:pointer;padding:1px 4px}
.mo-more:hover{color:var(--rtn)}