:root{--bg:#f5f6fb;--card:#fff;--txt:#1e2235;--sub:#6b7190;--borda:#e4e6f0;--eu:#e9e7ff;--eles:#fff;
--azul:#2563eb;--roxo:#7c3aed;--grad:linear-gradient(135deg,#2563eb 0%,#4f46e5 50%,#7c3aed 100%);--mark:#fde68a;--midia:#f1f3fa}
@media (prefers-color-scheme:dark){:root{--bg:#0f1220;--card:#181c2e;--txt:#e7e9f5;--sub:#9aa0bf;--borda:#2a2f48;
--eu:#2e2a5c;--eles:#1f2438;--midia:#232842;--mark:#6d5b12}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.5 Ubuntu,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--azul)}@media (prefers-color-scheme:dark){a{color:#a5b4fc}}
.topo{position:sticky;top:0;z-index:5;background:var(--grad);color:#fff;padding:calc(env(safe-area-inset-top) + 10px) 16px 12px;box-shadow:0 2px 12px rgba(40,30,120,.25)}
.topo .linha{display:flex;align-items:center;gap:10px;max-width:760px;margin:0 auto}
.marca{color:#fff;text-decoration:none;font-size:18px;letter-spacing:.2px;flex:1}.marca b{font-weight:700}
.topo nav a{color:#fff;opacity:.9;text-decoration:none;margin-left:14px;font-size:14px}
.voltar{color:#fff;text-decoration:none;font-size:30px;line-height:1;padding:0 6px 4px 0}
.busca{max-width:760px;margin:10px auto 0}
.busca input,.filtro input{width:100%;border:0;border-radius:12px;padding:11px 14px;font:inherit;background:rgba(255,255,255,.95);color:#1e2235;outline:none}
.filtro input{border:1px solid var(--borda);background:var(--card);color:var(--txt)}
main{max-width:760px;margin:0 auto;padding:14px 16px calc(40px + env(safe-area-inset-bottom))}
.card{background:var(--card);border:1px solid var(--borda);border-radius:16px;padding:14px 16px;margin:0 0 12px}
.card h2,.h{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--sub);margin:4px 0 8px;font-weight:500}
.h{margin:18px 2px 8px}
.destaque{border:0;background:var(--grad);color:#fff}.destaque h2,.destaque .sub{color:rgba(255,255,255,.8)}.destaque a{color:#fff}
.destaque p{margin:0 0 6px}
.sub{color:var(--sub);font-size:13px}
.dias{display:flex;justify-content:space-between;align-items:center;margin:2px 2px 12px;font-size:14px}
.dias a{text-decoration:none}
.pend{list-style:none;margin:0;padding:0}.pend li{padding:9px 0;border-top:1px solid var(--borda);display:flex;flex-direction:column;gap:3px}
.pend li:first-child{border-top:0}.pend a{text-decoration:none;color:var(--txt);font-weight:500}
.pend a::before{content:"○ ";color:var(--roxo)}
.chip{font-size:12px;color:var(--sub)}
.conv{display:block;background:var(--card);border:1px solid var(--borda);border-radius:14px;padding:12px 14px;margin-bottom:10px;color:var(--txt);text-decoration:none}
.conv p{margin:6px 0 0;font-size:14px}.conv .titulo{display:flex;justify-content:space-between;gap:10px;font-weight:500}
.conv.linha{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;margin-bottom:6px}
.badge{display:inline-block;margin-top:6px;font-size:12px;background:#ede9fe;color:#5b21b6;border-radius:20px;padding:2px 9px}
.novo{display:inline-block;margin-top:6px;font-size:12px;color:var(--azul)}
.cab{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:2px 0 12px}
.cab h1{font-size:20px;margin:0}
.acoes{display:flex;gap:8px}
.btn{background:var(--grad);color:#fff!important;text-decoration:none;border-radius:20px;padding:7px 14px;font-size:13px}
.btn.sec{background:var(--card);color:var(--txt)!important;border:1px solid var(--borda)}
.resumo summary{cursor:pointer;font-weight:500}.resumo p{margin:8px 0 4px}
.chat{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.sep{text-align:center;margin:10px 0 4px}.sep span{font-size:12px;color:var(--sub);background:var(--card);border:1px solid var(--borda);border-radius:12px;padding:2px 10px}
.msg{max-width:88%;border-radius:14px;padding:8px 11px 5px;background:var(--eles);border:1px solid var(--borda);word-wrap:break-word;overflow-wrap:anywhere}
.msg.eu{align-self:flex-end;background:var(--eu);border-color:transparent}
.msg.foco{outline:3px solid var(--roxo);outline-offset:2px}
.autor{font-size:12px;font-weight:700;color:var(--roxo);margin-bottom:2px}
.meta{font-size:11px;color:var(--sub);text-align:right;margin-top:2px}.meta a{text-decoration:none;margin-left:4px}
.citacao{font-size:12px;color:var(--sub);border-left:3px solid var(--roxo);padding:2px 8px;margin:2px 0 5px;background:var(--midia);border-radius:6px}
.midia{background:var(--midia);border-radius:10px;padding:7px 9px;margin-top:4px;font-size:14px}
.midia.vazia{color:var(--sub);font-size:13px}
.midia details summary{font-size:12px;color:var(--azul);cursor:pointer;margin-top:4px}
.tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sub);margin-bottom:2px}
mark{background:var(--mark);color:inherit;border-radius:3px;padding:0 2px}
.mais{display:block;text-align:center;margin:8px 0;font-size:14px}
.rodape{text-align:center;color:var(--sub);font-size:12px;margin-top:24px}
.lista{margin-top:12px}.filtro{margin-bottom:4px}
body.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--grad);padding:16px}
body.login form{width:100%;max-width:360px;text-align:center;padding:28px 22px}
body.login h1{font-size:24px;font-weight:400;margin:10px 0 2px}
.logo{width:64px;height:64px;margin:0 auto;border-radius:18px;background:var(--grad) url(/static/icon.svg) center/cover}
body.login input{width:100%;margin:14px 0 10px;padding:12px 14px;border:1px solid var(--borda);border-radius:12px;font:inherit;background:var(--bg);color:var(--txt)}
body.login button{width:100%;padding:12px;border:0;border-radius:12px;background:var(--grad);color:#fff;font:inherit;font-weight:500}
.erro{color:#dc2626;font-size:14px}
