/* Dashboard Phase 3 migration: route layout only; shared visual primitives live in app-theme.css. */
.dashboard-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}

.action-card .icon svg,.feature-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.light-app .desktop-main{
  max-width:none;
  padding:var(--space-8) var(--space-6) var(--space-12);
}

body.light-app .welcome{
  align-items:center;
  gap:var(--space-6);
  margin-bottom:var(--space-6);
}

body.light-app .welcome .eyebrow{
  margin-bottom:var(--space-2);
  color:var(--color-brand-accent);
  font-size:12px;
  letter-spacing:.08em;
}

body.light-app .welcome h1{
  color:var(--color-text-primary);
  font-size:clamp(30px,4vw,44px);
  line-height:1.08;
}

body.light-app .welcome .subtitle{
  max-width:660px;
  margin-top:var(--space-2);
  color:var(--color-text-secondary);
  font-size:16px;
}

.dashboard-statuses{
  display:grid;
  justify-items:end;
  gap:var(--space-2);
  max-width:460px;
}

body.light-app .dashboard-statuses .hidden{display:none!important}

body.light-app .dashboard-statuses .status-badge{
  justify-self:end;
  border-radius:var(--radius-pill);
  padding:6px 10px;
}

body.light-app .action-grid{
  gap:var(--space-4);
  margin:0 0 var(--space-5);
}

body.light-app .action-card{
  min-height:224px;
  padding:var(--space-5);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-subtle);
}

body.light-app .action-card .icon{
  width:40px;
  height:40px;
  margin-bottom:var(--space-4);
  border-radius:var(--radius-md);
  background:var(--color-brand-primary-subtle);
  color:var(--color-brand-primary);
}

body.light-app .action-card h2{
  margin-bottom:var(--space-2);
  color:var(--color-text-primary);
  font-size:20px;
}

body.light-app .action-card p{
  color:var(--color-text-secondary);
}

body.light-app .action-card .cp-button{
  width:100%;
  margin-top:auto;
}

body.light-app .action-card .cp-button--primary{
  background:var(--color-brand-primary);
  border-color:var(--color-brand-primary);
  color:#fff;
}

body.light-app .action-card .cp-button--primary:hover{
  background:var(--color-brand-primary-hover);
  border-color:var(--color-brand-primary-hover);
}

body.light-app .content-grid{
  gap:var(--space-4);
}

body.light-app .panel{
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-subtle);
}

body.light-app .panel h2{
  font-size:19px;
}

body.light-app .onboarding{
  margin-bottom:var(--space-5);
  background:var(--color-brand-accent-subtle);
  border-color:#fedf89;
}

body.light-app .checklist{
  gap:var(--space-3);
  margin-top:var(--space-4);
}

body.light-app .check-item{
  border-radius:var(--radius-md);
  padding:var(--space-3);
}

body.light-app .tools{
  margin-top:var(--space-4);
}

body.light-app .tool-grid{
  gap:var(--space-3);
  margin-top:var(--space-3);
}

body.light-app .tool-stat{
  border-radius:var(--radius-md);
  padding:var(--space-4);
  box-shadow:var(--shadow-none);
}

body.light-app .tool-stat span{color:var(--color-text-secondary)}
body.light-app .tool-stat strong{color:var(--color-brand-primary)}

.dashboard-mobile-trial{
  margin:0 0 var(--space-4);
}

.dashboard-support-data{display:none}

