/* Company manager dashboard: task-first hierarchy with supporting data kept out of the way. */
#dashboard .dashboard-page-heading {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  align-items: center;
  gap: 24px;
  margin-bottom: 17px;
}
#dashboard .dashboard-title-copy { min-width: 0; }
#dashboard .dashboard-eyebrow { display: inline-flex; align-items: center; gap: 7px; }
#dashboard .dashboard-eyebrow svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
#dashboard .dashboard-title-copy h1 { margin-top: 7px; font-size: clamp(26px, 2.1vw, 34px); line-height: 1.25; letter-spacing: -.02em; }
#dashboard .dashboard-title-copy p { margin-top: 7px; font-size: 14px; line-height: 1.55; }
#dashboard .dashboard-shortcuts { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
#dashboard .dashboard-shortcut {
  min-width: 142px;
  min-height: 62px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(18,61,70,.10);
  border-radius: 14px;
  padding: 9px 12px;
  background: rgba(255,255,255,.94);
  color: var(--ink);
  text-align: right;
  box-shadow: 0 4px 15px rgba(32,43,48,.035);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
#dashboard .dashboard-shortcut:hover { transform: translateY(-2px); border-color: rgba(18,61,70,.24); box-shadow: 0 9px 22px rgba(32,43,48,.075); }
#dashboard .dashboard-shortcut > span:last-child { display: grid; gap: 1px; }
#dashboard .dashboard-shortcut strong { color: var(--brand-primary); font-size: 13px; }
#dashboard .dashboard-shortcut small { color: var(--muted); font-size: 10px; }
#dashboard .shortcut-icon, #dashboard .dashboard-detail-icon, #dashboard .dashboard-panel-icon, #dashboard .dashboard-metric-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border: 1px solid rgba(18,61,70,.09);
  background: #F4F6F3;
  color: var(--brand-primary);
}
#dashboard .shortcut-icon { width: 38px; height: 38px; border-radius: 12px; }
#dashboard .shortcut-icon svg, #dashboard .dashboard-detail-icon svg, #dashboard .dashboard-panel-icon svg, #dashboard .dashboard-metric-icon svg,
#dashboard .dashboard-action-item-icon svg, #dashboard .dashboard-empty-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
#dashboard .dashboard-shortcut-primary { border-color: var(--brand-primary); background: var(--brand-primary); color: #fff; }
#dashboard .dashboard-shortcut-primary strong, #dashboard .dashboard-shortcut-primary small { color: #fff; }
#dashboard .dashboard-shortcut-primary small { color: rgba(255,255,255,.76); }
#dashboard .dashboard-shortcut-primary .shortcut-icon { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.1); color: #E8D1B3; }

#dashboard .dashboard-filter-disclosure, #dashboard .dashboard-more-details {
  margin: 0 0 14px;
  overflow: hidden;
  border: 1px solid rgba(18,61,70,.09);
  border-radius: 15px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 4px 15px rgba(32,43,48,.025);
}
#dashboard .dashboard-filter-disclosure > summary, #dashboard .dashboard-more-details > summary,
#dashboard .dashboard-activity-disclosure > summary {
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 12px;
  list-style: none;
  cursor: pointer;
}
#dashboard .dashboard-filter-disclosure > summary::-webkit-details-marker, #dashboard .dashboard-more-details > summary::-webkit-details-marker,
#dashboard .dashboard-activity-disclosure > summary::-webkit-details-marker { display: none; }
#dashboard .dashboard-filter-disclosure > summary, #dashboard .dashboard-more-details > summary { padding: 10px 15px; }
#dashboard .dashboard-detail-title { display: flex; align-items: center; gap: 11px; min-width: 0; }
#dashboard .dashboard-detail-title > span:last-child { display: grid; gap: 2px; }
#dashboard .dashboard-detail-title strong { color: var(--brand-primary); font-size: 13px; }
#dashboard .dashboard-detail-title small { color: var(--muted); font-size: 10px; }
#dashboard .dashboard-detail-icon { width: 38px; height: 38px; border-radius: 12px; background: #FBFAF7; }
#dashboard .details-toggle { width: 25px; height: 25px; display: grid; place-items: center; margin-inline-start: auto; border: 1px solid rgba(18,61,70,.11); border-radius: 50%; color: var(--brand-primary); }
#dashboard .details-toggle::before { content: "+"; font-size: 17px; line-height: 1; }
#dashboard details[open] > summary .details-toggle::before { content: "−"; }
#dashboard .dashboard-filters { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 10px; padding: 14px 16px 16px; border-top: 1px solid rgba(18,61,70,.08); background: #FCFBF8; }
#dashboard .dashboard-date-filter { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; }
#dashboard .dashboard-date-filter input { min-width: 145px; }

