/* My Dashboard: calm rows, tools first, data and backup below */
.dash__intro { max-width: var(--measure-text); margin: 0 0 var(--s-3); }
.dash__trust { display: inline-flex; align-items: center; gap: var(--s-2); margin: 0 0 var(--s-7); color: var(--text-muted); font-size: var(--fs-small); }
.dash__section { margin-bottom: var(--s-7); }
.dash__section h2 { margin: 0 0 var(--s-2); font-size: var(--fs-h2); }
.dash__section > p { margin: 0 0 var(--s-4); font-size: var(--fs-small); }
.dash__section > ul { margin-top: var(--s-4); }
.dash { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 17.5rem), 1fr)); }
.dash__row { --accent: var(--accent-l); display: flex; flex-direction: column; gap: var(--s-3); padding: var(--s-5); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-sm); }
[data-theme="dark"] .dash__row { --accent: var(--accent-d); }
.dash__row--soon { opacity: .7; }
.dash__head { display: flex; align-items: center; gap: var(--s-3); min-width: 0; }
.dash__icon { display: inline-flex; color: var(--accent); }
.dash__text { min-width: 0; }
.dash__name { margin: 0; font-size: var(--fs-h3); }
.dash__desc { margin: 0; color: var(--text-muted); font-size: var(--fs-small); }
.dash__meta { flex: 1; display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); font-size: var(--fs-small); }
.dash__actions { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: auto; }
.dash__row { align-content: start; }
.dash__cta { margin-top: var(--s-3); justify-content: center; text-align: center; }
.tool-card__meta:empty { display: none; }
.dash__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-3); margin-bottom: var(--s-2); }
.dash__bar h2 { margin: 0; }
.dash__hint { margin: 0 0 var(--s-4); font-size: var(--fs-small); }
.tool-card--off .tool-card__preview, .tool-card--off .tool-card__top, .tool-card--off .tool-card__desc, .tool-card--off .tool-card__meta { opacity: .5; }
#dash-edit { display: inline-flex; align-items: center; gap: var(--s-2); }
#dash-edit[hidden] { display: none; }
.dash__empty { margin-top: var(--s-4); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; min-height: 0; gap: var(--s-4); padding: var(--s-6) var(--s-5); border: 1px dashed var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.dash__empty p { margin: 0; color: var(--text-muted); }
.today { list-style: none; margin: var(--s-4) 0 0; padding: 0; display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); align-items: start; }
.today__card { --accent: var(--accent-l); position: relative; display: flex; flex-direction: column; gap: var(--s-3); padding: var(--s-5); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-sm); overflow: hidden; }
.today__card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--accent); }
[data-theme="dark"] .today__card { --accent: var(--accent-d); }
.today__head { display: flex; align-items: center; gap: var(--s-2); min-width: 0; }
.today__icon { flex: none; display: inline-flex; color: var(--accent); }
.today__name { flex: 1; min-width: 0; font-weight: 700; color: var(--text); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.today__name:hover { color: var(--accent); }
.today__count { flex: none; padding: .1em .6em; border-radius: 999px; background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent); font-size: var(--fs-small); font-weight: 700; font-variant-numeric: tabular-nums; }
.today__bar { display: block; height: 4px; border-radius: 999px; background: color-mix(in srgb, var(--accent) 14%, transparent); overflow: hidden; }
.today__fill { display: block; height: 100%; border-radius: inherit; background: var(--accent); transition: width var(--dur); }
.today__rows { list-style: none; margin: 0; padding: 0; }
.today__row { display: flex; align-items: flex-start; gap: var(--s-3); padding: var(--s-3) 0; border-top: 1px solid var(--border); }
.today__row:first-child { border-top: 0; padding-top: var(--s-1); }
.today__row:last-child { padding-bottom: 0; }
.today__check { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; margin-top: .05rem; padding: 0; border: 1.5px solid color-mix(in srgb, var(--accent) 55%, var(--border)); border-radius: 999px; background: transparent; color: transparent; cursor: pointer; transition: background var(--dur), color var(--dur), border-color var(--dur); }
.today__check:hover { background: color-mix(in srgb, var(--accent) 12%, transparent); }
.today__check[aria-checked="true"] { background: var(--accent); border-color: var(--accent); color: #fff; }
.today__check:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.today__dot { flex: none; width: .5rem; height: .5rem; margin: .5rem .5rem 0; border-radius: 999px; background: var(--accent); }
.today__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .1rem; }
.today__title { font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.today__detail { color: var(--text-muted); font-size: var(--fs-small); }
.today__row--done .today__title { color: var(--text-muted); font-weight: 500; text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--text-muted) 60%, transparent); }
.today__row--overdue .today__detail { color: var(--danger); font-weight: 600; }
.today__empty { grid-column: 1 / -1; padding: var(--s-5); border: 1px dashed var(--border); border-radius: var(--radius-lg); background: var(--surface); color: var(--text-muted); text-align: center; }

