@import '_content/Logisoft.DesignSystem/Logisoft.DesignSystem.r9vzkihfht.bundle.scp.css';

/* /Components/Pages/Contact.razor.rz.scp.css */
/* Contact page — layout shell only. The form card, fields, controls, segmented
   toggle, checkbox, status panels, and validation styling are the shared
   .nova-form-* vocabulary in wwwroot/css/embed.css. */

.nova-contact[b-z2y0tcmk62] {
    max-width: 640px;
    margin: 0 auto;
    padding: var(--nova-space-6) var(--nova-space-5);
}

.nova-contact-head[b-z2y0tcmk62] {
    display: flex;
    align-items: flex-start;
    gap: var(--nova-space-4);
    margin-bottom: var(--nova-space-6);
}

.nova-contact-head h1[b-z2y0tcmk62] {
    margin: 0 0 4px;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--nova-ink);
}

.nova-contact-sub[b-z2y0tcmk62] {
    margin: 0;
    color: var(--nova-ink-muted);
    line-height: 1.55;
}

/* Scoped overrides of the shared grid for this page's breakpoint. CSS isolation
   scopes these to Contact's own elements, so they outrank the global base. */
@media (max-width: 480px) {
    .nova-contact[b-z2y0tcmk62] {
        padding: var(--nova-space-5) var(--nova-space-4);
    }
    .nova-form-row--two[b-z2y0tcmk62] {
        grid-template-columns: 1fr;
    }
    .nova-form-field--span-2[b-z2y0tcmk62] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Quotation.razor.rz.scp.css */
/* Quotation page — bespoke wizard chrome only. Fields, controls, labels, the
   segmented toggle, honeypot, status panels, and validation styling are the
   shared .nova-form-* vocabulary in wwwroot/css/embed.css. What stays here is
   what tracking/contact do not have: the step indicator, per-section rhythm,
   the derived-CBM output, the multi-unit textarea, the review list, and the
   Back/Continue footer. */

.nova-quote[b-5du29czarv] {
    max-width: 720px;
    margin: 0 auto;
    padding: var(--nova-space-6) var(--nova-space-5);
}

.nova-quote-head[b-5du29czarv] {
    display: flex;
    align-items: flex-start;
    gap: var(--nova-space-4);
    margin-bottom: var(--nova-space-6);
}

.nova-quote-head h1[b-5du29czarv] {
    margin: 0 0 4px;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--nova-ink);
}

.nova-quote-sub[b-5du29czarv] {
    margin: 0;
    color: var(--nova-ink-muted);
    line-height: 1.55;
}

/* Step indicator — sits at the top of the form card. */
.nova-quote-steps[b-5du29czarv] {
    display: flex;
    gap: var(--nova-space-2);
    list-style: none;
    padding: 0;
    margin: 0 0 var(--nova-space-6);
    counter-reset: step;
}

.nova-quote-steps li[b-5du29czarv] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--nova-space-2);
    padding: 8px 12px;
    border-radius: var(--nova-radius);
    background: var(--nova-canvas-sunken);
    color: var(--nova-ink-muted);
    font-size: 13px;
    font-weight: 500;
}

.nova-quote-steps li span[b-5du29czarv] {
    width: 22px;
    height: 22px;
    border-radius: 9999px;
    background: var(--nova-canvas);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 600;
}

.nova-quote-steps li.is-current[b-5du29czarv] {
    background: var(--nova-brand);
    color: var(--nova-brand-foreground);
}

.nova-quote-steps li.is-current span[b-5du29czarv] {
    background: var(--nova-brand-foreground);
    color: var(--nova-brand);
}

.nova-quote-steps li.is-done[b-5du29czarv] {
    background: color-mix(in srgb, var(--nova-brand) 12%, transparent);
    color: var(--nova-brand);
}

/* Per-step rhythm: the section owns the single gap between its fields/rows, so
   the shared .nova-form-field carries no margin of its own. */
.nova-quote-section[b-5du29czarv] {
    display: flex;
    flex-direction: column;
    gap: var(--nova-space-4);
    margin-bottom: var(--nova-space-5);
}

