.app-shell { min-height: 100vh; }

.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 40;
  display: flex;
  width: var(--sidebar-width);
  flex-direction: column;
  padding: 20px 14px 16px;
  overflow-x: hidden;
  background: var(--color-sidebar);
  color: var(--color-sidebar-text);
  transition: width var(--transition-fast), transform var(--transition-fast);
}

.brand {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 12px;
  padding: 0 8px 18px;
  border-bottom: 1px solid var(--color-sidebar-line);
  white-space: nowrap;
}

.brand-mark {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border: 1px solid var(--color-sidebar-line-strong);
  border-radius: 11px;
  background: var(--color-primary);
  color: var(--color-surface);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
}

.brand-copy, .company-copy, .profile-copy { display: flex; min-width: 0; flex-direction: column; }
.brand-copy strong { color: var(--color-surface); font-size: 20px; letter-spacing: -.02em; }
.brand-copy span { color: var(--color-sidebar-muted); font-size: 11px; }

.sidebar-nav { flex: 1; padding: 18px 0; }
.sidebar-nav ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }

.nav-item {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 42px;
  align-items: center;
  gap: 13px;
  padding: 9px 11px;
  overflow: hidden;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--color-sidebar-muted);
  text-align: left;
  white-space: nowrap;
  transition: color var(--transition-fast), background-color var(--transition-fast);
}

.nav-item .ui-icon { width: 19px; height: 19px; flex: 0 0 19px; }
.nav-item:hover { background: var(--color-sidebar-hover); color: var(--color-surface); }
.nav-item.is-active { background: var(--color-sidebar-raised); color: var(--color-surface); font-weight: 700; }
.nav-item.is-active::before { position: absolute; inset: 9px auto 9px 0; width: 3px; border-radius: 3px; background: var(--color-sidebar-accent); content: ''; }

.sidebar-footer {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 14px;
  border-top: 1px solid var(--color-sidebar-line);
}

.company-chip { display: flex; min-width: 0; flex: 1; align-items: center; gap: 9px; white-space: nowrap; }
.company-mark { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border-radius: 9px; background: var(--color-sidebar-chip); color: var(--color-surface); font-size: 10px; font-weight: 800; }
.company-copy strong { color: var(--color-sidebar-text); font-size: 12px; }
.company-copy small { color: var(--color-sidebar-muted); font-size: 10px; }
.sidebar-collapse { flex: 0 0 34px; width: 34px; height: 34px; border-color: var(--color-sidebar-chip); background: transparent; color: var(--color-sidebar-text); font-size: 24px; }
.sidebar-collapse:hover { background: var(--color-sidebar-control-hover); }

.app-main { min-height: 100vh; margin-left: var(--sidebar-width); transition: margin-left var(--transition-fast); }
.sidebar-backdrop { display: none; }

.app-shell.is-sidebar-collapsed .sidebar { width: var(--sidebar-collapsed-width); }
.app-shell.is-sidebar-collapsed .app-main { margin-left: var(--sidebar-collapsed-width); }
.app-shell.is-sidebar-collapsed .brand-copy,
.app-shell.is-sidebar-collapsed .nav-item span,
.app-shell.is-sidebar-collapsed .company-copy { opacity: 0; pointer-events: none; }
.app-shell.is-sidebar-collapsed .nav-item { justify-content: center; padding-inline: 0; }
.app-shell.is-sidebar-collapsed .sidebar-collapse { position: absolute; right: -2px; bottom: 13px; transform: rotate(180deg); }

.topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  min-height: var(--topbar-height);
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 12px clamp(20px, 2.7vw, 40px);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-topbar-glass);
  backdrop-filter: blur(12px);
}

