.launcher-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 16px;
}
.launch-card {
  display: flex;
  flex-direction: column;
  gap: 5px;
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 14px;
  padding: 15px;
  text-decoration: none;
  color: #152238;
  box-shadow: 0 12px 32px rgba(28,45,77,.08);
  transition: .15s;
}
.launch-card:hover { border-color: #9fc4ef; transform: translateY(-1px); }
.launch-card strong { font-size: 13px; }
.launch-card small { color: #667085; line-height: 1.35; }
.launch-card span { color: #084c99; font-size: 11px; font-weight: 800; }
.launch-card .launch-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#eef2ff;color:#5271ff}
.launch-card .launch-icon .mmm-icon{width:24px;height:24px;stroke-width:1.9}
.launch-card .launch-badge{font-size:10px;color:#667085;letter-spacing:.06em}
#moduleNav .nav-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;color:#aebfed}
#moduleNav .nav-icon .mmm-icon{width:17px;height:17px}
#moduleNav .nav-link{display:flex;align-items:center;gap:10px}
#moduleNav .nav-link.active .nav-icon,#moduleNav .nav-link:hover .nav-icon{color:#fff}
#moduleNav .nav-section>summary{display:flex;align-items:center;gap:9px}
#moduleNav .nav-group-icon{color:#aebfed}
#moduleIcon .mmm-icon{width:29px;height:29px;stroke-width:1.8}
.client-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: end; }
.client-actions label { flex: 1; min-width: 220px; }
.client-editor-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.client-editor-grid .full { grid-column: 1/-1; }
.client-history { display: grid; gap: 14px; }
.client-history h4 { margin: 0 0 8px; }
.clickable-row { cursor: pointer; }
.clickable-row:hover { background: #f7faff; }
.inline-buttons { display: flex; gap: 8px; flex-wrap: wrap; }
.button-secondary { background: #e8edf3; color: #152238; }
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.company-switch { display:flex; align-items:center; gap:7px; color:#667085; font-size:12px; }
.company-switch select { min-width:180px; padding:8px 30px 8px 10px; }
@media (max-width:1100px) { .launcher-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width:620px) {
  .launcher-grid,.client-editor-grid { grid-template-columns: 1fr; }
  .client-editor-grid .full { grid-column: auto; }
  .header-actions { align-items:flex-end; flex-direction:column; }
  .company-switch select { min-width:150px; }
}
.notification-rule{min-width:0;border:1px solid #d7e1ed;border-radius:14px;padding:20px;display:grid;gap:14px}
.notification-rule legend{font-weight:800;padding:0 8px}
.notification-people,.notification-channels{display:flex;flex-wrap:wrap;gap:10px 20px}
.notification-people .check,.notification-channels .check{min-width:145px;margin:0}
.notification-rule .muted{margin:0}
.job-board-date{padding:0;background:none;color:var(--blue);text-decoration:underline;text-underline-offset:3px;font-weight:750;cursor:pointer}
.job-board-date:hover{color:var(--blue2)}
.job-board-controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
.job-board-controls .inline-buttons{align-items:center}
.job-board-controls label{font-size:12px;min-width:145px}
.job-board-controls input,.job-board-controls select{min-width:145px}
.job-board-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--muted)}
.job-board-summary strong{color:var(--ink);font-size:19px}
.job-board-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,340px);gap:16px;align-items:start;min-width:0}
.job-board-days{display:grid;grid-template-columns:1fr;gap:12px;min-width:0}
.job-board-days.week{grid-template-columns:repeat(7,minmax(175px,1fr));overflow-x:auto;align-items:stretch;padding-bottom:10px}
.job-board-day{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px;min-width:0;display:grid;align-content:start;gap:9px}
.job-board-day header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding-bottom:9px}
.job-board-day header button{background:none;padding:0;color:var(--ink);font-weight:800;text-align:left}
.job-board-day header span{color:var(--muted);font-size:12px}
.job-board-card{display:grid;gap:7px;width:100%;text-align:left;background:#f4f8fd;color:var(--ink);border:1px solid #d8e6f6;border-radius:12px;padding:12px;white-space:normal;overflow-wrap:anywhere}
.job-board-card:hover,.job-board-card.selected{border-color:var(--blue2);background:#eaf4ff}
.job-board-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.job-board-card small{color:var(--muted)}
.job-board-side{min-width:0;position:sticky;top:16px}
.job-board-detail{display:grid;gap:11px;overflow-wrap:anywhere}
.job-board-detail h4,.job-board-detail p{margin:0}
.estimate-grid input[name="routeMiles"][readonly],.estimate-grid input[name="driveMinutes"][readonly]{background:#f4f8fd;color:#173b65;font-weight:750}
#estimateRouteStatus{margin:0;align-self:center}
.booking-dialog{width:min(460px,calc(100vw - 32px));border:1px solid var(--line);border-radius:18px;padding:0;color:var(--ink);box-shadow:0 24px 80px rgba(14,34,62,.28)}
.booking-dialog::backdrop{background:rgba(16,31,52,.52);backdrop-filter:blur(2px)}
.booking-dialog form{display:grid;gap:12px;padding:24px}
.booking-dialog h2,.booking-dialog p{margin:0}
.booking-dialog label{font-weight:700}
.booking-dialog select{width:100%;min-height:46px}
.booking-dialog .inline-buttons{justify-content:flex-end;margin-top:6px}
.booking-dialog #bookMoveStatus:empty{display:none}
#moduleNav{display:grid;align-content:start;gap:7px;overflow:auto}
#moduleNav>.nav-link{width:100%;text-align:left}
#moduleNav .nav-section{min-width:0;border:1px solid rgba(255,255,255,.1);border-radius:10px;overflow:hidden}
#moduleNav .nav-section>summary{position:relative;list-style:none;cursor:pointer;padding:10px 30px 10px 12px;color:#d7e5f3;font-weight:750;line-height:1.25}
#moduleNav .nav-section>summary::-webkit-details-marker{display:none}
#moduleNav .nav-section>summary::after{content:'›';position:absolute;right:12px;top:50%;transform:translateY(-50%) rotate(0);font-size:18px;line-height:1;transition:transform .15s ease}
#moduleNav .nav-section[open]>summary{background:rgba(255,255,255,.08);color:#fff}
#moduleNav .nav-section[open]>summary::after{transform:translateY(-50%) rotate(90deg)}
#moduleNav .nav-submenu{display:grid;gap:2px;padding:3px 6px 7px}
#moduleNav .nav-submenu>.nav-link{width:100%;text-align:left;padding:8px 9px 8px 14px;font-size:13px;line-height:1.3;border-radius:8px}
#moduleNav .nav-submenu>.nav-link.active{background:rgba(255,255,255,.14);color:#fff}
@media(min-width:621px) and (max-width:980px){.shell{grid-template-columns:228px 1fr}.brand span,#moduleNav button span,.aside-bottom a{display:block}.brand{justify-content:flex-start}}
@media(max-width:980px){.brand span,nav button span:not(.nav-icon),.aside-bottom a{display:none}#moduleNav .nav-icon{margin:0 auto}#moduleNav .nav-link{justify-content:center;padding:9px 7px}}
@media(max-width:620px){#moduleNav{overflow:visible;flex:1;min-width:0;align-items:flex-start}#moduleNav>.nav-link,#moduleNav>.nav-section{flex:0 0 auto}#moduleNav .nav-section{position:relative;overflow:visible}#moduleNav .nav-section>summary{white-space:nowrap}#moduleNav .nav-submenu{position:absolute;top:calc(100% + 4px);left:0;z-index:40;width:max-content;min-width:210px;max-height:65vh;overflow:auto;background:#08294f;border:1px solid rgba(255,255,255,.14);border-radius:11px;box-shadow:0 14px 32px rgba(8,25,48,.3)}aside{overflow:visible}}
@media(max-width:1080px){.job-board-layout{grid-template-columns:1fr}.job-board-side{position:static}}
@media(max-width:620px){.job-board-controls{align-items:stretch}.job-board-controls .inline-buttons{width:100%}.job-board-days.week{grid-template-columns:repeat(7,minmax(175px,1fr))}}
/* Reporting layout */
.report-filter-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:10px 0}.report-filter-controls label{min-width:155px;display:grid;gap:5px}.report-filter-controls input{min-height:38px}.report-filter-controls button{min-height:38px}.report-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.report-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:12px 0 20px}.report-mini-grid>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.report-mini-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.report-mini-grid strong{font-size:18px}.report-filter small,.panel>small{display:block;color:var(--muted);line-height:1.5;margin-top:12px}
/* Referral partner invitation controls */
.referral-invite-choices{border:1px solid var(--line);border-radius:10px;padding:10px 13px;display:flex;align-items:center;gap:16px;min-width:0}.referral-invite-choices legend{font-size:12px;font-weight:700;padding:0 5px}.referral-invite-choices .check-row{display:flex;align-items:center;gap:7px;margin:0}.referral-invite-choices input{width:auto}.referral-invite-choices~button{justify-self:start}.referral-invite-choices~p{margin:0}
/* Sales team roster */
.sales-team-roster{border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}.sales-team-roster legend{font-weight:700;padding:0 6px}.sales-team-member-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.sales-team-person{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px;margin:0;cursor:pointer}.sales-team-person input{width:auto;flex:0 0 auto}.sales-team-person span{min-width:0}.sales-team-person strong,.sales-team-person small{display:block;overflow-wrap:anywhere}.sales-team-person small{color:var(--muted);font-size:12px}
/* Client-level follow-up tasks */
.client-followups{display:grid;gap:12px}.client-followups-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.client-followups-heading h4,.client-followup-form h4{margin:0}.client-followups-heading p{margin:4px 0 0}.client-followup-form{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.client-followup-form .form-row{margin:0}.client-followup-form>button{justify-self:start}
.aside-bottom-links{display:grid;gap:8px}
.aside-bottom-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:40px;padding:8px 10px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;text-align:left}
.aside-bottom-toggle:hover{background:rgba(255,255,255,.15)}
.aside-bottom-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}
.aside-bottom-chevron{font-size:18px;line-height:1}