.nova-quote-section h2[b-5du29czarv] {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: var(--nova-ink);
}

.nova-quote-section-h3[b-5du29czarv] {
    margin: 0;
    font-size: 13px;
    font-weight: 500;
    color: var(--nova-ink-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Derived (read-only) CBM output — a dashed control to read as calculated, not
   editable. Matches the shared control height. */
.nova-quote-derived[b-5du29czarv] {
    display: flex;
    align-items: center;
    height: 44px;
    padding: 0 var(--nova-space-4);
    border-radius: var(--nova-radius);
    border: 1px dashed var(--nova-divider);
    background: var(--nova-canvas-sunken);
    color: var(--nova-ink);
    font-size: 15px;
    font-variant-numeric: tabular-nums;
}

.nova-quote-note[b-5du29czarv] {
    margin: 0;
    padding: 10px 12px;
    background: var(--nova-canvas-sunken);
    border-radius: var(--nova-radius);
    font-size: 12px;
    line-height: 1.5;
    color: var(--nova-ink-muted);
}

/* Multi-unit textarea (RoRo multi mode): monospace + tall so the pipe-delimited
   rows line up. Bespoke, not the shared prose control. */
.nova-quote-multiline[b-5du29czarv] {
    width: 100%;
    padding: 10px var(--nova-space-4);
    border-radius: var(--nova-radius);
    border: 1px solid var(--nova-divider);
    background: var(--nova-canvas);
    color: var(--nova-ink);
    font-family: var(--nova-font-mono);
    font-size: 13px;
    line-height: 1.5;
    resize: vertical;
    min-height: 200px;
}

.nova-quote-multiline:focus-visible[b-5du29czarv] {
    outline: none;
    border-color: var(--nova-brand);
    box-shadow: 0 0 0 3px var(--nova-brand-soft);
}

.nova-quote-review dl[b-5du29czarv] {
    margin: 0;
    padding: var(--nova-space-4);
    background: var(--nova-canvas-sunken);
    border-radius: var(--nova-radius);
    display: flex;
    flex-direction: column;
    gap: var(--nova-space-3);
}

.nova-quote-review dl > div[b-5du29czarv] {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: var(--nova-space-3);
}

.nova-quote-review dt[b-5du29czarv] {
    font-size: 12px;
    color: var(--nova-ink-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    align-self: center;
}

.nova-quote-review dd[b-5du29czarv] {
    margin: 0;
    color: var(--nova-ink);
    font-size: 14px;
}

/* Card footer: the Back/Continue pair sits on a divider at the bottom of the
   form card. Not sticky — the iframe renders at full document height
   (scrolling=no + postMessage auto-height), so there is nothing to stick to. */
.nova-quote-nav[b-5du29czarv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--nova-space-3);
    padding: var(--nova-space-4) 0 0;
    border-top: 1px solid var(--nova-divider);
}

.nova-quote-back[b-5du29czarv] {
    color: var(--nova-ink-muted);
    text-decoration: none;
    font-size: 14px;
    padding: 8px 12px;
    border-radius: var(--nova-radius);
    background: none;
    border: none;
    font-family: inherit;
    cursor: pointer;
}

.nova-quote-back:hover[b-5du29czarv] {
    color: var(--nova-ink);
}

.nova-quote-back:focus-visible[b-5du29czarv] {
    outline: 2px solid var(--nova-brand);
    outline-offset: 2px;
}

.nova-quote-back:disabled[b-5du29czarv] {
    opacity: 0.7;
    cursor: not-allowed;
}

.nova-quote-next[b-5du29czarv] {
    height: 44px;
    padding: 0 var(--nova-space-5);
    border: none;
    border-radius: var(--nova-radius);
    background: var(--nova-brand);
    color: var(--nova-brand-foreground);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: filter 120ms ease;
}

.nova-quote-next:hover[b-5du29czarv] {
    filter: brightness(1.05);
}

.nova-quote-next:focus-visible[b-5du29czarv] {
    outline: 2px solid var(--nova-brand);
    outline-offset: 2px;
}

.nova-quote-next:disabled[b-5du29czarv] {
    opacity: 0.7;
    cursor: not-allowed;
}

.nova-quote-ref[b-5du29czarv] {
    color: var(--nova-brand);
    font-family: var(--nova-font-mono);
    font-weight: 600;
}

@media (max-width: 600px) {
    .nova-quote[b-5du29czarv] {
        padding: var(--nova-space-5) var(--nova-space-4);
    }
    /* Scoped to this page's elements, so these outrank the global grid base. */
    .nova-form-row--two[b-5du29czarv],
    .nova-form-row--three[b-5du29czarv],
    .nova-form-row--four[b-5du29czarv] {
        grid-template-columns: 1fr 1fr;
    }
    .nova-form-field--span-2[b-5du29czarv] {
        grid-column: span 1;
    }
    .nova-quote-steps li[b-5du29czarv] {
        font-size: 11px;
        padding: 6px 8px;
    }
    .nova-quote-review dl > div[b-5du29czarv] {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}
/* /Components/Pages/Schedules.razor.rz.scp.css */
.nova-schedules[b-4s5fgn1pjl] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--nova-space-6) var(--nova-space-5);
}

.nova-schedules-head[b-4s5fgn1pjl] {
    display: flex;
    align-items: flex-start;
    gap: var(--nova-space-4);
    margin-bottom: var(--nova-space-6);
}

.nova-schedules-head h1[b-4s5fgn1pjl] {
    margin: 0 0 4px;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--nova-ink);
}

