/* App Braga v1.58.75 — Redesign claro estilo painel premium
   Camada visual apenas: não altera Firebase, notificações, toners ou handlers JS.
*/
:root,
html,
body,
html.dark,
body.dark{
  --bg:#f7f9fd !important;
  --app-bg:#f7f9fd !important;
  --app-bg-2:#eef3fb !important;
  --card:#ffffff !important;
  --app-surface:#ffffff !important;
  --app-surface-2:#f8fafc !important;
  --nav:#ffffff !important;
  --sidebar:#ffffff !important;
  --sidebar-hover:#eef5ff !important;
  --border:#e4ebf5 !important;
  --app-border:#e4ebf5 !important;
  --text:#0f1f3a !important;
  --app-text:#0f1f3a !important;
  --muted:#64748b !important;
  --app-muted:#64748b !important;
  --primary:#1267f1 !important;
  --app-primary:#1267f1 !important;
  --primary-hover:#0b55d9 !important;
  --app-secondary:#42a5ff !important;
  --success:#16a34a !important;
  --warning:#f59e0b !important;
  --danger:#ef4444 !important;
  --shadow:0 18px 45px rgba(15,31,58,.08) !important;
  --soft-shadow:0 8px 24px rgba(15,31,58,.06) !important;
  --radius:24px;
  --radius-sm:16px;
  --sidebar-w:288px;
  color-scheme:light !important;
}

