.visual-v2 .app-shell,
.visual-v2 .app,
.visual-v2 .shell {
  width: min(100%, var(--v2-content));
  min-height: 100vh;
  margin: 0 auto;
  overflow-x: clip;
  background: var(--v2-bg);
}

.visual-v2 .top-panel,
.visual-v2 .hero {
  min-height: 170px;
  height: auto;
  padding: max(16px, env(safe-area-inset-top)) 18px 22px;
  border-radius: 0;
  background: var(--v2-shell);
  color: #fff;
}

.visual-v2.role-company .top-panel,
.visual-v2.role-company .hero { background: #21132f; }

.visual-v2 .brand-lockup,
.visual-v2 .brand { gap: 0; font-weight: 800; }
.visual-v2 .hero-app-logo,
.visual-v2 .brand img { width: 176px; height: 48px; object-fit: contain; }
.visual-v2 .hero-brand-name { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.visual-v2 .icon-button,
.visual-v2 .round { width: var(--v2-touch); height: var(--v2-touch); background:rgba(255,255,255,.12); }

.visual-v2 .content-area,
.visual-v2 .content { padding: 16px 12px calc(86px + env(safe-area-inset-bottom)); }

.visual-v2 .client-dashboard-tabs,
.visual-v2 .tabs {
  gap: 6px;
  margin: 0 0 14px;
  padding: 4px;
  border: 1px solid var(--v2-line);
  border-radius: 14px;
  background: var(--v2-surface);
  overflow-x: auto;
  scrollbar-width: none;
}

.visual-v2 .client-dashboard-tabs::-webkit-scrollbar,
.visual-v2 .tabs::-webkit-scrollbar { display: none; }

.visual-v2 .client-dashboard-tabs button,
.visual-v2 .tabs button.tab,
.visual-v2 .tabs > button {
  min-height: 40px;
  border-radius: var(--v2-radius-sm);
  white-space: nowrap;
}

.visual-v2 .client-dashboard-tabs button.active,
.visual-v2 .tabs button.active { background: var(--v2-brand); color: #fff; }
.visual-v2.role-company .client-dashboard-tabs button.active { background: var(--v2-company); }

.visual-v2 .quick-order-card,
.visual-v2 .tracking-card,
.visual-v2 .card { margin-bottom: 12px; padding: 16px; }
.visual-v2 .dashboard-hero-kpis { gap: 7px; }
.visual-v2 .dashboard-hero-kpi,
.visual-v2 .dashboard-hero-kpis > article { border-radius: 12px; background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.2); }

.visual-v2.page-admin .drawer,
.visual-v2.page-partner .drawer { background:var(--v2-shell); color:#fff; border-color:rgba(255,255,255,.08); }

.visual-v2.page-admin .drawer *,
.visual-v2.page-partner .drawer * { --ink:#fff; --muted:#b6cbc5; }

.visual-v2.page-admin .drawer-link,
.visual-v2.page-admin .drawer-group-toggle,
.visual-v2.page-partner .drawer-menu button,
.visual-v2.page-partner .drawer-menu-group summary { color:#d8e7e2; background:transparent; border-color:rgba(255,255,255,.1); }

.visual-v2.page-admin .drawer-link.active,
.visual-v2.page-partner .drawer-menu button.active { background:rgba(7,159,125,.2); color:#72dfbd; border-color:rgba(7,159,125,.12); }

.visual-v2.page-admin .drawer-head,
.visual-v2.page-partner .drawer-head { border-color:rgba(255,255,255,.12); }

.visual-v2.page-partner .drawer-profile,
.visual-v2.page-admin .client-menu-header { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.12); }

.visual-v2.page-partner .drawer-head h2,
.visual-v2.page-admin .drawer-head h2 { color:#fff; }

.visual-v2 .v2-mobile-order-launcher { display:none; }
