/* Europa1 — tema escuro com profundidade (preto, branco e azul) */
:root{
  color-scheme:dark;
  --bg:#07080b;--text:#f5f7fb;--muted:#8b93a5;--faint:#5b6374;
  --blue:#2f7bff;--blue-text:#8db5ff;--blue-glow:rgba(47,123,255,.5);
  --green:#30d158;--amber:#ffcc00;--red:#ff453a;
  --surface:linear-gradient(180deg,#191c23 0%,#121419 100%);
  --surface-2:linear-gradient(180deg,#22262f 0%,#191c23 100%);
  --sunken:#0a0b0f;
  --ring:rgba(255,255,255,.07);
  --raise:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px var(--ring),0 2px 4px rgba(0,0,0,.35),0 14px 34px -12px rgba(0,0,0,.85);
  --raise-hover:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(255,255,255,.1),0 4px 8px rgba(0,0,0,.4),0 24px 48px -14px rgba(0,0,0,.9);
  --ease:cubic-bezier(.22,1,.36,1);
  --side:268px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI Variable","Segoe UI",Inter,Roboto,sans-serif;
  font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  color:var(--text);background:var(--bg);
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(1200px 700px at 12% -10%,rgba(47,123,255,.10),transparent 60%),radial-gradient(900px 600px at 100% 110%,rgba(47,123,255,.06),transparent 60%),var(--bg);background-attachment:fixed}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-weight:700}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0}
button:disabled{opacity:.5;cursor:wait}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:10px}
::selection{background:rgba(47,123,255,.4)}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#262a33;border-radius:10px;border:3px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}

