@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@700;800;900&display=swap');

:root {
  --color-primary: #f4b000;
  --color-primary-soft: #ffe8a3;
  --color-primary-dark: #d89a00;
  --color-accent: #d89a00;
  --color-accent-soft: #ffe8a3;
  --color-bg: #f4f6f8;
  --color-bg-warm: #f7f2e8;
  --color-bg-quiet: #eef1f4;
  --color-surface: #ffffff;
  --color-text: #1f2933;
  --color-muted: #6b7280;
  --color-border: #e5e7eb;
  --radius: 6px;
  --radius-sm: 4px;
  --radius-lg: 10px;
  --shadow: 0 18px 42px rgba(31, 41, 51, 0.10);
  --theme-focus-ring: 0 0 0 0.22rem rgba(244, 176, 0, 0.24);
  --bs-primary: #f4b000;
  --bs-primary-rgb: 244, 176, 0;
  --bs-link-color: #986700;
  --bs-link-hover-color: #111827;
  --bs-info: #d89a00;
  --bs-info-rgb: 216, 154, 0;
  --hub-primary: #f4b000;
  --hub-primary-dark: #d89a00;
  --system-accent: #d89a00;
  --calc-blue: #d89a00;
  --calc-primary: #f4b000;
  --estacas-blue: #d89a00;
}

html {
  accent-color: var(--color-primary);
}

