/*
  Solus UI (tema)
  - Apenas estética (cores, tipografia, espaçamento, sombras)
  - Sem alterar regras de negócio
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root{
  --solus-green:#17b66b;
  --solus-green-2:#0ea85d;
  --solus-ink:#0b1220;
  --solus-text:#0f172a;
  --solus-muted:#64748b;
  --solus-border:#e5e7eb;
  --solus-bg:#f5f7fb;
  --solus-card:#ffffff;
  --solus-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
  --solus-shadow-sm: 0 4px 16px rgba(15, 23, 42, 0.08);
  --solus-radius: 16px;
  --solus-radius-sm: 12px;
}

*{box-sizing:border-box;}

html,body{height:100%;}

body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--solus-text);
  background:
    radial-gradient(900px 500px at 15% -10%, rgba(23,182,107,.22), rgba(23,182,107,0) 60%),
    radial-gradient(900px 500px at 90% 10%, rgba(14,168,93,.14), rgba(14,168,93,0) 55%),
    linear-gradient(180deg, #ffffff, var(--solus-bg));
}

/* marca d'água (bem sutil) */
body:before{
  content:"";
  position:fixed;
  inset:0;
  background-image:url('../img/logo-solus-brand.jpg');
  background-repeat:no-repeat;
  background-position:center 140px;
  background-size: min(980px, 95vw) auto;
  opacity:.045;
  pointer-events:none;
  filter: grayscale(1);
}

header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,255,255,.82);
  backdrop-filter: blur(12px);
  border-bottom:1px solid rgba(229,231,235,.8);
}

.header-inner{
  max-width:1120px;
  margin:0 auto;
  padding:12px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:inherit;
}

.brand img{
  width:42px;
  height:42px;
  object-fit:cover;
  border-radius:12px;
  box-shadow: var(--solus-shadow-sm);
}

.brand .title{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}

.brand .title strong{
  font-size:14px;
  letter-spacing:.2px;
}

.brand .title small{
  font-size:12px;
  color:var(--solus-muted);
}

.global-search{
  flex:1 1 220px;
  max-width:320px;
  margin:0;
}

.global-search input{
  min-height:36px;
  padding:8px 12px;
  border-radius:999px;
  font-size:13px;
}

nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}

nav a{
  color:rgba(15, 23, 42, .86);
  text-decoration:none;
  font-weight:600;
  font-size:13px;
  padding:9px 10px;
  border-radius:999px;
  border:1px solid transparent;
  transition: all .15s ease;
}

nav a:hover{
  color:var(--solus-ink);
  background:rgba(23,182,107,.10);
  border-color:rgba(23,182,107,.18);
}
nav a.active{color:#075f37;background:rgba(23,182,107,.14);border-color:rgba(23,182,107,.28)}

@media(max-width:860px){
  .header-inner{align-items:flex-start;flex-direction:column}
  .global-search{flex:none;max-width:none;width:100%}
  nav{justify-content:flex-start}
}

main{
  max-width:1120px;
  margin:22px auto;
  padding:0 16px 28px;
}

.card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(229,231,235,.85);
  border-radius:var(--solus-radius);
  padding:18px;
  box-shadow: var(--solus-shadow);
}

h1,h2,h3{color:var(--solus-ink);}

h2{
  font-size:18px;
  margin:0 0 10px;
}

small{
  color:var(--solus-muted);
}

.row{display:flex;gap:12px;flex-wrap:wrap;}
.row > *{flex:1;min-width:220px;}

label{
  display:block;
  font-size:12.5px;
  margin:10px 0 6px;
  color:rgba(15,23,42,.78);
  font-weight:600;
}

input, select, textarea{
  width:100%;
  padding:11px 12px;
  border:1px solid rgba(148,163,184,.45);
  border-radius:14px;
  outline:none;
  background:rgba(255,255,255,.9);
  transition: box-shadow .15s ease, border-color .15s ease;
}

textarea{min-height:110px;}

input:focus, select:focus, textarea:focus{
  border-color: rgba(23,182,107,.55);
  box-shadow: 0 0 0 4px rgba(23,182,107,.15);
}

button{
  appearance:none;
  border:0;
  border-radius:999px;
  padding:10px 16px;
  font-weight:700;
  cursor:pointer;
  color:#fff;
  background: linear-gradient(135deg, var(--solus-green), var(--solus-green-2));
  box-shadow: 0 10px 24px rgba(23,182,107,.25);
  transition: transform .08s ease, filter .15s ease;
}

button:hover{filter:brightness(1.02);}
button:active{transform: translateY(1px);}

a{color:var(--solus-green-2);text-decoration:none;}
a:hover{text-decoration:underline;}

.status-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid var(--solus-border);
  font-size:11px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}