/* Ícones */
.icon{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rot45{transform:rotate(45deg)}
.chip{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:11px;flex-shrink:0;background:var(--surface-2);color:var(--blue-text);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(255,255,255,.05),0 3px 8px rgba(0,0,0,.5);transition:all .3s var(--ease)}
.chip.big{width:46px;height:46px;border-radius:14px}.chip.big .icon{width:21px;height:21px}

/* Botões */
.primary,.secondary,.ghost,.danger-solid,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:12px;font-size:14px;font-weight:600;letter-spacing:-.1px;white-space:nowrap;transition:transform .18s var(--ease),box-shadow .25s var(--ease),filter .2s,background .2s}
.primary{color:#fff;background:linear-gradient(180deg,#4590ff 0%,#1d63ea 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 0 0 1px rgba(47,123,255,.65),0 8px 22px -8px var(--blue-glow)}
.primary:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 0 0 1px rgba(47,123,255,.8),0 14px 30px -10px var(--blue-glow)}
.secondary{color:var(--text);background:var(--surface-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(255,255,255,.08),0 4px 12px -4px rgba(0,0,0,.6)}
.secondary:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 0 0 1px rgba(255,255,255,.13),0 8px 18px -6px rgba(0,0,0,.7)}
.ghost{color:var(--muted);padding:0 12px}.ghost:hover{color:var(--text);background:rgba(255,255,255,.04)}
.danger-solid{color:#fff;background:linear-gradient(180deg,#ff5f55,#e0342a);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 0 0 1px rgba(255,69,58,.6),0 8px 22px -8px rgba(255,69,58,.5)}
.primary:active,.secondary:active,.danger-solid:active,.icon-btn:active,.ghost:active{transform:scale(.97)}
.small{height:34px;padding:0 13px;font-size:13px;border-radius:10px}
.wide{width:100%;margin-top:24px}
.icon-only{width:42px;padding:0}
.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px;color:var(--muted);background:var(--surface-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(255,255,255,.07),0 3px 8px -2px rgba(0,0,0,.6);transition:all .2s var(--ease)}
.icon-btn:hover{color:var(--text);transform:translateY(-1px)}
.icon-btn.danger:hover{color:var(--red);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(255,69,58,.35),0 6px 16px -6px rgba(255,69,58,.4)}
.spin .icon{animation:spin .8s linear infinite}

/* Formulários */
label{display:block;font-size:13px;font-weight:500;color:#c9cfdb;margin:18px 0 8px}
input,textarea,select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:var(--sunken);color:var(--text);outline:none;box-shadow:inset 0 1px 3px rgba(0,0,0,.6);transition:border-color .2s,box-shadow .2s}
input::placeholder,textarea::placeholder{color:#4f5767}
input:focus,textarea:focus,select:focus{border-color:rgba(47,123,255,.8);box-shadow:inset 0 1px 3px rgba(0,0,0,.6),0 0 0 4px rgba(47,123,255,.16)}
input:disabled{color:var(--muted);background:#08090c}
textarea{resize:vertical;min-height:96px;line-height:1.55}
select{appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b93a5' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
.field{position:relative}.field>.icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none;transition:color .2s}.field input{padding-left:42px}.field:focus-within>.icon{color:var(--blue-text)}
.help{font-size:12.5px;line-height:1.65;color:var(--muted);margin:8px 0 0}.help b{color:#c9cfdb;font-weight:600}
.center{text-align:center;margin-top:22px}
.error{color:#ff7b72;font-size:13px;min-height:18px;margin-top:14px}
.link{color:var(--blue-text);font-weight:500;display:inline-flex;align-items:center;gap:5px;transition:color .2s}.link:hover{color:#fff}.link.small{font-size:13px}.link .icon{width:14px;height:14px}
.muted{color:var(--muted)}
.eyebrow{display:block;text-transform:uppercase;letter-spacing:2.4px;font-size:11px;font-weight:600;color:var(--blue-text)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* Carregamento inicial */
.boot{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:18px;text-align:center;font-size:20px;font-weight:600}
.boot img{width:112px;height:112px;filter:drop-shadow(0 20px 40px rgba(47,123,255,.35));animation:breathe 2.4s var(--ease) infinite}
.boot span{font-size:13px;font-weight:400;color:var(--muted)}

/* Login */
.login{position:relative;min-height:100vh;min-height:100dvh;display:grid;place-items:center;overflow:hidden;padding:calc(24px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(900px 600px at 50% 40%,#0b1730 0%,#05070c 60%,#030407 100%)}
.login .network{position:absolute;inset:0;width:100%;height:100%;opacity:.45;pointer-events:none}
.login-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(closest-side at 50% 45%,rgba(3,4,7,.0) 35%,rgba(3,4,7,.75) 100%)}
.login-center{position:relative;z-index:1;width:100%;max-width:380px;display:flex;flex-direction:column;align-items:center;gap:26px}
.logo-stage{perspective:900px}
.login-logo{display:block;width:136px;height:136px;filter:drop-shadow(0 26px 40px rgba(0,0,0,.75)) drop-shadow(0 0 36px rgba(47,123,255,.45));animation:float 6s ease-in-out infinite,logo-glow 4s ease-in-out infinite}
@keyframes logo-glow{0%,100%{filter:drop-shadow(0 26px 40px rgba(0,0,0,.75)) drop-shadow(0 0 30px rgba(47,123,255,.35))}50%{filter:drop-shadow(0 26px 40px rgba(0,0,0,.75)) drop-shadow(0 0 54px rgba(47,123,255,.65))}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .45s var(--ease),opacity .35s var(--ease),margin .45s var(--ease)}
.reveal>div{overflow:hidden;min-height:0;padding:4px;margin:-4px}
.reveal.open{grid-template-rows:1fr;opacity:1;margin-top:12px}
.login-box .wide{margin-top:16px}
.login-box .center{margin-top:16px}
.glass{background:linear-gradient(180deg,rgba(28,31,39,.72),rgba(16,18,23,.82));backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(255,255,255,.07),0 40px 90px -30px rgba(0,0,0,.9)}
.login-box{width:100%;padding:24px 22px;border-radius:24px;animation:rise .6s var(--ease) both}
.login-box.swap{animation:rise .45s var(--ease) both}
.login-box h2{font-size:22px;letter-spacing:-.5px;margin:0 0 6px}
.login-box>p.muted{font-size:14px;line-height:1.6;margin:0 0 8px}
.success-badge{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin-bottom:18px;color:#fff;background:linear-gradient(180deg,#4590ff,#1d63ea);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 14px 34px -10px var(--blue-glow)}
.success-badge .icon{width:28px;height:28px;stroke-width:2.2}

/* Estrutura */
.app{min-height:100vh}
.sidebar{position:fixed;z-index:30;top:14px;bottom:14px;left:14px;width:var(--side);display:flex;flex-direction:column;padding:18px 14px;border-radius:26px;background:linear-gradient(180deg,rgba(26,29,36,.86),rgba(14,16,20,.92));backdrop-filter:blur(30px) saturate(160%);-webkit-backdrop-filter:blur(30px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 0 1px rgba(255,255,255,.06),0 30px 60px -20px rgba(0,0,0,.9);transition:width .45s var(--ease),transform .45s var(--ease)}
.side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px 18px;border-bottom:1px solid rgba(255,255,255,.05)}
.brand-toggle{display:flex;align-items:center;gap:11px;border-radius:14px;padding:2px;min-width:0;position:relative}
.mark{width:42px;height:42px;flex-shrink:0;filter:drop-shadow(0 6px 14px rgba(47,123,255,.35));transition:transform .5s var(--ease)}
.brand-toggle:hover .mark{transform:scale(1.07) rotate(-4deg)}
.brand-name{font-size:21px;font-weight:800;letter-spacing:-.6px;white-space:nowrap;transition:opacity .25s}
.brand-name b{background:linear-gradient(180deg,#6aa6ff,#2f7bff);-webkit-background-clip:text;background-clip:text;color:transparent;margin-left:1px}
.account-card{display:flex;align-items:center;gap:11px;margin:16px 0 4px;padding:10px;border-radius:16px;background:rgba(255,255,255,.025);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 0 1px rgba(255,255,255,.05);position:relative;transition:background .2s}
.account-card:hover{background:rgba(255,255,255,.05)}
.account-text{min-width:0;transition:opacity .25s}.account-text b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-text small{font-size:11.5px;color:var(--muted)}
.avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0;display:inline-grid;place-items:center;font-size:13px;font-weight:700;color:#fff;background:linear-gradient(180deg,#3a86ff,#1a55c9);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 0 0 2px rgba(255,255,255,.06),0 4px 10px rgba(0,0,0,.5)}
.avatar.sm{width:34px;height:34px;font-size:12px}.avatar.xl{width:84px;height:84px;font-size:28px}
.nav-label{font-size:10.5px;letter-spacing:2px;color:var(--faint);font-weight:600;padding:18px 12px 10px;transition:opacity .25s}
.nav{display:flex;flex-direction:column;gap:4px}
.nav a{position:relative;display:flex;align-items:center;gap:12px;height:50px;padding:0 8px;border-radius:15px;color:var(--muted);font-size:14.5px;font-weight:500;transition:background .25s var(--ease),color .2s,box-shadow .3s var(--ease)}
.nav a:hover{background:rgba(255,255,255,.045);color:var(--text)}
.nav a:hover .chip{color:var(--text)}
.nav a.active{color:#fff;font-weight:600;background:linear-gradient(180deg,#3d8bff,#1c5fe4);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 0 0 1px rgba(47,123,255,.6),0 12px 28px -10px var(--blue-glow)}
.nav a.active .chip{background:rgba(255,255,255,.18);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.label{white-space:nowrap;transition:opacity .25s}
.account-card.active{background:rgba(47,123,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 0 1px rgba(47,123,255,.45),0 10px 24px -12px var(--blue-glow)}
.app.collapsed .account-card.active .avatar{box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 0 0 2px var(--blue),0 6px 16px -4px var(--blue-glow)}
.chip{position:relative}
.chip .nav-dot{position:absolute;top:-2px;right:-2px;width:10px;height:10px;border:2px solid #15171d}
.nav a.active .nav-dot{border-color:#2a6ff0}
.main{padding-left:calc(var(--side) + 28px);transition:padding .45s var(--ease)}
.content{max-width:1320px;margin:0 auto;padding:34px 32px 40px}
.mobilebar,.scrim{display:none}

/* Menu recolhido */
.app.collapsed{--side:84px}
.app.collapsed .brand-name,.app.collapsed .account-text,.app.collapsed .label,.app.collapsed .nav-label{opacity:0;pointer-events:none;width:0;overflow:hidden}
.app.collapsed .brand-name{position:absolute}
.app.collapsed .side-head{justify-content:center;padding:2px 0 18px}
.app.collapsed .brand-toggle{gap:0}
.app.collapsed .account-card{justify-content:center;padding:8px 0;background:none;box-shadow:none}
.app.collapsed .nav-label{height:18px;padding:0}
.app.collapsed .nav a{justify-content:center;padding:0;gap:0}
.app.collapsed .sidebar [data-tip]:hover::after{content:attr(data-tip);position:absolute;left:calc(100% + 16px);top:50%;transform:translateY(-50%);white-space:nowrap;padding:8px 12px;border-radius:10px;font-size:12.5px;font-weight:500;color:var(--text);background:#1d2029;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(255,255,255,.08),0 10px 24px rgba(0,0,0,.6);pointer-events:none;animation:tip .2s var(--ease)}

/* Cabeçalho das páginas */
.heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:28px;flex-wrap:wrap}
.heading h1{font-size:32px;letter-spacing:-1px;margin-bottom:6px}
.heading p{margin:0;font-size:14px;color:var(--muted);line-height:1.55}
.heading-actions{display:flex;gap:10px;align-items:center}
.badge{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;padding:9px 14px;border-radius:999px;color:#c9cfdb;background:var(--surface-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(255,255,255,.07)}

/* Abas */
.tabs{display:flex;gap:4px;width:fit-content;max-width:100%;overflow-x:auto;padding:4px;margin:-8px 0 24px;border-radius:14px;background:var(--sunken);box-shadow:inset 0 1px 3px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.05)}
.tabs a{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--muted);white-space:nowrap;transition:all .25s var(--ease)}
.tabs a .icon{width:16px;height:16px}
.tabs a:hover{color:var(--text)}
.tabs a.on{color:#fff;background:var(--surface-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 0 0 1px rgba(255,255,255,.08),0 4px 10px rgba(0,0,0,.5)}
.tabs a.on .icon{color:var(--blue-text)}

.danger-ghost{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:12px;font-size:14px;font-weight:600;color:#ff7b72;background:rgba(255,69,58,.08);box-shadow:0 0 0 1px rgba(255,69,58,.25);transition:all .2s var(--ease)}
.danger-ghost:hover{background:rgba(255,69,58,.15);transform:translateY(-1px)}
.danger-ghost:active{transform:scale(.97)}

/* Cartões */
.card{position:relative;display:block;border-radius:22px;padding:24px;background:var(--surface);box-shadow:var(--raise)}
a.card,.resource,.wa-card{transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
a.card:hover,.resource:hover,.wa-card:hover{transform:translateY(-3px);box-shadow:var(--raise-hover)}
a.card:hover .chip{color:#fff;background:linear-gradient(180deg,#3d8bff,#1c5fe4);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 20px -6px var(--blue-glow)}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.section-head h2{font-size:17px;letter-spacing:-.3px}
.hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px 38px;margin-bottom:22px;overflow:hidden;background:radial-gradient(600px 300px at 88% 50%,rgba(47,123,255,.28),transparent 70%),linear-gradient(180deg,#161a24,#0f1117)}
.hero h2{font-size:27px;letter-spacing:-.8px;margin:12px 0 10px}
.hero p{margin:0 0 22px;color:var(--muted);line-height:1.7;max-width:470px;font-size:14px}
.hero-art{width:168px;height:168px;margin-right:18px;filter:drop-shadow(0 24px 40px rgba(0,0,0,.7)) drop-shadow(0 0 34px rgba(47,123,255,.35));animation:float 7s ease-in-out infinite}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}
.stat-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}
.number{display:block;font-size:36px;font-weight:700;letter-spacing:-1.2px;margin:14px 0 6px}
.card .number small{font-size:18px;color:var(--faint);font-weight:600;margin-left:2px}
.role-number{font-size:22px;line-height:43px;letter-spacing:-.5px}
.card small{font-size:12px;color:var(--faint)}
.grid-two{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}
.mini-list{display:grid;gap:8px}
.mini-item{display:flex;gap:14px;align-items:center;padding:12px;border-radius:14px;background:rgba(255,255,255,.02);box-shadow:0 0 0 1px rgba(255,255,255,.04)}
.mini-item h3{font-size:14.5px;margin-bottom:3px}.mini-item p{margin:0;font-size:12.5px;color:var(--muted)}
.steps{display:grid;gap:10px}
.step{display:flex;gap:14px;align-items:flex-start;padding:13px;border-radius:15px;font-size:12.5px;line-height:1.6;color:var(--muted);transition:background .2s}
.step:hover{background:rgba(255,255,255,.03)}
.step b{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:1px}
.step-n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;flex-shrink:0;font-size:13px;font-weight:700;color:var(--blue-text);background:var(--surface-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(47,123,255,.3)}
.step.done .step-n{color:#fff;background:linear-gradient(180deg,#3ddc6a,#22a94a);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 6px 14px -4px rgba(48,209,88,.5)}
.step.done b{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(255,255,255,.2)}
.step-n .icon{width:15px;height:15px;stroke-width:2.4}
.empty{text-align:center;padding:40px 16px}
.empty-icon{width:68px;height:68px;margin:0 auto 18px;border-radius:22px;display:grid;place-items:center;color:var(--blue-text);background:var(--surface-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(255,255,255,.06),0 16px 34px -10px rgba(47,123,255,.4)}
.empty-icon .icon{width:30px;height:30px;stroke-width:1.6}
.empty h3{font-size:17px;margin-bottom:8px}
.empty p{color:var(--muted);font-size:13.5px;line-height:1.7;max-width:360px;margin:0 auto 22px}

/* Status */
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;background:#5b6374;position:relative}
.dot.on{background:var(--green);box-shadow:0 0 10px rgba(48,209,88,.8)}
.dot.warn{background:var(--amber);box-shadow:0 0 10px rgba(255,204,0,.6)}
.dot.on::after,.dot.warn::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid currentColor;opacity:0;animation:pulse 2s ease-out infinite}
.dot.on::after{color:var(--green)}.dot.warn::after{color:var(--amber)}
.status{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;padding:6px 11px;border-radius:999px;white-space:nowrap}
.status.on{color:#5fe08a;background:rgba(48,209,88,.12);box-shadow:0 0 0 1px rgba(48,209,88,.22)}
.status.warn{color:#ffd84d;background:rgba(255,204,0,.1);box-shadow:0 0 0 1px rgba(255,204,0,.2)}
.status.off{color:var(--muted);background:rgba(255,255,255,.05);box-shadow:0 0 0 1px rgba(255,255,255,.07)}
.pill{display:inline-flex;font-size:12px;padding:6px 11px;border-radius:999px;color:var(--blue-text);background:rgba(47,123,255,.1);box-shadow:0 0 0 1px rgba(47,123,255,.22);white-space:nowrap}
.notice{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.65;padding:14px 18px;border-radius:16px;margin-bottom:20px;color:#b9c8e6;background:rgba(47,123,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 0 0 1px rgba(47,123,255,.2)}
.notice .icon{color:var(--blue-text);margin-top:1px}
.notice b{color:#fff;font-weight:600}
.notice.warn{color:#f0dfa0;background:rgba(255,204,0,.06);box-shadow:0 0 0 1px rgba(255,204,0,.2)}.notice.warn .icon{color:var(--amber)}

/* WhatsApp */
.wa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.wa-card{display:flex;flex-direction:column}
.wa-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.wa-avatar{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;color:#fff;background:linear-gradient(180deg,#3d8bff,#1c5fe4);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 10px 24px -8px var(--blue-glow)}
.wa-card.off .wa-avatar{color:var(--muted);background:var(--surface-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(255,255,255,.06)}
.wa-avatar .icon{width:24px;height:24px}
.wa-card h3{font-size:18px;letter-spacing:-.4px;margin-bottom:5px}
.wa-number{margin:0;font-size:13px;color:var(--muted)}
.wa-meta{display:flex;align-items:center;gap:7px;margin:10px 0 0;font-size:12.5px;color:var(--muted)}.wa-meta .icon{width:14px;height:14px;color:var(--blue-text)}.wa-meta b{color:var(--blue-text);font-weight:600}
.wa-actions{display:flex;gap:8px;margin-top:auto;padding-top:22px}
.wa-actions .primary,.wa-actions .secondary{flex:1}
.wa-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:212px;color:var(--muted);font-weight:600;font-size:14px;background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.09);border-radius:22px;transition:all .3s var(--ease)}
.wa-add .icon{width:28px;height:28px}
.wa-add:hover{color:var(--blue-text);box-shadow:inset 0 0 0 1.5px rgba(47,123,255,.6);background:rgba(47,123,255,.05)}
.howto-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.howto-item{display:flex;gap:13px;align-items:center;padding:16px;border-radius:18px;background:rgba(255,255,255,.02);box-shadow:0 0 0 1px rgba(255,255,255,.05)}
.howto-item b{display:block;font-size:13.5px;margin-bottom:2px}.howto-item small{font-size:12px;color:var(--muted);line-height:1.5}

/* Listas e tabelas */
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}
.search{width:100%;max-width:340px}
.count{font-size:13px;color:var(--muted)}
.list{display:grid;gap:12px}
.resource{display:flex;align-items:flex-start;gap:16px}
.resource-body{flex:1;min-width:0}
.resource h3{font-size:16px;margin-bottom:6px}
.resource p{font-size:13.5px;color:var(--muted);margin:0 0 8px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
.rules{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.025)}
.rules .icon{width:15px;height:15px;color:var(--blue-text);margin-top:3px}
.resource .actions{display:flex;gap:8px}
.photo-line{display:flex;gap:20px;align-items:center;margin-bottom:8px}
.table-wrap{overflow:auto;padding:8px}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{text-align:left;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--faint);padding:14px 16px}
td{padding:14px 16px;border-top:1px solid rgba(255,255,255,.05)}
tbody tr{transition:background .2s}tbody tr:hover{background:rgba(255,255,255,.025)}
td select{min-width:150px;padding:9px 36px 9px 12px}
.right{text-align:right}
.person{display:flex;align-items:center;gap:12px}.person b{display:block;font-size:14px}.person small{color:var(--muted);font-size:12.5px}
.you{font-size:10.5px;font-weight:600;color:var(--blue-text);background:rgba(47,123,255,.12);padding:2px 7px;border-radius:999px;margin-left:4px;vertical-align:middle}

/* Patentes e insígnias */
.insignia{display:block;flex-shrink:0;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.6))}
.insignia.gold{filter:drop-shadow(0 6px 14px rgba(0,0,0,.6)) drop-shadow(0 0 14px rgba(255,196,60,.35))}
.insignia.blue{filter:drop-shadow(0 6px 14px rgba(0,0,0,.6)) drop-shadow(0 0 12px rgba(47,123,255,.3))}
.insignia.ins-mini{position:absolute;right:-9px;bottom:-7px;width:26px;height:26px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.8))}
.insignia.ins-sm{width:46px;height:46px}.insignia.ins-md{width:62px;height:62px}.insignia.ins-stat{width:42px;height:42px;margin:-3px -4px -3px 0}
.avatar-wrap{position:relative;display:inline-flex;flex-shrink:0}
.app.collapsed .account-card .insignia.ins-mini{right:-7px;bottom:-5px}

/* Perfil compacto */
.heading.compact{margin-bottom:18px}.heading.compact h1{font-size:26px}
.profile-stack{display:grid;gap:14px;max-width:760px}
.profile-stack .card{padding:18px 20px;border-radius:20px}
.profile-stack .section-head{margin-bottom:10px;gap:12px;flex-wrap:wrap}.profile-stack .section-head h2{font-size:15px}.profile-stack .section-head small{font-size:12px}
.profile-stack label{margin:10px 0 6px;font-size:12.5px}
.profile-stack input{padding:10px 12px;border-radius:11px}
.card.account.gold{background:radial-gradient(420px 200px at 0% 0%,rgba(255,196,60,.14),transparent 70%),var(--surface)}
.card.account.blue{background:radial-gradient(420px 200px at 0% 0%,rgba(47,123,255,.16),transparent 70%),var(--surface)}
.account-head{display:flex;align-items:center;gap:14px}
.avatar-edit{position:relative;border-radius:50%;flex-shrink:0}
.avatar.lg{width:58px;height:58px;font-size:20px}
.avatar-edit .camera{position:absolute;right:-3px;bottom:-3px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(180deg,#4590ff,#1d63ea);box-shadow:0 0 0 2px #14161c}
.avatar-edit .camera .icon{width:13px;height:13px}
.avatar-edit:hover .avatar{filter:brightness(1.1)}.avatar-edit.busy{opacity:.6;cursor:wait}
.who{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;align-items:flex-start}
.who b{font-size:16px;letter-spacing:-.2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.who small{font-size:12.5px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.who .link{font-size:12px;padding:0;margin-top:2px}
.rank-pill{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 6px;border-radius:999px;background:rgba(255,255,255,.04);box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.rank-pill.gold{background:rgba(255,196,60,.08);box-shadow:0 0 0 1px rgba(255,200,80,.25)}
.rank-pill.blue{background:rgba(47,123,255,.08);box-shadow:0 0 0 1px rgba(47,123,255,.3)}
.rank-pill b{display:block;font-size:12.5px;white-space:nowrap}.rank-pill small{font-size:11px;color:var(--muted)}
.rank-pill.gold small{color:#f0c35a}.rank-pill.blue small{color:var(--blue-text)}
.insignia.ins-pill{width:34px;height:34px}.insignia.ins-step{width:30px;height:30px}
.inline-form{margin-top:4px}
.input-row{display:flex;gap:8px}.input-row input{flex:1;min-width:0}.input-row .primary{height:auto;padding:0 18px}
.inline-form .error{margin-top:6px;min-height:0}
.rank-strip{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}
.rank-strip p{margin:0 0 10px;font-size:12.5px;line-height:1.5}
.rank-ladder{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.rank-step{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:12px;opacity:.45;filter:saturate(.4);transition:all .25s var(--ease)}
.rank-step small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.rank-step.current{opacity:1;filter:none;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}
.rank-step.current small{color:var(--text);font-weight:600}
.form-grid{display:block}
.form-grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px}
.form-actions .error{margin:0;min-height:0;margin-right:auto}
.settings-list{padding:6px 20px!important}
.setting-row{display:flex;align-items:center;gap:12px;padding:12px 0}
.setting-row+.setting-row,#app-row+.setting-row{border-top:1px solid rgba(255,255,255,.06)}
.setting-row>div{flex:1;min-width:0}.setting-row b{display:block;font-size:14px}.setting-row small{display:block;font-size:12px;color:var(--muted);line-height:1.45}
.setting-row .chip{width:32px;height:32px;border-radius:10px}.setting-row .chip .icon{width:16px;height:16px}
.danger-ghost.small{height:34px;padding:0 13px;font-size:13px;border-radius:10px}

/* Usuários · patentes */
.rank-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.legend-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;background:rgba(255,255,255,.02);box-shadow:0 0 0 1px rgba(255,255,255,.05)}
.legend-item b{display:block;font-size:13.5px}.legend-item small{font-size:12px;color:var(--muted);line-height:1.45}
.wide-dialog{width:640px}
.rank-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.rank-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;margin:0;padding:12px 6px 10px;border-radius:16px;cursor:pointer;color:var(--muted);background:var(--sunken);box-shadow:inset 0 1px 3px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.06);transition:all .25s var(--ease)}
.rank-option input{position:absolute;opacity:0;pointer-events:none}
.rank-option b{font-size:12.5px;color:var(--text)}.rank-option small{font-size:11px}
.rank-option:hover{transform:translateY(-2px)}
.rank-option:has(input:checked){background:var(--surface-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 2px var(--blue),0 10px 24px -10px var(--blue-glow)}
.rank-option.gold:has(input:checked){box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 2px #e0a82e,0 10px 24px -10px rgba(255,196,60,.6)}
.rank-option:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}

/* Janelas */
dialog{width:480px;max-width:calc(100vw - 32px);padding:28px;border:0;border-radius:26px;color:var(--text);background:linear-gradient(180deg,#1b1e26,#121419);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(255,255,255,.08),0 50px 120px -20px rgba(0,0,0,.95)}
dialog[open]{animation:pop .35s var(--ease)}
dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fade .3s ease}
.modal-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.modal-head h2{font-size:22px;letter-spacing:-.6px}
.modal-head .help{margin:2px 0 0}
.modal-head .icon-btn{margin-left:auto;width:34px;height:34px;border-radius:50%}
.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}
.qr-dialog{width:460px}
.segmented{display:flex;gap:4px;padding:4px;margin:20px 0 4px;border-radius:13px;background:var(--sunken);box-shadow:inset 0 1px 3px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.05)}
.segmented button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;height:38px;border-radius:10px;font-size:13px;font-weight:600;color:var(--muted);transition:all .25s var(--ease)}
.segmented button .icon{width:16px;height:16px}
.segmented button.on{color:#fff;background:var(--surface-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 0 0 1px rgba(255,255,255,.08),0 4px 10px rgba(0,0,0,.5)}
.qr-frame{width:100%;max-width:290px;aspect-ratio:1;margin:18px auto;padding:14px;border-radius:22px;display:grid;place-items:center;background:#fff;box-shadow:0 0 0 6px rgba(255,255,255,.04),0 24px 50px -16px rgba(47,123,255,.45)}
.qr-frame img{width:100%;height:100%;image-rendering:pixelated;animation:fade .4s ease}
.qr-loading{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:13px;color:#4a5160;text-align:center;padding:16px}
.qr-loading .icon{width:26px;height:26px;color:#d0362d}
.spinner{width:30px;height:30px;border-radius:50%;border:3px solid #dfe5f0;border-top-color:var(--blue);animation:spin .8s linear infinite}
.howto{margin:0;padding-left:20px;font-size:13px;line-height:1.75;color:var(--muted)}.howto b{color:var(--text);font-weight:600}.howto li::marker{color:var(--blue-text);font-weight:700}
.qr-status{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06);font-size:13px;color:var(--muted)}
.pair-code{margin-top:20px;text-align:center;animation:rise .4s var(--ease)}
.pair-code small{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}
.pair-code div{display:flex;justify-content:center;align-items:center;gap:6px}
.pair-code span{display:grid;place-items:center;width:36px;height:46px;border-radius:10px;font:700 22px ui-monospace,"SF Mono",Menlo,monospace;background:var(--surface-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(47,123,255,.3)}
.pair-code i{color:var(--faint);font-style:normal}
.connected-view{text-align:center;padding:26px 0 10px}
.connected-view .success-badge{margin:0 auto 20px;width:84px;height:84px;background:linear-gradient(180deg,#3ddc6a,#22a94a);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 20px 44px -12px rgba(48,209,88,.6)}
.connected-view .success-badge .icon{width:38px;height:38px}
.connected-view h2{font-size:24px;letter-spacing:-.6px;margin-bottom:6px}
.pop{animation:pop-in .6s cubic-bezier(.34,1.56,.64,1) both}

/* Aviso flutuante */
#toast{position:fixed;z-index:100;left:50%;bottom:28px;display:flex;align-items:center;gap:11px;max-width:calc(100vw - 32px);padding:12px 18px 12px 12px;border-radius:16px;font-size:13.5px;font-weight:500;color:var(--text);background:rgba(30,33,41,.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(255,255,255,.08),0 20px 50px rgba(0,0,0,.7);opacity:0;pointer-events:none;transform:translate(-50%,20px) scale(.96);transition:all .4s var(--ease)}
#toast.show{opacity:1;transform:translate(-50%,0) scale(1)}
#toast .icon{width:26px;height:26px;padding:5px;border-radius:50%;color:#fff;stroke-width:2.6;background:linear-gradient(180deg,#3ddc6a,#22a94a)}
#toast.error .icon{background:linear-gradient(180deg,#ff5f55,#e0342a)}
.footer{display:flex;justify-content:space-between;gap:20px;margin-top:40px;font-size:12px;color:var(--faint)}

/* Movimento */
.page>*{animation:rise .55s var(--ease) both}
.page>*:nth-child(2){animation-delay:.05s}.page>*:nth-child(3){animation-delay:.1s}.page>*:nth-child(4){animation-delay:.15s}.page>*:nth-child(5){animation-delay:.2s}
.page{min-height:60vh}
.page-loading{display:grid;place-items:center;min-height:50vh}.page-loading .spinner{border-color:rgba(255,255,255,.1);border-top-color:var(--blue)}
.stats>*,.wa-grid>*,.list>*{animation:rise .55s var(--ease) both}
.stats>*:nth-child(2),.wa-grid>*:nth-child(2),.list>*:nth-child(2){animation-delay:.06s}
.stats>*:nth-child(3),.wa-grid>*:nth-child(3),.list>*:nth-child(3){animation-delay:.12s}
.stats>*:nth-child(4),.wa-grid>*:nth-child(4),.list>*:nth-child(4){animation-delay:.18s}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes pop{from{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:none}}
@keyframes pop-in{0%{transform:scale(.3);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes breathe{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.95);opacity:.8}}
@keyframes drift{from{transform:translate(0,0) rotate(0)}to{transform:translate(4%,3%) rotate(8deg)}}
@keyframes pulse{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.8);opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes tip{from{opacity:0;transform:translate(-4px,-50%)}to{opacity:1;transform:translate(0,-50%)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Responsivo */
@media(max-width:1200px){.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){.grid-two,.howto-strip{grid-template-columns:1fr}.hero-art{width:120px;height:120px;margin:0}}
@media(max-width:860px){
  .app.collapsed{--side:268px}
  .sidebar{width:280px;top:10px;bottom:10px;left:10px;transform:translateX(calc(-100% - 20px))}
  .app.menu-open .sidebar{transform:none}
  .app.collapsed .brand-name,.app.collapsed .account-text,.app.collapsed .label,.app.collapsed .nav-label{opacity:1;width:auto;position:static;pointer-events:auto}
  .app.collapsed .side-head{justify-content:space-between;padding:2px 4px 18px}.app.collapsed .brand-toggle{gap:11px}
  .app.collapsed .account-card{justify-content:flex-start;padding:10px;background:rgba(255,255,255,.025)}
  .app.collapsed .nav a{justify-content:flex-start;padding:0 8px;gap:12px}
  .app.collapsed .nav-label{height:auto;padding:18px 12px 10px}
  .app.collapsed .sidebar [data-tip]:hover::after{display:none}
  .scrim{display:block;position:fixed;inset:0;z-index:25;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .35s}
  .app.menu-open .scrim{opacity:1;pointer-events:auto}
  .main{padding-left:0}
  .mobilebar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;padding:10px 16px;background:rgba(7,8,11,.78);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid rgba(255,255,255,.06)}
  .mobilebar .mark{width:36px;height:36px}.mobilebar .brand-name{font-size:19px}
  .content{padding:22px 16px 32px}
  .heading h1{font-size:26px}
}
@media(max-width:560px){
  .stats{gap:10px}.stats .card{padding:16px}.number{font-size:28px}.role-number{font-size:15px;line-height:34px}
  .card{padding:18px;border-radius:20px}
  .hero{padding:24px}.hero-art{display:none}.hero h2{font-size:22px}
  .heading-actions{width:100%}.heading-actions .primary{flex:1}
  .toolbar{flex-direction:column;align-items:stretch}.search{max-width:none}
  .resource{flex-wrap:wrap}.resource .actions{width:100%;justify-content:flex-end}
  .footer{flex-direction:column;gap:6px}
  .tabs{width:100%}.tabs a{flex:1;justify-content:center;padding:0 10px}
  .rank-legend{grid-template-columns:1fr}.rank-picker{grid-template-columns:repeat(3,1fr)}
}
.spinner.small{width:15px;height:15px;border-width:2px;border-color:rgba(255,255,255,.2);border-top-color:#fff}

/* ===== Celular e app instalado ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:clip;overscroll-behavior-y:none}
img,svg,video{max-width:100%}
.tabbar{display:none}
.avatar.tiny{width:26px;height:26px;font-size:10px;box-shadow:0 0 0 1.5px rgba(255,255,255,.12)}
@media(max-width:860px){
  .mobilebar{padding:calc(10px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left))}
  .sidebar{top:calc(10px + env(safe-area-inset-top));bottom:calc(10px + env(safe-area-inset-bottom))}
  .content{padding:18px max(14px,env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
  .footer{display:none}
  /* Barra inferior estilo app */
  .tabbar{display:flex;position:fixed;z-index:22;left:0;right:0;bottom:0;padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));background:rgba(12,13,17,.86);backdrop-filter:blur(24px) saturate(170%);-webkit-backdrop-filter:blur(24px) saturate(170%);border-top:1px solid rgba(255,255,255,.07)}
  .tabbar a{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:12px;font-size:10.5px;font-weight:600;color:var(--faint);transition:color .2s}
  .tabbar a span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tab-icon{position:relative;display:grid;place-items:center;width:30px;height:26px}
  .tab-icon .icon{width:22px;height:22px}
  .tabbar a.active{color:var(--blue-text)}
  .tabbar a.active .tab-icon .icon{stroke-width:2.1}
  .tabbar a.active .avatar.tiny{box-shadow:0 0 0 2px var(--blue)}
  .tab-icon .nav-dot{position:absolute;top:0;right:0;width:9px;height:9px;border:2px solid #0c0d11}
  #toast{bottom:calc(82px + env(safe-area-inset-bottom))}
  /* Campos com 16px: o iPhone não dá zoom ao tocar */
  input,textarea,select{font-size:16px}
  /* Janelas sobem de baixo, como no iOS */
  dialog{width:100%;max-width:100%;margin:auto 0 0;padding:20px max(18px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));border-radius:24px 24px 0 0;max-height:92dvh;overflow-y:auto}
  dialog[open]{animation:sheet .35s var(--ease)}
  .wide-dialog,.qr-dialog{width:100%}
  .dialog-actions{position:sticky;bottom:calc(-20px - env(safe-area-inset-bottom));margin:18px -18px calc(-20px - env(safe-area-inset-bottom));padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(18,20,25,.6),#121419 40%)}
  .dialog-actions>*{flex:1}
  .heading{gap:12px;margin-bottom:18px}
  .heading-actions{flex-wrap:wrap}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card{min-width:0}
}
@keyframes sheet{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:560px){
  .account-head{flex-wrap:wrap}
  .rank-pill{width:100%;justify-content:flex-start}
  .form-grid.three{grid-template-columns:1fr;gap:0}
  .rank-ladder{gap:2px}.insignia.ins-step{width:26px;height:26px}.rank-step small{font-size:9px}
  .form-actions .secondary,.form-actions .primary{flex:1}
  .profile-stack .card{padding:16px}
  .settings-list{padding:4px 16px!important}
  /* Tabela de usuários vira lista de cartões */
  .table-wrap{padding:6px;overflow:visible}
  .table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%}
  .table-wrap thead{display:none}
  .table-wrap tr{display:grid;grid-template-columns:1fr auto;gap:10px 12px;align-items:center;padding:14px 10px;border-top:1px solid rgba(255,255,255,.06)}
  .table-wrap tr:first-child{border-top:0}
  .table-wrap td{padding:0;border:0}
  .table-wrap td:first-child{grid-column:1/-1}
  .table-wrap td:nth-child(2){grid-column:1/-1}
  .table-wrap td select{width:100%;min-width:0}
  .table-wrap td.right{text-align:right}
  .person{min-width:0}.person>div{min-width:0}.person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .rank-legend{gap:8px}.legend-item{padding:10px 12px}
  .wa-grid{grid-template-columns:1fr}
  .howto-strip{gap:8px}
  .segmented button{font-size:12px;gap:5px}
  .pair-code span{width:30px;height:40px;font-size:18px}
}

/* A logo gira enquanto o sistema executa uma ação */
@keyframes coin{from{transform:rotateY(0)}to{transform:rotateY(360deg)}}
html.busy .login-logo{animation:coin .9s cubic-bezier(.45,.05,.35,1) infinite,logo-glow 1.2s ease-in-out infinite}
html.busy .mark{animation:coin .9s cubic-bezier(.45,.05,.35,1) infinite}
.brand-toggle{perspective:600px}
@media(prefers-reduced-motion:reduce){html.busy .login-logo,html.busy .mark{animation:none!important;opacity:.7}}
.login-box .link{background:none;border:0;cursor:pointer;font:inherit;font-weight:500}.login-box .gap{height:10px}

/* ===== Conversas (caixa de entrada da equipe) ===== */
.content:has(.inbox) .footer{display:none}
.page:has(.inbox){min-height:0}
.inbox{display:grid;grid-template-columns:minmax(290px,360px) minmax(0,1fr);gap:18px;height:calc(100dvh - 74px);min-height:520px}
.inbox-list,.inbox-thread{min-height:0;display:flex;flex-direction:column;border-radius:22px;background:var(--surface);box-shadow:var(--raise);overflow:hidden}
.inbox-head{display:flex;align-items:center;gap:10px;padding:20px 20px 14px}
.inbox-head h1{font-size:24px;letter-spacing:-.6px}
.count-pill,.unread-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;font-size:11.5px;font-weight:700;color:#fff;background:linear-gradient(180deg,#4590ff,#1d63ea);box-shadow:0 4px 12px -4px var(--blue-glow)}
.inbox-search{display:flex;align-items:center;gap:9px;margin:0 16px 12px;padding:0 13px;height:42px;border-radius:12px;color:var(--faint);background:var(--sunken);box-shadow:inset 0 1px 3px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.05)}
.inbox-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:none;padding:0;font-size:14px}
.inbox-search:focus-within{box-shadow:inset 0 1px 3px rgba(0,0,0,.6),0 0 0 1.5px var(--blue)}
.inbox-filter{display:flex;gap:6px;overflow-x:auto;padding:0 16px 12px;scrollbar-width:none}
.inbox-filter::-webkit-scrollbar{display:none}
.inbox-filter button{flex-shrink:0;height:30px;padding:0 13px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--muted);background:rgba(255,255,255,.04);box-shadow:0 0 0 1px rgba(255,255,255,.07);transition:all .2s}
.inbox-filter button.on{color:#fff;background:rgba(47,123,255,.2);box-shadow:0 0 0 1px rgba(47,123,255,.55)}
.inbox-offline{margin:0 16px 12px;font-size:12.5px}
.chat-items{flex:1;min-height:0;overflow-y:auto;padding:0 8px 10px;overscroll-behavior:contain}
.chat-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border-radius:14px;text-align:left;transition:background .15s}
.chat-item:hover{background:rgba(255,255,255,.04)}
.chat-item.on{background:rgba(255,255,255,.075);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.chat-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.chat-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.chat-row b{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-row time{flex-shrink:0;font-size:11.5px;color:var(--faint)}
.chat-row small{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-item.unread b{font-weight:700}.chat-item.unread small{color:var(--text)}.chat-item.unread time{color:var(--blue-text)}
.chat-conn{font-size:10.5px;font-weight:600;color:var(--faint);text-transform:uppercase;letter-spacing:.4px}
.chat-more,.inbox-loading{display:grid;place-items:center;padding:18px}
.inbox-loading .spinner{border-color:rgba(255,255,255,.1);border-top-color:var(--blue)}
.inbox-empty{margin:0;padding:28px 18px;text-align:center;font-size:13px;color:var(--muted);line-height:1.6}
.chat-face{position:relative;width:46px;height:46px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:15px;font-weight:700;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 0 0 2px rgba(255,255,255,.05)}
.chat-face.sm{width:40px;height:40px;font-size:13.5px}
.chat-face .icon{width:20px;height:20px}
.hue-0{background:linear-gradient(160deg,#4a90ff,#1d4fc4)}.hue-1{background:linear-gradient(160deg,#36c58f,#16795a)}
.hue-2{background:linear-gradient(160deg,#a66bff,#5b2bc4)}.hue-3{background:linear-gradient(160deg,#ff8a5c,#c4461d)}
.hue-4{background:linear-gradient(160deg,#ff6b9a,#b82a5f)}.hue-5{background:linear-gradient(160deg,#3cc3d6,#167a8a)}
.hue-6{background:linear-gradient(160deg,#e6b33c,#9a6c10)}.hue-7{background:linear-gradient(160deg,#7d8aa6,#3f4a61)}
/* Conversa aberta */
.thread-empty{flex:1;display:grid;place-items:center;padding:24px}
.thread-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.06)}
.thread-back{display:none}
.thread-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.thread-title b{font-size:15.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thread-title small{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thread-scroll{flex:1;min-height:0;overflow-y:auto;padding:14px 20px 18px;overscroll-behavior:contain}
.thread-older{display:grid;place-items:center;padding:6px}
.thread-messages{display:flex;flex-direction:column}
.day-sep{display:flex;justify-content:center;margin:16px 0 10px}
.day-sep span{font-size:11.5px;font-weight:600;color:var(--muted);padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.05);box-shadow:0 0 0 1px rgba(255,255,255,.06)}
.msg{max-width:min(72%,560px);margin-top:10px;padding:9px 13px 7px;border-radius:18px;font-size:14px;line-height:1.45;animation:rise .3s var(--ease) both}
.msg.joined{margin-top:3px}
.msg p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.theirs{align-self:flex-start;background:#22262f;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 0 1px rgba(255,255,255,.05);border-bottom-left-radius:6px}
.msg.mine{align-self:flex-end;color:#fff;background:linear-gradient(180deg,#3a87ff,#1c5fe4);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 6px 18px -8px var(--blue-glow);border-bottom-right-radius:6px}
.msg.joined.theirs{border-top-left-radius:6px}.msg.joined.mine{border-top-right-radius:6px}
.msg.failed{background:rgba(255,69,58,.25)}
.msg-from{display:block;margin-bottom:2px;font-size:11.5px;font-weight:700;color:var(--blue-text)}
.msg-meta{display:flex;justify-content:flex-end;align-items:center;gap:3px;margin-top:3px;font-size:10.5px;color:var(--faint)}
.msg.mine .msg-meta{color:rgba(255,255,255,.7)}
.tick{display:inline-flex}.tick .icon{width:14px;height:14px;stroke-width:2}
.tick.read{color:#9fe3ff}
.composer-note{margin:0 16px 10px;font-size:12.5px}
.composer{display:flex;align-items:flex-end;gap:10px;margin:0 16px 16px;padding:7px 7px 7px 16px;border-radius:18px;background:var(--sunken);box-shadow:inset 0 1px 3px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06)}
.composer:focus-within{box-shadow:inset 0 1px 3px rgba(0,0,0,.6),0 0 0 1.5px var(--blue)}
.composer textarea{flex:1;min-width:0;min-height:38px;max-height:160px;padding:9px 0;border:0;outline:0;resize:none;background:none;font-size:14px;line-height:1.4}
.composer textarea:disabled{cursor:not-allowed}
.send-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;flex-shrink:0;color:#fff;background:linear-gradient(180deg,#4590ff,#1d63ea);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 6px 16px -6px var(--blue-glow);transition:transform .15s var(--ease),filter .2s}
.send-btn:hover:not(:disabled){transform:scale(1.06);filter:brightness(1.08)}
.send-btn:disabled{opacity:.4;cursor:not-allowed}
.send-btn .icon{width:18px;height:18px;margin-left:-2px}
@media(max-width:860px){
  .inbox{display:block;height:calc(100dvh - 176px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:360px}
  .inbox-list{height:100%}
  .inbox-thread{display:none}
  .inbox.has-open .inbox-thread{display:flex;position:fixed;inset:0;z-index:40;border-radius:0;background:var(--bg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);animation:slide-in .3s var(--ease)}
  .thread-back{display:grid}
  .thread-head{padding:10px 12px}
  .thread-head .status{display:none}
  .thread-scroll{padding:10px 12px 14px}
  .msg{max-width:84%}
  .composer{margin:0 10px 10px}
}
@keyframes slide-in{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.inbox-search input,.composer textarea{width:auto;border:0;border-radius:0;box-shadow:none!important;background:none}
/* Sem animação de entrada: transform/opacity animados prenderiam a conversa em tela cheia (position:fixed) dentro da página */
.page>.inbox{animation:none}
/* Responsável e agendamentos */
.inbox-head [data-all-scheduled]{margin-left:auto;width:36px;height:36px}
.inbox-filter+.inbox-filter{margin-top:-4px}
.chat-conn .assignee{display:inline-flex;align-items:center;gap:3px;color:var(--blue-text)}
.chat-conn .assignee .icon{width:11px;height:11px;stroke-width:2.2}
.assign-select{width:auto;max-width:190px;height:36px;padding:0 34px 0 12px;font-size:13px;border-radius:10px;background-position:right 10px center}
.assign-pill{align-items:center;gap:5px}.assign-pill .icon{width:13px;height:13px}
.schedule-btn{display:grid;place-items:center;width:34px;height:40px;flex-shrink:0;margin-left:-8px;color:var(--muted);border-radius:10px;transition:color .2s}
.schedule-btn:hover{color:var(--blue-text)}
.scheduled-strip{margin:0 16px 10px;border-radius:14px;background:rgba(47,123,255,.07);box-shadow:0 0 0 1px rgba(47,123,255,.2)}
.scheduled-strip summary{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;font-weight:600;color:var(--blue-text);cursor:pointer;list-style:none}
.scheduled-strip summary::-webkit-details-marker{display:none}
.scheduled-strip summary .icon{width:15px;height:15px}
.scheduled-strip .sched-item{margin:0 8px 8px}
.sched-list{display:flex;flex-direction:column;gap:8px;margin-top:14px;max-height:60vh;overflow-y:auto}
.sched-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.035);box-shadow:0 0 0 1px rgba(255,255,255,.06)}
.sched-item.failed{background:rgba(255,69,58,.08);box-shadow:0 0 0 1px rgba(255,69,58,.25)}
.sched-icon{color:var(--blue-text);padding-top:2px}.sched-item.failed .sched-icon{color:var(--red)}
.sched-icon .icon{width:16px;height:16px}
.sched-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.sched-text small{font-size:11.5px;color:var(--muted)}
.sched-text>span{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sched-chat{font-size:13px;cursor:pointer}.sched-chat:hover{color:var(--blue-text)}
.sched-item .icon-btn{width:32px;height:32px}.sched-item .icon-btn .icon{width:15px;height:15px}
@media(max-width:860px){
  .assign-select{max-width:120px;font-size:16px;height:34px}
  .scheduled-strip{margin:0 10px 8px}
}
/* Acessos */
#access-user{width:auto;min-width:200px}
.access-table code.ip{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;color:#c9cfdb;padding:3px 7px;border-radius:7px;background:rgba(255,255,255,.05)}
.access-table .place{display:inline-flex;align-items:center;gap:6px}.access-table .place .icon{width:14px;height:14px;color:var(--blue-text)}
.muted-cell{color:var(--muted);font-size:13px}
.access-more{display:flex;justify-content:center;padding:14px 0 4px}.access-more:empty{display:none}
.access-note{display:flex;gap:8px;align-items:flex-start;margin-top:14px}.access-note .icon{width:15px;height:15px;margin-top:2px;flex-shrink:0}
.access-note a{color:var(--blue-text)}
.login-notice{display:flex;align-items:center;justify-content:center;gap:6px;margin:14px 0 0;font-size:11.5px;color:var(--faint);text-align:center}
.login-notice .icon{width:13px;height:13px;flex-shrink:0}
@media(max-width:560px){#access-user{width:100%}.access-table td:nth-child(3),.access-table td:nth-child(4),.access-table td:nth-child(5){grid-column:1/-1}}
/* Conversas dentro da seção WhatsApp (abas acima da caixa de entrada) */
.page:has(.inbox)>.tabs{margin:0 0 14px}
.inbox{height:calc(100dvh - 74px - 60px)}
.page>.tabs:has(+.inbox){animation:none}
/* Mídia nas mensagens */
.msg.has-media{padding:5px 5px 6px}
.msg.has-media>p{padding:6px 8px 0}
.msg.has-media .msg-meta{padding:0 8px}
.msg-from{padding:0 8px}
.msg-image{display:block;border-radius:14px;overflow:hidden;cursor:zoom-in;background:rgba(0,0,0,.25)}
.msg-image img{display:block;width:100%;max-width:320px;max-height:360px;object-fit:cover}
.msg.sticker{background:none!important;box-shadow:none!important}.msg-image.sticker{background:none}.msg-image.sticker img{width:140px;height:140px;object-fit:contain}
.msg-video{display:block;width:320px;max-width:100%;max-height:360px;border-radius:14px;background:#000}
.msg-audio{display:block;width:260px;max-width:100%;height:40px;margin:2px 0}
.msg-doc{display:flex;align-items:center;gap:10px;min-width:220px;padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.2)}
.msg-doc .icon{width:26px;height:26px;flex-shrink:0}
.msg-doc span{display:flex;flex-direction:column;min-width:0}.msg-doc b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msg-doc small{font-size:11px;opacity:.75}
.msg-media.wait{display:flex;align-items:center;gap:8px;min-width:180px;padding:12px;border-radius:12px;font-size:12.5px;background:rgba(0,0,0,.2);opacity:.85}
.msg-media.wait .icon{width:16px;height:16px}
/* Campo de mensagem: anexar, gravar, enviar */
.tool-btn{display:grid;place-items:center;width:34px;height:40px;flex-shrink:0;color:var(--muted);border-radius:10px;transition:color .2s}
.tool-btn:hover:not(:disabled){color:var(--blue-text)}.tool-btn:disabled{opacity:.4;cursor:not-allowed}
.composer .tool-btn:first-child{margin-left:-8px}
.composer .text-send{display:none}
.composer.has-text .text-send{display:grid}.composer.has-text .mic-btn{display:none}
.rec-bar{display:none;flex:1;align-items:center;gap:10px;min-height:40px}
.composer.recording>:not(.rec-bar){display:none!important}
.composer.recording .rec-bar{display:flex}
.composer.recording{padding-left:7px}
.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 10px rgba(255,69,58,.8);animation:blink 1s ease-in-out infinite}
.rec-time{font-variant-numeric:tabular-nums;font-weight:600}
.rec-hint{flex:1;font-size:12.5px;color:var(--muted)}
@keyframes blink{50%{opacity:.25}}
.attach-preview{display:grid;place-items:center;margin:14px 0 6px;padding:10px;border-radius:14px;background:var(--sunken)}
.attach-preview img{max-width:100%;max-height:46vh;border-radius:10px}
.attach-file{display:flex;align-items:center;gap:12px;width:100%}.attach-file .icon{width:30px;height:30px;color:var(--blue-text)}
.attach-file span{display:flex;flex-direction:column;min-width:0}.attach-file b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-file small{color:var(--muted)}
/* Visualizador de foto */
dialog.viewer-dialog{width:auto;max-width:96vw;max-height:96vh;padding:0;background:transparent;box-shadow:none;overflow:visible}
dialog.viewer-dialog::backdrop{background:rgba(0,0,0,.88)}
.viewer-dialog img{display:block;max-width:96vw;max-height:88vh;border-radius:12px}
.viewer-close{position:fixed;top:16px;right:16px}
.viewer-save{position:fixed;bottom:20px;left:50%;transform:translateX(-50%)}
@media(max-width:860px){
  .inbox{height:calc(100dvh - 236px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
  .msg-image img,.msg-video{max-width:min(260px,70vw)}
  dialog.viewer-dialog{margin:auto;border-radius:0;max-height:100dvh;padding:0;animation:none}
}
/* Grupos e comunidades */
.toolbar select{width:auto;min-width:180px}
.count{display:inline-flex;align-items:center;gap:8px}.warn-text{color:#ffd84d}
.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.group-card{display:flex;flex-direction:column;gap:12px}
.group-top{display:flex;align-items:center;gap:12px}
.group-title{flex:1;min-width:0}.group-title h3{font-size:16px;letter-spacing:-.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.group-title small{font-size:12.5px;color:var(--muted)}
.group-desc{margin:0;font-size:13px;line-height:1.55;color:var(--muted);white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.group-badges{display:flex;flex-wrap:wrap;gap:6px}.group-badges:empty{display:none}
.group-badges .pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;padding:4px 9px}.group-badges .icon{width:12px;height:12px}
.group-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.group-actions>*{flex:1 1 auto;min-width:0;padding:0 12px}
.community{margin-bottom:16px}
.community-groups{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.community-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.03);box-shadow:0 0 0 1px rgba(255,255,255,.05)}
.community-row>div{flex:1;min-width:0;display:flex;flex-direction:column}.community-row small{font-size:12px;color:var(--muted)}
.group-dialog .group-form{margin-top:6px}.group-dialog .group-form .error:empty{display:none}
.switch-row{display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.03);box-shadow:0 0 0 1px rgba(255,255,255,.05);cursor:pointer}
.switch-row input{width:18px;height:18px;margin:2px 0 0;padding:0;flex-shrink:0;accent-color:var(--blue)}
.switch-row span{display:flex;flex-direction:column;gap:2px}.switch-row small{font-size:12px;color:var(--muted)}
.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.group-invite{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}
.group-invite>b{display:flex;align-items:center;gap:6px;font-size:13.5px}.group-invite>b .icon{width:15px;height:15px;color:var(--blue-text)}
.invite-row{display:flex;gap:8px;margin-top:8px}.invite-row input{flex:1;min-width:0}
.group-people-head{display:flex;align-items:center;justify-content:space-between;margin:20px 0 10px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}
.group-people{display:flex;flex-direction:column;gap:4px}
.people-search{margin-bottom:8px;width:100%;max-width:none}
.person-row{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:12px}
.person-row:hover{background:rgba(255,255,255,.03)}
.person-row>div:not(.person-actions){flex:1;min-width:0;display:flex;flex-direction:column}
.person-row b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-row small{font-size:12px;color:var(--muted)}
.person-actions{display:flex;gap:6px;flex-shrink:0}.person-actions .icon-btn{width:32px;height:32px}
.add-people{margin-bottom:12px}
.danger-zone{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}
.danger-text{color:var(--red)!important}
/* Postagens */
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
.post-card{display:flex;flex-direction:column;gap:10px}
.post-head{display:flex;align-items:center;gap:12px}
.post-meta{flex:1;min-width:0;display:flex;flex-direction:column}.post-meta small{font-size:12px;color:var(--muted)}
.post-media{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--blue-text)}.post-media .icon{width:15px;height:15px}
.post-body{margin:0;font-size:13.5px;line-height:1.55;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.post-targets summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--muted)}
.target-row{display:flex;align-items:center;gap:8px;padding:6px 2px;font-size:13px}.target-row>.icon{width:15px;height:15px;color:var(--faint)}
.target-row span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.target-row small{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--muted)}.target-row small .icon{width:13px;height:13px}
.target-row.sent small{color:#5fe08a}.target-row.failed small{color:var(--red)}
.post-actions{display:flex;justify-content:flex-end}
.muted-inline{font-weight:400;color:var(--muted)}
.target-picker{border-radius:14px;background:var(--sunken);box-shadow:inset 0 1px 3px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.05);padding:10px}
.picker-tools{display:flex;gap:8px;align-items:center;margin-bottom:8px}.picker-tools .search{flex:1}
.picker-list{max-height:34vh;overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.pick{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;cursor:pointer;margin:0}
.pick:hover{background:rgba(255,255,255,.04)}
.pick input{width:18px;height:18px;padding:0;margin:0;flex-shrink:0;accent-color:var(--blue)}
.pick span{display:flex;flex-direction:column;min-width:0}.pick b{font-size:13.5px;font-weight:600}.pick small{font-size:11.5px;color:var(--muted)}
.post-attach{margin-top:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.attach-chip{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.04);box-shadow:0 0 0 1px rgba(255,255,255,.06)}
.attach-chip img{width:48px;height:48px;object-fit:cover;border-radius:8px}.attach-chip>.icon{width:26px;height:26px;color:var(--blue-text)}
.attach-chip span{flex:1;min-width:0;display:flex;flex-direction:column}.attach-chip b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-chip small{font-size:11.5px;color:var(--muted)}
@media(max-width:560px){
  .toolbar select{width:100%}
  .group-grid,.post-grid{grid-template-columns:1fr}
  .picker-tools{flex-wrap:wrap}
  .invite-row{flex-wrap:wrap}
}
.post-head{flex-wrap:wrap}.post-head .status{margin-left:auto}
/* Denúncias: filtros, lista e barra de triagem */
.inbox-selects{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 16px 12px}
.inbox-selects select{height:34px;padding:0 30px 0 10px;font-size:12.5px;border-radius:10px;background-position:right 8px center;background-size:14px}
.chat-item{position:relative}
.chat-item.prio-urgente::before,.chat-item.prio-alta::before{content:"";position:absolute;left:3px;top:14px;bottom:14px;width:3px;border-radius:3px}
.chat-item.prio-urgente::before{background:var(--red);box-shadow:0 0 8px rgba(255,69,58,.7)}.chat-item.prio-alta::before{background:#ff9f0a}
.case-tag{display:inline-flex;align-items:center;gap:3px;text-transform:none;letter-spacing:0;font-weight:700}
.case-tag.status-nova{color:#8db5ff}.case-tag.status-andamento{color:#ffd84d}.case-tag.status-encaminhada{color:#c79bff}.case-tag.status-resolvida{color:#5fe08a}
.case-tag.supervisor{color:#c79bff}.case-tag .icon{width:11px;height:11px}
.case-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 18px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02)}
.case-bar.supervisor{font-size:12.5px;color:var(--muted)}.case-bar.supervisor .icon{width:15px;height:15px;color:#c79bff}
.case-protocol{font-weight:700;font-size:13px;font-variant-numeric:tabular-nums;color:var(--blue-text)}
.case-select{width:auto;height:32px;padding:0 28px 0 10px;font-size:12.5px;font-weight:600;border-radius:9px;background-position:right 8px center;background-size:13px}
.case-input{width:130px;height:32px;padding:0 10px;font-size:12.5px;border-radius:9px}
.case-chip{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;background:rgba(255,255,255,.05);box-shadow:0 0 0 1px rgba(255,255,255,.07)}.case-chip .icon{width:12px;height:12px}
.priority-urgente{color:#ff8a80!important;box-shadow:0 0 0 1px rgba(255,69,58,.5)!important}.priority-alta{color:#ffb35c!important}
.case_status-nova{color:#8db5ff!important}.case_status-andamento{color:#ffd84d!important}.case_status-encaminhada{color:#c79bff!important}.case_status-resolvida{color:#5fe08a!important}
.case-actions{display:flex;align-items:center;gap:4px;margin-left:auto}
.secondary.small{height:32px;padding:0 12px;font-size:12.5px;border-radius:9px}.secondary.small .icon{width:14px;height:14px}
.notes-list{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow-y:auto;margin:14px 0}
.note{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);box-shadow:0 0 0 1px rgba(255,255,255,.06)}
.note small{font-size:11.5px;color:var(--muted)}.note p{margin:4px 0 0;font-size:13.5px;white-space:pre-wrap;overflow-wrap:anywhere}
.row-actions{display:flex;justify-content:flex-end;gap:6px}
tr.inactive td{opacity:.55}
@media(max-width:860px){.case-bar{padding:8px 12px}.case-input{width:110px}.inbox-selects{padding:0 12px 10px}}

/* Links da bio e domínios */
.link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
.link-card{display:flex;flex-direction:column;gap:12px;min-width:0}
.link-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.link-head .status{margin-left:auto}
.link-meta{flex:1;min-width:0;display:flex;flex-direction:column}.link-meta b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-meta small{font-size:12px;color:var(--muted)}
.link-url{display:flex;align-items:center;gap:6px;padding:4px 4px 4px 12px;border-radius:12px;background:var(--sunken);box-shadow:inset 0 1px 3px rgba(0,0,0,.5)}
.link-url code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 13px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--blue-text)}
.link-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.link-last{font-size:12px;color:var(--muted);margin-top:-4px}
.link-stats div{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.03);box-shadow:0 0 0 1px rgba(255,255,255,.05);min-width:0}
.link-stats b{font-size:15px;white-space:nowrap}.link-stats small{font-size:11.5px;color:var(--muted)}
.link-message{display:flex;gap:8px;margin:0;font-size:13px;color:var(--muted);line-height:1.5}.link-message .icon{width:14px;height:14px;flex-shrink:0;margin-top:3px}
.link-message span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.link-actions{justify-content:flex-end}
.slug-field{display:flex;align-items:center;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:var(--sunken);box-shadow:inset 0 1px 3px rgba(0,0,0,.6);overflow:hidden}
.slug-field:focus-within{border-color:rgba(47,123,255,.8);box-shadow:inset 0 1px 3px rgba(0,0,0,.6),0 0 0 4px rgba(47,123,255,.16)}
.slug-field span{padding-left:14px;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}
.slug-field input{border:0;box-shadow:none;background:transparent;padding-left:2px;min-width:0}.slug-field input:focus{box-shadow:none}
.clicks-table{max-height:min(60vh,520px);padding:0}.clicks-table code.ip{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;color:#c9cfdb;padding:3px 7px;border-radius:7px;background:rgba(255,255,255,.05)}
.clicks-table .place{display:inline-flex;align-items:center;gap:6px}.clicks-table .place .icon{width:14px;height:14px;color:var(--blue-text)}
.clicks-table td{font-size:13px}.clicks-table .ghost.small{height:30px;padding:0 8px}
.origin-chip{cursor:pointer;color:#7fe3a5;background:rgba(48,209,88,.08);box-shadow:0 0 0 1px rgba(48,209,88,.25);max-width:200px}
.origin-chip:hover{background:rgba(48,209,88,.14)}
.origin-list{display:flex;flex-direction:column;gap:2px;margin-top:4px}
.origin-row{display:grid;grid-template-columns:18px 130px 1fr;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid rgba(255,255,255,.05);font-size:13.5px}
.origin-row .icon{width:16px;height:16px;color:var(--blue-text)}.origin-row span{color:var(--muted)}.origin-row b{font-weight:600;overflow-wrap:anywhere}
.clicks-dialog{width:min(980px,calc(100vw - 32px))}.clicks-table td{white-space:nowrap}.clicks-table td:nth-child(2){white-space:normal}
@media(max-width:720px){.link-grid{grid-template-columns:1fr}.clicks-table td{white-space:normal}.origin-row{grid-template-columns:18px 1fr}.origin-row b{grid-column:2}}

/* IA local: resumos, sugestões e relatórios */
.modal-head h2 .icon{width:20px;height:20px;margin-right:6px;vertical-align:-3px;color:#c79bff}
.ai-btn .icon,.ai-tool .icon{color:#c79bff}
.ai-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 14px}.ai-controls .segmented{margin:0;flex:1;min-width:260px}
.ai-body{min-height:90px}
.ai-wait{display:flex;align-items:center;gap:14px;padding:18px;border-radius:14px;background:rgba(199,155,255,.06);box-shadow:0 0 0 1px rgba(199,155,255,.18)}
.ai-wait div{display:flex;flex-direction:column;gap:3px}.ai-wait small{font-size:12.5px;color:var(--muted);line-height:1.5}
.ai-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin:0 0 10px}.ai-meta .icon{width:13px;height:13px}
.ai-text{font-size:14px;line-height:1.6}.ai-text p{margin:0 0 10px}.ai-text h4{margin:14px 0 6px;font-size:14px;color:#fff}.ai-text h4:first-child{margin-top:0}
.ai-text ul,.ai-text ol{margin:0 0 10px;padding-left:20px}.ai-text li{margin:3px 0}.ai-text b{color:#fff}
.ai-quote{margin:14px 0 6px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.03);box-shadow:0 0 0 1px rgba(255,255,255,.06);font-size:13.5px;line-height:1.55}
.suggest-row{grid-template-columns:110px 1fr auto}.suggest-row small{font-size:12px;color:var(--muted)}
.report-day{font-size:18px;margin:4px 0 14px;text-transform:capitalize}
.report-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}
.stat-mini{display:flex;flex-direction:column;gap:4px}.stat-mini small{font-size:12.5px;color:var(--muted)}.stat-mini b{font-size:28px;letter-spacing:-.5px}
.report-text{margin-bottom:16px}.report-text .section-head h2{display:flex;align-items:center;gap:8px}.report-text .section-head .icon{color:#c79bff}
.report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:16px}
.report-block h3{font-size:14px;margin:0 0 12px}
.bar-row{display:grid;grid-template-columns:minmax(90px,140px) 1fr 32px;align-items:center;gap:10px;font-size:13px;margin:7px 0}.bar-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row b{text-align:right}
.bar{height:8px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}.bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#3d8bff,#7aa9ff);transition:width .6s var(--ease)}
.report-quote{max-width:420px;font-size:13px;color:var(--muted)}
.report-history{margin-top:16px}
.history-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 10px;border-radius:12px;text-align:left}.history-row:hover{background:rgba(255,255,255,.04)}
.history-row span{flex:1;display:flex;flex-direction:column}.history-row b{text-transform:capitalize;font-weight:600}.history-row small{font-size:12px;color:var(--muted)}.history-row>.icon:first-child{color:var(--blue-text)}
#report-date{width:auto}
@media(max-width:720px){.report-stats{grid-template-columns:1fr 1fr 1fr;gap:8px}.stat-mini{padding:14px 12px;min-width:0}.stat-mini small{font-size:11.5px}.stat-mini b{font-size:22px}.report-grid{grid-template-columns:1fr}.suggest-row{grid-template-columns:1fr}.ai-controls .segmented{min-width:0;width:100%}.ai-controls .primary{width:100%}}
.dns-help{margin-bottom:16px}.dns-help .section-head h2{display:flex;align-items:center;gap:8px;font-size:16px}.dns-help .section-head .icon{color:var(--blue-text)}
.dns-record{display:grid;grid-template-columns:80px 1fr 1fr;gap:8px;margin:10px 0}
.dns-record>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:var(--sunken);box-shadow:inset 0 1px 3px rgba(0,0,0,.5);min-width:0;position:relative}
.dns-record small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.dns-record b{font:600 14px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}
.dns-record .icon-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%)}
.dns-help .ai-meta{margin:0}.dns-help .spinner.small{width:12px;height:12px;border-width:2px}
@media(max-width:720px){.dns-record{grid-template-columns:64px 1fr}.dns-record>div:last-child{grid-column:1/-1}.dns-help .section-head{flex-wrap:wrap;gap:6px}}

/* Fotos de perfil do WhatsApp e ficha do contato */
.chat-face img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.thread-who{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-align:left;border-radius:14px;padding:4px 8px 4px 4px;margin:-4px 0 -4px -4px;transition:background .2s}
.thread-who:hover{background:rgba(255,255,255,.04)}
button.msg-from{display:flex;align-items:center;gap:6px;max-width:100%;text-align:left;cursor:pointer}
button.msg-from:hover{text-decoration:underline}
.msg-from img{width:18px;height:18px;border-radius:50%;object-fit:cover;flex-shrink:0}
.msg-from small{font-weight:500;color:var(--muted);font-size:11px}
.hue-text-0{color:#7fb0ff}.hue-text-1{color:#5fd6a6}.hue-text-2{color:#c09bff}.hue-text-3{color:#ffa77f}
.hue-text-4{color:#ff8fb4}.hue-text-5{color:#6fd6e6}.hue-text-6{color:#f2c75c}.hue-text-7{color:#a9b4c6}
.contact-dialog .modal-head{margin-bottom:0}
.contact-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;margin:-18px 0 8px}
.contact-photo{width:112px;height:112px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:rgba(255,255,255,.05);box-shadow:0 0 0 3px rgba(255,255,255,.06),0 12px 30px -12px rgba(0,0,0,.6);margin-bottom:10px}
.contact-photo img{width:100%;height:100%;object-fit:cover}.contact-photo.empty .icon{width:44px;height:44px;color:var(--muted)}
.contact-hero h2{font-size:21px;letter-spacing:-.4px;margin:0}
.contact-phone{margin:0;color:var(--muted);font-size:14px}
.contact-about{margin:6px 0 0;font-size:13.5px;color:var(--muted);font-style:italic;max-width:420px}
.contact-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px}.contact-actions:empty{display:none}
.contact-block{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}
.contact-block h3{display:flex;align-items:center;gap:7px;font-size:13.5px;margin:0 0 6px}.contact-block h3 .icon{width:15px;height:15px;color:var(--blue-text)}
.contact-groups{display:flex;flex-direction:column;gap:6px}
.contact-group{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:14px;text-align:left;background:rgba(255,255,255,.03);box-shadow:0 0 0 1px rgba(255,255,255,.05)}
.contact-group:hover{background:rgba(255,255,255,.06)}
.contact-group>span:last-child{flex:1;min-width:0;display:flex;flex-direction:column}
.contact-group b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-group small{font-size:12px;color:var(--muted)}
.contact-group .chat-face{background:rgba(255,255,255,.06)}

/* Conversa: barra única no topo + painel de informações ao lado */
.thread-head{flex-wrap:nowrap;gap:10px;padding:10px 14px 10px 16px;min-height:64px}
.thread-who{position:relative;flex:1 1 auto;min-width:150px}
.thread-tools .case-protocol{display:none}
.thread-tools .case-select,.info-pills .case-select{field-sizing:content;width:auto;min-width:0}
.thread-who .presence{position:absolute;left:32px;top:30px;width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 2.5px var(--surface)}
.presence.on{background:#30d158}.presence.off{background:#ff9f0a}
.thread-tools{display:flex;align-items:center;gap:6px;flex-shrink:0}.thread-tools:empty{display:none}
.thread-tools .case-select{height:30px;border-radius:999px;padding:0 26px 0 12px;font-size:12px;background-color:rgba(255,255,255,.05);box-shadow:0 0 0 1px rgba(255,255,255,.08);border:0}
.thread-tools .case-protocol{padding:0 4px;font-size:12.5px}
.supervisor-chip{color:#c79bff}
.thread-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;padding-left:6px;border-left:1px solid rgba(255,255,255,.07)}
.thread-actions .tool-btn{width:36px;height:36px}
.thread-actions .tool-btn:hover{color:var(--ink);background:rgba(255,255,255,.05)}
.thread-actions [aria-pressed=true]{color:var(--blue-text);background:rgba(47,123,255,.12)}
.warn-text{color:#ffb35c}
.inbox-info{display:none;min-height:0;flex-direction:column;border-radius:22px;background:var(--surface);box-shadow:var(--raise);overflow:hidden}
.info-head{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 12px 18px;border-bottom:1px solid rgba(255,255,255,.06);font-size:13.5px}
.info-head .icon-btn{width:32px;height:32px}
.info-scroll{flex:1;overflow-y:auto;padding:18px 18px 24px;overscroll-behavior:contain}
.info-scroll .contact-hero{margin:0 0 4px}
.info-scroll .contact-photo{width:96px;height:96px}
.info-scroll .contact-hero h2{font-size:18px}
.info-scroll .origin-row{grid-template-columns:16px 104px 1fr;padding:8px 2px;font-size:12.5px}.info-scroll .origin-row b{grid-column:auto}
.info-field{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:10px;margin:8px 0;font-size:12.5px}
.info-field>span{color:var(--muted)}.info-field b{font-weight:600}
.info-field>select,.info-field>input{width:100%;max-width:none;height:34px;font-size:13px;border-radius:10px}
.count-soft{margin-left:4px;font-weight:600;color:var(--muted)}
.group-about{margin:0;font-size:13px;line-height:1.55;color:var(--muted);white-space:pre-wrap;max-height:9.3em;overflow:hidden;cursor:pointer}
.group-about.open{max-height:none}
.info-people{display:flex;flex-direction:column;gap:2px;margin-top:8px}
.info-person{display:flex;align-items:center;gap:10px;padding:7px 6px;border-radius:10px;text-align:left}
.info-person:hover{background:rgba(255,255,255,.04)}
.info-person>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}
.info-person b{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-person small{font-size:11.5px;color:var(--muted)}
.info-person em{font-style:normal;font-size:11px;font-weight:600;color:var(--blue-text)}
.chat-face.xs{width:32px;height:32px;font-size:12px;background:rgba(255,255,255,.06)}.chat-face.xs .icon{width:15px;height:15px;color:var(--muted)}
.info-error{margin-top:12px}
/* larga: painel fixo como terceira coluna */
@media(min-width:1600px){
  .inbox.info-open{grid-template-columns:minmax(280px,340px) minmax(0,1fr) 340px}
  .inbox.info-open .inbox-info{display:flex}
}
/* média: painel desliza por cima da conversa */
@media(min-width:861px) and (max-width:1599px){
  .inbox{position:relative}
  .inbox.info-open .inbox-info{display:flex;position:absolute;top:0;right:0;bottom:0;width:min(360px,92%);z-index:5;box-shadow:-20px 0 50px -20px rgba(0,0,0,.7),var(--raise);animation:slide-in .25s var(--ease)}
  .thread-tools .case-protocol{display:none}
}
/* celular: painel em tela cheia por cima da conversa */
@media(max-width:860px){
  .inbox.info-open .inbox-info{display:flex;position:fixed;inset:0;z-index:45;border-radius:0;background:var(--bg);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);animation:slide-in .25s var(--ease)}
  .thread-tools,.thread-actions [data-notes],.thread-actions [data-suggest],.thread-actions [data-forward]{display:none}
  .thread-head{padding:8px 8px 8px 6px;gap:6px}
  .thread-actions{border-left:0;padding-left:0}
}

.mobile-only{display:none}
.info-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.info-pills .case-select{height:32px;border-radius:999px;padding:0 26px 0 12px;font-size:12.5px}
.info-actions{display:flex;gap:6px;margin:4px 0 8px}.info-actions .tool-btn{width:auto;height:34px;padding:0 12px;border-radius:10px;background:rgba(255,255,255,.05);box-shadow:0 0 0 1px rgba(255,255,255,.08)}
@media(max-width:860px){.mobile-only{display:block}}

/* Listas de opções: no Windows a lista herda o fundo do campo; sem isto fica branco no branco */
select option,select optgroup{background-color:#1f2c34;color:#e9edef}

/* Conversa com a aparência do WhatsApp (tema escuro) */
.inbox-thread{background:#0b141a}
.inbox-thread .thread-head{background:#202c33;border-bottom:0}
.inbox-thread .thread-who .presence{box-shadow:0 0 0 2.5px #202c33}
.inbox-thread .thread-scroll{background-color:#0b141a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180' fill='none' stroke='%23ffffff' stroke-opacity='.035' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 30a10 10 0 1 0 20 0a10 10 0 1 0-20 0M31 40l5 7'/%3E%3Cpath d='M100 20h22v16h-14l-6 6v-6h-2z'/%3E%3Cpath d='M150 60l8 14h-16z'/%3E%3Cpath d='M30 110c6-8 14-8 20 0'/%3E%3Ccircle cx='40' cy='118' r='2'/%3E%3Cpath d='M95 95l10 10M105 95l-10 10'/%3E%3Crect x='135' y='120' width='22' height='16' rx='3'/%3E%3Cpath d='M141 120v-4h10v4'/%3E%3Cpath d='M60 160a8 8 0 0 1 16 0z'/%3E%3Cpath d='M118 160l6-10 6 10'/%3E%3Ccircle cx='75' cy='55' r='3'/%3E%3C/svg%3E");background-size:180px}
.inbox-thread .day-sep span{color:#8696a0;background:#182229;box-shadow:none;font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.02em;border-radius:8px}
.inbox-thread .msg{position:relative;margin-top:8px;padding:6px 9px 6px;border-radius:8px;font-size:14.2px;line-height:1.4;color:#e9edef;box-shadow:0 1px .5px rgba(11,20,26,.13);animation:none}
.inbox-thread .msg.joined{margin-top:2px}
.inbox-thread .msg.theirs{background:#202c33;border-top-left-radius:0}
.inbox-thread .msg.mine{background:#005c4b;border-top-right-radius:0}
.inbox-thread .msg.joined.theirs{border-top-left-radius:8px}.inbox-thread .msg.joined.mine{border-top-right-radius:8px}
.inbox-thread .msg.theirs:not(.joined)::before,.inbox-thread .msg.mine:not(.joined)::before{content:"";position:absolute;top:0;width:8px;height:13px}
.inbox-thread .msg.theirs:not(.joined)::before{left:-8px;background:#202c33;clip-path:polygon(0 0,100% 0,100% 100%)}
.inbox-thread .msg.mine:not(.joined)::before{right:-8px;background:#005c4b;clip-path:polygon(0 0,100% 0,0 100%)}
.inbox-thread .msg.sticker{background:none;box-shadow:none}.inbox-thread .msg.sticker::before{display:none}
.inbox-thread .msg-meta{font-size:11px;color:#8696a0;margin-top:1px}
.inbox-thread .msg.mine .msg-meta{color:rgba(233,237,239,.6)}
.inbox-thread .tick.read{color:#53bdeb}
.inbox-thread .msg-from{font-size:12.8px;font-weight:500}
.inbox-thread .msg.failed{background:#3b2125}
.inbox-thread .composer{margin:0;padding:8px 12px;border-radius:0;background:#202c33;box-shadow:none;align-items:center}
.inbox-thread .composer textarea{background:#2a3942;border-radius:8px;padding:9px 12px;color:#e9edef}
.inbox-thread .composer .tool-btn{color:#8696a0}
.inbox-thread .composer .send-btn{background:#00a884;box-shadow:none}
.inbox-thread .scheduled-strip{margin:8px 12px}
.inbox-thread .composer-note{margin:0;border-radius:0}

/* Mapa de ocorrências: coordenadas explícitas, separadas da geolocalização de IP. */
.case-map-section{margin-bottom:32px}.case-map-heading,.case-map-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.case-map-heading h2{margin:0}.case-map-heading .help{margin:8px 0}.case-map-tools{justify-content:flex-start}.case-map-tools select{max-width:220px}.case-map-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;border:1px solid var(--border,#303744);border-radius:16px;overflow:hidden}.case-map-view{position:relative;min-width:0;background:#d9e2e6}.case-map-view canvas{display:block;width:100%;height:620px;touch-action:none;cursor:grab}.case-map-view canvas:active{cursor:grabbing}.case-map-zoom{position:absolute;left:14px;top:14px;display:grid;gap:3px}.case-map-zoom button{width:38px;height:38px;font-size:24px;background:#fff;color:#172334;border:1px solid #9aa4b2;border-radius:5px}.case-map-credit{position:absolute;right:0;bottom:0;margin:0;background:#fff;color:#111827;padding:3px 8px;font-size:11px}.case-map-credit a{color:#075985}.case-map-loading{position:absolute;left:8px;bottom:24px;background:#fff;color:#111827;padding:3px 8px;font-size:12px}.case-map-loading:empty{display:none}.case-map-detail{padding:20px;overflow:auto;max-height:620px;background:var(--surface,#11151c);overflow-wrap:anywhere}.case-map-detail h3{margin-top:0}.case-map-detail select{width:100%;margin:8px 0 18px}.map-location-form{display:grid;gap:12px;margin-top:20px}.map-location-form label{display:grid;gap:6px}.map-location-form input{width:100%;min-width:0}.map-location-form label:has([type=checkbox]){display:flex;align-items:flex-start}.map-location-form input[type=checkbox]{width:auto}.case-map-detail code{font-size:12px}@media(max-width:850px){.case-map-grid{grid-template-columns:1fr}.case-map-view canvas{height:440px}.case-map-detail{max-height:none}.case-map-heading>button{width:100%}.case-map-tools>*{max-width:100%}}
/* Mapa em destaque; detalhes abertos somente quando solicitados. */
.case-map-section{padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015))}
.case-map-heading h2{font-size:19px;letter-spacing:-.4px}.case-map-heading .help{max-width:620px;line-height:1.6}
.case-map-tools{padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(0,0,0,.16);gap:8px}.case-map-tools button{font-size:12px;padding:0 12px}.case-map-tools [data-count]{margin-left:auto;font-variant-numeric:tabular-nums}
.case-map-grid{position:relative;display:block;border-radius:18px;isolation:isolate}.case-map-view canvas{height:clamp(480px,70dvh,880px)}
.case-map-detail{position:absolute;right:12px;top:12px;bottom:44px;width:min(340px,calc(100% - 24px));max-height:none;border-radius:16px;box-shadow:0 12px 50px #0006;border:1px solid rgba(255,255,255,.15);z-index:3;background:#11151c}.case-map-detail[hidden]{display:none}.case-map-detail [data-close-detail]{margin-bottom:20px;width:100%}
.case-map-data{position:absolute;top:16px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 130px);padding:12px 18px;border-radius:12px;background:rgba(17,21,28,.94);color:#f3f4f6;box-shadow:0 4px 20px #0003;font-size:13px;line-height:1.5;text-align:center;pointer-events:none}.case-map-data:empty{display:none}
.case-map-legend{position:absolute;bottom:38px;right:12px;display:flex;gap:12px;flex-wrap:wrap;background:#fffffff2;border:1px solid #cbd5e1;color:#172334;border-radius:10px;padding:9px 12px;font-size:11px;pointer-events:none}.case-map-legend span{display:flex;align-items:center;gap:5px}.case-map-legend span:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--dot)}.case-map-legend .urgent{--dot:#dc2626}.case-map-legend .high{--dot:#ea580c}.case-map-legend .medium{--dot:#ca8a04}.case-map-legend .low{--dot:#2563eb}
.case-map-loading{max-width:calc(100% - 24px);left:12px;bottom:70px;border-radius:8px;box-shadow:0 2px 10px #0002}.case-map-section>p.help{font-size:12px;line-height:1.7;margin-bottom:0}
@media(max-width:600px){.case-map-section{padding:12px;border-radius:16px}.case-map-tools{padding:8px}.case-map-tools>*{flex:1 1 auto}.case-map-tools [data-count]{flex-basis:100%;margin:4px;font-size:12px}.case-map-view canvas{height:65dvh;min-height:430px}.case-map-heading>button{width:auto}.case-map-data{font-size:12px;padding:10px;max-width:calc(100% - 100px);left:auto;right:10px;transform:none}.case-map-legend{gap:8px;font-size:10px}}
/* Central cartográfica: o mapa ocupa toda a área de trabalho. */
.content:has(.ops-map){max-width:none;padding:0}.content:has(.ops-map)>.footer{display:none}.main:has(.ops-map){padding-left:calc(var(--side) + 28px)}
.page:has(.ops-map){min-height:0}.page>.ops-map{animation:none}
.ops-map{position:relative;height:100dvh;min-height:520px;background:#090d12;color:#e5eaf2;isolation:isolate;overflow:hidden;font-size:13px;line-height:1.5}
.ops-canvas{position:absolute;inset:0;background:#090d12;z-index:0}.ops-map .ops-dark-tiles{filter:invert(1) hue-rotate(180deg) saturate(.25) brightness(.72) contrast(1.15)}
.ops-map button{cursor:pointer}.ops-map button:focus-visible,.ops-map input:focus-visible,.ops-map summary:focus-visible{outline:2px solid #8ac5ff;outline-offset:3px}.ops-map [hidden]{display:none!important}
.ops-top{position:absolute;z-index:600;left:24px;right:24px;top:24px;display:flex;align-items:center;gap:14px;pointer-events:none}.ops-top>*{pointer-events:auto}
.ops-search{display:flex;align-items:center;gap:10px;width:min(440px,65%);height:52px;padding:0 10px 0 16px;background:rgba(12,17,24,.96);border:1px solid #293340;border-radius:15px;box-shadow:0 8px 30px #0005}
.ops-search>.icon,.ops-search>span .icon{width:18px;height:18px;color:#8291a6}.ops-search input{border:0!important;background:none!important;box-shadow:none!important;min-width:0;flex:1;padding:0!important;height:100%;font-size:13px;color:#e8eef7}.ops-search input::placeholder{color:#8593a5}
.ops-map .ops-search button,.ops-actions button,.ops-panel header button{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:10px;background:#19212b;border:1px solid #2a3442;color:#afbdcd;padding:0}.ops-search button .icon{width:17px;height:17px}
.ops-live{margin-left:auto;display:flex;align-items:center;gap:8px;padding:8px 13px;background:rgba(12,17,24,.94);border:1px solid #273442;border-radius:999px;color:#b4c3d3;font-size:11px;box-shadow:0 5px 25px #0004;white-space:nowrap}.ops-live i{width:7px;height:7px;border-radius:50%;background:#53d8b0;box-shadow:0 0 10px #53d8b05e}.ops-live.offline i{background:#fb923c}.ops-live.syncing i{animation:blink 1s infinite}
.ops-actions{position:absolute;z-index:600;left:24px;top:94px;display:flex;flex-direction:column;gap:8px}.ops-actions button{width:40px;height:40px;background:rgba(12,17,24,.95);border-radius:12px;box-shadow:0 4px 15px #0003}.ops-actions button:hover,.ops-search button:hover{background:#263345;color:#fff}.ops-actions .icon{width:18px;height:18px}
.ops-layers{position:absolute;z-index:650;left:76px;top:94px;width:260px;padding:18px;background:#101720f5;border:1px solid #2b3748;border-radius:15px;box-shadow:0 10px 40px #0008}.ops-layers b{display:block;margin-bottom:14px}.ops-layers label{display:flex;align-items:center;gap:9px;font-size:12px;margin:12px 0;color:#c4cfdd}.ops-layers input[type=checkbox]{width:16px;height:16px;accent-color:#6ab1ff;margin:0;padding:0}.ops-layers select{width:145px;min-height:32px;font-size:12px}.ops-layers p{font-size:11px;color:#92a1b4;line-height:1.7}.ops-layers a{color:#b1cffa}
.ops-bottom{position:absolute;z-index:500;bottom:30px;left:24px;right:65px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.ops-bottom>button{pointer-events:auto;display:flex;align-items:center;gap:8px;background:rgba(12,17,24,.94);border:1px solid #273442;border-radius:12px;min-height:36px;padding:8px 12px;color:#b5c2d2;font-size:11px;box-shadow:0 5px 20px #0005}.ops-bottom>[data-updated]{font-size:10px;color:#96a5b7;background:#0c1118dd;border-radius:6px;padding:3px 8px}.ops-key{width:7px;height:7px;border-radius:50%;background:#60a5fa}.ops-key.case{background:#f6a75d}.ops-divider{height:12px;width:1px;background:#354252;margin:0 4px}.ops-pending{color:#8191a7;font-size:10px;margin-left:4px}
.ops-feedback{position:absolute;z-index:550;left:50%;bottom:86px;transform:translateX(-50%);max-width:calc(100% - 130px);width:max-content;background:#101821eb;color:#b3c4d8;border:1px solid #283849;box-shadow:0 6px 30px #0006;border-radius:12px;padding:11px 16px;font-size:12px;line-height:1.6;text-align:center;pointer-events:none}.ops-feedback:empty{display:none}
.ops-panel{position:absolute;z-index:700;right:24px;top:94px;bottom:84px;width:350px;max-width:calc(100% - 48px);display:flex;flex-direction:column;border:1px solid #2a3444;border-radius:19px;background:#10161ff5;box-shadow:0 16px 60px #0008;overflow:hidden;backdrop-filter:blur(16px)}
.ops-panel header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid #252f3d}.ops-panel header small{font-size:9px;color:#71849c;letter-spacing:1.7px}.ops-panel header h2{font-size:15px;font-weight:600;margin:4px 0 0;letter-spacing:-.3px}.ops-panel header button{font-size:24px;width:30px;height:30px}.ops-panel-body{overflow:auto;overscroll-behavior:contain;flex:1;padding:18px 20px;scrollbar-width:thin;scrollbar-color:#354252 transparent}
.ops-person{width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;border-radius:14px;background:#1a2738;color:#8ba9ce;border:1px solid #33455e;overflow:hidden}.ops-person img{width:100%;height:100%;object-fit:cover}.ops-person .icon{width:20px;height:20px}.ops-person.large{width:64px;height:64px;border-radius:22px;margin:auto}.ops-person.large .icon{width:28px;height:28px}.ops-person-hero{text-align:center;padding:6px 0 20px}.ops-person-hero h3{font-size:19px;margin:12px 0 2px;letter-spacing:-.4px}.ops-person-hero p{margin:0 0 12px;font-size:13px;color:#9baec4}.ops-source{display:inline-block;padding:5px 9px;color:#8ed8b8;background:#182e29;border:1px solid #284b40;border-radius:8px;font-size:10px}.ops-source.approx{color:#a0c8ff;background:#1a2a41;border-color:#2a4263}
.ops-detail-section{border-top:1px solid #253040;padding:15px 0}.ops-detail-section h4{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#91a5bd;margin:0 0 10px}.ops-row{display:flex;justify-content:space-between;gap:15px;padding:6px 0;font-size:12px;line-height:1.6}.ops-row>span{color:#8294ac;flex-shrink:0}.ops-row b{font-weight:500;color:#d4dfed;text-align:right;overflow-wrap:anywhere}.ops-precision,.ops-preview{font-size:11px;color:#8d9eb3;line-height:1.8;margin:10px 0 0}.ops-preview{padding:10px;border-radius:10px;background:#1a2431;white-space:pre-wrap;max-height:150px;overflow:auto}.ops-outlink{font-size:11px;color:#8dbdff}.ops-open-chat{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border-radius:12px;color:#d7e7ff;background:#1f3c62;border:1px solid #325988;font-size:12px;margin:8px 0 18px}.ops-open-chat .icon{width:16px;height:16px}
.ops-edit{border-top:1px solid #283444;padding-top:16px;font-size:12px}.ops-edit summary{cursor:pointer;color:#c5d6ed;padding:4px 0}.ops-edit form{display:grid;gap:12px;margin-top:15px}.ops-edit label{display:grid;gap:5px;color:#94a8c2;font-size:11px}.ops-edit input{min-width:0;width:100%;font-size:12px}.ops-edit button{font-size:12px}.ops-edit button .icon{width:15px;height:15px}.ops-coords{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ops-edit label.ops-confirm{display:flex;align-items:flex-start;line-height:1.6;gap:8px}.ops-confirm input{width:15px;height:15px;flex-shrink:0;margin-top:2px;accent-color:#78b6ff}
.ops-list-summary{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#a1b4cd;margin-bottom:14px}.ops-list-summary>span{color:#667e9b;font-size:10px}.ops-records{display:flex;flex-direction:column;gap:5px}.ops-record{display:flex;align-items:center;gap:10px;width:100%;padding:10px 8px;border-radius:12px;background:transparent;border:1px solid transparent;color:#c7d4e6;text-align:left}.ops-record:hover{background:#1c293b;border-color:#2c405c}.ops-record>span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column;gap:1px}.ops-record b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.ops-record small{font-size:10px;color:#95a8c1}.ops-record em{font-size:10px;color:#647e9f;font-style:normal}.ops-record-arrow{color:#6883a5;font-size:22px}.ops-empty{font-size:12px;color:#7f93ad;line-height:1.8;padding:20px 0}
.ops-cep{border-top:1px solid #283444;padding-top:18px;margin-top:20px;font-size:12px;color:#b3c4db}.ops-cep form{display:flex;gap:8px;margin-top:8px}.ops-cep input{width:100%;min-width:0;font-size:12px}.ops-cep button{padding:0 12px;font-size:12px;background:#223955;color:#c7defc;border:1px solid #355377;border-radius:10px}.ops-cep p{font-size:10px;color:#7a92b0;line-height:1.8}.ops-cep [data-cep-result]{font-size:12px;line-height:1.8;margin-top:12px}
.ops-map .ops-marker{border:0;background:none;display:grid;place-items:center;--point:#f2bc55}.ops-marker>span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;color:var(--point);background:#131d2bf2;border:2px solid var(--point);box-shadow:0 0 0 5px #10172060,0 5px 20px #0008;overflow:hidden}.ops-marker .icon{width:17px;height:17px}.ops-marker img{width:100%;height:100%;object-fit:cover}.ops-marker.tiny>span{background:none;border:0;box-shadow:none;overflow:visible}.ops-marker.tiny .figure{width:26px;height:26px;color:#74b8ff;fill:currentColor;filter:drop-shadow(0 1px 1px #000a) drop-shadow(0 0 1.5px #fff)}.ops-marker.contact{--point:#74b8ff}.ops-marker.urgente{--point:#fb7185}.ops-marker.alta{--point:#fb923c}.ops-marker.media{--point:#f2cd70}.ops-marker.baixa{--point:#63d4b3}.ops-marker.cluster{--point:#a8c4ee;font-size:14px;font-weight:600}.ops-marker.selected>span{box-shadow:0 0 0 7px #94bfff38,0 0 25px #559bff55}.ops-marker.recent:not(.cluster)>span{box-shadow:0 0 0 5px #61d7bc25,0 0 22px #61d7bc35}
.ops-map .ops-region{cursor:pointer;transition:fill-opacity .2s}.ops-map .ops-region:hover{fill-opacity:.3}.ops-map .ops-region.recent{animation:ops-region-pulse 2.8s ease-out infinite}.ops-key.region{background:#f6b24a}.ops-region-tip{font-weight:600}@keyframes ops-region-pulse{0%,100%{stroke-opacity:.9}50%{stroke-opacity:.35}}@media(prefers-reduced-motion:reduce){.ops-map .ops-region.recent{animation:none}}
.ops-map .ops-bairro{cursor:pointer;transition:fill-opacity .2s}.ops-map .ops-bairro.cicom{stroke-dasharray:1;filter:drop-shadow(0 0 3px #a855f780)}
.ops-cicom{display:grid;place-items:center}.ops-cicom>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#2a1540f2;border:2px solid #a855f7;box-shadow:0 0 0 4px #a855f733,0 4px 14px #0008;color:#d8b4fe}.ops-cicom .icon{width:16px;height:16px}
.ops-legend{margin-top:4px;padding:8px 9px;background:#0b1220cc;border:1px solid #243247;border-radius:9px;font-size:10.5px;color:#aebccd}.ops-legend b{display:block;font-size:10px;letter-spacing:.3px;text-transform:uppercase;color:#8fa1b6;margin-bottom:6px}.ops-scale{display:flex;flex-wrap:wrap;gap:4px 9px}.ops-scale span{display:inline-flex;align-items:center;gap:4px}.ops-scale i{width:11px;height:11px;border-radius:3px;display:inline-block;border:1px solid #ffffff22}.ops-scale i.h0{background:#1a2740}.ops-scale i.h1{background:#fde68a}.ops-scale i.h2{background:#fbbf24}.ops-scale i.h3{background:#fb923c}.ops-scale i.h4{background:#ef4444}.ops-scale i.h5{background:#b91c1c}.ops-scale.cicom{margin-top:5px}.ops-scale.cicom i{background:transparent;border:2px solid #a855f7}.ops-legend p{margin:6px 0 0;color:#8697ab;line-height:1.35}
.ops-map .leaflet-control-zoom{border:1px solid #2e3c50;border-radius:12px;overflow:hidden;box-shadow:0 5px 20px #0006}.ops-map .leaflet-control-zoom a{background:#101720;color:#b8cbe5;border-color:#2b3749;width:34px;height:34px;line-height:34px;font-size:21px}.ops-map .leaflet-control-zoom a:hover{background:#233248}.ops-map .leaflet-control-zoom a.leaflet-disabled{color:#526176}.ops-map .leaflet-bottom.leaflet-right{bottom:30px;right:14px}.ops-map .leaflet-control-attribution{background:#0a1018df;color:#758ca8;font-size:9px;border-radius:5px 0 0 0}.ops-map .leaflet-control-attribution a{color:#98afcc}.ops-map .leaflet-control-attribution a[target]{text-decoration:none}.ops-map .leaflet-bottom.leaflet-right .leaflet-control-attribution{position:fixed;bottom:0;right:0;margin:0;padding:2px 6px}.ops-map .leaflet-control-scale{margin:0 0 10px 24px}.ops-map .leaflet-control-scale-line{border-color:#6f839d;color:#9aacc3;background:#0b121abf;font-size:9px;text-shadow:none}.ops-map .leaflet-tooltip{background:#142032;border-color:#354b69;color:#c5d7ee;font-size:11px}.ops-map.placing .leaflet-container{cursor:crosshair}.ops-map:fullscreen,.ops-map.ops-expanded{height:100dvh;width:100vw}.ops-map.ops-expanded{position:fixed;inset:0;z-index:1000}.ops-map:fullscreen .ops-bottom{bottom:32px}
@media(max-width:860px){.main:has(.ops-map){padding-left:0}.ops-map{height:calc(100dvh - 58px - 76px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:380px}.ops-top{left:14px;right:14px;top:14px;gap:8px}.ops-search{width:min(440px,75%);height:46px;padding-left:12px;gap:8px}.ops-search input{font-size:16px}.ops-search input::placeholder{font-size:12px}.ops-live{font-size:9px;padding:7px 9px;gap:5px}.ops-actions{left:14px;top:76px}.ops-layers{left:62px;top:76px}.ops-panel{top:76px;right:14px;bottom:76px}.ops-bottom{left:14px;bottom:29px;right:60px}.ops-bottom button{font-size:10px;padding:7px 9px;flex-wrap:wrap;gap:5px}.ops-bottom>[data-updated]{display:none}.ops-feedback{font-size:11px;bottom:82px;max-width:calc(100% - 100px)}.ops-map .leaflet-control-scale{margin-left:14px}}
@media(max-width:600px){.ops-search{width:auto;flex:1;min-width:0}.ops-search button{width:28px;height:30px}.ops-live span{font-size:0}.ops-live span::after{content:'10s';font-size:10px}.ops-live.offline span::after{content:'Offline'}.ops-live{padding:9px}.ops-panel{top:76px;bottom:76px;left:65px;right:14px;width:auto;max-width:none;border-radius:15px}.ops-panel header{padding:12px 14px}.ops-panel-body{padding:14px}.ops-panel header h2{font-size:13px}.ops-panel header small{font-size:8px}.ops-pending{font-size:9px}.ops-layers{max-width:calc(100% - 76px)}.ops-map:fullscreen{min-height:100dvh}}
@media(prefers-reduced-motion:reduce){.ops-map *{animation:none!important;scroll-behavior:auto!important}}
.ops-map .leaflet-bottom.leaflet-right .leaflet-control-attribution{position:absolute;bottom:-30px;right:-14px;width:max-content;max-width:calc(100vw - 20px)}

/* Central imersiva: todo o espaço disponível pertence ao mapa. */
body:has(.ops-map){overflow:hidden;background:#030609}
.app:has(.ops-map)>.sidebar,.app:has(.ops-map)>.tabbar,.app:has(.ops-map)>.scrim,.main:has(.ops-map)>.mobilebar{display:none}
.app .main:has(.ops-map){padding:0;margin:0}
.page>.ops-map{position:fixed;inset:0;width:100%;height:100dvh;min-height:0;z-index:100;background:#030609}
.ops-canvas{background:#030609}
.ops-map .ops-dark-tiles{filter:invert(1) hue-rotate(180deg) saturate(.22) brightness(.85) contrast(1.08)}
.ops-top{top:max(18px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right))}
.ops-search{height:44px;width:min(400px,65%);border-radius:10px;background:#070c12e8;border-color:#28414d;backdrop-filter:blur(16px);box-shadow:0 8px 28px #0007,inset 0 1px #8eeaff09}
.ops-live{background:#070c12e8;border-color:#23443d;color:#8be7cd;letter-spacing:.3px}
.ops-live i{box-shadow:0 0 12px #53d8b099;animation:ops-signal 3s ease-out infinite}
.ops-live.offline{border-color:#774326;color:#fdba74}.ops-live.offline i{animation:none;box-shadow:none}
.ops-actions{left:max(18px,env(safe-area-inset-left));top:calc(max(18px,env(safe-area-inset-top)) + 58px)}
.ops-actions button,.ops-actions .ops-exit{width:36px;height:36px;border-radius:9px;border:1px solid #28414d;background:#070c12e8;color:#93bbcb;box-shadow:0 5px 20px #0005;backdrop-filter:blur(12px)}
.ops-actions .ops-exit{display:grid;place-items:center;text-decoration:none}.ops-actions .ops-exit:hover{background:#192b39;color:#fff}.ops-actions .ops-exit:focus-visible{outline:2px solid #8acfff;outline-offset:3px}
.ops-layers{top:calc(max(18px,env(safe-area-inset-top)) + 58px);left:64px;background:#070c12f5;border-color:#28414d}
.ops-panel{top:calc(max(18px,env(safe-area-inset-top)) + 58px);background:#070c12f5;border-color:#28414d}
.ops-bottom{left:max(18px,env(safe-area-inset-left));bottom:calc(30px + env(safe-area-inset-bottom))}
.ops-bottom>button{background:#070c12df;border-color:#223541;border-radius:8px;backdrop-filter:blur(12px)}
.ops-bottom>[data-updated]{display:none}
.ops-marker>span{background:#061017ed;box-shadow:0 0 0 5px #07121c80,0 0 20px color-mix(in srgb,var(--point) 25%,transparent)}
.ops-marker.cluster{--point:#68e0da}
.ops-marker.recent:not(.cluster)::before{content:'';position:absolute;inset:-7px;border:1px solid var(--point);border-radius:50%;animation:ops-ripple 3s ease-out infinite;pointer-events:none}
.ops-map .ops-marker.tiny>span{background:none;border:0;box-shadow:none}.ops-map .ops-marker.tiny::before{display:none}
.ops-map path.ops-beam{animation:ops-beam-flow 1.1s linear infinite;filter:drop-shadow(0 0 4px rgba(255,59,48,.65))}
@keyframes ops-beam-flow{to{stroke-dashoffset:-14}}
.ops-map .leaflet-bottom.leaflet-right{bottom:calc(30px + env(safe-area-inset-bottom));right:max(14px,env(safe-area-inset-right))}
.ops-map .leaflet-control-scale{margin-bottom:calc(10px + env(safe-area-inset-bottom))}
@keyframes ops-signal{0%{box-shadow:0 0 0 0 #53d8b055}80%,100%{box-shadow:0 0 0 7px #53d8b000}}
@keyframes ops-ripple{0%{transform:scale(.7);opacity:.7}85%,100%{transform:scale(1.5);opacity:0}}
@media(max-width:600px){
  .ops-top{left:12px;right:12px;gap:8px}.ops-search{width:auto;height:42px;border-radius:9px}.ops-search input::placeholder{font-size:11px}
  .ops-actions{left:12px;gap:7px}.ops-panel{left:58px;right:12px;bottom:calc(80px + env(safe-area-inset-bottom));max-width:none}
  .ops-layers{left:58px;max-width:calc(100% - 70px)}.ops-bottom{left:12px;right:58px}.ops-bottom>button{font-size:9px;gap:5px;padding:6px 8px}.ops-divider{margin:0 1px}
  .ops-map .ops-live span{font-size:10px}.ops-map .ops-live span::after{content:none}.ops-live{padding:8px;font-size:10px;letter-spacing:0}
  .ops-map .leaflet-control-attribution{font-size:8px}.ops-feedback{max-width:calc(100% - 80px)}
}
@media(prefers-reduced-motion:reduce){.ops-marker::before,.ops-live i{animation:none!important}}
.ops-map .ops-cep-tooltip{max-width:190px;white-space:normal;text-align:center}
