:root{
  --navy-950:#0B1E30; --navy-900:#0D2138; --navy-800:#14304A; --navy-700:#1C3F5E; --line:#3C5A78;
  --paper:#FAF8F3; --ink:#1E252B; --ink-soft:#5B6670;
  --amber:#F2A93B; --amber-dark:#B97613; --green:#4CAF7D; --red:#E2574C;
  font-family:'Inter',sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--navy-950);color:var(--paper);}
.wrap{max-width:1100px;margin:0 auto;padding:32px 24px 64px;}
.grid-bg{
  background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:28px 28px; background-color:var(--navy-900); border-radius:14px; padding:28px 28px 24px;
  border:1px solid var(--navy-700); position:relative; overflow:hidden;
}
.grid-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(13,33,56,0.15), rgba(13,33,56,0.85));pointer-events:none;}
.header{position:relative; z-index:1; display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex-wrap:wrap;}
.eyebrow{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.12em; color:var(--amber); text-transform:uppercase;}
h1{font-family:'Fraunces',serif; font-weight:600; font-size:32px; margin:6px 0 4px; color:var(--paper);}
.subtitle{color:#B9C6D3; font-size:14px; margin:0 0 20px; max-width:660px;}
.user-badge-box{display:flex; align-items:center; gap:10px; background:rgba(255,255,255,0.06); border:1px solid var(--navy-700); border-radius:9px; padding:8px 12px; font-size:13px;}
.user-badge-box .perfil{font-size:10.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--amber); font-family:'IBM Plex Mono',monospace;}
.link-btn{background:none;border:none;color:#B9C6D3;cursor:pointer;font-size:12.5px;text-decoration:underline;padding:0;}
.link-btn:hover{color:var(--paper);}
.view-tabs{display:flex; gap:10px; position:relative; z-index:1; margin-bottom:20px; flex-wrap:wrap;}
.view-tab{background:rgba(255,255,255,0.06); border:1px solid var(--navy-700); color:#B9C6D3; padding:10px 20px; border-radius:9px; font-size:14px; cursor:pointer; font-family:'Inter',sans-serif; font-weight:500;}
.view-tab.active{background:var(--amber); color:#3A2703; border-color:var(--amber);}
.stats{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; position:relative; z-index:1;}
.stat{background:rgba(255,255,255,0.05); border:1px solid var(--navy-700); border-radius:10px; padding:14px 16px;}
.stat .label{font-size:11.5px; color:#9FB0BF; text-transform:uppercase; letter-spacing:0.06em;}
.stat .value{font-family:'IBM Plex Mono',monospace; font-size:20px; font-weight:500; margin-top:6px; color:var(--paper);}
.stat .value.amber{color:var(--amber);}
.stat .value.red{color:var(--red);}
.stat .value.green{color:var(--green);}
.note{background:rgba(242,169,59,0.12); border:1px solid rgba(242,169,59,0.3); border-radius:10px; padding:12px 16px; font-size:12.5px; color:#F3D9A8; margin-top:16px; position:relative; z-index:1;}
.section{margin-top:28px;}
.section-title{font-family:'Fraunces',serif; font-size:19px; font-weight:500; color:var(--paper); margin:0 0 12px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;}
.tabs{display:flex; gap:8px;}
.tab-btn{background:transparent; border:1px solid var(--navy-700); color:#B9C6D3; padding:7px 16px; border-radius:7px; font-size:13.5px; cursor:pointer; font-family:'Inter',sans-serif;}
.tab-btn.active{background:var(--amber); color:#3A2703; border-color:var(--amber); font-weight:500;}
.card{background:var(--paper); color:var(--ink); border-radius:12px; padding:16px 20px;}
table{width:100%; border-collapse:collapse; font-size:13px;}
th{text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--ink-soft); font-weight:600; padding:7px 5px; border-bottom:1.5px solid #E2DFD5; cursor:pointer; user-select:none;}
th:hover{color:var(--ink);}
.sort-ind{display:inline-block; width:10px; font-size:10px; margin-left:2px; color:var(--amber-dark);}
td{padding:7px 5px; border-bottom:1px solid #EEECE3; vertical-align:top;}
tr:last-child td{border-bottom:none;}
.valcell{font-family:'IBM Plex Mono',monospace; text-align:right; white-space:nowrap;}
.datecell{font-family:'IBM Plex Mono',monospace; color:var(--ink-soft); white-space:nowrap;}
.badge{font-family:'IBM Plex Mono',monospace; font-size:10.5px; padding:3px 8px; border-radius:5px; white-space:nowrap;}
.badge.resolvido{background:#EAF3EE; color:#2F7A54;}
.badge.pendente{background:#FBEAEA; color:#B33A34;}
.badge.master{background:#EAF3EE; color:#2F7A54;}
.badge.lancador{background:#EFEBDD; color:#8A6D1E;}
.search-input{width:100%; max-width:280px; padding:8px 10px; border:1px solid #D8D4C6; border-radius:7px; font-size:13px; font-family:'Inter',sans-serif;}
.del-btn{background:none;border:none;color:#C7433B;cursor:pointer;font-size:15px;padding:2px 6px;border-radius:5px;}
.del-btn:hover{background:#FBE7E5;}
.del-btn:disabled{color:#C9C4B3; cursor:not-allowed;}
.edit-btn{background:none;border:none;color:var(--amber-dark);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:5px;}
.edit-btn:hover{background:#F5EFDD;}
.btn{font-family:'Inter',sans-serif; font-weight:500; font-size:13.5px; padding:10px 18px; border-radius:8px; cursor:pointer; border:none; display:inline-flex; align-items:center; gap:6px;}
.btn-amber{background:var(--amber); color:#3A2703;}
.btn-amber:hover{background:#F5B95B;}
.btn-outline{background:transparent; border:1px solid #D8D4C6; color:var(--ink);}
.btn-outline:hover{background:#F1EEE3;}
.empty{color:var(--ink-soft); font-size:13.5px; padding:14px 0; text-align:center;}
.modal-backdrop{position:fixed; inset:0; background:rgba(11,30,48,0.72); display:flex; align-items:center; justify-content:center; z-index:50; padding:20px; overflow:auto;}
.modal{background:var(--paper); color:var(--ink); border-radius:14px; padding:26px 28px; width:100%; max-width:520px; max-height:90vh; overflow:auto;}
.modal h2{font-family:'Fraunces',serif; font-size:20px; font-weight:600; margin:0 0 4px;}
.modal .desc{font-size:12.5px; color:var(--ink-soft); margin:0 0 18px;}
.field{margin-bottom:14px;}
.field label{display:block; font-size:12px; font-weight:500; color:var(--ink-soft); margin-bottom:5px;}
.field input, .field select{width:100%; padding:9px 10px; border:1px solid #D8D4C6; border-radius:7px; font-size:14px; font-family:'Inter',sans-serif; background:#fff; color:var(--ink);}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.row3{display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px;}
.modal-actions{display:flex; gap:10px; margin-top:18px; justify-content:flex-end;}
.status-msg{font-size:12.5px; margin-top:10px; min-height:16px;}
.status-msg.err{color:#C7433B;}
.status-msg.ok{color:#2F7A54;}
.cheque-row{display:grid; grid-template-columns:100px 1fr 90px 90px 120px 100px 32px; gap:6px; margin-bottom:6px; align-items:center;}
.cheque-row input{padding:7px 8px; border:1px solid #D8D4C6; border-radius:6px; font-size:12.5px;}
.cheque-row-head{display:grid; grid-template-columns:100px 1fr 90px 90px 120px 100px 32px; gap:6px; font-size:10px; text-transform:uppercase; color:var(--ink-soft); margin-bottom:4px;}
.autocomplete-box{position:relative;}
.autocomplete-list{position:absolute; top:100%; left:0; right:0; background:#fff; border:1px solid #D8D4C6; border-radius:8px; max-height:220px; overflow:auto; z-index:20; box-shadow:0 6px 18px rgba(0,0,0,0.12);}
.autocomplete-item{padding:8px 10px; font-size:13px; cursor:pointer; border-bottom:1px solid #EEECE3;}
.autocomplete-item:hover{background:#F5F2E8;}
.conta-pick{display:flex; gap:8px; flex-wrap:wrap; margin-top:6px;}
.conta-pick-btn{border:1px solid #D8D4C6; background:#fff; border-radius:7px; padding:8px 10px; font-size:12.5px; cursor:pointer; text-align:left;}
.conta-pick-btn.active{border-color:var(--amber-dark); background:#FCEFD7;}
.login-wrap{min-height:100vh; display:flex; align-items:center; justify-content:center;}
.login-card{background:var(--paper); color:var(--ink); border-radius:14px; padding:32px 30px; width:100%; max-width:360px;}
.login-card h1{font-family:'Fraunces',serif; font-size:24px; margin:0 0 4px;}
.login-card .desc{font-size:13px; color:var(--ink-soft); margin:0 0 20px;}
.login-logo{display:block; height:56px; margin:0 0 14px;}
.header-logo-box{display:inline-block; background:var(--paper); border-radius:8px; padding:7px 12px 5px; margin:0 0 12px;}
.header-logo{display:block; height:34px;}
