.mw-dashboard-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 48px 24px;
    background: #032532;
    color: #fff;
    font-family: "Space Grotesk", Arial, sans-serif;
}

.mw-dashboard-panel {
    width: min(720px, 100%);
    padding: 56px;
    background: #fff;
    color: #032532;
    border-top: 4px solid #0eb6bd;
    box-shadow: 0 24px 64px rgba(0, 0, 0, .18);
}

.mw-dashboard-eyebrow {
    margin: 0 0 12px;
    color: #0eb6bd;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.mw-dashboard-panel h1 {
    margin: 0 0 16px;
    font-size: clamp(2rem, 5vw, 3.5rem);
}

.mw-dashboard-muted {
    margin: 0;
    color: #667177;
    line-height: 1.7;
}

.mw-dashboard-shell--top {
    display: block;
    padding-top: 52px;
}

.mw-dashboard-panel--wide {
    width: min(1180px, 100%);
    margin: 0 auto;
}

.mw-account-nav {
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 0 5vw;
    background: #02202b;
    color: #fff;
    font-family: "Space Grotesk", Arial, sans-serif;
}

.mw-account-brand, .mw-auth-brand {
    color: #fff;
    font-weight: 800;
    letter-spacing: .08em;
    text-decoration: none;
}

.mw-account-brand span, .mw-auth-brand span {
    color: #0eb6bd;
    font-weight: 500;
}

.mw-account-links {
    display: flex;
    align-items: center;
    gap: 18px;
}

.mw-account-links a, .mw-account-links button {
    border: 0;
    background: transparent;
    color: #d7e7e9;
    cursor: pointer;
    font: inherit;
    text-decoration: none;
}

.mw-account-links a:hover, .mw-account-links button:hover {
    color: #0eb6bd;
}

.mw-account-menu-toggle {
    display: none;
    padding: 8px 10px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 6px;
    background: transparent;
    color: #fff;
    cursor: pointer;
    font: inherit;
}

.mw-account-dropdown {
    position: relative;
}

.mw-account-dropdown > button {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.mw-account-dropdown > button span {
    color: #7ec7c8;
    font-size: 12px;
}

.mw-account-dropdown > div {
    position: absolute;
    z-index: 60;
    top: calc(100% + 12px);
    left: 50%;
    display: none;
    min-width: 205px;
    padding: 8px;
    border: 1px solid rgba(14,182,189,.22);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 15px 35px rgba(0, 25, 35, .2);
    transform: translateX(-50%);
}

.mw-account-dropdown.is-open > div {
    display: grid;
    gap: 2px;
}

.mw-account-dropdown > div a {
    display: block;
    padding: 9px 11px;
    border-radius: 5px;
    color: #163943;
    font-size: 12px;
}

.mw-account-dropdown > div a:hover {
    background: #edf8f8;
    color: #0b8e97;
}

.mw-document-type-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 22px 0;
}

.mw-document-type-card {
    display: grid;
    gap: 7px;
    min-height: 112px;
    padding: 15px;
    border: 1px solid var(--mw-admin-border);
    border-radius: 9px;
    background: var(--mw-admin-card);
    color: var(--mw-admin-text);
    text-decoration: none;
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.mw-document-type-card:hover {
    border-color: var(--mw-admin-teal);
    box-shadow: 0 8px 22px rgba(49,157,150,.12);
    color: var(--mw-admin-teal-dark);
    transform: translateY(-2px);
}

.mw-document-type-icon {
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    border-radius: 7px;
    background: #e4f4f2;
    color: var(--mw-admin-teal-dark);
    font-size: 10px;
    font-weight: 800;
}

.mw-document-type-card strong {
    font-size: 12px;
    line-height: 1.35;
}

.mw-document-type-card small {
    color: var(--mw-admin-muted);
    font-size: 10px;
}

.mw-document-generator-card {
    grid-column: span 2;
}

.mw-document-feature-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: linear-gradient(145deg, #193f48, #0b6c70);
    color: #fff;
}

.mw-document-feature-card h2 {
    max-width: 360px;
    margin: 10px 0;
    font-size: 27px;
    line-height: 1.1;
}

.mw-document-feature-card p {
    max-width: 430px;
    color: rgba(255,255,255,.78);
    line-height: 1.7;
}

.mw-document-feature-kicker {
    color: #94ece7;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.mw-document-feature-list {
    display: grid;
    gap: 8px;
    margin-top: 14px;
    color: #d7f4f0;
    font-size: 12px;
}

.mw-document-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 4px 0 16px;
}

.mw-document-options label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--mw-admin-muted);
    font-size: 11px;
}

.mw-document-options input {
    accent-color: var(--mw-admin-teal);
}

.mw-document-history-card {
    margin-top: 20px;
}

.mw-document-file--pdf {
    display: inline-grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 6px;
    background: #fff0ec;
    color: #d5684d;
    font-size: 9px;
    font-weight: 800;
}

.mw-stat-grid, .mw-card-grid, .mw-settings-grid, .mw-role-grid {
    display: grid;
    gap: 18px;
    margin-top: 28px;
}

.mw-stat-grid {
    grid-template-columns: repeat(4, 1fr);
}

.mw-stat, .mw-card-link, .mw-settings-card {
    padding: 22px;
    border: 1px solid #dbe7e9;
    background: #f8fbfb;
}

.mw-stat strong {
    display: block;
    color: #032532;
    font-size: 2rem;
}

.mw-stat span, .mw-card-link span, .mw-table small {
    display: block;
    color: #667177;
    font-size: .85rem;
}

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

.mw-card-link {
    color: #032532;
    text-decoration: none;
}

.mw-card-link strong {
    display: block;
    margin-bottom: 8px;
    font-size: 1.1rem;
}

.mw-card-link:hover {
    border-color: #0eb6bd;
}

.mw-auth-page {
    min-height: 100vh;
    margin: 0;
    background: #032532;
    font-family: "Space Grotesk", Arial, sans-serif;
}

.mw-auth-shell {
    width: min(560px, calc(100% - 32px));
    margin: 0 auto;
    padding: 48px 0;
}

.mw-auth-brand {
    display: inline-block;
    margin-bottom: 24px;
    font-size: 1.25rem;
}

.mw-auth-card {
    padding: clamp(26px, 5vw, 54px);
    background: #fff;
    border-top: 4px solid #0eb6bd;
    box-shadow: 0 24px 64px rgba(0, 0, 0, .18);
}

.mw-auth-card h1 {
    margin: 0 0 12px;
    color: #032532;
    font-size: clamp(2rem, 5vw, 3rem);
}

.mw-form {
    display: grid;
    gap: 14px;
    margin-top: 24px;
}

.mw-form label {
    display: grid;
    gap: 7px;
    color: #173d47;
    font-size: .9rem;
    font-weight: 700;
}

.mw-form input, .mw-form select {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 13px;
    border: 1px solid #bfced1;
    border-radius: 2px;
    color: #032532;
    font: inherit;
}

.mw-form input:focus, .mw-form select:focus {
    outline: 2px solid #0eb6bd;
    outline-offset: 1px;
}

.mw-button {
    width: fit-content;
    padding: 12px 20px;
    border: 0;
    background: #0eb6bd;
    color: #032532;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
}

.mw-button:hover {
    background: #087e88;
    color: #fff;
}

.mw-auth-footer {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 24px;
    font-size: .9rem;
}

.mw-auth-footer a, .mw-text-button {
    border: 0;
    padding: 0;
    background: none;
    color: #087e88;
    cursor: pointer;
    font: inherit;
    text-decoration: underline;
}

.mw-checkbox {
    display: flex !important;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 8px !important;
    font-weight: 400 !important;
}

.mw-checkbox input {
    width: auto;
}

.mw-alert {
    margin: 18px 0;
    padding: 13px 16px;
    border-left: 4px solid;
    font-size: .92rem;
}

