/* The Hoje dashboard owns these density rules; other routes keep their styles. */
html body main.rw28-main.rw-today-framed {
  width:100%; max-width:1640px; margin-inline:auto; padding:20px 24px 28px!important;
}
html body main.rw28-main.rw-today-framed > div:first-child {margin-bottom:14px!important;gap:10px!important}
html body main.rw28-main.rw-today-framed h1 {font-size:26px!important;line-height:1.2!important}
html body main.rw28-main.rw-today-framed .rw-today-organized-grid {gap:16px!important;align-items:start!important}
html body main.rw28-main.rw-today-framed .rw-today-organized-grid [data-slot="card"] {
  --card-spacing:12px;display:flex!important;flex-direction:column!important;
  align-items:stretch!important;justify-content:flex-start!important;align-content:start!important;
  min-height:0!important;height:auto!important;gap:10px!important;padding:0!important;
  border-radius:16px!important;text-align:left!important;
}
html body main.rw28-main.rw-today-framed .rw-today-organized-grid [data-slot="card-header"] {
  display:flex!important;flex-flow:row wrap!important;align-items:center!important;justify-content:space-between!important;
  width:100%!important;max-width:none!important;min-height:0!important;gap:8px!important;padding:14px 16px 0!important;text-align:left!important;
}
html body main.rw28-main.rw-today-framed .rw-today-organized-grid [data-slot="card-title"] {
  font-size:15px!important;line-height:1.35!important;font-weight:600!important;max-width:none!important;text-align:left!important;
}
html body main.rw28-main.rw-today-framed .rw-today-organized-grid [data-slot="card-header"] > button {
  width:auto!important;min-width:0!important;min-height:32px!important;height:auto!important;padding:6px 10px!important;font-size:12px!important;line-height:1.3!important;
}
html body main.rw28-main.rw-today-framed .rw-today-organized-grid [data-slot="card-content"] {
  width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;
  padding:0 16px 16px!important;flex:none!important;text-align:left!important;
}
html body main.rw28-main.rw-today-framed .rw-today-organized-grid > section {
  min-height:0!important;height:auto!important;border-radius:16px!important;
}
html body main.rw28-main.rw-today-framed :is(.rw-critical-today,.rw-smart-today,.rw-mini-today,.rw-guided-today) {
  padding:16px!important;margin:0!important;
}
html body main.rw28-main.rw-today-framed :is(.rw-critical-head,.rw-today-head,.rw-mini-today-head,.rw-guided-today-head) {
  gap:12px!important;margin-bottom:10px!important;
}
html body main.rw28-main.rw-today-framed :is(.rw-critical-head,.rw-today-head,.rw-mini-today-head,.rw-guided-today-head) h2 {
  font-size:16px!important;line-height:1.35!important;margin:2px 0 4px!important;
}
html body main.rw28-main.rw-today-framed :is(.rw-critical-head,.rw-today-head,.rw-mini-today-head,.rw-guided-today-head) p {
  font-size:11px!important;line-height:1.45!important;margin:0!important;
}
html body main.rw28-main.rw-today-framed :is(.rw-critical-list,.rw-today-list,.rw-mini-list) {gap:7px!important;margin-block:10px 0!important}
html body main.rw28-main.rw-today-framed :is(.rw-critical-item,.rw-today-item,.rw-mini-row) {
  min-height:0!important;padding:10px!important;gap:10px!important;border-radius:10px!important;
}
html body main.rw28-main.rw-today-framed :is(.rw-critical-copy,.rw-today-copy,.rw-mini-copy) strong {
  font-size:12px!important;line-height:1.4!important;
}
html body main.rw28-main.rw-today-framed .rw-critical-week {margin-top:12px!important;padding-top:10px!important}
html body main.rw28-main.rw-today-framed .rw-critical-days {gap:5px!important}
html body main.rw28-main.rw-today-framed .rw-critical-days button {min-height:38px!important;padding:5px!important}