/* Compact tool cards: icon, name, description, status */
.tool-card--compact .tool-card__link { padding: 0; }
.tool-card--compact .tool-card__body { padding: var(--s-4) var(--s-4) var(--s-4); gap: var(--s-2); }
.tool-card--compact { position: relative; }
.tool-card--compact .tool-card__link { position: relative; overflow: hidden; }
.tool-card--compact .tool-card__link::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--accent); }
.tool-card--compact .tool-card__icon { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 12%, transparent); }
.tool-card--compact .tool-card__desc { flex: 0 1 auto; }
.tool-card--compact .tool-card__meta { margin-top: var(--s-1); }
.tool-card--compact .dash__cta { margin-top: var(--s-2); padding-block: .4rem; }
.dash__search { position: relative; max-width: 24rem; margin: 0 0 var(--s-5); }
.dash__search[hidden] { display: none; }
.dash__search > span { position: absolute; left: .85rem; top: 50%; transform: translateY(-50%); display: inline-flex; color: var(--text-muted); pointer-events: none; }
.dash__search .ow-input { width: 100%; padding-left: 2.5rem; }
.dash__nomatch { margin: var(--s-4) 0; }
.dash__empty-title { font-weight: 700; font-size: var(--fs-h3); color: var(--text) !important; }
.dash__empty-help { max-width: 28rem; }
.dash__empty { min-height: 0; padding: var(--s-8) var(--s-5); }
.today__empty { padding: var(--s-3) var(--s-4); font-size: var(--fs-small); text-align: left; }
.dash__section--data { margin: 0; }
.dash__details > summary { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); cursor: pointer; list-style: none; }
.dash__details > summary::-webkit-details-marker { display: none; }
.dash__details > summary h2 { margin: 0; font-size: var(--fs-h3); color: var(--text-muted); }
.dash__details > summary:hover h2 { color: var(--text); }
.dash__details > summary:focus-visible { outline: 2px solid var(--text); outline-offset: 4px; border-radius: var(--radius); }
.dash__chev { display: inline-flex; color: var(--text-muted); transition: transform var(--dur); }
.dash__details[open] .dash__chev { transform: rotate(180deg); }
.dash__details > p, .dash__details > ul { margin-top: var(--s-4); }

/* Two columns on desktop: your work on the left, a calm data rail on the right */
.dash__layout { display: block; }
.dash__aside { margin-top: var(--s-6); padding: var(--s-5); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-sm); }
.dash__aside[hidden] { display: none; }
.dash__aside .dash { grid-template-columns: 1fr; gap: 0; }
.dash__aside .dash__row { padding: var(--s-4) 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; }
.dash__aside .dash__row:first-child { border-top: 0; padding-top: var(--s-2); }
.dash__aside .dash__row:last-child { padding-bottom: 0; }
.dash__aside .dash__details > p { margin-bottom: 0; }
@media (min-width: 1000px) {
  .dash__layout { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: var(--s-7); align-items: start; }
  .dash__aside { position: sticky; top: var(--s-5); margin-top: 0; }
  .dash__main .today { grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); }
}
.dash__aside .dash__details > p { font-size: var(--fs-small); }

/* Use the full desktop width on this page (header, content and footer stay aligned) */
.ow-container { max-width: 96rem; }
@media (min-width: 1500px) { .dash__layout { grid-template-columns: minmax(0, 1fr) 24rem; } }
.dash__cloud { display: grid; gap: var(--s-3); margin-bottom: var(--s-5); padding-bottom: var(--s-5); border-bottom: 1px solid var(--border); }
.dash__cloud-note { margin: 0; font-size: var(--fs-small); }
.dash__cloud-btn { display: inline-flex; align-items: center; justify-content: center; }
.dash__cloud-head { display: flex; align-items: center; gap: var(--s-2); min-width: 0; overflow-wrap: anywhere; }
.dash__data { display: grid; gap: var(--s-4); }
.dash__aside .dash__cloud { margin: var(--s-2) 0 0; padding: var(--s-4) 0 0; border-bottom: 0; border-top: 1px solid var(--border); }
.dash__aside .dash__section > p { font-size: var(--fs-small); }
.dash__cloud-btn:disabled { opacity: .5; cursor: not-allowed; }
