/* OMS page. Loaded only by /patients/oms/. */
.oms-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #e8f4f6;
    color: #007c8e;
    font-size: 0.88rem;
    font-weight: 600;
    padding: 7px 15px;
    border-radius: 20px;
    border: 1px solid #b8dde4;
    margin-top: 20px;
}

.oms-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 50px;
}
@media (max-width: 1023px) {
    .oms-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .oms-grid { grid-template-columns: 1fr; }
}

.oms-card {
    background: #fff;
    border: 1px solid #dde8ed;
    border-radius: 10px;
    padding: 26px;
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s ease, border-color .2s ease;
}
.oms-card:hover {
    box-shadow: 0 8px 24px rgba(0,124,142,.1);
    border-color: #007c8e;
}

.oms-card__header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}
.oms-card__num {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #007c8e;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.oms-card__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0e3449;
    line-height: 1.3;
    margin: 0;
}

.oms-card__location {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.875rem;
    color: #4a6e82;
    padding: 12px 0;
    margin-bottom: 14px;
    border-top: 1px solid #eef2f5;
    border-bottom: 1px solid #eef2f5;
}
.oms-card__location svg {
    color: #007c8e;
    flex-shrink: 0;
    margin-top: 2px;
}
.oms-card__location-text strong {
    display: block;
    color: #0e3449;
    font-weight: 600;
    margin-bottom: 2px;
}

.oms-card__desc {
    font-size: 0.9rem;
    color: #4a6e82;
    margin-bottom: 12px;
    flex: 1;
}
.oms-card__desc strong { color: #0e3449; }

.oms-services {
    list-style: none;
    padding: 0;
    margin: 0 0 14px 0;
}
.oms-services li {
    position: relative;
    padding-left: 16px;
    font-size: 0.875rem;
    color: #4a6e82;
    margin-bottom: 5px;
}
.oms-services li::before {
    content: "—";
    position: absolute;
    left: 0;
    color: #007c8e;
    font-weight: 700;
}

.oms-docs {
    background: #f0f7f9;
    border-radius: 8px;
    padding: 16px 18px;
    margin-top: auto;
}
.oms-docs__title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    font-weight: 700;
    color: #0e3449;
    margin-bottom: 10px;
}
.oms-docs__title svg { color: #007c8e; flex-shrink: 0; }
.oms-docs__list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.oms-docs__list li {
    position: relative;
    padding-left: 14px;
    font-size: 0.85rem;
    color: #3d6175;
    margin-bottom: 6px;
    line-height: 1.4;
}
.oms-docs__list li:last-child { margin-bottom: 0; }
.oms-docs__list li::before {
    content: "›";
    position: absolute;
    left: 0;
    color: #007c8e;
    font-weight: 700;
}

.oms-banner {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #fff8e1;
    border: 1px solid #ffd54f;
    border-left: 4px solid #f59e0b;
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 40px;
    font-size: 0.93rem;
    color: #5a4500;
    line-height: 1.55;
}
.oms-banner svg { color: #f59e0b; flex-shrink: 0; margin-top: 2px; }

.oms-legal-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 50px;
}
@media (max-width: 767px) {
    .oms-legal-grid { grid-template-columns: 1fr; }
}
.oms-legal-block {
    background: #fff;
    border: 1px solid #dde8ed;
    border-radius: 10px;
    padding: 26px;
}
.oms-legal-block h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0e3449;
    margin: 0 0 10px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #eef2f5;
}
.oms-legal-block p {
    font-size: 0.9rem;
    color: #4a6e82;
    margin-bottom: 16px;
}

.oms-doc-ref {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #f0f7f9;
    border-radius: 8px;
    padding: 14px 16px;
    margin-bottom: 18px;
}
.oms-doc-ref svg { color: #007c8e; flex-shrink: 0; margin-top: 3px; }
.oms-doc-ref__label {
    display: block;
    font-size: 0.78rem;
    color: #6b8fa3;
    text-transform: uppercase;
    letter-spacing: .5px;
    font-weight: 600;
    margin-bottom: 4px;
}
.oms-doc-ref__title {
    display: block;
    font-size: 0.875rem;
    color: #0e3449;
    font-weight: 600;
    line-height: 1.4;
}

.oms-partners {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.oms-partner {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #f0f7f9;
    border-radius: 8px;
    padding: 13px 15px;
    font-size: 0.875rem;
    color: #0e3449;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    border: 1px solid transparent;
    transition: border-color .2s, background .2s;
}
.oms-partner:hover {
    border-color: #007c8e;
    background: #e4f2f5;
    color: #0e3449;
}
.oms-partner svg { color: #007c8e; flex-shrink: 0; margin-top: 2px; }

.oms-auth-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 60px;
}
@media (max-width: 1023px) {
    .oms-auth-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .oms-auth-grid { grid-template-columns: 1fr; }
}
.oms-auth-card {
    background: #fff;
    border: 1px solid #dde8ed;
    border-radius: 10px;
    padding: 20px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-decoration: none;
    color: inherit;
    transition: box-shadow .2s, border-color .2s;
}
.oms-auth-card:hover {
    box-shadow: 0 4px 16px rgba(0,124,142,.1);
    border-color: #007c8e;
    color: inherit;
}
.oms-auth-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #e8f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #007c8e;
}
.oms-auth-card strong {
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    color: #0e3449;
    line-height: 1.3;
}
.oms-auth-card span {
    display: block;
    font-size: 0.8rem;
    color: #6b8fa3;
    line-height: 1.4;
}


/* Page-level responsive refinements. The mdx root keeps overrides local to OMS. */
.mdx-oms-page{min-width:0;overflow-x:hidden;overflow-x:clip}
.mdx-oms-page .container,
.mdx-oms-page .columns > *{min-width:0}
.mdx-oms-page .page-intro__picture img{display:block;max-width:100%;height:auto;margin-inline:auto}
.mdx-oms-page .oms-card,
.mdx-oms-page .oms-legal-block,
.mdx-oms-page .oms-auth-card{min-width:0}
.mdx-oms-page .oms-card__title,
.mdx-oms-page .oms-card__desc,
.mdx-oms-page .oms-doc-ref__title,
.mdx-oms-page .oms-partner,
.mdx-oms-page .oms-auth-card{overflow-wrap:anywhere}
.mdx-oms-page .oms-partner,
.mdx-oms-page .oms-auth-card{touch-action:manipulation}

@media(max-width:1023px){
 .mdx-oms-page .oms-card,
 .mdx-oms-page .oms-legal-block{padding:22px}
}
@media(max-width:767px){
 .mdx-oms-page .page-intro{margin-bottom:48px!important}
 .mdx-oms-page .page-intro__picture{position:relative;inset:auto;display:block;width:100%;height:auto;min-height:240px;margin-top:24px}
 .mdx-oms-page .page-intro__picture::after{content:none}
 .mdx-oms-page .page-intro__picture img{width:100%;max-height:280px}
 .mdx-oms-page .oms-grid{grid-template-columns:1fr}
 .mdx-oms-page .oms-banner{padding:14px 16px}
 .mdx-oms-page .oms-auth-grid{margin-bottom:44px}
}
@media(max-width:480px){
 .mdx-oms-page .oms-card,
 .mdx-oms-page .oms-legal-block{padding:18px}
 .mdx-oms-page .oms-card__header{align-items:flex-start}
 .mdx-oms-page .oms-banner{gap:10px}
 .mdx-oms-page .oms-auth-card{padding:18px}
}
@media(prefers-reduced-motion:reduce){
 .mdx-oms-page *,
 .mdx-oms-page *::before,
 .mdx-oms-page *::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