.nova-schedules-sub[b-4s5fgn1pjl] {
    margin: 0;
    color: var(--nova-ink-muted);
    line-height: 1.55;
}

.nova-schedules-form[b-4s5fgn1pjl] {
    display: grid;
    grid-template-columns: 1fr 1fr 180px auto;
    gap: var(--nova-space-3);
    align-items: end;
    padding: var(--nova-space-4);
    background: var(--nova-canvas-sunken);
    border-radius: 8px;
    margin-bottom: var(--nova-space-6);
}

.nova-schedules-field[b-4s5fgn1pjl] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.nova-schedules-label[b-4s5fgn1pjl] {
    font-size: 12px;
    font-weight: 500;
    color: var(--nova-ink-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.nova-schedules-field select[b-4s5fgn1pjl],
.nova-schedules-field input[b-4s5fgn1pjl] {
    height: 40px;
    padding: 0 12px;
    border-radius: 8px;
    border: 1px solid var(--nova-divider);
    background: var(--nova-canvas);
    color: var(--nova-ink);
    font-family: inherit;
    font-size: 14px;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}

.nova-schedules-field select:focus-visible[b-4s5fgn1pjl],
.nova-schedules-field input:focus-visible[b-4s5fgn1pjl] {
    outline: none;
    border-color: var(--nova-brand);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--nova-brand) 18%, transparent);
}

.nova-schedules-submit[b-4s5fgn1pjl] {
    height: 40px;
    padding: 0 var(--nova-space-5);
    border: none;
    border-radius: 8px;
    background: var(--nova-brand);
    color: var(--nova-brand-foreground);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: filter 120ms ease;
}

.nova-schedules-submit:hover[b-4s5fgn1pjl] {
    filter: brightness(1.05);
}

.nova-schedules-submit:focus-visible[b-4s5fgn1pjl] {
    outline: none;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--nova-brand) 18%, transparent);
}

.nova-schedules-submit:disabled[b-4s5fgn1pjl] {
    opacity: 0.65;
    cursor: not-allowed;
}

.nova-schedules-empty[b-4s5fgn1pjl],
.nova-schedules-error[b-4s5fgn1pjl] {
    padding: var(--nova-space-6);
    text-align: center;
    background: var(--nova-canvas-sunken);
    border-radius: 8px;
}

