@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
  --bg:#0A0D14;--surface:#111520;--surface2:#161C2D;--surface3:#1C2338;--surface4:#222940;
  --border:#252D45;--border2:#2E3A55;
  --accent:#4F6EF7;--accent2:#3D5CE0;--accent-glow:rgba(79,110,247,.18);
  --green:#22C55E;--green-dim:rgba(34,197,94,.12);--green-border:rgba(34,197,94,.25);
  --yellow:#F59E0B;--yellow-dim:rgba(245,158,11,.12);--yellow-border:rgba(245,158,11,.25);
  --red:#EF4444;--red-dim:rgba(239,68,68,.12);--red-border:rgba(239,68,68,.25);
  --purple:#A855F7;--purple-dim:rgba(168,85,247,.12);
  --text:#E2E8F0;--text2:#94A3B8;--text3:#64748B;--text4:#3E4F6A;
  --r:10px;--rl:16px;--rxl:20px;
}

/* ── LIGHT THEME ── */
body.light-theme{
  --bg:#f0f4f8;--surface:#ffffff;--surface2:#f1f5f9;--surface3:#e2e8f0;--surface4:#dde3ee;
  --border:#e2e8f0;--border2:#cbd5e1;
  --accent:#3b5bdb;--accent2:#2f4fc4;--accent-glow:rgba(59,91,219,.08);
  --text:#0f172a;--text2:#334155;--text3:#64748b;--text4:#94a3b8;
  --green:#16a34a;--green-dim:rgba(22,163,74,.1);--green-border:rgba(22,163,74,.2);
  --red:#dc2626;--red-dim:rgba(220,38,38,.1);
  --yellow:#d97706;--yellow-dim:rgba(217,119,6,.1);
  --purple:#7c3aed;
}
body.light-theme .sidebar{background:#ffffff!important;border-right:1px solid #e2e8f0!important;}
body.light-theme .topbar{background:#ffffff!important;border-bottom:1px solid #e2e8f0!important;}
body.light-theme .main{background:#f0f4f8!important;}
body.light-theme .nav-item{color:#334155!important;}
body.light-theme .nav-item:hover,body.light-theme .nav-item.active{background:#f1f5f9!important;color:#3b5bdb!important;}
body.light-theme .modal{background:#ffffff!important;}
body.light-theme .overlay{background:rgba(0,0,0,.3)!important;}
body.light-theme .stat-card{box-shadow:0 1px 3px rgba(0,0,0,.08)!important;}
body.light-theme .apon-table thead tr,.light-theme .apon-table thead tr{background:#1e293b!important;}
body.light-theme input,body.light-theme select,body.light-theme textarea{
  background:#f8fafc!important;color:#0f172a!important;border-color:#e2e8f0!important;
}
body.light-theme .sidebar-logo{background:#ffffff!important;}
body.light-theme .nav-section{color:#94a3b8!important;}
body.light-theme .logo-name,.light-theme .logo-tag{color:#0f172a!important;}
body.light-theme table thead tr{background:#1e293b!important;}
body.light-theme .toast{background:#ffffff!important;color:#0f172a!important;border:1px solid #e2e8f0!important;}


*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}

/* ─── LOGIN ─── */
#loginScreen{
  position:fixed;inset:0;background:var(--bg);
  display:flex;align-items:center;justify-content:center;
  z-index:9999;
  background-image:radial-gradient(ellipse at 20% 50%,rgba(79,110,247,.08) 0%,transparent 60%),
    radial-gradient(ellipse at 80% 20%,rgba(168,85,247,.06) 0%,transparent 50%);
}
.login-box{
  width:100%;max-width:420px;
  background:var(--surface);
  border:1px solid var(--border2);
  border-radius:var(--rxl);
  padding:40px;
  box-shadow:0 24px 80px rgba(0,0,0,.6);
}
.login-logo{text-align:center;margin-bottom:32px}
.login-icon{
  width:56px;height:56px;background:var(--accent);border-radius:14px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:26px;margin-bottom:12px;
  box-shadow:0 8px 24px rgba(79,110,247,.4);
}
.login-title{font-size:22px;font-weight:800;letter-spacing:-.5px}
.login-sub{font-size:13px;color:var(--text3);margin-top:4px}
.login-error{
  background:var(--red-dim);border:1px solid var(--red-border);
  border-radius:8px;padding:10px 14px;font-size:13px;color:var(--red);
  margin-bottom:16px;display:none;
}
.form-group{margin-bottom:16px}
.form-label{display:block;font-size:12px;font-weight:600;color:var(--text2);margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}
.form-input,.form-textarea,.form-select{
  width:100%;background:var(--surface2);border:1px solid var(--border2);
  border-radius:9px;padding:10px 14px;color:var(--text);
  font-family:'Inter',sans-serif;font-size:14px;outline:none;
  transition:border-color .15s,box-shadow .15s;
}
.form-input:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,110,247,.15)}
.form-input::placeholder{color:var(--text4)}
.form-textarea{resize:vertical;min-height:80px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.remember-row{display:flex;align-items:center;gap:8px;margin-bottom:20px}
.remember-row input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}
.remember-row label{font-size:13px;color:var(--text2);cursor:pointer}

/* ─── BUTTONS ─── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:9px 16px;border-radius:8px;font-size:13px;font-weight:600;
  cursor:pointer;border:none;transition:all .15s;font-family:'Inter',sans-serif;
  white-space:nowrap;
}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 12px rgba(79,110,247,.3)}
.btn-primary:hover{background:var(--accent2);transform:translateY(-1px)}
.btn-primary:active{transform:none}
.btn-ghost{background:transparent;color:var(--text2);border:1px solid var(--border2)}
.btn-ghost:hover{background:var(--surface2);color:var(--text)}
.btn-danger{background:var(--red-dim);color:var(--red);border:1px solid var(--red-border)}
.btn-danger:hover{background:rgba(239,68,68,.2)}
.btn-green{background:var(--green-dim);color:var(--green);border:1px solid var(--green-border)}
.btn-green:hover{background:rgba(34,197,94,.2)}
.btn-yellow{background:var(--yellow-dim);color:var(--yellow);border:1px solid var(--yellow-border)}
.btn-purple{background:var(--purple-dim);color:var(--purple);border:1px solid rgba(168,85,247,.25)}
.btn-sm{padding:6px 12px;font-size:12px;border-radius:7px}
.btn-xs{padding:4px 8px;font-size:11px;border-radius:6px}
.btn-full{width:100%}
.btn-icon{padding:7px;border-radius:7px}

/* ─── LAYOUT ─── */
#app{display:none}
.sidebar{
  position:fixed;left:0;top:0;bottom:0;width:220px;
  background:var(--surface);border-right:1px solid var(--border);
  display:flex;flex-direction:column;z-index:100;transition:transform .3s;
}
.sidebar-logo{padding:8px 12px;border-bottom:1px solid var(--border)}
.logo-wrap{display:flex;align-items:center;gap:10px}
.logo-icon{width:38px;height:38px;background:var(--accent);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;box-shadow:0 4px 12px rgba(79,110,247,.35)}
.logo-name{font-size:15px;font-weight:800;letter-spacing:-.3px}
.logo-tag{font-size:10px;color:var(--text3);margin-top:1px}

.sidebar-user{
  padding:14px 16px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:10px;
}
.user-avatar{
  width:34px;height:34px;border-radius:50%;background:var(--accent-glow);
  border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;color:var(--accent);flex-shrink:0;
}
.user-name{font-size:13px;font-weight:600;line-height:1.2}
.user-role{font-size:11px;color:var(--text3)}

.sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}
.nav-section{font-size:10px;font-weight:700;color:var(--text4);text-transform:uppercase;letter-spacing:.8px;padding:10px 10px 4px}
.nav-item{
  display:flex;align-items:center;gap:9px;padding:9px 12px;
  border-radius:8px;cursor:pointer;color:var(--text2);
  font-size:13px;font-weight:500;transition:all .15s;
  border:none;background:none;width:100%;text-align:left;
}
.nav-item:hover{background:var(--surface2);color:var(--text)}
.nav-item.active{background:var(--accent-glow);color:var(--accent);font-weight:600}
.nav-item .ni{font-size:16px;width:20px;text-align:center;flex-shrink:0}

.sidebar-footer{padding:14px;border-top:1px solid var(--border)}
.month-label{font-size:10px;color:var(--text3);margin-bottom:5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.month-selector{
  background:var(--surface2);border:1px solid var(--border2);border-radius:8px;
  padding:8px 10px;color:var(--text);font-family:'Inter',sans-serif;font-size:13px;width:100%;cursor:pointer;
}

.main{margin-left:220px;min-height:100vh;display:flex;flex-direction:column}
.topbar{
  background:var(--surface);border-bottom:1px solid var(--border);
  padding:0 24px;height:58px;display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:90;
}
.topbar-left{display:flex;align-items:center;gap:12px}
.topbar-title{font-size:15px;font-weight:700}
.month-badge{
  background:var(--accent-glow);color:var(--accent);
  border:1px solid rgba(79,110,247,.2);padding:3px 11px;
  border-radius:20px;font-size:11px;font-weight:700;
}
.topbar-right{display:flex;gap:8px;align-items:center}
.hamburger{display:none;background:none;border:none;color:var(--text);font-size:22px;cursor:pointer;padding:4px}

.content{padding:24px;flex:1}

/* ─── VIEWS ─── */
.view{display:none}
.view.active{display:block}

/* ─── STATS ─── */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.stat-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);padding:20px;
  position:relative;overflow:hidden;
}
.stat-card::before{content:'';position:absolute;top:0;right:0;width:80px;height:80px;border-radius:50%;opacity:.06;transform:translate(20px,-20px)}
.stat-blue::before{background:var(--accent)}
.stat-green::before{background:var(--green)}
.stat-yellow::before{background:var(--yellow)}
.stat-red::before{background:var(--red)}
.stat-purple::before{background:var(--purple)}
.stat-label{font-size:11px;color:var(--text3);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.stat-value{font-size:30px;font-weight:800;font-family:'JetBrains Mono',monospace;line-height:1}
.stat-sub{font-size:11px;color:var(--text3);margin-top:6px}
.stat-blue .stat-value{color:var(--accent)}
.stat-green .stat-value{color:var(--green)}
.stat-yellow .stat-value{color:var(--yellow)}
.stat-red .stat-value{color:var(--red)}
.stat-purple .stat-value{color:var(--purple)}

/* ─── SECTION ─── */
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:10px}
.section-title{font-size:14px;font-weight:700}
.action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

.search-input{
  background:var(--surface2);border:1px solid var(--border2);border-radius:8px;
  padding:8px 12px;color:var(--text);font-family:'Inter',sans-serif;font-size:13px;
  width:220px;outline:none;
}
.search-input:focus{border-color:var(--accent)}
.search-input::placeholder{color:var(--text3)}
.filter-select{
  background:var(--surface2);border:1px solid var(--border2);border-radius:8px;
  padding:8px 10px;color:var(--text);font-family:'Inter',sans-serif;font-size:13px;cursor:pointer;
}

/* ─── TABLE ─── */
.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);overflow:hidden}
table{width:100%;border-collapse:collapse}
thead{background:var(--surface2)}
th{padding:11px 16px;text-align:left;font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--border)}
td{padding:13px 16px;font-size:13px;border-bottom:1px solid var(--border);vertical-align:middle}
tr:last-child td{border-bottom:none}
tbody tr:hover td{background:rgba(255,255,255,.015);cursor:pointer}

/* ─── BADGES ─── */
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700}
.badge-green{background:var(--green-dim);color:var(--green)}
.badge-yellow{background:var(--yellow-dim);color:var(--yellow)}
.badge-red{background:var(--red-dim);color:var(--red)}
.badge-blue{background:var(--accent-glow);color:var(--accent)}
.badge-purple{background:var(--purple-dim);color:var(--purple)}

/* ─── PROGRESS ─── */
.progress-bar{width:100%;height:5px;background:var(--surface3);border-radius:3px;overflow:hidden;margin-top:4px}
.progress-fill{height:100%;border-radius:3px;transition:width .3s}
.progress-text{font-size:11px;color:var(--text3)}

/* ─── MODAL ─── */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:500;display:none;align-items:center;justify-content:center;padding:20px}
.overlay.open{display:flex}
.modal{background:var(--surface);border:1px solid var(--border2);border-radius:var(--rl);width:100%;max-width:540px;max-height:92vh;overflow-y:auto;display:flex;flex-direction:column}
.modal-lg{max-width:920px}
.modal-xl{max-width:1100px}
.modal-header{padding:18px 22px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--surface);z-index:10}
.modal-title{font-size:15px;font-weight:700}
.modal-close{background:none;border:none;color:var(--text3);cursor:pointer;font-size:20px;line-height:1;padding:3px 7px;border-radius:5px}
.modal-close:hover{color:var(--text);background:var(--surface2)}
.modal-body{padding:22px}
.modal-footer{padding:14px 22px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;background:var(--surface);position:sticky;bottom:0}