.topbar-leading, .topbar-actions, .profile-summary { display: flex; align-items: center; }
.topbar-leading { gap: 12px; }
.topbar h1 { margin: 0; font-size: 21px; letter-spacing: -.025em; }
.eyebrow { margin: 0 0 2px; color: var(--color-text-muted); font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.mobile-menu-button { display: none; }
.menu-lines, .menu-lines::before, .menu-lines::after { display: block; width: 18px; height: 2px; border-radius: 2px; background: currentColor; content: ''; }
.menu-lines::before { transform: translateY(-6px); }
.menu-lines::after { transform: translateY(4px); }

.topbar-actions { gap: 12px; }
.current-date { padding-right: 16px; border-right: 1px solid var(--color-border); color: var(--color-text-secondary); font-size: 12px; text-transform: capitalize; }
.notification-button { position: relative; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--color-border); border-radius: 50%; background: var(--color-surface); }
.notification-icon { width: 15px; height: 17px; border: 1.8px solid var(--color-text-secondary); border-radius: 8px 8px 4px 4px; }
.notification-icon::after { position: absolute; bottom: 8px; left: 17px; width: 4px; height: 2px; border-radius: 0 0 4px 4px; background: var(--color-text-secondary); content: ''; }
.notification-count { position: absolute; top: -3px; right: -3px; display: grid; min-width: 17px; height: 17px; place-items: center; padding: 0 4px; border: 2px solid var(--color-surface); border-radius: 9px; background: var(--color-danger); color: var(--color-surface); font-size: 9px; font-weight: 800; }
.profile-summary { gap: 9px; padding-left: 2px; }
.avatar { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--color-primary-soft); color: var(--color-primary-dark); font-size: 12px; font-weight: 800; }
.profile-copy strong { font-size: 12px; }
.profile-copy small { color: var(--color-text-secondary); font-size: 10px; }

.dashboard-main { display: flex; width: 100%; max-width: var(--content-max); margin: 0 auto; padding: 26px clamp(20px, 2.7vw, 40px) 36px; flex-direction: column; }

.welcome-row { position: relative; z-index: 12; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.welcome-row h2 { margin-bottom: 5px; font-size: clamp(22px, 2.2vw, 28px); letter-spacing: -.035em; }
.welcome-row p { margin: 0; color: var(--color-text-secondary); }
.quick-actions { position: relative; }
.quick-actions-trigger { display: inline-flex; min-height: 40px; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid var(--color-primary); border-radius: var(--radius-sm); background: var(--color-primary); color: var(--color-surface); font-weight: 700; }
.quick-actions-trigger .ui-icon { width: 17px; height: 17px; }
.quick-actions-menu { position: absolute; top: calc(100% + 7px); right: 0; z-index: 20; width: 210px; padding: 7px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--shadow-md); }
.quick-actions-menu button { display: flex; width: 100%; align-items: center; gap: 10px; padding: 9px 10px; border: 0; border-radius: 7px; background: transparent; text-align: left; }
.quick-actions-menu button:hover { background: var(--color-primary-soft); color: var(--color-primary-dark); }
.quick-actions-menu .ui-icon { width: 17px; height: 17px; }

.indicator-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.indicator-card { position: relative; display: grid; min-width: 0; min-height: 126px; grid-template-columns: 36px minmax(0, 1fr); align-content: start; gap: 10px; padding: 15px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--shadow-sm); text-align: left; transition: border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast); }
.indicator-card:hover { border-color: var(--color-border-strong); box-shadow: var(--shadow-md); transform: translateY(-1px); }
.indicator-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; background: var(--color-neutral-soft); color: var(--color-text-secondary); }
.indicator-icon .ui-icon { width: 17px; height: 17px; }
.indicator-copy { display: flex; min-width: 0; flex-direction: column; }
.indicator-title { min-height: 34px; color: var(--color-text-secondary); font-size: 11px; font-weight: 650; line-height: 1.35; }
.indicator-value { margin-top: 2px; font-size: 25px; letter-spacing: -.04em; white-space: nowrap; }
.indicator-value.is-compact { font-size: 17px; letter-spacing: -.025em; }
.indicator-note { display: flex; align-items: center; gap: 5px; margin-top: auto; color: var(--color-text-muted); font-size: 9px; white-space: nowrap; }
.indicator-note i { width: 6px; height: 6px; border-radius: 50%; background: var(--color-text-muted); }
.indicator-arrow { position: absolute; right: 10px; bottom: 10px; width: 14px; height: 14px; color: var(--color-text-muted); }
.tone-success .indicator-icon { background: var(--color-primary-soft); color: var(--color-primary-dark); }
.tone-success .indicator-note i { background: var(--color-primary); }
.tone-danger .indicator-icon { background: var(--color-danger-soft); color: var(--color-danger); }
.tone-danger .indicator-note i { background: var(--color-danger); }
.tone-warning .indicator-icon { background: var(--color-warning-soft); color: var(--color-warning); }
.tone-warning .indicator-note i { background: var(--color-warning); }
.tone-info .indicator-icon { background: var(--color-info-soft); color: var(--color-info); }
.tone-info .indicator-note i { background: var(--color-info); }

