@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  src: url("../fonts/InterVariable.woff2") format("woff2-variations"), url("../fonts/InterVariable.woff2") format("woff2") tech(variations);
}

:root {
  --mv-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mv-navy: #0a1024;
  --mv-ink: #0c1730;
  --mv-ink-muted: rgba(12, 23, 48, .72);
  --mv-border: #e4e9f2;
  --mv-border-strong: rgba(12, 23, 48, .48);
  --mv-canvas: #f4f6fb;
  --mv-surface: #fff;
  --mv-surface-subtle: #f7f9fd;
  /* #2f5fe0 maintains AA contrast with white; the brighter brand blue remains an accent. */
  --mv-primary: #2f5fe0;
  --mv-primary-hover: #2a57d6;
  --mv-primary-soft: #e3ecff;
  --mv-primary-ink: #264db5;
  --mv-accent: #ff6b3d;
  --mv-focus: rgba(59, 110, 246, .24);
  --mv-danger: #a72b2b;
  --mv-danger-soft: #fbeaea;
  --mv-danger-ink: #742020;
  --mv-success: #0a8a64;
  --mv-success-ink: #087554;
  --mv-success-soft: #d6f5e9;
  --mv-warning: #a06a00;
  --mv-warning-ink: #8a5c00;
  --mv-warning-soft: #fff5e0;
  --mv-info: #22d3ee;
  --mv-info-ink: #08778b;
  --mv-info-soft: #d9f8fd;
  --mv-neutral-soft: #f1f3f7;
  --mv-unknown-soft: #f3ebfa;
  --mv-unknown-ink: #6d3a97;
  --mv-radius: 4px;
  --mv-shadow-popover: 0 12px 32px rgba(12, 23, 48, .14), 0 2px 8px rgba(12, 23, 48, .08);
  --rz-primary: var(--mv-primary);
  --rz-primary-light: var(--mv-primary);
  --rz-primary-lighter: var(--mv-primary-soft);
  --rz-primary-dark: var(--mv-primary-hover);
  --rz-on-primary: #fff;
  --rz-on-primary-lighter: var(--mv-ink);
  --rz-danger: var(--mv-danger);
  --rz-success: var(--mv-success);
  --rz-warning: var(--mv-warning);
  --rz-info: var(--mv-info);
  --rz-base-background-color: var(--mv-surface);
  --rz-text-color: var(--mv-ink);
  --rz-text-font-family: var(--mv-font-family);
  --rz-root-font-size: 14px;
  --rz-border-radius: var(--mv-radius);
  --rz-button-border-radius: var(--mv-radius);
  --rz-input-border-radius: var(--mv-radius);
  --rz-card-border-radius: var(--mv-radius);
  --rz-grid-cell-padding: 5px 12px;
  --rz-grid-header-background-color: var(--mv-surface-subtle);
  --rz-grid-header-font-size: 12px;
  --rz-grid-header-font-weight: 600;
  --rz-grid-header-color: var(--mv-ink-muted);
  --rz-grid-stripe-background-color: #f7f8fb;
}

* , *::before, *::after { box-sizing: border-box; }
html { font-size: 14px; }
body { background: var(--mv-canvas); color: var(--mv-ink); font-family: var(--mv-font-family); font-size: 14px; font-weight: 400; line-height: 21px; margin: 0; }
button, input, select, textarea { font: inherit; }
img, svg { display: block; max-width: 100%; }
a { color: var(--mv-primary-ink); }
a:hover { color: var(--mv-primary-hover); }