#dashboard .dashboard-primary-metrics { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 13px; margin: 0 0 14px; }
#dashboard .dashboard-primary-metric {
  min-width: 0;
  min-height: 126px;
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 18px;
  border-radius: 17px;
  background: linear-gradient(145deg,#fff 0%,#fff 74%,#FAF8F3 100%);
}
#dashboard .dashboard-primary-metric > div { min-width: 0; display: grid; gap: 4px; }
#dashboard .dashboard-primary-metric > div > span { color: #65747A; font-size: 13px; font-weight: 500; }
#dashboard .dashboard-primary-metric strong { margin: 1px 0; color: var(--brand-primary); font-size: clamp(25px,2vw,32px); line-height: 1.2; letter-spacing: 0; overflow-wrap: anywhere; }
#dashboard .dashboard-primary-metric small { color: var(--muted); font-size: 11px; line-height: 1.5; }
#dashboard .dashboard-metric-icon { width: 44px; height: 44px; border-radius: 14px; background: #EFF3F0; }
#dashboard .dashboard-metric-icon svg { width: 22px; height: 22px; }
#dashboard .dashboard-primary-metric.warning .dashboard-metric-icon, #dashboard .dashboard-secondary-metric.warning .dashboard-metric-icon { border-color: rgba(169,120,47,.16); background: #FBF5EA; color: #A9782F; }
#dashboard .dashboard-primary-metric.danger .dashboard-metric-icon { border-color: rgba(184,79,69,.13); background: #FBF0ED; color: #B84F45; }
#dashboard .dashboard-primary-metric.danger strong { color: #B84F45; }
#dashboard .dashboard-primary-metric[data-goto] { cursor: pointer; }
#dashboard .dashboard-primary-metric[data-goto]:hover { transform: translateY(-2px); border-color: rgba(18,61,70,.22); box-shadow: 0 12px 28px rgba(32,43,48,.09); }
#dashboard .dashboard-secondary-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 0 15px 14px; }
#dashboard .dashboard-secondary-metric { min-height: 82px; display: grid; grid-template-columns: 1fr auto; align-content: center; gap: 3px 12px; padding: 12px 14px; border-radius: 12px; box-shadow: none; }
#dashboard .dashboard-secondary-metric > span { color: var(--muted); font-size: 11px; }
#dashboard .dashboard-secondary-metric strong { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--brand-primary); font-size: 23px; }
#dashboard .dashboard-secondary-metric small { color: var(--muted); font-size: 10px; }
#dashboard .dashboard-secondary-metric[data-goto] { cursor: pointer; }
#dashboard .dashboard-secondary-metric[data-goto]:hover { border-color: rgba(18,61,70,.2); }
#dashboard .dashboard-more-details .weekly-strip { margin: 0 15px 15px; }

