:root {
    --bmo-primary: #0868f7;
    --bmo-primary-dark: #0757d4;
    --bmo-primary-soft: #edf5ff;
    --bmo-ink: #14213a;
    --bmo-muted: #72809a;
    --bmo-border: #e3eaf4;
    --bmo-bg: #f8fafe;
    --bmo-surface: #ffffff;
    --bmo-success: #19b68a;
    --bmo-success-soft: #e9faf5;
    --bmo-danger: #e55757;
    --bmo-danger-soft: #fff0f0;
    --bmo-warning: #de9d23;
    --bmo-shadow: 0 18px 55px rgba(35, 61, 99, .09);
    --bmo-shadow-soft: 0 8px 26px rgba(35, 61, 99, .07);
    --bmo-radius: 18px;
    --bmo-radius-sm: 12px;
}

body.bmo-portal-page {
    margin: 0;
    background: var(--bmo-bg);
    color: var(--bmo-ink);
    font-family: Vazirmatn, IRANSansX, IRANSans, Tahoma, Arial, sans-serif;
    line-height: 1.75;
    -webkit-font-smoothing: antialiased;
}

body.bmo-portal-page * { box-sizing: border-box; }
body.bmo-portal-page a { color: inherit; text-decoration: none; }
body.bmo-portal-page button,
body.bmo-portal-page input,
body.bmo-portal-page select,
body.bmo-portal-page textarea { font: inherit; }
body.bmo-portal-page button { cursor: pointer; }
body.bmo-portal-page img { max-width: 100%; height: auto; }
body.bmo-portal-page .bmo-icon { width: 22px; height: 22px; flex: 0 0 auto; }