.mw-alert--success { border-color: #15945a; background: #eaf8f0; color: #145a3a; }
.mw-alert--error { border-color: #b83d48; background: #fff0f1; color: #7c2630; }
.mw-alert ul { margin: 6px 0 0; padding-left: 18px; }

.mw-table-wrap {
    margin-top: 28px;
    overflow-x: auto;
}

.mw-table {
    width: 100%;
    border-collapse: collapse;
    color: #173d47;
    font-size: .9rem;
}

.mw-table th, .mw-table td {
    padding: 14px 12px;
    border-bottom: 1px solid #dbe7e9;
    text-align: left;
    vertical-align: top;
}

.mw-table th {
    background: #eef6f7;
    color: #032532;
    font-size: .78rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.mw-table td strong {
    display: block;
    color: #032532;
}

.mw-pill {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 99px;
    background: #edf2f3;
    color: #506268;
    font-size: .76rem;
    font-weight: 700;
}
.mw-pill--success { background: #e4f5ec; color: #17613e; }
.mw-pill--danger { background: #ffe6e8; color: #8d2632; }

.mw-disclosure {
    margin-top: 28px;
    padding: 16px 18px;
    border: 1px solid #dbe7e9;
}

.mw-disclosure summary {
    cursor: pointer;
    color: #087e88;
    font-weight: 800;
}

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

.mw-compact-form {
    min-width: 220px;
}

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

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

.mw-settings-card h2 {
    margin: 0;
    color: #032532;
    font-size: 1.2rem;
}

.mw-permission-list {
    display: grid;
    gap: 8px;
    margin: 18px 0;
}

.mw-pagination {
    margin-top: 22px;
}

@media (max-width: 720px) {
    .mw-account-nav {
        align-items: flex-start;
        flex-direction: column;
        padding: 18px 24px;
    }
    .mw-account-links {
        flex-wrap: wrap;
        gap: 12px;
    }
    .mw-stat-grid, .mw-card-grid, .mw-settings-grid, .mw-role-grid, .mw-inline-form {
        grid-template-columns: 1fr;
    }
    .mw-dashboard-shell {
        padding: 28px 16px;
    }
    .mw-dashboard-panel {
        padding: 28px 22px;
    }
    .mw-auth-shell {
        padding-top: 24px;
    }
    .mw-auth-footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* ───────────────────────────────────────────────────────────────────────────
   Enterprise admin workspace
   ─────────────────────────────────────────────────────────────────────────── */
:root {
    --mw-admin-bg: #f6f7f8;
    --mw-admin-card: #fff;
    --mw-admin-text: #25282d;
    --mw-admin-muted: #97999f;
    --mw-admin-border: #ececef;
    --mw-admin-sidebar: #fff;
    --mw-admin-teal: #319d96;
    --mw-admin-teal-dark: #258c86;
    --mw-admin-orange: #f28f5b;
    --mw-admin-purple: #9278d1;
    --mw-admin-blue: #7296d7;
    --mw-admin-shadow: 0 8px 24px rgba(40, 47, 55, .035);
}

.mw-admin-app {
    margin: 0;
    min-width: 320px;
    background: var(--mw-admin-bg);
    color: var(--mw-admin-text);
    font-family: "Space Grotesk", Arial, sans-serif;
}

.mw-admin-shell {
    --mw-sidebar-width: 253px;
    min-height: 100vh;
    display: flex;
    background: var(--mw-admin-bg);
    transition: background .25s ease;
}

.mw-admin-shell[data-theme="dark"] {
    --mw-admin-bg: #151b21;
    --mw-admin-card: #1d252c;
    --mw-admin-text: #edf4f3;
    --mw-admin-muted: #9ca9aa;
    --mw-admin-border: #2b373d;
    --mw-admin-sidebar: #192127;
    --mw-admin-shadow: 0 8px 24px rgba(0, 0, 0, .12);
}

.mw-admin-sidebar {
    position: fixed;
    z-index: 20;
    top: 0;
    bottom: 0;
    left: 0;
    width: var(--mw-sidebar-width);
    display: flex;
    flex-direction: column;
    background: var(--mw-admin-sidebar);
    border-right: 1px solid var(--mw-admin-border);
    transition: width .25s ease, transform .25s ease, background .25s ease;
}

.mw-admin-scrim {
    display: none;
}

.mw-admin-brand-row {
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 17px 0 25px;
    background: var(--mw-admin-teal);
}

.mw-admin-brand {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .045em;
    text-decoration: none;
}

.mw-admin-brand-mark {
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border: 2px solid rgba(255,255,255,.85);
    border-radius: 50%;
    font-size: 17px;
    font-weight: 500;
}

.mw-icon-button, .mw-mobile-menu, .mw-topbar-circle, .mw-topbar-text, .mw-card-menu {
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
}

.mw-sidebar-collapse {
    width: 38px;
    height: 38px;
    display: grid;
    place-content: center;
    gap: 4px;
    border-radius: 50%;
    background: rgba(255,255,255,.16);
}

.mw-sidebar-collapse span {
    width: 14px;
    height: 1.5px;
    display: block;
    background: #fff;
    transition: transform .2s ease;
}

.mw-sidebar-scroll {
    flex: 1;
    overflow-y: auto;
    padding: 26px 14px 22px;
}

.mw-sidebar-label {
    margin: 0 16px 10px;
    color: #a8a8ac;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.mw-sidebar-label:not(:first-child) {
    margin-top: 26px;
}

.mw-sidebar-nav {
    display: grid;
    gap: 3px;
}

.mw-sidebar-nav a {
    min-height: 43px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 0 14px;
    border-radius: 5px;
    color: #46494d;
    font-size: 14px;
    text-decoration: none;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}

.mw-admin-shell[data-theme="dark"] .mw-sidebar-nav a {
    color: #c6d0d1;
}

.mw-sidebar-nav a:hover {
    background: rgba(49,157,150,.09);
    color: var(--mw-admin-teal-dark);
    transform: translateX(2px);
}

.mw-sidebar-nav a.is-active {
    background: #dff1f0;
    color: var(--mw-admin-teal-dark);
    font-weight: 600;
}

.mw-admin-shell[data-theme="dark"] .mw-sidebar-nav a.is-active {
    background: rgba(49,157,150,.2);
    color: #9be0dc;
}

.mw-nav-icon {
    width: 19px;
    color: #72777b;
    font-size: 18px;
    line-height: 1;
    text-align: center;
}

.mw-sidebar-nav a.is-active .mw-nav-icon, .mw-sidebar-nav a:hover .mw-nav-icon {
    color: var(--mw-admin-teal);
}

.mw-sidebar-nav b {
    min-width: 21px;
    margin-left: auto;
    padding: 2px 5px;
    border-radius: 99px;
    background: var(--mw-admin-teal);
    color: #fff;
    font-size: 10px;
    text-align: center;
}

.mw-sidebar-nav i {
    margin-left: auto;
    color: #9c9da0;
    font-size: 20px;
    font-style: normal;
}

.mw-sidebar-group {
    display: grid;
    gap: 3px;
}

.mw-sidebar-group-toggle {
    width: 100%;
    min-height: 43px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 0 14px;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #46494d;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    text-align: left;
    transition: background .18s ease, color .18s ease;
}

.mw-admin-shell[data-theme="dark"] .mw-sidebar-group-toggle {
    color: #c6d0d1;
}

.mw-sidebar-group-toggle:hover, .mw-sidebar-group.is-open > .mw-sidebar-group-toggle {
    background: rgba(49,157,150,.09);
    color: var(--mw-admin-teal-dark);
}

.mw-sidebar-group-toggle i {
    margin-left: auto;
    color: #9c9da0;
    font-size: 20px;
    font-style: normal;
    transition: transform .18s ease;
}

.mw-sidebar-group.is-open > .mw-sidebar-group-toggle i {
    transform: rotate(90deg);
}

.mw-sidebar-subnav {
    display: none;
    gap: 2px;
    margin-left: 32px;
    padding-left: 12px;
    border-left: 1px solid var(--mw-admin-border);
}

.mw-sidebar-group.is-open .mw-sidebar-subnav {
    display: grid;
}

.mw-sidebar-subnav a {
    min-height: 34px;
    display: flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 4px;
    color: #747b7d;
    font-size: 12px;
    text-decoration: none;
}

.mw-sidebar-subnav a:hover, .mw-sidebar-subnav a:focus {
    background: rgba(49,157,150,.08);
    color: var(--mw-admin-teal-dark);
}

.mw-sidebar-footer {
    padding: 18px 18px 21px;
    border-top: 1px solid var(--mw-admin-border);
}

.mw-sidebar-status {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}

.mw-status-dot, .mw-notification-dot {
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    display: inline-block;
    border-radius: 50%;
    background: #45ba78;
}

.mw-sidebar-status strong, .mw-sidebar-status small {
    display: block;
}

.mw-sidebar-status strong {
    color: var(--mw-admin-text);
    font-size: 12px;
}

.mw-sidebar-status small {
    margin-top: 3px;
    color: var(--mw-admin-muted);
    font-size: 10px;
}

.mw-sidebar-logout {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--mw-admin-muted);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
}

.mw-sidebar-logout:hover {
    color: var(--mw-admin-teal);
}

.mw-admin-main {
    flex: 1;
    min-width: 0;
    margin-left: var(--mw-sidebar-width);
    transition: margin-left .25s ease;
}

.mw-admin-topbar {
    position: sticky;
    z-index: 10;
    top: 0;
    height: 76px;
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 0 30px;
    background: var(--mw-admin-card);
    border-bottom: 1px solid var(--mw-admin-border);
}

.mw-admin-search {
    width: min(530px, 42vw);
    height: 43px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px 0 17px;
    border: 1px solid #e6e6e8;
    border-radius: 24px;
    background: var(--mw-admin-bg);
    color: #70757a;
}

.mw-admin-search span {
    font-size: 21px;
    line-height: 1;
}

.mw-admin-search input {
    min-width: 0;
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--mw-admin-text);
    font: inherit;
    font-size: 12px;
}

.mw-admin-search kbd {
    padding: 3px 6px;
    border: 1px solid var(--mw-admin-border);
    border-radius: 4px;
    color: var(--mw-admin-muted);
    font-size: 10px;
}

.mw-topbar-actions {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.mw-topbar-text {
    padding: 8px 4px;
    color: var(--mw-admin-text);
    font-size: 12px;
}

.mw-topbar-text span {
    color: var(--mw-admin-muted);
    margin-left: 5px;
}

.mw-topbar-circle {
    position: relative;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid var(--mw-admin-border);
    border-radius: 50%;
    color: var(--mw-admin-text);
    font-size: 18px;
}

.mw-topbar-circle:hover, .mw-topbar-text:hover {
    color: var(--mw-admin-teal);
}

.mw-has-badge b {
    position: absolute;
    top: -3px;
    right: -3px;
    min-width: 17px;
    height: 17px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--mw-admin-teal);
    color: #fff;
    font-size: 9px;
}

.mw-user-menu {
    position: relative;
    margin-left: 5px;
}

.mw-user-trigger {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--mw-admin-text);
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.mw-user-avatar {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f6bd83;
    color: #754f35;
    font-weight: 700;
}

.mw-user-copy {
    min-width: 80px;
}

.mw-user-copy strong, .mw-user-copy small {
    display: block;
}

.mw-user-copy strong {
    font-size: 12px;
}

.mw-user-copy small {
    margin-top: 3px;
    color: var(--mw-admin-muted);
    font-size: 10px;
}

.mw-user-dropdown, .mw-notification-popover, .mw-theme-panel {
    position: absolute;
    z-index: 30;
    display: none;
    border: 1px solid var(--mw-admin-border);
    background: var(--mw-admin-card);
    box-shadow: 0 15px 36px rgba(30, 40, 45, .13);
}

.mw-user-dropdown {
    top: 51px;
    right: 0;
    width: 190px;
    padding: 8px;
    border-radius: 8px;
}

.mw-user-dropdown.is-visible, .mw-notification-popover.is-visible, .mw-theme-panel.is-visible {
    display: block;
}

.mw-user-dropdown a, .mw-user-dropdown button {
    width: 100%;
    display: block;
    padding: 10px 11px;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: var(--mw-admin-text);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    text-align: left;
    text-decoration: none;
}

.mw-user-dropdown a:hover, .mw-user-dropdown button:hover {
    background: var(--mw-admin-bg);
    color: var(--mw-admin-teal);
}

.mw-notification-popover {
    top: 63px;
    right: 185px;
    width: 285px;
    padding: 15px;
    border-radius: 9px;
}

.mw-notification-popover > div {
    display: flex;
    justify-content: space-between;
    padding-bottom: 11px;
    border-bottom: 1px solid var(--mw-admin-border);
    font-size: 13px;
}

.mw-notification-popover > div button {
    border: 0;
    background: transparent;
    color: var(--mw-admin-muted);
    cursor: pointer;
    font-size: 18px;
}

.mw-notification-popover p {
    display: grid;
    grid-template-columns: 13px 1fr;
    gap: 8px;
    margin: 0;
    padding: 13px 2px;
    color: var(--mw-admin-text);
    font-size: 11px;
}

.mw-notification-popover p small {
    grid-column: 2;
    color: var(--mw-admin-muted);
    font-size: 10px;
}

.mw-dot-teal { background: var(--mw-admin-teal); }
.mw-dot-orange { background: var(--mw-admin-orange); }
.mw-dot-purple { background: var(--mw-admin-purple); }

.mw-mobile-menu {
    display: none;
    padding: 8px 0;
    color: var(--mw-admin-text);
    font-size: 21px;
}

.mw-admin-workspace {
    position: relative;
    min-height: calc(100vh - 76px);
    padding: 27px 28px 48px;
}

.mw-theme-panel {
    top: 20px;
    right: 28px;
    width: 230px;
    padding: 18px;
    border-radius: 9px;
}

.mw-theme-panel > div {
    display: flex;
    justify-content: space-between;
    color: var(--mw-admin-text);
    font-size: 13px;
}

.mw-theme-panel > div button {
    border: 0;
    background: transparent;
    color: var(--mw-admin-muted);
    cursor: pointer;
}

.mw-theme-panel p {
    margin: 8px 0 16px;
    color: var(--mw-admin-muted);
    font-size: 11px;
}

.mw-theme-panel label {
    display: flex;
    justify-content: space-between;
    margin-top: 13px;
    color: var(--mw-admin-text);
    font-size: 11px;
}

.mw-dashboard-page {
    max-width: 1620px;
    margin: 0 auto;
}

.mw-dashboard-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin: 0 7px 24px;
}

.mw-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 11px;
    color: var(--mw-admin-muted);
    font-size: 11px;
}

.mw-breadcrumbs a {
    color: var(--mw-admin-teal);
    text-decoration: none;
}

.mw-dashboard-heading h1 {
    margin: 0;
    color: var(--mw-admin-text);
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    font-weight: 600;
}

.mw-dashboard-heading p {
    margin: 7px 0 0;
    color: var(--mw-admin-muted);
    font-size: 12px;
}

.mw-heading-actions {
    display: flex;
    gap: 10px;
}

.mw-outline-button, .mw-primary-button {
    padding: 10px 15px;
    border-radius: 5px;
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 600;
}

.mw-outline-button {
    border: 1px solid var(--mw-admin-border);
    background: var(--mw-admin-card);
    color: var(--mw-admin-text);
}

.mw-primary-button {
    border: 1px solid var(--mw-admin-teal);
    background: var(--mw-admin-teal);
    color: #fff;
}

.mw-primary-button:hover { background: var(--mw-admin-teal-dark); }
.mw-primary-button span { margin-left: 6px; font-size: 15px; }

.mw-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 18px;
}

.mw-kpi-card, .mw-dashboard-card {
    border: 1px solid var(--mw-admin-border);
    border-radius: 11px;
    background: var(--mw-admin-card);
    box-shadow: var(--mw-admin-shadow);
}

.mw-kpi-card {
    min-width: 0;
    padding: 18px 20px 15px;
    overflow: hidden;
}

.mw-kpi-top, .mw-kpi-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mw-kpi-icon {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    font-size: 19px;
}

.mw-kpi-card--teal .mw-kpi-icon { background: #e5f5f3; color: var(--mw-admin-teal); }
.mw-kpi-card--orange .mw-kpi-icon { background: #fff0e7; color: var(--mw-admin-orange); }
.mw-kpi-card--purple .mw-kpi-icon { background: #f0ebfb; color: var(--mw-admin-purple); }
.mw-kpi-card--blue .mw-kpi-icon { background: #e9f0fc; color: var(--mw-admin-blue); }

.mw-kpi-trend {
    color: #43a873;
    font-size: 10px;
}

.mw-kpi-card strong {
    display: block;
    margin-top: 16px;
    color: var(--mw-admin-text);
    font-size: 25px;
    line-height: 1;
}

.mw-kpi-label {
    display: block;
    margin-top: 8px;
    color: var(--mw-admin-muted);
    font-size: 12px;
}

.mw-kpi-foot {
    margin-top: 17px;
    color: var(--mw-admin-muted);
    font-size: 10px;
}

.mw-kpi-spark {
    color: var(--mw-admin-teal);
    font-size: 16px;
    letter-spacing: -5px;
    opacity: .65;
}

.mw-dashboard-grid {
    display: grid;
    gap: 18px;
}

.mw-dashboard-grid--top {
    grid-template-columns: minmax(0, 1.55fr) minmax(250px, .9fr) minmax(230px, .75fr);
    margin-bottom: 18px;
}

.mw-dashboard-grid--bottom {
    grid-template-columns: minmax(250px, .9fr) minmax(250px, .9fr) minmax(330px, 1.35fr);
}

.mw-dashboard-card {
    min-width: 0;
    padding: 20px;
}

.mw-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.mw-card-heading h2 {
    margin: 0;
    color: var(--mw-admin-text);
    font-size: 16px;
    font-weight: 600;
}

.mw-card-heading p {
    margin: 6px 0 0;
    color: var(--mw-admin-muted);
    font-size: 11px;
}

.mw-card-menu {
    padding: 3px 5px;
    color: var(--mw-admin-muted);
    font-size: 15px;
    letter-spacing: 2px;
}

.mw-card-menu:hover { color: var(--mw-admin-teal); }

.mw-chart-tabs {
    display: flex;
    gap: 2px;
    padding: 3px;
    border: 1px solid var(--mw-admin-border);
    border-radius: 5px;
}

.mw-chart-tabs button {
    padding: 6px 9px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: var(--mw-admin-muted);
    cursor: pointer;
    font: inherit;
    font-size: 10px;
}

.mw-chart-tabs button.is-active {
    background: var(--mw-admin-teal);
    color: #fff;
}

.mw-chart-legend {
    display: flex;
    gap: 23px;
    margin-top: 25px;
    color: var(--mw-admin-muted);
    font-size: 11px;
}

.mw-chart-legend span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.mw-chart-legend strong {
    color: var(--mw-admin-text);
    font-size: 13px;
}

.mw-legend-dot {
    width: 7px;
    height: 7px;
    display: inline-block;
    border-radius: 50%;
}

.mw-line-chart {
    position: relative;
    margin-top: 15px;
}

.mw-line-chart svg {
    width: 100%;
    height: 200px;
    overflow: visible;
}

.mw-chart-grid-lines path {
    fill: none;
    stroke: var(--mw-admin-border);
    stroke-width: 1;
}

.mw-line-path, .mw-area-path {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3;
    vector-effect: non-scaling-stroke;
}

.mw-area-path {
    stroke: none;
    fill: url(#mwAreaTeal);
}

.mw-line-path--teal { stroke: var(--mw-admin-teal); }
.mw-line-path--orange { stroke: var(--mw-admin-orange); }
.mw-chart-points circle {
    fill: var(--mw-admin-card);
    stroke: var(--mw-admin-teal);
    stroke-width: 2;
}

.mw-chart-labels {
    display: flex;
    justify-content: space-between;
    padding: 3px 7px 0;
    color: var(--mw-admin-muted);
    font-size: 10px;
}

.mw-status-summary {
    display: flex;
    align-items: center;
    gap: 17px;
    margin: 28px 0 21px;
}

.mw-status-summary > div:not(.mw-donut) {
    min-width: 51px;
}

.mw-status-summary strong {
    display: block;
    color: var(--mw-admin-text);
    font-size: 20px;
}

.mw-status-summary span {
    display: block;
    margin-top: 4px;
    color: var(--mw-admin-muted);
    font-size: 10px;
}

.mw-donut {
    width: 73px;
    height: 73px;
    display: grid;
    place-items: center;
    margin-left: auto;
    border-radius: 50%;
    background: conic-gradient(var(--mw-admin-teal) var(--donut-value), #e5f1ef 0);
}

.mw-donut::before {
    position: absolute;
    width: 55px;
    height: 55px;
    content: "";
    border-radius: 50%;
    background: var(--mw-admin-card);
}

.mw-donut span {
    position: relative;
    margin: 0;
    color: var(--mw-admin-text);
    font-size: 13px;
    font-weight: 700;
}

.mw-progress-list {
    display: grid;
    gap: 12px;
}

.mw-progress-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 6px;
    color: var(--mw-admin-text);
    font-size: 10px;
}

.mw-progress-row strong {
    color: var(--mw-admin-muted);
    font-size: 10px;
    font-weight: 500;
}

.mw-progress-row > div {
    grid-column: 1 / -1;
    height: 4px;
    overflow: hidden;
    border-radius: 99px;
    background: #edf2f1;
}

.mw-progress-row i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--mw-admin-teal);
}

.mw-security-score {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-top: 27px;
}

.mw-score-ring {
    width: 79px;
    height: 79px;
    display: grid;
    place-content: center;
    border-radius: 50%;
    background: radial-gradient(var(--mw-admin-card) 55%, transparent 57%), conic-gradient(var(--mw-admin-teal) 92%, #e3f0ee 0);
    text-align: center;
}

.mw-score-ring span {
    color: var(--mw-admin-text);
    font-size: 22px;
    font-weight: 700;
}

.mw-score-ring small {
    color: var(--mw-admin-muted);
    font-size: 9px;
}

.mw-security-score strong {
    color: var(--mw-admin-teal);
    font-size: 13px;
}

.mw-security-score p {
    max-width: 130px;
    margin: 6px 0 0;
    color: var(--mw-admin-muted);
    font-size: 10px;
    line-height: 1.5;
}

.mw-security-bars {
    height: 80px;
    display: flex;
    align-items: end;
    gap: 6px;
    margin-top: 19px;
    padding: 0 6px;
    border-bottom: 1px solid var(--mw-admin-border);
}

.mw-security-bars span {
    flex: 1;
    border-radius: 3px 3px 0 0;
    background: linear-gradient(#79c7bf, #d5ebe8);
}

.mw-security-foot {
    display: flex;
    justify-content: space-between;
    margin-top: 12px;
    color: var(--mw-admin-muted);
    font-size: 10px;
}

.mw-security-foot strong { color: #43a873; font-weight: 500; }

.mw-module-list {
    display: grid;
    gap: 4px;
    margin-top: 20px;
}

.mw-module-list a, .mw-audit-list > div {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 0;
    color: var(--mw-admin-text);
    text-decoration: none;
}

.mw-module-list a:hover strong { color: var(--mw-admin-teal); }

.mw-module-icon {
    width: 35px;
    height: 35px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    font-size: 16px;
}

.mw-module-icon--teal { background: #e5f5f3; color: var(--mw-admin-teal); }
.mw-module-icon--orange { background: #fff0e7; color: var(--mw-admin-orange); }
.mw-module-icon--purple { background: #f0ebfb; color: var(--mw-admin-purple); }

.mw-module-list a span:nth-child(2) { min-width: 0; flex: 1; }
.mw-module-list strong, .mw-module-list small { display: block; }
.mw-module-list strong { font-size: 11px; font-weight: 600; }
.mw-module-list small { margin-top: 4px; color: var(--mw-admin-muted); font-size: 10px; }
.mw-module-list b { color: var(--mw-admin-muted); font-size: 17px; font-weight: 400; }

.mw-role-bars {
    display: grid;
    gap: 15px;
    margin-top: 24px;
}

.mw-role-bars > div {
    display: grid;
    grid-template-columns: 110px 1fr 23px;
    align-items: center;
    gap: 8px;
    color: var(--mw-admin-text);
    font-size: 10px;
}

.mw-role-bars > div > div {
    height: 6px;
    overflow: hidden;
    border-radius: 99px;
    background: #edf2f1;
}

.mw-role-bars i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--mw-admin-teal);
}

.mw-role-bars strong {
    color: var(--mw-admin-muted);
    font-size: 10px;
    text-align: right;
}

.mw-card-link-text {
    color: var(--mw-admin-teal);
    font-size: 10px;
    text-decoration: none;
}

.mw-table-scroll {
    margin-top: 15px;
    overflow-x: auto;
}

.mw-data-table {
    width: 100%;
    min-width: 610px;
    border-collapse: collapse;
    color: var(--mw-admin-text);
    font-size: 10px;
}

.mw-data-table th {
    padding: 9px 10px;
    border-bottom: 1px solid var(--mw-admin-border);
    color: var(--mw-admin-muted);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .06em;
    text-align: left;
    text-transform: uppercase;
}

.mw-data-table td {
    padding: 11px 10px;
    border-bottom: 1px solid var(--mw-admin-border);
    vertical-align: middle;
    white-space: nowrap;
}

.mw-data-table tbody tr:last-child td {
    border-bottom: 0;
}

.mw-data-table tbody tr:hover {
    background: rgba(49, 157, 150, .04);
}

.mw-table-event {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mw-table-event strong {
    color: var(--mw-admin-text);
    font-size: 10px;
    font-weight: 600;
}

.mw-table-status {
    display: inline-block;
    padding: 5px 8px;
    border-radius: 4px;
    background: #e5f5ed;
    color: #3f9b6a;
    font-size: 9px;
}

.mw-table-empty {
    color: var(--mw-admin-muted);
    text-align: center;
}

.mw-audit-list {
    display: grid;
    margin-top: 14px;
}

.mw-audit-list > div {
    border-bottom: 1px solid var(--mw-admin-border);
}

.mw-audit-list > div:last-child { border-bottom: 0; }

.mw-audit-avatar {
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #e5f5f3;
    color: var(--mw-admin-teal-dark);
    font-size: 11px;
    font-weight: 700;
}

.mw-audit-list > div > span:nth-child(2) {
    min-width: 0;
    flex: 1;
}

.mw-audit-list strong, .mw-audit-list small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mw-audit-list strong { color: var(--mw-admin-text); font-size: 10px; font-weight: 600; }
.mw-audit-list small { margin-top: 4px; color: var(--mw-admin-muted); font-size: 9px; }
.mw-audit-chevron { color: var(--mw-admin-muted); font-size: 19px; font-style: normal; }

.mw-admin-shell.is-compact {
    --mw-sidebar-width: 77px;
}

.mw-admin-shell.is-compact .mw-admin-brand-word,
.mw-admin-shell.is-compact .mw-sidebar-label,
.mw-admin-shell.is-compact .mw-sidebar-nav a > span:nth-child(3),
.mw-admin-shell.is-compact .mw-sidebar-nav a > i,
.mw-admin-shell.is-compact .mw-sidebar-nav a > span:not(.mw-nav-icon),
.mw-admin-shell.is-compact .mw-sidebar-group-toggle > span:not(.mw-nav-icon),
.mw-admin-shell.is-compact .mw-sidebar-group-toggle > i,
.mw-admin-shell.is-compact .mw-sidebar-subnav,
.mw-admin-shell.is-compact .mw-sidebar-status span:last-child,
.mw-admin-shell.is-compact .mw-sidebar-logout {
    display: none;
}

.mw-admin-shell.is-compact .mw-admin-brand-row { padding: 0 19px; }
.mw-admin-shell.is-compact .mw-admin-brand { margin: auto; }
.mw-admin-shell.is-compact .mw-sidebar-nav a { justify-content: center; padding: 0; }
.mw-admin-shell.is-compact .mw-sidebar-group-toggle { justify-content: center; padding: 0; }
.mw-admin-shell.is-compact .mw-sidebar-footer { padding: 18px 10px; }
.mw-admin-shell.is-compact .mw-sidebar-status { justify-content: center; }
.mw-admin-shell.is-compact .mw-sidebar-collapse { transform: rotate(180deg); }

.mw-admin-shell.is-compact .mw-admin-sidebar {
    width: 77px !important;
}

.mw-admin-shell.is-compact .mw-admin-main {
    margin-left: 77px !important;
}

@media (max-width: 1250px) {
    .mw-dashboard-grid--top { grid-template-columns: minmax(0, 1.3fr) minmax(250px, .9fr); }
    .mw-card-security { grid-column: 1 / -1; }
    .mw-security-score { margin-top: 18px; }
    .mw-security-bars { width: 48%; float: right; margin-top: -82px; }
}

@media (max-width: 980px) {
    .mw-admin-sidebar { transform: translateX(-100%); }
    .mw-admin-sidebar.is-mobile-open { transform: translateX(0); box-shadow: 14px 0 35px rgba(0,0,0,.15); }
    .mw-admin-shell .mw-admin-scrim {
        position: fixed;
        z-index: 15;
        inset: 0;
        display: block;
        border: 0;
        background: rgba(24, 31, 36, .34);
        cursor: pointer;
        opacity: 0;
        pointer-events: none;
        transition: opacity .2s ease;
    }
    .mw-admin-shell.is-mobile-open .mw-admin-scrim {
        opacity: 1;
        pointer-events: auto;
    }
    .mw-admin-main { margin-left: 0; }
    .mw-mobile-menu { display: block; }
    .mw-admin-search { width: min(390px, 42vw); }
    .mw-kpi-grid { grid-template-columns: repeat(2, 1fr); }
    .mw-dashboard-grid--bottom { grid-template-columns: repeat(2, 1fr); }
    .mw-card-audit { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
    .mw-account-nav {
        position: relative;
        flex-wrap: wrap;
        padding: 14px 18px;
    }
    .mw-account-menu-toggle {
        display: block;
        margin-left: auto;
    }
    .mw-account-links {
        display: none;
        width: 100%;
        align-items: stretch;
        flex-direction: column;
        gap: 3px;
        padding-top: 12px;
    }
    .mw-account-links.is-open {
        display: flex;
    }
    .mw-account-links a, .mw-account-links button {
        padding: 8px 5px;
        text-align: left;
    }
    .mw-account-dropdown > div {
        position: static;
        width: 100%;
        transform: none;
        box-shadow: none;
        border-color: rgba(14,182,189,.15);
    }
    .mw-document-type-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mw-document-generator-card {
        grid-column: auto;
    }
    .mw-document-options {
        grid-template-columns: 1fr;
    }
    .mw-admin-topbar { height: auto; min-height: 68px; gap: 11px; padding: 11px 16px; flex-wrap: wrap; }
    .mw-admin-search { order: 2; width: 100%; }
    .mw-topbar-actions { gap: 6px; }
    .mw-topbar-text, .mw-user-copy { display: none; }
    .mw-topbar-circle { width: 34px; height: 34px; }
    .mw-user-menu { margin-left: 1px; }
    .mw-user-avatar { width: 34px; height: 34px; }
    .mw-notification-popover { top: 56px; right: 35px; }
    .mw-admin-workspace { padding: 21px 15px 35px; }
    .mw-dashboard-heading { align-items: flex-start; flex-direction: column; margin: 0 2px 19px; }
    .mw-heading-actions { width: 100%; }
    .mw-heading-actions button { flex: 1; }
    .mw-kpi-grid, .mw-dashboard-grid--top, .mw-dashboard-grid--bottom { grid-template-columns: 1fr; }
    .mw-card-security, .mw-card-audit { grid-column: auto; }
    .mw-card-heading { flex-wrap: wrap; }
    .mw-chart-tabs { order: 3; width: 100%; }
    .mw-chart-tabs button { flex: 1; }
    .mw-chart-legend { gap: 12px; }
    .mw-security-bars { width: auto; float: none; margin-top: 19px; }
    .mw-role-bars > div { grid-template-columns: 100px 1fr 20px; }
}

@media (min-width: 681px) and (max-width: 1100px) {
    .mw-document-type-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Phase 7 enterprise tracking centre */
.mw-tracking-page {
    min-height: 100vh;
    max-width: 100%;
    overflow-x: clip;
    background: #f3f8f8;
    color: #062c38;
    font-family: "Space Grotesk", Arial, sans-serif;
}

.mw-tracking-container {
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
}

.mw-tracking-hero {
    padding: 170px 0 52px;
    background:
        radial-gradient(circle at 85% 10%, rgba(37, 196, 194, .24), transparent 28%),
        linear-gradient(115deg, #032532 0%, #064654 58%, #087e88 100%);
    color: #fff;
}

.mw-tracking-hero-copy {
    max-width: 700px;
}

.mw-tracking-hero .mw-dashboard-eyebrow {
    color: #58d1cf;
}

.mw-tracking-hero h1 {
    max-width: 760px;
    margin: 0;
    font-size: clamp(2.4rem, 6vw, 5.5rem);
    letter-spacing: -.07em;
    line-height: .98;
}

.mw-tracking-hero-copy > p:last-child {
    max-width: 620px;
    margin: 22px 0 0;
    color: #bfdbdd;
    font-size: 1rem;
    line-height: 1.7;
}

.mw-tracking-search {
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 930px;
    margin-top: 36px;
    padding: 8px 8px 8px 20px;
    border: 1px solid rgba(190, 239, 237, .34);
    border-radius: 7px;
    background: rgba(255, 255, 255, .11);
    box-shadow: 0 22px 50px rgba(0, 14, 20, .22);
}

.mw-tracking-search > span {
    color: #73e0da;
    font-size: 1.7rem;
}

.mw-tracking-search input {
    min-width: 0;
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    color: #fff;
    font: inherit;
    font-size: 1rem;
}

.mw-tracking-search input::placeholder {
    color: #b7d0d1;
}

.mw-tracking-search button, .mw-tracking-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 15px 21px;
    border: 0;
    border-radius: 4px;
    background: #55d1c7;
    color: #032532;
    cursor: pointer;
    font: inherit;
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
}

.mw-tracking-search button:hover, .mw-tracking-button:hover {
    background: #82e3da;
}

.mw-tracking-quick-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
    color: #99c1c4;
    font-size: .68rem;
}

.mw-tracking-quick-links b {
    padding: 5px 8px;
    border: 1px solid rgba(186, 225, 225, .18);
    border-radius: 3px;
    color: #d3ecec;
    font-weight: 500;
}

.mw-tracking-results {
    padding: 46px 0 90px;
}

.mw-tracking-result-heading, .mw-tracking-panel-heading, .mw-ops-heading,
.mw-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.mw-tracking-result-heading h2 {
    margin: 0;
    color: #062c38;
    font-size: clamp(1.8rem, 4vw, 3rem);
    letter-spacing: -.05em;
}

.mw-tracking-result-heading p:last-child {
    margin: 7px 0 0;
    color: #789093;
    font-size: .74rem;
}

.mw-public-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 11px;
    border: 1px solid #bee4de;
    border-radius: 3px;
    background: #e9faf7;
    color: #318d79;
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.mw-public-pill span, .mw-console-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #40b990;
    box-shadow: 0 0 0 4px rgba(64, 185, 144, .12);
}

.mw-tracking-summary-grid, .mw-ops-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 30px;
}

.mw-tracking-summary-card, .mw-ops-stat-grid > div {
    min-height: 112px;
    padding: 19px;
    border: 1px solid #dbe9e9;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(20, 65, 70, .04);
}

.mw-tracking-summary-card--status {
    border-top: 3px solid #20b7b5;
}

.mw-tracking-summary-card span, .mw-ops-stat-grid span,
.mw-ops-brief-grid span, .mw-identifier-grid span {
    display: block;
    color: #789093;
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.mw-tracking-summary-card strong, .mw-ops-stat-grid strong {
    display: block;
    margin-top: 12px;
    color: #062c38;
    font-size: 1.05rem;
    letter-spacing: -.02em;
}

.mw-tracking-summary-card small, .mw-ops-stat-grid small {
    display: block;
    margin-top: 6px;
    color: #7c9295;
    font-size: .69rem;
}

.mw-tracking-progress {
    margin: 28px 0;
    padding: 19px 21px;
    border: 1px solid #dbe9e9;
    background: #fff;
}

.mw-tracking-progress > div:first-child {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    color: #6f8588;
    font-size: .7rem;
}

.mw-tracking-progress strong {
    color: #087e88;
}

.mw-progress-track {
    height: 7px;
    margin-top: 12px;
    overflow: hidden;
    border-radius: 99px;
    background: #e5efef;
}

.mw-progress-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #087e88, #55d1c7);
}

.mw-tracking-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(330px, .78fr);
    gap: 22px;
    align-items: start;
}

.mw-tracking-side {
    display: grid;
    gap: 22px;
}

.mw-tracking-panel {
    padding: 25px;
    border: 1px solid #dbe9e9;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(20, 65, 70, .04);
}

.mw-tracking-panel-heading {
    align-items: center;
    padding-bottom: 17px;
    border-bottom: 1px solid #e6efef;
}

.mw-tracking-panel-heading h2 {
    margin: 0;
    color: #062c38;
    font-size: 1.18rem;
    letter-spacing: -.03em;
}

.mw-tracking-panel-heading > span {
    color: #8aa1a3;
    font-size: .68rem;
}

.mw-public-timeline {
    padding-top: 8px;
}

.mw-public-event {
    display: grid;
    grid-template-columns: 29px 1fr;
    gap: 15px;
    padding: 22px 0;
    border-bottom: 1px solid #edf3f3;
}

.mw-public-event:last-child {
    border-bottom: 0;
}

.mw-public-event-marker {
    display: flex;
    justify-content: center;
    position: relative;
}

.mw-public-event-marker::before {
    position: absolute;
    top: 17px;
    bottom: -36px;
    width: 1px;
    background: #d6e9e8;
    content: "";
}

.mw-public-event:last-child .mw-public-event-marker::before {
    display: none;
}

.mw-public-event-marker span {
    z-index: 1;
    width: 13px;
    height: 13px;
    margin-top: 6px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #1db7b5;
    box-shadow: 0 0 0 2px #8eddd7;
}

.mw-public-event-body {
    min-width: 0;
}

.mw-public-event-top {
    display: flex;
    justify-content: space-between;
    gap: 15px;
}

.mw-public-event-top strong, .mw-public-event-top small {
    display: block;
}

.mw-public-event-top strong {
    color: #062c38;
    font-size: .88rem;
}

.mw-public-event-top small, .mw-public-event-top time {
    margin-top: 5px;
    color: #8aa1a3;
    font-size: .66rem;
}

.mw-public-event-top time {
    white-space: nowrap;
}

.mw-public-event-body > p {
    margin: 12px 0;
    color: #617b7f;
    font-size: .76rem;
    line-height: 1.65;
}

.mw-public-event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    color: #6b898c;
    font-size: .65rem;
}

.mw-public-route {
    padding: 20px 0 12px;
}

.mw-public-route > div {
    display: grid;
    grid-template-columns: 25px 1fr;
    gap: 12px;
}

.mw-public-route > i {
    display: block;
    width: 1px;
    height: 23px;
    margin: 0 0 0 12px;
    border-left: 1px dashed #91c6c2;
}

.mw-route-node {
    width: 12px;
    height: 12px;
    margin: 4px 0 0 6px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #087e88;
    box-shadow: 0 0 0 1px #087e88;
}

.mw-route-node--destination {
    background: #d48558;
    box-shadow: 0 0 0 1px #d48558;
}

.mw-public-route small, .mw-public-route strong, .mw-public-route p {
    display: block;
}

.mw-public-route small {
    color: #087e88;
    font-size: .63rem;
    font-weight: 800;
    text-transform: uppercase;
}

.mw-public-route strong {
    margin-top: 5px;
    font-size: .86rem;
}

.mw-public-route p {
    margin: 4px 0 0;
    color: #7b9194;
    font-size: .68rem;
}

.mw-map-placeholder {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 80px;
    padding: 15px;
    border: 1px dashed #afd8d5;
    background: linear-gradient(135deg, #ecf8f7, #f5fbfa);
    color: #087e88;
}

.mw-map-placeholder > span {
    font-size: 1.6rem;
}

.mw-map-placeholder strong, .mw-map-placeholder small {
    display: block;
}

.mw-map-placeholder strong {
    font-size: .76rem;
}

.mw-map-placeholder small {
    margin-top: 4px;
    color: #729194;
    font-size: .64rem;
}

.mw-milestone-list {
    padding-top: 12px;
}

.mw-milestone-row, .mw-customer-milestones > div {
    display: grid;
    grid-template-columns: 26px 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 11px 0;
    color: #8aa1a3;
}

.mw-milestone-row > span, .mw-customer-milestones > div > span {
    display: grid;
    width: 23px;
    height: 23px;
    place-items: center;
    border: 1px solid #d9e8e8;
    border-radius: 50%;
    background: #f7fbfb;
    font-size: .61rem;
}

.mw-milestone-row strong, .mw-milestone-row small,
.mw-customer-milestones strong, .mw-customer-milestones small {
    display: block;
}

.mw-milestone-row strong, .mw-customer-milestones strong {
    color: #73898c;
    font-size: .7rem;
}

.mw-milestone-row small, .mw-customer-milestones small {
    margin-top: 3px;
    font-size: .61rem;
}

.mw-milestone-row.is-complete > span, .mw-customer-milestones > div.is-complete > span {
    border-color: #53bea3;
    background: #e7f8f3;
    color: #318e78;
}

.mw-milestone-row.is-complete strong, .mw-customer-milestones > div.is-complete strong {
    color: #1c7669;
}

.mw-milestone-row.is-current strong, .mw-customer-milestones > div.is-current strong {
    color: #087e88;
}

.mw-milestone-row.is-current > span, .mw-customer-milestones > div.is-current > span {
    border-color: #20b7b5;
    background: #e6f8f7;
    color: #087e88;
}

.mw-public-documents > div {
    display: grid;
    grid-template-columns: 28px 1fr auto;
    align-items: center;
    gap: 9px;
    padding: 12px 0;
    border-bottom: 1px solid #edf3f3;
}

.mw-public-documents > div:last-child {
    border-bottom: 0;
}

.mw-public-documents span {
    color: #087e88;
}

.mw-public-documents strong {
    overflow: hidden;
    font-size: .7rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mw-public-documents a {
    color: #087e88;
    font-size: .66rem;
    font-weight: 800;
}

.mw-tracking-empty-state {
    max-width: 780px;
    margin: 30px auto;
    padding: 65px 32px;
    border: 1px solid #dceaea;
    background: #fff;
    text-align: center;
}

.mw-tracking-orbit {
    display: grid;
    width: 68px;
    height: 68px;
    margin: 0 auto 24px;
    place-items: center;
    border: 1px solid #8bd8d2;
    border-radius: 50%;
    background: #eaf9f7;
    color: #087e88;
    font-size: 2rem;
}

.mw-tracking-empty-state h2 {
    margin: 0;
    font-size: 2rem;
    letter-spacing: -.04em;
}

.mw-tracking-empty-state > p:not(.mw-dashboard-eyebrow) {
    max-width: 530px;
    margin: 14px auto 0;
    color: #769093;
    font-size: .8rem;
    line-height: 1.7;
}

.mw-tracking-feature-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 32px;
    text-align: left;
}

.mw-tracking-feature-row span {
    padding: 14px;
    border: 1px solid #e3eeee;
    color: #647d80;
    font-size: .69rem;
}

.mw-tracking-feature-row b {
    display: block;
    margin-bottom: 8px;
    color: #087e88;
}

.mw-tracking-not-found {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    border: 1px solid #ecd9bd;
    background: #fffaf0;
}

.mw-tracking-alert-icon {
    display: grid;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    place-items: center;
    border-radius: 50%;
    background: #e4a95c;
    color: #fff;
    font-weight: 800;
}

.mw-tracking-not-found strong, .mw-tracking-not-found p {
    display: block;
}

.mw-tracking-not-found strong {
    color: #684923;
    font-size: .8rem;
}

.mw-tracking-not-found p {
    margin: 4px 0 0;
    color: #8b704d;
    font-size: .7rem;
}

.mw-tracking-not-found a {
    margin-left: auto;
    color: #98703c;
    font-size: .7rem;
    font-weight: 800;
    white-space: nowrap;
}

.mw-tracking-document-page {
    max-width: 740px;
    padding: 90px 0;
}

.mw-tracking-document-page h1 {
    margin: 0;
    font-size: 3rem;
    letter-spacing: -.06em;
}

.mw-tracking-document-page p:not(.mw-dashboard-eyebrow) {
    margin: 15px 0 26px;
    color: #6d878a;
}

/* Operations command centre */
.mw-ops-heading {
    align-items: center;
    margin-bottom: 25px;
}

.mw-ops-heading h1 {
    margin: 0;
}

.mw-ops-heading-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mw-ops-stat-grid {
    margin: 0 0 22px;
}

.mw-ops-stat-grid > div {
    min-height: auto;
    padding: 16px;
}

.mw-ops-stat-grid strong {
    overflow: hidden;
    font-size: .91rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mw-ops-detail-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr);
    align-items: start;
}

.mw-panel-kicker, .mw-tracking-panel-heading > span {
    color: #8aa1a3;
    font-size: .68rem;
}

.mw-ops-brief-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: 20px;
}

.mw-ops-brief-grid > div {
    padding: 14px;
    border: 1px solid #e1ecec;
    background: #f8fbfb;
}

.mw-ops-brief-grid strong, .mw-ops-brief-grid small {
    display: block;
}

.mw-ops-brief-grid strong {
    margin-top: 8px;
    font-size: .76rem;
}

.mw-ops-brief-grid small {
    margin-top: 4px;
    color: #7c9295;
    font-size: .65rem;
}

.mw-identifier-panel, .mw-ops-subsection {
    margin-top: 25px;
    padding-top: 22px;
    border-top: 1px solid #e5eeee;
}

.mw-identifier-panel h3, .mw-ops-subsection h3 {
    margin: 0;
    font-size: .93rem;
}

.mw-identifier-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 14px;
}

.mw-identifier-grid > div {
    padding: 10px;
    border: 1px solid #e3eeee;
}

.mw-identifier-grid strong {
    display: block;
    margin-top: 5px;
    overflow: hidden;
    font-size: .7rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mw-console-dot {
    display: inline-block;
    margin: 2px 6px 0 0;
}

.mw-event-console {
    position: sticky;
    top: 18px;
}

.mw-switch-label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 9px;
}

.mw-switch-label input {
    width: auto !important;
    accent-color: #087e88;
}

.mw-admin-timeline {
    padding-top: 15px;
}

.mw-admin-timeline > article {
    display: grid;
    grid-template-columns: 29px 1fr;
    gap: 13px;
    padding: 16px 0;
    border-bottom: 1px solid #e9f0f0;
}

.mw-admin-event-marker {
    display: flex;
    justify-content: center;
    position: relative;
}

.mw-admin-event-marker::after {
    position: absolute;
    top: 15px;
    bottom: -28px;
    width: 1px;
    background: #dbe9e9;
    content: "";
}

.mw-admin-timeline > article:last-child .mw-admin-event-marker::after {
    display: none;
}

.mw-admin-event-marker span {
    z-index: 1;
    width: 11px;
    height: 11px;
    margin-top: 4px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #087e88;
    box-shadow: 0 0 0 1px #087e88;
}

.mw-admin-event-marker.exception span {
    background: #c86350;
    box-shadow: 0 0 0 1px #c86350;
}

.mw-admin-event-copy > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.mw-admin-event-copy strong, .mw-admin-event-copy time {
    font-size: .78rem;
}

.mw-admin-event-copy time {
    color: #8aa1a3;
    font-size: .64rem;
    white-space: nowrap;
}

.mw-admin-event-copy > small {
    display: block;
    margin-top: 5px;
    color: #8aa1a3;
    font-size: .63rem;
}

.mw-admin-event-copy > p {
    margin: 9px 0 0;
    color: #6f8588;
    font-size: .72rem;
    line-height: 1.6;
}

.mw-event-location {
    color: #087e88 !important;
}

.mw-internal-note {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    padding: 9px;
    border-left: 2px solid #d89b53;
    background: #fff8eb;
    color: #80613a;
    font-size: .68rem;
}

.mw-internal-note b {
    color: #ac7133;
    text-transform: uppercase;
}

.mw-comment-feed {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.mw-comment-feed article, .mw-customer-comment-feed article {
    padding: 13px;
    border: 1px solid #e0ecec;
    background: #f8fbfb;
}

.mw-comment-feed article.is-internal {
    border-color: #efddb9;
    background: #fffaf0;
}

.mw-comment-feed article > div, .mw-customer-comment-feed article > div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.mw-comment-feed strong, .mw-customer-comment-feed strong {
    font-size: .7rem;
}

.mw-comment-feed small, .mw-customer-comment-feed small {
    color: #8aa1a3;
    font-size: .61rem;
}

.mw-comment-feed p, .mw-customer-comment-feed p {
    margin: 8px 0 0;
    color: #647d80;
    font-size: .71rem;
    line-height: 1.55;
}

.mw-comment-form {
    margin-top: 17px;
    padding-top: 17px;
    border-top: 1px solid #e6efef;
}

.mw-operations-filter {
    align-items: end;
}

.mw-filter-search {
    display: flex !important;
    min-width: 260px;
    flex: 1;
    flex-direction: row !important;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
    border: 1px solid #d8e5e5;
    background: #fff;
}

.mw-filter-search input {
    border: 0 !important;
    outline: 0;
}

.mw-identifier-stack {
    display: grid;
    gap: 3px;
}

.mw-identifier-stack span {
    color: #73898c;
    font-size: .6rem;
}

.mw-customer-tracking-lower {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, .75fr);
    gap: 22px;
    margin-bottom: 22px;
}

.mw-customer-milestones {
    padding-top: 7px;
}

.mw-customer-milestones > div {
    padding: 13px 0;
}

.mw-customer-milestones > div > b {
    color: #9bb0b2;
    font-size: .64rem;
}

.mw-customer-comment-feed {
    display: grid;
    gap: 9px;
    max-height: 270px;
    margin-top: 16px;
    overflow: auto;
}

.mw-customer-comment-form {
    margin-top: 16px;
}

.mw-assignment-panel {
    margin: 22px 0;
}

.mw-assignment-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    gap: 13px;
    align-items: end;
    margin-top: 18px;
}

.mw-assignment-form label {
    display: grid;
    gap: 7px;
    color: #657d80;
    font-size: .68rem;
    font-weight: 700;
}

.mw-assignment-form input,
.mw-assignment-form select {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 12px;
    border: 1px solid #d8e5e5;
    border-radius: 3px;
    background: #fff;
    color: #153c45;
    font: inherit;
    font-size: .72rem;
}

.mw-qr-card {
    overflow: hidden;
}

.mw-qr-layout {
    display: grid;
    grid-template-columns: 104px 1fr;
    align-items: center;
    gap: 16px;
    padding-top: 18px;
}

.mw-qr-layout img {
    width: 104px;
    height: 104px;
    padding: 6px;
    border: 1px solid #d8e7e7;
    background: #fff;
}

.mw-qr-layout strong,
.mw-qr-layout p,
.mw-qr-layout a {
    display: block;
}

.mw-qr-layout strong {
    color: #062c38;
    font-size: .78rem;
}

.mw-qr-layout p {
    margin: 7px 0;
    color: #71888b;
    font-size: .68rem;
    line-height: 1.55;
}

.mw-qr-layout a {
    overflow: hidden;
    color: #087e88;
    font-size: .62rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mw-customer-note {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    padding: 9px;
    border-left: 2px solid #65b9b0;
    background: #eefaf8;
    color: #457b77;
    font-size: .68rem;
}

.mw-customer-note b {
    color: #087e88;
    text-transform: uppercase;
}

@media (max-width: 980px) {
    .mw-tracking-content-grid, .mw-ops-detail-grid, .mw-customer-tracking-lower {
        grid-template-columns: 1fr;
    }
    .mw-event-console {
        position: static;
    }
    .mw-tracking-summary-grid, .mw-ops-stat-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .mw-assignment-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    body:has(.mw-tracking-page) {
        overflow-x: hidden;
    }
    .mw-tracking-page,
    .mw-tracking-page .mw-tracking-container,
    .mw-tracking-page .mw-tracking-content-grid,
    .mw-tracking-page .mw-tracking-side {
        min-width: 0;
        max-width: 100vw;
        box-sizing: border-box;
    }
    .mw-tracking-container {
        width: min(100% - 30px, 1240px);
        overflow: hidden;
    }
    .mw-tracking-hero {
        padding: 48px 0 30px;
    }
    .mw-tracking-search {
        align-items: stretch;
        flex-direction: column;
        padding: 14px;
    }
    .mw-tracking-search input {
        min-height: 42px;
    }
    .mw-tracking-search button {
        justify-content: center;
    }
    .mw-tracking-result-heading, .mw-ops-heading {
        align-items: flex-start;
        flex-direction: column;
    }
    .mw-tracking-summary-grid, .mw-ops-stat-grid, .mw-ops-brief-grid,
    .mw-identifier-grid, .mw-tracking-feature-row {
        grid-template-columns: 1fr;
    }
    .mw-tracking-panel {
        padding: 18px;
    }
    .mw-public-event-top, .mw-admin-event-copy > div {
        flex-direction: column;
        gap: 3px;
    }
    .mw-public-event-top time, .mw-admin-event-copy time {
        white-space: normal;
    }
    .mw-tracking-not-found {
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .mw-tracking-not-found a {
        width: 100%;
        margin-left: 47px;
    }
    .mw-filter-search {
        min-width: 0;
        width: 100%;
        box-sizing: border-box;
    }
    .mw-assignment-form {
        grid-template-columns: 1fr;
    }
    .mw-assignment-form .mw-button {
        width: 100%;
    }
    .mw-shipment-command-centre,
    .mw-shipment-command-centre .mw-ops-heading,
    .mw-shipment-command-centre .mw-ops-stat-grid,
    .mw-shipment-command-centre .mw-ops-detail-grid,
    .mw-shipment-command-centre .mw-ops-lower-grid,
    .mw-shipment-command-centre .mw-dashboard-panel,
    .mw-shipment-command-centre .mw-event-console,
    .mw-shipment-command-centre .mw-assignment-panel {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }
    .mw-shipment-command-centre {
        width: 100%;
        overflow: hidden;
    }
    .mw-shipment-command-centre .mw-dashboard-panel {
        overflow: hidden;
    }
    .mw-shipment-command-centre .mw-portal-table-wrap {
        max-width: 100%;
        overflow-x: auto;
    }
    .mw-shipment-command-centre .mw-ops-heading-actions {
        width: 100%;
        flex-wrap: wrap;
    }
    .mw-shipment-command-centre .mw-ops-heading-actions .mw-button {
        flex: 1 1 auto;
    }
    .mw-shipment-command-centre .mw-ops-brief-grid > div,
    .mw-shipment-command-centre .mw-identifier-grid > div,
    .mw-shipment-command-centre .mw-admin-event-copy,
    .mw-shipment-command-centre .mw-comment-feed article {
        min-width: 0;
        overflow-wrap: anywhere;
    }
    .mw-shipment-command-centre .mw-admin-event-copy > div,
    .mw-shipment-command-centre .mw-comment-feed article > div {
        min-width: 0;
    }
    .mw-qr-layout {
        grid-template-columns: 88px 1fr;
    }
    .mw-qr-layout img {
        width: 88px;
        height: 88px;
    }
}

/* Customer portal */
.mw-portal-shell {
    min-height: calc(100vh - 68px);
    padding: 46px 24px 72px;
    background: #f5f9f9;
    color: #032532;
    font-family: "Space Grotesk", Arial, sans-serif;
}

.mw-portal-container {
    width: min(1180px, 100%);
    margin: 0 auto;
}

.mw-portal-container--narrow {
    width: min(840px, 100%);
}

.mw-portal-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.mw-portal-heading h1 {
    margin: 0 0 10px;
    color: #032532;
    font-size: clamp(2rem, 4vw, 3.2rem);
}

.mw-portal-heading .mw-dashboard-muted {
    max-width: 620px;
}

.mw-portal-heading .mw-button {
    flex-shrink: 0;
    text-decoration: none;
}

.mw-portal-stat-grid {
    grid-template-columns: repeat(4, 1fr);
    margin: 0 0 22px;
}

.mw-portal-stat-grid .mw-stat {
    color: #032532;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease;
}

.mw-portal-stat-grid .mw-stat:hover {
    border-color: #0eb6bd;
    transform: translateY(-2px);
}

.mw-portal-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr);
    align-items: start;
    gap: 22px;
}

.mw-portal-card {
    padding: 25px;
    border: 1px solid #dbe7e9;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(3, 37, 50, .05);
}

.mw-portal-card--wide {
    min-width: 0;
}

.mw-portal-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 21px;
}

.mw-portal-card-heading .mw-dashboard-eyebrow {
    margin-bottom: 7px;
}

.mw-portal-card-heading h2, .mw-portal-card h2 {
    margin: 0;
    color: #032532;
    font-size: 1.25rem;
}

.mw-portal-card-heading > a, .mw-portal-table a, .mw-document-row > a, .mw-btn-download {
    color: #087e88;
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
}

.mw-portal-card-heading > a:hover, .mw-portal-table a:hover, .mw-document-row > a:hover, .mw-btn-download:hover {
    color: #032532;
}

.mw-btn-download {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    white-space: nowrap;
    flex-shrink: 0;
}

.mw-portal-table-wrap {
    overflow-x: auto;
}

.mw-portal-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 650px;
}

.mw-portal-table th {
    padding: 0 12px 11px;
    border-bottom: 1px solid #dbe7e9;
    color: #6f8085;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-align: left;
    text-transform: uppercase;
}

.mw-portal-table td {
    padding: 15px 12px;
    border-bottom: 1px solid #edf2f2;
    color: #466069;
    font-size: .8rem;
    vertical-align: middle;
}

.mw-portal-table td:first-child, .mw-portal-table th:first-child {
    padding-left: 0;
}

.mw-portal-table td:last-child, .mw-portal-table th:last-child {
    padding-right: 0;
    text-align: right;
}

.mw-portal-table strong, .mw-portal-table small {
    display: block;
}

.mw-portal-table strong {
    color: #032532;
}

.mw-portal-table small {
    margin-top: 4px;
    color: #829399;
    font-size: .7rem;
}

.mw-status-chip {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 99px;
    background: #edf2f2;
    color: #5a6e73;
    font-size: .67rem;
    font-weight: 700;
    white-space: nowrap;
}

.mw-status-chip--requested, .mw-status-chip--pending {
    background: #fff4dd;
    color: #9a6d17;
}

.mw-status-chip--confirmed, .mw-status-chip--in_transit, .mw-status-chip--issued {
    background: #e3f4f4;
    color: #087e88;
}

.mw-status-chip--delivered, .mw-status-chip--paid, .mw-status-chip--approved {
    background: #e6f6ea;
    color: #31834d;
}

.mw-status-chip--cancelled, .mw-status-chip--rejected, .mw-status-chip--overdue {
    background: #fde9e8;
    color: #b34a45;
}

.mw-portal-action-list {
    display: grid;
}

.mw-portal-action-list a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid #edf2f2;
    color: #032532;
    text-decoration: none;
}