#dashboard .dashboard-action-grid { align-items: stretch; gap: 14px; margin: 0 0 14px; }
#dashboard .dashboard-action-grid .panel { min-height: 215px; }
#dashboard .dashboard-panel-title { display: flex; align-items: center; gap: 11px; min-width: 0; }
#dashboard .dashboard-panel-title > span:last-child { min-width: 0; }
#dashboard .dashboard-panel-icon { width: 39px; height: 39px; border-radius: 12px; }
#dashboard .dashboard-panel-icon-sand { border-color: rgba(197,164,126,.2); background: #FBF5EB; color: #9A7447; }
#dashboard .dashboard-action-grid .panel-heading { min-height: 76px; padding: 13px 16px; }
#dashboard .dashboard-action-grid .panel-heading h2 { font-size: 14px; }
#dashboard .dashboard-action-grid .panel-heading p { margin-top: 3px; font-size: 11px; }
#dashboard .dashboard-action-grid .text-button { font-size: 11px; }
#dashboard .dashboard-action-grid .action-list { max-height: 300px; }
#dashboard .dashboard-action-item { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: 10px; min-width: 0; padding: 12px 15px; border-bottom: 1px solid rgba(18,61,70,.07); }
#dashboard .dashboard-action-item:last-child { border-bottom: 0; }
#dashboard .dashboard-action-item-icon { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 11px; background: #F1F4F1; color: var(--brand-primary); }
#dashboard .dashboard-action-item-icon svg { width: 18px; height: 18px; }
#dashboard .dashboard-action-item-icon-sand { background: #FBF5EB; color: #9A7447; }
#dashboard .dashboard-action-item-icon-warning { background: #FBF0ED; color: #A65D43; }
#dashboard .dashboard-action-item-copy { min-width: 0; display: grid; gap: 3px; }
#dashboard .dashboard-action-item-copy strong { overflow: hidden; color: var(--ink); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
#dashboard .dashboard-action-item-copy small { overflow: hidden; color: var(--muted); font-size: 10px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
#dashboard .dashboard-action-open { min-height: 34px; display: inline-flex; align-items: center; gap: 5px; border: 1px solid rgba(18,61,70,.11); border-radius: 9px; padding: 0 10px; background: #fff; color: var(--brand-primary); font-size: 11px; font-weight: 700; }
#dashboard .dashboard-action-open:hover { border-color: var(--brand-primary); background: #F4F6F3; }
#dashboard .dashboard-empty-state { min-height: 135px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 20px; text-align: center; }
#dashboard .dashboard-empty-icon { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 4px; border: 1px solid rgba(54,122,85,.13); border-radius: 14px; background: #EFF6F0; color: #367A55; }
#dashboard .dashboard-empty-state strong { color: var(--brand-primary); font-size: 13px; }
#dashboard .dashboard-empty-state small { color: var(--muted); font-size: 11px; }

#dashboard .table-panel { margin-bottom: 14px; }
#dashboard .table-panel .panel-heading { min-height: 76px; padding: 13px 16px; }
#dashboard .table-panel .panel-heading h2 { font-size: 14px; }
#dashboard .table-panel .panel-heading p { font-size: 11px; }
#dashboard .dashboard-activity-disclosure { margin-bottom: 28px; }
#dashboard .dashboard-activity-disclosure > summary { min-height: 72px; padding: 12px 16px; border-radius: 15px; }
#dashboard .dashboard-activity-disclosure[open] > summary { border-bottom: 1px solid rgba(18,61,70,.08); border-radius: 15px 15px 0 0; background: #FBFAF7; }
#dashboard .dashboard-activity-updated { margin-inline-start: auto; color: var(--muted); font-size: 10px; }
#dashboard .dashboard-activity-list { padding: 5px 16px 13px; }
#dashboard .dashboard-activity-item { padding: 11px 4px; }
#dashboard .dashboard-activity-item strong { font-size: 12px; }
#dashboard .dashboard-activity-item small, #dashboard .dashboard-activity-item p { font-size: 10px; }