/* ─── TABS ─── */
.tabs{display:flex;gap:2px;padding:0 22px;border-bottom:1px solid var(--border);background:var(--surface)}
.tab{padding:11px 16px;font-size:13px;font-weight:500;color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}
.tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.tab:hover:not(.active){color:var(--text)}

/* ─── DOC CARDS ─── */
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.doc-card{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:13px;transition:border-color .15s}
.doc-card.received{border-color:var(--green-border);background:rgba(34,197,94,.03)}
.doc-card.pending{border-color:var(--red-border);background:rgba(239,68,68,.03)}
.doc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.doc-name{font-size:12px;font-weight:700;flex:1;line-height:1.3}
.doc-check{width:22px;height:22px;border:2px solid var(--border2);border-radius:50%;flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-size:12px}
.doc-check.done{background:var(--green);border-color:var(--green);color:#fff}
.doc-meta{font-size:11px;color:var(--text3);margin-top:4px}
.doc-obs{font-size:11px;color:var(--text2);background:var(--surface3);border-radius:6px;padding:5px 8px;margin-top:5px}
.doc-actions{display:flex;gap:4px;margin-top:8px}

/* ─── HISTORY ─── */
.history-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.history-item:last-child{border-bottom:none}
.history-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:5px}
.history-content{flex:1}
.history-action{font-size:13px;font-weight:500}
.history-meta{font-size:11px;color:var(--text3);margin-top:2px}