.mw-portal-action-list a:last-child {
    border-bottom: 0;
}

.mw-portal-action-list a > span {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 5px;
    background: #e3f4f4;
    color: #087e88;
}

.mw-portal-action-list strong, .mw-portal-action-list small {
    display: block;
}

.mw-portal-action-list strong {
    font-size: .82rem;
}

.mw-portal-action-list small {
    margin-top: 4px;
    color: #829399;
    font-size: .7rem;
    font-weight: 400;
}

.mw-portal-action-list a:hover strong {
    color: #087e88;
}

.mw-portal-empty {
    display: grid;
    gap: 7px;
    padding: 35px 18px;
    border: 1px dashed #cbdcde;
    color: #6f8085;
    text-align: center;
}

.mw-portal-empty strong {
    color: #36555e;
}

.mw-portal-empty span {
    font-size: .8rem;
}

.mw-form-grid-two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.mw-portal-card.mw-form {
    display: grid;
    gap: 15px;
}

.mw-portal-card.mw-form h2 {
    margin-top: 9px;
}

.mw-portal-card.mw-form h2:first-child {
    margin-top: 0;
}

.mw-portal-card.mw-form label {
    display: grid;
    gap: 7px;
    color: #173d47;
    font-size: .82rem;
    font-weight: 700;
}

