/* Dashboard-specific styles are explicit so they do not depend on Tailwind's build scan. */
.dashboard-page { display: flex; flex-direction: column; gap: 1.5rem; color: #0f172a; }
.dashboard-hero { position: relative; overflow: hidden; border-radius: 1.25rem; padding: 1.5rem; color: #f8fafc; background: linear-gradient(120deg, #0f172a 0%, #123b35 58%, #065f46 100%); box-shadow: 0 14px 32px rgba(15, 23, 42, .12); }
.dashboard-hero::after { content: ""; position: absolute; width: 17rem; height: 17rem; right: -5rem; top: -8rem; border-radius: 999px; background: rgba(52, 211, 153, .12); pointer-events: none; }
.dashboard-hero-inner { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 1.25rem; }
.dashboard-eyebrow { margin: 0; color: #64748b; font-size: .68rem; font-weight: 700; letter-spacing: .15em; line-height: 1.4; text-transform: uppercase; }
.dashboard-hero .dashboard-eyebrow { display: inline-flex; align-items: center; gap: .5rem; color: #a7f3d0; }
.dashboard-status-dot { display: inline-block; width: .45rem; height: .45rem; border-radius: 50%; background: #34d399; }
.dashboard-title { margin: .7rem 0 0; color: #fff; font-size: clamp(1.6rem, 3vw, 2.15rem); font-weight: 750; letter-spacing: -.04em; line-height: 1.15; }
.dashboard-subtitle { max-width: 42rem; margin: .65rem 0 0; color: #dbeafe; font-size: .9rem; line-height: 1.65; }
.dashboard-date-card { position: relative; display: flex; min-width: 12rem; flex-direction: column; align-items: flex-start; gap: .25rem; align-self: stretch; justify-content: center; overflow: hidden; padding: 1.05rem 1.2rem; border: 1px solid rgba(167,243,208,.35); border-radius: 1rem; color: #fff; background: linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.055)); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 12px 28px rgba(2,6,23,.12); backdrop-filter: blur(8px); }
.dashboard-date-kicker { color: #a7f3d0; font-size: .62rem; font-weight: 800; letter-spacing: .2em; }
.dashboard-date-weekday { margin-top: .3rem; color: #d1fae5; font-size: .8rem; font-weight: 650; }
.dashboard-date-main { display: flex; align-items: center; gap: .7rem; margin-top: .1rem; }
.dashboard-date-day { color: #fff; font-size: 3.4rem; font-weight: 800; letter-spacing: -.075em; line-height: .98; font-variant-numeric: tabular-nums; text-shadow: 0 3px 18px rgba(0,0,0,.18); }
.dashboard-date-month-year { display: flex; flex-direction: column; gap: .12rem; }
.dashboard-date-month { color: #fff; font-size: 1.05rem; font-weight: 750; letter-spacing: -.025em; }
.dashboard-date-year { color: #a7f3d0; font-size: .85rem; font-weight: 650; letter-spacing: .08em; }
.dashboard-date-rule { width: 100%; height: 1px; margin-top: .55rem; background: linear-gradient(90deg, rgba(167,243,208,.7), rgba(255,255,255,.06)); }
.dashboard-date-caption { margin-top: .25rem; color: #cbd5e1; font-size: .67rem; letter-spacing: .03em; }
.dashboard-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.dashboard-action-button { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 2.65rem; padding: .65rem .9rem; border: 1px solid rgba(255,255,255,.24); border-radius: .7rem; color: #fff; background: rgba(255,255,255,.09); font-size: .82rem; font-weight: 650; transition: background .15s ease, transform .15s ease; }
.dashboard-action-button:hover { background: rgba(255,255,255,.16); transform: translateY(-1px); }
.dashboard-action-button-primary { border-color: #6ee7b7; color: #052e2b; background: #6ee7b7; }
.dashboard-action-button-primary:hover { color: #052e2b; background: #a7f3d0; }
.dashboard-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .85rem; }
.dashboard-section-title { margin: .25rem 0 0; color: #0f172a; font-size: 1.05rem; font-weight: 750; letter-spacing: -.02em; }
.dashboard-section-note { color: #64748b; font-size: .75rem; }
.dashboard-kpi-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: .85rem; }
.dashboard-kpi { position: relative; display: flex; min-width: 0; flex-direction: column; justify-content: space-between; gap: 1rem; overflow: hidden; padding: 1.1rem 1.15rem; border: 1px solid #e2e8f0; border-radius: 1rem; color: #0f172a; background: #fff; box-shadow: 0 2px 6px rgba(15,23,42,.035); transition: transform .16s ease, box-shadow .16s ease; }
a.dashboard-kpi:hover { transform: translateY(-2px); box-shadow: 0 9px 22px rgba(15,23,42,.09); }
.dashboard-kpi-top { display: flex; align-items: start; justify-content: space-between; gap: .8rem; }
.dashboard-kpi-label { margin: 0; color: #475569; font-size: .82rem; font-weight: 650; }
.dashboard-kpi-value { margin: .6rem 0 0; color: #0f172a; font-size: 2rem; font-weight: 780; letter-spacing: -.045em; line-height: 1; font-variant-numeric: tabular-nums; }
.dashboard-kpi-detail { margin: .5rem 0 0; color: #64748b; font-size: .75rem; line-height: 1.45; }
.dashboard-kpi-icon { display: flex; width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; align-items: center; justify-content: center; border-radius: .8rem; font-size: 1.05rem; font-weight: 750; }
.dashboard-kpi-violet { border-top: 3px solid #8b5cf6; } .dashboard-kpi-violet .dashboard-kpi-icon { color: #6d28d9; background: #ede9fe; }
.dashboard-kpi-emerald { border-top: 3px solid #10b981; } .dashboard-kpi-emerald .dashboard-kpi-icon { color: #047857; background: #d1fae5; }
.dashboard-kpi-sky { border-top: 3px solid #0ea5e9; } .dashboard-kpi-sky .dashboard-kpi-icon { color: #0369a1; background: #e0f2fe; }
.dashboard-kpi-amber { border-top: 3px solid #f59e0b; } .dashboard-kpi-amber .dashboard-kpi-icon { color: #92400e; background: #fef3c7; }
.dashboard-kpi-rose { border-top: 3px solid #f43f5e; } .dashboard-kpi-rose .dashboard-kpi-icon { color: #be123c; background: #ffe4e6; }
.dashboard-kpi-link { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-top: .7rem; border-top: 1px solid #f1f5f9; color: #64748b; font-size: .72rem; font-weight: 700; }
.dashboard-kpi:hover .dashboard-kpi-link { color: #0f172a; }
.dashboard-lower-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.dashboard-panel { min-width: 0; padding: 1.15rem; border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff; box-shadow: 0 2px 7px rgba(15,23,42,.035); }
.dashboard-quick-list { display: flex; flex-direction: column; gap: .25rem; margin-top: .75rem; }
.dashboard-quick-link { display: flex; align-items: center; gap: .75rem; padding: .7rem .55rem; border-radius: .7rem; color: #1e293b; transition: background .15s ease; }
.dashboard-quick-link:hover { background: #f8fafc; }
.dashboard-quick-icon { display: flex; width: 2.3rem; height: 2.3rem; flex: 0 0 2.3rem; align-items: center; justify-content: center; border-radius: .7rem; font-weight: 750; }
.dashboard-quick-icon-emerald { color: #047857; background: #d1fae5; } .dashboard-quick-icon-sky { color: #0369a1; background: #e0f2fe; } .dashboard-quick-icon-violet { color: #6d28d9; background: #ede9fe; } .dashboard-quick-icon-amber { color: #92400e; background: #fef3c7; }
.dashboard-quick-label { display: block; color: #1e293b; font-size: .82rem; font-weight: 700; }
.dashboard-quick-description { display: block; margin-top: .15rem; color: #64748b; font-size: .72rem; }
.dashboard-quick-arrow { margin-left: auto; color: #94a3b8; font-size: 1.1rem; }
.dashboard-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-top: .9rem; }
.dashboard-summary-card { min-width: 0; padding: .85rem; border: 1px solid #e2e8f0; border-radius: .8rem; background: #f8fafc; }
.dashboard-summary-label { color: #475569; font-size: .72rem; font-weight: 650; }
.dashboard-summary-value { margin-top: .4rem; color: #0f172a; font-size: 1.45rem; font-weight: 750; letter-spacing: -.03em; }
.dashboard-summary-indigo { background: #eef2ff; border-color: #c7d2fe; } .dashboard-summary-indigo .dashboard-summary-value { color: #3730a3; }
.dashboard-summary-sky { background: #f0f9ff; border-color: #bae6fd; } .dashboard-summary-sky .dashboard-summary-value { color: #075985; }
.dashboard-summary-emerald { background: #ecfdf5; border-color: #a7f3d0; } .dashboard-summary-emerald .dashboard-summary-value { color: #065f46; }
.dashboard-summary-rose { background: #fff1f2; border-color: #fecdd3; } .dashboard-summary-rose .dashboard-summary-value { color: #9f1239; }
.dashboard-access-note { margin-top: .85rem; padding-top: .8rem; border-top: 1px solid #e2e8f0; color: #64748b; font-size: .73rem; line-height: 1.5; }
@media (min-width: 640px) { .dashboard-hero { padding: 1.8rem 2rem; } .dashboard-hero-inner { flex-direction: row; align-items: end; justify-content: space-between; gap: 2rem; } .dashboard-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dashboard-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dashboard-panel { padding: 1.3rem; } }
@media (min-width: 1024px) { .dashboard-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .dashboard-lower-grid { grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); } }
@media (min-width: 1280px) { .dashboard-kpi-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

/* Ambient canvas fills the dashboard's complete content height and width without affecting layout. */
.dashboard-page { position: relative; isolation: isolate; min-height: calc(100vh - 160px); border-right: 0 !important; }
.dashboard-ambient-canvas { position: absolute; inset: 0; z-index: 0; display: block; width: 100%; max-width: none; pointer-events: none; overflow: hidden; border: 0 !important; }
.dashboard-page > section { position: relative; z-index: 1; }
.dashboard-hero { transition: box-shadow .25s ease; }
.dashboard-hero:hover { box-shadow: 0 18px 42px rgba(15, 23, 42, .16); }
.dashboard-kpi, .dashboard-panel, .dashboard-summary-card { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.dashboard-kpi:hover, .dashboard-summary-card:hover { transform: translateY(-3px); }
@media (prefers-reduced-motion: reduce) {
  .dashboard-kpi, .dashboard-panel, .dashboard-summary-card, .dashboard-hero { transition: none !important; }
  .dashboard-kpi:hover, .dashboard-summary-card:hover { transform: none; }
}


/* Remove the stray green edge from the dashboard workspace wrapper, not the cards. */
body:has(.dashboard-page) main,
body:has(.dashboard-page) #app-content,
body:has(.dashboard-page) .dashboard-page,
body:has(.dashboard-page) .dashboard-ambient-canvas {
  border-right: 0 !important;
  outline: 0 !important;
}
body:has(.dashboard-page) #app-content {
  box-shadow: none !important;
}
