/* Dashboard (v0.22, feedback #6/#20): calm ivory, one deep-ink accent, quiet category tints. Tokens from app.css / core.css. */
.dash-head { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-4); align-items: end; margin: var(--s-2) 0 var(--s-4); padding: var(--s-5) var(--s-5) var(--s-4);
  border-radius: var(--r-lg); color: #FBF7EE; background: radial-gradient(120% 140% at 100% 0%, rgba(217, 186, 124, .22) 0%, rgba(217, 186, 124, 0) 46%), linear-gradient(140deg, #1E2747 0%, #141B33 70%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 10px 30px rgba(20, 27, 51, .18); position: relative; overflow: hidden; }
.dash-head::after { content: ""; position: absolute; right: -60px; bottom: -80px; width: 260px; height: 260px; border-radius: 50%; border: 1px solid rgba(217, 186, 124, .18); pointer-events: none; }
.dash-head__hello { margin: 0; font-size: var(--fs-xs); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #E9CF97; }
.dash-head__name { margin: 4px 0 0; font-family: var(--font-display); font-weight: 400; font-size: clamp(1.75rem, 1.2rem + 2vw, 2.6rem); line-height: 1.05; letter-spacing: -.01em; color: #FBF7EE; }
.dash-head__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: var(--s-3); }
.dash-chip { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border-radius: var(--r-pill); font-size: var(--fs-xs); font-weight: 600;
  color: rgba(251, 247, 238, .9); background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); text-decoration: none; }
a.dash-chip:hover { background: rgba(255, 255, 255, .14); }
.dash-chip .icon { color: #E9CF97; }
.dash-search { position: relative; z-index: 1; min-width: 0; display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 0 12px 0 16px; border: 0; border-radius: var(--r-pill);
  font: inherit; font-size: var(--fs-sm); text-align: left; cursor: text; color: var(--c-text-2); background: var(--c-surface); box-shadow: 0 6px 20px rgba(0, 0, 0, .18); }
.dash-search span { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dash-search .icon { color: var(--c-text-3); }
.dash-search kbd { font: 600 11px/1 var(--font-sans); padding: 5px 7px; border-radius: 6px; background: var(--c-surface-2); color: var(--c-text-3); }
.dash-search:hover { box-shadow: 0 0 0 2px rgba(217, 186, 124, .55), 0 6px 20px rgba(0, 0, 0, .18); }
@media (pointer: coarse) { .dash-search kbd { display: none; } }
@media (min-width: 900px) { .dash-head { grid-template-columns: minmax(0, 1fr) minmax(320px, 420px); } }

.quick { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-2); margin-bottom: var(--s-4); }
@media (min-width: 640px) { .quick { grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); } }
.quick__tile { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 8px; padding: var(--s-3) 4px; border-radius: var(--r-md);
  text-decoration: none; color: var(--c-text); background: var(--c-surface); box-shadow: var(--shadow-1); text-align: center;
  transition: transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out); }
.quick__tile:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px var(--c-border), 0 8px 20px rgba(22, 23, 28, .08); }
.quick__tile:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 2px; }
.quick__icon { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; flex: none; }
.quick__icon .icon { width: 21px; height: 21px; }
.quick__label { font-size: 12.5px; font-weight: 600; line-height: 1.25; }
@media (prefers-reduced-motion: reduce) { .quick__tile { transition: none; } }

.dash { display: grid; gap: var(--s-4); align-items: start; }
.dash__main, .dash__side { min-width: 0; }
.dash__side > * + * { margin-top: var(--s-4); }
@media (min-width: 1180px) { .dash { grid-template-columns: minmax(0, 1fr) 340px; } .dash__side { position: sticky; top: calc(var(--s-4) + 64px); } }
.dash .tiles { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
@media (max-width: 420px) { .dash .tiles .tile__v { font-size: var(--fs-xl); } .dash-head { padding: var(--s-4); } }
.dash-nudge { margin-bottom: var(--s-4); gap: var(--s-3); text-decoration: none; color: inherit; align-items: center; }
.dash-card-head { margin-bottom: var(--s-2); gap: var(--s-3); }

/* Recent activity */
.dash-feed { margin-bottom: var(--s-4); }
.feed { list-style: none; margin: 0; padding: 0; }
.feed li + li { border-top: 1px solid var(--c-hairline); }
.feed__row { display: flex; align-items: center; gap: var(--s-3); padding: 10px 2px; text-decoration: none; color: var(--c-text); }
.feed__row:hover .feed__title { color: var(--c-accent); }
.feed__row.is-cancelled { opacity: .6; }
.feed__icon { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; flex: none; }
.feed__body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.feed__title { font-weight: 600; font-size: var(--fs-sm); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.feed__sub { font-size: 12px; color: var(--c-text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.feed__end { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; flex: none; }
.feed__amt { font-weight: 700; font-size: var(--fs-sm); font-variant-numeric: tabular-nums; }
.feed__due { font-size: 11.5px; font-weight: 650; color: var(--c-warn); }
.feed__paid { font-size: 11.5px; font-weight: 650; color: var(--c-ok); }

/* Ziwake AI card */
.dash-ai { padding: var(--s-4); border-radius: var(--r-lg); color: #FBF7EE; background: linear-gradient(150deg, #26335A 0%, #141B33 75%);
  box-shadow: 0 0 0 1px rgba(217, 186, 124, .28), 0 10px 26px rgba(20, 27, 51, .18); }
.dash-ai__head { display: flex; gap: var(--s-3); align-items: flex-start; }
.dash-ai__mark { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 13px; flex: none; color: #E9CF97; background: rgba(217, 186, 124, .14); box-shadow: inset 0 0 0 1px rgba(217, 186, 124, .35); }
.dash-ai__title { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-xl); letter-spacing: 0; }
.dash-ai__sub { margin: 2px 0 0; font-size: 12.5px; line-height: 1.45; color: rgba(251, 247, 238, .72); }
.dash-ai__chips { display: flex; flex-direction: column; gap: 6px; margin: var(--s-3) 0; }
.dash-ai__chip { text-align: left; min-height: 38px; padding: 8px 12px; border: 0; border-radius: 12px; font: inherit; font-size: var(--fs-sm); font-weight: 550; cursor: pointer;
  color: #FBF7EE; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.dash-ai__chip:hover { background: rgba(255, 255, 255, .13); }
.dash-ai__ask { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 44px; padding: 0 14px; border: 0; border-radius: var(--r-pill); font: inherit; font-size: var(--fs-sm);
  font-weight: 700; cursor: pointer; color: #16171C; background: linear-gradient(140deg, #E9CF97, #D9BA7C); }
.dash-ai__ask span { flex: 1; text-align: left; }
.dash-ai__ask kbd { font: 600 11px/1 var(--font-sans); padding: 4px 6px; border-radius: 6px; background: rgba(22, 23, 28, .12); }
@media (pointer: coarse) { .dash-ai__ask kbd { display: none; } }
