/* Microsoft 365 security scan (/microsoft-365-scan and its report).
   Loaded after php-check.css and m365-check.css. */
.ms-start { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin: 30px 0 12px; }
.ms-signin { display: inline-flex; align-items: center; gap: 10px; }
.ms-ghost { color: #fff; font-weight: 600; font-size: 15px; border-bottom: 1px solid rgba(255,255,255,0.35); padding-bottom: 2px; }
.ms-ghost:hover { color: var(--orange); border-color: var(--orange); }
.ms-alert { max-width: 640px; margin-top: 22px; }
.ms-detail { margin-top: 56px; padding-top: 34px; border-top: 1px solid var(--hairline); }
.ms-detail h2 { font-size: clamp(22px, 2.2vw, 28px); letter-spacing: -0.03em; margin: 0 0 18px; }
.ms-detail h3 { font-size: 16px; margin: 0 0 10px; }
.ms-detail p { font-size: 14px; line-height: 1.85; color: var(--body-copy); }
.ms-detail-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; }
.ms-perms { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ms-perms li { display: flex; flex-direction: column; padding: 10px 14px; border: 1px solid var(--hairline); border-radius: 6px; font-size: 14px; }
.ms-perms li span { color: var(--body-copy); }

.ms-report-hero h1 { margin: 8px 0 8px; font-size: clamp(28px, 3.4vw, 42px); max-width: none; }
.ms-summary { display: flex; gap: 24px; align-items: center; margin-top: 18px; }
.ms-grade { width: 96px; height: 96px; font-size: 46px; }
.ms-securescore { margin-top: 30px; max-width: 640px; display: flex; flex-direction: column; gap: 8px; }
.ms-ss-head { display: flex; justify-content: space-between; align-items: baseline; color: var(--on-dark-copy); font-size: 14px; font-weight: 600; }
.ms-ss-head strong { color: #fff; font-size: 26px; }
.ms-ss-bar { height: 10px; border-radius: 10px; background: #2a3344; overflow: hidden; }
.ms-ss-bar span { display: block; height: 100%; background: var(--orange); border-radius: 10px; }

.ms-body { padding: 54px 0 var(--section-pad); }
.ms-body > h2 { font-size: clamp(22px, 2.2vw, 28px); letter-spacing: -0.03em; margin: 0 0 16px; }
.ms-body > h2:not(:first-child) { margin-top: 48px; }
.ms-sub { color: var(--body-copy); font-size: 14px; margin: -8px 0 14px; }
.ms-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 14px; }
.ms-check { color: #fff; }
.ms-check-title { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #AEBACB; }
.ms-badge { font-size: 11.5px; font-weight: 700; padding: 3px 9px; border-radius: 100px; white-space: nowrap; }
.ms-badge.is-pass { background: #123222; color: #7FD69A; }
.ms-badge.is-warn { background: #2b2012; color: #FFC278; }
.ms-badge.is-fail { background: #2d1218; color: #FF9BA8; }
.ms-badge.is-info { background: #1d2636; color: #AEBACB; }
.ms-info { border-color: #384250; background: #0f1826; }
.ms-info .pc-card-title { color: #E7ECF3; }
.ms-fix { border-top: 1px solid rgba(255,255,255,0.08); padding-top: 10px; }
.ms-actions { list-style: none; counter-reset: ms; margin: 0; padding: 0; display: flex; flex-direction: column; }
.ms-actions li { counter-increment: ms; display: flex; align-items: center; gap: 10px 18px; flex-wrap: wrap; padding: 14px 0; border-bottom: 1px solid var(--hairline); }
.ms-actions li::before { content: counter(ms); flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--chip-fill); color: var(--orange-deep); font-weight: 700; display: grid; place-items: center; font-size: 13px; }
.ms-actions li > div { flex: 1 1 320px; display: flex; flex-direction: column; }
.ms-actions li > div span { font-size: 13px; color: var(--body-copy-alt); }
.ms-points { font-weight: 700; color: var(--orange-deep); white-space: nowrap; }
.ms-cta { margin-top: 56px; }
.ms-after { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; margin-top: 48px; padding-top: 30px; border-top: 1px solid var(--hairline); }
.ms-after h3 { font-size: 16px; margin: 0 0 8px; }
.ms-after p { font-size: 14px; line-height: 1.8; color: var(--body-copy); margin: 0 0 10px; }
.ms-link-btn { background: none; border: 0; padding: 0; font: inherit; font-size: 13.5px; font-weight: 600; color: var(--body-copy); text-decoration: underline; cursor: pointer; }
.ms-link-btn:hover { color: #B3263E; }
@media (max-width: 860px) { .ms-detail-grid, .ms-after { grid-template-columns: 1fr; gap: 26px; } .ms-summary { align-items: flex-start; } .ms-grade { width: 74px; height: 74px; font-size: 36px; } }