/* ─── APONTAMENTO ─── */
.apon-table-wrap{overflow-x:auto;margin-top:16px}
.apon-table{width:100%;border-collapse:collapse;font-size:12px;min-width:1200px}
.apon-table th{background:var(--surface3);padding:8px 6px;text-align:center;font-size:10px;font-weight:700;color:var(--text3);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.4px}
.apon-table th.col-name{text-align:left;min-width:180px}
.apon-table td{padding:6px;border:1px solid var(--border);text-align:center;background:var(--surface)}
.apon-table td.col-name{text-align:left;background:var(--surface2);font-weight:600;padding:6px 10px}
.apon-table td.col-salary{background:var(--surface2);font-family:'JetBrains Mono',monospace;font-size:11px}
.day-cell{
  width:28px;min-width:28px;max-width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;border-radius:4px;cursor:pointer;
  user-select:none;transition:all .1s;margin:auto;
}
.day-P{background:var(--green-dim);color:var(--green)}
.day-S{background:var(--surface3);color:var(--text3)}
.day-D{background:var(--surface3);color:var(--text3)}
.day-FE{background:rgba(168,85,247,.15);color:var(--purple)}
.day-AT{background:var(--yellow-dim);color:var(--yellow)}
.day-FT{background:var(--red-dim);color:var(--red)}
.day-AF{background:var(--red-dim);color:var(--red)}
.day-PF{background:rgba(168,85,247,.1);color:var(--purple)}
.day-DC{background:var(--yellow-dim);color:var(--yellow)}
.day-empty{background:var(--surface3);color:var(--text4)}

