:root{
  --navy:#152259;--navy-2:#1e3270;--green:#15803d;--green-bg:#eefaf2;--green-dark:#116932;
  --red:#dc2626;--red-bg:#fdf0f0;--teal:#0e7f9a;--purple:#7c3aed;--purple-bg:#f3eefd;
  --blue:#2451c4;--blue-bg:#eaf0fd;--gray-50:#f7f8fa;--gray-100:#eff1f4;--gray-200:#e3e6eb;
  --gray-300:#d1d5db;--gray-400:#9aa1ac;--gray-500:#6b7280;--gray-700:#374151;
  --gray-900:#0f172a;--orange:#d97706;
  --shadow-xs:0 1px 2px rgba(15,23,42,.04);
  --shadow-sm:0 1px 2px rgba(15,23,42,.04),0 2px 6px rgba(15,23,42,.05);
  --shadow-md:0 4px 14px rgba(15,23,42,.07),0 1px 3px rgba(15,23,42,.05);
  --shadow-lg:0 18px 45px rgba(15,23,42,.14),0 4px 12px rgba(15,23,42,.06);
  --ease:cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box;}html,body{margin:0;padding:0;}
body{font-family:'Inter','Segoe UI',Roboto,Helvetica,Arial,sans-serif;background:var(--gray-50);color:var(--gray-900);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.hidden{display:none !important;}
button{font-family:inherit;cursor:pointer;}input,select{font-family:inherit;}
button,input,select,.action-card,.stat-card,.icon-btn,.modal-close,.eye-toggle{
  transition:background-color .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease),transform .12s var(--ease),color .16s var(--ease);
}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #94a8f5;outline-offset:1px;}
/* LOGIN */
#loginScreen{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(ellipse 900px 620px at 50% -4%,#2b48ad 0%,rgba(43,72,173,0) 62%),
  radial-gradient(ellipse 1000px 700px at 50% 104%,#0c1740 0%,rgba(12,23,64,0) 60%),
  linear-gradient(180deg,#131f61 0%,#0a123b 55%,#050a24 100%);padding:20px;}
.login-card{width:100%;max-width:430px;background:#fff;border-radius:20px;box-shadow:0 30px 70px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.15);padding:40px 36px 34px;}
.login-logo{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:4px;}
.login-logo .logo-mark{background:var(--navy);color:#fff;font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:26px;letter-spacing:1px;padding:12px 22px;border-radius:9px;line-height:1;box-shadow:0 6px 16px rgba(21,34,89,.28);}
.login-logo .brand{font-size:25px;font-weight:800;color:var(--navy);letter-spacing:.4px;text-align:center;}
.login-logo .brand-sub{font-size:12.5px;color:var(--gray-500);text-align:center;margin-top:-4px;letter-spacing:.2px;}
.login-divider{border:none;border-top:1px solid var(--gray-200);margin:22px 0;}
.login-heading{text-align:center;font-size:21px;font-weight:800;color:var(--navy);margin-bottom:5px;letter-spacing:-.2px;}
.login-sub{text-align:center;color:var(--gray-500);font-size:13.5px;margin-bottom:26px;}
.field{margin-bottom:17px;}
.field label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:7px;letter-spacing:.1px;}
.field select,.field input{width:100%;padding:12px 14px;border:1.5px solid var(--gray-200);border-radius:10px;font-size:14.5px;color:var(--gray-900);outline:none;background:#fff;}
.field select:hover,.field input:hover{border-color:var(--gray-300);}
.field select:focus,.field input:focus{border-color:var(--navy);box-shadow:0 0 0 3.5px rgba(21,34,89,.10);}
.field-select-wrap{position:relative;}
.field-select-wrap select{appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer;}
.field-select-wrap .chev{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--gray-400);pointer-events:none;font-size:13px;}
.field-pass-wrap{position:relative;}
.field-pass-wrap input{padding-right:42px;}
.field-pass-wrap .eye-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--gray-400);font-size:16px;padding:6px;line-height:1;border-radius:7px;}
.field-pass-wrap .eye-toggle:hover{color:var(--gray-700);background:var(--gray-100);}
.btn-primary{width:100%;padding:13px;border:none;border-radius:10px;background:var(--navy);color:#fff;font-weight:700;font-size:15px;margin-top:8px;letter-spacing:.2px;box-shadow:0 8px 20px rgba(21,34,89,.25);}
.btn-primary:hover{background:var(--navy-2);box-shadow:0 10px 24px rgba(21,34,89,.32);transform:translateY(-1px);}
.btn-primary:active{transform:translateY(0);box-shadow:0 4px 10px rgba(21,34,89,.25);}
.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none;}
.login-footer{text-align:center;color:var(--gray-400);font-size:12px;margin-top:20px;letter-spacing:.1px;}
.login-error{background:var(--red-bg);color:var(--red);border:1px solid #f6c3c3;border-radius:10px;padding:11px 13px;font-size:13.5px;margin-bottom:16px;font-weight:500;}
/* APP SHELL */
#appScreen{padding:24px 28px 44px;max-width:1520px;margin:0 auto;}
.header{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(115deg,#0b1442 0%,#152769 38%,#1d3486 68%,#2748a8 100%);
  border:1px solid #0b1442;border-radius:16px;padding:15px 26px;box-shadow:0 10px 26px rgba(11,20,66,.28);margin-bottom:20px;gap:16px;flex-wrap:wrap;}
.header::before{content:'';position:absolute;top:-40%;right:6%;width:120px;height:220%;background:rgba(255,255,255,.055);transform:rotate(18deg);pointer-events:none;}
.header::after{content:'';position:absolute;top:-40%;right:16%;width:46px;height:220%;background:rgba(255,255,255,.04);transform:rotate(18deg);pointer-events:none;}
.header-left{display:flex;align-items:center;gap:16px;position:relative;z-index:1;}
.logo-badge{width:48px;height:52px;display:flex;align-items:center;justify-content:center;color:#fff;flex:none;}
.logo-badge svg{width:100%;height:100%;}
.header-divider{width:1.5px;height:34px;background:rgba(255,255,255,.28);border-radius:1px;}
.header-title{font-size:26px;font-weight:800;color:#fff;letter-spacing:-.2px;}
.header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:relative;z-index:1;}
.user-chip{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:8px 16px;background:rgba(255,255,255,.08);cursor:pointer;}
.user-chip:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);}
.user-chip .avatar{width:34px;height:34px;border-radius:50%;background:#dbe6ff;color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:16px;flex:none;box-shadow:0 2px 6px rgba(0,0,0,.2);}
.user-chip .role{font-size:10.5px;font-weight:700;color:#b7c2ee;text-transform:uppercase;letter-spacing:.5px;}
.user-chip .name{font-size:14.5px;font-weight:700;color:#fff;letter-spacing:-.1px;}
.comp-chip{display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:8px 16px;background:rgba(255,255,255,.08);color:#fff;}
.comp-chip select{border:none;font-weight:700;font-size:14.5px;color:#fff;background:transparent;cursor:pointer;appearance:none;-webkit-appearance:none;padding-right:2px;}
.comp-chip select option{color:#111;}
.comp-chip .comp-chev{flex:none;}
.btn-logout{display:flex;align-items:center;gap:7px;border:1.5px solid var(--red);color:var(--red);background:#fff;border-radius:11px;padding:10px 18px;font-weight:700;font-size:14.5px;box-shadow:0 4px 10px rgba(0,0,0,.15);}
.btn-logout svg{width:16px;height:16px;flex:none;}
.btn-logout:hover{background:var(--red-bg);}
.btn-logout:active{transform:scale(.98);}
/* ACTION CARDS */
.action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px;}
.action-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-radius:14px;padding:18px 19px;border:1.5px solid var(--gray-200);box-shadow:var(--shadow-sm);text-align:left;}
.action-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.action-card:active{transform:translateY(0);}
.action-card .ac-left{display:flex;align-items:center;gap:13px;}
.action-card .ac-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex:none;box-shadow:inset 0 -2px 4px rgba(0,0,0,.08);}
.action-card .ac-icon svg{width:20px;height:20px;}
.action-card .ac-title{font-weight:800;font-size:14.5px;letter-spacing:.1px;}
.action-card .ac-sub{font-size:12.5px;color:var(--gray-500);margin-top:2px;}
.action-card .ac-chevron{color:var(--gray-300);font-size:20px;transition:transform .16s var(--ease),color .16s var(--ease);}
.action-card:hover .ac-chevron{transform:translateX(2px);}
.action-card.card-green{border-color:#c9ecd6;background:var(--green-bg);border-left:5px solid var(--green);}
.action-card.card-green .ac-icon{background:linear-gradient(155deg,#22c55e,var(--green));}
.action-card.card-green .ac-title{color:var(--green-dark);}
.action-card.card-green .ac-chevron{color:var(--green);}
.action-card.card-red{border-color:#f6cccc;background:var(--red-bg);border-left:5px solid var(--red);}
.action-card.card-red .ac-icon{background:linear-gradient(155deg,#ef4444,var(--red));}
.action-card.card-red .ac-title{color:var(--red);}
.action-card.card-red .ac-chevron{color:var(--red);}
.action-card.card-teal{border-color:var(--teal);border-width:1.5px;background:#fff;border-left:5px solid var(--teal);}
.action-card.card-teal .ac-icon{background:linear-gradient(155deg,#22b8d6,var(--teal));}
.action-card.card-teal .ac-title{color:var(--teal);}
.action-card.card-teal .ac-chevron{color:var(--teal);}
.action-card.card-navy{border-color:var(--gray-200);background:#fff;border-left:5px solid var(--navy);}
.action-card.card-navy .ac-icon{background:linear-gradient(155deg,var(--navy-2),var(--navy));}
.action-card.card-navy .ac-title{color:var(--navy);}
.action-card.card-navy .ac-chevron{color:var(--navy);}
/* STAT CARDS */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;}
.stat-card{display:flex;align-items:center;gap:15px;background:#fff;border-radius:14px;padding:19px 21px;border:1.5px solid var(--gray-200);box-shadow:var(--shadow-sm);}
.stat-card:hover{box-shadow:var(--shadow-md);}
.stat-card .st-icon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;}
.stat-card .st-icon svg{width:20px;height:20px;}
.stat-card .st-value{font-size:22px;font-weight:800;line-height:1.2;letter-spacing:-.3px;font-variant-numeric:tabular-nums;}
.stat-card .st-label{font-size:12.5px;color:var(--gray-500);margin-top:2px;font-weight:500;}
.stat-card.st-green .st-icon{background:var(--green-bg);color:var(--green);}
.stat-card.st-green .st-value{color:var(--green);}
.stat-card.st-green{border-left:5px solid var(--green);}
.stat-card.st-red .st-icon{background:var(--red-bg);color:var(--red);}
.stat-card.st-red .st-value{color:var(--red);}
.stat-card.st-red{border-left:5px solid var(--red);}
.stat-card.st-purple{border-color:#d9c6fa;background:var(--purple-bg);box-shadow:0 0 0 3.5px rgba(124,58,237,.07),var(--shadow-sm);border-left:5px solid var(--purple);}
.stat-card.st-purple .st-icon{background:#fff;color:var(--purple);}
.stat-card.st-purple .st-value{color:var(--purple);}
.stat-card.st-blue .st-icon{background:var(--blue-bg);color:var(--blue);}
.stat-card.st-blue .st-value{color:var(--blue);}
.stat-card.st-blue{border-left:5px solid var(--teal);}
/* TABLE */
.table-card{background:#fff;border-radius:16px;border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);overflow:hidden;}
.table-header{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 16px;flex-wrap:wrap;gap:14px;}
.table-header h2{font-size:18px;font-weight:800;color:var(--navy);margin:0;letter-spacing:.2px;display:flex;align-items:center;gap:9px;}
.th-chart-icon{width:20px;height:20px;flex:none;}
.table-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.search-box{display:flex;align-items:center;gap:9px;border:1.5px solid var(--gray-200);border-radius:10px;padding:9px 15px;min-width:270px;color:var(--gray-500);background:var(--gray-50);}
.search-box:focus-within{border-color:var(--navy);box-shadow:0 0 0 3.5px rgba(21,34,89,.08);background:#fff;}
.search-box input{border:none;outline:none;flex:1;font-size:14px;background:transparent;}
.filter-select-wrap{display:flex;align-items:center;gap:9px;border:1.5px solid var(--gray-200);border-radius:10px;padding:9px 15px;min-width:180px;color:var(--gray-500);background:var(--gray-50);}
.filter-select-wrap:focus-within{border-color:var(--navy);box-shadow:0 0 0 3.5px rgba(21,34,89,.08);background:#fff;}
.filter-select-wrap select{border:none;outline:none;font-size:14px;background:transparent;cursor:pointer;flex:1;color:var(--gray-900);font-weight:600;}
.filter-toggle{display:flex;align-items:center;gap:8px;border:1.5px solid var(--gray-200);border-radius:10px;padding:9px 15px;background:var(--gray-50);cursor:pointer;font-size:13px;font-weight:600;color:var(--gray-700);user-select:none;transition:all .16s var(--ease);}
.filter-toggle:hover{border-color:var(--red);background:#fff;}
.filter-toggle input{width:18px;height:18px;accent-color:var(--red);cursor:pointer;}
.filter-toggle.checked{background:var(--red-bg);border-color:var(--red);color:var(--red);}
.table-scroll{max-height:520px;overflow-y:auto;}
.table-scroll::-webkit-scrollbar{width:9px;}
.table-scroll::-webkit-scrollbar-track{background:var(--gray-100);}
.table-scroll::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:5px;}
.table-scroll::-webkit-scrollbar-thumb:hover{background:var(--gray-400);}
table{width:100%;border-collapse:collapse;}
thead th{text-align:left;padding:14px 24px;font-size:12px;font-weight:700;letter-spacing:.5px;white-space:nowrap;text-transform:uppercase;color:#fff;position:sticky;top:0;z-index:10;}
thead th:first-child{background:var(--navy);}
thead th:last-child{background:var(--navy);}
th.c-coletas{background:var(--green);}
th.c-despesas{background:var(--red);}
th.c-saldo{background:var(--purple);}
th.c-depositos{background:var(--teal);}
th.c-percent{background:var(--orange);}
td.c-coletas{color:var(--green-dark);}
td.c-despesas{color:var(--red);}
td.c-saldo{color:var(--purple);}
td.c-depositos{color:var(--blue);}
td.c-percent{color:var(--orange);font-weight:700;font-variant-numeric:tabular-nums;}
td.c-percent.alert{color:var(--red);font-weight:800;}
tbody tr{transition:background-color .12s var(--ease);}
tbody tr:nth-child(even){background:#f8f9fd;}
tbody tr:hover{background:var(--gray-100);}
tbody td{padding:14px 24px;font-size:14.5px;color:var(--gray-900);border-top:1px solid var(--gray-100);}
tbody td.c-coletas,tbody td.c-despesas,tbody td.c-saldo,tbody td.c-depositos{font-weight:700;font-variant-numeric:tabular-nums;}
tbody td input.cell-input{width:112px;padding:7px 9px;border:1.5px solid var(--gray-200);border-radius:8px;font-size:14px;background:#fff;}
tbody td input.cell-input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(21,34,89,.08);}
tbody td input.cell-input:disabled{background:transparent;border-color:transparent;padding:7px 0;font-weight:700;color:inherit;}
.acoes-cell{display:flex;gap:9px;}
.icon-btn{width:32px;height:32px;border-radius:9px;border:none;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;box-shadow:var(--shadow-xs);}
.icon-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);}
.icon-btn:active{transform:translateY(0);}
.icon-btn.ok{background:linear-gradient(155deg,#22c55e,var(--green));}
.icon-btn.edit{background:linear-gradient(155deg,#f59e0b,var(--orange));}
.table-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;flex-wrap:wrap;gap:12px;border-top:1px solid var(--gray-100);}
.table-footer .showing{font-size:13.5px;color:var(--gray-500);}
/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(10,15,35,.6);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:60;padding:20px;}
.modal{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-lg);}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--gray-100);}
.modal-header h3{margin:0;font-size:17.5px;color:var(--navy);font-weight:800;letter-spacing:.1px;}
.modal-close{background:none;border:none;font-size:19px;color:var(--gray-400);border-radius:8px;padding:4px 7px;}
.modal-close:hover{color:var(--gray-700);background:var(--gray-100);}
.modal-body{padding:22px 24px;}
.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 22px;}
.btn-secondary{padding:11px 20px;border-radius:10px;border:1.5px solid var(--gray-200);background:#fff;color:var(--gray-700);font-weight:700;font-size:14px;}
.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-300);}
.btn-save{padding:11px 22px;border-radius:10px;border:none;background:var(--navy);color:#fff;font-weight:700;font-size:14px;box-shadow:0 6px 16px rgba(21,34,89,.22);}
.btn-save:hover{background:var(--navy-2);transform:translateY(-1px);box-shadow:0 8px 18px rgba(21,34,89,.28);}
.btn-save:active{transform:translateY(0);}
.btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.modal-msg{font-size:13.5px;border-radius:10px;padding:11px 13px;margin-bottom:14px;font-weight:500;}
.modal-msg.err{background:var(--red-bg);color:var(--red);}
.modal-msg.ok{background:var(--green-bg);color:var(--green-dark);}
.modal-msg:empty{display:none;padding:0;margin:0;}
/* REPARTICAO */
.rep-container{max-width:1520px;margin:0 auto;}
.rep-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:16px;}
.rep-header-left{display:flex;align-items:center;gap:14px;}
.rep-logo-icon{width:52px;height:52px;background:var(--navy);border-radius:14px;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 6px 16px rgba(21,34,89,.25);}
.rep-logo-icon svg{width:28px;height:28px;}
.rep-title{font-size:26px;font-weight:800;color:var(--navy);letter-spacing:-.2px;}
.rep-header-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.rep-btn-back{display:flex;align-items:center;gap:8px;border:1.5px solid var(--navy);color:var(--navy);background:#fff;border-radius:12px;padding:10px 20px;font-weight:700;font-size:14.5px;box-shadow:var(--shadow-sm);}
.rep-btn-back:hover{background:var(--navy);color:#fff;}
.rep-btn-back svg{width:18px;height:18px;}
.rep-flow{display:flex;flex-direction:column;gap:24px;}
.rep-row{display:flex;align-items:stretch;gap:0;flex-wrap:wrap;}
.rep-arrow{display:flex;align-items:center;justify-content:center;padding:0 6px;color:var(--gray-300);font-size:24px;flex:none;}
.rep-arrow svg{width:28px;height:28px;}
.rep-card{background:#fff;border-radius:14px;border:1.5px solid var(--gray-200);box-shadow:var(--shadow-sm);padding:18px 20px;min-width:180px;flex:1;display:flex;flex-direction:column;gap:10px;}
.rep-card-top{display:flex;align-items:center;gap:12px;}
.rep-card-icon{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:inset 0 -2px 4px rgba(0,0,0,.08);}
.rep-card-icon svg{width:22px;height:22px;}
.rep-card-label{font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;line-height:1.3;}
.rep-card-value{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.3px;}
.rep-card.navy{border-left:5px solid var(--navy);}.rep-card.navy .rep-card-icon{background:var(--navy);color:#fff;}.rep-card.navy .rep-card-label{color:var(--navy);}.rep-card.navy .rep-card-value{color:var(--navy);}
.rep-card.red{border-left:5px solid var(--red);background:var(--red-bg);}.rep-card.red .rep-card-icon{background:var(--red);color:#fff;}.rep-card.red .rep-card-label{color:var(--red);}.rep-card.red .rep-card-value{color:var(--red);}
.rep-card.teal{border-left:5px solid var(--teal);background:#f0fbfd;}.rep-card.teal .rep-card-icon{background:var(--teal);color:#fff;}.rep-card.teal .rep-card-label{color:var(--teal);}.rep-card.teal .rep-card-value{color:var(--teal);}
.rep-card.green{border-left:5px solid var(--green);background:var(--green-bg);}.rep-card.green .rep-card-icon{background:var(--green);color:#fff;}.rep-card.green .rep-card-label{color:var(--green-dark);}.rep-card.green .rep-card-value{color:var(--green-dark);}
.rep-deduction-list{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:4px;}
.rep-deduction-list li{font-size:12.5px;color:var(--gray-500);display:flex;justify-content:space-between;padding:2px 0;border-bottom:1px dashed var(--gray-200);}
.rep-deduction-list li:last-child{border-bottom:none;}
.rep-deduction-list li span:last-child{font-weight:600;color:var(--gray-700);font-variant-numeric:tabular-nums;}
.rep-btn-action{margin-top:6px;padding:9px 16px;border:none;border-radius:9px;background:var(--teal);color:#fff;font-weight:700;font-size:13px;letter-spacing:.3px;box-shadow:0 4px 12px rgba(14,127,154,.25);cursor:pointer;width:100%;}
.rep-btn-action:hover{background:#0a6b82;transform:translateY(-1px);box-shadow:0 6px 14px rgba(14,127,154,.32);}
.rep-btn-action:active{transform:translateY(0);}
.rep-card input.rep-input{width:100%;padding:8px 12px;border:1.5px solid var(--gray-200);border-radius:8px;font-size:14px;font-weight:600;color:var(--gray-900);background:#fff;outline:none;font-variant-numeric:tabular-nums;}
.rep-card input.rep-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,127,154,.12);}
.rep-card input.rep-input::placeholder{color:var(--gray-400);font-weight:400;}
.rep-stack{display:flex;flex-direction:column;gap:10px;flex:1;min-width:180px;}
.rep-stack .rep-card{flex:0;min-width:0;padding:14px 18px;}
.rep-vertical-connector{display:flex;justify-content:flex-end;padding:0 24px;color:var(--teal);}
.rep-vertical-connector svg{width:28px;height:28px;}
@media(max-width:1100px){.rep-row{flex-direction:column;}.rep-arrow{transform:rotate(90deg);padding:4px 0;}.rep-stack{min-width:100%;}.rep-vertical-connector{justify-content:center;}}
@media(max-width:640px){.rep-header{flex-direction:column;align-items:flex-start;}.rep-card{min-width:100%;}}
/* MODAL PERFIL */
.modal-perfil-overlay{position:fixed;inset:0;background:rgba(5,25,68,0.45);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;}
.modal-perfil-card{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:36px 32px 28px;box-shadow:0 12px 48px rgba(5,25,68,0.25);animation:modalPerfilIn .25s ease;}
@keyframes modalPerfilIn{from{opacity:0;transform:translateY(-20px) scale(.96);}to{opacity:1;transform:translateY(0) scale(1);}}
.modal-perfil-badge{width:72px;height:72px;border-radius:50%;background:var(--navy);color:#fff;font-size:24px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;border:3px solid #e8e8e8;box-shadow:0 4px 12px rgba(21,34,89,0.15);letter-spacing:1px;}
.modal-perfil-field{margin-bottom:20px;}.modal-perfil-field:last-of-type{margin-bottom:28px;}
.modal-perfil-label{display:block;font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:6px;}
.modal-perfil-input-wrap{position:relative;}
.modal-perfil-input{width:100%;padding:10px 14px;font-size:15px;color:#333;border:1.5px solid #d0d0d0;border-radius:8px;background:#fff;outline:none;transition:border-color .2s;box-sizing:border-box;}
.modal-perfil-input:focus{border-color:var(--navy);}
.modal-perfil-input.pw-input{padding-right:42px;}
.modal-perfil-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--navy);display:flex;align-items:center;user-select:none;}
.modal-perfil-eye svg{width:20px;height:20px;}
.modal-perfil-buttons{display:flex;justify-content:flex-end;gap:12px;}
.modal-perfil-btn{padding:10px 24px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;border:none;transition:opacity .2s,background .2s;}
.modal-perfil-btn:hover{opacity:.88;}
.modal-perfil-btn-cancelar{background:#fff;color:var(--navy);border:1.5px solid var(--navy);}
.modal-perfil-btn-cancelar:hover{background:#f5f5f5;}
.modal-perfil-btn-salvar{background:var(--navy);color:#fff;}
.modal-perfil-btn-salvar:hover{background:var(--navy-2);}
@media(max-width:480px){.modal-perfil-card{padding:28px 20px 22px;}}
/* CONFIGURACOES */
.config-container{max-width:1520px;margin:0 auto;}
.config-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:16px;}
.config-header-left{display:flex;align-items:center;gap:14px;}
.config-logo-icon{width:52px;height:52px;background:var(--navy);border-radius:14px;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 6px 16px rgba(21,34,89,.25);}
.config-logo-icon svg{width:28px;height:28px;}
.config-title{font-size:26px;font-weight:800;color:var(--navy);letter-spacing:-.2px;}
.config-btn-back{display:flex;align-items:center;gap:8px;border:1.5px solid var(--navy);color:var(--navy);background:#fff;border-radius:12px;padding:10px 20px;font-weight:700;font-size:14.5px;box-shadow:var(--shadow-sm);}
.config-btn-back:hover{background:var(--navy);color:#fff;}
.config-btn-back svg{width:18px;height:18px;}
.config-section{background:#fff;border-radius:16px;border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:24px;}
.config-section-header{padding:20px 24px 14px;border-bottom:1px solid var(--gray-100);}
.config-section-header h2{font-size:17px;font-weight:800;color:var(--navy);margin:0;}
.config-table{width:100%;border-collapse:collapse;}
.config-table thead th{text-align:left;padding:12px 20px;font-size:11.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#fff;background:var(--navy);}
.config-table tbody td{padding:12px 20px;font-size:14px;color:var(--gray-900);border-top:1px solid var(--gray-100);}
.config-table tbody tr:hover{background:var(--gray-100);}
.config-form{padding:20px 24px;display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;border-top:1px solid var(--gray-100);}
.config-btn-add{padding:11px 22px;border-radius:10px;border:none;background:var(--navy);color:#fff;font-weight:700;font-size:14px;box-shadow:0 6px 16px rgba(21,34,89,.22);cursor:pointer;white-space:nowrap;}
.config-btn-add:hover{background:var(--navy-2);}
.config-action-btn{padding:6px 14px;border-radius:8px;border:none;font-size:12.5px;font-weight:700;cursor:pointer;color:#fff;}
.config-action-btn.edit{background:var(--orange);}
.config-action-btn.del{background:var(--red);}
.config-admin-list{padding:20px 24px;display:flex;flex-wrap:wrap;gap:10px;}
.config-admin-chip{display:flex;align-items:center;gap:8px;background:var(--blue-bg);color:var(--blue);border:1.5px solid var(--blue);border-radius:10px;padding:8px 16px;font-weight:700;font-size:13.5px;}
.config-admin-chip-del{margin-left:8px;background:var(--red);color:#fff;border:none;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700;cursor:pointer;}
.config-admin-chip-del:hover{opacity:.85;}
.config-admin-form{padding:20px 24px;display:flex;gap:12px;align-items:flex-end;border-top:1px solid var(--gray-100);}
.config-admin-form .field{flex:1;margin-bottom:0;}
.config-admin-checkboxes{display:flex;flex-wrap:wrap;gap:10px;padding:0;}
.config-checkbox{display:flex;align-items:center;gap:8px;background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:10px;padding:8px 14px;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--gray-700);user-select:none;transition:all .16s var(--ease);}
.config-checkbox:hover{border-color:var(--navy);background:#fff;}
.config-checkbox input{width:18px;height:18px;accent-color:var(--navy);cursor:pointer;}
.config-checkbox.checked{background:var(--blue-bg);border-color:var(--blue);color:var(--blue);}
.config-checkbox-perm{display:flex;align-items:center;gap:10px;background:var(--purple-bg);border:1.5px solid var(--purple);border-radius:10px;padding:10px 16px;cursor:pointer;font-size:13.5px;font-weight:700;color:var(--purple);user-select:none;transition:all .16s var(--ease);margin-top:8px;}
.config-checkbox-perm:hover{background:#fff;}
.config-checkbox-perm input{width:18px;height:18px;accent-color:var(--purple);cursor:pointer;}
.config-checkbox-perm.checked{background:var(--purple-bg);}
.config-modal-overlay{position:fixed;inset:0;background:rgba(10,15,35,.6);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:70;padding:20px;}
.config-modal{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-lg);}
.config-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--gray-100);}
.config-modal-header h3{margin:0;font-size:17.5px;color:var(--navy);font-weight:800;letter-spacing:.1px;}
.config-modal-close{background:none;border:none;font-size:19px;color:var(--gray-400);border-radius:8px;padding:4px 7px;cursor:pointer;}
.config-modal-close:hover{color:var(--gray-700);background:var(--gray-100);}
.config-modal-body{padding:22px 24px;}
.config-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 22px;border-top:1px solid var(--gray-100);}
@media(max-width:768px){.config-form{flex-direction:column;}}
/* TOAST */
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:13px 24px;border-radius:12px;font-size:14px;font-weight:600;box-shadow:0 14px 34px rgba(0,0,0,.28);z-index:10000;letter-spacing:.1px;}
.toast.err{background:var(--red);}
@media(max-width:1100px){.action-grid,.stat-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.action-grid,.stat-grid{grid-template-columns:1fr;}#appScreen{padding:14px;}.header-title{font-size:20px;}table{font-size:13px;}}
/* ICONS (Font Awesome) */
.ac-icon i,.st-icon i,.rep-card-icon i,.rep-logo-icon i,.config-logo-icon i,.logo-badge i,.th-chart-icon,.icon-btn i,.modal-close i,.eye-toggle i,.rep-btn-back i,.config-btn-back i,.btn-logout i,.rep-arrow i,.rep-vertical-connector i,.config-modal-close i,.modal-perfil-eye i,.search-box i,.filter-select-wrap i,.comp-chip i,.ac-chevron i,.chev i{font-size:inherit;line-height:1;}
.ac-icon,.st-icon,.rep-card-icon{font-size:18px;}
.rep-logo-icon,.config-logo-icon{font-size:24px;}
.logo-badge{font-size:22px;}
.th-chart-icon{font-size:17px;color:var(--navy);}
.icon-btn{font-size:14px;}
.btn-logout i,.rep-btn-back i,.config-btn-back i{font-size:15px;}
.search-box i,.filter-select-wrap i{font-size:14px;}
.comp-chip i{font-size:14px;}
/* TABLE FOOTER TOTALS */
tfoot td{padding:14px 24px;font-size:14px;font-weight:800;border-top:2px solid var(--gray-200);background:var(--gray-50);font-variant-numeric:tabular-nums;color:var(--navy);}
tfoot td.c-coletas{color:var(--green-dark);}
tfoot td.c-despesas{color:var(--red);}
tfoot td.c-saldo{color:var(--purple);}
tfoot td.c-depositos{color:var(--blue);}
tfoot td.c-percent{color:var(--orange);}
/* MAPA DE COLETAS - LAYOUT 70/30 COM GRAFICOS */
.mapa-grid{display:grid;grid-template-columns:70% 30%;gap:16px;align-items:stretch;}
.chart-col{display:flex;flex-direction:column;gap:16px;min-width:0;}
.chart-card{background:#fff;border-radius:16px;border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);padding:16px 18px;flex:1;display:flex;flex-direction:column;min-height:260px;min-width:0;}
.chart-card h3{margin:0 0 10px;font-size:13px;font-weight:800;color:var(--navy);letter-spacing:.2px;display:flex;align-items:center;gap:8px;text-transform:uppercase;}
.chart-card .chart-wrap{position:relative;flex:1;min-height:190px;}
.chart-card .chart-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--gray-400);font-size:13px;text-align:center;}
@media(max-width:1100px){.mapa-grid{grid-template-columns:1fr;}.chart-col{flex-direction:row;}.chart-card{min-height:220px;}}
@media(max-width:640px){.chart-col{flex-direction:column;}}
/* MODAL: OFERTAS / DEDUCOES */
.ofertas-total-row{display:flex;align-items:flex-end;gap:10px;margin-bottom:14px;}
.ofertas-total-row .field{flex:1;margin-bottom:0;}
.ofertas-total-row .field input{font-weight:700;font-variant-numeric:tabular-nums;}
.ofertas-total-actions{display:flex;gap:8px;flex:none;}
.resumo-table{width:100%;border-collapse:collapse;margin-top:6px;border:1px solid var(--gray-200);border-radius:10px;overflow:hidden;}
.resumo-table thead th{text-align:left;background:var(--navy);color:#fff;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:10px 14px;}
.resumo-table tbody td{padding:10px 14px;font-size:13.5px;border-top:1px solid var(--gray-100);color:var(--gray-900);}
.resumo-table tbody tr:nth-child(even){background:var(--gray-50);}
.resumo-table td:last-child,.resumo-table th:last-child{text-align:right;font-variant-numeric:tabular-nums;}
.resumo-table tfoot td{background:var(--gray-100);font-weight:800;color:var(--navy);border-top:2px solid var(--gray-200);padding:10px 14px;}
.resumo-table .acoes-cell{justify-content:flex-end;}
.modal-section-title{font-size:12.5px;font-weight:800;color:var(--gray-500);text-transform:uppercase;letter-spacing:.4px;margin:20px 0 8px;}
.modal-section-title:first-child{margin-top:0;}
.deducao-add-row{display:flex;gap:10px;align-items:flex-end;margin-bottom:6px;}
.deducao-add-row .field{margin-bottom:0;}
.deducao-add-row .field:first-child{flex:1.4;}
.deducao-add-row .field:nth-child(2){flex:1;}
.btn-add-inline{flex:none;padding:11px 16px;border-radius:10px;border:none;background:var(--green);color:#fff;font-weight:700;font-size:13.5px;box-shadow:0 6px 16px rgba(21,128,61,.22);display:flex;align-items:center;gap:6px;}
.btn-add-inline:hover{background:var(--green-dark);}
.deducao-list-row input.resumo-edit-input{width:100%;padding:6px 8px;border:1.5px solid var(--gray-200);border-radius:7px;font-size:13.5px;}
