/* Compact corporate portal, scoped to the home view. */
.home-portal-dashboard .hero { overflow: clip; padding: 20px 22px; margin-bottom: 14px; }
.home-portal-dashboard .hero-top { margin-bottom: 14px; }
.home-portal-dashboard .hero-greeting { font-size: 8px; letter-spacing: .08em; margin-bottom: 4px; }
.home-portal-dashboard .hero-name { font-size: 20px; line-height: 1.15; }
.home-portal-dashboard .hero-role { font-size: 10px; margin-top: 3px; }
.home-portal-dashboard .hero-stats.portal-stats-inline { display: flex; flex-wrap: wrap; gap: 0; }
.home-portal-dashboard .hero-stats > .portal-stat { padding: 0 22px; border-right: 1px solid var(--border); }
.home-portal-dashboard .hero-stats > .portal-stat:first-child { padding-left: 0; }
.home-portal-dashboard .hero-stats > .portal-stat:last-child { border-right: 0; padding-right: 0; }
.home-portal-dashboard .portal-stat .hstat-val { font-size: 18px; line-height: 1.25; }
.home-portal-dashboard .portal-stat .hstat-label { font-size: 9px; margin-top: 1px; }
.home-portal-dashboard .hero-search { padding: 7px 11px; margin-top: 14px; border-radius: 9px; }
.home-portal-dashboard .hero-search svg { width: 11px; height: 11px; }
.home-portal-dashboard .hero-search input { min-width: 0; font-size: 10px; color: var(--text); }
.home-portal-dashboard .portal-modules-label { font-size: 9px; margin-bottom: 8px; }
.home-portal-dashboard .modules-grid.portal-shortcuts-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); grid-auto-rows: 160px; gap: 10px; margin-bottom: 0; }
.home-portal-dashboard .portal-shortcut-card {
  --shortcut-color: #22c55e;
  --shortcut-bg: rgba(34,197,94,.09);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-height: 150px;
  min-width: 0;
  padding: 12px 11px;
  border-radius: 10px;
  text-align: left;
  font: inherit;
}
.home-portal-dashboard .portal-shortcut-icon { width: 30px; height: 30px; border-radius: 9px; color: var(--shortcut-color); background: var(--shortcut-bg); flex-shrink: 0; }
.home-portal-dashboard .portal-shortcut-icon svg { width: 16px; height: 16px; color: var(--shortcut-color); stroke: currentColor; }
.home-portal-dashboard .portal-shortcut-copy { display: flex; flex-direction: column; gap: 3px; width: 100%; }
.home-portal-dashboard .portal-shortcut-copy .mod-name { font-size: 10px; line-height: 1.35; font-weight: 700; }
.home-portal-dashboard .portal-shortcut-copy .mod-desc { font-size: 9px; line-height: 1.4; font-weight: 400; }
.home-portal-dashboard .portal-shortcut-card .mod-badge,
.home-portal-dashboard .portal-shortcut-card .portal-shortcut-badge,
.home-portal-dashboard .portal-coming-soon-badge { margin-top: auto; padding: 2px 6px; border: 0; border-radius: 999px; color: var(--shortcut-color); background: var(--shortcut-bg); font: 600 8px/1.25 var(--sans, sans-serif); white-space: nowrap; }
.home-portal-dashboard .portal-coming-soon-badge { color: #f59e0b; background: rgba(245,158,11,.12); }
.home-portal-dashboard .portal-shortcut-card:not(:disabled) {
  border-color: hsl(var(--shortcut-hue) 76% 60% / .35);
  background: linear-gradient(145deg, hsl(var(--shortcut-hue) 76% 60% / .075), var(--bg2));
}
.home-portal-dashboard .portal-shortcut-card:not(:disabled) .portal-shortcut-icon {
  width: 34px; height: 34px;
  background: hsl(var(--shortcut-hue) 76% 60% / .19);
  box-shadow: inset 0 0 0 1px hsl(var(--shortcut-hue) 76% 60% / .18);
}
.home-portal-dashboard .portal-shortcut-card:not(:disabled) .portal-shortcut-badge {
  padding: 4px 8px;
  background: hsl(var(--shortcut-hue) 76% 60% / .2);
}
.home-portal-dashboard .portal-shortcut-card:not(:disabled):hover {
  border-color: var(--shortcut-color);
  box-shadow: 0 5px 18px hsl(var(--shortcut-hue) 76% 60% / .12);
}
.home-portal-dashboard .portal-shortcut-card:not(:disabled):focus-visible {
  outline: 2px solid var(--shortcut-color); outline-offset: 3px;
}
.home-portal-dashboard .portal-shortcut-card:disabled { cursor: not-allowed; box-shadow: none; }
.home-portal-dashboard .portal-shortcut-card:disabled .portal-shortcut-icon { opacity: .55; }
.home-portal-dashboard .portal-shortcut-card:disabled:hover { transform: none; border-color: var(--border); }
.home-portal-dashboard .portal-shortcut-card:disabled .mod-name { color: var(--text2); }
.home-portal-dashboard .portal-shortcut-empty { grid-column: 1 / -1; color: var(--text3); font-size: 11px; padding: 18px 0; }

.home-portal-dashboard .portal-shortcut-card[data-shortcut-tone="blue"],
.home-portal-dashboard .portal-shortcut-card[data-source-control="subnav-crm"],
.home-portal-dashboard .portal-shortcut-card[data-source-control="subnav-quality"],
.home-portal-dashboard .portal-shortcut-card[data-source-control="subnav-tecnicos"],
.home-portal-dashboard .portal-shortcut-card[data-source-control="nav-admin"] { --shortcut-color: #0ea5e9; --shortcut-bg: rgba(14,165,233,.09); }
.home-portal-dashboard .portal-shortcut-card[data-shortcut-tone="teal"],
.home-portal-dashboard .portal-shortcut-card[data-source-control="subnav-playbook-operacional"],
.home-portal-dashboard .portal-shortcut-card[data-source-control="#folder-alocacoes > button"] { --shortcut-color: #14b8a6; --shortcut-bg: rgba(20,184,166,.09); }
.home-portal-dashboard .portal-shortcut-card[data-shortcut-tone="orange"],
.home-portal-dashboard .portal-shortcut-card[data-source-control="subnav-sow"],
.home-portal-dashboard .portal-shortcut-card[data-source-control="subnav-po"],
.home-portal-dashboard .portal-shortcut-card[data-source-control="subnav-contracts"],
.home-portal-dashboard .portal-shortcut-card[data-source-control="subnav-tecnicos-docs"] { --shortcut-color: #f59e0b; --shortcut-bg: rgba(245,158,11,.09); }
.home-portal-dashboard .portal-shortcut-card[data-shortcut-tone="purple"],
.home-portal-dashboard .portal-shortcut-card[data-source-control="nav-chamados"],
.home-portal-dashboard .portal-shortcut-card[data-source-control="subnav-powerzap"] { --shortcut-color: #8b5cf6; --shortcut-bg: rgba(139,92,246,.09); }
.home-portal-dashboard .portal-shortcut-card[data-shortcut-tone="red"],
.home-portal-dashboard .portal-shortcut-card[data-source-control="nav-backlog-depto"] { --shortcut-color: #f43f5e; --shortcut-bg: rgba(244,63,94,.09); }
.home-portal-dashboard .portal-shortcut-card[data-shortcut-tone="green"] { --shortcut-color: #22c55e; --shortcut-bg: rgba(34,197,94,.09); }

.home-portal-dashboard .portal-shortcut-card[data-home-shortcut="true"] {
  --shortcut-color: hsl(var(--shortcut-hue) 76% 60%);
  --shortcut-bg: hsl(var(--shortcut-hue) 76% 60% / .12);
}
body.light-theme .home-portal-dashboard .portal-shortcut-card[data-home-shortcut="true"] {
  --shortcut-color: hsl(var(--shortcut-hue) 76% 36%);
  --shortcut-bg: hsl(var(--shortcut-hue) 76% 45% / .1);
}
.home-portal-dashboard .portal-shortcut-copy .mod-name,
.home-portal-dashboard .portal-shortcut-copy .mod-desc { overflow-wrap: anywhere; }
@media (max-width: 1180px) {
  .home-portal-dashboard .modules-grid.portal-shortcuts-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .home-portal-dashboard .modules-grid.portal-shortcuts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .home-portal-dashboard .hero { padding: 18px 16px; }
  .home-portal-dashboard .hero-stats > .portal-stat { padding: 0 12px; }
  .home-portal-dashboard .portal-stat .hstat-val { font-size: 17px; }
  .home-portal-dashboard .portal-stat .hstat-label { font-size: 8px; }
  .home-portal-dashboard .modules-grid.portal-shortcuts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
