.wcab-app-root .wcab-id-badge-trigger,
.wcab-app-root .wcab-id-badge-primary,
.wcab-app-root .wcab-id-badge-secondary,
.wcab-app-root .wcab-id-badge-close{
    font-family:var(--wcab-font-family,"Segoe UI",Arial,sans-serif);
}
.wcab-app-root .wcab-id-badge-trigger{
    min-height:48px;
    border:1px solid #c7d2fe;
    border-radius:12px;
    background:#eef2ff;
    color:#4338ca;
    padding:0 18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-weight:600;
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.wcab-app-root .wcab-id-badge-trigger:hover{background:#e0e7ff;transform:translateY(-1px);box-shadow:0 8px 20px rgba(79,70,229,.14)}
.wcab-app-root .wcab-id-badge-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.wcab-id-badge-modal{
    position:fixed!important;
    inset:0!important;
    z-index:2147483647!important;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(15,23,42,.72);
    backdrop-filter:blur(7px);
}
.wcab-id-badge-modal.is-open{display:flex!important}
.wcab-id-badge-dialog{
    width:min(100%,920px);
    max-height:calc(100vh - 32px);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid #dfe6f2;
    border-radius:24px;
    box-shadow:0 30px 90px rgba(15,23,42,.35);
    color:#24324a;
    font-family:"Segoe UI",SegoeUI,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}
.wcab-id-badge-modal-head{
    position:relative;
    z-index:8;
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:20px 24px;
    border-bottom:1px solid #e5eaf3;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);
}
.wcab-id-badge-eyebrow{display:block;color:#4f46e5;font-size:12px;letter-spacing:.12em;font-weight:600;margin-bottom:4px}
.wcab-id-badge-modal-head h3{margin:0;color:#1f2c44;font-size:24px;font-weight:650}
.wcab-id-badge-close{width:42px;height:42px;border:0;border-radius:13px;background:#f4f6fa;color:#64748b;font-size:25px;line-height:1;cursor:pointer}
.wcab-id-badge-scroll{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;}
.wcab-id-badge-stage{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
    padding:28px;
    background:linear-gradient(145deg,#f8fafc,#eef2ff);
}
.wcab-id-badge-card{
    position:relative;
    width:min(100%,330px);
    aspect-ratio:54/86;
    margin:0 auto;
    overflow:hidden;
    border-radius:24px;
    background:#fff;
    border:1px solid #dfe6f2;
    box-shadow:0 20px 45px rgba(45,55,80,.16);
    padding:26px 24px 22px;
    text-align:center;
    color:#24324a;
}
.wcab-id-badge-accent{position:absolute;inset:0 0 auto;height:10px;background:linear-gradient(90deg,#4f46e5,#06b6d4)}
.wcab-id-badge-brand{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-size:15px;color:#334155;margin-top:4px}
.wcab-id-badge-brand img,.wcab-id-badge-back-brand img{max-width:150px;object-fit:contain}
.wcab-id-badge-brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#4f46e5,#06b6d4);color:#fff;font-weight:700}
.wcab-id-badge-photo-wrap{width:142px;height:142px;border-radius:50%;overflow:hidden;margin:26px auto 18px;display:grid;place-items:center;background:linear-gradient(145deg,#4f46e5,#06b6d4);color:#fff;font-size:42px;font-weight:700;border:7px solid #eef2ff;box-shadow:0 12px 28px rgba(79,70,229,.2)}
.wcab-id-badge-photo-wrap img{width:100%;height:100%;object-fit:cover}
.wcab-id-badge-card h4{margin:0 0 6px;font-size:27px;line-height:1.15;color:#1f2c44;font-weight:650}
.wcab-id-badge-designation{margin:0 0 20px;color:#64748b;font-size:15px;line-height:1.35}
.wcab-id-badge-code{display:inline-block;padding:9px 15px;border-radius:999px;background:#eef2ff;color:#4338ca;font-weight:700;letter-spacing:.05em;font-family:"Segoe UI",SegoeUI,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:15px}
.wcab-id-badge-verified{position:absolute;left:24px;right:24px;bottom:24px;display:flex;align-items:center;justify-content:center;gap:8px;color:#047857;font-size:13px;font-weight:650}
.wcab-id-badge-verified span{width:9px;height:9px;border-radius:50%;background:#10b981;box-shadow:0 0 0 5px rgba(16,185,129,.12)}
.wcab-id-badge-back{padding-top:24px}
.wcab-id-badge-back-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:64px;font-size:14px;color:#334155}
.wcab-id-badge-qr{width:184px;height:184px;margin:23px auto 8px;background:#fff;padding:10px;border:1px solid #dfe6f2;border-radius:18px;display:grid;place-items:center}
.wcab-id-badge-qr canvas,.wcab-id-badge-qr svg{width:100%!important;height:100%!important;display:block}
.wcab-id-badge-scan{margin:0 0 18px;color:#64748b;font-size:12px}
.wcab-id-badge-contact-list{display:grid;gap:11px;text-align:left}
.wcab-id-badge-contact-list>div{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:9px 10px;border-radius:12px;background:#f8fafc;color:#475569;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.wcab-id-badge-contact-icon{width:34px;height:34px;border-radius:10px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center}
.wcab-id-badge-contact-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wcab-id-badge-actions{position:sticky;bottom:0;z-index:8;display:flex;justify-content:flex-end;gap:12px;padding:18px 24px;border-top:1px solid #e5eaf3;background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}
.wcab-id-badge-actions button{min-height:46px;border-radius:12px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;cursor:pointer}
.wcab-id-badge-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.wcab-id-badge-secondary{border:1px solid #cbd5e1;background:#fff;color:#475569}
.wcab-id-badge-primary{border:1px solid #4f46e5;background:linear-gradient(135deg,#5b50ff,#4338ca);color:#fff;box-shadow:0 9px 20px rgba(79,70,229,.22)}
.wcab-id-badge-admin-meta{margin:10px 0 0;color:#64748b;font-size:13px}
@media(max-width:760px){
    .wcab-id-badge-modal{padding:10px;align-items:flex-start}
    .wcab-id-badge-dialog{max-height:calc(100dvh - 20px);border-radius:18px}
    .wcab-id-badge-stage{grid-template-columns:1fr;padding:18px;gap:20px}
    .wcab-id-badge-card{width:min(100%,310px)}
    .wcab-id-badge-modal-head{padding:16px 18px}
    .wcab-id-badge-modal-head h3{font-size:21px}
    .wcab-id-badge-actions{padding:14px 18px;display:grid;grid-template-columns:1fr 1fr}
    .wcab-id-badge-actions button{width:100%;padding:0 10px}
    .wcab-app-root .wcab-hr-modal-actions .wcab-id-badge-trigger{width:100%}
}
@media(max-width:420px){
    .wcab-id-badge-card{border-radius:20px;padding-left:19px;padding-right:19px}
    .wcab-id-badge-photo-wrap{width:126px;height:126px;margin-top:18px}
    .wcab-id-badge-card h4{font-size:24px}
    .wcab-id-badge-qr{width:166px;height:166px;margin-top:16px}
    .wcab-id-badge-actions{grid-template-columns:1fr}
}
@media print{
    body.wcab-id-badge-printing *{visibility:hidden!important}
    body.wcab-id-badge-printing .wcab-id-badge-modal,
    body.wcab-id-badge-printing .wcab-id-badge-modal *{visibility:visible!important}
    body.wcab-id-badge-printing .wcab-id-badge-modal{position:absolute!important;inset:0!important;display:block!important;background:#fff!important;padding:0!important}
    body.wcab-id-badge-printing .wcab-id-badge-dialog{position:absolute!important;left:0!important;top:0!important;box-shadow:none!important;border:0!important;max-height:none!important;overflow:visible!important;width:100%!important}
    body.wcab-id-badge-printing .wcab-id-badge-modal-head,body.wcab-id-badge-printing .wcab-id-badge-actions{display:none!important}
    body.wcab-id-badge-printing .wcab-id-badge-stage{background:#fff!important;display:block!important;padding:0!important}
    body.wcab-id-badge-printing .wcab-id-badge-card{page-break-after:always;margin:0 auto 18mm!important;box-shadow:none!important}
}


/* v2.5.3: fixed modal layering, theme-proof button colors and Segoe UI. */
.wcab-id-badge-modal,
.wcab-id-badge-modal *,
.wcab-app-root .wcab-id-badge-trigger,
.wcab-app-root .wcab-id-badge-trigger *{
    font-family:"Segoe UI",SegoeUI,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;
}
.wcab-id-badge-modal{
    z-index:2147483647!important;
    width:100vw!important;
    height:100vh!important;
    margin:0!important;
}
.wcab-app-root .wcab-id-badge-trigger,
.wcab-app-root .wcab-id-badge-trigger:visited,
.wcab-app-root .wcab-id-badge-trigger:hover,
.wcab-app-root .wcab-id-badge-trigger:focus,
.wcab-app-root .wcab-id-badge-trigger:focus-visible{
    color:#4338ca!important;
    -webkit-text-fill-color:#4338ca!important;
}
.wcab-app-root .wcab-id-badge-trigger:hover,
.wcab-app-root .wcab-id-badge-trigger:focus-visible{
    background:#e0e7ff!important;
    border-color:#aebcfb!important;
}
.wcab-id-badge-modal .wcab-id-badge-primary,
.wcab-id-badge-modal .wcab-id-badge-primary:hover,
.wcab-id-badge-modal .wcab-id-badge-primary:focus,
.wcab-id-badge-modal .wcab-id-badge-primary:focus-visible,
.wcab-id-badge-modal .wcab-id-badge-primary:visited{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}
.wcab-id-badge-modal .wcab-id-badge-secondary,
.wcab-id-badge-modal .wcab-id-badge-secondary:hover,
.wcab-id-badge-modal .wcab-id-badge-secondary:focus-visible{
    color:#475569!important;
    -webkit-text-fill-color:#475569!important;
}


/* v2.5.4: stacked brand, modern contact accents, and header-separated scrolling. */
.wcab-id-badge-modal,
.wcab-id-badge-modal * {
    font-family:"Segoe UI",SegoeUI,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;
}
.wcab-id-badge-brand-name{
    display:block;
    max-width:100%;
    color:#26344d;
    font-size:14px;
    line-height:1.2;
    font-weight:600;
    text-align:center;
}
.wcab-id-badge-brand img,
.wcab-id-badge-back-brand img{
    display:block;
    margin:0 auto;
}
.wcab-id-badge-contact-list>div{
    border:1px solid #edf1f7;
    box-shadow:0 5px 14px rgba(15,23,42,.035);
}
.wcab-id-badge-contact-list>div:nth-child(1) .wcab-id-badge-contact-icon{
    background:#eef2ff;
    color:#4f46e5;
}
.wcab-id-badge-contact-list>div:nth-child(2) .wcab-id-badge-contact-icon{
    background:#ecfdf5;
    color:#059669;
}
.wcab-id-badge-contact-list>div:nth-child(3) .wcab-id-badge-contact-icon{
    background:#fff7ed;
    color:#ea580c;
}
.wcab-id-badge-code{
    font-family:"Segoe UI",SegoeUI,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;
}
@media(max-width:760px){
    .wcab-id-badge-dialog{display:flex;flex-direction:column;overflow:hidden}
    .wcab-id-badge-scroll{min-height:0;overflow:auto}
}


/* v2.5.5: preserve the stored employee photo and keep all back-card details visible. */
.wcab-id-badge-photo-wrap.has-photo{
    background:#fff;
}
.wcab-id-badge-photo-wrap.has-photo img{
    background:transparent;
}
.wcab-id-badge-back{
    display:flex;
    flex-direction:column;
    padding:22px 20px 18px;
}
.wcab-id-badge-back .wcab-id-badge-back-brand{
    min-height:52px;
    flex:0 0 auto;
}
.wcab-id-badge-back .wcab-id-badge-qr{
    width:158px;
    height:158px;
    margin:12px auto 5px;
    flex:0 0 auto;
}
.wcab-id-badge-back .wcab-id-badge-scan{
    margin:0 0 8px;
    font-size:11px;
    flex:0 0 auto;
}
.wcab-id-badge-back .wcab-id-badge-contact-list{
    margin-top:auto;
    gap:7px;
    min-height:0;
}
.wcab-id-badge-back .wcab-id-badge-contact-list>div{
    grid-template-columns:30px minmax(0,1fr);
    gap:8px;
    min-height:44px;
    padding:6px 8px;
    font-size:11px;
    line-height:1.25;
}
.wcab-id-badge-back .wcab-id-badge-contact-icon{
    width:30px;
    height:30px;
    border-radius:9px;
}
.wcab-id-badge-back .wcab-id-badge-contact-icon svg{
    width:16px;
    height:16px;
}