.status-badge-ok{background:#dcfce7;border-color:#86efac;color:#166534}
.status-badge-warn{background:#fef3c7;border-color:#fde68a;color:#92400e}
.status-badge-danger{background:#fee2e2;border-color:#fecaca;color:#991b1b}
.status-badge-neutral{background:#f8fafc;border-color:#e2e8f0;color:#334155}

.msg{
  padding:12px 12px;
  border-radius:14px;
  margin:12px 0;
  border:1px solid rgba(229,231,235,.85);
  background:#fff;
}

.erro{background:rgba(254,226,226,.75);color:#991b1b;border-color:rgba(254,202,202,.95);}
.sucesso{background:rgba(220,252,231,.70);color:#166534;border-color:rgba(187,247,208,.95);}

/* tabelas */
table{width:100%;border-collapse:separate;border-spacing:0;}
th,td{font-size:13px;}
thead th{color:rgba(15,23,42,.8);font-weight:700;}
tr td, tr th{padding:10px;}

thead tr th{
  border-bottom:1px solid rgba(229,231,235,.9);
}

tbody tr td{
  border-bottom:1px solid rgba(243,244,246,.9);
}

tbody tr:hover td{
  background:rgba(23,182,107,.05);
}

/* rodapé */
footer{padding:16px 0 4px;}

@media (max-width: 760px){
  .header-inner{flex-direction:column;align-items:stretch;}
  nav{justify-content:flex-start;}
  nav a{flex:1;min-width: calc(50% - 10px);text-align:center;}
  .brand img{width:38px;height:38px;}
}

/* Footer */
.solus-footer{
  margin-top:18px;
  padding: 10px 6px 26px;
}
.footer-inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 18px;
  display:flex;
  align-items:center;
  gap:10px;
  color: var(--solus-muted);
  font-size: 12.5px;
}
.footer-inner .dot{opacity:.6;}
.footer-inner .muted{opacity:.9;}


/* Botão com aparência de link (usado em ações como Excluir) */
button.btn-link{
  background: transparent;
  box-shadow: none;
  color: rgba(15, 23, 42, .86);
  padding: 9px 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 600;
  font-size: 13px;
}
button.btn-link:hover{
  filter:none;
  transform:none;
}
button.btn-danger-link{
  color: #ef4444;
}
button.btn-danger-link:hover{
  background: rgba(239,68,68,.10);
  border-color: rgba(239,68,68,.25);
}

.fin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.fin-kpi,.subcard{background:#fff;border:1px solid var(--solus-border);border-radius:14px;padding:14px}.fin-kpi strong{display:block;font-size:19px;margin-top:6px}.fin-kpi .verde{color:#0a8f50}.fin-kpi .vermelho{color:#c24141}.subcard{min-width:280px}.baixa-box{position:absolute;z-index:10;width:290px;right:20px;background:white;border:1px solid var(--solus-border);box-shadow:var(--solus-shadow);border-radius:14px;padding:14px;text-align:left}.baixa-box button{margin-top:10px}@media(max-width:760px){.fin-grid{grid-template-columns:repeat(2,1fr)}.baixa-box{position:fixed;left:5%;right:5%;top:15%;width:90%}}

.nav-menu{position:relative}.nav-menu summary{list-style:none;cursor:pointer;color:rgba(15,23,42,.86);font-weight:600;font-size:13px;padding:9px 10px;border-radius:999px}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu[open] summary,.nav-menu summary:hover{background:rgba(23,182,107,.10)}.nav-dropdown{position:absolute;top:42px;left:0;z-index:50;min-width:220px;padding:8px;background:#fff;border:1px solid var(--solus-border);border-radius:14px;box-shadow:var(--solus-shadow)}.nav-dropdown a{display:block;border-radius:9px;padding:10px 12px}.cad-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.cad-item{display:flex;flex-direction:column;gap:6px;min-height:145px;padding:20px;border:1px solid var(--solus-border);border-radius:16px;background:#fff;color:var(--solus-text);box-shadow:var(--solus-shadow-sm)}.cad-item:hover{text-decoration:none;border-color:rgba(23,182,107,.5);transform:translateY(-1px)}.cad-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:rgba(23,182,107,.10);font-size:25px;line-height:1}.empresa-head{display:flex;gap:18px;align-items:center;padding:14px;background:#f8fafc;border-radius:16px}.empresa-logo-preview{width:130px;height:100px;display:flex;align-items:center;justify-content:center;border:1px dashed #94a3b8;border-radius:14px;background:#fff;color:#94a3b8;font-weight:800;flex:0 0 auto}.empresa-logo-preview img{max-width:100%;max-height:100%;object-fit:contain;border-radius:10px}.empresa-banner{display:flex;gap:16px;align-items:center;margin:0 0 16px;padding:12px 16px;border:1px solid var(--solus-border);border-radius:16px;background:#fff}.empresa-banner img{width:110px;height:70px;object-fit:contain}.empresa-banner strong{font-size:18px}@media(max-width:760px){.nav-menu{width:100%}.nav-menu summary{text-align:center}.nav-dropdown{position:static}.cad-grid{grid-template-columns:1fr}.empresa-head{align-items:flex-start;flex-direction:column}}

.workspace-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:15px;border-bottom:1px solid var(--solus-border)}.workspace-head h2{font-size:23px;margin:4px 0}.eyebrow{font-size:11px;letter-spacing:.12em;color:var(--solus-green-2);font-weight:800}.module-strip{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}.module-strip a{padding:9px 13px;border:1px solid var(--solus-border);border-radius:999px;background:#fff;color:var(--solus-text);font-size:13px;font-weight:700}.module-strip a:hover{background:rgba(23,182,107,.08);text-decoration:none;border-color:rgba(23,182,107,.3)}
.finance-config-layout{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:22px;margin-top:18px;align-items:start}@media(max-width:820px){.finance-config-layout{grid-template-columns:1fr}}
.finance-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 20px}.finance-nav-button{display:flex;align-items:center;gap:11px;min-height:76px;padding:12px 14px;border:1px solid var(--solus-border);border-radius:14px;background:#fff;color:var(--solus-text);box-shadow:0 3px 10px rgba(15,23,42,.05);transition:.15s ease}.finance-nav-button:hover{transform:translateY(-1px);text-decoration:none;border-color:rgba(23,182,107,.45);box-shadow:var(--solus-shadow-sm)}.finance-nav-button.active{border-color:var(--solus-green);background:rgba(23,182,107,.08)}.finance-nav-button.primary{background:linear-gradient(135deg,var(--solus-green),var(--solus-green-2));color:#fff;border-color:transparent}.finance-nav-button.primary small{color:rgba(255,255,255,.82)}.finance-nav-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:11px;background:rgba(23,182,107,.12);color:#087443;font-size:20px;font-weight:800}.finance-nav-button.primary .finance-nav-icon{background:rgba(255,255,255,.2);color:#fff}.finance-nav-button strong,.finance-nav-button small{display:block}.finance-nav-button strong{font-size:13px}.finance-nav-button small{font-size:11px;margin-top:3px}@media(max-width:800px){.finance-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.finance-nav{grid-template-columns:1fr}}
.table-action-button{display:inline-block;padding:5px 10px;border-radius:999px;background:rgba(23,182,107,.12);font-weight:700}.table-action-button:hover{text-decoration:none;background:rgba(23,182,107,.2)}.danger-action{color:#b91c1c;cursor:pointer;font-weight:700}.delete-reason-box{position:absolute;right:24px;z-index:20;width:320px;padding:14px;background:#fff;border:1px solid #fecaca;border-radius:14px;box-shadow:var(--solus-shadow);text-align:left}.danger-button{background:#dc2626;box-shadow:0 8px 18px rgba(220,38,38,.2)}.baixa-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.baixa-summary>div{padding:16px;border:1px solid var(--solus-border);border-radius:14px;background:#f8fafc}.baixa-summary strong,.baixa-summary small{display:block}.baixa-summary strong{font-size:20px;margin-top:6px}.baixa-form{max-width:780px}@media(max-width:650px){.baixa-summary{grid-template-columns:1fr}.delete-reason-box{position:fixed;left:5%;right:5%;top:15%;width:90%}}
.report-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.report-tabs a{padding:9px 13px;border:1px solid var(--solus-border);border-radius:999px;color:var(--solus-text);font-weight:700;font-size:12px;background:#fff}.report-tabs a.active{background:var(--solus-green);color:#fff;border-color:var(--solus-green)}.report-tabs a:hover{text-decoration:none}.report-filter{padding:14px;border-radius:14px;background:#f8fafc;align-items:end}.report-filter-actions{display:flex;gap:10px;align-items:center}.report-toolbar{display:flex;gap:10px;margin:12px 0}.report-toolbar a{padding:10px 14px;border:1px solid var(--solus-border);border-radius:999px;font-weight:700}.report-summary{display:flex;gap:20px;flex-wrap:wrap;padding:14px;margin:14px 0;border:1px solid var(--solus-border);border-radius:14px;background:#f8fafc}.report-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.finance-report-entry{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:18px;border:1px solid rgba(23,182,107,.3);border-radius:18px;background:rgba(23,182,107,.06)}.finance-report-entry h3{margin:4px 0}.finance-report-entry p{margin:0;color:var(--solus-muted)}@media(max-width:800px){.report-columns{grid-template-columns:1fr}.finance-report-entry{align-items:flex-start;flex-direction:column}}@media print{header,.finance-nav,.report-tabs,.report-filter,.report-toolbar,footer{display:none!important}main{max-width:none;margin:0}.card{box-shadow:none;border:0}}
