.bpl-wrap,.bpl-frontend{max-width:1240px;color:#172338;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.bpl-wrap{margin:22px 22px 40px 0}.bpl-head,.bpl-between{display:flex;align-items:center;justify-content:space-between;gap:20px}.bpl-head h1,.bpl-head h2{font-size:29px;font-weight:700;letter-spacing:-.7px;margin:0 0 5px}.bpl-head p{color:#64748b;margin:0 0 22px}.bpl-pill{border-radius:99px;background:#e9f1ff;color:#2563eb;padding:7px 12px;font-weight:600}.bpl-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.bpl-card,.bpl-panel{background:#fff;border:1px solid #e5eaf1;border-radius:15px;padding:23px;box-shadow:0 4px 18px rgba(15,23,42,.035)}.bpl-card span{display:block;color:#64748b;margin-bottom:13px}.bpl-card strong{font-size:26px;color:#15233b}.bpl-panel{margin-top:20px}.bpl-panel h2,.bpl-panel h3{margin:0 0 18px}.bpl-links{display:flex;flex-wrap:wrap;gap:12px}.bpl-links a{padding:13px 17px;border:1px solid #e5eaf1;border-radius:9px;text-decoration:none;background:#f8fafc}.bpl-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:13px}.bpl-field{display:flex;flex-direction:column;gap:7px;min-width:185px;flex:1}.bpl-field span{font-size:12px;font-weight:600;color:#526177}.bpl-field input,.bpl-field select{min-height:39px;max-width:100%;border:1px solid #d9e1ec;border-radius:8px;padding:8px 10px}.bpl-form>.button{min-height:39px}.bpl-scroll{overflow:auto}.bpl-scroll td{vertical-align:middle}.bpl-inline{display:inline-block}.bpl-invoice{border-top:1px solid #e8edf5;padding:14px 0}.bpl-qr{max-width:210px;max-height:210px;object-fit:contain;margin:12px 0}.bpl-frontend{margin:24px auto}.bpl-frontend .bpl-panel{padding:22px}.bpl-success{padding:12px;background:#edfdf3;border-radius:8px}@media(max-width:650px){.bpl-wrap{margin-right:10px}.bpl-head h1{font-size:23px}.bpl-panel{padding:15px}.bpl-field{min-width:100%}}

.bpl-radius-overlay[hidden]{display:none!important}.bpl-radius-overlay{position:fixed;inset:0;z-index:999999;background:rgba(15,23,42,.65);display:grid;place-items:center;padding:20px}.bpl-radius-modal{width:min(100%,420px);box-sizing:border-box;background:#fff;color:#0f172a;border-radius:18px;padding:28px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.25);font-family:inherit}.bpl-radius-icon{margin:0 auto 12px;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#fee2e2;color:#b91c1c;font-size:30px;font-weight:700}.bpl-radius-modal h2{font-size:22px;margin:8px 0}.bpl-radius-modal p{line-height:1.6}.bpl-radius-hint{color:#475569;font-size:14px}.bpl-radius-close,.bpl-location-retry{cursor:pointer;background:#2563eb;color:white;border:0;border-radius:9px;padding:10px 18px;font-weight:600}.bpl-radius-close:focus-visible,.bpl-location-retry:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.bpl-location-retry{margin:10px 0}

/* Staff dashboard v1.4 responsive layout */
.bpl-staff-dashboard{width:100%;max-width:1120px;box-sizing:border-box;padding:0 12px}.bpl-staff-dashboard *{box-sizing:border-box}.bpl-staff-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.bpl-staff-header h2{font-size:clamp(23px,4vw,31px);margin:4px 0}.bpl-staff-header p{margin:0;color:#64748b}.bpl-eyebrow{font-size:11px;letter-spacing:.12em;font-weight:700;color:#2563eb}.bpl-staff-badge{border-radius:30px;background:#eff6ff;color:#1d4ed8;padding:8px 12px;font-size:12px;font-weight:700;white-space:nowrap}.bpl-staff-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bpl-staff-stats>div{background:#fff;border:1px solid #e5eaf1;border-radius:14px;padding:16px}.bpl-staff-stats span{display:block;font-size:12px;color:#64748b}.bpl-staff-stats strong{display:block;font-size:27px;margin-top:6px}.bpl-staff-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}.bpl-staff-grid>.bpl-panel{min-width:0}.bpl-staff-attendance .bpl-form{display:flex;flex-direction:column;align-items:stretch}.bpl-staff-attendance .bpl-form button[type=submit]{width:100%;border-radius:10px;padding:12px 16px;min-height:46px;background:#2563eb;color:#fff;border:0;font-weight:700;cursor:pointer}.bpl-staff-attendance .bpl-form button[disabled]{opacity:.5;cursor:not-allowed}.bpl-consent{font-size:13px;line-height:1.5;display:flex;align-items:start;gap:9px}.bpl-consent input{margin-top:4px;flex-shrink:0}.bpl-staff-list-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #e8edf5;overflow-wrap:anywhere}.bpl-staff-list-item small{display:block;color:#64748b;margin-top:3px}.bpl-status{background:#f1f5f9;border-radius:20px;padding:5px 9px;font-size:12px}.bpl-selfie-overlay[hidden]{display:none!important}.bpl-selfie-overlay{position:fixed;inset:0;z-index:1000000;background:rgba(15,23,42,.75);display:flex;align-items:center;justify-content:center;padding:12px;overflow:auto}.bpl-selfie-dialog{width:min(100%,460px);max-height:calc(100dvh - 24px);overflow:auto;background:#fff;border-radius:18px;padding:18px;box-shadow:0 25px 80px #0005;color:#172338}.bpl-selfie-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.bpl-selfie-top h2{font-size:21px;margin:0}.bpl-selfie-close{font-size:28px;background:transparent;border:0;cursor:pointer}.bpl-selfie-dialog p{font-size:13px;color:#64748b}.bpl-selfie-dialog video,.bpl-selfie-preview img{width:100%;height:min(52dvh,390px);object-fit:cover;transform:scaleX(-1);border-radius:12px;background:#0f172a}.bpl-selfie-preview img{transform:none}.bpl-selfie-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.bpl-selfie-actions button{flex:1 1 120px;min-height:43px;border-radius:9px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font-weight:600}.bpl-selfie-capture,.bpl-selfie-confirm{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important}.bpl-selfie-error{color:#b91c1c!important}@media(max-width:700px){.bpl-staff-dashboard{padding:0 10px;margin:14px auto}.bpl-staff-header{align-items:flex-start}.bpl-staff-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bpl-staff-stats>div:last-child{grid-column:1/-1}.bpl-staff-grid{grid-template-columns:minmax(0,1fr);gap:0}.bpl-staff-dashboard .bpl-panel{padding:16px;margin-top:14px}.bpl-staff-list-item{font-size:13px}.bpl-selfie-dialog{padding:14px}.bpl-selfie-dialog video,.bpl-selfie-preview img{height:min(48dvh,350px)}}

.bpl-insights-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:18px 0}
.bpl-insights-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px;min-width:0;box-shadow:0 1px 3px rgba(15,23,42,.03)}
.bpl-insights-card span{display:block;color:#64748b;font-size:13px;margin-bottom:10px}
.bpl-insights-card strong{display:block;color:#0f172a;font-size:22px;line-height:1.3;overflow-wrap:anywhere}
.bpl-insights-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.bpl-insights-scroll table{min-width:580px}
@media(max-width:600px){.bpl-insights-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bpl-insights-card{padding:12px}.bpl-insights-card strong{font-size:17px}}
@media(max-width:380px){.bpl-insights-cards{grid-template-columns:1fr}}

.bpl-unified-tabs{display:flex;flex-wrap:wrap;gap:2px;margin:16px 0 20px;border-bottom:1px solid #c3c4c7}.bpl-unified-tabs .nav-tab{float:none;margin:0;padding:10px 16px;border-radius:7px 7px 0 0;text-decoration:none}.bpl-unified-tabs .nav-tab:focus-visible{outline:2px solid #2271b1;outline-offset:2px}@media(max-width:782px){.bpl-unified-tabs .nav-tab{flex:1 1 145px;text-align:center;font-size:13px;padding:10px 8px}}

/* v2.7.0 dashboard */
.bpl-dash-intro{margin:22px 0}.bpl-dash-intro h2{font-size:23px;margin:0 0 5px}.bpl-dash-intro p{color:#64748b;margin:0}.bpl-dash-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:25px 0 12px}.bpl-dash-section-title h2{margin:0;font-size:19px}.bpl-dash-section-title a{text-decoration:none;font-weight:600}.bpl-dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:13px}.bpl-dash-card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;text-decoration:none!important;color:#0f172a!important;box-shadow:0 3px 15px #0f172a08;transition:border-color .15s,transform .15s}.bpl-dash-card:hover,.bpl-dash-card:focus-visible{border-color:#2563eb;transform:translateY(-2px)}.bpl-dash-card span{font-size:13px;color:#64748b}.bpl-dash-card strong{font-size:clamp(19px,2vw,25px);overflow-wrap:anywhere}.bpl-dash-card small{font-size:12px;color:#64748b}.bpl-dash-card em{font-size:12px;font-style:normal;color:#2563eb;font-weight:600;margin-top:auto}@media(max-width:600px){.bpl-dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bpl-dash-card{padding:13px}.bpl-dash-card strong{font-size:19px}}@media(max-width:390px){.bpl-dash-grid{grid-template-columns:1fr}}

/* BPL 3.1: modern staff registration */
.bpl-staff-create{padding:clamp(20px,3vw,32px)!important;border:1px solid #e2e8f0!important;border-radius:16px!important;box-shadow:0 4px 18px rgba(15,23,42,.04)}
.bpl-form-heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}.bpl-form-heading>.dashicons{background:#eff6ff;color:#2563eb;border-radius:12px;padding:12px;width:24px;height:24px;font-size:24px}.bpl-form-heading h2{margin:0 0 8px;font-size:21px}.bpl-form-heading p{margin:0;color:#64748b;line-height:1.55}
.bpl-staff-create-form{display:block!important}.bpl-staff-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.bpl-staff-form-grid label{display:flex;flex-direction:column;gap:8px;font-weight:600;color:#334155}.bpl-staff-form-grid input,.bpl-staff-form-grid select{width:100%;max-width:none;min-height:44px;border:1px solid #cbd5e1;border-radius:9px;padding:9px 12px;background:#fff;box-sizing:border-box;font-weight:400}.bpl-staff-form-grid :is(input,select):focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.13);outline:none}.bpl-staff-form-grid .required{color:#dc2626}.bpl-staff-form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid #e2e8f0}.bpl-staff-form-actions span{color:#64748b}.bpl-staff-form-actions .button{min-height:42px;padding:5px 20px;border-radius:8px}
@media(max-width:782px){.bpl-staff-form-grid{grid-template-columns:1fr}.bpl-staff-form-actions{flex-direction:column;align-items:stretch}.bpl-staff-form-actions .button{width:100%;text-align:center}}

/* v3.3.0: priority dashboard statistics */
.bpl-dash-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 28px}
.bpl-dash-highlight{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid #dfe5ee;border-radius:14px;background:#fff;box-shadow:0 2px 10px rgba(15,23,42,.035);text-decoration:none!important;color:#172033!important;min-width:0;transition:border-color .18s,box-shadow .18s}
.bpl-dash-highlight:hover,.bpl-dash-highlight:focus-visible{border-color:#2563eb;box-shadow:0 6px 20px rgba(37,99,235,.1)}
.bpl-dash-highlight-label{font-size:14px;font-weight:600;color:#526179}.bpl-dash-highlight strong{font-size:clamp(23px,2.1vw,34px);font-weight:750;line-height:1.2;overflow-wrap:anywhere}.bpl-dash-highlight small{font-size:13px;color:#65758b}.bpl-dash-highlight em{font-size:13px;font-weight:650;color:#2563eb;font-style:normal;margin-top:auto}.bpl-dash-highlight-unit{font-size:15px;font-weight:500;color:#64748b}
@media(max-width:1100px){.bpl-dash-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.bpl-dash-highlights{grid-template-columns:1fr}.bpl-dash-highlight{padding:19px}}

/* v3.3.3 camera selection */
.bpl-camera-mode{display:flex;align-items:center;gap:10px;margin:10px 0}.bpl-camera-mode label{font-weight:600;font-size:13px}.bpl-camera-mode select{flex:1;min-height:40px;border:1px solid #cbd5e1;border-radius:9px;padding:7px 10px;background:#fff}.bpl-camera-trigger[data-facing]{white-space:nowrap}