.mv-shell-container, .mv-page-frame { margin-inline: auto; max-width: 1440px; padding-inline: clamp(16px, 3vw, 32px); width: 100%; }
.mv-shell-header { position: sticky; top: 0; z-index: 30; }
.mv-app-bar { background: var(--mv-navy); color: #fff; }
.mv-app-bar__inner { align-items: center; display: flex; height: 56px; justify-content: space-between; }
.mv-brand { color: #fff; font-size: 22px; font-weight: 800; letter-spacing: -.04em; text-decoration: none; }
.mv-brand > span { color: var(--mv-accent); }
.mv-brand:hover, .mv-brand:focus { color: #fff; }
.mv-app-bar__label { color: rgba(255, 255, 255, .68); font-size: 13px; font-weight: 550; }
.mv-workspace-nav { background: var(--mv-surface); border-bottom: 1px solid var(--mv-border); }
.mv-workspace-nav__inner { align-items: center; display: flex; gap: 16px; justify-content: space-between; min-height: 48px; }
.mv-workspace-links { align-items: center; display: flex; gap: 4px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.mv-workspace-links::-webkit-scrollbar { display: none; }
.mv-workspace-link { align-items: center; border-radius: var(--mv-radius); color: var(--mv-ink-muted); display: inline-flex; flex: 0 0 auto; font-weight: 550; height: 40px; padding: 0 12px; text-decoration: none; }
.mv-workspace-link:hover, .mv-workspace-link:focus { background: var(--mv-surface-subtle); color: var(--mv-ink); }
.mv-workspace-link.active { background: var(--mv-primary-soft); color: var(--mv-primary-ink); font-weight: 650; }
.mv-brand:focus-visible, .mv-workspace-link:focus-visible, .mv-button:focus-visible, .mv-back-link:focus-visible, .mv-table-link:focus-visible, .mv-input:focus-visible { box-shadow: 0 0 0 3px var(--mv-focus); outline: 2px solid transparent; outline-offset: 1px; }
.mv-mobile-navigation { display: none; }
.mv-page-frame { min-height: calc(100vh - 104px); }
.mv-workspace-page { padding-block: 24px 56px; }
.mv-workspace-page--narrow { margin-inline: auto; max-width: 1040px; }
.mv-workspace-page--wide { margin-inline: auto; max-width: 1320px; }

.mv-page-header { align-items: flex-end; display: flex; gap: 16px; justify-content: space-between; margin-bottom: 16px; }
.mv-page-header--detail { align-items: flex-start; margin-top: 12px; }
.mv-page-title, .mv-section-title { color: var(--mv-ink); font-weight: 600; }
.mv-page-title { font-size: 20px; font-weight: 650; letter-spacing: -.02em; line-height: 28px; margin: 0; }
.mv-page-header--detail .mv-page-title { font-size: 24px; line-height: 32px; }
.mv-page-title:focus:not(:focus-visible) { outline: none; }
.mv-section-title { font-size: 16px; line-height: 24px; margin: 0; }
.mv-page-summary { color: var(--mv-ink-muted); margin: 0; }
.mv-eyebrow { color: var(--mv-primary-ink); display: block; font-size: 11px; font-weight: 650; letter-spacing: .06em; line-height: 16px; text-transform: uppercase; }
.mv-page-actions, .mv-form-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.mv-back-link { align-items: center; border-radius: var(--mv-radius); color: var(--mv-ink-muted); display: inline-flex; gap: 6px; margin-bottom: 12px; text-decoration: none; }
.mv-back-link:hover { color: var(--mv-primary-ink); }

.mv-button { align-items: center; background: var(--mv-surface); border: 1px solid var(--mv-border-strong); border-radius: var(--mv-radius); color: var(--mv-ink); cursor: pointer; display: inline-flex; font-size: 14px; font-weight: 600; justify-content: center; line-height: 20px; min-height: 36px; padding: 0 12px; text-decoration: none; transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease; }
.mv-button:hover, .mv-button:focus-visible { background: var(--mv-surface-subtle); border-color: var(--mv-border-strong); color: var(--mv-ink); }
.mv-button:disabled, .mv-button[aria-disabled="true"] { cursor: not-allowed; opacity: .52; }
.mv-button--primary { background: var(--mv-primary); border-color: var(--mv-primary); color: #fff; }
.mv-button--primary:hover, .mv-button--primary:focus-visible { background: var(--mv-primary-hover); border-color: var(--mv-primary-hover); color: #fff; }

.mv-panel, .mv-table-panel, .mv-empty-state { background: var(--mv-surface); border: 1px solid var(--mv-border); border-radius: var(--mv-radius); }
.mv-form-panel { padding: 12px; }
.mv-form-panel__heading { border-bottom: 1px solid var(--mv-border); margin-bottom: 12px; padding-bottom: 8px; }
.mv-form-stack { display: grid; gap: 12px; }
.mv-form-actions { border-top: 1px solid var(--mv-border); justify-content: flex-end; margin-top: 12px; padding-top: 12px; }
.mv-field-grid { display: grid; column-gap: 16px; row-gap: 12px; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.mv-field { display: flex; flex-direction: column; }
.mv-field--address { grid-column: span 4; }
.mv-field--locality, .mv-field--code { grid-column: span 2; }
.mv-field--contact { grid-column: span 4; }
.mv-field--email { grid-column: span 8; }
.mv-field--dimension { grid-column: span 2; }
.mv-field-label { color: var(--mv-ink); font-size: 13px; font-weight: 550; line-height: 20px; margin-bottom: 4px; }
.mv-input { background: var(--mv-surface); border: 1px solid var(--mv-border-strong); border-radius: var(--mv-radius); color: var(--mv-ink); height: 36px; padding: 6px 10px; width: 100%; }
.mv-input.invalid { border-color: var(--mv-danger); }
.mv-input:hover { border-color: var(--mv-border-strong); }
.mv-input:focus { border-color: var(--mv-primary-hover); }
.validation-message { color: var(--mv-danger-ink); font-size: 12px; line-height: 16px; margin-top: 4px; }

.mv-data-grid { border: 0; }
.mv-data-grid .rz-grid-table { font-family: var(--mv-font-family); font-size: 14px; font-variant-numeric: tabular-nums; table-layout: auto; width: 100%; }
.mv-data-grid .rz-data-grid-data td, .mv-data-grid .rz-grid-table thead th { border-color: var(--mv-border); color: var(--mv-ink); padding: 5px 12px; }
.mv-data-grid .rz-grid-table td .rz-cell-data { font-size: 14px; line-height: 19px; }
.mv-data-grid .rz-grid-table thead th { background: var(--mv-surface-subtle); height: 40px; }
.mv-data-grid .rz-grid-table thead th > div { padding-block: 0; }
.mv-data-grid .rz-data-grid-data tr { height: 32px; }
.mv-data-grid .rz-data-grid-data > .rz-grid-table > tbody > tr:hover > td { background: var(--mv-primary-soft); }
.mv-table-panel { display: block; max-width: 100%; overflow-x: auto; width: 100%; }
.mv-desktop-pager { align-items: center; display: flex; gap: 8px; justify-content: space-between; padding: 4px 12px 6px; }
.mv-desktop-pager > span { color: var(--mv-ink-muted); font-size: 12px; font-variant-numeric: tabular-nums; line-height: 16px; text-align: center; }
.mv-table-link { color: var(--mv-primary-ink); font-weight: 600; text-decoration: none; }
.mv-table-link:hover { text-decoration: underline; }

.mv-status { align-items: center; border-radius: var(--mv-radius); display: inline-flex; font-size: 12px; font-weight: 550; gap: 6px; line-height: 16px; min-height: 18px; padding: 1px 6px; }
.mv-status::before { background: currentColor; border-radius: 50%; content: ""; flex: 0 0 auto; height: 6px; width: 6px; }
.mv-status--success { background: var(--mv-success-soft); color: var(--mv-success-ink); }
.mv-status--transit { background: var(--mv-warning-soft); color: var(--mv-warning-ink); }
.mv-status--info { background: var(--mv-info-soft); color: var(--mv-info-ink); }
.mv-status--submitted { background: var(--mv-primary-soft); color: var(--mv-primary-ink); }
.mv-status--pending { background: var(--mv-neutral-soft); color: var(--mv-ink-muted); }
.mv-status--neutral { background: var(--mv-unknown-soft); color: var(--mv-unknown-ink); }
.mv-state { color: var(--mv-ink-muted); padding: 48px 16px; text-align: center; }
.mv-state--compact { padding: 24px 16px; }
.mv-empty-state { color: var(--mv-ink-muted); padding: 48px 24px; text-align: center; }
.mv-empty-state__mark { align-items: center; background: var(--mv-primary-soft); border-radius: 50%; color: var(--mv-primary-ink); display: flex; font-size: 22px; height: 40px; justify-content: center; margin: 0 auto 12px; width: 40px; }
.mv-empty-state p { margin: 4px 0 16px; }
.mv-alert { border: 1px solid; border-radius: var(--mv-radius); margin-block: 16px; padding: 10px 12px; }
.mv-alert--danger { background: var(--mv-danger-soft); border-color: color-mix(in srgb, var(--mv-danger) 24%, transparent); color: var(--mv-danger-ink); }
.mv-alert--service { background: var(--mv-surface-subtle); border-color: var(--mv-border-strong); color: var(--mv-ink); }
.mv-alert__action { background: transparent; border: 0; color: var(--mv-primary-ink); cursor: pointer; font: inherit; font-weight: 650; padding: 0; text-decoration: underline; }

.mv-list-cards { display: none; }
.mv-list-card { background: var(--mv-surface); border: 1px solid var(--mv-border); border-radius: var(--mv-radius); color: var(--mv-ink); display: grid; gap: 8px; padding: 12px; text-decoration: none; }
.mv-list-card:hover { border-color: var(--mv-border-strong); color: var(--mv-ink); }
.mv-list-card:focus-visible { border-color: var(--mv-border-strong); box-shadow: 0 0 0 3px var(--mv-focus); color: var(--mv-ink); outline: 2px solid transparent; }
.mv-list-card__heading { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; }
.mv-list-card__heading strong { font-size: 15px; font-weight: 600; line-height: 21px; overflow-wrap: anywhere; }
.mv-list-card__detail { display: grid; gap: 8px; grid-template-columns: 64px minmax(0, 1fr); overflow-wrap: anywhere; }
.mv-list-card__detail small { color: var(--mv-ink-muted); font-size: 12px; }
.mv-mobile-pager { align-items: center; display: flex; gap: 8px; justify-content: space-between; padding-top: 4px; }
.mv-mobile-pager > span { font-variant-numeric: tabular-nums; text-align: center; }
.mv-rate-list { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin-top: 16px; }
.mv-rate-list > .mv-section-title { grid-column: 1 / -1; }
.mv-rate-card { background: var(--mv-surface-subtle); border: 1px solid var(--mv-border); border-radius: var(--mv-radius); padding: 12px; }
.mv-rate-card strong { display: block; font-size: 24px; font-variant-numeric: tabular-nums; line-height: 32px; margin: 4px 0; }
.mv-rate-card p { color: var(--mv-ink-muted); margin: 0 0 12px; }
.mv-button__spinner { animation: mv-spin 720ms linear infinite; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; height: 12px; width: 12px; }
.mv-form-progress { color: var(--mv-ink-muted); font-size: 12px; line-height: 16px; margin: 0; }
.mv-validation-summary { margin: 0; }
.mv-validation-summary ul { margin: 0; padding-left: 20px; }
.mv-tracking-panel { padding: 12px; }
.mv-timeline { margin-top: 16px; }
.mv-timeline-item { display: flex; gap: 12px; padding: 0 0 16px; }
.mv-timeline-dot { background: var(--mv-ink-muted); border-radius: 50%; box-shadow: 0 0 0 4px var(--mv-neutral-soft); flex: 0 0 auto; height: 8px; margin-top: 4px; width: 8px; }
.mv-timeline-dot.mv-status--success { background: var(--mv-success-ink); box-shadow: 0 0 0 4px var(--mv-success-soft); }
.mv-timeline-dot.mv-status--transit { background: var(--mv-warning-ink); box-shadow: 0 0 0 4px var(--mv-warning-soft); }
.mv-timeline-dot.mv-status--info { background: var(--mv-info-ink); box-shadow: 0 0 0 4px var(--mv-info-soft); }
.mv-timeline-dot.mv-status--submitted { background: var(--mv-primary-ink); box-shadow: 0 0 0 4px var(--mv-primary-soft); }
.mv-timeline-item p, .mv-timeline-item small { color: var(--mv-ink-muted); display: block; margin: 4px 0; }
.mv-timeline-dot.mv-status--pending { background: var(--mv-ink-muted); box-shadow: 0 0 0 4px var(--mv-neutral-soft); }
.mv-timeline-dot.mv-status--neutral { background: var(--mv-unknown-ink); box-shadow: 0 0 0 4px var(--mv-unknown-soft); }
.mv-timeline-item small { font-size: 12px; line-height: 16px; }

@keyframes mv-spin { to { transform: rotate(360deg); } }

@media (max-width: 899px) {
  .mv-shell-container, .mv-page-frame { padding-inline: 16px; }
  .mv-app-bar__label { display: none; }
  .mv-workspace-nav__inner { align-items: stretch; flex-direction: column; gap: 8px; padding-bottom: 8px; padding-top: 4px; }
  .mv-workspace-links { display: none; }
  .mv-mobile-navigation { display: block; position: relative; width: 100%; }
  .mv-mobile-navigation__toggle { align-items: center; background: var(--mv-surface); border: 1px solid var(--mv-border-strong); border-radius: var(--mv-radius); cursor: pointer; display: grid; grid-template-columns: auto 1fr auto; min-height: 44px; padding: 0 12px; }
  .mv-mobile-navigation__toggle::-webkit-details-marker { display: none; }
  .mv-mobile-navigation__toggle > span:first-child { color: var(--mv-ink-muted); font-size: 12px; }
  .mv-mobile-navigation__toggle strong { font-weight: 600; padding-inline: 8px; }
  .mv-mobile-navigation__chevron { font-size: 18px; transition: transform 120ms ease; }
  .mv-mobile-navigation[open] .mv-mobile-navigation__chevron { transform: rotate(180deg); }
  .mv-mobile-navigation__links { background: var(--mv-surface); border: 1px solid var(--mv-border); border-radius: var(--mv-radius); box-shadow: var(--mv-shadow-popover); display: grid; gap: 4px; margin-top: 4px; max-height: min(65vh, 440px); overflow-y: auto; overscroll-behavior: contain; padding: 8px; position: absolute; width: 100%; z-index: 40; }
  .mv-mobile-navigation__link { align-items: center; border-radius: var(--mv-radius); color: var(--mv-ink); display: flex; min-height: 44px; padding: 0 12px; text-decoration: none; }
  .mv-mobile-navigation__link.active { background: var(--mv-primary-soft); color: var(--mv-primary-ink); font-weight: 600; }
  .mv-page-frame { min-height: calc(100vh - 152px); }
  .mv-workspace-page { padding-block: 16px 40px; }
  .mv-page-header { align-items: flex-start; flex-direction: column; gap: 8px; }
  .mv-page-actions, .mv-page-actions .mv-button { width: 100%; }
  .mv-form-panel, .mv-tracking-panel { padding: 16px; }
  .mv-field--address, .mv-field--locality, .mv-field--code, .mv-field--contact, .mv-field--email, .mv-field--dimension { grid-column: 1 / -1; }
  .mv-table-panel { display: none; }
  .mv-list-cards { display: grid; gap: 8px; scroll-margin-top: 121px; }
}

@media (max-width: 420px) {
  .mv-form-actions { align-items: stretch; flex-direction: column; }
  .mv-form-actions .mv-button { width: 100%; }
}

/* Platform administration screens. Not yet on the design system - tracked separately. */
.admin-page-head{margin-bottom:16px}.page-subtitle{margin:4px 0 0;color:#53617b;font-size:14px}.admin-card{border-radius:4px;padding:16px;font-size:14px}.admin-filter{display:flex;align-items:end;gap:8px;margin-bottom:12px}.admin-filter label,.admin-form-grid label,.admin-contact-grid label,.admin-suspend span{display:block;font-size:12px;font-weight:650;color:#3c4a66;margin-bottom:4px}.admin-filter input,.admin-form-grid input,.admin-contact-grid input,.admin-suspend input{height:32px;width:100%;border:1px solid #cfd8e6;border-radius:4px;padding:5px 8px;font-size:14px}.admin-secondary-button,.admin-danger-button{border-radius:4px;padding:6px 12px;font-size:14px}.admin-secondary-button{border:1px solid #cfd8e6;background:#fff;color:#21304e}.admin-danger-button{border:1px solid #c84b32;background:#fff;color:#a53520}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th{height:40px;text-align:left;border-bottom:1px solid #dce3ee;color:#53617b;font-size:12px;font-weight:650}.admin-table td{height:32px;border-bottom:1px solid #edf0f5;padding:5px 12px 5px 0;vertical-align:middle}.admin-table td a{color:#204eb7;font-weight:650;text-decoration:none}.admin-table td span:not(.status-chip){display:block;color:#65728a;font-size:12px}.admin-table .status-chip{padding:3px 8px}.admin-pager,.admin-actions,.admin-detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}.admin-pager{font-size:12px;color:#53617b}.admin-message{border:1px solid #d8a99d;background:#fff7f5;color:#94321f;border-radius:4px;padding:8px 12px;margin:12px 0}.admin-form-grid,.admin-contact-grid,.admin-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-section-title{font-weight:650;margin:0 0 12px}.admin-form-grid small{display:block;color:#65728a;font-size:12px;margin-top:4px}.admin-contact-grid{margin-top:16px}.admin-contact-grid fieldset{border:1px solid #dce3ee;border-radius:4px;padding:12px;margin:0}.admin-contact-grid legend{font-size:12px;font-weight:650;padding:0 4px;margin:0}.admin-contact-grid label:not(:first-of-type){margin-top:8px}.admin-cancel{color:#334a78;text-decoration:none;font-size:14px}.admin-details{margin-top:16px}.admin-details div{border-top:1px solid #edf0f5;padding:8px 0}.admin-details span{display:block;color:#65728a;font-size:12px;margin-bottom:3px}.admin-details strong{font-weight:550}.admin-detail-head{margin:0}.admin-suspension{margin:8px 0 0;color:#8c3d1d}.admin-suspend{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px;align-items:end}.admin-suspend span{grid-column:1 / -1}.admin-suspend input{grid-column:1}.admin-suspend button{grid-column:2;grid-row:2}@media(max-width:760px){.admin-filter,.admin-detail-head,.admin-actions{align-items:stretch;flex-direction:column}.admin-form-grid,.admin-contact-grid,.admin-details{grid-template-columns:1fr}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%}.admin-table tr{border-bottom:1px solid #dce3ee;padding:8px 0}.admin-table td{border:0;height:auto;padding:2px 0}.admin-table td:before{content:attr(data-label);display:inline-block;color:#65728a;font-size:12px;width:110px}.admin-suspend{grid-template-columns:1fr}.admin-suspend button{grid-column:1;grid-row:auto}}