/* Calendar and its study goal form a compact planning card. */
html body main.rw28-main.rw-today-framed [data-rw-today-role="calendar"] [data-slot="card-content"] {
  gap:12px!important;grid-template-columns:minmax(0,1fr)!important;
}
html body main.rw28-main.rw-today-framed [data-rw-today-role="calendar"] .grid-cols-7 {row-gap:3px!important}
html body main.rw28-main.rw-today-framed [data-rw-today-role="calendar"] .grid-cols-7 > div {
  min-height:28px!important;height:28px!important;font-size:12px!important;
}
html body main.rw28-main.rw-today-framed [data-rw-today-role="calendar"] [data-slot="card-content"] > .border-l {
  border-left:0!important;border-top:1px solid var(--border);padding:10px 0 0!important;
  display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;
}
html body main.rw28-main.rw-today-framed [data-rw-today-role="calendar"] .border-l > div {margin:0!important}
html body main.rw28-main.rw-today-framed [data-rw-today-role="calendar"] .border-l > button {
  margin:0 0 0 auto!important;width:auto!important;min-height:32px!important;padding:6px 10px!important;font-size:12px!important;
}
html body main.rw28-main.rw-today-framed .rw-goal-info {margin:0 16px 14px!important;padding-top:10px!important;gap:10px!important;flex-wrap:nowrap!important}
html body main.rw28-main.rw-today-framed .rw-goal-progress {min-width:0!important;gap:6px!important}
html body main.rw28-main.rw-today-framed .rw-goal-progress strong {padding:0!important;font-size:12px!important}
html body main.rw28-main.rw-today-framed .rw-goal-progress button {padding:6px 9px!important;min-height:32px!important;font-size:12px!important}
html body main.rw28-main.rw-today-framed .rw-goal-progress p {font-size:10px!important;line-height:1.3!important}
html body main.rw28-main.rw-today-framed .rw-daily-grade {min-width:74px!important;gap:3px!important;padding:0!important}
html body main.rw28-main.rw-today-framed .rw-daily-grade-circle {width:56px!important;height:56px!important;padding:4px!important}
html body main.rw28-main.rw-today-framed .rw-daily-grade-value strong {font-size:20px!important}
html body main.rw28-main.rw-today-framed [data-rw-today-role="tasks"] [data-slot="card-content"] > p {padding:6px 0!important;margin:0 0 8px!important}

/* Full-width rows inside reviews; no centered empty-state layout after loading. */
html body main.rw28-main.rw-today-framed [data-rw-today-role="reviews"] [data-slot="card-content"] > div {
  width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:9px 0!important;
  border-width:0 0 1px!important;border-radius:0!important;text-align:left!important;gap:12px!important;
}
html body main.rw28-main.rw-today-framed [data-rw-today-role="reviews"] [data-slot="card-content"] > div:last-child {border-bottom:0!important;padding-bottom:0!important}
html body main.rw28-main.rw-today-framed [data-rw-today-role="reviews"] [data-slot="card-content"] b {font-size:12px!important;line-height:1.4!important}
html body main.rw28-main.rw-today-framed [data-rw-today-role="daily-goal"] [data-slot="card-content"] {gap:16px!important}
html body main.rw28-main.rw-today-framed [data-rw-today-role="daily-goal"] .rw28-toolbar {display:block!important;gap:0!important;min-width:0!important;padding:0!important}
html body main.rw28-main.rw-today-framed [data-rw-today-role="daily-goal"] .rw28-toolbar > button {min-height:32px!important;margin:0!important;padding:5px 0!important;font-size:12px!important}
html body main.rw28-main.rw-today-framed [data-rw-today-role="daily-goal"] [data-slot="card-content"] > .relative {width:76px!important;height:76px!important}
html body main.rw28-main.rw-today-framed [data-rw-today-role="distribution"] [data-slot="card-content"] > .relative {width:104px!important;height:104px!important}
html body main.rw28-main.rw-today-framed [data-rw-today-role="distribution"] [data-slot="card-content"] {gap:20px!important}

/* Shortcuts stay actionable without oversized tiles. */
html body main.rw28-main.rw-today-framed .rw-quick-actions {grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:8px!important}
html body main.rw28-main.rw-today-framed .rw-quick-actions > button {
  min-height:64px!important;padding:9px!important;gap:8px!important;border-radius:12px!important;
}
html body main.rw28-main.rw-today-framed .rw-quick-actions > button > span:first-child {width:28px!important;height:28px!important;flex-shrink:0}
html body main.rw28-main.rw-today-framed .rw-quick-actions > button > svg {display:none}
html body main.rw28-main.rw-today-framed [data-rw-today-role="quick-actions"] h2 {font-size:14px!important;margin:0 0 8px!important}
html body main.rw28-main.rw-today-framed [data-rw-today-role="progress"] [data-slot="card-content"] {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px!important;
}
html body main.rw28-main.rw-today-framed [data-rw-today-role="progress"] [data-slot="card-content"] > .grid-cols-4 {grid-column:1/-1!important}
html body main.rw28-main.rw-today-framed [data-rw-today-role="progress"] .text-5xl {font-size:36px!important}
html body main.rw28-main.rw-today-framed [data-rw-today-role="progress"] .grid-cols-4 > div {min-height:54px!important;padding:7px!important}

