/* V226: boarding-pass hierarchy, with the school's real identity and private QR. */
html body #modalWrap .dm-card-dialog{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif}
html body #modalWrap .dm-card-dialog #dmStudentCardView{min-height:0;align-items:center;gap:16px}
html body #modalWrap .dm-card-dialog .dm-boarding-pass{position:relative;flex:0 0 auto;width:100%;max-width:390px;min-height:0;padding:22px 24px 18px;border:0!important;border-radius:18px;background:var(--dm-pass-color)!important;box-shadow:0 14px 35px #00000026;overflow:hidden;justify-content:flex-start;box-sizing:border-box;color:#fff!important}
html body #modalWrap .dm-boarding-pass::before{display:none!important}
html body #modalWrap .dm-boarding-pass :is(small,strong,h3,span){color:#fff!important}
html body #modalWrap .dm-boarding-pass .dm-wallet-brand{display:flex;align-items:center;gap:10px;margin:0 0 25px;padding:0;min-width:0}
html body #modalWrap .dm-boarding-pass .dm-wallet-brand>.school-brand-logo{width:36px;height:36px;flex:0 0 36px;border-radius:9px!important;padding:4px;box-shadow:none}
html body #modalWrap .dm-boarding-pass .dm-wallet-brand>div{flex:1;min-width:0}
html body #modalWrap .dm-boarding-pass .dm-wallet-brand strong{font-size:15px!important;line-height:1.25;font-weight:600;display:block;overflow-wrap:anywhere}
html body #modalWrap .dm-boarding-pass .dm-pass-kind{font-size:10px;line-height:1.35;text-align:right;flex:0 0 auto;font-weight:500;letter-spacing:0;text-transform:none}
html body #modalWrap .dm-boarding-pass .dm-wallet-member{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 22px;padding:0}
html body #modalWrap .dm-boarding-pass .dm-wallet-member>div{flex:1;min-width:0}
html body #modalWrap .dm-boarding-pass .dm-wallet-member small,.dm-boarding-pass .dm-pass-fields small{font-size:10px!important;letter-spacing:.035em;font-weight:500;line-height:1.4;display:block;margin:0 0 5px}
html body #modalWrap .dm-boarding-pass .dm-wallet-member h3{font-family:inherit;font-size:29px!important;line-height:1.08!important;letter-spacing:-.025em;font-weight:600!important;margin:0!important;overflow-wrap:anywhere}
html body #modalWrap .dm-boarding-pass .dm-wallet-avatar{height:44px;width:44px;flex:0 0 44px;border-radius:50%;background:#ffffff20;border:0;font-size:15px}
html body #modalWrap .dm-boarding-pass .dm-pass-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start}
html body #modalWrap .dm-boarding-pass .dm-pass-fields strong{display:block;font-size:16px;line-height:1.3;font-weight:600;overflow-wrap:anywhere}
html body #modalWrap .dm-boarding-pass .dm-pass-fields>div:last-child{text-align:right}
html body #modalWrap .dm-boarding-pass .dm-pass-number{font-size:20px!important;letter-spacing:.035em;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,monospace}
html body #modalWrap .dm-boarding-pass .dm-wallet-divider{margin:22px 0 24px;border:0;border-top:1px solid #ffffff38;height:0}
html body #modalWrap .dm-boarding-pass .dm-wallet-code{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:0;background:transparent}
html body #modalWrap .dm-boarding-pass .dm-wallet-code canvas{width:min(216px,100%)!important;height:auto!important;border-radius:0!important;box-shadow:none!important;image-rendering:pixelated;display:block}
html body #modalWrap .dm-boarding-pass .dm-pass-qr-caption{font-size:11px;line-height:1.4;text-align:center}
html body #modalWrap .dm-boarding-pass>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:25px 0 0!important;padding:0;border:0;font-size:8px;letter-spacing:.035em;line-height:1.4}
html body #modalWrap .dm-boarding-pass>footer>span:last-child{display:flex;align-items:center;gap:4px;text-transform:none;letter-spacing:0;font-size:10px}
html body #modalWrap .dm-boarding-pass>footer .icon{width:13px;height:13px}
html body #modalWrap .dm-card-dialog>.modal-body{display:flex;flex-direction:column;justify-content:flex-start;padding:20px 16px!important}
.dm-boarding-preview{background:var(--dm-pass-color)!important;box-shadow:none;border-radius:16px}
@media(max-width:700px){html body #modalWrap .dm-card-dialog{background:var(--surface-2)!important}html body #modalWrap .dm-card-dialog>.modal-body{padding:14px 18px!important}html body #modalWrap .dm-card-dialog .dm-boarding-pass{max-width:390px;padding:22px 22px 18px}html body #modalWrap .dm-card-dialog>.modal-head{background:transparent!important;border:0}html body #modalWrap .dm-card-dialog>.modal-foot{background:transparent!important}html body #modalWrap .dm-card-dialog>.modal-body{justify-content:flex-start}html body #modalWrap .dm-card-dialog #dmCardStatus{margin:8px 0 0;text-align:center}}
@media(max-width:360px){html body #modalWrap .dm-card-dialog .dm-boarding-pass{padding:18px}html body #modalWrap .dm-boarding-pass .dm-wallet-member h3{font-size:25px!important}html body #modalWrap .dm-boarding-pass .dm-wallet-brand strong{font-size:13px!important}html body #modalWrap .dm-boarding-pass .dm-wallet-code canvas{width:196px!important}html body #modalWrap .dm-boarding-pass .dm-pass-fields strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.dm-boarding-pass{animation:none!important;transition:none!important}}
html body #modalWrap .dm-boarding-pass .school-brand-initials{color:var(--dm-pass-color)!important;background:#fff!important}
html body #modalWrap .dm-boarding-pass .dm-wallet-brand>.dm-pass-kind,html body #modalWrap .dm-boarding-pass>footer{opacity:1!important}
html body #modalWrap .dm-boarding-preview :is(small,strong,p){color:#fff!important;opacity:1!important}
.dm-custom-group-editor{display:grid;gap:10px;padding:14px;margin:8px 0 12px;border:1px solid var(--dm-line);border-radius:14px;background:var(--surface-2)}.dm-custom-group-editor[hidden]{display:none!important}.dm-custom-group-editor small{font-size:12px;color:var(--dm-muted)}.dm-custom-group-editor .field{margin:0}.dm-custom-group-editor .actions{gap:8px;flex-wrap:wrap}
html body #modalWrap .dm-smart-scanner .dm-scan-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center}.dm-scan-toolbar #dmScannerCount{font-size:11px;color:var(--dm-muted);padding-left:4px}.dm-scan-toolbar .dm-scan-finish{min-height:42px!important;font-size:12px!important}.dm-scan-audio-toggle{white-space:nowrap}
/* The register reached from the scanner uses the active theme, including real rows. */
html body #modalWrap .attendance-row{background:var(--surface)!important;border-color:var(--dm-line)!important}
html body #modalWrap .attendance-row .grow strong{color:var(--dm-ink)!important}
html body #modalWrap .attendance-row .grow small,html body #modalWrap .attendance-row [id^="attState_"]{color:var(--dm-muted)!important}
html body #app .attendance-course-meta{color:var(--dm-muted)!important;font-size:12px!important;line-height:1.4!important}