.mw-portal-card.mw-form input, .mw-portal-card.mw-form select, .mw-portal-card.mw-form textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 12px;
    border: 1px solid #bfced1;
    border-radius: 2px;
    background: #fff;
    color: #032532;
    font: inherit;
    font-size: .84rem;
}

.mw-portal-card.mw-form input:focus, .mw-portal-card.mw-form select:focus, .mw-portal-card.mw-form textarea:focus {
    outline: 2px solid #0eb6bd;
    outline-offset: 1px;
}

.mw-portal-card.mw-form small {
    color: #829399;
    font-size: .72rem;
    font-weight: 400;
}

/* Enterprise shipment intake */
.mw-shipment-create-shell {
    background:
        linear-gradient(180deg, #eef7f7 0, #f5f9f9 230px, #f5f9f9 100%);
}

.mw-shipment-create-container {
    width: min(1440px, 100%);
}

.mw-shipment-hero {
    align-items: center;
    padding: 28px 32px;
    border: 1px solid #d7e9ea;
    border-radius: 8px;
    background: #032c3a;
    box-shadow: 0 18px 44px rgba(3, 37, 50, .12);
}

.mw-shipment-hero h1, .mw-shipment-hero .mw-dashboard-muted {
    color: #fff;
}

.mw-shipment-hero .mw-dashboard-eyebrow {
    color: #58d1cf;
}

.mw-shipment-hero .mw-dashboard-muted {
    max-width: 720px;
    color: #b9d3d5;
}

.mw-shipment-hero-meta {
    display: grid;
    min-width: 230px;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0 8px;
    padding: 14px 16px;
    border: 1px solid rgba(112, 220, 216, .3);
    border-radius: 5px;
    background: rgba(0, 17, 25, .22);
    color: #e6ffff;
    font-size: .72rem;
    font-weight: 700;
}

.mw-shipment-hero-meta small {
    grid-column: 2;
    margin-top: 4px;
    color: #9abfc2;
    font-size: .65rem;
    font-weight: 400;
}

.mw-live-dot {
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 50%;
    background: #51d4bf;
    box-shadow: 0 0 0 4px rgba(81, 212, 191, .14);
}

.mw-shipment-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 270px;
    align-items: start;
    gap: 22px;
}

