﻿:root {
    /* cache-bust 2026-07-23: force new fingerprint after empty gzip CSS */
    --mishirto-cyan: #00aeef;
    --mishirto-cyan-soft: #e8f8fe;
    --mishirto-cyan-mid: #b8e8fa;
    --mishirto-black: #000000;
    --mishirto-ink: #1a1a1a;
    --mishirto-muted: #5a6f7c;
    --mishirto-line: #d7e6ee;
    --mishirto-bg: #f7fafc;
    --font-brand: "Montserrat", "Segoe UI", sans-serif;
}

html, body {
    font-family: var(--font-brand);
    scroll-behavior: smooth;
    background: var(--mishirto-bg);
    color: var(--mishirto-ink);
}

a, .btn-link {
    color: var(--mishirto-cyan);
}

.btn-primary {
    color: #fff;
    background-color: var(--mishirto-cyan);
    border-color: var(--mishirto-cyan);
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem rgba(0, 174, 239, 0.35);
}

.content {
    padding-top: 1.25rem;
    padding-bottom: 2rem;
}

h1:focus {
    outline: none;
}

/* Home */
.home__header {
    display: flex;
    align-items: center;
    gap: 0.75rem 1rem;
    flex-wrap: nowrap;
    margin-bottom: 0.85rem;
    padding: 0.85rem 1rem;
    background: #fff;
    border: 1px solid var(--mishirto-line);
    border-radius: 16px;
    border-top: 4px solid var(--mishirto-cyan);
}

.home__logo {
    height: 44px;
    width: auto;
    max-width: 38vw;
    object-fit: contain;
    flex-shrink: 0;
}

.home__eyebrow {
    margin: 0 0 0.1rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mishirto-cyan);
}

.home__intro {
    flex: 1 1 auto;
    min-width: 0;
}

.home__intro h1 {
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--mishirto-black);
    margin: 0 0 0.1rem;
}

.home__lead {
    margin: 0;
    color: var(--mishirto-muted);
    font-weight: 600;
    font-size: 0.82rem;
}

.home-pay {
    margin: 0 0 0.85rem;
    padding: 0.85rem 1rem 1rem;
    background: #fff;
    border: 1px solid var(--mishirto-line);
    border-radius: 16px;
}

.home-pay__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.65rem;
}

.home-pay__head h2 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--mishirto-black);
}

.home-pay__chips {
    display: flex;
    gap: 0.4rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.25rem;
}

.home-pay__chip {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1.5px solid #cbd5e1;
    background: #fff;
    border-radius: 999px;
    padding: 0.5rem 0.85rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: #334155;
    cursor: pointer;
    min-height: 2.65rem;
    text-decoration: none;
}

