﻿/* Camada visual compacta para os modulos administrativos. */

.point-layout,
.rh-layout { --slim-sidebar: 244px; min-height: 100vh; background: #f4f7fb; }

.point-layout .premium-sidebar,
.rh-layout .premium-sidebar {
  width: var(--slim-sidebar); flex: 0 0 var(--slim-sidebar); position: sticky; top: 0;
  height: 100vh; min-height: 0; padding: 14px 10px 12px; overflow: hidden;
  background: #101b30; border-right: 1px solid rgba(148, 163, 184, .14); box-shadow: none;
}

.point-layout .sidebar-head,
.rh-layout .sidebar-head { display: flex; align-items: center; gap: 8px; min-height: 64px; margin: 0 0 12px; }

.point-layout .sidebar-logo-card,
.rh-layout .sidebar-logo-card {
  display: flex; flex: 1 1 auto; align-items: center; justify-content: center; min-width: 0;
  min-height: 62px; padding: 10px; border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 12px; background: rgba(255, 255, 255, .055);
}

.point-layout .side-logo,
.rh-layout .side-logo { width: auto; max-width: 112px; max-height: 36px; object-fit: contain; }

.point-layout .sidebar-toggle,
.rh-layout .sidebar-toggle {
  position: static; flex: 0 0 30px; width: 30px; height: 30px; padding: 0;
  border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: #26354e;
  color: #fff; font-size: 21px; line-height: 1; box-shadow: none;
}

.point-layout .premium-user-box,
.rh-layout .premium-user-box {
  margin: 0 0 12px; padding: 11px 12px; border: 1px solid rgba(148,163,184,.19);
  border-radius: 10px; background: rgba(255,255,255,.055);
}
.point-layout .premium-user-box strong,
.rh-layout .premium-user-box strong { font-size: 13px; }
.point-layout .premium-user-box span,
.rh-layout .premium-user-box span { font-size: 11px; }

.point-layout .module-nav,
.rh-layout .module-nav {
  flex: 1 1 auto; min-height: 0; margin: 0 -4px; padding: 0 4px 8px; overflow-y: auto;
  scrollbar-width: thin; scrollbar-color: rgba(148,163,184,.4) transparent;
}
.point-layout .nav-section-label,
.rh-layout .nav-section-label { margin: 16px 8px 6px; color: #8fa1bd; font-size: 9px; font-weight: 800; letter-spacing: .1em; }

.point-layout .module-nav a,
.rh-layout .module-nav a {
  display: flex; align-items: center; gap: 9px; min-height: 36px; margin: 3px 0; padding: 7px 9px;
  border: 1px solid transparent; border-radius: 9px; color: #e7edf8; font-size: 13px; font-weight: 650;
  line-height: 1.2; transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}
.point-layout .module-nav a:hover,
.rh-layout .module-nav a:hover { background: rgba(255,255,255,.075); }
.point-layout .module-nav a.active,
.rh-layout .module-nav a.active { border-color: rgba(92,132,255,.55); background: #193568; color: #fff; }

.point-layout .module-nav .nav-ico,
.rh-layout .module-nav .nav-ico {
  display: inline-flex; flex: 0 0 26px; width: 26px; height: 26px; align-items: center; justify-content: center;
  border-radius: 8px; background: #18345f; color: #dbeafe; font-size: 9px; font-weight: 800;
}
.point-layout .module-nav a.active .nav-ico,
.rh-layout .module-nav a.active .nav-ico { background: #eff6ff; color: #2459e6; }

.point-layout .itexpress-badge,
.rh-layout .itexpress-badge {
  display: flex; align-items: center; gap: 9px; margin: 8px 0 0; padding: 9px 10px;
  border: 1px solid rgba(148,163,184,.2); border-radius: 10px; background: rgba(255,255,255,.035);
}
.point-layout .itexpress-badge img,
.rh-layout .itexpress-badge img { width: 30px; height: 30px; object-fit: contain; }
.point-layout .itexpress-badge strong,
.rh-layout .itexpress-badge strong { font-size: 13px; }
.point-layout .itexpress-badge small,
.rh-layout .itexpress-badge small { font-size: 10px; }

.point-layout .point-content,
.rh-layout .rh-content { min-width: 0; padding: 18px 22px 32px; }
.point-layout .module-topbar,
.rh-layout .module-topbar { min-height: 70px; margin-bottom: 18px; padding: 12px 16px; border-radius: 12px; box-shadow: 0 8px 24px rgba(15,23,42,.055); }
.point-layout .module-topbar img,
.rh-layout .module-topbar img { max-width: 42px; max-height: 32px; object-fit: contain; }
.point-layout .module-topbar strong,
.rh-layout .module-topbar strong { font-size: 14px; }
.point-layout .module-topbar small,
.rh-layout .module-topbar small { font-size: 11px; }

.point-content .page-hero,
.rh-content .page-hero,
.point-content .hero-panel,
.rh-content .hero-panel { min-height: 0; padding: 20px 22px; border-radius: 12px; }
.point-content .page-hero h1,
.rh-content .page-hero h1,
.point-content .hero-panel h1,
.rh-content .hero-panel h1 { margin: 0 0 6px; font-size: clamp(25px,2.4vw,32px); line-height: 1.1; }
.point-content .page-hero p,
.rh-content .page-hero p,
.point-content .hero-panel p,
.rh-content .hero-panel p { margin-bottom: 0; font-size: 13px; line-height: 1.45; }

.point-content .card,
.rh-content .card,
.point-content .panel,
.rh-content .panel,
.point-content .metric-card,
.rh-content .metric-card { border-radius: 10px; box-shadow: 0 6px 18px rgba(15,23,42,.045); }
.point-content .metric-card,
.rh-content .metric-card { min-height: 104px; padding: 15px 16px; }
.point-content .metric-card .metric-value,
.rh-content .metric-card .metric-value { font-size: 28px; }
.point-content .btn,
.rh-content .btn,
.point-content button,
.rh-content button { min-height: 36px; font-size: 12px; }
.point-content input,
.point-content select,
.point-content textarea,
.rh-content input,
.rh-content select,
.rh-content textarea { min-height: 36px; font-size: 13px; }

.point-layout.sidebar-collapsed .premium-sidebar,
.rh-layout.sidebar-collapsed .premium-sidebar { width: 70px; flex-basis: 70px; padding: 12px 8px; }
.point-layout.sidebar-collapsed .sidebar-head,
.rh-layout.sidebar-collapsed .sidebar-head { min-height: 42px; justify-content: center; }
.point-layout.sidebar-collapsed .sidebar-logo-card,
.rh-layout.sidebar-collapsed .sidebar-logo-card,
.point-layout.sidebar-collapsed .premium-user-box,
.rh-layout.sidebar-collapsed .premium-user-box,
.point-layout.sidebar-collapsed .nav-section-label,
.rh-layout.sidebar-collapsed .nav-section-label,
.point-layout.sidebar-collapsed .itexpress-badge,
.rh-layout.sidebar-collapsed .itexpress-badge { display: none; }
.point-layout.sidebar-collapsed .module-nav a,
.rh-layout.sidebar-collapsed .module-nav a { justify-content: center; padding: 5px; }
.point-layout.sidebar-collapsed .module-nav a > span:not(.nav-ico),
.rh-layout.sidebar-collapsed .module-nav a > span:not(.nav-ico) { display: none; }

@media (max-width: 900px) {
  .point-layout .premium-sidebar,
  .rh-layout .premium-sidebar { position: fixed; z-index: 1100; top: 0; left: 0; width: min(280px,86vw); height: 100dvh; padding: 14px 10px; transform: translateX(-105%); transition: transform 180ms ease; }
  .point-layout.mobile-nav-open .premium-sidebar,
  .rh-layout.mobile-nav-open .premium-sidebar { transform: translateX(0); }
  .point-layout .point-content,
  .rh-layout .rh-content { width: 100%; padding: 12px 14px 24px; }
  .point-layout .module-topbar,
  .rh-layout .module-topbar { min-height: 58px; margin-bottom: 12px; padding: 10px 12px; }
  .point-content .page-hero,
  .rh-content .page-hero,
  .point-content .hero-panel,
  .rh-content .hero-panel { padding: 17px; }
}


/* Redesign slim: central e modulos com a mesma linguagem visual. */
.central-v2 { min-height:100vh; padding:18px; background:#f3f6fa; }
.central-v2-topbar { width:min(1320px,100%); min-height:58px; margin:0 auto 16px; padding:8px 12px; grid-template-columns:minmax(220px,1fr) auto auto; gap:12px; border:1px solid #dce4ee; border-radius:8px; box-shadow:0 4px 14px rgba(15,23,42,.04); }
.central-v2-brand img { width:44px; height:34px; }
.central-v2-brand strong { font-size:14px; }
.central-v2-brand span { font-size:10px; }
.central-v2-live { min-width:165px; padding:6px 10px; border-radius:6px; }
.central-v2-live span { font-size:9px; }
.central-v2-live strong { font-size:13px; }
.central-v2-exit,.central-v2-install { min-height:34px; padding:0 14px; border-radius:6px; }
.central-v2-shell { width:min(1320px,100%); margin:0 auto; grid-template-columns:245px minmax(0,1fr); gap:16px; }
.central-v2-hero { position:sticky; top:18px; min-height:0; padding:18px; align-self:start; border:1px solid #dce4ee; border-radius:8px; background:#fff; box-shadow:0 6px 18px rgba(15,23,42,.045); }
.central-v2-logo-card { height:72px; margin-bottom:18px; border-radius:6px; }
.central-v2-logo-card img { max-height:50px; }
.central-v2-kicker { font-size:9px; }
.central-v2-hero h1 { margin:8px 0; font-size:31px; line-height:1.05; }
.central-v2-hero p { margin:0 0 16px; font-size:12px; line-height:1.45; }
.central-v2-user { padding:12px; border-radius:6px; }
.central-v2-user strong { font-size:14px; }
.central-v2-mini-grid { margin-top:10px; grid-template-columns:repeat(3,1fr); gap:6px; }
.central-v2-mini-grid a { min-width:0; padding:9px 6px; border-radius:6px; }
.central-v2-mini-grid span,.central-v2-mini-grid small { font-size:8px; }
.central-v2-mini-grid strong { font-size:20px; }
.central-v2-main { gap:12px; }
.central-v2-overview { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.central-v2-overview a { min-height:86px; padding:13px 14px; border-top-width:3px; border-radius:8px; box-shadow:0 4px 14px rgba(15,23,42,.035); }
.central-v2-overview span { font-size:9px; }
.central-v2-overview strong { font-size:25px; }
.central-v2-overview small { font-size:10px; }
.central-v2-modules { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.central-v2-module { min-height:176px; padding:16px; border-radius:8px; box-shadow:0 5px 16px rgba(15,23,42,.04); }
.central-v2-module::before { height:3px; }
.central-v2-module::after { width:88px; height:88px; opacity:.6; }
.central-v2-module:hover { transform:translateY(-2px); box-shadow:0 9px 22px rgba(15,23,42,.08); }
.central-v2-module .module-head b { width:36px; height:36px; border-radius:6px; }
.central-v2-module .module-head em { font-size:9px; }
.central-v2-module span { margin-top:12px; font-size:9px; }
.central-v2-module h2 { margin:4px 0; font-size:21px; }
.central-v2-module p { margin:0; font-size:12px; line-height:1.4; }
.central-v2-module footer { margin-top:12px; }
.central-v2-module footer strong { min-height:32px; padding:0 13px; border-radius:6px; }
.central-v2-bottom { min-height:64px; padding:12px 14px; border-radius:8px; }
.central-v2-bottom p { margin:2px 0 0; font-size:11px; }

.point-layout .premium-sidebar,.rh-layout .premium-sidebar { width:212px; flex-basis:212px; padding:12px 9px; }
.point-layout .sidebar-logo-card,.rh-layout .sidebar-logo-card { min-height:66px; padding:8px; border-radius:8px; }
.point-layout .premium-user-box,.rh-layout .premium-user-box { margin:10px 0; padding:11px; border-radius:8px; }
.point-layout .module-nav,.rh-layout .module-nav { gap:2px; }
.point-layout .module-nav a,.rh-layout .module-nav a { min-height:35px; padding:5px 8px; border-radius:6px; font-size:12px; }
.point-layout .module-nav .nav-ico,.rh-layout .module-nav .nav-ico { width:27px; height:27px; border-radius:6px; font-size:9px; }
.point-layout .nav-section-label,.rh-layout .nav-section-label { margin:10px 7px 4px; font-size:8px; }
.point-layout .point-content,.rh-layout .rh-content { padding:14px 18px 28px; }
.point-layout .module-topbar,.rh-layout .module-topbar { min-height:58px; margin-bottom:12px; padding:8px 12px; border-radius:8px; }
.point-content .page-hero,.rh-content .page-hero,.point-content .hero-panel,.rh-content .hero-panel { padding:17px 19px; border-radius:8px; }
.point-content .card,.rh-content .card,.point-content .panel,.rh-content .panel,.point-content .metric-card,.rh-content .metric-card { border-radius:8px; box-shadow:0 4px 14px rgba(15,23,42,.035); }

@media (max-width:1050px) {
  .central-v2-shell { grid-template-columns:220px minmax(0,1fr); }
  .central-v2-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .central-v2 { padding:10px; }
  .central-v2-topbar { grid-template-columns:1fr auto; }
  .central-v2-live { display:none; }
  .central-v2-shell { grid-template-columns:1fr; }
  .central-v2-hero { position:static; }
  .central-v2-logo-card { display:none; }
  .central-v2-hero h1 { font-size:28px; }
  .central-v2-modules,.central-v2-overview { grid-template-columns:1fr; }
  .central-v2-module { min-height:160px; }
}

