/* Home tab sizing: match CoursePilot's standard cards.
   Desktop widget layout remains customizable; phone uses an orderly dashboard. */
.homeCards > .insightCard {
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
  border-radius:var(--cp-radius,18px);
  text-align:left;
  overflow-wrap:anywhere;
}
.homeCards .insightNum { line-height:1.15; overflow-wrap:anywhere; }
.grid2[data-cp-grid="homeMain"] > div { min-width:0; max-width:100%; }
.grid2[data-cp-grid="homeMain"] .sectionHead { min-width:0; }
.grid2[data-cp-grid="homeMain"] .sectionHead > * { min-width:0; }
.grid2[data-cp-grid="homeMain"] .briefCard { overflow-wrap:anywhere; }

@media(max-width:760px) {
  /* These selectors override earlier dashboard free-map and resize styles. */
  .app .homeCards.cpResizableGrid,
  .app .homeCards.cpIndependentGrid,
  .app .homeCards.cpIndependentGrid.cpFreeMapGrid {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-flow:row !important;
    grid-auto-rows:auto !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    margin-bottom:18px !important;
    align-items:stretch !important;
    overflow:visible !important;
  }
  .app .homeCards > .insightCard,
  .app .homeCards.cpIndependentGrid > .insightCard {
    grid-column:auto !important;
    grid-row:auto !important;
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:auto !important;
    min-height:105px !important;
    max-height:none !important;
    padding:15px !important;
    margin:0 !important;
    align-self:stretch !important;
    border:1px solid var(--border) !important;
    border-radius:17px !important;
    box-shadow:var(--shadow) !important;
    overflow:hidden !important;
    background:var(--card);
  }
  .app .homeCards > .insightCard:nth-child(3) {
    grid-column:1 / -1 !important;
    min-height:98px !important;
  }
  .app .homeCards .insightCard > .small:first-child {
    font-size:11px !important;
    font-weight:700 !important;
    line-height:1.35 !important;
  }
  .app .homeCards .insightCard > .insightNum,
  .app .homeCards .insightCard > .insightNum.sm {
    font-size:25px !important;
    font-weight:800 !important;
    line-height:1.13 !important;
    margin:0 !important;
    min-width:0 !important;
    letter-spacing:-.03em !important;
  }
  .app .homeCards .insightCard > .small:not(:first-child) {
    font-size:11px !important;
    line-height:1.4 !important;
    min-width:0 !important;
    overflow-wrap:anywhere !important;
  }
  .app .homeCards .insightCard > .accentHint {
    margin-top:auto !important;
    font-size:11px !important;
  }
  .app .grid2.cpResizableGrid[data-cp-grid="homeMain"],
  .app .grid2.cpResizableGrid[data-cp-grid="homeMain"].cpIndependentGrid,
  .app .grid2.cpResizableGrid[data-cp-grid="homeMain"].cpIndependentGrid.cpFreeMapGrid {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-auto-rows:auto !important;
    grid-auto-flow:row !important;
    gap:18px !important;
    min-width:0 !important;
    max-width:100% !important;
    width:100% !important;
    height:auto !important;
    margin:0 !important;
    align-items:start !important;
    overflow:visible !important;
  }
  .app .grid2.cpResizableGrid[data-cp-grid="homeMain"] > div {
    grid-column:1 / -1 !important;
    grid-row:auto !important;
    box-sizing:border-box !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    margin:0 !important;
    overflow:visible !important;
  }
  .app .grid2[data-cp-grid="homeMain"] .sectionHead {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:0 0 10px !important;
  }
  .app .grid2[data-cp-grid="homeMain"] .sectionHead h3 { font-size:17px !important; }
  .app .grid2[data-cp-grid="homeMain"] .sectionHead .linkBtn { white-space:nowrap; font-size:12px; }
  .app .grid2[data-cp-grid="homeMain"] .briefCard {
    box-sizing:border-box !important;
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    height:auto !important;
    padding:16px !important;
    border-radius:17px !important;
  }
  .app .grid2[data-cp-grid="homeMain"] .list,
  .app .grid2[data-cp-grid="homeMain"] .list > .item {
    width:100%;
    min-width:0;
    max-width:100%;
  }
}


/* Stable Home content panels: prevent widget overlays over the action in Up next.
   The two sections stay equal-width on desktop and stack on narrow screens. */
#app .grid2.cpHomeCleanMain[data-cp-grid="homeMain"] {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-auto-flow:row !important;
  grid-auto-rows:auto !important;
  align-items:start !important;
  gap:18px !important;
  position:static !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:auto !important;
  overflow:visible !important;
  margin:0 !important;
}
#app .grid2.cpHomeCleanMain[data-cp-grid="homeMain"] > div {
  display:block !important;
  position:relative !important;
  box-sizing:border-box !important;
  grid-column:auto !important;
  grid-row:auto !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
  margin:0 !important;
  padding:0 !important;
}
#app .cpHomeCleanMain .sectionHead {
  box-sizing:border-box;
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  width:100%;
  min-width:0;
  min-height:36px !important;
  margin:0 0 12px !important;
}
#app .cpHomeCleanMain .sectionHead h3 {
  flex:1 1 auto;
  min-width:0;
  font-size:18px;
  line-height:1.35;
}
#app .cpHomeCleanMain .sectionHead .linkBtn,
#app .cpHomeCleanMain .sectionHead > .badge {
  flex:0 0 auto;
  margin:0 !important;
  white-space:nowrap !important;
  position:static !important;
}
#app .cpHomeCleanMain .sectionHead .linkBtn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:650;
  padding:7px 9px;
  border-radius:9px;
  color:var(--accent);
}
#app .cpHomeCleanMain .briefCard {
  box-sizing:border-box;
  min-height:0 !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  overflow:visible !important;
}
#app .cpHomeCleanMain > div > .list {
  display:grid;
  width:100%;
  min-width:0;
  max-width:100%;
  gap:9px;
}
#app .cpHomeCleanMain .cpMoveHandle,
#app .cpHomeCleanMain .cpWidgetReset,
#app .cpHomeCleanMain .cpResizeRight,
#app .cpHomeCleanMain .cpResizeBottom,
#app .cpHomeCleanMain .cpResizeCorner {
  display:none !important;
}
@media(max-width:900px) {
  #app .grid2.cpHomeCleanMain[data-cp-grid="homeMain"] {
    grid-template-columns:minmax(0,1fr) !important;
    gap:16px !important;
  }
}
