:root{font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:#26324e;background:#f5f7fc;font-synthesis:none;--navy:#101c3c;--muted:#8390a8;--line:#e8edf6;--accent:#645cf2;--accent-2:#8778ff;--green:#12aa83;--red:#dc5a65;--radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a9a2ff;outline-offset:2px}svg{flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Manrope','DM Sans',sans-serif;letter-spacing:-.045em}h1{color:#16203f;font-size:clamp(23px,2.5vw,30px);margin-bottom:7px}h2{font-size:17px;color:#1c2948}p{line-height:1.55}.muted,.help-text{color:var(--muted);font-size:13px;line-height:1.7}.nowrap{white-space:nowrap}.green-txt{color:var(--green)!important}.req{color:#e24e67}
.auth-body{background:radial-gradient(circle at 14% 12%,#253e8a 0,#111b40 42%,#0a1129 90%)}.auth-scene{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:25px;position:relative;overflow:hidden}.auth-glow{position:absolute;width:450px;height:450px;border-radius:50%;background:#665aff33;filter:blur(75px);top:-180px;right:-70px;pointer-events:none}.auth-box{position:relative;width:min(100%,430px);padding:36px 34px 26px;background:#fff;border:1px solid #ffffff33;border-radius:24px;box-shadow:0 28px 95px #05091b55}.auth-logo{width:60px;height:60px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#695df8,#8f8aff);color:white;font-family:Manrope,sans-serif;font-weight:800;font-size:22px;margin:0 0 25px}.auth-box h1{font-size:27px;margin-bottom:7px}.auth-box>p{color:#8a94aa;font-size:14px;margin-bottom:28px}.auth-fields{gap:18px!important}.auth-foot{text-align:center;padding-top:22px;color:#8c95a9;font-size:12px}
.app-shell{display:flex;min-height:100vh}.sidebar{width:263px;position:fixed;inset:0 auto 0 0;background:#111b3b;color:#d1daf1;display:flex;flex-direction:column;z-index:30;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#475477 #111b3b}.brand{display:flex;gap:12px;align-items:center;padding:29px 21px 30px;min-height:105px}.brand-default,.brand-img{width:45px;height:45px;border-radius:13px;object-fit:contain;flex-shrink:0}.brand-default{background:linear-gradient(135deg,#7a70ff,#4c47be);color:white;display:grid;place-items:center;font-weight:800}.brand-txt{min-width:0}.brand-txt strong{display:block;font-size:15px;font-weight:800;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:white}.brand-txt small{font-size:9px;font-weight:700;letter-spacing:1.6px;color:#8491b8}.main-nav{padding:0 13px 25px;flex:1}.nav-label{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#67779f;padding:23px 13px 11px}.nav-item{display:flex;align-items:center;gap:13px;min-height:44px;padding:0 13px;border-radius:10px;color:#a5b1d1;font-size:13px;font-weight:600;transition:background .15s,color .15s}.nav-item:hover{background:#1c2a53;color:white}.nav-item.active{color:#fff;background:#685fdd;box-shadow:0 5px 17px #473dc544}.sidebar-bottom{border-top:1px solid #2c3960;display:flex;align-items:center;padding:18px 16px;gap:10px}.admin-avatar{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#46608c;color:#fff;font-weight:800}.admin-text{min-width:0;flex:1}.admin-text strong{font-size:12px;display:block;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-text small{font-size:10px;color:#8490b8}.logout{background:#263351!important;color:#c8d2ee!important}.sidebar-screen{display:none}.main{margin-left:263px;min-width:0;flex:1}.topbar{height:97px;background:#fff;border-bottom:1px solid var(--line);padding:0 35px;display:flex;align-items:center;justify-content:space-between;gap:20px}.top-left{display:flex;align-items:center;gap:14px}.breadcrumb{font-size:10px;color:#a2adc0;letter-spacing:1.3px;font-weight:800}.hello{font-weight:800;color:#172347;font-size:19px;margin-top:4px}.hand{color:#a895ff}.top-right{display:flex;gap:15px;align-items:center}.today-chip{display:flex;gap:8px;align-items:center;border:1px solid var(--line);padding:11px 13px;border-radius:10px;font-size:12px;font-weight:800;color:#62708c}.top-new,.btn-primary{background:#665ced;color:#fff!important}.top-new{display:flex;gap:8px;align-items:center;border-radius:9px;padding:11px 17px;font-size:12px;font-weight:800}.top-new:hover,.btn-primary:hover{background:#5449d9}.mobile-menu{display:none!important}.content{max-width:1540px;margin:auto;padding:32px 35px 18px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 25px}.page-heading p{font-size:13px;color:#8d98ac;margin:0}.page-heading .btn{white-space:nowrap}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:20px}.metric-card,.finance-card,.panel,.plan-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 22px #182a5108}.metric-card{display:block;min-height:185px;padding:21px 22px;transition:transform .15s,box-shadow .15s}.metric-card:hover,.plan-card:hover{transform:translateY(-2px);box-shadow:0 8px 26px #182a5114}.metric-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;margin-bottom:15px}.metric-icon.purple{color:#7565f0;background:#efedff}.metric-icon.red{color:#e15c70;background:#fff0f2}.metric-icon.amber{color:#e6a73a;background:#fff6e4}.metric-icon.green{color:#14ab86;background:#e5faf2}.metric-label{font-size:12px;color:#8793a8;font-weight:700}.metric-value{font-size:29px;font-weight:800;margin:6px 0;color:#172342}.metric-footer{color:#8793a8;font-size:10px;display:flex;align-items:center;gap:5px;font-weight:700}.finance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:20px}.finance-card{padding:22px 23px;min-height:155px;color:#fff;border:0}.finance-card.blue{background:linear-gradient(117deg,#504cda,#756cfa)}.finance-card.violet{background:linear-gradient(117deg,#8a63e9,#ae85fa)}.finance-card.dark{background:linear-gradient(117deg,#182752,#263d6c)}.finance-head{font-size:12px;font-weight:700;display:flex;justify-content:space-between;gap:12px;align-items:center;color:#ffffffd7}.finance-head span{opacity:.6}.finance-money{font-size:clamp(22px,2vw,29px);font-weight:800;margin:9px 0 10px;white-space:nowrap}.finance-card small{font-size:10px;color:#ffffffc0}.dashboard-cols{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(0,1fr);gap:18px}.panel{min-width:0}.panel-title{padding:22px 22px 17px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line)}.panel-title h2{font-size:16px;margin:0 0 4px}.panel-title p{font-size:11px;color:#909cb0;margin:0}.panel-title a{font-size:11px;color:#7166eb;font-weight:800;white-space:nowrap}.mini-client{display:flex;align-items:center;gap:11px;padding:13px 20px;border-bottom:1px solid #f1f3f8}.mini-client:last-child{border-bottom:none}.circle-letter{width:37px;height:37px;border-radius:12px;background:#edf0ff;color:#6258d9;display:inline-grid;place-items:center;font-weight:800;flex-shrink:0;text-transform:uppercase}.mini-info{flex:1;min-width:0}.mini-info strong{display:block;font-size:12px;color:#23314e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-info small{display:block;font-size:10px;color:#9aa5b7;margin-top:3px}.mini-wa{display:grid;place-items:center;color:#1ca66e;padding:8px;background:#e4f9f0;border-radius:9px}.bar-chart{height:207px;display:flex;align-items:end;justify-content:space-around;padding:24px 14px 6px;gap:12px}.chart-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px}.chart-bars{display:flex;gap:5px;align-items:end;height:145px}.chart-bars span{width:15px;display:block;border-radius:5px 5px 1px 1px;min-height:3px}.bar-income,.purple-bg{background:#7772f7}.bar-expense,.orange-bg{background:#f7ad67}.chart-month{font-size:10px;color:#99a3b5;font-weight:800;text-transform:uppercase}.chart-legend{display:flex;gap:8px;align-items:center;justify-content:center;font-size:11px;color:#8190a8;padding:16px}.dot{width:9px;height:9px;border-radius:4px;display:inline-block}.chart-panel>.btn{width:calc(100% - 40px);margin:0 20px 20px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:11px 17px;font-weight:800;font-size:12px;min-height:41px;line-height:1.2}.btn-small{padding:8px 12px;min-height:33px;font-size:11px}.btn-block{display:flex;width:100%}.btn-secondary{background:#f6f7fd;color:#4f5a77;border-color:#e6eaf4}.btn-secondary:hover{background:#edefff}.btn-whatsapp{background:#e5f9f0;border-color:#d4f1e4;color:#15986a;white-space:nowrap}.btn-whatsapp:hover{background:#c9f4df}.btn-outline-danger{border-color:#ffb8c1;color:#d84e64;background:#fff7f8}.btn-outline-danger:hover{background:#ffecf0}.btn-icon{width:33px;height:33px;border:0;background:#eef1fa;color:#687897;border-radius:9px;display:inline-grid;place-items:center;padding:0}.btn-icon:hover{filter:brightness(.95)}.btn-icon.danger{color:#d95d69;background:#fff0f2}.btn-icon.edit-icon{color:#625bed;background:#efedff}.btn-icon.renew-icon{color:#13a984;background:#e6fbf3}.table-actions{display:flex;align-items:center;gap:7px}.inline{display:inline-flex;margin:0}.panel-padding{padding:20px}.filters{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}.filters .search-wrap{flex:1;min-width:210px;position:relative}.search-wrap svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#a1a9b7}.search-wrap input{padding-left:41px!important}.filters input,.filters select,.fields input:not([type=checkbox]),.fields select,.fields textarea{width:100%;background:#fff;color:#26334b;border:1px solid #dde4f1;border-radius:10px;padding:11px 12px;font-size:13px;outline:none;min-height:43px;transition:border-color .15s,box-shadow .15s}.filters select{width:auto;min-width:148px}.fields input:focus,.fields select:focus,.fields textarea:focus,.filters input:focus,.filters select:focus{border-color:#8c82fd;box-shadow:0 0 0 3px #8175ff21}.fields input[type=file]{padding:8px!important}.fields textarea{resize:vertical;min-height:100px}.fields label{display:flex;flex-direction:column;gap:8px;font-weight:800;font-size:12px;color:#33415f}.fields label small{font-weight:500;font-size:11px;color:#9ca7ba}.fields{display:flex;flex-direction:column;gap:19px}.fields label.check-row{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:12px;font-weight:600}.check-row input{width:17px;height:17px;accent-color:#665ced;flex-shrink:0}.form-grid{display:grid;gap:19px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-panel{padding:27px;max-width:910px;margin-bottom:20px}.form-panel>h2{margin-bottom:8px}.form-panel>.muted{margin-bottom:22px}.form-group-title{font-size:12px;font-weight:800;color:#5b64a1;border-bottom:1px solid var(--line);padding-bottom:12px}.form-actions{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;margin-top:4px}.fields code{font-size:11px;background:#f3f0ff;padding:3px 5px;border-radius:4px;color:#7362e7}.fields .help-text{background:#f5f7ff;padding:12px;border-radius:9px}.renew-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;background:#f8faff;border:1px solid #eef1ff;border-radius:12px;padding:18px;margin-bottom:25px}.renew-summary span{display:block;font-size:11px;color:#94a0b4;margin-bottom:5px}.renew-summary strong{font-size:14px;color:#293855}.logo-preview{margin:12px 0}.logo-preview img{max-width:155px;max-height:115px;object-fit:contain;background:#f0f3f9;border-radius:10px;padding:10px}
.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:10px;color:#98a4b6;letter-spacing:.5px;font-weight:800;padding:13px 11px;border-bottom:1px solid #e9edf6;white-space:nowrap}td{padding:15px 11px;border-bottom:1px solid #f0f2f7;color:#637089;vertical-align:middle}tbody tr:last-child td{border-bottom:0}td strong{display:block;color:#283752;font-size:12px;font-weight:800}td .cell-sub,td small{display:block;color:#a2abbb;font-size:10px;margin-top:4px}.person-cell{display:flex;align-items:center;gap:11px;min-width:170px}.person-cell .circle-letter{width:34px;height:34px;border-radius:50%}.status{display:inline-flex;align-items:center;padding:6px 9px;border-radius:8px;font-size:10px;font-weight:800;white-space:nowrap}.status-vencido{background:#fff0f2;color:#d94d63}.status-a_vencer,.status-hoje,.status-pendente{background:#fff5e4;color:#cc8e24}.status-em_dia,.status-pago{background:#e6faf0;color:#18a479}.status-inativo,.status-sem_data{background:#ecf0f5;color:#8190a4}.amount{font-weight:800}.amount-in{color:#15a47b}.amount-out{color:#e16673}.empty{text-align:center;padding:46px 20px;color:#a3afc0}.empty svg{opacity:.7}.empty p{font-size:12px;margin:9px 0 0}.notice{padding:13px 16px;border-radius:12px;font-size:13px;margin-bottom:20px;line-height:1.6}.notice.ok{background:#e9f8f0;color:#168e6e;border:1px solid #c9ead8}.notice.error{background:#fff1f1;color:#c64859;border:1px solid #ffd7db}.notice.info{background:#eef2ff;color:#5c60a7;border:1px solid #dfe5ff}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:20px}.plan-card{padding:24px;transition:transform .15s,box-shadow .15s}.plan-badge{color:#6c60e7;background:#f1efff;border-radius:13px;width:44px;height:44px;display:grid;place-items:center;margin-bottom:19px}.plan-card h2{margin:0 0 3px;font-size:17px}.plan-card p{font-size:11px;color:#a0a9ba;margin-bottom:18px}.plan-price{font-size:27px;font-weight:800;color:#242d50;margin:0 0 21px}.plan-bottom{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding-top:17px}.plan-bottom>.btn{flex:1}.small-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:19px}.small-metrics>div{background:#fff;border:1px solid var(--line);padding:20px;border-radius:14px}.small-metrics span{font-size:11px;color:#8995ab;display:block;margin-bottom:9px}.small-metrics strong{font-size:21px;color:#1d294c}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px}.report-card{padding:23px}.report-card h2{font-size:15px;margin-bottom:8px}.report-card p{color:#91a0b5;font-size:12px;line-height:1.65;min-height:66px}.report-card .btn{width:100%}.footer{text-align:center;color:#aab4c3;font-size:11px;padding:24px 0}.footer span{margin:0 5px}.mobile-only{display:none}
@media(max-width:1240px){.sidebar{width:235px}.main{margin-left:235px}.metric-grid{gap:12px}.metric-card{padding:17px}.content{padding:26px 23px}.topbar{padding:0 23px}.finance-card{padding:20px 17px}.plan-grid{grid-template-columns:repeat(2,1fr)}.metric-value{font-size:26px}}@media(max-width:950px){.sidebar{width:265px;transform:translateX(-105%);transition:transform .22s;box-shadow:10px 0 40px #0001}.sidebar.open{transform:translateX(0)}.sidebar-screen.open{display:block;position:fixed;inset:0;background:#050a1f9c;z-index:20}.main{margin:0}.mobile-menu{display:inline-grid!important}.dashboard-cols{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{height:80px}}@media(max-width:620px){.topbar{height:75px;padding:0 16px}.top-right{gap:8px}.top-new{padding:10px;min-width:35px}.top-new span{display:none}.today-chip{font-size:11px;padding:8px}.today-chip svg{width:13px}.hello{font-size:15px}.breadcrumb{font-size:9px}.content{padding:21px 13px 8px}.page-heading{align-items:flex-start;gap:13px;flex-wrap:wrap}.page-heading h1{font-size:23px}.page-heading .btn{width:100%}.metric-grid{gap:10px}.metric-card{padding:15px;min-height:157px}.metric-icon{width:36px;height:36px;margin-bottom:10px}.metric-label{font-size:10px}.metric-value{font-size:25px}.metric-footer{font-size:9px}.finance-grid{grid-template-columns:1fr;gap:10px}.finance-card{min-height:121px;padding:16px 19px}.finance-money{font-size:25px;margin:6px 0}.dashboard-cols{gap:12px}.panel-padding{padding:13px}.panel-title{padding:18px 14px 15px}.mini-client{padding:12px 13px;gap:8px}.mini-client .status{font-size:9px;padding:4px}.mini-info strong{font-size:11px}.mini-wa{padding:6px}.form-grid.two{grid-template-columns:1fr}.form-panel{padding:18px}.plan-grid{grid-template-columns:1fr}.small-metrics{grid-template-columns:1fr;gap:8px}.small-metrics>div{padding:13px 17px}.small-metrics strong{font-size:19px}.report-grid{grid-template-columns:1fr}.report-card p{min-height:unset}.renew-summary{grid-template-columns:1fr;gap:12px}.filters .btn{width:100%}.filters select{width:100%}.auth-box{padding:27px 23px 23px}.table-scroll{margin-right:0}.footer{font-size:10px}.form-actions .btn{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.scroll-hint{display:none;color:#8c96ac;font-size:11px;margin:6px 0 12px}@media(max-width:620px){.scroll-hint{display:block}}

.balance-explain{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin:0 0 20px}.balance-explain>div{display:flex;flex-direction:column;gap:5px}.balance-explain strong{font-size:16px;color:#152849}.balance-explain span{font-size:11px;color:#8090a7}.field-muted{opacity:.55}@media(max-width:620px){.balance-explain{flex-direction:column;align-items:stretch}.balance-explain .btn{width:100%}.table-actions{min-width:max-content}}
/* GESTOR V3 — tema azul neon profissional, alto contraste, mobile first. */
:root {
  color-scheme: dark;
  --navy: #061831;
  --muted: #b4cce4;
  --line: #28527c;
  --accent: #12def9;
  --accent-2: #3b9cff;
  --green: #62f2ad;
  --red: #ff9aa7;
  color: #eaf6ff;
  background: #06132b;
}
html,body { background: #06132b; color: #eaf6ff; }
body.has-panel { background: radial-gradient(ellipse at 94% 2%,#134b7b66 0%, transparent 37%), radial-gradient(ellipse at 8% 92%,#1044a044 0%, transparent 46%), #06132b; }
a { transition: color .15s, border-color .15s; }
a:hover { color: #75efff; }
h1,h2,h3 { color: #f1faff; }
.muted,.help-text { color:#bbd4ec; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline: 3px solid #51eeff; outline-offset: 2px; }

/* Tela de acesso: agora com marca registrada no painel. */
.auth-body { background: radial-gradient(ellipse at 10% 18%,#0d7fb57b, transparent 42%), radial-gradient(ellipse at 90% 90%,#1643a477, transparent 51%),#030f25; }
.auth-glow { background:#09d5ff2c; }
.auth-box { background: linear-gradient(155deg, #123b62 0%, #0b2446 48%, #071a38 100%); border:1px solid #2d719a; box-shadow:0 28px 110px #000d229e, inset 0 1px #6bcdf326; }
.auth-logo { background:linear-gradient(130deg,#00d2eb,#1877ef);color:#03132f;box-shadow:0 0 25px #00d9ff44; }
.auth-logo.auth-logo-custom { width:95px;height:80px;padding:8px;border:1px solid #4192b8;background:#092c52; }
.auth-logo img { width:100%;height:100%;object-fit:contain; }
.auth-company { color:#67edff; font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-top:-15px;margin-bottom:15px;overflow-wrap:anywhere; }
.auth-box h1 { color:#f4fbff; }
.auth-box>p,.auth-foot { color:#b9d1e5; }

/* Menu / identidade visual */
.sidebar { background:linear-gradient(165deg,#061a36,#071c3c 51%,#05152e);color:#dceffa;border-right:1px solid #1e6596;box-shadow:7px 0 30px #000c2644;scrollbar-color:#15537c #061731; }
.brand { background:linear-gradient(110deg,#0c3461,#082245);border-bottom:1px solid #1c4b75; }
.brand-default,.brand-img { width:48px;height:48px; }
.brand-default { background:linear-gradient(145deg,#0dddf5,#238ae9);color:#032147; }
.brand-img { padding:3px;background:#113d6b;border:1px solid #3a7da0;box-shadow:0 0 15px #00ccef22; }
.brand-txt strong { color:#f0fcff; }
.brand-txt small { color:#9adcf0; }
.nav-label { color:#75b8d9; }
.nav-item { color:#c1dced; }
.nav-item:hover { color:#fff;background:#153f69; }
.nav-item.active { background:linear-gradient(100deg,#04799a,#1262ac);color:#fff;box-shadow:inset 3px 0 #4bf4ff,0 5px 22px #04cfff20; }
.sidebar-bottom { border-color:#28547b;background:#071b39; }
.admin-avatar { background:#155e8e;color:#f6feff;border:1px solid #44b9ed; }
.admin-text strong { color:#eff9ff; }
.admin-text small { color:#9fbfd9; }
.logout { background:#173e64!important;color:#e9f7ff!important; }
.sidebar-screen.open { background:#020d27cc; }

/* Barra superior com logo, contraste e aparência azul-neon */
.topbar { background:linear-gradient(105deg,#0b2d53,#081f40);border-bottom:1px solid #2b658f;box-shadow:0 5px 22px #0009173d; }
.top-brand-mark { width:45px;height:45px; flex-shrink:0;display:grid;place-items:center;overflow:hidden;border-radius:13px;background:linear-gradient(145deg,#0b496e,#092a51);border:1px solid #317aa3;box-shadow:0 0 14px #05d9f220; }
.top-brand-mark img { width:100%;height:100%;padding:4px;object-fit:contain; }
.top-brand-mark span { font-size:14px;font-weight:900;color:#5aefff; }
.breadcrumb { color:#98d6ed; }
.hello { color:#edfaff; }
.hand { color:#4ef4ff; }
.today-chip { background:#0e365b;border-color:#286487;color:#d3edff; }
.top-new,.btn-primary { background:linear-gradient(105deg,#00bfdb,#19abfa);color:#031934!important;border-color:#54e9ff;box-shadow:0 6px 18px #00ceff22; }
.top-new:hover,.btn-primary:hover { background:linear-gradient(105deg,#54eafb,#60c0ff);color:#041e3e!important; }

/* Cards / painéis */
.metric-card,.finance-card,.panel,.plan-card { background:linear-gradient(160deg,#0f3058,#0a2449);border:1px solid #2a5f89;box-shadow:0 6px 24px #000b2430; }
.metric-card:hover,.plan-card:hover { border-color:#42bde5;box-shadow:0 5px 22px #06cbf41b; }
.metric-label { color:#b4d6ef; }
.metric-value { color:#f2fbff; }
.metric-footer { color:#98c6e6; }
.metric-icon.purple { color:#79eaff;background:#124c77; }
.metric-icon.red { color:#ff98ad;background:#50324c; }
.metric-icon.amber { color:#ffda83;background:#4c3c30; }
.metric-icon.green { color:#63ffc1;background:#154e50; }
.finance-card.blue { background:linear-gradient(125deg,#04528c,#1177bc);border-color:#2f9ad5; }
.finance-card.violet { background:linear-gradient(125deg,#153a8c,#286bbb);border-color:#408bde; }
.finance-card.dark { background:linear-gradient(125deg,#073556,#074361);border-color:#347ca7; }
.finance-head,.finance-card small { color:#d2f3ff; }
.finance-money { color:#fff; }
.panel-title { border-color:var(--line); }
.panel-title h2 { color:#f4fbff; }
.panel-title p { color:#b6d1e7; }
.panel-title a { color:#6ff2ff; }
.mini-client { border-bottom-color:#28547c; }
.mini-info strong { color:#ecf9ff; }
.mini-info small { color:#a4c8e4; }
.circle-letter { background:#164b75;color:#84f0ff;border:1px solid #296a9b; }
.mini-wa { background:#103f48;color:#71ffc4; }
.chart-month,.chart-legend { color:#b3d3ed; }
.bar-income,.purple-bg { background:#23d9f6; }
.bar-expense,.orange-bg { background:#5797ff; }

/* Botões e filtros */
.btn-secondary { background:#113e63;color:#dff8ff;border-color:#3279a3; }
.btn-secondary:hover { background:#1b5780;color:#fff; }
.btn-whatsapp { background:#114f4a;color:#81ffd0;border-color:#2c8a71; }
.btn-whatsapp:hover { background:#1b655d;color:#e3fff6; }
.btn-outline-danger { background:#542b40;color:#ffc3cd;border-color:#d57c97; }
.btn-outline-danger:hover { background:#783247;color:#fff; }
.btn-icon { background:#15466c;color:#d4f1ff;border:1px solid #2b668d; }
.btn-icon:hover { background:#27618b;filter:none; }
.btn-icon.danger { color:#ffc2cb;background:#622c42;border-color:#8d4a64; }
.btn-icon.edit-icon { color:#78edff;background:#124f75;border-color:#2b84a9; }
.btn-icon.renew-icon { color:#96ffd4;background:#10584e;border-color:#2b8e77; }
.search-wrap svg { color:#7dcce6; }
.filters input,.filters select,.fields input:not([type=checkbox]),.fields select,.fields textarea { color:#f4fbff;background:#071c39;border-color:#377196; }
.fields input::placeholder,.filters input::placeholder,.fields textarea::placeholder { color:#aac7df;opacity:1; }
.fields input:focus,.fields select:focus,.fields textarea:focus,.filters input:focus,.filters select:focus { border-color:#53ecfa;box-shadow:0 0 0 3px #06caff2b; }
.fields label { color:#dceffc; }
.fields label small { color:#a7c8e4; }
.fields label.check-row { color:#dceffc; }
.check-row input { accent-color:#00bddb; }
.fields select,.filters select { color-scheme:dark; }
.fields code { background:#143e63;color:#78ebfa; }
.fields .help-text,.renew-summary { background:#102f52;border:1px solid #2b608b; }
.form-group-title { color:#85daff; }
.form-actions { border-color:#2b618a; }
.renew-summary span { color:#b4d1e8; }
.renew-summary strong { color:#f3fbff; }
.logo-preview img { background:#102e54; }

/* Lista / estados / indicadores financeiros */
th { color:#bbd8ed;border-color:#316081; }
td { color:#d2e6f6;border-color:#254f76; }
tbody tr:hover { background:#123a6144; }
td strong { color:#f0faff; }
td .cell-sub,td small { color:#a9c6df; }
.status-vencido { background:#642d43;color:#ffc2ce; }
.status-a_vencer,.status-hoje,.status-pendente { background:#574b2d;color:#ffe5a1; }
.status-em_dia,.status-pago { background:#104e44;color:#91ffd1; }
.status-inativo,.status-sem_data { background:#30435c;color:#d0e2f0; }
.amount-in { color:#87ffd2; }
.amount-out { color:#ffa7b2; }
.empty { color:#b7d1e9; }
.notice.ok { background:#0e463e;color:#a8ffdf;border-color:#257e69; }
.notice.error { background:#592b40;color:#ffe0e5;border-color:#ad5470; }
.notice.info { background:#123c62;color:#c5efff;border-color:#31739c; }
.plan-badge { color:#73efff;background:#13527c; }
.plan-card h2 { color:#f7fcff; }
.plan-card p { color:#adcbe4; }
.plan-price { color:#9af2ff; }
.plan-bottom { border-color:var(--line); }
.small-metrics>div { background:#103054;border:1px solid #2e6489; }
.small-metrics span { color:#bed7ed; }
.small-metrics strong { color:#ecfaff; }
.report-card p { color:#b4d0e6; }
.footer { color:#9cc1df; }
.scroll-hint { color:#a5c9e0; }
.balance-explain { background:#0d3157;border-color:#347ba2; }
.balance-explain strong { color:#bbf5ff; }
.balance-explain span { color:#b3d2eb; }
.field-muted { opacity:.65; }

/* Visualização da logomarca antes de salvar */
.brand-preview-area { display:flex;align-items:center;gap:18px;border:1px solid #2f7dab;background:linear-gradient(120deg,#0d385c,#0b2c54);border-radius:15px;padding:16px; }
.brand-preview-icon { flex:0 0 92px;width:92px;height:92px;display:flex;align-items:center;justify-content:center;background:#082044;border:1px dashed #48b2d4;border-radius:16px;overflow:hidden; }
.brand-preview-icon img { width:100%;height:100%;object-fit:contain;padding:7px; }
.brand-preview-icon img[hidden] { display:none; }
.brand-preview-placeholder { font-size:28px;color:#4eeeff;font-weight:900; }
.brand-preview-placeholder[hidden] { display:none; }
.brand-preview-area strong { color:#f3faff;font-size:14px; }
.brand-preview-area p { margin:5px 0;color:#b3def7;font-size:12px;line-height:1.45;overflow-wrap:anywhere; }
.brand-preview-area small { color:#a8c9df;font-size:11px;line-height:1.5;display:block; }

@media(max-width:620px) {
 .top-brand-mark { width:33px;height:33px;border-radius:9px; }
 .top-left { gap:9px; }
 .topbar { padding:0 12px; }
 .brand-preview-area { align-items:flex-start;gap:12px;padding:12px; }
 .brand-preview-icon { width:75px;height:75px;flex-basis:75px; }
 .top-brand-mark img { padding:2px; }
 .auth-logo.auth-logo-custom { width:84px;height:72px; }
}

/* V5: visibilidade de marca maior e imagem com contraste, também no celular. */
.brand-img { width:64px;height:64px;object-fit:contain;border-radius:12px;padding:5px;background:#eefbff;border:1px solid #68dfff; }
.brand { min-height:112px; }
.auth-logo.auth-logo-custom { width:170px;height:112px;padding:10px;background:#eafaff;border:2px solid #51eaff;max-width:100%; }
.auth-logo img,.top-brand-mark img { display:block;object-fit:contain; }
.top-brand-mark { width:57px;height:57px;background:#eafaff; }
.top-brand-mark img { padding:4px; }
.brand-preview-icon { background:#eefbff; }
.brand-diagnostic {padding:14px 16px;border:1px solid #267fa9;border-radius:12px;background:#0c355b;display:flex;flex-direction:column;gap:9px;align-items:flex-start;}
.brand-diagnostic strong {color:#f0fbff;}
.brand-diagnostic p {margin:0;color:#c5deef;font-size:12px;}
.brand-diagnostic small {color:#aacce4;}
.brand-diagnostic .brand-check-success {color:#9af3cb;font-weight:700;}
.brand-diagnostic .brand-check-error {color:#ffb2bd;font-weight:700;}
@media(max-width:620px) {.top-brand-mark{width:44px;height:44px}.brand-img{width:61px;height:61px}.auth-logo.auth-logo-custom{width:155px;height:108px}}

/* V6 */
.brand-diagnostic-buttons{display:flex;flex-wrap:wrap;gap:7px}
.brand-check-info{overflow-wrap:anywhere;word-break:break-word;color:#a9e9ff!important}
@media(max-width:620px){.brand-diagnostic-buttons .btn{white-space:normal}}

/* V7: envio dedicado de logomarca */
.brand-upload-panel { border:1px solid rgba(42,176,255,.34); }
.brand-upload-panel input[type=file] {max-width:100%;}
.brand-remove-form { margin-top:1rem; }
#logoProcessingStatus {display:block; margin-top:.35rem; color:#b5deff; line-height:1.5;}
#brandSaveButton { min-width:220px; }


/* V8 — Identidade visual: imagem inteira, sem fundo claro ou sobreposição de texto.
   Todas as regras anteriores de identidade são sobrescritas aqui; o restante do tema
   azul-neon, formulários e controle financeiro é mantido intacto. */
.auth-brand {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 0 30px;
    min-width: 0;
}
.auth-brand .auth-logo {
    margin: 0;
    flex: none;
}
.auth-brand .auth-logo.auth-logo-custom {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 214px);
    height: 202px;
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}
.auth-brand .auth-logo.auth-logo-custom img {
    display: block;
    flex: none;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    min-width: 0;
    min-height: 0;
    padding: 0;
    margin: 0;
    object-fit: contain;
    object-position: center;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.auth-brand .auth-company {
    position: static;
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0 4px;
    color: #7cefff;
    text-align: center;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .045em;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
/* Menu: marca centralizada, com o nome em sua própria linha. */
.sidebar .brand {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 12px;
    min-height: 0;
    padding: 22px 16px 24px;
}
.sidebar .brand-img {
    display: block;
    flex: none;
    width: 104px;
    height: 96px;
    max-width: 100%;
    padding: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    object-fit: contain;
}
.sidebar .brand-txt { width: 100%; min-width: 0; }
.sidebar .brand-txt strong {
    font-size: 14px;
    line-height: 1.35;
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
    text-overflow: clip;
}
.sidebar .brand-txt small {
    display: block;
    margin-top: 6px;
    font-size: 9px;
    line-height: 1.4;
    letter-spacing: 1px;
}
/* Cabeçalho, prévia no Perfil ADM: nenhuma moldura branca. */
.top-brand-mark {
    width: 52px;
    height: 52px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}
.top-brand-mark img { width: 100%; height: 100%; padding: 0; object-fit: contain; }
.brand-preview-icon { background: transparent; }
.brand-preview-icon img { padding: 3px; }
@media (max-width: 620px) {
    .auth-brand { margin-bottom: 26px; }
    .auth-brand .auth-logo.auth-logo-custom {
        width: min(100%, 202px);
        height: 192px;
    }
    .auth-brand .auth-company {
        font-size: 12px;
        letter-spacing: .025em;
    }
    .top-brand-mark { width: 43px; height: 43px; }
    .sidebar .brand-img { width: 96px; height: 90px; }
}

/* V8: cabeçalho responsivo para nomes compridos sem ultrapassar a barra. */
@media (max-width: 620px) {
  .topbar { padding: 0 11px; height: 80px; gap: 7px; }
  .top-left { min-width: 0; flex: 1 1 auto; gap: 7px; }
  .top-left > div:last-child { min-width: 0; flex: 1 1 auto; }
  .top-left .breadcrumb { display: none; }
  .top-left .hello {
    font-size: 13px;
    line-height: 1.3;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow-wrap: anywhere;
  }
  .top-right { flex: 0 0 auto; gap: 6px; }
  .today-chip { font-size: 10px; padding: 7px 8px; }
}


/* V9 — menu mobile: a marca fica sempre inteira no topo.
   Na V8 toda a sidebar rolava; ao clicar nos links, o navegador podia restaurar
   a rolagem da sidebar e esconder a metade superior da marca. Agora APENAS
   a lista de opções navega/rola; logo, título e rodapé permanecem visíveis. */
.sidebar {
    overflow-x: hidden;
    overflow-y: hidden;
}
.sidebar .brand {
    flex: 0 0 auto;
    position: relative;
    z-index: 1;
}
.sidebar .main-nav {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
    scrollbar-color: #236b97 #071b37;
    -webkit-overflow-scrolling: touch;
}
.sidebar .sidebar-bottom { flex: 0 0 auto; }
.sidebar .brand .brand-img {
    display: block;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
}
@media (max-height: 700px) {
    .sidebar .brand { padding-top: 12px; padding-bottom: 13px; gap: 7px; }
    .sidebar .brand .brand-img { width: 78px; height: 74px; }
    .sidebar .brand-txt strong { font-size: 13px; }
    .sidebar .brand-txt small { margin-top: 2px; }
    .sidebar .sidebar-bottom { padding-top: 11px; padding-bottom: 11px; }
}
