/* Dashboard v2
   High-density factory operations view. The shared Bootstrap shell and API
   contracts stay intact; this file only changes the dashboard composition. */

.dashboard-page {
    --dash-canvas: #f5faff;
    --dash-surface: #ffffff;
    --dash-surface-blue: #eaf4ff;
    --dash-ink: #102a43;
    --dash-muted: #52677a;
    --dash-line: #cfe0ed;
    --dash-line-strong: #9fbed5;
    --dash-blue: #0057b8;
    --dash-blue-dark: #003f87;
    --dash-blue-wash: #dceeff;
    --dash-yellow: #ffc928;
    --dash-yellow-ink: #4b3400;
    --dash-green: #087443;
    --dash-green-wash: #dff5e8;
    --dash-amber: #8a5100;
    --dash-amber-wash: #fff0cf;
    --dash-red: #b4233e;
    --dash-red-wash: #ffe4e8;
    --dash-shadow: 0 18px 44px rgba(27, 77, 117, .12);
    --dash-radius: 16px;
    min-width: 320px;
    overflow-x: hidden;
    color: var(--dash-ink);
    background:
        radial-gradient(circle at 8% 0%, rgba(0, 87, 184, .10), transparent 28rem),
        var(--dash-canvas);
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang HK",
        "PingFang SC", "Microsoft JhengHei", "Microsoft YaHei", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    font-variant-numeric: tabular-nums;
}

[data-bs-theme="dark"] .dashboard-page {
    --dash-canvas: #0d1e2c;
    --dash-surface: #132b3d;
    --dash-surface-blue: #173a55;
    --dash-ink: #f1f7fb;
    --dash-muted: #b9cad7;
    --dash-line: #2d536d;
    --dash-line-strong: #4c7390;
    --dash-blue: #3d9be9;
    --dash-blue-dark: #85c8ff;
    --dash-blue-wash: #173e5b;
    --dash-yellow: #ffd451;
    --dash-yellow-ink: #3f2d00;
    --dash-green: #65d69c;
    --dash-green-wash: #143b2c;
    --dash-amber: #ffc46a;
    --dash-amber-wash: #49330f;
    --dash-red: #ff8ea0;
    --dash-red-wash: #4a1d29;
    --dash-shadow: 0 18px 44px rgba(0, 0, 0, .24);
}

.dashboard-page .site-nav {
    position: sticky;
    top: 0;
    z-index: 1000;
    min-height: 68px;
    padding: .75rem clamp(1rem, 2.4vw, 2rem);
    border-color: var(--dash-line);
    background: color-mix(in srgb, var(--dash-surface) 94%, transparent);
    box-shadow: 0 5px 20px rgba(16, 42, 67, .06);
    backdrop-filter: blur(14px);
}

.dashboard-page .site-nav .site-nav-brand {
    color: var(--dash-blue-dark);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 800;
}

.dashboard-page .site-nav .site-nav-links a {
    color: var(--dash-muted);
    font-family: inherit;
    font-size: .88rem;
    font-weight: 650;
}

.dashboard-page .site-nav .site-nav-links a.active {
    color: #fff;
    background: var(--dash-blue);
    box-shadow: none;
}

.dashboard-page .site-nav .site-nav-quick-action {
    color: var(--dash-yellow-ink);
    background: var(--dash-yellow);
    box-shadow: 0 7px 18px rgba(118, 81, 0, .18);
}

.dashboard-page .site-nav .site-nav-quick-action:active,
.dashboard-action:active,
.dashboard-page .btn:active {
    transform: scale(.98);
}

.dashboard-nav-toggle {
    display: none;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    flex: none;
    border: 1px solid var(--dash-line-strong);
    border-radius: 11px;
    color: var(--dash-blue-dark);
    background: var(--dash-surface);
    font: inherit;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1;
}

.dashboard-shell {
    width: min(1440px, 100%);
    margin: 0 auto;
    padding: 2.1rem 2rem 4.5rem;
}

.dashboard-page-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.65rem;
}