.apon-total{background:var(--surface2)!important;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700}
.apon-money{color:var(--green);font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700}
.apon-glosa{color:var(--red);font-family:'JetBrains Mono',monospace;font-size:11px}

.resumo-box{
  background:var(--surface);border:1px solid var(--border2);border-radius:var(--rl);
  padding:20px;margin-top:20px;
}
.resumo-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}
.resumo-row:last-child{border-bottom:none}
.resumo-label{color:var(--text2)}
.resumo-value{font-family:'JetBrains Mono',monospace;font-weight:700}
.resumo-total{font-size:16px;font-weight:800;color:var(--green)}
.resumo-deducao{color:var(--red)}
.resumo-section{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;padding:12px 0 4px}

/* ─── PASTE AREA ─── */
.paste-area{
  background:var(--surface2);border:2px dashed var(--border2);border-radius:10px;
  padding:16px;font-size:13px;color:var(--text2);
  width:100%;font-family:'JetBrains Mono',monospace;
  resize:vertical;min-height:60px;outline:none;
}
.paste-area:focus{border-color:var(--accent)}
.paste-hint{font-size:11px;color:var(--text3);margin-top:6px}

/* ─── FATURAMENTO ─── */
.nfs-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);
  padding:16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;
}
.nfs-info{flex:1;min-width:200px}
.nfs-cliente{font-size:14px;font-weight:700}
.nfs-meta{font-size:12px;color:var(--text3);margin-top:3px}
.nfs-values{display:flex;gap:24px;align-items:center}
.nfs-val{text-align:right}
.nfs-val-label{font-size:10px;color:var(--text3);font-weight:600;text-transform:uppercase}
.nfs-val-num{font-size:16px;font-weight:800;font-family:'JetBrains Mono',monospace}
.nfs-bruto .nfs-val-num{color:var(--text2)}
.nfs-liquido .nfs-val-num{color:var(--green)}