.mw-enterprise-form {
    gap: 0;
    padding: 0;
    overflow: hidden;
}

.mw-form-section {
    padding: 31px 34px 34px;
    border-bottom: 1px solid #e2eded;
}

.mw-form-section:last-child {
    border-bottom: 0;
}

.mw-form-section-heading {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 22px;
}

.mw-form-section-heading > div {
    min-width: 0;
}

.mw-form-section-heading h2 {
    margin: 0;
    color: #032532;
    font-size: 1.25rem;
    letter-spacing: -.02em;
}

.mw-form-section-heading p:not(.mw-dashboard-eyebrow) {
    margin: 7px 0 0;
    color: #71878b;
    font-size: .78rem;
    line-height: 1.6;
}

.mw-form-step {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border-radius: 50%;
    background: #e3f5f4;
    color: #087e88;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .06em;
}

.mw-required {
    color: #d26954;
}

.mw-mode-hint {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 15px;
    padding: 11px 14px;
    border-left: 3px solid #0eb6bd;
    background: #f0f8f8;
    color: #5c767b;
    font-size: .75rem;
}

.mw-mode-hint strong {
    color: #087e88;
}

.mw-party-form-grid, .mw-route-form-grid, .mw-compliance-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
}

.mw-route-form-grid, .mw-compliance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mw-party-form-card, .mw-logistics-card {
    min-width: 0;
    margin: 0;
    padding: 18px;
    border: 1px solid #d7e5e6;
    border-radius: 5px;
    background: #fbfdfd;
}

.mw-party-form-card legend, .mw-logistics-card legend {
    display: flex;
    align-items: center;
    gap: 8px;
    width: auto;
    max-width: 100%;
    padding: 0 7px 0 0;
    color: #032532;
    font-size: .82rem;
    font-weight: 800;
}

.mw-party-form-card legend small {
    color: #829399;
    font-size: .62rem;
    font-weight: 500;
}

.mw-party-icon, .mw-transport-icon {
    display: inline-grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 50%;
    background: #dff4f3;
    color: #087e88;
    font-size: .68rem;
    font-weight: 800;
}

.mw-party-form-card > label, .mw-logistics-card > label {
    margin-top: 13px;
}

.mw-form-grid-three {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.mw-form-grid-two {
    gap: 12px;
}

.mw-route-required-card {
    display: grid;
    grid-template-columns: 37px minmax(150px, .35fr) minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    margin-top: 15px;
    padding: 17px;
    border: 1px solid #c4e5e5;
    border-radius: 5px;
    background: #f3fbfb;
}

.mw-route-required-card > .mw-form-grid-two {
    min-width: 0;
}

.mw-route-pin {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    background: #087e88;
    color: #fff;
    font-weight: 800;
}

.mw-route-required-card > div:nth-child(2) strong,
.mw-route-required-card > div:nth-child(2) span {
    display: block;
}

.mw-route-required-card > div:nth-child(2) strong {
    color: #032532;
    font-size: .82rem;
}

.mw-route-required-card > div:nth-child(2) span {
    margin-top: 4px;
    color: #6f8085;
    font-size: .68rem;
}

.mw-check-label {
    display: flex !important;
    grid-template-columns: auto 1fr !important;
    align-items: flex-start;
    gap: 10px !important;
    margin-top: 15px;
    padding: 12px 14px;
    border: 1px solid #ecd9b3;
    border-radius: 4px;
    background: #fffaf0;
}

.mw-check-label input {
    width: auto !important;
    margin-top: 2px;
    accent-color: #d08b2f;
}

.mw-check-label span {
    display: grid;
    gap: 3px;
    color: #6e522b;
    font-size: .75rem;
}

.mw-check-label small {
    color: #967a4e;
}

.mw-incoterm-bar {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 100px;
    align-items: center;
    gap: 14px;
    margin-top: 15px;
    padding: 15px;
    border: 1px solid #d8e4e5;
    background: #f8fbfb;
}

.mw-incoterm-mark {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid #b7dada;
    border-radius: 4px;
    background: #e4f5f4;
    color: #087e88;
    font-size: .62rem;
    font-weight: 800;
}

.mw-incoterm-bar > label {
    margin: 0;
}

.mw-transport-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
}

.mw-transport-card-grid .mw-logistics-card {
    background: #fff;
}

.mw-transport-icon {
    width: 23px;
    height: 23px;
    margin-right: 2px;
}

.mw-container-editor {
    overflow-x: auto;
    border: 1px solid #d7e5e6;
    border-radius: 5px;
}

.mw-container-row {
    display: grid;
    min-width: 760px;
    grid-template-columns: 1.1fr 1.4fr 1.2fr .8fr 1fr 1fr 28px;
    gap: 9px;
    align-items: end;
    padding: 11px 12px;
    border-bottom: 1px solid #e7eeee;
}

.mw-container-row:last-child {
    border-bottom: 0;
}

.mw-container-row--header {
    align-items: center;
    background: #f1f7f7;
    color: #6f8085;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.mw-container-row label {
    min-width: 0;
}

.mw-container-row input, .mw-container-row select {
    min-width: 0;
    padding: 9px 8px !important;
    font-size: .72rem !important;
}

.mw-remove-container {
    width: 28px;
    height: 35px;
    border: 0;
    background: transparent;
    color: #b34a45;
    cursor: pointer;
    font-size: 1.1rem;
}

.mw-text-button.mw-add-container {
    align-self: center;
    margin-left: auto;
    color: #087e88;
}

.mw-submit-band {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 25px;
    padding: 18px;
    border: 1px solid #b9e2df;
    border-radius: 5px;
    background: #effaf9;
}

.mw-submit-band strong, .mw-submit-band span {
    display: block;
}

.mw-submit-band strong {
    color: #032532;
    font-size: .86rem;
}

.mw-submit-band span {
    margin-top: 4px;
    color: #5d7b7d;
    font-size: .7rem;
}

.mw-shipment-side-rail {
    display: grid;
    position: sticky;
    top: 18px;
    gap: 15px;
}

.mw-side-card {
    padding: 21px;
}

.mw-side-card h2 {
    margin-bottom: 16px;
}

.mw-checklist {
    display: grid;
}

.mw-checklist a {
    display: grid;
    grid-template-columns: 25px 1fr auto;
    align-items: center;
    gap: 8px;
    padding: 11px 0;
    border-bottom: 1px solid #edf2f2;
    color: #466069;
    font-size: .74rem;
    text-decoration: none;
}

.mw-checklist a:last-child {
    border-bottom: 0;
}

.mw-checklist a:hover {
    color: #087e88;
}

.mw-checklist a span {
    color: #9ab0b3;
    font-size: .65rem;
    font-weight: 800;
}

.mw-checklist a i {
    color: #42a98f;
    font-size: .7rem;
    font-style: normal;
}

.mw-side-card--teal {
    border-color: #c3e7e5;
    background: #eaf8f7;
}

.mw-side-card-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: #087e88;
    color: #fff;
}

.mw-side-card--teal h3 {
    margin: 15px 0 7px;
    color: #032532;
    font-size: .9rem;
}

.mw-side-card--teal p {
    margin: 0 0 14px;
    color: #5b777a;
    font-size: .72rem;
    line-height: 1.65;
}

.mw-side-card--teal a {
    color: #087e88;
    font-size: .73rem;
    font-weight: 800;
    text-decoration: none;
}

.mw-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.mw-table-caption, .mw-live-badge {
    color: #829399;
    font-size: .68rem;
    font-weight: 600;
}

.mw-live-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #3f9b6a;
}

.mw-live-badge .mw-live-dot {
    width: 6px;
    height: 6px;
    box-shadow: none;
    background: #42a98f;
}

.mw-shipment-detail-grid, .mw-detail-section-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr);
    gap: 22px;
    align-items: start;
    margin-bottom: 22px;
}

.mw-party-summary-grid, .mw-mini-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.mw-summary-card, .mw-mini-detail-grid > div {
    min-width: 0;
    padding: 13px;
    border: 1px solid #e1ecec;
    background: #f8fbfb;
}

.mw-summary-card span, .mw-summary-card strong, .mw-summary-card small,
.mw-mini-detail-grid span, .mw-mini-detail-grid strong, .mw-mini-detail-grid small {
    display: block;
}

.mw-summary-card span, .mw-mini-detail-grid span {
    color: #087e88;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.mw-summary-card strong, .mw-mini-detail-grid strong {
    margin-top: 8px;
    overflow: hidden;
    color: #032532;
    font-size: .78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mw-summary-card small, .mw-mini-detail-grid small {
    margin-top: 4px;
    overflow: hidden;
    color: #71878b;
    font-size: .68rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mw-detail-section-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mw-optional {
    color: #829399;
    font-size: .7rem;
    font-weight: 400;
}

.mw-button span {
    margin-left: 10px;
}

.mw-document-list {
    display: grid;
}

.mw-document-row {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px 0;
    border-bottom: 1px solid #edf2f2;
}

.mw-document-row:last-child {
    border-bottom: 0;
}

.mw-document-file {
    width: 34px;
    height: 34px;
    display: grid;
    flex-shrink: 0;
    place-items: center;
    border-radius: 5px;
    background: #e3f4f4;
    color: #087e88;
    font-size: .75rem;
    font-weight: 800;
}

.mw-document-row > div {
    min-width: 0;
    flex: 1;
}

.mw-document-row strong, .mw-document-row small {
    display: block;
}

.mw-document-row strong {
    overflow: hidden;
    color: #032532;
    font-size: .82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mw-document-row small {
    margin-top: 4px;
    color: #829399;
    font-size: .7rem;
}

.mw-party-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.mw-party-card {
    padding: 17px;
    border: 1px solid #dbe7e9;
}

.mw-party-card-heading {
    display: flex;
    justify-content: space-between;
}

.mw-party-type {
    color: #087e88;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mw-party-card h3 {
    margin: 17px 0 5px;
    color: #032532;
    font-size: 1rem;
}

.mw-party-card p, .mw-party-card small {
    display: block;
    margin: 4px 0;
    color: #6f8085;
    font-size: .76rem;
}

.mw-icon-button {
    border: 0;
    background: transparent;
    color: #9aaeb2;
    cursor: pointer;
    font-size: 1.2rem;
}

.mw-icon-button:hover {
    color: #b34a45;
}

.mw-back-link {
    display: inline-block;
    margin-bottom: 22px;
    color: #087e88;
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none;
}

.mw-timeline {
    padding-left: 7px;
}

.mw-timeline-item {
    position: relative;
    display: flex;
    gap: 15px;
    padding: 0 0 24px 19px;
    border-left: 1px solid #c9dfe0;
}

.mw-timeline-item:last-child {
    padding-bottom: 0;
    border-left-color: transparent;
}

.mw-timeline-item > span {
    position: absolute;
    top: 0;
    left: -6px;
    width: 11px;
    height: 11px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #0eb6bd;
    box-shadow: 0 0 0 1px #0eb6bd;
}

.mw-timeline-item strong, .mw-timeline-item small {
    display: block;
}

.mw-timeline-item strong {
    color: #032532;
    font-size: .9rem;
}

.mw-timeline-item small {
    margin-top: 4px;
    color: #829399;
    font-size: .7rem;
}

.mw-timeline-item p {
    margin: 8px 0 0;
    color: #6f8085;
    font-size: .8rem;
}

.mw-route-box {
    display: grid;
    gap: 10px;
    padding: 15px;
    background: #f5f9f9;
}

.mw-route-box small, .mw-route-box strong, .mw-route-box span {
    display: block;
}

.mw-route-box small {
    color: #829399;
    font-size: .65rem;
    text-transform: uppercase;
}

.mw-route-box strong {
    margin-top: 4px;
    color: #032532;
    font-size: .85rem;
}

.mw-route-box span {
    margin-top: 4px;
    color: #6f8085;
    font-size: .72rem;
}

.mw-route-line {
    width: 1px;
    height: 18px;
    margin-left: 3px;
    border-left: 1px dashed #0eb6bd;
}

.mw-detail-list {
    margin: 20px 0 0;
}

.mw-detail-list div {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 9px 0;
    border-bottom: 1px solid #edf2f2;
}

.mw-detail-list dt {
    color: #829399;
    font-size: .72rem;
}

.mw-detail-list dd {
    margin: 0;
    color: #032532;
    font-size: .76rem;
    text-align: right;
}

.mw-invoice-card h1 {
    margin: 0;
    color: #032532;
}

.mw-invoice-top {
    display: flex;
    justify-content: space-between;
    gap: 18px;
}

.mw-invoice-meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 30px 0;
    padding: 17px 0;
    border-top: 1px solid #edf2f2;
    border-bottom: 1px solid #edf2f2;
}

.mw-invoice-meta small, .mw-invoice-meta strong {
    display: block;
}

.mw-invoice-meta small {
    color: #829399;
    font-size: .68rem;
}

.mw-invoice-meta strong {
    margin-top: 5px;
    color: #032532;
    font-size: .82rem;
}

.mw-invoice-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;
}

.mw-invoice-total span {
    color: #6f8085;
}

.mw-invoice-total strong {
    color: #087e88;
    font-size: 1.5rem;
}

.mw-notification-list {
    display: grid;
}

.mw-notification-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 0;
    border-bottom: 1px solid #edf2f2;
}

.mw-notification-row:last-child {
    border-bottom: 0;
}

.mw-notification-dot {
    width: 8px;
    height: 8px;
    margin-top: 6px;
    flex-shrink: 0;
    border-radius: 50%;
    background: transparent;
}

.mw-notification-row--unread .mw-notification-dot {
    background: #0eb6bd;
}

.mw-notification-row > div {
    flex: 1;
}

.mw-notification-row strong {
    color: #032532;
    font-size: .85rem;
}

.mw-notification-row p {
    margin: 5px 0;
    color: #6f8085;
    font-size: .78rem;
}

.mw-notification-row small {
    color: #829399;
    font-size: .68rem;
}

