/* bloco 1 */
/* Esqueleto do protótipo: cabeçalho/menu, cartões, formulário de lançamento e lista de atividade recente */
:root{--ink:#18211d;--muted:#737c77;--paper:#f4f2ed;--lime:#c9f44d;--line:#e3e2dc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif}button,input,select{font:inherit}.top{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 4vw;gap:30px;position:sticky;top:0;z-index:3}.brand{display:flex;align-items:center;gap:10px;font-weight:900}.mark{background:var(--ink);color:var(--lime);width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:20px}.brand small{display:block;color:#909793;font-size:9px;font-weight:400;margin-top:3px}.nav{margin:auto;display:flex;gap:6px}.nav button{border:0;background:none;padding:11px 15px;border-radius:11px;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer}.nav button.on{background:#edf3df;color:var(--ink)}.avatar{background:#dfdcd4;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800}.wrap{max-width:1160px;margin:auto;padding:38px 22px}.head{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.eyebrow{font-size:9px;font-weight:900;letter-spacing:.14em;color:#7b847f}.head h1,.pagehead h1{font-size:34px;letter-spacing:-.04em;margin:8px 0 6px}.head p,.pagehead p{font-size:13px;color:var(--muted);margin:0}.limit{font-size:10px;font-weight:800;color:var(--muted)}.limit input{width:70px;margin-left:7px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;font-weight:900}.stats{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 4px 16px #18211d08}.card{min-height:150px;padding:23px;display:flex;flex-direction:column;justify-content:center;position:relative}.card small{font-size:10px;color:var(--muted);font-weight:700}.card strong{font-size:29px;margin:10px 0 5px;letter-spacing:-.04em}.card p{font-size:10px;color:#939a96;margin:0}.card.dark{background:var(--ink);color:#fff;flex-direction:row;align-items:center;justify-content:space-between}.dark small,.dark p{color:#abb5b0}.dark strong{font-size:36px}.ring{width:87px;height:87px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--lime) var(--p),#3a4741 0);position:relative}.ring:after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--ink)}.ring span{z-index:1;font-size:11px;font-weight:900}.ico{position:absolute;right:18px;top:17px;background:#e7f5dc;border-radius:10px;width:31px;height:31px;display:grid;place-items:center}.grid{display:grid;grid-template-columns:.9fr 1.25fr;gap:14px;margin-top:14px}.panel{overflow:hidden}.panelhead{padding:20px 22px;border-bottom:1px solid #ecebe6;display:flex;align-items:center;justify-content:space-between}.panelhead h2{font-size:14px;margin:0 0 4px}.panelhead p{font-size:10px;color:#89918d;margin:0}.panelhead button{border:0;background:none;text-decoration:underline;font-size:10px;cursor:pointer}.badge{width:34px;height:34px;border-radius:10px;background:var(--lime);display:grid;place-items:center;float:left;margin-right:11px;font-weight:900}.badge.black{background:var(--ink);color:var(--lime)}form{padding:20px 22px}label{display:block;font-size:10px;font-weight:800;color:#626b66;margin-bottom:14px}input,select{width:100%;margin-top:7px;background:#fafaf8;border:1px solid #dedfd9;border-radius:10px;padding:12px;color:var(--ink);font-size:12px;outline:0}.row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.primary{width:100%;border:0;border-radius:11px;padding:13px 15px;background:var(--ink);color:#fff;font-size:11px;font-weight:800;cursor:pointer;display:flex;justify-content:space-between}.primary span{color:var(--lime)}.primary:disabled{opacity:.35;cursor:not-allowed}.error{color:#c44d39;font-size:10px;margin:-5px 0 11px}.warn{background:#fff0eb;color:#b64c38;font-size:10px;font-weight:700;padding:11px;margin:15px 20px 0;border-radius:10px}.entries{padding:5px 22px}.entry{display:flex;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid #eeede9}.entry:last-child{border:0}.dot{width:34px;height:34px;border-radius:10px;background:#e6f4dc;color:#35713f;display:grid;place-items:center;font-size:11px;font-weight:900;flex:none}.ecopy{flex:1;min-width:0}.ecopy b,.ecopy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ecopy b{font-size:11px;margin-bottom:4px}.ecopy small{font-size:9px;color:#89918d}.pts{font-size:10px;white-space:nowrap}.del{border:0;background:#f3f1ed;border-radius:7px;color:#8b928e;cursor:pointer}.empty{text-align:center;color:#929995;padding:80px 20px}.empty b{display:block;color:#59625d;font-size:11px;margin:8px}.view{display:none}.view.on{display:block}.page{min-height:560px}.pagehead{padding:26px;display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line)}.pagehead h1{font-size:28px}.balance{background:var(--ink);color:#fff;border-radius:13px;padding:12px 17px}.balance small{font-size:9px;color:#adb7b2;display:block}.balance b{font-size:18px}.search{width:260px;margin:0}.catalog{display:grid;grid-template-columns:1fr 1fr;padding:12px 22px 25px;gap:0 24px}.service{border:0;border-bottom:1px solid #eeede9;background:#fff;padding:14px 5px;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.service:hover{background:#f8faef}.service span{font-size:11px}.service small{display:block;color:#909894;font-size:8px;margin-bottom:4px}.service b{font-size:10px;background:#edf3dc;border-radius:8px;padding:6px;white-space:nowrap}.foot{text-align:center;color:#979e9a;font-size:9px;margin-top:24px}@media(max-width:760px){.top{height:auto;flex-wrap:wrap;padding:13px 16px;gap:8px}.nav{order:3;width:100%}.nav button{flex:1;padding:9px 4px}.wrap{padding:25px 14px}.head{align-items:start}.stats,.grid{grid-template-columns:1fr}.catalog{grid-template-columns:1fr}.pagehead{align-items:stretch;flex-direction:column;gap:18px}.search{width:100%}}@media(max-width:440px){.head{flex-direction:column;gap:17px}.brand small{display:none}.row{grid-template-columns:1fr}.ring{width:72px;height:72px}.dark strong{font-size:29px}}
/* Filtros do catálogo, painéis de limite/cadastro/usuários do admin e lista administrativa de serviços */
.filters{display:flex;gap:8px;padding:16px 27px 4px}.filters button{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:20px;padding:8px 14px;font-size:10px;font-weight:800;cursor:pointer}.filters button.on{background:var(--ink);border-color:var(--ink);color:var(--lime)}.catalog.grouped{display:block;padding:10px 27px 28px}.catgroup{margin-top:15px}.catgroup h3{margin:0;padding:12px 4px 9px;border-bottom:2px solid var(--ink);font-size:11px;letter-spacing:.07em;text-transform:uppercase;display:flex;justify-content:space-between}.catgroup h3 small{font-size:9px;color:#8b938e;letter-spacing:0;text-transform:none}.catitems{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.noresults{text-align:center;padding:70px 20px;color:#89918d;font-size:12px}.adminnote{margin:20px 26px 0;background:#f1f5e7;border:1px solid #dfe9c8;border-radius:12px;padding:13px 15px;font-size:10px;color:#5e685f}.limitbox,.createbox,.usersbox{margin:16px 26px 0;border:1px solid var(--line);border-radius:14px;padding:18px;background:#fafaf8}.limitbox h2,.createbox h2,.usersbox h2{font-size:13px;margin:0 0 4px}.limitbox>p,.createbox>p,.usersbox>p{font-size:9px;color:#8b938e;margin:0 0 15px}.limitgrid{display:grid;grid-template-columns:1fr 130px 130px;gap:10px;align-items:end}.limitgrid label{margin:0}.limithistory{margin-top:17px;border-top:1px solid var(--line);padding-top:13px}.limithistory h3{font-size:10px;margin:0 0 8px}.historyrow{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;padding:9px 3px;border-bottom:1px solid #e8e7e2;font-size:9px}.historyrow b{font-size:10px}.historyrow small{color:#8a928d}.creategrid{display:grid;grid-template-columns:1.4fr 1fr 100px 120px;gap:10px;align-items:end}.creategrid label{margin:0}.creategrid input,.creategrid select{background:#fff}.additem{border:0;border-radius:10px;padding:12px;background:var(--lime);color:var(--ink);font-size:10px;font-weight:900;cursor:pointer}.adminlist{padding:12px 26px 28px}.adminrow{display:grid;grid-template-columns:1.3fr 1fr 90px 38px 38px;gap:8px;align-items:center;padding:9px 4px;border-bottom:1px solid #ecebe7}.adminrow input,.adminrow select{margin:0;padding:9px;background:#fafaf8;font-size:10px}.saveprice,.deleteitem{width:36px;height:36px;border:0;border-radius:9px;font-size:14px;font-weight:900;cursor:pointer}.saveprice{background:var(--ink);color:var(--lime)}.deleteitem{background:#ffebe7;color:#d23e2a}.usergrid{display:grid;grid-template-columns:1fr 1.2fr 1fr .7fr .8fr;gap:8px;align-items:end}.usergrid label{margin:0}.userrow{display:grid;grid-template-columns:1fr 1.2fr 1fr .7fr 38px 38px;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}.userrow input,.userrow select{margin:0;padding:9px;font-size:10px}.changed{color:#679000!important}.adminactions{display:flex;gap:8px;align-items:center}.resetall{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 13px;font-size:9px;font-weight:800;cursor:pointer}.login{position:fixed;inset:0;background:#eef0e8;z-index:100;display:grid;place-items:center;padding:20px}.login.hidden{display:none}.loginbox{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 20px 60px #18211d22}.loginbox h1{font-size:25px;margin:20px 0 5px}.loginbox p{font-size:11px;color:var(--muted);margin:0 0 22px}.loginerror{color:#c43d2b;font-size:10px;margin-bottom:10px}.userbadge{cursor:pointer}.logout{border:0;background:none;color:#707974;font-size:9px;text-decoration:underline;cursor:pointer}@media(max-width:760px){.catitems{grid-template-columns:1fr}.adminrow{grid-template-columns:1fr 1fr 75px 36px 36px}.creategrid,.limitgrid,.usergrid{grid-template-columns:1fr 1fr}.userrow{grid-template-columns:1fr 1fr}.adminactions{align-items:stretch;flex-direction:column}.historyrow{grid-template-columns:1fr}}

/* bloco 2 */
/* Botão de alternar tema */
.themetoggle{width:auto;border:1px solid var(--line);background:#fff;color:#4d5364;border-radius:999px;padding:9px 13px;font-size:10px;font-weight:800;line-height:1;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,border-color .2s,transform .2s}.themetoggle:hover{transform:translateY(-1px)}.login>.themetoggle{position:absolute;right:24px;top:24px;z-index:2}
/* Paleta e cores de fundo/borda de cada componente no modo escuro */
html[data-theme="dark"]{color-scheme:dark;--ink:#f2f4ff;--muted:#aeb3c2;--paper:#101116;--line:#30323d}html[data-theme="dark"] body{background:#101116;color:#f2f4ff}html[data-theme="dark"] .top{background:#15161d;border-color:#30323d}html[data-theme="dark"] .login{background:#101116}html[data-theme="dark"] .loginbox,html[data-theme="dark"] .card:not(.dark),html[data-theme="dark"] .panel,html[data-theme="dark"] .clientsbox,html[data-theme="dark"] .modalcard,html[data-theme="dark"] .service,html[data-theme="dark"] .cucard,html[data-theme="dark"] .reportcard{background:#191b23;border-color:#30323d;box-shadow:0 12px 30px #0004}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .limitbox,html[data-theme="dark"] .createbox,html[data-theme="dark"] .usersbox,html[data-theme="dark"] .adminreport,html[data-theme="dark"] .functionsbox,html[data-theme="dark"] .cuform{background:#20222c;color:#f2f4ff;border-color:#383b48}html[data-theme="dark"] .card.dark,html[data-theme="dark"] .balance,html[data-theme="dark"] .primary,html[data-theme="dark"] .saveprice,html[data-theme="dark"] .filters button.on,html[data-theme="dark"] .admintabs button.on,html[data-theme="dark"] .clienttabs button.on{background:#2638ff;color:#fff;border-color:#2638ff}html[data-theme="dark"] .primary span,html[data-theme="dark"] .saveprice,html[data-theme="dark"] .filters button.on,html[data-theme="dark"] .admintabs button.on,html[data-theme="dark"] .clienttabs button.on{color:#00f221}html[data-theme="dark"] .ring:after{background:#2638ff}html[data-theme="dark"] .service:hover{background:#222532}html[data-theme="dark"] .service b,html[data-theme="dark"] .nav button.on,html[data-theme="dark"] .ico,html[data-theme="dark"] .dot{background:#243129;color:#85ff96}html[data-theme="dark"] .filters button,html[data-theme="dark"] .admintabs button,html[data-theme="dark"] .clienttabs button,html[data-theme="dark"] .resetall,html[data-theme="dark"] .themetoggle{background:#20222c;color:#d9dcea;border-color:#383b48}html[data-theme="dark"] .avatar{background:#2b2e39;color:#f2f4ff}html[data-theme="dark"] .del,html[data-theme="dark"] .modalclose{background:#292b35;color:#c7cad4}html[data-theme="dark"] .deleteitem{background:#3b2024;color:#ff8175}html[data-theme="dark"] .adminnote,html[data-theme="dark"] .clientsettings{background:#202a22;border-color:#304535;color:#b9d8c0}html[data-theme="dark"] .warn,html[data-theme="dark"] .consumptionalert{background:#332b18;color:#ffd46a}html[data-theme="dark"] .entry,html[data-theme="dark"] .panelhead,html[data-theme="dark"] .pagehead,html[data-theme="dark"] .adminrow,html[data-theme="dark"] .userrow,html[data-theme="dark"] .auditrow{border-color:#30323d}html[data-theme="dark"] .brand-logo,html[data-theme="dark"] .login-logo{filter:brightness(1.25) saturate(1.15)}
@media(max-width:760px){.top>.themetoggle{margin-left:auto}.login>.themetoggle{right:14px;top:14px}}

/* bloco 3 */
/* Carteira e gestão de clientes: abas do cliente, formulário de edição e tabela de usuários do cliente */
.clientsbox{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.clientsbox h2{font-size:15px;margin:0 0 5px}.clientsbox>p{font-size:10px;color:var(--muted)}.clienttop{display:grid;grid-template-columns:1fr 150px 130px;gap:10px;align-items:end;margin:18px 0}.clienttop label,.clientusergrid label{margin:0}.clienttabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.clienttabs button{border:1px solid var(--line);background:#fff;border-radius:18px;padding:8px 13px;font-size:10px;font-weight:800;cursor:pointer}.clienttabs button.on{background:var(--ink);color:var(--lime)}.clientdetail{border-top:1px solid var(--line);padding-top:18px}.clientusergrid{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr 100px;gap:8px;align-items:end}.clientuserrow{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr 90px 38px;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.clientuserrow input,.clientuserrow select{margin:0;padding:8px;font-size:9px}.clienthistory{margin-top:20px;border-top:1px solid var(--line);padding-top:14px}.clienthistory h3{font-size:11px}@media(max-width:760px){.clienttop,.clientusergrid,.clientuserrow{grid-template-columns:1fr 1fr}}

/* bloco 4 */
/* Abas do painel administrativo (Usuários/Clientes/Categorias/Serviços/Funções/Configurações/Relatórios) */
.admintabs{display:flex;gap:8px;margin:18px 26px 0;padding-bottom:12px;border-bottom:1px solid var(--line)}.admintabs button{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:20px;padding:9px 15px;font-size:10px;font-weight:800;cursor:pointer}.admintabs button.on{background:var(--ink);color:var(--lime);border-color:var(--ink)}[data-admin-panel].adminhidden{display:none}.serviceadminwrap{padding-bottom:8px}@media(max-width:560px){.admintabs{overflow:auto;margin-left:14px;margin-right:14px}.admintabs button{white-space:nowrap}}

/* bloco 5 */
/* Formulário e cartões de usuários do cliente, incluindo o botão de mostrar/ocultar senha */
.cuform{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 18px;padding:14px;background:#f5f5f1;border-radius:12px}.cuform label,.cufields label{margin:0}.passwordfield{display:flex;align-items:center;position:relative}.passwordfield input{padding-right:34px}.passwordfield button{position:absolute;right:4px;top:10px;border:0;background:none;color:#66706a;cursor:pointer}.cucard{display:flex;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px;margin:9px 0;background:#fff}.cufields{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;flex:1}.cufields input,.cufields select{margin-top:5px;padding:8px;font-size:9px}.cuactions{display:flex;gap:6px;align-items:center}@media(max-width:800px){.cuform,.cufields{grid-template-columns:1fr 1fr}.cucard{flex-direction:column}}

/* bloco 6 */
/* Configurações do cliente, campos extras de job, alerta de consumo e relatório/auditoria do admin */
.clientsettings{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px;background:#f1f5e7;border-radius:12px;padding:13px;margin:12px 0}.jobextras{display:grid;grid-template-columns:90px 1fr 1fr;gap:10px}.jobextras label{margin:0}.consumptionalert{max-width:1132px;margin:0 auto 14px;padding:11px 16px;border-radius:12px;background:#fff1cf;color:#745511;font-size:11px;font-weight:800}.adminreport{margin:16px 26px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fafaf8}.reportgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.reportcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}.reportcard b,.reportcard small{display:block}.reportcard b{font-size:18px;margin:7px 0}.auditrow{display:grid;grid-template-columns:150px 1fr 140px;gap:10px;border-bottom:1px solid var(--line);padding:10px 3px;font-size:9px}@media(max-width:700px){.clientsettings,.jobextras,.reportgrid{grid-template-columns:1fr}.auditrow{grid-template-columns:1fr}}

/* bloco 7 */
/* Modal genérico (fundo, cartão, cabeçalho, botão fechar) e cadastro de funções */
.modalback{position:fixed;inset:0;background:#18211dbb;z-index:80;display:none;place-items:center;padding:20px}.modalback.open{display:grid}.modalcard{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:24px;box-shadow:0 30px 80px #0004}.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modalhead h2{font-size:18px;margin:0}.modalclose{border:0;background:#f2efea;border-radius:9px;width:34px;height:34px;font-size:18px;cursor:pointer}.launchadmin{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0}.functionrow{display:grid;grid-template-columns:1fr 42px 42px;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.functionrow input{margin:0}.functionsbox{margin:16px 26px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fafaf8}

/* bloco 8 */
/* Tela de Financeiro Clientes: tabela de rentabilidade, cores de lucro/prejuízo e cabeçalho */
.financepage{max-width:1132px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}.financepage h1{font-size:28px;margin:8px 0}.financerow{display:grid;grid-template-columns:1.5fr 150px 80px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.financerow input{margin:0}.clientfinrow{display:grid;grid-template-columns:1.2fr 100px 100px 130px 120px 130px 42px;gap:9px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:10px}.clientfinrow input{margin:0;padding:9px}.profit{color:#39834b;font-weight:900}.loss{color:#ce4934;font-weight:900}.financehead{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.money{font-size:9px;color:#87908b}.hoursfield{display:flex;gap:6px;align-items:center}@media(max-width:850px){.clientfinrow{grid-template-columns:1fr 1fr}.financerow{grid-template-columns:1fr 100px 42px}}

/* bloco 9 */
/* Catálogo administrativo com valor em R$: campo de preço, total do item e cabeçalho da lista */
.adminrow.withvalue{grid-template-columns:1.2fr .9fr 80px 105px 115px 38px 38px}.pointvaluewrap{position:relative}.pointvaluewrap:before{content:'R$';position:absolute;left:8px;top:11px;font-size:9px;color:#7b847f}.pointvaluewrap input{padding-left:26px}.itemtotal{background:#edf4dc;border-radius:9px;padding:10px;font-size:9px;font-weight:800;white-space:nowrap}.itemtotal b{display:block;font-size:11px;margin-top:3px}.adminservicehead{display:grid;grid-template-columns:1.2fr .9fr 80px 105px 115px 38px 38px;gap:8px;padding:10px 4px 4px;color:#858e89;font-size:8px;font-weight:900;text-transform:uppercase}@media(max-width:800px){.adminrow.withvalue,.adminservicehead{grid-template-columns:1fr 1fr}.itemtotal{min-height:38px}}

/* bloco 10 */
/* Valor geral por ponto e resumo financeiro (aba Financeiro Clientes) */
.generalpoint{margin:16px 26px 0;padding:16px;border:1px solid #dce7bd;background:#f2f7e7;border-radius:13px;display:grid;grid-template-columns:1fr 150px 150px;gap:10px;align-items:end}.generalpoint h3{margin:0 0 4px;font-size:13px}.generalpoint p{margin:0;color:#79827d;font-size:9px}.financevalue{font-size:11px;font-weight:900}.financesummary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.financesummary article{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fafaf8}.financesummary b{display:block;font-size:18px;margin-top:5px}@media(max-width:750px){.generalpoint,.financesummary{grid-template-columns:1fr}}

/* bloco 11 */
/* Botão do WhatsApp, aviso de saldo insuficiente e alerta de limite mensal atingido */
.whatsappbtn{display:inline-flex;align-items:center;gap:7px;margin-left:12px;background:#25d366;color:#fff;text-decoration:none;border-radius:9px;padding:8px 12px;font-size:10px;font-weight:900}.insufficient{background:#fff0ec;color:#b33e2b;border-radius:10px;padding:11px 12px;margin:0 0 12px;font-size:10px;font-weight:800}.consumptionalert.limitreached{background:#ffe9e4;color:#9e3727;display:flex!important;align-items:center;justify-content:space-between;gap:10px}@media(max-width:560px){.consumptionalert.limitreached{align-items:flex-start;flex-direction:column}.whatsappbtn{margin-left:0}}

/* bloco 12 */
/* Carteira de clientes: diretório em lista, pílula de status e botão de voltar */
.clientdirectory{margin-top:14px}.directoryhead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.directoryrow{display:grid;grid-template-columns:1.4fr 100px 100px 90px 42px 42px;gap:10px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line);font-size:10px}.directoryrow small{display:block;color:#89918d;margin-top:3px}.statuspill{display:inline-block;border-radius:14px;padding:6px 9px;background:#eaf4df;color:#3b7443;font-size:8px;font-weight:900;text-transform:uppercase}.statuspill.inativo{background:#f0eeea;color:#7c817e}.backclients{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 12px;font-size:9px;font-weight:800;cursor:pointer;margin-bottom:14px}@media(max-width:650px){.directoryrow{grid-template-columns:1fr 1fr}.directoryhead{align-items:flex-start;flex-direction:column}}

/* bloco 13 */
/* Créditos a vencer: cartões de lote com aviso de urgência/expiração */
.creditexpiry{max-width:1132px;margin:14px auto 0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px 20px}.creditexpiry h3{font-size:12px;margin:0 0 4px}.creditexpiry>p{font-size:9px;color:#858e89;margin:0 0 12px}.creditlots{display:flex;gap:9px;overflow:auto}.creditlot{min-width:190px;border:1px solid #e2e5d9;background:#f8faef;border-radius:11px;padding:11px}.creditlot strong,.creditlot small{display:block}.creditlot strong{font-size:14px}.creditlot small{font-size:9px;color:#7c857f;margin-top:4px}.creditlot.urgent{background:#fff0ec;border-color:#f3c6bb}.creditlot.expired{background:#efede9;color:#929793}.creditrule{display:inline-block;margin-top:10px;border-radius:9px;background:#edf4dc;padding:7px 9px;font-size:9px;font-weight:800}@media(max-width:600px){.creditexpiry{margin-left:14px;margin-right:14px}}

/* bloco 14 */
/* Identidade Gesto — azul elétrico, verde neon e cinza institucional */
:root{--ink:#151520;--muted:#6f7280;--paper:#e2e4ea;--lime:#22ff06;--line:#dfe1e8;--gesto-blue:#1700f6;--gesto-green:#22ff06;--gesto-gray:#e2e4ea}
body{background:linear-gradient(145deg,#f3f4f7 0%,var(--gesto-gray) 100%);color:var(--ink)}
.top{background:#fff;border-bottom:1px solid #e8e9ef;box-shadow:0 1px 14px #1700f608}
.mark{background:var(--gesto-blue);color:var(--gesto-green);border-radius:12px}
.brand{color:var(--gesto-blue);letter-spacing:-.02em}
.brand{min-width:205px;gap:10px}.brand-logo{display:block;width:108px;height:38px;object-fit:cover;border-radius:5px}.brand>small{font-size:8px;line-height:1.25;color:#777a87;max-width:78px}
.login-logo{display:block;width:150px;height:auto;margin:0 0 22px;border-radius:7px}
.nav button{color:#676a78}.nav button:hover{background:#f0efff;color:var(--gesto-blue)}.nav button.on{background:var(--gesto-blue);color:#fff}
.avatar{background:var(--gesto-green);color:var(--gesto-blue)}
.card,.panel,.clientsbox,.usersbox,.limitbox,.createbox,.functionsbox,.adminreport,.generalpoint{border-color:#e4e5eb;box-shadow:0 10px 32px #1700f608}
.card.dark{background:var(--gesto-blue);color:#fff}
.dark small,.dark p{color:#c9c4ff}
.ring:after{background:var(--gesto-blue)}
.ico,.badge,.additem{background:var(--gesto-green)!important;color:#10131a!important}
.badge.black{background:var(--gesto-blue)!important;color:var(--gesto-green)!important}
.primary,.saveprice{background:var(--gesto-blue)!important;color:#fff!important}
.primary span{color:var(--gesto-green)}
.admintabs button.on{background:var(--gesto-blue);border-color:var(--gesto-blue);color:var(--gesto-green)}
.admintabs button:hover{border-color:var(--gesto-blue);color:var(--gesto-blue)}
input:focus,select:focus{border-color:var(--gesto-blue);box-shadow:0 0 0 3px #1700f610}
.service:hover{background:#f4f3ff}.service b{background:#edebff;color:var(--gesto-blue)}
.statuspill{background:#e9ffe5;color:#168d08}.creditrule{background:#edebff;color:var(--gesto-blue)}
.eyebrow{color:var(--gesto-blue)}
.directoryrow{border-color:#eaebef}.directoryrow:hover{background:#fafaff}
.whatsappbtn{background:var(--gesto-green)!important;color:#10131a!important}
.agencyhome{min-height:620px}.agencyhero{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}.agencyhero h1{font-size:34px;letter-spacing:-.04em;margin:8px 0 6px}.agencyhero p{font-size:12px;color:var(--muted);margin:0;max-width:610px}.agencyhero>span{background:var(--gesto-blue);color:#fff;border-radius:999px;padding:10px 14px;font-size:9px;font-weight:900}.agencyclientgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.agencyclient{border:1px solid #e4e5eb;background:#fff;border-radius:18px;padding:21px;text-align:left;cursor:pointer;box-shadow:0 10px 30px #1700f607;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.agencyclient:hover{transform:translateY(-2px);border-color:var(--gesto-blue);box-shadow:0 14px 34px #1700f612}.agencyclienthead{display:flex;justify-content:space-between;align-items:start;gap:12px}.agencyclienthead b,.agencyclienthead small{display:block}.agencyclienthead b{font-size:16px;color:var(--ink)}.agencyclienthead small{font-size:8px;color:var(--muted);margin-top:4px;text-transform:uppercase}.agencyclienthead i{font-style:normal;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:900}.agencyclienthead i.healthy{background:#e9ffe5;color:#168d08}.agencyclienthead i.attention{background:#fff6d9;color:#9a6500}.agencyclienthead i.danger{background:#fff0f1;color:#d8323b}.agencyfigures{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:23px 0 17px}.agencyfigures span{border-right:1px solid #ececf1}.agencyfigures span:last-child{border:0}.agencyfigures small,.agencyfigures b{display:block}.agencyfigures small{font-size:8px;color:var(--muted);margin-bottom:5px}.agencyfigures b{font-size:13px;color:var(--ink)}.agencyfigures b.negative{color:#d8323b}.agencybar{height:5px;border-radius:5px;background:#ececf2;overflow:hidden}.agencybar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--gesto-green),#ffc247,#ef4b55)}.openlabel{display:block;margin-top:14px;color:var(--gesto-blue);font-size:9px;font-weight:900}.backagency{border:1px solid #dcdde5;background:#fff;color:var(--gesto-blue);border-radius:10px;padding:9px 12px;font-size:9px;font-weight:900;cursor:pointer;position:absolute;transform:translateY(-48px)}
/* Lista resumida de usuários do cliente: dados completos permanecem armazenados */
.ring{transition:background .35s ease,box-shadow .35s ease}
.ring[data-level="atencao"]{box-shadow:0 0 18px #ffc24755}
.ring[data-level="critico"]{box-shadow:0 0 20px #ff824866}
.ring[data-level="esgotado"]{box-shadow:0 0 22px #f0444477}
.card.dark.balance-exhausted{background:#fff;color:var(--ink);border:2px solid #ef4b55;box-shadow:0 8px 24px #d8323b14}
.card.dark.balance-exhausted small,.card.dark.balance-exhausted p{color:#777a87}
.card.dark.balance-exhausted strong,.card.dark.balance-exhausted strong small,.card.dark.balance-exhausted [data-balance]{color:#d8323b}
.balance-exhausted .ring:after{background:#fff}
.balance-exhausted .ring span{color:#d8323b}
#balanceStatus{margin-top:10px;width:max-content;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
#balanceStatus.exhausted{background:#fff;color:#b51f2b}
#balanceStatus.available{background:var(--gesto-green);color:var(--gesto-blue)}
.cucard .cufields{grid-template-columns:1fr 1.25fr 1fr}
.cucard .cufields>label:nth-child(2),
.cucard .cufields>label:nth-child(5),
.cucard .cufields>label:nth-child(6),
.cucard .cufields>label:nth-child(7),
.cucard .cufields>label:nth-child(8){display:none}
@media(max-width:700px){.cucard .cufields{grid-template-columns:1fr}}
@media(max-width:760px){.brand{min-width:0}.brand-logo{width:92px;height:32px}.brand>small{display:none}}
@media(max-width:700px){.agencyclientgrid{grid-template-columns:1fr}.agencyhero{align-items:flex-start;flex-direction:column}.agencyhero h1{font-size:28px}.agencyfigures{grid-template-columns:1fr 1fr 1fr}.backagency{position:static;transform:none;margin-bottom:14px}}
/* Acessibilidade e escala visual ampliada em aproximadamente 20% */
.loginbox{width:min(504px,100%);padding:36px;border-radius:26px}.loginbox h1{font-size:30px}.loginbox p{font-size:13px;line-height:1.5}.login-logo{width:180px}
.loginprofiles{border:0;margin:0 0 20px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.loginprofiles legend{font-size:11px;font-weight:900;color:#5f6270;margin-bottom:9px}.loginprofiles label{margin:0;cursor:pointer}.loginprofiles input{position:absolute;opacity:0;pointer-events:none}.loginprofiles span{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #dfe1e8;border-radius:12px;background:#f8f8fb;color:#686b78;font-size:12px;font-weight:900;transition:.18s ease}.loginprofiles input:checked+span{background:var(--gesto-blue);border-color:var(--gesto-blue);color:#fff;box-shadow:0 5px 16px #1700f620}.forgotpassword{border:0;background:none;color:var(--gesto-blue);font-size:11px;font-weight:900;text-decoration:underline;cursor:pointer;margin:-3px 0 16px;padding:0}.forgotcard{width:min(560px,100%)}.forgotcard .modalhead p{font-size:12px;color:var(--muted);margin:5px 0 0}.forgotcard form{padding:8px 0 0}.forgotmessage{font-size:12px;line-height:1.5;margin:0 0 14px}.forgotmessage.success{border-radius:10px;background:#e9ffe5;color:#18740d;padding:12px}
.top{height:94px}.brand-logo{width:130px;height:46px}.brand>small{font-size:10px;max-width:94px}.nav button{padding:13px 18px;font-size:14px}.avatar{width:43px;height:43px;font-size:13px}.wrap{max-width:1392px;padding:46px 26px}.head{margin-bottom:30px}.head h1,.pagehead h1{font-size:41px}.head p,.pagehead p{font-size:16px}.eyebrow{font-size:11px}.stats{gap:17px}.card{min-height:180px;padding:28px;border-radius:21px}.card small{font-size:12px}.card strong{font-size:35px}.dark strong{font-size:43px}.card p{font-size:12px}.ring{width:104px;height:104px}.ring span{font-size:13px}.grid{gap:17px;margin-top:17px}.panel,.clientsbox{border-radius:21px}.panelhead{padding:24px 26px}.panelhead h2,.panel h2{font-size:17px}.panelhead p{font-size:12px}.badge{width:41px;height:41px}.ico{width:37px;height:37px}.panel form{padding:24px 26px}label{font-size:12px;margin-bottom:17px}input,select{padding:14px;font-size:14px;border-radius:12px;margin-top:8px}.primary,.additem{padding:15px 18px;font-size:13px;border-radius:12px}.entry{padding:17px 0}.dot{width:41px;height:41px}.ecopy b{font-size:13px}.ecopy small,.pts{font-size:11px}.filters button,.admintabs button{padding:11px 17px;font-size:12px}.service{padding:17px 6px}.service span{font-size:13px}.service small{font-size:10px}.service b{font-size:12px;padding:7px}.directoryrow,.adminrow,.userrow,.clientfinrow{font-size:12px;padding-top:14px;padding-bottom:14px}.clientsbox h2,.usersbox h2,.limitbox h2,.createbox h2{font-size:18px}.clientsbox>p,.usersbox>p,.limitbox>p,.createbox>p{font-size:11px}.saveprice,.deleteitem{width:43px;height:43px}.modalcard{padding:29px;border-radius:24px}.modalhead h2{font-size:22px}.pagehead{padding:31px}.balance{padding:15px 20px}.balance small{font-size:11px}.balance b{font-size:22px}
@media(max-width:760px){.top{height:auto}.wrap{padding:30px 17px}.head h1,.pagehead h1{font-size:33px}.loginbox{padding:26px}.loginprofiles{grid-template-columns:1fr}.card{min-height:160px}.brand-logo{width:110px;height:38px}}

/* bloco 15 */
/* Direção visual moderna: tipografia tecnológica, gradientes e profundidade */
:root{--app-blue:#2638ff;--app-blue-2:#5262ff;--app-green:#00f221;--app-cyan:#25e5c4;--app-surface:#fff;--app-surface-2:#f8f9ff;--app-shadow:0 18px 55px rgba(28,36,115,.10);--app-shadow-soft:0 8px 28px rgba(28,36,115,.07)}
html,body,button,input,select,textarea{font-family:Rajdhani,"Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif}
body{min-height:100vh;background:
radial-gradient(circle at 4% 0%,rgba(38,56,255,.10),transparent 31rem),
radial-gradient(circle at 96% 16%,rgba(0,242,33,.09),transparent 27rem),
linear-gradient(145deg,#f8f9ff 0%,#f2f4fa 48%,#f7fbf7 100%);background-attachment:fixed}
.top{height:96px;margin:14px 18px 0;border:1px solid rgba(255,255,255,.82);border-radius:24px;background:rgba(255,255,255,.80);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--app-shadow-soft);padding:0 28px;top:14px}
.brand-logo{object-fit:contain}.brand>small{line-height:1.25;color:#7d8294}.nav{background:rgba(239,241,250,.88);border:1px solid #e5e7f1;border-radius:17px;padding:5px;gap:3px}.nav button{border-radius:12px;letter-spacing:.01em;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.nav button:hover{color:var(--app-blue);transform:translateY(-1px)}.nav button.on{background:linear-gradient(135deg,var(--app-blue),var(--app-blue-2));color:#fff;box-shadow:0 9px 24px rgba(38,56,255,.23)}.logout{font-weight:700}.avatar{background:linear-gradient(135deg,var(--app-blue),#161ed7);color:#fff;box-shadow:0 8px 20px rgba(38,56,255,.24)}
.wrap{padding-top:55px}.head h1,.pagehead h1,.agencyhero h1{font-weight:700;letter-spacing:-.035em}.eyebrow{font-weight:700;letter-spacing:.17em}.head p,.pagehead p,.agencyhero p{font-weight:500}
.card,.panel,.clientsbox,.loginbox,.modalcard,.agencyclient{border:1px solid rgba(255,255,255,.92);background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,249,255,.94));box-shadow:var(--app-shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card:hover,.agencyclient:hover{transform:translateY(-3px);box-shadow:0 24px 60px rgba(28,36,115,.14);border-color:rgba(38,56,255,.20)}
.card.dark{overflow:hidden;background:
radial-gradient(circle at 92% 18%,rgba(0,242,33,.38),transparent 28%),
linear-gradient(135deg,#1829ee 0%,#2638ff 48%,#4253ff 100%);border-color:rgba(255,255,255,.20);box-shadow:0 22px 55px rgba(38,56,255,.28)}.card.dark:before{content:"";position:absolute;width:170px;height:170px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-72px;bottom:-105px}.card.dark:after{content:"";position:absolute;width:95px;height:95px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:15px;bottom:-70px}.card.dark>div{position:relative;z-index:1}.ring{background:conic-gradient(var(--app-green) var(--p),rgba(255,255,255,.20) 0);box-shadow:0 0 0 7px rgba(255,255,255,.08)}.ring:after{background:#2638ff}.ico,.badge{background:linear-gradient(135deg,var(--app-green),#8aff95);color:#101426;box-shadow:0 8px 22px rgba(0,242,33,.22)}.badge.black{background:linear-gradient(135deg,var(--app-blue),var(--app-blue-2))!important;color:var(--app-green)!important}
.panelhead,.pagehead{background:linear-gradient(110deg,rgba(255,255,255,.72),rgba(244,246,255,.80));border-color:#e7e9f3}.panelhead h2{font-weight:700}.panelhead button{color:var(--app-blue);font-weight:700}.balance{background:linear-gradient(135deg,var(--app-blue),var(--app-blue-2));box-shadow:0 12px 28px rgba(38,56,255,.24)}
input,select,textarea{background:rgba(249,250,255,.92);border-color:#dfe2ed;box-shadow:inset 0 1px 2px rgba(15,20,60,.03);font-weight:500;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}input:focus,select:focus,textarea:focus{background:#fff;border-color:var(--app-blue);box-shadow:0 0 0 4px rgba(38,56,255,.10)}label{letter-spacing:.015em;font-weight:700}
.primary,.additem,.saveprice,.whatsappbtn{background:linear-gradient(135deg,var(--app-blue),var(--app-blue-2))!important;color:#fff!important;box-shadow:0 11px 24px rgba(38,56,255,.20);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.primary:hover,.additem:hover,.saveprice:hover,.whatsappbtn:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(38,56,255,.28);filter:saturate(1.12)}.primary span{color:var(--app-green)}
.filters,.admintabs{gap:8px}.filters button,.admintabs button,.clienttabs button,.themetoggle{background:rgba(255,255,255,.76);backdrop-filter:blur(12px);border-color:#e0e3ef;box-shadow:0 5px 16px rgba(28,36,115,.05);font-weight:700}.filters button.on,.admintabs button.on,.clienttabs button.on{background:linear-gradient(135deg,var(--app-blue),var(--app-blue-2));color:#fff;border-color:transparent;box-shadow:0 9px 22px rgba(38,56,255,.22)}
.service{background:transparent;border-color:#e9eaf2;border-radius:12px;margin:2px 0;padding-left:12px;padding-right:12px}.service:hover{background:linear-gradient(90deg,rgba(38,56,255,.06),rgba(0,242,33,.055));transform:translateX(3px)}.service b{background:linear-gradient(135deg,#eceeff,#e3e6ff);color:var(--app-blue)}
.login{background:
radial-gradient(circle at 10% 10%,rgba(38,56,255,.20),transparent 32rem),
radial-gradient(circle at 90% 90%,rgba(0,242,33,.16),transparent 30rem),
linear-gradient(145deg,#f8f9ff,#eef1f8)}.loginbox{position:relative;overflow:hidden;background:rgba(255,255,255,.88);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-radius:30px}.loginbox:before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(38,56,255,.12),transparent 70%);right:-80px;top:-75px;pointer-events:none}.loginbox>*{position:relative}.loginprofiles span{background:rgba(247,248,253,.92);border-color:#dfe2ed}.loginprofiles input:checked+span{background:linear-gradient(135deg,var(--app-blue),var(--app-blue-2));box-shadow:0 10px 24px rgba(38,56,255,.22)}
.adminnote,.clientsettings,.creditrule{background:linear-gradient(105deg,rgba(38,56,255,.07),rgba(0,242,33,.07));border-color:rgba(38,56,255,.12)}.reportcard,.cucard,.limitbox,.createbox,.usersbox,.adminreport,.functionsbox{border-color:#e4e6f0;background:linear-gradient(145deg,#fff,#f8f9ff);box-shadow:var(--app-shadow-soft)}
.entry,.directoryrow,.adminrow,.userrow,.auditrow{transition:background .18s ease}.entry:hover,.directoryrow:hover,.adminrow:hover,.userrow:hover{background:linear-gradient(90deg,rgba(38,56,255,.035),rgba(0,242,33,.025))}.dot{background:linear-gradient(135deg,#dfffe3,#effff0);color:#138a25}
.statuspill,.agencyclienthead i,.openlabel,#balanceStatus{font-weight:700;letter-spacing:.04em}.agencybar{height:7px;background:#e8eaf3}.agencybar i{background:linear-gradient(90deg,var(--app-green),#b6f23a,#ffc247,#ef4b55)}.agencyhero>span{background:linear-gradient(135deg,var(--app-blue),var(--app-blue-2));box-shadow:0 10px 24px rgba(38,56,255,.20)}
.modalback{background:rgba(10,13,31,.68);backdrop-filter:blur(10px)}.themetoggle{color:var(--app-blue)}
html[data-theme="dark"]{--app-surface:#181a25;--app-surface-2:#12141d;--app-shadow:0 20px 60px rgba(0,0,0,.34);--app-shadow-soft:0 10px 32px rgba(0,0,0,.25)}
html[data-theme="dark"] body{background:
radial-gradient(circle at 4% 0%,rgba(38,56,255,.24),transparent 34rem),
radial-gradient(circle at 96% 16%,rgba(0,242,33,.10),transparent 29rem),
linear-gradient(145deg,#0f1018 0%,#141621 48%,#0d1210 100%)}
html[data-theme="dark"] .top{background:rgba(20,22,32,.78);border-color:rgba(255,255,255,.08);box-shadow:var(--app-shadow-soft)}html[data-theme="dark"] .nav{background:rgba(10,12,20,.52);border-color:#2b2e3d}html[data-theme="dark"] .nav button.on{background:linear-gradient(135deg,var(--app-blue),var(--app-blue-2));color:#fff}
html[data-theme="dark"] .card:not(.dark),html[data-theme="dark"] .panel,html[data-theme="dark"] .clientsbox,html[data-theme="dark"] .loginbox,html[data-theme="dark"] .modalcard,html[data-theme="dark"] .agencyclient,html[data-theme="dark"] .reportcard,html[data-theme="dark"] .cucard,html[data-theme="dark"] .limitbox,html[data-theme="dark"] .createbox,html[data-theme="dark"] .usersbox,html[data-theme="dark"] .adminreport,html[data-theme="dark"] .functionsbox{background:linear-gradient(145deg,rgba(27,29,41,.98),rgba(18,20,29,.96));border-color:rgba(255,255,255,.07);box-shadow:var(--app-shadow)}
html[data-theme="dark"] .panelhead,html[data-theme="dark"] .pagehead{background:linear-gradient(110deg,rgba(34,37,51,.86),rgba(19,21,31,.86));border-color:#303342}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#202331;border-color:#363a4b;color:#f3f5ff}html[data-theme="dark"] input:focus,html[data-theme="dark"] select:focus,html[data-theme="dark"] textarea:focus{background:#242736;border-color:var(--app-blue);box-shadow:0 0 0 4px rgba(82,98,255,.18)}
html[data-theme="dark"] .filters button,html[data-theme="dark"] .admintabs button,html[data-theme="dark"] .clienttabs button,html[data-theme="dark"] .themetoggle{background:rgba(31,34,47,.86);border-color:#383c4e;color:#dfe2ef}html[data-theme="dark"] .filters button.on,html[data-theme="dark"] .admintabs button.on,html[data-theme="dark"] .clienttabs button.on{background:linear-gradient(135deg,var(--app-blue),var(--app-blue-2));color:#fff;border-color:transparent}
html[data-theme="dark"] .service{background:transparent;border-color:#2d303e}html[data-theme="dark"] .service:hover{background:linear-gradient(90deg,rgba(82,98,255,.13),rgba(0,242,33,.07))}html[data-theme="dark"] .service b{background:#272d5a;color:#aeb6ff}html[data-theme="dark"] .login{background:radial-gradient(circle at 10% 10%,rgba(38,56,255,.28),transparent 34rem),radial-gradient(circle at 90% 90%,rgba(0,242,33,.12),transparent 30rem),linear-gradient(145deg,#0d0f17,#151724)}html[data-theme="dark"] .loginprofiles span{background:#222532;border-color:#373b4b;color:#c5c9d8}html[data-theme="dark"] .loginprofiles input:checked+span{background:linear-gradient(135deg,var(--app-blue),var(--app-blue-2));color:#fff}
html[data-theme="dark"] .adminnote,html[data-theme="dark"] .clientsettings,html[data-theme="dark"] .creditrule{background:linear-gradient(105deg,rgba(82,98,255,.13),rgba(0,242,33,.07));border-color:#343951}html[data-theme="dark"] .entry:hover,html[data-theme="dark"] .directoryrow:hover,html[data-theme="dark"] .adminrow:hover,html[data-theme="dark"] .userrow:hover{background:linear-gradient(90deg,rgba(82,98,255,.08),rgba(0,242,33,.04))}
@media(max-width:760px){.top{margin:8px 8px 0;top:8px;border-radius:19px;padding:14px}.nav{border-radius:14px}.wrap{padding-top:34px}.card,.panel,.clientsbox{border-radius:18px}.login>.themetoggle{top:12px;right:12px}}

/* bloco 16 */
/* Tipografia Cairo: títulos bold, leitura regular e escala revisada */
html,body,button,input,select,textarea{font-family:"Cairo","Helvetica Neue",Arial,sans-serif!important}
body{font-size:16px;font-weight:400;line-height:1.5}
p,small,.head p,.pagehead p,.agencyhero p,.panelhead p,.card p,.card small,.ecopy small,.service small,.historyrow small,.agencyclienthead small,.agencyfigures small,.balance small{font-weight:400}
h1,h2,h3,h4,h5,h6,strong,b,.head h1,.pagehead h1,.agencyhero h1,.panelhead h2,.card strong,.balance b,.agencyclienthead b,.agencyfigures b{font-weight:700}
button,label,.eyebrow,.statuspill,.openlabel,.loginprofiles legend,.loginprofiles span{font-weight:700}
.brand>small{font-size:12px;line-height:1.45}.nav button{font-size:15px}.logout{font-size:11px}.avatar{font-size:14px}
.eyebrow{font-size:13px}.head h1,.pagehead h1{font-size:43px;line-height:1.15}.head p,.pagehead p{font-size:17px}.limit{font-size:12px}.limit strong{font-size:15px}
.card small{font-size:14px}.card strong{font-size:37px;line-height:1.15}.card.dark strong{font-size:45px}.card p{font-size:14px}.ring span{font-size:14px}
.panelhead h2,.panel h2{font-size:20px}.panelhead p{font-size:14px}.panelhead button{font-size:12px}
label{font-size:14px}input,select,textarea{font-size:16px}.primary,.additem{font-size:15px}.error,.warn{font-size:12px;line-height:1.45}
.entry{font-size:14px}.ecopy b{font-size:15px}.ecopy small,.pts{font-size:13px}.empty{font-size:14px}.empty b{font-size:14px}.foot{font-size:11px}
.filters button,.admintabs button,.clienttabs button{font-size:14px}.service span{font-size:15px}.service small{font-size:12px}.service b{font-size:14px}.catgroup h3{font-size:14px}.catgroup h3 small{font-size:12px}.noresults{font-size:14px}
.adminnote{font-size:13px;line-height:1.5}.limitbox h2,.createbox h2,.usersbox h2,.clientsbox h2{font-size:21px}.limitbox>p,.createbox>p,.usersbox>p,.clientsbox>p{font-size:13px}.limithistory h3,.clienthistory h3{font-size:14px}.historyrow,.auditrow{font-size:12px}.historyrow b{font-size:13px}
.adminrow input,.adminrow select,.userrow input,.userrow select,.clientuserrow input,.clientuserrow select,.cufields input,.cufields select{font-size:13px}.directoryrow,.adminrow,.userrow,.clientfinrow{font-size:14px}.resetall{font-size:12px}.saveprice,.deleteitem{font-size:16px}
.loginbox h1{font-size:32px;line-height:1.2}.loginbox p{font-size:15px}.loginprofiles legend{font-size:13px}.loginprofiles span{font-size:14px}.forgotpassword{font-size:13px}.forgotcard .modalhead p,.forgotmessage{font-size:14px}.loginerror{font-size:12px}
.modalhead h2{font-size:24px}.modalclose{font-size:20px}.balance small{font-size:13px}.balance b{font-size:24px}
.agencyhero h1{font-size:43px}.agencyhero p{font-size:15px}.agencyhero>span{font-size:11px}.agencyclienthead b{font-size:19px}.agencyclienthead small{font-size:11px}.agencyclienthead i{font-size:10px}.agencyfigures small{font-size:11px}.agencyfigures b{font-size:16px}.openlabel{font-size:11px}.backagency{font-size:11px}
.consumptionalert{font-size:13px}.reportcard{font-size:14px}.reportcard b{font-size:21px}#balanceStatus{font-size:10px}.statuspill{font-size:11px}.themetoggle{font-size:12px}
@media(max-width:760px){body{font-size:15px}.head h1,.pagehead h1,.agencyhero h1{font-size:35px}.head p,.pagehead p{font-size:15px}.nav button{font-size:13px}.card strong{font-size:34px}.card.dark strong{font-size:40px}.service span{font-size:14px}.directoryrow,.adminrow,.userrow,.clientfinrow{font-size:13px}}

/* bloco 17 */
/* Identidade do modo escuro: verde Gesto com tipografia branca */
html[data-theme="dark"] .brand-logo,
html[data-theme="dark"] .login-logo{filter:brightness(0) saturate(100%) invert(78%) sepia(98%) saturate(3187%) hue-rotate(69deg) brightness(112%) contrast(118%)}
html[data-theme="dark"] button{color:#fff}
html[data-theme="dark"] .primary,
html[data-theme="dark"] .additem,
html[data-theme="dark"] .saveprice,
html[data-theme="dark"] .whatsappbtn,
html[data-theme="dark"] .nav button.on,
html[data-theme="dark"] .filters button.on,
html[data-theme="dark"] .admintabs button.on,
html[data-theme="dark"] .clienttabs button.on,
html[data-theme="dark"] .agencyhero>span{background:linear-gradient(135deg,#00b91a 0%,var(--app-green) 100%)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 12px 28px rgba(0,242,33,.22);text-shadow:0 1px 2px rgba(0,80,12,.34)}
html[data-theme="dark"] .primary *,
html[data-theme="dark"] .additem *,
html[data-theme="dark"] .saveprice *,
html[data-theme="dark"] .whatsappbtn *,
html[data-theme="dark"] .nav button.on *,
html[data-theme="dark"] .filters button.on *,
html[data-theme="dark"] .admintabs button.on *,
html[data-theme="dark"] .clienttabs button.on *,
html[data-theme="dark"] .agencyhero>span *{color:#fff!important}
html[data-theme="dark"] .deleteitem{background:#b52b38!important;color:#fff!important}
html[data-theme="dark"] .modalclose,
html[data-theme="dark"] .del,
html[data-theme="dark"] .resetall,
html[data-theme="dark"] .themetoggle{color:#fff!important}

/* bloco 18 */
/* Escala pontual de leitura: painel, extrato e ação administrativa (+15%) */
.agencyclienthead i{font-size:12px;padding:7px 11px}
.agencyfigures small{font-size:13px}
.agencyfigures b{font-size:19px}
#statement .entry{font-size:16px;padding-top:20px;padding-bottom:20px}
#statement .ecopy b{font-size:17px;line-height:1.35}
#statement .ecopy small{font-size:15px;line-height:1.5}
#statement .pts{font-size:15px;font-weight:700}
#statement .dot{font-size:13px}
#resetPrices{font-size:14px;padding:12px 16px}
@media(max-width:760px){.agencyfigures small{font-size:12px}.agencyfigures b{font-size:17px}#statement .ecopy b{font-size:16px}#statement .ecopy small,#statement .pts{font-size:14px}#resetPrices{font-size:13px}}

/* bloco 19 */
/* Hierarquia mais equilibrada: títulos reduzidos em aproximadamente 15% */
.head h1,.pagehead h1,.agencyhero h1{font-size:37px}
.loginbox h1{font-size:27px}
.panelhead h2,.panel h2{font-size:17px}
.limitbox h2,.createbox h2,.usersbox h2,.clientsbox h2{font-size:18px}
.modalhead h2{font-size:20px}
.catgroup h3,.limithistory h3,.clienthistory h3{font-size:12px}
@media(max-width:760px){.head h1,.pagehead h1,.agencyhero h1{font-size:30px}.loginbox h1{font-size:25px}.panelhead h2,.panel h2{font-size:16px}}

/* bloco 20 */
/* Ícones compactos e consistentes nos botões */
button:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before{content:"→";display:inline-grid;place-items:center;flex:0 0 auto;color:var(--app-green);font-family:Arial,sans-serif!important;font-size:12px;font-weight:900;line-height:1;vertical-align:middle;margin-right:7px}
.nav button[data-view="painel"]::before{content:"⌂"}.nav button[data-view="extrato"]::before{content:"▤"}.nav button[data-view="catalogo"]::before{content:"◫"}.nav button[data-view="admin"]::before{content:"⚙"}
button[data-go]::before{content:"↗"}.additem::before{content:"＋"}#submit::before{content:"✓"}#resetPrices::before{content:"↻"}.themetoggle::before{content:"◐"}.logout::before{content:"↗"}.whatsappbtn::before{content:"◉"}.filters button::before{content:"◆";font-size:8px}.admintabs button::before{content:"◇";font-size:10px}.clienttabs button::before{content:"●";font-size:8px}
.primary::before,.additem::before,.whatsappbtn::before,.nav button.on::before,.filters button.on::before,.admintabs button.on::before,.clienttabs button.on::before{min-width:21px;min-height:21px;margin-right:8px;padding:2px;border-radius:7px;background:rgba(8,18,31,.25);color:var(--app-green)}
.service::before{content:"◇"!important;margin-right:10px!important}.service>span{flex:1}.panelhead button,.resetall,.themetoggle,.logout{display:inline-flex;align-items:center;justify-content:center}
.deleteitem,.del,.modalclose,.saveprice{position:relative}.saveprice{color:var(--app-green)!important}.deleteitem,.del{color:#d8323b!important}
html[data-theme="dark"] button:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before{color:var(--app-green)}
@media(max-width:760px){button:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before{font-size:11px;margin-right:5px}.nav button::before{display:none!important}}

/* bloco 21 */
/* Títulos com 1 px adicional de espaçamento entre caracteres */
h1,h2,h3,h4,h5,h6{letter-spacing:1px}
.head h1,.pagehead h1,.agencyhero h1{letter-spacing:calc(-.035em + 1px)}

/* bloco 22 */
/* Títulos principais um nível mais leves: Cairo 600 */
.head h1,.pagehead h1,.agencyhero h1,.loginbox h1{font-weight:600}

/* bloco 23 */
/* Remove o 1 px adicional aplicado anteriormente */
h1,h2,h3,h4,h5,h6{letter-spacing:0}
.head h1,.pagehead h1,.agencyhero h1{letter-spacing:-.035em}

/* bloco 24 */
/* Estados de erro junto ao campo */
input.field-invalid,select.field-invalid,textarea.field-invalid{border-color:#e13b46!important;box-shadow:0 0 0 4px rgba(225,59,70,.12)!important;background:#fffafb!important}
.field-error-message{display:block;margin:6px 0 2px;color:#cf2634;font-size:12px;font-weight:600;line-height:1.4}
html[data-theme="dark"] input.field-invalid,html[data-theme="dark"] select.field-invalid,html[data-theme="dark"] textarea.field-invalid{border-color:#ff626d!important;box-shadow:0 0 0 4px rgba(255,98,109,.16)!important;background:#2c2028!important}
html[data-theme="dark"] .field-error-message{color:#ff828b}

/* bloco 25 */
/* Espaçamento exclusivo dos quatro títulos principais solicitados */
#agency-home .agencyhero h1,
#extrato .pagehead h1,
#catalogo .pagehead h1,
#admin .pagehead h1{letter-spacing:calc(-.035em + 1px)}
/* Mesmo tamanho de “Cadastro de usuários” */
.usersbox .launchadmin b{font-size:18px;font-weight:700;line-height:1.3}
@media(max-width:760px){.usersbox .launchadmin b{font-size:16px}}

/* bloco 26 */
/* Direção inspirada em apps de produtividade: plana, organizada e funcional */
body{background:#f7f8fa}
.top{margin:0;top:0;border:0;border-bottom:1px solid #e5e7ec;border-radius:0;background:rgba(255,255,255,.96);box-shadow:none;backdrop-filter:blur(16px)}
.nav{background:transparent;border:0;border-radius:0;padding:0;gap:4px}.nav button{border-radius:7px;box-shadow:none}.nav button:hover{background:#f2f3f6;transform:none}.nav button.on{background:#f0f1ff;color:var(--app-blue);box-shadow:none;position:relative}.nav button.on:after{content:"";position:absolute;height:2px;left:12px;right:12px;bottom:-8px;border-radius:2px;background:var(--app-blue)}
.avatar{box-shadow:none;border:1px solid #e0e2e8}.wrap{padding-top:38px}
.card,.panel,.clientsbox,.loginbox,.modalcard,.agencyclient,.reportcard,.cucard,.limitbox,.createbox,.usersbox,.adminreport,.functionsbox{background:#fff;border:1px solid #e4e6eb;box-shadow:0 1px 2px rgba(20,24,40,.04);border-radius:13px}
.card:hover,.agencyclient:hover{transform:none;box-shadow:0 2px 8px rgba(20,24,40,.06);border-color:#d6d9e1}
.card.dark{background:var(--app-blue);border-color:var(--app-blue);box-shadow:none}.card.dark:before,.card.dark:after{display:none}.ring{box-shadow:none}
.panelhead,.pagehead{background:#fff;border-color:#e8e9ed}.panelhead button{border:1px solid #e1e3e8!important;background:#fff!important;border-radius:7px;text-decoration:none!important}
.balance{background:#f4f5f8;color:var(--ink);border:1px solid #e2e4e9;box-shadow:none}.balance small{color:var(--muted)}
input,select,textarea{background:#fff;border-color:#dfe1e6;box-shadow:none}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px rgba(38,56,255,.09)}
.primary,.additem,.saveprice,.whatsappbtn{box-shadow:none}.primary:hover,.additem:hover,.saveprice:hover,.whatsappbtn:hover{transform:none;box-shadow:none;filter:brightness(.98)}
.filters button,.admintabs button,.clienttabs button,.themetoggle,.resetall{background:#fff;backdrop-filter:none;border-color:#dfe1e6;box-shadow:none}.filters button.on,.admintabs button.on,.clienttabs button.on{box-shadow:none}
.service{border-radius:0;margin:0;border-color:#eceef1}.service:hover{transform:none;background:#f8f9fb}.service b{background:#eef0ff;border:1px solid #e0e3ff}
.entry,.directoryrow,.adminrow,.userrow,.auditrow,.clientfinrow{border-color:#eceef1}.entry:hover,.directoryrow:hover,.adminrow:hover,.userrow:hover{background:#f8f9fb}
.dot,.ico,.badge{box-shadow:none;border:1px solid rgba(0,180,28,.18)}.agencyclienthead i,.statuspill,#balanceStatus,.creditrule{border-radius:5px}.agencybar{border-radius:3px}
.adminnote,.clientsettings,.creditrule{background:#f6f7ff;border-color:#e1e4ff}.modalback{background:rgba(18,20,28,.55);backdrop-filter:blur(3px)}
.login{background:#f3f4f7}.loginbox{background:#fff;backdrop-filter:none;box-shadow:0 12px 36px rgba(20,24,40,.10)}.loginbox:before{display:none}.loginprofiles span{background:#fff;border-color:#dfe1e6}.loginprofiles input:checked+span{box-shadow:none}
button:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before{min-width:18px!important;min-height:18px!important;margin-right:7px!important;padding:0!important;border:1px solid #dfe2e8;border-radius:5px!important;background:#fff!important;color:var(--gesto-blue)!important;box-shadow:none!important}
.nav button::before{border:0!important;background:transparent!important}.primary::before,.additem::before,.whatsappbtn::before,.filters button.on::before,.admintabs button.on::before,.clienttabs button.on::before{background:rgba(10,20,35,.16)!important;border-color:rgba(255,255,255,.26)!important}
.deleteitem,.del,.modalclose,.saveprice{border:1px solid currentColor;background:#fff;box-shadow:none}
html[data-theme="dark"] body{background:#111318}
html[data-theme="dark"] .top{background:rgba(22,24,30,.97);border-color:#2b2e35;box-shadow:none}
html[data-theme="dark"] .nav{background:transparent;border:0}html[data-theme="dark"] .nav button:hover{background:#22252c}html[data-theme="dark"] .nav button.on{background:#24273a;color:#fff}
html[data-theme="dark"] .card:not(.dark),html[data-theme="dark"] .panel,html[data-theme="dark"] .clientsbox,html[data-theme="dark"] .loginbox,html[data-theme="dark"] .modalcard,html[data-theme="dark"] .agencyclient,html[data-theme="dark"] .reportcard,html[data-theme="dark"] .cucard,html[data-theme="dark"] .limitbox,html[data-theme="dark"] .createbox,html[data-theme="dark"] .usersbox,html[data-theme="dark"] .adminreport,html[data-theme="dark"] .functionsbox{background:#191c22;border-color:#2d3038;box-shadow:0 1px 2px rgba(0,0,0,.20)}
html[data-theme="dark"] .panelhead,html[data-theme="dark"] .pagehead{background:#191c22;border-color:#2d3038}
html[data-theme="dark"] .balance{background:#22252c;color:#fff;border-color:#343740}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#171a20;border-color:#343740}
html[data-theme="dark"] .service:hover,html[data-theme="dark"] .entry:hover,html[data-theme="dark"] .directoryrow:hover,html[data-theme="dark"] .adminrow:hover,html[data-theme="dark"] .userrow:hover{background:#20232a}
html[data-theme="dark"] .filters button,html[data-theme="dark"] .admintabs button,html[data-theme="dark"] .clienttabs button,html[data-theme="dark"] .themetoggle,html[data-theme="dark"] .resetall,html[data-theme="dark"] .panelhead button{background:#20232a!important;border-color:#383b44!important;box-shadow:none}
html[data-theme="dark"] button:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before{background:#171a20!important;border-color:#3a3d46!important;color:var(--gesto-green)!important}
html[data-theme="dark"] .primary::before,html[data-theme="dark"] .additem::before,html[data-theme="dark"] .whatsappbtn::before,html[data-theme="dark"] .filters button.on::before,html[data-theme="dark"] .admintabs button.on::before,html[data-theme="dark"] .clienttabs button.on::before{background:rgba(8,18,24,.26)!important;border-color:rgba(255,255,255,.25)!important}
@media(max-width:760px){.top{margin:0;border-radius:0}.wrap{padding-top:28px}.card,.panel,.clientsbox{border-radius:11px}}

/* bloco 27 */
/* Segunda referência: módulos operacionais, barra azul e tabelas de gestão */
body{background:#f1f7fb}
.top{box-shadow:inset 0 4px 0 var(--app-blue);padding-top:4px}
.nav{background:var(--app-blue);border-radius:10px;padding:4px}.nav button{color:#fff}.nav button:hover{background:rgba(255,255,255,.12);color:#fff}.nav button.on{background:rgba(255,255,255,.18);color:#fff}.nav button.on:after{background:var(--gesto-green);bottom:-4px;left:10px;right:10px}.nav button::before{color:var(--gesto-green)!important}
.stats .card{border-top-width:4px}.stats .card:nth-child(2){border-top-color:#1197f2}.stats .card:nth-child(3){border-top-color:var(--gesto-green)}
.agencyclient{border-top:3px solid #dfe5ec}.agencyclient:nth-child(3n+1){border-top-color:#1197f2}.agencyclient:nth-child(3n+2){border-top-color:var(--gesto-green)}.agencyclient:nth-child(3n){border-top-color:#ff970f}
.panelhead{border-left:4px solid var(--app-blue)}.panelhead h2,.usersbox>h2,.limitbox>h2,.createbox>h2,.functionsbox>h2,.adminreport>h2{color:#0788e8}
.usersbox,.limitbox,.createbox,.functionsbox,.adminreport{border-left:4px solid #dbeeff}.usersbox:focus-within,.limitbox:focus-within,.createbox:focus-within,.functionsbox:focus-within{border-left-color:var(--app-blue)}
.admintabs{background:#eaf5fc;border:1px solid #dceaf3;border-radius:10px;padding:8px}.admintabs button{border-color:transparent;background:transparent}.admintabs button.on{background:#fff;color:var(--app-blue);border-color:#dce5ec;box-shadow:inset 3px 0 0 var(--app-blue)}
.directoryrow,.clientfinrow,.adminrow,.userrow,.auditrow{background:#fff}.directoryrow:first-of-type,.clientfinrow:first-of-type{background:#f2f7fb;color:#535b67}.directoryrow:hover,.clientfinrow:hover,.adminrow:hover,.userrow:hover{background:#f5fbff}
.statuspill.ativo{background:#eafbea;color:#1d9b38;border:1px solid #4bc464}.statuspill.inativo{background:#fff0ee;color:#ef4d3d;border:1px solid #ff776b}.statuspill{padding:4px 8px;font-style:normal}
.entry{position:relative}.entry:before{content:"";width:3px;align-self:stretch;border-radius:3px;background:#dce5ed}.entry:nth-child(3n+1):before{background:#1197f2}.entry:nth-child(3n+2):before{background:var(--gesto-green)}.entry:nth-child(3n):before{background:#ff970f}
.service b,.creditrule,.statuspill,#balanceStatus,.agencyclienthead i{box-shadow:none}.service b{border-radius:5px}
.reportcard{border-top:3px solid #1197f2}.reportcard:nth-child(3n+2){border-top-color:var(--gesto-green)}.reportcard:nth-child(3n){border-top-color:#ff970f}
.filters{border-bottom:1px solid #e4e8ed}.filters button{border-radius:6px}.filters button.on{background:var(--app-blue);color:#fff}
.modalhead{border-bottom:1px solid #e7e9ed;padding-bottom:12px}.modalcard{border-top:4px solid var(--app-blue)}
html[data-theme="dark"] body{background:#10171d}
html[data-theme="dark"] .top{box-shadow:inset 0 4px 0 var(--gesto-green)}
html[data-theme="dark"] .nav{background:#202df2}html[data-theme="dark"] .nav button.on{background:rgba(255,255,255,.16)}
html[data-theme="dark"] .admintabs{background:#151f27;border-color:#2b3943}html[data-theme="dark"] .admintabs button.on{background:#202831;color:#fff;border-color:#34424c}
html[data-theme="dark"] .directoryrow,html[data-theme="dark"] .clientfinrow,html[data-theme="dark"] .adminrow,html[data-theme="dark"] .userrow,html[data-theme="dark"] .auditrow{background:#191c22}html[data-theme="dark"] .directoryrow:hover,html[data-theme="dark"] .clientfinrow:hover,html[data-theme="dark"] .adminrow:hover,html[data-theme="dark"] .userrow:hover{background:#202932}
html[data-theme="dark"] .panelhead h2,html[data-theme="dark"] .usersbox>h2,html[data-theme="dark"] .limitbox>h2,html[data-theme="dark"] .createbox>h2,html[data-theme="dark"] .functionsbox>h2,html[data-theme="dark"] .adminreport>h2{color:#64bfff}
@media(max-width:760px){.nav{border-radius:8px}.top{padding-top:7px}.admintabs{border-radius:8px}}

/* bloco 28 */
/* Síntese minimalista: ações grandes azuis e ações compactas verdes */
body{background:#f7f8fa}
.top{padding-top:0;box-shadow:none}
.nav{background:transparent;border-radius:0;padding:0}.nav button{color:var(--muted)}.nav button:hover{background:#f2f3f6;color:var(--app-blue)}.nav button.on{background:#eef0ff;color:var(--app-blue)}.nav button.on:after{background:var(--app-blue);bottom:-8px}
.nav button::before{color:var(--gesto-green)!important}
.stats .card,.agencyclient,.reportcard{border-top-width:1px;border-top-color:#e4e6eb}
.panelhead{border-left:0}.panelhead h2,.usersbox>h2,.limitbox>h2,.createbox>h2,.functionsbox>h2,.adminreport>h2{color:inherit}
.usersbox,.limitbox,.createbox,.functionsbox,.adminreport{border-left-width:1px;border-left-color:#e4e6eb}
.admintabs{background:transparent;border:0;border-bottom:1px solid #e4e6eb;border-radius:0;padding:0 0 10px}.admintabs button{background:#fff;border:1px solid #dfe1e6}.admintabs button.on{box-shadow:none}
.directoryrow,.clientfinrow,.adminrow,.userrow,.auditrow{background:#fff}.directoryrow:first-of-type,.clientfinrow:first-of-type{background:#f7f8fa}.entry:before{background:#dfe3e8!important}
.filters{background:transparent}.filters button{background:#fff}
.primary,.whatsappbtn{background:var(--app-blue)!important;color:#fff!important;border-color:var(--app-blue)!important;box-shadow:none!important}
.primary *, .whatsappbtn *{color:#fff}
.primary::before,.whatsappbtn::before{background:rgba(8,16,45,.24)!important;border-color:rgba(255,255,255,.24)!important;color:var(--gesto-green)!important}
.additem,.saveprice,.filters button.on,.admintabs button.on,.clienttabs button.on,#resetPrices,.backclients,.modalclose{background:var(--gesto-green)!important;color:#10151d!important;border-color:var(--gesto-green)!important;box-shadow:none!important;text-shadow:none!important}
.additem *,.saveprice *,.filters button.on *,.admintabs button.on *,.clienttabs button.on *,#resetPrices *,.backclients *,.modalclose *{color:#10151d!important}
.additem::before,.filters button.on::before,.admintabs button.on::before,.clienttabs button.on::before,#resetPrices::before,.backclients::before{background:rgba(10,35,15,.10)!important;border-color:rgba(10,35,15,.16)!important;color:#10151d!important}
.themetoggle,.panelhead button,.resetall{background:#effff1!important;color:#176b24!important;border-color:#bdeec4!important;box-shadow:none!important}
.themetoggle::before,.panelhead button::before,.resetall::before{background:transparent!important;border-color:#8fdda0!important;color:#18a62f!important}
.deleteitem,.del{background:#fff!important;color:#d8323b!important;border-color:#f0b5ba!important}.logout{background:transparent!important;color:var(--muted)!important}
.card,.panel,.clientsbox,.loginbox,.modalcard,.agencyclient,.reportcard,.cucard,.limitbox,.createbox,.usersbox,.adminreport,.functionsbox{box-shadow:none}
html[data-theme="dark"] body{background:#111318}
html[data-theme="dark"] .top{box-shadow:none}html[data-theme="dark"] .nav{background:transparent}html[data-theme="dark"] .nav button{color:#c5c9d3}html[data-theme="dark"] .nav button:hover{background:#22252c;color:#fff}html[data-theme="dark"] .nav button.on{background:#252945;color:#fff}
html[data-theme="dark"] .admintabs{background:transparent;border-color:#30333a}html[data-theme="dark"] .admintabs button{background:#1d2027;border-color:#343740}
html[data-theme="dark"] .primary,html[data-theme="dark"] .whatsappbtn{background:var(--app-blue)!important;color:#fff!important;border-color:var(--app-blue)!important}
html[data-theme="dark"] .additem,html[data-theme="dark"] .saveprice,html[data-theme="dark"] .filters button.on,html[data-theme="dark"] .admintabs button.on,html[data-theme="dark"] .clienttabs button.on,html[data-theme="dark"] #resetPrices,html[data-theme="dark"] .backclients,html[data-theme="dark"] .modalclose{background:var(--gesto-green)!important;color:#10151d!important;border-color:var(--gesto-green)!important}
html[data-theme="dark"] .themetoggle,html[data-theme="dark"] .panelhead button,html[data-theme="dark"] .resetall{background:#17331d!important;color:#8ff99d!important;border-color:#2a6835!important}
html[data-theme="dark"] .deleteitem,html[data-theme="dark"] .del{background:#27191c!important;color:#ff737d!important;border-color:#62343a!important}

/* bloco 29 */
/* Regra cromática da marca: fundo verde sempre recebe conteúdo azul */
.additem,.saveprice,.filters button.on,.admintabs button.on,.clienttabs button.on,#resetPrices,.backclients,.modalclose,
.ico,.badge:not(.black),.avatar,#balanceStatus.available,.statuspill.ativo,.agencyclienthead i.healthy,.forgotmessage.success{color:var(--gesto-blue)!important}
.additem *,.saveprice *,.filters button.on *,.admintabs button.on *,.clienttabs button.on *,#resetPrices *,.backclients *,.modalclose *,
.ico *,.badge:not(.black) *,.avatar *,#balanceStatus.available *,.statuspill.ativo *,.agencyclienthead i.healthy *,.forgotmessage.success *{color:var(--gesto-blue)!important}
.additem::before,.filters button.on::before,.admintabs button.on::before,.clienttabs button.on::before,#resetPrices::before,.backclients::before,.modalclose::before{color:var(--gesto-blue)!important}
html[data-theme="dark"] .additem,html[data-theme="dark"] .saveprice,html[data-theme="dark"] .filters button.on,html[data-theme="dark"] .admintabs button.on,html[data-theme="dark"] .clienttabs button.on,html[data-theme="dark"] #resetPrices,html[data-theme="dark"] .backclients,html[data-theme="dark"] .modalclose,
html[data-theme="dark"] .ico,html[data-theme="dark"] .badge:not(.black),html[data-theme="dark"] .avatar,html[data-theme="dark"] #balanceStatus.available,html[data-theme="dark"] .statuspill.ativo,html[data-theme="dark"] .agencyclienthead i.healthy{color:var(--gesto-blue)!important}

/* bloco 30 */
/* Cabeçalho institucional: azul, textos brancos e elementos de marca verdes */
.top,html[data-theme="dark"] .top{background:var(--gesto-blue);border-bottom-color:rgba(255,255,255,.16);box-shadow:none}
.top .brand-logo,html[data-theme="dark"] .top .brand-logo{filter:brightness(0) saturate(100%) invert(78%) sepia(98%) saturate(3187%) hue-rotate(69deg) brightness(112%) contrast(118%)}
.top .brand>small,.top .nav button,.top .logout,.top .themetoggle{color:#fff!important}
.top .nav{background:transparent}.top .nav button:hover{background:rgba(255,255,255,.10);color:#fff}.top .nav button.on{background:rgba(255,255,255,.16);color:#fff}.top .nav button.on:after{background:var(--gesto-green)}
.top button:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before{color:var(--gesto-green)!important}
.top .themetoggle{background:rgba(255,255,255,.09)!important;border-color:rgba(255,255,255,.24)!important}.top .themetoggle::before{background:transparent!important;border-color:rgba(34,255,6,.62)!important;color:var(--gesto-green)!important}
.top .logout{background:transparent!important}.top .avatar{background:var(--gesto-green);border-color:var(--gesto-green);color:var(--gesto-blue)!important}
.top .avatar *{color:var(--gesto-blue)!important}

/* bloco 31 */
/* Ícones do cabeçalho sem caixas */
.top button:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before,
html[data-theme="dark"] .top button:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before{
  min-width:auto!important;
  min-height:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--gesto-green)!important;
}
.top .themetoggle::before{
  border:0!important;
  background:transparent!important;
}

/* bloco 32 */
/* Botão de retorno em fluxo, acima do nome do cliente */
.backagency{
  position:static!important;
  transform:none!important;
  display:inline-flex;
  align-items:center;
  margin:0 0 16px;
}

/* bloco 33 */
/* Ícones maiores e livres de caixas em todo o sistema */
button:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before,
html[data-theme="dark"] button:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before{
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:17px!important;
  line-height:1!important;
}
.filters button::before,
.admintabs button::before,
.clienttabs button::before,
.service::before{
  font-size:17px!important;
}
.ico,.badge,.badge.black,
html[data-theme="dark"] .ico,
html[data-theme="dark"] .badge,
html[data-theme="dark"] .badge.black{
  width:34px!important;
  height:34px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--gesto-blue)!important;
  font-size:24px!important;
}
.top button::before,
html[data-theme="dark"] .top button::before{
  color:var(--gesto-green)!important;
}
@media(max-width:760px){
  .nav button::before{display:inline-grid!important}
}

/* bloco 34 */
/* Ícones junto aos títulos permanecem discretos */
.panelhead .badge,
html[data-theme="dark"] .panelhead .badge{
  font-size:17px!important;
  width:34px!important;
  height:34px!important;
  border:0!important;
  border-radius:8px!important;
  background:var(--gesto-green)!important;
  color:var(--gesto-blue)!important;
  box-shadow:none!important;
}

/* bloco 35 */
/* Setas respondem ao clique apontando para baixo */
button.has-arrow-icon::before{
  color:var(--gesto-blue)!important;
  font-size:15px!important;
  font-weight:400!important;
  transition:color .16s ease;
}
button.has-arrow-icon:hover::before,
button.has-arrow-icon:active::before,
button.has-arrow-icon.arrow-pressed::before,
button.has-arrow-icon.arrow-selected::before,
button.has-arrow-icon.on::before,
button.has-arrow-icon.active::before,
button.has-arrow-icon[aria-selected="true"]::before,
button.has-arrow-icon[aria-expanded="true"]::before{
  content:"↓"!important;
}
.additem.has-arrow-icon::before,
.backclients.has-arrow-icon::before,
.modalclose.has-arrow-icon::before,
.filters button.on.has-arrow-icon::before,
.admintabs button.on.has-arrow-icon::before,
.clienttabs button.on.has-arrow-icon::before,
html[data-theme="dark"] .additem.has-arrow-icon::before,
html[data-theme="dark"] .backclients.has-arrow-icon::before{
  color:var(--gesto-blue)!important;
}
.primary.has-arrow-icon::before,
.whatsappbtn.has-arrow-icon::before,
.top button.has-arrow-icon::before,
html[data-theme="dark"] .primary.has-arrow-icon::before,
html[data-theme="dark"] .whatsappbtn.has-arrow-icon::before,
html[data-theme="dark"] .top button.has-arrow-icon::before{
  color:var(--gesto-green)!important;
}
html body button.has-arrow-icon.arrow-on-green::before{
  color:var(--gesto-blue)!important;
}
html body button.has-arrow-icon.arrow-on-blue::before{
  color:var(--gesto-green)!important;
}
html body button.has-arrow-icon.arrow-on-light::before{
  color:var(--gesto-blue)!important;
}

/* bloco 36 */
/* Busca e filtro do catálogo administrativo */
.adminservicefilters{
  display:grid;
  grid-template-columns:minmax(260px,1.4fr) minmax(220px,.8fr);
  gap:14px;
  margin:18px 26px 2px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.adminservicefilters label{margin:0}
.adminservicefilters label>span{
  display:block;
  margin-bottom:7px;
  color:var(--ink);
  font-size:12px;
  font-weight:700;
}
.adminservicefilters input,
.adminservicefilters select{
  width:100%;
  margin:0;
}
.categoryadmin{
  margin:18px 26px 0;
  padding:20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.categoryadminhead h2{margin:0 0 4px;font-size:18px}
.categoryadminhead p{margin:0;color:var(--muted);font-size:11px}
.categorycreate{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  gap:12px;
  align-items:end;
  padding:18px 0 12px;
}
.categorycreate label{margin:0}
.categoryrow{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 180px 43px 43px;
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid var(--line);
}
.categoryrow input{margin:0}
.categoryrow>span{color:var(--muted);font-size:12px}
.categorylabels{
  padding-top:6px;
  color:#6f7580;
  font-size:10px;
  text-transform:uppercase;
}
.adminservicehead{
  margin:10px 26px 0;
  padding:0 4px 2px;
  gap:8px;
  align-items:end;
  color:#6f7580;
  font-size:9.6px;
  line-height:1.25;
  text-align:left;
}
.adminservicehead.withvalue{
  grid-template-columns:1.2fr .9fr 80px 105px 115px 38px 38px;
}
.adminservicehead:not(.withvalue){
  grid-template-columns:1.3fr 1fr 90px 38px 38px;
}
.adminsorthead{
  width:100%;
  min-width:0;
  border:0;
  background:transparent;
  color:inherit;
  padding:3px 0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  font-size:inherit;
  font-weight:700;
  line-height:inherit;
  text-align:left;
  text-transform:uppercase;
  cursor:pointer;
}
.adminsorthead::before{display:none!important}
.adminsorthead span{
  color:var(--gesto-blue);
  font-size:12px;
  line-height:1;
}
.adminsorthead:hover,
.adminsorthead.active{color:var(--gesto-blue)}
.serviceadminwrap .adminlist{padding-top:4px}
.serviceadminwrap .itemtotal{
  font-size:10.35px;
  line-height:1.25;
}
.serviceadminwrap .itemtotal b{
  font-size:12.65px;
  line-height:1.2;
}
#financeiro-clientes .financehead p{font-size:90%}
#financeiro-clientes .financeheader>b:nth-child(4),
#financeiro-clientes .financeheader>b:nth-child(5){
  font-size:1.2em;
}
#financeiro-clientes .financeheader>b:nth-child(6),
#financeiro-clientes .resultvalue{
  font-size:1.05em;
}
#financeiro-clientes .contractedvalue,
#financeiro-clientes .usedvalue{
  font-size:13.2px;
}
html[data-theme="dark"] .adminservicefilters{
  background:#191c22;
  border-color:#30333a;
}
html[data-theme="dark"] .categoryadmin{
  background:#191c22;
  border-color:#30333a;
}
html[data-theme="dark"] .adminservicehead{color:#aeb3c2}
@media(max-width:700px){
  .adminservicefilters{
    grid-template-columns:1fr;
    margin-left:14px;
    margin-right:14px;
  }
  .adminservicehead{
    grid-template-columns:1fr 1fr!important;
    margin-left:14px;
    margin-right:14px;
  }
  .categoryadmin{margin-left:14px;margin-right:14px}
  .categorycreate,.categoryrow{grid-template-columns:1fr}
  .categorylabels{display:none}
}

/* bloco 37 */
/* Indicador do menu alinhado à divisão entre cabeçalho e conteúdo */
.top .nav button{position:relative}
.top .nav button::after{
  content:"";
  position:absolute;
  height:3px;
  left:10px;
  right:10px;
  bottom:-24px!important;
  border-radius:3px 3px 0 0;
  background:var(--gesto-green)!important;
  opacity:0;
  transform:scaleX(.45);
  transition:opacity .16s ease,transform .16s ease;
}
.top .nav button:hover::after,
.top .nav button.on::after{
  opacity:1;
  transform:scaleX(1);
}
@media(max-width:760px){
  .top .nav button::after{bottom:-14px!important}
}

/* .contents: deixa um <form> "invisível" dentro de um container flex/grid do protótipo (botão Sair, linhas editáveis do admin), sem quebrar o layout do pai */
.contents{display:contents}

/* Fonte Cairo servida localmente (public/fonts/), não via Google Fonts como o protótipo original */
@font-face{
  font-family:"Cairo";
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url("/fonts/cairo-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ===== AJUSTES: desvios conscientes do protótipo ===== */

/* Tamanho mínimo de 12px: rótulos, botões de voltar/sair, WhatsApp, valor em R$ e aviso de saldo insuficiente */
label,
.logout,
.backclients,
.backagency,
.whatsappbtn,
.generalpoint p,
.creditexpiry>p,
.creditrule,
.itemtotal,
.creditlot small,
.money,
.insufficient{
  font-size:12px;
}

/* .generalpoint (Valor geral por ponto) no modo escuro: fundo, borda e cor do título/texto */
html[data-theme="dark"] .generalpoint{
  background:#191c22;
  border-color:#2d3038;
}
html[data-theme="dark"] .generalpoint h3{
  color:var(--gesto-green);
}
html[data-theme="dark"] .generalpoint p{
  color:#f2f4ff;
}

/* Botão "Salvar valor geral" (#applyGeneralPoint): não quebra linha, largura fixa ao conteúdo, seta sempre "→" (não troca pra "↓" no hover) */
.generalpoint{grid-template-columns:1fr 150px max-content}
@media(max-width:600px){
  .generalpoint{grid-template-columns:1fr}
}
#applyGeneralPoint{white-space:nowrap;min-width:max-content;padding-left:18px;padding-right:18px}
#applyGeneralPoint::before,
#applyGeneralPoint:hover::before,
#applyGeneralPoint.on::before{content:"→"!important}

/* Cabeçalho de Financeiro Clientes (.financehead): botão "Exportar CSV" alinhado ao centro do título */
.financehead{align-items:center}
@media(max-width:760px){
  /* Empilha em coluna em telas estreitas, mesmo padrão de .pagehead */
  .financehead{flex-direction:column;align-items:stretch;gap:14px}
}

/* Financeiro Clientes (.financepage) e Créditos a vencer (.creditexpiry) no modo escuro: fundo e borda (não tinham par escuro) */
html[data-theme="dark"] .financepage{
  background:#191c22;
  border-color:#2d3038;
}
html[data-theme="dark"] .creditexpiry{
  background:#191c22;
  border-color:#2d3038;
}

/* Cartões de lote de crédito (.creditlot, .urgent, .expired) no modo escuro: fundo, borda e cor de texto */
html[data-theme="dark"] .creditlot{
  background:#20222c;
  border-color:#383b48;
  color:#f2f4ff;
}
html[data-theme="dark"] .creditlot small{
  color:#aeb3c2;
}
html[data-theme="dark"] .creditlot.urgent{
  background:#3b2024;
  border-color:#5a2f34;
  color:#ff8175;
}
html[data-theme="dark"] .creditlot.expired{
  background:#292b35;
  border-color:#383b48;
  color:#c7cad4;
}

/* Margem igual (16px topo/baixo, 26px laterais) em Usuários/Clientes/Limite/Cadastro/Funções/Serviços/Categorias do admin; estreita em telas pequenas */
.usersbox,.clientsbox,.limitbox,.createbox,.functionsbox,.serviceadminwrap,.categoryadmin{
  margin:16px 26px;
}
@media(max-width:600px){
  .usersbox,.clientsbox,.limitbox,.createbox,.functionsbox,.serviceadminwrap,.categoryadmin,.adminreport{
    margin-left:14px;
    margin-right:14px;
  }
}

/* Hover não muda tamanho/posição, só cor: botões principais, cartões, serviço, alternar tema, voltar, abas do admin/cliente/filtro */
.primary:hover,.additem:hover,.saveprice:hover,.whatsappbtn:hover,
.card:hover,.agencyclient:hover,.service:hover,
.themetoggle:hover,.backclients:hover,.panelhead button:hover,
.admintabs button:hover,.clienttabs button:hover,.filters button:hover{
  transform:none;
  filter:none;
}

/* Botão "Sair" (.logout) sem sublinhado, inclusive na seta */
.logout,.logout::before,.logout:hover{text-decoration:none}

/* Título de "Valor geral por ponto" (.generalpoint h3): 30px nos dois temas */
.generalpoint h3{margin:0 0 4px;font-size:30px}

/* Espaço entre a tabela de Financeiro Clientes (#clientFinanceList) e o botão "Exportar CSV" acima dela */
#clientFinanceList{margin:16px 26px 0}
@media(max-width:600px){
  #clientFinanceList{margin-left:14px;margin-right:14px}
}

/* Espaço entre .financepage e a barra de abas do admin acima, e respiro no fim da página */
.financepage{margin-top:16px;margin-bottom:40px}

/* Ícone do botão do WhatsApp: SVG embutido em vez do glifo de fonte "◉" */
.whatsappbtn::before{content:none}
.whatsappbtn svg{width:14px;height:14px;flex:0 0 auto}

/* Painel de sugestões da busca de serviço (#serviceSearch): lista suspensa com item destacado, claro e escuro; [x-cloak] evita flash antes do Alpine inicializar */
[x-cloak]{display:none!important}
.servicobusca{position:relative}
.servicosugestoes{
  position:absolute;
  z-index:5;
  top:100%;
  left:0;
  right:0;
  margin-top:2px;
  max-height:260px;
  overflow-y:auto;
  background:#fff;
  border:1px solid #dedfd9;
  border-radius:10px;
  box-shadow:0 12px 30px rgba(20,24,40,.14);
}
.servicosugestoes .service{width:100%}
.servicosugestoes .service.on{background:#f8f9fb}
html[data-theme="dark"] .servicosugestoes{
  background:#20222c;
  border-color:#383b48;
}
html[data-theme="dark"] .servicosugestoes .service.on{background:#20232a}

/* Linha "senha gerada, copiar" do modal de editar usuário: input e botão lado a lado */
.senhagerada{display:flex;gap:8px;align-items:center}
.senhagerada input{margin-top:0}

/* .hidden precisa de !important pra vencer .resetall/.themetoggle/.logout (mesma especificidade) ao esconder o botão "Redefinir senha" no modal de editar usuário */
.hidden{display:none!important}

/* Total do item (.itemtotal, aba Serviços do admin) no modo escuro: fundo e texto verdes, como as outras "pills" do sistema */
html[data-theme="dark"] .itemtotal{
  background:#243129;
  color:#85ff96;
}

/* Pílula de status (.statuspill): variantes saudável/atenção/perigo, claro e escuro (situação de tarefa) */
.statuspill.healthy{background:#e9ffe5;color:#168d08}
.statuspill.attention{background:#fff6d9;color:#9a6500}
.statuspill.danger{background:#fff0f1;color:#d8323b}
html[data-theme="dark"] .statuspill.healthy{background:#16301b;color:#7be08a}
html[data-theme="dark"] .statuspill.attention{background:#332b18;color:#ffd46a}
html[data-theme="dark"] .statuspill.danger{background:#3b2024;color:#ff8175}

/* <select> de mudar situação por dentro da pílula de status: sem aparência padrão de navegador, herda cor/fundo da pílula */
.statuspill select{
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:inherit;
  text-transform:inherit;
  padding:0;
  cursor:pointer;
}

/* Linha de tarefa atrasada (#tarefasList .directoryrow.atrasada): borda vermelha à esquerda */
#tarefasList .directoryrow.atrasada{
  border-left:3px solid #d8323b;
  padding-left:9px;
}

/* Colunas da tabela de Tarefas: cliente, tarefa, pontos, situação, prazo, responsável */
#tarefasCabecalho,
#tarefasList .directoryrow{
  grid-template-columns:1.1fr 1.4fr 90px 170px 90px 1.1fr;
}
@media(max-width:800px){
  #tarefasCabecalho,
  #tarefasList .directoryrow{
    grid-template-columns:1fr 1fr;
  }
}

/* Margem lateral da tela de Tarefas: abas, filtro e tabela (27px, mesmo respiro de .filters/.pagehead) */
.clienttabs{margin:18px 27px}
#filtrosTarefas{padding:0 27px 12px}
#tarefasCabecalho,
#tarefasList{margin-left:27px;margin-right:27px}

/* Cabeçalho da tabela de Tarefas (#tarefasCabecalho) em cinza, claro e escuro */
#tarefasCabecalho{
  color:#535b67;
}
html[data-theme="dark"] #tarefasCabecalho{
  color:#aeb3c2;
}

/* Colunas de categoria (.categorycreate, .categoryrow) com o campo "tipo" (offline/digital) */
.categorycreate{grid-template-columns:120px minmax(200px,1fr) auto}
.categoryrow{grid-template-columns:120px minmax(200px,1fr) 180px 43px 43px}

/* "Gestão de usuários" e "Voltar para todos os clientes" (cabeçalho da gestão do cliente): mesma altura, sem quebra de linha */
.head .additem,
.head .backagency{
  padding:9px 12px;
  font-size:12px;
  border-width:1px;
  border-style:solid;
  white-space:nowrap;
}
.head .additem{
  border-color:transparent;
}

/* Área isolada de "Excluir cliente" (.dangerzone), separada do resto da tela de usuários do cliente */
.dangerzone{
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.dangerzone p{
  font-size:11px;
  color:var(--muted);
  margin:0 0 10px;
}

/* Tela de Tarefas sem símbolo nenhum: abas (.clienttabs) e botão "Exportar CSV" (#tarefasExportar) */
.clienttabs button::before{
  content:none!important;
  display:none!important;
}
#tarefasExportar::before{
  content:none!important;
  display:none!important;
}

/* Linhas de dado da tabela de Tarefas com a cor normal do corpo, não a cor de cabeçalho */
#tarefasList .directoryrow{
  color:inherit;
}

/* Setas de has-arrow-icon no corpo da página (.wrap): azuis — só o cabeçalho (.top) mantém seta verde */
.wrap button.has-arrow-icon::before,
.wrap .additem::before,
.wrap .saveprice::before,
.wrap .filters button::before,
.wrap .filters button.on::before,
.wrap .admintabs button.on::before{
  color:var(--gesto-blue)!important;
}
/* Mesma regra acima, no modo escuro (--app-blue em vez de --gesto-blue) */
html[data-theme="dark"] .wrap button.has-arrow-icon::before,
html[data-theme="dark"] .wrap .additem::before,
html[data-theme="dark"] .wrap .saveprice::before,
html[data-theme="dark"] .wrap .filters button::before,
html[data-theme="dark"] .wrap .filters button.on::before,
html[data-theme="dark"] .wrap .admintabs button.on::before{
  color:var(--app-blue)!important;
}
/* Exceção: "Entrar" (.primary) e o botão do WhatsApp têm fundo azul, então a seta deles fica verde (senão fica azul sobre azul); repete os mesmos 4 :not() da regra nativa do protótipo pra vencer a mesma especificidade */
button.primary:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before,
button.whatsappbtn:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before{
  color:var(--app-green)!important;
}

/* Última coluna de .userrow (botão "Excluir usuário") mais larga, pro texto completo caber */
.userrow{grid-template-columns:1fr 1.2fr 1fr .7fr 38px .2fr}

/* Alinha verticalmente os botões de .userrow/.functionrow/.cucard (editar e excluir na mesma altura) */
.userrow,
.functionrow,
.cucard{
  align-items:center;
}
/* "Excluir usuário" (.resetall) igualado à altura de 43px do botão de editar (.saveprice) */
.userrow .resetall,
.cucard .resetall{
  height:43px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Botões "Aplicar filtro"/"Limpar filtro" do Financeiro Clientes sem seta */
#financeiroAplicarFiltro::before,
#financeiroLimparFiltro::before{
  content:none!important;
}

/* Botões "Mês anterior" e "Compra de pontos" (admin, painel do cliente): sem seta, lado a lado */
.clientadminacoes{
  display:flex;
  gap:10px;
  margin:14px 26px 0;
}
.clientadminacoes button::before{
  content:none!important;
}

/* Rótulo de seção (.eyebrow) e "Abrir gestão do cliente →" (.openlabel) no modo escuro: verde e azul claro (contraste ruim no fundo escuro antes) */
html[data-theme="dark"] .eyebrow{
  color:var(--app-green);
}
html[data-theme="dark"] .openlabel{
  color:#64bfff;
}

/* "Voltar para todos os clientes" (#backAgencyHome) no modo escuro: texto e seta azuis (senão texto branco sobre fundo branco) */
html[data-theme="dark"] #backAgencyHome{
  color:var(--gesto-blue)!important;
}
html[data-theme="dark"] #backAgencyHome::before{
  color:var(--gesto-blue)!important;
}
/* Seta de "Gestão de usuários" (#btnGestaoUsuarios) no modo escuro: azul em vez de verde */
html[data-theme="dark"] #btnGestaoUsuarios::before{
  color:var(--app-blue)!important;
}

/* Setas de "Voltar para a gestão do cliente" (#btnVoltarGestaoCliente) e "Adicionar usuário" (#btnAdicionarUsuario) no modo escuro: azuis (fundo verde dos dois botões) */
html[data-theme="dark"] #btnVoltarGestaoCliente::before{
  color:var(--app-blue)!important;
}
html[data-theme="dark"] #btnAdicionarUsuario::before{
  color:var(--app-blue)!important;
}

/* Ícones de "Pontos usados"/"Total contratado" (.ico, painel do cliente) no modo escuro: verdes em vez de azuis */
html[data-theme="dark"] .ico{
  color:var(--app-green)!important;
}

/* Seta de "Excluir cliente"/"Excluir usuário" (.resetall com data-exclusao-titulo): verde nos dois temas */
button.resetall[data-exclusao-titulo="Excluir cliente"]:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before,
button.resetall[data-exclusao-titulo="Excluir usuário"]:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before{
  color:var(--app-green)!important;
}

/* Seta de "Ver extrato" ([data-go="extrato"]): verde nos dois temas */
button[data-go="extrato"]:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before{
  color:var(--app-green)!important;
}

/* Seta de "Adicionar item"/"Adicionar categoria"/etc. (.additem) e abas ativas (.filters/.admintabs button.on) no modo escuro: azul sobre o fundo verde desses botões */
html[data-theme="dark"] .wrap .additem:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before,
html[data-theme="dark"] .wrap .filters button.on:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before,
html[data-theme="dark"] .wrap .admintabs button.on:not(.deleteitem):not(.del):not(.modalclose):not(.saveprice)::before{
  color:var(--app-blue)!important;
}
/* Título h2 dos painéis administrativos (.panelhead, .usersbox, .limitbox, .createbox, .functionsbox, .adminreport) no modo escuro: verde Gesto em vez de azul claro */
html[data-theme="dark"] .panelhead h2,
html[data-theme="dark"] .usersbox>h2,
html[data-theme="dark"] .limitbox>h2,
html[data-theme="dark"] .createbox>h2,
html[data-theme="dark"] .functionsbox>h2,
html[data-theme="dark"] .adminreport>h2{
  color:var(--gesto-green)!important;
}
/* Avatar do usuário no menu (.avatar) no modo escuro: fundo verde Gesto em vez de cinza */
html[data-theme="dark"] .avatar{
  background:var(--gesto-green)!important;
}

/* T-32 (CSP sem unsafe-inline): utilitários que substituem `style="..."` inline, removidos das views por causa da Content-Security-Policy */
.span-2{grid-column:span 2}
.pad-24{padding:24px}
.pad-16-27-0{padding:16px 27px 0}
.pad-16-27{padding:16px 27px}
.mt-10-0-0{margin:10px 0 0}
/* Rótulo de filtro em linha (checkbox/data + texto lado a lado): Financeiro Clientes e Tarefas */
.filtro-inline{display:flex;align-items:center;gap:6px;margin:0}
/* Estado inicial escondido SEM !important, de propósito: elementos que public/js troca depois via `.style.display` (ex.: #catalogNoResults, #modalUsuarioErro) — um !important aqui venceria o JS e travaria escondido pra sempre */
.jshidden{display:none}