.total-card{
  background:linear-gradient(135deg,var(--surface2),var(--surface3));
  border:1px solid var(--border2);border-radius:var(--rl);padding:24px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;
  margin-bottom:20px;
}
.total-label{font-size:12px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.5px}
.total-value{font-size:36px;font-weight:800;font-family:'JetBrains Mono',monospace;color:var(--green)}

/* ─── USUARIOS ─── */
.user-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);
  padding:16px;display:flex;align-items:center;gap:14px;
}
.user-card-avatar{width:42px;height:42px;border-radius:50%;background:var(--accent-glow);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:var(--accent);flex-shrink:0}
.user-card-info{flex:1}
.user-card-name{font-size:14px;font-weight:700}
.user-card-email{font-size:12px;color:var(--text3);margin-top:2px}
.user-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}

/* ─── EMPTY ─── */
.empty{padding:60px 20px;text-align:center;color:var(--text3)}
.empty-icon{font-size:42px;margin-bottom:12px;opacity:.7}
.empty-title{font-size:15px;font-weight:700;color:var(--text2);margin-bottom:6px}
.empty-sub{font-size:13px}

/* ─── TOAST ─── */
.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{background:var(--surface);border:1px solid var(--border2);border-radius:10px;padding:12px 16px;font-size:13px;box-shadow:0 8px 32px rgba(0,0,0,.5);animation:toastIn .2s ease;display:flex;align-items:center;gap:8px;min-width:260px}
@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ─── RESPONSIVE ─── */
@media(max-width:1000px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:translateX(0)}
  .main{margin-left:0}
  .stats-grid{grid-template-columns:1fr 1fr}
  .hamburger{display:block}
}
@media(max-width:600px){
  .stats-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .content{padding:14px}
}

/* ─── MISC ─── */
.divider{height:1px;background:var(--border);margin:16px 0}
.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:5px;font-size:11px;font-weight:600;background:var(--surface3);color:var(--text2)}
.mono{font-family:'JetBrains Mono',monospace}
.text-green{color:var(--green)}
.text-red{color:var(--red)}
.text-yellow{color:var(--yellow)}
.text-accent{color:var(--accent)}
.fw7{font-weight:700}
.mt8{margin-top:8px}
.mt16{margin-top:16px}
.gap8{gap:8px}

.doc-config-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s}
.doc-config-item:hover{border-color:var(--accent)}
.doc-config-item.selected{border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.04)}
.doc-config-item input[type=checkbox]{accent-color:var(--green);width:14px;height:14px;flex-shrink:0}
.doc-config-label{font-size:12px;font-weight:600;flex:1}
.doc-config-custom{font-size:10px;color:var(--accent)}
.competencia-badge{background:var(--accent-glow);border:1px solid rgba(79,110,247,.2);border-radius:8px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:8px}


/* ─── COMPETÊNCIAS ─── */
.comp-status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;cursor:pointer;transition:all .15s}
.comp-aberta{background:rgba(100,116,139,.15);color:var(--text2)}
.comp-andamento{background:var(--yellow-dim);color:var(--yellow)}
.comp-consolidada{background:var(--green-dim);color:var(--green)}
.comp-encerrada{background:var(--accent-glow);color:var(--accent)}
.comp-faturada{background:rgba(168,85,247,.12);color:var(--purple)}
.client-status-ativo{color:var(--green)}
.client-status-inativo{color:var(--red)}
.client-status-suspenso{color:var(--yellow)}
.comp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:16px}
.comp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);padding:16px;transition:border-color .2s}
.comp-card:hover{border-color:var(--border2)}
.comp-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.comp-card-title{font-size:13px;font-weight:700}
.comp-card-stats{display:flex;gap:12px;font-size:11px;color:var(--text3)}
.comp-card-stat{text-align:center}
.comp-card-stat-val{font-size:16px;font-weight:800;font-family:'JetBrains Mono',monospace;display:block}
/* ─── MOBILE BOTTOM NAV ─── */
.mobile-nav{
  display:none;
  position:fixed;bottom:0;left:0;right:0;
  background:var(--surface);
  border-top:1px solid var(--border);
  z-index:200;
  padding:6px 0 max(6px, env(safe-area-inset-bottom));
  display:none;
}
.mobile-nav-item{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;
  background:none;border:none;color:var(--text3);cursor:pointer;
  padding:4px 0;font-family:'Inter',sans-serif;
  transition:color .15s;
}
.mobile-nav-item.active{color:var(--accent)}
.mobile-nav-item:active{opacity:.7}
.mobile-nav-icon{font-size:20px;line-height:1}
.mobile-nav-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}
@media(max-width:768px){
  .mobile-nav{display:flex}
  .sidebar{display:none!important}
  .main{margin-left:0;padding-bottom:70px}
  .hamburger{display:none}
  .topbar{padding:0 14px}
}


