@theme {
  --color-primary: #0b5fe7;
  --color-primary-50: #eef5ff;
  --color-primary-100: #dceaff;
  --color-primary-500: #0b5fe7;
  --color-primary-600: #084ec0;
  --color-primary-700: #063f9c;
  --color-primary-900: #03245c;
  --color-secondary: #5e6b7c;
  --color-secondary-50: #f8fafc;
  --color-secondary-100: #f2f5f8;
  --color-secondary-200: #dfe5ec;
  --color-secondary-300: #c9d2dc;
  --color-secondary-500: #66758a;
  --color-secondary-600: #506075;
  --color-secondary-700: #36475f;
  --color-secondary-900: #071a3a;
  --color-neutral: #071a3a;
  --color-background: #fbfaf7;
  --color-gold: #e8aa2b;
  --font-sans: "Aptos", "Segoe UI", system-ui, sans-serif;
  --font-serif: Georgia, "Times New Roman", serif;
  --font-mono: ui-monospace, monospace;
  --text-sm: .875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.35rem;
  --text-5xl: 3.5rem;
}

:root {
  --font-sans: "Aptos", "Segoe UI", Arial, system-ui, sans-serif;
  --font-serif: Georgia, "Times New Roman", serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --color-primary: #0b5fe7;
  --color-neutral: #071a3a;
  --color-background: #fbfaf7;
  --color-gold: #e8aa2b;
}