body {
  color: var(--color-text);
  background:
    linear-gradient(90deg, rgba(31, 41, 51, 0.035) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, var(--color-bg) 0%, #f4f6f8 46%, #ffffff 100%);
  background-size: 72px 72px, auto;
}

a {
  color: #d89a00;
}

a:hover {
  color: #111827;
}

.brand-wordmark {
  display: inline-flex;
  align-items: baseline;
  gap: 0.34em;
  color: var(--color-text);
  font-family: "Mulish", "Segoe UI", Arial, sans-serif;
  font-size: clamp(1.05rem, 1.2vw, 1.32rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  white-space: nowrap;
}

.brand-wordmark span {
  color: var(--color-primary-dark);
  font-weight: 850;
}

.brand-wordmark strong {
  color: #111827;
  font-weight: 950;
  letter-spacing: 0.04em;
}

.hub-brand-link .hub-topbar-logo,
.enghub-landing .brand-mark img,
.enghub-landing .footer-inner > img,
.calc-public-brand img,
.calc-hero-brand img,
.modelos-brand img,
.hub-brand > .hub-logo,
.auth-brand > img {
  display: block !important;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

.hub-brand-link .hub-topbar-logo,
.calc-public-brand img,
.enghub-landing .brand-mark img {
  height: 34px;
}

.enghub-landing .footer-inner > img,
.calc-hero-brand img,
.modelos-brand img {
  height: 38px;
}

.hub-brand > .hub-logo {
  height: 44px;
}

.auth-brand > img {
  height: 48px;
}

.hub-brand-link .brand-wordmark,
.enghub-landing .brand-mark .brand-wordmark,
.enghub-landing .footer-inner .brand-wordmark,
.calc-public-brand .brand-wordmark,
.calc-hero-brand .brand-wordmark,
.modelos-brand .brand-wordmark,
.hub-brand > .brand-wordmark,
.auth-brand .brand-wordmark {
  display: none !important;
}

.hub-brand-link,
.calc-public-brand,
.calc-hero-brand,
.modelos-brand,
.enghub-landing .brand-mark,
.enghub-landing .footer-inner {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: inherit;
  text-decoration: none;
}

.btn,
.auth-btn,
.hub-btn,
button.btn {
  border-radius: var(--radius);
  font-weight: 800;
  letter-spacing: 0;
}

.btn-primary,
.auth-btn-primary,
.hub-btn-primary {
  color: #1f2933;
  background: linear-gradient(180deg, #ffc42d 0%, var(--color-primary) 100%);
  border-color: var(--color-primary-dark);
  box-shadow: 0 10px 22px rgba(216, 154, 0, 0.20);
}

.btn-primary:hover,
.btn-primary:focus,
.auth-btn-primary:hover,
.auth-btn-primary:focus,
.hub-btn-primary:hover,
.hub-btn-primary:focus {
  color: #111827;
  background: linear-gradient(180deg, #ffd15a 0%, #e6a500 100%);
  border-color: #b77900;
}

.btn-secondary,
.btn-dark,
.auth-btn-secondary,
.hub-btn-secondary {
  color: #ffffff;
  background: var(--color-text);
  border-color: var(--color-text);
}

.btn-secondary:hover,
.btn-dark:hover,
.auth-btn-secondary:hover,
.hub-btn-secondary:hover {
  color: #ffffff;
  background: #111827;
  border-color: #111827;
}

.btn-outline-primary {
  color: #111827;
  border-color: var(--color-primary-dark);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  color: #1f2933;
  background: var(--color-primary);
  border-color: var(--color-primary-dark);
}

.btn-outline-secondary {
  color: var(--color-text);
  border-color: #c8ced6;
  background: #ffffff;
}

.btn-link,
.auth-link {
  color: #986700;
}

.btn-link:hover,
.auth-link:hover {
  color: var(--color-accent);
}

.card,
.modal-content,
.dropdown-menu,
.hub-data-card,
.hub-menu-card,
.hub-settings-card {
  border-color: var(--color-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.form-control,
.form-select,
.auth-field input,
.auth-field select,
.auth-field textarea {
  color: var(--color-text);
  border-color: #d6dbe2;
  border-radius: var(--radius);
  background-color: #ffffff;
}

.form-control:focus,
.form-select:focus,
.auth-field input:focus,
.auth-field select:focus,
.auth-field textarea:focus {
  border-color: var(--color-primary-dark);
  box-shadow: var(--theme-focus-ring);
}

.form-label,
.auth-field label {
  color: var(--color-text);
  font-weight: 800;
}

.table {
  --bs-table-color: var(--color-text);
  --bs-table-border-color: var(--color-border);
  --bs-table-hover-bg: rgba(244, 176, 0, 0.08);
}

.table thead th,
table thead th {
  color: var(--color-text);
  background: #fff6db;
  border-bottom-color: #dcc37c;
  font-weight: 850;
}

.badge.text-bg-primary,
.badge.text-bg-info,
.bg-primary,
.bg-info,
.progress-bar {
  color: #1f2933 !important;
  background-color: var(--color-primary) !important;
}

.badge.text-bg-info,
.badge.bg-info,
.text-bg-info {
  color: #1f2933 !important;
  background-color: #ffe8a3 !important;
}

.text-info {
  color: #d89a00 !important;
}

.border-info {
  border-color: var(--color-primary-dark) !important;
}

.text-primary {
  color: #111827 !important;
}

.border-primary {
  border-color: var(--color-primary-dark) !important;
}

body.has-hub-sidebar {
  --hub-topbar-height: 58px;
  --hub-topbar-bg: rgba(255, 255, 255, 0.96);
  --hub-topbar-ink: var(--color-text);
  --hub-topbar-muted: var(--color-muted);
  --hub-topbar-primary: var(--color-primary-dark);
  --hub-topbar-primary-dark: #111827;
  --hub-topbar-border: rgba(31, 41, 51, 0.12);
  --hub-topbar-shadow: 0 16px 36px rgba(31, 41, 51, 0.12);
}

.hub-topbar {
  background: var(--hub-topbar-bg);
  border-bottom-color: var(--hub-topbar-border);
}

.hub-topbar-inner {
  min-height: var(--hub-topbar-height);
}

.hub-sidebar {
  background: linear-gradient(180deg, #1f2933 0%, #111827 100%);
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 16px 0 36px rgba(17, 24, 39, 0.18);
}

.hub-sidebar-link {
  color: #d1d5db;
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.08);
  border-radius: var(--radius);
  box-shadow: none;
}

.hub-sidebar-link:hover,
.hub-sidebar-link:focus-visible {
  color: #ffffff;
  background: rgba(244, 176, 0, 0.18);
  border-color: rgba(244, 176, 0, 0.42);
  box-shadow: 0 12px 22px rgba(0, 0, 0, 0.14);
}

.hub-sidebar-link.is-active {
  color: #1f2933;
  background: linear-gradient(180deg, #ffc42d 0%, var(--color-primary) 100%);
  border-color: var(--color-primary-dark);
  box-shadow: 0 14px 26px rgba(244, 176, 0, 0.24);
}

.hub-sidebar-toggle,
.hub-home-link,
.hub-message-trigger,
.hub-weather-trigger,
.hub-user-chip {
  border-color: rgba(31, 41, 51, 0.12);
  border-radius: var(--radius);
  box-shadow: 0 10px 22px rgba(31, 41, 51, 0.08);
}

.hub-weather-trigger-icon,
.hub-user-avatar,
.hub-menu-icon,
.module-icon {
  color: #1f2933;
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);
}

.hub-user-avatar {
  color: #1f2933;
}

.hub-message-badge,
.hub-message-inline-count {
  background: var(--color-accent);
  color: #ffffff;
}

.hub-picker-chip,
.status-badge,
.recommended-badge {
  color: #111827;
  border-color: rgba(216, 154, 0, 0.34);
  background: #fff4d2;
}

.hub-tree-pill,
.hub-tree-module-count,
.hub-data-badge-info,
.hub-project-badge,
.hub-card-tag,
.calc-card-tag,
.hub-project-summary-stat,
.summary-badge,
.formula-badge,
.lev-badge {
  color: #111827;
  border-color: rgba(216, 154, 0, 0.28);
  background: #fff4d2;
}

.hub-tree-pill:hover,
.hub-tree-pill:focus-visible,
.hub-project-summary-item:hover,
.hub-project-summary-item:focus-visible,
.hub-card:hover,
.compras-work-card:hover,
.compras-work-card.is-active {
  border-color: rgba(216, 154, 0, 0.42) !important;
  box-shadow: 0 14px 30px rgba(216, 154, 0, 0.12) !important;
}

.hub-card::before {
  background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
}

.hub-btn-outline,
.hub-btn-ghost,
.calc-public-btn-secondary,
.calc-btn-outline {
  color: var(--color-text);
  border-color: rgba(31, 41, 51, 0.18);
  background: #ffffff;
}

.hub-btn-outline:hover,
.hub-btn-ghost:hover,
.calc-public-btn-secondary:hover,
.calc-btn-outline:hover,
.calc-btn-outline:focus {
  color: #111827;
  border-color: var(--color-primary-dark);
  background: #fff4d2;
}

.calc-catalogo,
.calc-materiais,
.calc-shell,
.drywall-shell {
  --calc-ink: var(--color-text);
  --calc-muted: var(--color-muted);
  --calc-border: #e5dfd3;
  --calc-primary: var(--color-primary);
  --calc-primary-strong: var(--color-primary-dark);
  --calc-blue: var(--color-primary-dark);
  --calc-blue-dark: var(--color-text);
  --calc-surface: var(--color-surface);
  --calc-surface-soft: var(--color-bg);
  --calc-shadow: var(--shadow);
  background:
    linear-gradient(90deg, rgba(31, 41, 51, 0.035) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, #fffaf0 0%, var(--color-bg) 54%, #ffffff 100%);
  background-size: 72px 72px, auto;
  color: var(--color-text);
}

.calc-public-header {
  border-bottom-color: #e5dfd3;
  background: rgba(255, 255, 255, 0.96);
}

.calc-public-nav a {
  color: var(--color-text);
}

.calc-public-nav a:hover,
.calc-kicker,
.calc-card-tag,
.calc-empty,
.materiais-app .text-muted,
.calc-tool-link-horizontal .calc-tool-meta,
.calc-tool-link-horizontal .calc-tool-kicker {
  color: #d89a00;
}

.calc-public-btn-primary,
.calc-btn-primary {
  color: #1f2933;
  background: linear-gradient(180deg, #ffc42d 0%, var(--color-primary) 100%);
  border-color: var(--color-primary-dark);
  box-shadow: 0 10px 22px rgba(216, 154, 0, 0.18);
}

.calc-public-btn-primary:hover,
.calc-public-btn-primary:focus,
.calc-btn-primary:hover,
.calc-btn-primary:focus {
  color: #111827;
  background: linear-gradient(180deg, #ffd15a 0%, #e6a500 100%);
  border-color: #b77900;
}

.calc-hero,
.calc-card,
.calc-filter-card,
.calc-empty,
.calc-tool-link-horizontal {
  border-color: #e5dfd3;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.calc-hero {
  background:
    linear-gradient(90deg, rgba(31, 41, 51, 0.035) 0 1px, transparent 1px 100%),
    var(--color-surface);
  background-size: 36px 36px, auto;
}

.calc-card:hover,
.calc-tool-link-horizontal:hover,
.calc-tool-link-horizontal:focus-visible,
.materiais-app .service-card-link:focus-visible .service-card {
  border-color: rgba(216, 154, 0, 0.42) !important;
  box-shadow: 0 16px 32px rgba(216, 154, 0, 0.12) !important;
}

.calc-card-tag,
.calc-tool-chip {
  color: var(--tool-color, #111827);
  background: var(--tool-chip-bg, #fff4d2);
  border-color: var(--tool-border, rgba(216, 154, 0, 0.30));
}

.calc-tool-link-horizontal .calc-tool-icon,
.calc-card-visual {
  color: var(--tool-color, #111827);
  background: var(--tool-bg, #f1f5f9);
  border-color: var(--tool-border, #e5e7eb);
}

.calc-card-visual svg,
.calc-tool-link-horizontal svg,
.calc-tool-link-horizontal i,
.calc-card svg {
  color: currentColor;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
}

.calc-tool-link-horizontal.tone-blue {
  --tool-color: #2563eb;
  --tool-bg: #eff6ff;
  --tool-chip-bg: #eff6ff;
  --tool-border: #bfdbfe;
}

.calc-tool-link-horizontal.tone-green {
  --tool-color: #16a34a;
  --tool-bg: #f0fdf4;
  --tool-chip-bg: #f0fdf4;
  --tool-border: #bbf7d0;
}

.calc-tool-link-horizontal.tone-gold {
  --tool-color: #111827;
  --tool-bg: #fffbeb;
  --tool-chip-bg: #fffbeb;
  --tool-border: #fde68a;
}

.calc-tool-link-horizontal.tone-cyan {
  --tool-color: #0891b2;
  --tool-bg: #ecfeff;
  --tool-chip-bg: #ecfeff;
  --tool-border: #a5f3fc;
}

.calc-tool-link-horizontal.tone-orange {
  --tool-color: #111827;
  --tool-bg: #fff4d2;
  --tool-chip-bg: #fff4d2;
  --tool-border: #f4b000;
}

.calc-tool-link-horizontal.tone-slate {
  --tool-color: #475569;
  --tool-bg: #f1f5f9;
  --tool-chip-bg: #f8fafc;
  --tool-border: #cbd5e1;
}

.calc-tool-link-horizontal.tone-teal {
  --tool-color: #0f766e;
  --tool-bg: #f0fdfa;
  --tool-chip-bg: #f0fdfa;
  --tool-border: #99f6e4;
}

.materiais-app .service-thumb {
  background: linear-gradient(135deg, #fff4d2, #fffaf0);
  border-bottom-color: #e5dfd3;
}

.hub-section-label,
.hub-kicker,
.hub-card-tag i,
.hub-meta-item i,
.hub-project-summary-item i,
.hub-data-badge-info {
  color: #d89a00;
}

.calc-public-header img[src*="engenharia-hub"],
.calc-header img[src*="engenharia-hub"],
.hub-system-logo[src*="engenharia-hub"] {
  filter: none;
}

.hub-picker-item:hover,
.hub-message-item.is-unread {
  border-color: rgba(216, 154, 0, 0.32);
  box-shadow: 0 14px 30px rgba(216, 154, 0, 0.10);
}

.hub-settings-tabs .nav-link.active,
.nav-pills .nav-link.active,
.nav-tabs .nav-link.active {
  color: #111827;
  background: #fff4d2;
  border-color: rgba(216, 154, 0, 0.34);
}

.hub-landing,
.hub-services {
  --hub-ink: var(--color-text);
  --hub-muted: var(--color-muted);
  --hub-primary: var(--color-primary);
  --hub-primary-dark: var(--color-primary-dark);
  --hub-accent: var(--color-accent);
  --hub-surface: var(--color-surface);
  --hub-border: rgba(31, 41, 51, 0.12);
  --hub-shadow: var(--shadow);
  background: var(--color-bg);
}

.hub-bg {
  background:
    linear-gradient(90deg, rgba(31, 41, 51, 0.04) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, #fffaf0 0%, var(--color-bg) 58%, #f4f6f8 100%);
  background-size: 72px 72px, auto;
}

.auth-page {
  --auth-bg: var(--color-bg);
  --auth-surface: var(--color-surface);
  --auth-border: rgba(31, 41, 51, 0.12);
  --auth-ink: var(--color-text);
  --auth-muted: var(--color-muted);
  --auth-primary: var(--color-primary-dark);
  --auth-primary-dark: #111827;
  --auth-shadow: var(--shadow);
  background:
    linear-gradient(90deg, rgba(31, 41, 51, 0.035) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, #fffaf0 0%, var(--auth-bg) 100%);
  background-size: 72px 72px, auto;
}

.auth-showcase,
.auth-card,
.auth-highlight {
  border-radius: var(--radius);
}

.auth-showcase::before,
.auth-showcase::after {
  display: none;
}

.auth-eyebrow,
.auth-step.is-active {
  color: #111827;
  background: #fff4d2;
  border-color: rgba(216, 154, 0, 0.32);
}

body.enghub-landing {
  --color-ink: var(--color-text);
  --color-soft: #f7f2e8;
  --color-panel: var(--color-surface);
  --color-line: #e5dfd3;
  --color-blue: var(--color-primary-dark);
  --color-blue-dark: var(--color-text);
  --color-blue-soft: #fff4d2;
  background: #fffaf0;
}

.enghub-landing .site-header {
  background: rgba(255, 255, 255, 0.95);
  border-bottom-color: rgba(31, 41, 51, 0.12);
  box-shadow: 0 10px 26px rgba(31, 41, 51, 0.08);
}

.enghub-landing .main-nav a,
.enghub-landing .footer-inner a {
  color: var(--color-text);
}

.enghub-landing .main-nav a:hover,
.enghub-landing .footer-inner a:hover,
.enghub-landing .eyebrow,
.enghub-landing .signal-grid i,
.enghub-landing .benefit-list i,
.enghub-landing .price-card li i,
.enghub-landing .step-card span {
  color: #d89a00;
}

.enghub-landing .section-band {
  background:
    linear-gradient(90deg, rgba(31, 41, 51, 0.045) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, #fff6db 0%, #fffaf0 48%, #ffffff 100%);
  background-size: 72px 72px, auto;
}

.enghub-landing .section-muted {
  background: var(--color-bg);
  border-block-color: #e5dfd3;
}

.enghub-landing .solid-card,
.enghub-landing .module-card,
.enghub-landing .step-card,
.enghub-landing .price-card,
.enghub-landing .visual-panel,
.enghub-landing .image-feature,
.enghub-landing .landing-media {
  border-color: #e5dfd3;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.enghub-landing .module-icon {
  border-color: rgba(244, 176, 0, 0.48);
}

.enghub-landing .solid-card i,
.enghub-landing .module-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  border: 1px solid rgba(244, 176, 0, 0.50);
  border-radius: 12px !important;
  color: #111827;
  background: #fff4d2;
  box-shadow: inset 0 -2px 0 rgba(244, 176, 0, 0.28);
}

.enghub-landing .solid-card i {
  font-size: 1.35rem;
}

.enghub-landing .module-icon i {
  color: #111827;
  font-size: 1.25rem;
}

.enghub-landing .solid-card:hover i,
.enghub-landing .module-card:hover .module-icon {
  color: #111827;
  background: #f4b000;
  border-color: #d89a00;
}

.enghub-landing .solid-card:hover,
.enghub-landing .module-card:hover {
  border-color: rgba(244, 176, 0, 0.62);
}

.enghub-landing .price-card-featured {
  border-color: var(--color-primary-dark);
  box-shadow: 0 22px 46px rgba(216, 154, 0, 0.18);
}

.enghub-landing .price-card strong {
  color: var(--color-text);
}

.enghub-landing .final-cta {
  color: #ffffff;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.07) 0 1px, transparent 1px 100%),
    linear-gradient(135deg, #1f2933 0%, #111827 100%);
  background-size: 64px 64px, auto;
}

.enghub-landing .final-cta .btn-primary {
  color: #1f2933;
}

.enghub-landing .final-cta .btn-secondary {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.40);
  background: rgba(255, 255, 255, 0.08);
}

@media (max-width: 768px) {
  body.has-hub-sidebar {
    padding-left: 0;
  }

  .hub-sidebar {
    background: rgba(31, 41, 51, 0.98);
  }

  .hub-weather-trigger-copy,
  .hub-user-chip-copy {
    display: none;
  }

  .hub-topbar-actions {
    gap: 6px;
  }
}

/* Neutral base reset: keep yellow as an accent, not as a page wash. */
body,
body.auth-page,
body.enghub-landing,
.hub-landing,
.hub-services,
.calc-catalogo,
.calc-materiais,
.calc-shell,
.drywall-shell {
  background:
    linear-gradient(90deg, rgba(31, 41, 51, 0.028) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, #f8fafc 0%, #f4f6f8 52%, #ffffff 100%) !important;
  background-size: 72px 72px, auto !important;
}

.auth-page {
  background:
    linear-gradient(90deg, rgba(31, 41, 51, 0.025) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, #f8fafc 0%, #eef1f4 100%) !important;
}

.hub-bg,
.enghub-landing .section-band,
.enghub-landing .hero,
.enghub-landing .section,
.calc-hero {
  background:
    linear-gradient(90deg, rgba(31, 41, 51, 0.03) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, #f8fafc 0%, #f4f6f8 58%, #ffffff 100%) !important;
  background-size: 72px 72px, auto !important;
}

.enghub-landing .section-muted,
.hub-services .hub-section,
.hub-section {
  background-color: transparent;
}

.auth-showcase,
.auth-card,
.auth-highlight,
.enghub-landing .solid-card,
.enghub-landing .module-card,
.enghub-landing .step-card,
.enghub-landing .price-card,
.enghub-landing .visual-panel,
.enghub-landing .image-feature,
.hub-panel,
.hub-card,
.hub-data-card,
.hub-menu-card,
.hub-settings-card,
.calc-card,
.calc-filter-card,
.calc-empty {
  background-color: #ffffff;
}

.auth-eyebrow,
.auth-step.is-active,
.hub-tree-pill,
.hub-tree-module-count,
.hub-data-badge-info,
.hub-project-badge,
.hub-card-tag,
.status-badge,
.recommended-badge,
.enghub-landing .signal-grid span,
.enghub-landing .benefit-list span {
  background: #f3f4f6;
  border-color: #d9dee5;
  color: #111827;
}

.auth-step.is-active,
.price-card-featured {
  background: #fff9e8;
  border-color: rgba(216, 154, 0, 0.38);
}

.auth-showcase::before,
.auth-showcase::after,
body.auth-page::before,
body.auth-page::after {
  display: none !important;
}

/* More technical geometry: compact radii, fewer pill shapes. */
.card,
.modal-content,
.dropdown-menu,
.auth-showcase,
.auth-card,
.auth-highlight,
.enghub-landing .solid-card,
.enghub-landing .module-card,
.enghub-landing .step-card,
.enghub-landing .price-card,
.enghub-landing .visual-panel,
.enghub-landing .image-feature,
.enghub-landing .landing-media,
.hub-panel,
.hub-card,
.hub-menu-card,
.hub-data-card,
.hub-settings-card,
.hub-project-card,
.hub-tree-item,
.hub-tree-summary,
.hub-project-summary-card,
.hub-project-summary-item,
.calc-hero,
.calc-card,
.calc-filter-card,
.calc-empty,
.calc-tool-link-horizontal,
.materiais-app .service-thumb {
  border-radius: var(--radius-lg) !important;
}

.btn,
.auth-btn,
.hub-btn,
.calc-btn,
.calc-public-btn,
.form-control,
.form-select,
.auth-field input,
.auth-field select,
.auth-field textarea,
.hub-sidebar-toggle,
.hub-home-link,
.hub-message-trigger,
.hub-weather-trigger,
.hub-user-chip,
.hub-sidebar-link,
.hub-tree-pill,
.hub-tree-module-count,
.hub-data-badge,
.hub-project-badge,
.hub-card-tag,
.calc-card-tag,
.calc-tool-chip,
.status-badge,
.recommended-badge,
.auth-eyebrow,
.auth-step {
  border-radius: var(--radius) !important;
}

.hub-user-avatar,
.hub-message-badge,
.hub-weather-trigger-icon {
  border-radius: 50% !important;
}

.hub-project-tree,
.hub-project-list,
.hub-project-summary-list {
  gap: 12px;
}

/* Logged hub polish: keep project work surfaces neutral and use yellow only for action/accent. */
.hub-services .hub-panel {
  background: #ffffff !important;
  border-color: #e1e5ea !important;
  box-shadow: 0 18px 36px rgba(31, 41, 51, 0.08) !important;
}

.hub-services .hub-tree-item,
.hub-services .hub-tree-summary {
  background: #ffffff !important;
  border-color: #e1e5ea !important;
}

.hub-services .hub-tree-item {
  box-shadow: 0 10px 22px rgba(31, 41, 51, 0.06) !important;
}

.hub-services .hub-tree-item[open] > .hub-tree-summary {
  border-bottom-color: #e5e7eb !important;
}

.hub-services .hub-tree-pill,
.hub-services .hub-tree-module-count,
.hub-services .hub-project-badge,
.hub-services .hub-project-summary-stat {
  background: #f3f4f6 !important;
  border-color: #e5e7eb !important;
  color: #1f2933 !important;
}

.hub-services .hub-tree-pill {
  box-shadow: none !important;
}

.hub-services .hub-tree-pill:hover,
.hub-services .hub-tree-pill:focus-visible {
  background: #fff7d6 !important;
  border-color: rgba(244, 176, 0, 0.55) !important;
  color: #1f2933 !important;
  box-shadow: 0 10px 20px rgba(216, 154, 0, 0.12) !important;
}

.hub-services .hub-project-title {
  color: #111827 !important;
}

.hub-services .hub-project-meta {
  color: #64748b !important;
}

.hub-btn-new-project,
.hub-services #openNewProjectBtn {
  color: #1f2933 !important;
  background: linear-gradient(180deg, #ffc42d 0%, var(--color-primary) 100%) !important;
  border-color: var(--color-primary-dark) !important;
  box-shadow: 0 10px 22px rgba(216, 154, 0, 0.18) !important;
}

.hub-btn-new-project:hover,
.hub-btn-new-project:focus,
.hub-services #openNewProjectBtn:hover,
.hub-services #openNewProjectBtn:focus {
  color: #111827 !important;
  background: linear-gradient(180deg, #ffd15a 0%, #e6a500 100%) !important;
  border-color: #b77900 !important;
}

/* Standard card system: less rounded, no yellow wash on hover, colored technical icons. */
.hub-menu-card,
.hub-card,
.hub-panel,
.hub-project-card,
.hub-project-summary-card,
.hub-project-summary-item,
.hub-tree-item,
.hub-tree-summary,
.calc-card,
.calc-hero,
.calc-filter-card,
.calc-tool-link-horizontal,
.modal-content,
.dropdown-menu {
  border-radius: 10px !important;
}

.hub-menu-icon,
.calc-card-visual,
.calc-tool-link-horizontal .calc-tool-icon {
  width: 60px !important;
  height: 60px !important;
  border-radius: 12px !important;
  background: var(--tool-bg, #f1f5f9) !important;
  border: 1px solid var(--tool-border, #e5e7eb) !important;
  color: var(--tool-color, #475569) !important;
  box-shadow: none !important;
}

.hub-menu-icon svg,
.hub-menu-icon i,
.calc-card-visual svg,
.calc-card-visual i,
.calc-tool-link-horizontal .calc-tool-icon svg,
.calc-tool-link-horizontal .calc-tool-icon i {
  width: 30px !important;
  height: 30px !important;
  color: currentColor !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 1.55 !important;
}

.tone-blue {
  --tool-color: #2563eb;
  --tool-bg: #eff6ff;
  --tool-chip-bg: #eff6ff;
  --tool-border: #bfdbfe;
}

.tone-green {
  --tool-color: #16a34a;
  --tool-bg: #f0fdf4;
  --tool-chip-bg: #f0fdf4;
  --tool-border: #bbf7d0;
}

.tone-gold {
  --tool-color: #111827;
  --tool-bg: #fffbeb;
  --tool-chip-bg: #fffbeb;
  --tool-border: #fde68a;
}

.tone-cyan {
  --tool-color: #0891b2;
  --tool-bg: #ecfeff;
  --tool-chip-bg: #ecfeff;
  --tool-border: #a5f3fc;
}

.tone-orange {
  --tool-color: #111827;
  --tool-bg: #fff4d2;
  --tool-chip-bg: #fff4d2;
  --tool-border: #f4b000;
}

.tone-slate {
  --tool-color: #475569;
  --tool-bg: #f1f5f9;
  --tool-chip-bg: #f8fafc;
  --tool-border: #cbd5e1;
}

.tone-teal {
  --tool-color: #0f766e;
  --tool-bg: #f0fdfa;
  --tool-chip-bg: #f0fdfa;
  --tool-border: #99f6e4;
}

.hub-card::before,
.hub-menu-card::before {
  display: none !important;
}

.hub-menu-card-link:hover,
.hub-card:hover,
.calc-card:hover,
.hub-project-summary-item:hover,
.hub-project-summary-item:focus-visible,
.hub-picker-item:hover {
  transform: translateY(-2px) !important;
  border-color: #cbd5e1 !important;
  background: #ffffff !important;
  box-shadow: 0 18px 32px rgba(31, 41, 51, 0.10) !important;
}

.hub-btn-outline:hover,
.hub-btn-ghost:hover,
.calc-btn-outline:hover,
.calc-btn-outline:focus {
  color: #111827 !important;
  border-color: #cbd5e1 !important;
  background: #f8fafc !important;
  box-shadow: 0 8px 18px rgba(31, 41, 51, 0.08) !important;
}

.btn,
.auth-btn,
.hub-btn,
.calc-btn,
.calc-public-btn,
.form-control,
.form-select,
.hub-sidebar-link,
.hub-sidebar-toggle,
.hub-home-link,
.hub-message-trigger,
.hub-weather-trigger,
.hub-user-chip,
.hub-picker-item,
.hub-picker-search,
.hub-tree-pill,
.hub-tree-module-count,
.hub-data-badge,
.hub-project-badge,
.hub-card-tag,
.calc-card-tag,
.calc-tool-chip,
.status-badge,
.recommended-badge,
.auth-eyebrow,
.auth-step {
  border-radius: 8px !important;
}

body.has-hub-sidebar .calc-tools-hero {
  display: none !important;
}
