.dashboard-page{display:flex;min-width:0;flex-direction:column;gap:1.75rem}
.dashboard-eyebrow,.dashboard-kicker{display:block;color:var(--color-primary);font-size:.6875rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.dashboard-kicker{margin-bottom:.35rem;color:var(--color-text-muted)}

.dashboard-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem 2rem;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1.25rem;box-shadow:var(--shadow-ambient)}
.dashboard-hero__content{display:flex;min-width:0;max-width:36rem;flex-direction:column;align-items:flex-start;gap:.1rem}
.dashboard-welcome{margin:0 0 .15rem;color:var(--color-text-muted);font-size:.75rem;font-weight:600}
.dashboard-hero h1{margin:0 0 .6rem;font-family:var(--font-editorial);font-weight:600;font-size:clamp(1.5rem,2.2vw,1.9rem);line-height:1.1;letter-spacing:-.02em;color:var(--color-text)}
.dashboard-hero__meta{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem 1rem;margin-bottom:.6rem;color:var(--color-text-muted);font-size:.75rem}
.dashboard-hero__meta span{display:inline-flex;align-items:center;gap:.35rem}.dashboard-hero__meta svg{color:var(--color-neutral)}
.dashboard-hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}
.dashboard-hero__cta{border-radius:var(--radius-control)}
.dashboard-hero__countdown{display:inline-flex;align-items:baseline;gap:.3rem;padding:.2rem .65rem;background:var(--color-primary-subtle);border-radius:999px}
.dashboard-hero__countdown strong{font-size:1rem;line-height:1;font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums}
.dashboard-hero__countdown span{color:var(--color-on-primary-subtle);font-size:.75rem;font-weight:600}
.dashboard-hero__decoration{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:clamp(4.5rem,12%,5.75rem)}
.dashboard-hero__flower{width:100%;height:auto}

