/* Native top-layer quality dialog. All styles scoped to avoid theme bleed. */
.mr-quality-dialog {
 --quality-ink:#243249;
 --quality-muted:#637188;
 --quality-blue:#536c92;
 --quality-line:#e1e6ee;
 box-sizing:border-box;
 width:min(580px,calc(100% - 32px));
 max-width:580px;
 max-height:calc(100vh - 32px);
 max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 32px);
 margin:auto;
 padding:0;
 overflow:hidden;
 border:1px solid #e0e5ed;
 border-radius:24px;
 color:var(--quality-ink);
 background:#fff;
 box-shadow:0 24px 80px rgb(29 45 68 / 18%);
 font-family:inherit;
 text-align:left;
}
.mr-quality-dialog[open] { display:flex; flex-direction:column; }
.mr-quality-dialog::backdrop { background:rgb(28 41 60 / 42%); }
.mr-quality-dialog * { box-sizing:border-box; }
.mr-quality-dialog .mr-quality-dialog__header {
 display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
 flex:0 0 auto; padding:24px 26px 20px; background:#f3f5f9;
 border-bottom:1px solid var(--quality-line);
}
.mr-quality-dialog .mr-quality-dialog__eyebrow { margin:0 0 5px; color:var(--quality-blue); font-size:12px; line-height:1.4; font-weight:650; letter-spacing:.07em; text-transform:uppercase; }
.mr-quality-dialog h2 { margin:0; padding:0; font-size:28px; line-height:1.15; font-weight:700; letter-spacing:-.7px; color:var(--quality-ink); }
.mr-quality-dialog .mr-quality-dialog__context { margin:7px 0 0; font-size:13px; line-height:1.4; color:var(--quality-muted); }
.mr-quality-dialog button { font:inherit; text-transform:none; letter-spacing:normal; cursor:pointer; }
.mr-quality-dialog .mr-quality-dialog__close { display:flex; align-items:center; justify-content:center; width:42px; height:42px; min-width:42px; min-height:42px; padding:0; border:1px solid #dfe5ee; border-radius:50%; color:var(--quality-blue); background:#fff; box-shadow:none; }
.mr-quality-dialog .mr-quality-dialog__body { padding:22px 26px; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; min-height:0; flex:1 1 auto; }
.mr-quality-dialog .mr-quality-dialog__intro { margin:0; color:var(--quality-ink); font-size:17px; font-weight:550; line-height:1.5; }
.mr-quality-dialog .mr-quality-dialog__detail { margin:15px 0 0; font-size:15px; line-height:1.6; color:var(--quality-muted); white-space:pre-line; }
.mr-quality-dialog .mr-quality-dialog__points { display:grid; gap:12px; list-style:none; margin:20px 0; padding:0; }
.mr-quality-dialog .mr-quality-dialog__points li { display:flex; align-items:flex-start; gap:10px; margin:0; padding:0; font-size:15px; line-height:1.5; color:var(--quality-muted); }
.mr-quality-dialog .mr-quality-dialog__check { display:flex; align-items:center; justify-content:center; flex:0 0 23px; width:23px; height:23px; margin-top:1px; border-radius:50%; background:#edf2f7; color:var(--quality-blue); }
.mr-quality-dialog .mr-quality-dialog__status { margin:20px 0 0; padding:16px 18px; border:1px solid #e2e8f0; border-radius:14px; background:#f4f6fa; }
.mr-quality-dialog .mr-quality-dialog__status h3 { margin:4px 0 6px; padding:0; font-size:19px; line-height:1.3; color:var(--quality-ink); font-weight:650; }
.mr-quality-dialog .mr-quality-dialog__status p { margin:0; color:var(--quality-muted); font-size:13px; line-height:1.5; }
.mr-quality-dialog .mr-quality-dialog__note { margin:11px 0 0; font-size:12px; line-height:1.5; color:var(--quality-muted); }
.mr-quality-dialog .mr-quality-dialog__more { display:inline-flex; align-items:center; gap:7px; min-height:38px; margin-top:10px; color:var(--quality-blue); font-size:14px; font-weight:550; text-decoration:underline; text-underline-offset:3px; }
.mr-quality-dialog .mr-quality-dialog__footer { flex:0 0 auto; padding:15px 26px 20px; border-top:1px solid var(--quality-line); background:#fff; }
.mr-quality-dialog .mr-quality-dialog__done { display:block; width:100%; min-height:48px; padding:12px 16px; border:1px solid var(--quality-blue); border-radius:13px; background:var(--quality-blue); color:#fff; font-size:15px; font-weight:650; line-height:1.4; box-shadow:none; }
.mr-quality-dialog .mr-quality-dialog__done:hover { background:#455f84; border-color:#455f84; color:#fff; }
.mr-quality-dialog .mr-quality-dialog__close:hover { background:#eaf0f7; }
.mr-quality-dialog button:focus-visible,.mr-quality-dialog a:focus-visible { outline:2px solid #536c92; outline-offset:3px; }
.mr-quality-dialog .mr-quality-dialog__sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:640px) {
 .mr-quality-dialog { width:calc(100% - 24px); border-radius:21px; }
 .mr-quality-dialog .mr-quality-dialog__header { padding:20px 20px 17px; gap:12px; }
 .mr-quality-dialog h2 { font-size:26px; }
 .mr-quality-dialog .mr-quality-dialog__body { padding:18px 20px; }
 .mr-quality-dialog .mr-quality-dialog__intro { font-size:16px; }
 .mr-quality-dialog .mr-quality-dialog__points { gap:10px; margin:17px 0; }
 .mr-quality-dialog .mr-quality-dialog__points li { font-size:14px; }
 .mr-quality-dialog .mr-quality-dialog__status { padding:13px 15px; margin-top:17px; }
 .mr-quality-dialog .mr-quality-dialog__footer { padding:13px 20px 17px; }
}
.quality-card .quality-info-trigger {display:flex;align-items:center;gap:7px;width:fit-content;min-height:42px;margin:2px 0 10px;padding:4px 0;background:none;border:0;border-radius:6px;color:#536c92;font:inherit;font-size:14px;font-weight:550;text-align:left;cursor:pointer;}
.quality-card .quality-info-trigger .icon {width:18px;height:18px;flex:none;}
.quality-card .quality-info-trigger .icon:last-child {width:15px;height:15px;}
.quality-card .quality-info-trigger:hover {color:#324e77;}
.quality-card .quality-info-trigger:focus-visible {outline:2px solid #536c92;outline-offset:3px;}

/* Leave room for complete quality names in the compact mobile action row. */
@media(max-width:640px) {
 .repair-detail-screen:not(.repair-detail-single) .quality-card {grid-template-columns:minmax(0,1fr) max-content;column-gap:12px;}
 .repair-detail-screen:not(.repair-detail-single) .quality-card > .btn {width:auto;min-width:0;min-height:44px;padding:10px 12px;font-size:14px;white-space:nowrap;}
 .quality-card .quality-info-trigger {width:auto;min-width:0;min-height:44px;margin:0;}
 .quality-card .quality-info-trigger .icon {display:none;}
 .quality-card .quality-duration {display:inline-block;margin-top:4px;color:var(--muted);}
}