.home-pay__chip i {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: var(--col, #94a3b8);
    flex-shrink: 0;
}

.home-pay__chip strong {
    font-variant-numeric: tabular-nums;
    color: #0f172a;
}

.home-pay__chip-euro {
    font-size: 0.72rem;
    font-weight: 700;
    color: #64748b;
}

.home-pay__chip--due {
    border-color: #f59e0b;
    background: #fffbeb;
    color: #92400e;
}

.home-pay__chip--due strong { color: #b45309; }

.home-pay__chip--paid {
    border-color: #0f766e;
}

.home-pay__chip--on {
    border-color: var(--mishirto-cyan, #00aeef);
    box-shadow: 0 0 0 2px rgba(0, 174, 239, 0.22);
}

.home-pay__chip--link {
    border-style: dashed;
    color: #0369a1;
}

.home-pay__list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-top: 0.75rem;
}

.home-pay__empty {
    margin: 0;
    font-size: 0.88rem;
    color: #64748b;
}

.home-pay__row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-areas:
        "code client badge"
        "code meta meta";
    gap: 0.15rem 0.55rem;
    align-items: center;
    text-align: left;
    width: 100%;
    padding: 0.65rem 0.75rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
    cursor: pointer;
}

.home-pay__row:active { transform: scale(0.995); }

.home-pay__code {
    grid-area: code;
    font-size: 0.72rem;
    font-weight: 800;
    color: #64748b;
}

.home-pay__client {
    grid-area: client;
    font-size: 0.92rem;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-pay__badge {
    grid-area: badge;
    justify-self: end;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--col, #64748b);
    background: color-mix(in srgb, var(--col, #94a3b8) 14%, #fff);
    border-radius: 999px;
    padding: 0.2rem 0.5rem;
}

.home-pay__meta {
    grid-area: meta;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.65rem;
}

.home-pay__tag,
.home-pay__tot {
    font-size: 0.75rem;
    font-weight: 700;
}

.home-pay__tag--due { color: #b45309; }
.home-pay__tag--paid { color: #0f766e; }
.home-pay__tot { color: #334155; }

.home-pay__more {
    display: block;
    text-align: center;
    margin-top: 0.35rem;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--mishirto-cyan, #00aeef);
    text-decoration: none;
}

.home-job__status {
    margin-left: auto;
    flex-shrink: 0;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--col, #64748b);
    background: color-mix(in srgb, var(--col, #94a3b8) 14%, #fff);
    border-radius: 999px;
    padding: 0.2rem 0.5rem;
}

.home__refresh {
    flex-shrink: 0;
    min-width: 2.75rem;
    min-height: 2.75rem;
}

.home-restock {
    margin: 0 0 1rem;
    padding: 0.9rem 1rem;
    border-radius: 14px;
    background: #f0fafd;
    border: 1.5px solid #7dd3f0;
}

.home-restock--loading,
.home-restock--ok {
    background: #f8fafc;
    border-color: var(--mishirto-line);
}

.home-restock--loading p,
.home-restock--ok p {
    margin: 0;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--mishirto-muted);
}

.home-restock__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem 1rem;
    margin-bottom: 0.7rem;
}

.home-restock__head h2 {
    margin: 0 0 0.15rem;
    font-size: 1rem;
    font-weight: 900;
    color: #0369a1;
}

.home-restock__lead {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--mishirto-muted);
}

.home-restock__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.home-restock__list {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.home-restock__item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.15rem 0.75rem;
    align-items: baseline;
    padding: 0.55rem 0.65rem;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #bae6fd;
}

.home-restock__name {
    grid-column: 1;
    font-size: 0.88rem;
    font-weight: 800;
    color: var(--mishirto-black);
}

.home-restock__need {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    font-size: 0.82rem;
    font-weight: 900;
    color: #0369a1;
    white-space: nowrap;
}

.home-restock__stats {
    grid-column: 1;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mishirto-muted);
}

.home-restock__pdf-msg {
    margin: 0.65rem 0 0;
    font-size: 0.85rem;
    font-weight: 700;
}

.home-restock__pdf-msg--ok { color: #15803d; }
.home-restock__pdf-msg--err { color: #b91c1c; }

.home-restock__stats b {
    color: var(--mishirto-black);
    font-weight: 800;
}

.home-profit {
    margin: 0 0 1.25rem;
    padding: 1rem 1.1rem 1.15rem;
    border-radius: 16px;
    background: linear-gradient(165deg, #f8fcff 0%, #eef7fc 55%, #f4fafd 100%);
    border: 1px solid #c5e6f5;
}

.home-profit--loading {
    padding: 0.9rem 1.1rem;
}

.home-profit--loading p {
    margin: 0;
    font-weight: 600;
    color: var(--mishirto-muted);
}

.home-profit__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.home-profit__head h2 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
}

.home-profit__lead {
    margin: 0.2rem 0 0;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--mishirto-muted);
}

.home-profit__kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.home-profit__kpi {
    padding: 0.7rem 0.8rem;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #d7e8f2;
}

.home-profit__kpi--spend {
    border-color: #f5d0a9;
    background: #fffaf4;
}

.home-profit__kpi--ok {
    border-color: #86efac;
    background: #f0fdf4;
}

.home-profit__kpi--bad {
    border-color: #fca5a5;
    background: #fef2f2;
}

.home-profit__kpi-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--mishirto-muted);
}

.home-profit__kpi-value {
    display: block;
    margin-top: 0.2rem;
    font-size: 1.25rem;
    font-weight: 800;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
}

.home-profit__kpi-sub {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
}

.home-profit__legend {
    display: flex;
    gap: 1rem;
    margin-bottom: 0.55rem;
}

.home-profit__legend-item {
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
}

.home-profit__legend-item::before {
    content: "";
    display: inline-block;
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 2px;
    margin-right: 0.35rem;
    vertical-align: -1px;
}

.home-profit__legend-item--spend::before {
    background: #f59e0b;
}

.home-profit__legend-item--profit::before {
    background: #00aeef;
}

.home-profit__bars {
    display: flex;
    align-items: flex-end;
    gap: 0.35rem;
    min-height: 9.5rem;
    padding: 0.4rem 0.2rem 0;
    overflow-x: auto;
}

.home-profit__day {
    flex: 1 1 0;
    min-width: 2.1rem;
    max-width: 3.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
}

.home-profit__col {
    width: 100%;
    height: 8rem;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 0.18rem;
}

.home-profit__bar {
    width: 42%;
    min-height: 3px;
    border-radius: 4px 4px 2px 2px;
}

.home-profit__bar--spend {
    background: #f59e0b;
}

.home-profit__bar--profit {
    background: #00aeef;
}

.home-profit__bar--profit.is-neg {
    background: #ef4444;
}

.home-profit__day-label {
    font-size: 0.68rem;
    font-weight: 700;
    color: #64748b;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 700px) {
    .home-profit__kpis {
        grid-template-columns: 1fr;
    }

    .home-profit__day {
        min-width: 1.85rem;
    }
}

@media (max-width: 520px) {
    .home-restock__item {
        grid-template-columns: 1fr;
    }

    .home-restock__need {
        grid-column: 1;
        grid-row: auto;
    }
}

.home-quick {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
    margin-bottom: 1.15rem;
}

.home-quick__btn {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    text-decoration: none;
    color: inherit;
    border: 2px solid #111;
    background: #fff;
    min-height: 4.4rem;
    justify-content: center;
}

.home-quick__btn--dtf {
    background: linear-gradient(180deg, #e8f8fe 0%, #fff 70%);
    border-color: var(--mishirto-cyan);
}

.home-quick__btn--work {
    background: #111;
    color: #fff;
    border-color: #111;
}

.home-quick__title {
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.15;
}

.home-quick__hint {
    font-size: 0.72rem;
    font-weight: 600;
    opacity: 0.75;
}

.home-jobs-block {
    margin-bottom: 1.5rem;
}

.home-jobs-block__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.65rem;
}

.home-jobs-block__head h2 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
    text-transform: none;
    letter-spacing: 0;
}

.home-jobs-block__link {
    font-size: 0.85rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.home__section {
    margin-bottom: 1.75rem;
}

.home__section h2 {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--mishirto-cyan);
    margin-bottom: 0.75rem;
}

.home__modules {
    margin-top: 1.5rem;
    padding-top: 1.15rem;
    border-top: 1px solid var(--mishirto-line);
}

.home-jobs--empty {
    text-align: center;
    padding: 1.75rem 1rem;
    background: #fff;
    border: 2px dashed #cbd5e1;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.85rem;
}

.home-jobs--empty p {
    margin: 0;
    color: #64748b;
    font-weight: 600;
}

.home-jobs__summary {
    display: flex;
    gap: 0.4rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.4rem;
    margin-bottom: 0.85rem;
}

.home-jobs__chip {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1.5px solid #cbd5e1;
    background: #fff;
    border-radius: 999px;
    padding: 0.5rem 0.8rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: #334155;
    cursor: pointer;
    min-height: 2.65rem;
}

.home-jobs__chip i {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: var(--col, #94a3b8);
    flex-shrink: 0;
}

.home-jobs__chip strong {
    min-width: 1.25rem;
    text-align: center;
    background: #e2e8f0;
    border-radius: 999px;
    padding: 0.05rem 0.4rem;
    font-size: 0.75rem;
}

.home-jobs__chip--on {
    border-color: #111;
    background: #111;
    color: #fff;
}

.home-jobs__chip--on strong {
    background: #fff;
    color: #111;
}

.home-jobs__chip--prio {
    border-color: #f59e0b;
}

.home-jobs-stack {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.home-jobs-group {
    background: #f8fafc;
    border: 2px solid #e2e8f0;
    border-top: 4px solid var(--col, #94a3b8);
    border-radius: 14px;
    padding: 0.75rem;
}

.home-jobs-group--prio {
    background: linear-gradient(180deg, #fff7ed 0%, #fff 55%);
    border-color: #f59e0b;
    border-top-width: 6px;
}

.home-jobs-group__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    margin-bottom: 0.65rem;
}

.home-jobs-group__head h3 {
    margin: 0;
    flex: 1;
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f172a;
}

.home-jobs__prio {
    width: 100%;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #b45309;
}

.home-jobs__count {
    min-width: 1.6rem;
    height: 1.6rem;
    border-radius: 999px;
    background: #111;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.home-jobs-group--prio .home-jobs__count {
    background: #b45309;
}

.home-jobs__cards {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.home-job {
    width: 100%;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.8rem 0.85rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    text-align: left;
    font: inherit;
    color: inherit;
    min-height: 3.5rem;
    -webkit-tap-highlight-color: transparent;
}

.home-job:active {
    border-color: var(--mishirto-cyan);
    box-shadow: 0 0 0 2px rgba(0, 174, 239, 0.18);
}

.home-jobs-group--prio .home-job {
    border-color: #fdba74;
}

.home-job__top {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.home-job__code {
    font-size: 0.88rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    color: var(--mishirto-cyan);
}

.home-job__client {
    font-size: 1.05rem;
    line-height: 1.2;
}

.home-job__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem 0.45rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #475569;
}

.home-job__qty {
    background: #111;
    color: #fff;
    border-radius: 6px;
    padding: 0.12rem 0.45rem;
}

.home-job__total {
    background: #0f766e;
    color: #fff;
    border-radius: 6px;
    padding: 0.12rem 0.45rem;
}

.home-job__areas {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.home-job__areas li {
    font-size: 0.8rem;
    color: #334155;
}

.home-job__areas strong {
    color: var(--mishirto-cyan);
    margin-right: 0.25rem;
    text-transform: uppercase;
    font-size: 0.7rem;
    letter-spacing: 0.04em;
}

.home-job__note {
    margin: 0;
    font-size: 0.8rem;
    color: #475569;
    background: #f1f5f9;
    border-radius: 8px;
    padding: 0.4rem 0.5rem;
}

.home-job__go {
    margin-top: 0.2rem;
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--mishirto-cyan);
}

.tile-grid--compact {
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
}

@media (min-width: 700px) {
    .home-quick {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home__logo {
        height: 56px;
    }

    .home__intro h1 {
        font-size: 1.65rem;
    }
}

@media (min-width: 900px) {
    .home__logo {
        height: 64px;
    }

    .home__intro h1 {
        font-size: 1.85rem;
    }

    .home-jobs-stack {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 0.85rem;
        align-items: start;
    }
}

.tile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
    gap: 0.85rem;
}

.tile {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 104px;
    padding: 1.05rem;
    background: #fff;
    border: 1px solid var(--mishirto-line);
    border-radius: 14px;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
    transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.tile:hover {
    border-color: var(--mishirto-cyan);
    color: inherit;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 174, 239, 0.12);
}

.tile--active {
    border-color: var(--mishirto-cyan);
    background: linear-gradient(180deg, #fff 0%, var(--mishirto-cyan-soft) 100%);
}

.tile--active .tile__hint {
    color: var(--mishirto-cyan);
    font-weight: 700;
}

.tile__title {
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.25;
    color: var(--mishirto-black);
}

.tile__hint {
    margin-top: 0.85rem;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8aa0ad;
}

.feature-stub {
    max-width: 40rem;
    background: #fff;
    border: 1px solid var(--mishirto-line);
    border-radius: 14px;
    padding: 1.5rem;
    border-top: 4px solid var(--mishirto-cyan);
}

.feature-stub__badge {
    display: inline-block;
    background: var(--mishirto-cyan-soft);
    color: #0077a8;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    margin-bottom: 0.75rem;
}

.feature-stub__lead,
.feature-stub__meta {
    color: var(--mishirto-muted);
}

/* Prendi e Imbusta â€” stazione picking ad alta efficienza */
.pick {
    --pick-ink: #0b1220;
    --pick-muted: #5a6b7d;
    --pick-line: #d7e6ee;
    --pick-hot: var(--mishirto-cyan);
    --pick-hot-ink: #fff;
    --pick-hot-soft: var(--mishirto-cyan-soft);
    --pick-ok: #008fc4;
    --pick-danger: #d93025;
    max-width: 1100px;
    margin: 0 auto;
    padding-bottom: 5.5rem;
}

.pick__top {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 0.75rem;
}

.pick__logo { height: 42px; width: auto; }

.pick__top-text { flex: 1; min-width: 0; }

.pick__eyebrow {
    margin: 0;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--mishirto-cyan);
}

.pick__top h1 {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--pick-ink);
}

.pick__progress {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 4.5rem;
    padding: 0.35rem 0.65rem;
    border-radius: 12px;
    background: #111;
    color: #fff;
    line-height: 1.05;
}

.pick__quick-pack {
    border: none;
    border-radius: 12px;
    background: #16a34a;
    color: #fff;
    font-weight: 900;
    letter-spacing: 0.04em;
    font-size: 1rem;
    padding: 0.7rem 1rem;
    white-space: nowrap;
    box-shadow: 0 4px 14px rgba(22, 163, 74, 0.35);
    flex: 0 0 auto;
}
.pick__quick-pack:disabled {
    opacity: 0.55;
}
.pick__quick-pack:hover:not(:disabled) {
    background: #15803d;
}

.pick__queue-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 5.5rem;
    padding: 0.4rem 0.7rem;
    border-radius: 12px;
    background: rgba(0, 174, 239, 0.12);
    border: 1px solid rgba(0, 174, 239, 0.45);
    color: var(--pick-ink);
    text-decoration: none;
    line-height: 1.1;
}

.pick__queue-badge strong {
    font-size: 1.25rem;
    font-weight: 900;
    color: var(--mishirto-cyan);
    font-variant-numeric: tabular-nums;
}

.pick__queue-badge span {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--pick-muted);
}

.pick-prompt-overlay {
    z-index: 60;
}

.pick-prompt {
    width: min(420px, 92vw);
    margin: auto;
    padding: 1.35rem 1.25rem 1.15rem;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
    text-align: center;
}

.pick-prompt__eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--mishirto-cyan, #00aeef);
}

.pick-prompt h2 {
    margin: 0 0 0.5rem;
    font-size: 1.55rem;
    font-weight: 900;
    letter-spacing: -0.03em;
    color: #111;
}

.pick-prompt__detail {
    margin: 0 0 0.65rem;
    font-size: 0.95rem;
    color: #333;
}

.pick-prompt__help {
    margin: 0 0 1.1rem;
    font-size: 0.82rem;
    line-height: 1.35;
    color: #667;
}

.pick-prompt__actions {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 0.65rem;
}

.pick-prompt__btn {
    border: 0;
    border-radius: 12px;
    padding: 0.95rem 0.75rem;
    font-size: 0.95rem;
    font-weight: 900;
    letter-spacing: 0.02em;
    cursor: pointer;
}

.pick-prompt__btn:disabled { opacity: 0.55; cursor: wait; }

.pick-prompt__btn--yes {
    background: #111;
    color: #fff;
}

.pick-prompt__btn--no {
    background: #e8eef3;
    color: #222;
}

.pick-prompt--flash-on {
    background: #fff7ed !important;
    box-shadow: 0 0 0 6px #f59e0b, 0 18px 50px rgba(0, 0, 0, 0.28) !important;
}

.pick-prompt__missing {
    margin: 0.5rem 0 0.75rem;
    padding: 0.65rem 0.75rem;
    text-align: left;
    background: #fff7ed;
    border: 2px solid #f59e0b;
    border-radius: 10px;
    font-size: 0.9rem;
    color: #9a3412;
    font-weight: 700;
}

.pick-prompt__missing div {
    margin-top: 0.25rem;
    font-weight: 600;
}

.pick-line__absent {
    width: 100%;
    margin-top: 0.5rem;
    padding: 0.65rem 0.75rem;
    border: 2px solid #f59e0b;
    border-radius: 10px;
    background: #fffbeb;
    color: #9a3412;
    font-weight: 800;
    font-size: 0.95rem;
    cursor: pointer;
    font: inherit;
}

.pick-line__absent--on {
    background: #9a3412;
    border-color: #9a3412;
    color: #fff;
}

.pick-order__miss-line {
    margin-top: 0.25rem;
    font-size: 0.95rem;
    font-weight: 700;
}

.pick__progress--done { background: var(--pick-hot); }

.pick__progress-num {
    font-size: 1.35rem;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

.pick__progress-label {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.pick__scanbar {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 0.45rem;
    position: sticky;
    top: 0;
    z-index: 40;
    padding: 0.55rem 0;
    background: linear-gradient(180deg, var(--mishirto-bg) 70%, transparent);
}

.pick__scan-input {
    border: 3px solid var(--mishirto-cyan);
    border-radius: 12px;
    padding: 0.85rem 1rem;
    font-size: 1.15rem;
    font-weight: 700;
    background: #fff;
}

.pick__scan-input:focus {
    outline: none;
    border-color: var(--mishirto-cyan);
    box-shadow: 0 0 0 3px var(--mishirto-cyan-mid);
}

.pick__scan-cam,
.pick__scan-go {
    border: none;
    border-radius: 12px;
    font-weight: 900;
    min-width: 3.4rem;
}

.pick__scan-cam {
    background: #111;
    color: #fff;
    font-size: 1.25rem;
}

.pick__scan-go {
    background: var(--mishirto-cyan);
    color: #fff;
    font-size: 1.05rem;
    padding: 0 1.1rem;
}

.pick__scan-go:disabled,
.pick__scan-cam:disabled { opacity: 0.5; }

.pick__last {
    font-size: 0.82rem;
    color: var(--pick-muted);
    margin: 0 0 0.65rem;
}

.pick__last code {
    background: var(--mishirto-cyan-soft);
    color: #0077a8;
    padding: 0.12rem 0.4rem;
    border-radius: 6px;
    font-weight: 700;
}

.pick__alert {
    background: #fff;
    border: 2px solid var(--pick-line);
    border-radius: 12px;
    padding: 0.85rem 1rem;
    margin-bottom: 0.85rem;
    font-weight: 600;
}

.pick__alert--error {
    border-color: #f1aeb5;
    background: #fff5f5;
    color: #8a1f1f;
}

.pick-idle {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--pick-muted);
}

.pick-idle__icon {
    font-size: 2.5rem;
    margin-bottom: 0.5rem;
}

.pick-order {
    background: #fff;
    border: 2px solid #111;
    border-radius: 14px;
    padding: 0.85rem 1rem;
    margin-bottom: 0.85rem;
}

.pick-order--refunded { background: #ffe8e8; border-color: var(--pick-danger); }
.pick-order--surcharge { background: var(--pick-hot-soft); border-color: var(--mishirto-cyan); }
.pick-order--late { background: #fff4e0; border-color: #e67e22; }

.pick-order__customer {
    font-size: 1.35rem;
    font-weight: 900;
    color: var(--pick-ink);
    letter-spacing: -0.02em;
}

.pick-order__meta {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--pick-muted);
    margin-top: 0.15rem;
}

.pick-order__meta a {
    color: var(--mishirto-cyan);
    font-weight: 800;
}

.pick-order__dot { margin: 0 0.25rem; }

.pick-order__flags {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.45rem;
    margin-top: 0.75rem;
}

.pick-flag {
    background: #f3f6f9;
    border-radius: 10px;
    padding: 0.45rem 0.55rem;
    text-align: center;
}

.pick-flag span {
    display: block;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: var(--pick-muted);
}

.pick-flag strong {
    display: block;
    font-size: 1.05rem;
    font-weight: 900;
    color: var(--pick-ink);
    margin-top: 0.1rem;
    line-height: 1.15;
    word-break: break-word;
}

.pick-flag--box strong { color: #0077a8; }
.pick-flag--warn { background: var(--pick-hot); }
.pick-flag--warn strong { color: #fff; }

.pick-order__banner {
    margin-top: 0.65rem;
    font-weight: 900;
    font-size: 1rem;
    letter-spacing: 0.02em;
    color: #fff;
    background: var(--mishirto-cyan);
    border-radius: 8px;
    padding: 0.45rem 0.65rem;
    text-align: center;
}

.pick-order__banner--danger {
    background: var(--pick-danger);
    color: #fff;
}
.pick-order__banner--pulse {
    animation: pick-alert-pulse 1.1s ease-in-out 3;
    font-size: 1.15rem;
}
@keyframes pick-alert-pulse {
    0%, 100% { transform: scale(1); box-shadow: none; }
    50% { transform: scale(1.02); box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.35); }
}
.pick-idle--hero {
    margin-top: 1.5rem;
    padding: 2rem 1.25rem;
    text-align: center;
    border: 3px dashed #111;
    border-radius: 20px;
    background: #fff;
}

.pick-idle--hero .pick-idle__icon {
    font-size: 2.5rem;
    margin-bottom: 0.5rem;
}

.pick-idle--hero p {
    margin: 0.35rem 0;
    font-size: 1.05rem;
}

.pick-idle__hint {
    margin-top: 1rem !important;
    font-size: 0.9rem !important;
    opacity: 0.8;
}

.pick-idle__hint a {
    color: var(--mishirto-cyan);
    font-weight: 700;
}

.pick-matches {
    margin: 0.75rem 0 1.25rem;
    padding: 1rem;
    background: #fff;
    border: 2px solid var(--mishirto-line, #d8d8d8);
    border-radius: 12px;
}

.pick-matches__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.35rem;
}

.pick-matches__head h2 {
    margin: 0;
    font-size: 1.25rem;
}

.pick-matches__close {
    border: none;
    background: transparent;
    font-size: 1.25rem;
    cursor: pointer;
    line-height: 1;
    padding: 0.25rem 0.5rem;
}

.pick-matches__help {
    margin: 0 0 0.75rem;
    color: #555;
    font-size: 0.95rem;
}

.pick-matches__list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.pick-matches__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
    width: 100%;
    text-align: left;
    padding: 0.85rem 1rem;
    border: 2px solid #e5e5e5;
    border-radius: 10px;
    background: #fafafa;
    cursor: pointer;
    font: inherit;
}

.pick-matches__item:hover:not(:disabled),
.pick-matches__item:focus-visible {
    border-color: var(--mishirto-cyan, #00b3c7);
    background: #f0fbfd;
}

.pick-matches__item:disabled {
    opacity: 0.6;
    cursor: wait;
}

.pick-matches__name {
    font-size: 1.2rem;
    font-weight: 800;
    color: #111;
}

.pick-matches__meta {
    font-size: 0.9rem;
    color: #444;
}

.pick-matches__track {
    font-size: 0.8rem;
    color: #777;
    word-break: break-all;
}

.reso-page__mode {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 0.75rem;
    font-weight: 600;
}
.reso-page__mode label {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    cursor: pointer;
}
.reso-page__actions {
    margin-top: 0.85rem;
}
.reso-page__row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}
.reso-page__detail td {
    font-size: 0.85rem;
    color: #64748b;
    padding-top: 0;
    border-top: none;
}
.reso-page__recent {
    margin: 0.5rem 0 0;
    padding-left: 1.1rem;
    line-height: 1.55;
}

.ddt-load__upload {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-bottom: 0.5rem;
}
.ddt-load__fname {
    font-weight: 700;
}
.ddt-load__toolbar {
    display: flex;
    gap: 0.5rem;
}
.ddt-load__color { min-width: 8rem; max-width: 11rem; }
.ddt-load__size { min-width: 4.5rem; max-width: 6rem; }
.ddt-load__qty { min-width: 4rem; max-width: 5.5rem; }
.ddt-load__badge {
    display: inline-block;
    margin-left: 0.25rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: #9a3412;
    background: #ffedd5;
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
}
.ddt-load__note {
    font-size: 0.85rem;
    color: #64748b;
    max-width: 16rem;
}
.ddt-load__row--off { opacity: 0.45; }
.ddt-load__row--warn td:nth-child(3) {
    background: #fff7ed;
}

.cancelled-page__howto ol {
    margin: 0.5rem 0 0.75rem 1.25rem;
    padding: 0;
    line-height: 1.55;
}
.cancelled-page__note {
    margin: 0;
    font-size: 0.9rem;
    opacity: 0.85;
}
.cancelled-page__mark {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    align-items: flex-end;
    margin-bottom: 0.75rem;
}
.cancelled-page__mark .work__field {
    flex: 1 1 16rem;
    min-width: 12rem;
}
.cancelled-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.cancelled-page__hot-banner {
    margin: 0.75rem 0 1rem;
}

.cancelled-page__hot-banner a {
    margin-left: 0.35rem;
    font-weight: 700;
    color: inherit;
    text-decoration: underline;
}

.cancelled-page__row--hot td {
    background: #fef2f2;
}

.cancelled-page__row--in_viaggio td {
    box-shadow: inset 4px 0 0 #dc2626;
}

.cancelled-page__row--consegnato td {
    box-shadow: inset 4px 0 0 #ea580c;
    background: #fff7ed;
}

.cancelled-page__badge {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    background: #fee2e2;
    color: #991b1b;
}

.cancelled-page__row--consegnato .cancelled-page__badge {
    background: #ffedd5;
    color: #9a3412;
}

.amazon-msg-page__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    align-items: flex-end;
    justify-content: space-between;
}
.amazon-msg-page__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}
.amazon-msg-page__chip {
    border: 1px solid #d4d4d8;
    background: #fff;
    color: #3f3f46;
    border-radius: 999px;
    padding: 0.35rem 0.85rem;
    font-size: 0.85rem;
    cursor: pointer;
}
.amazon-msg-page__chip.is-on {
    background: #18181b;
    border-color: #18181b;
    color: #fff;
}
.amazon-msg-page__chip:disabled {
    opacity: 0.55;
    cursor: default;
}
.amazon-msg-page__opts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: flex-end;
}
.amazon-msg-page__days {
    min-width: 5.5rem;
}
.amazon-msg-page__list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin-top: 0.75rem;
}
.amazon-msg-page__card {
    border: 1px solid #e4e4e7;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
    border-left-width: 4px;
}
.amazon-msg-page__card--buyer { border-left-color: #2563eb; }
.amazon-msg-page__card--refund { border-left-color: #16a34a; }
.amazon-msg-page__card--return { border-left-color: #ca8a04; }
.amazon-msg-page__card--cancel { border-left-color: #dc2626; }
.amazon-msg-page__card--other { border-left-color: #a1a1aa; }
.amazon-msg-page__head {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: 0.85rem 1rem;
    cursor: pointer;
}
.amazon-msg-page__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    font-size: 0.78rem;
    color: #71717a;
    margin-bottom: 0.35rem;
}
.amazon-msg-page__kind {
    font-weight: 600;
    color: #27272a;
}
.amazon-msg-page__subj {
    font-weight: 600;
    color: #18181b;
    line-height: 1.35;
}
.amazon-msg-page__order {
    margin-top: 0.35rem;
    font-size: 0.85rem;
}
.amazon-msg-page__preview {
    margin-top: 0.35rem;
    font-size: 0.85rem;
    color: #52525b;
    line-height: 1.4;
}
.amazon-msg-page__body {
    padding: 0 1rem 1rem;
    border-top: 1px solid #f4f4f5;
}
.amazon-msg-page__from {
    margin: 0.75rem 0 0.5rem;
    font-size: 0.85rem;
    color: #52525b;
}
.amazon-msg-page__sc {
    font-size: 0.9rem;
}
.amazon-msg-page__text {
    margin: 0.5rem 0 0;
    white-space: pre-wrap;
    word-break: break-word;
    font-family: inherit;
    font-size: 0.9rem;
    line-height: 1.45;
    color: #27272a;
    max-height: 22rem;
    overflow: auto;
    background: #fafafa;
    border-radius: 8px;
    padding: 0.75rem;
}

.amazon-msg-page__reply {
    margin-top: 1rem;
    padding: 0.85rem 0.9rem;
    border-radius: 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
}

.amazon-msg-page__reply-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem 0.85rem;
    margin-bottom: 0.65rem;
}

.amazon-msg-page__reply-head h3 {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 800;
    color: #1e3a8a;
}

.amazon-msg-page__intent {
    font-size: 0.78rem;
    font-weight: 700;
    color: #1d4ed8;
    background: #dbeafe;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
}

.amazon-msg-page__ai-read {
    margin: 0 0 0.65rem;
    padding: 0.55rem 0.65rem;
    border-radius: 8px;
    background: #fff;
    border: 1px dashed #93c5fd;
    font-size: 0.88rem;
    color: #1e3a8a;
    line-height: 1.35;
}

.amazon-msg-page__reply-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}

.amazon-msg-page__reply-field {
    margin: 0;
}

.amazon-msg-page__reply-box {
    min-height: 10rem;
    resize: vertical;
    font-size: 0.92rem;
    line-height: 1.45;
    white-space: pre-wrap;
}

.amazon-msg-page__reply-hint {
    margin: 0.55rem 0 0;
    font-size: 0.8rem;
    color: #475569;
    line-height: 1.35;
}

.pick-cancelled {
    margin: 0 0 1.25rem;
    padding: 1rem;
    border-radius: 16px;
    background: #fff5f5;
    border: 1px solid #fecaca;
}
.pick-cancelled .pick-ready__head h2 { color: #991b1b; }
.pick-cancelled__badge {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #991b1b;
    background: #fee2e2;
    padding: 0.15rem 0.45rem;
    border-radius: 6px;
}
.pick-ready__card--cancelled {
    border-color: #fca5a5;
    background: #fff;
}
.pick-idle--soft {
    padding: 0.75rem 0;
    color: #64748b;
    font-size: 0.95rem;
}

.pick-ready__ok-text { color: #15803d; }
.pick-label-flash {
    margin: 0 0 0.85rem;
    padding: 0.75rem 1rem;
    border-radius: 12px;
    font-weight: 800;
    font-size: 1.05rem;
    text-align: center;
}
.pick-label-flash--ok {
    background: #dcfce7;
    color: #166534;
    border: 2px solid #22c55e;
}
.pick-label-flash--miss {
    background: #ffedd5;
    color: #9a3412;
    border: 2px solid #f97316;
}
.pick-label-flash--danger {
    background: #fee2e2;
    color: #991b1b;
    border: 2px solid #dc2626;
    animation: pick-alert-pulse 1.1s ease-in-out 3;
    font-size: 1.15rem;
}
.pick-ready__card--ok {
    border-color: #22c55e !important;
    background: #f0fdf4 !important;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.25);
}
.pick-ready__card--miss {
    border-color: #fdba74 !important;
    background: #fff7ed !important;
}
.pick-ready__card--block {
    border-color: #fca5a5 !important;
    background: #fef2f2 !important;
}
.pick-ready__badge {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    padding: 0.15rem 0.45rem;
    border-radius: 6px;
}
.pick-ready__badge--ok { color: #166534; background: #bbf7d0; }
.pick-ready__badge--miss { color: #9a3412; background: #fed7aa; }
.pick-ready__badge--block { color: #991b1b; background: #fecaca; }

.pick-order__banner--late {
    background: #e67e22;
    color: #fff;
}

.pick-order__banner--stock {
    background: var(--mishirto-cyan);
    color: #fff;
}

.pick-order__banner--incoming {
    background: #0f766e;
    color: #fff;
    font-size: 1.05rem;
}

.pick-line__incoming {
    grid-column: 1 / -1;
    margin: 0.35rem 0 0;
    padding: 0.45rem 0.65rem;
    border-radius: 10px;
    background: #ccfbf1;
    color: #115e59;
    font-weight: 700;
    font-size: 0.88rem;
}

.pick-line__incoming-qty {
    font-weight: 800;
}

.ddt-load__incoming {
    border: 2px solid #99f6e4;
    background: #f0fdfa;
}

.ddt-load__batch-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}

.ddt-load__amazon-hint {
    font-size: 0.8rem;
    color: #0f766e;
    margin-top: 0.15rem;
}

.ddt-load__amazon-detail {
    font-size: 0.82rem;
    line-height: 1.35;
    max-width: 22rem;
}

.pick-attr--stock-ok {
    background: var(--mishirto-cyan-soft);
}

.pick-attr--stock-ok strong { color: #0077a8; }

.pick-attr--stock-no {
    background: #ffe8e8;
}

.pick-attr--stock-no strong { color: var(--pick-danger); }

.pick-line--instock {
    border-color: var(--mishirto-cyan);
}

.pick-line--nostock {
    border-color: #e67e22;
}

.pick-ready {
    background: #fff;
    border: 2px solid var(--mishirto-cyan);
    border-radius: 16px;
    padding: 1rem;
    margin-top: 0.5rem;
}

.pick-ready__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.pick-ready__head h2 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 900;
    color: var(--pick-ink);
}

.pick-ready__head p {
    margin: 0.25rem 0 0;
    font-size: 0.85rem;
    color: var(--pick-muted);
    font-weight: 600;
}

.pick-ready__refresh {
    border: none;
    border-radius: 10px;
    background: #111;
    color: #fff;
    font-weight: 800;
    padding: 0.55rem 0.85rem;
    white-space: nowrap;
}

.pick-ready__refresh:disabled { opacity: 0.55; }

.pick-ready__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0.65rem;
}

.pick-ready__card {
    text-align: left;
    border: 2px solid #111;
    border-radius: 14px;
    background: var(--mishirto-cyan-soft);
    padding: 0.85rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.pick-ready__card:hover:not(:disabled) {
    border-color: var(--mishirto-cyan);
}

.pick-ready__card:disabled { opacity: 0.6; }

.pick-ready__order {
    font-size: 1rem;
    font-weight: 900;
    font-family: ui-monospace, Consolas, monospace;
    color: var(--pick-ink);
    word-break: break-all;
}

.pick-ready__customer {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--pick-ink);
}

.pick-ready__meta {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--pick-ink);
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.pick-ready__track {
    font-size: 0.78rem;
    font-weight: 700;
    font-family: ui-monospace, Consolas, monospace;
    color: var(--pick-muted);
}

.pick-ready__go {
    margin-top: 0.4rem;
    font-weight: 900;
    color: var(--mishirto-cyan);
    letter-spacing: 0.04em;
}

.pick-order__notes {
    margin-top: 0.5rem;
    font-weight: 700;
    color: #a11919;
}

.pick-lines {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.pick-lines__banner {
    margin: 0 0 0.65rem;
    padding: 0.7rem 0.9rem;
    border-radius: 12px;
    border: 2px solid #111;
    background: #fff7d6;
    color: #111;
    font-size: 0.95rem;
    font-weight: 700;
}

.pick-lines--grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
    gap: 0.85rem;
    align-items: stretch;
}

.pick-line {
    display: grid;
    grid-template-columns: auto minmax(88px, 120px) minmax(140px, 1.1fr) 110px minmax(0, 1.4fr);
    gap: 0.65rem;
    align-items: stretch;
    background: #fff;
    border: 3px solid #111;
    border-radius: 16px;
    padding: 0.65rem;
    min-width: 0;
}

/* Singola riga: check + qty nella stessa area (compat con layout a colonne) */
.pick-line:not(.pick-line--card) .pick-line__top {
    display: contents;
}

/* Card affiancate (2+ articoli): layout verticale chiaro */
.pick-line--card {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto auto;
    gap: 0.55rem;
}

.pick-line--card .pick-line__top {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.55rem;
    align-items: stretch;
}

.pick-line--card .pick-line__check {
    width: 3rem;
    height: 3rem;
    font-size: 1.25rem;
    align-self: center;
}

.pick-line--card .pick-line__qty {
    min-height: 72px;
    flex-direction: row;
    gap: 0.35rem;
    padding: 0.45rem 0.75rem;
}

.pick-line--card .pick-line__qty-num {
    font-size: clamp(2.2rem, 6vw, 3rem);
}

.pick-line--card .pick-line__qty-unit {
    margin-top: 0;
    align-self: center;
}

.pick-line--card .pick-line__qty-break {
    margin-top: 0;
    align-self: center;
}

.pick-line--card .pick-line__attrs {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
}

.pick-line--card .pick-attr--size strong {
    font-size: clamp(1.4rem, 4vw, 1.85rem);
}

.pick-line--card .pick-line__media img {
    height: 140px;
}

.pick-line--card .pick-line__info h2 {
    font-size: 1.05rem;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pick-line--card .pick-line__tap {
    font-size: 1.05rem;
    padding: 0.85rem 0.75rem;
}

.pick-line--multi { box-shadow: 0 0 0 3px var(--pick-hot); }
.pick-line--done {
    opacity: 0.55;
    border-color: var(--mishirto-cyan);
    background: var(--pick-hot-soft);
}
.pick-line--done .pick-line__qty {
    background: var(--mishirto-cyan);
    color: #fff;
}
.pick-line--warn { border-color: var(--pick-danger); }

.pick-line__check {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 999px;
    border: 3px solid #111;
    background: #fff;
    font-weight: 900;
    font-size: 1rem;
    align-self: center;
    line-height: 1;
}

.pick-line__check--on {
    background: var(--mishirto-cyan);
    border-color: var(--mishirto-cyan);
    color: #fff;
}

.pick-line__qty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #111;
    color: #fff;
    border-radius: 14px;
    min-height: 110px;
    padding: 0.35rem;
    line-height: 0.9;
}

.pick-line__qty--hot {
    background: var(--pick-hot);
    color: var(--pick-hot-ink);
}

.pick-line__qty-num {
    font-size: clamp(2.8rem, 8vw, 4.2rem);
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.04em;
}

.pick-line__qty-unit {
    font-size: 0.85rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    margin-top: 0.15rem;
}

.pick-line__qty-break {
    margin-top: 0.25rem;
    font-size: 0.78rem;
    font-weight: 800;
    opacity: 0.85;
}

.pick-line__attrs {
    display: grid;
    grid-template-rows: repeat(4, minmax(0, 1fr));
    gap: 0.35rem;
}

.pick-attr {
    background: #f3f6f9;
    border-radius: 10px;
    padding: 0.35rem 0.55rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.pick-attr span {
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: var(--pick-muted);
}

.pick-attr strong {
    font-size: 1.15rem;
    font-weight: 900;
    color: var(--pick-ink);
    display: flex;
    align-items: center;
    gap: 0.4rem;
    line-height: 1.15;
    word-break: break-word;
}

.pick-attr--size { background: #111; }
.pick-attr--size span { color: #9aa7b5; }
.pick-attr--size strong {
    color: #fff;
    font-size: 1.55rem;
}

.pick-attr--color strong { font-size: 1.05rem; }

.pick-swatch {
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.25);
    display: inline-block;
    flex-shrink: 0;
}

.pick-line__media {
    border-radius: 12px;
    overflow: hidden;
    background: #eef3f7;
    min-height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pick-line__media img {
    width: 100%;
    height: 120px;
    object-fit: contain;
}

.pick-line__noimg {
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--pick-muted);
}

.pick-line__info {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.pick-line__info h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
    color: var(--pick-ink);
}

.pick-line__sku {
    margin: 0.2rem 0 0;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--pick-muted);
    font-family: ui-monospace, Consolas, monospace;
}

.pick-line__desc {
    margin: 0.25rem 0 0;
    font-size: 0.78rem;
    color: var(--pick-muted);
}

.pick-line__miss {
    margin: 0.35rem 0 0;
    font-weight: 800;
    color: var(--pick-danger);
    font-size: 0.82rem;
}

.pick-line__tap {
    grid-column: 1 / -1;
    border: none;
    border-radius: 12px;
    background: #111;
    color: #fff;
    font-weight: 900;
    font-size: 1rem;
    letter-spacing: 0.06em;
    padding: 0.85rem 1rem;
    min-height: 3rem;
}

.pick-line__tap--done { background: var(--mishirto-cyan); }

.pick-dock {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background: #111;
    color: #fff;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.2);
}

.pick-dock__left {
    font-size: 0.95rem;
    font-weight: 600;
}

.pick-dock__done {
    font-weight: 900;
    color: var(--mishirto-cyan);
    font-size: 1rem;
}

.pick-dock__next {
    border: none;
    border-radius: 10px;
    background: var(--mishirto-cyan);
    color: #fff;
    font-weight: 900;
    letter-spacing: 0.04em;
    padding: 0.75rem 1.1rem;
    white-space: nowrap;
    flex: 1;
}

.pick-dock__next--pack {
    background: #16a34a;
}

.pick-dock__next--skip {
    background: #b45309;
}

.pick-dock__next--complete {
    background: #111;
    border: 2px solid var(--mishirto-cyan);
    color: var(--mishirto-cyan);
    font-size: 0.95rem;
    flex: 0 0 auto;
}

.pick-dock__next--complete:disabled { opacity: 0.55; }

@media (max-width: 900px) {
    .pick-line:not(.pick-line--card) {
        grid-template-columns: auto minmax(96px, 1fr) 1.2fr;
        grid-template-areas:
            "check qty attrs"
            "media media media"
            "info info info"
            "tap tap tap";
    }

    .pick-line:not(.pick-line--card) .pick-line__top {
        display: contents;
    }

    .pick-line:not(.pick-line--card) .pick-line__check { grid-area: check; }
    .pick-line:not(.pick-line--card) .pick-line__qty { grid-area: qty; min-height: 96px; }
    .pick-line:not(.pick-line--card) .pick-line__attrs { grid-area: attrs; }
    .pick-line:not(.pick-line--card) .pick-line__media { grid-area: media; }
    .pick-line:not(.pick-line--card) .pick-line__media img { height: 160px; }
    .pick-line:not(.pick-line--card) .pick-line__info { grid-area: info; }
    .pick-line:not(.pick-line--card) .pick-line__tap { grid-area: tap; }

    .pick-lines--grid {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
    }

    .pick-order__flags { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pick-attr--size strong { font-size: 1.35rem; }
    .pick-line:not(.pick-line--card) .pick-line__qty-num { font-size: 3.2rem; }
}

@media (max-width: 520px) {
    .pick__top h1 { font-size: 1.15rem; }
    .pick__scan-input { font-size: 1rem; padding: 0.75rem; }
    .pick-lines--grid {
        grid-template-columns: 1fr;
    }
    .pick-line:not(.pick-line--card) {
        grid-template-columns: auto 1fr;
        grid-template-areas:
            "check qty"
            "attrs attrs"
            "media media"
            "info info"
            "tap tap";
    }
}

/* Prendi e Imbusta (legacy helpers ancora usati altrove) */
.pack__header {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
    padding: 1rem 1.25rem;
    background: #fff;
    border: 1px solid var(--mishirto-line);
    border-radius: 14px;
    border-top: 4px solid var(--mishirto-cyan);
}

.pack__brand {
    height: 56px;
    width: auto;
}

.pack__eyebrow {
    margin: 0 0 0.1rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mishirto-cyan);
}

.pack__header h1 {
    margin: 0 0 0.15rem;
    font-size: 1.55rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--mishirto-black);
}

.pack__header p {
    margin: 0;
    color: var(--mishirto-muted);
}

.pack__search {
    display: flex;
    gap: 0.55rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.pack__input {
    flex: 1;
    min-width: 200px;
    font-family: inherit;
    font-size: 1.2rem;
    font-weight: 500;
    padding: 0.8rem 1rem;
    border: 2px solid var(--mishirto-line);
    border-radius: 10px;
    background: #fff;
}

.pack__input:focus {
    outline: none;
    border-color: var(--mishirto-cyan);
    box-shadow: 0 0 0 3px rgba(0, 174, 239, 0.18);
}

.pack__btn {
    font-family: inherit;
    font-size: 1.05rem;
    font-weight: 700;
    padding: 0.8rem 1.35rem;
    border: none;
    border-radius: 10px;
    background: var(--mishirto-cyan);
    color: #fff;
    min-width: 128px;
    transition: filter 0.15s ease, transform 0.15s ease;
}

.pack__btn:hover:not(:disabled) {
    filter: brightness(0.95);
    transform: translateY(-1px);
}

.pack__btn--ghost {
    background: #fff;
    color: #334155;
    border: 1.5px solid var(--mishirto-line);
}

.pack__btn--small {
    min-width: 0;
    padding: 0.4rem 0.7rem;
    font-size: 0.8rem;
}

.pack__btn:disabled {
    opacity: 0.65;
}

.pack__btn--scan {
    background: #fff;
    color: var(--mishirto-cyan);
    border: 2px solid var(--mishirto-cyan);
}

.pack__btn--scan:hover:not(:disabled) {
    background: var(--mishirto-cyan-soft);
    filter: none;
}

.pack__hint {
    font-size: 0.82rem;
    color: var(--mishirto-muted);
    margin: -0.35rem 0 1rem;
    line-height: 1.45;
}

.pack__scanned {
    font-size: 0.88rem;
    color: var(--mishirto-muted);
    margin: -0.5rem 0 0.85rem;
}

.pack__scanned code {
    background: var(--mishirto-cyan-soft);
    color: var(--mishirto-black);
    padding: 0.15rem 0.4rem;
    border-radius: 6px;
    font-size: 0.95rem;
}

.scan-overlay {
    position: fixed;
    inset: 0;
    z-index: 2000;
    background: rgba(0, 0, 0, 0.72);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.scan-panel {
    width: min(480px, 100%);
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    border-top: 4px solid var(--mishirto-cyan);
}

.scan-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--mishirto-line);
}

.scan-panel__header h2 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
}

.scan-panel__close {
    border: none;
    background: var(--mishirto-cyan-soft);
    color: var(--mishirto-black);
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 999px;
    font-size: 1rem;
    line-height: 1;
}

.scan-panel__view {
    width: 100%;
    min-height: min(55vh, 420px);
    background: #000;
}

.scan-panel__view video {
    object-fit: cover;
}

.scan-panel__help {
    margin: 0;
    padding: 0.85rem 1rem 1rem;
    font-size: 0.85rem;
    color: var(--mishirto-muted);
    text-align: center;
}

.scan-panel__status {
    margin: 0 1rem 1rem;
    padding: 0.45rem 0.65rem;
    border-radius: 10px;
    font-size: 0.82rem;
    font-weight: 700;
    text-align: center;
}

.scan-panel__status--ok {
    background: #ecfdf5;
    color: #047857;
}

.scan-panel__status--err {
    background: #fef2f2;
    color: #b91c1c;
}

.pack__alert {
    background: #fff;
    border: 1px solid var(--mishirto-line);
    border-radius: 10px;
    padding: 0.85rem 1rem;
    margin-bottom: 1rem;
}

.pack__alert--error {
    border-color: #f0b4b4;
    background: #fff5f5;
    color: #8a1f1f;
}

.pack__alert--blocked {
    border-color: #dc2626 !important;
    background: #450a0a !important;
    color: #fecaca !important;
    font-weight: 800 !important;
    font-size: 1.1rem !important;
    animation: pick-alert-pulse 0.9s ease-in-out 3;
}

.pack-info {
    background: #fff;
    border: 1px solid var(--mishirto-line);
    border-radius: 14px;
    padding: 1.1rem 1.25rem;
    margin-bottom: 1rem;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
}

.pack-info--refunded { background: #fff1f1; border-color: #efb0b0; }
.pack-info--surcharge { background: #e6fff8; border-color: #7ad9c0; }
.pack-info--late { background: #fff4e5; border-color: #f0b46a; }

.pack-info__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1.5rem;
}

.pack-info__row { margin-bottom: 0.35rem; }
.pack-info__status { color: #1b6e3a; font-style: italic; }
.pack-info__cap { color: #a11919; font-weight: 600; }
.pack-info__packaging { color: #0077a8; font-weight: 700; }
.pack-info__notes { color: #b22222; font-weight: 600; }
.pack-info__ship { color: #d26900; font-weight: 600; }
.pack-info__delivery { color: #2e8b57; font-weight: 600; }

.pack-info__banner {
    margin-top: 0.5rem;
    font-weight: 700;
    font-size: 1.05rem;
    color: #8a1f1f;
}

.pack-article {
    background: #fff;
    border: 1px solid var(--mishirto-line);
    border-radius: 14px;
    padding: 1.1rem;
    margin-bottom: 1rem;
}

.pack-article__main {
    display: grid;
    grid-template-columns: minmax(160px, 280px) 1fr;
    gap: 1rem;
}

.pack-article__media img {
    width: 100%;
    max-height: 260px;
    object-fit: contain;
    background: var(--mishirto-cyan-soft);
    border-radius: 10px;
}

.pack-article__noimg {
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mishirto-cyan-soft);
    border-radius: 10px;
    color: var(--mishirto-muted);
}

.pack-article__swatches {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.5rem;
    align-items: center;
}

.pack-article__color {
    width: 40px;
    height: 40px;
    border: 1px solid var(--mishirto-line);
    border-radius: 8px;
    display: inline-block;
}

.pack-article__size {
    min-width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--mishirto-line);
    border-radius: 8px;
    font-weight: 700;
    background: #fff;
}

.pack-article__details h2 {
    font-size: 1.15rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.pack-article__sku {
    color: var(--mishirto-muted);
    margin-bottom: 0.75rem;
}

.pack-qty {
    font-size: 1.5rem;
    font-weight: 700;
    background: #fff8dc;
    border: 1px solid #e6d98a;
    border-radius: 10px;
    padding: 0.6rem 0.85rem;
    margin-bottom: 0.5rem;
}

.pack-qty--multi {
    background: #ffe566;
    color: #c00;
    border-color: #e0b000;
}

.pack-block {
    font-size: 1.25rem;
    font-weight: 700;
    background: var(--mishirto-cyan-soft);
    border: 1px solid var(--mishirto-cyan-mid);
    border-radius: 10px;
    padding: 0.6rem 0.85rem;
}

.pack-block__hint {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--mishirto-muted);
    margin-left: 0.35rem;
}

.pack-supplier {
    margin-top: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--mishirto-line);
}

.pack-supplier__desc {
    color: var(--mishirto-muted);
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.pack-supplier__fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
}

.pack-supplier__fields > div {
    background: var(--mishirto-cyan-soft);
    border-radius: 10px;
    padding: 0.55rem 0.7rem;
}

.pack-supplier__fields span {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--mishirto-cyan);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.pack-supplier__warn {
    margin-top: 0.65rem;
    color: #8a1f1f;
    font-weight: 600;
}

@media (max-width: 700px) {
    .home__logo {
        height: 56px;
    }

    .pack-info__grid,
    .pack-article__main,
    .pack-supplier__fields {
        grid-template-columns: 1fr;
    }

    .tile-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .tile {
        min-height: 92px;
        padding: 0.85rem;
    }
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: #b32121;
    padding: 1rem 1rem 1rem 1rem;
    color: white;
}

.blazor-error-boundary::after {
    content: "Si Ã¨ verificato un errore.";
}

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* Raggruppamento ordini */
.grouping__wait {
    border-color: #fbbf24 !important;
    background: #fffbeb !important;
    color: #92400e !important;
    font-weight: 700;
}

.pack__input--wait {
    border-color: #fbbf24;
    background: #fffbeb;
}

.grouping__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    margin-bottom: 1.25rem;
    padding: 0.85rem 1rem;
    background: #fff;
    border: 1px solid var(--mishirto-line);
    border-radius: 12px;
    font-size: 0.92rem;
    color: var(--mishirto-muted);
}

.grouping__stats strong {
    color: var(--mishirto-black);
    font-size: 1.05rem;
}

.grouping__panel {
    background: #fff;
    border: 1px solid var(--mishirto-line);
    border-radius: 14px;
    padding: 1rem 1.1rem 1.1rem;
    margin-bottom: 1rem;
    border-top: 3px solid var(--mishirto-cyan);
}

.grouping__panel h2 {
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.grouping__lead {
    color: var(--mishirto-muted);
    font-size: 0.88rem;
    margin-bottom: 0.75rem;
}

.grouping__table-wrap {
    overflow-x: auto;
}

.grouping__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.grouping__table th,
.grouping__table td {
    padding: 0.55rem 0.65rem;
    border-bottom: 1px solid var(--mishirto-line);
    text-align: left;
    white-space: nowrap;
}

.grouping__table th {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--mishirto-cyan);
    background: var(--mishirto-cyan-soft);
}

.grouping__table--detail td:nth-child(3) {
    white-space: normal;
    min-width: 140px;
}

.grouping__cliente {
    margin-top: 2px;
    font-size: 0.82rem;
    color: #5a6570;
    font-weight: 500;
}

.grouping__row--need td:last-child {
    color: #b22222;
    font-weight: 700;
}

.grouping__row--ok td:last-child {
    color: #1b6e3a;
    font-weight: 700;
}

.grouping__row--warn {
    background: #fff8e6;
}

.grouping__alert--ok {
    border-color: #9ed8b0;
    background: #eefbf2;
    color: #1b6e3a;
}

.grouping__actions {
    margin-bottom: 0.85rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

.grouping__panel--merge {
    margin-top: 0.75rem;
}

.grouping__merge-form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.55rem;
    margin: 0.65rem 0 0.85rem;
}

.grouping__merge-form label {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #475569;
    min-width: 7.5rem;
}

.grouping__merge-form .pack__input {
    min-width: 7.5rem;
}

.grouping__pdf-opt {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: #334155;
    cursor: pointer;
    user-select: none;
    padding: 0.35rem 0.55rem;
    border-radius: 8px;
    background: #f1f5f9;
}

.grouping__pdf-opt input {
    width: 1.05rem;
    height: 1.05rem;
    accent-color: var(--mishirto-cyan, #00aeef);
}

.grouping__btn-sendcloud {
    width: 100%;
    max-width: 420px;
    background: var(--mishirto-black);
    font-size: 1rem;
}

.grouping__btn-sendcloud:hover:not(:disabled) {
    filter: brightness(1.15);
}

.grouping__btn-supplier {
    background: #0f766e;
    color: #fff;
    border: 2px solid #0f766e;
}

.grouping__btn-supplier:hover:not(:disabled) {
    filter: brightness(1.08);
}

.grouping__btn-camac {
    background: #111;
    color: #fff;
    border: 2px solid var(--mishirto-cyan);
}

.grouping__btn-camac:hover:not(:disabled) {
    background: var(--mishirto-cyan);
}

.grouping__legend {
    font-weight: 600;
}

.grouping__legend--need { color: #b22222; }
.grouping__legend--ok { color: #1b6e3a; }

.grouping__table-wrap--matrix {
    max-height: 70vh;
    overflow: auto;
}

.grouping__table--matrix {
    min-width: max-content;
}

.grouping__table--matrix th,
.grouping__table--matrix td {
    text-align: center;
    min-width: 2.5rem;
}

.grouping__table--matrix .grouping__sticky {
    position: sticky;
    left: 0;
    z-index: 2;
    text-align: left;
    background: #fff;
    min-width: 5.5rem;
    box-shadow: 2px 0 0 var(--mishirto-line);
}

.grouping__table--matrix .grouping__sticky--2 {
    left: 5.5rem;
    min-width: 7rem;
}

.grouping__table--matrix thead .grouping__sticky {
    background: var(--mishirto-cyan-soft);
    z-index: 3;
}

.grouping__code {
    font-weight: 700;
}

.grouping__size-col {
    font-size: 0.78rem;
    min-width: 2.2rem !important;
}

.grouping__cell {
    font-weight: 600;
    font-size: 0.95rem;
}

.grouping__cell--need {
    background: #ffe8e8;
    color: #b22222;
}

.grouping__cell--ok {
    background: #eefbf2;
    color: #1b6e3a;
}

.grouping__cell--empty {
    background: #fafbfc;
    color: #d0d8de;
}

.grouping__cell--total {
    background: var(--mishirto-cyan-soft);
    font-weight: 700;
}

.grouping__stat-warn {
    color: #b22222;
    font-weight: 600;
}

.grouping__panel--review {
    border-color: #111;
}

.grouping__panel--camac {
    border: 2px solid var(--mishirto-cyan);
}

.grouping__camac-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}

.grouping__camac-head h2 {
    margin: 0;
}

.grouping__table--camac .review-card__input {
    width: 100%;
    min-width: 7rem;
}

.grouping__table--camac td:last-child {
    font-weight: 900;
    text-align: center;
    width: 2.5rem;
}

.grouping__camac-sub {
    margin: 1.25rem 0 0.5rem;
    font-size: 1rem;
    font-weight: 800;
}

.grouping__table--camac-size {
    max-width: 28rem;
}

.review-card {
    background: #fff;
    border: 1px solid #f0d8a0;
    border-radius: 12px;
    padding: 1rem;
    margin-bottom: 0.85rem;
}

.review-card__product {
    font-weight: 600;
    margin: 0 0 0.35rem;
    font-size: 0.92rem;
    line-height: 1.35;
}

.review-card__meta,
.review-card__reason {
    margin: 0 0 0.5rem;
    font-size: 0.82rem;
    color: var(--mishirto-muted);
}

.review-card__reason {
    color: #a05a00;
    font-weight: 600;
}

.review-card__fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin-bottom: 0.75rem;
}

.review-card__fields label {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--mishirto-cyan);
}

.review-card__input {
    font-family: inherit;
    font-size: 0.95rem;
    padding: 0.5rem 0.65rem;
    border: 1px solid var(--mishirto-line);
    border-radius: 8px;
}

.review-card__actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.bordero-queue {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
    border-radius: 12px;
    background: rgba(0, 174, 239, 0.1);
    border: 1px solid rgba(0, 174, 239, 0.35);
}

.bordero-queue__text {
    font-size: 0.95rem;
    color: var(--pick-ink, #111);
}

.bordero-queue__text strong {
    color: var(--mishirto-cyan, #00aeef);
    font-size: 1.15rem;
}

.bordero__row--cap {
    background: #ffe6e6;
}

.bordero__row--cap td {
    color: #8b0000;
}

.bordero__table td.bordero__items {
    max-width: none;
    min-width: 18rem;
    width: 42%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.4;
    font-size: 0.92rem;
}

.bordero__item + .bordero__item {
    margin-top: 0.35rem;
}

.grouping__cell--pick {
    background: #fff3cd;
    color: #8a5a00;
    font-weight: 700;
    cursor: pointer;
}

.grouping__cell--pick:hover {
    background: #ffe08a;
}

.warehouse__tabs {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.warehouse__tab {
    border: 1px solid var(--mishirto-line);
    background: #fff;
    border-radius: 999px;
    padding: 0.45rem 1rem;
    font-weight: 600;
    cursor: pointer;
}

.warehouse__tab--active {
    background: var(--mishirto-cyan-soft);
    border-color: var(--mishirto-cyan);
    color: var(--mishirto-black);
}

.warehouse__qty {
    max-width: 90px;
}

.warehouse-pick {
    max-width: 480px;
}

.warehouse-pick__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    width: 100%;
    margin-bottom: 0.5rem;
    padding: 0.75rem;
    border: 1px solid var(--mishirto-line);
    border-radius: 10px;
    background: #fff;
    text-align: left;
    cursor: pointer;
}

.warehouse-pick__item--selected {
    border-color: var(--mishirto-cyan);
    background: var(--mishirto-cyan-soft);
}

.warehouse-pick__qty {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin: 0.75rem 0;
    font-size: 0.9rem;
    font-weight: 600;
}

.warehouse-action--wide {
    max-width: min(96vw, 720px);
}

.warehouse-matrix__cell {
    cursor: pointer;
    user-select: none;
    min-width: 2.6rem;
    font-weight: 700;
    text-align: center;
    transition: background .12s ease, color .12s ease;
}

.school-wh .pack__header h1 {
    letter-spacing: -0.02em;
}

.basic-load__targets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.65rem;
}

.basic-load__target {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.85rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
}

.basic-load__target--on {
    border-color: var(--mishirto-cyan);
    background: var(--mishirto-cyan-soft);
    box-shadow: inset 0 0 0 1px var(--mishirto-cyan);
}

.basic-load__target strong {
    display: block;
    font-size: 0.95rem;
}

.basic-load__target small {
    display: block;
    margin-top: 0.15rem;
    color: #64748b;
    font-weight: 600;
}

.basic-load__target input {
    margin-top: 0.2rem;
}

.wh-variant-list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin: 0.75rem 0;
    max-height: 40vh;
    overflow: auto;
}

.wh-variant-btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.65rem 0.8rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    text-align: left;
    font: inherit;
}

.wh-variant-btn--on {
    border-color: var(--mishirto-cyan);
    background: var(--mishirto-cyan-soft);
    box-shadow: inset 0 0 0 1px var(--mishirto-cyan);
}

.warehouse-matrix__cell--stock {
    background: rgba(0, 174, 239, 0.12);
    color: #0a6a8a;
}

.warehouse-matrix__cell--stock:hover {
    background: rgba(0, 174, 239, 0.28);
}

.warehouse-matrix__cell--low {
    background: #fff7ed;
    color: #c2410c;
    box-shadow: inset 0 0 0 1.5px #fb923c;
}

.warehouse-matrix__cell--low:hover {
    background: #ffedd5;
}

.warehouse-matrix__low {
    display: block;
    font-size: 0.62rem;
    font-weight: 800;
    line-height: 1.1;
    color: #b45309;
}

.warehouse-lowstock {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin: 0.75rem 0 0.5rem;
    padding: 0.85rem 1rem;
    border-radius: 12px;
    border: 1px solid #fdba74;
    background: linear-gradient(180deg, #fff7ed, #ffedd5);
}

.warehouse-lowstock__text {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.warehouse-lowstock__text strong {
    color: #9a3412;
    font-size: 0.98rem;
}

.warehouse-lowstock__text span {
    font-size: 0.82rem;
    color: #9a3412;
    font-weight: 600;
}

.warehouse-lowstock__list {
    margin: 0 0 0.75rem;
    padding: 0.55rem 0.85rem 0.55rem 1.35rem;
    border-radius: 10px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    font-size: 0.82rem;
    color: #78350f;
}

.warehouse-lowstock__list li + li {
    margin-top: 0.25rem;
}

.warehouse-lowstock__need {
    color: #b91c1c;
}

.warehouse-lowstock__more {
    list-style: none;
    margin-left: -0.5rem;
    font-weight: 700;
    color: #92400e;
}

.warehouse-matrix__cell--reserved {
    background: #fff4e5;
    color: #c2410c;
    box-shadow: inset 0 0 0 1.5px #fb923c;
}

.warehouse-matrix__cell--reserved:hover {
    background: #ffedd5;
}

.warehouse-matrix__imp {
    display: block;
    font-size: 0.65rem;
    font-weight: 800;
    line-height: 1.1;
    opacity: 0.9;
}

.warehouse-matrix__imp::before {
    content: "imp ";
    font-weight: 700;
    opacity: 0.75;
}

.warehouse-matrix__cell--selected {
    background: var(--mishirto-cyan-soft) !important;
    outline: 2px solid var(--mishirto-cyan);
}

.warehouse-matrix__cell--empty,
.warehouse-matrix__cell--add {
    color: #9aa3ad;
    font-weight: 600;
}

.warehouse-matrix__cell--add:hover {
    background: rgba(46, 160, 67, 0.15);
    color: #1b7a2e;
}

.warehouse-matrix__qr-col {
    width: 3.2rem;
    text-align: center;
}

.warehouse-matrix__qr {
    vertical-align: middle;
    text-align: center;
    background: #f4fafd;
    border-left: 1px solid #cfe8f3;
}

.warehouse-matrix__qr-btn {
    border: 1px solid #00aeef;
    background: #fff;
    color: #0077a8;
    border-radius: 10px;
    width: 2.6rem;
    height: 2.6rem;
    font-size: 1.15rem;
    cursor: pointer;
    line-height: 1;
}

.warehouse-matrix__qr-btn:hover {
    background: #e8f7fc;
}

.warehouse-add {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    gap: 0.65rem 0.75rem;
    align-items: end;
    margin: 0.85rem 0 1.1rem;
    padding: 0.85rem;
    background: #f4fafd;
    border: 1px solid #cfe8f3;
    border-radius: 10px;
}

.warehouse-value {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 1.25rem;
    margin: 0.65rem 0 0.35rem;
    padding: 0.75rem 1rem;
    background: linear-gradient(135deg, #e8f7fc, #f7fcfe);
    border: 1px solid #b8e4f5;
    border-radius: 10px;
}

.warehouse-value__main {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.45rem 0.75rem;
}

.warehouse-value__label {
    font-size: 0.85rem;
    color: #3a6a7a;
    font-weight: 600;
}

.warehouse-value__amount {
    font-size: 1.55rem;
    color: #0077a8;
    letter-spacing: -0.02em;
}

.warehouse-value__hint {
    font-size: 0.8rem;
    color: #6a8a96;
}

.warehouse-value__meta {
    font-size: 0.88rem;
    color: #445;
}

.warehouse-value__warn {
    color: #b45309;
    font-weight: 600;
}

.warehouse-add__qty {
    max-width: 5.5rem;
}

@media (max-width: 720px) {
    .warehouse-add {
        grid-template-columns: 1fr 1fr;
    }

    .warehouse-add > .pack__btn {
        grid-column: 1 / -1;
    }
}

.wh-sheet__variant {
    margin: 0.25rem 0 0;
    font-size: 0.95rem;
    color: #445;
}

.warehouse-action {
    max-width: 420px;
}

.warehouse-action__title {
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 0.35rem;
}

/* Magazzino mobile-first */
.warehouse-scan-home {
    text-align: center;
}

.warehouse-scan-btn {
    width: 100%;
    border: none;
    border-radius: 18px;
    padding: 1.6rem 1rem;
    background: linear-gradient(160deg, #00aeef 0%, #008fc4 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    box-shadow: 0 10px 24px rgba(0, 174, 239, 0.28);
}

.warehouse-scan-btn__icon {
    font-size: 2.2rem;
    line-height: 1;
}

.warehouse-scan-btn__title {
    font-size: 1.35rem;
    font-weight: 800;
}

.warehouse-scan-btn__sub {
    font-size: 0.9rem;
    opacity: 0.92;
}

.warehouse-scan-or {
    margin: 1rem 0 0.5rem;
    color: var(--mishirto-muted);
    font-size: 0.85rem;
}

.warehouse-scan-ipad-tip {
    margin: 0.65rem 0 0;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.4;
    color: #0369a1;
    text-align: center;
}

.warehouse-scan-manual {
    display: flex;
    gap: 0.5rem;
}

.warehouse-scan-manual__input {
    flex: 1;
    text-align: center;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.scan-overlay--fullscreen {
    padding: 0;
    align-items: stretch;
}

.scan-panel--fullscreen {
    width: 100%;
    max-width: none;
    min-height: 100%;
    border-radius: 0;
    display: flex;
    flex-direction: column;
}

.scan-panel__view--tall {
    flex: 1;
    min-height: 65vh;
}

.wh-sheet-overlay {
    position: fixed;
    inset: 0;
    z-index: 2100;
    background: rgba(0, 0, 0, 0.55);
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.wh-sheet {
    width: 100%;
    max-width: 520px;
    max-height: 94vh;
    overflow: auto;
    background: #fff;
    border-radius: 20px 20px 0 0;
    padding: 1rem 1rem 1.4rem;
    border-top: 4px solid var(--mishirto-cyan);
}

.wh-sheet__top {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.wh-sheet__code {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
}

.wh-sheet__name {
    margin: 0.15rem 0 0;
    color: var(--mishirto-muted);
    font-size: 0.9rem;
}

.wh-step {
    margin-bottom: 0.95rem;
}

.wh-step__label {
    margin: 0 0 0.45rem;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--mishirto-muted);
}

.wh-choice {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}

.wh-choice__btn {
    border: 2px solid var(--mishirto-line);
    background: #fff;
    border-radius: 14px;
    padding: 0.95rem 0.5rem;
    font-size: 1.05rem;
    font-weight: 800;
}

.wh-choice__btn--on.wh-choice__btn--load {
    border-color: #1f8a4c;
    background: #e8f8ef;
    color: #1f6b3f;
}

.wh-choice__btn--on.wh-choice__btn--pick {
    border-color: #c44;
    background: #fdeeee;
    color: #9b2c2c;
}

.wh-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.wh-chip {
    border: 2px solid var(--mishirto-line);
    background: #fff;
    border-radius: 999px;
    padding: 0.7rem 1rem;
    font-size: 1rem;
    font-weight: 700;
    min-height: 2.8rem;
}

.wh-chip--size {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
    min-width: 3.4rem;
    border-radius: 14px;
}

.wh-chip__stock {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--mishirto-muted);
}

.wh-chip--on {
    border-color: var(--mishirto-cyan);
    background: var(--mishirto-cyan-soft);
    color: var(--mishirto-black);
}

.wh-chip--on .wh-chip__stock {
    color: var(--mishirto-ink);
}

.wh-chip--disabled {
    opacity: 0.35;
}

.wh-hint {
    margin: 0.4rem 0 0;
    font-size: 0.85rem;
    color: var(--mishirto-muted);
}

.wh-qty {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
}

.wh-qty__btn {
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 14px;
    border: 2px solid var(--mishirto-line);
    background: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
}

.wh-qty__input {
    width: 5rem;
    height: 3.2rem;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 800;
    border: 2px solid var(--mishirto-line);
    border-radius: 14px;
}

.wh-qty-presets {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.4rem;
    margin-top: 0.55rem;
}

.wh-confirm {
    width: 100%;
    margin-top: 0.35rem;
    border: none;
    border-radius: 16px;
    padding: 1.05rem 1rem;
    font-size: 1.15rem;
    font-weight: 800;
    color: #fff;
}

.wh-confirm--load {
    background: #1f8a4c;
}

.wh-confirm--pick {
    background: #c44;
}

.wh-confirm--reserve {
    background: var(--mishirto-cyan, #00aeef);
}

.warehouse-reserve__formula {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--mishirto-muted, #64748b);
}

.warehouse-reserve__need {
    color: #c44;
    font-weight: 800;
}

.warehouse-reserve__howto {
    margin: 0.5rem 0 1rem;
    padding-left: 1.2rem;
    font-size: 0.88rem;
    line-height: 1.45;
    color: var(--mishirto-muted, #64748b);
}

.warehouse-reserve__howto li {
    margin-bottom: 0.35rem;
}

.warehouse-reserve__incoming-input {
    width: 4.2rem;
    min-width: 4.2rem;
    padding: 0.2rem 0.35rem;
    font-size: 0.9rem;
    font-weight: 700;
    text-align: center;
}

.warehouse-reserve__row--need td {
    background: #fff5f5;
}

@media (min-width: 700px) {
    .wh-sheet-overlay {
        align-items: center;
        padding: 1rem;
    }

    .wh-sheet {
        border-radius: 18px;
        max-height: 90vh;
    }
}

.warehouse-labels {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.warehouse-label {
    border: 1px solid var(--mishirto-line);
    border-radius: 12px;
    padding: 0.65rem;
    text-align: center;
    background: #fff;
    cursor: pointer;
    position: relative;
}

.warehouse-label input[type="checkbox"] {
    position: absolute;
    top: 0.45rem;
    left: 0.45rem;
    width: 1.1rem;
    height: 1.1rem;
}

.warehouse-label--selected {
    border-color: #111;
    box-shadow: 0 0 0 2px #111;
}

.warehouse-label img {
    width: 110px;
    height: 110px;
    object-fit: contain;
}

.warehouse-label__size {
    font-size: 1.1rem;
    font-weight: 800;
    margin: 0.35rem 0 0;
}

.warehouse-label__meta,
.warehouse-label__sku,
.warehouse-label__qty {
    font-size: 0.75rem;
    color: var(--mishirto-muted);
    margin: 0.1rem 0;
}

.warehouse-label__brand {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin: 0;
}

.warehouse-labels--ql {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.warehouse-label--ql {
    aspect-ratio: 40 / 62;
    width: 140px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
    text-align: center;
    padding: 0.45rem 0.4rem;
    border: 2px solid #111;
    border-radius: 4px;
    cursor: default;
}

.warehouse-label--ql img {
    width: 72%;
    height: auto;
    max-height: 48%;
    aspect-ratio: 1;
    flex-shrink: 0;
}

.warehouse-label--ql .warehouse-label__text {
    min-width: 0;
    width: 100%;
}

.warehouse-label--ql .warehouse-label__size {
    font-size: 1.05rem;
    margin: 0.1rem 0;
}

.warehouse-label--ql .warehouse-label__meta {
    color: #111;
    font-weight: 700;
    font-size: 0.85rem;
}

.warehouse-label--preview {
    max-width: 160px;
    margin: 0.35rem auto;
}

.warehouse-labels--print {
    display: none;
}

@media (max-width: 700px) {
    .review-card__fields {
        grid-template-columns: 1fr;
    }
}

/* DTF */
.dtf__operator {
    margin-bottom: 1rem;
}

.dtf__form {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.dtf__field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-size: 0.88rem;
    font-weight: 600;
}

.dtf__field--grow {
    flex: 1;
}

.dtf__field--unit {
    min-width: 7rem;
}

.dtf__length-row {
    display: flex;
    gap: 0.75rem;
    align-items: flex-end;
}

.dtf__textarea {
    min-height: 5rem;
    resize: vertical;
}

.dtf__optional {
    font-weight: 500;
    color: var(--mishirto-muted);
}

.dtf__list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}

.dtf__list-header h2 {
    margin: 0;
}

.dtf__table td {
    vertical-align: top;
}

.dtf__when {
    white-space: nowrap;
    font-size: 0.85rem;
}

.dtf__subjects {
    max-width: 16rem;
    white-space: pre-wrap;
    font-size: 0.9rem;
}

.dtf__note {
    display: block;
    margin-top: 0.2rem;
    color: var(--mishirto-muted);
    font-size: 0.82rem;
}

.dtf__acks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.dtf__ack {
    display: inline-block;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    border: 1px solid var(--mishirto-line);
    background: #fff;
}

.dtf__ack--ok {
    background: #e8f8ef;
    border-color: #9ed4b4;
    color: #1f6b3f;
}

.dtf__ack--bad {
    background: #fdeeee;
    border-color: #efb8b8;
    color: #9b2c2c;
}

.dtf__ack--pending {
    color: var(--mishirto-muted);
    font-weight: 500;
}

.dtf__actions {
    display: flex;
    gap: 0.35rem;
}

.dtf__pending-actions {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 11rem;
}

.dtf__pending-actions .pack__btn {
    font-size: 0.8rem;
    padding: 0.4rem 0.55rem;
    white-space: normal;
    line-height: 1.2;
}

.dtf__dest {
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 800;
    border-radius: 999px;
    padding: 0.2rem 0.55rem;
}

.dtf__dest--delivery {
    background: #e8f7fd;
    color: #0369a1;
}

.dtf__dest--work {
    background: #f3e8ff;
    color: #7e22ce;
}

.dtf-work-panel {
    max-width: min(920px, 96vw);
    max-height: 92vh;
    overflow: auto;
}

.dtf-work-table-wrap {
    max-height: 14rem;
    overflow: auto;
    margin: 0.55rem 0 0.75rem;
    border: 1px solid var(--mishirto-line);
    border-radius: 10px;
}

.dtf-work-table {
    margin: 0;
    font-size: 0.82rem;
}

.dtf-work-table th,
.dtf-work-table td {
    padding: 0.4rem 0.5rem;
    white-space: nowrap;
}

.dtf-work-table tbody tr {
    cursor: pointer;
}

.dtf-work-table tbody tr:hover {
    background: #f0f9ff;
}

.dtf-work-table__row--on {
    background: #e0f4fc !important;
}

.dtf-work-selected {
    margin: 0 0 0.75rem;
    padding: 0.55rem 0.7rem;
    border-radius: 10px;
    background: #f3e8ff;
    color: #6b21a8;
    font-size: 0.86rem;
    font-weight: 600;
}

.dtf-work-preview {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
    margin: 0.75rem 0 1rem;
    padding: 0.7rem 0.8rem;
    border-radius: 12px;
    background: #f0fdf4;
    border: 1px solid #86efac;
}

.dtf-work-preview div {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.dtf-work-preview span {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #64748b;
}

.dtf-work-preview strong {
    font-size: 1rem;
    font-weight: 800;
    color: #14532d;
    font-variant-numeric: tabular-nums;
}

.work-focus__cost-breakdown {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 1rem;
    margin: 0.55rem 0 0;
    padding: 0.45rem 0.65rem;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: 0.8rem;
    font-weight: 700;
    color: #475569;
}

.work-fasce {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.7rem 0.8rem;
    border-radius: 12px;
    border: 1px dashed #cbd5e1;
    background: #f8fafc;
}

.work-fasce__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.88rem;
    font-weight: 700;
    color: #334155;
}

.work-fasce__empty {
    margin: 0;
    font-size: 0.82rem;
    color: #64748b;
}

.work-fasce__rows {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.work-fasce__row {
    display: grid;
    grid-template-columns: 1fr 1fr auto auto;
    gap: 0.45rem;
    align-items: end;
}

.work-fasce__row label {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
}

.work-fasce__tot {
    min-width: 4.5rem;
    padding-bottom: 0.55rem;
    font-size: 0.85rem;
    font-weight: 800;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.work-fasce-view {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0.55rem 0 0;
}

.work-fasce-view__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    background: #ecfeff;
    border: 1px solid #a5f3fc;
    font-size: 0.78rem;
    font-weight: 650;
    color: #155e75;
}

.work-fasce-view__chip strong {
    font-weight: 800;
}

@media (max-width: 640px) {
    .work-fasce__row {
        grid-template-columns: 1fr 1fr;
    }

    .work-fasce__tot {
        grid-column: 1 / 2;
        text-align: left;
        padding-bottom: 0;
    }
}

.dtf__btn {
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 10px;
    border: 1px solid var(--mishirto-line);
    background: #fff;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
}

.dtf__btn--ok.dtf__btn--active {
    background: #e8f8ef;
    border-color: #3a9d5c;
}

.dtf__btn--bad.dtf__btn--active {
    background: #fdeeee;
    border-color: #c44;
}

.dtf__btn--delete {
    font-size: 0.85rem;
}

.dtf__check-col {
    width: 2.5rem;
    text-align: center;
}

/* Etichette DTF */
.dtf-labels h3 {
    margin: 1rem 0 0.5rem;
    font-size: 0.95rem;
}

.dtf-labels__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.75rem;
}

.dtf-label {
    border: 1px solid var(--mishirto-line);
    border-radius: 12px;
    padding: 0.75rem;
    text-align: center;
    background: #fff;
}

.dtf-label__brand {
    margin: 0 0 0.35rem;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mishirto-cyan);
}

.dtf-label__client {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.2;
}

.dtf-label__job {
    margin: 0.35rem 0 0;
    font-size: 0.82rem;
    color: var(--mishirto-ink);
    line-height: 1.25;
}

.dtf-label__length {
    margin: 0.45rem 0 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--mishirto-black);
}

.dtf-labels__grid--ql {
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
}

.dtf-label--ql {
    aspect-ratio: 62 / 40;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 2px solid #111;
    border-radius: 4px;
    gap: 0.15rem;
    padding: 0.45rem 0.5rem;
}

.dtf-label--ql .dtf-label__brand {
    margin: 0;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    color: #111;
}

.dtf-label--ql .dtf-label__client {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.15;
    color: #111;
}

.dtf-label--ql .dtf-label__job {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 700;
    color: #222;
    line-height: 1.2;
}

.dtf-label--ql .dtf-label__length {
    margin: 0.2rem 0 0;
    display: inline-block;
    padding: 0.15rem 0.65rem;
    background: #111;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 800;
    border-radius: 3px;
}

.dtf-label--ql.dtf-label--with-qr {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    gap: 0.4rem;
    padding: 0.35rem 0.4rem;
}

.dtf-label__qr {
    width: 38%;
    max-width: 3.4rem;
    aspect-ratio: 1;
    object-fit: contain;
    flex-shrink: 0;
    image-rendering: pixelated;
}

.dtf-label__side {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.08rem;
}

.dtf-label--with-qr .dtf-label__brand {
    font-size: 0.52rem;
}

.dtf-label--with-qr .dtf-label__client {
    font-size: 0.78rem;
}

.dtf-label--with-qr .dtf-label__job {
    font-size: 0.62rem;
}

.dtf-label__code {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 800;
    color: #111;
    letter-spacing: 0.04em;
}

.dtf-label--with-qr .dtf-label__length {
    margin: 0.1rem 0 0;
    font-size: 0.72rem;
    padding: 0.1rem 0.4rem;
}

.dtf-label-hint {
    margin: 0 0 0.75rem;
    font-size: 0.88rem;
}

.dtf-labels--print {
    display: none;
}

@media print {
    .dtf-labels--print-ql,
    .dtf-labels--print-ql * {
        visibility: visible;
    }

    .dtf-labels--print-ql {
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 62mm;
    }

    .dtf-label--ql-print {
        width: 62mm;
        height: 40mm;
        box-sizing: border-box;
        break-after: page;
        page-break-after: always;
        border: 1px solid #000;
        border-radius: 0;
        padding: 2.5mm;
        margin: 0;
    }

    .dtf-label--ql-print .dtf-label__client {
        font-size: 12pt;
    }

    .dtf-label--ql-print .dtf-label__job {
        font-size: 8pt;
    }

    .dtf-label--ql-print .dtf-label__length {
        font-size: 14pt;
    }
}

.dtf-price__gate {
    max-width: 28rem;
}

.dtf-price__login {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-top: 0.75rem;
}

.dtf-price__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.dtf-price__bulk {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--mishirto-muted);
}

.dtf-price__grand {
    margin-right: 0.5rem;
    font-size: 0.95rem;
}

.dtf-price__input {
    max-width: 7.5rem;
}

.dtf-price__total {
    font-weight: 700;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .dtf__table thead {
        display: none;
    }

    .dtf__table tr {
        display: block;
        margin-bottom: 1rem;
        padding-bottom: 1rem;
        border-bottom: 1px solid var(--mishirto-line);
    }

    .dtf__table td {
        display: block;
        padding: 0.2rem 0;
    }

    .dtf__table td::before {
        content: attr(data-label);
        font-weight: 700;
        font-size: 0.75rem;
        text-transform: uppercase;
        color: var(--mishirto-muted);
        display: block;
    }
}

/* â€”â€”â€” Lavori (custom jobs) â€”â€”â€” */
.work {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem 3rem;
}

.work__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
}

.work__excel-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-left: auto;
}

.work-tour-target {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem 1rem;
    align-items: end;
    border-radius: 12px;
    transition: box-shadow 0.2s ease, background 0.2s ease, outline 0.2s ease;
}

.work-tour-target--on {
    background: #eff9ff;
    outline: 2px solid var(--mishirto-cyan, #00aeef);
    outline-offset: 3px;
    box-shadow: 0 0 0 6px rgba(0, 174, 239, 0.12);
    padding: 0.65rem 0.75rem;
    margin: 0.15rem 0;
}

.work-tutorial-overlay {
    z-index: 80;
}

.work-tutorial-panel {
    max-width: 28rem;
    width: min(96vw, 28rem);
}

.work-tutorial__list {
    margin: 0 0 1rem;
    padding-left: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.work-tutorial__list li {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.work-tutorial__list strong {
    font-size: 0.92rem;
    color: #0f172a;
}

.work-tutorial__list span {
    font-size: 0.82rem;
    color: #64748b;
}

.work-tutorial__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.work-tutorial__skip {
    margin: 0;
    font-size: 0.85rem;
    color: #475569;
}

.work-tutorial-coach {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 70;
    width: min(22rem, calc(100vw - 1.5rem));
    padding: 0.9rem 1rem 1rem;
    border-radius: 16px;
    background: #0f172a;
    color: #f8fafc;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.35);
    border: 1px solid #334155;
}

.work-tutorial-coach__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}

.work-tutorial-coach__step {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #7dd3fc;
}

.work-tutorial-coach__x {
    border: none;
    background: transparent;
    color: #cbd5e1;
    font-size: 1.1rem;
    cursor: pointer;
    line-height: 1;
    padding: 0.15rem;
}

.work-tutorial-coach h3 {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
    font-weight: 800;
}

.work-tutorial-coach p {
    margin: 0 0 0.85rem;
    font-size: 0.88rem;
    line-height: 1.4;
    color: #cbd5e1;
}

.work-tutorial-coach__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.work-tutorial-coach__nav .pack__btn {
    flex: 1 1 auto;
}

@media (max-width: 640px) {
    .work-tour-target {
        grid-template-columns: 1fr;
    }

    .work-tutorial-coach {
        left: 0.75rem;
        right: 0.75rem;
        width: auto;
        bottom: 0.75rem;
    }
}

.work-solleciti__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 0.85rem;
}

.work-bulk {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin: -0.35rem 0 0.9rem;
    padding: 0.4rem 0.1rem 0.55rem;
    position: sticky;
    top: 2.7rem;
    z-index: 4;
    background: #f7fafc;
}

.work-bulk--on {
    padding: 0.55rem 0.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.work-bulk__del {
    background: #b91c1c !important;
    border-color: #991b1b !important;
    color: #fff !important;
}

.work-pick {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.85rem;
    height: 1.85rem;
    margin: 0;
    cursor: pointer;
}

.work-pick input {
    width: 1.15rem;
    height: 1.15rem;
    margin: 0;
    accent-color: #0f172a;
    cursor: pointer;
}

.work-board-card--sel {
    border-color: #0f172a;
    background: #f8fafc;
    box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.14);
}

.work-row--sel td {
    background: #f1f5f9;
}

.work-focus__title-main {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}

.work-solleciti__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.work-solleciti__row--nophone {
    opacity: 0.72;
}

.work__tabs {
    display: flex;
    gap: 0.4rem;
    flex-wrap: nowrap;
    margin: 0.75rem 0 1rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.15rem;
    position: sticky;
    top: 0;
    z-index: 5;
    background: #f7fafc;
    padding-top: 0.35rem;
}

.work__tab {
    border: 2px solid #111;
    background: #fff;
    border-radius: 999px;
    padding: 0.55rem 0.9rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    white-space: nowrap;
    flex: 1 1 0;
    justify-content: center;
    min-height: 2.75rem;
}

.work__tab span {
    background: #111;
    color: #fff;
    border-radius: 999px;
    font-size: 0.75rem;
    padding: 0.1rem 0.45rem;
    min-width: 1.4rem;
    text-align: center;
}

.work__tab--on {
    background: var(--mishirto-cyan);
    border-color: var(--mishirto-cyan);
    color: #fff;
}

.work__tab--on span {
    background: #fff;
    color: #111;
}

.work__btn-new {
    background: var(--mishirto-cyan) !important;
    border-color: var(--mishirto-cyan) !important;
    color: #fff !important;
    white-space: nowrap;
}

.work__back {
    margin-right: 0.35rem;
}

.work__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.85rem 1rem;
    align-items: start;
}

.work__field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-weight: 700;
    font-size: 0.85rem;
}

.work__field--full { grid-column: 1 / -1; }

.work__opt {
    font-weight: 500;
    color: var(--mishirto-muted, #666);
}

.work__check {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 700;
    margin-top: 0.35rem;
}

.work__areas {
    grid-column: 1 / -1;
    border: 2px solid #111;
    border-radius: 12px;
    padding: 0.75rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.work__areas legend {
    font-weight: 900;
    padding: 0 0.35rem;
}

.work__job-kind {
    grid-column: 1 / -1;
    border: 1.5px solid var(--mishirto-line);
    border-radius: 12px;
    padding: 0.75rem 0.85rem 0.9rem;
    margin: 0 0 0.35rem;
    background: #fff;
}

.work__job-kind legend {
    font-weight: 900;
    padding: 0 0.35rem;
}

.work__job-kind-opts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
}

.work__job-kind-opt {
    display: grid;
    gap: 0.15rem;
    padding: 0.7rem 0.8rem;
    border: 1.5px solid var(--mishirto-line);
    border-radius: 10px;
    cursor: pointer;
    background: #fafcfd;
}

.work__job-kind-opt.is-on {
    border-color: var(--mishirto-cyan);
    background: var(--mishirto-cyan-soft);
}

.work__job-kind-opt input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.work__job-kind-opt strong {
    font-size: 1rem;
}

.work__job-kind-opt span {
    font-size: 0.82rem;
    color: var(--mishirto-muted);
    line-height: 1.3;
}

.work__tech {
    grid-column: 1 / -1;
    border: 1.5px solid #fde68a;
    border-radius: 12px;
    padding: 0.75rem 0.85rem;
    background: #fffbeb;
}

.work__tech legend {
    font-weight: 900;
    padding: 0 0.35rem;
}

.work__tech-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem 1.25rem;
}

.work__impianto {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.55rem;
    margin-top: 0.65rem;
}

@media (max-width: 900px) {
    .work__impianto {
        grid-template-columns: 1fr;
    }

    .work__job-kind-opts {
        grid-template-columns: 1fr;
    }
}

.work__impianto-hint {
    grid-column: 1 / -1;
    margin: 0;
    font-size: 0.9rem;
    color: #92400e;
    background: #fef3c7;
    border-radius: 8px;
    padding: 0.45rem 0.65rem;
}

.work__side-files {
    display: grid;
    gap: 0.4rem;
    margin-top: 0.35rem;
}

.work__side-files-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.25rem;
}

.work__side-files-list li {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.85rem;
}

.work__side-files-hint {
    margin: 0.2rem 0 0;
    font-size: 0.8rem;
    color: var(--mishirto-muted);
}

.work__files-hint {
    margin: 0.75rem 0 0;
    padding: 0.65rem 0.85rem;
    border-radius: 10px;
    background: #f1f5f9;
    color: var(--mishirto-muted);
    font-size: 0.9rem;
}

.work-files__upload--prev {
    border-color: #00aeef;
    background: #e8f8fe;
}

.work-files__upload--side {
    padding: 0.45rem 0.55rem;
    font-size: 0.8rem;
}

.work-files__side {
    font-style: normal;
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--mishirto-cyan);
    text-transform: uppercase;
}

.work__dtf-block {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.75rem 0.85rem;
    border: 1.5px solid #c4b5fd;
    border-radius: 12px;
    background: #f5f3ff;
}

.work__dtf-service-hint {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.35;
    color: #5b21b6;
    background: #ede9fe;
    border-radius: 8px;
    padding: 0.45rem 0.6rem;
}

.work-dtf-kind {
    margin: 0.35rem 0 0;
    display: inline-flex;
    align-items: center;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    color: #5b21b6;
    background: #ede9fe;
    border-radius: 999px;
    padding: 0.22rem 0.7rem;
}

.work-dtf-kind--service {
    color: #075985;
    background: #e0f2fe;
}

.work-dtf-kind--compact {
    margin: 0.25rem 0;
    font-size: 0.75rem;
    padding: 0.15rem 0.55rem;
}

.work__dtf-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    gap: 0.55rem 0.75rem;
    align-items: end;
}

.work__dtf-totale {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    justify-content: flex-end;
    min-height: 3.6rem;
}

.work__dtf-totale span:first-child {
    font-size: 0.78rem;
    font-weight: 700;
    color: #475569;
}

.work__dtf-totale strong {
    font-size: 1.15rem;
    color: #5b21b6;
}

.work__area-row {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px dashed #ddd;
}

.work__area-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.work__area-text {
    width: 100%;
    min-height: 3.2rem;
    resize: vertical;
    font-weight: 600;
}

.work-card__areas {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.work-card__areas li {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    font-size: 0.88rem;
    background: #f5f7f9;
    border-radius: 8px;
    padding: 0.4rem 0.55rem;
}

.work-card__areas strong {
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--mishirto-cyan, #00aeef);
}

.work-card__areas--compact {
    margin: 0 0 0.65rem;
}

.work-card__areas--compact li {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.35rem 0.55rem;
    align-items: baseline;
}

.work__areas-cell {
    min-width: 14rem;
}

.work__list-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.work__list-head h2 { margin: 0; }

.work__empty {
    color: var(--mishirto-muted, #666);
    font-weight: 600;
}

.work__cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 0.75rem;
}

.work-card {
    border: 2px solid #111;
    border-radius: 14px;
    padding: 0.9rem;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.work-card__top {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    align-items: flex-start;
}

.work-card__client {
    font-weight: 900;
    font-size: 1.05rem;
}

.work-card__meta {
    font-size: 0.85rem;
    font-weight: 600;
    color: #444;
    margin-top: 0.15rem;
}

.work-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.02em;
    background: #f3f4f6;
    border-radius: 999px;
    padding: 0.25rem 0.55rem;
    white-space: nowrap;
}

.work-card__badge::before {
    content: "";
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: var(--dot, #94a3b8);
}

.work-card__note {
    margin: 0;
    font-size: 0.88rem;
    color: #555;
}

.work-card__neutri,
.work-board-card__neutri,
.work-focus__neutri,
.home-job__neutri {
    margin: 0.25rem 0 0;
    font-size: 0.82rem;
    font-weight: 600;
    color: #0f766e;
    line-height: 1.3;
}

.work-status__actions {
    margin-top: 0.65rem;
}

.work-label-modal {
    max-width: 420px;
}

.work-label-modal__hint {
    font-size: 0.88rem;
    font-weight: 600;
    color: #555;
    margin: 0 0 0.75rem;
}

.work-label-modal__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.work-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.25rem;
}

.work-card__actions .pack__btn,
.work-card__actions .work__btn-del {
    min-height: 2.5rem;
    flex: 1 1 auto;
}

.work__btn-del {
    border: none;
    background: transparent;
    color: #b91c1c;
    font-weight: 800;
    cursor: pointer;
}

.work__btn-x {
    flex: 0 0 auto;
    width: 1.85rem;
    height: 1.85rem;
    margin: 0;
    padding: 0;
    border: 1px solid #fecaca;
    border-radius: 8px;
    background: #fef2f2;
    color: #b91c1c;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
}

.work__btn-x:hover:not(:disabled) {
    background: #fee2e2;
    border-color: #f87171;
}

.work__btn-x:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.work-card__top-end {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
}

.work-focus__title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.work-board-card__top {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.4rem;
}

.work-board-card__title {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
    flex: 1;
}

.work-board-filters {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.4rem;
    margin: 0 0 1rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.25rem;
}

.work-board-filter {
    border: 1.5px solid #cbd5e1;
    background: #fff;
    border-radius: 999px;
    padding: 0.35rem 0.7rem;
    font-size: 0.8rem;
    font-weight: 700;
    color: #334155;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    line-height: 1.2;
}

.work-board-filter__dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: var(--col, #94a3b8);
    flex-shrink: 0;
}

.work-board-filter__n {
    min-width: 1.25rem;
    padding: 0.05rem 0.35rem;
    border-radius: 999px;
    background: #e2e8f0;
    color: #0f172a;
    font-size: 0.72rem;
    font-weight: 800;
    text-align: center;
}

.work-board-filter--on {
    border-color: #111;
    background: #111;
    color: #fff;
}

.work-board-filter--on .work-board-filter__n {
    background: #fff;
    color: #111;
}

.work-board-filters--status {
    margin-top: -0.45rem;
}

.work-board-filter--sm {
    font-size: 0.75rem;
    padding: 0.28rem 0.55rem;
}

.work-board-filter--prio {
    border-color: #fdba74;
}

.work-board__hint {
    margin: 0 0 0.65rem;
    font-size: 0.88rem;
}

.work-focus__toolbar,
.work-focus__more {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.work-focus__more {
    margin-top: 0.15rem;
    padding-top: 0.55rem;
    border-top: 1px dashed #cbd5e1;
}

.work-list-group {
    margin: 0 0 1.15rem;
}

.work-list-group h3 {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.45rem;
    font-size: 0.95rem;
    font-weight: 800;
}

.work-list-group h3 span {
    background: #0f172a;
    color: #fff;
    border-radius: 999px;
    font-size: 0.72rem;
    padding: 0.1rem 0.45rem;
}

.work-list-group__acts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    white-space: nowrap;
}

.work__table--compact td,
.work__table--compact th {
    padding: 0.45rem 0.55rem;
    font-size: 0.85rem;
    vertical-align: middle;
}

.work-board {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 0.5rem;
    align-items: stretch;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
}

.work-board--lanes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    overflow: visible;
    scroll-snap-type: none;
    align-items: start;
}

.work-board__lane {
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 14px;
    padding: 0.7rem 0.7rem 0.85rem;
    min-width: 0;
}

.work-board__lane--priority {
    background: linear-gradient(180deg, #fff7ed 0%, #fff 50%);
    border-color: #fdba74;
}

.work-board__lane-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
    margin: 0 0 0.65rem;
}

.work-board__lane-head h3 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    flex: 1;
}

.work-board__sub {
    margin: 0 0 0.75rem;
}

.work-board__sub:last-child {
    margin-bottom: 0;
}

.work-board__sub h4 {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0 0.4rem;
    font-size: 0.78rem;
    font-weight: 800;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.work-board__sub h4 i {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--col, #94a3b8);
    flex: 0 0 auto;
}

.work-board__sub h4 em {
    font-style: normal;
    margin-left: auto;
    background: #e2e8f0;
    border-radius: 999px;
    padding: 0.05rem 0.4rem;
    font-size: 0.7rem;
    color: #0f172a;
}

.work-board-card--slim {
    cursor: pointer;
    padding: 0.65rem 0.7rem 0.7rem;
}

.work-board-card--slim:hover {
    border-color: #94a3b8;
}

.work-board-card__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem;
    margin: 0.4rem 0 0;
}

.work-chip {
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.2;
    padding: 0.18rem 0.4rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #334155;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.work-chip--ok { background: #ecfdf5; color: #166534; }
.work-chip--reply { background: #ecfeff; color: #0f766e; }
.work-chip--date { background: #fff7ed; color: #9a3412; }

.work-board__col {
    flex: 0 0 min(82vw, 280px);
    width: min(82vw, 280px);
    min-width: min(82vw, 280px);
    max-width: min(82vw, 280px);
    box-sizing: border-box;
    background: #f8fafc;
    border: 2px solid #e2e8f0;
    border-top: 4px solid var(--col, #94a3b8);
    border-radius: 14px;
    padding: 0.65rem;
    min-height: 12rem;
    position: relative;
    z-index: 0;
    scroll-snap-align: start;
}

.work-board__col--priority {
    flex-basis: min(88vw, 300px);
    width: min(88vw, 300px);
    min-width: min(88vw, 300px);
    max-width: min(88vw, 300px);
    background: linear-gradient(180deg, #fff7ed 0%, #fff 55%);
    border-color: #f59e0b;
    border-top-width: 6px;
    box-shadow: 0 8px 24px rgba(245, 158, 11, 0.18);
}

.work-board--filtered .work-board__col,
.work-board--filtered .work-board__col--priority {
    flex: 1 1 auto;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
}

.work-board__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    margin-bottom: 0.65rem;
}

.work-board__head h3 {
    margin: 0;
    flex: 1;
    font-size: 0.92rem;
    line-height: 1.2;
}

.work-board__prio {
    width: 100%;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #b45309;
}

.work-board__count {
    min-width: 1.6rem;
    height: 1.6rem;
    border-radius: 999px;
    background: #111;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.35rem;
}

.work-board__col--priority .work-board__count {
    background: #b45309;
}

.work-board__empty {
    margin: 0;
    color: #94a3b8;
    font-size: 0.82rem;
    padding: 0.5rem 0.25rem;
}

.work-board__cards {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.work-board-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.65rem 0.7rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.work-board__col--priority .work-board-card {
    border-color: #fdba74;
}

.work-board-card--hi {
    outline: 2px solid var(--mishirto-cyan);
}

.work-board-card__top strong,
.work-board-card__title strong {
    font-size: 0.98rem;
}

.work-board-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.55rem;
    font-size: 0.8rem;
    color: #475569;
    font-weight: 600;
}

.work-board-card__qty {
    background: #111;
    color: #fff;
    border-radius: 6px;
    padding: 0.1rem 0.4rem;
    font-size: 0.75rem;
}

.work-board-card__note {
    margin: 0;
    font-size: 0.8rem;
    color: #334155;
    background: #f1f5f9;
    border-radius: 8px;
    padding: 0.35rem 0.45rem;
}

.work-board-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.work-board-card__actions .pack__btn {
    font-size: 0.72rem;
    padding: 0.45rem 0.55rem;
    min-height: 2.5rem;
    line-height: 1.15;
    flex: 1 1 auto;
}

.work-board-card__track {
    gap: 0.3rem;
    padding-top: 0.35rem;
    flex-wrap: wrap;
}

.work-board-card__track .work-dot {
    min-width: 4.2rem;
    max-width: 5.2rem;
    padding: 0.25rem 0.15rem;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.work-board-card__track .work-dot span {
    display: block;
    font-size: 0.58rem;
    font-weight: 800;
    color: #64748b;
    line-height: 1.15;
}

.work-board-card__track .work-dot i {
    width: 0.7rem;
    height: 0.7rem;
}

.work-board-card__track .work-dot--on {
    background: #fff;
    border-color: color-mix(in srgb, var(--c, #00aeef) 45%, #e2e8f0);
}

.work-board-card__track .work-dot--on span {
    color: #0f172a;
}

.work-board-card__track .work-dot--now {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--c, #00aeef) 35%, transparent);
    border-color: var(--c, #00aeef);
}

@media (max-width: 1100px) {
    .work-board--lanes {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .work-board__col,
    .work-board__col--priority {
        flex-basis: min(85vw, 280px);
        width: min(85vw, 280px);
        min-width: min(85vw, 280px);
        max-width: min(85vw, 280px);
    }

    .work-board--filtered .work-board__col,
    .work-board--filtered .work-board__col--priority {
        width: 100%;
        min-width: 100%;
        max-width: 100%;
    }

    .work-board--lanes {
        grid-template-columns: 1fr;
    }
}

.work__status-list {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.work-status {
    border: 2px solid #111;
    border-radius: 14px;
    padding: 0.85rem 1rem;
    background: #fff;
}

.work-status--hi {
    border-color: var(--mishirto-cyan);
    box-shadow: 0 0 0 3px rgba(0, 174, 239, 0.2);
}

.work-focus {
    border: 2px solid var(--mishirto-cyan);
    border-radius: 16px;
    padding: 1rem 1.1rem 1.15rem;
    background: linear-gradient(180deg, #e8f7fd 0%, #fff 42%);
    margin-bottom: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.work-focus__head {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.75rem;
}

.work-focus__eyebrow {
    margin: 0 0 0.2rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mishirto-cyan);
}

.work-focus h3 {
    margin: 0;
    font-size: 1.45rem;
    line-height: 1.15;
}

.work-focus__product {
    margin: 0.35rem 0 0;
    font-weight: 600;
    color: #334155;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.work-focus__neutri {
    font-size: 0.95rem;
}

.work-open-code {
    margin-bottom: 0.5rem;
    padding: 0.75rem 0.85rem;
}

.work-open-code__row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.55rem;
}

.work-open-code__row .work__field {
    flex: 1;
    min-width: 7rem;
    margin: 0;
}

.work-open-code__input {
    font-size: 1.25rem !important;
    font-weight: 800;
    letter-spacing: 0.18em;
    max-width: 8.5rem;
}

@media (min-width: 900px) {
    .work-board__col {
        flex-basis: 250px;
        width: 250px;
        min-width: 250px;
        max-width: 250px;
    }

    .work-board__col--priority {
        flex-basis: 270px;
        width: 270px;
        min-width: 270px;
        max-width: 270px;
    }

    .work-board--filtered .work-board__col,
    .work-board--filtered .work-board__col--priority {
        flex: 1 1 auto;
        width: min(100%, 420px);
        min-width: min(100%, 280px);
        max-width: 480px;
    }

    .work-mock {
        display: block;
    }

    .work-focus__codes {
        display: flex;
        width: auto;
    }

    .work-focus__head {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
    }

    .work__tab {
        flex: 0 1 auto;
    }
}

@media (max-width: 700px) {
    .work__header .pack__brand {
        height: 2rem;
    }

    .work__header h1 {
        font-size: 1.45rem;
    }

    .work-open-code__row .pack__btn {
        flex: 1 1 auto;
        min-height: 2.75rem;
    }

    .work-board-filter {
        flex-shrink: 0;
    }

    .work__table {
        font-size: 0.82rem;
    }
}

.work-edit-code {
    font-size: 0.95rem;
    font-weight: 700;
    margin-right: auto;
}

.work-edit-code strong {
    font-size: 1.25rem;
    letter-spacing: 0.08em;
    color: var(--mishirto-cyan);
}

.work-card__code {
    font-size: 0.95rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    color: var(--mishirto-cyan);
    margin-bottom: 0.15rem;
}

.work-focus__codes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    width: 100%;
}

.work-focus__code {
    min-width: 5.2rem;
    text-align: center;
    background: var(--mishirto-cyan);
    color: #fff;
    border-radius: 14px;
    padding: 0.65rem 0.75rem;
    line-height: 1.05;
}

.work-focus__code strong {
    display: block;
    font-size: 1.85rem;
    letter-spacing: 0.06em;
}

.work-focus__code span {
    font-size: 0.78rem;
    font-weight: 700;
    opacity: 0.9;
}

.work-focus__total {
    min-width: 5.8rem;
    text-align: center;
    background: #0f766e;
    color: #fff;
    border-radius: 14px;
    padding: 0.65rem 0.75rem;
    line-height: 1.05;
}

.work-focus__unit {
    min-width: 5.2rem;
    text-align: center;
    background: #334155;
    color: #fff;
    border-radius: 14px;
    padding: 0.65rem 0.75rem;
    line-height: 1.05;
}

.work-focus__unit strong {
    display: block;
    font-size: 1.05rem;
}

.work-focus__unit span {
    font-size: 0.78rem;
    font-weight: 700;
    opacity: 0.9;
}

.work__totale-hint {
    grid-column: 1 / -1;
    margin: 0;
    font-size: 0.95rem;
    font-weight: 650;
}

.work__totale-hint span {
    color: var(--mishirto-muted);
    font-weight: 500;
    margin-left: 0.35rem;
}

.work__totale-cell {
    font-weight: 800;
    color: #0f766e;
    white-space: nowrap;
}

.work-board-card__unit {
    background: #334155;
    color: #fff;
    border-radius: 6px;
    padding: 0.1rem 0.4rem;
    font-size: 0.72rem;
    font-weight: 700;
}

.work-focus__total strong {
    display: block;
    font-size: 1.15rem;
    letter-spacing: 0.02em;
}

.work-focus__total span {
    font-size: 0.78rem;
    font-weight: 700;
    opacity: 0.9;
}

.work-card__total {
    color: #0f766e;
    font-weight: 800;
}

.work-board-card__total {
    background: #0f766e;
    color: #fff;
    border-radius: 6px;
    padding: 0.1rem 0.4rem;
    font-size: 0.75rem;
    font-weight: 800;
}

.work-focus__qty {
    min-width: 5.2rem;
    text-align: center;
    background: #111;
    color: #fff;
    border-radius: 14px;
    padding: 0.65rem 0.75rem;
    line-height: 1.05;
}

.work-focus__qty strong {
    display: block;
    font-size: 1.85rem;
}

.work-focus__qty span {
    font-size: 0.78rem;
    font-weight: 700;
    opacity: 0.85;
}

.work-focus__notes {
    background: #fff;
    border: 1px solid #cce8f5;
    border-radius: 12px;
    padding: 0.7rem 0.85rem;
}

.work-focus__notes strong {
    display: block;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    margin-bottom: 0.25rem;
}

.work-focus__notes p {
    margin: 0;
    font-size: 1.02rem;
    font-weight: 650;
    white-space: pre-wrap;
}

.work-focus__notes--empty p {
    font-weight: 500;
    color: #94a3b8;
}

.work-focus__templates h4 {
    margin: 0 0 0.45rem;
    font-size: 0.95rem;
}

.work-focus__gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.65rem;
}

.work-focus__gallery img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid #cce8f5;
    background: #fff;
}

.work-focus__track {
    padding-top: 0.25rem;
}

.work-status__info {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.85rem;
    margin-bottom: 0.75rem;
    font-size: 0.9rem;
    font-weight: 600;
}

.work-status__info strong {
    font-size: 1.05rem;
}

.work-status__track {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.work-dot {
    border: none;
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    min-width: 4.6rem;
    padding: 0.25rem 0.2rem;
    cursor: pointer;
}

.work-dot i {
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: #e5e7eb;
    border: 2px solid #cbd5e1;
    display: block;
}

.work-dot span {
    font-size: 0.7rem;
    font-weight: 800;
    color: #94a3b8;
    text-align: center;
    line-height: 1.15;
}

.work-dot--on i {
    background: var(--c, var(--mishirto-cyan));
    border-color: var(--c, var(--mishirto-cyan));
}

.work-dot--on span {
    color: #111;
}

.work-dot--now i {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--c, var(--mishirto-cyan)) 35%, transparent);
    transform: scale(1.15);
}

.work__totals {
    font-weight: 700;
}

.work__price {
    max-width: 7rem;
}

.work__editor {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

.work__form-actions {
    grid-column: 1 / -1;
}

.work-mock {
    display: none;
    background: #f4fafd;
    border: 1px solid #cce8f5;
    border-radius: 12px;
    padding: 0.9rem 1rem 1rem;
}

.work-mock h3 {
    margin: 0 0 0.25rem;
    font-size: 1rem;
}

.work-mock__service {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 1rem;
    border-radius: 12px;
    background: #e0f2fe;
    color: #075985;
    font-weight: 800;
}

.work-mock__service strong {
    font-size: 1.4rem;
}

.work-mock__lead {
    margin: 0 0 0.75rem;
    font-size: 0.82rem;
    color: var(--mishirto-muted);
}

.work-mock__views {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.work-mock__label {
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.35rem;
    color: #64748b;
}

.work-mock__shirt {
    display: flex;
    align-items: stretch;
    min-height: 9rem;
    opacity: 0.55;
}

.work-mock__shirt--on {
    opacity: 1;
}

.work-mock__sleeve {
    width: 18%;
    background: #dbe4ea;
    border: 1px solid #94a3b8;
    border-radius: 6px 0 0 6px;
}

.work-mock__sleeve--r {
    border-radius: 0 6px 6px 0;
}

.work-mock__sleeve--on {
    background: color-mix(in srgb, var(--mishirto-cyan) 35%, #fff);
    border-color: var(--mishirto-cyan);
}

.work-mock__body {
    flex: 1;
    background: #e8eef2;
    border: 1px solid #94a3b8;
    border-left: 0;
    border-right: 0;
    display: flex;
    padding: 0.4rem;
}

.work-mock__zone {
    flex: 1;
    background: #fff;
    border: 1px dashed #cbd5e1;
    border-radius: 6px;
    padding: 0.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.72rem;
    overflow: hidden;
}

.work-mock__zone--on {
    border-style: solid;
    border-color: var(--mishirto-cyan);
    background: #e8f7fd;
}

.work-mock__zone strong {
    font-size: 0.75rem;
}

.work-mock__zone span {
    color: #334155;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.work-mock__off {
    color: #94a3b8;
    margin: auto;
}

.work-mock__sleeve-note,
.work-mock__altro,
.work-mock__meta {
    margin: 0.55rem 0 0;
    font-size: 0.78rem;
    color: #475569;
}

.work-mock__meta {
    font-weight: 700;
    color: #0f172a;
}

.work-files {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid #e2e8f0;
}

.work-files h3 {
    margin: 0 0 0.35rem;
}

.work-files__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin: 0.75rem 0;
}

.work-files__upload {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-weight: 700;
    font-size: 0.88rem;
    background: #fff;
    border: 1px dashed #94a3b8;
    border-radius: 10px;
    padding: 0.75rem;
}

.work-files__sub {
    margin: 0.85rem 0 0.45rem;
    font-size: 0.92rem;
}

.work-files__templates {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.75rem;
}

.work-files__tpl {
    margin: 0;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}

.work-files__tpl.is-chosen {
    border-color: #16a34a;
    box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.25);
}

.work-files__tpl img {
    display: block;
    width: 100%;
    height: 120px;
    object-fit: cover;
    background: #f1f5f9;
}

.work-files__tpl figcaption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    padding: 0.4rem 0.5rem;
    font-size: 0.75rem;
}

.work-files__tpl figcaption span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.work-files__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.work-files__list li {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.45rem 0.6rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.85rem;
}

.work-files__list li a {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.work-files__list li span {
    color: var(--mishirto-muted);
    font-size: 0.78rem;
}

.work-files__link {
    display: block;
    padding: 2rem 0.5rem;
    text-align: center;
}

.work-card--editing {
    border-color: var(--mishirto-cyan);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--mishirto-cyan) 25%, transparent);
}

.work-card__files {
    margin: 0.35rem 0 0;
    font-size: 0.8rem;
    color: #475569;
    font-weight: 600;
}

.work-status__tpl {
    display: inline-block;
    margin: 0.5rem 0;
}

.work-status__tpl img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}

@media (max-width: 900px) {
    .work__editor { grid-template-columns: 1fr; }
    .work-files__grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
    .work__form { grid-template-columns: 1fr; }
    .work-status__track { justify-content: flex-start; }
    .work-mock__views { grid-template-columns: 1fr; }
}

/* Login */
.login-shell {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background:
        radial-gradient(ellipse 70% 50% at 80% 0%, rgba(0, 174, 239, 0.18), transparent 55%),
        radial-gradient(ellipse 50% 40% at 10% 100%, rgba(0, 174, 239, 0.08), transparent 50%),
        #f4f8fb;
}

.login-card {
    width: min(100%, 26rem);
    background: #fff;
    border: 2px solid #111;
    border-radius: 18px;
    padding: 1.75rem 1.5rem 1.5rem;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
}

.login-card__logo {
    display: block;
    height: 2.25rem;
    width: auto;
    margin-bottom: 1rem;
}

.login-card__eyebrow {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--mishirto-cyan, #00aeef);
}

.login-card h1 {
    margin: 0.25rem 0 0.35rem;
    font-size: 1.55rem;
    font-weight: 800;
}

.login-card__lead {
    margin: 0 0 1.15rem;
    color: #475569;
    font-size: 0.92rem;
}

.login-card__form {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.login-card__btn {
    width: 100%;
    justify-content: center;
}

.work-arrival {
    margin: 0.15rem 0 0;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: #fff7ed;
    border: 1.5px solid #f59e0b;
    color: #9a3412;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.2;
}

.work-deadline {
    margin: 0.25rem 0 0;
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.25;
    border: 1.5px solid #cbd5e1;
    background: #f8fafc;
    color: #334155;
}

.work-deadline--compact {
    font-size: 0.72rem;
    padding: 0.18rem 0.5rem;
}

.work-deadline--later {
    background: #f1f5f9;
    border-color: #94a3b8;
    color: #334155;
}

.work-deadline--soon7 {
    background: #fffbeb;
    border-color: #fbbf24;
    color: #92400e;
}

.work-deadline--soon3 {
    background: #fff7ed;
    border-color: #fb923c;
    color: #9a3412;
}

.work-deadline--overdue {
    background: #fef2f2;
    border-color: #f87171;
    color: #991b1b;
}

.work-deadline--tax {
    box-shadow: inset 0 0 0 1.5px #dc2626;
}

.work__delivery-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    align-items: flex-end;
    grid-column: 1 / -1;
}

.work__check--delivery {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 700;
    font-size: 0.9rem;
    padding-bottom: 0.55rem;
    cursor: pointer;
}

.work__delivery-hint {
    margin: -0.25rem 0 0.5rem;
    font-size: 0.82rem;
    color: #64748b;
    font-weight: 600;
    grid-column: 1 / -1;
}

.work__delivery-hint--tax {
    color: #b91c1c;
}

.home-deadlines {
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
    border-radius: 14px;
    background: #fff7ed;
    border: 1.5px solid #fdba74;
}

.home-deadlines__head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.55rem;
}

.home-deadlines__head h3 {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 900;
    color: #9a3412;
}

.home-deadlines__n {
    margin-left: auto;
    font-size: 0.75rem;
    font-weight: 900;
    background: #9a3412;
    color: #fff;
    border-radius: 999px;
    padding: 0.15rem 0.5rem;
}

.home-deadlines__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.65rem;
}

.home-deadlines__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
    border: 1.5px solid transparent;
}

.home-deadlines__chip--overdue {
    background: #fef2f2;
    border-color: #f87171;
    color: #991b1b;
}

.home-deadlines__chip--soon3 {
    background: #fff7ed;
    border-color: #fb923c;
    color: #9a3412;
}

.home-deadlines__chip--soon7 {
    background: #fffbeb;
    border-color: #fbbf24;
    color: #92400e;
}

.home-deadlines__list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.home-deadline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.65rem;
    width: 100%;
    text-align: left;
    padding: 0.55rem 0.7rem;
    border-radius: 10px;
    border: 1.5px solid #fed7aa;
    background: #fff;
    cursor: pointer;
    font: inherit;
}

.home-deadline:hover {
    border-color: #fb923c;
}

.home-deadline--overdue {
    border-color: #fca5a5;
    background: #fef2f2;
}

.home-deadline--soon3 {
    border-color: #fdba74;
    background: #fff7ed;
}

.home-deadline--soon7 {
    border-color: #fcd34d;
    background: #fffbeb;
}

.home-deadline__code {
    font-weight: 900;
    color: #00aeef;
    font-variant-numeric: tabular-nums;
}

.home-deadline__client {
    font-weight: 800;
    color: #111;
}

.home-deadline__when {
    font-size: 0.78rem;
    font-weight: 700;
    color: #9a3412;
}

.home-deadline__tax {
    margin-left: auto;
    font-size: 0.65rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    color: #fff;
    background: #dc2626;
    border-radius: 999px;
    padding: 0.15rem 0.45rem;
}

.home-job__deadline {
    margin: 0.3rem 0 0;
    font-size: 0.75rem;
    font-weight: 800;
}

.home-job__deadline.home-deadline--overdue { color: #991b1b; }
.home-job__deadline.home-deadline--soon3 { color: #9a3412; }
.home-job__deadline.home-deadline--soon7 { color: #92400e; }

.work-ship {
    margin-top: 0.65rem;
    padding: 0.7rem 0.8rem;
    border-radius: 12px;
    background: #f0f9ff;
    border: 1.5px solid #7dd3fc;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: flex-start;
    justify-content: space-between;
}

.work-ship--empty {
    background: #f8fafc;
    border-color: #cbd5e1;
}

.work-ship__main {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex: 1;
}

.work-ship__carrier {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0369a1;
}

.work-ship__status {
    font-size: 1rem;
    font-weight: 900;
    color: #0c4a6e;
    line-height: 1.2;
}

.work-ship__code {
    font-size: 0.82rem;
    color: #334155;
    background: rgba(255,255,255,0.7);
    padding: 0.1rem 0.35rem;
    border-radius: 6px;
    width: fit-content;
}

.work-ship__detail,
.work-ship__when {
    font-size: 0.78rem;
    color: #64748b;
    font-weight: 600;
}

.work-ship__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.work-ship-badge {
    margin: 0.25rem 0 0;
    display: inline-flex;
    max-width: 100%;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: #e0f2fe;
    border: 1.5px solid #38bdf8;
    color: #075985;
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.work-origin-modal .grouping__lead {
    margin-bottom: 0.75rem;
}

.work-advance {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 0.65rem;
    align-items: center;
    margin: 0.5rem 0 1rem;
}

.work-advance__from,
.work-advance__to {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.75rem 0.85rem;
    border-radius: 12px;
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
}

.work-advance__from span,
.work-advance__to span {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.work-advance__from strong,
.work-advance__to strong {
    font-size: 1.05rem;
    font-weight: 900;
    color: #111;
    line-height: 1.2;
}

.work-advance__to {
    background: color-mix(in srgb, var(--c, #00aeef) 14%, #fff);
    border-color: color-mix(in srgb, var(--c, #00aeef) 55%, #fff);
}

.work-advance__to strong {
    color: #0f172a;
}

.work-advance__arrow {
    font-size: 1.4rem;
    font-weight: 900;
    color: #00aeef;
}

.work-origin__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.85rem;
}

.work-origin__chip {
    border: 1.5px solid #cbd5e1;
    background: #fff;
    border-radius: 999px;
    padding: 0.4rem 0.75rem;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    min-height: 2.4rem;
}

.work-origin__chip--on {
    border-color: #f59e0b;
    background: #fff7ed;
    color: #9a3412;
}

.work-notify-modal .work__field {
    margin-bottom: 0.65rem;
}

.work-notify__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.75rem;
}

.work-notify__hint {
    margin: 0.75rem 0 0;
    font-size: 0.8rem;
    color: #64748b;
    line-height: 1.35;
}

.work-mockup-wa {
    margin-top: 0.85rem;
    padding: 0.85rem 1rem;
    background: #f0fdf4;
    border: 1px solid #86efac;
    border-radius: 12px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
}

.work-mockup-wa p {
    margin: 0;
    flex: 1 1 14rem;
    font-size: 0.9rem;
    line-height: 1.4;
    color: #14532d;
}

.work-mockup-wa__btn {
    margin-top: 0.65rem;
}

.work-mockup-modal {
    max-width: 640px;
}

.work-mockup-pick {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 0.6rem;
    margin: 0.35rem 0 0.75rem;
}

.work-mockup-pick__item {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin: 0;
    padding: 0.35rem;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    font-size: 0.72rem;
}

.work-mockup-pick__item.is-on {
    border-color: #16a34a;
    background: #f0fdf4;
}

.work-mockup-pick__item input {
    margin: 0;
}

.work-mockup-pick__item img {
    width: 100%;
    height: 90px;
    object-fit: cover;
    border-radius: 6px;
    background: #f1f5f9;
}

.work-mockup-pick__item span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.work-mockup-upload {
    margin-bottom: 0.75rem;
}

/* â€”â€” Preventivi â€”â€” */
.quote {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    max-width: 920px;
    margin: 0 auto;
    padding: 0 0.75rem 2rem;
}

.quote__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.quote__panel h2 {
    margin: 0 0 0.75rem;
    font-size: 1.05rem;
}

.quote__section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}

.quote__section-head h2 { margin: 0; }

.quote__client-search {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: flex-end;
}

.quote__field-grow { flex: 1 1 14rem; }
.quote__field-full { width: 100%; }

.quote__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
    gap: 0.55rem;
}

.quote__suggest {
    list-style: none;
    margin: 0.5rem 0 0;
    padding: 0;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.quote__suggest li + li {
    border-top: 1px solid #f1f5f9;
}

.quote__suggest-btn {
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: 0.65rem 0.8rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.quote__suggest-btn:hover { background: #f0f9ff; }
.quote__suggest-btn span {
    font-size: 0.8rem;
    color: #64748b;
}

.quote__selected-client {
    margin-top: 0.65rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.65rem 0.8rem;
    border-radius: 10px;
    background: #f0f9ff;
    border: 1.5px solid #bae6fd;
}

.quote__new-customer {
    margin-top: 0.75rem;
    padding: 0.85rem;
    border-radius: 10px;
    background: #f8fafc;
    border: 1.5px dashed #cbd5e1;
}

.quote__new-customer h3 {
    margin: 0 0 0.65rem;
    font-size: 0.95rem;
}

.quote__list {
    display: grid;
    gap: 0.65rem;
}

.quote-card {
    background: #fff;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.85rem 1rem;
}

.quote-card__top {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}

.quote-card__code {
    font-weight: 800;
    color: #00aeef;
    letter-spacing: 0.04em;
}

.quote-card__status {
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
}

.quote-card__client {
    display: block;
    font-size: 1.05rem;
}

.quote-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin: 0.35rem 0 0.65rem;
    font-size: 0.85rem;
    color: #64748b;
}

.quote-card__total {
    font-weight: 800;
    color: #0f172a;
}

.quote-card__actions {
    display: flex;
    gap: 0.4rem;
}

.quote-line {
    margin-top: 0.75rem;
    padding: 0.75rem;
    border-radius: 10px;
    border: 1.5px solid #e2e8f0;
    background: #fff;
}

.quote-line__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.quote__btn-link {
    border: 0;
    background: transparent;
    color: #dc2626;
    font-weight: 700;
    font-size: 0.82rem;
    cursor: pointer;
}

.quote__btn-danger {
    color: #b91c1c;
    border-color: #fecaca;
    background: #fef2f2;
}

.quote__check {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.55rem;
    font-size: 0.88rem;
    font-weight: 650;
    cursor: pointer;
}

.quote__tier {
    font-weight: 600;
    color: #0369a1;
    font-size: 0.8rem;
}

.quote-line__tot {
    margin-top: 0.45rem;
    text-align: right;
    font-weight: 700;
    color: #334155;
}

.quote__grand {
    position: sticky;
    bottom: 0.5rem;
    padding: 0.85rem 1rem;
    border-radius: 12px;
    background: #0ea5e9;
    color: #fff;
    font-size: 1.05rem;
    text-align: center;
    box-shadow: 0 8px 24px rgba(14, 165, 233, 0.35);
}

.quote__grand strong {
    font-size: 1.25rem;
}

.quote-line input[readonly] {
    background: #f1f5f9;
    color: #0f172a;
    font-weight: 700;
    cursor: default;
}


/* Storico articoli */
.history__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: flex-end;
    margin-bottom: 1rem;
}

.history__field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--mishirto-cyan);
}

.history__field input[type="date"] {
    border: 1px solid var(--mishirto-line);
    border-radius: 10px;
    padding: 0.55rem 0.7rem;
    font: inherit;
    min-width: 10rem;
    background: #fff;
}

.history__search {
    margin-bottom: 1rem;
}

.history__chart-panel {
    border-left: 4px solid var(--mishirto-cyan);
}

.history__chart {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.history__bar-row {
    display: grid;
    grid-template-columns: minmax(8rem, 14rem) 1fr minmax(5.5rem, 7rem);
    gap: 0.65rem;
    align-items: center;
}

.history__bar-label {
    font-size: 0.82rem;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: ui-monospace, Consolas, monospace;
}

.history__bar-track {
    height: 1.35rem;
    background: #e8eef3;
    border-radius: 999px;
    overflow: hidden;
}

.history__bar-fill {
    height: 100%;
    background: var(--mishirto-cyan);
    border-radius: 999px;
    min-width: 4px;
}

.history__bar-value {
    text-align: right;
    font-size: 0.78rem;
    color: #64748b;
    line-height: 1.2;
}

.history__bar-value strong {
    display: block;
    color: #0f172a;
    font-size: 0.95rem;
}

.history__article {
    font-weight: 800;
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.95rem;
}

.history__table td:nth-child(3),
.history__table td:nth-child(4),
.history__table td:nth-child(6) {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 700px) {
    .history__bar-row {
        grid-template-columns: 1fr;
        gap: 0.25rem;
        padding-bottom: 0.55rem;
        border-bottom: 1px solid var(--mishirto-line);
    }

    .history__bar-value {
        text-align: left;
    }
}

/* Spesa Camac / spedizione gratuita */
.grouping__panel--spend {
    border-left: 4px solid #f59e0b;
    background: linear-gradient(180deg, #fffbeb 0%, #fff 55%);
}

.grouping__panel--spend.is-free-ship {
    border-left-color: #16a34a;
    background: linear-gradient(180deg, #ecfdf5 0%, #fff 55%);
}

.grouping__spend-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1.25rem;
    margin-bottom: 0.75rem;
}

.grouping__spend-head h2 {
    margin: 0 0 0.25rem;
}

.grouping__spend-total {
    text-align: right;
}

.grouping__spend-total span {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #92400e;
}

.grouping__panel--spend.is-free-ship .grouping__spend-total span {
    color: #166534;
}

.grouping__spend-total strong {
    font-size: 1.55rem;
    font-weight: 900;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.grouping__spend-meter {
    height: 0.85rem;
    background: #fde68a;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 0.55rem;
}

.grouping__panel--spend.is-free-ship .grouping__spend-meter {
    background: #bbf7d0;
}

.grouping__spend-meter-fill {
    height: 100%;
    background: #f59e0b;
    border-radius: 999px;
    min-width: 4px;
    transition: width 0.25s ease;
}

.grouping__panel--spend.is-free-ship .grouping__spend-meter-fill {
    background: #16a34a;
}

.grouping__spend-status {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 700;
    color: #92400e;
}

.grouping__spend-status.is-ok {
    color: #166534;
}

.grouping__cell--euro {
    white-space: nowrap;
    text-align: right;
    min-width: 4.5rem;
}

.grouping__euro-unit {
    display: block;
    font-size: 0.7rem;
    font-weight: 600;
    color: #64748b;
}

.history__search {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.history__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.history__chip {
    border: 1.5px solid #cbd5e1;
    background: #fff;
    border-radius: 999px;
    padding: 0.45rem 0.85rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: #334155;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.history__chip strong {
    background: #e2e8f0;
    border-radius: 999px;
    padding: 0.05rem 0.4rem;
    font-size: 0.75rem;
}

.history__chip.is-on {
    border-color: #111;
    background: #111;
    color: #fff;
}

.history__chip.is-on strong {
    background: #fff;
    color: #111;
}

.history__chip--biz.is-on {
    border-color: #7c3aed;
    background: #7c3aed;
}

.history__biz-badge {
    display: inline-block;
    margin-left: 0.4rem;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: #ede9fe;
    color: #5b21b6;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    vertical-align: middle;
}

.history__biz-stat {
    color: #5b21b6;
}

.history__biz-panel {
    border-left: 4px solid #7c3aed;
}

.history__article {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
}

/* Profitto Amazon */
.profit-stats {
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    margin-bottom: 0.75rem;
}
.profit-stats__ok { color: #15803d; }
.profit-stats__bad { color: #b91c1c; }
.profit-table__name {
    max-width: 14rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.profit-row--neg {
    background: #fef2f2 !important;
    color: #7f1d1d;
}
.profit-row--neg td { color: inherit; }
.profit-row--crit {
    background: #fff7ed !important;
}
.profit-row--noprice td:nth-child(10) { color: #b45309; font-weight: 600; }
.profit-price-missing {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
    font: inherit;
    color: #b45309;
    font-weight: 600;
}
.profit-price-missing:hover { color: #9a3412; }
.profit-price-value {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: none;
    border: none;
    padding: 0.1rem 0.15rem;
    margin: 0;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    color: inherit;
    border-radius: 4px;
}
.profit-price-value:hover {
    color: var(--mishirto-cyan, #00aeef);
    background: #f0fafd;
}
.profit-price-value__edit {
    font-size: 0.75rem;
    opacity: 0.45;
    font-weight: 600;
}
.profit-price-value:hover .profit-price-value__edit {
    opacity: 0.9;
}
.profit-price-edit {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}
.profit-price-edit__input {
    width: 5.5rem;
    min-width: 5.5rem;
    padding: 0.25rem 0.4rem;
    font-size: 0.9rem;
}
.profit-table__toggle {
    width: 2.2rem;
    padding-left: 0.35rem !important;
    padding-right: 0.15rem !important;
}
.profit-expand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 1px solid #c5d0d8;
    border-radius: 0.4rem;
    background: #fff;
    color: #0f172a;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.profit-expand:hover {
    background: #e8f7fd;
    border-color: #00aeef;
}
.profit-expand--open {
    transform: rotate(180deg);
    background: #e8f7fd;
    border-color: #00aeef;
    color: #0077a8;
}
.profit-row--open > td {
    border-bottom-color: transparent !important;
}
.profit-detail-row > td {
    background: #f4fbfe;
    padding: 0.85rem 1rem 1rem !important;
    border-top: none !important;
}
.profit-detail {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}
.profit-detail__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 0.55rem 1.25rem;
}
.profit-detail__item {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    font-size: 0.9rem;
}
.profit-detail__item span {
    color: #64748b;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.profit-detail__item--wide {
    grid-column: 1 / -1;
}
.profit-detail__formula {
    font-size: 0.92rem;
    color: #475569;
    padding: 0.45rem 0.65rem;
    border-left: 3px solid #00aeef;
    background: #fff;
}
.profit-detail__total {
    display: flex;
    align-items: baseline;
    gap: 0.65rem;
    flex-wrap: wrap;
    padding: 0.65rem 0.85rem;
    border-radius: 0.5rem;
    border: 1px solid #c5e8f5;
    background: #fff;
    font-size: 1rem;
}
.profit-detail__total span {
    color: #475569;
    font-weight: 600;
}
.profit-detail__total strong {
    font-size: 1.2rem;
}
.profit-detail__total em {
    color: #64748b;
    font-style: normal;
    font-size: 0.9rem;
}
.profit-detail__total--ok {
    border-color: #86efac;
    background: #f0fdf4;
}
.profit-detail__total--ok strong { color: #15803d; }
.profit-detail__total--bad {
    border-color: #fca5a5;
    background: #fef2f2;
}
.profit-detail__total--bad strong { color: #b91c1c; }

/* Tracking spedizioni */
.tracking__amazon {
    border-left: 4px solid #f59e0b;
    margin-bottom: 1.25rem;
}

.tracking__amazon-template {
    margin: 0.75rem 0 1rem;
}

.tracking__amazon-template code {
    font-size: 0.78rem;
    background: #f1f5f9;
    padding: 0.1rem 0.35rem;
    border-radius: 0.3rem;
}

.tracking-notify-scan__kinds {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.tracking-notify-scan__kind {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: #fff;
    cursor: pointer;
    font-weight: 600;
    color: #334155;
}

.tracking-notify-scan__kind.is-on {
    border-color: #0369a1;
    background: #e0f2fe;
    color: #0c4a6e;
}

.tracking-notify-scan__kind input { accent-color: #0369a1; }

.tracking-notify-scan__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.tracking-notify-scan__preview {
    margin-top: 1rem;
}

.tracking-notify-scan__preview summary {
    cursor: pointer;
    font-weight: 700;
    color: #334155;
}

.tracking-notify-scan__preview pre {
    margin: 0.55rem 0 0;
    padding: 0.85rem 1rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    white-space: pre-wrap;
    font-family: inherit;
    font-size: 0.9rem;
    line-height: 1.45;
    color: #0f172a;
}
.gls-assist__subj {
    margin: 0.5rem 0 0;
    font-size: 0.9rem;
}
.refunded-open__row--stop td {
    background: #fff7ed;
}
.refunded-open__hint {
    margin-top: 0.2rem;
    font-size: 0.78rem;
    color: #64748b;
    line-height: 1.35;
    max-width: 18rem;
}
.refunded-open__phase {
    margin-top: 0.15rem;
    font-size: 0.75rem;
    color: #94a3b8;
}
.review-ask__opts {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-end;
    margin-top: 0.75rem;
}
.review-ask__opts .work__field {
    min-width: 10rem;
}
.review-ask__check {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    padding-bottom: 0.35rem;
}
.review-ask__row--done td {
    opacity: 0.65;
}
.tracking__tab-badge {
    display: inline-block;
    margin-left: 0.35rem;
    min-width: 1.25rem;
    padding: 0.05rem 0.4rem;
    border-radius: 999px;
    background: #c44;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.2;
}
.tracking__row--late { background: #fff7ed !important; }
.tracking__row--stuck { background: #fffbeb !important; }
.tracking__row--recent { background: #f0f9ff !important; }
.tracking__status { font-weight: 600; }
.tracking__late-badge,
.tracking__stuck-badge {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.05rem 0.4rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
}
.tracking__late-badge { background: #fed7aa; color: #9a3412; }
.tracking__stuck-badge { background: #fef3c7; color: #92400e; }
.tracking__due--late { color: #c2410c; font-weight: 700; }
.tracking__table td { vertical-align: middle; }
.tracking__section { margin-bottom: 1.25rem; }
.tracking__section--late { border-left: 4px solid #ea580c; padding-left: 0.85rem; }
.tracking__section--stuck { border-left: 4px solid #d97706; padding-left: 0.85rem; }
.tracking__section--recent { border-left: 4px solid #0ea5e9; padding-left: 0.85rem; }

.tracking__section-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-bottom: 0.65rem;
}

.tracking__section-head h2 { margin: 0 0 0.25rem; }
.tracking__section-head .grouping__lead { margin: 0; }

.tracking__contact {
    margin-top: 0.2rem;
    font-size: 0.78rem;
    color: #64748b;
}

.tracking__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: flex-end;
}

.tracking-notify { max-width: 36rem; }
.tracking__n {
    display: inline-block;
    margin-left: 0.35rem;
    color: var(--mishirto-cyan, #00aeef);
    font-weight: 700;
}
.tracking__phase {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}
.tracking__phase--late { background: #ffedd5; color: #9a3412; }
.tracking__phase--problem { background: #fee2e2; color: #991b1b; }
.tracking__phase--stuck { background: #fef3c7; color: #92400e; }
.tracking__phase--recent { background: #e0f2fe; color: #0369a1; }
.tracking__phase--transit { background: #e0f2fe; color: #075985; }
.tracking__phase--done { background: #dcfce7; color: #166534; }
.tracking__phase--other { background: #f3f4f6; color: #374151; }

.supplier__meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.supplier__add {
    display: grid;
    grid-template-columns: 1.2fr 1.2fr 0.8fr 0.7fr auto;
    gap: 0.65rem;
    align-items: end;
    margin-bottom: 1rem;
    padding: 0.85rem;
    border-radius: 12px;
    background: #f0f9ff;
    border: 1.5px solid #bae6fd;
}

@media (max-width: 900px) {
    .supplier__add {
        grid-template-columns: 1fr 1fr;
    }
}

.supplier__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
    font-weight: 700;
}

.supplier__toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.supplier__table-wrap {
    overflow-x: auto;
}

.supplier__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.92rem;
}

.supplier__table th {
    text-align: left;
    padding: 0.55rem 0.45rem;
    background: #111;
    color: #fff;
    font-weight: 800;
}

.supplier__table td {
    padding: 0.35rem 0.3rem;
    border-bottom: 1px solid #e2e8f0;
    vertical-align: middle;
}

.supplier__table tfoot td {
    padding-top: 0.75rem;
    font-weight: 800;
    border-bottom: 0;
}

.supplier__cell {
    width: 100%;
    min-width: 4.5rem;
}

.supplier__cell--qty {
    max-width: 5.5rem;
}

.supplier__del {
    border: 0;
    background: #fee2e2;
    color: #991b1b;
    width: 2rem;
    height: 2rem;
    border-radius: 8px;
    font-weight: 900;
    cursor: pointer;
}

.supplier__del:hover {
    background: #fecaca;
}

.supplier__add--row {
    grid-template-columns: 1.4fr 1.4fr auto;
}

.supplier-matrix__cell {
    padding: 0.15rem !important;
    min-width: 3.2rem;
    text-align: center;
}

.supplier-matrix__cell--qty {
    background: #e0f2fe;
}

.supplier-matrix__input {
    width: 100%;
    min-width: 2.6rem;
    max-width: 4.2rem;
    margin: 0 auto;
    display: block;
    text-align: center;
    font-weight: 800;
    font-size: 0.95rem;
    border: 1.5px solid #cbd5e1;
    border-radius: 8px;
    padding: 0.35rem 0.2rem;
    background: #fff;
}

.supplier-matrix__input:focus {
    outline: none;
    border-color: #00aeef;
    box-shadow: 0 0 0 2px rgba(0, 174, 239, 0.2);
}

.supplier-matrix .supplier__cell--code {
    font-weight: 800;
}

/* ===== Programmi (foglio stile Excel) ===== */
.programmi__actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-left: auto;
}
.programmi__sheet-wrap {
    overflow: auto;
    max-height: calc(100vh - 220px);
    border: 1px solid #c5d0d8;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 0 rgba(0,0,0,.04);
}
.programmi__sheet {
    width: max-content;
    min-width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}
.programmi__th,
.programmi__td {
    border: 1px solid #cfd8df;
    padding: 0.2rem 0.35rem;
    vertical-align: middle;
    white-space: nowrap;
}
.programmi__th {
    position: sticky;
    top: 0;
    z-index: 2;
    font-weight: 700;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #1e293b;
}
.programmi__th--code { background: #e2e8f0; min-width: 4.2rem; }
.programmi__th--data { background: #f1f5f9; min-width: 5.5rem; }
.programmi__th--stato { background: #86efac; min-width: 9rem; }
.programmi__th--cliente { background: #fca5a5; min-width: 10rem; }
.programmi__th--note { background: #fff; min-width: 14rem; }
.programmi__th--impianto { background: #7dd3fc; min-width: 7rem; }
.programmi__th--elab { background: #fdba74; min-width: 7rem; }
.programmi__th--qty { background: #38bdf8; min-width: 4.5rem; color: #0f172a; }
.programmi__th--neutro { background: #f9a8d4; min-width: 7rem; }
.programmi__th--seri { background: #4ade80; min-width: 7.5rem; }
.programmi__th--dtf { background: #c4b5fd; min-width: 6rem; }
.programmi__th--tot,
.programmi__th--unit { background: #fde68a; min-width: 5.5rem; }
.programmi__td--code { font-weight: 800; text-align: center; background: #f8fafc; color: #0f766e; }
.programmi__td--stato { background: #dcfce7; }
.programmi__td--cliente { background: #fee2e2; }
.programmi__td--impianto { background: #e0f2fe; }
.programmi__td--elab { background: #ffedd5; }
.programmi__td--qty { background: #bae6fd; }
.programmi__td--neutro { background: #fce7f3; }
.programmi__td--seri { background: #dcfce7; }
.programmi__td--dtf { background: #ede9fe; }
.programmi__td--tot,
.programmi__td--unit { background: #fef9c3; font-weight: 700; text-align: right; }
.programmi__td--ro { user-select: none; }
.programmi__input {
    width: 100%;
    min-width: 0;
    border: none;
    background: transparent;
    font: inherit;
    color: inherit;
    padding: 0.25rem 0.15rem;
}
.programmi__input:focus {
    outline: 2px solid #00aeef;
    outline-offset: -2px;
    background: #fff;
}
.programmi__input--num {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.programmi__hint {
    display: block;
    font-size: 0.65rem;
    color: #475569;
    font-weight: 600;
    line-height: 1.2;
}
.programmi__row--new td {
    background: #ecfdf5 !important;
}
.programmi__row--new .programmi__td--code {
    color: #16a34a;
    font-style: italic;
    font-weight: 600;
}
.programmi__legend {
    margin-top: 0.75rem;
    color: var(--mishirto-muted);
    font-size: 0.88rem;
}
@media (max-width: 700px) {
    .programmi__sheet-wrap { max-height: none; }
}

.programmi__th--tech { background: #a7f3d0; min-width: 4.2rem; text-align: center; }
.programmi__th--press { background: #fcd34d; min-width: 5.5rem; }
.programmi__th--dtfcost { background: #c4b5fd; min-width: 5rem; }
.programmi__th--side { background: #bae6fd; min-width: 8rem; }
.programmi__td--tech { text-align: center; background: #ecfdf5; }
.programmi__td--press { background: #fef3c7; }
.programmi__td--side { background: #e0f2fe; min-width: 8rem; vertical-align: top; }
.programmi__side { display: flex; justify-content: center; margin-bottom: 0.15rem; }
.programmi__input--spec { min-width: 7rem; font-size: 0.75rem; border-top: 1px dashed #94a3b8 !important; }
.programmi__badge {
    display: inline-block;
    margin-left: 0.25rem;
    padding: 0.05rem 0.3rem;
    border-radius: 4px;
    background: #7c3aed;
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
}
.programmi-modal {
    position: fixed; inset: 0; z-index: 80;
    background: rgba(15, 23, 42, 0.45);
    display: grid; place-items: center;
    padding: 1rem;
}
.programmi-modal__card {
    background: #fff;
    border-radius: 12px;
    padding: 1.25rem 1.4rem;
    width: min(420px, 100%);
    box-shadow: 0 16px 40px rgba(0,0,0,.2);
}
.programmi-modal__card h2 { margin: 0 0 0.5rem; font-size: 1.15rem; }
.programmi-modal__field { display: grid; gap: 0.35rem; margin: 1rem 0; font-weight: 600; font-size: 0.9rem; }
.programmi-modal__actions { display: flex; gap: 0.5rem; justify-content: flex-end; }

.bordero-mail-modal {
    width: min(560px, 100%);
}

.bordero-mail-modal__kinds {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.programmi__th--del { background: #e2e8f0; width: 2.2rem; min-width: 2.2rem; }
.programmi__td--del { text-align: center; background: #f8fafc; }
.programmi__del {
    border: none;
    background: transparent;
    color: #dc2626;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    padding: 0.2rem 0.35rem;
    border-radius: 4px;
}
.programmi__del:hover { background: #fee2e2; }
.programmi__del-confirm {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #fff !important;
}

/* DTF prezzo (scan QR etichetta) */
.dtf-price__card { max-width: 28rem; }
.dtf-price__cliente {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1.15;
}
.dtf-price__nome {
    margin: 0.35rem 0 0.75rem;
    color: var(--mishirto-muted);
    font-weight: 600;
}
.dtf-price__meta {
    margin: 0 0 1.25rem;
    font-size: 0.95rem;
    color: #475569;
}
.dtf-price__block {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    padding: 0.75rem 0;
    border-top: 1px solid var(--mishirto-line);
}
.dtf-price__block span { color: var(--mishirto-muted); font-weight: 600; }
.dtf-price__block strong { font-size: 1.35rem; font-weight: 800; }
.dtf-price__block--tot strong { color: #00aeef; font-size: 1.6rem; }
.dtf-price__card .pack__btn { margin-top: 1rem; }

/* DTF file allegato + anteprima */
.dtf-file {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    max-width: 11rem;
}
.dtf-file__thumb-btn {
    display: block;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    overflow: hidden;
    background: #f8fafc;
    cursor: pointer;
    line-height: 0;
}
.dtf-file__thumb-btn:hover { border-color: #00aeef; }
.dtf-file__thumb {
    width: 72px;
    height: 72px;
    object-fit: cover;
    display: block;
}
.dtf-file__link {
    font-size: 0.78rem;
    font-weight: 700;
    color: #0284c7;
    word-break: break-all;
    text-decoration: none;
}
.dtf-file__link:hover { text-decoration: underline; }
.dtf-file-modal__card { width: min(720px, 96vw); max-height: 90vh; overflow: auto; }
.dtf-file-modal__img {
    display: block;
    width: 100%;
    max-height: 70vh;
    object-fit: contain;
    background: #0f172a;
    border-radius: 8px;
    margin: 0.75rem 0 1rem;
}

/* Scheda QR DTF (solo cliente · metri · prezzo) */
.blank-layout {
    min-height: 100vh;
    margin: 0;
    background: linear-gradient(160deg, #e8f7fc 0%, #f7fafc 45%, #eef2f6 100%);
}
.dtf-scan-entry__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.dtf-scan-entry__title {
    margin: 0 0 0.25rem;
    font-size: 1.15rem;
}
.dtf-scan-entry__lead {
    margin: 0;
    color: #64748b;
    font-size: 0.95rem;
}
.dtf-scan-entry__btn {
    flex-shrink: 0;
    white-space: nowrap;
}
.dtf-scan__card {
    width: min(420px, 100%);
    background: #fff;
    border-radius: 18px;
    padding: 1.5rem 1.4rem 1.75rem;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12);
    border: 1px solid #d7e6ee;
    text-align: center;
}
.dtf-scan__card--err { color: #b91c1c; font-weight: 700; }
.dtf-scan__logo {
    height: 36px;
    width: auto;
    margin: 0 auto 1.25rem;
    display: block;
}
.dtf-scan__label {
    margin: 1rem 0 0.2rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}
.dtf-scan__cliente {
    margin: 0;
    font-size: clamp(1.6rem, 5vw, 2.1rem);
    font-weight: 800;
    line-height: 1.15;
    color: #0f172a;
}
.dtf-scan__value {
    margin: 0;
    font-size: clamp(1.5rem, 4.5vw, 1.9rem);
    font-weight: 800;
    color: #0284c7;
}
.dtf-scan__price {
    margin: 0;
    font-size: clamp(2rem, 7vw, 2.8rem);
    font-weight: 800;
    color: #00aeef;
    line-height: 1.1;
}
.dtf-scan__price span {
    font-size: 0.45em;
    font-weight: 700;
    color: #64748b;
}
.dtf-scan__tot {
    margin: 0.55rem 0 0;
    font-size: 1.15rem;
    color: #334155;
}
.dtf-scan__tot strong {
    font-size: 1.35rem;
    color: #0f172a;
}
.dtf-scan__missing {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: #b45309;
}
.dtf-scan__again { margin-top: 1rem; }
.dtf-scan__deliver {
    margin-top: 1.35rem;
    width: 100%;
    font-size: 1.15rem !important;
    padding: 0.85rem 1rem !important;
}
.dtf-scan__ask {
    margin-top: 1.25rem;
    padding: 1rem 0.85rem;
    border-radius: 14px;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
}
.dtf-scan__ask-title {
    margin: 0 0 0.85rem;
    font-size: 1.35rem;
    font-weight: 800;
    color: #0f172a;
}
.dtf-scan__ask-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
}
.dtf-scan__ask-actions .pack__btn { width: 100%; }
.dtf-scan__ask-cancel {
    margin-top: 0.75rem;
    border: 0;
    background: transparent;
    color: #64748b;
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
}
.dtf-scan__status {
    margin: 1.15rem 0 0;
    font-size: 1.1rem;
    font-weight: 800;
}
.dtf-scan__status--ok { color: #15803d; }
.dtf-scan__status--warn { color: #b45309; }
.dtf-scan__hub-title {
    margin: 0 0 0.35rem;
    font-size: 1.55rem;
    font-weight: 800;
    color: #0f172a;
}
.dtf-scan__hub-lead {
    margin: 0 0 1.1rem;
    color: #64748b;
    font-size: 0.95rem;
    line-height: 1.4;
}
.dtf-scan__field {
    display: grid;
    gap: 0.35rem;
    text-align: left;
    font-size: 0.8rem;
    font-weight: 700;
    color: #475569;
    margin-bottom: 0.85rem;
}
.dtf-scan__input {
    font-size: 1.05rem !important;
    letter-spacing: 0.02em;
}

/* —— Ordini scuole —— */
.school-ord__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.85rem;
}

.school-ord__bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.65rem;
}

.school-ord__more {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin: 0 0 0.85rem;
    padding: 0.7rem 0.8rem;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    background: #fff;
}

.school-ord__more-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
}

.school-ord__more-group > span {
    flex: 0 0 100%;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.school-ord__bulk {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0 0.75rem;
}

.school-ord__bulk--on {
    position: sticky;
    top: 0;
    z-index: 4;
    padding: 0.55rem 0.7rem;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.school-ord__bulk-del {
    background: #b91c1c !important;
    border-color: #991b1b !important;
    color: #fff !important;
}

.school-ord-card__more {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.45rem;
    padding-top: 0.55rem;
    border-top: 1px dashed #cbd5e1;
}

.school-wa__tpl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin: 0 0 0.55rem;
}

.school-wa__tpl > span {
    font-size: 0.75rem;
    font-weight: 800;
    color: #64748b;
    margin-right: 0.15rem;
}

.school-wa__text {
    min-height: 10rem;
    font-size: 0.95rem;
    line-height: 1.45;
}

.school-ord__filter--inline {
    margin-left: 0;
}

.school-ord__filter {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: #475569;
    margin-left: auto;
}

.school-ord__list {
    display: grid;
    gap: 0.75rem;
}

.school-ord-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.85rem 1rem;
}

.school-ord-card--selected {
    border-color: #0ea5e9;
    box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.2);
}

.school-ord-card__check {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    cursor: pointer;
}

.school-ord-card__check input {
    width: 1.1rem;
    height: 1.1rem;
    accent-color: #0284c7;
}

.school-ord-card__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}

.school-ord-card__code {
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #0f766e;
}

.school-ord-card__status {
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #334155;
}

.school-ord-card__status--0 { background: #e0f2fe; color: #0369a1; }
.school-ord-card__status--1 { background: #ffedd5; color: #c2410c; }
.school-ord-card__status--2 { background: #dcfce7; color: #15803d; }
.school-ord-card__status--3 { background: #e2e8f0; color: #475569; }
.school-ord-card__status--4 { background: #fee2e2; color: #b91c1c; }

.school-ord-card__completo {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    padding: 0.15rem 0.45rem;
    border-radius: 6px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #64748b;
    cursor: pointer;
    user-select: none;
}

.school-ord-card__completo input {
    width: 1rem;
    height: 1rem;
    accent-color: #0f766e;
    margin: 0;
}

.school-ord-card__completo.is-on {
    border-color: #0f766e;
    background: #ccfbf1;
    color: #0f766e;
}

.school-ord-card--completo {
    border-color: #5eead4;
    box-shadow: inset 3px 0 0 #0f766e;
}

.school-ord__completo-field .school-ord__ship-check {
    font-weight: 700;
}

.school-ord__status-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0.35rem 0 0.65rem;
}

.school-ord__status-tabs--merce {
    margin-top: 0;
    margin-bottom: 0.85rem;
}

.school-ord__status-chip {
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #334155;
    border-radius: 999px;
    padding: 0.35rem 0.7rem;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
}

.school-ord__status-chip span {
    margin-left: 0.25rem;
    opacity: 0.75;
}

.school-ord__status-chip.is-on {
    background: #0f172a;
    border-color: #0f172a;
    color: #fff;
}

.school-ord__status-chip--0.is-on { background: #0369a1; border-color: #0369a1; }
.school-ord__status-chip--1.is-on { background: #c2410c; border-color: #c2410c; }
.school-ord__status-chip--2.is-on { background: #15803d; border-color: #15803d; }
.school-ord__status-chip--3.is-on { background: #475569; border-color: #475569; }
.school-ord__status-chip--4.is-on { background: #b91c1c; border-color: #b91c1c; }
.school-ord__status-chip--merce-da.is-on { background: #a16207; border-color: #a16207; }
.school-ord__status-chip--merce-ok.is-on { background: #0f766e; border-color: #0f766e; }
.school-ord__status-chip--merce-stock.is-on { background: #475569; border-color: #475569; }

.school-ord__merce-lead {
    margin: 0 0 0.85rem;
    font-size: 0.82rem;
    color: #64748b;
    line-height: 1.4;
}

.school-ord__group-title {
    margin: 1rem 0 0.55rem;
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.school-ord__group-title span {
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: #e2e8f0;
    color: #475569;
}

.school-ord-card__merce {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    border: 1px solid transparent;
}

.school-ord-card__merce--0 {
    background: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}

.school-ord-card__merce--1 {
    background: #ccfbf1;
    color: #0f766e;
    border-color: #99f6e4;
}

.school-ord-card__merce--2 {
    background: #e2e8f0;
    color: #334155;
    border-color: #cbd5e1;
}

.school-ord-card__merce-row {
    margin: 0 0 0.55rem;
}

.school-ord-card__merce-select {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: #475569;
}

.school-ord-card__merce-select .pack__input {
    width: auto;
    min-width: 10rem;
    padding: 0.3rem 0.45rem;
    font-size: 0.82rem;
}

.school-ord-card__delivery {
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    border: 1px solid #e2e8f0;
}

.school-ord-card__delivery--overdue {
    background: #fee2e2;
    color: #991b1b;
    border-color: #fecaca;
}

.school-ord-card__delivery--soon3 {
    background: #ffedd5;
    color: #9a3412;
    border-color: #fed7aa;
}

.school-ord-card__delivery--soon7 {
    background: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}

.school-ord-card__ship {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    border: 1px solid transparent;
}

.school-ord-card__ship--pickup {
    background: #ecfdf5;
    color: #166534;
    border-color: #a7f3d0;
}

.school-ord-card__ship--home {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #bfdbfe;
}

.school-ord__ship-toggle {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.school-ord__ship-check {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.5rem;
    padding: 0.35rem 0.55rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    color: #0f172a;
}

.school-ord__ship-check input {
    width: 1.1rem;
    height: 1.1rem;
}

.school-ord__ship-hint {
    font-size: 0.75rem;
    color: #64748b;
    font-weight: 500;
}

.school-ord-card--overdue {
    border-color: #fca5a5;
    box-shadow: 0 0 0 1px #fecaca;
}

.school-ord-card--soon3 {
    border-color: #fdba74;
    box-shadow: 0 0 0 1px #fed7aa;
}

.school-ord-card--soon7 {
    border-color: #fcd34d;
    box-shadow: 0 0 0 1px #fde68a;
}

.school-ord__scan-focus {
    margin-top: 1rem;
    overflow: hidden;
}

.school-ord__scan-shelf {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    margin: -0.85rem -1rem 0.75rem;
    padding: 1.1rem 1rem 1.2rem;
    background: linear-gradient(135deg, #1e3a8a 0%, #1d4ed8 100%);
    color: #fff;
    text-align: center;
}

.school-ord__scan-shelf__label {
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.9;
}

.school-ord__scan-shelf__num {
    font-size: 4.25rem;
    font-weight: 900;
    line-height: 0.95;
    letter-spacing: 0.02em;
}

.school-ord__scan-shelf__num--warn {
    font-size: 3rem;
}

.school-ord__scan-shelf__sub {
    font-size: 1rem;
    font-weight: 700;
    opacity: 0.95;
}

.school-ord__scan-shelf--full {
    background: linear-gradient(135deg, #9a3412 0%, #c2410c 100%);
}

.school-ord__scan-shelf--up {
    background: linear-gradient(135deg, #7c2d12 0%, #ea580c 100%);
}

.school-ord__scan-shelf__num--up {
    font-size: 2.4rem;
    letter-spacing: 0.06em;
}

.school-ord-card__shelf--up {
    background: #ea580c;
}

.school-ord__shelf-up {
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
    border-radius: 12px;
    border: 2px solid #fb923c;
    background: linear-gradient(180deg, #fff7ed 0%, #ffffff 70%);
}

.school-ord__shelf-up--empty {
    border-style: dashed;
    border-color: #fdba74;
    opacity: 0.85;
}

.school-ord__shelf-up__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.65rem;
    margin-bottom: 0.55rem;
}

.school-ord__shelf-up__head strong {
    font-size: 1.15rem;
    letter-spacing: 0.04em;
    color: #c2410c;
}

.school-ord__shelf-up__head span {
    font-size: 0.85rem;
    font-weight: 600;
    color: #9a3412;
}

.school-ord__shelf-up__empty {
    margin: 0;
    font-size: 0.9rem;
    color: #b45309;
    font-weight: 600;
}

.school-ord__shelf-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.school-ord__shelf-slot {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.75rem;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-height: 8.5rem;
}

.school-ord__shelf-slot--free {
    background: #f8fafc;
    border-style: dashed;
    color: #94a3b8;
}

.school-ord__shelf-slot--busy {
    border-color: #93c5fd;
    box-shadow: 0 0 0 1px #bfdbfe;
}

.school-ord__shelf-slot--full {
    border-color: #fbbf24;
    box-shadow: 0 0 0 1px #fde68a;
}

.school-ord__shelf-slot__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
}

.school-ord__shelf-slot__num {
    font-size: 1.35rem;
    font-weight: 800;
    color: #1e3a8a;
    line-height: 1;
}

.school-ord__shelf-slot--free .school-ord__shelf-slot__num {
    color: #94a3b8;
}

.school-ord__shelf-slot__cap {
    font-size: 0.78rem;
    font-weight: 800;
    color: #475569;
    background: #e2e8f0;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
}

.school-ord__shelf-bags {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.school-ord__shelf-bag {
    border-top: 1px solid #e2e8f0;
    padding-top: 0.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.school-ord__shelf-bag:first-child {
    border-top: none;
    padding-top: 0;
}

.school-ord__shelf-bag__main {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    font-size: 0.85rem;
}

.school-ord__shelf-bag__main strong {
    font-size: 0.92rem;
    color: #0f172a;
}

.school-ord__shelf-slot__code {
    font-size: 0.95rem;
    color: #0f172a;
}

.school-ord__shelf-slot__name {
    font-size: 0.88rem;
    font-weight: 600;
    color: #334155;
}

.school-ord__shelf-slot__meta {
    font-size: 0.78rem;
    color: #64748b;
}

.school-ord__shelf-slot__empty {
    margin-top: auto;
    font-size: 0.9rem;
    font-weight: 600;
}

.school-ord__shelf-slot__room {
    font-size: 0.75rem;
    font-weight: 700;
    color: #0369a1;
}

.school-ord__shelf-slot__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: end;
}

.school-ord__shelf-move {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
}

.school-ord__shelf-move .pack__input {
    min-width: 5.5rem;
    font-size: 0.85rem;
    padding: 0.25rem 0.35rem;
}

@media (max-width: 720px) {
    .school-ord__shelf-grid {
        grid-template-columns: 1fr;
    }
}

.school-ord__scan-focus--pay-0 {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px #fecaca;
}

.school-ord__scan-focus--pay-1,
.school-ord__scan-focus--pay-2 {
    border-color: #16a34a;
    box-shadow: 0 0 0 3px #bbf7d0;
}

.school-ord__scan-pay {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin: 0 -1rem 0.85rem;
    padding: 1rem 1.1rem;
    color: #fff;
}

/* Se non c’è banner scaffale, il pagamento resta attaccato in cima */
.school-ord__scan-focus > .school-ord__scan-pay:first-child {
    margin-top: -0.85rem;
}

.school-ord-card__shelf {
    font-size: 0.78rem;
    font-weight: 800;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: #1d4ed8;
    color: #fff;
    letter-spacing: 0.02em;
}

.school-ord__scan-pay--0 {
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
}

.school-ord__scan-pay--1,
.school-ord__scan-pay--2 {
    background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
}

.school-ord__scan-pay--2 {
    background: linear-gradient(135deg, #0d9488 0%, #0f766e 100%);
}

.school-ord__scan-pay__icon {
    font-size: 2rem;
    line-height: 1;
    flex-shrink: 0;
}

.school-ord__scan-pay__text {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.school-ord__scan-pay__text strong {
    font-size: 1.35rem;
    letter-spacing: 0.04em;
    line-height: 1.15;
}

.school-ord__scan-pay__text span {
    font-size: 0.95rem;
    opacity: 0.95;
    font-weight: 600;
}

.school-ord__scan-status {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.65rem;
    margin: 0.75rem 0;
}

.school-ord__econ-meta {
    margin-bottom: 0.55rem;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.school-ord__econ-meta span {
    font-size: 0.92rem;
}

.school-ord__deadlines {
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: linear-gradient(180deg, #fff7ed 0%, #ffffff 70%);
}

.school-ord__deadlines-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.55rem;
}

.school-ord__deadlines-head h2 {
    margin: 0;
    font-size: 1rem;
}

.school-ord__deadlines-n {
    font-size: 0.75rem;
    font-weight: 700;
    background: #1e293b;
    color: #fff;
    border-radius: 999px;
    padding: 0.1rem 0.45rem;
}

.school-ord__deadlines-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.65rem;
}

.school-ord__chip {
    font-size: 0.78rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    border: 1px solid transparent;
}

.school-ord__chip--overdue {
    background: #fee2e2;
    color: #991b1b;
    border-color: #fecaca;
}

.school-ord__chip--soon3 {
    background: #ffedd5;
    color: #9a3412;
    border-color: #fed7aa;
}

.school-ord__chip--soon7 {
    background: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}

.school-ord__deadlines-list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.school-ord__deadline {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.55rem;
    align-items: center;
    text-align: left;
    width: 100%;
    padding: 0.45rem 0.65rem;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #fff;
    cursor: pointer;
}

.school-ord__deadline:hover {
    border-color: #94a3b8;
}

.school-ord__deadline--overdue {
    border-color: #fca5a5;
    background: #fff1f2;
}

.school-ord__deadline--soon3 {
    border-color: #fdba74;
    background: #fff7ed;
}

.school-ord__deadline--soon7 {
    border-color: #fcd34d;
    background: #fffbeb;
}

.school-ord__deadline-code {
    font-weight: 800;
    color: #0f172a;
}

.school-ord__deadline-client {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.school-ord__deadline-when {
    font-size: 0.78rem;
    font-weight: 700;
    color: #475569;
    white-space: nowrap;
}

.school-ord-card__flags {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.2rem;
}

.school-ord-card__printed {
    font-size: 0.75rem;
    font-weight: 700;
    color: #15803d;
    background: #dcfce7;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    white-space: nowrap;
}

.school-ord-card__printed--no {
    color: #9a3412;
    background: #ffedd5;
}

.school-ord-card__printed--pick {
    color: #1d4ed8;
    background: #dbeafe;
}

.school-ord-card__name {
    display: block;
    font-size: 1.15rem;
    margin-bottom: 0.15rem;
}

.school-ord-card__polo {
    display: inline-block;
    margin: 0 0 0.25rem;
    padding: 0.12rem 0.5rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.school-ord-card__polo--1 {
    background: #dbeafe;
    color: #1d4ed8;
}

.school-ord-card__polo--3 {
    background: #fee2e2;
    color: #b91c1c;
}

.school-ord-card__phone {
    color: #0f766e;
    font-weight: 600;
    text-decoration: none;
    font-size: 0.95rem;
}

.school-ord-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin: 0.45rem 0;
    font-size: 0.85rem;
    color: #64748b;
}

.school-ord-card__pay--ok {
    color: #047857;
    font-weight: 600;
}

.school-ord-card__pay--due {
    color: #b45309;
    font-weight: 600;
}

.school-ord__cell--money {
    width: 5.5rem;
    text-align: right;
}

.school-ord__ship-alone {
    margin-top: 0.75rem;
    max-width: 12rem;
}

.school-ord-card__lines {
    margin: 0 0 0.65rem;
    padding-left: 1.1rem;
    font-size: 0.88rem;
    color: #334155;
}

.school-ord-card__lines--merce {
    list-style: none;
    padding-left: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.school-ord-card__lines--merce li {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.35rem 0.45rem;
    border-radius: 8px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
}

.school-ord-card__lines--merce li.is-ok {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.school-ord-card__line-merce {
    display: inline-flex;
    margin-top: 0.1rem;
    cursor: pointer;
    flex-shrink: 0;
}

.school-ord-card__line-merce input {
    width: 1.15rem;
    height: 1.15rem;
    accent-color: #15803d;
}

.school-ord-card__line-text {
    min-width: 0;
    line-height: 1.35;
}

.school-ord-card__line-partial {
    font-style: normal;
    font-weight: 700;
    color: #b45309;
    margin-left: 0.2rem;
}

.school-ord-card__merce-all {
    margin: 0 0 0.65rem;
}

.school-ord-card__note {
    margin: 0 0 0.65rem;
    padding: 0.4rem 0.55rem;
    border-left: 3px solid #f59e0b;
    background: #fffbeb;
    color: #92400e;
    font-size: 0.88rem;
    line-height: 1.35;
    white-space: pre-wrap;
    word-break: break-word;
}

.school-ord-card__stock {
    margin: 0 0 0.7rem;
    padding: 0.45rem 0.6rem;
    border-radius: 8px;
    font-size: 0.82rem;
    line-height: 1.35;
}

.school-ord__sync-stock {
    border: 2px solid #a7f3d0;
    background: #f0fdf4;
}

.school-ord__sync-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.school-ord__sync-list li.is-ok .school-ord__sync-link {
    border-color: #6ee7b7;
    background: #ecfdf5;
    color: #047857;
}

.school-ord__sync-list li.is-partial .school-ord__sync-link {
    border-color: #fdba74;
    background: #fff7ed;
    color: #9a3412;
}

.school-ord__sync-link {
    display: block;
    width: 100%;
    text-align: left;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    padding: 0.5rem 0.75rem;
    background: #fff;
    cursor: pointer;
    font: inherit;
}

.school-ord__sync-link:hover {
    filter: brightness(0.98);
}

.school-ord-card__stock--ok {
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #a7f3d0;
}

.school-ord-card__stock--miss {
    background: #fff7ed;
    color: #9a3412;
    border: 1px solid #fdba74;
}

.school-ord-card__stock-head {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    align-items: baseline;
    margin-bottom: 0.25rem;
}

.school-ord-card__stock-head span {
    color: #c2410c;
    opacity: 0.85;
}

.school-ord-card__stock-list {
    margin: 0;
    padding-left: 1rem;
}

.school-ord-card__stock-list li {
    margin: 0.1rem 0;
}

.school-ord-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.school-ord__btn-del {
    color: #b91c1c !important;
}

.school-ord__panel h2 {
    margin: 0 0 0.75rem;
    font-size: 1.1rem;
}

.school-ord__client {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.school-ord__client-row {
    display: grid;
    gap: 0.65rem 0.75rem;
    align-items: end;
}

.school-ord__client-row--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.school-ord__client-row--3 {
    grid-template-columns: minmax(10rem, 0.9fr) minmax(8rem, 0.7fr) minmax(12rem, 1.6fr);
}

.school-ord__ship-box {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding: 0.75rem 0.85rem;
    border: 1px dashed #7dd3fc;
    border-radius: 12px;
    background: #f0f9ff;
}

.school-ord__ship-box-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.school-ord__ship-box-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 0.45rem;
}

.school-ord__ship-woo {
    min-width: 8rem;
    margin: 0;
}

.school-ord__ship-paste {
    min-height: 4.5rem;
    font-size: 0.9rem;
}

.school-ord-card__ship-miss {
    font-size: 0.72rem;
    font-weight: 800;
    padding: 0.12rem 0.4rem;
    border-radius: 999px;
    background: #fff7ed;
    color: #c2410c;
    border: 1px solid #fdba74;
}

.school-ord__client-row .work__field {
    min-width: 0;
}

.school-ord__client-row .work__field .pack__input,
.school-ord__client-row .work__field select.pack__input {
    width: 100%;
    min-width: 0;
}

.school-ord__client-row .work__field--grow {
    min-width: 0;
}

.school-ord__summary {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 0.85rem 1.25rem;
    margin-top: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 12px;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
}

.school-ord__summary-field {
    min-width: 8.5rem;
    max-width: 11rem;
}

.school-ord__summary-field--grow {
    flex: 1 1 14rem;
    min-width: 12rem;
    max-width: none;
}

.school-ord__summary-field .pack__input,
.school-ord__summary-field select.pack__input {
    width: 100%;
}

.school-ord__summary-totals {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.65rem 1rem;
    margin-left: auto;
    font-size: 0.95rem;
    color: #334155;
}

.school-ord__summary-grand {
    font-size: 1.05rem;
}

.school-ord__summary-sconto {
    color: #b91c1c;
}

.school-ord__summary-grand em {
    font-style: normal;
    margin-left: 0.35rem;
    color: #64748b;
    font-size: 0.9rem;
}

@media (max-width: 900px) {
    .school-ord__client-row--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .school-ord__client-row--4 .work__field--grow {
        grid-column: 1 / -1;
    }

    .school-ord__client-row--3 {
        grid-template-columns: 1fr 1fr;
    }

    .school-ord__client-row--3 .work__field--grow {
        grid-column: 1 / -1;
    }

    .school-ord__summary-totals {
        margin-left: 0;
        width: 100%;
    }
}

@media (max-width: 520px) {
    .school-ord__client-row--4,
    .school-ord__client-row--3 {
        grid-template-columns: 1fr;
    }
}

.school-ord__lines-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}

.school-ord__lines-head h2 { margin: 0; }

.school-ord__lines-head-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.school-ord__th-merce {
    width: 2.5rem;
    text-align: center;
}

.school-ord__merce-check-cell {
    text-align: center;
    vertical-align: middle;
}

.school-ord__merce-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.school-ord__merce-check input {
    width: 1.25rem;
    height: 1.25rem;
    accent-color: #15803d;
}

.school-ord__row--merce-ok {
    background: #f0fdf4;
}

.school-ord__stock-ok-tag {
    display: inline-block;
    margin-left: 0.25rem;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #15803d;
}

.school-ord-card__merce-prog {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fde68a;
}

.school-ord-card__merce-prog--ok {
    background: #dcfce7;
    color: #166534;
    border-color: #86efac;
}

.school-ord__table-wrap {
    overflow-x: auto;
}

.school-ord__cell {
    min-width: 5.5rem;
    font-size: 0.92rem !important;
}

.school-ord__cell--size { max-width: 5rem; }
.school-ord__cell--qty { max-width: 4.5rem; }

.school-ord__btn-x {
    border: none;
    background: transparent;
    color: #b91c1c;
    font-weight: 800;
    cursor: pointer;
    padding: 0.25rem 0.4rem;
}

.school-ord__hint {
    margin: 0.75rem 0 0;
    font-size: 0.85rem;
    color: #64748b;
}

.school-ord__listino-auto {
    display: inline-block;
    padding: 0.2rem 0.5rem;
    border-radius: 0.35rem;
    font-size: 0.78rem;
    font-weight: 700;
}

.school-ord__listino-auto--adult {
    background: #dbeafe;
    color: #1d4ed8;
}

.school-ord__listino-auto--kids {
    background: #ffedd5;
    color: #c2410c;
}

.school-ord__cell--select {
    min-width: 16rem;
    max-width: 28rem;
}

.school-ord__code-cell {
    white-space: nowrap;
    vertical-align: middle;
}

.school-ord__supplier-code {
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.88rem;
    letter-spacing: 0.02em;
    color: #0f172a;
    background: #f1f5f9;
    padding: 0.2rem 0.45rem;
    border-radius: 0.35rem;
}

.school-ord-card__line-code {
    display: inline-block;
    margin-right: 0.35rem;
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.78rem;
    font-weight: 700;
    color: #1d4ed8;
    background: #dbeafe;
    padding: 0.05rem 0.35rem;
    border-radius: 0.25rem;
}

.school-ord__cell--price {
    max-width: 6.5rem;
}

.school-ord__cell--code {
    max-width: 9rem;
    font-family: ui-monospace, Consolas, monospace;
    text-transform: uppercase;
}

.school-ord__cell--name {
    min-width: 12rem;
    max-width: 18rem;
    font-weight: 600;
}

.school-ord__key-hint {
    margin-top: 0.2rem;
    font-size: 0.7rem;
    font-family: ui-monospace, Consolas, monospace;
    color: #94a3b8;
    word-break: break-all;
}

.school-ord__row--warn td {
    background: #fff7ed;
}

/* —— Tracking pubblico ordine scuola /s/{token} —— */
.school-track {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 1.5rem 1.5rem 5.75rem;
    background:
        radial-gradient(120% 80% at 10% 0%, #e0f2fe 0%, transparent 55%),
        radial-gradient(90% 70% at 100% 20%, #dcfce7 0%, transparent 50%),
        #f8fafc;
    scroll-behavior: smooth;
}

.school-track--joy {
    background:
        radial-gradient(ellipse 90% 60% at 15% -10%, #fde68a 0%, transparent 55%),
        radial-gradient(ellipse 80% 55% at 95% 10%, #fda4af 0%, transparent 50%),
        radial-gradient(ellipse 70% 50% at 50% 100%, #7dd3fc 0%, transparent 45%),
        linear-gradient(165deg, #fff7ed 0%, #f0f9ff 55%, #ecfdf5 100%);
    animation: school-track-fade 0.55s ease-out;
}

@keyframes school-track-fade {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: none; }
}

.school-track__card {
    width: min(26rem, 100%);
    background: rgba(255, 255, 255, 0.94);
    border-radius: 1.5rem;
    padding: 1.5rem 1.35rem 1.25rem;
    box-shadow: 0 20px 48px rgba(251, 113, 133, 0.12), 0 8px 20px rgba(15, 23, 42, 0.06);
    border: 1px solid rgba(253, 186, 116, 0.45);
    backdrop-filter: blur(6px);
}

.school-track--joy .school-track__card {
    animation: school-track-card-in 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes school-track-card-in {
    from { opacity: 0; transform: scale(0.97) translateY(12px); }
    to { opacity: 1; transform: none; }
}

.school-track__logo {
    display: block;
    height: 2.15rem;
    width: auto;
    margin: 0 auto 1rem;
    filter: drop-shadow(0 4px 8px rgba(251, 146, 60, 0.25));
}

.school-track__eyebrow {
    margin: 0;
    text-align: center;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.school-track__title {
    margin: 0.35rem 0 0;
    text-align: center;
    font-size: 1.75rem;
    color: #0f172a;
}

.school-track__cliente {
    margin: 0.25rem 0 1rem;
    text-align: center;
    font-weight: 600;
    color: #334155;
}

.school-track__status {
    text-align: center;
    font-weight: 800;
    font-size: 1.05rem;
    padding: 0.6rem 0.85rem;
    border-radius: 999px;
}

.school-track__status--0 { background: #e0f2fe; color: #0369a1; }
.school-track__status--1 { background: #ffedd5; color: #c2410c; }
.school-track__status--2 {
    background: linear-gradient(90deg, #bbf7d0, #fde68a);
    color: #166534;
    box-shadow: 0 0 0 4px rgba(74, 222, 128, 0.2);
}
.school-track__status--3 { background: #fef3c7; color: #a16207; }
.school-track__status--4 { background: #fee2e2; color: #b91c1c; }

.school-track__delivery {
    margin: 0.55rem 0 0;
    text-align: center;
    font-size: 0.95rem;
    color: #0f172a;
}

.school-track__mode {
    margin: 0.35rem 0 0;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 700;
    color: #0369a1;
}

.school-track__updated {
    margin: 0.35rem 0 1.1rem;
    text-align: center;
    font-size: 0.8rem;
    color: #94a3b8;
}

.school-track__steps {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0.75rem 0.85rem;
    display: grid;
    gap: 0.55rem;
    background: #fff7ed;
    border-radius: 1rem;
    border: 1px solid #fed7aa;
}

.school-track__steps li {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    color: #94a3b8;
    font-size: 0.92rem;
}

.school-track__steps li.is-done { color: #0f172a; font-weight: 600; }
.school-track__steps li.is-current { color: #ea580c; font-weight: 800; }

.school-track__dot {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    background: #e2e8f0;
    flex: 0 0 auto;
}

.school-track__steps li.is-done .school-track__dot { background: #22c55e; }
.school-track__steps li.is-current .school-track__dot {
    background: #fb923c;
    box-shadow: 0 0 0 4px rgba(251, 146, 60, 0.28);
}

.school-track__note {
    margin: 0 0 1rem;
    padding: 0.75rem 0.85rem;
    border-radius: 0.85rem;
    background: #ecfdf5;
    color: #166534;
    font-size: 0.95rem;
    text-align: center;
    font-weight: 600;
    line-height: 1.35;
}

.school-track__note--warn {
    background: #fef2f2;
    color: #991b1b;
}

.school-track__note--ready {
    background: linear-gradient(120deg, #dcfce7, #fef9c3);
    color: #166534;
    border: 1px solid #86efac;
}

.school-track__note--done {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fcd34d;
}

.school-track__section {
    margin: 1.15rem 0 0.55rem;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
}

.school-track__lines {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.65rem;
}

.school-track__lines li {
    display: grid;
    gap: 0.2rem;
    padding: 0.65rem 0.7rem;
    border-radius: 0.75rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.school-track__line-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.school-track__line-main strong {
    color: #0f172a;
    font-size: 0.95rem;
    line-height: 1.3;
}

.school-track__line-price {
    flex-shrink: 0;
    font-weight: 800;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
}

.school-track__line-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    color: #64748b;
    font-size: 0.82rem;
}

.school-track__line-detail {
    margin: 0.15rem 0 0;
    color: #475569;
    font-size: 0.8rem;
    line-height: 1.35;
}

.school-track__totals {
    margin-top: 0.85rem;
    padding: 0.75rem 0.8rem;
    border-radius: 0.85rem;
    background: #0f172a;
    color: #f8fafc;
    display: grid;
    gap: 0.4rem;
}

.school-track__totals-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    font-size: 0.9rem;
}

.school-track__totals-row span { color: #94a3b8; }
.school-track__totals-row strong {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    color: #fff;
}

.school-track__totals-row--grand {
    margin-top: 0.25rem;
    padding-top: 0.5rem;
    border-top: 1px solid rgba(148, 163, 184, 0.35);
    font-size: 1.05rem;
}

.school-track__totals-row--grand span {
    color: #e2e8f0;
    font-weight: 700;
}

.school-track__totals-row--grand strong {
    font-size: 1.2rem;
    font-weight: 800;
}

.school-track__totals-row--pay strong {
    font-weight: 600;
    color: #cbd5e1;
}

.school-track__footer {
    margin: 1.25rem 0 0;
    text-align: center;
    font-size: 0.72rem;
    color: #94a3b8;
}

.school-track__promo {
    margin: 1.75rem 0 0;
    padding: 1.1rem 0 0;
    border-top: 1px dashed #cbd5e1;
    text-align: center;
}

.school-track__promo-eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #65a30d;
}

.school-track__promo-title {
    margin: 0 0 0.4rem;
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.school-track__promo-lead {
    margin: 0 0 0.85rem;
    font-size: 0.92rem;
    color: #475569;
    line-height: 1.45;
}

.school-track__promo-lead strong {
    color: #15803d;
}

.school-track__promo-img-link {
    display: block;
    margin: 0 auto 0.9rem;
    max-width: 22rem;
    border-radius: 0.85rem;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
    transition: transform 0.2s ease;
}

.school-track__promo-img-link:hover {
    transform: translateY(-2px);
}

.school-track__promo-img {
    display: block;
    width: 100%;
    height: auto;
}

.school-track__promo-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: 0.7rem 1.15rem;
    border-radius: 999px;
    background: #16a34a;
    color: #fff !important;
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(22, 163, 74, 0.35);
}

.school-track__promo-cta:hover {
    background: #15803d;
}

.school-track__promo-teaser {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 1rem 0 0;
    padding: 0.75rem 0.85rem;
    border-radius: 1rem;
    text-decoration: none;
    color: inherit;
    background: linear-gradient(135deg, #ecfccb 0%, #d9f99d 55%, #bbf7d0 100%);
    border: 1px solid #a3e635;
    box-shadow: 0 6px 18px rgba(101, 163, 13, 0.2);
    animation: school-track-teaser-pulse 2.4s ease-in-out infinite;
}

.school-track__promo-teasers {
    display: grid;
    gap: 0.6rem;
    margin: 1rem 0 0;
}

.school-track__promo-teasers .school-track__promo-teaser {
    margin: 0;
}

.school-track__promo-teaser--zaino {
    background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 55%, #a5f3fc 100%);
    border-color: #7dd3fc;
    box-shadow: 0 6px 18px rgba(14, 165, 233, 0.18);
}

.school-track__promo-teaser--zaino .school-track__promo-teaser-price {
    background: #0284c7;
}

.school-track__promo-teaser--zaino .school-track__promo-teaser-text strong {
    color: #0c4a6e;
}

.school-track__promo-teaser--zaino .school-track__promo-teaser-text em {
    color: #0369a1;
}

.school-track__promo-teaser--grembiule {
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 55%, #a7f3d0 100%);
    border-color: #6ee7b7;
    box-shadow: 0 6px 18px rgba(5, 150, 105, 0.18);
}

.school-track__promo-teaser--grembiule .school-track__promo-teaser-price {
    background: #059669;
}

.school-track__promo-teaser--grembiule .school-track__promo-teaser-text strong {
    color: #064e3b;
}

.school-track__promo-teaser--grembiule .school-track__promo-teaser-text em {
    color: #047857;
}

.school-track__promo-teaser-price--long {
    width: auto;
    min-width: 3.4rem;
    padding: 0 0.4rem;
    font-size: 0.78rem;
}

.school-track__promo-teaser-price {
    flex: 0 0 auto;
    width: 3.1rem;
    height: 3.1rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #65a30d;
    color: #fff;
    font-weight: 800;
    font-size: 0.95rem;
}

.school-track__promo-teaser-text {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    text-align: left;
    min-width: 0;
}

.school-track__promo-teaser-text strong {
    font-size: 0.95rem;
    color: #14532d;
}

.school-track__promo-teaser-text em {
    font-style: normal;
    font-size: 0.8rem;
    font-weight: 600;
    color: #3f6212;
}

@keyframes school-track-teaser-pulse {
    0%, 100% { transform: translateY(0); box-shadow: 0 6px 18px rgba(101, 163, 13, 0.2); }
    50% { transform: translateY(3px); box-shadow: 0 10px 22px rgba(101, 163, 13, 0.28); }
}

.school-track__dock {
    position: fixed;
    left: 50%;
    bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
    transform: translateX(-50%);
    z-index: 40;
    width: min(26.5rem, calc(100% - 1.5rem));
    display: flex;
    gap: 0.45rem;
    padding: 0.45rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.92);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.35);
    backdrop-filter: blur(8px);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.school-track__dock.is-hidden {
    opacity: 0;
    pointer-events: none;
    transform: translateX(-50%) translateY(120%);
}

.school-track__dock-scroll,
.school-track__dock-wa {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-decoration: none;
    border-radius: 999px;
    padding: 0.55rem 0.85rem;
    line-height: 1.15;
}

.school-track__dock-scroll {
    flex: 1;
    background: #f0fdf4;
    color: #14532d;
}

.school-track__dock-scroll span {
    font-weight: 800;
    font-size: 0.78rem;
}

.school-track__dock-scroll em {
    font-style: normal;
    font-size: 0.72rem;
    font-weight: 600;
    color: #3f6212;
    animation: school-track-dock-bounce 1.4s ease-in-out infinite;
}

.school-track__dock-wa {
    flex: 0 0 auto;
    align-items: center;
    background: #22c55e;
    color: #fff !important;
    font-weight: 800;
    font-size: 0.88rem;
}

@keyframes school-track-dock-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(2px); }
}

#promo-portapranzo,
#promo-grembiule,
#promo-zaino,
#promo-scuola {
    scroll-margin-top: 1.25rem;
}

.school-track__promo + .school-track__promo {
    margin-top: 1.35rem;
    padding-top: 1.25rem;
}

.school-track__hours {
    margin: 1rem 0 0;
    padding: 0.85rem 0.95rem;
    border-radius: 1rem;
    background: linear-gradient(145deg, #fff7ed, #fefce8);
    border: 1px solid #fdba74;
}

.school-track__hours-addr {
    margin: 0 0 0.45rem;
    font-size: 0.95rem;
    font-weight: 800;
    color: #9a3412;
}

.school-track__hours-list {
    margin: 0;
    padding-left: 1.1rem;
    font-size: 0.9rem;
    color: #7c2d12;
    line-height: 1.5;
}

.school-track__hours-bye {
    margin: 0.65rem 0 0;
    font-size: 0.88rem;
    font-weight: 700;
    color: #ea580c;
    text-align: center;
}

.school-track__wa {
    margin: 1rem 0 0;
    padding: 0.75rem 0.85rem;
    text-align: center;
    font-size: 0.92rem;
    color: #334155;
    background: #f0fdf4;
    border: 1px solid #86efac;
    border-radius: 0.85rem;
    line-height: 1.45;
}

.school-track__wa-link {
    display: inline-block;
    margin-left: 0.15rem;
    font-weight: 800;
    color: #15803d;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.school-track__wa-link:hover {
    color: #166534;
}

.school-ord__link {
    font-size: 0.78rem;
    color: #0369a1;
    word-break: break-all;
}

.school-ord__table--wide th:first-child,
.school-ord__table--wide td:first-child {
    min-width: 16rem;
}

.school-ord__kit-desc {
    margin-top: 0.25rem;
    font-size: 0.78rem;
    color: #64748b;
    line-height: 1.3;
}

.school-ord__stock-hint {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-top: 0.4rem;
    max-width: 22rem;
}

.school-ord__stock-chip {
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.12rem 0.4rem;
    border-radius: 6px;
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}

.school-ord__stock-chip strong {
    font-weight: 800;
    margin-left: 0.15rem;
}

.school-ord__stock-chip--zero {
    background: #f8fafc;
    color: #64748b;
    border-color: #e2e8f0;
}

.school-ord__sconto-block {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.school-ord__sconto-label {
    font-size: 0.82rem;
    font-weight: 700;
}

.school-ord__sconto-modes {
    display: inline-flex;
    gap: 0.25rem;
}

.school-ord__sconto-mode {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    font-size: 0.8rem;
    font-weight: 800;
    cursor: pointer;
    background: #fff;
}

.school-ord__sconto-mode.is-on {
    border-color: #0284c7;
    background: #e0f2fe;
    color: #075985;
}

.school-ord__sconto-mode input {
    accent-color: #0284c7;
}

.school-ord__summary-sconto {
    color: #9a3412;
}

.school-ord__money {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.school-ord__omaggio-cell {
    text-align: center;
    vertical-align: middle;
}

.school-ord__omaggio-check {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    cursor: pointer;
    user-select: none;
}

.school-ord__omaggio-tag {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #9a3412;
    background: #ffedd5;
    border-radius: 999px;
    padding: 0.15rem 0.45rem;
}

.school-ord-card__omaggio {
    display: inline-block;
    margin-left: 0.25rem;
    font-size: 0.68rem;
    font-weight: 800;
    color: #9a3412;
    background: #ffedd5;
    border-radius: 999px;
    padding: 0.05rem 0.4rem;
}

.school-ord__stock {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    text-align: center;
}

.school-ord__stock--ok {
    color: #047857;
}

.school-ord__stock--low {
    color: #b45309;
}

.school-ord__stock--zero {
    color: #b91c1c;
}

.school-ord__muted {
    color: #94a3b8;
    font-size: 0.85rem;
}

.school-ord__edit-code {
    font-size: 0.9rem;
    color: #475569;
}

/* —— Coda operatore (schermo live produzione) —— */
.op-queue {
    min-height: 100vh;
    padding: 1rem 1.25rem 2rem;
    background:
        radial-gradient(ellipse 80% 50% at 10% 0%, rgba(0, 174, 239, 0.12), transparent 55%),
        radial-gradient(ellipse 60% 40% at 100% 10%, rgba(245, 158, 11, 0.08), transparent 50%),
        #f4f7fa;
}

.op-queue__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.op-queue__brand {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.op-queue__brand img {
    width: 52px;
    height: 52px;
    object-fit: contain;
}

.op-queue__eyebrow {
    margin: 0;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5a6f7c;
}

.op-queue__brand h1 {
    margin: 0.1rem 0 0;
    font-size: 1.65rem;
    font-weight: 700;
    color: #0f172a;
}

.op-queue__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.op-queue__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.95rem;
    font-variant-numeric: tabular-nums;
}

.op-queue__badge--dtf {
    background: #e0f6fd;
    color: #0369a1;
}

.op-queue__badge--work {
    background: #ecfdf5;
    color: #047857;
}

.op-queue__badge--warn {
    background: #fff7ed;
    color: #c2410c;
}

.op-queue__clock {
    font-variant-numeric: tabular-nums;
    color: #64748b;
    font-size: 0.95rem;
    margin: 0 0.25rem;
}

.op-queue__deadlines {
    background: #fff;
    border: 1px solid #fcd34d;
    border-radius: 12px;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.op-queue__deadlines h2 {
    margin: 0 0 0.5rem;
    font-size: 0.95rem;
    color: #92400e;
}

.op-queue__deadline-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.op-queue__deadline {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.5rem 0.75rem;
    border-radius: 8px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    text-decoration: none;
    color: inherit;
    min-width: 140px;
}

.op-queue__deadline em {
    font-style: normal;
    font-size: 0.85rem;
    color: #b45309;
}

.op-queue__urg--over {
    color: #b91c1c !important;
    font-weight: 700;
}

.op-queue__urg--soon {
    color: #c2410c !important;
    font-weight: 600;
}

.op-queue__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: start;
}

@media (max-width: 960px) {
    .op-queue__grid {
        grid-template-columns: 1fr;
    }
}

.op-queue__col {
    background: #fff;
    border-radius: 14px;
    border: 1px solid #d7e6ee;
    min-height: 50vh;
    overflow: hidden;
}

.op-queue__col-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1.1rem;
    border-bottom: 1px solid #e2e8f0;
}

.op-queue__col--dtf .op-queue__col-head {
    background: linear-gradient(90deg, #e8f8fe, #fff);
}

.op-queue__col--work .op-queue__col-head {
    background: linear-gradient(90deg, #ecfdf5, #fff);
}

.op-queue__col-head h2 {
    margin: 0;
    font-size: 1.15rem;
}

.op-queue__col-head span {
    font-weight: 800;
    font-size: 1.25rem;
    font-variant-numeric: tabular-nums;
    color: #0f172a;
}

.op-queue__empty {
    margin: 0;
    padding: 2rem 1.25rem;
    color: #94a3b8;
    text-align: center;
    font-size: 1.05rem;
}

.op-queue__list {
    list-style: none;
    margin: 0;
    padding: 0.65rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    max-height: calc(100vh - 220px);
    overflow: auto;
}

.op-queue__card {
    display: flex;
    gap: 0.65rem;
    align-items: stretch;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fafcfd;
    overflow: hidden;
}

.op-queue__card--prio {
    border-color: #00aeef;
    box-shadow: inset 3px 0 0 #00aeef;
}

.op-queue__card-main {
    flex: 1;
    padding: 0.75rem 0.9rem;
    text-decoration: none;
    color: inherit;
    min-width: 0;
}

.op-queue__card-main:hover {
    background: #f1f9fc;
}

.op-queue__card-top {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    align-items: baseline;
    margin-bottom: 0.25rem;
}

.op-queue__card-top strong {
    font-size: 1.05rem;
}

.op-queue__age {
    color: #94a3b8;
    font-size: 0.85rem;
    white-space: nowrap;
}

.op-queue__status {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--st, #64748b);
    white-space: nowrap;
}

.op-queue__title {
    font-size: 1rem;
    color: #334155;
    margin-bottom: 0.35rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.op-queue__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    font-size: 0.88rem;
    color: #64748b;
}

.op-queue__thumb {
    flex: 0 0 72px;
    display: block;
    background: #e2e8f0;
}

.op-queue__thumb img {
    width: 72px;
    height: 100%;
    min-height: 72px;
    object-fit: cover;
    display: block;
}



/* —— Pagina pubblica lavorazione /w/{token} —— */
.work-track {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 1.5rem 1rem 2rem;
    background:
        radial-gradient(100% 70% at 0% 0%, #e0f2fe 0%, transparent 55%),
        radial-gradient(80% 60% at 100% 10%, #dbeafe 0%, transparent 50%),
        #f8fafc;
}

.work-track__card {
    width: min(28rem, 100%);
    background: #fff;
    border-radius: 1.35rem;
    padding: 1.4rem 1.25rem 1.35rem;
    border: 1px solid #e2e8f0;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
}

.work-track__logo {
    height: 36px;
    width: auto;
    margin-bottom: 0.85rem;
}

.work-track__eyebrow {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mishirto-cyan, #00aeef);
}

.work-track__title {
    margin: 0.15rem 0 0.25rem;
    font-size: 1.75rem;
    font-weight: 900;
    letter-spacing: -0.03em;
    color: #0f172a;
}

.work-track__cliente {
    margin: 0 0 0.75rem;
    font-size: 1rem;
    color: #334155;
}

.work-track__status {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    color: #0f172a;
    background: color-mix(in srgb, var(--dot, #94a3b8) 18%, #fff);
    margin-bottom: 0.5rem;
}

.work-track__status::before {
    content: "";
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: var(--dot, #94a3b8);
}

.work-track__delivery {
    margin: 0 0 0.85rem;
    font-size: 0.88rem;
    color: #475569;
}

.garment-care {
    margin: 0 0 1rem;
    border: 1px solid #bae6fd;
    border-radius: 12px;
    background: linear-gradient(180deg, #f0f9ff 0%, #fff 70%);
    overflow: hidden;
}

.garment-care > summary {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.75rem 0.85rem;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.garment-care > summary::-webkit-details-marker,
.garment-care > summary::marker {
    display: none;
    content: "";
}

.garment-care > summary:hover {
    background: rgba(14, 165, 233, 0.06);
}

.garment-care__icon {
    flex: 0 0 auto;
    width: 2.1rem;
    height: 2.1rem;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #e0f2fe;
    font-size: 1.05rem;
}

.garment-care__titles {
    display: grid;
    gap: 0.08rem;
    min-width: 0;
}

.garment-care__titles strong {
    font-size: 0.95rem;
    font-weight: 800;
    color: #0c4a6e;
}

.garment-care__titles em {
    font-style: normal;
    font-size: 0.75rem;
    font-weight: 600;
    color: #0369a1;
    line-height: 1.3;
}

.garment-care__chev {
    margin-left: auto;
    width: 0.55rem;
    height: 0.55rem;
    border-right: 2px solid #0284c7;
    border-bottom: 2px solid #0284c7;
    transform: rotate(-45deg);
    transition: transform 0.18s ease;
    flex: 0 0 auto;
}

.garment-care[open] > summary .garment-care__chev {
    transform: rotate(45deg);
}

.garment-care__body {
    padding: 0 0.9rem 0.9rem 0.9rem;
    border-top: 1px dashed #bae6fd;
}

.garment-care__body p {
    margin: 0.7rem 0 0.45rem;
    font-size: 0.86rem;
    line-height: 1.45;
    color: #334155;
}

.garment-care__body ul {
    margin: 0;
    padding: 0 0 0 1.05rem;
    display: grid;
    gap: 0.4rem;
}

.garment-care__body li {
    font-size: 0.86rem;
    line-height: 1.4;
    color: #1e293b;
}

.garment-care__body li strong {
    color: #0c4a6e;
}

.garment-care__foot {
    margin: 0.7rem 0 0 !important;
    font-size: 0.78rem !important;
    color: #64748b !important;
}

.work-track__steps {
    list-style: none;
    margin: 0 0 1.1rem;
    padding: 0;
    display: grid;
    gap: 0.35rem;
}

.work-track__steps li {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.86rem;
    font-weight: 600;
    color: #94a3b8;
}

.work-track__steps li.is-done { color: #0f766e; }
.work-track__steps li.is-current { color: #0369a1; font-weight: 800; }

.work-track__dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: #cbd5e1;
    flex-shrink: 0;
}

.work-track__steps li.is-done .work-track__dot { background: #14b8a6; }
.work-track__steps li.is-current .work-track__dot { background: #0ea5e9; box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.25); }

.work-track__summary {
    margin: 0 0 1rem;
    padding: 0.85rem 0.9rem;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.work-track__summary h2 {
    margin: 0 0 0.55rem;
    font-size: 0.95rem;
    font-weight: 800;
}

.work-track__summary ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.45rem;
}

.work-track__summary li {
    display: grid;
    grid-template-columns: 6.5rem 1fr;
    gap: 0.35rem;
    font-size: 0.88rem;
}

.work-track__summary li > span { color: #64748b; font-weight: 600; }
.work-track__summary li > strong { color: #0f172a; font-weight: 700; }

.work-track__areas div p {
    margin: 0 0 0.25rem;
    color: #0f172a;
}

.work-track__fasce {
    margin-top: 0.65rem;
    padding-top: 0.55rem;
    border-top: 1px dashed #cbd5e1;
}

.work-track__fasce h3 {
    margin: 0 0 0.3rem;
    font-size: 0.8rem;
    font-weight: 800;
    color: #475569;
}

.work-track__fasce p {
    margin: 0;
    font-size: 0.82rem;
    color: #334155;
}

.work-track__totale {
    margin: 0.75rem 0 0;
    font-size: 1.05rem;
    color: #0f172a;
}

.work-track__totale strong {
    font-size: 1.25rem;
    color: #0f766e;
}

.work-track__impianto {
    margin: 0.45rem 0 0;
    font-size: 0.92rem;
    color: #92400e;
}

.work-track__docs {
    margin: 1rem 0 0.5rem;
    padding: 0.85rem 0 0;
    border-top: 1px dashed #cbd5e1;
}

.work-track__docs h2 {
    margin: 0 0 0.55rem;
    font-size: 1.05rem;
    font-weight: 800;
}

.work-track__docs h2:not(:first-child) {
    margin-top: 1rem;
}

.work-track__docs h3 {
    margin: 0.65rem 0 0.35rem;
    font-size: 0.92rem;
    font-weight: 800;
    color: #334155;
}

.work-track__doc-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.4rem;
}

.work-track__doc-list li {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    align-items: center;
    padding: 0.55rem 0.7rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.work-track__doc-list span {
    font-size: 0.78rem;
    color: #64748b;
}

.work-track__doc-link {
    font-weight: 700;
    color: #0284c7;
    text-decoration: none;
}

.work-track__doc-link:hover {
    text-decoration: underline;
}

.work-track__mockups {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.65rem;
}

.work-track__mock {
    margin: 0;
    padding: 0;
    display: block;
    width: 100%;
    text-align: left;
    font: inherit;
    color: inherit;
    background: #fff;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
}

button.work-track__mock:disabled {
    cursor: default;
    opacity: 0.75;
}

.work-track__mock.is-on {
    border-color: #16a34a;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.22);
}

.work-track__mock.is-saved:not(.is-on) {
    border-color: #86efac;
}

.work-track__mock img {
    display: block;
    width: 100%;
    height: 140px;
    object-fit: cover;
    pointer-events: none;
}

.work-track__mock figcaption,
.work-track__mock-cap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    padding: 0.4rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
}

.work-track__mock figcaption em,
.work-track__mock-cap em {
    font-style: normal;
    color: #16a34a;
    font-weight: 800;
}

.work-track__reply--mockup {
    background: #ecfdf5;
    color: #166534;
}

.work-cliente-reply--mockup { color: #15803d; }

.work-track__actions {
    margin: 0.85rem 0 0.5rem;
}

.work-track__actions h2 {
    margin: 0 0 0.25rem;
    font-size: 1.05rem;
    font-weight: 800;
}

.work-track__lead {
    margin: 0 0 0.75rem;
    font-size: 0.9rem;
    color: #64748b;
}

.work-track__btns {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin-bottom: 0.65rem;
}

.work-track__btn {
    border: 1.5px solid #cbd5e1;
    background: #fff;
    border-radius: 12px;
    padding: 0.75rem 1rem;
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f172a;
    cursor: pointer;
    min-height: 2.85rem;
}

.work-track__btn:disabled { opacity: 0.55; cursor: wait; }

.work-track__btn--ok {
    background: #0f766e;
    border-color: #0f766e;
    color: #fff;
}

.work-track__btn--no {
    background: #fff1f2;
    border-color: #fda4af;
    color: #9f1239;
}

.work-track__btn--ask {
    background: #fffbeb;
    border-color: #fbbf24;
    color: #92400e;
}

.work-track__note-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-size: 0.85rem;
    font-weight: 700;
    color: #334155;
    margin-bottom: 0.55rem;
}

.work-track__note {
    margin: 0.75rem 0;
    padding: 0.75rem 0.85rem;
    border-radius: 12px;
    background: #f1f5f9;
    font-size: 0.9rem;
    color: #334155;
}

.work-track__note--ready {
    background: #ecfdf5;
    color: #065f46;
}

.work-track__note--done {
    background: #e0f2fe;
    color: #075985;
}

.work-track__reply {
    margin: 0.65rem 0;
    padding: 0.75rem 0.85rem;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.work-track__reply--done strong { display: block; margin-bottom: 0.15rem; }
.work-track__reply span { font-size: 0.78rem; color: #64748b; }
.work-track__reply p { margin: 0.4rem 0 0; font-size: 0.88rem; color: #334155; }

.work-track__flash {
    margin: 0.55rem 0;
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    font-size: 0.88rem;
    font-weight: 700;
}

.work-track__flash--ok { background: #ecfdf5; color: #065f46; }
.work-track__flash--err { background: #fff1f2; color: #9f1239; }

.work-track__updated {
    margin: 1rem 0 0;
    font-size: 0.75rem;
    color: #94a3b8;
}

.work-cliente-reply--1 { color: #0f766e; }
.work-cliente-reply--2 { color: #9f1239; }
.work-cliente-reply--3 { color: #b45309; }

.work-track__billing {
    margin-top: 1.1rem;
    padding-top: 0.9rem;
    border-top: 1px dashed #cbd5e1;
}

.work-track__billing h2 {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
    font-weight: 800;
}

.work-track__billing-form {
    display: grid;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
}

/* Imbusto scuole (operatore dedicato) */
.imbusto {
    max-width: 920px;
    margin: 0 auto 2rem;
    display: grid;
    gap: 1rem;
}

.imbusto__header {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1rem 1.2rem;
    background: #fff;
    border: 1px solid var(--mishirto-line);
    border-radius: 14px;
    border-top: 4px solid var(--mishirto-cyan);
}

.imbusto__logo {
    height: 52px;
    width: auto;
}

.imbusto__eyebrow {
    margin: 0 0 0.1rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mishirto-cyan);
}

.imbusto__header h1 {
    margin: 0 0 0.15rem;
    font-size: 1.55rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--mishirto-black);
}

.imbusto__lead {
    margin: 0;
    color: var(--mishirto-muted);
    font-size: 0.95rem;
}

.imbusto__scan {
    display: flex;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.imbusto__scan-input {
    flex: 1;
    min-width: 220px;
    font-family: inherit;
    font-size: 1.25rem;
    font-weight: 600;
    padding: 0.85rem 1rem;
    border: 2px solid var(--mishirto-line);
    border-radius: 10px;
    background: #fff;
}

.imbusto__scan-input:focus {
    outline: none;
    border-color: var(--mishirto-cyan);
    box-shadow: 0 0 0 3px rgba(0, 174, 239, 0.18);
}

.imbusto__focus {
    background: #fff;
    border: 1px solid var(--mishirto-line);
    border-radius: 14px;
    padding: 1rem 1.15rem 1.15rem;
    display: grid;
    gap: 0.85rem;
}

.imbusto__focus--done {
    border-color: #22c55e;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.15);
}

.imbusto__focus-top {
    display: flex;
    justify-content: space-between;
    gap: 0.85rem;
    flex-wrap: wrap;
    align-items: flex-start;
}

.imbusto__code {
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: var(--mishirto-cyan);
    text-transform: uppercase;
}

.imbusto__focus h2 {
    margin: 0.15rem 0 0.25rem;
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--mishirto-black);
}

.imbusto__meta {
    margin: 0;
    color: var(--mishirto-muted);
    font-size: 0.92rem;
}

.imbusto__badge {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: 0.75rem;
    font-weight: 800;
}

.imbusto__focus-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.imbusto__progress {
    margin: 0;
    font-size: 1.05rem;
    color: var(--mishirto-ink);
}

.imbusto__lines {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.5rem;
}

.imbusto__line {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.75rem;
    align-items: center;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--mishirto-line);
    border-radius: 10px;
    background: #fafcfd;
}

.imbusto__line.is-found {
    background: #f0fdf4;
    border-color: #86efac;
}

.imbusto__check {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    cursor: pointer;
    min-width: 4.5rem;
}

.imbusto__check input {
    width: 1.45rem;
    height: 1.45rem;
    accent-color: #16a34a;
}

.imbusto__check-label {
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--mishirto-muted);
}

.imbusto__line.is-found .imbusto__check-label {
    color: #166534;
}

.imbusto__line-body {
    display: grid;
    gap: 0.15rem;
}

.imbusto__line-body strong {
    font-size: 1.02rem;
    color: var(--mishirto-black);
}

.imbusto__line-body span {
    color: var(--mishirto-muted);
    font-size: 0.92rem;
}

.imbusto__omaggio {
    display: inline-block;
    width: fit-content;
    margin-top: 0.15rem;
    padding: 0.1rem 0.4rem;
    border-radius: 6px;
    background: #fef3c7;
    color: #92400e;
    font-size: 0.72rem;
    font-weight: 800;
}

.imbusto__queue {
    background: #fff;
    border: 1px solid var(--mishirto-line);
    border-radius: 14px;
    padding: 1rem 1.15rem;
}

.imbusto__queue-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.imbusto__queue-head h2 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 800;
}

.imbusto__queue-head span {
    font-weight: 800;
    color: var(--mishirto-cyan);
}

.imbusto__empty {
    margin: 0;
    color: var(--mishirto-muted);
}

.imbusto__queue-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.45rem;
}

.imbusto__queue-card {
    width: 100%;
    text-align: left;
    display: grid;
    gap: 0.15rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--mishirto-line);
    border-radius: 10px;
    background: #fafcfd;
    cursor: pointer;
    font-family: inherit;
}

.imbusto__queue-card:hover {
    border-color: var(--mishirto-cyan);
}

.imbusto__queue-card.is-on {
    border-color: var(--mishirto-cyan);
    background: var(--mishirto-cyan-soft);
}

.imbusto__queue-card strong {
    color: var(--mishirto-black);
}

.imbusto__queue-card span {
    color: var(--mishirto-ink);
}

.imbusto__queue-card em {
    font-style: normal;
    color: var(--mishirto-muted);
    font-size: 0.88rem;
}

.imbusto-print-modal {
    max-width: 420px;
}

.imbusto-print-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.imbusto--jobs {
    max-width: 1080px;
}

.imbusto__tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
    position: sticky;
    top: 0;
    z-index: 8;
    padding: 0.45rem 0.35rem;
    background: #f4f7fa;
    border-radius: 0 0 14px 14px;
}

.imbusto__tab {
    min-height: 48px;
    border: 1.5px solid var(--mishirto-line);
    border-radius: 12px;
    background: #fff;
    font-weight: 800;
    font-size: 1rem;
    color: var(--mishirto-ink);
    display: grid;
    place-items: center;
    text-decoration: none;
}

.imbusto__tab.is-on {
    background: var(--mishirto-cyan);
    border-color: var(--mishirto-cyan);
    color: #fff;
}

.imb-jobs {
    display: grid;
    gap: 0.85rem;
}

.imb-jobs__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}

.imb-jobs__chip {
    min-height: 42px;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    border: 1.5px solid var(--mishirto-line);
    background: #fff;
    font-weight: 800;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.imb-jobs__chip em {
    font-style: normal;
    font-size: 0.78rem;
    color: var(--mishirto-muted);
}

.imb-jobs__chip.is-on {
    background: var(--mishirto-black);
    border-color: var(--mishirto-black);
    color: #fff;
}

.imb-jobs__chip.is-on em {
    color: #fff;
}

.imb-jobs__reload {
    margin-left: auto;
}

.imb-jobs__deadlines {
    padding: 0.75rem 0.85rem;
    border-radius: 14px;
    border: 1.5px solid #fdba74;
    background: #fff7ed;
}

.imb-jobs__deadlines h3 {
    margin: 0 0 0.5rem;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #9a3412;
}

.imb-jobs__deadline-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.4rem;
}

.imb-jobs__deadline {
    text-align: left;
    border: 1.5px solid #fed7aa;
    background: #fff;
    border-radius: 12px;
    padding: 0.55rem 0.7rem;
    display: grid;
    gap: 0.1rem;
    cursor: pointer;
    min-height: 48px;
}

.imb-jobs__deadline strong {
    font-size: 0.92rem;
}

.imb-jobs__deadline span {
    font-size: 0.88rem;
}

.imb-jobs__deadline em {
    font-style: normal;
    font-size: 0.8rem;
    font-weight: 800;
    color: #9a3412;
}

.imb-jobs__deadline.is-over {
    border-color: #f87171;
    background: #fef2f2;
}

.imb-jobs__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.7rem;
}

.imb-job {
    background: #fff;
    border: 1.5px solid var(--mishirto-line);
    border-radius: 16px;
    overflow: hidden;
}

.imb-job.is-over {
    border-color: #f87171;
}

.imb-job.is-soon {
    border-color: #fb923c;
}

.imb-job.is-open {
    border-color: var(--mishirto-cyan);
    box-shadow: 0 8px 24px rgba(0, 174, 239, 0.12);
}

.imb-job__head {
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: 0.85rem 0.95rem;
    display: grid;
    gap: 0.28rem;
    cursor: pointer;
    list-style: none;
}

.imb-job__head::-webkit-details-marker {
    display: none;
}

.imb-job__ids {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}

.imb-job__code {
    font-weight: 900;
    letter-spacing: 0.02em;
}

.imb-job__status {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.78rem;
    font-weight: 800;
    color: #475569;
}

.imb-job__status::before {
    content: "";
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: var(--dot, #94a3b8);
}

.imb-job__head h3 {
    margin: 0;
    font-size: 1.12rem;
    line-height: 1.25;
}

.imb-job__product {
    margin: 0;
    font-size: 0.9rem;
    color: var(--mishirto-muted);
}

.imb-job__nodate {
    font-size: 0.78rem;
    font-weight: 700;
    color: #94a3b8;
}

.imb-job__chev {
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--mishirto-cyan);
}

.imb-job[open] .imb-job__chev--closed,
.imb-job:not([open]) .imb-job__chev--open {
    display: none;
}

.imb-job__body {
    display: grid;
    gap: 0.75rem;
    padding: 0 0.95rem 0.95rem;
    border-top: 1px dashed #dbe4ee;
}

.imb-job__block h4 {
    margin: 0.7rem 0 0.35rem;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mishirto-cyan);
}

.imb-job__block p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.4;
}

.imb-job__sizes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.imb-job__size-tipo {
    width: 100%;
    font-size: 0.8rem;
    font-weight: 800;
    color: #64748b;
}

.imb-job__size {
    display: grid;
    justify-items: center;
    min-width: 3.4rem;
    padding: 0.4rem 0.5rem;
    border-radius: 12px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
}

.imb-job__size strong {
    font-size: 0.95rem;
}

.imb-job__size em {
    font-style: normal;
    font-size: 0.78rem;
    color: #475569;
}

.imb-job__size--tot {
    background: var(--mishirto-cyan-soft, #e6f7fd);
    border-color: var(--mishirto-cyan);
}

.imb-job__sides {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.45rem;
}

.imb-job__sides li {
    display: grid;
    gap: 0.1rem;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.imb-job__sides span,
.imb-job__sides em {
    font-size: 0.88rem;
    color: #475569;
}

.imb-job__sides em {
    font-style: normal;
}

.imb-job__colors {
    font-weight: 800 !important;
    color: #0f766e !important;
}

.imb-job__tech {
    margin-top: 0.45rem !important;
    font-weight: 800;
    color: #334155;
}

.imb-job__chosen {
    font-weight: 800;
    color: #0f766e;
}

.imb-job__mocks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

.imb-job__mock {
    display: grid;
    gap: 0.25rem;
    text-decoration: none;
    color: inherit;
}

.imb-job__mock img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 12px;
    border: 1.5px solid #cce8f5;
    background: #fff;
}

.imb-job__mock span {
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
    word-break: break-word;
}

.imb-job__mock.is-picked img {
    border-color: #0f766e;
    box-shadow: 0 0 0 2px #99f6e4;
}

.imb-job__note {
    white-space: pre-wrap;
}

@media (min-width: 720px) {
    .imb-jobs__deadline-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imb-job__mocks {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .imbusto__header {
        gap: 0.65rem;
        padding: 0.8rem 0.9rem;
    }

    .imbusto__logo {
        height: 42px;
    }

    .imbusto__header h1 {
        font-size: 1.25rem;
    }

    .imbusto__lead {
        font-size: 0.88rem;
    }

    .imbusto__scan {
        grid-template-columns: 1fr;
    }

    .imbusto__scan-input,
    .imbusto__scan .pack__btn {
        min-height: 48px;
    }

    .imb-job__head h3 {
        font-size: 1.05rem;
    }
}

@media (max-width: 640px) {
    .imbusto__line {
        grid-template-columns: 1fr;
    }

    .imbusto__check {
        flex-direction: row;
        justify-content: flex-start;
        min-width: 0;
    }
}

/* ============================================================
   Lavori — editor a step: cliente, lavoro, lati, extra, prezzo
   ============================================================ */

.work-step {
    grid-column: 1 / -1;
    display: grid;
    gap: 0.75rem;
    padding: 0.9rem 1rem 1rem;
    border: 1.5px solid var(--mishirto-line);
    border-radius: 14px;
    background: #fff;
}

.work-step__head {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
}

.work-step__head h3 {
    margin: 0;
    font-size: 1.02rem;
}

.work-step__head p {
    margin: 0.1rem 0 0;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--mishirto-muted);
}

.work-step__n {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 999px;
    background: var(--mishirto-cyan);
    color: #fff;
    font-weight: 900;
    font-size: 0.9rem;
}

.work-step__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1rem;
    align-items: end;
}

.work-sides {
    display: grid;
    gap: 0.6rem;
}

.work-side {
    border: 1.5px solid var(--mishirto-line);
    border-radius: 12px;
    padding: 0.6rem 0.75rem;
    background: #fafcfd;
    display: grid;
    gap: 0.55rem;
}

.work-side.is-on {
    border-color: var(--mishirto-cyan);
    background: #fff;
}

.work-side__head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.work-side__head .work__check { margin-top: 0; }

.work-side__tech {
    max-width: 12rem;
    font-weight: 700;
}

.work-side__cost {
    margin-left: auto;
    font-weight: 900;
    color: var(--mishirto-cyan-dark, #0284c7);
}

.work-side__fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
    gap: 0.5rem 0.75rem;
}

.work-side__fields--money {
    padding-top: 0.4rem;
    border-top: 1px dashed #dbe7ee;
}

.work-side__hint {
    margin: 0;
    font-size: 0.82rem;
    color: var(--mishirto-muted);
}

.work__field--sm { font-size: 0.8rem; }

.work-extras__presets {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.work-extras__rows {
    display: grid;
    gap: 0.45rem;
}

.work-extras__row {
    display: grid;
    grid-template-columns: minmax(0, 2fr) 6.5rem 9rem auto;
    gap: 0.45rem;
    align-items: center;
}

.work-quote {
    grid-column: 1 / -1;
    border: 1.5px solid var(--mishirto-cyan);
    border-radius: 12px;
    padding: 0.7rem 0.85rem 0.85rem;
    background: var(--mishirto-cyan-soft, #f0f9ff);
}

.work-quote h4 {
    margin: 0 0 0.5rem;
    font-size: 0.95rem;
}

.work-quote__rows {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.3rem;
}

.work-quote__rows li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 0.6rem;
    align-items: baseline;
    font-size: 0.87rem;
}

.work-quote__rows em {
    font-style: normal;
    color: var(--mishirto-muted);
}

.work-quote__rows strong { font-weight: 900; }

.work-quote__total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    margin: 0.6rem 0 0;
    padding-top: 0.5rem;
    border-top: 1.5px solid var(--mishirto-cyan);
    font-size: 0.9rem;
}

.work-quote__total strong { font-size: 1.05rem; }

.work-variants__row {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.work-variants__code {
    font-weight: 900;
    letter-spacing: 0.03em;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: #111;
    color: #fff;
}

.work-variants__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.4rem;
}

.work-variants__list li {
    display: grid;
    grid-template-columns: 6rem minmax(0, 1fr) auto auto;
    gap: 0.6rem;
    align-items: center;
    padding: 0.45rem 0.6rem;
    border: 1px solid var(--mishirto-line);
    border-radius: 10px;
    font-size: 0.85rem;
}

.work-variants__list li.is-current {
    border-color: var(--mishirto-cyan);
    background: var(--mishirto-cyan-soft, #f0f9ff);
}

.work-variants__list span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--mishirto-muted);
}

.work-variants__list em {
    font-style: normal;
    font-weight: 900;
}

.work-track__variants {
    margin-top: 1rem;
    text-align: left;
}

.work-track__variants ul {
    list-style: none;
    margin: 0.5rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.5rem;
}

.work-track__variants li {
    border: 1.5px solid var(--mishirto-line);
    border-radius: 12px;
    padding: 0.6rem 0.75rem;
    display: grid;
    gap: 0.35rem;
}

.work-track__variants li.is-current {
    border-color: var(--mishirto-cyan);
    background: var(--mishirto-cyan-soft, #f0f9ff);
}

.work-track__variants p {
    margin: 0;
    font-size: 0.85rem;
    color: var(--mishirto-muted);
}

.work-track__variant-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.6rem;
}

.work-track__variant-head em {
    font-style: normal;
    font-weight: 900;
}

.work-track__variant-tag {
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--mishirto-cyan-dark, #0284c7);
}

@media (max-width: 720px) {
    .work-step__grid { grid-template-columns: 1fr; }

    .work-extras__row { grid-template-columns: minmax(0, 1fr) auto; }

    .work-variants__list li { grid-template-columns: 1fr; }
}

/* Service DTF — extra e riepilogo calcolato */

.work-dtf__extras {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 1.1rem;
}

.work-dtf__extras .work__check { margin-top: 0; font-size: 0.86rem; }

.work-dtf__quote { margin-top: 0.25rem; }

.work-dtf__tip {
    margin: 0.55rem 0 0;
    padding-top: 0.5rem;
    border-top: 1px dashed var(--mishirto-cyan);
    font-size: 0.83rem;
    font-weight: 600;
}

/* ===== Editor lavori: larghezza ===== */

.work:has(.work-editor-panel) {
    max-width: min(100%, 1560px);
}

@media (min-width: 900px) {
    .work__editor {
        grid-template-columns: minmax(0, 1fr) 300px;
    }

    .work-mock {
        position: sticky;
        top: 1rem;
    }
}

@media (min-width: 1400px) {
    .work__editor {
        grid-template-columns: minmax(0, 1fr) 340px;
        gap: 1.5rem;
    }
}

.work-step__grid {
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
}

.work-step__grid > .work__field--full {
    grid-column: 1 / -1;
}

.work-side__fields {
    grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
}

.work-side__fields > .work__field--full {
    grid-column: 1 / -1;
}

/* ===== Magazzino scuole: elimina riga ===== */

.warehouse-matrix__del-cell {
    width: 40px;
    padding: 0.15rem;
    text-align: center;
}

.warehouse-matrix__del {
    border: 1px solid #fecaca;
    border-radius: 8px;
    background: #fff1f2;
    color: #b91c1c;
    font-weight: 800;
    font-size: 0.8rem;
    line-height: 1;
    padding: 0.3rem 0.45rem;
    cursor: pointer;
}

.warehouse-matrix__del:hover:not(:disabled) {
    background: #fecaca;
}

.warehouse-matrix__del:disabled {
    opacity: 0.45;
    cursor: default;
}

/* ===== Distinta taglie nell'editor lavori ===== */

.work-taglie {
    grid-column: 1 / -1;
    padding: 0.6rem 0.75rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
}

.work-taglie__head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem 1rem;
}

.work-taglie__tipo {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.9rem;
    margin-left: auto;
}

.work-taglie__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(78px, 1fr));
    gap: 0.5rem;
    margin-top: 0.6rem;
}

.work-taglie__cell {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: #475569;
    text-align: center;
}

.work-taglie__cell .pack__input {
    text-align: center;
    padding: 0.35rem 0.3rem;
}

.work-taglie__cell--add {
    color: #94a3b8;
}

.work-taglie__cell--add .pack__input {
    font-size: 0.78rem;
}

.work-taglie__total {
    margin: 0.55rem 0 0;
    font-size: 0.82rem;
    color: #334155;
}

/* ===== Avviso lavorazioni al gruppo aziendale ===== */

.work-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
    margin: 0 0 0.9rem;
    padding: 0.55rem 0.8rem;
    border-radius: 12px;
    background: var(--mishirto-cyan-soft, #f0f9ff);
    font-size: 0.82rem;
}

.work-group__ok {
    font-weight: 800;
    color: var(--mishirto-cyan-dark, #0284c7);
}

.work-group__id {
    font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
    font-size: 0.75rem;
    color: #64748b;
}

.work-group__off {
    color: #b45309;
    font-weight: 700;
}

.work-group .pack__btn {
    min-width: 0;
    margin-left: auto;
    padding: 0.35rem 0.7rem;
    font-size: 0.8rem;
}

/* ===== Ordini scuole: sollecito ritiro ===== */

.school-remind {
    width: min(760px, 96vw);
    max-height: 92vh;
    overflow: auto;
    display: grid;
    gap: 0.85rem;
}

.school-remind h2 {
    margin: 0;
    font-size: 1.15rem;
}

.school-remind__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.school-remind__head .grouping__lead {
    margin: 0.15rem 0 0;
}

.school-remind__opts {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 0.9rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid var(--mishirto-line);
}

.school-remind__opts .work__check {
    margin: 0;
    margin-right: auto;
}

.school-remind__days input {
    width: 4.5rem;
}

.school-remind__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.4rem;
    max-height: 40vh;
    overflow: auto;
}

.school-remind__list li {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr);
    gap: 0.2rem 0.75rem;
    align-items: center;
    padding: 0.45rem 0.6rem;
    border: 1px solid var(--mishirto-line);
    border-radius: 10px;
    font-size: 0.86rem;
}

.school-remind__list li.is-on {
    border-color: var(--mishirto-cyan);
    background: var(--mishirto-cyan-soft, #f0f9ff);
}

.school-remind__list .work__check {
    margin: 0;
}

.school-remind__who em {
    display: block;
    font-style: normal;
    font-size: 0.78rem;
    color: var(--mishirto-muted);
}

.school-remind__meta {
    grid-column: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    font-size: 0.75rem;
}

.school-remind__meta span {
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-weight: 700;
}

.school-remind__meta span.is-warn {
    background: #fef3c7;
    color: #92400e;
}

.school-remind__meta span.is-sent {
    background: #e0f2fe;
    color: #0369a1;
}

.school-remind__preview textarea {
    font-size: 0.82rem;
    line-height: 1.45;
    resize: vertical;
}

/* ===== Ordini scuole: ordine merce da codici ===== */

.school-bulk__codes {
    width: 100%;
    font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
    font-size: 0.95rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    resize: vertical;
}

.school-bulk__opts {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem 0.9rem;
    margin-top: 0.65rem;
}

.school-bulk__opts .work__check {
    margin: 0;
    margin-right: auto;
}

.school-bulk__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.75rem;
}

.school-bulk__chip {
    padding: 0.25rem 0.6rem;
    border: 1px solid var(--mishirto-line);
    border-radius: 999px;
    background: #fff;
    font-size: 0.82rem;
}

.school-bulk__chip strong {
    color: var(--mishirto-cyan-dark, #0284c7);
}

.school-bulk__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

/* ===== Preventivo analitico: voci e sottovoci ===== */

.work-quote__rows li.work-quote__sub {
    padding-left: 0.9rem;
    font-size: 0.8rem;
    color: #475569;
    border-left: 2px solid var(--mishirto-cyan);
}

.work-quote__rows li.work-quote__sub strong {
    font-weight: 700;
}

.work-quote__rows li.work-quote__group {
    margin-top: 0.25rem;
    font-weight: 700;
}

.work-quote__note {
    margin: 0.5rem 0 0;
    font-size: 0.8rem;
    color: #475569;
}

.work-track__quote {
    margin-top: 1rem;
    text-align: left;
}

.work-track__quote h3 {
    margin: 0 0 0.5rem;
    font-size: 1rem;
}

.work-track__quote ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.3rem;
}

.work-track__quote li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.15rem 0.75rem;
    align-items: baseline;
    font-size: 0.88rem;
}

.work-track__quote li em {
    grid-column: 1 / -1;
    font-style: normal;
    font-size: 0.78rem;
    color: var(--mishirto-muted);
}

.work-track__quote li.is-group {
    font-weight: 700;
    padding-top: 0.3rem;
    border-top: 1px solid var(--mishirto-line);
}

.work-track__quote li.is-sub {
    padding-left: 0.85rem;
    border-left: 2px solid var(--mishirto-cyan);
    color: #475569;
}

.work-track__impianto-note {
    margin: 0.6rem 0 0;
    padding: 0.5rem 0.7rem;
    border-radius: 10px;
    background: var(--mishirto-cyan-soft, #f0f9ff);
    font-size: 0.83rem;
}

/* ===== Cliente azienda: dati fatturazione ===== */

.work-billing {
    display: grid;
    gap: 0.65rem;
    padding: 0.6rem 0.75rem 0.7rem;
    border: 1.5px dashed var(--mishirto-line);
    border-radius: 12px;
    background: #fafcfd;
}

.work-billing.is-open {
    border-style: solid;
    border-color: var(--mishirto-cyan);
    background: #fff;
}

.work-billing__toggle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.work-billing__caret {
    color: var(--mishirto-cyan-dark, #0284c7);
    font-weight: 900;
}

.work-billing__opt {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--mishirto-muted);
}

.work-billing__badge {
    margin-left: auto;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: var(--mishirto-cyan-soft, #e0f2fe);
    color: var(--mishirto-cyan-dark, #0284c7);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* ===== Lato DTF: scorciatoia calcolatore ===== */

.work-side__calc {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.work-side__calc-note {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--mishirto-cyan-dark, #0284c7);
}

.dtf-calc-modal {
    width: min(680px, 96vw);
    max-height: 92vh;
    overflow: auto;
    display: grid;
    gap: 0.85rem;
}

.dtf-calc-modal h2 {
    margin: 0;
    font-size: 1.15rem;
}

.dtf-calc__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.dtf-calc__head .grouping__lead {
    margin: 0.15rem 0 0;
}

@media (max-width: 700px) {
    .work-step__grid,
    .work-side__fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .work-extras__row {
        grid-template-columns: minmax(0, 1fr);
    }

    .work-variants__list li {
        grid-template-columns: minmax(0, 1fr);
    }
}
