  :root{
    --bg:#f7f7f5; --card:#ffffff; --ink:#22262d; --ink2:#3c424c; --muted:#8a9099; --line:#eae8e3;
    --brand:#1c7a5a; --brand-d:#166049; --brand-l:#e9f3ee; --accent:#1c7a5a;
    --grad:#1c7a5a; --grad-hero:#ffffff;
    --red:#b4483f; --amber:#a9772a; --green:#1c7a5a;
    --shadow:0 1px 2px rgba(34,38,45,.04),0 1px 3px rgba(34,38,45,.05);
    --shadow-md:0 4px 14px rgba(34,38,45,.08);
    --shadow-lg:0 18px 46px rgba(34,38,45,.18);
    --radius:14px;
    --bg-grad:#f7f7f5;
  }
  *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
  body{margin:0;font-family:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    background:var(--bg-grad);color:var(--ink);line-height:1.5;padding-bottom:80px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
  @media(prefers-reduced-motion:no-preference){ .item,.kpi,.btn,.savebtn,.fab,.perf-tile,.hoje-cobrar,.tab,.seg button,.nav{transition:transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease, border-color .16s ease} }
  button{font-family:inherit;cursor:pointer}
  .hidden{display:none!important}
  /* login — DESKTOP: card + arte centralizados; a arte usa contain (nunca distorce) num box na proporção da imagem */
  .authwrap{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;
    gap:clamp(24px,4vw,64px);padding:40px;background:linear-gradient(135deg,#e9f0fb 0%,#f3f6fc 55%,#ecf7f2 100%)}
  .authart{order:2;flex:0 0 auto;width:clamp(300px,40vw,520px);height:clamp(400px,76vh,640px);
    background:url('login-art.png') center/contain no-repeat}
  .authpanel{order:1;flex:0 0 auto;display:grid;place-items:center;padding:0;background:none}
  /* MOBILE: arte vira hero de topo (cover) e o card sobe por cima como folha */
  @media(max-width:860px){
    .authwrap{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:0;background:var(--bg)}
    .authart{order:0;flex:1 1 auto;width:100%;height:auto;min-height:38vh;
      background:#eef3fb url('login-art.png') center top/cover no-repeat}
    .authpanel{flex:0 0 auto;width:100%;place-items:stretch}
    .authcard{max-width:none;width:100%;border-radius:28px 28px 0 0;margin-top:-28px;position:relative;z-index:2;
      box-shadow:0 -8px 30px rgba(60,90,140,.12);padding:28px 22px calc(28px + env(safe-area-inset-bottom))}
  }
  .linktest{background:none;border:none;color:var(--muted);font-size:12.5px;text-decoration:underline;margin-top:16px;width:100%}
  .authcard{background:var(--card);border-radius:20px;box-shadow:var(--shadow);padding:32px 28px;width:100%;max-width:380px}
  .logo{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:6px}
  .logo .mk{width:42px;height:42px;border-radius:12px;object-fit:cover;display:block;box-shadow:0 2px 8px rgba(60,90,140,.18)}
  .logo b{font-size:20px;font-weight:800;letter-spacing:-.02em}
  .logo b i{color:var(--accent);font-style:normal}
  .authcard .sub{text-align:center;color:var(--muted);font-size:13px;margin-bottom:22px}
  .authcard label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin:12px 0 5px}
  .authcard input{width:100%;border:1.5px solid var(--line);border-radius:11px;padding:12px 13px;font-size:15px;font-family:inherit}
  .authcard input:focus{outline:none;border-color:var(--brand)}
  .btn{background:var(--brand);color:#fff;border:none;border-radius:11px;padding:13px;font-size:15px;font-weight:700;width:100%;margin-top:18px}
  .btn.sec{background:transparent;color:var(--brand-d);font-weight:600;margin-top:8px}
  .btn.ggl{background:#fff;color:#3c4043;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;gap:10px;margin-top:4px}
  .ou{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:16px 0 2px}
  .ou::before,.ou::after{content:"";flex:1;height:1px;background:var(--line)}
  .authmsg{font-size:13px;margin-top:12px;text-align:center;min-height:18px}
  .authmsg.err{color:var(--red)} .authmsg.ok{color:var(--green)}
  /* app */
  header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.82);backdrop-filter:saturate(1.5) blur(14px);-webkit-backdrop-filter:saturate(1.5) blur(14px);border-bottom:1px solid var(--line);
    padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top))}
  body.dark header{background:rgba(21,26,34,.82)}
  .htop{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:900px;margin:0 auto}
  .htop .brand{display:flex;align-items:center;gap:8px;font-weight:800;letter-spacing:-.02em}
  .htop .brand .mk{width:32px;height:32px;border-radius:9px;object-fit:cover;display:block}
  .htop .brand i{color:var(--accent);font-style:normal}
  .huser{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}
  .hlogout{background:var(--brand-l);color:var(--brand-d);border:none;border-radius:9px;padding:7px 12px;font-size:12.5px;font-weight:700}
  .tabs{display:flex;gap:6px;max-width:900px;margin:10px auto 0;overflow-x:auto}
  .tab{flex:0 0 auto;background:#eaf0f7;border:1px solid var(--line);border-radius:10px;padding:8px 13px;font-size:13.5px;font-weight:600;color:var(--ink)}
  .tab.on{background:var(--brand);color:#fff;border-color:var(--brand)}
  .tab .cnt{background:var(--red);color:#fff;border-radius:999px;padding:0 6px;font-size:11px;font-weight:800;margin-left:5px}
  main{max-width:900px;margin:0 auto;padding:16px}
  /* agenda */
  .ag-wrap{display:grid;grid-template-columns:1fr;gap:16px}
  @media(min-width:760px){ .ag-wrap{grid-template-columns:1fr 296px;align-items:start} .ag-side{position:sticky;top:118px} }
  .ag-head{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-bottom:12px}
  .ag-nav{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700}
  .ag-nav b{min-width:118px;text-align:center}
  .ag-nav button{background:var(--brand-l);color:var(--brand-d);border:none;border-radius:9px;width:34px;height:34px;font-size:18px;font-weight:700}
  .ag-actions{display:flex;gap:8px}
  .ag-hoje{background:#fff;border:1.5px solid var(--line);color:var(--ink);border-radius:9px;padding:7px 13px;font-size:13px;font-weight:700}
  .ag-sync{background:var(--brand);color:#fff;border:none;border-radius:9px;padding:7px 13px;font-size:13px;font-weight:700}
  .ag-hint{background:var(--brand-l);color:var(--brand-d);border-radius:12px;padding:12px 14px;font-size:13.5px;margin-bottom:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
  .ag-semana{display:flex;flex-direction:column;gap:8px}
  .ag-dia{background:var(--card);border-radius:12px;box-shadow:var(--shadow);padding:10px 13px;display:flex;gap:14px;align-items:flex-start;border-left:4px solid transparent}
  .ag-dia.hoje{border-left-color:var(--brand);background:var(--brand-l)}
  .ag-dcab{flex:0 0 44px;text-align:center;padding-top:2px}
  .ag-dn{display:block;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--muted);letter-spacing:.5px}
  .ag-dd{display:block;font-size:21px;font-weight:800;line-height:1.1}
  .ag-dia.hoje .ag-dd{color:var(--brand-d)}
  .ag-devs{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
  .ag-vazio{color:var(--muted);font-size:13px;opacity:.55;padding:5px 2px}
  .ag-ev{display:flex;align-items:stretch;width:100%;background:#f4f8fd;border:none;border-left:3px solid var(--brand);border-radius:8px;overflow:hidden;font-size:13.5px;color:var(--ink)}
  .ag-ev.ev-cal{border-left-color:var(--accent);background:#edfaf5}
  .ag-ev.ev-cobranca{border-left-color:var(--red);background:#fdeeee}
  .ag-ev.ev-tarefa{border-left-color:#5b63c9;background:#eef0ff}
  .ag-ev.done{opacity:.5}.ag-ev.done .ag-t{text-decoration:line-through}
  .ag-evmain{flex:1;min-width:0;display:flex;gap:10px;align-items:baseline;text-align:left;background:none;border:none;padding:8px 11px;font-size:inherit;color:inherit}
  .ag-h{flex:0 0 auto;font-weight:700;font-size:12.5px;color:var(--brand-d);font-variant-numeric:tabular-nums;min-width:34px}
  .ag-h.all{color:var(--muted);font-weight:600}
  .ag-t{flex:1;min-width:0;font-weight:600;word-break:break-word}
  .ag-evx{flex:0 0 auto;background:none;border:none;color:var(--muted);font-size:13px;font-weight:700;padding:0 12px;opacity:.55}
  .ag-evx:hover{opacity:1;color:var(--red)}
  /* modal de reunião/evento */
  .ev-info{display:flex;flex-direction:column;gap:9px;background:var(--brand-l);border-radius:14px;padding:13px 15px;margin:12px 0}
  .ev-row{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink);line-height:1.4}
  .ev-row>span:first-child{flex:0 0 18px}
  .ev-meet{display:block;text-align:center;background:var(--green);color:#fff;text-decoration:none;border-radius:13px;padding:15px;font-weight:700;font-size:15.5px;box-shadow:0 4px 14px rgba(58,169,138,.32)}
  .ev-meet:active{transform:translateY(1px)}
  .minical{background:var(--card);border-radius:14px;box-shadow:var(--shadow);padding:12px 12px 14px}
  .mc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
  .mc-head b{font-size:14px;font-weight:700;text-transform:capitalize}
  .mc-head button{background:none;border:none;color:var(--brand-d);font-size:19px;font-weight:700;width:28px;height:28px;border-radius:7px}
  .mc-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:5px}
  .mc-dow span{text-align:center;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase}
  .mc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
  .mc-d{position:relative;aspect-ratio:1;border:none;background:none;border-radius:9px;font-size:12.5px;font-weight:600;color:var(--ink);display:grid;place-items:center}
  .mc-d.out{color:var(--muted);opacity:.4}
  .mc-d.hoje{color:var(--brand-d);font-weight:800;background:var(--brand-l)}
  .mc-d.sel{background:var(--brand);color:#fff}
  .mc-d.has::after{content:"";position:absolute;bottom:5px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent)}
  .mc-d.sel.has::after,.mc-d.hoje.sel.has::after{background:#fff}
  .section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:8px 4px 12px}
  .sec-toggle{display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;font:inherit;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:8px 4px 12px;padding:4px 0}
  .sec-toggle:hover{color:var(--ink)}
  .empty{text-align:center;color:var(--muted);padding:40px 16px;font-size:14px}
  /* card */
  .item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;margin-bottom:10px;
    display:flex;gap:12px;align-items:flex-start;border-left:4px solid transparent}
  @media(prefers-reduced-motion:no-preference){ .item:hover{border-color:#dcd9d2;box-shadow:var(--shadow-md)} }
  .item.urg{border-left-color:var(--red)} .item.feito{opacity:.6}
  .chk{flex:0 0 auto;width:24px;height:24px;border-radius:50%;border:2px solid var(--line);background:#fff;margin-top:2px;display:grid;place-items:center;color:#fff;font-size:13px}
  .item.feito .chk{background:var(--green);border-color:var(--green)}
  .chk.on{background:var(--green);border-color:var(--green)}   /* minha parte concluída (mesmo com a tarefa ainda aberta pros outros) */
  .ib{flex:1;min-width:0}
  .it{font-weight:700;font-size:15px;word-break:break-word}
  .item.feito .it{text-decoration:line-through;color:var(--muted);font-weight:500}
  .meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
  .badge{font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px;background:#eef2f8;color:var(--muted)}
  .badge.pes{background:var(--brand-l);color:var(--brand-d)}
  .badge.b-seen{background:#e4f6f0;color:#2f8a6a}
  .badge.b-done{background:#d9f2e6;color:#1c7a5a;font-weight:700}
  .badge.b-unseen{background:#f3f2ec;color:#9a7a3a}
  .badge.tom-cobranca{background:#fdeaea;color:#cf5a5a} .badge.tom-tarefa{background:#eef0ff;color:#5b63c9} .badge.tom-lembrete{background:var(--brand-l);color:var(--brand-d)}
  .badge.prz{background:#fbecec;color:var(--red)} .badge.prz.ok{background:#eef2f8;color:var(--muted)}
  .idet{font-size:13px;color:var(--muted);margin-top:7px;white-space:pre-wrap}
  /* notif */
  .notif{background:var(--card);border-radius:12px;box-shadow:var(--shadow);padding:12px 14px;margin-bottom:8px;border-left:4px solid var(--brand);display:flex;gap:10px;justify-content:space-between}
  .notif.lida{opacity:.55;border-left-color:var(--line)}
  .notif-grupo{cursor:pointer;border-left-color:var(--accent)} .notif-grupo:hover{box-shadow:var(--shadow-md)}
  .notif .ntxt{font-size:14px} .notif .nwhen{font-size:11.5px;color:var(--muted);margin-top:3px}
  .notif button{background:none;border:none;color:var(--brand-d);font-size:12px;font-weight:700;flex:0 0 auto}
  /* fab + modal */
  .fab{position:fixed;right:16px;bottom:calc(80px + env(safe-area-inset-bottom));background:var(--ink);color:#fff;border:none;
    border-radius:12px;height:50px;padding:0 18px;font-size:14.5px;font-weight:600;box-shadow:0 8px 20px rgba(34,38,45,.26);display:flex;align-items:center;gap:8px}
  .overlay{position:fixed;inset:0;background:rgba(20,28,44,.42);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:50;display:none;align-items:flex-end;justify-content:center}
  .overlay.on{display:flex}
  .sheet{background:var(--card);width:100%;max-width:520px;border-radius:22px 22px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));max-height:92vh;overflow-y:auto;overflow-x:hidden;box-shadow:var(--shadow-lg)}
  .sheet h2{font-weight:700}
  @media(min-width:600px){.overlay{align-items:center}.sheet{border-radius:20px}}
  @media(prefers-reduced-motion:no-preference){ @keyframes sheetUp{from{transform:translateY(26px);opacity:.5}to{transform:none;opacity:1}} .overlay.on .sheet{animation:sheetUp .22s cubic-bezier(.2,.8,.2,1)} }
  .sheet h2{margin:0 0 16px;font-size:19px;font-weight:800;letter-spacing:-.02em}
  .field{margin-bottom:13px}
  .field label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:5px}
  .field input,.field textarea,.field select{width:100%;border:1.5px solid var(--line);border-radius:11px;padding:11px 12px;font-size:15px;font-family:inherit}
  .field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--brand)}
  .seg{display:flex;gap:8px}
  .seg button{flex:1;border:1.5px solid var(--line);background:#fff;border-radius:11px;padding:9px;font-size:13.5px;font-weight:600;color:var(--ink)}
  .seg button.on{background:var(--brand);border-color:var(--brand);color:#fff}
  .pchips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}
  .pchip{display:inline-flex;align-items:center;gap:6px;background:var(--brand-l);color:var(--brand-d);border-radius:999px;padding:5px 6px 5px 12px;font-size:13px;font-weight:600}
  .pchip button{background:rgba(63,111,176,.2);border:none;color:var(--brand-d);border-radius:50%;width:18px;height:18px;font-size:12px;line-height:1}
  .savebtn{background:var(--grad);color:#fff;border:none;border-radius:12px;padding:14px;font-size:15px;font-weight:700;width:100%;margin-top:6px;box-shadow:0 8px 20px rgba(18,168,119,.32)}
  .btn:not(.sec):hover,.savebtn:hover{filter:brightness(1.05)}
  .btn:active,.savebtn:active,.fab:active,.perf-tile:active,.seg button:active{transform:translateY(1px)}
  .btn.ggl{box-shadow:var(--shadow)}
  /* chat Mandy */
  .mandy-chat{background:var(--card);border-radius:14px;box-shadow:var(--shadow);padding:14px;min-height:46vh;max-height:58vh;overflow-y:auto;display:flex;flex-direction:column;gap:8px}
  .mandy-hello{color:var(--muted);font-size:14px;text-align:center;margin:auto;max-width:340px;line-height:1.6}
  .mmsg{max-width:85%;width:fit-content;padding:9px 13px;border-radius:14px;font-size:14px;line-height:1.5;word-break:break-word;background:#eef2f8;color:var(--ink)}
  .mmsg.out{margin-left:auto;background:var(--brand);color:#fff}
  .mmsg a{color:inherit;text-decoration:underline}
  .mwhen{display:block;font-size:10px;opacity:.55;margin-top:3px}
  .recibo{display:block;font-size:10px;margin-top:2px;opacity:.75;font-style:italic}
  .recibo.ok{color:#bfe6d6}
  .badge.b-new{background:var(--red);color:#fff}
  .badge.b-ext{background:#e6f7ec;color:#1f7a4d;border:1px solid #c9ecd5}
  /* avatares */
  .avatar{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff;font-size:10.5px;font-weight:800;flex:0 0 auto;vertical-align:middle;letter-spacing:.2px}
  .avatar.big{width:52px;height:52px;font-size:20px}
  img.avatar{object-fit:cover}
  .avwrap{position:relative;display:inline-block;vertical-align:middle;line-height:0}
  .stdot{position:absolute;right:-1px;bottom:-1px;width:8px;height:8px;border-radius:50%;border:2px solid #fff}
  .avwrap .avatar.big+.stdot{width:14px;height:14px;right:1px;bottom:1px}
  .statusseg button{display:flex;align-items:center;justify-content:center;gap:5px}
  .statusseg button.on[data-st=online]{background:var(--green);border-color:var(--green);color:#fff}
  .statusseg button.on[data-st=ocupado]{background:var(--red);border-color:var(--red);color:#fff}
  .statusseg button.on[data-st=ausente]{background:var(--amber);border-color:var(--amber);color:#fff}
  .emojipop{position:fixed;z-index:60;display:none;grid-template-columns:repeat(8,1fr);gap:2px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:8px;width:252px;max-height:190px;overflow-y:auto}
  .emojipop.on{display:grid}
  .emojipop button{background:none;border:none;font-size:19px;padding:4px;border-radius:8px;line-height:1}
  .emojipop button:hover{background:var(--brand-l)}
  /* header sino + bottom nav */
  .hbell{position:relative;background:var(--brand-l);color:var(--brand-d);border:none;border-radius:10px;width:38px;height:38px;font-size:18px}
  .hbell .cnt{position:absolute;top:-4px;right:-4px;background:var(--red);color:#fff;border-radius:999px;font-size:10px;font-weight:800;padding:0 5px;border:1.5px solid #fff}
  @media(max-width:560px){ .hide-sm{display:none} }
  .btmnav{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--card);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:8px 4px calc(9px + env(safe-area-inset-bottom))}
  .nav .ic svg{width:22px;height:22px;display:block;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .nav{flex:1;background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;font-weight:700;color:var(--muted);position:relative;padding:6px 0;border-radius:14px;font-family:inherit}
  .nav .ic{font-size:21px;line-height:1;transition:transform .12s}
  .nav.on{color:var(--accent)}
  .nav.on .ic{transform:translateY(-1px)}
  .nav .cnt{position:absolute;top:0;right:calc(50% - 24px);background:var(--red);color:#fff;border-radius:999px;font-size:9px;font-weight:800;padding:0 5px;border:1.5px solid #fff}
  /* ===== DESKTOP: barra embaixo, limpa e centralizada ===== */
  @media(min-width:900px){
    body{padding-bottom:88px}
    .btmnav{justify-content:center;gap:10px}
    .nav{flex:0 0 auto;padding:8px 24px}
    .fab{bottom:calc(84px + env(safe-area-inset-bottom))}
  }
  /* tela Hoje */
  .hoje-hello{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:4px 2px 18px}
  .hoje-hello span{display:block;color:var(--muted);font-weight:500;font-size:12.5px;margin-top:6px;text-transform:capitalize}
  .hoje-vazio{color:var(--muted);font-size:13.5px;padding:4px 2px 6px;opacity:.7}
  .hoje-cobrar{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--card);border:none;border-left:3px solid var(--red);border-radius:12px;box-shadow:var(--shadow);padding:10px 12px;margin-bottom:8px}
  .hc-av{flex:0 0 auto;display:grid;place-items:center;font-size:16px}
  .hc-tx{flex:1;min-width:0;font-size:13.5px;font-weight:600}
  .hc-tx small{display:block;color:var(--muted);font-weight:500;font-size:11.5px;margin-top:1px}
  .kpi[data-goto]{cursor:pointer}
  .linkbtn{background:none;border:none;color:var(--brand-d);font-size:12px;font-weight:700;font-family:inherit;text-transform:none;letter-spacing:0}
  .seg.tabseg{margin-bottom:12px}
  /* apagar mensagem */
  .mmsg{position:relative;padding-right:26px}
  .msg-menu{position:absolute;top:1px;right:3px;background:none;border:none;color:inherit;opacity:.4;font-size:15px;font-weight:800;line-height:1;padding:2px 5px;cursor:pointer;border-radius:6px}
  .msg-menu:hover{opacity:.9}
  .msg-apagada{font-style:italic;opacity:.75;font-size:13px}
  .mmsg.apagada{opacity:.85}
  .reac-pick{display:flex;gap:6px;justify-content:center;margin-bottom:14px}
  .reac-pick button{background:var(--brand-l);border:none;border-radius:50%;width:46px;height:46px;font-size:23px;cursor:pointer;transition:transform .1s}
  .reac-pick button:hover{transform:scale(1.15)}
  .reac-row{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
  .reac{background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:700;padding:1px 8px;cursor:pointer;color:var(--ink)}
  .mmsg.out .reac{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.4);color:#fff}
  .reac.meu{background:var(--brand-l);border-color:var(--brand);color:var(--brand-d)}
  .reac{display:inline-flex;align-items:center;gap:2px}
  .ravts{display:inline-flex;align-items:center}
  .ravt{width:16px;height:16px;border-radius:50%;display:inline-grid;place-items:center;color:#fff;font-size:8px;font-weight:800;object-fit:cover;border:1.5px solid #fff;margin-left:-5px}
  .ravts .ravt:first-child{margin-left:1px}
  .rmais{font-size:9.5px;font-weight:800;margin-left:2px;color:inherit}
  .versao{text-align:center;color:var(--muted);font-size:10.5px;opacity:.6;margin-top:14px}
  /* menu do perfil (limpo) */
  .perf-lbl{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:16px 2px 8px}
  .perf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .perf-tile{display:flex;flex-direction:column;align-items:center;gap:6px;background:#f4f8fd;border:1px solid var(--line);border-radius:14px;padding:13px 6px;font-size:11.5px;font-weight:700;color:var(--ink);cursor:pointer;text-align:center;line-height:1.2}
  .perf-tile span{font-size:22px;line-height:1}
  .perf-tile:hover{background:var(--brand-l);border-color:var(--brand)}
  .perf-tile.hidden{display:none!important}
  .perf-prefs{display:flex;gap:8px;margin-top:8px}
  .perf-pref{flex:1;background:#f4f8fd;border:1px solid var(--line);border-radius:12px;padding:11px 8px;font-size:12.5px;font-weight:700;color:var(--ink);cursor:pointer}
  .perf-pref:hover{background:var(--brand-l)}
  body.dark .perf-tile,body.dark .perf-pref{background:#243244;color:var(--ink)}
  /* auditoria */
  .aud-filtros{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
  .aud-filtros .minisel{width:100%}
  .aud-row{padding:9px 0;border-bottom:1px solid var(--line)}
  .aud-top{display:flex;align-items:center;gap:8px}
  .aud-top b{font-size:13.5px}
  .aud-acao{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;background:var(--brand-l);color:var(--brand-d);padding:1px 8px;border-radius:999px}
  .aud-meta{font-size:11.5px;color:var(--muted);margin-top:2px;word-break:break-word}
  .aud-pag{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px}
  .aud-pag .btn{width:auto;margin:0;padding:8px 12px;font-size:13px}
  .aud-cont{font-size:12px;color:var(--muted)}
  .mandy-act{flex:0 0 auto;background:var(--brand-l);color:var(--brand-d);border:none;border-radius:10px;width:36px;height:36px;font-size:17px;font-weight:800;cursor:pointer}
  .hist-item{display:block;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 13px;margin-bottom:8px;cursor:pointer}
  .hist-item.atual{border-color:var(--brand);background:var(--brand-l)}
  .hist-item b{display:block;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hist-item small{color:var(--muted);font-size:11.5px}
  body.dark .mandy-act{background:#243244;color:var(--brand-d)}
  .prazo-ped{background:#fdf6e3;border:1px solid #f0e0b0;border-radius:12px;padding:10px 12px;margin-bottom:10px;font-size:13.5px;color:#7a5a1a}
  .prazo-ped small{color:#9a7a3a}
  .pp-btns{display:flex;gap:8px;margin-top:8px}
  .pp-btns .btn{width:auto;margin:0;flex:1;padding:8px}
  .pp-wait{font-size:12px;color:#9a7a3a;margin-top:6px;font-style:italic}
  body.dark .prazo-ped{background:#3a3320;border-color:#5a4d2a;color:#e8d9a8}
  body.dark .reac{background:#2b333f;color:var(--ink);border-color:#3a4553}
  .mmsg{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
  /* no COMPUTADOR dá pra selecionar/copiar o texto das mensagens (pedido Clara 2026-07-13); arrastar cancela o "toque longo pra reagir" (move>10px), então não conflita. No celular mantém user-select:none pra o toque-longo-pra-reagir continuar funcionando. */
  @media (hover:hover) and (pointer:fine){ .mmsg,.mmsg *{-webkit-user-select:text;user-select:text} }
  .reacbar{position:fixed;z-index:70;display:none;gap:2px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 8px;box-shadow:0 12px 30px rgba(40,60,100,.22),0 2px 8px rgba(40,60,100,.12)}
  .reacbar.on{display:flex;animation:rbpop .15s ease}
  @keyframes rbpop{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}
  .reacbar button{background:none;border:none;font-size:25px;line-height:1;cursor:pointer;padding:3px 5px;border-radius:50%;transition:transform .1s}
  .reacbar button:hover{transform:scale(1.25)}
  .reacbar .mais{font-size:19px;color:var(--muted)}
  body.dark .reacbar{background:#1e2530;border-color:var(--line)}
  .fmtbar{position:fixed;z-index:70;display:none;align-items:center;gap:5px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 9px;box-shadow:0 12px 30px rgba(40,60,100,.2)}
  .fmtbar.on{display:flex}
  .fmtbar>button{background:#eef2f8;border:none;border-radius:8px;width:32px;height:32px;font-size:15px;cursor:pointer;color:var(--ink);display:grid;place-items:center}
  .fmtbar>button:hover{background:var(--brand-l)}
  .fmt-sep{width:1px;height:22px;background:var(--line)}
  .fmtbar .fmt-cor{width:22px;height:22px;border-radius:50%;padding:0;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
  body.dark .fmtbar{background:#1e2530;border-color:var(--line)}
  body.dark .fmtbar>button{background:#243244;color:var(--ink)}
  .anexo-btn.fmt-open{font-weight:800;font-size:15px}
  /* chamar atenção (nudge) */
  @keyframes nudgeShake{0%,100%{transform:translateX(0)}12%{transform:translateX(-9px)}24%{transform:translateX(8px)}36%{transform:translateX(-7px)}48%{transform:translateX(6px)}62%{transform:translateX(-4px)}78%{transform:translateX(3px)}}
  .nudge{animation:nudgeShake .6s ease; box-shadow:0 0 0 3px #ffd54a, 0 0 26px 8px rgba(255,213,74,.75)!important; border-radius:20px}
  @media(prefers-reduced-motion:reduce){ .nudge{animation:none} }
  /* mascote da Mandy */
  .mandy-topo{display:flex;align-items:center;gap:12px;margin:2px 4px 12px}
  .mandy-ava{width:48px;height:48px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow);background:var(--brand-l)}
  .mandy-topo b{font-size:17px;font-weight:800;display:block;letter-spacing:-.01em}
  .mandy-topo small{color:var(--muted);font-size:12px}
  .mandy-mascote{width:118px;height:118px;border-radius:26px;object-fit:cover;display:block;margin:0 auto 14px;box-shadow:var(--shadow);background:var(--brand-l)}
  .mandy-acbtns{display:flex;gap:8px;margin-top:10px}
  .mandy-acbtns .btn{width:auto;margin:0;padding:8px 16px;font-size:13.5px}
  /* subpontos / progresso */
  .prog-bar{height:6px;background:var(--line);border-radius:999px;overflow:hidden}
  .prog-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--accent));border-radius:999px;transition:width .3s}
  .prog-bar.big{height:8px;margin:8px 0 10px}
  .item .prog{margin-top:9px;display:flex;align-items:center;gap:9px}
  .item .prog .prog-bar{flex:1}
  .item .prog small{font-size:11px;color:var(--muted);font-weight:700;font-variant-numeric:tabular-nums;flex:0 0 auto}
  .sub-wrap{background:#f4f8fd;border:1px solid var(--line);border-radius:12px;padding:12px 13px;margin-bottom:10px}
  .sub-head{display:flex;justify-content:space-between;align-items:center}
  .sub-head b{font-size:13.5px}
  .sub-pct{font-size:12px;font-weight:800;color:var(--brand-d)}
  .sub-row{display:flex;align-items:center;gap:9px;padding:4px 0}
  .sub-ck{flex:0 0 auto;width:20px;height:20px;border-radius:6px;border:2px solid var(--line);background:#fff;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:900;cursor:pointer}
  .sub-ck.on{background:var(--green);border-color:var(--green)}
  .sub-tx{flex:1;font-size:14px;word-break:break-word}
  .sub-tx.done{text-decoration:line-through;color:var(--muted)}
  .sub-del{flex:0 0 auto;background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer;opacity:.5}
  .sub-del:hover{opacity:1;color:var(--red)}
  .sub-add{display:flex;gap:6px;margin-top:9px}
  .sub-add input{flex:1;border:1.5px solid var(--line);border-radius:9px;padding:8px 11px;font-size:13.5px;font-family:inherit;background:#fff}
  .sub-add button{background:var(--brand);color:#fff;border:none;border-radius:9px;padding:0 15px;font-weight:700;font-size:13px;cursor:pointer}
  body.dark .sub-wrap{background:#243244}
  body.dark .sub-ck,body.dark .sub-add input{background:#12161d}
  /* modo escuro */
  body.dark{ --bg:#151a22; --card:#1e2530; --ink:#e6ebf2; --muted:#93a0b4; --line:#2b333f; --brand-l:#243244; --brand-d:#9cc0ea; --shadow:0 2px 10px rgba(0,0,0,.35),0 1px 3px rgba(0,0,0,.3); --shadow-md:0 6px 18px rgba(0,0,0,.4); --shadow-lg:0 18px 50px rgba(0,0,0,.55); --bg-grad:radial-gradient(1200px 600px at 100% -10%, #1b2634 0%, transparent 55%), #151a22; }
  body.dark header{background:#1a212b;box-shadow:0 1px 0 var(--line),0 3px 12px rgba(0,0,0,.3)}
  body.dark .btmnav{background:#1a212b}
  body.dark .hbell{background:#243244}
  body.dark .kpi,body.dark .item,body.dark .notif,body.dark .minical,body.dark .ag-dia,body.dark .sheet,body.dark .mandy-chat,body.dark .hoje-cobrar,body.dark .card2,body.dark .authcard{background:var(--card)}
  body.dark .field input,body.dark .field textarea,body.dark .field select,body.dark .busca,body.dark .authcard input,body.dark .mandy-input input{background:#12161d;color:var(--ink);border-color:var(--line)}
  body.dark .tab,body.dark .seg button,body.dark .anexo-btn,body.dark .minisel{background:#243244;color:var(--ink);border-color:var(--line)}
  body.dark .seg button.on{background:var(--brand);color:#fff}
  body.dark .mmsg{background:#243244;color:var(--ink)}
  body.dark .mmsg.out{background:var(--brand-d);color:#10151c}
  body.dark .ag-ev{background:#20303f}
  body.dark .ag-dia.hoje,body.dark .mc-d.hoje{background:#243244}
  body.dark .emojipop{background:#1e2530;border-color:var(--line)}
  body.dark .hlogout{background:#243244;color:var(--brand-d)}
  body.dark .fab{background:#e6ebf2;color:#151a22}
  body.dark .savebtn{background:var(--brand);box-shadow:0 8px 20px rgba(0,0,0,.3)}
  body.dark .btn.sec{color:var(--brand-d)}
  body.dark .btn.ggl{background:#243244;color:var(--ink);border-color:var(--line)}
  body.dark .chk{background:#12161d;border-color:var(--line)}
  body.dark .badge{background:#243244;color:var(--muted)}
  body.dark .badge.pes{background:#1b3246;color:var(--brand-d)}
  body.dark .badge.b-seen{background:#1b3a2d;color:#6ecfa8}
  body.dark .badge.b-done{background:#173a2b;color:#7ddcb0}
  body.dark .badge.b-unseen{background:#3a3320;color:#d4b86a}
  body.dark .badge.tom-cobranca{background:#3a2222;color:#e88a8a}
  body.dark .badge.tom-tarefa{background:#262640;color:#9ca3e8}
  body.dark .badge.tom-lembrete{background:#1b3246;color:var(--brand-d)}
  body.dark .badge.prz{background:#3a2222;color:#e88a8a}
  body.dark .badge.prz.ok{background:#243244;color:var(--muted)}
  body.dark .section-title{color:var(--muted)}
  body.dark .hoje-hello{color:var(--ink)}
  body.dark .kpi-lbl{color:var(--muted)}
  body.dark .linkbtn{color:var(--brand-d)}
  body.dark .filtros select,body.dark .filtros .fsel{background:#12161d;color:var(--ink);border-color:var(--line)}
  body.dark .fchip.on{background:var(--brand);color:#fff}
  body.dark .finput{background:#12161d;color:var(--ink);border-color:var(--line)}
  body.dark .ev-info{color:var(--ink)}
  body.dark .ev-meet{background:#1b3a2d;color:#6ecfa8;border-color:#2c5a44}
  body.dark .contrato-bg{opacity:.12}
  /* equipe */
  .eq-hint{color:var(--muted);font-size:13px;margin:-6px 0 12px}
  .eq-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
  .eq-info{flex:1;min-width:0}
  .eq-info b{font-size:14px;font-weight:700;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .eq-info small{color:var(--muted);font-size:11.5px}
  .eq-ctl{display:flex;gap:6px;align-items:center;flex:0 0 auto}
  .eq-ctl .eq-time{width:92px}
  .eq-timero{font-size:12px;color:var(--muted);min-width:60px;text-align:right}
  @media(max-width:520px){ .eq-row{flex-wrap:wrap} .eq-ctl{width:100%;padding-left:32px} .eq-ctl .eq-papel{flex:1} }
  /* em breve */
  .embreve{text-align:center;padding:48px 22px;max-width:360px;margin:8vh auto 0}
  .embreve .eb-ic{font-size:56px;margin-bottom:10px;filter:grayscale(.1)}
  .embreve h2{font-size:20px;font-weight:800;margin:0 0 8px}
  .embreve p{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 16px}
  .eb-tag{display:inline-block;background:var(--brand-l);color:var(--brand-d);font-weight:700;font-size:13px;padding:7px 16px;border-radius:999px}
  /* painel do gestor */
  .gt-row{display:flex;flex-direction:column;gap:8px;padding:11px 0;border-bottom:1px solid var(--line)}
  .gt-p{display:flex;align-items:center;gap:10px}
  .gt-info b{font-size:14px;font-weight:700;display:flex;align-items:center;gap:6px}
  .gt-info small{color:var(--muted);font-size:11.5px}
  .gt-garg{background:#fdeaea;color:#cf5a5a;font-size:9.5px;font-weight:800;padding:1px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.4px}
  .gt-nums{display:flex;gap:6px;flex-wrap:wrap;padding-left:32px}
  .gt-n{flex:1;min-width:62px;background:#f4f8fd;border-radius:10px;padding:6px 4px;text-align:center;font-size:10px;color:var(--muted);font-weight:600;display:flex;flex-direction:column;gap:1px}
  .gt-n b{font-size:16px;color:var(--ink);font-weight:800}
  .gt-n.r b{color:var(--red)}
  .gt-n.gp-ok b{color:var(--green)} .gt-n.gp-med b{color:var(--amber)} .gt-n.gp-bad b{color:var(--red)}
  body.dark .gt-n{background:#243244}
  .perbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
  .perchip{background:#eef2f8;border:1px solid var(--line);border-radius:9px;padding:6px 12px;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer}
  .perchip.on{background:var(--brand);color:#fff;border-color:var(--brand)}
  body.dark .perchip{background:#243244;color:var(--ink)}
  /* ensinar a Mandy */
  .ens-card{background:#f4f8fd;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px}
  .ens-q{font-weight:700;font-size:14px}
  .ens-card small{color:var(--muted);font-size:11.5px}
  .ens-a{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:9px 11px;font-size:14px;font-family:inherit;margin-top:8px;min-height:60px;resize:vertical;background:#fff}
  .ens-btns{display:flex;gap:8px;margin-top:8px}
  .ens-btns .btn{width:auto;margin:0;flex:1;padding:9px}
  .ens-saber{display:flex;gap:10px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 13px;margin-bottom:8px}
  .ens-saber b{font-size:13.5px}
  .ens-del{flex:0 0 auto;background:none;border:none;color:var(--muted);font-size:14px;cursor:pointer;opacity:.55}
  .ens-del:hover{opacity:1;color:var(--red)}
  body.dark .ens-card,body.dark .ens-a{background:#243244}
  .badge.pes{gap:6px;padding-left:4px}
  /* badges de tom mais distintos */
  .badge.tom-cobranca{background:#fbe2e2;color:#c23d3d} .badge.tom-tarefa{background:#e7effc;color:#3a5aa8} .badge.tom-lembrete{background:#fdf2e2;color:#b7791f}
  /* prazo atrasado em destaque */
  .badge.prz{background:#eef2f8;color:#5b6b82} .badge.prz.ok{background:#eef2f8;color:#5b6b82}
  .badge.prz.atrasado{background:var(--red);color:#fff}
  .badge.prz.hoje{background:#fdf2e2;color:#b7791f}
  /* inputs com foco suave + placeholder */
  .field input:focus,.field textarea:focus,.field select:focus,.mandy-input input:focus,.authcard input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(91,143,208,.15)}
  ::placeholder{color:var(--muted);opacity:.75}
  /* estados vazios mais bonitos */
  .empty{background:var(--brand-l);border-radius:14px;padding:44px 20px;color:var(--ink);font-weight:600}
  .empty .ei{font-size:40px;display:block;margin-bottom:10px}
  .empty small{display:block;color:var(--muted);font-weight:400;font-size:13px;margin-top:6px}
  /* bolhas com "cauda" */
  .mmsg{border-radius:4px 15px 15px 15px} .mmsg.out{border-radius:15px 4px 15px 15px}
  /* busca */
  .busca{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:11px 13px;font-size:14px;font-family:inherit;margin-bottom:12px}
  .busca:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(91,143,208,.15)}
  /* resumo topo */
  .kpis{display:flex;gap:10px;margin-bottom:14px}
  .kpi-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:2px 2px 9px}
  .kpi{flex:1;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 10px 13px;text-align:center;box-shadow:none}
  .kpi b{display:block;font-size:27px;font-weight:700;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
  .kpi span{font-size:11px;color:var(--muted);font-weight:500}
  .kpi.b b{color:var(--brand)} .kpi.r b{color:var(--red)} .kpi.a b{color:var(--amber)} .kpi.g b{color:var(--green)}
  /* relatórios gerenciais */
  .rel-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:8px}
  @media(max-width:520px){ .rel-kpis{grid-template-columns:repeat(2,1fr)} }
  .rel-sec{margin:18px 0}
  .rel-bars{display:flex;flex-direction:column;gap:9px}
  .rel-b{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;font-size:13px}
  .rel-b .lbl{font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rel-b .track{background:#eef2f8;border-radius:8px;height:20px;overflow:hidden}
  body.dark .rel-b .track{background:#243244}
  .rel-b .fill{height:100%;border-radius:8px;background:linear-gradient(90deg,var(--brand),var(--brand-d));min-width:2px;transition:width .5s}
  .rel-b .fill.acc{background:linear-gradient(90deg,var(--accent),var(--green))}
  .rel-b .fill.red{background:linear-gradient(90deg,#f0a0a0,var(--red))}
  .rel-b .val{font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted);min-width:52px;text-align:right}
  .rel-evo{display:flex;gap:8px;align-items:flex-end;overflow-x:auto;padding:6px 2px 2px}
  .rel-wk{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;width:44px}
  .rel-wk .cols{display:flex;gap:3px;align-items:flex-end;height:88px}
  .rel-wk .col{width:9px;border-radius:4px 4px 0 0;min-height:2px}
  .rel-wk .col.c1{background:var(--brand)} .rel-wk .col.c2{background:var(--accent)}
  .rel-wk small{font-size:9.5px;color:var(--muted);font-variant-numeric:tabular-nums}
  .rel-leg{display:flex;gap:14px;font-size:12px;color:var(--muted);margin:0 4px 6px}
  .rel-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:middle}
  .rel-leg i.c1{background:var(--brand)} .rel-leg i.c2{background:var(--accent)}
  .rel-empty{color:var(--muted);font-size:13px;padding:8px 4px}
  /* filtros das Tarefas */
  .filtros{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}
  .fchips{display:flex;gap:6px;flex-wrap:wrap}
  .fchip{background:#eef2f8;border:1px solid var(--line);border-radius:9px;padding:6px 11px;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer}
  .fchip.on{background:var(--brand);color:#fff;border-color:var(--brand)}
  body.dark .fchip{background:#243244;color:var(--ink)}
.ext-aviso{background:#fdf6e7;border:1px solid var(--amber);color:#6b4e1d;border-radius:10px;padding:9px 12px;font-size:12.5px;line-height:1.45;margin:0 0 8px}
body.dark .ext-aviso{background:#3a3122;color:#e8d9b8}
.resp-lista{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-md);max-height:250px;overflow:auto}
.resp-item{display:flex;align-items:center;gap:9px;width:100%;border:0;background:none;padding:8px 12px;font-size:14px;color:var(--ink);cursor:pointer;text-align:left;font-family:inherit}
.resp-item:hover,.resp-item:focus-visible{background:var(--brand-l)}
body.dark .resp-item:hover,body.dark .resp-item:focus-visible{background:#243244}
.resp-vazio{padding:11px 12px;font-size:13px;color:var(--muted)}
.onl-bar{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 10px;margin:0 0 8px;-webkit-overflow-scrolling:touch}
.onl-p{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:none;cursor:pointer;padding:4px 2px;min-width:56px;font-family:inherit;flex:0 0 auto}
.onl-p .onl-n{font-size:11.5px;color:var(--ink2);max-width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.onl-cnt{background:var(--brand-l);color:var(--brand-d);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}
.onl-vazio{font-size:12.5px;color:var(--muted);padding:2px 2px 10px}
body.dark .onl-cnt{background:#1d2f28;color:var(--green)}
body.dark .onl-p .onl-n{color:var(--ink2)}
/* aba Chat: no desktop o "Online agora" vira coluna LATERAL (no celular segue barra no topo) */
@media(min-width:900px){
  .chat-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:20px;align-items:start}
  .chat-side{order:2;position:sticky;top:76px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 12px 8px}
  .chat-main{order:1;min-width:0}
  .chat-side .section-title{margin-top:0}
  .chat-side .onl-bar{flex-direction:column;gap:2px;overflow:visible;padding:2px 0 4px}
  .chat-side .onl-p{flex-direction:row;justify-content:flex-start;gap:10px;width:100%;min-width:0;padding:7px 8px;border-radius:10px}
  .chat-side .onl-p:hover{background:var(--brand-l)}
  body.dark .chat-side .onl-p:hover{background:#243244}
  .chat-side .onl-p .onl-n{max-width:none;font-size:13.5px;overflow:hidden;text-overflow:ellipsis}
}
.lid-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.lid-ic{font-size:17px;line-height:1.3;flex:0 0 auto}
.lid-info b{font-size:14px;display:block}
.lid-info small{color:var(--muted);font-size:12px}
.nov-item{padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.45}
.re-body{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.6}
.b-link{background:#e8f0fb;color:#2f5fa8;text-decoration:none;cursor:pointer}
.b-link:hover{background:#dbe8fa}
body.dark .b-link{background:#22314a;color:#8ab4f8}
.inst-card{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--brand-l);border:1px solid var(--brand);border-radius:14px;padding:14px 16px;margin:0 0 14px}
.inst-txt{flex:1;min-width:220px}
.inst-txt b{display:block;font-size:14.5px;margin-bottom:2px}
.inst-txt span{font-size:12.5px;color:var(--ink2);line-height:1.45}
.inst-btns{display:flex;align-items:center;gap:12px}
body.dark .inst-card{background:#1d2f28}
.item.unread{border-left:4px solid var(--green);background:#f0f7f2}
body.dark .item.unread{background:#1b2a22}
.item.unread .it{font-weight:800}
.ucnt{flex:0 0 auto;min-width:24px;height:24px;border-radius:999px;background:var(--green);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 7px}
.pess-tab{position:fixed;right:0;top:44%;z-index:60;display:flex;flex-direction:column;align-items:center;gap:3px;background:var(--card);border:1px solid var(--line);border-right:0;border-radius:12px 0 0 12px;padding:10px 8px 10px 10px;font-size:13px;font-weight:700;color:var(--ink2);cursor:pointer;box-shadow:var(--shadow-md)}
.pess-tab:hover{color:var(--brand-d)}
.pess-painel{position:fixed;right:-300px;top:0;bottom:0;width:280px;z-index:70;background:var(--card);border-left:1px solid var(--line);box-shadow:var(--shadow-md);padding:16px 14px;transition:right .25s;overflow:auto}
.pess-painel.on{right:0}
.pess-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
@media(prefers-reduced-motion:reduce){ .pess-painel{transition:none} }
@media(max-width:899px){ .pess-tab{display:none!important} }
  .inst-steps{display:flex;flex-direction:column;gap:12px;margin-top:6px}
  .inst-step{display:flex;gap:11px;align-items:flex-start;font-size:14px;line-height:1.5}
  .inst-n{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px}
  .notif-click{cursor:pointer} .notif-click:hover{box-shadow:var(--shadow-md)}
  .tro-meta{font-size:13px;color:var(--ink2,var(--muted));margin:3px 0}
  .tro-ro{flex:0 0 auto;font-size:11px;font-weight:700;color:var(--muted);background:var(--brand-l);padding:3px 9px;border-radius:999px}
  .tro-det{background:var(--brand-l);border-radius:10px;padding:9px 12px;font-size:13px;margin-top:8px;white-space:pre-wrap}
  .tro-msgs{max-height:40vh;overflow:auto}
  .tro-msg{border-bottom:1px solid var(--line);padding:8px 2px;font-size:13.5px} .tro-msg>div:first-child{margin-bottom:2px}
  .tro-when{color:var(--muted);font-size:11.5px;font-weight:400}
  .fsel{display:flex;gap:8px;flex-wrap:wrap}
  .fsel .minisel{flex:1;min-width:150px}
  /* alertas proativos (Início do gestor) */
  .alertbox{background:#fdeeee;border:1px solid #f3c9c9;border-radius:14px;padding:12px 14px;margin:0 0 14px}
  body.dark .alertbox{background:#3a2626;border-color:#5a3a3a}
  .alert-h{font-size:12.5px;font-weight:800;letter-spacing:.3px;color:var(--red);margin-bottom:4px}
  .alert-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:#fff;border:1px solid #f3c9c9;border-radius:10px;padding:9px 12px;margin-top:7px;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer}
  body.dark .alert-row{background:#2b1f1f;border-color:#5a3a3a}
  .alert-row .alert-go{margin-left:auto;color:var(--red);font-weight:700;font-size:12px;white-space:nowrap}
  /* onboarding */
  .onb-row{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line)}
  .onb-row:last-child{border-bottom:none}
  .onb-e{font-size:24px;flex:0 0 30px;text-align:center}
  .onb-row b{display:block;font-size:14.5px}
  .onb-row small{color:var(--muted);font-size:13px}
  .offbar{position:fixed;left:0;right:0;top:0;z-index:60;background:#33415c;color:#fff;text-align:center;font-size:12.5px;font-weight:600;padding:5px 8px;padding-top:max(5px,env(safe-area-inset-top))}
  .previewbar{position:fixed;left:0;right:0;top:0;z-index:61;background:#6b4fc9;color:#fff;text-align:center;font-size:12.5px;font-weight:600;padding:6px 8px;padding-top:max(6px,env(safe-area-inset-top));display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}
  .previewbar button{background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:8px;padding:3px 10px;font-size:12px;font-weight:700;cursor:pointer}
  /* chips de "múltiplas ações" no formulário */
  .acao-chip{display:flex;align-items:center;gap:8px;background:var(--brand-l);border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:6px 0;font-size:13.5px}
  .acao-chip b{font-weight:700}
  .acao-chip small{color:var(--muted)}
  .acao-chip button{margin-left:auto;background:none;border:none;color:var(--red);font-weight:800;cursor:pointer;font-size:14px}
  body.dark .acao-chip{background:#243244}
  /* uso do app */
  .tp-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;background:none;border-bottom:1px solid var(--line);padding:11px 2px;cursor:pointer;text-align:left;font-family:inherit;color:var(--ink)}
  .tp-row:hover{background:var(--brand-l)}
  .tp-p{display:flex;align-items:center;gap:10px;min-width:0}
  .tp-info b{font-size:14px} .tp-info small{color:var(--muted);font-size:12px;display:block}
  .tp-nums{display:flex;gap:12px;flex:0 0 auto}
  .tp-n{font-size:11.5px;color:var(--muted);text-align:right;white-space:nowrap} .tp-n b{display:block;font-size:16px;color:var(--ink)} .tp-n.r b{color:var(--red)}
  .tp-task{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line)}
  .tp-task.feito{opacity:.6} .tp-task.feito .tp-tt{text-decoration:line-through}
  .tp-tt{font-size:13.5px;font-weight:600;min-width:0} .tp-tt small{display:block;color:var(--muted);font-weight:400;font-size:12px}
  .uso-row{display:flex;flex-direction:column;gap:8px;padding:11px 0;border-bottom:1px solid var(--line)}
  .uso-p{display:flex;align-items:center;gap:10px}
  .uso-info b{font-size:14px}
  .uso-info small{color:var(--muted);font-size:12px;display:block}
  .uso-hoje{color:var(--green);font-weight:700;font-size:12px}
  .uso-bars{display:flex;align-items:center;gap:10px;padding-left:34px}
  .uso-bars .uso-n{font-size:12px;color:var(--muted);white-space:nowrap}
  .uso-bars .track{flex:1;background:#eef2f8;border-radius:8px;height:16px;overflow:hidden}
  body.dark .uso-bars .track{background:#243244}
  .uso-bars .fill{height:100%;border-radius:8px;background:linear-gradient(90deg,var(--brand),var(--brand-d))}
  .uso-bars .fill.acc{background:linear-gradient(90deg,var(--accent),var(--green))}
  .uso-bars .fill.red{background:linear-gradient(90deg,#f0a0a0,var(--red))}
  .uso-bars .val{font-weight:700;font-size:12.5px;color:var(--muted);min-width:40px;text-align:right;font-variant-numeric:tabular-nums}
  /* prioridade toggle no card */
  .prio-btn{background:none;border:none;cursor:pointer;font-size:15px;opacity:.35;padding:2px 4px}
  .prio-btn.on{opacity:1}
  .icobtn{background:none;border:none;font-size:16px;cursor:pointer;padding:3px 5px;border-radius:8px}
  .icobtn:active{background:var(--line)}
  .cfg-membro{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
  .cfg-membro button{background:none;border:none;color:var(--red);font-size:12.5px;font-weight:600;cursor:pointer;padding:0}
  .badge.sit-ini{background:#e7effc;color:#3a5aa8} .badge.sit-pend{background:#fdeaea;color:#c23d3d}
  .badge.sit-parc{background:#f1eafb;color:#7b53c9} .badge.sit-ok{background:#e4f6ef;color:#2f8a6a}
  .minisel{border:1.5px solid var(--line);border-radius:9px;padding:6px 9px;font-size:12.5px;font-family:inherit;background:#fff}
  .minisel:focus{outline:none;border-color:var(--brand)}
  .htop .brand-mini{display:flex;align-items:center;gap:8px;cursor:pointer}
  .mandy-sugs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
  .msug{background:var(--brand-l);color:var(--brand-d);border:none;border-radius:999px;padding:7px 12px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit}
  .mandy-input{display:flex;gap:8px;flex-wrap:wrap}
  .mandy-input input{flex:1 1 140px;min-width:0;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px;font-family:inherit}
  .mandy-input button{flex:0 0 auto;background:var(--brand);color:#fff;border:none;border-radius:12px;width:48px;font-size:18px;cursor:pointer}
  .mtyping{color:var(--muted);font-style:italic}
  .anexo-btn{flex:0 0 auto;display:grid;place-items:center;width:44px;border:1.5px solid var(--line);border-radius:12px;font-size:18px;cursor:pointer;background:#fff}
  .anexo-btn.gravando{background:var(--red);color:#fff;border-color:var(--red);animation:pulseRec 1s infinite}
  @keyframes pulseRec{50%{opacity:.55}}
  @media(prefers-reduced-motion:reduce){.anexo-btn.gravando{animation:none}}
  .anexo-img{max-width:200px;max-height:200px;border-radius:10px;display:block;margin:2px 0}
  .sug-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
  .sug-thumb{position:relative}
  .sug-thumb img{width:72px;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--line);display:block}
  .sug-thumb button{position:absolute;top:-7px;right:-7px;width:22px;height:22px;border-radius:50%;border:none;background:var(--red);color:#fff;font-size:11px;cursor:pointer;line-height:1}
  .sug-card{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:8px}
  .sug-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
  .sug-top small{opacity:.7}
  .sug-txt{margin-top:4px;font-size:14px;white-space:pre-wrap;word-break:break-word}
  .sug-fotos{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
  .sug-fotos img{width:84px;height:84px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
  .sug-acts{display:flex;gap:14px;margin-top:8px}
  .anexo-file{display:inline-block;background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.4);padding:6px 10px;border-radius:9px;font-size:13px;font-weight:600;color:inherit;text-decoration:none;margin:2px 0}
  .mmsg:not(.out) .anexo-file{background:#e4eaf2;border-color:var(--line)}
  .toast{position:fixed;bottom:84px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 18px;border-radius:12px;font-size:14px;z-index:80;opacity:0;transition:.25s;pointer-events:none}
  .toast.on{opacity:1}
  /* botão voltar no header */
  .hback{border:0;background:transparent;font-size:28px;line-height:1;padding:0 10px 3px;margin-right:-4px;cursor:pointer;color:var(--ink);border-radius:10px;font-weight:700}
  .hback:active{transform:scale(.92)}
  body.dark .hback{color:#e8edf6}
  /* chips de contatos favoritos */
  .pchip.seg{background:#e7eefc;color:#3a63b8}
  body.dark .pchip.seg{background:#22314f;color:#a9c3f2}
  .seg-nota{background:#e7eefc;color:#3a63b8;border-radius:10px;padding:9px 12px;font-size:12.8px;margin-bottom:10px}
  body.dark .seg-nota{background:#22314f;color:#a9c3f2}
  .pchip.fav{background:#fdf3e2;border:1px solid #ecd9ae}
  .pchip.fav>button:first-child{border:0;background:transparent;font:inherit;cursor:pointer;padding:0;color:inherit;font-weight:600}
  body.dark .pchip.fav{background:#3a3320;border-color:#5a4d2a}
  /* confirmação de WhatsApp */
  .wpp-ok{background:#e6f6ef;border:1px solid #bfe7d4;border-radius:12px;padding:10px 12px;font-size:14px;margin-bottom:8px}
  .wpp-err{background:#fbeaea;border:1px solid #eec3c3;border-radius:12px;padding:10px 12px;font-size:14px;margin-bottom:8px}
  .wpp-msg{background:#f2f5fa;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13.5px;color:var(--muted);white-space:normal}
  body.dark .wpp-ok{background:#1d3a2d;border-color:#2c5a44}
  body.dark .wpp-err{background:#42272a;border-color:#6a3d42}
  body.dark .wpp-msg{background:#232a35;border-color:#3a4454}
  /* gate de notificações */
  .ng-passos{text-align:left;background:#f2f5fa;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.7;margin:0 0 12px}
  body.dark .ng-passos{background:#232a35;border-color:#3a4454}
  /* ---------- busca global (Ctrl+K) — Fase 2 Monday ---------- */
  .bg-row{display:flex;gap:10px;align-items:center;width:100%;background:none;border:none;border-bottom:1px solid var(--line);padding:10px 4px;text-align:left;font-size:14px;color:var(--ink);border-radius:8px}
  .bg-row:hover{background:var(--brand-l)}
  .bg-tx{flex:1;min-width:0;overflow:hidden}
  .bg-tx small{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.dark .bg-row{color:#e5e9f0;border-color:#3a4454}
  body.dark .bg-row:hover{background:#1d3a2d}
  /* ---------- checklist com dono/prazo — Fase 2 Monday ---------- */
  .sub-meta{display:inline-flex;gap:5px;align-items:center;margin-left:6px;flex-wrap:wrap}
  .sub-meta .badge{font-size:10.5px;padding:1px 6px}
  .sub-add2{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
  .sub-add2 select,.sub-add2 input[type=date]{flex:1;min-width:110px}
  /* ---------- workload (carga por pessoa) no painel do gestor — Fase 2 Monday ---------- */
  .wl{height:6px;background:var(--line);border-radius:4px;overflow:hidden;margin-top:6px;max-width:220px}
  .wl span{display:block;height:100%}
  .wl-v{background:#1c7a5a}.wl-a{background:#e0a23a}.wl-r{background:#b4483f}
  body.dark .wl{background:#3a4454}
  /* ---------- setores + chamados (Fase 2c) ---------- */
  .st-row{display:flex;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
  /* ---------- pack ClickUp: standup + ditado ---------- */
  .standup{background:var(--brand-l);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:10px;font-size:13.5px}
  .standup .st-l{margin-top:4px}
  body.dark .standup{background:#1d3a2d;border-color:#3a4454}
  #convDitar.gravando,#gDitar.gravando{background:#b4483f;color:#fff;border-radius:8px}
  /* ---------- 📅 calendário de uso ---------- */
  .cal-uso{background:var(--card,#fff);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:4px 0 10px}
  .cu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
  .cu-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
  .cu-w{text-align:center;font-size:10.5px;color:var(--muted);font-weight:700}
  .cu-d{position:relative;aspect-ratio:1;border:1px solid transparent;background:none;border-radius:8px;font-size:12px;color:var(--muted);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:0}
  .cu-d.tem{background:var(--brand-l);color:var(--ink);cursor:pointer;font-weight:600}
  .cu-d.tem b{font-size:9.5px;color:var(--brand-d);line-height:1}
  .cu-d.hoje{border-color:var(--brand-d)}
  .cu-d.sel{outline:2px solid var(--brand-d)}
  .cu-d.vazio{visibility:hidden}
  .cu-dia{margin-top:8px;font-size:12.5px;color:var(--muted);line-height:1.5}
  body.dark .cal-uso{background:#232a35;border-color:#3a4454}
  body.dark .cu-d.tem{background:#1d3a2d;color:#e5e9f0}
  /* ---------- battery de situação nos relatórios (Fase 1 Monday) ---------- */
  .batt-row{display:flex;align-items:center;gap:10px;margin:7px 0}
  .batt-lbl{flex:0 0 112px;font-size:12.5px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .batt{flex:1;display:flex;height:16px;border-radius:8px;overflow:hidden;background:var(--line)}
  .batt-seg{display:block;height:100%}
  .batt-tot{flex:0 0 auto;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:26px;text-align:right}
  .batt-leg{display:flex;gap:12px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin:2px 0 8px}
  .batt-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}
  body.dark .batt{background:#3a4454}
  body.dark .batt-lbl{color:#c7cdd8}
  /* ---------- @menções + histórico de atividade (Fase 1 Monday) ---------- */
  .mencao{background:var(--brand-l);color:var(--brand-d);border-radius:6px;padding:0 3px;font-weight:600}
  body.dark .mencao{background:#1d3a2d;color:#8fd3b1}
  .mencpop{position:fixed;z-index:60;background:var(--card);border:1.5px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:5px;display:none;max-width:min(320px,92vw)}
  .mencpop.on{display:block}
  .mencpop button{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;border-radius:9px;padding:7px 9px;font-size:13.5px;text-align:left;color:var(--ink)}
  .mencpop button:hover{background:var(--brand-l)}
  body.dark .mencpop{background:#1d2430;border-color:#3a4454}
  body.dark .mencpop button{color:#e5e9f0}
  body.dark .mencpop button:hover{background:#1d3a2d}
  .msg-sys{align-self:center;text-align:center;background:var(--bg);border:1px dashed var(--line);border-radius:999px;color:var(--muted);font-size:12px;padding:4px 12px;margin:6px auto;max-width:92%}
  .msg-sys .msw{margin-left:6px;font-size:10.5px;opacity:.8}
  body.dark .msg-sys{background:#232a35;border-color:#3a4454;color:#9aa5b5}
  /* ---------- Filtros salvos (Fase 1 Monday) ---------- */
  .fsalvos{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:0 0 8px}
  .fsalvo{display:inline-flex;align-items:center;gap:2px;background:var(--card);border:1.5px solid var(--line);border-radius:999px;padding:4px 6px 4px 12px;font-size:12.5px;font-weight:600;color:var(--ink2)}
  .fsalvo.on{border-color:var(--brand);color:var(--brand-d);background:var(--brand-l)}
  .fsalvo button{background:none;border:none;color:inherit;font:inherit;padding:0}
  .fsalvo .fs-x{color:var(--muted);font-size:11px;padding:2px 5px;border-radius:999px}
  .fsalvo .fs-x:hover{color:var(--red)}
  .fsalvar{background:none;border:1.5px dashed var(--line);border-radius:999px;padding:5px 12px;font-size:12.5px;color:var(--muted);font-weight:600}
  .fsalvar:hover{border-color:var(--brand);color:var(--brand-d)}
  body.dark .fsalvo{background:#232a35;border-color:#3a4454;color:#c7cdd8}
  body.dark .fsalvo.on{background:#1d3a2d;border-color:#2c5a44;color:#8fd3b1}
  /* ---------- Visão Quadro (kanban por situação, Fase 1 Monday) ---------- */
  .kb-wrap{display:flex;gap:10px;overflow-x:auto;align-items:flex-start;padding:4px 2px 14px;-webkit-overflow-scrolling:touch}
  .kb-col{flex:0 0 242px;min-width:242px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);padding:10px;box-shadow:var(--shadow)}
  .kb-col.dragover{border-color:var(--brand);background:var(--brand-l)}
  .kb-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
  .kb-head .kb-n{background:var(--bg);border-radius:999px;padding:1px 8px;font-size:11.5px;color:var(--muted);font-weight:700}
  .kb-card{background:var(--bg);border:1.5px solid var(--line);border-radius:11px;padding:9px 10px;margin-bottom:8px;cursor:pointer;font-size:13.5px}
  .kb-card:hover{box-shadow:var(--shadow-md)}
  .kb-card.urg{border-left:3px solid var(--red)}
  .kb-card .kb-t{font-weight:600;margin-bottom:5px;line-height:1.3}
  .kb-card .kb-meta{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
  .kb-card.dragging{opacity:.45}
  .kb-vazio{color:var(--muted);font-size:12.5px;text-align:center;padding:14px 0;border:1.5px dashed var(--line);border-radius:11px}
  body.dark .kb-col{background:#1d2430;border-color:#3a4454}
  body.dark .kb-card{background:#232a35;border-color:#3a4454}
  body.dark .kb-col.dragover{background:#1d3a2d;border-color:#2c5a44}