/* Recent scores and the area browser share the width on desktop. */
html body main.rw28-main.rw-today-framed [data-rw-today-role="recent-performance"] .rw-recent-score-list {gap:6px!important;margin:0!important}
html body main.rw28-main.rw-today-framed .rw-recent-score-item {padding:8px 10px!important;gap:4px!important}
html body main.rw28-main.rw-today-framed .rw-performance-area-panel {width:auto!important;margin:0 16px 16px!important;border-radius:10px!important}
html body main.rw28-main.rw-today-framed .rw-performance-area-toggle {padding:10px 12px!important}
html body main.rw28-main.rw-today-framed .rw-performance-area-content {padding:10px 12px!important}
html body main.rw28-main.rw-today-framed .rw-performance-area-tabs {gap:5px!important;margin-bottom:8px!important}
html body main.rw28-main.rw-today-framed .rw-performance-area-tabs button {min-height:30px!important;padding:5px 8px!important;font-size:11px!important}
html body main.rw28-main.rw-today-framed .rw-performance-area-summary {margin-block:6px!important}
html body main.rw28-main.rw-today-framed .rw-performance-area-columns {gap:10px!important}
html body main.rw28-main.rw-today-framed .rw-performance-area-columns > div {padding:10px!important}
html body main.rw28-main.rw-today-framed :is(.rw-performance-score-row,.rw-performance-topic-row) {padding:7px 0!important;min-height:0!important}
html body main.rw28-main.rw-today-framed .rw-performance-area-columns h3 {text-align:left!important}
html body main.rw28-main.rw-today-framed .rw-performance-topic-search {margin-block:7px!important;min-height:32px!important;height:32px!important}
html body main.rw28-main.rw-today-framed .rw-today-secondary-toggle > button {padding:12px 14px!important;min-height:0!important;border-radius:12px!important}
html body main.rw28-main.rw-today-framed .rw-today-secondary-toggle span strong {font-size:13px!important}

@media(min-width:1280px) {
 html body main.rw28-main.rw-today-framed .rw-today-organized-grid.rw-today-masonry {grid-auto-rows:8px!important;row-gap:0!important;column-gap:16px!important}
 html body main.rw28-main.rw-today-framed [data-rw-today-role="recent-performance"] > [data-slot="card-header"] {grid-column:1/-1!important;justify-content:flex-start!important}
 html body main.rw28-main.rw-today-framed [data-rw-today-role="recent-performance"] [data-slot="card-title"] {margin-right:auto!important}
}
@media(max-width:1279px) {
 html body main.rw28-main.rw-today-framed .rw-today-organized-grid > [data-rw-today-role] {grid-column:1/-1!important;grid-row:auto!important}
 html body main.rw28-main.rw-today-framed .rw-quick-actions {grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:640px) {
 html body main.rw28-main.rw-today-framed {padding:14px 12px 24px!important}
 html body main.rw28-main.rw-today-framed h1 {font-size:24px!important}
 html body main.rw28-main.rw-today-framed .rw-today-organized-grid {gap:12px!important}
 html body main.rw28-main.rw-today-framed .rw-quick-actions {grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body main.rw28-main.rw-today-framed .rw-quick-actions > button {min-height:56px!important}
 html body main.rw28-main.rw-today-framed .rw-critical-item {grid-template-columns:22px minmax(0,1fr) auto!important;gap:7px!important}
 html body main.rw28-main.rw-today-framed .rw-critical-actions {grid-column:2/-1!important;justify-content:flex-start!important}
 html body main.rw28-main.rw-today-framed .rw-critical-actions button {min-height:32px!important;padding:5px 12px!important}
 html body main.rw28-main.rw-today-framed .rw-critical-days {grid-template-columns:repeat(5,minmax(0,1fr))!important;overflow:visible!important}
 html body main.rw28-main.rw-today-framed .rw-today-head {flex-wrap:wrap!important}
 html body main.rw28-main.rw-today-framed .rw-today-head > button {min-height:32px!important}
 html body main.rw28-main.rw-today-framed [data-rw-today-role="recent-performance"] > [data-slot="card-header"] {display:grid!important;grid-template-columns:1fr 1fr!important}
 html body main.rw28-main.rw-today-framed [data-rw-today-role="recent-performance"] [data-slot="card-title"] {grid-column:1/-1!important}
 html body main.rw28-main.rw-today-framed [data-rw-today-role="recent-performance"] select {width:100%!important;min-width:0!important;max-width:100%!important;font-size:11px!important;padding-inline:8px!important}
 html body main.rw28-main.rw-today-framed .rw-recent-score-list {grid-template-columns:minmax(0,1fr)!important}
 html body main.rw28-main.rw-today-framed .rw-performance-area-columns {grid-template-columns:1fr!important}
}

html body main.rw28-main.rw-today-framed .rw-performance-area-toggle {cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none}
html body main.rw28-main.rw-today-framed .rw-performance-area-toggle::after {content:"+";font-size:22px}
html body main.rw28-main.rw-today-framed details[open] > .rw-performance-area-toggle::after {content:"−"}
html body main.rw28-main.rw-today-framed .rw-performance-area-toggle:focus-visible {outline:2px solid currentColor;outline-offset:2px}
@media(min-width:641px){html body main.rw28-main.rw-today-framed [data-rw-today-role="recent-performance"] .rw-recent-score-list {grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:641px){
 html body main.rw28-main.rw-today-framed .rw-today-organized-grid > [data-rw-today-role="recent-performance"] > [data-slot="card-header"] {display:grid!important;grid-template-columns:minmax(0,1fr) 180px 180px!important;align-items:center!important}
 html body main.rw28-main.rw-today-framed .rw-today-organized-grid > [data-rw-today-role="recent-performance"] > [data-slot="card-header"] select {width:100%!important;min-width:0!important;height:32px!important}
}