*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#c9d8ef transparent;}
*::-webkit-scrollbar{width:10px;height:10px;}
*::-webkit-scrollbar-thumb{background:#c9d8ef;border:3px solid transparent;background-clip:padding-box;border-radius:999px;}
*::-webkit-scrollbar-track{background:transparent;}

html,body{
  min-height:100%;
  margin:0;
  background:
    radial-gradient(circle at 18% 0%, rgba(18,103,241,.08), transparent 28rem),
    radial-gradient(circle at 95% 10%, rgba(66,165,255,.09), transparent 30rem),
    linear-gradient(180deg,#fbfdff 0%, #f6f9fe 55%, #eef3fb 100%) !important;
  color:var(--text) !important;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
body{display:flex;overflow-x:hidden;}
body::before{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:0;
  background:linear-gradient(90deg, rgba(255,255,255,.8), transparent 26rem);
}

/* ===== Sidebar igual ao mockup claro ===== */
.sidebar,
.sidebar.sidebar-pro-groups{
  width:var(--sidebar-w) !important;
  min-height:100vh !important;
  padding:22px 16px !important;
  position:fixed !important;
  inset:0 auto 0 0 !important;
  background:rgba(255,255,255,.92) !important;
  border-right:1px solid var(--border) !important;
  box-shadow:18px 0 42px rgba(15,31,58,.05) !important;
  backdrop-filter:blur(18px) saturate(160%) !important;
  z-index:10 !important;
  color:var(--text) !important;
}
.sidebar .brand,
.sidebar .premium-brand{
  margin:0 0 24px !important;
  padding:10px 6px 18px !important;
  min-height:64px !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.sidebar .brand-badge{
  width:42px !important;height:42px !important;min-width:42px !important;
  display:grid !important;place-items:center !important;
  border-radius:14px !important;
  font-size:0 !important;
  background:linear-gradient(135deg,#1267f1,#52b5ff) !important;
  box-shadow:0 12px 28px rgba(18,103,241,.22) !important;
  position:relative;
}
.sidebar .brand-badge::before{content:"A";font-size:23px;font-weight:950;color:#fff;letter-spacing:-.08em;}
.sidebar .brand h2{
  color:#10213d !important;
  font-size:1.42rem !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.04em !important;
}
.sidebar .brand h2::first-letter{color:#1267f1;}
.sidebar .sidebar-brand-subtitle{display:none !important;}
.sidebar .sidebar-collapse-toggle{
  margin-left:auto !important;
  width:36px !important;height:36px !important;border-radius:13px !important;
  background:#f4f7fc !important;border:1px solid var(--border) !important;color:#64748b !important;
  box-shadow:none !important;
}
.sidebar .sidebar-collapse-toggle:hover{background:#eaf2ff !important;color:#1267f1 !important;transform:translateY(-1px);}
.sidebar .sidebar-nav-pro,.sidebar nav{display:grid !important;gap:6px !important;padding:0 !important;}
.sidebar .sidebar-section-title,
.sidebar .sidebar-group-toggle{
  min-height:34px !important;
  margin:10px 0 4px !important;
  padding:0 12px !important;
  border:0 !important;background:transparent !important;box-shadow:none !important;
  color:#94a3b8 !important;
  text-transform:uppercase !important;
  font-size:.72rem !important;
  font-weight:900 !important;letter-spacing:.08em !important;
}
.sidebar .sidebar-section-title span,
.sidebar .sidebar-group-icon,.sidebar .sidebar-group-chevron{display:none !important;}
.sidebar .sidebar-group-links{display:grid !important;gap:5px !important;padding:0 !important;}
.sidebar a,
.sidebar .menu-btn,
.sidebar .sidebar-group-links a,
.sidebar .sidebar-favorites a{
  min-height:52px !important;
  padding:0 14px !important;
  display:flex !important;align-items:center !important;gap:13px !important;
  border-radius:16px !important;
  border:1px solid transparent !important;
  background:transparent !important;
  color:#475569 !important;
  text-decoration:none !important;
  font-size:.96rem !important;
  font-weight:750 !important;
  margin:0 !important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease,border-color .18s ease !important;
}
.sidebar a::before{
  content:attr(data-icon);
  width:32px !important;height:32px !important;min-width:32px !important;
  display:grid !important;place-items:center !important;
  border-radius:11px !important;
  font-size:18px !important;
  background:#f3f7ff !important;
  border:1px solid #e6eefb !important;
  filter:saturate(.92);
}
.sidebar a:hover{
  background:#f3f7ff !important;
  color:#1267f1 !important;
  transform:translateX(2px) !important;
  border-color:#e1ebfb !important;
}
.sidebar a.active,
.sidebar a[aria-current="page"]{
  background:linear-gradient(90deg,#eef5ff,#f8fbff) !important;
  color:#1267f1 !important;
  border-color:#e0ecff !important;
  box-shadow:inset 4px 0 0 #1267f1, 0 10px 26px rgba(18,103,241,.08) !important;
}
.sidebar a.active::before,
.sidebar a[aria-current="page"]::before{
  background:#1267f1 !important;color:#fff !important;border-color:#1267f1 !important;
  box-shadow:0 8px 18px rgba(18,103,241,.22) !important;
}
.sidebar-divider{display:none !important;}

body.sidebar-collapsed .sidebar,html.sidebar-collapsed .sidebar,body.nav-collapsed .sidebar,html.nav-collapsed .sidebar{width:86px !important;}
body.sidebar-collapsed .main,html.sidebar-collapsed .main,body.nav-collapsed .main,html.nav-collapsed .main{margin-left:86px !important;width:calc(100% - 86px) !important;}
body.sidebar-collapsed .sidebar .brand h2,html.sidebar-collapsed .sidebar .brand h2,
body.sidebar-collapsed .sidebar .sidebar-link-text,html.sidebar-collapsed .sidebar .sidebar-link-text,
body.sidebar-collapsed .sidebar .sidebar-section-title,html.sidebar-collapsed .sidebar .sidebar-section-title,
body.sidebar-collapsed .sidebar .sidebar-group-toggle,html.sidebar-collapsed .sidebar .sidebar-group-toggle{display:none !important;}
body.sidebar-collapsed .sidebar a,html.sidebar-collapsed .sidebar a{justify-content:center !important;padding:0 !important;}
body.sidebar-collapsed .sidebar .brand,html.sidebar-collapsed .sidebar .brand{justify-content:center !important;padding-left:0 !important;padding-right:0 !important;}
body.sidebar-collapsed .sidebar .sidebar-collapse-toggle,html.sidebar-collapsed .sidebar .sidebar-collapse-toggle{position:absolute;right:8px;top:22px;}

/* ===== Estrutura geral ===== */
.main,.main-content,.page-content,.content-area{
  position:relative;z-index:1;
  margin-left:var(--sidebar-w) !important;
  width:calc(100% - var(--sidebar-w)) !important;
  min-height:100vh !important;
  padding:30px clamp(22px,3vw,48px) 34px !important;
  background:transparent !important;
  color:var(--text) !important;
}
.main::before{
  content:"";
  display:block;
  height:62px;
  margin:-30px calc(clamp(22px,3vw,48px) * -1) 28px;
  border-bottom:1px solid var(--border);
  background:rgba(255,255,255,.66);
  backdrop-filter:blur(16px);
}
.page-hero,.topbar,.premium-topbar,.diretorio-hero,.computadores-hero{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 0 24px !important;
  display:flex !important;align-items:flex-start !important;justify-content:space-between !important;gap:18px !important;
  min-height:auto !important;
}
.page-hero-title,.topbar h1,.main h1{
  margin:0 !important;
  color:#0b1732 !important;
  font-size:clamp(2rem,3vw,2.75rem) !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:-.055em !important;
}
.page-hero-title + p,.subtitle,.section-subtitle,.topbar .subtitle{
  color:#667795 !important;
  font-size:1rem !important;
  margin-top:8px !important;
}
.status-pill,.version-pill,.pill,.badge,.status-badge{
  border-radius:999px !important;
  padding:7px 12px !important;
  font-weight:800 !important;
  font-size:.82rem !important;
  border:1px solid #d9e8ff !important;
  background:#eef6ff !important;
  color:#1267f1 !important;
}

/* top search impression */
.main::after{
  content:"Pesquisar equipamentos, toners, etiquetas...";
  position:absolute;top:17px;left:50%;transform:translateX(-50%);
  width:min(520px,34vw);height:44px;
  border:1px solid var(--border);border-radius:16px;
  display:flex;align-items:center;padding-left:46px;
  color:#94a3b8;font-weight:650;font-size:.92rem;
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 24px rgba(15,31,58,.045);
  pointer-events:none;z-index:0;
}
@media (max-width:1100px){.main::after{display:none;}}

/* ===== Cards, painéis, estatísticas ===== */
.card,.panel,.stat-card,.dashboard-card,.summary-card,.stock-card,.history-card,.pc-card,.printer-card,.network-card,.pistol-card,.radio-card,.info-card,.config-card,.config-section,.directory-card,.task-card,.team-card,.notification-card,.diagnostic-card,.equipment-extra-card,.equipment-extras-panel,.health-card,.config-backup-card,.reference-panel,.diretorio-actions,.diretorio-filtros,.modal-card,.modal-content,.dialog,.box{
  background:rgba(255,255,255,.92) !important;
  border:1px solid var(--border) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--soft-shadow) !important;
  color:var(--text) !important;
  backdrop-filter:blur(12px) saturate(160%) !important;
}
.card:hover,.panel:hover,.stat-card:hover,.dashboard-card:hover,.summary-card:hover,.stock-card:hover,.pc-card:hover,.printer-card:hover,.pistol-card:hover,.radio-card:hover,.reference-panel:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 22px 56px rgba(15,31,58,.10) !important;
  border-color:#d4e4fb !important;
}
.stats-grid,.computadores-stats,.diretorio-stats{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
  gap:18px !important;
  margin:0 0 24px !important;
}
.stat-card{
  min-height:118px !important;
  padding:24px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  position:relative !important;
  overflow:hidden !important;
}
.stat-card::before{
  content:"";position:absolute;right:18px;top:18px;width:48px;height:48px;border-radius:18px;
  background:linear-gradient(135deg,rgba(18,103,241,.13),rgba(66,165,255,.09));
}
.stat-card span,.stat-card small,.stock-meta,.history-meta,.pc-meta,.meta-line,.empty-state p,.section-subtitle,.muted,.card small,.panel small{
  color:#667795 !important;
}
.stat-card strong,.stat-card .stat-value,.health-card strong{
  color:#0b1732 !important;
  font-size:2.05rem !important;
  font-weight:900 !important;
  letter-spacing:-.055em !important;
}
.stat-card-full{grid-column:span 1 !important;width:auto !important;max-width:none !important;}

/* Dashboard widgets */
.dashboard-widget-toolbar{
  background:#ffffff !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;
  box-shadow:var(--soft-shadow) !important;padding:22px 24px !important;margin-bottom:24px !important;
}
.dashboard-widget-grid{
  gap:20px !important;
}
.dashboard-widget,.dashboard-widget-card,.widget-card{
  background:#fff !important;border:1px solid var(--border) !important;border-radius:26px !important;box-shadow:var(--soft-shadow) !important;
}

/* ===== Botões e campos ===== */
button,.primary-btn,.secondary-btn,.danger-btn,.btn,.action-btn,a.primary-btn,a.secondary-btn,.reference-primary,.reference-outline{
  min-height:44px !important;
  border-radius:14px !important;
  font-weight:850 !important;
  letter-spacing:-.01em !important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease,color .16s ease !important;
}
button:hover,.primary-btn:hover,.secondary-btn:hover,.btn:hover,.action-btn:hover{transform:translateY(-1px) !important;}
button:active,.primary-btn:active,.secondary-btn:active,.btn:active,.action-btn:active{transform:translateY(0) scale(.99) !important;}
.primary-btn,.btn-primary,.reference-primary,button.primary,.dashboard-widget-actions button{
  border:0 !important;
  color:#fff !important;
  background:linear-gradient(135deg,#1267f1,#0f7dff) !important;
  box-shadow:0 12px 28px rgba(18,103,241,.22) !important;
}
.secondary-btn,.btn-secondary,.action-btn,.reference-outline{
  background:#fff !important;
  border:1px solid var(--border) !important;
  color:#334155 !important;
  box-shadow:0 8px 20px rgba(15,31,58,.045) !important;
}
.secondary-btn:hover,.btn-secondary:hover,.action-btn:hover{border-color:#cfe0f7 !important;color:#1267f1 !important;background:#f8fbff !important;}
.danger,.danger-btn,.danger-outline{color:#ef4444 !important;border-color:#fee2e2 !important;background:#fff7f7 !important;}
.success,.success-outline{color:#16a34a !important;border-color:#dcfce7 !important;background:#f6fff9 !important;}
input,select,textarea,.search-input,.filter-input{
  min-height:44px !important;
  border-radius:14px !important;
  border:1px solid var(--border) !important;
  background:#fff !important;
  color:#17243d !important;
  box-shadow:0 8px 18px rgba(15,31,58,.035) !important;
  outline:0 !important;
}
input::placeholder,textarea::placeholder{color:#94a3b8 !important;}
input:focus,select:focus,textarea:focus{
  border-color:#93c5fd !important;
  box-shadow:0 0 0 4px rgba(18,103,241,.10), 0 8px 18px rgba(15,31,58,.045) !important;
}
select option{background:#fff !important;color:#17243d !important;}
label{color:#475569 !important;font-weight:750 !important;}

/* ===== Tabelas estilo SaaS claro ===== */
.table-scroll,.table-wrap,.printers-table-wrap,.reference-table-wrap{
  background:#fff !important;border:1px solid var(--border) !important;border-radius:24px !important;box-shadow:var(--soft-shadow) !important;overflow:auto !important;
}
table,.pro-table,.reference-table{
  width:100% !important;
  border-collapse:collapse !important;
  border-spacing:0 !important;
  background:#fff !important;
  color:#17243d !important;
}
thead th,
.pro-table thead th,
.reference-table thead th{
  height:54px !important;
  padding:0 18px !important;
  background:#fbfdff !important;
  color:#475569 !important;
  border-bottom:1px solid var(--border) !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-size:.88rem !important;
  font-weight:900 !important;
}
tbody tr{background:#fff !important;box-shadow:none !important;transition:background .16s ease !important;}
tbody tr:hover{background:#f8fbff !important;}
tbody td,
.pro-table tbody td,
.reference-table tbody td{
  padding:15px 18px !important;
  color:#24324b !important;
  border-top:0 !important;border-bottom:1px solid #edf2f8 !important;
  font-size:.93rem !important;
}
tbody tr:last-child td{border-bottom:0 !important;}
.table-actions,.top-actions,.modal-actions,.actions,.diretorio-actions,.reference-actions,.radio-selected-buttons{
  display:flex !important;gap:10px !important;flex-wrap:wrap !important;align-items:center !important;
}

/* Estados */
.online,.ok,.success,[class*="success"],.status-online,.badge-ok{background:#e9f9ee !important;color:#15803d !important;border-color:#cbf0d6 !important;}
.offline,.danger,.status-offline,.badge-danger{background:#fff0f0 !important;color:#dc2626 !important;border-color:#fecaca !important;}
.alerta,.warning,.status-warning,.badge-warning{background:#fff7e8 !important;color:#d97706 !important;border-color:#fed7aa !important;}

/* Diretório e listas em árvore */
.diretorio-actions{padding:16px !important;margin-bottom:18px !important;}
.diretorio-filtros{padding:18px !important;margin-bottom:18px !important;}
.diretorio-lista,.list-container,.cards-list{
  display:grid !important;gap:12px !important;
}
.diretorio-lista > *, .contact-card,.directory-item,.reference-row-card{
  background:#fff !important;border:1px solid var(--border) !important;border-radius:18px !important;box-shadow:0 8px 20px rgba(15,31,58,.045) !important;
}

/* Configurações */
.config-grid,.config-cards,.settings-grid{
  display:grid !important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;gap:18px !important;
}
.design-mode-card,.workspace-mode-card,.theme-pro-preset,.config-card{
  background:#fff !important;border:1px solid var(--border) !important;color:#17243d !important;border-radius:20px !important;box-shadow:var(--soft-shadow) !important;
}
.design-mode-card[aria-pressed="true"],.workspace-mode-card[aria-pressed="true"],.theme-pro-preset.active{
  border-color:#93c5fd !important;background:#eef6ff !important;color:#1267f1 !important;
}

/* Modais */
.modal,.modal-backdrop{backdrop-filter:blur(14px) !important;background:rgba(15,31,58,.32) !important;}
.modal-card,.modal-content{box-shadow:0 30px 80px rgba(15,31,58,.22) !important;}
.modal-card h2,.modal-content h2{color:#0b1732 !important;letter-spacing:-.035em !important;}

/* Ajustes iPhone/tablet */
@media (max-width:900px){
  .sidebar,.sidebar.sidebar-pro-groups{transform:translateX(-100%);width:min(86vw,320px) !important;}
  body.sidebar-open .sidebar,html.sidebar-open .sidebar,.sidebar.open{transform:translateX(0) !important;}
  .main,.main-content,.page-content,.content-area{margin-left:0 !important;width:100% !important;padding:22px 14px 28px !important;}
  .main::before{height:54px;margin:-22px -14px 22px;}
  .page-hero,.topbar,.premium-topbar{display:block !important;}
  .page-hero-title,.topbar h1,.main h1{font-size:2rem !important;}
  .stats-grid,.computadores-stats,.diretorio-stats{grid-template-columns:1fr 1fr !important;gap:12px !important;}
  .stat-card{min-height:100px !important;padding:18px !important;}
  .stat-card strong{font-size:1.65rem !important;}
  .table-scroll,.table-wrap,.printers-table-wrap,.reference-table-wrap{border-radius:18px !important;}
}
@media (max-width:560px){
  .stats-grid,.computadores-stats,.diretorio-stats{grid-template-columns:1fr !important;}
  .table-actions,.top-actions,.modal-actions,.actions,.diretorio-actions,.reference-actions,.radio-selected-buttons{display:grid !important;grid-template-columns:1fr !important;}
  button,.primary-btn,.secondary-btn,.action-btn{width:100% !important;}
}

/* Última camada: força textos escuros dentro do tema antigo */
h1,h2,h3,h4,h5,h6,p,span,label,td,th,a,div,li,small,strong{color:inherit;}
.main h1,.main h2,.main h3,.panel h2,.panel h3,.card h2,.card h3{color:#0b1732 !important;}
.main p,.panel p,.card p,.subtitle,.muted{color:#667795 !important;}
