/* Home-only composition. Shared cards, dialogs and business pages retain styles.css. */
.dashboard-greeting-copy, .dashboard-search, .dashboard-top-motto, .dashboard-sidebar-motto,.dashboard-day-note { display: none; }
.dashboard-view { --dash-primary: var(--primary); --dash-soft: color-mix(in srgb, var(--secondary) 12%, var(--card)); --dash-heading: var(--ink); --dash-serif: "Noto Serif SC", "Songti SC", SimSun, serif; }
[data-theme="rose"] .dashboard-view { --dash-primary: #ef4082; --dash-soft: #fcf3f6; --dash-heading: #242034; background: #fbf1f5; }
.dashboard-view .app-shell { grid-template-columns: 202px minmax(0,1fr); }
.dashboard-view .sidebar { padding: 23px 15px 18px; font-family: var(--dash-serif); }
[data-theme="rose"] .dashboard-view .sidebar { background: linear-gradient(150deg,#3a2633,#422a38 75%,#372330); }
.dashboard-view .brand { gap: 12px; }
.dashboard-view .brand strong { font-family: var(--dash-serif); font-size: 1.125rem; }
.dashboard-view .brand small { font-size: .75rem; color: #c7b7c3; white-space: nowrap; }
.dashboard-view .brand-mark { background: linear-gradient(135deg,var(--secondary),var(--dash-primary)); box-shadow: 0 0 15px color-mix(in srgb,var(--primary) 45%,transparent), inset 0 1px 1px #ffffff80; border-radius: 12px; }
.dashboard-view .sidebar nav { margin-top: 40px; gap: 17px; }
.dashboard-view .sidebar nav a { border-radius: 9px; padding: 10px 14px; font: 500 .875rem/1.4 var(--dash-serif); color: #d4c6ce; min-height: 45px; }
.dashboard-view .sidebar nav a.active { background: linear-gradient(110deg,var(--secondary),color-mix(in srgb,var(--dash-primary) 75%,var(--secondary))); color: #37222e; font-weight: 800; box-shadow: inset 0 1px 1px #ffffff50,0 4px 16px #160a1314; }
.dashboard-view .sidebar nav a.active::before { display: none; }
.dashboard-nav-icon { display: none; }
.dashboard-view .sidebar nav a span { font-size: 0; line-height: 1; }
.dashboard-view .dashboard-nav-icon { display: block; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.dashboard-sidebar-motto > span svg { width: 28px; height: 34px; fill: color-mix(in srgb,var(--secondary) 35%,transparent); stroke: var(--secondary); stroke-width: 1.2; }
.dashboard-view .sidebar-note { padding: 10px 7px; border: 0; margin-bottom: 10px; opacity: .8; }
.dashboard-view .sidebar-note strong { font-size: .7rem; font-weight: 500; }.dashboard-view .sidebar-note small { font-size: .625rem; }
.dashboard-view .dashboard-sidebar-motto { display: flex; gap: 12px; padding: 13px 12px; border: 1px solid #ffffff13; border-radius: 13px; align-items: center; }
.dashboard-sidebar-motto > span { color: var(--secondary); font-size: 2.25rem; }.dashboard-sidebar-motto strong { color: var(--secondary); font-size: .875rem; }.dashboard-sidebar-motto small { display: block; margin-top: 4px; line-height: 1.5; color: #cdbdc7; font-size: .7rem; }
.dashboard-view main { max-width: 1640px; width: 100%; margin-inline: auto; }
.dashboard-view .topbar { min-height: 158px; padding: 22px 26px 16px 40px; border: 0; align-items: flex-start; position: relative; gap: 15px; }
.dashboard-view #today-label { display: inline-block; font-family: var(--dash-serif); color: var(--muted); font-size: .75rem; letter-spacing: .03em; font-weight: 500; }
.dashboard-view .dashboard-day-note { display: inline-flex; gap: 8px; margin-left: 14px; align-items: center; font: .72rem var(--dash-serif); color: var(--muted); }
.dashboard-day-note svg { width: 19px; height: 19px; fill: #ffbf69; stroke: #e99c4d; stroke-width: 1.4; vertical-align: middle; }
.dashboard-view #page-title { margin-top: 9px; color: var(--dash-heading); font-family: var(--dash-serif); font-size: clamp(1.75rem,2.5vw,2.375rem); letter-spacing: .025em; max-width: 28ch; overflow-wrap: anywhere; }
.dashboard-view .dashboard-greeting-copy { display: block; position: relative; margin: 10px 0 0; color: var(--muted); font-family: var(--dash-serif); font-size: .875rem; line-height: 1.55; letter-spacing: .15em; }
.dashboard-greeting-copy i { display: inline-block; vertical-align: middle; width: 36px; height: 1px; background: var(--dash-primary); margin-left: 12px; opacity: .5; }
.dashboard-view .account-strip { gap: 13px; flex-shrink: 0; }
.dashboard-view .role-button { font-family: var(--dash-serif); border: 0; border-radius: 20px; min-height: 39px; padding: 10px 16px; background: linear-gradient(115deg,var(--secondary),var(--dash-primary)); box-shadow: 0 4px 12px color-mix(in srgb,var(--dash-primary) 16%,transparent); }
.dashboard-view .role-button::before { content: ""; display: inline-block; width: 15px; height: 13px; margin-right: 7px; vertical-align: -2px; border: 1.5px solid currentColor; border-radius: 2px; background: linear-gradient(90deg,transparent 46%,currentColor 46% 54%,transparent 54%); }
.dashboard-view .points-pill { min-width: 98px; padding: 5px 14px 5px 38px; border: 1px solid #ffffff90; border-radius: 12px; box-shadow: 0 2px 12px #5d263b06; }
.dashboard-view .points-pill::before { content: ""; position: absolute; left: 13px; top: 15px; width: 15px; height: 7px; border-radius: 50%; background: #ffc561; border: 1px solid #f4a546; box-shadow: 0 4px #f3ad4e,0 8px #ffbd53; }
.dashboard-view .points-pill small { font-size: .625rem; }.dashboard-view .points-pill strong { font: bold 1.5rem/1.1 var(--dash-serif); }
.dashboard-view .avatar-button { background: color-mix(in srgb,var(--card) 90%,transparent); border-radius: 24px; padding: 3px 11px 3px 3px; gap: 9px; min-height: 42px; }
.dashboard-view .avatar-button::after { content: "⌄" / ""; margin-left: 8px; }.dashboard-view .account-copy { max-width: 112px; }.dashboard-view .account-copy b { font: bold 1rem var(--dash-serif); }
.dashboard-view .dashboard-search { display: block; width: clamp(150px,16vw,240px); position: relative; margin-top: 2px; }
.dashboard-search label { display: flex; gap: 8px; align-items: center; background: color-mix(in srgb,var(--card) 88%,transparent); border-radius: 24px; padding: 9px 12px; }
.dashboard-search svg { width: 19px; height: 19px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; }
.dashboard-search input { padding: 0; border: 0; width: 100%; min-width: 0; height: 22px; background: transparent; font: .75rem var(--dash-serif); box-shadow: none; }
[data-dashboard-search-results] { position: absolute; top: calc(100% + 8px); right: 0; width: max(100%,280px); max-width: calc(100vw - 32px); max-height: 300px; overflow: auto; z-index: 8; background: var(--card); padding: 6px; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 8px 24px #33243320; }
[data-dashboard-search-results][hidden] { display: none; }
[data-dashboard-search-results] button { display: flex; align-items: center; gap: 8px; text-align: left; width: 100%; border: 0; border-radius: 7px; min-height: 42px; background: transparent; color: var(--ink); font-size: .8rem; }
[data-dashboard-search-results] button:hover { background: var(--dash-soft); }[data-dashboard-search-results] button span { flex: 1; overflow-wrap: anywhere; }[data-dashboard-search-results] small { color: var(--dash-primary); }
.dashboard-view .dashboard-top-motto { display: block; position: absolute; right: 38px; bottom: 15px; margin: 0; transform: rotate(-10deg); font-family: KaiTi,"STKaiti",var(--dash-serif); color: var(--muted); letter-spacing: .24em; line-height: 1.7; font-size: .9rem; pointer-events: none; }
.dashboard-top-motto::after { content: ""; display: block; width: 65px; height: 10px; border-top: 1px solid var(--dash-primary); border-radius: 50%; margin-left: auto; opacity: .55; }
.dashboard-view .page { padding: 0 25px 20px 22px; }
.dashboard-hero { position: relative; aspect-ratio: 3 / 1; border: 1px solid color-mix(in srgb,var(--secondary) 30%,transparent); border-radius: 15px; background: radial-gradient(ellipse at 75% 30%,color-mix(in srgb,var(--secondary) 22%,var(--card)),transparent 65%),var(--dash-soft); overflow: hidden; container-type: inline-size; }
.dashboard-hero-media { position: absolute; inset: 0; aspect-ratio: 3 / 1; overflow: hidden; }
.dashboard-hero-media img { display: block; width: 100%; height: 100%; object-fit: cover; }.dashboard-hero-media img[hidden] { display: none; }
.dashboard-hero[data-custom] .dashboard-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#fff6f9f2, #fff6f9c9 36%,#fff6f918 58%,#fff6f999); pointer-events: none; }
.dashboard-hero-copy { position: relative; padding: 3.1% 3.8%; width: 56%; color: var(--dash-heading); }
.dashboard-kicker { margin: 0 0 13px; font: 600 .75rem var(--dash-serif); letter-spacing: .12em; }
.dashboard-hero-copy h2 { font-family: var(--dash-serif); font-size: clamp(1.8rem,3.5cqw,3.125rem); line-height: 1.27; letter-spacing: -.04em; margin: 0; font-weight: 900; }
.dashboard-hero-copy h2 em { font-style: normal; color: var(--dash-primary); }
.dashboard-hero-copy > p:last-of-type { margin: 10px 0 14px; font: .8125rem/1.6 var(--dash-serif); color: #67515c; }
.dashboard-cta { min-height: 40px; padding: 10px 24px; border: 1px solid #ffffff65; border-radius: 30px; color: #fff; background: linear-gradient(110deg,color-mix(in srgb,var(--dash-primary) 65%,var(--secondary)),var(--dash-primary)); box-shadow: 0 4px 13px color-mix(in srgb,var(--dash-primary) 18%,transparent),inset 0 1px 1px #ffffff50; font-family: var(--dash-serif); font-size: .875rem; }.dashboard-cta span { margin-left: 9px; }
.dashboard-progress { position: absolute; top: 16%; right: 20.1%; width: 14%; aspect-ratio: 1; border-radius: 50%; background: #fff5; box-shadow: 0 0 24px #fff5; }
.dashboard-progress svg { display: block; width: 100%; height: 100%; fill: none; stroke-width: 8; }.ring-track { stroke: #fffffff0; }.ring-value { stroke: var(--dash-primary); stroke-linecap: round; transform: rotate(-90deg); transform-origin: 60px 60px; }
.dashboard-progress::before { content: ""; position: absolute; inset: -4px; border: 5px solid #ffffffe0; border-radius: 50%; pointer-events: none; }
.dashboard-progress > div { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; color: #2d2637; font-family: var(--dash-serif); }.dashboard-progress strong { font-size: clamp(1.5rem,2.7cqw,2.6rem); }.dashboard-progress small { margin-top: 4px; font-size: .7rem; }
.dashboard-hero-note { position: absolute; right: 3%; top: 23%; width: 15%; padding-left: 20px; border-left: 1px solid #ac7e9170; color: #6f5061; font-family: KaiTi,"STKaiti",var(--dash-serif); letter-spacing: .14em; font-size: clamp(.75rem,1.25cqw,1rem); line-height: 1.9; }.dashboard-hero-note span { display: block; text-align: center; font-size: 1.625rem; }
.dashboard-tags { position: absolute; right: 3.5%; bottom: 6%; display: flex; gap: 14px; }.dashboard-tags span { display: flex; align-items: center; gap: 7px; background: #ffffffe3; border: 1px solid #fff9; padding: 7px 12px; border-radius: 20px; font: .75rem var(--dash-serif); color: #403343; box-shadow: 0 2px 8px #6b31400b; }.dashboard-tags svg { width: 19px; height: 19px; fill: none; stroke: var(--dash-primary); stroke-width: 1.5; }.dashboard-tags span:first-child svg { color: #789141; stroke: currentColor; fill: #9baf7050; }
.dashboard-edit-hero { position: absolute; right: 9px; top: 9px; display: grid; place-items: center; width: 32px; height: 32px; padding: 7px; border: 1px solid #fff8; border-radius: 50%; background: #ffffffa6; color: #86576b; opacity: .3; }.dashboard-edit-hero svg { width: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; }.dashboard-hero:hover .dashboard-edit-hero,.dashboard-edit-hero:focus-visible { opacity: 1; }
.dashboard-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; margin: 14px 0 12px; }
.dashboard-metric { padding: 14px; display: flex; align-items: center; gap: 20px; border: 1px solid color-mix(in srgb,var(--line) 48%,var(--card)); border-radius: 13px; background: var(--card); text-align: left; color: var(--ink); box-shadow: 0 1px 3px #4d283b05; min-width: 0; }
.dashboard-metric-icon { width: 51px; height: 51px; display: grid; place-items: center; flex: none; background: color-mix(in srgb,var(--dash-primary) 9%,var(--card)); color: var(--dash-primary); border-radius: 10px; }.dashboard-metric-icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.6; }.dashboard-metric:last-child .dashboard-metric-icon { background: #fff3e9; color: #ff9946; }.dashboard-metric:last-child svg { fill: #ffb96b55; }
.dashboard-metric small,.dashboard-metric em { display: block; color: var(--muted); font: .75rem/1.5 var(--dash-serif); }.dashboard-metric strong { display: block; font: bold 1.625rem/1.2 var(--dash-serif); color: var(--dash-heading); }.dashboard-metric > b { margin-left: auto; color: var(--muted); font-size: 1.4rem; font-weight: 400; }
.dashboard-modules { display: grid; grid-template-columns: 1.23fr .96fr 1fr; gap: 13px; align-items: stretch; }
.dashboard-panel { min-width: 0; padding: 11px 12px 9px; border: 1px solid color-mix(in srgb,var(--line) 50%,var(--card)); border-radius: 13px; background: var(--card); color: var(--ink); box-shadow: 0 1px 3px #4d283b05; }
.dashboard-panel header { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 9px; }.dashboard-panel h2 { display: flex; align-items: center; gap: 9px; margin: 0; font: 700 1rem var(--dash-serif); white-space: nowrap; }.dashboard-panel header svg { width: 20px; height: 20px; fill: none; stroke: var(--dash-primary); stroke-width: 1.7; }.dashboard-panel header button { display: flex; align-items: center; gap: 7px; min-height: 28px; padding: 2px; border: 0; background: transparent; color: var(--dash-primary); font: .7rem var(--dash-serif); white-space: nowrap; }.dashboard-panel header button svg { width: 14px; height: 14px; stroke: var(--muted); }
.dashboard-task-list { display: grid; gap: 8px; }.dashboard-task-list article { display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 9px 10px; border-radius: 9px; background: var(--dash-soft); }.dashboard-task-check { width: 24px; flex: none; color: var(--dash-primary); }.dashboard-task-check svg { width: 24px; fill: none; stroke: currentColor; stroke-width: 1.4; }.dashboard-task-list article > div { min-width: 0; flex: 1; }.dashboard-task-list h3 { margin: 0 0 5px; font: 600 .875rem/1.3 var(--dash-serif); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.dashboard-task-list p { margin: 0; display: flex; gap: 6px; align-items: center; font: .7rem var(--dash-serif); }.dashboard-task-list p span { color: var(--muted); }.dashboard-task-list p b { color: var(--dash-primary); background: color-mix(in srgb,var(--dash-primary) 8%,var(--card)); padding: 3px 5px; font-weight: 500; white-space: nowrap; }.dashboard-task-list button { padding: 7px 11px; min-height: 34px; flex: none; color: var(--dash-primary); background: color-mix(in srgb,var(--dash-primary) 10%,var(--card)); border: 0; border-radius: 8px; font: .75rem var(--dash-serif); }
.dashboard-empty { padding: 25px 12px; font-size: .875rem; }.dashboard-empty small { display: block; color: var(--muted); margin-top: 10px; }
.dashboard-calendar-nav { display: flex; align-items: center; justify-content: space-between; margin-top: -7px; }.dashboard-calendar-nav strong { font: 600 .8rem var(--dash-serif); }.dashboard-calendar-nav button { width: 27px; height: 26px; padding: 0; border: 0; background: transparent; color: var(--dash-primary); font-size: 1.3rem; }
.dashboard-week { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); background: var(--dash-soft); border-radius: 9px; padding: 7px 3px 2px; text-align: center; }.dashboard-week small { display: block; color: var(--muted); font: .7rem var(--dash-serif); }.dashboard-week span { display: grid; place-items: center; margin: 5px auto 0; width: 29px; height: 29px; border-radius: 50%; font: .8rem var(--dash-serif); }.dashboard-week .today { color: #fff; background: var(--dash-primary); box-shadow: 0 2px 8px color-mix(in srgb,var(--dash-primary) 30%,transparent); }.dashboard-week i { display: block; height: 12px; color: var(--dash-primary); font-size: .6rem; font-style: normal; }.dashboard-week .completed:not(.today) { background: color-mix(in srgb,var(--dash-primary) 15%,var(--card)); }.dashboard-calendar-note { display: flex; align-items: center; gap: 8px; margin: 8px 0 0; color: var(--muted); font: .7rem/1.5 var(--dash-serif); }.dashboard-calendar-note svg { width: 24px; height: 24px; flex: none; fill: color-mix(in srgb,var(--accent) 30%,transparent); stroke: var(--accent); stroke-width: 1.5; }
.dashboard-quote-paper { position: relative; min-height: 127px; padding: 15px 12px 28px 40px; background: var(--dash-soft); border-radius: 9px; overflow: hidden; }.dashboard-quote-mark { position: absolute; left: 8px; top: 5px; color: color-mix(in srgb,var(--dash-primary) 50%,var(--card)); font: bold 3rem Georgia,serif; }.dashboard-quote blockquote { position: relative; z-index: 1; margin: 0 0 11px; font: 600 .875rem/1.65 var(--dash-serif); }.dashboard-quote-paper > small { position: relative; z-index: 1; font: .75rem var(--dash-serif); color: var(--muted); }.dashboard-landscape { position: absolute; inset: auto 0 0; width: 100%; height: 72px; pointer-events: none; fill: color-mix(in srgb,var(--secondary) 25%,transparent); }.dashboard-landscape path:nth-child(2) { fill: color-mix(in srgb,var(--primary) 15%,transparent); }.dashboard-landscape .quote-stem { fill: none; stroke: color-mix(in srgb,var(--primary) 45%,transparent); stroke-width: 2; }.dashboard-landscape ellipse { fill: color-mix(in srgb,var(--primary) 30%,transparent); }
.dashboard-view :is(.dashboard-metric,.dashboard-cta,.dashboard-task-list button):hover { filter: brightness(.985); }.dashboard-view :is(.dashboard-metric,.dashboard-cta,.dashboard-task-list button):active { scale: .98; }.dashboard-view :is(button,a,input):focus-visible,.hero-editor :is(button,input,.hero-crop-viewport):focus-visible { outline: 2px solid var(--dash-primary,var(--primary)); outline-offset: 3px; }
/* Cropper is the only surface with exclusive touch dragging. No page transform/overlay. */
.hero-editor { display: grid; gap: 14px; }.hero-editor > p:first-child { color: var(--muted); margin: 0; line-height: 1.7; }.hero-file-label { gap: 8px; }.hero-file-label input { width: 100%; }.hero-crop-viewport { position: relative; aspect-ratio: 3 / 1; width: 100%; overflow: hidden; background: var(--paper); border: 1px solid var(--line); border-radius: 12px; touch-action: none; cursor: grab; user-select: none; }.hero-crop-viewport:active { cursor: grabbing; }.hero-crop-viewport img { position: absolute; max-width: none; max-height: none; pointer-events: none; }.hero-crop-viewport > span { position: absolute; inset: 0; display: grid; place-items: center; color: var(--muted); font-size: .8rem; }.hero-crop-viewport > [hidden] { display: none; }.hero-zoom { display: grid; grid-template-columns: auto 1fr 4em; align-items: center; gap: 14px; }.hero-zoom input { width: 100%; accent-color: var(--primary); }.hero-editor > small { color: var(--muted); }.hero-editor-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }.hero-editor-actions [data-hero-reset] { margin-right: auto; }
@media (min-width:901px) and (max-width:1200px) { .dashboard-view .topbar { padding-left: 24px; }.dashboard-view .account-strip { gap: 7px; }.dashboard-view .dashboard-search { width: 145px; }.dashboard-view #page-title { font-size: 1.65rem; }.dashboard-view .account-copy { max-width: 65px; }.dashboard-hero-copy { width: 57%; padding: 3%; }.dashboard-kicker { margin-bottom: 8px; }.dashboard-hero-copy > p:last-of-type { font-size: .7rem; margin: 8px 0; }.dashboard-tags { gap: 7px; }.dashboard-tags span { padding: 5px 8px; }.dashboard-modules { grid-template-columns: 1.2fr 1fr; }.dashboard-quote { grid-column: 1 / -1; }.dashboard-metric { gap: 10px; } }
@media (max-width:900px) { .dashboard-view .app-shell { grid-template-columns: minmax(0,1fr); }.dashboard-view .sidebar { width: 202px; }.dashboard-view .topbar { padding: 20px; min-height: 158px; }.dashboard-view #page-title { font-size: 1.8rem; }.dashboard-view .account-strip { gap: 8px; }.dashboard-view .dashboard-search { width: 150px; }.dashboard-view .account-copy { max-width: 75px; }.dashboard-view .page { padding: 0 18px 20px; }.dashboard-view .dashboard-top-motto { display: none; }.dashboard-modules { grid-template-columns: 1fr 1fr; }.dashboard-tasks { grid-column: 1 / -1; }.dashboard-task-list { grid-template-columns: 1fr 1fr; }.dashboard-hero-copy { padding: 3%; }.dashboard-kicker { margin-bottom: 7px; }.dashboard-hero-copy h2 { font-size: clamp(1.5rem,3.5cqw,2.3rem); }.dashboard-hero-copy > p:last-of-type { font-size: .7rem; margin: 7px 0; }.dashboard-tags span { font-size: .65rem; padding: 4px 7px; }.dashboard-tags { gap: 7px; }.dashboard-hero-note { padding-left: 10px; font-size: .7rem; } }
@media (max-width:650px) {
  .dashboard-view .topbar { display: flex; flex-direction: column; gap: 15px; padding: 18px 16px; min-height: 0; }.dashboard-view .topbar > div:first-child { width: 100%; padding-left: 38px; position: relative; }.dashboard-view .mobile-menu { position: absolute; left: -2px; top: 0; width: 36px; height: 40px; padding: 0; }.dashboard-view #page-title { font-size: 1.8rem; margin-top: 6px; }.dashboard-view .dashboard-greeting-copy { margin-top: 8px; font-size: .8rem; letter-spacing: .06em; }.dashboard-view .account-strip { display: grid; grid-template-columns: auto auto minmax(0,1fr); width: 100%; gap: 9px; }.dashboard-view .dashboard-search { grid-column: 1 / -1; grid-row: 2; width: 100%; margin-top: 2px; }.dashboard-search label { padding: 11px 13px; }.dashboard-search input { font-size: 1rem; height: 24px; }.dashboard-view .role-button { min-height: 44px; padding: 10px 12px; }.dashboard-view .points-pill { min-width: 93px; height: 46px; }.dashboard-view .avatar-button { justify-self: end; max-width: 100%; height: 46px; }.dashboard-view .account-copy { max-width: 90px; }.dashboard-view .page { padding: 0 14px 22px; }
  .dashboard-hero { aspect-ratio: auto; padding-top: calc(100% / 3); overflow: hidden; }.dashboard-hero-media { inset: 0 0 auto; width: 100%; height: auto; aspect-ratio: 3 / 1; }.dashboard-hero-copy { width: 100%; padding: 22px 20px 68px; background: var(--dash-soft); }.dashboard-hero-copy h2 { font-size: clamp(1.75rem,7cqw,2.2rem); line-height: 1.35; }.dashboard-kicker { font-size: .68rem; margin-bottom: 10px; }.dashboard-hero-copy > p:last-of-type { font-size: .78rem; max-width: 32ch; margin: 12px 0; }.dashboard-cta { min-height: 44px; font-size: .8rem; padding: 10px 18px; }.dashboard-progress { top: 14px; right: 15px; width: 26%; background: #fff9; }.dashboard-progress strong { font-size: 1.5rem; }.dashboard-progress small { font-size: .58rem; }.dashboard-hero-note { display: none; }.dashboard-tags { bottom: 18px; left: 15px; right: 15px; justify-content: space-between; gap: 5px; }.dashboard-tags span { font-size: .65rem; gap: 4px; padding: 7px; }.dashboard-tags svg { width: 15px; height: 15px; }.dashboard-edit-hero { left: 9px; right: auto; opacity: .85; width: 38px; height: 38px; }
  .dashboard-metrics { gap: 7px; margin: 12px 0; }.dashboard-metric { padding: 12px 8px; display: grid; gap: 7px; }.dashboard-metric-icon { width: 36px; height: 36px; }.dashboard-metric-icon svg { width: 22px; height: 22px; }.dashboard-metric > b { display: none; }.dashboard-metric small { font-size: .72rem; }.dashboard-metric strong { font-size: 1.5rem; margin-top: 3px; }.dashboard-metric em { font-size: .6rem; line-height: 1.5; margin-top: 3px; }.dashboard-modules { grid-template-columns: 1fr; gap: 12px; }.dashboard-tasks { grid-column: auto; }.dashboard-task-list { grid-template-columns: 1fr; }.dashboard-panel { padding: 13px; }.dashboard-panel header { margin-bottom: 10px; }.dashboard-panel header button { min-height: 36px; font-size: .75rem; }.dashboard-task-list article { min-height: 70px; }.dashboard-task-list button { min-height: 44px; }.dashboard-calendar-nav button { min-width: 44px; min-height: 36px; }.dashboard-week { padding: 12px 4px 7px; }.dashboard-week span { width: 34px; height: 34px; }.dashboard-quote-paper { min-height: 145px; padding-top: 20px; }.hero-editor-actions button { min-height: 44px; }.hero-zoom input { min-height: 44px; }
}
@media (prefers-reduced-motion:reduce) { .dashboard-view :is(.dashboard-metric,.dashboard-cta,.dashboard-task-list button):active { scale: 1; } }
.hero-crop-viewport { border: 0; outline: 1px solid var(--line); }
@media (max-width:720px) {
  .dashboard-view .dashboard-day-note { display: none; }
  .dashboard-view .topbar > div:first-child { display: block; }
  .dashboard-view #today-label { display: block; }
  .dashboard-view #page-title { white-space: normal; overflow: visible; }
  .dashboard-view .points-pill { display: block; }
  .dashboard-view .points-pill small,.dashboard-view .points-pill strong { display: block; }
  .dashboard-view .account-copy { max-width: 92px; }
}
