/* Model of Care additions (same identity as QFR: white, navy #253679, tiffany #0abab5) */
:root { --moc-navy: #253679; --moc-tiffany: #0abab5; --moc-tiffany-soft: #e6f8f7; }
.brand-copy .brand-sub { display:block; font-size:11px; letter-spacing:.08em; color:var(--moc-tiffany); font-weight:700; }
.moc-step { background:#fff; border:1px solid #e3eaf0; border-radius:22px; padding:20px 22px; margin:0 0 18px; }
.moc-step-head { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.moc-step-head h2 { margin:0; font-size:1.15rem; color:var(--moc-navy); }
.moc-step-head .upload-step { position:static; }
.moc-choices { display:grid; gap:12px; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); }
.moc-agg { grid-template-columns:repeat(2, minmax(0, 220px)); }
.moc-choice { position:relative; cursor:pointer; }
.moc-choice input { position:absolute; opacity:0; inset:0; cursor:pointer; }
.moc-choice-body { display:flex; flex-direction:column; gap:4px; padding:14px 16px; border:1.5px solid #d9e1e8; border-radius:16px; background:#fff; transition:all .15s ease; min-height:64px; justify-content:center; }
.moc-choice-body b { color:var(--moc-navy); font-size:1.05rem; }
.moc-choice-body small { color:#6d7d8d; }
.moc-choice input:checked + .moc-choice-body { border-color:var(--moc-tiffany); background:var(--moc-tiffany-soft); box-shadow:0 0 0 3px rgba(10,186,181,.15); }
.moc-choice input:focus-visible + .moc-choice-body { outline:2px solid var(--moc-navy); outline-offset:2px; }
.moc-period { display:flex; flex-wrap:wrap; gap:16px; margin-top:14px; }
.moc-period label { display:flex; flex-direction:column; gap:6px; font-size:.9rem; color:#40505f; min-width:220px; }
.moc-period input, .moc-period select, .moc-filter select { border:1px solid #d9e1e8; border-radius:12px; padding:9px 12px; background:#fff; color:#163039; }
.moc-period-show { margin-top:12px; padding:10px 14px; border-radius:12px; background:#f3f7fa; color:var(--moc-navy); font-weight:700; font-size:.92rem; }
.moc-period-show.is-error { background:#fff3f2; color:#9e2e2a; }
.moc-hint { margin:10px 0 0; color:#6d7d8d; font-size:.84rem; line-height:1.7; }
.moc-upload-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.moc-filter { display:flex; flex-wrap:wrap; gap:14px; margin:10px 0 12px; }
.moc-filter label { display:flex; gap:8px; align-items:center; font-size:.9rem; }
.review-table td.moc-wrap { white-space:normal; min-width:90px; }
.review-table td.moc-file { word-break:break-all; min-width:170px; }
.review-table td.moc-reason { min-width:280px; }
.review-actions .danger-button small { display:block; font-weight:400; font-size:.75rem; opacity:.75; }
@media (max-width: 760px) { .moc-upload-grid, .moc-agg { grid-template-columns:1fr; } }
@media (min-width: 761px) { .hero-process { padding-bottom:130px; } }
.moc-step:first-child { margin-top:0; }

.moc-choice.is-disabled { opacity:.45; cursor:not-allowed; }
.moc-choice.is-disabled input { cursor:not-allowed; }
.moc-base { margin:16px 0 4px; padding:14px 16px; border:1px dashed #c9d6df; border-radius:16px; background:#fbfdfe; }
.moc-base label { display:flex; flex-direction:column; gap:8px; font-size:.92rem; color:var(--moc-navy); font-weight:700; }
.moc-base input[type=file] { font-weight:400; color:#40505f; }
.review-table td.moc-num { text-align:center; font-weight:700; color:var(--moc-navy); }
.review-table tr.is-empty td.moc-num { color:#9e2e2a; }