/* ─── MOBILE BOTTOM NAV ─── */
.mobile-bottom-nav{display:none}
@media(max-width:768px){
  .mobile-bottom-nav{
    display:flex;position:fixed;bottom:0;left:0;right:0;
    background:var(--surface);border-top:1px solid var(--border);
    z-index:300;padding:4px 0;
    padding-bottom:max(4px,env(safe-area-inset-bottom));
  }
  .mbn-item{
    flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;
    background:none;border:none;color:var(--text3);cursor:pointer;
    padding:4px 2px;font-family:'Inter',sans-serif;
    -webkit-tap-highlight-color:transparent;
  }
  .mbn-item.active{color:var(--accent)}
  .mbn-item:active{opacity:.6}
  .mbn-icon{font-size:18px;line-height:1.2}
  .mbn-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.2px}
  .sidebar{display:none!important}
  .hamburger{display:none!important}
  .main{margin-left:0;padding-bottom:65px}
  .topbar-right .btn-ghost{display:none!important}
}

@media(max-width:480px){
  .stats-grid{grid-template-columns:1fr}
  .doc-grid{grid-template-columns:1fr}
  .topbar-right .btn-primary{font-size:11px;padding:5px 8px}
  th,td{padding:7px 6px;font-size:11px}
  .btn-xs{padding:3px 6px;font-size:10px}
  .modal-body{padding:14px}
  .modal-footer{padding:10px 14px;flex-wrap:wrap}
  .login-box{padding:24px 20px}
}

/* ---- Adições para a versão PHP multi-página (não existiam no SPA original) ---- */
.app-shell{display:flex;min-height:100vh;}
.main-area{flex:1;display:flex;flex-direction:column;min-width:0;}
.sidebar{display:flex;flex-direction:column;}
.sidebar-brand{padding:18px 16px;font-weight:800;font-size:16px;border-bottom:1px solid var(--border);}
.sidebar-brand span{color:var(--accent);}
.sidebar-nav a{display:block;padding:10px 12px;border-radius:8px;color:inherit;text-decoration:none;font-size:14px;opacity:.8;}
.sidebar-nav a:hover{background:var(--surface2);opacity:1;}
.sidebar-nav a.active{background:var(--accent);color:#fff;opacity:1;}
.topbar-user{display:flex;align-items:center;gap:14px;font-size:13px;}
.btn-logout{color:inherit;text-decoration:none;border:1px solid var(--border2);padding:6px 12px;border-radius:8px;}
.btn-logout:hover{background:var(--surface2);}
.alert{padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:13px;}
.alert-ok{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.4);color:#4ade80;}
.alert-erro{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.4);color:#f87171;}
.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:20px;}
table.data-table{width:100%;border-collapse:collapse;font-size:13px;}
table.data-table th{text-align:left;padding:10px;border-bottom:1px solid var(--border2);opacity:.7;font-weight:600;}
table.data-table td{padding:10px;border-bottom:1px solid var(--border);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-grid label{display:block;font-size:12px;margin-bottom:5px;opacity:.8;}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:inherit;box-sizing:border-box;}
.btn{display:inline-block;padding:8px 16px;border-radius:8px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer;text-decoration:none;font-size:13px;}
.btn:hover{background:var(--accent2);}
.btn-danger{background:#ef4444;}
.btn-secondary{background:var(--surface3);color:inherit;border:1px solid var(--border2);}