.mw-text-button {
    border: 0;
    background: transparent;
    color: #087e88;
    cursor: pointer;
    font: inherit;
    font-size: .76rem;
    font-weight: 700;
}

.mw-account-links sup {
    display: inline-grid;
    min-width: 16px;
    min-height: 16px;
    place-items: center;
    margin-left: 3px;
    border-radius: 50%;
    background: #0eb6bd;
    color: #032532;
    font-size: .62rem;
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 900px) {
    .mw-portal-grid {
        grid-template-columns: 1fr;
    }
    .mw-portal-stat-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .mw-shipment-layout {
        grid-template-columns: 1fr;
    }
    .mw-shipment-side-rail {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mw-party-form-grid, .mw-transport-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mw-party-form-card:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 680px) {
    .mw-portal-shell {
        padding: 30px 16px 50px;
    }
    .mw-portal-heading {
        align-items: stretch;
        flex-direction: column;
    }
    .mw-portal-heading .mw-button {
        align-self: flex-start;
    }
    .mw-portal-card {
        padding: 18px;
    }
    .mw-form-grid-two, .mw-party-grid, .mw-invoice-meta {
        grid-template-columns: 1fr;
    }
    .mw-form-grid-three, .mw-party-form-grid, .mw-route-form-grid, .mw-compliance-grid,
    .mw-transport-card-grid, .mw-detail-section-grid, .mw-shipment-detail-grid,
    .mw-party-summary-grid, .mw-mini-detail-grid {
        grid-template-columns: 1fr;
    }
    .mw-shipment-hero {
        align-items: flex-start;
        padding: 24px 20px;
    }
    .mw-shipment-hero-meta {
        width: 100%;
        box-sizing: border-box;
    }
    .mw-form-section {
        padding: 25px 18px;
    }
    .mw-form-section-heading {
        gap: 10px;
    }
    .mw-form-section-heading h2 {
        font-size: 1.08rem;
    }
    .mw-route-required-card {
        grid-template-columns: 30px minmax(0, 1fr);
    }
    .mw-route-required-card > .mw-form-grid-two {
        grid-column: 1 / -1;
    }
    .mw-incoterm-bar {
        grid-template-columns: 38px minmax(0, 1fr);
    }
    .mw-incoterm-bar > label:last-child {
        grid-column: 2;
    }
    .mw-submit-band {
        align-items: flex-start;
        flex-direction: column;
    }
    .mw-submit-band .mw-button {
        width: 100%;
    }
    .mw-shipment-side-rail {
        grid-template-columns: 1fr;
    }
    .mw-shipment-detail-hero {
        align-items: flex-start;
    }
    .mw-document-row {
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .mw-document-row > a {
        width: 100%;
        margin-left: 47px;
    }
    .mw-invoice-top {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* ───────────────────────────────────────────────────────────────────────────
   Company management settings
   ─────────────────────────────────────────────────────────────────────────── */
.mw-settings-page {
    max-width: 1480px;
    margin: 0 auto;
}

.mw-company-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    border: 1px solid #d7ede1;
    border-radius: 5px;
    background: #f0faf4;
    color: #3e9866;
    font-size: 11px;
}

.mw-company-status i {
    width: 7px;
    height: 7px;
    display: inline-block;
    border-radius: 50%;
    background: #48b877;
}

.mw-company-picker {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding: 14px 17px;
    border: 1px solid var(--mw-admin-border);
    border-radius: 9px;
    background: var(--mw-admin-card);
}

.mw-company-picker label {
    display: grid;
    gap: 7px;
    color: var(--mw-admin-muted);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
}

.mw-company-picker select {
    min-width: 270px;
    padding: 9px 11px;
    border: 1px solid var(--mw-admin-border);
    border-radius: 4px;
    background: var(--mw-admin-bg);
    color: var(--mw-admin-text);
    font: inherit;
    font-size: 12px;
    text-transform: none;
}

.mw-company-picker > span {
    padding-bottom: 9px;
    color: var(--mw-admin-teal);
    font-size: 10px;
}

.mw-company-settings-form {
    display: block;
}

.mw-settings-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(310px, .75fr);
    align-items: start;
    gap: 18px;
}

.mw-settings-main, .mw-settings-side {
    display: grid;
    gap: 18px;
}

.mw-settings-card {
    padding: 23px;
    border: 1px solid var(--mw-admin-border);
    border-radius: 11px;
    background: var(--mw-admin-card);
    box-shadow: var(--mw-admin-shadow);
}

.mw-settings-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 22px;
}

.mw-settings-card-heading > div {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.mw-settings-card-heading h2 {
    margin: 0;
    color: var(--mw-admin-text);
    font-size: 16px;
    font-weight: 600;
}

.mw-settings-card-heading p {
    margin: 6px 0 0;
    color: var(--mw-admin-muted);
    font-size: 11px;
}

.mw-section-number {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 7px;
    background: #e5f5f3;
    color: var(--mw-admin-teal);
    font-size: 10px;
    font-weight: 700;
}

.mw-settings-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.mw-settings-form-grid label, .mw-standalone-label, .mw-template-fields label {
    display: grid;
    gap: 7px;
    color: var(--mw-admin-text);
    font-size: 11px;
    font-weight: 600;
}

.mw-settings-form-grid input, .mw-settings-form-grid textarea, .mw-standalone-label textarea, .mw-template-fields input, .mw-template-fields textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 11px;
    border: 1px solid var(--mw-admin-border);
    border-radius: 5px;
    outline: 0;
    background: var(--mw-admin-bg);
    color: var(--mw-admin-text);
    font: inherit;
    font-size: 12px;
    font-weight: 400;
    resize: vertical;
}

.mw-settings-form-grid input:focus, .mw-settings-form-grid textarea:focus, .mw-standalone-label textarea:focus, .mw-template-fields input:focus, .mw-template-fields textarea:focus {
    border-color: var(--mw-admin-teal);
    box-shadow: 0 0 0 2px rgba(49,157,150,.12);
}

.mw-field-full {
    grid-column: 1 / -1;
}

.mw-branding-row {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr);
    align-items: center;
    gap: 30px;
}

.mw-logo-upload {
    display: flex;
    align-items: center;
    gap: 15px;
}

.mw-logo-preview {
    width: 78px;
    height: 78px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px dashed #b9d9d6;
    border-radius: 10px;
    background: #f0faf9;
    color: var(--mw-admin-teal);
    font-size: 25px;
    font-weight: 700;
}

.mw-logo-preview img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mw-logo-upload strong, .mw-logo-upload small {
    display: block;
}

.mw-logo-upload strong {
    color: var(--mw-admin-text);
    font-size: 12px;
}

.mw-logo-upload small {
    max-width: 190px;
    margin: 5px 0 10px;
    color: var(--mw-admin-muted);
    font-size: 10px;
    line-height: 1.45;
}

.mw-logo-file-name {
    overflow: hidden;
    max-width: 205px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mw-upload-button {
    display: inline-block;
    padding: 7px 10px;
    border: 1px solid var(--mw-admin-border);
    border-radius: 4px;
    background: var(--mw-admin-card);
    color: var(--mw-admin-teal);
    cursor: pointer;
    font-size: 10px;
}

.mw-upload-button:hover {
    border-color: var(--mw-admin-teal);
    background: #f0faf9;
}

.mw-upload-button input {
    display: none;
}

.mw-color-fields {
    display: grid;
    gap: 14px;
}

.mw-color-fields label {
    display: grid;
    gap: 7px;
    color: var(--mw-admin-text);
    font-size: 11px;
    font-weight: 600;
}

.mw-color-input {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mw-color-input input[type="color"] {
    width: 38px;
    height: 34px;
    padding: 3px;
    border: 1px solid var(--mw-admin-border);
    border-radius: 5px;
    background: var(--mw-admin-bg);
    cursor: pointer;
}

.mw-color-text {
    width: 100px !important;
    padding: 9px 10px !important;
    border: 1px solid var(--mw-admin-border) !important;
    border-radius: 5px !important;
    background: var(--mw-admin-bg) !important;
    color: var(--mw-admin-text) !important;
    font-family: monospace !important;
    font-size: 11px !important;
}

.mw-private-badge {
    padding: 5px 8px;
    border-radius: 4px;
    background: #f0ebfb;
    color: #8065bd;
    font-size: 9px;
    font-weight: 600;
}

.mw-standalone-label textarea {
    min-height: 105px;
}

.mw-template-list {
    display: grid;
    gap: 9px;
}

.mw-email-template {
    border: 1px solid var(--mw-admin-border);
    border-radius: 6px;
    background: var(--mw-admin-bg);
}

.mw-email-template summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 14px;
    color: var(--mw-admin-text);
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
    list-style: none;
}

.mw-email-template summary::-webkit-details-marker {
    display: none;
}

.mw-email-template summary::after {
    content: "+";
    color: var(--mw-admin-teal);
    font-size: 16px;
    font-weight: 400;
}

.mw-email-template[open] summary::after {
    content: "−";
}

.mw-email-template summary small {
    margin-left: auto;
    color: var(--mw-admin-muted);
    font-size: 9px;
    font-weight: 400;
}

.mw-template-fields {
    display: grid;
    gap: 13px;
    padding: 0 14px 15px;
}

.mw-document-card {
    position: sticky;
    top: 96px;
}

.mw-document-toggles {
    display: grid;
}

.mw-document-toggles label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 0;
    border-bottom: 1px solid var(--mw-admin-border);
    cursor: pointer;
}

.mw-document-toggles label:last-child {
    border-bottom: 0;
}

.mw-document-toggles label > span {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mw-document-icon {
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    border-radius: 6px;
    background: #e5f5f3;
    color: var(--mw-admin-teal);
    font-size: 14px;
    font-style: normal;
}

.mw-document-toggles strong, .mw-document-toggles small {
    display: block;
}

.mw-document-toggles strong {
    color: var(--mw-admin-text);
    font-size: 11px;
    font-weight: 600;
}

.mw-document-toggles small {
    margin-top: 3px;
    color: var(--mw-admin-muted);
    font-size: 9px;
}

.mw-document-toggles input[type="checkbox"] {
    position: relative;
    width: 33px;
    height: 19px;
    appearance: none;
    border-radius: 99px;
    outline: 0;
    background: #dfe4e5;
    cursor: pointer;
    transition: background .2s ease;
}

.mw-document-toggles input[type="checkbox"]::after {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 13px;
    height: 13px;
    content: "";
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.16);
    transition: transform .2s ease;
}

.mw-document-toggles input[type="checkbox"]:checked {
    background: var(--mw-admin-teal);
}

.mw-document-toggles input[type="checkbox"]:checked::after {
    transform: translateX(14px);
}

.mw-settings-save-card {
    padding: 22px;
    border: 1px solid #cce8e4;
    border-radius: 11px;
    background: linear-gradient(135deg, #f0faf9, #fff);
}

.mw-save-icon {
    width: 35px;
    height: 35px;
    display: grid;
    place-items: center;
    margin-bottom: 14px;
    border-radius: 50%;
    background: var(--mw-admin-teal);
    color: #fff;
    font-size: 18px;
}

.mw-settings-save-card strong {
    display: block;
    color: #246f6a;
    font-size: 14px;
}

.mw-settings-save-card p {
    margin: 7px 0 17px;
    color: #6d9290;
    font-size: 10px;
    line-height: 1.5;
}

.mw-settings-save-card .mw-primary-button {
    width: 100%;
}

.mw-settings-empty {
    padding: 65px 25px;
    text-align: center;
}

.mw-empty-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin: 0 auto 15px;
    border-radius: 12px;
    background: #e5f5f3;
    color: var(--mw-admin-teal);
    font-size: 22px;
}

.mw-settings-empty h2 {
    margin: 0;
    color: var(--mw-admin-text);
    font-size: 18px;
}

.mw-settings-empty p {
    margin: 8px 0 20px;
    color: var(--mw-admin-muted);
    font-size: 12px;
}

@media (max-width: 1000px) {
    .mw-settings-layout {
        grid-template-columns: 1fr;
    }
    .mw-document-card {
        position: static;
    }
}

