/* ===== TI ARTEK — Tema visual compartilhado ===== */
:root{
  --azul:#0e4ead; --azul-esc:#0a3a84; --azul-cla:#2563eb; --ciano:#38bdf8;
  --grad:linear-gradient(135deg,#0e4ead 0%,#2563eb 55%,#38bdf8 100%);
  --grad-esc:linear-gradient(135deg,#0a2a5e 0%,#0e4ead 100%);
  --tinta:#0f172a; --cinza:#64748b; --cinza-cla:#94a3b8;
  --borda:#e2e8f0; --fundo:#f1f5f9; --branco:#ffffff;
  --ok:#16a34a; --okbg:#dcfce7; --alerta:#d97706; --alertabg:#fef3c7;
  --erro:#dc2626; --errobg:#fee2e2; --info:#0369a1; --infobg:#e0f2fe;
  --roxo:#7c3aed; --roxobg:#ede9fe;
  --sombra:0 1px 3px rgba(15,23,42,.08),0 1px 2px rgba(15,23,42,.06);
  --sombra-md:0 4px 16px rgba(15,23,42,.10);
  --sombra-lg:0 12px 40px rgba(14,78,173,.18);
  --r:14px; --r-sm:10px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--tinta);background:var(--fundo);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none}
input,select,textarea{font-family:inherit;font-size:15px}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--r-sm);font-weight:700;font-size:15px;transition:.18s;white-space:nowrap}
.btn-pri{background:var(--grad);color:#fff;box-shadow:var(--sombra-md)}
.btn-pri:hover{filter:brightness(1.07);transform:translateY(-1px)}
.btn-zap{background:#25d366;color:#fff}
.btn-zap:hover{filter:brightness(1.05);transform:translateY(-1px)}
.btn-gho{background:#fff;color:var(--azul);border:1.5px solid var(--borda)}
.btn-gho:hover{border-color:var(--azul);background:#f8fafc}
.btn-sm{padding:7px 14px;font-size:13px;border-radius:8px}
.btn-dan{background:var(--errobg);color:var(--erro)}
.btn-dan:hover{background:#fecaca}
.btn-ico{padding:8px;width:34px;height:34px;border-radius:8px;background:transparent;color:var(--cinza);display:inline-flex;align-items:center;justify-content:center}
.btn-ico:hover{background:var(--fundo);color:var(--azul)}
.btn-ico.zap{color:#25d366} .btn-ico.zap:hover{background:#dcfce7;color:#1eae56}
.ico-svg{display:inline-block;vertical-align:middle;flex:0 0 auto}
.btn .ico-svg{margin-top:-1px}
.alert-box .ico-svg{flex:0 0 auto}
.kpi .ic .ico-svg,.list-row .av .ico-svg{display:block}

/* Chips / badges */
.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:700}
.b-novo{background:var(--infobg);color:var(--info)}
.b-contato{background:var(--roxobg);color:var(--roxo)}
.b-orcado{background:var(--alertabg);color:var(--alerta)}
.b-aprov{background:var(--okbg);color:var(--ok)}
.b-exec{background:#dbeafe;color:var(--azul-cla)}
.b-concl{background:#e2e8f0;color:var(--cinza)}
.b-perd,.b-recus{background:var(--errobg);color:var(--erro)}
.b-pago{background:var(--okbg);color:var(--ok)}
.b-pend{background:var(--alertabg);color:var(--alerta)}
.b-atraso{background:var(--errobg);color:var(--erro)}
.b-ativa{background:var(--okbg);color:var(--ok)}
.b-vencer{background:var(--alertabg);color:var(--alerta)}
.b-vencida{background:var(--errobg);color:var(--erro)}

/* Cards */
.card{background:#fff;border:1px solid var(--borda);border-radius:var(--r);box-shadow:var(--sombra)}
.card-pad{padding:22px}

/* Form */
.campo{margin-bottom:16px}
.campo label{display:block;font-size:13px;font-weight:700;color:#334155;margin-bottom:6px}
.campo .req{color:var(--erro)}
.inp{width:100%;padding:11px 13px;border:1.5px solid var(--borda);border-radius:var(--r-sm);background:#fff;transition:.15s;color:var(--tinta)}
.inp:focus{outline:none;border-color:var(--azul-cla);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
textarea.inp{resize:vertical;min-height:90px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media(max-width:640px){.grid2,.grid3{grid-template-columns:1fr}}

/* Toast */
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(120px);background:var(--tinta);color:#fff;padding:13px 22px;border-radius:10px;font-weight:600;font-size:14px;box-shadow:var(--sombra-lg);z-index:9999;opacity:0;transition:.3s;max-width:90vw}
#toast.show{transform:translateX(-50%) translateY(0);opacity:1}
#toast.ok{background:var(--ok)} #toast.err{background:var(--erro)}

/* Tabela */
.tabela{width:100%;border-collapse:collapse;font-size:14px}
.tabela th{text-align:left;padding:11px 14px;color:var(--cinza);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid var(--borda);white-space:nowrap}
.tabela td{padding:13px 14px;border-bottom:1px solid var(--borda);vertical-align:middle}
.tabela tbody tr{transition:.12s}
.tabela tbody tr:hover{background:#f8fafc}
.vazio{text-align:center;padding:50px 20px;color:var(--cinza-cla)}
.vazio svg{opacity:.4;margin-bottom:10px}

/* Modal */
.modal-bg{position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(2px);z-index:1000;display:none;align-items:flex-start;justify-content:center;padding:30px 16px;overflow-y:auto}
.modal-bg.show{display:flex}
.modal{background:#fff;border-radius:var(--r);box-shadow:var(--sombra-lg);width:100%;max-width:620px;animation:pop .22s}
.modal.lg{max-width:860px}
@keyframes pop{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--borda)}
.modal-head h3{font-size:18px}
.modal-body{padding:22px;max-height:70vh;overflow-y:auto}
.modal-foot{display:flex;gap:10px;justify-content:flex-end;padding:16px 22px;border-top:1px solid var(--borda);flex-wrap:wrap}

.scrollx{overflow-x:auto}
.muted{color:var(--cinza)} .mut-sm{color:var(--cinza);font-size:13px}
.right{text-align:right} .center{text-align:center}
.flex{display:flex;align-items:center;gap:10px}
.between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.money{font-variant-numeric:tabular-nums;font-weight:700}
code{background:#eef2f7;border:1px solid var(--borda);border-radius:6px;padding:1px 6px;font-size:12.5px;font-family:'Consolas',monospace;color:var(--azul-esc)}