.content-section { margin-top: 18px; padding: 20px; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-sm); }
.section-heading { margin-bottom: 16px; }
.section-heading-inline { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.section-kicker { margin-bottom: 5px; color: var(--color-primary-dark); font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.section-heading h2 { margin: 0; font-size: 18px; letter-spacing: -.025em; }
.section-heading p:last-child { margin: 5px 0 0; color: var(--color-text-secondary); font-size: 12px; }

.attention-section { border-top: 3px solid var(--color-danger); }
.attention-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 10px; }
.attention-heading .section-kicker { color: var(--color-danger); }
.attention-total { padding: 5px 9px; border-radius: 20px; background: var(--color-danger-soft); color: var(--color-danger); font-size: 11px; font-weight: 750; white-space: nowrap; }
.attention-counts { display: flex; align-items: center; gap: 8px; }
.critical-total { padding: 5px 9px; border: 1px solid var(--color-danger); border-radius: 20px; color: var(--color-danger); font-size: 10px; font-weight: 650; white-space: nowrap; }
.alert-filters { display: flex; gap: 5px; margin-bottom: 12px; }
.filter-button { min-height: 32px; padding: 5px 11px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--color-text-secondary); font-size: 11px; font-weight: 700; }
.filter-button:hover { background: var(--color-neutral-soft); }
.filter-button.is-active { border-color: var(--color-border); background: var(--color-neutral-soft); color: var(--color-text); }
.alert-list { display: grid; gap: 7px; }
.alert-item { position: relative; display: grid; min-height: 82px; grid-template-columns: minmax(0, 1fr) 96px auto; align-items: center; gap: 16px; padding: 12px 12px 12px 18px; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); transition: opacity var(--transition-fast), background-color var(--transition-fast); }
.alert-item.is-read { background: var(--color-surface-subtle); opacity: .67; }
.priority-rail { position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--color-warning); }
.priority-critica .priority-rail { background: var(--color-danger); }
.priority-alta .priority-rail { background: var(--color-warning); }
.priority-media .priority-rail { background: var(--color-info); }
.alert-main { min-width: 0; }
.alert-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 4px; }
.priority-badge { color: var(--color-warning); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.priority-critica .priority-badge { color: var(--color-danger); }
.priority-media .priority-badge { color: var(--color-info); }
.alert-work { overflow: hidden; color: var(--color-text-secondary); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.alert-main h3 { margin: 0 0 3px; font-size: 13px; }
.alert-main p { margin: 0; color: var(--color-text-secondary); font-size: 11px; }
.alert-deadline { display: flex; align-items: center; gap: 6px; color: var(--color-text-secondary); font-size: 10px; font-weight: 650; white-space: nowrap; }
.alert-deadline .ui-icon { width: 14px; height: 14px; }
.alert-actions { display: flex; align-items: center; gap: 7px; }
.alert-actions .secondary-button { min-height: 34px; font-size: 11px; }
.read-button { display: inline-flex; min-height: 34px; align-items: center; gap: 5px; padding: 6px 8px; border: 0; border-radius: 7px; background: transparent; color: var(--color-text-muted); font-size: 10px; }
.read-button:hover { background: var(--color-neutral-soft); color: var(--color-primary-dark); }
.read-button .ui-icon { width: 14px; height: 14px; }

.works-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.work-card { position: relative; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.work-card::before { position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--color-primary); content: ''; }
.work-card.tone-danger::before { background: var(--color-danger); }
.work-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 16px 18px 10px; }
.work-code { color: var(--color-text-muted); font-size: 9px; font-weight: 750; letter-spacing: .08em; }
.work-card h3 { margin: 3px 0 3px; font-size: 16px; letter-spacing: -.02em; }
.work-card-header p { margin: 0; color: var(--color-text-secondary); font-size: 11px; }
.status-badge { padding: 5px 8px; border-radius: 20px; background: var(--color-primary-soft); color: var(--color-primary-dark); font-size: 9px; font-weight: 750; white-space: nowrap; }
.tone-danger .status-badge { background: var(--color-danger-soft); color: var(--color-danger); }
.progress-block { padding: 6px 18px 13px; }
.progress-label, .work-deadline { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.progress-label { margin-bottom: 6px; color: var(--color-text-secondary); font-size: 10px; }
.progress-label strong { color: var(--color-text); font-size: 12px; }
.progress-track { height: 7px; overflow: hidden; border-radius: 5px; background: var(--color-neutral-soft); }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--color-primary); }
.tone-danger .progress-track span { background: var(--color-danger); }
.work-deadline { margin-top: 7px; color: var(--color-text-muted); font-size: 9px; }
.work-deadline strong { color: var(--color-primary-dark); font-size: 10px; }
.tone-danger .work-deadline strong { color: var(--color-danger); }
.work-overview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 12px 18px; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); background: var(--color-surface-subtle); }
.work-overview div { min-width: 0; padding: 5px 8px 5px 0; }
.work-overview dt { color: var(--color-text-muted); font-size: 9px; }
.work-overview dd { margin: 2px 0 0; overflow: hidden; font-size: 11px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.work-details { padding: 12px 18px 0; }
.financial-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.financial-summary div { padding: 8px; border: 1px solid var(--color-border); border-radius: 8px; }
.financial-summary span { display: block; color: var(--color-text-muted); font-size: 8px; text-transform: uppercase; }
.financial-summary strong { display: block; margin-top: 2px; font-size: 10px; }
.work-responsible { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding-top: 10px; color: var(--color-text-secondary); font-size: 9px; }
.occurrence-badge { color: var(--color-danger); font-weight: 700; }
.no-occurrence { color: var(--color-primary-dark); font-weight: 700; }
.work-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 18px 16px; }
.details-toggle { display: none; }