@media(min-width:901px){
  body.dashboard-executive .desktop-app-nav{
    position:fixed;
    inset:0 auto 0 0;
    width:230px;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr) auto;
    align-items:start;
    gap:var(--space-5);
    padding:var(--space-6) var(--space-4);
    background:var(--color-brand-primary);
    border:0;
    box-shadow:none;
    color:#fff;
  }

  body.dashboard-executive .desktop-brand{
    min-width:0;
    color:#fff;
  }

  body.dashboard-executive .desktop-brand img{background:#fff}
  body.dashboard-executive .desktop-brand strong,
  body.dashboard-executive .desktop-brand small{color:#fff}
  body.dashboard-executive .desktop-brand small{opacity:.72}

  body.dashboard-executive .desktop-app-nav nav{
    display:grid;
    align-content:start;
    justify-content:stretch;
    gap:var(--space-1);
    width:100%;
    overflow:visible;
  }

  body.dashboard-executive .desktop-app-nav nav a{
    align-items:center;
    justify-content:flex-start;
    min-height:46px;
    padding:9px 12px;
    color:rgba(255,255,255,.82);
    border-radius:var(--radius-md);
  }

  body.dashboard-executive .desktop-nav-icon{color:rgba(255,255,255,.92)}
  body.dashboard-executive .desktop-nav-copy{align-items:start}

  body.dashboard-executive .desktop-app-nav nav a span{font-size:14px}
  body.dashboard-executive .desktop-app-nav nav a small{color:rgba(255,255,255,.58)}
  body.dashboard-executive .desktop-app-nav nav a.active,
  body.dashboard-executive .desktop-app-nav nav a:hover{background:rgba(255,255,255,.15);color:#fff}

  body.dashboard-executive .desktop-app-nav button{
    width:100%;
    background:transparent;
    border-color:rgba(255,255,255,.28);
    color:#fff;
  }

  body.dashboard-executive .desktop-main{
    width:calc(100% - 230px);
    margin:0 0 0 230px;
  }

  body.dashboard-executive .executive-heading{margin-bottom:var(--space-5)}
  body.dashboard-executive .executive-heading h1{font-size:32px}
  body.dashboard-executive .executive-heading .eyebrow{display:none}

  .executive-metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:var(--space-3);
    margin-bottom:var(--space-4);
  }

  .executive-metric{padding:var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle)}
  .executive-metric span,.executive-metric small{display:block;color:var(--color-text-secondary)}
  .executive-metric span{font-size:14px}
  .executive-metric strong{display:block;margin:4px 0;color:var(--color-text-primary);font-size:28px;font-weight:500}
  .executive-metric small{font-size:13px}

  .quick-action-panel{padding:var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle)}
  .quick-action-heading h2,.executive-panel h2{margin:0;color:var(--color-text-primary);font-size:18px}
  .quick-action-heading p{margin:3px 0 0;color:var(--color-text-secondary);font-size:14px}
  .quick-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-3)}
  .quick-action-grid>a{display:flex;align-items:center;gap:var(--space-3);min-height:66px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-brand-primary);transition:border-color .16s ease,background .16s ease}
  .quick-action-grid>a:hover{border-color:var(--color-brand-primary);background:var(--color-brand-primary-subtle)}
  .quick-action-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-brand-accent-subtle);color:var(--color-brand-accent)}
  .quick-action-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .quick-action-grid strong,.quick-action-grid small{display:block}
  .quick-action-grid strong{font-size:15px;font-weight:500}
  .quick-action-grid small{margin-top:3px;color:var(--color-text-secondary);font-size:12px}

  .executive-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-4)}
  .executive-panel{padding:var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle)}
  .executive-list{margin-top:var(--space-3)}
  .executive-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:12px 0;border-top:1px solid var(--color-border);color:var(--color-text-primary);font-size:14px}
  .executive-list a:first-child{border-top:0}
  .executive-list a:hover span{color:var(--color-brand-primary)}
  .executive-list strong{color:var(--color-text-secondary);font-weight:500}

  .executive-activity{margin-bottom:var(--space-5)}
  .executive-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
  .executive-panel-heading>a{color:var(--color-brand-primary);font-size:14px;font-weight:500}
  body.dashboard-executive .schedule-preview{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(min-width:901px) and (max-width:1120px){
  .executive-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
  body.mobile-shell .mobile-page{
    padding:var(--space-4) var(--space-4) 104px;
  }

  body.mobile-shell .mobile-topbar{
    margin:0 0 var(--space-5);
  }

  body.mobile-shell .mobile-topbar img{
    width:48px;
    height:48px;
  }

  body.mobile-shell .mobile-title-block h1{
    font-size:22px;
  }

  body.mobile-shell .section-head h1{
    font-size:24px;
    line-height:1.15;
  }

  body.mobile-shell .section-head p{
    color:var(--color-text-secondary);
    font-size:14px;
    line-height:1.4;
  }

  body.mobile-shell .mobile-card-grid{
    gap:var(--space-3);
  }

  body.mobile-shell .mobile-feature-card{
    min-height:126px;
    padding:var(--space-3);
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-subtle);
  }

  body.mobile-shell .feature-icon{
    width:38px;
    height:38px;
    border-radius:var(--radius-md);
    background:var(--color-brand-primary-subtle);
    color:var(--color-brand-primary);
  }

  body.mobile-shell .feature-title{
    color:var(--color-brand-primary);
    font-size:13px;
  }

  body.mobile-shell .feature-subtitle{
    color:var(--color-text-secondary);
  }

  body.mobile-shell .mobile-icon-btn{
    border-radius:var(--radius-pill);
    color:var(--color-brand-primary);
    box-shadow:var(--shadow-subtle);
  }

  body.mobile-shell .mobile-icon-btn span{
    width:9px;
    height:9px;
    overflow:hidden;
    border-radius:var(--radius-pill);
    background:var(--color-brand-primary);
    color:transparent;
  }
}

@media(max-width:430px){
  body.light-app .welcome h1{font-size:30px}
  body.light-app .action-card{padding:var(--space-4)}
}
