/**
 * Barangay San Agustin — front-end component styles.
 * Scoped to .bsa- classes so they work on any theme without collisions.
 */
.bsa-wrap{
  --bsa-navy900:#0A2F4E;--bsa-navy700:#114B7C;--bsa-navy500:#1A6FB0;
  --bsa-gold:#E8A317;--bsa-gold600:#C97F0A;--bsa-teal:#1F8A78;--bsa-danger:#B5311F;
  --bsa-ink:#16222E;--bsa-slate:#4A5A68;--bsa-paper:#F6F8FC;--bsa-line:#DCE3EC;
  --bsa-radius:12px;--bsa-radius-sm:8px;
  font-family:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:var(--bsa-ink);line-height:1.6;
}
.bsa-wrap *{box-sizing:border-box;}
.bsa-wrap h3,.bsa-wrap h4{font-family:"Lora",Georgia,serif;color:var(--bsa-navy900);line-height:1.2;}

/* ---------- Forms ---------- */
.bsa-form{background:#fff;border:1px solid var(--bsa-line);border-radius:var(--bsa-radius);padding:1.75rem;box-shadow:0 1px 2px rgba(10,47,78,.08);}
.bsa-fieldset{border:0;padding:0;margin:0 0 1.75rem;}
.bsa-fieldset legend{font-family:"Lora",Georgia,serif;font-size:1.15rem;font-weight:600;color:var(--bsa-navy900);margin-bottom:.9rem;padding:0;}
.bsa-field{margin-bottom:1rem;}
.bsa-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.bsa-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;}
.bsa-field label,.bsa-checkbox span{font-weight:600;font-size:.9rem;}
.bsa-field > label{display:block;margin-bottom:.35rem;}
.bsa-form input,.bsa-form select,.bsa-form textarea{
  width:100%;font-family:inherit;font-size:16px;line-height:1.4;color:var(--bsa-ink);background:#fff;
  border:1.5px solid var(--bsa-line);border-radius:var(--bsa-radius-sm);padding:.7rem .85rem;
}
.bsa-form input:focus,.bsa-form select:focus,.bsa-form textarea:focus{outline:3px solid var(--bsa-gold);outline-offset:1px;border-color:var(--bsa-navy500);}
.bsa-form input.bsa-invalid,.bsa-form select.bsa-invalid{border-color:var(--bsa-danger);background:#fdf3f1;}
.bsa-err{color:var(--bsa-danger);font-size:.82rem;margin:.3rem 0 0;min-height:0;}
.bsa-err:empty{display:none;}

/* Document type cards */
.bsa-doc-types{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;}
.bsa-doc-type{position:relative;display:block;margin:0;}
.bsa-doc-type input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0;}
.bsa-doc-card{display:flex;gap:.7rem;align-items:center;background:#fff;border:2px solid var(--bsa-line,#DCE3EC);border-radius:var(--bsa-radius-sm,10px);padding:.85rem 1rem;cursor:pointer;height:100%;transition:border-color .15s,background .15s,box-shadow .15s;}
.bsa-doc-type:hover .bsa-doc-card{border-color:var(--bsa-navy500,#1A6FB0);}
.bsa-doc-type input:checked + .bsa-doc-card{border-color:var(--bsa-navy700,#114B7C);background:rgba(17,75,124,.05);box-shadow:0 1px 3px rgba(17,75,124,.12);}
.bsa-doc-type input:focus-visible + .bsa-doc-card{outline:2px solid var(--bsa-navy500,#1A6FB0);outline-offset:2px;}
.bsa-tick{width:20px;height:20px;border-radius:50%;border:2px solid var(--bsa-line,#DCE3EC);flex:none;display:grid;place-items:center;background:#fff;transition:border-color .15s,background .15s;}
.bsa-doc-type input:checked + .bsa-doc-card .bsa-tick{border-color:var(--bsa-navy700,#114B7C);background:var(--bsa-navy700,#114B7C);}
.bsa-doc-type input:checked + .bsa-doc-card .bsa-tick::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff;}
.bsa-doc-label{font-weight:600;color:var(--bsa-navy900);}

.bsa-checkbox{display:flex;gap:.6rem;align-items:flex-start;color:var(--bsa-slate);font-weight:400;}
.bsa-checkbox input{width:auto;flex:none;margin-top:.25rem;}
.bsa-checkbox span{font-weight:400;}

.bsa-business{display:none;}
.bsa-business.bsa-show{display:block;}

.bsa-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;padding:.85rem 1.6rem;border-radius:999px;cursor:pointer;border:2px solid transparent;font:inherit;font-weight:700;}
.bsa-btn-primary{background:var(--bsa-gold);color:var(--bsa-navy900);}
.bsa-btn-primary:hover{background:var(--bsa-gold600);}
.bsa-btn-primary:disabled{opacity:.6;cursor:default;}
.bsa-btn-block{width:100%;}

/* Success */
.bsa-success{background:#fff;border:1px solid var(--bsa-line);border-radius:var(--bsa-radius);padding:2.5rem 1.5rem;text-align:center;box-shadow:0 1px 2px rgba(10,47,78,.08);}
.bsa-check{width:64px;height:64px;border-radius:50%;background:var(--bsa-teal);color:#fff;display:grid;place-items:center;font-size:2rem;margin:0 auto 1rem;}
.bsa-ref-box{display:inline-block;background:var(--bsa-paper);border:1.5px dashed var(--bsa-navy500);border-radius:var(--bsa-radius-sm);padding:.75rem 1.5rem;margin:1rem 0;}
.bsa-ref-box span{display:block;font-size:.75rem;color:var(--bsa-slate);text-transform:uppercase;letter-spacing:.05em;}
.bsa-ref-box strong{font-family:"Lora",Georgia,serif;font-size:1.5rem;color:var(--bsa-navy900);letter-spacing:.03em;}
.bsa-muted{color:var(--bsa-slate);font-size:.92rem;}

/* ---------- Status tracker ---------- */
.bsa-track-result{margin-top:1.25rem;}
.bsa-track-card{background:#fff;border:1px solid var(--bsa-line);border-radius:var(--bsa-radius);padding:1.5rem;box-shadow:0 1px 2px rgba(10,47,78,.08);}
.bsa-track-card .bsa-status-pill{display:inline-block;color:#fff;font-weight:700;font-size:.85rem;padding:.3rem .9rem;border-radius:999px;}
.bsa-track-error{color:var(--bsa-danger);font-weight:600;}

/* ---------- Officials ---------- */
.bsa-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.75rem;}
.bsa-filters button{border:1.5px solid var(--bsa-line);background:#fff;color:var(--bsa-slate);font:inherit;font-weight:600;font-size:.9rem;padding:.5rem 1.1rem;border-radius:999px;cursor:pointer;}
.bsa-filters button.is-active{background:var(--bsa-navy700);border-color:var(--bsa-navy700);color:#fff;}
.bsa-group-title{display:flex;align-items:center;gap:1rem;font-size:1.3rem;margin:2rem 0 1.1rem;}
.bsa-group-title::after{content:"";height:1px;background:var(--bsa-line);flex:1;}
.bsa-people{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;}
.bsa-person{background:#fff;border:1px solid var(--bsa-line);border-radius:var(--bsa-radius);padding:1.5rem 1.25rem;text-align:center;box-shadow:0 1px 2px rgba(10,47,78,.08);}
.bsa-avatar{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;margin:0 auto 1rem;font-family:"Lora",Georgia,serif;font-weight:700;font-size:1.6rem;color:#fff;background:linear-gradient(150deg,var(--bsa-navy500),var(--bsa-navy700));overflow:hidden;}
.bsa-avatar-img img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.bsa-person h4{font-size:1.05rem;margin:0 0 .15rem;}
.bsa-pos{color:var(--bsa-navy700);font-weight:600;font-size:.88rem;margin:0 0 .5rem;}
.bsa-committee{display:inline-block;background:rgba(31,138,120,.12);color:var(--bsa-teal);font-size:.78rem;font-weight:600;padding:.2rem .65rem;border-radius:999px;}
.bsa-committee a{color:inherit;text-decoration:none;}
.bsa-term{color:var(--bsa-slate);font-size:.8rem;margin:.5rem 0 0;}

/* ---------- Hotlines ---------- */
.bsa-hotline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;list-style:none;margin:0;padding:0;}
.bsa-hotline{display:flex;align-items:center;gap:.9rem;background:var(--bsa-navy900);border-radius:var(--bsa-radius);padding:1.1rem 1.2rem;text-decoration:none;}
.bsa-hotline-ic{width:42px;height:42px;border-radius:50%;background:var(--bsa-danger);color:#fff;display:grid;place-items:center;font-size:1.1rem;flex:none;}
.bsa-hotline-label{display:block;color:#b9cadb;font-size:.8rem;}
.bsa-hotline-num{display:block;color:#fff;font-weight:700;font-size:1.15rem;font-family:"Lora",Georgia,serif;}

/* ---------- News ---------- */
.bsa-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.bsa-news-card{border:1px solid var(--bsa-line);border-radius:var(--bsa-radius);overflow:hidden;background:#fff;display:flex;flex-direction:column;}
.bsa-news-body{padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
.bsa-news-tag{display:inline-block;width:fit-content;background:rgba(31,138,120,.12);color:var(--bsa-teal);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .6rem;border-radius:999px;}
.bsa-news-tag a{color:inherit;text-decoration:none;}
.bsa-news-body time{color:var(--bsa-slate);font-size:.82rem;}
.bsa-news-body h4{font-size:1.1rem;margin:0;}
.bsa-news-body h4 a{color:var(--bsa-navy900);text-decoration:none;}
.bsa-news-body p{color:var(--bsa-slate);font-size:.92rem;margin:0;flex:1;}
.bsa-readmore{color:var(--bsa-navy700);font-weight:700;text-decoration:none;font-size:.9rem;}
.bsa-empty{color:var(--bsa-slate);font-style:italic;}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .bsa-doc-types{grid-template-columns:1fr;}
  .bsa-people{grid-template-columns:repeat(2,1fr);}
  .bsa-hotline-grid{grid-template-columns:repeat(2,1fr);}
  .bsa-news-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .bsa-row,.bsa-row-3{grid-template-columns:1fr;}
  .bsa-people,.bsa-hotline-grid{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){.bsa-wrap *{transition:none !important;}}

/* ---- [bsa_contact] ---- */
.bsa-contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:2rem;align-items:start;}
.bsa-contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem;}
.bsa-contact-list li{display:flex;gap:.85rem;align-items:flex-start;}
.bsa-contact-ic{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(26,111,176,.1);font-size:1.1rem;}
.bsa-contact-list strong{display:block;color:var(--bsa-navy900,#0A2F4E);font-family:'Lora',Georgia,serif;margin-bottom:.15rem;}
.bsa-contact-list a{display:inline-block;}
.bsa-contact-list li > span:last-child > a{margin-top:.2rem;font-weight:600;}
.bsa-contact-map{border-radius:12px;overflow:hidden;border:1px solid var(--bsa-line,#DCE3EC);min-height:280px;box-shadow:0 1px 2px rgba(10,47,78,.08);}
.bsa-contact-map iframe{display:block;width:100%;height:100%;min-height:280px;border:0;}
.bsa-contact-sub{margin:2.25rem 0 1rem;font-family:'Lora',Georgia,serif;color:var(--bsa-navy900,#0A2F4E);}
@media (max-width:760px){
	.bsa-contact-grid{grid-template-columns:1fr;}
}

/* ---- Tricycle booking & driver portal ---- */
.bsa-field-narrow{max-width:220px;}
.bsa-driver-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-bottom:1rem;border-bottom:1px solid var(--bsa-line,#DCE3EC);}
.bsa-driver-head h3{margin:0;font-family:'Lora',Georgia,serif;color:var(--bsa-navy900,#0A2F4E);}
.bsa-trip{border:1px solid var(--bsa-line,#DCE3EC);border-radius:12px;padding:1.1rem 1.25rem;margin-bottom:1rem;background:#fff;box-shadow:0 1px 2px rgba(10,47,78,.06);}
.bsa-trip-route{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .6rem;font-size:1.02rem;}
.bsa-trip-route strong{color:var(--bsa-navy900,#0A2F4E);}
.bsa-trip-route .bsa-muted{font-weight:400;}
.bsa-trip-arrow{color:var(--bsa-gold,#E8A317);font-weight:700;}
.bsa-trip-meta{margin:.5rem 0 .25rem;color:var(--bsa-slate,#4A5A68);font-size:.92rem;}
.bsa-trip-notes{margin:.25rem 0 .5rem;font-style:italic;color:var(--bsa-slate,#4A5A68);}
.bsa-trip-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.5rem;}
.bsa-trip-actions .bsa-btn{padding:.5rem 1rem;font-size:.9rem;}
.bsa-status-pill{display:inline-block;padding:3px 12px;border-radius:999px;color:#fff;font-size:.8rem;font-weight:600;}

/* ---------- Mobile & iOS refinements ---------- */
.bsa-wrap{ -webkit-text-size-adjust:100%; text-size-adjust:100%; -webkit-tap-highlight-color:rgba(17,75,124,.15); }

/* Normalise the iOS inner shadow / forced rounding on text fields
   (date, time, checkbox and radio keep their native controls). */
.bsa-form input:not([type=checkbox]):not([type=radio]):not([type=date]):not([type=datetime-local]):not([type=time]),
.bsa-form textarea{ -webkit-appearance:none; appearance:none; }

/* Keep the native dropdown arrow on selects but guarantee comfortable height. */
.bsa-form select{ min-height:46px; }
.bsa-form input,.bsa-form textarea{ min-height:46px; }
.bsa-form textarea{ min-height:80px; }

/* Comfortable 44px+ touch targets. */
.bsa-btn{ min-height:46px; }
.bsa-filters button{ min-height:44px; }
.bsa-doc-type{ min-height:44px; }
.bsa-hotline{ min-height:64px; }

/* Tap-friendly inline links inside cards/portals. */
.bsa-trip-meta a,.bsa-contact-list a,.bsa-readmore{ display:inline-block; padding:2px 0; }

@media (max-width:480px){
  .bsa-form{ padding:1.2rem; }
  .bsa-fieldset legend{ font-size:1.05rem; }
  .bsa-ref-box strong{ font-size:1.25rem; word-break:break-all; }
  .bsa-trip-actions .bsa-btn{ width:100%; }
}

/* ---- [bsa_at_a_glance] ---- */
.bsa-glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;}
.bsa-glance-item{background:#fff;border:1px solid var(--bsa-line,#DCE3EC);border-top:4px solid var(--bsa-gold,#E8A317);border-radius:12px;padding:1.2rem 1rem;text-align:center;box-shadow:0 1px 2px rgba(10,47,78,.06);}
.bsa-glance-v{display:block;font-family:'Lora',Georgia,serif;font-size:1.8rem;font-weight:700;color:var(--bsa-navy900,#0A2F4E);line-height:1.1;}
.bsa-glance-l{display:block;font-size:.82rem;color:var(--bsa-slate,#4A5A68);margin-top:.35rem;text-transform:uppercase;letter-spacing:.03em;}

/* ---- [bsa_org_chart] ---- */
.bsa-orgchart{text-align:center;}
.bsa-orgchart .bsa-person{width:200px;background:#fff;border:1px solid var(--bsa-line,#DCE3EC);border-radius:14px;padding:1.2rem 1rem;box-shadow:0 1px 3px rgba(10,47,78,.08);margin:0;}
.bsa-org-top{display:flex;justify-content:center;}
.bsa-org-captain{border:2px solid var(--bsa-gold,#E8A317) !important;box-shadow:0 4px 16px rgba(232,163,23,.28) !important;width:240px !important;}
.bsa-org-captain .bsa-avatar{width:104px;height:104px;font-size:2.1rem;}
.bsa-org-captain h4{font-size:1.2rem;}
.bsa-org-trunk{width:2px;height:30px;background:var(--bsa-line,#DCE3EC);margin:0 auto;}
.bsa-org-tier{margin-top:.25rem;}
.bsa-org-label{position:relative;display:inline-block;background:var(--bsa-navy700,#114B7C);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.4rem 1.15rem;border-radius:999px;margin:0 0 1.5rem;}
.bsa-org-label::before{content:"";position:absolute;top:-16px;left:50%;width:2px;height:16px;background:var(--bsa-line,#DCE3EC);}
.bsa-org-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1.1rem;}
@media (max-width:560px){
  .bsa-orgchart .bsa-person{width:100%;max-width:300px;}
  .bsa-org-captain{width:100% !important;max-width:300px !important;}
}

/* ---- [bsa_document_portal] ---- */
.bsa-doc-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem;margin-bottom:1rem;}
.bsa-doc-head h3{margin:0;font-family:'Lora',Georgia,serif;color:var(--bsa-navy900,#0A2F4E);}

/* status badges */
.bsa-rbadge{display:inline-block;font-size:.7rem;font-weight:700;padding:.22rem .6rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;}
.bsa-rb-pending{background:#FDF1D6;color:#8a5a00;}
.bsa-rb-processing{background:#E2EEF7;color:#114B7C;}
.bsa-rb-ready{background:#DBF1EC;color:#13715e;}
.bsa-rb-released{background:#DDEFE0;color:#1f7a43;}
.bsa-rb-rejected{background:#FBE3DF;color:#B5311F;}

/* filter chips */
.bsa-doc-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;}
.bsa-chip{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;font-size:.85rem;font-weight:600;color:var(--bsa-slate,#4A5A68);background:#fff;border:1.5px solid var(--bsa-line,#DCE3EC);padding:.4rem .85rem;border-radius:999px;}
.bsa-chip b{font-weight:800;color:var(--bsa-navy900,#0A2F4E);}
.bsa-chip:hover{border-color:var(--bsa-navy500,#1A6FB0);}
.bsa-chip.is-active{background:var(--bsa-navy700,#114B7C);border-color:var(--bsa-navy700,#114B7C);color:#fff;}
.bsa-chip.is-active b{color:#fff;}

/* search */
.bsa-doc-search{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1.25rem;}
.bsa-doc-search input[type=search]{flex:1;min-width:200px;font-size:16px;padding:.6rem .8rem;border:1.5px solid var(--bsa-line,#DCE3EC);border-radius:var(--bsa-radius-sm,8px);-webkit-appearance:none;appearance:none;}
.bsa-doc-clear{font-size:.85rem;color:var(--bsa-slate,#4A5A68);}

/* request cards */
.bsa-doc-list{display:flex;flex-direction:column;gap:.6rem;}
.bsa-doc-item{background:#fff;border:1px solid var(--bsa-line,#DCE3EC);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(10,47,78,.05);}
.bsa-doc-item > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:.9rem 1.1rem;}
.bsa-doc-item > summary::-webkit-details-marker{display:none;}
.bsa-doc-item > summary::after{content:"⌄";font-size:1.1rem;line-height:1;color:var(--bsa-slate,#4A5A68);transition:transform .2s;}
.bsa-doc-item[open] > summary::after{transform:rotate(180deg);}
.bsa-doc-item[open] > summary{border-bottom:1px solid var(--bsa-line,#DCE3EC);}
.bsa-doc-ref{font-family:'Lora',Georgia,serif;font-weight:700;color:var(--bsa-navy900,#0A2F4E);}
.bsa-doctype-badge{font-size:.82rem;color:#fff;background:var(--bsa-navy500,#1A6FB0);padding:.15rem .55rem;border-radius:999px;}
.bsa-doc-name{flex:1;min-width:120px;color:var(--bsa-ink,#16222E);font-weight:600;}

.bsa-doc-body{padding:1rem 1.1rem 1.2rem;}
.bsa-doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem 1.5rem;margin-bottom:1rem;}
.bsa-doc-f{display:flex;flex-direction:column;}
.bsa-doc-f .k{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--bsa-slate,#4A5A68);}
.bsa-doc-f .v{font-weight:600;color:var(--bsa-ink,#16222E);word-break:break-word;}
.bsa-doc-noteprev{background:var(--bsa-paper,#F6F8FC);border-left:3px solid var(--bsa-gold,#E8A317);padding:.5rem .75rem;border-radius:6px;font-size:.9rem;margin:0 0 1rem;}

.bsa-doc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding-top:.9rem;border-top:1px dashed var(--bsa-line,#DCE3EC);}
.bsa-doc-statwrap{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--bsa-slate,#4A5A68);}
.bsa-doc-status{font-size:16px;padding:.5rem .6rem;border:1.5px solid var(--bsa-line,#DCE3EC);border-radius:var(--bsa-radius-sm,8px);min-height:44px;}
.bsa-doc-notefield{flex:1;min-width:160px;font-size:16px;padding:.55rem .7rem;border:1.5px solid var(--bsa-line,#DCE3EC);border-radius:var(--bsa-radius-sm,8px);-webkit-appearance:none;appearance:none;}
.bsa-doc-save{flex:none;}
.bsa-doc-saved{font-size:.85rem;font-weight:700;color:var(--bsa-teal,#1F8A78);}

.bsa-doc-pager{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.25rem;}
.bsa-doc-pager span{color:var(--bsa-slate,#4A5A68);font-size:.9rem;}

@media (max-width:560px){
  .bsa-doc-item > summary{gap:.4rem .6rem;}
  .bsa-doc-name{flex-basis:100%;order:3;}
  .bsa-doc-actions{flex-direction:column;align-items:stretch;}
  .bsa-doc-statwrap,.bsa-doc-notefield,.bsa-doc-save{width:100%;}
  .bsa-doc-status{flex:1;}
}

/* ---- Honeypot (spam trap) — visually hidden, not display:none ---- */
.bsa-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;}

/* ---- Form hint text ---- */
.bsa-help{margin:.35rem 0 0;font-size:.82rem;color:var(--bsa-slate,#4A5A68);}
.bsa-err{color:var(--bsa-danger,#B5311F);font-size:.9rem;margin:.5rem 0 0;}

/* ---- [bsa_citizens_charter] ---- */
.bsa-charter{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;}
.bsa-charter-card{background:#fff;border:1px solid var(--bsa-line,#DCE3EC);border-top:4px solid var(--bsa-navy500,#1A6FB0);border-radius:12px;padding:1.1rem 1.2rem;box-shadow:0 1px 2px rgba(10,47,78,.05);}
.bsa-charter-card h3{margin:0 0 .6rem;font-family:'Lora',Georgia,serif;color:var(--bsa-navy900,#0A2F4E);font-size:1.1rem;}
.bsa-charter-req .k{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--bsa-slate,#4A5A68);margin-bottom:.2rem;}
.bsa-charter-req ul{margin:0 0 .8rem;padding-left:1.1rem;}
.bsa-charter-req li{margin:.15rem 0;}
.bsa-charter-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;border-top:1px dashed var(--bsa-line,#DCE3EC);padding-top:.7rem;}
.bsa-charter-meta .k{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--bsa-slate,#4A5A68);}
.bsa-charter-meta .v{font-weight:700;color:var(--bsa-ink,#16222E);}

/* ---- [bsa_transparency] ---- */
.bsa-disc-cat{font-family:'Lora',Georgia,serif;color:var(--bsa-navy900,#0A2F4E);margin:1.4rem 0 .5rem;padding-bottom:.3rem;border-bottom:2px solid var(--bsa-gold,#E8A317);}
.bsa-disc-list{list-style:none;margin:0 0 1rem;padding:0;}
.bsa-disc-item{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;background:#fff;border:1px solid var(--bsa-line,#DCE3EC);border-radius:10px;margin-bottom:.5rem;}
.bsa-disc-ic{font-size:1.1rem;}
.bsa-disc-name{flex:1;font-weight:600;color:var(--bsa-ink,#16222E);}
.bsa-disc-period{display:inline-block;font-size:.72rem;font-weight:700;color:var(--bsa-navy700,#114B7C);background:var(--bsa-paper,#F6F8FC);padding:.1rem .45rem;border-radius:999px;margin-left:.3rem;}
.bsa-disc-dl{flex:none;font-weight:700;color:#fff;background:var(--bsa-navy500,#1A6FB0);padding:.4rem .8rem;border-radius:8px;text-decoration:none;}
.bsa-disc-dl:hover{background:var(--bsa-navy700,#114B7C);}

/* ---- [bsa_feedback] ---- */
.bsa-feedback .bsa-checkbox{display:flex;gap:.5rem;align-items:flex-start;margin:.5rem 0 1rem;font-size:.92rem;}
.bsa-feedback-done{text-align:center;padding:2rem 1rem;}
.bsa-feedback-done h3{font-family:'Lora',Georgia,serif;color:var(--bsa-navy900,#0A2F4E);margin:.5rem 0 .3rem;}

@media (max-width:560px){
  .bsa-feedback .bsa-row{grid-template-columns:1fr!important;}
  .bsa-disc-item{flex-wrap:wrap;}
  .bsa-disc-dl{width:100%;text-align:center;}
}

/* ---- [bsa_transparency] Full Disclosure ---- */
.bsa-disclosure{display:flex;flex-direction:column;gap:1.5rem;}
.bsa-disc-cat{margin:0 0 .25rem;font-family:'Lora',Georgia,serif;font-size:1.15rem;color:var(--bsa-navy900,#0A2F4E);padding-bottom:.4rem;border-bottom:2px solid var(--bsa-gold,#E8A317);}
.bsa-disc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;}
.bsa-disc-item{display:flex;align-items:center;gap:.75rem;background:#fff;border:1px solid var(--bsa-line,#DCE3EC);border-radius:10px;padding:.75rem 1rem;box-shadow:0 1px 2px rgba(10,47,78,.05);}
.bsa-disc-ic{font-size:1.25rem;line-height:1;flex:none;}
.bsa-disc-name{flex:1;font-weight:600;color:var(--bsa-ink,#16222E);word-break:break-word;}
.bsa-disc-period{display:inline-block;font-size:.72rem;font-weight:700;color:var(--bsa-slate,#4A5A68);background:var(--bsa-paper,#F6F8FC);border:1px solid var(--bsa-line,#DCE3EC);padding:.1rem .5rem;border-radius:999px;margin-left:.35rem;white-space:nowrap;}
.bsa-disc-dl{flex:none;display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;font-weight:700;text-decoration:none;color:#fff;background:var(--bsa-navy700,#114B7C);padding:.45rem .9rem;border-radius:var(--bsa-radius-sm,8px);min-height:40px;}
.bsa-disc-dl::before{content:"⬇";font-size:.9em;}
.bsa-disc-dl:hover{background:var(--bsa-navy500,#1A6FB0);}

@media (max-width:520px){
  .bsa-disc-item{flex-wrap:wrap;}
  .bsa-disc-name{flex-basis:calc(100% - 2rem);}
  .bsa-disc-dl{width:100%;justify-content:center;margin-top:.25rem;}
}

/* ---- Lupong Tagapamayapa [bsa_lupon] ---- */
.bsa-lupon-intro p{font-size:1.05rem;color:var(--bsa-ink,#16222E);background:var(--bsa-paper,#F6F8FC);border-left:4px solid var(--bsa-navy500,#1A6FB0);padding:.85rem 1.1rem;border-radius:8px;margin:0 0 1.5rem;}
.bsa-lupon-h{font-family:'Lora',Georgia,serif;color:var(--bsa-navy900,#0A2F4E);margin:1.6rem 0 .8rem;}
.bsa-kp-steps{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.75rem;}
.bsa-kp-step{display:flex;gap:.9rem;align-items:flex-start;background:#fff;border:1px solid var(--bsa-line,#DCE3EC);border-radius:10px;padding:.9rem 1.1rem;}
.bsa-kp-n{flex:none;width:34px;height:34px;border-radius:50%;background:var(--bsa-navy700,#114B7C);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:'Lora',Georgia,serif;}
.bsa-kp-step strong{color:var(--bsa-navy900,#0A2F4E);}
.bsa-kp-step p{margin:.2rem 0 0;color:var(--bsa-slate,#4A5A68);font-size:.95rem;}
.bsa-lupon-note{background:#FDF8EC;border:1px solid var(--bsa-gold,#E8A317);border-radius:8px;padding:.6rem .9rem;font-size:.92rem;color:#6b4e12;}

.bsa-fs{border:1px solid var(--bsa-line,#DCE3EC);border-radius:10px;padding:1rem 1.1rem;margin:0 0 1rem;}
.bsa-fs legend{font-weight:700;color:var(--bsa-navy700,#114B7C);padding:0 .5rem;font-size:.95rem;}
.bsa-row2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;}
@media (max-width:520px){ .bsa-row2{grid-template-columns:1fr;} }

.bsa-form-msg{display:inline-block;margin-left:.6rem;font-weight:600;}
.bsa-form-msg.bsa-err{color:var(--bsa-danger,#B5311F);}
.bsa-complaint-done{background:#fff;border:1px solid var(--bsa-teal,#1F8A78);border-radius:12px;padding:1.2rem 1.3rem;}
.bsa-complaint-done h3{margin-top:0;color:var(--bsa-teal,#1F8A78);font-family:'Lora',Georgia,serif;}
.bsa-ref-out{font-family:'Lora',Georgia,serif;font-size:1.15rem;color:var(--bsa-navy900,#0A2F4E);}

/* complaint status badges (KP stages) — shared with tracker result */
.bsa-track-result{margin-top:1rem;}
.bsa-track-status{display:inline-block;font-weight:700;padding:.3rem .8rem;border-radius:999px;font-size:.9rem;}
.bsa-cb-received{background:#FDF1D6;color:#8a5a00;}
.bsa-cb-mediation{background:#E2EEF7;color:#114B7C;}
.bsa-cb-pangkat{background:#DBF1EC;color:#13715e;}
.bsa-cb-settled{background:#DDEFE0;color:#1f7a43;}
.bsa-cb-certified{background:#E6E4F4;color:#3b3a8a;}
.bsa-cb-dismissed{background:#ECEEF1;color:#5a6672;}

/* ---- Health & Social Services [bsa_health_services] ---- */
.bsa-bhs{background:var(--bsa-navy900,#0A2F4E);color:#fff;border-radius:12px;padding:1.2rem 1.4rem;margin-bottom:1.5rem;}
.bsa-bhs-name{margin:0 0 .8rem;font-family:'Lora',Georgia,serif;color:#fff;}
.bsa-bhs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem 1.5rem;}
.bsa-bhs-f{display:flex;flex-direction:column;}
.bsa-bhs-f .k{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--bsa-gold,#E8A317);}
.bsa-bhs-f .v{font-weight:600;}
.bsa-bhs-f .v a{color:#fff;}
.bsa-health-cat{font-family:'Lora',Georgia,serif;color:var(--bsa-navy900,#0A2F4E);padding-bottom:.4rem;border-bottom:2px solid var(--bsa-teal,#1F8A78);margin:1.5rem 0 1rem;}
.bsa-prog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;}
.bsa-prog{background:#fff;border:1px solid var(--bsa-line,#DCE3EC);border-radius:12px;padding:1.1rem 1.2rem;box-shadow:0 1px 2px rgba(10,47,78,.05);}
.bsa-prog-img{margin:-1.1rem -1.2rem 1rem;}
.bsa-prog-img img{width:100%;height:150px;object-fit:cover;border-radius:12px 12px 0 0;display:block;}
.bsa-prog h4{margin:0 0 .5rem;color:var(--bsa-navy900,#0A2F4E);font-size:1.1rem;}
.bsa-prog-desc{color:var(--bsa-slate,#4A5A68);font-size:.93rem;}
.bsa-prog-desc p{margin:.3rem 0;}
.bsa-prog-meta{list-style:none;margin:.7rem 0 0;padding:.7rem 0 0;border-top:1px dashed var(--bsa-line,#DCE3EC);display:flex;flex-direction:column;gap:.35rem;}
.bsa-prog-meta li{font-size:.88rem;color:var(--bsa-ink,#16222E);}

/* ---- [bsa_privacy_notice] ---- */
.bsa-privacy{max-width:760px;}
.bsa-privacy h2{font-family:'Lora',Georgia,serif;color:var(--bsa-navy900,#0A2F4E);font-size:1.2rem;margin:1.6rem 0 .5rem;padding-bottom:.3rem;border-bottom:1px solid var(--bsa-line,#DCE3EC);}
.bsa-privacy p,.bsa-privacy li{color:var(--bsa-ink,#16222E);line-height:1.65;}
.bsa-privacy ul{margin:.4rem 0 1rem;padding-left:1.25rem;}
.bsa-privacy li{margin:.3rem 0;}
.bsa-privacy-eff{color:var(--bsa-slate,#4A5A68);}

/* ===================== Tricycle Ride App ===================== */
.bsa-ride-wrap{max-width:480px;margin:0 auto;}
.bsa-ride{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(10,47,78,.12);border:1px solid var(--bsa-line,#DCE3EC);margin-bottom:1rem;}

/* map header */
.bsa-ride-map{position:relative;height:148px;overflow:hidden;}
.bsa-ride-map svg{display:block;width:100%;height:100%;}
.bsa-ride-map.is-live .bsa-map-pa{transform-box:fill-box;transform-origin:center;animation:bsa-pin 1.6s ease-in-out infinite;}
@keyframes bsa-pin{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}

/* screens */
.bsa-ride-screen{display:none;padding:1.1rem 1.2rem 1.3rem;}
.bsa-ride-screen.is-active{display:block;animation:bsa-slide .28s ease;}
@keyframes bsa-slide{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.bsa-ride-h{margin:0 0 1rem;font-family:'Lora',Georgia,serif;font-size:1.3rem;color:var(--bsa-navy900,#0A2F4E);}

/* Grab-style pickup/dropoff */
.bsa-trip-inputs{display:flex;gap:.8rem;}
.bsa-trip-rail{display:flex;flex-direction:column;align-items:center;padding-top:30px;}
.bsa-dot{flex:none;width:13px;height:13px;border-radius:50%;}
.bsa-dot-pickup{background:var(--bsa-teal,#1F8A78);box-shadow:0 0 0 3px rgba(31,138,120,.2);}
.bsa-dot-drop{width:12px;height:12px;border-radius:2px;background:var(--bsa-gold,#E8A317);box-shadow:0 0 0 3px rgba(232,163,23,.2);}
.bsa-trip-line{flex:1;width:2px;background:repeating-linear-gradient(var(--bsa-line,#DCE3EC) 0 4px,transparent 4px 8px);margin:4px 0;min-height:46px;}
.bsa-trip-fields{flex:1;display:flex;flex-direction:column;gap:.9rem;}
.bsa-trip-grp{display:flex;flex-direction:column;gap:.4rem;}
.bsa-mini-l{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--bsa-slate,#4A5A68);font-weight:700;}
.bsa-trip-grp select,.bsa-trip-grp input{font-size:16px;padding:.6rem .7rem;border:1.5px solid var(--bsa-line,#DCE3EC);border-radius:10px;-webkit-appearance:none;appearance:none;background:#fff;}
.bsa-trip-grp select:focus,.bsa-trip-grp input:focus{border-color:var(--bsa-navy500,#1A6FB0);outline:none;}

/* passenger stepper */
.bsa-pax-row{display:flex;align-items:center;justify-content:space-between;margin:1.1rem 0;padding:.6rem .2rem;border-top:1px solid var(--bsa-line,#DCE3EC);}
.bsa-pax-l{font-weight:600;color:var(--bsa-ink,#16222E);}
.bsa-stepper{display:flex;align-items:center;gap:.2rem;}
.bsa-step-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--bsa-line,#DCE3EC);background:#fff;font-size:1.4rem;line-height:1;color:var(--bsa-navy700,#114B7C);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.bsa-step-btn:active{background:var(--bsa-paper,#F6F8FC);}
.bsa-stepper input{width:44px;text-align:center;font-size:1.1rem;font-weight:700;border:none;background:transparent;color:var(--bsa-navy900,#0A2F4E);pointer-events:none;}

/* back link */
.bsa-ride-back{background:none;border:none;color:var(--bsa-navy500,#1A6FB0);font-weight:600;cursor:pointer;padding:0 0 .6rem;font-size:.95rem;}

/* route recap */
.bsa-route-recap{background:var(--bsa-paper,#F6F8FC);border-radius:12px;padding:.8rem 1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem;}
.bsa-recap-line{display:flex;align-items:center;gap:.6rem;font-weight:600;color:var(--bsa-ink,#16222E);font-size:.95rem;}

/* fare card */
.bsa-fare-card{background:linear-gradient(135deg,var(--bsa-navy700,#114B7C),var(--bsa-navy900,#0A2F4E));color:#fff;border-radius:14px;padding:1rem 1.2rem;margin-bottom:1.2rem;}
.bsa-fare-main{display:flex;align-items:center;justify-content:space-between;}
.bsa-fare-label{font-size:.85rem;color:rgba(255,255,255,.85);text-transform:uppercase;letter-spacing:.03em;}
.bsa-fare-amt{font-family:'Lora',Georgia,serif;font-size:2rem;font-weight:800;color:var(--bsa-gold,#E8A317);}
.bsa-fare-note{margin:.4rem 0 0;font-size:.78rem;color:rgba(255,255,255,.75);}

.bsa-btn-block{display:block;width:100%;text-align:center;padding:.85rem;font-size:1.02rem;border-radius:12px;}

/* searching */
.bsa-ride-searching{text-align:center;}
.bsa-search-body{padding:1.4rem 1.4rem 1.8rem;position:relative;}
.bsa-search-pulse{width:70px;height:70px;margin:-2.6rem auto 1rem;border-radius:50%;background:var(--bsa-teal,#1F8A78);position:relative;box-shadow:0 6px 16px rgba(31,138,120,.4);}
.bsa-search-pulse::before,.bsa-search-pulse::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--bsa-teal,#1F8A78);animation:bsa-ring 1.8s ease-out infinite;}
.bsa-search-pulse::after{animation-delay:.9s;}
@keyframes bsa-ring{0%{transform:scale(1);opacity:.6}100%{transform:scale(2.4);opacity:0}}
.bsa-search-pulse{background-image:radial-gradient(circle,#fff 30%,transparent 31%);}
.bsa-dots i{display:inline-block;animation:bsa-bounce 1.2s infinite;font-style:normal;}
.bsa-dots i:nth-child(2){animation-delay:.2s}.bsa-dots i:nth-child(3){animation-delay:.4s}
@keyframes bsa-bounce{0%,100%{opacity:.3}50%{opacity:1}}

/* tracking */
.bsa-track-top{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem .4rem;}
.bsa-track-pill{font-weight:700;font-size:.92rem;padding:.35rem .85rem;border-radius:999px;}
.bsa-pill-pending{background:#FDF1D6;color:#8a5a00;}
.bsa-pill-assigned{background:#E2EEF7;color:#114B7C;}
.bsa-pill-enroute{background:#DBF1EC;color:#13715e;}
.bsa-pill-completed{background:#DDEFE0;color:#1f7a43;}
.bsa-pill-cancelled{background:#FBE3DF;color:#B5311F;}
.bsa-track-ref{font-family:'Lora',Georgia,serif;font-weight:700;color:var(--bsa-navy900,#0A2F4E);}
.bsa-track-msg{padding:0 1.2rem;margin:.2rem 0 1rem;color:var(--bsa-slate,#4A5A68);font-size:.92rem;}

/* status timeline */
.bsa-track-steps{list-style:none;margin:0;padding:0 1.2rem 1rem;}
.bsa-track-steps li{position:relative;padding:0 0 1.05rem 2rem;color:var(--bsa-slate,#4A5A68);font-size:.95rem;}
.bsa-track-steps li::before{content:"";position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--bsa-line,#DCE3EC);z-index:1;}
.bsa-track-steps li::after{content:"";position:absolute;left:8px;top:18px;bottom:0;width:2px;background:var(--bsa-line,#DCE3EC);}
.bsa-track-steps li:last-child::after{display:none;}
.bsa-track-steps li.is-done{color:var(--bsa-ink,#16222E);}
.bsa-track-steps li.is-done::before{background:var(--bsa-teal,#1F8A78);border-color:var(--bsa-teal,#1F8A78);}
.bsa-track-steps li.is-done::after{background:var(--bsa-teal,#1F8A78);}
.bsa-track-steps li.is-current{color:var(--bsa-navy900,#0A2F4E);font-weight:700;}
.bsa-track-steps li.is-current::before{background:var(--bsa-navy700,#114B7C);border-color:var(--bsa-navy700,#114B7C);box-shadow:0 0 0 4px rgba(17,75,124,.18);animation:bsa-cur 1.6s ease-in-out infinite;}
@keyframes bsa-cur{0%,100%{box-shadow:0 0 0 4px rgba(17,75,124,.18)}50%{box-shadow:0 0 0 7px rgba(17,75,124,.08)}}
.bsa-ride-track.is-cancelled .bsa-track-steps{opacity:.5;}

/* driver card */
.bsa-driver-card{display:flex;align-items:center;gap:.9rem;margin:0 1.2rem 1rem;padding:.9rem 1rem;background:var(--bsa-paper,#F6F8FC);border:1px solid var(--bsa-line,#DCE3EC);border-radius:14px;}
.bsa-driver-av{flex:none;width:48px;height:48px;border-radius:50%;background:var(--bsa-navy700,#114B7C);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-family:'Lora',Georgia,serif;}
.bsa-driver-info{flex:1;display:flex;flex-direction:column;}
.bsa-driver-name{color:var(--bsa-navy900,#0A2F4E);}
.bsa-driver-meta{font-size:.85rem;color:var(--bsa-slate,#4A5A68);}
.bsa-driver-call{flex:none;background:var(--bsa-teal,#1F8A78);color:#fff;text-decoration:none;font-weight:700;padding:.55rem .9rem;border-radius:10px;font-size:.9rem;}

.bsa-track-trip{margin:0 1.2rem 1rem;padding:.8rem 1rem;border:1px solid var(--bsa-line,#DCE3EC);border-radius:12px;display:flex;flex-direction:column;gap:.5rem;}
.bsa-track-fare{margin:0 1.2rem 1rem;display:flex;align-items:center;justify-content:space-between;font-size:.95rem;color:var(--bsa-slate,#4A5A68);}
.bsa-track-fare strong{font-family:'Lora',Georgia,serif;font-size:1.25rem;color:var(--bsa-navy900,#0A2F4E);}
.bsa-track-actions{display:flex;gap:.6rem;padding:0 1.2rem 1rem;}
.bsa-track-actions .bsa-btn{flex:1;text-align:center;}
.bsa-btn-cancel{background:#fff;border:1.5px solid var(--bsa-danger,#B5311F);color:var(--bsa-danger,#B5311F);}
.bsa-track-updated{text-align:center;color:var(--bsa-slate,#4A5A68);font-size:.78rem;padding:0 1.2rem 1rem;margin:0;}

/* lookup form */
.bsa-ride-lookup{padding:1.2rem 1.3rem 1.4rem;}

/* ===================== Homepage hero stats ([bsa_hero_stats]) ===================== */
/* Lives here (not just the theme) so it ships with the version-busted plugin stylesheet. */
.bsa-hero-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem 2.5rem;margin:1.8rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.22);max-width:720px;}
.bsa-hero-stats .bsa-hstat{display:flex;flex-direction:column;align-items:center;}
.bsa-hero-stats .bsa-hstat-v{font-family:'Lora',Georgia,serif;font-size:2.1rem;font-weight:800;color:#E8A317;line-height:1.05;}
.bsa-hero-stats .bsa-hstat-l{font-size:.82rem;color:rgba(255,255,255,.88);margin-top:.35rem;text-transform:uppercase;letter-spacing:.04em;}
@media (max-width:600px){.bsa-hero-stats{gap:1rem 1.8rem;}.bsa-hero-stats .bsa-hstat-v{font-size:1.6rem;}}

/* =====================================================================
   v2.0 community modules — shared additions
   ===================================================================== */
.bsa-lead{font-size:1.02rem;color:var(--bsa-slate,#4A5A68);margin:0 0 1.1rem;}
.bsa-note{font-size:.85rem;color:var(--bsa-slate,#4A5A68);margin:.6rem 0 0;}
.bsa-mb{margin-bottom:1.25rem;}
.bsa-btn-navy{display:inline-flex;align-items:center;gap:.4rem;background:var(--bsa-navy700,#114B7C);color:#fff;border:0;border-radius:var(--bsa-radius-sm,8px);padding:.55rem 1rem;font-weight:600;font-size:.9rem;text-decoration:none;cursor:pointer;}
.bsa-btn-navy:hover{background:var(--bsa-navy900,#0A2F4E);color:#fff;}
.bsa-btn-gold{display:inline-flex;align-items:center;gap:.4rem;background:var(--bsa-gold,#E8A317);color:var(--bsa-navy900,#0A2F4E);border:0;border-radius:var(--bsa-radius-sm,8px);padding:.55rem 1rem;font-weight:700;font-size:.9rem;text-decoration:none;cursor:pointer;}
.bsa-btn-gold:hover{background:var(--bsa-gold600,#cf9214);color:var(--bsa-navy900,#0A2F4E);}
.bsa-callout{background:var(--bsa-paper,#F6F8FC);border:1px solid var(--bsa-line,#DCE3EC);border-left:4px solid var(--bsa-navy500,#1A6FB0);border-radius:var(--bsa-radius-sm,8px);padding:1rem 1.15rem;margin:0 0 1.25rem;}
.bsa-callout-danger{border-left-color:var(--bsa-danger,#B5311F);background:#fdf3f1;}
.bsa-callout h4{margin:0 0 .4rem;font-size:1.02rem;}
.bsa-callout p{margin:.25rem 0 0;}
.bsa-checklist{list-style:none;margin:.4rem 0 0;padding:0;}
.bsa-checklist li{position:relative;padding:.3rem 0 .3rem 1.7rem;border-bottom:1px solid var(--bsa-line,#DCE3EC);}
.bsa-checklist li:last-child{border-bottom:0;}
.bsa-checklist li::before{content:"✓";position:absolute;left:0;top:.3rem;color:var(--bsa-teal,#1F8A78);font-weight:700;}
.bsa-filewrap{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;}
.bsa-file-link{font-size:.85rem;color:var(--bsa-navy700,#114B7C);word-break:break-all;}

/* ---------- Form message (inline status) ---------- */
.bsa-form-msg{margin:.9rem 0 0;font-size:.92rem;font-weight:600;}
.bsa-form-msg.bsa-ok{color:var(--bsa-teal,#1F8A78);}
.bsa-form-msg.bsa-err{color:var(--bsa-danger,#B5311F);}
.bsa-checkset{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .9rem;margin:.4rem 0 0;}
.bsa-checkset .bsa-checkbox{align-items:center;color:var(--bsa-ink,#16222E);font-weight:500;}
.bsa-checkset .bsa-checkbox input{margin-top:0;}

/* ---------- Listing cards (directory, jobs, ordinances, projects…) ---------- */
.bsa-group-h{font-family:"Lora",Georgia,serif;color:var(--bsa-navy900,#0A2F4E);font-size:1.2rem;margin:1.6rem 0 .8rem;padding-bottom:.35rem;border-bottom:2px solid var(--bsa-line,#DCE3EC);}
.bsa-group-h:first-child{margin-top:0;}
.bsa-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.1rem;}
.bsa-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--bsa-line,#DCE3EC);border-radius:var(--bsa-radius,12px);overflow:hidden;box-shadow:0 1px 2px rgba(10,47,78,.08);}
.bsa-card-img{width:100%;height:150px;object-fit:cover;background:var(--bsa-paper,#F6F8FC);}
.bsa-card-body{padding:1.05rem 1.15rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
.bsa-card-title{font-family:"Lora",Georgia,serif;color:var(--bsa-navy900,#0A2F4E);font-size:1.1rem;margin:0;line-height:1.25;}
.bsa-card-text{font-size:.92rem;color:var(--bsa-slate,#4A5A68);margin:0;}
.bsa-card-text p{margin:0 0 .5rem;}
.bsa-card-text p:last-child{margin-bottom:0;}
.bsa-tag{display:inline-block;align-self:flex-start;background:rgba(17,75,124,.08);color:var(--bsa-navy700,#114B7C);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .55rem;border-radius:999px;}
.bsa-meta-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .4rem;font-size:.86rem;color:var(--bsa-ink,#16222E);}
.bsa-meta-k{color:var(--bsa-slate,#4A5A68);font-weight:600;}
.bsa-meta-row a{color:var(--bsa-navy700,#114B7C);}
.bsa-meta-sep{color:var(--bsa-line,#DCE3EC);}
.bsa-card-dl{margin-top:.4rem;}
.bsa-progress{position:relative;height:10px;border-radius:999px;background:var(--bsa-line,#DCE3EC);overflow:hidden;margin:.2rem 0;}
.bsa-progress > span{position:absolute;inset:0 auto 0 0;background:var(--bsa-teal,#1F8A78);border-radius:999px;}
.bsa-progress-l{font-size:.8rem;font-weight:700;color:var(--bsa-teal,#1F8A78);}

/* ---------- Lost & Found public report ---------- */
.bsa-lf-report{margin-top:1.5rem;border:1px solid var(--bsa-line,#DCE3EC);border-radius:var(--bsa-radius,12px);background:#fff;padding:0;overflow:hidden;}
.bsa-lf-report > summary{cursor:pointer;padding:1rem 1.2rem;font-weight:700;color:var(--bsa-navy900,#0A2F4E);list-style:none;}
.bsa-lf-report > summary::-webkit-details-marker{display:none;}
.bsa-lf-report > summary::before{content:"＋ ";color:var(--bsa-navy500,#1A6FB0);font-weight:700;}
.bsa-lf-report[open] > summary::before{content:"− ";}
.bsa-lf-report .bsa-form{border:0;box-shadow:none;padding:0 1.2rem 1.3rem;}

/* ---------- SMS subscribe / unsubscribe ---------- */
.bsa-subscribe .bsa-form,.bsa-unsub .bsa-form{max-width:520px;}
.bsa-unsub{margin-top:1.25rem;}
.bsa-unsub summary{cursor:pointer;color:var(--bsa-slate,#4A5A68);font-size:.9rem;font-weight:600;}

/* ---------- VAWC confidential desk ---------- */
.bsa-vawc .bsa-callout-danger strong{color:var(--bsa-danger,#B5311F);}
#bsa-vw-contact-wrap[hidden]{display:none;}

/* ---------- Manual fee payment ---------- */
.bsa-fee-table{width:100%;border-collapse:collapse;margin:.4rem 0 1.4rem;background:#fff;border:1px solid var(--bsa-line,#DCE3EC);border-radius:var(--bsa-radius-sm,8px);overflow:hidden;}
.bsa-fee-table th,.bsa-fee-table td{text-align:left;padding:.6rem .9rem;border-bottom:1px solid var(--bsa-line,#DCE3EC);font-size:.92rem;}
.bsa-fee-table tr:last-child th,.bsa-fee-table tr:last-child td{border-bottom:0;}
.bsa-fee-table td{text-align:right;font-weight:700;color:var(--bsa-navy900,#0A2F4E);white-space:nowrap;}
.bsa-pay-channels{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:0 0 1.5rem;}
.bsa-pay-card{border:1px solid var(--bsa-line,#DCE3EC);border-radius:var(--bsa-radius-sm,8px);padding:1rem 1.15rem;background:var(--bsa-paper,#F6F8FC);}
.bsa-pay-card h4{margin:0 0 .5rem;font-size:1rem;}
.bsa-pay-card p{margin:.15rem 0;}
.bsa-pay-num{font-family:"Lora",Georgia,serif;font-size:1.2rem;color:var(--bsa-navy900,#0A2F4E);letter-spacing:.02em;}
.bsa-pay-qr{display:block;max-width:160px;width:100%;height:auto;margin-top:.6rem;border:1px solid var(--bsa-line,#DCE3EC);border-radius:6px;background:#fff;}

/* ---------- Document verification + QR ---------- */
.bsa-verify-result{margin-top:1.1rem;}
.bsa-vr{display:flex;gap:.9rem;align-items:flex-start;border-radius:var(--bsa-radius,12px);padding:1.15rem 1.25rem;border:1px solid var(--bsa-line,#DCE3EC);background:#fff;}
.bsa-vr-icon{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.3rem;font-weight:700;}
.bsa-vr-ok{border-color:rgba(31,138,120,.4);background:rgba(31,138,120,.06);}
.bsa-vr-ok .bsa-vr-icon{background:var(--bsa-teal,#1F8A78);}
.bsa-vr-no{border-color:rgba(181,49,31,.4);background:#fdf3f1;}
.bsa-vr-no .bsa-vr-icon{background:var(--bsa-danger,#B5311F);}
.bsa-vr-pending{border-color:rgba(232,163,23,.5);background:rgba(232,163,23,.08);}
.bsa-vr-pending .bsa-vr-icon{background:var(--bsa-gold600,#C97F0A);}
.bsa-vr h4{margin:0 0 .25rem;font-size:1.05rem;}
.bsa-vr dl{display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;margin:.6rem 0 0;font-size:.9rem;}
.bsa-vr dt{color:var(--bsa-slate,#4A5A68);font-weight:600;}
.bsa-vr dd{margin:0;color:var(--bsa-ink,#16222E);font-weight:600;}
.bsa-qr-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border:1px solid var(--bsa-line,#DCE3EC);border-radius:var(--bsa-radius,12px);background:#fff;}
.bsa-qr{width:148px;height:148px;}
.bsa-qr img,.bsa-qr canvas,.bsa-qr svg{width:100%;height:100%;display:block;}
.bsa-qr-cap{font-size:.78rem;color:var(--bsa-slate,#4A5A68);text-align:center;margin:0;}
.bsa-qr-cap span{font-family:"Lora",Georgia,serif;color:var(--bsa-navy900,#0A2F4E);letter-spacing:.03em;}

/* ---------- Info hubs (disaster, peace & order, senior/PWD, social welfare) ---------- */
.bsa-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem;margin:0 0 1.4rem;}
.bsa-hub-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin:0 0 1.4rem;}
.bsa-hub-card{border:1px solid var(--bsa-line,#DCE3EC);border-radius:var(--bsa-radius,12px);background:#fff;padding:1.2rem 1.3rem;box-shadow:0 1px 2px rgba(10,47,78,.08);}
.bsa-hub-card h4{margin:0 0 .6rem;font-size:1.08rem;}
.bsa-hub-card p{margin:.3rem 0;}
.bsa-hub-card ul{margin:.4rem 0 0;padding-left:1.1rem;}
.bsa-hub-card ul li{margin:.25rem 0;}
.bsa-hub-hotlines{list-style:none;margin:.4rem 0 0;padding:0;}
.bsa-hub-hotlines li{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--bsa-line,#DCE3EC);}
.bsa-hub-hotlines li:last-child{border-bottom:0;}
.bsa-hub-hotlines b{color:var(--bsa-navy900,#0A2F4E);}
.bsa-hub-hotlines a{font-family:"Lora",Georgia,serif;color:var(--bsa-danger,#B5311F);font-weight:700;white-space:nowrap;}
.bsa-hub-links{display:flex;flex-wrap:wrap;gap:.6rem;margin:.4rem 0 0;}
.bsa-hub-links a{display:inline-block;background:var(--bsa-paper,#F6F8FC);border:1px solid var(--bsa-line,#DCE3EC);border-radius:999px;padding:.4rem .9rem;font-size:.85rem;font-weight:600;color:var(--bsa-navy700,#114B7C);text-decoration:none;}
.bsa-hub-links a:hover{background:rgba(17,75,124,.06);}

/* ---------- Weather widget ---------- */
.bsa-weather{border:1px solid var(--bsa-line,#DCE3EC);border-radius:var(--bsa-radius,12px);background:linear-gradient(135deg,#114B7C,#1A6FB0);color:#fff;padding:1.2rem 1.35rem;}
.bsa-weather-now{display:flex;gap:1.1rem;align-items:center;}
.bsa-weather-temp{font-family:"Lora",Georgia,serif;font-size:2.6rem;line-height:1;font-weight:600;}
.bsa-weather-meta{display:flex;flex-direction:column;gap:.1rem;}
.bsa-weather-meta strong{font-size:1.02rem;}
.bsa-weather-meta span{font-size:.88rem;opacity:.92;}
.bsa-weather-sub{font-size:.8rem !important;opacity:.82 !important;margin-top:.2rem;}
.bsa-weather-sub a{color:#fff;text-decoration:underline;}
.bsa-weather-fallback{opacity:.97;}
.bsa-weather-links{margin-top:.9rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.22);display:flex;flex-wrap:wrap;gap:.5rem .9rem;font-size:.83rem;}
.bsa-weather-links a{color:#fff;text-decoration:underline;font-weight:600;}
.bsa-tide{display:flex;flex-direction:column;border:1px solid #1a7d6b;border-radius:var(--bsa-radius,12px);background:linear-gradient(135deg,#1F8A78,#2BA890);color:#fff;padding:1.2rem 1.35rem;}
.bsa-tide-head{display:flex;align-items:center;gap:.55rem;}
.bsa-tide-head h4{margin:0;font-size:1.05rem;color:#fff;font-family:"Lora",Georgia,serif;font-weight:600;}
.bsa-tide-ic{display:inline-flex;align-items:center;}
.bsa-tide p{font-size:.9rem;opacity:.95;margin:.55rem 0 .95rem;line-height:1.5;}
.bsa-tide-btn{display:inline-block;align-self:flex-start;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.55);color:#fff;text-decoration:none;padding:.5rem .9rem;border-radius:8px;font-weight:600;font-size:.9rem;}
.bsa-tide-btn:hover{background:rgba(255,255,255,.28);}
.bsa-tide-src{font-size:.76rem;opacity:.82;margin-top:.75rem;}

/* ---------- Mobile ---------- */
@media (max-width:600px){
  .bsa-cards{grid-template-columns:1fr;}
  .bsa-hub-grid,.bsa-hub-grid-2,.bsa-pay-channels{grid-template-columns:1fr;}
  .bsa-checkset{grid-template-columns:1fr;}
  .bsa-weather-temp{font-size:2.1rem;}
  .bsa-vr dl{grid-template-columns:1fr;gap:.05rem;}
  .bsa-vr dd{margin-bottom:.4rem;}
}

/* =====================================================================
   Online queue portal (v2.1) — components scoped under .bsa-wrap
   ===================================================================== */
.bsa-queue .bsa-fl-label{display:block;font-weight:600;font-size:.9rem;margin:.2rem 0 .35rem;}
.bsa-q-svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 .4rem;}
.bsa-q-svc{position:relative;border:2px solid var(--bsa-line,#DCE3EC);border-radius:var(--bsa-radius-sm,8px);padding:.6rem .7rem;cursor:pointer;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:.55rem;}
.bsa-q-svc.bsa-q-sel{border-color:var(--bsa-navy700,#114B7C);background:rgba(17,75,124,.05);}
.bsa-q-ltr{width:26px;height:26px;border-radius:6px;background:var(--bsa-paper,#F6F8FC);color:var(--bsa-navy700,#114B7C);display:grid;place-items:center;font-family:"Lora",Georgia,serif;font-weight:700;flex:none;}
.bsa-q-card{background:#fff;border:1px solid var(--bsa-line,#DCE3EC);border-radius:var(--bsa-radius,12px);padding:1.2rem 1.25rem;box-shadow:0 1px 2px rgba(10,47,78,.08);margin-bottom:14px;}
.bsa-q-hero{text-align:center;padding:1.4rem 1rem;border-radius:var(--bsa-radius,12px);background:linear-gradient(135deg,#114B7C,#1A6FB0);color:#fff;}
.bsa-q-hkr{font-size:.74rem;opacity:.85;text-transform:uppercase;letter-spacing:.05em;}
.bsa-q-no{font-family:"Lora",Georgia,serif;font-size:3.2rem;font-weight:700;line-height:1;letter-spacing:.02em;}
.bsa-q-svc-name{font-size:.9rem;opacity:.92;margin-top:.2rem;}
.bsa-q-badge{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.22rem .6rem;border-radius:999px;margin-top:.7rem;}
.bsa-q-badge.bsa-q-wait{background:rgba(255,255,255,.18);color:#fff;}
.bsa-q-badge.bsa-q-turn{background:var(--bsa-gold,#E8A317);color:var(--bsa-navy900,#0A2F4E);}
.bsa-q-badge.bsa-q-serv{background:var(--bsa-teal,#1F8A78);color:#fff;}
.bsa-q-badge.bsa-q-done{background:#cdd7e3;color:var(--bsa-navy900,#0A2F4E);}
.bsa-q-pos-wrap{display:flex;gap:10px;margin-top:14px;}
.bsa-q-pos{flex:1;background:var(--bsa-paper,#F6F8FC);border:1px solid var(--bsa-line,#DCE3EC);border-radius:var(--bsa-radius-sm,8px);padding:.8rem;text-align:center;}
.bsa-q-pos b{display:block;font-family:"Lora",Georgia,serif;font-size:1.8rem;color:var(--bsa-navy900,#0A2F4E);line-height:1;}
.bsa-q-pos span{font-size:.72rem;color:var(--bsa-slate,#4A5A68);text-transform:uppercase;letter-spacing:.03em;}
.bsa-q-turn{background:#fff7e6;border:1.5px solid var(--bsa-gold,#E8A317);border-radius:var(--bsa-radius-sm,8px);padding:1rem;text-align:center;margin-top:14px;}
.bsa-q-turn b{font-family:"Lora",Georgia,serif;color:var(--bsa-gold600,#C97F0A);font-size:1.1rem;}
.bsa-q-turn.bsa-q-missed{background:#fdf3f1;border-color:#e3b4ab;}
.bsa-q-turn.bsa-q-missed b{color:var(--bsa-danger,#B5311F);}
.bsa-q-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--bsa-teal,#1F8A78);margin-right:6px;animation:bsa-q-pulse 1.4s infinite;}
@keyframes bsa-q-pulse{0%,100%{opacity:1}50%{opacity:.3}}
.bsa-q-muted{font-size:.8rem;color:var(--bsa-slate,#4A5A68);text-align:center;margin-top:10px;}
.bsa-q-btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:.8rem;}
.bsa-q-btnrow .bsa-btn{flex:0 0 auto;}
/* console */
.bsa-q-winsel{display:flex;gap:6px;margin-bottom:.8rem;flex-wrap:wrap;}
.bsa-q-winsel button{flex:1;min-width:90px;border:1.5px solid var(--bsa-line,#DCE3EC);background:#fff;border-radius:var(--bsa-radius-sm,8px);padding:.5rem;font-family:inherit;font-weight:700;font-size:.84rem;color:var(--bsa-slate,#4A5A68);cursor:pointer;}
.bsa-q-winsel button.bsa-q-on{background:var(--bsa-navy700,#114B7C);border-color:var(--bsa-navy700,#114B7C);color:#fff;}
.bsa-q-serving{background:var(--bsa-navy900,#0A2F4E);color:#fff;border-radius:var(--bsa-radius,12px);padding:1rem 1.2rem;margin-bottom:14px;}
.bsa-q-serving small{display:block;opacity:.75;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;}
.bsa-q-big{font-family:"Lora",Georgia,serif;font-size:2.2rem;font-weight:700;line-height:1.05;}
.bsa-q-serving .bsa-q-sub{font-size:.8rem;opacity:.85;}
.bsa-q-count{font-size:.82rem;color:var(--bsa-slate,#4A5A68);margin:.2rem 0 .5rem;}
.bsa-q-wlist{margin-top:.2rem;}
.bsa-q-wrow{display:flex;align-items:center;gap:.7rem;padding:.6rem .2rem;border-bottom:1px solid var(--bsa-line,#DCE3EC);}
.bsa-q-wrow:last-child{border-bottom:0;}
.bsa-q-wno{font-family:"Lora",Georgia,serif;font-weight:700;color:var(--bsa-navy900,#0A2F4E);font-size:1.05rem;width:64px;flex:none;}
.bsa-q-meta{flex:1;font-size:.85rem;}
.bsa-q-meta small{color:var(--bsa-slate,#4A5A68);}
.bsa-q-pri{font-size:.66rem;font-weight:700;background:#fdeee9;color:var(--bsa-danger,#B5311F);border-radius:999px;padding:.1rem .45rem;text-transform:uppercase;letter-spacing:.03em;margin-left:.3rem;}
/* board */
.bsa-q-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.bsa-q-bwin{background:var(--bsa-navy900,#0A2F4E);color:#fff;border-radius:var(--bsa-radius,12px);padding:1.1rem;text-align:center;}
.bsa-q-lab{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;opacity:.75;}
.bsa-q-num{font-family:"Lora",Georgia,serif;font-size:2.6rem;font-weight:700;line-height:1.05;margin:.2rem 0;}
.bsa-q-sv{font-size:.78rem;opacity:.9;}
.bsa-q-bwin.bsa-q-idle .bsa-q-num{opacity:.35;}
@media (max-width:600px){
  .bsa-q-svc-grid,.bsa-q-board{grid-template-columns:1fr;}
  .bsa-q-no{font-size:2.7rem;}
}

/* Document portal: per-document verification QR block (v2.2) */
.bsa-doc-qr{display:flex;gap:1rem;align-items:flex-start;margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--bsa-line,#DCE3EC);}
.bsa-doc-qr .bsa-qr{width:120px;height:120px;flex:none;border:1px solid var(--bsa-line,#DCE3EC);border-radius:8px;padding:6px;background:#fff;}
.bsa-doc-qr-meta{flex:1;min-width:180px;}
.bsa-doc-qr-meta strong{display:block;color:var(--bsa-navy900,#0A2F4E);font-family:"Lora",Georgia,serif;font-size:1rem;}
.bsa-doc-qr-meta p{font-size:.85rem;color:var(--bsa-slate,#4A5A68);margin:.2rem 0 .6rem;}
@media (max-width:600px){.bsa-doc-qr{flex-direction:column;}.bsa-doc-qr .bsa-qr{width:140px;height:140px;}}


/* ===================== Unified Staff Console [bsa_staff_hub] ===================== */
.bsa-staff-hub .bsa-hub-head{margin-bottom:1rem;}
.bsa-staff-hub .bsa-hub-head h2{margin:0 0 .25rem;color:var(--bsa-navy900,#0A2F4E);}
.bsa-staff-hub .bsa-hub-sub{margin:0 0 .35rem;color:var(--bsa-slate,#4A5A68);}
.bsa-staff-hub .bsa-hub-who{margin:0;font-size:.92rem;color:var(--bsa-slate,#4A5A68);}
.bsa-staff-hub .bsa-hub-who a{color:var(--bsa-navy500,#1A6FB0);}

.bsa-hub-tabs{display:flex;flex-wrap:wrap;gap:.4rem;border-bottom:2px solid var(--bsa-line,#DCE3EC);margin-bottom:1.1rem;}
.bsa-hub-tab{-webkit-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;font:inherit;font-weight:700;color:var(--bsa-slate,#4A5A68);padding:.7rem 1.1rem;border-radius:10px 10px 0 0;border-bottom:3px solid transparent;margin-bottom:-2px;}
.bsa-hub-tab:hover{color:var(--bsa-navy900,#0A2F4E);background:var(--bsa-paper,#F6F8FC);}
.bsa-hub-tab.is-active{color:var(--bsa-navy900,#0A2F4E);border-bottom-color:var(--bsa-gold,#E8A317);background:var(--bsa-paper,#F6F8FC);}
.bsa-hub-tab:focus-visible{outline:2px solid var(--bsa-navy500,#1A6FB0);outline-offset:2px;}

.bsa-hub-panel{display:none;}
.bsa-hub-panel.is-active{display:block;-webkit-animation:bsaHubFade .18s ease;animation:bsaHubFade .18s ease;}
@-webkit-keyframes bsaHubFade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
@keyframes bsaHubFade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}

/* The console supplies its own header + tabs, so hide each embedded portal's
   duplicate "X Processing / Signed in as" header, and neutralise the doubled
   .bsa-wrap width/padding so panels sit flush. */
.bsa-staff-hub .bsa-doc-head{display:none;}
.bsa-staff-hub .bsa-hub-panel > .bsa-wrap{max-width:none;margin:0;padding:0;}

.bsa-hub-loading{display:flex;align-items:center;gap:.6rem;justify-content:center;padding:2.4rem 1rem;color:var(--bsa-slate,#4A5A68);font-weight:600;}
.bsa-hub-spin{width:18px;height:18px;border-radius:50%;border:3px solid var(--bsa-line,#DCE3EC);border-top-color:var(--bsa-navy500,#1A6FB0);display:inline-block;-webkit-animation:bsaHubSpin .7s linear infinite;animation:bsaHubSpin .7s linear infinite;}
@-webkit-keyframes bsaHubSpin{to{transform:rotate(360deg);}}
@keyframes bsaHubSpin{to{transform:rotate(360deg);}}

@media (max-width:560px){
  .bsa-hub-tabs{gap:.2rem;}
  .bsa-hub-tab{padding:.6rem .7rem;font-size:.9rem;flex:1 1 auto;text-align:center;}
}