.nova-schedules-empty h2[b-4s5fgn1pjl],
.nova-schedules-error h2[b-4s5fgn1pjl] {
    margin: 0 0 var(--nova-space-2);
    font-size: 18px;
    font-weight: 600;
    color: var(--nova-ink);
}

.nova-schedules-empty p[b-4s5fgn1pjl],
.nova-schedules-error p[b-4s5fgn1pjl] {
    margin: 0;
    color: var(--nova-ink-muted);
}

.nova-schedules-fallback[b-4s5fgn1pjl] {
    display: inline-block;
    margin-top: var(--nova-space-4);
    color: var(--nova-brand);
    text-decoration: none;
    font-weight: 500;
}

.nova-schedules-fallback:hover[b-4s5fgn1pjl] {
    text-decoration: underline;
}

.nova-schedules-grid[b-4s5fgn1pjl] {
    display: flex;
    flex-direction: column;
    gap: var(--nova-space-3);
}

.nova-sailing-card[b-4s5fgn1pjl] {
    border: 1px solid var(--nova-divider);
    border-radius: 8px;
    background: var(--nova-canvas);
    padding: var(--nova-space-4) var(--nova-space-5);
}

.nova-sailing-card-head[b-4s5fgn1pjl] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--nova-space-4);
    gap: var(--nova-space-4);
}

.nova-sailing-kicker[b-4s5fgn1pjl] {
    margin: 0 0 4px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--nova-ink-muted);
    font-weight: 500;
}

.nova-sailing-title[b-4s5fgn1pjl] {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--nova-ink);
    display: flex;
    align-items: baseline;
    gap: var(--nova-space-3);
}

.nova-sailing-voyage[b-4s5fgn1pjl] {
    font-family: var(--nova-font-mono);
    font-size: 12px;
    color: var(--nova-ink-muted);
    font-weight: 500;
    letter-spacing: 0.04em;
    background: var(--nova-canvas-sunken);
    padding: 2px 8px;
    border-radius: 4px;
}

.nova-sailing-cta[b-4s5fgn1pjl] {
    flex: 0 0 auto;
    padding: 8px 14px;
    border-radius: 8px;
    background: var(--nova-brand);
    color: var(--nova-brand-foreground);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    transition: filter 120ms ease;
}

.nova-sailing-cta:hover[b-4s5fgn1pjl] {
    filter: brightness(1.05);
}

.nova-sailing-leg[b-4s5fgn1pjl] {
    margin: 0;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: var(--nova-space-4);
    align-items: center;
}

.nova-sailing-leg div[b-4s5fgn1pjl] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nova-sailing-leg dt[b-4s5fgn1pjl] {
    font-size: 11px;
    color: var(--nova-ink-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.nova-sailing-leg dd[b-4s5fgn1pjl] {
    margin: 0;
}

.nova-sailing-port[b-4s5fgn1pjl] {
    font-size: 15px;
    font-weight: 600;
    color: var(--nova-ink);
}

.nova-sailing-when[b-4s5fgn1pjl] {
    font-size: 13px;
    color: var(--nova-ink);
}

.nova-sailing-cutoff[b-4s5fgn1pjl] {
    font-size: 12px;
    color: var(--nova-ink-muted);
}

.nova-sailing-sep[b-4s5fgn1pjl] {
    color: var(--nova-ink-muted);
    font-size: 18px;
    align-self: center;
}

.nova-sailing-transit[b-4s5fgn1pjl] {
    margin: 4px 0 0;
    font-size: 12px;
    font-weight: 500;
    color: var(--nova-ink-muted);
}

.nova-sailing-terminal[b-4s5fgn1pjl] {
    font-size: 12px;
    color: var(--nova-ink-muted);
}

.nova-sailing-transship[b-4s5fgn1pjl] {
    margin: var(--nova-space-3) 0 0;
    padding-top: var(--nova-space-3);
    border-top: 1px solid var(--nova-divider);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nova-sailing-transship-port[b-4s5fgn1pjl] {
    margin: 0;
    font-size: 12px;
    color: var(--nova-ink);
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--nova-space-3);
}

.nova-sailing-transship-label[b-4s5fgn1pjl] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--nova-ink-muted);
    font-weight: 500;
}

