/* Falcon Premium UI - SaaS moderno
   Camada visual: não altera regras de negócio, rotas, banco ou permissões. */
:root{
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --ink:#0f172a;
  --ink-2:#334155;
  --muted-2:#64748b;
  --brand:#2563eb;
  --brand-2:#1d4ed8;
  --ok:#059669;
  --warn:#d97706;
  --bad:#dc2626;
  --stroke:#e2e8f0;
  --shadow-soft:0 14px 40px rgba(15,23,42,.08);
}

html{font-size:15px;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;}
body{color:var(--ink);letter-spacing:-.01em;}

.sidebar{
  width:264px;
  padding:18px 14px;
  background:linear-gradient(180deg,#071426 0%,#0f1e35 58%,#111827 100%);
  box-shadow:18px 0 50px rgba(2,6,23,.22);
}
.brand{gap:10px;padding:0 8px 18px;margin-bottom:12px;}
.logo{width:46px;height:46px;border-radius:14px;}
.brand b{font-size:15px;line-height:1.2;letter-spacing:-.02em;color:#fff;}
.brand span{font-size:11px;color:#cbd5e1;}
.sidebar nav{gap:4px;}
.sidebar a{
  min-height:40px;
  padding:10px 11px;
  border-radius:12px;
  color:#dbeafe;
  font-size:13px;
  font-weight:650;
  line-height:1.1;
  letter-spacing:0;
  text-shadow:none;
  opacity:1;
  border:1px solid transparent;
}
.sidebar a:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.08);color:#fff;}
.sidebar a.active{background:#2563eb;border-color:rgba(255,255,255,.14);color:#fff;box-shadow:0 10px 25px rgba(37,99,235,.28);}

.main{margin-left:264px;width:calc(100% - 264px);padding:22px;}
.topbar{margin-bottom:18px;align-items:center;}
.topbar h1{font-size:26px;line-height:1.1;font-weight:850;letter-spacing:-.04em;}
.topbar p{font-size:13px;margin-top:6px;}
.userpill{border-radius:16px;padding:9px 12px;box-shadow:var(--shadow-soft);font-size:13px;}
.userpill b{padding:4px 8px;font-size:11px;}

.panel,.quick,.invoice-paper,.client-hero,.hero-saas,.premium-hero{
  border-radius:20px;
  box-shadow:var(--shadow-soft);
}
.panel,.quick{padding:18px;margin-bottom:16px;}
.quick{align-items:flex-start;}
.quick h2,.panel h2{font-size:20px;letter-spacing:-.03em;margin:6px 0;}
.quick p,.panel p{font-size:13px;margin:5px 0;}
.eyebrow{font-size:10px;letter-spacing:.12em;color:var(--muted-2);}

.grid{gap:14px;margin-bottom:16px;}
.stat{border-radius:20px;padding:17px;min-height:112px;box-shadow:0 14px 35px rgba(15,23,42,.09);}
.stat b{font-size:25px;margin:7px 0;}
.stat span,.stat p{font-size:12px;}
.stat i{right:14px;top:14px;padding:8px;border-radius:12px;}

.btn,button,.quicknav a,.command-list a{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:7px 10px;
  border-radius:10px;
  border:1px solid var(--stroke);
  background:#fff;
  color:var(--ink-2);
  font-size:12px;
  font-weight:700;
  line-height:1.15;
  box-shadow:0 4px 12px rgba(15,23,42,.05);
  transition:background .16s ease,transform .16s ease,box-shadow .16s ease,border-color .16s ease;
  white-space:nowrap;
}
.btn:hover,button:hover,.quicknav a:hover,.command-list a:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.08);border-color:#cbd5e1;}
.btn.primary,.primary,button.primary,.quicknav a.active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 8px 20px rgba(37,99,235,.22);}
.btn.primary:hover,.primary:hover,button.primary:hover,.quicknav a.active:hover{background:var(--brand-2);}
.btn.success,.success{background:#ecfdf5!important;color:#047857!important;border-color:#bbf7d0!important;}
.btn.danger,.danger{background:#fef2f2!important;color:#b91c1c!important;border-color:#fecaca!important;}
.btn.glass{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.25);color:#fff;box-shadow:none;}
.actions,.quicknav{gap:7px;align-items:center;}
.panel-head{align-items:flex-start;}
.panel-head .btn{margin-top:2px;}

.tablewrap{border-radius:16px;margin-top:12px;background:#fff;}
table{font-size:13px;min-width:760px;}
th,td{padding:10px 11px;vertical-align:middle;}
th{font-size:10px;font-weight:850;color:#475569;background:#f8fafc;}
td small{color:var(--muted-2);font-size:11px;}
.tablewrap .btn,.tablewrap button{min-height:30px;padding:5px 8px;border-radius:9px;font-size:11px;margin:2px;}
.tablewrap td:last-child{min-width:140px;}
.badge,.priority{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850;}

.formgrid{gap:12px;}
.field{gap:5px;}
.field label{font-size:12px;color:#475569;}
.field input,.field select,.field textarea{
  min-height:39px;
  padding:9px 11px;
  border-radius:11px;
  border-color:var(--stroke);
  font-size:13px;
  color:var(--ink);
  background:#fff;
}
.field textarea{min-height:92px;}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(37,99,235,.16);border-color:#93c5fd;}

.invoice-head{padding:20px;}
.invoice-body{padding:20px;}
.invoice-boxes{gap:10px;}
.invoice-box{border-radius:14px;padding:12px;}
.invoice-box span{font-size:10px;}
.invoice-box b{font-size:16px;word-break:break-word;}
.client-hero{padding:20px;}
.hero-saas{padding:22px;border-radius:24px;}
.hero-saas h2{font-size:30px;}
.hero-card{border-radius:18px;padding:16px;}
.hero-card b{font-size:38px;}
.premium-hero{padding:22px;}
.command-list{display:grid;gap:8px;}
.command-list a{justify-content:flex-start;box-shadow:none;background:#f8fafc;}
.alert,.notice{border-radius:13px;padding:11px 13px;font-size:13px;}
.copybox{font-size:12px;line-height:1.45;}

/* Agrupamento visual automático das ações, sem mudar os links existentes */
td .btn + .btn, td .btn + button, td button + .btn{margin-left:3px;}
.quicknav a::before,.actions a.btn::before,.actions button::before,.tablewrap a.btn::before,.tablewrap button::before{font-size:12px;opacity:.9;}
a[href*="invoice_pay"]::before{content:"💳";}
a[href*="invoice_pdf"]::before,a[href*="statement_pdf"]::before,a[href*="report_pdf"]::before{content:"📄";}
a[href*="edit"]::before{content:"✏️";}
a[href*="delete"]::before,.danger::before{content:"🗑️";}
a[href*="download"]::before{content:"⬇️";}
a[href*="whatsapp" i]::before,a[href*="wa.me"]::before{content:"💬";}
button[data-copy]::before,a[data-copy]::before{content:"📋";}

@media(max-width:980px){
  .sidebar{width:82vw;max-width:300px;}
  .main{margin-left:0;width:100%;padding:14px;}
  .mobilebar{box-shadow:0 8px 22px rgba(15,23,42,.08);}
  .topbar h1{font-size:23px;}
  .quick{display:block;}
  .quicknav,.actions{margin-top:10px;}
}
@media(max-width:620px){
  .panel,.quick{padding:14px;border-radius:16px;}
  .btn,button,.quicknav a{width:auto;max-width:100%;}
  .quicknav,.actions{display:flex;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;}
  .grid,.formgrid,.invoice-boxes{grid-template-columns:1fr!important;}
  table{min-width:680px;}
}

.qrbox img{max-width:260px;width:100%;background:#fff;border:1px solid #dbe4ef;border-radius:14px;padding:10px}.copybox{min-height:96px}.priority.media{background:#fef3c7}.priority.alta{background:#fee2e2}.priority.normal{background:#dcfce7}
.chart-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin:18px 0}.chart-grid canvas{width:100%;min-height:180px}.landing-features article,.landing-card{backdrop-filter:blur(10px)}@media(max-width:900px){.chart-grid{grid-template-columns:1fr}}

/* Dashboard SaaS: gráficos renderizados no servidor, sem depender de biblioteca externa */
.dashboard-rendered-charts .muted{margin:0 0 14px;color:var(--muted,#64748b);font-size:13px}.falcon-bars{display:flex;align-items:flex-end;gap:12px;min-height:245px;padding:14px 4px 2px;overflow-x:auto}.falcon-bar-item{min-width:74px;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}.falcon-bar-wrap{height:150px;width:100%;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(180deg,rgba(37,99,235,.06),rgba(37,99,235,.02));border:1px solid rgba(37,99,235,.12);border-radius:14px;padding:7px}.falcon-bar-wrap i{display:block;width:32px;min-height:4px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#2563eb,#0f766e);box-shadow:0 8px 18px rgba(37,99,235,.24)}.falcon-bar-item small{font-weight:700;color:var(--text,#0f172a);font-size:11px}.falcon-bar-item b{font-size:11px;color:var(--muted,#64748b);font-weight:800}.empty-chart{width:100%;padding:38px 14px;text-align:center;border:1px dashed rgba(100,116,139,.35);border-radius:16px;color:var(--muted,#64748b);background:rgba(248,250,252,.8)}.falcon-donut-row{display:grid;grid-template-columns:170px 1fr;gap:22px;align-items:center;min-height:245px}.falcon-donut{width:170px;height:170px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#16a34a 0 var(--paid-deg),#f59e0b var(--paid-deg) calc(var(--paid-deg) + var(--pending-deg)),#ef4444 calc(var(--paid-deg) + var(--pending-deg)) 360deg);box-shadow:inset 0 0 0 1px rgba(15,23,42,.08),0 18px 40px rgba(15,23,42,.12)}.falcon-donut span{width:108px;height:108px;border-radius:50%;background:var(--card,#fff);display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:25px;font-weight:900;color:var(--text,#0f172a);box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)}.falcon-donut small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#64748b);margin-top:2px}.falcon-legend{display:flex;flex-direction:column;gap:10px}.falcon-legend div{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:9px;padding:10px 12px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:rgba(248,250,252,.8)}.falcon-legend i{width:12px;height:12px;border-radius:50%}.falcon-legend .ok{background:#16a34a}.falcon-legend .warn{background:#f59e0b}.falcon-legend .bad{background:#ef4444}.falcon-legend span{font-weight:800;color:var(--text,#0f172a)}.falcon-legend b{font-size:13px}.premium-mini-bars em{display:block;font-style:normal;color:var(--muted,#64748b);font-size:11px;margin-top:4px}.premium-mini-bars .stack{background:linear-gradient(90deg,rgba(22,163,74,.16),rgba(239,68,68,.12))}.premium-mini-bars .stack i{background:linear-gradient(90deg,#16a34a,#22c55e)}@media(max-width:760px){.falcon-donut-row{grid-template-columns:1fr}.falcon-donut{margin:auto}.falcon-bars{gap:9px}.falcon-bar-item{min-width:64px}}