.dashboard-metrics{display:grid;grid-template-columns:1.35fr repeat(4,minmax(0,1fr));grid-auto-rows:auto;gap:1rem;margin-top:.15rem}
.dashboard-kpi-hero{display:flex;min-width:0;min-height:10rem;flex-direction:column;padding:1.5rem;color:var(--color-text);background:var(--color-surface);border:1px solid #F2F2F4;border-radius:1.375rem;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.dashboard-kpi-hero.is-critical .dashboard-kpi-hero__value{color:var(--color-error)}
.dashboard-kpi-hero__label{color:var(--color-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.dashboard-kpi-hero__value{margin-top:.5rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:700;font-size:clamp(1.625rem,1.4vw,1.875rem);line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.dashboard-kpi-hero__helper{margin-top:.5rem;color:var(--color-text-muted);font-size:.8125rem;line-height:1.4}
.dashboard-kpi-hero__subhelper{margin-top:.25rem;color:var(--color-text-muted);font-size:.75rem;line-height:1.4}
.dashboard-kpi{display:flex;min-width:0;min-height:10rem;flex-direction:column;padding:1.5rem;background:var(--color-surface);border:1px solid #F2F2F4;border-radius:1.375rem;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:box-shadow var(--transition-fast)}
.dashboard-kpi:hover,.dashboard-panel:hover{box-shadow:0 1px 2px rgba(38,38,38,.04),0 10px 24px rgba(38,38,38,.06)}
.dashboard-vendor-card:hover{background:var(--color-surface-low)}
.dashboard-kpi__label{color:var(--color-text-muted);font-size:.75rem;font-weight:600}
.dashboard-kpi__value{margin-top:.5rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(1.5rem,1.2vw,1.875rem);font-weight:700;line-height:1.15;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.dashboard-kpi__helper{margin-top:.5rem;color:var(--color-text-muted);font-size:.75rem;line-height:1.4}
.dashboard-kpi--danger .dashboard-kpi__value{color:var(--color-error)}.dashboard-kpi--warning .dashboard-kpi__value{color:var(--color-primary)}
.dashboard-kpi__progress{margin-top:.65rem}.dashboard-kpi__progress .progress__meta{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.dashboard-kpi__progress .progress__track{height:.375rem}

.dashboard-attention{display:grid;gap:.65rem;margin-top:.15rem}
.dashboard-attention-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.85rem 1rem;background:var(--color-primary-subtle);border:1px solid color-mix(in srgb,var(--color-primary) 16%,transparent);border-radius:1.1rem}
.dashboard-attention-item__dot{width:.5rem;height:.5rem;background:var(--color-primary);border-radius:50%;flex:0 0 auto}
.dashboard-attention-item strong,.dashboard-attention-item span{display:block}
.dashboard-attention-item strong{color:var(--color-text);font-size:.8125rem;font-weight:650}
.dashboard-attention-item div span{margin-top:.15rem;color:var(--color-text-muted);font-size:.75rem}
.dashboard-attention-item__meta{display:flex;align-items:center;gap:.85rem}
.dashboard-attention-item__badge{padding:.25rem .55rem;color:var(--color-on-primary-subtle);background:#FFFFFF;border-radius:999px;font-size:.625rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.dashboard-attention-item a{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-primary);font-size:.75rem;font-weight:700;text-decoration:none;white-space:nowrap}
.dashboard-attention-item a:hover{text-decoration:underline;text-underline-offset:.2em}

.dashboard-payment-alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.85rem 1rem;background:var(--color-primary-subtle);border:1px solid color-mix(in srgb,var(--color-primary) 16%,transparent);border-radius:1.1rem}
.dashboard-payment-alert__marker{width:.5rem;height:.5rem;background:var(--color-primary);border-radius:50%}
.dashboard-payment-alert strong,.dashboard-payment-alert span{display:block}.dashboard-payment-alert strong{color:var(--color-text);font-size:.8125rem;font-weight:650}.dashboard-payment-alert div span{margin-top:.15rem;color:var(--color-text-muted);font-size:.75rem}
.dashboard-payment-alert .app-button{min-height:2.5rem}
.dashboard-operation-error{padding:.75rem 1rem;color:var(--color-on-error-container);background:var(--color-error-container);border-radius:1rem;font-size:.8125rem}

.dashboard-workspace{display:grid;grid-template-columns:.95fr 1fr 1.15fr;gap:1.25rem}
.dashboard-panel{min-width:0;display:flex;min-height:19rem;flex-direction:column;padding:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1.25rem;box-shadow:var(--shadow-ambient);transition:box-shadow var(--transition-fast)}
.dashboard-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1.1rem}
.dashboard-section-heading h2{margin:0;font-family:var(--font-functional);font-size:1.125rem;font-weight:600;line-height:1.35;letter-spacing:-.015em;color:var(--color-text)}
.dashboard-section-heading>a,.dashboard-panel__footer{display:inline-flex;align-items:center;gap:.45rem;color:var(--color-primary);font-size:.75rem;font-weight:700;text-decoration:none}
.dashboard-panel__footer{justify-content:space-between;margin-top:auto;padding-top:1.1rem;border-top:1px solid var(--color-border)}
.dashboard-inline-empty,.dashboard-wide-empty{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:1rem 0;color:var(--color-text-muted)}
.dashboard-inline-empty strong,.dashboard-wide-empty strong{color:var(--color-text);font-size:.875rem}.dashboard-inline-empty span,.dashboard-wide-empty span{font-size:.75rem;line-height:1.5}
.dashboard-wide-empty{padding:1.5rem;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:1.25rem}.dashboard-wide-empty .app-button{margin-top:.5rem}

.dashboard-task-list{display:grid;gap:.4rem;margin:0 0 .85rem;padding:0;list-style:none}
.dashboard-task-list li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;min-height:3.25rem;padding:0 .1rem;border-radius:.85rem}
.dashboard-task-list li.is-overdue,.dashboard-task-list li.is-today{padding:.5rem .7rem;background:var(--color-primary-subtle)}
.dashboard-task-main{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}
.dashboard-task-list strong{overflow:hidden;min-width:0;font-size:.8125rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text)}
.dashboard-task-check{flex-shrink:0;min-height:1.25rem;min-width:1.25rem;cursor:pointer}
.dashboard-task-check:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-subtle)}
.dashboard-due-badge{flex-shrink:0;padding:.2rem .5rem;color:var(--color-text-muted);background:var(--color-surface-container);border-radius:999px;font-size:.625rem;font-weight:700;white-space:nowrap}
.dashboard-due-badge.is-today,.dashboard-due-badge.is-overdue{color:var(--color-on-primary-subtle);background:#FFFFFF}

.dashboard-simulation__title{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.35rem}.dashboard-simulation__title h3{margin:0;font-family:var(--font-editorial);font-size:1.65rem;font-weight:600;color:var(--color-text)}.dashboard-simulation__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0 0 1.35rem}.dashboard-simulation__stats dt{color:var(--color-text-muted);font-size:.6875rem}.dashboard-simulation__stats dd{margin:.35rem 0 0;overflow-wrap:anywhere;font-size:.875rem;font-weight:700;color:var(--color-text)}.dashboard-simulation__stats dd.is-negative{color:var(--color-error)}.dashboard-simulation .progress{margin-bottom:1.35rem}.dashboard-simulation>.app-button{margin-top:auto}

.dashboard-timeline-list{display:grid;margin:0 0 .85rem;padding:0;list-style:none}
.dashboard-timeline-list li{position:relative;display:grid;grid-template-columns:1.9rem minmax(0,1fr);align-items:start;gap:.75rem;padding-bottom:1.1rem}
.dashboard-timeline-list li:last-child{padding-bottom:0}
.dashboard-timeline-list__rail{position:relative;display:flex;justify-content:center;align-self:stretch}
.dashboard-timeline-list__rail::before{content:"";position:absolute;top:.9rem;bottom:-.2rem;width:1px;background:var(--color-border)}
.dashboard-timeline-list li:last-child .dashboard-timeline-list__rail::before{display:none}
.dashboard-timeline-list__dot{position:relative;z-index:1;width:.5rem;height:.5rem;margin-top:.3rem;background:var(--color-primary);border-radius:50%}
.dashboard-timeline-list div{min-width:0}
.dashboard-timeline-list div strong{display:block;overflow:hidden;font-size:.8125rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text)}
.dashboard-timeline-list div span{display:block;margin-top:.2rem;overflow:hidden;color:var(--color-text-muted);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}