@media (max-width: 1300px) {
  .main .topbar {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto auto;
    grid-template-areas: "company breadcrumb action" "search search search";
    gap: 8px 12px;
    padding: 12px 0;
  }
  .main .topbar-company { grid-area: company; min-width: 0; }
  .main .topbar-company > span:last-child { min-width: 0; }
  .main .topbar-company strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .main .topbar .breadcrumb { grid-area: breadcrumb; }
  .main .topbar .global-search { grid-area: search; width: 100%; min-width: 0; max-width: none; }
  .main .topbar #quickProjectButton { grid-area: action; }
  .main .topbar .topbar-spacer, .main .topbar .today-label { display: none; }
  #dashboard .dashboard-page-heading { grid-template-columns: 1fr; gap: 13px; }
  #dashboard .dashboard-shortcuts { justify-content: flex-start; }
  #dashboard .dashboard-primary-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 800px) {
  #dashboard .dashboard-page-heading { gap: 14px; }
  #dashboard .dashboard-shortcuts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; }
  #dashboard .dashboard-shortcut { min-width: 0; }
  #dashboard .dashboard-action-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .main .topbar {
    grid-template-columns: minmax(0,1fr) auto;
    grid-template-areas: "brand action" "search search";
    gap: 7px 10px;
    padding-block: 9px;
  }
  .main .topbar .mobile-brand { grid-area: brand; }
  .main .topbar .topbar-company, .main .topbar .breadcrumb { display: none; }
  .main .topbar .global-search { grid-area: search; }
  .main .topbar #quickProjectButton { grid-area: action; }
  #dashboard .dashboard-page-heading { margin-bottom: 14px; }
  #dashboard .dashboard-title-copy h1 { font-size: 27px; }
  #dashboard .dashboard-title-copy p { font-size: 12px; }
  #dashboard .dashboard-shortcuts { grid-template-columns: 1fr 1fr; gap: 7px; }
  #dashboard .dashboard-shortcut { min-height: 56px; padding: 7px 9px; }
  #dashboard .shortcut-icon { width: 34px; height: 34px; border-radius: 10px; }
  #dashboard .dashboard-shortcut strong { font-size: 12px; }
  #dashboard .dashboard-shortcut small { font-size: 9px; }
  #dashboard .dashboard-filter-disclosure > summary, #dashboard .dashboard-more-details > summary { min-height: 58px; padding: 9px 11px; }
  #dashboard .dashboard-detail-icon { width: 34px; height: 34px; border-radius: 10px; }
  #dashboard .dashboard-detail-title strong { font-size: 12px; }
  #dashboard .dashboard-detail-title small { font-size: 9px; }
  #dashboard .dashboard-primary-metrics { gap: 8px; }
  #dashboard .dashboard-primary-metric { min-height: 106px; gap: 8px; padding: 12px 10px; border-radius: 14px; }
  #dashboard .dashboard-metric-icon { width: 34px; height: 34px; border-radius: 10px; }
  #dashboard .dashboard-metric-icon svg { width: 18px; height: 18px; }
  #dashboard .dashboard-primary-metric > div > span { font-size: 10px; }
  #dashboard .dashboard-primary-metric strong { font-size: 23px; }
  #dashboard .dashboard-primary-metric small { font-size: 9px; }
  #dashboard .dashboard-secondary-metrics { grid-template-columns: 1fr; padding: 0 10px 10px; }
  #dashboard .dashboard-secondary-metric { min-height: 66px; }
  #dashboard .dashboard-more-details .weekly-strip { margin: 0 10px 10px; }
  #dashboard .dashboard-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 10px; }
  #dashboard .dashboard-filters select { width: 100%; min-width: 0; }
  #dashboard .dashboard-date-filter { display: grid; align-items: start; gap: 3px; }
  #dashboard .dashboard-date-filter input { width: 100%; min-width: 0; }
  #dashboard .dashboard-filters .btn { grid-column: 1/-1; }
  #dashboard .dashboard-action-grid .panel-heading, #dashboard .table-panel .panel-heading { min-height: 68px; gap: 7px; padding: 10px; }
  #dashboard .dashboard-panel-icon { width: 33px; height: 33px; border-radius: 10px; }
  #dashboard .dashboard-action-grid .panel-heading h2, #dashboard .table-panel .panel-heading h2 { font-size: 12px; }
  #dashboard .dashboard-action-grid .panel-heading p, #dashboard .table-panel .panel-heading p { font-size: 9px; }
  #dashboard .dashboard-action-grid .text-button, #dashboard .table-panel .text-button { font-size: 9px; }
  #dashboard .dashboard-action-item { grid-template-columns: 31px minmax(0,1fr) auto; gap: 7px; padding: 10px; }
  #dashboard .dashboard-action-item-icon { width: 31px; height: 31px; }
  #dashboard .dashboard-action-item-copy strong { font-size: 10px; }
  #dashboard .dashboard-action-item-copy small { font-size: 9px; }
  #dashboard .dashboard-action-open { min-height: 30px; padding: 0 7px; font-size: 9px; }
  #dashboard .dashboard-activity-disclosure > summary { min-height: 64px; gap: 8px; padding: 9px 10px; }
  #dashboard .dashboard-activity-updated { display: none; }
}