.nova-sailing-transship-when[b-4s5fgn1pjl] {
    color: var(--nova-ink-muted);
}

.nova-sailing-transship-onward[b-4s5fgn1pjl] {
    margin: 0;
    font-size: 12px;
    color: var(--nova-ink-muted);
    display: flex;
    align-items: baseline;
    gap: var(--nova-space-3);
}

.nova-schedules-disclaimer[b-4s5fgn1pjl] {
    margin: var(--nova-space-5) 0 0;
    padding: var(--nova-space-3) var(--nova-space-4);
    background: var(--nova-canvas-sunken);
    border-radius: 8px;
    color: var(--nova-ink-muted);
    font-size: 12px;
    line-height: 1.5;
}

.nova-sailing-card--skeleton .nova-sailing-bar[b-4s5fgn1pjl] {
    height: 12px;
    background: var(--nova-divider);
    border-radius: 4px;
    margin-bottom: var(--nova-space-3);
    animation: nova-pulse-b-4s5fgn1pjl 1.4s ease-in-out infinite;
}

.nova-sailing-card--skeleton .nova-sailing-bar--short[b-4s5fgn1pjl] {
    width: 40%;
}

@keyframes nova-pulse-b-4s5fgn1pjl {
    0%, 100% { opacity: 0.7; }
    50% { opacity: 0.3; }
}

@media (prefers-reduced-motion: reduce) {
    .nova-sailing-card--skeleton .nova-sailing-bar[b-4s5fgn1pjl] {
        animation: none;
    }
}

@media (max-width: 720px) {
    .nova-schedules-form[b-4s5fgn1pjl] {
        grid-template-columns: 1fr 1fr;
    }
    .nova-schedules-submit[b-4s5fgn1pjl] {
        grid-column: 1 / -1;
    }
    .nova-sailing-card-head[b-4s5fgn1pjl] {
        flex-direction: column;
    }
    .nova-sailing-leg[b-4s5fgn1pjl] {
        grid-template-columns: 1fr;
        gap: var(--nova-space-3);
    }
    .nova-sailing-sep[b-4s5fgn1pjl] {
        display: none;
    }
}
/* /Components/Pages/Tracking.razor.rz.scp.css */
/* Tracking page — focal point is the shipment timeline.
   Page-local until NovaShipmentTimeline graduates into the shared DS
   (see roadmap §Slice 3 — DS extraction is a Phase C precondition). */

.nova-track[b-utnolks0d9] {
    max-width: 720px;
    margin: 0 auto;
    padding: var(--nova-space-6) var(--nova-space-5);
}

.nova-track-head[b-utnolks0d9] {
    display: flex;
    align-items: center;
    gap: var(--nova-space-4);
    margin-bottom: var(--nova-space-6);
}

.nova-track-title[b-utnolks0d9] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.nova-track-title h1[b-utnolks0d9] {
    font-size: 22px;
    font-weight: 600;
    margin: 0;
    letter-spacing: -0.01em;
    color: var(--nova-ink);
}

.nova-track-form[b-utnolks0d9] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--nova-space-3);
    align-items: end;
    max-width: 520px;
    margin-bottom: var(--nova-space-6);
}

.nova-track-field[b-utnolks0d9] {
    display: flex;
    flex-direction: column;
    gap: var(--nova-space-2);
}