.bmo-root { min-height: 100vh; background: radial-gradient(circle at 13% 10%, rgba(8, 104, 247, .05), transparent 24%), var(--bmo-bg); }
.bmo-public-header {
    height: 88px;
    background: rgba(255,255,255,.94);
    border-bottom: 1px solid var(--bmo-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 clamp(28px, 5vw, 72px);
    position: relative;
    z-index: 5;
}

.bmo-brand,
.bmo-dashboard-brand { display: inline-flex; align-items: center; gap: 12px; }
.bmo-brand__mark {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(145deg, #0b72ff, #0051d6);
    color: #fff;
    display: inline-grid;
    place-items: center;
    font-weight: 900;
    font-size: 25px;
    box-shadow: 0 10px 24px rgba(8, 104, 247, .24);
}
.bmo-brand__image { width: 52px; height: 52px; object-fit: contain; }
.bmo-brand__copy,
.bmo-dashboard-brand > span:last-child { display: flex; flex-direction: column; line-height: 1.45; }
.bmo-brand__copy strong,
.bmo-dashboard-brand strong { font-size: 20px; font-weight: 900; color: #132039; }
.bmo-brand__copy small,
.bmo-dashboard-brand small { font-size: 11px; color: var(--bmo-muted); }
.bmo-public-nav { display: flex; align-items: center; gap: 28px; font-size: 14px; color: #44516a; }
.bmo-public-nav > a:hover { color: var(--bmo-primary); }
.bmo-public-nav__login {
    border: 1px solid #ccd8e8;
    background: #fff;
    border-radius: 10px;
    padding: 9px 15px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #263550 !important;
}
.bmo-public-nav__login .bmo-icon { width: 18px; height: 18px; color: var(--bmo-primary); }

.bmo-public-main { padding: 48px clamp(22px, 5vw, 70px) 55px; }
.bmo-public-main > * { max-width: 1400px; margin-inline: auto; }
.bmo-eyebrow {
    color: var(--bmo-primary);
    background: var(--bmo-primary-soft);
    border: 1px solid #d8e8ff;
    border-radius: 999px;
    padding: 4px 12px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 14px;
}

/* Auth */
.bmo-auth-page {
    min-height: 715px;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(460px, .8fr);
    align-items: center;
    gap: clamp(50px, 8vw, 125px);
    padding: 10px clamp(10px, 2vw, 30px) 35px;
}
.bmo-auth-intro { position: relative; min-height: 600px; display: flex; flex-direction: column; justify-content: center; }
.bmo-auth-intro__copy { max-width: 610px; margin-inline: auto; text-align: center; }
.bmo-auth-intro h1 { margin: 0 0 12px; font-size: clamp(29px, 3vw, 43px); line-height: 1.45; font-weight: 950; letter-spacing: -.7px; }
.bmo-auth-intro p { margin: 0 auto; max-width: 620px; color: var(--bmo-muted); font-size: 15px; }
.bmo-auth-visual { width: 500px; height: 345px; margin: 40px auto 0; position: relative; }
.bmo-browser-mock {
    position: absolute;
    inset: 20px 45px 0 85px;
    background: rgba(255,255,255,.88);
    border: 1px solid #e8eef7;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(40, 68, 109, .07);
    overflow: hidden;
}
.bmo-browser-mock__rail { position: absolute; right: 0; top: 0; bottom: 0; width: 70px; border-left: 1px solid #edf1f6; background: #fbfcfe; }
.bmo-browser-mock__rail::before {
    content: ""; position: absolute; top: 28px; right: 20px; width: 30px; height: 30px; border-radius: 9px;
    background: var(--bmo-primary); box-shadow: 0 0 0 10px #edf5ff;
}
.bmo-browser-mock__top { position: absolute; top: 28px; right: 95px; left: 30px; height: 18px; border-radius: 9px; background: #f0f3f8; }
.bmo-browser-mock__rows { position: absolute; top: 80px; right: 95px; left: 30px; display: grid; gap: 18px; }
.bmo-browser-mock__rows i { height: 34px; border-radius: 10px; background: #f7f9fc; }
.bmo-browser-mock__chart { position: absolute; bottom: 35px; right: 110px; width: 120px; height: 100px; border: 1px solid #edf1f6; border-radius: 12px; display: flex; align-items: end; gap: 7px; padding: 14px; }
.bmo-browser-mock__chart i { flex: 1; background: linear-gradient(to top, #0868f7, #75adff); border-radius: 6px 6px 2px 2px; }
.bmo-browser-mock__chart i:nth-child(1) { height: 35%; }
.bmo-browser-mock__chart i:nth-child(2) { height: 65%; }
.bmo-browser-mock__chart i:nth-child(3) { height: 42%; }
.bmo-browser-mock__chart i:nth-child(4) { height: 75%; }
.bmo-browser-mock__chart i:nth-child(5) { height: 55%; }
.bmo-floating-card {
    position: absolute;
    background: #fff;
    border: 1px solid #edf1f6;
    border-radius: 14px;
    box-shadow: var(--bmo-shadow-soft);
    padding: 16px 18px;
    display: grid;
    gap: 2px;
    min-width: 130px;
}
.bmo-floating-card .bmo-icon { color: var(--bmo-primary); margin-bottom: 5px; }
.bmo-floating-card strong { font-size: 17px; }
.bmo-floating-card span { color: var(--bmo-muted); font-size: 11px; }
.bmo-floating-card--users { right: 5px; top: 120px; }
.bmo-floating-card--product { left: 0; bottom: 5px; }

.bmo-auth-card,
.bmo-single-card {
    background: rgba(255,255,255,.97);
    border: 1px solid #e9eef5;
    border-radius: 20px;
    box-shadow: var(--bmo-shadow);
}
.bmo-auth-card { padding: 38px 52px 42px; min-height: 560px; display: flex; flex-direction: column; justify-content: center; }
.bmo-auth-card__logo { display: flex; justify-content: center; margin-bottom: 16px; }
.bmo-auth-card__logo span,
.bmo-auth-card__logo img {
    width: 58px; height: 58px; border-radius: 16px; background: linear-gradient(145deg, #eaf3ff, #f5f9ff); border: 1px solid #dfeaff;
    color: var(--bmo-primary); display: grid; place-items: center; font-size: 28px; font-weight: 950; object-fit: contain; padding: 7px;
}
.bmo-auth-card h2 { font-size: 27px; margin: 4px 0 6px; text-align: center; font-weight: 950; }
.bmo-auth-card > p { margin: 0 auto 24px; text-align: center; color: var(--bmo-muted); font-size: 13px; max-width: 510px; }
.bmo-auth-card__register { margin-bottom: 10px !important; }

/* Forms */
.bmo-form { display: grid; gap: 18px; }
.bmo-field { display: grid; gap: 7px; color: #27364e; font-size: 13px; font-weight: 700; }
.bmo-field > span:first-child em { font-style: normal; color: #e25555; }
.bmo-field input,
.bmo-field select,
.bmo-field textarea {
    width: 100%;
    min-height: 48px;
    padding: 10px 13px;
    border: 1px solid #cfd8e6;
    border-radius: 8px;
    background: #fff;
    color: var(--bmo-ink);
    outline: none;
    transition: .18s ease;
    box-shadow: none;
}
.bmo-field textarea { min-height: 105px; resize: vertical; }
.bmo-field input:focus,
.bmo-field select:focus,
.bmo-field textarea:focus { border-color: #70a9ff; box-shadow: 0 0 0 3px rgba(8,104,247,.08); }
.bmo-field input::placeholder,
.bmo-field textarea::placeholder { color: #a6afbf; }
.bmo-file-upload {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 74px;
    padding: 12px 14px;
    border: 1px dashed #bfd2ee;
    border-radius: 10px;
    background: #f9fbff;
    overflow: hidden;
    transition: .18s ease;
    cursor: pointer;
}
.bmo-file-upload:hover,
.bmo-file-upload:focus-within {
    border-color: #70a9ff;
    background: #f5f9ff;
    box-shadow: 0 0 0 3px rgba(8,104,247,.06);
}
.bmo-field .bmo-file-upload input[type="file"] {
    position: absolute;
    inset: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    opacity: 0;
    cursor: pointer;
}
.bmo-file-upload__icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--bmo-primary);
    background: var(--bmo-primary-soft);
}
.bmo-file-upload__icon .bmo-icon { width: 22px; height: 22px; }
.bmo-file-upload__copy {
    min-width: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 2px;
}
.bmo-file-upload__copy strong {
    color: #253750;
    font-size: 12px;
    font-weight: 900;
}
.bmo-file-upload__copy small {
    max-width: 100%;
    color: var(--bmo-muted);
    font-size: 10px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bmo-file-upload__button {
    flex: 0 0 auto;
    padding: 7px 12px;
    border: 1px solid #c9dcf7;
    border-radius: 8px;
    background: #fff;
    color: var(--bmo-primary);
    font-size: 11px;
    font-weight: 900;
}
.bmo-input-wrap { position: relative; display: block; }
.bmo-input-wrap .bmo-icon { position: absolute; right: 13px; top: 50%; transform: translateY(-50%); width: 19px; height: 19px; color: #7e8da5; }
.bmo-input-wrap input { padding-right: 43px; direction: ltr; text-align: left; }
.bmo-input-wrap--otp input { text-align: center; letter-spacing: 10px; font-size: 20px; font-weight: 900; padding-left: 40px; }
.bmo-checkbox { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #66748b; cursor: pointer; }
.bmo-checkbox input { width: 17px; height: 17px; accent-color: var(--bmo-primary); }
.bmo-checkbox--boxed { padding: 16px; border: 1px solid #dce6f3; border-radius: 11px; background: #fbfdff; align-items: flex-start; font-size: 13px; }
.bmo-button {
    min-height: 46px;
    border-radius: 8px;
    border: 1px solid transparent;
    padding: 10px 19px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 850;
    font-size: 14px;
    transition: .18s ease;
    width: 100%;
}
.bmo-button--primary { background: linear-gradient(180deg, #1475ff, #0862ed); color: #fff !important; box-shadow: 0 8px 18px rgba(8,104,247,.18); }
.bmo-button--primary:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(8,104,247,.25); }
.bmo-button--outline { background: #fff; border-color: #a9c9fb; color: var(--bmo-primary) !important; }
.bmo-button--ghost { background: #fff; border-color: #d6e0ed; color: #44536b !important; width: auto; box-shadow: none; }
.bmo-button--auto { width: auto; }
.bmo-separator { position: relative; text-align: center; margin: 10px 0; color: #9aa4b4; font-size: 12px; }
.bmo-separator::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: #e3e8ef; }
.bmo-separator span { position: relative; background: #fff; padding: 0 13px; }
.bmo-resend-box { margin-top: 15px; display: flex; justify-content: center; align-items: center; gap: 8px; color: #7a879c; font-size: 12px; }
.bmo-inline-form { display: inline; margin: 0; }
.bmo-link-button { border: 0; background: none; color: var(--bmo-primary); padding: 0; font-weight: 800; }
.bmo-link-button:disabled { color: #9ea9b9; cursor: not-allowed; }
.bmo-back-link { display: block; text-align: center; color: var(--bmo-primary) !important; font-size: 12px; margin-top: 12px; }
.bmo-alert { padding: 11px 13px; border-radius: 9px; margin: 0 0 16px; font-size: 12px; border: 1px solid; }
.bmo-alert--success { color: #087c5e; background: var(--bmo-success-soft); border-color: #c9efe3; }
.bmo-alert--error { color: #a73535; background: var(--bmo-danger-soft); border-color: #f4cccc; }

/* Public footer */
.bmo-public-footer {
    min-height: 112px;
    border-top: 1px solid var(--bmo-border);
    background: rgba(255,255,255,.88);
    padding: 22px clamp(28px, 5vw, 72px);
    display: grid;
    grid-template-columns: repeat(4, 1fr) 1.5fr;
    gap: 24px;
    align-items: center;
}
.bmo-footer-feature { display: flex; align-items: center; gap: 10px; min-width: 0; }
.bmo-footer-feature .bmo-icon { color: #55667f; }
.bmo-footer-feature span { display: flex; flex-direction: column; min-width: 0; }
.bmo-footer-feature strong { font-size: 12px; }
.bmo-footer-feature small { color: var(--bmo-muted); font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bmo-footer-copy { color: #8792a3; font-size: 11px; text-align: left; }

/* Apply */
.bmo-apply-hero {
    min-height: 230px;
    margin-top: -48px;
    margin-inline: calc(clamp(22px, 5vw, 70px) * -1);
    margin-bottom: 0;
    padding: 42px clamp(42px, 8vw, 130px) 70px;
    background: linear-gradient(106deg, #fff 50%, #edf5ff 100%);
    border-bottom: 1px solid #e4ebf5;
    position: relative;
    overflow: hidden;
    max-width: none !important;
}
.bmo-apply-hero__copy { width: 62%; margin-right: auto; text-align: right; position: relative; z-index: 2; }
.bmo-apply-hero h1 { margin: 0 0 8px; font-size: clamp(31px, 4vw, 48px); font-weight: 950; line-height: 1.35; }
.bmo-apply-hero p { margin: 0 0 22px; color: var(--bmo-muted); }
.bmo-benefits-inline { display: flex; flex-wrap: wrap; gap: 24px; }
.bmo-benefits-inline span { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 800; }
.bmo-benefits-inline .bmo-icon { color: var(--bmo-primary); width: 21px; height: 21px; }
.bmo-apply-hero__visual { position: absolute; left: 6%; top: 15px; width: 350px; height: 230px; }
.bmo-device-shape { position: absolute; left: 100px; top: 5px; width: 75px; height: 175px; border-radius: 18px; background: linear-gradient(150deg, #d8e7fb, #1c4174); border: 5px solid #1c2f4e; transform: rotate(-4deg); box-shadow: 0 20px 30px rgba(20,45,80,.15); }
.bmo-earbuds-shape { position: absolute; left: 165px; top: 82px; width: 95px; height: 80px; border-radius: 28px 28px 32px 32px; background: #fff; border: 1px solid #dfe6ef; box-shadow: 0 16px 28px rgba(30,55,90,.12); }
.bmo-box-shape { position: absolute; left: 30px; bottom: 6px; width: 82px; height: 100px; background: linear-gradient(145deg, #fff, #f0f3f7); border: 1px solid #dfe6ef; border-radius: 12px; transform: rotate(6deg); }

.bmo-apply-layout {
    display: grid;
    grid-template-columns: 265px minmax(0, 1fr) 270px;
    gap: 22px;
    margin-top: -43px;
    position: relative;
    z-index: 3;
    max-width: 1425px !important;
}
.bmo-benefit-panel,
.bmo-notes-panel,
.bmo-apply-card {
    background: #fff;
    border: 1px solid #e3eaf3;
    border-radius: 16px;
    box-shadow: var(--bmo-shadow-soft);
}
.bmo-benefit-panel,
.bmo-notes-panel { padding: 24px 20px; align-self: start; }
.bmo-benefit-panel h2,
.bmo-notes-panel h2 { margin: 0 0 20px; font-size: 17px; }
.bmo-benefit-row { display: flex; gap: 11px; margin: 0 0 19px; }
.bmo-benefit-row .bmo-icon { color: var(--bmo-primary); width: 26px; height: 26px; }
.bmo-benefit-row span { display: flex; flex-direction: column; line-height: 1.6; }
.bmo-benefit-row strong { font-size: 12px; }
.bmo-benefit-row small { color: var(--bmo-muted); font-size: 10px; }
.bmo-apply-card { padding: 24px 28px 28px; min-height: 555px; }
.bmo-stepper { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; align-items: start; margin-bottom: 28px; }
.bmo-stepper__item { display: grid; justify-items: center; gap: 5px; min-width: 100px; color: #8996a9; text-align: center; font-size: 10px; }
.bmo-stepper__item b { width: 35px; height: 35px; border: 1px solid #d5deea; background: #fff; border-radius: 50%; display: grid; place-items: center; font-size: 13px; font-weight: 700; }
.bmo-stepper__item.is-active { color: #33445f; font-weight: 900; }
.bmo-stepper__item.is-active b { background: var(--bmo-primary); border-color: var(--bmo-primary); color: #fff; box-shadow: 0 6px 14px rgba(8,104,247,.18); }
.bmo-stepper__item.is-complete { color: var(--bmo-success); }
.bmo-stepper__item.is-complete b { border-color: var(--bmo-success); color: var(--bmo-success); background: #f3fffb; }
.bmo-stepper__line { height: 1px; background: #dce3ed; margin-top: 17px; }
.bmo-section-heading { display: flex; align-items: center; gap: 11px; margin-bottom: 20px; }
.bmo-section-heading > span { width: 42px; height: 42px; border-radius: 11px; background: var(--bmo-primary-soft); color: var(--bmo-primary); display: grid; place-items: center; flex: 0 0 auto; }
.bmo-section-heading h1,
.bmo-section-heading h2 { margin: 0; font-size: 20px; line-height: 1.5; font-weight: 950; }
.bmo-section-heading p { margin: 2px 0 0; color: var(--bmo-muted); font-size: 11px; }
.bmo-section-heading--center { text-align: center; flex-direction: column; }
.bmo-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 17px 19px; }
.bmo-field--full { grid-column: 1 / -1; }
.bmo-form-step[hidden] { display: none !important; }
.bmo-form-step.is-active { animation: bmoFade .18s ease; }
@keyframes bmoFade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.bmo-form-nav { border-top: 1px solid #edf1f5; margin-top: 24px; padding-top: 18px; display: flex; justify-content: space-between; gap: 12px; }
.bmo-review-box { display: grid; gap: 10px; margin-bottom: 18px; }
.bmo-review-box > div { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid #e4ebf4; border-radius: 10px; background: #fbfcff; }
.bmo-review-box .bmo-icon { color: var(--bmo-primary); }
.bmo-review-box span { display: flex; flex-direction: column; }
.bmo-review-box strong { font-size: 12px; }
.bmo-review-box small { color: var(--bmo-muted); font-size: 10px; }
.bmo-notes-panel ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 18px; }
.bmo-notes-panel li { display: flex; align-items: flex-start; gap: 9px; color: #56647a; font-size: 11px; }
.bmo-notes-panel li .bmo-icon { width: 18px; height: 18px; color: var(--bmo-primary); }
.bmo-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }

/* Single / status */
.bmo-single-card { padding: 42px; max-width: 920px !important; margin-block: 50px 80px !important; }
.bmo-single-card--narrow { max-width: 650px !important; text-align: center; }
.bmo-single-card h1,
.bmo-single-card h2 { margin: 0 0 8px; font-weight: 950; }
.bmo-single-card > p { color: var(--bmo-muted); margin: 0 auto 22px; }
.bmo-single-card .bmo-form { text-align: right; max-width: 520px; margin-inline: auto; }
.bmo-status-badge { display: inline-block; padding: 5px 12px; border-radius: 999px; background: #f1f4f8; color: #65728a; font-size: 11px; margin-bottom: 12px; }
.bmo-status-badge--approved { background: var(--bmo-success-soft); color: #0b8b68; }

.bmo-status-page {
    max-width: 1210px !important;
    min-height: 650px;
    margin-block: 0 35px !important;
    background: #fff;
    border: 1px solid #e2e9f3;
    border-radius: 18px;
    box-shadow: var(--bmo-shadow);
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 42px;
    align-items: center;
    padding: 48px 60px;
}
.bmo-status-illustration { height: 390px; position: relative; display: grid; place-items: center; }
.bmo-clipboard { width: 210px; height: 285px; background: #fff; border: 8px solid #2e7df4; border-radius: 12px; box-shadow: 0 20px 40px rgba(20,64,120,.12); position: relative; padding: 65px 28px 20px; }
.bmo-clipboard__head { position: absolute; width: 76px; height: 25px; border-radius: 12px 12px 5px 5px; background: #c9d2df; top: -14px; left: 50%; transform: translateX(-50%); }
.bmo-clipboard i { display: block; height: 14px; border-radius: 7px; background: #edf1f6; margin-bottom: 16px; }
.bmo-clipboard b { position: absolute; width: 68px; height: 68px; border-radius: 50%; background: var(--bmo-primary); color: #fff; display: grid; place-items: center; left: 50%; top: 93px; transform: translateX(-50%); box-shadow: 0 10px 25px rgba(8,104,247,.25); }
.bmo-clipboard b .bmo-icon { width: 42px; height: 42px; }
.bmo-clipboard-shield { position: absolute; left: 45px; bottom: 38px; width: 82px; height: 82px; border-radius: 22px; background: var(--bmo-primary); color: #fff; display: grid; place-items: center; box-shadow: 0 12px 25px rgba(8,104,247,.24); }
.bmo-clipboard-shield .bmo-icon { width: 47px; height: 47px; }
.bmo-success-kicker { display: inline-flex; align-items: center; gap: 8px; color: #0aa57c; font-size: 13px; font-weight: 900; margin-bottom: 7px; }
.bmo-success-kicker .bmo-icon { width: 24px; height: 24px; }
.bmo-status-content > h1 { font-size: clamp(29px, 3vw, 38px); margin: 0 0 10px; font-weight: 950; }
.bmo-status-content > p { margin: 0 0 30px; color: var(--bmo-muted); }
.bmo-status-timeline { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; align-items: start; direction: rtl; margin: 35px 0 28px; }
.bmo-timeline-item { display: grid; justify-items: center; gap: 8px; min-width: 115px; text-align: center; color: #8e9aab; }
.bmo-timeline-item b { width: 56px; height: 56px; border-radius: 50%; border: 1px solid #dce3ed; background: #fff; display: grid; place-items: center; }
.bmo-timeline-item .bmo-icon { width: 26px; height: 26px; }
.bmo-timeline-item span { display: flex; flex-direction: column; line-height: 1.55; }
.bmo-timeline-item strong { font-size: 11px; color: #37465d; }
.bmo-timeline-item small { font-size: 10px; }
.bmo-timeline-line { height: 2px; background: #dfe5ee; margin-top: 28px; }
.bmo-timeline-item.is-complete b { background: var(--bmo-primary); border-color: var(--bmo-primary); color: #fff; box-shadow: 0 8px 20px rgba(8,104,247,.2); }
.bmo-timeline-item.is-complete small { color: var(--bmo-success); font-weight: 800; }
.bmo-timeline-item.is-active b { border: 2px solid #8cb9ff; color: var(--bmo-primary); box-shadow: 0 0 0 7px #f0f6ff; }
.bmo-timeline-item.is-active small { color: var(--bmo-primary); font-weight: 800; }
.bmo-timeline-item.is-rejected b { background: var(--bmo-danger); border-color: var(--bmo-danger); color: #fff; }
.bmo-timeline-item.is-rejected small { color: var(--bmo-danger); font-weight: 800; }
.bmo-timeline-line.is-complete { background: #86b5fa; }
.bmo-status-info { display: flex; align-items: center; gap: 12px; padding: 16px; border: 1px solid #d8e6f9; border-radius: 11px; background: #f4f8ff; color: #365170; }
.bmo-status-info > .bmo-icon { color: var(--bmo-primary); width: 31px; height: 31px; }
.bmo-status-info span { display: flex; flex-direction: column; flex: 1; }
.bmo-status-info strong { font-size: 12px; }
.bmo-status-info small { color: #71839b; font-size: 10px; }
.bmo-status-info--success { background: #effcf8; border-color: #c9efe3; }
.bmo-support-strip { max-width: 1210px !important; text-align: center; border-top: 1px solid #e6ecf3; padding: 25px 0 10px; }
.bmo-support-strip h2 { font-size: 18px; margin: 0 0 18px; }
.bmo-support-strip__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.bmo-support-strip__grid > div { display: flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid #e6ecf4; border-radius: 10px; padding: 14px; background: #fff; }
.bmo-support-strip__grid .bmo-icon { color: var(--bmo-primary); }
.bmo-support-strip__grid span { display: flex; flex-direction: column; text-align: right; }
.bmo-support-strip__grid strong { font-size: 11px; }
.bmo-support-strip__grid small { color: var(--bmo-muted); font-size: 10px; }

/* Dashboard */
.bmo-root--dashboard { background: #f6f8fb; }
.bmo-dashboard-host { min-height: 100vh; }
.bmo-dashboard-app { min-height: 100vh; display: grid; grid-template-columns: 285px minmax(0, 1fr); direction: rtl; }
.bmo-dashboard-sidebar {
    background: #fff;
    border-left: 1px solid #e3e9f2;
    min-height: 100vh;
    padding: 22px 18px;
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    z-index: 15;
}
.bmo-dashboard-brand { padding: 0 7px 22px; border-bottom: 1px solid #edf1f6; }
.bmo-dashboard-brand .bmo-brand__mark { width: 43px; height: 43px; border-radius: 12px; }
.bmo-dashboard-brand strong { font-size: 16px; }
.bmo-dashboard-nav { display: grid; gap: 5px; padding: 18px 0; }
.bmo-dashboard-nav a { display: flex; align-items: center; gap: 11px; min-height: 45px; border-radius: 10px; padding: 9px 12px; color: #536079; font-size: 12px; position: relative; }
.bmo-dashboard-nav a .bmo-icon { width: 20px; height: 20px; }
.bmo-dashboard-nav a small { margin-right: auto; color: #9ca7b7; font-size: 9px; }
.bmo-dashboard-nav a.is-active { background: #edf4ff; color: var(--bmo-primary); font-weight: 900; }
.bmo-dashboard-nav a.is-disabled { opacity: .68; cursor: default; }
.bmo-dashboard-support { margin-top: auto; border: 1px solid #d8e7fb; border-radius: 12px; padding: 14px; background: linear-gradient(145deg, #fbfdff, #f1f7ff); display: flex; align-items: center; gap: 10px; color: var(--bmo-primary); }
.bmo-dashboard-support .bmo-icon { width: 31px; height: 31px; }
.bmo-dashboard-support span { display: flex; flex-direction: column; color: #344661; }
.bmo-dashboard-support strong { font-size: 11px; }
.bmo-dashboard-support small { color: var(--bmo-primary); font-size: 10px; direction: ltr; text-align: right; }
.bmo-dashboard-main { min-width: 0; }
.bmo-dashboard-topbar { height: 70px; background: #fff; border-bottom: 1px solid #e5eaf2; display: flex; align-items: center; gap: 20px; padding: 0 28px; position: sticky; top: 0; z-index: 10; }
.bmo-dashboard-search { flex: 1; max-width: 520px; height: 40px; border: 1px solid #e0e6ef; border-radius: 9px; color: #a0aabd; display: flex; align-items: center; padding: 0 15px; font-size: 11px; }
.bmo-dashboard-actions { margin-right: auto; display: flex; align-items: center; gap: 20px; font-size: 11px; }
.bmo-dashboard-actions > a { color: #7a879a; }
.bmo-dashboard-user { display: flex; align-items: center; gap: 8px; }
.bmo-dashboard-user > .bmo-icon { width: 34px; height: 34px; padding: 7px; color: var(--bmo-primary); background: #eef5ff; border-radius: 50%; }
.bmo-dashboard-user span { display: flex; flex-direction: column; line-height: 1.5; }
.bmo-dashboard-user strong { font-size: 11px; }
.bmo-dashboard-user small { color: var(--bmo-muted); font-size: 9px; }
.bmo-mobile-menu { display: none; border: 0; background: none; color: #44526a; }
.bmo-dashboard-content { padding: 28px 30px 40px; max-width: 1450px; margin: 0 auto; }
.bmo-dashboard-welcome { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.bmo-dashboard-welcome h1 { margin: 0 0 4px; font-size: 22px; }
.bmo-dashboard-welcome p { margin: 0; color: var(--bmo-muted); font-size: 11px; }
.bmo-dashboard-status-chip { display: flex; align-items: center; gap: 8px; border: 1px solid #d3eee5; background: #f3fcf9; border-radius: 10px; padding: 9px 12px; color: #0d9c75; }
.bmo-dashboard-status-chip .bmo-icon { width: 24px; height: 24px; }
.bmo-dashboard-status-chip span { display: flex; flex-direction: column; color: #31524a; }
.bmo-dashboard-status-chip strong { font-size: 10px; }
.bmo-dashboard-status-chip small { font-size: 9px; color: #6e8d85; }
.bmo-dashboard-overview { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 16px; }
.bmo-stat-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px; display: flex; align-items: center; gap: 12px; min-height: 92px; }
.bmo-stat-card__icon { width: 43px; height: 43px; border-radius: 12px; background: #eef5ff; color: var(--bmo-primary); display: grid; place-items: center; }
.bmo-stat-card span:last-child { display: flex; flex-direction: column; }
.bmo-stat-card small { color: var(--bmo-muted); font-size: 9px; }
.bmo-stat-card strong { font-size: 19px; margin-top: 3px; }
.bmo-dashboard-grid { display: grid; grid-template-columns: .85fr 1.45fr; gap: 16px; margin-bottom: 16px; }
.bmo-dashboard-card { background: #fff; border: 1px solid #e1e8f0; border-radius: 13px; padding: 18px; }
.bmo-dashboard-card__head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 15px; }
.bmo-dashboard-card__head h2 { margin: 0; font-size: 14px; }
.bmo-dashboard-card__head p { margin: 4px 0 0; color: var(--bmo-muted); font-size: 10px; }
.bmo-dashboard-card__head a,
.bmo-dashboard-card__head > span { color: var(--bmo-primary); font-size: 9px; }
.bmo-profile-summary { display: flex; align-items: center; gap: 12px; padding: 14px; background: linear-gradient(145deg, #0e64e6, #1c4b9f); color: #fff; border-radius: 12px; margin-bottom: 13px; }
.bmo-profile-badge { width: 48px; height: 48px; border-radius: 50%; background: rgba(255,255,255,.15); display: grid; place-items: center; }
.bmo-profile-summary > div:last-child { display: flex; flex-direction: column; }
.bmo-profile-summary strong { font-size: 13px; }
.bmo-profile-summary small { opacity: .82; font-size: 9px; }
.bmo-profile-meta { display: grid; gap: 8px; }
.bmo-profile-meta > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #eef2f6; padding: 7px 0; font-size: 10px; }
.bmo-profile-meta span { color: var(--bmo-muted); }
.bmo-profile-meta strong { font-size: 10px; }
.bmo-text-success { color: var(--bmo-success); }
.bmo-quick-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.bmo-quick-grid button,
.bmo-quick-grid a { border: 1px solid #e3eaf2; border-radius: 11px; background: #fff; min-height: 75px; padding: 11px; display: flex; align-items: center; gap: 11px; color: #3a4960; text-align: right; }
.bmo-quick-grid button:disabled { opacity: .55; cursor: default; }
.bmo-quick-grid .bmo-icon { color: var(--bmo-primary); }
.bmo-quick-grid span { display: flex; flex-direction: column; }
.bmo-quick-grid strong,
.bmo-quick-grid span { font-size: 10px; }
.bmo-quick-grid small { color: var(--bmo-muted); font-size: 8px; }
.bmo-dashboard-card--extension { min-height: 210px; }
.bmo-extension-placeholder { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.bmo-extension-placeholder > div { border: 1px dashed #cdd9e8; border-radius: 12px; background: #fbfcfe; min-height: 115px; padding: 14px; display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.bmo-extension-placeholder .bmo-icon { color: var(--bmo-primary); margin-bottom: 2px; }
.bmo-extension-placeholder strong { font-size: 11px; }
.bmo-extension-placeholder span { color: var(--bmo-muted); font-size: 9px; }

/* Responsive */
@media (max-width: 1180px) {
    .bmo-public-nav > a:not(.bmo-public-nav__login) { display: none; }
    .bmo-auth-page { grid-template-columns: 1fr 1fr; gap: 30px; }
    .bmo-auth-card { padding-inline: 35px; }
    .bmo-auth-visual { transform: scale(.86); transform-origin: center; }
    .bmo-apply-layout { grid-template-columns: 220px minmax(0,1fr); }
    .bmo-notes-panel { display: none; }
    .bmo-apply-hero__copy { width: 72%; }
    .bmo-status-page { grid-template-columns: 260px 1fr; padding-inline: 35px; }
    .bmo-status-illustration { transform: scale(.8); }
    .bmo-public-footer { grid-template-columns: repeat(2,1fr); }
    .bmo-footer-copy { grid-column: 1 / -1; text-align: center; }
    .bmo-dashboard-overview { grid-template-columns: repeat(2,1fr); }
    .bmo-extension-placeholder { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 900px) {
    .bmo-public-header { height: 72px; padding-inline: 18px; }
    .bmo-brand__copy strong { font-size: 16px; }
    .bmo-brand__copy small { display: none; }
    .bmo-public-main { padding: 28px 16px 38px; }
    .bmo-auth-page { grid-template-columns: 1fr; min-height: auto; }
    .bmo-auth-intro { min-height: auto; }
    .bmo-auth-visual { display: none; }
    .bmo-auth-card { max-width: 620px; width: 100%; margin-inline: auto; min-height: auto; }
    .bmo-apply-hero { margin-top: -28px; margin-inline: -16px; padding: 35px 24px 80px; }
    .bmo-apply-hero__copy { width: 100%; }
    .bmo-apply-hero__visual { display: none; }
    .bmo-apply-layout { grid-template-columns: 1fr; margin-top: -48px; }
    .bmo-benefit-panel { display: none; }
    .bmo-status-page { grid-template-columns: 1fr; padding: 30px 24px; min-height: auto; }
    .bmo-status-illustration { display: none; }
    .bmo-status-timeline { overflow-x: auto; padding-bottom: 12px; }
    .bmo-support-strip__grid { grid-template-columns: 1fr; }
    .bmo-public-footer { grid-template-columns: 1fr 1fr; }

    .bmo-dashboard-app { display: block; }
    .bmo-dashboard-sidebar { position: fixed; right: -305px; top: 0; width: 285px; transition: right .22s ease; box-shadow: -20px 0 40px rgba(20,40,70,.13); }
    .bmo-dashboard-sidebar.is-open { right: 0; }
    .bmo-mobile-menu { display: inline-grid; place-items: center; }
    .bmo-dashboard-search { display: none; }
    .bmo-dashboard-actions { margin-right: auto; }
    .bmo-dashboard-content { padding-inline: 18px; }
    .bmo-dashboard-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .bmo-brand__mark { width: 40px; height: 40px; font-size: 20px; }
    .bmo-public-nav__login { font-size: 0; padding: 8px 10px; }
    .bmo-public-nav__login .bmo-icon { width: 21px; height: 21px; }
    .bmo-auth-card { padding: 28px 20px; border-radius: 15px; }
    .bmo-auth-intro__copy { padding-inline: 8px; }
    .bmo-auth-intro h1 { font-size: 26px; }
    .bmo-public-footer { grid-template-columns: 1fr; padding-inline: 20px; }
    .bmo-footer-copy { grid-column: auto; }
    .bmo-apply-card { padding: 18px 14px; }
    .bmo-form-grid { grid-template-columns: 1fr; }
    .bmo-field--full { grid-column: auto; }
    .bmo-stepper { grid-template-columns: repeat(4, 1fr); gap: 4px; }
    .bmo-stepper__line { display: none; }
    .bmo-stepper__item { min-width: 0; }
    .bmo-stepper__item span { display: none; }
    .bmo-stepper__item b { width: 32px; height: 32px; }
    .bmo-status-page { margin-top: 10px !important; }
    .bmo-status-timeline { grid-template-columns: repeat(7, minmax(80px, auto)); }
    .bmo-timeline-item { min-width: 82px; }
    .bmo-timeline-item b { width: 48px; height: 48px; }
    .bmo-timeline-line { margin-top: 24px; }
    .bmo-status-info { align-items: flex-start; flex-wrap: wrap; }
    .bmo-status-info .bmo-button { width: 100%; }
    .bmo-dashboard-topbar { padding-inline: 14px; }
    .bmo-dashboard-actions > a { display: none; }
    .bmo-dashboard-welcome { align-items: flex-start; flex-direction: column; }
    .bmo-dashboard-overview { grid-template-columns: 1fr 1fr; }
    .bmo-stat-card { min-height: 78px; padding: 11px; }
    .bmo-stat-card__icon { width: 36px; height: 36px; }
    .bmo-stat-card strong { font-size: 15px; }
    .bmo-quick-grid { grid-template-columns: 1fr; }
    .bmo-extension-placeholder { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .bmo-file-upload { align-items: flex-start; flex-wrap: wrap; }
    .bmo-file-upload__copy { flex-basis: calc(100% - 58px); }
    .bmo-file-upload__button { margin-right: 54px; }
}