.dashboard-kicker {
    min-height: 1.15rem;
    margin: 0 0 .35rem;
    color: var(--dash-blue);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.dashboard-page .page-title {
    color: var(--dash-ink);
    font-family: inherit;
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 850;
    letter-spacing: -.035em;
    line-height: 1.08;
}

.dashboard-lede {
    margin: .5rem 0 0;
    color: var(--dash-muted);
    font-size: .95rem;
}

.dashboard-action {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: .6rem 1rem;
    border-radius: 11px;
    color: #fff;
    background: var(--dash-blue);
    box-shadow: 0 8px 20px rgba(0, 87, 184, .20);
    font-size: .88rem;
    font-weight: 750;
    text-decoration: none;
    white-space: nowrap;
    transition: transform 150ms cubic-bezier(.23, 1, .32, 1), box-shadow 150ms ease-out;
}

.dashboard-focus {
    display: grid;
    grid-template-columns: auto repeat(3, minmax(0, 1fr));
    overflow: hidden;
    margin-bottom: 1.5rem;
    border: 1px solid #e0ad17;
    border-radius: var(--dash-radius);
    background: #fff8db;
    box-shadow: 0 12px 32px rgba(138, 81, 0, .10);
}

[data-bs-theme="dark"] .dashboard-focus { background: #382b0c; }

.dashboard-focus-title {
    display: flex;
    min-width: 178px;
    flex-direction: column;
    justify-content: center;
    padding: 1.25rem 1.4rem;
    color: var(--dash-yellow-ink);
    background: var(--dash-yellow);
}

.dashboard-focus-title small {
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.dashboard-focus-title strong { font-size: 1.3rem; line-height: 1.2; }

.dashboard-focus-item {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    padding: 1rem 1.25rem;
    border-left: 1px solid rgba(138, 81, 0, .20);
    color: var(--dash-ink);
    text-decoration: none;
    transition: background-color 150ms ease-out;
}

.dashboard-focus-number {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: #fff;
    background: var(--dash-red);
    font-size: 1.15rem;
    font-weight: 850;
}

.dashboard-focus-item.is-calm .dashboard-focus-number { background: var(--dash-green); }
.dashboard-focus-item.is-warn .dashboard-focus-number { color: var(--dash-yellow-ink); background: var(--dash-yellow); border-color: #d39d00; }
.dashboard-focus-item.is-error .dashboard-focus-number { background: var(--dash-red); }
.dashboard-focus-copy { min-width: 0; }
.dashboard-focus-copy strong { display: block; font-size: .9rem; font-weight: 850; }
.dashboard-focus-copy span { display: block; overflow: hidden; margin-top: .12rem; color: var(--dash-muted); font-size: .8rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }

.dashboard-summary {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(460px, 1fr);
    overflow: hidden;
    margin-bottom: 2rem;
    border: 1px solid var(--dash-line);
    border-radius: var(--dash-radius);
    background: var(--dash-surface);
    box-shadow: var(--dash-shadow);
}

.dashboard-progress-hero.dash-hero {
    position: relative;
    overflow: hidden;
    min-height: 254px;
    padding: 1.75rem 1.9rem;
    border: 0;
    border-radius: 0;
    color: #fff;
    background: linear-gradient(135deg, var(--dash-blue-dark), var(--dash-blue) 58%, #167dcf);
    box-shadow: none;
}

.dashboard-progress-hero::after {
    content: "";
    position: absolute;
    right: -80px;
    bottom: -130px;
    width: 320px;
    height: 320px;
    border: 44px solid rgba(255, 201, 40, .20);
    border-radius: 50%;
    pointer-events: none;
}

.dashboard-progress-hero .dash-hero-head,
.dashboard-progress-hero .dash-hero-body { position: relative; z-index: 1; }
.dashboard-progress-hero .dash-hero-label { color: #d7eaff; }
.dashboard-progress-hero .dash-hero-head a { color: #fff; background: rgba(255,255,255,.16); }
.dashboard-progress-hero .dash-num { display: flex; align-items: baseline; gap: .45rem; margin-top: 1rem; color: #fff; font-size: clamp(3.6rem, 7vw, 5rem); font-weight: 850; line-height: .88; letter-spacing: -.06em; }
.dashboard-progress-hero .dash-unit { margin-left: 0; color: #dcebfa; font-size: .95rem; font-weight: 750; letter-spacing: 0; }
.dashboard-progress-hero .dash-sub { max-width: 44rem; margin-top: 1rem; color: #e6f2ff; font-size: .86rem; font-weight: 650; line-height: 1.5; }
.dashboard-progress-track { height: 14px; margin-top: 1.4rem; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.25); }
.dashboard-progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--dash-yellow); }

.dashboard-metric-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }

.dashboard-metric.dash-hero {
    display: block;
    min-width: 0;
    height: auto;
    padding: 1.35rem 1.5rem;
    border: 0;
    border-left: 1px solid var(--dash-line);
    border-bottom: 1px solid var(--dash-line);
    border-radius: 0;
    color: var(--dash-ink);
    background: var(--dash-surface);
    box-shadow: none;
    text-decoration: none;
    transition: background-color 150ms ease-out;
}

.dashboard-metric:nth-child(3),
.dashboard-metric:nth-child(4) { border-bottom: 0; }
.dashboard-metric .dash-hero-head { margin: 0; }
.dashboard-metric .dash-hero-label { color: var(--dash-muted); font-size: .8rem; font-weight: 800; letter-spacing: .015em; text-transform: none; }
.dashboard-metric .dash-num { display: flex; align-items: baseline; gap: .32rem; margin-top: .55rem; color: var(--dash-ink); font-size: 2.1rem; font-weight: 850; line-height: 1; letter-spacing: -.04em; }
.dashboard-metric .dash-num.is-warn { color: var(--dash-amber); }
.dashboard-metric .dash-num.is-crit { color: var(--dash-red); }
.dashboard-metric .dash-num.is-good { color: var(--dash-green); }
.dashboard-metric .dash-unit { margin-left: 0; color: var(--dash-muted); font-size: .78rem; font-weight: 750; letter-spacing: 0; }
.dashboard-metric .dash-sub { margin-top: .65rem; color: var(--dash-muted); font-size: .78rem; font-weight: 600; line-height: 1.45; }
.dashboard-metric .dash-exc, .dashboard-metric .dash-spark { display: none; }
.dashboard-loading { color: var(--dash-muted); font-size: .82rem; font-weight: 650; }
.dashboard-progress-hero .dashboard-loading { color: #d7eaff; }
.dashboard-page .api-error,
.dashboard-page .api-error-message { max-width: 100%; overflow-wrap: anywhere; }
.dashboard-error-copy { display: block; font-weight: 750; }
.dashboard-error-meta { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .35rem; }
.dashboard-error-meta code {
    padding: .08rem .3rem;
    border: 1px solid var(--dash-line);
    border-radius: 5px;
    color: var(--dash-muted);
    background: var(--dash-surface-blue);
    font-size: .68rem;
    font-weight: 700;
}
.dashboard-progress-hero .dashboard-error-copy { color: #fff; }
.dashboard-progress-hero .dashboard-error-meta code {
    border-color: rgba(255, 255, 255, .34);
    color: #fff;
    background: rgba(255, 255, 255, .12);
}
.dashboard-panel-error {
    display: flex;
    min-height: 5.5rem;
    flex-direction: column;
    justify-content: center;
    padding: 1rem 0;
    border-top: 2px solid var(--dash-ink);
    border-bottom: 1px solid var(--dash-line-strong);
    color: var(--dash-muted);
    font-size: .84rem;
    font-weight: 700;
}

.dashboard-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 2.15fr) minmax(310px, .85fr);
    gap: 2rem;
    align-items: start;
}

.dashboard-section { min-width: 0; }
.dashboard-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.25rem; margin-bottom: .8rem; }
.dashboard-section-head h2, .dashboard-aside-head h2 { margin: 0; color: var(--dash-ink); font-family: inherit; font-size: 1.3rem; font-weight: 850; letter-spacing: -.015em; }
.dashboard-section-head p { margin: .2rem 0 0; color: var(--dash-muted); font-size: .8rem; font-weight: 600; }
.dashboard-text-link { color: var(--dash-blue); font-size: .8rem; font-weight: 750; text-decoration: none; white-space: nowrap; }

.recent-production-summary {
    display: grid;
    grid-template-columns: 1.15fr repeat(5, minmax(0, .75fr));
    gap: 0;
    margin-bottom: 1rem;
    border-top: 2px solid var(--dash-ink);
    border-bottom: 1px solid var(--dash-line-strong);
}

.recent-production-stat,
.recent-production-stat.is-primary {
    min-width: 0;
    padding: .75rem .8rem;
    border: 0;
    border-right: 1px solid var(--dash-line);
    border-radius: 0;
    background: transparent;
}

.recent-production-stat:last-child { border-right: 0; }
.recent-production-stat span { color: var(--dash-muted); font-size: .75rem; font-weight: 750; }
.recent-production-stat strong,
.recent-production-stat.is-primary strong { margin-top: .2rem; color: var(--dash-ink); font-size: 1.5rem; font-weight: 850; line-height: 1; letter-spacing: -.035em; }
.recent-production-stat.is-primary strong { color: var(--dash-blue); font-size: 1.9rem; }

.recent-production-list {
    display: block;
    border-top: 3px solid var(--dash-ink);
    border-bottom: 1px solid var(--dash-line-strong);
    background: color-mix(in srgb, var(--dash-surface) 58%, transparent);
}

.recent-production-row {
    display: grid;
    grid-template-columns: minmax(220px, 1.05fr) minmax(300px, 1.5fr) minmax(120px, .55fr);
    grid-template-areas: "sku flow state";
    gap: 1.5rem;
    align-items: center;
    min-width: 0;
    padding: 1.1rem .25rem;
    border: 0;
    border-bottom: 1px solid var(--dash-line);
    border-radius: 0;
    color: inherit;
    background: transparent;
    box-shadow: none;
    text-decoration: none;
    transition: background-color 150ms ease-out;
}

.recent-production-row:last-child { border-bottom: 0; }
.recent-production-row:hover { border-color: var(--dash-line); transform: none; box-shadow: none; }
.recent-production-sku-cell { grid-area: sku; gap: .85rem; }
.recent-production-image, .recent-production-image-placeholder {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    border-color: var(--dash-line);
    border-radius: 14px;
    color: var(--dash-blue-dark);
    background: linear-gradient(145deg, var(--dash-surface), var(--dash-blue-wash));
}
.recent-production-order { color: var(--dash-blue); font-size: .74rem; font-weight: 800; }
.recent-production-sku { color: var(--dash-ink); font-size: 1rem; font-weight: 850; }
.recent-production-qty { color: var(--dash-muted); font-size: .8rem; }
.recent-production-deadline { color: var(--dash-blue-dark); font-size: .74rem; }
.recent-production-deadline.is-overdue { color: var(--dash-red); }
.recent-production-flow { grid-area: flow; min-width: 0; padding: 0; border: 0; }
.recent-production-step { color: var(--dash-ink); font-size: .88rem; font-weight: 800; }
.recent-production-count { color: var(--dash-blue); font-size: .8rem; }
.recent-production-steps { gap: 5px; height: 12px; margin-top: .55rem; }
.recent-production-step-segment { min-width: 12px; height: 12px; background: #d8e5ee; }
.recent-production-step-segment.is-done { background: var(--dash-green); }
.recent-production-step-segment.is-current { background: var(--dash-yellow); box-shadow: inset 0 0 0 1px #c59000; }
.recent-production-quantities { display: flex; gap: .4rem; overflow-x: auto; margin-top: .55rem; padding-bottom: 2px; scrollbar-width: thin; }
.recent-production-quantity { flex: none; display: grid; gap: .08rem; padding: .32rem .52rem; border-radius: 7px; color: var(--dash-muted); background: #eaf1f6; font-size: .76rem; font-weight: 650; line-height: 1.35; }
.recent-production-quantity-name { color: var(--dash-ink); font-weight: 800; }
.recent-production-quantity-progress { font-variant-numeric: tabular-nums; }
.recent-production-quantity-breakdown { display: flex; gap: .35rem; font-size: .72rem; }
.recent-production-quantity-breakdown .is-defect { color: var(--dash-red); }
[data-bs-theme="dark"] .recent-production-quantity { color: #dbeaf4; background: #1b3b52; }
[data-bs-theme="dark"] .recent-production-quantity-name { color: #f5fbff; }
[data-bs-theme="dark"] .recent-production-quantity.is-current { color: var(--dash-yellow); background: var(--dash-amber-wash); }
.recent-production-quantity.is-current { color: var(--dash-yellow-ink); background: var(--dash-amber-wash); }
.recent-production-no-flow { color: var(--dash-muted); font-size: .78rem; }
.recent-production-state { grid-area: state; justify-self: end; text-align: right; }
.recent-production-badge { color: var(--dash-blue-dark); background: var(--dash-blue-wash); font-size: .72rem; font-weight: 800; }
.recent-production-badge.is-complete { color: var(--dash-green); background: var(--dash-green-wash); }
.recent-production-badge.is-ready, .recent-production-badge.is-blocked { color: var(--dash-amber); background: var(--dash-amber-wash); }
.recent-production-activity { color: var(--dash-muted); font-size: .7rem; }

.dashboard-side { display: grid; gap: 1.1rem; }
.dashboard-aside { padding: 1.35rem; border: 1px solid var(--dash-line); border-radius: var(--dash-radius); background: var(--dash-surface); }
.dashboard-aside-head { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin-bottom: 1rem; }
.dashboard-aside-head h2 { font-size: 1.1rem; }
.dashboard-aside-head > span { color: var(--dash-muted); font-size: .74rem; }
.dashboard-aside .sop-steps { display: grid; grid-template-columns: 1fr; gap: .25rem; }
.dashboard-aside .sop-step {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    gap: .65rem;
    align-items: center;
    padding: .65rem .5rem;
    border: 0;
    border-top: 0;
    border-radius: 10px;
    background: transparent;
    transition: background-color 150ms ease-out, transform 150ms ease-out;
}
.dashboard-aside .sop-step.is-current { color: #fff; background: var(--dash-blue); }
.dashboard-aside .sop-step-num { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: var(--dash-blue-dark); background: var(--dash-blue-wash); font-family: inherit; font-size: .8rem; font-weight: 850; }
.dashboard-aside .sop-step.is-current .sop-step-num { color: var(--dash-yellow-ink); background: var(--dash-yellow); }
.dashboard-aside .sop-step-title { color: var(--dash-ink); font-size: .86rem; font-weight: 800; }
.dashboard-aside .sop-step-desc { color: var(--dash-muted); font-size: .73rem; }
.dashboard-aside .sop-step.is-current .sop-step-title { color: #fff; }
.dashboard-aside .sop-step.is-current .sop-step-desc { color: #d6e9fb; }
.sop-step-arrow { color: var(--dash-line-strong); font-weight: 800; }
.dashboard-aside .sop-step.is-current .sop-step-arrow { color: #fff; }

.dashboard-aside .yts-grid { grid-template-columns: 1fr; gap: .8rem; }
.dashboard-aside .yts-grid > div { padding: 0 0 .75rem; border: 0; border-bottom: 1px solid var(--dash-line); border-radius: 0; background: transparent; }
.dashboard-aside .yts-grid > div:last-child { padding-bottom: 0; border-bottom: 0; }
.dashboard-aside .yts-panel-title { color: var(--dash-ink); font-size: .78rem; font-weight: 800; }
.dashboard-aside .yts-row { color: var(--dash-ink); font-size: .78rem; }
.dashboard-aside .yts-sub, .dashboard-aside .yts-empty { color: var(--dash-muted); }

.dashboard-lower-section { margin-top: 2rem; }
.dashboard-page .dashboard-lower-section .card { border-color: var(--dash-line); border-radius: var(--dash-radius); background: var(--dash-surface); }
.dashboard-page .dashboard-lower-section .card-header { border-color: var(--dash-line); background: var(--dash-surface-blue); }
.dashboard-page .dashboard-lower-section .card-header h2 { color: var(--dash-blue-dark); font-family: inherit; font-weight: 850; }
.dashboard-page .dashboard-lower-section .section-label { color: var(--dash-muted); font-family: inherit; font-weight: 800; }

@media (hover: hover) and (pointer: fine) {
    .dashboard-action:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0, 87, 184, .25); }
    .dashboard-focus-item:hover { background: rgba(255, 201, 40, .15); }
    .dashboard-metric:hover, .recent-production-row:hover { background: var(--dash-surface-blue); }
    .dashboard-aside .sop-step:not(.is-current):hover { background: var(--dash-blue-wash); }
}

@media (max-width: 1050px) {
    .dashboard-page .site-nav { flex-wrap: nowrap; }
    .dashboard-page .site-nav .site-nav-links {
        position: absolute;
        top: calc(100% + 1px);
        right: 1rem;
        display: none;
        width: min(320px, calc(100vw - 2rem));
        max-height: calc(100dvh - 86px);
        overflow-y: auto;
        padding: .55rem;
        border: 1px solid var(--dash-line);
        border-radius: 13px;
        background: var(--dash-surface);
        box-shadow: var(--dash-shadow);
    }
    .dashboard-page .site-nav.is-mobile-open .site-nav-links { display: grid; }
    .dashboard-page .site-nav .site-nav-links > a,
    .dashboard-page .site-nav .site-nav-dropdown,
    .dashboard-page .site-nav .site-nav-dropdown > a { width: 100%; }
    .dashboard-page .site-nav .site-nav-controls { margin-left: auto; }
    .dashboard-nav-toggle { display: inline-flex; }
    .dashboard-summary { grid-template-columns: 1fr; }
    .dashboard-metric { border-top: 1px solid var(--dash-line); }
    .dashboard-content-grid { grid-template-columns: 1fr; }
    .dashboard-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .recent-production-row {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "sku state" "flow flow";
        gap: .8rem 1rem;
        align-items: start;
    }
}

@media (max-width: 991.98px) {
    .recent-production-row {
        grid-template-columns: 1fr;
        grid-template-areas: "sku" "state" "flow";
        gap: .8rem;
        padding: 1rem 0;
    }
    .recent-production-state {
        display: flex;
        align-items: center;
        justify-content: space-between;
        text-align: left;
    }
    .recent-production-activity { margin: 0; }
}

@media (max-width: 760px) {
    .dashboard-page .site-nav { min-height: 60px; padding: .6rem 1rem; }
    .dashboard-page .site-nav .site-nav-brand { margin-right: .5rem; font-size: .88rem; }
    .dashboard-page .site-nav .site-nav-quick-action { display: none; }
    .dashboard-shell { padding: 1.5rem 1rem 3.6rem; }
    .dashboard-page-head { align-items: flex-start; margin-bottom: 1.25rem; }
    .dashboard-action { display: none; }
    .dashboard-page .page-title { font-size: 2rem; }
    .dashboard-focus { grid-template-columns: 1fr; }
    .dashboard-focus-title { min-width: 0; padding: .9rem 1rem; }
    .dashboard-focus-item { padding: .8rem 1rem; border-top: 1px solid rgba(138, 81, 0, .20); border-left: 0; }
    .dashboard-summary { margin-bottom: 1.75rem; }
    .dashboard-progress-hero.dash-hero { min-height: 230px; padding: 1.5rem 1.25rem; }
    .dashboard-progress-hero .dash-num { font-size: 3.65rem; }
    .dashboard-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-metric.dash-hero { padding: 1.05rem 1rem; }
    .dashboard-metric .dash-num { font-size: 1.65rem; }
    .dashboard-section-head { align-items: flex-start; }
    .recent-production-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .recent-production-stat, .recent-production-stat.is-primary { border-right: 1px solid var(--dash-line); border-bottom: 1px solid var(--dash-line); }
    .recent-production-image, .recent-production-image-placeholder { flex-basis: 66px; width: 66px; height: 66px; }
    .dashboard-side { grid-template-columns: 1fr; }
    .dashboard-aside { padding: 1.1rem; }
}

@media (max-width: 430px) {
    .dashboard-page .site-nav .site-nav-brand { max-width: 9.5rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .dashboard-page .site-nav-sync-bell { display: none !important; }
    .dashboard-summary,
    .dashboard-metric-grid { min-width: 0; }
    .dashboard-metric-grid { grid-template-columns: 1fr; }
    .dashboard-metric.dash-hero { border-left: 0; border-bottom: 1px solid var(--dash-line); }
    .dashboard-metric.dash-hero:last-child { border-bottom: 0; }
    .dashboard-section-head { display: block; }
    .dashboard-text-link { display: inline-block; margin-top: .35rem; }
}

@media (prefers-reduced-motion: reduce) {
    .dashboard-page *, .dashboard-page *::before, .dashboard-page *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}
