:root{--brand:#2563eb;--ink:#0f172a;--muted:#64748b;--bg:#f8fafc;--line:#e2e8f0;--soft:#f1f5f9}
*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px}.navbar{background:#0f172a}.navbar-brand,.nav-link,.navbar-text{color:#fff!important}.navbar-toggler{border-color:rgba(255,255,255,.2)}.navbar-toggler-icon{filter:invert(1)}.card{border:1px solid var(--line);box-shadow:0 8px 20px rgba(15,23,42,.05);border-radius:16px}.stat-card h2{margin:0;font-weight:700}.btn-primary{background:var(--brand);border-color:var(--brand)}.btn{border-radius:10px}.table thead th{background:var(--soft);white-space:nowrap}.table td{vertical-align:middle}.filter-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.readonly-box{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px}.small-muted{color:var(--muted);font-size:.9rem}.gps-box{border:1px dashed #94a3b8;border-radius:12px;padding:14px;background:#f8fafc}.gps-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.login-card{width:420px;max-width:95%}.required:after{content:' *';color:#dc2626}.photo-thumb{width:80px;height:60px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.map-box{height:360px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#e5e7eb}.uid-small{display:none;color:var(--muted);margin-top:2px}.action-col{width:150px}.user-pill{font-size:.9rem}
@media (max-width: 767.98px){
  body{font-size:15px}.navbar{margin-bottom:12px!important}.navbar-brand{font-size:1.05rem;max-width:75%;white-space:normal}.container-fluid{padding-left:10px!important;padding-right:10px!important}.card{border-radius:14px}.card-header{padding:.75rem 1rem}.filter-box{padding:14px}.filter-box .btn{height:46px}.form-control,.form-select{min-height:46px;font-size:16px}.map-box{height:300px}.gps-actions{align-items:stretch}.gps-actions .btn{width:100%;min-height:46px}.gps-actions #gpsMsg{display:block;width:100%;margin-left:0!important}.w-sm-100{width:100%}.uid-small{display:block}.photo-thumb{width:58px;height:44px}.table-responsive{overflow:visible}.responsive-table thead{display:none}.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tr{background:#fff;border-bottom:1px solid var(--line);padding:12px 10px}.responsive-table td{border:0!important;padding:6px 0!important}.responsive-table td:before{content:attr(data-label);display:block;font-size:.78rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-bottom:1px}.responsive-table td.action-cell{text-align:left!important;padding-top:10px!important}.responsive-table td.action-cell:before{display:none}.clinics-table td[data-label="Clinic"] strong{font-size:1rem}.small-muted.d-md-inline{display:none!important}.stat-card h2{font-size:1.6rem}
}
@media (min-width:768px){.w-md-auto{width:auto!important}}
.nav-link.active-menu{background:#1d4ed8;color:#fff!important;border-radius:10px;font-weight:700}.navbar .nav-link{padding:.55rem .8rem}.compact-table td,.compact-table th{font-size:.92rem;vertical-align:middle}.split-review{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:16px;align-items:start}.review-list .table-scroll{max-height:70vh;overflow:auto}.review-map{position:sticky;top:92px}.map-sticky{height:70vh;min-height:420px}.verify-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:16px;align-items:start}.verify-map{position:sticky;top:92px}.gps-capture-btn{white-space:normal}.badge{text-transform:capitalize}.filter-box .btn-outline-secondary{min-height:42px}
@media (max-width: 991.98px){.split-review,.verify-layout{grid-template-columns:1fr}.review-map,.verify-map{position:static}.map-sticky{height:360px;min-height:300px}.review-list .table-scroll{max-height:none;overflow:visible}.compact-table thead{display:none}.compact-table tbody,.compact-table tr,.compact-table td{display:block;width:100%}.compact-table tr{border-bottom:1px solid var(--line);padding:10px}.compact-table td{border:0!important;padding:5px 0!important}.compact-table td:first-child{padding-bottom:8px!important}}
@media (max-width: 767.98px){.navbar-collapse{padding-top:8px}.navbar .nav-link{margin:3px 0}.action-col{width:auto}.filter-box .btn-outline-secondary{display:none}.gps-box{padding:10px}.map-box{height:280px}.table td,.table th{font-size:.95rem}.uid-small code{word-break:break-all}.review-list .card-header{gap:10px;flex-direction:column;align-items:flex-start!important}.review-list .card-header .btn{width:100%}}
.scope-strip{background:#fff;border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:12px;padding:10px 14px;color:#334155}
.table-scroll{background:#fff}.split-review{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}
.review-map .card-body{padding:12px}.review-list .table-scroll{max-height:72vh;overflow:auto}.compact-table .uid-small{display:block}.compact-table tr:hover{background:#f8fafc}
.nav-link.active-menu{background:#2563eb!important;color:#fff!important;border-radius:10px;font-weight:700;box-shadow:0 4px 10px rgba(37,99,235,.25)}
@media (min-width: 992px){.review-map{position:sticky;top:92px}.map-sticky{height:72vh;min-height:520px}.review-list{min-height:72vh}}
@media (max-width: 767.98px){.scope-strip{font-size:.92rem}.compact-table td.action-cell{text-align:left!important}.compact-table td.action-cell .btn{width:100%}.split-review{display:flex;flex-direction:column}.review-map{order:-1}.map-sticky{height:280px;min-height:260px}.review-list .table-scroll{max-height:none;overflow:visible}.filter-box .d-none[type="submit"]{display:none!important}}

/* MOH completion / thank-you card */
.completion-card {
    border: 1px solid #dbeafe;
    background: #f8fbff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.completion-percent {
    font-size: 1.7rem;
    font-weight: 800;
    color: #2563eb;
    line-height: 1;
}

.completion-progress {
    height: 10px;
    border-radius: 999px;
    overflow: hidden;
}

.completion-thankyou {
    border-left: 5px solid #198754;
}

/* Professional login page */
.login-pro-wrap{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:linear-gradient(135deg,#f8fafc 0%,#eef2ff 45%,#f0fdfa 100%);
}
.login-pro-card{
    width:min(1040px,96vw);
    min-height:620px;
    display:grid;
    grid-template-columns:1.08fr .92fr;
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 28px 80px rgba(15,23,42,.16);
}
.login-visual{
    position:relative;
    min-height:620px;
    background:#1d4ed8 url('login-illustration.svg') center/cover no-repeat;
}
.login-visual-overlay{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:46px;
    color:#fff;
    background:linear-gradient(180deg,rgba(15,23,42,.05) 0%,rgba(15,23,42,.48) 100%);
}
.login-brand-badge{
    display:inline-flex;
    align-self:flex-start;
    padding:8px 12px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:999px;
    background:rgba(255,255,255,.16);
    backdrop-filter:blur(6px);
    font-weight:700;
    margin-bottom:18px;
}
.login-visual h2{font-weight:800;font-size:2.2rem;line-height:1.1;margin-bottom:12px;max-width:520px}.login-visual p{font-size:1rem;opacity:.92;max-width:500px;margin:0}.login-panel{display:flex;align-items:center;justify-content:center;padding:36px}.login-panel-inner{width:min(390px,100%)}.login-panel h4{font-size:1.65rem;font-weight:800}.login-btn{min-height:46px;font-weight:700}.captcha-box{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px}.captcha-question{display:inline-flex;min-width:96px;justify-content:center;padding:8px 14px;border-radius:10px;background:#e0f2fe;color:#075985;font-weight:800;font-size:1.1rem}
@media(max-width: 900px){.login-pro-card{grid-template-columns:1fr;min-height:auto}.login-visual{display:none}.login-panel{padding:28px 20px}.login-pro-card{border-radius:22px}.login-pro-wrap{padding:16px}}

/* User management actions */
.user-actions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    justify-content:flex-end;
    align-items:center;
}
.users-table td.action-cell{min-width:330px;}
.users-table form{margin:0;display:inline-block;}
@media (max-width: 767.98px){
    .user-actions{justify-content:flex-start;}
    .user-actions .btn{width:100%;}
    .users-table td.action-cell{min-width:0;}
    .users-table form{display:block;width:100%;}
}


/* Help modal and location menu */
.help-nav-link{color:#fff!important;text-decoration:none;border:0;background:transparent;padding:.55rem .8rem}.help-nav-link:hover{color:#dbeafe!important}.location-menu .dropdown-item.active{background:#2563eb;color:#fff}.location-menu .dropdown-item.disabled{color:#94a3b8}.help-tabs{gap:6px}.help-tabs .nav-link{border-radius:999px}.help-content h6{font-weight:800;color:#17375e;margin-bottom:10px}.help-content ol,.help-content ul{padding-left:1.3rem}.video-placeholder{border:1px dashed #94a3b8;border-radius:14px;background:#f8fafc;padding:36px;text-align:center;color:#64748b}.login-help-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.help-modal-content{border-radius:18px}
@media(max-width:767.98px){.help-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.help-tabs .nav-link{white-space:nowrap}.login-help-row{align-items:flex-start;flex-direction:column}.navbar .dropdown-menu{background:#111827;border-color:rgba(255,255,255,.12)}.navbar .dropdown-item{color:#fff}.navbar .dropdown-item.disabled{color:#94a3b8}.navbar .dropdown-item.active{background:#2563eb;color:#fff}}
.help-shot{display:block;max-width:100%;border:1px solid var(--line);border-radius:14px;margin:12px 0;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.08)}

/* Help modal refinements for production */
.help-tabs{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:.35rem!important;
    padding-bottom:.25rem;
}
.help-tabs .nav-link{
    border-radius:8px!important;
    padding:.38rem .62rem!important;
    font-size:.88rem!important;
    line-height:1.15!important;
    color:#1d4ed8;
    background:#eff6ff;
    border:1px solid #bfdbfe;
}
.help-tabs .nav-link.active{
    background:#2563eb!important;
    border-color:#2563eb!important;
    color:#fff!important;
}
.help-content h6{font-size:1rem}.help-content li{margin-bottom:.25rem}.help-content .alert{font-size:.92rem}
.help-shot-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:14px;
    align-items:start;
}
.help-shot-grid figure{margin:0;text-align:center}.help-shot-grid figcaption{font-size:.82rem;color:#64748b;margin-top:4px}
.help-phone-shot{
    width:100%;
    max-width:240px;
    height:auto;
    max-height:430px;
    object-fit:contain;
    margin:8px auto!important;
}
.help-desktop-shot{
    width:100%;
    height:auto;
    max-height:520px;
    object-fit:contain;
}
@media(max-width:767.98px){
    .help-tabs{overflow:visible!important;flex-wrap:wrap!important;gap:.3rem!important;}
    .help-tabs .nav-link{font-size:.82rem!important;padding:.32rem .5rem!important;white-space:normal!important;}
    .help-shot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
    .help-phone-shot{max-width:100%;max-height:330px;}
    .modal-body{padding:1rem!important;}
}
@media(max-width:420px){.help-shot-grid{grid-template-columns:1fr}.help-phone-shot{max-width:250px;}}

/* v7.10 friendly contextual help modal */
.help-dialog{max-width:1120px}
.help-modal-content{border-radius:18px;overflow:hidden}
.help-header{background:#f8fafc;border-bottom:1px solid #dbe3ef}
.help-body{background:#ffffff;padding:16px!important}
.help-tab-toolbar{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    margin:0 0 18px 0!important;
    padding:10px!important;
    background:#f1f5f9!important;
    border:1px solid #dbe3ef!important;
    border-radius:14px!important;
}
.help-tab-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid #bfdbfe!important;
    background:#eaf2ff!important;
    color:#1d4ed8!important;
    border-radius:10px!important;
    padding:7px 12px!important;
    font-size:.9rem!important;
    font-weight:700!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    min-height:34px!important;
}
.help-tab-btn:hover{background:#dbeafe!important;border-color:#93c5fd!important;color:#1e40af!important}
.help-tab-btn.active{background:#2563eb!important;border-color:#2563eb!important;color:#ffffff!important;box-shadow:0 6px 14px rgba(37,99,235,.24)!important}
.help-section-title{margin-bottom:12px;padding:12px 14px;background:#f8fafc;border-left:5px solid #2563eb;border-radius:12px}
.help-section-title h6{font-size:1.05rem!important;margin:0 0 4px 0!important;color:#0f172a!important;font-weight:800!important}
.help-section-title p{margin:0;color:#475569;font-size:.93rem}
.guide-flow{display:grid;gap:16px}
.guide-card{
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(190px,260px);
    align-items:center;
    gap:18px;
    border:1px solid #dbe3ef;
    border-radius:16px;
    padding:16px;
}
.guide-card.tone-a{background:#f8fbff}
.guide-card.tone-b{background:#f0fdfa}
.guide-card.desktop-card{grid-template-columns:minmax(240px,.65fr) minmax(360px,1.35fr)}
.guide-text strong{display:block;font-size:1rem;color:#0f172a;margin-bottom:6px}
.guide-text p{margin:0;color:#334155;line-height:1.45;font-size:.94rem}
.guide-img{
    display:block;
    max-width:100%;
    height:auto;
    border:1px solid #cbd5e1;
    border-radius:14px;
    background:#fff;
    padding:6px;
    margin:0 auto;
    box-shadow:0 8px 18px rgba(15,23,42,.10);
}
.guide-img.phone{max-width:210px;max-height:380px;object-fit:contain}
.guide-img.phone.small{max-width:150px;max-height:300px}
.guide-img.desktop{width:100%;max-height:430px;object-fit:contain}
.guide-img-pair{display:flex;gap:12px;justify-content:center;align-items:flex-start;flex-wrap:wrap}
.accuracy-note{margin-top:14px;padding:12px 14px;border-radius:12px;background:#cffafe;border:1px solid #67e8f9;color:#155e75;font-size:.94rem}
.compact-list{padding-left:1.2rem;margin-bottom:0}.compact-list li{margin-bottom:6px;color:#334155}.video-placeholder{border:1px dashed #94a3b8;border-radius:14px;background:#f8fafc;padding:36px;text-align:center;color:#64748b}
@media(max-width: 767.98px){
    .help-body{padding:12px!important}
    .help-tab-toolbar{gap:7px!important;padding:8px!important}
    .help-tab-btn{font-size:.82rem!important;padding:6px 9px!important;white-space:normal!important;flex:1 1 calc(50% - 8px)!important}
    .guide-card,.guide-card.desktop-card{grid-template-columns:1fr;gap:10px;padding:12px}
    .guide-text{text-align:left}.guide-img.phone{max-width:190px;max-height:330px}.guide-img.phone.small{max-width:135px;max-height:260px}.guide-img.desktop{max-height:300px}.help-section-title{padding:10px 12px}.guide-img-pair{gap:8px}.accuracy-note{font-size:.9rem}
}
@media(max-width:420px){.help-tab-btn{flex:1 1 100%!important}.guide-img.phone{max-width:175px}.guide-img.phone.small{max-width:130px}}

/* v7.11 cleaned and mobile-friendly help modal */
.help-dialog{max-width:min(1120px,96vw)!important;margin:1rem auto!important;}
.help-modal-content{border-radius:16px!important;overflow:hidden!important;border:0!important;}
.help-header{background:#ffffff!important;border-bottom:1px solid #e2e8f0!important;padding:14px 18px!important;}
.help-header .modal-title{font-size:1.25rem!important;font-weight:700!important;color:#0f172a!important;}
.help-body{padding:16px 18px!important;background:#f8fafc!important;overflow-x:hidden!important;}
.help-tab-toolbar{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin:0 0 16px 0!important;padding:10px!important;background:#eef6ff!important;border:1px solid #d8e8ff!important;border-radius:14px!important;}
.help-tab-btn{appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid #b9d7ff!important;background:#ffffff!important;color:#174ea6!important;border-radius:10px!important;padding:8px 12px!important;font-size:.88rem!important;font-weight:700!important;line-height:1.1!important;white-space:nowrap!important;min-height:36px!important;box-shadow:0 1px 2px rgba(15,23,42,.05)!important;}
.help-tab-btn:hover{background:#dbeafe!important;color:#123c7c!important;border-color:#7fb4ff!important;}
.help-tab-btn.active{background:#2563eb!important;color:#ffffff!important;border-color:#2563eb!important;box-shadow:0 8px 18px rgba(37,99,235,.22)!important;}
.help-content{max-width:980px!important;margin:0 auto!important;}
.help-section-title.compact-title{margin:0 0 12px 0!important;padding:10px 12px!important;background:#ffffff!important;border:1px solid #e2e8f0!important;border-left:5px solid #2563eb!important;border-radius:12px!important;}
.help-section-title h6{font-size:1rem!important;margin:0 0 3px 0!important;color:#0f172a!important;font-weight:800!important;}
.help-section-title p{margin:0!important;color:#64748b!important;font-size:.9rem!important;}
.guide-flow{display:grid!important;gap:14px!important;}
.guide-card{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(130px,190px)!important;align-items:center!important;gap:16px!important;margin:0 auto!important;width:100%!important;max-width:920px!important;min-height:280px!important;border:1px solid #dbe3ef!important;border-radius:16px!important;padding:16px!important;overflow:hidden!important;}
.guide-card.tone-a{background:linear-gradient(135deg,#ffffff 0%,#eef6ff 100%)!important;}
.guide-card.tone-b{background:linear-gradient(135deg,#ffffff 0%,#ecfdf5 100%)!important;}
.guide-card.desktop-card{grid-template-columns:minmax(0,.72fr) minmax(280px,1.28fr)!important;max-width:980px!important;min-height:360px!important;}
.guide-card.text-only-card{grid-template-columns:1fr!important;min-height:180px!important;}
.guide-text{min-width:0!important;}
.guide-text strong{display:block!important;font-size:.98rem!important;color:#0f172a!important;margin-bottom:6px!important;}
.guide-text p{margin:0 0 8px 0!important;color:#334155!important;line-height:1.45!important;font-size:.92rem!important;}
.guide-tip{background:#e0f2fe!important;border:1px solid #bae6fd!important;border-radius:10px!important;padding:8px 10px!important;margin-top:8px!important;color:#075985!important;}
.help-inline-link{border:0!important;background:transparent!important;color:#1d4ed8!important;font-weight:800!important;text-decoration:underline!important;padding:0!important;}
.guide-figure{margin:0!important;text-align:center!important;min-width:0!important;}
.guide-figure figcaption{font-weight:800!important;color:#0f172a!important;font-size:.84rem!important;margin-bottom:6px!important;text-align:center!important;}
.guide-figure.wide figcaption{text-align:left!important;}
.guide-img{display:block!important;width:auto!important;max-width:100%!important;height:auto!important;margin:0 auto!important;border:1px solid #cbd5e1!important;border-radius:14px!important;background:#ffffff!important;padding:6px!important;box-shadow:0 8px 18px rgba(15,23,42,.10)!important;object-fit:contain!important;}
.guide-img.phone{max-width:165px!important;max-height:270px!important;}
.guide-img.phone.small{max-width:120px!important;max-height:230px!important;}
.guide-img.desktop{width:100%!important;max-height:330px!important;}
.guide-img-pair{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;align-items:start!important;justify-items:center!important;}
.compact-list{padding-left:1.1rem!important;margin:0!important;}
.compact-list li{margin-bottom:5px!important;color:#334155!important;font-size:.92rem!important;}
.clean-placeholder{min-height:220px!important;background:#ffffff!important;border:2px dashed #cbd5e1!important;border-radius:16px!important;}
.help-video-frame{border-radius:16px!important;overflow:hidden!important;border:1px solid #e2e8f0!important;background:#000!important;}
.accuracy-note{display:none!important;}
@media(max-width:767.98px){
  .help-dialog{max-width:100vw!important;margin:0!important;}
  .help-modal-content{border-radius:0!important;min-height:100vh!important;}
  .help-header{padding:12px 14px!important;}
  .help-body{padding:12px!important;}
  .help-tab-toolbar{gap:8px!important;padding:8px!important;}
  .help-tab-btn{flex:1 1 calc(50% - 8px)!important;font-size:.82rem!important;padding:8px 8px!important;white-space:normal!important;}
  .guide-card,.guide-card.desktop-card{grid-template-columns:1fr!important;min-height:auto!important;gap:10px!important;padding:12px!important;}
  .guide-text p,.compact-list li{font-size:.9rem!important;}
  .guide-img.phone{max-width:150px!important;max-height:250px!important;}
  .guide-img.phone.small{max-width:118px!important;max-height:210px!important;}
  .guide-img.desktop{max-height:240px!important;}
  .guide-img-pair{grid-template-columns:1fr 1fr!important;gap:8px!important;}
}
@media(max-width:420px){
  .help-tab-btn{flex:1 1 100%!important;}
  .guide-img.phone{max-width:140px!important;max-height:235px!important;}
  .guide-img.phone.small{max-width:105px!important;max-height:200px!important;}
}

/* v7.12 polished help modal */
.help-dialog{max-width:min(1080px,96vw)!important;margin:1rem auto!important;}
.help-modal-content{border-radius:16px!important;overflow:hidden!important;border:0!important;}
.help-header{background:#ffffff!important;border-bottom:1px solid #e5e7eb!important;padding:14px 18px!important;}
.help-header .modal-title{font-size:1.2rem!important;font-weight:800!important;color:#0f172a!important;}
.help-body{background:#f6f8fb!important;padding:16px 18px!important;overflow-x:hidden!important;}
.help-tab-toolbar{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin:0 0 16px 0!important;padding:12px!important;background:linear-gradient(135deg,#eef6ff,#f8fbff)!important;border:1px solid #d8e8ff!important;border-radius:16px!important;}
.help-tab-btn{appearance:none!important;border:1px solid #bfdbfe!important;background:#ffffff!important;color:#174ea6!important;border-radius:999px!important;padding:8px 14px!important;font-size:.88rem!important;font-weight:800!important;line-height:1.1!important;white-space:nowrap!important;min-height:36px!important;box-shadow:0 2px 5px rgba(15,23,42,.06)!important;}
.help-tab-btn:hover{background:#dbeafe!important;border-color:#93c5fd!important;color:#1e40af!important;}
.help-tab-btn.active{background:#2563eb!important;border-color:#2563eb!important;color:#ffffff!important;box-shadow:0 8px 18px rgba(37,99,235,.24)!important;}
.help-content{max-width:960px!important;margin:0 auto!important;}
.help-section-title.compact-title{margin:0 0 14px 0!important;padding:12px 14px!important;background:#ffffff!important;border:1px solid #e2e8f0!important;border-left:5px solid #2563eb!important;border-radius:14px!important;}
.help-section-title h6{font-size:1rem!important;margin:0 0 4px 0!important;color:#0f172a!important;font-weight:800!important;}
.help-section-title p{margin:0!important;color:#64748b!important;font-size:.9rem!important;line-height:1.35!important;}
.guide-flow{display:grid!important;gap:16px!important;}
.guide-card{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(140px,210px)!important;align-items:center!important;gap:18px!important;width:100%!important;max-width:920px!important;margin:0 auto!important;border:1px solid #dbe3ef!important;border-radius:18px!important;padding:18px!important;overflow:hidden!important;min-height:230px!important;}
.guide-card.tone-a{background:linear-gradient(135deg,#ffffff 0%,#eef6ff 100%)!important;}
.guide-card.tone-b{background:linear-gradient(135deg,#ffffff 0%,#ecfdf5 100%)!important;}
.guide-card.desktop-card{grid-template-columns:minmax(0,.78fr) minmax(300px,1.22fr)!important;max-width:960px!important;min-height:300px!important;}
.guide-card.settings-card{min-height:220px!important;}
.guide-card.text-only-card{grid-template-columns:1fr!important;max-width:760px!important;min-height:0!important;}
.guide-text{min-width:0!important;}
.guide-text strong{display:block!important;font-size:1rem!important;color:#0f172a!important;margin-bottom:7px!important;}
.guide-text p{margin:0 0 9px 0!important;color:#334155!important;line-height:1.55!important;font-size:.94rem!important;}
.guide-tip{background:#e0f2fe!important;border:1px solid #bae6fd!important;border-radius:12px!important;padding:10px 12px!important;margin-top:8px!important;color:#075985!important;}
.help-inline-link{border:0!important;background:transparent!important;color:#1d4ed8!important;font-weight:800!important;text-decoration:underline!important;padding:0!important;}
.guide-figure{margin:0!important;text-align:center!important;min-width:0!important;}
.guide-figure figcaption{font-weight:800!important;color:#0f172a!important;font-size:.84rem!important;margin-bottom:7px!important;text-align:center!important;}
.guide-figure.wide figcaption{text-align:left!important;}
.guide-img{display:block!important;width:auto!important;max-width:100%!important;height:auto!important;margin:0 auto!important;border:1px solid #cbd5e1!important;border-radius:14px!important;background:#ffffff!important;padding:7px!important;box-shadow:0 8px 18px rgba(15,23,42,.10)!important;object-fit:contain!important;}
.guide-img.phone{max-width:165px!important;max-height:250px!important;}
.guide-img.phone.small{max-width:115px!important;max-height:205px!important;}
.guide-img.desktop{width:100%!important;max-height:290px!important;object-fit:contain!important;}
.guide-img-pair{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;align-items:start!important;justify-items:center!important;}
.video-empty{background:#ffffff!important;border:1px solid #dbe3ef!important;border-radius:16px!important;padding:22px!important;text-align:center!important;color:#64748b!important;font-weight:700!important;}
.help-video-frame{border-radius:16px!important;overflow:hidden!important;border:1px solid #e2e8f0!important;background:#000!important;}
.accuracy-note,.clean-placeholder{display:none!important;}
.compact-list{padding-left:1.1rem!important;margin:0!important;}
.compact-list li{margin-bottom:6px!important;color:#334155!important;font-size:.92rem!important;}
@media(max-width:767.98px){
  .help-dialog{max-width:100vw!important;margin:0!important;}
  .help-modal-content{border-radius:0!important;min-height:100vh!important;}
  .help-header{padding:12px 14px!important;}
  .help-body{padding:12px!important;}
  .help-tab-toolbar{gap:8px!important;padding:9px!important;}
  .help-tab-btn{flex:1 1 calc(50% - 8px)!important;font-size:.82rem!important;padding:8px 8px!important;white-space:normal!important;}
  .guide-card,.guide-card.desktop-card{grid-template-columns:1fr!important;min-height:auto!important;gap:10px!important;padding:12px!important;}
  .guide-card.text-only-card{max-width:100%!important;}
  .guide-text p,.compact-list li{font-size:.9rem!important;}
  .guide-img.phone{max-width:145px!important;max-height:215px!important;}
  .guide-img.phone.small{max-width:108px!important;max-height:190px!important;}
  .guide-img.desktop{max-height:220px!important;}
  .guide-img-pair{grid-template-columns:1fr 1fr!important;gap:8px!important;}
}
@media(max-width:420px){
  .help-tab-btn{flex:1 1 100%!important;}
  .guide-img.phone{max-width:138px!important;max-height:205px!important;}
  .guide-img.phone.small{max-width:100px!important;max-height:175px!important;}
}


/* v7.13 help modal polish: equal tabs, inline bold text, compact responsive screenshots */
.help-tab-toolbar{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}
.help-tab-btn{
  width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  text-align:center!important;
  padding:9px 10px!important;
  min-height:40px!important;
  border-radius:999px!important;
}
.guide-text > strong{
  display:block!important;
}
.guide-text p strong,
.guide-tip strong,
.help-section-title p strong{
  display:inline!important;
  margin:0!important;
}
.guide-text p{
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
}
.guide-card{
  overflow:visible!important;
  min-height:0!important;
  align-items:center!important;
}
.guide-figure{
  overflow:hidden!important;
  max-width:100%!important;
}
.guide-img{
  max-width:min(100%,360px)!important;
  height:auto!important;
}
.guide-img.phone{
  width:auto!important;
  max-width:190px!important;
  max-height:300px!important;
}
.guide-img.phone.small{
  max-width:145px!important;
  max-height:245px!important;
}
.guide-img.desktop{
  width:100%!important;
  max-width:620px!important;
  max-height:300px!important;
  object-fit:contain!important;
}
.settings-card .guide-text p{
  margin-bottom:12px!important;
  line-height:1.6!important;
}
@media(max-width:767.98px){
  .help-tab-toolbar{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .help-tab-btn{
    flex:none!important;
    font-size:.82rem!important;
    min-height:38px!important;
    padding:8px 8px!important;
  }
  .guide-card,.guide-card.desktop-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:12px!important;
  }
  .guide-img.phone{
    max-width:min(190px,72vw)!important;
    max-height:280px!important;
  }
  .guide-img.phone.small{
    max-width:min(145px,44vw)!important;
    max-height:225px!important;
  }
  .guide-img.desktop{
    max-width:100%!important;
    max-height:230px!important;
  }
  .guide-img-pair{
    grid-template-columns:1fr 1fr!important;
    overflow:hidden!important;
  }
}
@media(max-width:420px){
  .help-tab-toolbar{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .help-tab-btn{
    flex:none!important;
    font-size:.78rem!important;
    padding:8px 6px!important;
  }
  .guide-img.phone{
    max-width:min(170px,70vw)!important;
    max-height:255px!important;
  }
  .guide-img.phone.small{
    max-width:min(125px,42vw)!important;
    max-height:205px!important;
  }
}


/* v7.14 help instruction lists */
.setting-steps{
  margin:10px 0 0 0!important;
  padding-left:1.25rem!important;
}
.setting-steps li{
  margin:0 0 9px 0!important;
  line-height:1.55!important;
  font-size:.96rem!important;
}
.setting-steps strong{
  display:inline!important;
  font-weight:800!important;
}
.settings-card .guide-text p{
  margin-bottom:10px!important;
}

/* v7.15 highlighted Help / User Guide buttons */
.btn-help-guide{
  background:#198754!important;
  border:1px solid #198754!important;
  color:#ffffff!important;
  border-radius:10px!important;
  font-weight:800!important;
  padding:9px 14px!important;
  box-shadow:0 6px 14px rgba(25,135,84,.18)!important;
}
.btn-help-guide:hover,
.btn-help-guide:focus{
  background:#146c43!important;
  border-color:#146c43!important;
  color:#ffffff!important;
}
.help-nav-link{
  background:#198754!important;
  color:#ffffff!important;
  border-radius:10px!important;
  font-weight:800!important;
  padding:.45rem .75rem!important;
  margin-left:.25rem!important;
  line-height:1.2!important;
}
.help-nav-link:hover,
.help-nav-link:focus{
  background:#146c43!important;
  color:#ffffff!important;
}
@media(max-width:991.98px){
  .help-nav-link{
    display:inline-flex!important;
    width:auto!important;
    margin:.35rem 0!important;
  }
}


/* v7.17 responsive submissions map/list fix */
@media (max-width: 991.98px){
  .split-review{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    gap:14px!important;
  }
  .split-review > .review-map,
  .split-review > .review-list{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    align-self:stretch!important;
  }
  .split-review > .review-map{
    order:-1!important;
    position:static!important;
  }
  .split-review > .review-list{
    order:0!important;
  }
  .review-map .card-body,
  .review-list .card-body{
    width:100%!important;
  }
  #submissionsMap.map-box,
  #verifyMap.map-box{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .review-list .table-scroll{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  .compact-table{
    width:100%!important;
  }
}
@media (max-width: 767.98px){
  .review-map .card-header,
  .review-list .card-header{
    padding:.75rem 1rem!important;
  }
  #submissionsMap.map-sticky{
    height:320px!important;
    min-height:300px!important;
  }
  .review-map .card-body{
    padding:10px!important;
  }
  .compact-table tbody,
  .compact-table tr,
  .compact-table td{
    width:100%!important;
    max-width:100%!important;
  }
  .compact-table tr{
    margin:0!important;
    padding:12px 10px!important;
  }
}
@media (max-width: 420px){
  #submissionsMap.map-sticky{
    height:300px!important;
    min-height:280px!important;
  }
}

/* v7.20 user account filters */
.user-filter-panel{
    padding:14px 16px;
    background:#ffffff;
}
.user-filter-panel .form-label{
    font-weight:700;
}
.user-filter-panel .form-select,
.user-filter-panel .form-control{
    border-radius:10px;
}
.user-filter-panel .btn{
    border-radius:10px;
}
@media (max-width: 991.98px){
    .user-filter-panel .d-flex.gap-2 .btn{min-height:40px;}
}
@media (max-width: 767.98px){
    .user-filter-panel{padding:12px;}
    .user-filter-panel .form-select,
    .user-filter-panel .form-control{min-height:44px;font-size:16px;}
    .user-filter-panel .btn{min-height:44px;}
}


/* v7.23 progress report and uploaded photo viewing */
.progress-mini{
    height:10px;
    border-radius:999px;
    background:#e9ecef;
    min-width:120px;
}
.photo-thumb{
    max-width:160px;
    max-height:120px;
    object-fit:cover;
    border:1px solid #dee2e6;
    border-radius:10px;
    background:#f8f9fa;
}
.photo-preview{
    max-width:100%;
    max-height:260px;
    object-fit:contain;
    border:1px solid #dee2e6;
    border-radius:10px;
    background:#f8f9fa;
}
.existing-photo-box{
    padding:10px;
    border:1px solid #e9ecef;
    border-radius:12px;
    background:#f8f9fa;
}
@media print{
    .navbar,.filter-box,.no-print,.help-nav-link,.btn{display:none!important;}
    main.container-fluid{padding:0!important;}
    .card{border:1px solid #999!important;box-shadow:none!important;}
    .table{font-size:11px;}
    .progress{border:1px solid #ccc;}
    .progress-bar{background:#444!important;}
}

/* v7.27 clinic services multi-selection */
.service-check-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:10px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#f8fafc;
}
.service-check{
    display:flex;
    align-items:center;
    gap:6px;
    padding:10px 12px;
    border:1px solid #e2e8f0;
    border-radius:10px;
    background:#fff;
    cursor:pointer;
    font-weight:600;
}
.service-check:hover{
    background:#f1f5f9;
}
@media (max-width: 767.98px){
    .service-check-grid{grid-template-columns:1fr;}
    .service-check{min-height:44px;}
}

/* v7.33 Route map report */
.route-print-area{
    background:#fff;
    border:2px solid #0f172a;
    border-radius:18px;
    padding:18px;
    margin-bottom:24px;
}
.route-report-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:14px;
    border-bottom:1px solid var(--line);
    padding-bottom:12px;
    margin-bottom:14px;
}
.route-report-scope{
    text-align:right;
    background:#f8fafc;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    min-width:190px;
}
.route-stat{
    border:1px solid var(--line);
    border-radius:14px;
    padding:12px;
    background:#f8fafc;
}
.route-stat span{display:block;color:var(--muted);font-size:.85rem;margin-bottom:2px}.route-stat strong{font-size:1.2rem;color:#0f172a}.route-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.route-map-shell{
    position:relative;
    border:1px solid #0f172a;
    border-radius:14px;
    overflow:hidden;
    background:#e5e7eb;
}
.route-map-box{height:560px;min-height:420px}.route-legend{
    position:absolute;
    right:14px;
    bottom:14px;
    z-index:500;
    background:rgba(255,255,255,.94);
    border:1px solid #cbd5e1;
    border-radius:12px;
    padding:10px 12px;
    font-size:.86rem;
    box-shadow:0 8px 20px rgba(15,23,42,.12);
}
.route-legend div{display:flex;align-items:center;gap:7px;margin-top:5px}.legend-start{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:#f59e0b;font-weight:900}.legend-dot{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:999px;color:#fff;font-size:.78rem;font-weight:800}.legend-dot.single{background:#64748b}.legend-dot.combined{background:#0369a1}.legend-dot.poly{background:#15803d}.legend-line{width:26px;border-top:3px dashed #2563eb;display:inline-block}.route-number-marker span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:999px;
    border:2px solid #fff;
    color:#fff;
    font-size:.8rem;
    font-weight:900;
    box-shadow:0 3px 10px rgba(15,23,42,.35);
}
.route-marker-start span{background:#f59e0b;color:#111827}.route-marker-single span{background:#64748b}.route-marker-combined span{background:#0369a1}.route-marker-poly span{background:#15803d}.route-table th,.route-table td{font-size:.9rem}.route-note{font-size:.92rem}
@media(max-width:767.98px){.route-report-header{flex-direction:column}.route-report-scope{text-align:left;width:100%}.route-map-box{height:380px}.route-legend{position:static;border-radius:0;border-left:0;border-right:0;border-bottom:0}.route-print-area{padding:12px;border-radius:14px}.route-actions .btn{width:100%}}
@media print{
    body{background:#fff!important;font-size:11pt}.navbar,.no-print,.filter-box,.alert:not(.route-note){display:none!important}.container-fluid{padding:0!important;margin:0!important;max-width:100%!important}.route-print-area{border:2px solid #000!important;border-radius:0!important;margin:0!important;padding:12mm!important;box-shadow:none!important}.route-report-header{break-inside:avoid}.route-map-shell{break-inside:avoid;border:1.5px solid #000!important}.route-map-box{height:150mm!important}.route-legend{background:#fff!important}.route-table th,.route-table td{font-size:9pt!important;padding:4px!important}.leaflet-control-container{display:none!important}.route-note{font-size:9pt!important;padding:6px!important}.card{box-shadow:none!important}
}

/* v7.36 Printable map refinements */
.route-print-area{
    border:1.8px solid #334155!important;
    border-radius:14px!important;
    padding:14px!important;
    background:#fff!important;
}
.route-report-header{
    border-bottom:1px solid #cbd5e1!important;
}
.route-report-scope{
    background:#f8fafc!important;
    border:1px solid #cbd5e1!important;
}
.route-map-shell{
    border:1.6px solid #334155!important;
    border-radius:12px!important;
    background:#eef2f7!important;
}
.route-map-box{
    height:720px;
    min-height:520px;
}
.route-legend{
    border:1px solid #cbd5e1!important;
    box-shadow:0 4px 12px rgba(15,23,42,.10)!important;
}
.legend-boundary{
    width:28px;
    height:0;
    display:inline-block;
    border-top:2px solid #334155;
}
.legend-boundary.moh{
    border-top:1.5px dashed #64748b;
}
.route-marker-single span{background:#64748b!important}
.route-marker-combined span{background:#0369a1!important}
.route-marker-poly span{background:#15803d!important}
@media(max-width:767.98px){.route-map-box{height:430px}}
@media print{
    @page{size:A3 landscape;margin:8mm;}
    body{background:#fff!important;font-size:10pt!important;}
    .navbar,.no-print,.filter-box,.alert:not(.route-note),.help-nav-link,.btn{display:none!important;}
    main.container-fluid{padding:0!important;margin:0!important;max-width:100%!important;}
    .route-print-area{border:2px solid #334155!important;border-radius:0!important;margin:0!important;padding:8mm!important;box-shadow:none!important;min-height:calc(297mm - 16mm)!important;}
    .route-report-header{break-inside:avoid;margin-bottom:6mm!important;padding-bottom:4mm!important;}
    .route-map-shell{break-inside:avoid;border:1.5px solid #334155!important;}
    .route-map-box{height:238mm!important;min-height:238mm!important;}
    .route-legend{background:#fff!important;right:8mm!important;bottom:8mm!important;font-size:9pt!important;}
    .leaflet-control-container{display:none!important;}
    .card{box-shadow:none!important;}
}