.nova-track-label[b-utnolks0d9] {
    font-size: 12px;
    font-weight: 500;
    color: var(--nova-ink-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.nova-track-field input[b-utnolks0d9] {
    height: 44px;
    padding: 0 var(--nova-space-4);
    border-radius: var(--nova-radius);
    border: 1px solid var(--nova-divider);
    background: var(--nova-canvas);
    color: var(--nova-ink);
    font-size: 15px;
    letter-spacing: 0.02em;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}

.nova-track-field input:focus[b-utnolks0d9] {
    outline: none;
    border-color: var(--nova-brand);
    box-shadow: 0 0 0 3px var(--nova-brand-soft);
}

.nova-track-submit[b-utnolks0d9] {
    height: 44px;
    padding: 0 var(--nova-space-5);
    border: none;
    border-radius: var(--nova-radius);
    background: var(--nova-brand);
    color: var(--nova-brand-foreground);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: filter 120ms ease;
}

.nova-track-submit:hover[b-utnolks0d9] {
    filter: brightness(1.05);
}

.nova-track-submit:focus-visible[b-utnolks0d9] {
    outline: none;
    box-shadow: 0 0 0 3px var(--nova-brand-soft);
}

.nova-track-submit:disabled[b-utnolks0d9] {
    opacity: 0.65;
    cursor: not-allowed;
}

/* Loading skeleton, shown while the lookup is in flight. StreamRendering flushes this
   frame to the response before the async CoreApi call completes, then streams the real
   result in over the same request (no SignalR/interactivity required). */
.nova-track-skeleton[b-utnolks0d9] {
    display: flex;
    flex-direction: column;
    gap: var(--nova-space-3);
    padding: var(--nova-space-6);
    border: 1px solid var(--nova-divider);
    border-radius: var(--nova-radius);
    background: var(--nova-canvas);
}

.nova-track-skeleton-line[b-utnolks0d9] {
    height: 14px;
    border-radius: var(--nova-radius);
    background: var(--nova-canvas-sunken);
    animation: nova-track-pulse-b-utnolks0d9 1.4s ease-in-out infinite;
}

.nova-track-skeleton-line--title[b-utnolks0d9] {
    width: 40%;
    height: 18px;
}

.nova-track-skeleton-line--short[b-utnolks0d9] {
    width: 60%;
}

@keyframes nova-track-pulse-b-utnolks0d9 {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nova-track-skeleton-line[b-utnolks0d9] {
        animation: none;
    }
}

.nova-track-empty[b-utnolks0d9],
.nova-track-notfound[b-utnolks0d9],
.nova-track-error[b-utnolks0d9] {
    padding: var(--nova-space-6);
    border-radius: var(--nova-radius);
    background: var(--nova-canvas-sunken);
    text-align: center;
}

.nova-track-empty p[b-utnolks0d9],
.nova-track-notfound p[b-utnolks0d9],
.nova-track-error p[b-utnolks0d9] {
    margin: var(--nova-space-2) 0 0;
    color: var(--nova-ink-muted);
    line-height: 1.55;
}

.nova-track-notfound h2[b-utnolks0d9],
.nova-track-error h2[b-utnolks0d9] {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--nova-ink);
}

/* Shipment focal card */
.nova-shipment[b-utnolks0d9] {
    border: 1px solid var(--nova-divider);
    border-radius: var(--nova-radius);
    background: var(--nova-canvas);
    box-shadow: var(--nova-shadow-low);
    overflow: hidden;
}

.nova-shipment-head[b-utnolks0d9] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--nova-space-5);
    align-items: center;
    padding: var(--nova-space-5);
    border-bottom: 1px solid var(--nova-divider);
}

.nova-shipment-kicker[b-utnolks0d9] {
    margin: 0 0 4px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--nova-ink-muted);
    font-weight: 500;
}

.nova-shipment-serial[b-utnolks0d9] {
    margin: 0;
    font-family: var(--nova-font-mono);
    font-size: 18px;
    font-weight: 600;
    color: var(--nova-ink);
    letter-spacing: 0.02em;
}

.nova-shipment-route[b-utnolks0d9] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--nova-space-4);
}

.nova-shipment-route div[b-utnolks0d9] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: right;
}

.nova-shipment-route div:first-child[b-utnolks0d9] {
    text-align: left;
}