.dashboard-columns { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr); gap: 18px; }
.dashboard-columns .content-section { min-width: 0; }
.teams-table { overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.teams-row { display: grid; grid-template-columns: minmax(135px, .8fr) minmax(220px, 1.4fr) minmax(130px, .75fr); align-items: center; gap: 14px; min-height: 76px; padding: 11px 13px; border-top: 1px solid var(--color-border); }
.teams-header { min-height: 34px; border-top: 0; background: var(--color-surface-subtle); color: var(--color-text-muted); font-size: 9px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.teams-row.is-free { background: var(--color-primary-soft); }
.team-identity, .team-assignment, .team-availability { display: flex; min-width: 0; flex-direction: column; }
.team-identity strong, .team-assignment strong, .team-availability strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.team-assignment span, .team-availability span { margin-top: 2px; overflow: hidden; color: var(--color-text-secondary); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.team-status { display: flex; align-items: center; gap: 5px; margin-bottom: 3px; color: var(--color-text-secondary); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.team-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--color-warning); }
.team-status.status-livre { color: var(--color-primary-dark); }
.team-status.status-livre i { background: var(--color-primary); box-shadow: 0 0 0 3px var(--color-primary-ring); }

.finance-legend { display: flex; justify-content: flex-end; gap: 14px; margin: -26px 0 14px; color: var(--color-text-secondary); font-size: 9px; }
.finance-legend span { display: flex; align-items: center; gap: 5px; }
.finance-legend i { width: 7px; height: 7px; border-radius: 50%; }
.legend-in { background: var(--color-primary); }
.legend-out { background: var(--color-warning); }
.finance-list { display: grid; gap: 12px; }
.finance-row { display: grid; grid-template-columns: 47px minmax(0, 1fr); gap: 10px; align-items: center; }
.finance-period { color: var(--color-text-secondary); font-size: 9px; font-weight: 650; }
.finance-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.finance-value { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 6px; padding-bottom: 6px; overflow: hidden; }
.finance-value span { color: var(--color-text-muted); font-size: 8px; }
.finance-value strong { font-size: 9px; }
.finance-value i { position: absolute; bottom: 0; left: 0; height: 3px; border-radius: 4px; }
.bar-in { background: var(--color-primary); }
.bar-out { background: var(--color-warning); }
.projected-balance { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; margin-top: 17px; padding-top: 14px; border-top: 1px solid var(--color-border); }
.projected-balance div { padding: 10px; border-radius: 8px; background: var(--color-primary-soft); }
.projected-balance span { display: block; color: var(--color-primary-dark); font-size: 8px; }
.projected-balance strong { display: block; margin-top: 2px; color: var(--color-primary-dark); font-size: 14px; }

.activity-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; }
.activity-list li { display: grid; min-width: 0; grid-template-columns: 34px minmax(0, 1fr); gap: 9px; padding: 4px 14px; border-left: 1px solid var(--color-border); }
.activity-list li:first-child { padding-left: 0; border-left: 0; }
.activity-icon { display: grid; width: 32px; height: 32px; grid-row: 1 / span 2; place-items: center; border-radius: 9px; background: var(--color-neutral-soft); color: var(--color-text-secondary); }
.activity-icon.tone-success { background: var(--color-primary-soft); color: var(--color-primary-dark); }
.activity-icon.tone-info { background: var(--color-info-soft); color: var(--color-info); }
.activity-icon.tone-warning { background: var(--color-warning-soft); color: var(--color-warning); }
.activity-icon .ui-icon { width: 15px; height: 15px; }
.activity-copy { display: flex; min-width: 0; flex-direction: column; }
.activity-copy strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.activity-copy span, .activity-list time { overflow: hidden; color: var(--color-text-secondary); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.activity-list time { grid-column: 2; }

.app-footer { display: flex; max-width: var(--content-max); justify-content: space-between; gap: 20px; margin: 0 auto; padding: 0 clamp(20px, 2.7vw, 40px) 26px; color: var(--color-text-muted); font-size: 9px; }
.interface-state { display: flex; min-height: 120px; align-items: center; justify-content: center; flex-direction: column; padding: 24px; border: 1px dashed var(--color-border-strong); border-radius: var(--radius-md); text-align: center; }
.interface-state .ui-icon { margin-bottom: 9px; color: var(--color-primary); }
.interface-state p { margin: 4px 0 0; color: var(--color-text-secondary); font-size: 11px; }
.error-state strong { color: var(--color-danger); }
.error-state .secondary-button { margin-top: 12px; }
.loading-state { align-items: stretch; }
.skeleton-line { display: block; height: 14px; margin: 6px 0; border-radius: 5px; background: linear-gradient(90deg, var(--color-neutral-soft), var(--color-border), var(--color-neutral-soft)); background-size: 220% 100%; animation: shimmer 1.4s infinite linear; }
.skeleton-line.short { width: 60%; }
@keyframes shimmer { to { background-position-x: -220%; } }

.toast-region { position: fixed; right: 20px; bottom: 20px; z-index: 100; display: grid; gap: 8px; width: min(340px, calc(100vw - 40px)); }
.toast { padding: 11px 14px; border: 1px solid var(--color-border); border-left: 3px solid var(--color-primary); border-radius: var(--radius-sm); background: var(--color-surface); box-shadow: var(--shadow-md); color: var(--color-text); font-size: 11px; animation: toast-in var(--transition-fast); }
@keyframes toast-in { from { opacity: 0; transform: translateY(6px); } }

/* Sprint 1.1 — hierarquia orientada a decisões */
.welcome-row { order: 0; }
.attention-section { order: 1; min-height: 430px; }
.day-summary-section { order: 2; }
.next-steps-section { order: 3; }
.dashboard-main > section[aria-labelledby="works-title"] { order: 4; }
.dashboard-columns { order: 5; }
.recent-section { order: 6; }
.indicator-section { order: 7; margin-top: 18px; }

.attention-section .alert-item { opacity: .72; background: var(--color-surface-subtle); }
.attention-section .alert-item:first-child { min-height: 100px; border-color: var(--color-danger); background: var(--color-danger-soft); box-shadow: var(--shadow-sm); opacity: 1; }
.attention-section .alert-item:first-child .alert-main h3 { font-size: 14px; }
.attention-section .alert-item:first-child .priority-rail { width: 5px; }
.attention-section .alert-item:hover,
.attention-section .alert-item:focus-within { opacity: 1; background: var(--color-surface); }

.day-summary-section { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); align-items: center; gap: 24px; border-left: 4px solid var(--color-primary); }
.day-summary-heading { display: flex; min-width: 0; flex-direction: column; }
.day-summary-heading h2 { margin: 0; font-size: 19px; letter-spacing: -.025em; }
.day-summary-status { display: inline-flex; align-items: center; gap: 7px; margin-top: 10px; color: var(--color-primary-dark); font-size: 10px; font-weight: 700; }
.day-summary-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--color-primary); box-shadow: 0 0 0 3px var(--color-primary-ring); }
.day-action-list { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.day-action-list li { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 7px 10px; border-bottom: 1px solid var(--color-border); font-size: 12px; }
.day-action-list li:last-child { border-bottom: 0; }
.day-check { display: grid; width: 21px; height: 21px; flex: 0 0 21px; place-items: center; border-radius: 50%; background: var(--color-primary-soft); color: var(--color-primary-dark); font-size: 11px; font-weight: 850; }

.next-steps-section .section-heading { margin-bottom: 12px; }
.next-steps-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.next-step-item { position: relative; display: grid; min-width: 0; grid-template-columns: 1fr auto; gap: 3px 12px; padding: 13px 15px; border-left: 1px solid var(--color-border); }
.next-step-item:first-child { border-left: 0; }
.next-step-item.is-today { background: var(--color-primary-soft); }
.next-step-period { grid-column: 1 / -1; margin-bottom: 5px; color: var(--color-text-muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.next-step-item strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.next-step-item > span:not(.next-step-period) { grid-column: 1; overflow: hidden; color: var(--color-text-secondary); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.next-step-item time { grid-column: 2; grid-row: 2 / span 2; align-self: center; color: var(--color-primary-dark); font-size: 9px; font-weight: 750; white-space: nowrap; }

/* Menu reordenado sem alterar dados ou eventos existentes. */
.sidebar-nav li:nth-child(1) { order: 1; }
.sidebar-nav li:nth-child(2) { order: 2; }
.sidebar-nav li:nth-child(7) { order: 3; }
.sidebar-nav li:nth-child(3) { order: 4; }
.sidebar-nav li:nth-child(5) { order: 5; }
.sidebar-nav li:nth-child(4) { order: 6; }
.sidebar-nav li:nth-child(8) { order: 7; }
.sidebar-nav li:nth-child(9) { order: 8; }
.sidebar-nav li:nth-child(10) { order: 9; }
.sidebar-nav li:nth-child(6) { order: 10; }

/* Home de obras: somente decisão operacional. */
.work-code,
.work-card-header p,
.status-badge,
.financial-summary,
.work-responsible > span:first-child,
.work-overview > div:nth-child(4) { display: none; }
.work-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.work-details { padding-top: 8px; }
.work-responsible { justify-content: flex-end; padding-top: 0; }
.occurrence-badge,
.no-occurrence { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 8px; border-radius: 20px; background: var(--color-danger-soft); }
.no-occurrence { background: var(--color-primary-soft); }

/* Situação das equipes legível por cor e rótulo. */
.team-status-legend { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: -7px 0 13px; padding-bottom: 11px; border-bottom: 1px solid var(--color-border); color: var(--color-text-secondary); font-size: 9px; font-weight: 700; }
.team-status-legend span { display: inline-flex; align-items: center; gap: 5px; }
.team-status-legend i { width: 7px; height: 7px; border-radius: 50%; }
.legend-free i { background: var(--color-primary); }
.legend-running i { background: var(--color-info); }
.legend-finishing i { background: var(--color-warning); }
.legend-stopped i { background: var(--color-danger); }
.team-status.status-ocupada { color: var(--color-info); }
.team-status.status-ocupada i { background: var(--color-info); }

/* Financeiro resumido: receber, pagar e saldo previsto. */
.finance-legend,
.finance-row:not(:last-child),
.finance-value i,
.projected-balance > div:first-child { display: none; }
.finance-list { display: block; }
.finance-row:last-child { display: block; }
.finance-row:last-child .finance-period { display: none; }
.finance-comparison { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.finance-value { display: flex; min-height: 72px; align-items: flex-start; justify-content: center; flex-direction: column; gap: 5px; padding: 12px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface-subtle); }
.finance-value span { font-size: 0; }
.finance-value:first-child span::after { color: var(--color-text-secondary); font-size: 9px; content: 'Receber'; }
.finance-value:last-child span::after { color: var(--color-text-secondary); font-size: 9px; content: 'Pagar'; }
.finance-value strong { font-size: 14px; }
.projected-balance { display: block; margin-top: 9px; padding-top: 0; border-top: 0; }
.projected-balance > div:last-child { min-height: 72px; padding: 12px; }
.projected-balance > div:last-child span { font-size: 0; }
.projected-balance > div:last-child span::after { font-size: 9px; content: 'Saldo previsto'; }

/* Indicadores preservados, mas com peso secundário. */
.indicator-section .indicator-grid { margin-bottom: 0; }
.indicator-section .indicator-card { min-height: 92px; box-shadow: none; }
.indicator-section .indicator-value { font-size: 19px; }
.indicator-section .indicator-value.is-compact { font-size: 14px; }

/* Dashboard Executivo Operacional — Sprint 33 */
.executive-main { width:100%; max-width:1600px; margin:0 auto; padding:24px; display:grid; gap:22px; }.executive-topbar .text-button,.executive-shell .nav-item,.executive-shell .mobile-menu-button,.executive-main .primary-button,.executive-main .secondary-button { min-height:44px; }.executive-main a.primary-button,.executive-main a.secondary-button { display:inline-flex; align-items:center; justify-content:center; }
.executive-welcome,.section-heading,.executive-alert,.executive-work header,.executive-work footer { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.executive-welcome h2,.section-heading h2 { margin:2px 0; }.executive-welcome p { color:var(--color-text-secondary); }.executive-welcome time { color:var(--color-text-secondary); text-transform:capitalize; }
.notification-button { min-width:44px; min-height:44px; border:1px solid var(--color-border); border-radius:50%; background:var(--color-surface); font-weight:800; }
.partial-banner { padding:12px 16px; border:1px solid #e6bd67; border-radius:var(--radius-sm); background:#fff8e8; color:#6b4900; }
.executive-indicators { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.executive-indicator { min-height:116px; padding:16px; border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-surface); color:inherit; text-decoration:none; display:flex; flex-direction:column; justify-content:space-between; box-shadow:var(--shadow-sm); }
.executive-indicator span { color:var(--color-text-secondary); font-size:12px; font-weight:700; }.executive-indicator strong { font-size:28px; }.executive-indicator small { color:var(--color-text-muted); }.executive-indicator.tone-criticas,.executive-indicator.tone-atrasadas,.executive-indicator.tone-paradas { border-left:4px solid var(--color-danger); }.executive-indicator.is-unavailable { background:var(--color-surface-subtle); }
.executive-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(300px,.8fr); gap:22px; align-items:start; }.executive-primary,.executive-side { display:grid; gap:22px; }.executive-primary>section,.executive-side>section { min-width:0; padding:18px; border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-surface); box-shadow:var(--shadow-sm); }
.attention-list,.executive-works,.next-groups,.team-cards { display:grid; gap:12px; margin-top:14px; }.executive-alert { padding:14px; border:1px solid var(--color-border); border-left:4px solid var(--color-warning); border-radius:var(--radius-sm); }.executive-alert.priority-critica { border-left-color:var(--color-danger); background:var(--color-danger-soft); }.executive-alert.priority-alta { border-left-color:#d77b16; }.executive-alert h3 { margin:5px 0; }.executive-alert p { margin:0 0 7px; color:var(--color-text-secondary); }.alert-kicker { display:flex; gap:8px; align-items:center; font-size:10px; text-transform:uppercase; }.alert-kicker span { padding:3px 7px; border-radius:20px; background:var(--color-surface-subtle); }.executive-alert-actions { display:flex; gap:8px; flex-wrap:wrap; }.executive-alert-actions a,.executive-alert-actions button { min-height:44px; }
.day-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:14px; }.day-summary a { min-height:76px; padding:12px; border:1px solid var(--color-border); border-radius:var(--radius-sm); color:inherit; text-decoration:none; display:flex; flex-direction:column; justify-content:space-between; }.day-summary span { color:var(--color-text-secondary); font-size:11px; }.day-summary strong { font-size:16px; }
.filter-strip { display:flex; gap:8px; overflow-x:auto; overscroll-behavior-inline:contain; padding:12px 0 3px; }.filter-chip { flex:0 0 auto; min-height:44px; padding:8px 14px; border:1px solid var(--color-border); border-radius:24px; background:var(--color-surface); }.filter-chip.is-active { border-color:var(--color-primary); background:var(--color-primary-soft); color:var(--color-primary-dark); font-weight:800; }
.executive-works { grid-template-columns:repeat(2,minmax(0,1fr)); }.executive-work { min-width:0; padding:16px; border:1px solid var(--color-border); border-top:4px solid var(--color-primary); border-radius:var(--radius-md); }.executive-work.status-atrasada,.executive-work.status-parada { border-top-color:var(--color-danger); }.executive-work header h3 { margin:4px 0; }.executive-work header p { color:var(--color-text-secondary); }.status-pill { flex:0 0 auto; padding:5px 9px; border-radius:20px; background:var(--color-surface-subtle); font-size:10px; font-weight:800; }.work-progress { margin:14px 0; }.work-progress>div:first-child { display:flex; justify-content:space-between; gap:10px; }.work-progress .progress-track { height:8px; margin-top:7px; background:var(--color-border); border-radius:20px; overflow:hidden; }.work-progress .progress-track i { display:block; height:100%; background:var(--color-primary); }.executive-work dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.executive-work dl div { min-width:0; padding:9px; border-radius:var(--radius-sm); background:var(--color-surface-subtle); }.executive-work dt { color:var(--color-text-secondary); font-size:9px; text-transform:uppercase; }.executive-work dd { margin:4px 0 0; overflow-wrap:anywhere; font-weight:700; }.executive-work footer { margin-top:14px; }.executive-work footer small { color:var(--color-text-secondary); }
.next-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }.next-group { min-width:0; padding:12px; border:1px solid var(--color-border); border-radius:var(--radius-sm); }.next-group h3 { display:flex; justify-content:space-between; }.next-group a { display:grid; gap:3px; min-height:72px; padding:9px 0; border-top:1px solid var(--color-border); color:inherit; text-decoration:none; }.next-group small { color:var(--color-text-secondary); }
.side-metrics,.finance-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }.side-metrics>div,.finance-metrics>div { min-width:0; padding:10px; border-radius:var(--radius-sm); background:var(--color-surface-subtle); }.side-metrics span,.finance-metrics span { display:block; color:var(--color-text-secondary); font-size:9px; }.side-metrics strong,.finance-metrics strong { display:block; margin-top:4px; overflow-wrap:anywhere; }.side-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }.side-actions a { min-height:44px; padding:9px 10px; border:1px solid var(--color-border); border-radius:var(--radius-sm); color:inherit; text-decoration:none; }
.team-cards article { padding:12px; border:1px solid var(--color-border); border-radius:var(--radius-sm); display:grid; gap:6px; }.team-cards small { color:var(--color-text-secondary); }.team-cards dl { display:flex; gap:12px; flex-wrap:wrap; }.team-cards dt { font-size:9px; color:var(--color-text-secondary); }.team-cards dd { margin:2px 0; font-weight:700; }.team-dot { font-size:10px; font-weight:800; }.team-dot::before { display:inline-block; width:8px; height:8px; margin-right:5px; border-radius:50%; background:#83918a; content:''; }.team-dot.status-ocupada::before { background:#2771c2; }.team-dot.status-parcialmente_disponivel::before { background:#d69b1f; }.team-dot.status-livre::before { background:#25845d; }.team-dot.status-indisponivel::before { background:#b42318; }
.finance-metrics { margin-bottom:12px; }.quick-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }.quick-grid a { min-height:44px; padding:10px; border:1px solid var(--color-border); border-radius:var(--radius-sm); color:inherit; text-decoration:none; display:flex; align-items:center; }.quick-grid a[aria-disabled=true] { color:var(--color-text-muted); background:var(--color-surface-subtle); pointer-events:none; }
.commercial-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }.commercial-metrics>div { min-width:0; padding:10px; border-radius:var(--radius-sm); background:var(--color-surface-subtle); }.commercial-metrics span { display:block; color:var(--color-text-secondary); font-size:9px; }.commercial-metrics strong { display:block; margin-top:4px; overflow-wrap:anywhere; }
.executive-state { width:100%; padding:20px; border:1px dashed var(--color-border); border-radius:var(--radius-sm); text-align:center; color:var(--color-text-secondary); }.executive-state p { margin:5px 0; }.page-error { margin:10vh auto; max-width:520px; }.skeleton-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; width:100%; }.skeleton-card { min-height:92px; border-radius:var(--radius-sm); background:linear-gradient(90deg,#eef2f0 25%,#f8faf9 50%,#eef2f0 75%); background-size:200% 100%; animation:executive-pulse 1.4s infinite; }@keyframes executive-pulse { to { background-position:-200% 0; } }
@media(max-width:1100px){.executive-indicators{grid-template-columns:repeat(3,minmax(0,1fr))}.executive-layout{grid-template-columns:1fr}.executive-side{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.executive-main{padding:14px}.executive-topbar .profile-summary{display:none}.executive-welcome{align-items:flex-start;flex-direction:column}.executive-indicators{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-indicator{min-height:104px;padding:12px}.executive-layout,.executive-side,.executive-works,.next-groups,.day-summary{grid-template-columns:1fr}.executive-primary>section,.executive-side>section{padding:14px}.executive-alert,.executive-work header,.executive-work footer{align-items:flex-start;flex-direction:column}.executive-alert-actions,.executive-alert-actions a,.executive-alert-actions button,.executive-work footer .primary-button{width:100%}.executive-work dl{grid-template-columns:1fr}.filter-strip{margin-inline:-14px;padding-inline:14px}.quick-grid{grid-template-columns:1fr 1fr}.executive-shell,.executive-main{max-width:100%;overflow-x:clip}}
