:root{--dark:#111827;--muted:#64748b;--line:#dbe5f1;--blue:#0ea5e9;--deep:#475569;--red:#e11d48;--bg:#eaf2fa;--green:#16a34a;--yellow:#f59e0b}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:#1f2937}.sidebar{position:fixed;left:0;top:0;bottom:0;width:248px;background:#111827;color:#d8e1ec}.logo{height:72px;display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid #253044}.logo span{background:#fff;color:#0369a1;border-radius:10px;padding:8px}.menu a{display:flex;align-items:center;gap:11px;color:#d8e1ec;text-decoration:none;padding:14px 22px;margin:4px 14px;border-radius:7px}.menu a.active,.menu a:hover{background:#293244;color:#fff;font-weight:700}.topbar{height:73px;margin-left:248px;background:#fff;border-bottom:1px solid #d6e0ec;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.hamb{border:1px solid #d6e0ec;border-radius:13px;width:42px;height:42px;display:grid;place-items:center}.top-title{text-align:center;font-weight:700}.top-sub{font-size:13px;color:#52698a;margin-top:5px}.user{font-weight:700;color:#27364a}.main{margin-left:248px;padding:36px 25px}.panel{background:#fff;border:1px solid #d6e0ec;border-radius:13px;padding:20px;margin-bottom:16px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:12px 0}.card{background:#fff;border:1px solid #d6e0ec;border-radius:13px;padding:15px 18px;display:flex;align-items:center;gap:14px;min-height:73px}.ico{width:43px;height:43px;border-radius:12px;background:#dff2ff;display:grid;place-items:center;color:#0284c7;font-size:21px}.card h3{margin:0;font-size:22px}.card p{margin:4px 0 0;color:#5b6d89;text-transform:uppercase;font-size:12px;font-weight:700}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 150px 150px;gap:10px;background:#fff;border:1px solid #d6e0ec;border-radius:13px;padding:12px;margin:14px 0}input,select,textarea{width:100%;border:1px solid #cfd9e7;border-radius:10px;padding:11px 13px;font-size:14px;background:#fff}label{font-weight:700;font-size:12px;margin:6px 0 6px;display:block}.btn{border:0;border-radius:8px;padding:11px 16px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px;justify-content:center}.primary{background:#15a7df;color:#fff}.dark{background:#475569;color:#fff}.danger{background:#e11d48;color:#fff}.okbtn{background:#16a34a;color:#fff}.full{width:100%}.table{width:100%;border-collapse:collapse}.table th{background:#f3f6fa;text-align:left;color:#40516b;padding:13px;font-size:14px}.table td{border-top:1px solid #dce5ef;padding:13px;vertical-align:middle}.badge{background:#dff2ff;color:#0076b6;border-radius:14px;padding:7px 11px;font-weight:700;font-size:12px}.badge.red{background:#fee2e2;color:#b91c1c}.badge.green{background:#dcfce7;color:#166534}.badge.yellow{background:#fef3c7;color:#92400e}.actions{display:flex;gap:6px}.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:10;align-items:flex-start;justify-content:center;padding-top:26px}.modal.show{display:flex}.modal-box{background:#fff;width:980px;max-width:95vw;border-radius:14px;box-shadow:0 20px 45px rgba(0,0,0,.35);max-height:92vh;overflow:hidden}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid #dce5ef}.modal-body{padding:18px;overflow:auto;max-height:72vh}.modal-foot{padding:12px 18px;border-top:1px solid #dce5ef;text-align:right}.close{background:#e8eef6;border:0;border-radius:9px;font-size:24px;width:36px;height:36px}.tabs{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.tab{background:#edf4ff;color:#173b85;border:1px solid #cfe0ff;border-radius:10px;padding:9px 14px;font-weight:700}.tab.active{background:#075a9c;color:#fff}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.install,.login{background:linear-gradient(135deg,#0f243e,#0b87bb);height:100vh;display:grid;place-items:center}.install-card,.login-card{background:white;border-radius:22px;padding:32px;width:390px;box-shadow:0 20px 45px rgba(0,0,0,.25)}.brand{font-size:30px}.alert{padding:11px;border-radius:10px;margin:10px 0}.bad{background:#fee2e2;color:#991b1b}.ok{background:#dcfce7;color:#166534}.zap{background:#22c55e;color:#fff}.small{font-size:12px;color:#64748b}@media(max-width:900px){.sidebar{width:0;overflow:hidden}.topbar,.main{margin-left:0}.cards{grid-template-columns:1fr}.filters,.grid2,.grid3{grid-template-columns:1fr}}


/* ===== Responsivo completo para celular/tablet ===== */
.mobile-overlay{display:none}
.hamb{background:#fff;color:#263246;cursor:pointer;font-size:20px}
.table-wrap{width:100%;overflow-x:auto;border-radius:12px}
img,video,iframe{max-width:100%;height:auto}
.modal input,.modal select,.modal textarea{font-size:16px}
@media(max-width:1100px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .filters{grid-template-columns:1fr 1fr}
  .topbar{padding:0 18px}
  .main{padding:22px 18px}
}
@media(max-width:760px){
  body{background:#f1f6fb;overflow-x:hidden}
  .sidebar{width:272px;transform:translateX(-105%);transition:.25s ease;width:272px!important;overflow:auto;z-index:40;box-shadow:16px 0 35px rgba(15,23,42,.25)}
  body.sidebar-open .sidebar{transform:translateX(0)}
  body.sidebar-open .mobile-overlay{display:block;position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:35}
  .topbar{height:auto;min-height:66px;margin-left:0;gap:10px;padding:10px 12px;position:sticky;top:0;z-index:30;align-items:center}
  .hamb{flex:0 0 42px;display:grid;place-items:center;padding:0;border:1px solid #d6e0ec;border-radius:13px;width:42px;height:42px}
  .topbar>div:nth-child(2){min-width:0;flex:1}.top-title{text-align:left;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-sub{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user{display:none}
  .main{margin-left:0;padding:14px 10px 26px}.panel{padding:14px;border-radius:14px;margin-bottom:12px}.panel h2{font-size:20px;margin:4px 0 12px}
  .cards{grid-template-columns:1fr;gap:10px}.card{min-height:auto;padding:12px}.ico{width:39px;height:39px;font-size:18px}.card h3{font-size:20px}.card p{font-size:11px}
  .filters{grid-template-columns:1fr!important;gap:9px;padding:10px;background:#f8fbff}.filters .btn,.filters a,.filters button{width:100%}
  input,select,textarea{font-size:16px;padding:11px 12px}.btn{width:auto;min-height:40px;padding:10px 12px;font-size:14px}.actions{gap:7px;flex-wrap:wrap}.actions .btn,.actions a,.actions button{flex:1 1 92px;min-width:92px}
  .table{display:block;width:100%;border-collapse:separate;border-spacing:0}.table tbody,.table tr,.table td{display:block;width:100%}.table tr:first-child{display:none}.table tr{background:#fff;border:1px solid #dbe5f1;border-radius:13px;margin:10px 0;padding:8px;box-shadow:0 3px 10px rgba(15,23,42,.04)}.table td{border-top:0!important;border-bottom:1px solid #edf2f7;padding:8px 6px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;text-align:right}.table td:last-child{border-bottom:0}.table td:before{content:attr(data-label);font-weight:700;color:#40516b;text-align:left;min-width:105px}.table td.actions{display:flex;text-align:left}.table td.actions:before{display:none}.badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px}
  .modal{align-items:flex-start;padding:8px;z-index:80}.modal-box{width:100%!important;max-width:100%!important;max-height:calc(100vh - 16px);border-radius:14px;display:flex;flex-direction:column}.modal-head{padding:13px 14px}.modal-head h2{font-size:18px;margin:0}.modal-body{padding:12px;max-height:none;flex:1;overflow:auto;-webkit-overflow-scrolling:touch}.modal-foot{padding:10px 12px;display:flex;gap:8px;justify-content:stretch}.modal-foot .btn,.modal-foot button{flex:1}.close{width:38px;height:38px;flex:0 0 38px}.tabs{gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.tab{white-space:nowrap;padding:8px 11px;font-size:13px}.grid2,.grid3{grid-template-columns:1fr!important;gap:8px}
  .install,.login{min-height:100vh;height:auto;padding:18px}.install-card,.login-card{width:100%;max-width:430px;padding:24px;border-radius:18px}.brand{font-size:24px}
}
@media(max-width:380px){.main{padding-left:7px;padding-right:7px}.panel{padding:11px}.btn{font-size:13px}.actions .btn,.actions a,.actions button{min-width:100%}.table td{display:block;text-align:left}.table td:before{display:block;margin-bottom:4px}}


/* ===== Login 100% mobile ===== */
.login{min-height:100vh;height:auto;padding:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f243e,#0b87bb);}
.login-card{width:100%;max-width:420px;margin:auto;}
.login-card h1{font-size:28px;line-height:1.15;margin:10px 0 18px;}
.login-card form{display:block;}
.login-card input{font-size:16px;margin-bottom:10px;}
.login-card .btn{min-height:46px;font-size:15px;}
.login-card p{font-size:13px;color:#64748b;text-align:center;margin:14px 0 0;}
@media(max-width:760px){
  .login{padding:16px;align-items:center;justify-content:center;}
  .login-card{max-width:100%;padding:24px 18px;border-radius:18px;}
  .login-card h1{font-size:23px;text-align:center;}
  .login-card .brand{text-align:center;font-size:34px;}
  .login-card label{font-size:13px;}
  .login-card input{height:46px;}
  .login-card .alert{font-size:14px;}
}
@media(max-width:360px){
  .login{padding:10px;}
  .login-card{padding:20px 14px;}
  .login-card h1{font-size:21px;}
}


/* ===== Ajustes v16: modais fixos, listas zebrada, filtros e botões ===== */
.modal{align-items:center;padding:18px;}
.modal-box{width:1040px;max-width:96vw;height:86vh;max-height:86vh;display:flex;flex-direction:column;overflow:hidden;}
.modal-body{flex:1;min-height:0;max-height:none;overflow:auto;}
.modal-foot{flex:0 0 auto;}
[data-tab]{min-height:440px;}
.table tr:nth-child(even) td{background:#f8fbff;}
.table tr:hover td{background:#eef6ff;}
.table th{position:sticky;top:0;z-index:1;}
.actions{align-items:center;flex-wrap:wrap;}
.actions .btn{min-width:86px;padding:9px 11px;font-size:13px;}
.btn.print{background:#f59e0b;color:#111827;border:1px solid #d97706;}
.btn.zap,.zap{background:#16a34a;color:#fff;}
.btn.autozap{background:#059669;color:#fff;}
.btn.warn{background:#f59e0b;color:#111827;}
.filters{grid-template-columns:2fr 1fr 1fr 150px 150px 130px 130px;align-items:end;}
.filters label{margin:0 0 5px;}
.filters .field{display:block;}
.dashboard-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px;}
.metric-note{background:#dff2ff;border:1px solid #b7dcff;color:#075985;border-radius:12px;padding:12px;margin:12px 0;font-weight:700;}
@media(max-width:1050px){.dashboard-grid{grid-template-columns:1fr}.modal-box{width:96vw}}
@media(max-width:760px){.modal{align-items:flex-start;padding:8px}.modal-box{height:calc(100vh - 16px);max-height:calc(100vh - 16px)}[data-tab]{min-height:360px}.table tr:nth-child(even) td{background:transparent}.table tr:nth-child(even){background:#f8fbff}.table th{position:static}.actions .btn{min-width:100%}.filters{grid-template-columns:1fr!important}}


/* ===== Ajustes v17: filtros proporcionais, botoes brancos e status em dia ===== */
.filters{
  display:flex!important;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:10px;
  background:#fff;
}
.filters .field{flex:1 1 165px;min-width:155px;}
.filters .field:first-child{flex:2 1 280px;}
.filters .btn,.filters button,.filters a{
  width:auto!important;
  flex:0 0 auto;
  min-width:104px;
  height:40px;
  padding:0 16px;
  border-radius:8px;
  background:#fff!important;
  color:#334155!important;
  border:1px solid #cfd9e7!important;
  box-shadow:none!important;
}
.filters .btn.primary,.filters button.primary,.filters a.primary{
  background:#15a7df!important;
  color:#fff!important;
  border-color:#15a7df!important;
}
.filters .btn.zap,.filters button.zap,.filters a.zap{
  background:#22c55e!important;
  color:#fff!important;
  border-color:#22c55e!important;
}
.filters .print{background:#fff!important;color:#334155!important;border:1px solid #cfd9e7!important;}
.badge.emdia{background:#dcfce7;color:#166534;}
.actions .btn{min-width:92px;min-height:38px;padding:9px 12px;}
@media(max-width:760px){
  .filters{display:grid!important;grid-template-columns:1fr!important;}
  .filters .field,.filters .field:first-child{min-width:0;flex:unset;}
  .filters .btn,.filters button,.filters a{width:100%!important;min-width:0;}
}

/* ===== Ajustes v18: botões coloridos e status success ===== */
.filters{
  display:flex!important;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:10px;
  background:#fff;
}
.filters .field{flex:1 1 165px;min-width:155px;}
.filters .field:first-child{flex:2 1 280px;}
.filters .btn,.filters button,.filters a{
  width:auto!important;
  flex:0 0 auto;
  min-width:108px;
  height:40px;
  padding:0 16px;
  border-radius:8px;
  color:#fff!important;
  border:0!important;
  box-shadow:none!important;
}
.filters .btn.dark,.filters button.dark,.filters a.dark{background:#475569!important;color:#fff!important;}
.filters .btn.primary,.filters button.primary,.filters a.primary{background:#0ea5e9!important;color:#fff!important;}
.filters .btn.print,.filters button.print,.filters a.print,.filters .print{background:#f59e0b!important;color:#fff!important;}
.filters .btn.zap,.filters button.zap,.filters a.zap{background:#16a34a!important;color:#fff!important;}
.filters .btn.autozap,.filters button.autozap,.filters a.autozap{background:#ef4444!important;color:#fff!important;}
.filters .btn.garantia,.filters button.garantia,.filters a.garantia{background:#8b5cf6!important;color:#fff!important;}
.filters .btn:hover,.filters button:hover,.filters a:hover{filter:brightness(.94);}
.btn.print{background:#f59e0b!important;color:#fff!important;border:0!important;}
.btn.garantia{background:#8b5cf6!important;color:#fff!important;border:0!important;}
.btn.autozap{background:#ef4444!important;color:#fff!important;border:0!important;}
.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 12px;font-weight:800;font-size:12px;border:1px solid transparent;line-height:1;white-space:nowrap;}
.badge.emdia,.badge.green,.badge.success{background:#bbf7d0!important;color:#065f46!important;border-color:#22c55e!important;}
.badge.red,.badge.danger{background:#fee2e2!important;color:#991b1b!important;border-color:#ef4444!important;}
.badge.yellow,.badge.warn{background:#fef3c7!important;color:#92400e!important;border-color:#f59e0b!important;}
.badge.blue,.badge.info{background:#dbeafe!important;color:#1e40af!important;border-color:#3b82f6!important;}
.table tr:nth-child(even) td{background:#f8fbff!important;}
.table tr:hover td{background:#eef6ff!important;}
@media(max-width:760px){
  .filters{display:grid!important;grid-template-columns:1fr!important;}
  .filters .field,.filters .field:first-child{min-width:0;flex:unset;}
  .filters .btn,.filters button,.filters a{width:100%!important;min-width:0;}
}


/* ===== Ajustes v25: nome Paulo Dias abaixo do sistema ===== */
.logo{align-items:center;}
.logo-text{display:flex;flex-direction:column;line-height:1.08;}
.logo-text b{font-size:16px;font-weight:800;color:#f8fafc;}
.logo-text strong{font-size:13px;font-weight:800;color:rgba(248,250,252,.82);letter-spacing:.2px;margin-top:3px;}
.login-card{text-align:left;}
.login-card .brand{text-align:center;}
.login-card h1{text-align:center;margin-bottom:4px;}
.login-owner{text-align:center;font-size:22px;line-height:1.1;font-weight:800;color:#334155;margin:0 0 20px;}
@media(max-width:760px){
  .logo-text b{font-size:16px;}
  .logo-text strong{font-size:12.5px;}
  .login-owner{font-size:18px;margin-bottom:18px;}
}

/* ===== v26: módulo de backups diários ===== */
.backup-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0;align-items:center;}
.backup-alert-modal{z-index:120!important;}
.backup-alert-box{width:560px!important;max-width:94vw!important;height:auto!important;max-height:88vh!important;}
.backup-alert-box .modal-body{text-align:center;overflow:visible;}
.backup-alert-icon{width:72px;height:72px;border-radius:22px;background:#e0f2fe;color:#0369a1;display:grid;place-items:center;font-size:36px;margin:8px auto 12px;}
.backup-alert-box h3{font-size:24px;margin:6px 0;color:#1f2937;}
.backup-alert-box p{color:#64748b;line-height:1.45;margin:0 auto 12px;max-width:430px;}
@media(max-width:760px){.backup-actions .btn{width:100%;}.backup-alert-box h3{font-size:20px}.backup-alert-box .modal-foot{display:grid;grid-template-columns:1fr;}.backup-alert-box .modal-foot .btn{width:100%;}}