@layer base {
  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { margin: 0; background: #fbfaf7; color: #071a3a; font-family: var(--font-sans); }
  a { color: inherit; }
  img { max-width: 100%; }
}

@layer components {
  .msh-body { background: #fbfaf7; color: #071a3a; }
  .msh-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
  .msh-header { position: sticky; top: 0; z-index: 50; background: rgba(3,27,67,.96); color: white; border-bottom: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(18px); }
  .msh-header-inner { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
  .msh-brand { display: inline-flex; align-items: center; text-decoration: none; }
  .msh-brand-link { min-width: 0; }
  .msh-brand-desktop { display: inline-flex; align-items: center; }
  .msh-brand-mobile { display: none; align-items: center; }
  .msh-full-logo { display: block; width: auto; height: 42px; max-width: 300px; object-fit: contain; }
  .msh-emblem-logo { display: block; width: 42px; height: 42px; object-fit: contain; }
  .msh-footer-logo { display: block; width: auto; height: 42px; max-width: 310px; object-fit: contain; }
  .msh-nav { display: flex; align-items: center; gap: 18px; font-size: .86rem; min-width:0; }
  .msh-nav a { text-decoration: none; color: #f7f9fd; opacity: .9; }
  .msh-nav a:hover { opacity: 1; }
  .msh-wallet-link { background: #0b5fe7; padding: 13px 18px; border-radius: 10px; box-shadow: 0 10px 24px rgba(11,95,231,.3); }

  .msh-hero { min-height: 650px; position: relative; overflow: hidden; background: #061a3b; }
  .msh-hero-bg { position: absolute; inset: 0; background-image: url("https://manueveringsitehubs.com/wp-content/uploads/2026/10/Philippine-road-training-hero.jpg"); background-size: cover; background-position: center; transform: scale(1.02); }
  .msh-hero-shade { position:absolute; inset:0; background: linear-gradient(90deg, rgba(4,21,51,.95) 0%, rgba(4,21,51,.80) 42%, rgba(4,21,51,.22) 72%, rgba(4,21,51,.14) 100%), linear-gradient(0deg, rgba(4,21,51,.55), transparent 45%); }
  .msh-hero-layout { position: relative; z-index: 2; min-height: 650px; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(330px,.72fr); align-items: center; gap: 70px; padding-block: 70px; }
  .msh-kicker { display:inline-block; text-transform: uppercase; letter-spacing: .14em; font-size: .73rem; font-weight: 850; color: #f0b83c; }
  .msh-label { display:inline-block; text-transform: uppercase; letter-spacing: .14em; font-size: .73rem; font-weight: 850; color: #865a00; }
  .msh-kicker:before { content:""; width: 26px; height: 2px; background:#e8aa2b; display:inline-block; vertical-align:middle; margin-right:10px; }
  .msh-hero-copy h1 { margin: 18px 0 20px; color: white; font-size: clamp(3.1rem, 6vw, 5.7rem); line-height: .96; letter-spacing: -.055em; max-width: 780px; }
  .msh-hero-copy h1 strong { color: #fff; font-weight: 900; }
  .msh-lead { max-width: 690px; color: #d8e2f0; font-size: 1.18rem; line-height: 1.7; margin: 0 0 30px; }
  .msh-actions { display:flex; flex-wrap:wrap; gap:12px; }
  .msh-btn { display:inline-flex; align-items:center; justify-content:center; min-height: 48px; padding: 0 20px; border-radius: 9px; border: 1px solid transparent; text-decoration:none; font-weight: 800; font-size:.92rem; cursor:pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
  .msh-btn:hover { transform: translateY(-1px); }
  .msh-btn-primary { background:#0b5fe7; color:white; box-shadow:0 10px 24px rgba(11,95,231,.22); }
  .msh-btn-light { color:white; border-color:rgba(255,255,255,.55); background:rgba(255,255,255,.07); backdrop-filter:blur(8px); }
  .msh-btn-dark { background:#061a3b; color:white; }
  .msh-btn-full { width:100%; }

  .msh-search-card { background: rgba(255,255,255,.96); border:1px solid rgba(255,255,255,.75); box-shadow:0 22px 70px rgba(0,0,0,.28); border-radius:18px; padding:28px; }
  .msh-search-card > span { color:#0b5fe7; font-weight:850; font-size:.72rem; letter-spacing:.14em; }
  .msh-search-card h2 { margin:7px 0 20px; font-size:1.65rem; letter-spacing:-.03em; }
  .msh-search-card form { display:grid; gap:13px; }
  .msh-search-card label { display:grid; gap:7px; font-size:.78rem; font-weight:800; color:#34465d; }
  .msh-search-card input, .msh-search-card select { width:100%; min-height:46px; padding:0 12px; background:white; border:1px solid #dce3eb; border-radius:9px; font:inherit; color:#132845; }
  .msh-search-card small { display:block; margin-top:14px; line-height:1.55; color:#66758a; }

  .msh-section { padding: 88px 0; }
  .msh-section-head { display:grid; grid-template-columns: 1.25fr .75fr; gap:50px; align-items:end; margin-bottom:32px; }
  .msh-section-head h2, .msh-account h2, .msh-renewal h2 { margin:8px 0 0; font-size:clamp(2rem,4vw,3.3rem); line-height:1.02; letter-spacing:-.045em; }
  .msh-section-head p { margin:0; color:#5e6b7c; line-height:1.7; }
  .msh-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
  .msh-service-grid article { min-height:260px; background:white; border:1px solid #e2e7ed; border-radius:14px; padding:26px; display:flex; flex-direction:column; box-shadow:0 9px 26px rgba(15,35,65,.05); }
  .msh-service-grid i { width:44px; height:44px; border-radius:11px; display:grid; place-items:center; background:#edf4ff; color:#0b5fe7; font-style:normal; font-size:.8rem; font-weight:900; border:1px solid #d9e7ff; }
  .msh-service-grid h3 { margin:20px 0 8px; font-size:1.14rem; }
  .msh-service-grid p { margin:0; color:#617086; line-height:1.6; font-size:.92rem; }
  .msh-service-grid a { margin-top:auto; padding-top:20px; text-decoration:none; color:#0b5fe7; font-weight:800; font-size:.88rem; }

  .msh-account { background:#f0f5fb; border-block:1px solid #e1e8f0; }
  .msh-account-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }
  .msh-account p { color:#5d6c80; line-height:1.7; }
  .msh-steps { list-style:none; padding:0; margin:28px 0; display:grid; gap:13px; }
  .msh-steps li { display:flex; gap:13px; align-items:flex-start; }
  .msh-steps b { width:30px; height:30px; border-radius:50%; background:#071a3a; color:white; display:grid; place-items:center; font-size:.78rem; flex:0 0 30px; }
  .msh-steps span { display:grid; gap:2px; }
  .msh-steps small { color:#738195; }
  .msh-dashboard-card { background:white; border:1px solid #dbe4ee; border-radius:18px; overflow:hidden; box-shadow:0 20px 60px rgba(19,45,84,.1); }
  .msh-dash-head { background:#061a3b; color:white; padding:18px 20px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
  .msh-dash-title { display:flex; align-items:center; gap:10px; min-width:0; }
  .msh-dash-emblem { width:30px; height:30px; flex:0 0 30px; object-fit:contain; }
  .msh-dash-head span { color:#aebbd0; font-size:.78rem; }
  .msh-profile-row { display:flex; gap:14px; align-items:center; padding:20px; border-bottom:1px solid #e8edf2; }
  .msh-avatar { width:48px; height:48px; border-radius:50%; display:grid; place-items:center; background:#eaf2ff; color:#0b5fe7; font-weight:900; border:1px solid #d7e4fa; }
  .msh-profile-row > div:last-child { display:grid; gap:2px; }
  .msh-profile-row small, .msh-profile-row span { color:#708096; font-size:.76rem; }
  .msh-dash-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
  .msh-dash-grid > div { padding:20px; border-right:1px solid #e8edf2; display:grid; gap:7px; }
  .msh-dash-grid > div:last-child { border-right:0; }
  .msh-dash-grid span { font-size:.75rem; color:#65758a; }
  .msh-dash-grid b { font-size:.93rem; }
  .msh-dash-grid small { font-size:.7rem; line-height:1.45; color:#8592a3; }
  .msh-notice { margin:0!important; padding:14px 20px; background:#fff8e9; color:#7a5b17!important; border-top:1px solid #f0dfb6; font-size:.78rem; }

  .msh-feature-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
  .msh-feature-grid article { background:white; border:1px solid #e2e7ed; border-radius:12px; padding:23px; }
  .msh-feature-grid h3 { margin:0 0 9px; font-size:1rem; }
  .msh-feature-grid p { margin:0; color:#66758a; line-height:1.6; font-size:.88rem; }

  .msh-renewal { background:#071a3a; color:white; padding:80px 0; }
  .msh-renewal .msh-label { color:#e8aa2b; }
  .msh-renewal h2 { max-width:820px; }
  .msh-renewal > .msh-shell > p { color:#b7c3d3; max-width:800px; line-height:1.7; }
  .msh-renewal-steps { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin:28px 0; }
  .msh-renewal-steps span { border:1px solid rgba(255,255,255,.14); border-radius:10px; padding:18px; color:#eaf0f7; font-size:.84rem; background:rgba(255,255,255,.04); }

  .msh-role-grid { display:flex; flex-wrap:wrap; gap:10px; }
  .msh-role-grid span { padding:12px 15px; border:1px solid #dbe3ec; border-radius:999px; background:white; font-size:.84rem; font-weight:800; color:#30445f; }

  .msh-status-section { padding:0 0 80px; }
  .msh-status-card { background:#fff8e9; border:1px solid #f1dfb6; border-radius:14px; padding:22px 24px; }
  .msh-status-card strong { color:#6b4d10; }
  .msh-status-card p { margin:7px 0 0; color:#7b6b49; line-height:1.65; font-size:.88rem; }

  .msh-footer { background:#04142f; color:white; border-top:1px solid rgba(255,255,255,.1); }
  .msh-footer-inner { min-height:96px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; }
  .msh-brand-footer { justify-self:start; }
  .msh-footer p { margin:0; color:#aebad0; font-size:.78rem; }
  .msh-footer nav { justify-self:end; display:flex; gap:18px; font-size:.78rem; }
  .msh-footer nav a { text-decoration:none; color:#d8e0ec; }

  @media (max-width: 1120px) {
    .msh-nav > a:not(.msh-wallet-link):not(.msh-partner-login-link) { display:none; }
    .msh-partner-login-link { display:inline-flex; align-items:center; padding:11px 12px; border:1px solid rgba(255,255,255,.28); border-radius:9px; }
    .msh-hero-layout { grid-template-columns:1fr; gap:36px; min-height:auto; padding-block:80px; }
    .msh-hero { min-height:auto; }
    .msh-hero-copy { max-width:760px; }
    .msh-search-card { max-width:620px; }
    .msh-service-grid { grid-template-columns:repeat(2,1fr); }
    .msh-account-grid { grid-template-columns:1fr; gap:40px; }
    .msh-feature-grid { grid-template-columns:repeat(2,1fr); }
    .msh-renewal-steps { grid-template-columns:repeat(2,1fr); }
    .msh-dash-grid { grid-template-columns:1fr; }
    .msh-dash-grid > div { border-right:0; border-bottom:1px solid #e8edf2; }
    .msh-section-head { grid-template-columns:1fr; gap:14px; }
    .msh-footer-inner { grid-template-columns:1fr; padding-block:26px; text-align:center; }
    .msh-brand-footer, .msh-footer nav { justify-self:center; }
  }
  @media (max-width: 640px) {
    .msh-shell { width:min(100% - 26px,1180px); }
    .msh-header-inner { min-height:64px; }
    .msh-brand-desktop { display:none; }
    .msh-brand-mobile { display:inline-flex; }
    .msh-emblem-logo { width:40px; height:40px; }
    .msh-wallet-link { display:none; }
    .msh-partner-login-link { padding:10px 11px; font-size:.74rem; }
    .msh-hero-layout { padding-block:58px; }
    .msh-hero-copy h1 { font-size:clamp(2.7rem,13vw,4.4rem); }
    .msh-lead { font-size:1rem; }
    .msh-actions .msh-btn { width:100%; }
    .msh-search-card { padding:20px; }
    .msh-section { padding:64px 0; }
    .msh-service-grid, .msh-feature-grid { grid-template-columns:1fr; }
    .msh-service-grid article { min-height:230px; }
    .msh-renewal { padding:64px 0; }
    .msh-renewal-steps { grid-template-columns:1fr; }
    .msh-dash-head { align-items:flex-start; flex-direction:column; gap:4px; }
    .msh-footer nav { flex-wrap:wrap; justify-content:center; }
  }
  .msh-provider-body { background:#eef3f8; min-height:100vh; color:#071a3a; }
  .msh-provider-app { min-height:100vh; display:grid; grid-template-columns:245px 1fr; }
  .msh-provider-sidebar { background:linear-gradient(180deg,#082b5b,#05224a); color:white; min-height:100vh; position:sticky; top:0; align-self:start; display:flex; flex-direction:column; padding:18px 14px; }
  .msh-provider-logo { display:block; text-decoration:none; }
  .msh-provider-logo img { display:block; width:100%; max-width:205px; height:auto; object-fit:contain; }
  .msh-provider-sidebar nav { display:grid; gap:7px; margin-top:28px; }
  .msh-provider-sidebar nav a { display:flex; align-items:center; gap:10px; padding:11px 12px; border-radius:8px; color:#eaf1fb; text-decoration:none; font-size:.88rem; }
  .msh-provider-sidebar nav a span { width:23px; height:23px; border-radius:7px; display:grid; place-items:center; background:rgba(255,255,255,.09); font-weight:800; }
  .msh-provider-sidebar nav a.active,.msh-provider-sidebar nav a:hover { background:#0b5fe7; color:white; }
  .msh-provider-sidebar-footer { margin-top:auto; padding:16px 12px; border-top:1px solid rgba(255,255,255,.12); display:grid; gap:4px; }
  .msh-provider-sidebar-footer span { font-size:.7rem; color:#9fb0ca; text-transform:uppercase; letter-spacing:.09em; }
  .msh-provider-sidebar-footer strong { font-size:.82rem; }
  .msh-provider-main { min-width:0; display:flex; flex-direction:column; min-height:100vh; }
  .msh-provider-topbar { min-height:70px; background:#08315f; color:white; display:flex; align-items:center; justify-content:space-between; padding:0 24px; gap:20px; border-bottom:1px solid rgba(255,255,255,.1); }
  .msh-provider-topbar>div:first-child { display:grid; gap:2px; }
  .msh-provider-topbar>div:first-child span { color:#c7d4e5; font-size:.76rem; }
  .msh-provider-user { display:flex; align-items:center; gap:10px; }
  .msh-provider-user img { border-radius:50%; border:2px solid #e8aa2b; }
  .msh-provider-user span { display:grid; gap:1px; }
  .msh-provider-user small { color:#c8d5e7; font-size:.65rem; }
  .msh-provider-user strong { font-size:.83rem; }
  .msh-provider-content { padding:24px; }
  .msh-provider-titlebar { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:18px; }
  .msh-provider-titlebar h1 { margin:5px 0 0; font-size:2rem; letter-spacing:-.04em; }
  .msh-provider-actions { display:flex; gap:8px; flex-wrap:wrap; }
  .msh-btn-light-on-white { background:white; color:#17365c; border-color:#dbe4ef; }
  .msh-provider-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:16px; }
  .msh-provider-metrics article { background:white; border:1px solid #dce4ed; border-radius:10px; padding:16px; display:grid; gap:3px; box-shadow:0 5px 18px rgba(9,35,70,.04); }
  .msh-provider-metrics span { color:#506480; font-size:.75rem; }
  .msh-provider-metrics strong { font-size:1.7rem; color:#0b3270; line-height:1; }
  .msh-provider-metrics small { color:#8090a4; font-size:.7rem; }
  .msh-provider-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr); gap:14px; }
  .msh-provider-panel { background:white; border:1px solid #dce4ed; border-radius:11px; box-shadow:0 5px 20px rgba(9,35,70,.045); padding:18px; margin-bottom:14px; min-width:0; }
  .msh-provider-panel-head { display:flex; justify-content:space-between; gap:16px; align-items:end; margin-bottom:14px; }
  .msh-provider-panel-head>div { display:grid; gap:3px; }
  .msh-provider-panel-head span { color:#6c7d93; font-size:.72rem; }
  .msh-provider-panel-head h2 { margin:0; font-size:1.05rem; }
  .msh-provider-table-wrap { overflow:auto; }
  .msh-provider-table-wrap table { width:100%; border-collapse:collapse; min-width:720px; }
  .msh-provider-table-wrap th { text-align:left; background:#f0f4f8; color:#3c516c; font-size:.72rem; padding:9px 10px; border-bottom:1px solid #dce5ee; }
  .msh-provider-table-wrap td { font-size:.78rem; color:#243b5c; padding:10px; border-bottom:1px solid #edf1f5; vertical-align:top; }
  .msh-provider-table-wrap td small { display:block; color:#8190a4; margin-top:3px; }
  .msh-empty-cell { text-align:center!important; color:#7d8da0!important; padding:28px!important; }
  .msh-pill { display:inline-flex; align-items:center; padding:5px 8px; border-radius:999px; font-size:.68rem; font-weight:800; background:#eaf1fb; color:#32527c; }
  .msh-pill-confirmed,.msh-pill-approved,.msh-pill-completed { background:#dcf5e7; color:#147347; }
  .msh-pill-pending { background:#fff0d7; color:#93620b; }
  .msh-pill-rejected,.msh-pill-suspended,.msh-pill-cancelled { background:#ffe3e3; color:#a33131; }
  .msh-pill-payment { background:#eef2f7; color:#52677f; }
  .msh-provider-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .msh-provider-form.compact { grid-template-columns:1fr; }
  .msh-provider-form label { display:grid; gap:6px; color:#3d526f; font-size:.76rem; font-weight:800; }
  .msh-provider-form input,.msh-provider-form select,.msh-provider-form textarea,.msh-decision-form textarea { width:100%; border:1px solid #d5dee9; border-radius:8px; padding:10px 11px; font:inherit; background:#fff; color:#17365c; }
  .msh-provider-form button { justify-self:start; }
  .msh-integration-note { margin:14px 0 0; padding:12px 13px; background:#fff8e9; border:1px solid #f2dfb5; border-radius:8px; color:#725616; font-size:.76rem; line-height:1.55; }
  .msh-form-error,.msh-form-success { padding:10px 12px; border-radius:8px; margin-bottom:12px; font-size:.78rem; }
  .msh-form-error { background:#ffe9e9; color:#922d2d; }
  .msh-form-success { background:#e5f7ec; color:#1b7248; }
  .msh-cap-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
  .msh-cap-grid article { border:1px solid #e1e8f0; border-radius:9px; padding:14px; background:#fbfcfe; }
  .msh-cap-grid strong { font-size:.85rem; }
  .msh-cap-grid p { margin:6px 0 0; color:#64758b; font-size:.76rem; line-height:1.5; }
  .msh-provider-integration p { color:#617188; line-height:1.65; margin:0; font-size:.82rem; }
  .msh-provider-footer { margin-top:auto; padding:18px 24px; color:#6a7d94; font-size:.72rem; text-align:right; }
  .msh-provider-gate { min-height:100vh; display:grid; place-items:center; padding:28px; background:radial-gradient(circle at 20% 10%,#eaf2ff,transparent 38%),#f6f8fb; }
  .msh-provider-gate>.msh-provider-logo { position:absolute; top:24px; left:28px; max-width:230px; }
  .msh-provider-gate-card { width:min(680px,100%); background:white; border:1px solid #dce4ed; border-radius:16px; padding:30px; box-shadow:0 20px 60px rgba(16,47,87,.1); }
  .msh-provider-gate-card h1 { margin:8px 0 12px; font-size:2rem; letter-spacing:-.04em; }
  .msh-provider-gate-card p { color:#5e7086; line-height:1.65; }
  .msh-provider-apply-card { width:min(820px,100%); }
  .msh-provider-admin-link { margin-top:18px; font-size:.8rem; }
  .msh-provider-status { display:inline-flex; padding:6px 10px; border-radius:999px; background:#fff0d7; color:#8c5f0b; font-size:.72rem; font-weight:800; }
  .msh-provider-status-suspended { background:#ffe2e2; color:#982f2f; }
  .msh-decision-form { min-width:260px; }
  .msh-decision-form>div { display:flex; flex-wrap:wrap; gap:5px; margin-top:7px; }
  .msh-mini-btn { border:0; border-radius:6px; padding:6px 8px; font-size:.67rem; font-weight:800; cursor:pointer; }
  .msh-mini-btn.approve,.msh-mini-btn.reactivate { background:#daf3e5; color:#176c46; }
  .msh-mini-btn.reject,.msh-mini-btn.suspend { background:#ffe3e3; color:#9b3030; }
  .msh-table-link { display:inline-block; margin-top:7px; font-size:.72rem; color:#0b5fe7; text-decoration:none; font-weight:800; }
  .msh-audit-list { display:grid; gap:8px; }
  .msh-audit-list article { border:1px solid #e2e8ef; border-radius:8px; padding:12px; }
  .msh-audit-list time { display:block; color:#7d8b9d; font-size:.7rem; margin-top:2px; }
  .msh-audit-list pre { white-space:pre-wrap; word-break:break-word; background:#f5f7fa; border-radius:6px; padding:9px; font-size:.68rem; color:#4a5f78; }

  /* Stakeholder registration */
  .msh-reg-body { margin:0; min-height:100vh; background:#eef3f8; color:#071a3a; }
  .msh-reg-app { min-height:100vh; display:grid; grid-template-columns:230px 1fr; }
  .msh-reg-sidebar { background:linear-gradient(180deg,#07294f,#041d3d); color:#fff; padding:18px 14px; min-height:100vh; position:sticky; top:0; align-self:start; }
  .msh-reg-sidebar .msh-provider-logo img { max-width:200px; }
  .msh-reg-sidebar nav { display:grid; gap:7px; margin-top:30px; }
  .msh-reg-sidebar nav a { color:#eaf0f8; text-decoration:none; padding:12px 14px; border-radius:8px; font-size:.86rem; border-left:3px solid transparent; }
  .msh-reg-sidebar nav a.active,.msh-reg-sidebar nav a:hover { background:#0b5fe7; border-left-color:#e8aa2b; color:#fff; }
  .msh-reg-main { min-width:0; display:flex; flex-direction:column; min-height:100vh; }
  .msh-reg-topbar { min-height:70px; background:#07315f; color:#fff; display:flex; justify-content:flex-end; align-items:center; padding:0 24px; }
  .msh-reg-mobile-brand { display:none; align-items:center; gap:9px; }
  .msh-reg-mobile-brand img { width:34px; height:34px; border-radius:50%; }
  .msh-reg-mobile-brand strong { font-size:.82rem; }
  .msh-reg-mobile-brand strong span { color:#e8aa2b; }
  .msh-reg-content { padding:24px; }
  .msh-reg-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; }
  .msh-reg-heading h1 { margin:0; font-size:2rem; letter-spacing:-.04em; }
  .msh-reg-heading p { margin:3px 0 0; color:#52667f; }
  .msh-reg-categories { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:18px; }
  .msh-reg-category { display:flex; gap:12px; align-items:center; min-height:82px; padding:14px; background:#fff; border:1px solid #dbe4ee; border-radius:10px; }
  .msh-reg-category.selected { border-color:#0b5fe7; box-shadow:0 0 0 1px #0b5fe7 inset; }
  .msh-reg-category-icon { width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:#edf4ff; color:#0b5fe7; font-weight:900; flex:0 0 44px; }
  .msh-reg-category strong { display:block; font-size:.88rem; }
  .msh-reg-category span { display:block; margin-top:3px; color:#53677f; font-size:.74rem; line-height:1.4; }
  .msh-reg-mobile-step { display:none; margin:4px 0 10px; font-size:.78rem; font-weight:800; color:#17365c; }
  .msh-reg-steps { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin:10px 0 20px; }
  .msh-reg-steps>div { position:relative; text-align:center; }
  .msh-reg-steps>div:before { content:""; position:absolute; top:16px; left:0; right:0; height:2px; background:#d8e0e9; z-index:0; }
  .msh-reg-steps>div:first-child:before { left:50%; }
  .msh-reg-steps>div:last-child:before { right:50%; }
  .msh-reg-steps span { position:relative; z-index:1; width:32px; height:32px; border-radius:50%; display:grid; place-items:center; margin:auto; background:#f0f3f7; border:1px solid #cad4e0; color:#51657e; font-weight:800; font-size:.76rem; }
  .msh-reg-steps .active span,.msh-reg-steps .done span { background:#0b5fe7; color:#fff; border-color:#0b5fe7; }
  .msh-reg-steps .done:before { background:#0b5fe7; }
  .msh-reg-steps small { display:block; margin-top:8px; color:#52667f; font-size:.7rem; }
  .msh-reg-steps .active small { color:#0b5fe7; font-weight:800; }
  .msh-reg-workspace { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.62fr); gap:14px; align-items:start; }
  .msh-reg-panel,.msh-reg-summary { background:#fff; border:1px solid #dbe4ee; border-radius:12px; box-shadow:0 5px 20px rgba(8,39,78,.04); }
  .msh-reg-panel { padding:20px; }
  .msh-reg-panel h2 { margin:0; font-size:1.14rem; }
  .msh-reg-panel>p { color:#64758a; margin:5px 0 18px; font-size:.78rem; }
  .msh-reg-summary { padding:18px; }
  .msh-reg-summary h3 { margin:0 0 12px; font-size:.9rem; }
  .msh-reg-summary dl { display:grid; grid-template-columns:95px 1fr; gap:10px 12px; margin:0 0 16px; }
  .msh-reg-summary dt { color:#6d7d91; font-size:.72rem; }
  .msh-reg-summary dd { margin:0; font-size:.76rem; font-weight:800; }
  .msh-reg-fields { display:grid; gap:12px; }
  .msh-reg-fields.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .msh-reg-fields label,.msh-doc-card label { display:grid; gap:6px; color:#334b68; font-size:.73rem; font-weight:800; }
  .msh-reg-fields .wide { grid-column:1/-1; }
  .msh-reg-fields input,.msh-reg-fields textarea,.msh-reg-fields select,.msh-doc-card input { width:100%; min-height:44px; border:1px solid #bfcbd8; border-radius:8px; padding:10px 11px; font:inherit; background:#fff; color:#17365c; }
  .msh-reg-type-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
  .msh-reg-type-option { position:relative; cursor:pointer; }
  .msh-reg-type-option input { position:absolute; opacity:0; pointer-events:none; }
  .msh-reg-type-option span { display:block; min-height:92px; border:1px solid #d8e1eb; border-radius:10px; padding:14px; }
  .msh-reg-type-option span strong { display:block; font-size:.9rem; }
  .msh-reg-type-option span small { display:block; color:#6a7a8e; line-height:1.45; margin-top:4px; }
  .msh-reg-type-option input:checked+span { border-color:#0b5fe7; box-shadow:0 0 0 1px #0b5fe7 inset; background:#f7fbff; }
  .msh-doc-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
  .msh-doc-card { border:1px solid #dfe6ef; border-radius:9px; padding:14px; display:grid; gap:9px; }
  .msh-doc-card>span { color:#78889a; font-size:.7rem; }
  .msh-doc-card .msh-doc-current { color:#1a714a; font-weight:800; }
  .msh-doc-card>a { color:#0b5fe7; text-decoration:none; font-size:.72rem; font-weight:800; }
  .msh-doc-checklist { list-style:none; padding:0; margin:0; display:grid; gap:7px; }
  .msh-doc-checklist li { display:flex; justify-content:space-between; gap:10px; font-size:.71rem; padding:8px 0; border-bottom:1px solid #edf1f5; }
  .msh-doc-checklist li span { color:#77889b; }
  .msh-review-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
  .msh-review-grid>div { border:1px solid #e1e8ef; background:#fbfcfe; border-radius:8px; padding:12px; display:grid; gap:3px; }
  .msh-review-grid span { color:#748398; font-size:.68rem; }
  .msh-review-grid strong { font-size:.82rem; }
  .msh-review-accept { display:grid; gap:10px; margin-top:16px; }
  .msh-review-accept label { font-size:.78rem; color:#405572; display:flex; gap:8px; align-items:flex-start; }
  .msh-approval-warning { margin-top:14px; border:1px solid #d8a63b; background:#fff8e6; border-radius:8px; padding:11px 12px; display:grid; gap:3px; color:#72500f; }
  .msh-approval-warning strong { font-size:.76rem; }
  .msh-approval-warning span { font-size:.7rem; line-height:1.4; }
  .msh-reg-actions { display:flex; justify-content:space-between; gap:12px; margin-top:14px; }
  .msh-reg-actions>div { display:flex; gap:8px; }
  .msh-reg-footer { margin-top:auto; text-align:center; padding:16px 20px 20px; color:#718197; font-size:.7rem; }
  .msh-reg-login { min-height:100vh; position:relative; display:grid; place-items:center; padding:82px 28px 54px; background:radial-gradient(circle at 15% 10%,#eaf2ff,transparent 34%),#f7f9fb; }
  .msh-reg-login>.msh-provider-logo { position:absolute; top:24px; left:28px; max-width:230px; }
  .msh-reg-login-card { width:min(620px,100%); background:#fff; border:1px solid #dce5ef; border-radius:16px; padding:30px; box-shadow:0 20px 60px rgba(10,41,80,.1); }
  .msh-reg-login-card h1 { margin:8px 0 10px; font-size:2rem; letter-spacing:-.04em; }
  .msh-reg-login-card p { color:#617286; line-height:1.65; }
  .msh-my-docs { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
  .msh-my-docs a { display:grid; gap:4px; border:1px solid #e0e7ef; border-radius:8px; padding:12px; text-decoration:none; background:#fbfcfe; }
  .msh-my-docs a strong { font-size:.78rem; color:#17365c; }
  .msh-my-docs a span { font-size:.68rem; color:#75869a; }
  .msh-request-note { display:block; margin-top:5px; max-width:280px; color:#8b5c0c; font-size:.68rem; line-height:1.4; }
  .msh-muted-action { color:#8190a1; font-size:.72rem; }
  .msh-map-field { display:grid; grid-template-columns:1fr auto; gap:8px; }
  .msh-map-field .msh-mini-btn { background:#eef4fb; color:#214d7d; border:1px solid #d2deeb; min-width:145px; }
  .msh-upload-progress { position:relative; overflow:hidden; min-height:38px; margin:12px 0 0; background:#edf2f7; border:1px solid #d5dee8; border-radius:8px; display:flex; align-items:center; padding:0 12px; }
  .msh-upload-progress span { position:absolute; inset:0 auto 0 0; width:0; background:#dceaff; transition:width .2s ease; }
  .msh-upload-progress strong { position:relative; z-index:1; font-size:.72rem; color:#24496f; }
  .msh-provider-switcher label { display:flex; align-items:center; gap:8px; color:#d4deeb; font-size:.7rem; }
  .msh-provider-switcher select { min-width:180px; background:#0c4079; color:#fff; border:1px solid rgba(255,255,255,.25); border-radius:7px; padding:7px 9px; font-size:.72rem; }
  .msh-auth-actions { display:flex; flex-wrap:wrap; gap:9px; align-items:center; }
  .msh-auth-actions .msh-btn { min-width:150px; }
  .msh-auth-link { color:#0b5fe7; text-decoration:none; font-weight:800; font-size:.8rem; }
  .msh-auth-separate { margin-top:18px!important; padding-top:15px; border-top:1px solid #e7edf3; color:#728297!important; font-size:.76rem; }
  .msh-password-note { color:#748397; font-size:.72rem; padding:3px 0; }
  .msh-check-label { display:flex!important; grid-template-columns:auto 1fr; align-items:center; gap:8px!important; font-weight:600!important; }
  .msh-check-label input { width:auto!important; }
  .msh-reg-login-card .msh-reg-fields { margin-top:18px; }
  .msh-auth-footer { position:absolute; left:20px; right:20px; bottom:16px; text-align:center; color:#5f7187; font-size:.7rem; }

  .msh-btn:focus-visible,
  .msh-nav a:focus-visible,
  .msh-reg-sidebar a:focus-visible,
  .msh-provider-sidebar a:focus-visible,
  .msh-auth-link:focus-visible,
  .msh-table-link:focus-visible,
  input:focus-visible,
  select:focus-visible,
  textarea:focus-visible {
    outline:3px solid #e8aa2b;
    outline-offset:2px;
  }
  .msh-btn-primary:hover { background:#084ec0; box-shadow:0 12px 26px rgba(11,95,231,.28); }
  .msh-btn-light-on-white:hover { background:#f5f8fc; border-color:#bfcbd8; }
  .msh-provider-metrics small,
  .msh-provider-table-wrap td small,
  .msh-doc-card>span,
  .msh-doc-checklist li span,
  .msh-review-grid span,
  .msh-my-docs a span,
  .msh-muted-action { color:#5f7187; }
  .msh-reg-login-card,
  .msh-provider-gate-card { overflow:hidden; }

  @media (max-width: 1100px) {
    .msh-reg-app { grid-template-columns:190px 1fr; }
    .msh-reg-sidebar { padding:14px 10px; }
    .msh-reg-sidebar .msh-provider-logo img { max-width:165px; }
    .msh-reg-sidebar nav a { font-size:.75rem; text-align:left; padding:11px 10px; }
    .msh-reg-workspace { grid-template-columns:1fr; }
    .msh-reg-summary { order:-1; }
    .msh-provider-app { grid-template-columns:76px 1fr; }
    .msh-provider-sidebar { padding:14px 9px; }
    .msh-provider-logo img { max-width:56px; }
    .msh-provider-sidebar nav a { justify-content:center; padding:10px 6px; font-size:0; }
    .msh-provider-sidebar nav a span { font-size:.75rem; }
    .msh-provider-sidebar-footer { display:none; }
    .msh-provider-grid { grid-template-columns:1fr; }
    .msh-provider-metrics { grid-template-columns:repeat(2,1fr); }
  }
  @media (max-width: 700px) {
    .msh-reg-app { display:block; }
    .msh-reg-sidebar { min-height:auto; position:static; display:flex; align-items:center; overflow:auto; padding:10px 12px; }
    .msh-reg-sidebar>.msh-provider-logo { flex:0 0 48px; }
    .msh-reg-sidebar nav { display:flex; margin:0 0 0 10px; gap:5px; }
    .msh-reg-sidebar nav a { flex:0 0 auto; padding:9px 10px; }
    .msh-reg-topbar { min-height:62px; padding:10px 14px; justify-content:space-between; }
    .msh-reg-mobile-brand { display:flex; }
    .msh-reg-content { padding:14px; }
    .msh-reg-heading { align-items:flex-start; flex-direction:column; }
    .msh-reg-heading h1 { font-size:1.55rem; }
    .msh-reg-categories { grid-template-columns:1fr; }
    .msh-reg-category { display:none; min-height:70px; }
    .msh-reg-category.selected { display:flex; }
    .msh-reg-mobile-step { display:block; }
    .msh-reg-steps small { display:none; }
    .msh-reg-workspace { grid-template-columns:1fr; }
    .msh-reg-summary { order:-1; }
    .msh-reg-fields.two,.msh-reg-type-grid,.msh-doc-grid,.msh-review-grid { grid-template-columns:1fr; }
    .msh-reg-actions { align-items:stretch; }
    .msh-reg-actions>div { flex:1; }
    .msh-reg-actions .msh-btn { flex:1; padding-inline:10px; }
    .msh-auth-actions { display:grid; grid-template-columns:1fr; }
    .msh-auth-actions .msh-btn { width:100%; }
    .msh-map-field { grid-template-columns:1fr; }
    .msh-my-docs { grid-template-columns:1fr; }
    .msh-reg-login>.msh-provider-logo { max-width:180px; top:18px; left:18px; }
    .msh-reg-login-card { margin-top:70px; padding:22px; }
    .msh-provider-app { display:block; }
    .msh-provider-sidebar { position:static; min-height:auto; padding:10px 12px; flex-direction:row; align-items:center; overflow:auto; }
    .msh-provider-sidebar>.msh-provider-logo { flex:0 0 50px; }
    .msh-provider-sidebar nav { margin:0 0 0 10px; display:flex; gap:5px; }
    .msh-provider-sidebar nav a { flex:0 0 auto; }
    .msh-provider-topbar { padding:10px 14px; min-height:62px; }
    .msh-provider-topbar>div:first-child span { display:none; }
    .msh-provider-user small { display:none; }
    .msh-provider-content { padding:14px; }
    .msh-provider-titlebar { align-items:flex-start; flex-direction:column; }
    .msh-provider-titlebar h1 { font-size:1.55rem; }
    .msh-provider-metrics { grid-template-columns:1fr 1fr; }
    .msh-provider-metrics strong { font-size:1.35rem; }
    .msh-provider-form { grid-template-columns:1fr; }
    .msh-cap-grid { grid-template-columns:1fr; }
    .msh-provider-footer { text-align:center; }
    .msh-provider-gate>.msh-provider-logo { max-width:180px; top:18px; left:18px; }
    .msh-provider-gate-card { margin-top:70px; padding:22px; }
  }
  @media (prefers-reduced-motion: reduce) {
    *, *:before, *:after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
  }
}