#screen-branch-module{
  min-height:100%;
  height:100%;
  overflow-y:auto;
  box-sizing:border-box;
  background:#f4f7fb;
  padding-bottom:35px;
}
.bm-header{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;gap:12px;
  padding:15px 16px;
  color:#fff;
  background:linear-gradient(135deg,#0E4EA3,#073770);
  box-shadow:0 8px 24px rgba(14,78,163,.18);
}
.bm-back{
  width:42px;height:42px;border:0;border-radius:13px;
  background:rgba(255,255,255,.14);
  color:#fff;font-size:22px;cursor:pointer;
}
.bm-head-copy h2{margin:0;font-size:20px}
.bm-head-copy p{margin:3px 0 0;font-size:11px;opacity:.8}
.bm-main{max-width:900px;margin:auto;padding:14px}
.bm-loading,.bm-empty{
  padding:32px 18px;text-align:center;
  background:#fff;border:1px solid #e4eaf3;
  border-radius:18px;
  box-shadow:0 5px 20px rgba(20,45,80,.05);
}
.bm-spinner{
  display:inline-block;width:28px;height:28px;
  border:3px solid #dbe5f3;border-top-color:#0E4EA3;
  border-radius:50%;
  animation:bmspin .8s linear infinite;
}
@keyframes bmspin{to{transform:rotate(360deg)}}
.bm-stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:9px;margin-bottom:14px;
}
.bm-stats article,.bm-card,.bm-att-row,.bm-tx,.bm-message-row{
  background:#fff;border:1px solid #e4eaf3;
  border-radius:16px;
  box-shadow:0 5px 18px rgba(20,45,80,.045);
}
.bm-stats article{padding:13px 8px;text-align:center}
.bm-stats strong{display:block;color:#0E4EA3;font-size:20px}
.bm-stats span{font-size:10px;color:#718097}
.bm-toolbar,.bm-search-wrap{
  padding:11px;margin-bottom:13px;
  background:#fff;border:1px solid #e4eaf3;
  border-radius:15px;
}
.bm-toolbar input,.bm-search-wrap input,
.bm-att-status,.bm-att-remarks,.bm-reply textarea{
  width:100%;box-sizing:border-box;
  border:1px solid #d8e1ed;border-radius:11px;
  padding:10px 11px;background:#fff;color:#1C1D1E;
}
.bm-toolbar label span{
  display:block;margin-bottom:5px;
  font-size:10px;color:#718097;
}
.bm-section-title{margin:17px 2px 9px}
.bm-section-title h3{margin:0;color:#18263a;font-size:16px}
.bm-section-title p{margin:3px 0 0;color:#778399;font-size:11px}
.bm-list{display:grid;gap:9px}
.bm-card,.bm-att-row{padding:13px}
.bm-card-top,.bm-person,.bm-tx{
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;
}
.bm-card-top span,.bm-person span,.bm-tx span{
  display:block;margin-top:3px;
  color:#748096;font-size:10px;
}
.bm-avatar{
  flex:0 0 40px;width:40px;height:40px;
  display:grid;place-items:center;
  border-radius:13px;background:#e9f2ff;
  color:#0E4EA3;font-weight:800;
}
.bm-att-row{
  display:grid;
  grid-template-columns:minmax(180px,1fr) 140px 180px;
  gap:9px;align-items:center;
}
.bm-meta-grid,.bm-result-score{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:7px;margin-top:11px;
}
.bm-meta-grid p,.bm-result-score div{
  margin:0;padding:9px;
  background:#f7f9fc;border-radius:10px;
}
.bm-meta-grid span,.bm-result-score span{
  display:block;font-size:9px;color:#78859a;
}
.bm-meta-grid strong,.bm-result-score strong{
  display:block;margin-top:3px;font-size:12px;
}
.bm-result-parts{
  display:flex;flex-wrap:wrap;gap:9px;
  margin-top:9px;color:#67758b;font-size:10px;
}
.bm-chip{
  display:inline-flex;padding:5px 8px;
  border-radius:999px;background:#edf1f6;
  color:#536176;font-size:9px;font-weight:700;
  text-transform:capitalize;
}
.bm-published,.bm-approved,.bm-present{
  background:#e5f7ed;color:#137244;
}
.bm-pending,.bm-pending-approval,.bm-late{
  background:#fff3d8;color:#8c6200;
}
.bm-rejected,.bm-absent,.bm-critical{
  background:#ffe8ea;color:#b4232c;
}
.bm-generated,.bm-upcoming,.bm-normal{
  background:#e7f0ff;color:#0E4EA3;
}
.bm-doc-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:7px;margin-top:11px;
}
.bm-doc-grid>div{
  padding:8px;background:#f7f9fc;border-radius:10px;
}
.bm-doc-grid>div>span:first-child{
  display:block;margin-bottom:5px;
  color:#718097;font-size:9px;
}
.bm-wallet{
  padding:19px;margin-bottom:15px;
  border-radius:19px;color:#fff;
  background:linear-gradient(135deg,#0E4EA3,#062f65);
  box-shadow:0 10px 25px rgba(14,78,163,.2);
}
.bm-wallet span,.bm-wallet small{display:block;opacity:.8}
.bm-wallet strong{display:block;margin:6px 0;font-size:27px}
.bm-tx{padding:12px}
.bm-credit{color:#147a45!important}
.bm-debit{color:#c12831!important}
.bm-message-row{
  width:100%;padding:12px;text-align:left;
  display:grid;grid-template-columns:25px 1fr auto;
  gap:9px;cursor:pointer;
}
.bm-message-row p{
  margin:3px 0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#68758a;font-size:11px;
}
.bm-unread{
  padding:4px 7px;border-radius:999px;
  background:#ED2226;color:#fff!important;
}
.bm-thread{display:flex;flex-direction:column;gap:8px;margin:13px 0}
.bm-bubble{
  max-width:82%;padding:10px;
  align-self:flex-start;
  background:#fff;border:1px solid #e1e8f1;
  border-radius:15px 15px 15px 5px;
}
.bm-bubble.mine{
  align-self:flex-end;
  background:#0E4EA3;color:#fff;border-color:#0E4EA3;
  border-radius:15px 15px 5px 15px;
}
.bm-bubble p{margin:4px 0;white-space:pre-wrap;font-size:12px}
.bm-bubble span,.bm-bubble small{font-size:9px;opacity:.72}
.bm-reply{
  position:sticky;bottom:10px;
  padding:9px;background:#fff;
  border:1px solid #e1e8f1;border-radius:16px;
  box-shadow:0 8px 25px rgba(20,45,80,.12);
}
.bm-reply textarea{min-height:70px;margin-bottom:7px;resize:vertical}
.bm-primary{
  width:100%;border:0;border-radius:12px;
  padding:11px 14px;background:#0E4EA3;
  color:#fff;font-weight:700;cursor:pointer;
}
.bm-primary:disabled{opacity:.55}
.bm-sticky-action{position:sticky;bottom:12px;margin-top:13px}
.bm-more-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:9px;
}
.bm-more-grid button{
  padding:17px;text-align:left;cursor:pointer;
  border:1px solid #e1e8f1;border-radius:16px;
  background:#fff;
}
.bm-more-grid button>span{font-size:24px}
.bm-more-grid strong{display:block;margin-top:8px;color:#18263a}
.bm-more-grid small{display:block;margin-top:3px;color:#78859a}

@media(max-width:700px){
  .bm-main{padding:11px}
  .bm-stats{grid-template-columns:repeat(2,1fr)}
  .bm-att-row{grid-template-columns:1fr}
  .bm-meta-grid,.bm-result-score{grid-template-columns:repeat(2,1fr)}
  .bm-doc-grid{grid-template-columns:repeat(2,1fr)}
}

/* FINAL ATTENDANCE RESPONSIVE POLISH */
.bm-att-row{
  grid-template-columns:minmax(0,1fr) 128px;
  overflow:hidden;
}

.bm-person{
  min-width:0;
}

.bm-person>div:last-child{
  min-width:0;
}

.bm-person strong,
.bm-person span{
  overflow-wrap:anywhere;
}

.bm-att-status{
  min-width:0;
}

.bm-att-remarks{
  grid-column:1 / -1;
  min-width:0;
}


/* =====================================================
   DOCUMENT CENTER V22
===================================================== */

.bm-doc-note{
  margin:0 0 14px;
  padding:13px 14px;
  border:1px solid rgba(14,78,163,.14);
  border-radius:16px;
  background:linear-gradient(
    135deg,
    rgba(14,78,163,.07),
    rgba(255,255,255,.96)
  );
  box-shadow:0 8px 24px rgba(14,78,163,.06);
}

.bm-doc-note strong{
  display:block;
  color:#0e4ea3;
  font-size:14px;
  line-height:1.35;
  margin-bottom:4px;
}

.bm-doc-note span{
  display:block;
  color:#637083;
  font-size:12px;
  line-height:1.45;
}

.bm-doc-student{
  overflow:hidden;
}

.bm-doc-student-head{
  padding-bottom:12px;
  margin-bottom:2px;
  border-bottom:1px solid rgba(15,23,42,.07);
}

.bm-doc-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:12px;
}

.bm-doc-item{
  min-width:0;
  padding:12px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  background:#fff;
  box-shadow:
    0 6px 18px rgba(15,23,42,.045);
}

.bm-doc-ready{
  border-color:rgba(14,78,163,.16);
  background:
    linear-gradient(
      180deg,
      #fff,
      rgba(14,78,163,.025)
    );
}

.bm-doc-locked{
  background:#fafbfc;
}

.bm-doc-item-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.bm-doc-item-head > div{
  min-width:0;
}

.bm-doc-item-head strong{
  display:block;
  color:#172033;
  font-size:13px;
  line-height:1.3;
}

.bm-doc-item-head small{
  display:block;
  margin-top:3px;
  color:#7a8698;
  font-size:11px;
}

.bm-doc-actions{
  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:11px;
}

.bm-doc-action{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 8px;
  border:1px solid rgba(14,78,163,.15);
  border-radius:10px;
  background:#fff;
  color:#0e4ea3;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
  transition:
    transform .15s ease,
    box-shadow .15s ease,
    background .15s ease;
}

.bm-doc-action:active{
  transform:scale(.98);
}

.bm-doc-action:first-child{
  background:#0e4ea3;
  border-color:#0e4ea3;
  color:#fff;
}

.bm-doc-lock{
  margin-top:10px;
  padding:9px 10px;
  border-radius:10px;
  background:rgba(237,34,38,.045);
  border:1px solid rgba(237,34,38,.09);
}

.bm-doc-lock strong{
  display:block;
  color:#8c2930;
  font-size:11px;
  line-height:1.35;
}

.bm-doc-lock span{
  display:block;
  margin-top:3px;
  color:#7a6264;
  font-size:10.5px;
  line-height:1.4;
}

@media (min-width:700px){
  .bm-doc-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }
}