@media (max-width: 680px) {
    .mw-company-picker {
        align-items: stretch;
        flex-direction: column;
    }
    .mw-company-picker select {
        min-width: 0;
        width: 100%;
    }
    .mw-company-picker > span {
        padding-bottom: 0;
    }
    .mw-settings-card {
        padding: 17px;
    }
    .mw-settings-form-grid, .mw-branding-row {
        grid-template-columns: 1fr;
    }
    .mw-field-full {
        grid-column: auto;
    }
    .mw-settings-card-heading {
        flex-direction: column;
    }
    .mw-email-template summary {
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .mw-email-template summary small {
        width: 100%;
        margin-left: 42px;
    }
}
/* ── Generate documents panel ─────────────────────────────────────────────── */
.mw-generate-docs-panel {
    margin-bottom: 24px;
}
.mw-generate-docs-form {
    padding-top: 4px;
}
.mw-generate-docs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 8px 16px;
    margin-bottom: 20px;
}
.mw-doc-type-check {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid var(--mw-border, #e4e9ed);
    border-radius: 6px;
    cursor: pointer;
    font-size: 13px;
    color: var(--mw-text, #1a2b38);
    transition: border-color 120ms, background 120ms;
    user-select: none;
}
.mw-doc-type-check:hover {
    border-color: var(--mw-teal, #0eb6bd);
    background: rgba(14,182,189,0.04);
}
.mw-doc-type-check input[type="checkbox"] {
    accent-color: var(--mw-teal, #0eb6bd);
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    cursor: pointer;
}
.mw-doc-type-check:has(input:checked) {
    border-color: var(--mw-teal, #0eb6bd);
    background: rgba(14,182,189,0.07);
}
.mw-generate-docs-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.mw-generate-docs-actions .mw-text-button {
    font-size: 12px;
    padding: 0;
    color: var(--mw-teal, #0eb6bd);
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: underline;
}
.mw-generate-docs-actions .mw-text-button:hover {
    opacity: 0.75;
}
.mw-generate-docs-actions .mw-button {
    margin-left: auto;
}
@media (max-width: 640px) {
    .mw-generate-docs-grid {
        grid-template-columns: 1fr 1fr;
    }
    .mw-generate-docs-actions .mw-button {
        margin-left: 0;
        width: 100%;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SHIPMENT OPERATIONS — INDEX & FILTER  (added 2026-08-08)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Filter panel */
.mw-shipment-filter-panel {
    width: 100% !important;
    padding: 20px 24px !important;
    border-top: none !important;
    border: 1px solid #e5eaee !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 4px rgba(3,37,50,.06) !important;
}

.mw-filter-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}
.mw-filter-search-icon {
    position: absolute;
    left: 14px;
    color: #8fa3b0;
    display: flex;
    pointer-events: none;
    z-index: 1;
}
.mw-filter-search-input {
    width: 100%;
    height: 44px;
    padding: 0 120px 0 44px;
    border: 1.5px solid #dde4e9;
    border-radius: 10px;
    font-size: 14px;
    color: #032532;
    background: #f8fafb;
    outline: none;
    transition: border-color 150ms, box-shadow 150ms;
    box-sizing: border-box;
}
.mw-filter-search-input:focus {
    border-color: #0eb6bd;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(14,182,189,0.12);
}
.mw-filter-search-input::placeholder { color: #aab8c2; }
.mw-filter-clear-btn {
    position: absolute;
    right: 12px;
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: #6b7c8a;
    text-decoration: none;
    padding: 4px 8px;
    border-radius: 6px;
    transition: background 150ms, color 150ms;
    white-space: nowrap;
}
.mw-filter-clear-btn:hover { background: #f0f4f7; color: #032532; }

/* Horizontal filter chip row */
.mw-filter-chips-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-end !important;
    gap: 10px !important;
}
.mw-filter-chip-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex-shrink: 0;
}
.mw-filter-chip-label {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .05em;
    color: #6b7c8a;
    text-transform: uppercase;
    white-space: nowrap;
}

/* Styled select for filter */
.mw-select-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.mw-filter-select {
    appearance: none;
    -webkit-appearance: none;
    height: 36px;
    padding: 0 30px 0 11px;
    border: 1.5px solid #dde4e9;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    color: #032532;
    background: #fff;
    cursor: pointer;
    outline: none;
    min-width: 130px;
    max-width: 180px;
    transition: border-color 150ms, box-shadow 150ms;
}
.mw-filter-select:focus {
    border-color: #0eb6bd;
    box-shadow: 0 0 0 3px rgba(14,182,189,0.12);
}
.mw-select-caret {
    position: absolute;
    right: 9px;
    pointer-events: none;
    color: #8fa3b0;
    display: flex;
}
.mw-filter-date {
    height: 36px;
    padding: 0 11px;
    border: 1.5px solid #dde4e9;
    border-radius: 8px;
    font-size: 13px;
    color: #032532;
    background: #fff;
    outline: none;
    width: 140px;
    transition: border-color 150ms, box-shadow 150ms;
    cursor: pointer;
    box-sizing: border-box;
}
.mw-filter-date:focus {
    border-color: #0eb6bd;
    box-shadow: 0 0 0 3px rgba(14,182,189,0.12);
}
.mw-filter-apply-btn {
    height: 36px;
    padding: 0 16px;
    background: #032532;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    align-self: flex-end;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 150ms;
}
.mw-filter-apply-btn:hover { background: #0eb6bd; }
.mw-filter-active-note {
    margin: 10px 0 0;
    font-size: 12px;
    color: #6b7c8a;
}

/* Shipment table */
.mw-shipment-table-panel {
    width: 100% !important;
    padding: 0 !important;
    overflow: hidden;
    border-top: none !important;
    border: 1px solid #e5eaee !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 4px rgba(3,37,50,.06) !important;
}
.mw-shipments-table { width: 100%; border-collapse: collapse; }
.mw-shipments-table thead th {
    padding: 11px 14px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #6b7c8a;
    background: #f8fafb;
    border-bottom: 1px solid #e8edf2;
    white-space: nowrap;
}
.mw-shipment-row td {
    padding: 18px 16px;
    border-bottom: 1px solid #f0f4f7;
    vertical-align: middle;
}
.mw-shipment-row:last-child td { border-bottom: none; }
.mw-shipment-row:hover td { background: #f8fcfd; }
/* Edge breathing room — first and last columns */
.mw-shipments-table thead th:first-child,
.mw-shipment-row td:first-child { padding-left: 22px; }
.mw-shipments-table thead th:last-child,
.mw-shipment-row td:last-child  { padding-right: 22px; }

.mw-shipment-ref { display: block; font-size: 13px; font-weight: 700; color: #032532; font-family: 'Roboto Mono', monospace; }
.mw-shipment-tracking { display: block; font-size: 11px; color: #8fa3b0; margin-top: 2px; font-family: monospace; }
.mw-shipment-customer-name { display: block; font-size: 13px; font-weight: 600; color: #032532; }
.mw-shipment-company { display: block; font-size: 11px; color: #8fa3b0; margin-top: 2px; }
.mw-shipment-no-customer { display: block; font-size: 12px; color: #bcc5ce; font-style: italic; }

/* Mode badge */
.mw-mode-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 20px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.mw-mode-badge--air_freight  { background: #e8f4fd; color: #1a73e8; }
.mw-mode-badge--sea_freight  { background: #e8f6f8; color: #0d7285; }
.mw-mode-badge--road_freight { background: #fef3e2; color: #c77700; }
.mw-mode-badge--rail_freight { background: #f0eefa; color: #6d28d9; }
.mw-mode-badge--courier      { background: #fde8f8; color: #9c27b0; }
.mw-mode-badge--express      { background: #fff3e0; color: #e65100; }
.mw-mode-badge--multimodal   { background: #e8f5e9; color: #2e7d32; }

/* Route cell */
.mw-shipment-route-cell { display: flex; align-items: center; gap: 6px; white-space: nowrap; font-size: 13px; color: #475569; }
.mw-route-origin strong, .mw-route-dest strong { color: #032532; }
.mw-route-arrow { display: flex; flex-shrink: 0; }

/* Status pill */
.mw-status-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 20px; font-size: 12px; font-weight: 600; white-space: nowrap; background: #f0f4f7; color: #475569; }
.mw-status-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.mw-status-pill--created          { background:#e8f8f8; color:#0d7285; }
.mw-status-pill--requested        { background:#fff3e0; color:#c77700; }
.mw-status-pill--confirmed        { background:#e8f0fe; color:#1a73e8; }
.mw-status-pill--awaiting_pickup  { background:#fff8e1; color:#f9a825; }
.mw-status-pill--pickup_scheduled { background:#e8f5e9; color:#2e7d32; }
.mw-status-pill--picked_up        { background:#e8f5e9; color:#388e3c; }
.mw-status-pill--in_transit       { background:#e8f8f8; color:#00838f; }
.mw-status-pill--customs_export_clearance { background:#f3e5f5; color:#7b1fa2; }
.mw-status-pill--export_cleared   { background:#e8f5e9; color:#388e3c; }
.mw-status-pill--delivered        { background:#e8f5e9; color:#1b5e20; }
.mw-status-pill--delayed          { background:#fde8e8; color:#c62828; }
.mw-status-pill--cancelled        { background:#fde8e8; color:#b71c1c; }

.mw-shipment-date-cell { font-size: 13px; color: #475569; white-space: nowrap; }
.mw-muted { display: block; font-size: 11px; color: #aab8c2; margin-top: 2px; }

.mw-table-action-btn { display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px; border-radius: 7px; font-size: 12px; font-weight: 600; color: #032532; background: #f0f4f7; text-decoration: none; white-space: nowrap; transition: background 150ms, color 150ms; }
.mw-table-action-btn:hover { background: #0eb6bd; color: #fff; }
.mw-pagination-wrap { padding: 14px 18px; border-top: 1px solid #f0f4f7; }


/* ═══════════════════════════════════════════════════════════════════════════
   SHIPMENT CREATE FORM  (added 2026-08-08)
   ═══════════════════════════════════════════════════════════════════════════ */

.mw-create-form-section { background:#fff; border:1.5px solid #e8edf2; border-radius:14px; margin-bottom:20px; overflow:hidden; }
.mw-create-section-header { display:flex; align-items:flex-start; gap:16px; padding:18px 24px; border-bottom:1px solid #f0f4f7; background:#f8fafb; }
.mw-create-section-number { width:30px; height:30px; border-radius:50%; background:#032532; color:#fff; font-size:13px; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.mw-create-section-title { font-size:15px; font-weight:700; color:#032532; margin:0 0 3px; }
.mw-create-section-desc { font-size:13px; color:#6b7c8a; margin:0; }
.mw-create-section-body { padding:22px 24px; }

/* Premium fields */
.mw-field { display:flex; flex-direction:column; }
.mw-field-label { font-size:12px; font-weight:700; color:#032532; margin-bottom:3px; letter-spacing:.01em; }
.mw-required { color:#e55; }
.mw-field-hint { font-size:11.5px; color:#8fa3b0; margin:0 0 7px; line-height:1.4; }
.mw-field-group { display:grid; gap:14px; margin-bottom:14px; }
.mw-field-group--half     { grid-template-columns:1fr 1fr; }
.mw-field-group--thirds   { grid-template-columns:1fr 1fr 1fr; }
.mw-field-group--quarters { grid-template-columns:1fr 1fr 1fr 1fr; }

/* Premium input */
.mw-input-premium { height:40px; padding:0 13px; border:1.5px solid #dde4e9; border-radius:9px; font-size:13.5px; color:#032532; background:#fff; outline:none; transition:border-color 150ms,box-shadow 150ms; width:100%; box-sizing:border-box; }
.mw-input-premium:focus { border-color:#0eb6bd; box-shadow:0 0 0 3px rgba(14,182,189,0.12); }
.mw-input-premium::placeholder { color:#bcc5ce; }
.mw-input-mono { font-family:'Roboto Mono',monospace; font-size:12.5px; letter-spacing:.02em; }

/* Premium textarea */
.mw-textarea-premium { padding:11px 13px; border:1.5px solid #dde4e9; border-radius:9px; font-size:13.5px; color:#032532; background:#fff; outline:none; resize:vertical; width:100%; font-family:inherit; line-height:1.5; transition:border-color 150ms,box-shadow 150ms; box-sizing:border-box; }
.mw-textarea-premium:focus { border-color:#0eb6bd; box-shadow:0 0 0 3px rgba(14,182,189,0.12); }
.mw-textarea-premium::placeholder { color:#bcc5ce; }

/* Premium select */
.mw-select-premium-wrap { position:relative; display:flex; align-items:center; width:100%; }
.mw-select-icon { position:absolute; left:12px; color:#8fa3b0; pointer-events:none; display:flex; z-index:1; }
.mw-select-premium { appearance:none; -webkit-appearance:none; width:100%; height:40px; border:1.5px solid #dde4e9; border-radius:9px; font-size:13.5px; color:#032532; background:#fff; outline:none; cursor:pointer; transition:border-color 150ms,box-shadow 150ms; padding:0 36px 0 40px; box-sizing:border-box; }
.mw-select-premium-wrap:not(:has(.mw-select-icon)) .mw-select-premium { padding:0 36px 0 13px; }
.mw-select-premium:focus { border-color:#0eb6bd; box-shadow:0 0 0 3px rgba(14,182,189,0.12); }
.mw-select-premium-caret { position:absolute; right:11px; pointer-events:none; color:#8fa3b0; display:flex; }

/* Transport mode cards */
.mw-mode-card-grid { display:flex; flex-wrap:wrap; gap:8px; }
.mw-mode-card { display:flex; flex-direction:column; align-items:center; gap:7px; padding:12px 14px; border:2px solid #e8edf2; border-radius:11px; cursor:pointer; min-width:90px; background:#fff; transition:border-color 150ms,box-shadow 150ms,background 150ms; user-select:none; }
.mw-mode-card input[type=radio] { display:none; }
.mw-mode-card:hover { border-color:var(--mode-color); background:var(--mode-bg); }
.mw-mode-card--selected { border-color:var(--mode-color) !important; background:var(--mode-bg) !important; box-shadow:0 0 0 3px color-mix(in srgb,var(--mode-color) 15%,transparent); }
.mw-mode-card-icon { width:38px; height:38px; border-radius:9px; display:flex; align-items:center; justify-content:center; font-size:15px; transition:transform 150ms; }
.mw-mode-card--selected .mw-mode-card-icon { transform:scale(1.08); }
.mw-mode-card-label { font-size:11.5px; font-weight:700; color:#032532; text-align:center; white-space:nowrap; }

/* Route grid */
.mw-route-grid { display:grid; grid-template-columns:1fr auto 1fr; gap:14px; align-items:center; }
.mw-route-block { background:#f8fafb; border:1.5px solid #e8edf2; border-radius:11px; padding:16px; }
.mw-route-block--origin { border-top:3px solid #0eb6bd; }
.mw-route-block--dest   { border-top:3px solid #032532; }
.mw-route-block-header  { margin-bottom:12px; }
.mw-route-block-badge { font-size:10px; font-weight:800; letter-spacing:.1em; padding:3px 10px; border-radius:20px; }
.mw-route-block-badge--origin { background:#e8f8f8; color:#0d7285; }
.mw-route-block-badge--dest   { background:#e8edf2; color:#032532; }
.mw-route-arrow-divider { display:flex; justify-content:center; }

/* Toggle */
.mw-toggle-field { display:flex; justify-content:space-between; align-items:center; padding:14px 16px; background:#f8fafb; border:1.5px solid #e8edf2; border-radius:10px; gap:16px; }
.mw-toggle-label { font-size:13.5px; font-weight:600; color:#032532; margin:0 0 2px; }
.mw-toggle-desc  { font-size:12px; color:#8fa3b0; margin:0; }
.mw-toggle-switch { position:relative; display:inline-flex; align-items:center; cursor:pointer; flex-shrink:0; }
.mw-toggle-switch input { opacity:0; width:0; height:0; position:absolute; }
.mw-toggle-slider { width:44px; height:24px; background:#dde4e9; border-radius:12px; position:relative; transition:background 200ms; }
.mw-toggle-slider::after { content:''; position:absolute; width:18px; height:18px; left:3px; top:3px; background:#fff; border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,.2); transition:transform 200ms; }
.mw-toggle-switch input:checked + .mw-toggle-slider { background:#0eb6bd; }
.mw-toggle-switch input:checked + .mw-toggle-slider::after { transform:translateX(20px); }

/* Form footer */
.mw-create-form-footer { display:flex; justify-content:flex-end; align-items:center; gap:12px; padding:18px 0 6px; border-top:1px solid #f0f4f7; margin-top:6px; }
.mw-create-submit-btn { display:inline-flex; align-items:center; gap:8px; padding:0 22px; height:44px; background:#032532; color:#fff; border:none; border-radius:10px; font-size:14px; font-weight:700; cursor:pointer; transition:background 150ms,transform 80ms; }
.mw-create-submit-btn:hover { background:#0eb6bd; }
.mw-create-submit-btn:active { transform:scale(.98); }

/* Responsive */
@media (max-width:900px) {
    .mw-field-group--thirds   { grid-template-columns:1fr 1fr; }
    .mw-field-group--quarters { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
    .mw-filter-chips-row { flex-direction:column !important; align-items:stretch !important; }
    .mw-field-group--half,.mw-field-group--thirds,.mw-field-group--quarters { grid-template-columns:1fr; }
    .mw-route-grid { grid-template-columns:1fr; }
    .mw-route-arrow-divider { transform:rotate(90deg); }
    .mw-mode-card { min-width:80px; padding:10px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   CREATE-SHIPMENT WIDTH CONSTRAINT & INPUT TEXT FIX  (2026-08-08)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Constrain the create-shipment form to a readable max-width */
#mw-create-shipment-form {
    max-width: 900px;
}

/* Prevent the page-heading from also spanning edge-to-edge on wide screens */
.mw-admin-workspace > .mw-page-heading {
    max-width: 900px;
}
.mw-admin-workspace > .mw-alert {
    max-width: 900px;
}

/* Fix text clipping inside premium inputs/selects:
   Explicit line-height + overflow visible ensures descenders aren't cut */
.mw-input-premium,
.mw-select-premium {
    height: 42px !important;
    line-height: 42px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: visible;
}

/* Textarea doesn't use line-height trick — just needs enough padding */
.mw-textarea-premium {
    line-height: 1.55 !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Mode cards — fix text wrapping inside card labels */
.mw-mode-card-label {
    font-size: 11px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    text-align: center;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ENTERPRISE WORKSPACE POLISH — page header, buttons, field alignment,
   operational metrics, status tabs (2026 redesign round 2)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Page heading: proper enterprise header layout ── */
.mw-page-heading {
    display: flex !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    margin: 0 0 28px;
}
.mw-page-heading > div { min-width: 0; }
.mw-page-heading h1 {
    font-size: 30px;
    font-weight: 700;
    color: #0f2742;
    margin: 2px 0 6px;
    letter-spacing: -0.01em;
}
.mw-page-heading .mw-dashboard-muted {
    font-size: 14px;
    color: #64748b;
    margin: 0;
    max-width: 640px;
}
.mw-page-heading .mw-button { margin-top: 6px; flex-shrink: 0; }

/* ── Buttons: refined enterprise primary / secondary ── */
.mw-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 42px;
    padding: 0 18px !important;
    border: 1.5px solid transparent;
    border-radius: 9px !important;
    background: #0eb6bd;
    color: #032532;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: 0 1px 2px rgba(3, 37, 50, 0.08);
    transition: background 140ms ease, color 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
    white-space: nowrap;
}
.mw-button:hover {
    background: #0aa3aa;
    color: #032532;
    box-shadow: 0 2px 6px rgba(3, 37, 50, 0.14);
}
.mw-button span { margin-left: 0; }
.mw-button--secondary {
    background: #ffffff !important;
    border-color: #dbe3e9 !important;
    color: #0f2742 !important;
    box-shadow: 0 1px 2px rgba(3, 37, 50, 0.05);
}
.mw-button--secondary:hover {
    background: #f5f8fa !important;
    border-color: #c6d2da !important;
    color: #0f2742 !important;
}

/* ── Field alignment: labels top, controls bottom-aligned across a row ── */
.mw-field-group { align-items: stretch; }
.mw-field-group > .mw-field > .mw-select-premium-wrap,
.mw-field-group > .mw-field > .mw-input-premium,
.mw-field-group > .mw-field > input[type="date"],
.mw-field-group > .mw-field > .mw-select-wrap {
    margin-top: auto;
}
.mw-field-label { display: block; }
.mw-field-label .mw-required,
.mw-required { display: inline !important; margin-left: 2px; white-space: nowrap; }
.mw-field-hint { min-height: 0; }

/* ── Workspace width: use the available viewport ── */
.mw-admin-workspace { max-width: 1440px; }
.mw-admin-workspace > .mw-page-heading { max-width: none; }
.mw-admin-workspace > .mw-alert { max-width: 960px; }
#mw-create-shipment-form { max-width: 960px; }

/* ── Compact operational metrics strip ── */
.mw-ops-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 18px;
}
.mw-ops-metric {
    display: inline-flex;
    align-items: baseline;
    gap: 7px;
    padding: 8px 14px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 9px;
}
.mw-ops-metric strong {
    font-size: 17px;
    font-weight: 700;
    color: #0f2742;
    font-variant-numeric: tabular-nums;
}
.mw-ops-metric span {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    letter-spacing: 0.02em;
}

/* ── Status quick tabs ── */
.mw-status-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0 0 16px;
    border-bottom: 1px solid #e5e7eb;
}
.mw-status-tab {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 14px 11px;
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color 130ms ease, border-color 130ms ease;
    white-space: nowrap;
}
.mw-status-tab:hover { color: #0f2742; }
.mw-status-tab--active {
    color: #0f2742;
    border-bottom-color: #0eb6bd;
}
.mw-status-tab-count {
    font-size: 11px;
    font-weight: 700;
    padding: 1px 7px;
    border-radius: 99px;
    background: #eef2f5;
    color: #64748b;
    font-variant-numeric: tabular-nums;
}
.mw-status-tab--active .mw-status-tab-count { background: #d9f4f5; color: #087e88; }

/* ── Table refinements: dates + updated columns ── */
.mw-shipment-eta-cell { white-space: nowrap; font-size: 13px; color: #0f2742; }
.mw-shipment-eta-cell .mw-muted { display: block; font-size: 11.5px; color: #94a3b8; }
.mw-shipment-updated-cell { white-space: nowrap; font-size: 12.5px; color: #64748b; }
.mw-shipments-table th { white-space: nowrap; }

@media (max-width: 900px) {
    .mw-page-heading h1 { font-size: 24px; }
    .mw-ops-metrics { gap: 8px; }
}

/* ── Button modifiers (previously unstyled; keep them distinct from base) ── */
.mw-button--sm,
.mw-button--small {
    height: 34px;
    padding: 0 12px !important;
    font-size: 12.5px !important;
    border-radius: 8px !important;
}
.mw-button--ghost,
.mw-button--outline {
    background: transparent !important;
    border-color: #dbe3e9 !important;
    color: #0f2742 !important;
    box-shadow: none;
}
.mw-button--ghost:hover,
.mw-button--outline:hover {
    background: #f5f8fa !important;
    border-color: #c6d2da !important;
    color: #0f2742 !important;
}
.mw-button--warning {
    background: #d26954 !important;
    color: #fff !important;
}
.mw-button--warning:hover { background: #b8523e !important; color: #fff !important; }

/* Full-width submit buttons keep their block behaviour */
.mw-submit-band .mw-button,
.mw-button[style*="width: 100%"],
.mw-button[style*="width:100%"] {
    width: 100%;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ADMIN PAGE SYSTEM v2 — cards, headings, table, aliases  (2026 audit refactor)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Universal admin page card */
.mw-dashboard-card {
    border: 1px solid var(--mw-admin-border, #e5eaee);
    border-radius: 12px;
    background: var(--mw-admin-card, #fff);
    box-shadow: 0 1px 4px rgba(3,37,50,.06);
    overflow: hidden;
    margin-bottom: 20px;
}
.mw-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 22px;
    border-bottom: 1px solid var(--mw-admin-border, #e5eaee);
    background: #f8fafb;
}
.mw-card-heading > div { min-width: 0; }
.mw-card-heading h2 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--mw-admin-text, #032532);
}
.mw-card-heading p {
    margin: 3px 0 0;
    font-size: 12px;
    color: var(--mw-admin-muted, #829399);
}
.mw-card-body { padding: 20px 22px; }
.mw-card-pagination { padding: 14px 22px; border-top: 1px solid var(--mw-admin-border, #e5eaee); }

/* Scrollable table wrapper */
.mw-table-scroll { overflow-x: auto; }

/* Enterprise data table */
.mw-data-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 600px;
}
.mw-data-table thead th {
    padding: 10px 16px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #6b7c8a;
    background: #f8fafb;
    border-bottom: 1px solid #e8edf2;
    text-align: left;
    white-space: nowrap;
}
.mw-data-table tbody td {
    padding: 12px 16px;
    border-bottom: 1px solid #f0f4f7;
    vertical-align: middle;
    font-size: 13px;
    color: #466069;
}
.mw-data-table tbody tr:last-child td { border-bottom: none; }
.mw-data-table tbody tr:hover td { background: #f8fcfd; }
.mw-data-table strong { display: block; color: #032532; }
.mw-data-table small { display: block; margin-top: 3px; color: #829399; font-size: 11px; }
.mw-table-empty { text-align: center; color: #829399; padding: 40px 20px !important; }
.mw-table-event { display: flex; align-items: center; gap: 10px; }
.mw-audit-avatar {
    display: inline-grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 6px;
    background: #e3f4f4;
    color: #087e88;
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
}

/* Dashboard heading: consistent page header */
.mw-dashboard-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    margin: 0 0 28px;
}
.mw-dashboard-heading > div { min-width: 0; }
.mw-dashboard-heading h1 {
    margin: 2px 0 6px;
    font-size: 30px;
    font-weight: 700;
    color: #0f2742;
    letter-spacing: -0.01em;
}
.mw-dashboard-heading p {
    margin: 0;
    font-size: 14px;
    color: #64748b;
    max-width: 600px;
}
.mw-heading-actions { display: flex; gap: 10px; flex-shrink: 0; }

/* Status pills (table pages) */
.mw-pill {
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: 99px;
    background: #e9f2f3;
    color: #466069;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}
.mw-pill--success { background: #e6f6ea; color: #31834d; }
.mw-pill--danger  { background: #fde9e8; color: #b34a45; }
.mw-pill--warning { background: #fff4dd; color: #9a6d17; }

/* mw-btn — shorthand aliases for notifications / newer views */
.mw-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 38px;
    padding: 0 16px;
    border: 1.5px solid transparent;
    border-radius: 8px;
    background: #0eb6bd;
    color: #032532;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background 140ms ease, border-color 140ms ease;
    white-space: nowrap;
}
.mw-btn:hover { background: #0aa3aa; }
.mw-btn--secondary { background: #fff !important; border-color: #dbe3e9 !important; color: #0f2742 !important; }
.mw-btn--secondary:hover { background: #f5f8fa !important; }
.mw-btn--ghost { background: transparent !important; border-color: #dbe3e9 !important; color: #0f2742 !important; box-shadow: none; }
.mw-btn--ghost:hover { background: #f5f8fa !important; }

/* mw-page-header / mw-eyebrow — aliases for notifications page */
.mw-page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    margin: 0 0 28px;
}
.mw-page-header h1 { margin: 2px 0 6px; font-size: 30px; font-weight: 700; color: #0f2742; letter-spacing: -0.01em; }
.mw-eyebrow {
    margin: 0 0 4px;
    color: #87a0ac;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

/* Inline form pattern (for filter / create forms) */
.mw-inline-form {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: flex-end;
}
.mw-inline-form label {
    display: grid;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    color: var(--mw-admin-text, #032532);
    min-width: 160px;
}
.mw-inline-form input, .mw-inline-form select {
    height: 38px;
    padding: 0 11px;
    border: 1px solid var(--mw-admin-border, #e5eaee);
    border-radius: 7px;
    background: #fff;
    color: #032532;
    font: inherit;
    font-size: 13px;
    outline: none;
    box-sizing: border-box;
}
.mw-inline-form input:focus, .mw-inline-form select:focus {
    border-color: #0eb6bd;
    box-shadow: 0 0 0 2px rgba(14,182,189,.12);
}

/* Compact edit form (in table row details) */
.mw-compact-form { display: grid; gap: 10px; }
.mw-compact-form label { display: grid; gap: 5px; font-size: 12px; font-weight: 600; color: #032532; }
.mw-compact-form input, .mw-compact-form select, .mw-compact-form textarea {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #dde4e9;
    border-radius: 6px;
    background: #fff;
    color: #032532;
    font: inherit;
    font-size: 13px;
    outline: none;
    box-sizing: border-box;
}
.mw-compact-form textarea { height: auto; padding: 8px 10px; }
.mw-compact-form input:focus, .mw-compact-form select:focus { border-color: #0eb6bd; box-shadow: 0 0 0 2px rgba(14,182,189,.12); }

/* Disclosure element refinements */
.mw-disclosure summary {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px;
    border: 1px solid var(--mw-admin-border, #e5eaee);
    border-radius: 8px;
    background: var(--mw-admin-card, #fff);
    color: var(--mw-admin-teal, #319d96);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
}
.mw-disclosure summary::before { content: '+ '; }
.mw-disclosure[open] summary::before { content: '− '; }

/* Danger text button */
.mw-text-button--danger { color: #b34a45 !important; }

/* Table action button alias */
.mw-table-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 11px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 600;
    color: #032532;
    background: #f0f4f7;
    text-decoration: none;
    white-space: nowrap;
    transition: background 150ms, color 150ms;
}
.mw-table-action-btn:hover { background: #0eb6bd; color: #fff; }

/* Responsive: stack heading on small screens */
@media (max-width: 680px) {
    .mw-dashboard-heading, .mw-page-header, .mw-page-heading {
        flex-direction: column;
        align-items: flex-start;
    }
    .mw-inline-form { flex-direction: column; }
    .mw-inline-form label { min-width: 0; width: 100%; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SHIPMENT LIST — row action buttons  (2026 audit)
   ═══════════════════════════════════════════════════════════════════════════ */
.mw-row-actions {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: nowrap;
}
.mw-row-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 11px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    text-decoration: none;
    transition: background 140ms, color 140ms, border-color 140ms;
    background: #0eb6bd;
    color: #fff;
    border: 1.5px solid transparent;
}
.mw-row-action-btn:hover { background: #0aa3aa; color: #fff; }
.mw-row-action-btn--ghost {
    background: #fff;
    color: #466069;
    border-color: #dce5eb;
    /* icon-only: square */
    padding: 6px 8px;
    gap: 0;
}
.mw-row-action-btn--ghost:hover { background: #f0f6f8; color: #0d7285; border-color: #b5ccd5; }

/* ═══════════════════════════════════════════════════════════════════════════
   SHIPMENT SHOW — quick action bar  (2026 audit)
   ═══════════════════════════════════════════════════════════════════════════ */
.mw-quick-action-bar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin: 20px 0 28px;
}
@media (max-width: 900px) {
    .mw-quick-action-bar { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 500px) {
    .mw-quick-action-bar { grid-template-columns: 1fr; }
}
.mw-quick-action {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    background: #fff;
    border: 1px solid #e5eaee;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 1px 3px rgba(3,37,50,.06);
    transition: border-color 150ms, box-shadow 150ms, transform 150ms;
}
.mw-quick-action:hover {
    border-color: #0eb6bd;
    box-shadow: 0 4px 12px rgba(14,182,189,.12);
    transform: translateY(-1px);
    color: inherit;
}
.mw-quick-action-icon {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #f0f4f7;
    color: #466069;
}
.mw-quick-action-icon--teal  { background: #e3f8f8; color: #0a8e94; }
.mw-quick-action-icon--blue  { background: #e8f3fd; color: #1a67cc; }
.mw-quick-action-icon--purple { background: #f0eefa; color: #6d28d9; }
.mw-quick-action > span:last-child { display: grid; gap: 2px; min-width: 0; }
.mw-quick-action strong { font-size: 13px; font-weight: 700; color: #032532; display: block; }
.mw-quick-action small  { font-size: 11px; color: #829399; display: block; }

/* ═══════════════════════════════════════════════════════════════════════════
   CUSTOMER PORTAL — MOBILE RESPONSIVE (375px – 768px)
   Added for Task #8: make customer portal mobile-friendly
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Invoice totals: make full-width on mobile ─────────────────────────────── */
.mw-invoice-totals-wrap {
    display: flex;
    justify-content: flex-end;
}
.mw-invoice-totals-table {
    width: auto;
}

/* ── Tablet breakpoint (≤ 768px) ──────────────────────────────────────────── */
@media (max-width: 768px) {
    /* Portal container padding */
    .mw-portal-shell {
        padding: 24px 16px 48px;
    }

    /* Narrow portal pages (invoice detail, etc.) */
    .mw-portal-container--narrow {
        width: 100%;
        box-sizing: border-box;
    }

    /* Tracking summary: 2 columns on tablet */
    .mw-tracking-summary-grid,
    .mw-ops-stat-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Shipment detail hero: allow status chip to wrap */
    .mw-shipment-detail-hero {
        flex-wrap: wrap;
        gap: 12px;
    }

    /* QR card: stack image + text */
    .mw-qr-layout {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    /* Milestone progress percentage: don't push all the way right */
    .mw-customer-milestones > div > b {
        margin-left: auto;
    }

    /* Customer comment feed: comfortable padding */
    .mw-customer-comment-feed article {
        padding: 14px 0;
    }

    /* Portal card heading: allow wrap on smaller screens */
    .mw-portal-card-heading {
        flex-wrap: wrap;
    }
}

/* ── Mobile breakpoint (≤ 480px) ──────────────────────────────────────────── */
@media (max-width: 480px) {
    /* Tighten portal shell further */
    .mw-portal-shell {
        padding: 20px 14px 48px;
    }

    /* Portal card padding */
    .mw-portal-card {
        padding: 16px 14px;
    }

    /* Heading: stack h1 and action buttons */
    .mw-portal-heading {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    .mw-portal-heading .mw-button {
        width: 100%;
        justify-content: center;
    }

    /* Stat grid: single column on small phones */
    .mw-portal-stat-grid {
        grid-template-columns: 1fr;
    }

    /* Card heading: stack content and badge/link */
    .mw-portal-card-heading {
        flex-direction: column;
        gap: 8px;
    }

    /* Invoice totals: fill full width on phone */
    .mw-invoice-totals-wrap {
        justify-content: stretch;
        overflow-x: auto;
    }
    .mw-invoice-totals-table {
        width: 100%;
        min-width: 0 !important;
    }

    /* Invoice payment summary row */
    .mw-invoice-paid-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    /* Tracking summary: single column on small phones */
    .mw-tracking-summary-grid,
    .mw-ops-stat-grid {
        grid-template-columns: 1fr;
    }

    /* Tracking result heading: already column at 680px — enforce on 480 too */
    .mw-tracking-result-heading {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    /* Tracking hero h1 */
    .mw-tracking-hero h1 {
        font-size: 1.6rem;
    }

    /* Tracking quick links: wrap pills */
    .mw-tracking-quick-links {
        flex-wrap: wrap;
        gap: 6px;
    }

    /* Shipment detail hero */
    .mw-shipment-detail-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    /* Shipment status chip: no shrink */
    .mw-shipment-detail-hero .mw-status-chip {
        align-self: flex-start;
    }

    /* Back link: full touch area */
    .mw-back-link {
        display: inline-block;
        padding: 8px 0;
    }

    /* Document row: ensure download link is full-width and below meta */
    .mw-document-row {
        flex-wrap: wrap;
    }
    .mw-document-row > a,
    .mw-btn-download {
        width: 100%;
        margin-left: 47px; /* align under document title */
    }

    /* Milestone list: wrap the percentage */
    .mw-customer-milestones > div {
        flex-wrap: wrap;
    }

    /* Comment form: full-width button */
    .mw-customer-comment-form .mw-button {
        width: 100%;
        justify-content: center;
    }

    /* Detail list: stack label and value */
    .mw-detail-list div {
        flex-direction: column;
        gap: 3px;
    }
    .mw-detail-list dd {
        text-align: left;
        color: #032532;
        font-size: .82rem;
    }

    /* Route box: legible font sizes */
    .mw-route-box strong {
        font-size: .9rem;
    }

    /* Portal table: ensure horizontal scroll is accessible */
    .mw-portal-table-wrap {
        -webkit-overflow-scrolling: touch;
        margin: 0 -14px;
        padding: 0 14px;
        width: calc(100% + 28px);
        box-sizing: border-box;
    }

    /* Container editor already has overflow-x: auto — ensure touch scrolls */
    .mw-container-editor {
        -webkit-overflow-scrolling: touch;
    }

    /* Summary card text: allow wrapping on small screens */
    .mw-summary-card strong,
    .mw-mini-detail-grid strong,
    .mw-summary-card small,
    .mw-mini-detail-grid small {
        white-space: normal;
        overflow: visible;
    }

    /* Side rail: single column already at 680px — ensure on 480 */
    .mw-shipment-side-rail {
        grid-template-columns: 1fr;
    }

    /* Checklist: full-width touch targets */
    .mw-checklist a {
        padding: 12px 14px;
    }

    /* Form section heading: tighter layout */
    .mw-form-section-heading {
        gap: 8px;
    }

    /* incoterm bar: ensure form grid spans */
    .mw-incoterm-bar > .mw-form-grid-three {
        grid-column: 1 / -1;
    }

    /* Party form: single column already, ensure legend wraps */
    .mw-party-form-card legend,
    .mw-logistics-card legend {
        font-size: .82rem;
    }

    /* Submit band text */
    .mw-submit-band strong {
        font-size: .82rem;
    }
}

/* ── Very small phones (≤ 375px) ─────────────────────────────────────────── */
@media (max-width: 375px) {
    .mw-portal-shell {
        padding: 16px 12px 40px;
    }
    .mw-portal-card {
        padding: 14px 12px;
    }
    .mw-tracking-search {
        padding: 12px;
    }
    .mw-tracking-hero h1 {
        font-size: 1.4rem;
    }
    .mw-portal-heading h1 {
        font-size: 1.7rem;
    }
}

/* ── Touch-friendly minimum tap target for action links ─────────────────── */
@media (max-width: 768px) and (pointer: coarse) {
    .mw-portal-card-heading > a,
    .mw-btn-download,
    .mw-portal-table a,
    .mw-document-row > a {
        min-height: 40px;
        display: inline-flex;
        align-items: center;
    }
    .mw-back-link {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }
    .mw-button {
        min-height: 44px;
    }
}