.dashboard-vendors{min-width:0;margin-top:.1rem}.dashboard-vendors>.dashboard-section-heading{align-items:end;margin-bottom:.85rem}.dashboard-vendor-heading-actions{display:flex;align-items:center;gap:.75rem}.dashboard-vendor-heading-actions>a{display:inline-flex;align-items:center;gap:.45rem;color:var(--color-primary);font-size:.75rem;font-weight:700;text-decoration:none}.dashboard-vendor-navigation{display:flex;gap:.35rem}.dashboard-vendor-navigation button{display:grid;width:2rem;height:2rem;place-items:center;padding:0;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.dashboard-vendor-navigation button:hover{color:var(--color-primary);background:var(--color-primary-subtle);border-color:var(--color-primary-container)}.dashboard-vendor-navigation button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.dashboard-vendor-navigation__next .phosphor-icon{transform:rotate(180deg)}
.dashboard-vendor-grid{display:grid;grid-auto-columns:calc((100% - 3rem)/4);grid-auto-flow:column;gap:1rem;overflow-x:auto;padding:.15rem .1rem .55rem;scroll-behavior:smooth;scroll-padding-inline:.1rem;scroll-snap-type:x mandatory;scrollbar-width:none}.dashboard-vendor-grid::-webkit-scrollbar{display:none}.dashboard-vendor-grid:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:1.25rem}
.dashboard-vendor-card{position:relative;display:flex;min-width:0;min-height:5.5rem;align-items:center;gap:.85rem;padding:1rem 1.1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1.25rem;transition:background var(--transition-fast)}
.dashboard-vendor-card__avatar{display:grid;flex:0 0 auto;place-items:center;width:2.75rem;height:2.75rem;color:var(--color-text-muted);background:var(--color-surface-container);border-radius:50%;font-family:var(--font-editorial);font-size:1.1rem;font-weight:600}
.dashboard-vendor-card__body{display:flex;min-width:0;flex-direction:column}
.dashboard-vendor-card__category{color:var(--color-text-muted);font-size:.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.dashboard-vendor-card__body a{display:block;width:100%;margin:.2rem 0 .3rem;overflow:hidden;color:var(--color-text);font-size:.8125rem;font-weight:650;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.dashboard-vendor-card__price{color:var(--color-text-muted);font-size:.75rem;font-weight:600}
.dashboard-vendor-card__badge{position:absolute;top:.75rem;right:.85rem;padding:.2rem .5rem;color:var(--color-on-primary-subtle);background:var(--color-primary-subtle);border-radius:999px;font-size:.5625rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.dashboard-vendor-grid>.dashboard-vendor-card{scroll-snap-align:start}

.dashboard-loading{display:grid;gap:1.25rem}.dashboard-loading__metrics,.dashboard-loading__workspace{display:grid;gap:1rem}.dashboard-loading__metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.dashboard-loading__workspace{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-empty-profile{display:grid;gap:1.25rem}.dashboard-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}

@media(max-width:1439px){.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1099px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-workspace{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-timeline{grid-column:1/-1;min-height:auto}.dashboard-vendor-grid{grid-auto-columns:calc((100% - 1rem)/2)}.dashboard-loading__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-loading__workspace{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:899px){.dashboard-hero__decoration{position:absolute;top:.75rem;right:.75rem;width:4.5rem;opacity:.85;pointer-events:none}}
@media(max-width:699px){.dashboard-hero{align-items:flex-start;flex-direction:column;padding:1.75rem}.dashboard-hero__content{max-width:100%;padding-right:3.5rem}.dashboard-hero__decoration{width:4rem;top:1rem;right:1rem}.dashboard-hero h1{font-size:2rem}.dashboard-hero__actions{width:100%}.dashboard-hero__actions>.app-button{flex:1 1 auto}.dashboard-hero__meta{align-items:flex-start;flex-direction:column}.dashboard-metrics{grid-template-columns:1fr}.dashboard-kpi,.dashboard-kpi-hero{min-height:9rem}.dashboard-workspace{grid-template-columns:minmax(0,1fr)}.dashboard-timeline{grid-column:auto}.dashboard-panel{min-height:auto;padding:1.25rem}.dashboard-payment-alert{grid-template-columns:auto minmax(0,1fr)}.dashboard-payment-alert>.app-button{grid-column:2;width:max-content}.dashboard-attention-item{grid-template-columns:auto minmax(0,1fr);row-gap:.5rem}.dashboard-attention-item__meta{grid-column:2;flex-wrap:wrap}.dashboard-vendor-grid{grid-auto-columns:calc(100% - 2rem)}.dashboard-loading__metrics{grid-template-columns:1fr}.dashboard-loading__workspace{grid-template-columns:1fr}}
@media(max-width:439px){.dashboard-vendors>.dashboard-section-heading{align-items:flex-start;flex-wrap:wrap}.dashboard-vendor-heading-actions{width:100%;justify-content:space-between}.dashboard-vendor-grid{grid-auto-columns:100%}.dashboard-kpi,.dashboard-kpi-hero{min-height:8.5rem}.dashboard-simulation__stats{grid-template-columns:1fr}.dashboard-payment-alert>.app-button{display:none}}

/* Fokus terdekat — mobile-only checklist layout; checkbox matches the shared app-choice__indicator used on the scenario comparison page. */
@media(max-width:767px){
  .dashboard-task-list{gap:1rem}
  .dashboard-task-list li{grid-template-columns:1.25rem minmax(0,1fr);column-gap:.875rem;align-items:flex-start;min-height:0;padding:1.25rem;border-radius:1.125rem;background:transparent}
  .dashboard-task-list li.is-overdue{padding:1.25rem;background:var(--color-primary-subtle)}
  .dashboard-task-list li.is-today{padding:1.25rem;background:transparent}
  .dashboard-task-check::before{content:"";position:absolute;inset:-10px}
  .dashboard-task-main{flex-direction:column;align-items:flex-start;gap:.3rem}
  .dashboard-task-list strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;font-size:1rem;font-weight:600;line-height:1.35}
  .dashboard-panel__footer{margin-top:1.25rem;padding-top:1.25rem}
}
@media(prefers-reduced-motion:reduce){.dashboard-kpi,.dashboard-panel,.dashboard-vendor-card{transition:none}}
