/* Team Launch uses the existing shell, typography and touch targets. */
.team-toolbar { display:grid; grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(170px,1fr); gap:14px; margin:20px 0; }
.team-toolbar .field { min-width:0; }
.team-contact-layout { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,2fr); gap:20px; align-items:start; }
.team-contact-list { max-height:840px; overflow:auto; }
.team-contact-item { display:flex; flex-direction:column; gap:7px; width:100%; padding:18px 20px; color:#273e3a; text-align:left; background:#fff; border:0; border-bottom:1px solid #e8ece6; cursor:pointer; overflow-wrap:anywhere; }
.team-contact-item strong { font-size:15px; }
.team-contact-item :is(span,small) { color:#60736b; font-size:12px; }
.team-contact-item.is-selected { background:#edf5e8; box-shadow:inset 4px 0 #39786b; }
.team-contact-item:hover { background:#f4f8ef; }
.team-contact-item:focus-visible { outline:3px solid #245d96; outline-offset:-3px; }
.team-contact-card { min-width:0; }
.team-contact-card .card-header { align-items:flex-start; flex-wrap:wrap; gap:16px; }
.team-contact-card h2 { margin:6px 0 12px; }
.team-card-body { padding:22px 24px; min-width:0; }
.team-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; margin:0; }
.team-details > div { min-width:0; }
.team-details dt { color:#64776d; font-size:12px; margin-bottom:6px; }
.team-details dd { margin:0; font-size:14px; color:#273e3a; overflow-wrap:anywhere; white-space:pre-wrap; }
.team-section { margin-top:24px; }
.team-contact-card .team-section { border-top:1px solid #e5ece4; padding-top:20px; }
.team-section h3 { font-size:15px; margin:0 0 13px; }
.team-consents { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 20px; }
.team-consents > div { display:flex; justify-content:space-between; gap:10px; align-items:center; font-size:13px; }
.team-prewrap { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.6; }
.team-followup { margin-top:12px; padding:14px; border:1px solid #dfe8dc; border-radius:9px; }
.team-followup p { font-size:12px; }
.team-followup .button { margin:5px 0 0 7px; }
.team-timeline { list-style:none; padding:0 0 0 18px; margin:0; border-left:2px solid #d4e3ce; }
.team-timeline li { position:relative; padding:0 0 21px 4px; }
.team-timeline li::before { content:''; position:absolute; width:8px; height:8px; background:#39786b; border-radius:50%; left:-23px; top:5px; }
.team-timeline li:last-child { padding-bottom:0; }
.team-timeline li p { margin:8px 0; font-size:13px; }
.team-item-meta { font-size:12px; color:#64776d; line-height:1.5; overflow-wrap:anywhere; }
.team-contact-card code { overflow-wrap:anywhere; font-size:12px; }
.team-work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:22px; }
.team-work-grid .card-header { align-items:start; }
.team-posts article + article { border-top:1px solid #e5ece4; padding-top:18px; margin-top:18px; }
.team-posts h3 { margin:0 0 10px; font-size:15px; }
.team-posts p { font-size:13px; }
.team-date-label { display:flex; flex-wrap:wrap; gap:10px; align-items:center; font-size:12px; color:#64776d; margin-top:12px; }
.team-date-label input { max-width:180px; min-height:40px; border:1px solid #dbe5d7; border-radius:7px; padding:8px 10px; color:#273e3a; background:#fff; }
.team-task-filters { display:flex; gap:7px; flex-wrap:wrap; }
.team-section > .card-header { flex-wrap:wrap; gap:14px; }
.team-task { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:19px 0; border-bottom:1px solid #e4ebe0; }
.team-task:first-child { padding-top:0; }
.team-task:last-child { border-bottom:0; padding-bottom:0; }
.team-task-title { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.team-task-title h3 { margin:0; font-size:15px; overflow-wrap:anywhere; }
.team-task p { margin:9px 0; }
.team-task-actions { display:flex; gap:8px; flex-direction:column; justify-content:start; align-items:stretch; }
.team-task details { font-size:12px; margin-top:12px; }
.team-task summary { cursor:pointer; color:#39786b; padding:8px 0; }
.team-plan { border:1px solid #dfe8da; border-radius:10px; padding:20px; background:#fbfdf8; min-width:0; }
.team-plan h3 { margin:0; font-size:15px; }
.team-plan p { font-size:13px; line-height:1.6; }
.team-plan-heading { display:flex; justify-content:space-between; align-items:start; gap:12px; }
.team-plan progress { width:100%; height:9px; accent-color:#39786b; margin:0 0 14px; }
.team-plans-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.team-dashboard { margin:22px 0; }
.team-dashboard .card-header { flex-wrap:wrap; gap:16px; }
.team-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.team-metrics > div { padding:16px; border:1px solid #dfe8da; border-radius:9px; background:#f7faf2; min-width:0; }
.team-metrics span { display:block; color:#64776d; font-size:12px; line-height:1.5; }
.team-metrics strong { display:block; font-size:29px; color:#204b43; margin-top:8px; }
#team-edit-form .choice-grid { max-height:240px; overflow:auto; }
#team-edit-form .checkbox-label { align-items:flex-start; }
#team-edit-form .modal-body { overflow-wrap:anywhere; }
.team-duplicate-warning { margin-bottom:18px; }
.team-duplicate-warning h3 { font-size:14px; margin-top:0; }
.team-duplicate-warning p { font-size:13px; }
@media (max-width:1100px) {
  .team-contact-layout { grid-template-columns:230px minmax(0,1fr); }
  .team-contact-card .team-details { grid-template-columns:1fr; }
  .team-plans-grid { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .team-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .team-toolbar > :first-child { grid-column:1/-1; }
  .team-contact-layout,.team-work-grid { grid-template-columns:1fr; }
  .team-contact-list { display:flex; flex-direction:row; max-width:100%; max-height:none; overflow:auto; scroll-snap-type:x proximity; }
  .team-contact-item { flex:0 0 240px; min-height:116px; border-right:1px solid #e8ece6; border-bottom:0; scroll-snap-align:start; }
  .team-contact-item.is-selected { box-shadow:inset 0 -4px #39786b; }
  .team-contact-card .team-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .team-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .team-task { grid-template-columns:1fr; }
  .team-task-actions { flex-direction:row; flex-wrap:wrap; }
  .team-task-filters { width:100%; }
  .team-task-filters .button { flex-grow:1; }
  .team-card-body { padding:18px; }
  .team-section .card-header { padding:18px; }
  .team-date-label input { min-height:44px; font-size:16px; }
}
@media (max-width:420px) {
  .team-toolbar,.team-contact-card .team-details,.team-consents { grid-template-columns:1fr; }
  .team-toolbar > :first-child { grid-column:auto; }
  .team-plan { padding:14px; }
  .team-metrics > div { padding:12px; }
  .team-metrics span { font-size:11px; }
  .team-contact-card .card-header .header-actions { width:100%; }
  .team-contact-card .card-header .button { flex:1; }
}