.nova-shipment-route dt[b-utnolks0d9] {
    font-size: 11px;
    color: var(--nova-ink-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.nova-shipment-route dd[b-utnolks0d9] {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--nova-ink);
}

.nova-shipment-route-sep[b-utnolks0d9] {
    color: var(--nova-ink-muted);
    font-size: 18px;
    align-self: center;
    transform: translateY(8px);
}

/* Timeline — the focal point */
.nova-timeline[b-utnolks0d9] {
    list-style: none;
    margin: 0;
    padding: var(--nova-space-5);
    display: flex;
    flex-direction: column;
    gap: 0;
}

.nova-timeline-step[b-utnolks0d9] {
    position: relative;
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: var(--nova-space-3);
    padding: var(--nova-space-3) 0;
}

.nova-timeline-step:not(:last-child)[b-utnolks0d9]::after {
    content: "";
    position: absolute;
    left: 11px;
    top: 28px;
    bottom: -4px;
    width: 2px;
    background: var(--nova-divider);
}

.nova-timeline-marker[b-utnolks0d9] {
    width: 24px;
    height: 24px;
    border-radius: 9999px;
    border: 2px solid var(--nova-divider);
    background: var(--nova-canvas);
    align-self: start;
    position: relative;
    z-index: 1;
}

.nova-timeline-step--done .nova-timeline-marker[b-utnolks0d9] {
    border-color: var(--nova-brand);
    background: var(--nova-brand);
}

.nova-timeline-step--pending .nova-timeline-marker[b-utnolks0d9] {
    border-style: dashed;
}

.nova-timeline-title[b-utnolks0d9] {
    margin: 0 0 2px;
    font-size: 14px;
    font-weight: 600;
    color: var(--nova-ink);
}

.nova-timeline-step--pending .nova-timeline-title[b-utnolks0d9] {
    color: var(--nova-ink-muted);
    font-weight: 500;
}

.nova-timeline-meta[b-utnolks0d9] {
    margin: 0;
    font-size: 13px;
    color: var(--nova-ink-muted);
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-wrap: wrap;
}

.nova-timeline-sep[b-utnolks0d9] {
    color: var(--nova-divider);
}

.nova-timeline-pending[b-utnolks0d9] {
    font-style: italic;
}

.nova-shipment-foot[b-utnolks0d9] {
    display: flex;
    gap: var(--nova-space-6);
    padding: var(--nova-space-4) var(--nova-space-5);
    background: var(--nova-canvas-sunken);
    border-top: 1px solid var(--nova-divider);
}

.nova-shipment-foot dt[b-utnolks0d9] {
    font-size: 11px;
    color: var(--nova-ink-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 2px;
}

.nova-shipment-foot dd[b-utnolks0d9] {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--nova-ink);
}

@media (max-width: 480px) {
    .nova-track[b-utnolks0d9] {
        padding: var(--nova-space-5) var(--nova-space-4);
    }
    .nova-track-form[b-utnolks0d9] {
        grid-template-columns: 1fr;
    }
    .nova-shipment-head[b-utnolks0d9] {
        grid-template-columns: 1fr;
        gap: var(--nova-space-4);
    }
    .nova-shipment-route[b-utnolks0d9] {
        justify-content: flex-start;
    }
    .nova-shipment-route div[b-utnolks0d9],
    .nova-shipment-route div:first-child[b-utnolks0d9] {
        text-align: left;
    }
}
/* /Components/Shared/PoweredByLogisoft.razor.rz.scp.css */
.nova-powered-by[b-l53nuj99f7] {
    display: flex;
    justify-content: center;
    margin-top: var(--nova-space-6);
    padding-top: var(--nova-space-4);
}

.nova-powered-by-link[b-l53nuj99f7] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--nova-ink-muted);
    text-decoration: none;
    opacity: 0.7;
    transition: opacity 120ms ease, color 120ms ease;
}

.nova-powered-by-link:hover[b-l53nuj99f7],
.nova-powered-by-link:focus-visible[b-l53nuj99f7] {
    opacity: 1;
    color: var(--nova-ink);
}

.nova-powered-by-link:focus-visible[b-l53nuj99f7] {
    outline: 2px solid var(--nova-brand);
    outline-offset: 3px;
    border-radius: 4px;
}

.nova-powered-by-label[b-l53nuj99f7] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.nova-powered-by-mark[b-l53nuj99f7] {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.02em;
}
