  /* ---------- Dashboard layout ---------- */
  .dash{display:flex;gap:24px;align-items:flex-start;}
  .sidebar{
    width:230px;flex-shrink:0;
    background:linear-gradient(165deg,var(--navy-800) 0%, var(--oxford-blue) 55%, #340d13 100%);
    border-radius:var(--radius-lg);
    box-shadow:0 4px 10px rgba(61,15,23,0.15), 0 16px 32px -14px rgba(61,15,23,0.45);
    border:1px solid rgba(184,145,47,0.3);padding:16px;
    position:sticky;top:96px;
  }
  .sidebar .side-label{font-size:.66rem;text-transform:uppercase;letter-spacing:1.8px;color:var(--gold-light);font-weight:800;padding:10px 12px 8px;}
  .sidebar .side-label:first-child{padding-top:4px;}
  .sidebar .side-divider{height:1px;background:linear-gradient(90deg,rgba(255,255,255,0.16),transparent);margin:6px 6px 4px;}
  .sidebar button{
    display:flex;align-items:center;gap:11px;width:100%;text-align:right;
    background:transparent;border:none;border-right:3px solid transparent;padding:10px 12px;
    font-size:.87rem;font-weight:600;color:#f5d7dc;cursor:pointer;margin-bottom:2px;
    flex-direction:row-reverse;justify-content:flex-end;border-radius:8px;
    transition:background .15s ease, color .15s ease;
  }
  .sidebar button.active{
    background:linear-gradient(90deg,rgba(231,205,138,0.16),rgba(231,205,138,0.04));
    color:#fff;border-right-color:var(--gold);font-weight:700;
    box-shadow:inset 0 1px 0 rgba(231,205,138,0.2);
  }
  .sidebar button:hover{background:rgba(255,255,255,0.08);color:#fff;}
  .content{flex:1;min-width:0;}

  .card{
    background:#fff;border-radius:var(--radius-lg);
    box-shadow:0 1px 2px rgba(61,15,23,0.04), 0 10px 26px -14px rgba(61,15,23,0.22);
    border:1px solid var(--line);padding:26px 28px;margin-bottom:22px;
    position:relative;overflow:hidden;
  }
  .card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--gold) 0%,var(--gold-light) 45%,var(--gold) 100%);
    opacity:.9;
  }
  .card h2{margin-top:0;color:var(--oxford-blue);font-size:1.16rem;font-family:var(--serif);font-weight:700;display:flex;align-items:center;gap:9px;letter-spacing:.2px;}
  .card h3{color:var(--navy-800);font-size:1rem;}
  .card > p.desc{color:var(--muted);font-size:.85rem;margin-top:-8px;margin-bottom:18px;}

  .stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:22px;}
  .stat{
    background:linear-gradient(150deg,var(--navy-800) 0%,var(--oxford-blue) 60%,#3d0f17 100%);
    color:#fff;border-radius:14px;padding:20px 22px;
    box-shadow:0 10px 24px -12px rgba(61,15,23,0.5), inset 0 1px 0 rgba(255,255,255,0.08);
    position:relative;overflow:hidden;border:1px solid rgba(255,255,255,0.06);
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .stat:hover{transform:translateY(-3px);box-shadow:0 16px 30px -12px rgba(61,15,23,0.55), inset 0 1px 0 rgba(255,255,255,0.1);}
  .stat::after{content:'';position:absolute;right:-18px;top:-18px;width:78px;height:78px;background:radial-gradient(circle,rgba(231,205,138,0.35) 0%,rgba(231,205,138,0.05) 70%);border-radius:50%;}
  .stat::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--gold),transparent);}
  .stat .num{font-size:1.92rem;font-weight:800;font-family:var(--serif);letter-spacing:.2px;position:relative;z-index:1;}
  .stat .label{font-size:.79rem;opacity:.88;margin-top:4px;letter-spacing:.3px;position:relative;z-index:1;}

  table{width:100%;border-collapse:collapse;font-size:.89rem;}
  th,td{padding:11px 13px;text-align:right;border-bottom:1px solid var(--line);}
  th{background:var(--blue-tint);color:var(--navy-800);font-weight:700;font-size:.8rem;letter-spacing:.3px;text-transform:uppercase;}
  tbody tr:hover td{background:#fbf4f5;}
  table{border-radius:10px;overflow:hidden;border:1px solid var(--line);}


  .row-flex{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;}
  .row-flex .field{flex:1;min-width:170px;margin-bottom:0;}

  .pill{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;font-size:.78rem;font-weight:700;}
  .pill.present{background:var(--green-bg);color:var(--green);}
  .pill.absent{background:var(--red-bg);color:var(--red);}
  .pill.leave{background:var(--amber-bg);color:var(--amber);}
  .pill.partial{background:var(--amber-bg);color:var(--amber);}

  .att-list{display:flex;flex-direction:column;gap:10px;}
  .att-row{
    display:flex;align-items:center;justify-content:space-between;
    background:#fbfbfa;border:1px solid var(--line);border-radius:11px;padding:13px 18px;
    transition:border-color .12s ease;
  }
  .att-row:hover{border-color:#e4c6cb;}
  .att-row .name{font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px;}
  .att-row .toggles{display:flex;gap:8px;}
  .toggle-btn{
    border:1.5px solid var(--line);background:#fff;padding:8px 15px;border-radius:9px;
    cursor:pointer;font-size:.83rem;font-weight:700;color:var(--muted);transition:all .12s ease;
  }
  .toggle-btn.present.on{background:var(--green);color:#fff;border-color:var(--green);}
  .toggle-btn.absent.on{background:var(--red);color:#fff;border-color:var(--red);}
  .toggle-btn.leave.on{background:var(--amber);color:#fff;border-color:var(--amber);}

  .empty{text-align:center;color:var(--muted);padding:36px 10px;font-size:.9rem;background:#fbfbfa;border-radius:12px;border:1px dashed var(--line);}
  .toast{
    position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(10px);
    background:var(--oxford-blue);color:#fff;padding:13px 24px;border-radius:10px;
    font-size:.87rem;font-weight:600;box-shadow:var(--shadow-lg);z-index:100;
    opacity:0;transition:opacity .25s ease, transform .25s ease;pointer-events:none;
    border:1px solid var(--gold);display:flex;align-items:center;gap:8px;
  }
  .toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
  .del-btn{background:transparent;border:none;color:var(--red);cursor:pointer;font-size:.85rem;font-weight:700;padding:4px 8px;border-radius:6px;}
  .del-btn:hover{background:var(--red-bg);}
  .list-item{display:flex;align-items:center;justify-content:space-between;padding:12px 6px;border-bottom:1px solid var(--line);}
  .list-item:last-child{border-bottom:none;}
  .tag-class{background:var(--blue-tint);color:var(--navy-800);padding:3px 11px;border-radius:20px;font-size:.74rem;font-weight:700;border:1px solid #f1d7db;}

  footer.foot{text-align:center;padding:18px;color:var(--muted);font-size:.75rem;}

  @media(max-width:760px){
    .dash{flex-direction:column;align-items:stretch;}
    .content{width:100%;}
    .sidebar{width:100%;box-sizing:border-box;position:static;display:flex;overflow-x:auto;gap:4px;}
    .sidebar button{white-space:nowrap;width:auto;}
    .hero h1{font-size:2rem;}
  }

  /* ---------- Fees sub-tabs ---------- */
  .subtabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;}
  .subtab-btn{
    background:#fff;border:1.5px solid var(--line);color:var(--navy-800);
    padding:9px 18px;border-radius:30px;font-size:.85rem;font-weight:700;cursor:pointer;
  }
  .subtab-btn.active{background:var(--oxford-blue);border-color:var(--oxford-blue);color:#fff;}
  .subtab-btn:hover:not(.active){background:var(--blue-tint);}

  .fee-item-row{display:flex;gap:10px;align-items:flex-end;margin-bottom:10px;}
  .fee-item-row .field{margin-bottom:0;flex:1;}
  .fee-item-row .field.amt{max-width:140px;}
  .fee-summary-line{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line);font-size:.9rem;}
  .fee-summary-line.total{font-weight:800;color:var(--oxford-blue);border-bottom:none;border-top:2px solid var(--navy-800);padding-top:12px;margin-top:4px;font-size:1rem;}
  .checkbox-line{display:flex;align-items:center;gap:8px;padding:8px 4px;font-size:.88rem;}
  .checkbox-line input{width:16px;height:16px;}


  /* ---- Small phones: keep the header inside the screen ---- */
  @media(max-width:560px){
    .topbar-inner{padding:10px 14px;gap:10px;flex-wrap:wrap;}
    .brand-block{gap:10px;min-width:0;}
    .brand-text .name{font-size:1.05rem;}
    .brand-text .sub{font-size:.6rem;letter-spacing:1px;}
    .rightbar{gap:8px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end;}
    .rightbar .who{padding:5px 10px;font-size:.78rem;}
    button.linkbtn{padding:6px 12px;}
  }

/* ---------- Teacher: own class / helper class switch ---------- */
.tc-switch{ display:flex; flex-direction:column; gap:6px; margin-bottom:12px; }
.tc-switch button{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; text-align:left; padding:8px 12px; border-radius:10px; border:1.5px solid rgba(255,255,255,.25); background:rgba(255,255,255,.06); color:#f2dade; font-size:.74rem; font-weight:700; cursor:pointer; }
.tc-switch button b{ font-size:.86rem; color:#fff; }
.tc-switch button.on{ background:#f5c451; border-color:#f5c451; color:#441f25; }
.tc-switch button.on b{ color:#4f161f; }

/* ===== Saved tests register (month by month) ===== */
.tb-classes{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; }
.tb-chip{ padding:6px 12px; border-radius:20px; border:1.5px solid #f3d2d8; background:#fff; color:var(--navy-800); font-weight:700; font-size:.8rem; cursor:pointer; }
.tb-chip span{ display:inline-block; min-width:20px; padding:0 6px; margin-left:4px; border-radius:10px; background:#f8e8eb; color:var(--muted); font-size:.72rem; }
.tb-chip.on{ background:var(--navy-800); border-color:var(--navy-800); color:#fff; }
.tb-chip.on span{ background:#f5c451; color:#4f161f; }
.tb-bar{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:10px; background:#fdeef0; border:1px solid #f2dce0; border-radius:12px; padding:10px 12px; }
.tb-bar .field{ margin:0; }
.tb-sum{ margin:10px 2px; font-size:.84rem; color:var(--muted); }
.tb-sum a{ color:var(--red); font-weight:700; text-decoration:none; margin-left:4px; }
.tb-month{ border:1px solid #f3d2d8; border-radius:12px; margin-bottom:12px; overflow:hidden; background:#fff; }
.tb-month > summary{ display:flex; justify-content:space-between; align-items:center; padding:11px 14px; cursor:pointer; list-style:none; background:linear-gradient(180deg,#fdebee,#f8e3e7); font-weight:800; color:var(--navy-800); }
.tb-month > summary::-webkit-details-marker{ display:none; }
.tb-month > summary::before{ content:'▸'; margin-right:8px; transition:transform .15s; }
.tb-month[open] > summary::before{ transform:rotate(90deg); }
.tb-month > summary > span:first-child{ flex:1; }
.tb-count{ font-size:.75rem; font-weight:700; background:#fff; border:1px solid #f3d2d8; border-radius:20px; padding:2px 10px; color:var(--muted); }
.tb-scroll{ overflow-x:auto; }
.tb-table{ width:100%; margin:0; border-collapse:collapse; font-size:.84rem; }
.tb-table > thead th{ background:#fef2f4; color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.3px; padding:8px; border-bottom:1px solid #f6dee2; white-space:nowrap; }
.tb-table > tbody > tr > td{ padding:9px 8px; border-bottom:1px solid #f5e8ea; vertical-align:middle; text-align:center; }
.tb-table > tbody > tr:hover > td{ background:#fdf1f3; }
.tb-table > tbody > tr.tb-row-on > td{ background:#fff8e6; }
.tb-date{ white-space:nowrap; font-weight:700; color:var(--navy-800); }
.tb-sub{ font-size:.74rem; color:var(--muted); margin-top:2px; }
.tb-sms{ font-size:.72rem; color:var(--green); font-weight:700; margin-top:2px; }
.tb-inch{ font-size:.8rem; }
.tb-inchsel{ padding:4px 6px; border-radius:6px; border:1px solid var(--line); font-size:.78rem; max-width:160px; }
.tb-avg{ display:inline-block; padding:2px 9px; border-radius:20px; font-weight:800; font-size:.76rem; }
.tb-avg.ok{ background:var(--green-bg); color:var(--green); }
.tb-avg.mid{ background:#fff3d6; color:#9a6a00; }
.tb-avg.low{ background:var(--red-bg); color:var(--red); }
.tb-act{ white-space:nowrap; text-align:right !important; }
.tb-btn{ padding:4px 10px !important; font-size:.74rem !important; margin-left:4px; }
.tb-marks > td{ background:#fffdf6; padding:8px 14px 14px !important; }
.tb-marks table{ width:100%; max-width:520px; margin:0 auto; font-size:.82rem; }
@media (max-width:640px){
  .tb-bar{ grid-template-columns:1fr 1fr; gap:8px; padding:8px; }
  .tb-bar .field:last-child{ grid-column:1 / -1; }
  .tb-bar label{ font-size:.74rem; }
  .tb-table > thead{ display:none; }
  .tb-table > tbody > tr{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; padding:10px 12px; border-bottom:1px solid #f5e8ea; }
  .tb-table > tbody > tr > td{ display:block; padding:0; border:none; text-align:left; background:none !important; }
  .tb-table > tbody > tr.tb-row-on{ background:#fff8e6; }
  .tb-table .tb-subj{ flex:1 1 100%; order:0; }
  .tb-table .tb-date{ order:1; font-size:.76rem; }
  .tb-table .tb-cls{ order:2; }
  .tb-table .tb-inch{ order:3; font-size:.76rem; color:var(--muted); }
  .tb-table .tb-inch::before{ content:'👩‍🏫 '; }
  .tb-table .tb-n, .tb-table .tb-av{ order:4; font-size:.76rem; color:var(--muted); }
  .tb-table .tb-n::before, .tb-table .tb-av::before{ content:attr(data-l); }
  .tb-table .tb-act{ order:5; flex:1 1 100%; text-align:left !important; white-space:normal; }
  .tb-btn{ margin:0 6px 0 0; }
  .tb-marks{ padding:0 !important; }
  .tb-marks > td{ flex:1 1 100%; padding:6px 0 4px !important; }
}

/* ===== Attendance: school blocks ===== */
.blk-bar{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:8px; margin:0 0 14px; }
.blk-btn{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:10px 12px; border-radius:12px; border:1.5px solid #f3d2d8; background:#fff; color:var(--navy-800); cursor:pointer; text-align:left; }
.blk-btn b{ font-size:.92rem; }
.blk-btn small{ font-size:.72rem; color:var(--muted); font-weight:600; }
.blk-btn:hover{ border-color:var(--navy-700); }
.blk-btn.on{ background:var(--navy-800); border-color:var(--navy-800); color:#fff; box-shadow:0 4px 12px rgba(164,34,56,.25); }
.blk-btn.on small{ color:#f5c451; }
.blk-table tr.blk-head td{ background:#fce7ea; color:var(--navy-800); font-weight:800; text-align:left; padding:9px 12px; letter-spacing:.3px; border-top:2px solid #f1c6cd; }
.blk-table tr.blk-head td span{ font-weight:600; color:var(--muted); font-size:.8rem; }
.blk-table tr.blk-sub td{ background:#fef2f4; font-weight:800; color:var(--navy-800); border-bottom:2px solid #f2dce0; }
@media (max-width:640px){ .blk-bar{ grid-template-columns:1fr 1fr; } }

/* ===== Teacher Test Report ===== */
.ttr-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:10px; margin-bottom:14px; }
.ttr-stat{ border:1.5px solid #f3d2d8; border-radius:12px; padding:10px 14px; background:#fdeef0; }
.ttr-stat b{ display:block; font-size:1.6rem; color:var(--navy-800); line-height:1.1; }
.ttr-stat span{ font-size:.78rem; color:var(--muted); font-weight:600; }
.ttr-stat.ok{ background:var(--green-bg); border-color:#b9e2c6; } .ttr-stat.ok b{ color:var(--green); }
.ttr-stat.bad{ background:var(--red-bg); border-color:#f3c3be; } .ttr-stat.bad b{ color:var(--red); }
.ttr-none{ border:1.5px solid #f3c3be; background:#fff7f6; border-radius:12px; padding:12px; margin-bottom:6px; }
.ttr-none-h{ font-weight:800; color:var(--red); margin-bottom:8px; }
.ttr-none-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:8px; }
.ttr-chip-bad{ background:#fff; border:1px solid #f3c3be; border-radius:10px; padding:8px 10px; display:flex; flex-direction:column; gap:2px; }
.ttr-chip-bad b{ color:var(--navy-800); }
.ttr-chip-bad small{ color:var(--muted); font-size:.74rem; }
.ttr-allok{ background:var(--green-bg); border:1px solid #b9e2c6; color:var(--green); font-weight:700; border-radius:10px; padding:10px 14px; }
.ttr-table{ width:100%; border-collapse:collapse; font-size:.86rem; }
.ttr-table td{ vertical-align:middle; }
.ttr-table .tag-class{ display:inline-block; margin:2px 2px 2px 0; }
.ttr-table tr.ttr-on > td{ background:#fff8e6; }
.ttr-other{ margin-top:12px; background:#fff6dc; border:1px solid #f0d9a8; border-radius:10px; padding:8px 12px; font-size:.84rem; }

/* ===== Pending fees list ===== */
.fpl-months{ display:grid; grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); gap:6px; }
.fpl-n{ padding:8px 6px; border-radius:10px; border:1.5px solid #f3d2d8; background:#fff; color:var(--navy-800); font-weight:700; font-size:.82rem; cursor:pointer; }
.fpl-n:hover{ border-color:var(--navy-700); }
.fpl-n.on{ background:var(--red); border-color:var(--red); color:#fff; box-shadow:0 3px 10px rgba(179,38,30,.25); }
.fpl-sum{ background:#fdeef0; border:1px solid #f2dce0; border-radius:10px; padding:9px 12px; margin-bottom:10px; font-size:.88rem; }
.fpl-table tr.fpl-cls td{ background:#fce7ea; color:var(--navy-800); font-weight:800; text-align:left; border-top:2px solid #f1c6cd; }
.fpl-table tr.fpl-cls td span{ font-weight:600; color:var(--muted); font-size:.8rem; }
.fpl-table tbody tr:not(.fpl-cls):hover td{ background:#fff8e6; }

/* ===== IT: Student Report ===== */
.sr-pick{ display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:8px; }
.sr-pick-i{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; text-align:left; padding:9px 12px; border-radius:10px; border:1.5px solid #f3d2d8; background:#fff; color:var(--navy-800); cursor:pointer; }
.sr-pick-i small{ color:var(--muted); font-size:.74rem; }
.sr-pick-i:hover{ border-color:var(--navy-700); }
.sr-pick-i.on{ background:#fff8e6; border-color:#f0c35a; }
.sr-top{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; padding-bottom:12px; border-bottom:1px solid var(--line); margin-bottom:8px; }
.sr-ph{ width:64px; height:76px; border-radius:10px; background:#fce7ea; border:1px solid #f3d2d8; display:flex; align-items:center; justify-content:center; font-size:2rem; overflow:hidden; flex:0 0 auto; }
.sr-ph img{ width:100%; height:100%; object-fit:cover; }
.sr-who{ flex:1; min-width:220px; }
.sr-meta{ font-size:.86rem; color:var(--muted); margin-top:4px; }
.sr-acts{ display:flex; gap:8px; flex-wrap:wrap; }
.sr-sec{ margin:18px 0 8px; color:var(--navy-800); border-left:4px solid #f5c451; padding-left:8px; }
.sr-sec span{ font-size:.8rem; color:var(--muted); font-weight:600; margin-left:6px; }
.sr-mtable{ width:100%; border-collapse:collapse; font-size:.86rem; }
.sr-absent{ margin-top:8px; font-size:.82rem; color:var(--red); background:var(--red-bg); border-radius:8px; padding:7px 10px; }
.sr-subj{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.sr-subj span{ background:#fce7ea; border:1px solid #f3d2d8; border-radius:20px; padding:3px 10px; font-size:.78rem; color:var(--navy-800); }
.sr-fee{ border-radius:10px; padding:10px 14px; font-size:.9rem; }
.sr-fee.bad{ background:var(--red-bg); color:var(--red); border:1px solid #f3c3be; }
.sr-fee.ok{ background:var(--green-bg); color:var(--green); border:1px solid #b9e2c6; font-weight:700; }

/* editing a saved test */
.t-editbar{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-top:16px; padding:10px 14px; border-radius:12px; background:#fff6dc; border:1.5px solid #f0c35a; color:#5a3d00; font-size:.88rem; }
.t-editbar span{ flex:1 1 100%; font-size:.78rem; color:#7a5a10; }
.t-editbar .btn{ padding:5px 12px; font-size:.78rem; margin-left:auto; }

/* Student Info: class list */
.si-ctable{ width:100%; border-collapse:collapse; font-size:.88rem; }
.si-ctable tr.blk-head td{ background:#fce7ea; color:var(--navy-800); font-weight:800; text-align:left; padding:9px 12px; border-top:2px solid #f1c6cd; }
.si-ctable tr.blk-head td span{ font-weight:600; color:var(--muted); font-size:.8rem; }
.si-ctable tr.si-crow{ cursor:pointer; }
.si-ctable tr.si-crow:hover td{ background:#fff8e6; }
.si-ctable td{ padding:8px 10px; }

/* ===== Seating plan ===== */
.sp-status{ border-radius:10px; padding:10px 14px; font-size:.86rem; line-height:1.5; }
.sp-status.lv{ background:#fce7ea; border:1px solid #efcad0; color:var(--navy-800); }
.sp-status.lk{ background:#fff6dc; border:1px solid #f0c35a; color:#5a3d00; }
.sp-new{ display:inline-block; background:#d9480f; color:#fff; font-size:.62rem; font-weight:800; padding:1px 6px; border-radius:10px; vertical-align:middle; letter-spacing:.3px; }
.sp-table tfoot td{ padding:9px 10px; }

/* ===== Student bio data ===== */
.bd-table{ width:100%; border-collapse:collapse; font-size:.84rem; }
.bd-table td{ vertical-align:middle; }
.bd-photo{ width:52px; height:64px; border-radius:6px; overflow:hidden; border:1.5px solid #e4c6cb; background:#fce7ea; margin:0 auto; }
.bd-photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 22%; display:block; }
.bd-sr,.bd-roll{ font-weight:800; text-align:center !important; }
.bd-addr{ min-width:160px; }
.bd-miss{ margin-top:16px; border:1.5px solid #f0c35a; border-radius:12px; background:#fffaf0; }
.bd-miss > summary{ cursor:pointer; padding:10px 14px; font-weight:800; color:#7a5300; }
.bd-miss-hint{ padding:0 14px 8px; font-size:.82rem; color:#7a5a10; }
.bd-miss table{ width:100%; border-collapse:collapse; font-size:.84rem; background:#fff; }
.bd-chip{ display:inline-block; background:var(--red-bg); color:var(--red); border-radius:10px; padding:1px 8px; font-size:.72rem; font-weight:700; margin:1px 0; }
.si-allprint{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px; background:#fdeef0; border:1px solid #f2dce0; border-radius:12px; padding:10px 12px; margin-bottom:12px; }
.bd-table td.bd-empty{ background:#fdecea !important; box-shadow:inset 0 0 0 1px #f3c3be; }
.bd-photo.bd-nophoto{ background:#fdecea; border-style:dashed; border-color:#e8a19a; }
.bd-empty-key{ display:inline-block; width:26px; height:13px; vertical-align:middle; background:#fdecea; border:1px solid #f3c3be; border-radius:3px; }
.bd-table tr.blk-head td{ background:#fce7ea; color:var(--navy-800); font-weight:800; text-align:left !important; padding:9px 12px; border-top:2px solid #f1c6cd; }
.bd-table tr.blk-head td span{ font-weight:600; color:var(--muted); font-size:.8rem; }
