#belair-fire-safety-root{display:none;position:fixed;inset:0;z-index:9995;background:#f4f7f5;overflow:auto;color:#17231f}
#belair-fire-safety-root.active{display:block}
.fsc-shell{max-width:1500px;margin:0 auto;padding:22px 24px 70px}
.fsc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;background:linear-gradient(135deg,#173f34,#23604f);color:#fff;border-radius:20px;padding:25px 28px;box-shadow:0 16px 38px rgba(21,63,52,.18)}
.fsc-kicker{display:block;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;opacity:.78}
.fsc-head h1{font-size:31px;line-height:1.1;margin:5px 0 7px}.fsc-head p{margin:0;opacity:.86}
.fsc-head-actions,.fsc-history-actions{display:flex;gap:9px;flex-wrap:wrap}
.fsc-btn{border:1px solid #b9cac3;background:#fff;color:#1d4d3f;border-radius:10px;padding:9px 13px;font:inherit;font-weight:850;cursor:pointer}
.fsc-btn:hover{transform:translateY(-1px)}.fsc-btn.primary{background:#e8b93e;border-color:#e8b93e;color:#263729}
.fsc-btn:disabled{opacity:.55;cursor:wait;transform:none}
.fsc-tabs{position:sticky;top:0;z-index:15;display:flex;gap:8px;background:rgba(244,247,245,.95);backdrop-filter:blur(8px);padding:14px 0 11px}
.fsc-tabs button{border:0;background:#e3ebe7;color:#40594f;padding:10px 14px;border-radius:999px;font-weight:850;cursor:pointer}
.fsc-tabs button.active{background:#1f6b55;color:#fff}
.fsc-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:2px 0 14px}
.fsc-summary>div{background:#fff;border:1px solid #d8e2de;border-radius:14px;padding:15px 16px;box-shadow:0 5px 16px rgba(26,60,49,.05)}
.fsc-summary span{display:block;font-size:11px;text-transform:uppercase;font-weight:900;color:#687b74}
.fsc-summary strong{display:block;font-size:27px;margin-top:4px}.fsc-summary .danger{border-color:#e89995;background:#fff5f5}.fsc-summary .warn{border-color:#e6c86e;background:#fffbea}
.fsc-filters{display:grid;grid-template-columns:minmax(220px,320px) minmax(220px,420px);gap:12px;margin-bottom:13px}
.fsc-filters label>span,.fsc-form-grid label>span,.fsc-failure-comment>span,.fsc-overall-note>span{display:block;font-size:12px;font-weight:850;color:#405a51;margin-bottom:5px}
.fsc-filters select,.fsc-form-grid input,.fsc-form-grid select,.fsc-form-grid textarea,.fsc-failure-comment textarea,.fsc-overall-note textarea{width:100%;box-sizing:border-box;border:1px solid #cbd8d2;border-radius:10px;padding:10px 11px;font:inherit;background:#fff;color:#17231f}
.fsc-notice,.fsc-register-note,.fsc-check-instruction{background:#edf6f2;border-left:5px solid #2b8066;border-radius:12px;padding:12px 14px;margin-bottom:14px;color:#35574c}
.fsc-location-list{display:grid;gap:16px}.fsc-location-card{background:#fff;border:1px solid #d8e2de;border-radius:18px;padding:16px;box-shadow:0 7px 20px rgba(25,61,49,.06)}
.fsc-location-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e4ebe8;padding-bottom:11px;margin-bottom:13px}
.fsc-location-card>header span{display:block;font-size:11px;text-transform:uppercase;color:#6f807a;font-weight:900}
.fsc-location-card>header h2{font-size:21px;margin:3px 0}.fsc-location-card>header>b{background:#eef4f1;padding:6px 9px;border-radius:999px;color:#456157;font-size:12px}
.fsc-unit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:12px}
.fsc-unit-card{border:1px solid #dce5e1;border-radius:15px;padding:14px;background:#fafcfb}.fsc-unit-card.attention{border-color:#e58f8a;background:#fff6f6}
.fsc-unit-title{display:flex;align-items:flex-start;gap:10px}.fsc-unit-title>span{font-size:22px;width:34px;height:34px;display:grid;place-items:center;background:#eef5f2;border-radius:9px}
.fsc-unit-title>div{min-width:0;flex:1}.fsc-unit-title small{font-size:10px;color:#6d7e78;font-weight:850}.fsc-unit-title h3{margin:2px 0 3px;font-size:17px}.fsc-unit-title p{margin:0;color:#697a74;font-size:12px}
.fsc-status{font-size:10px;padding:6px 8px;border-radius:999px;background:#e8f3ee;color:#1f6c55;white-space:nowrap}.fsc-status.attention-required,.fsc-status.overdue{background:#fee4e2;color:#a42821}.fsc-status.check-due{background:#fff0c9;color:#805500}
.fsc-check-types{display:grid;gap:8px;margin-top:12px}.fsc-type-card{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dce5e1;border-radius:12px;padding:10px;background:#fff}
.fsc-type-card>div span{display:block;font-size:10px;text-transform:uppercase;font-weight:900;color:#6c7d77}.fsc-type-card>div strong{display:block;font-size:13px;margin:2px 0}.fsc-type-card>div small{display:block;color:#74837e;font-size:11px}
.fsc-type-card.overdue,.fsc-type-card.due{border-color:#e89c97;background:#fff5f5}.fsc-type-card.soon{border-color:#e8cf7d;background:#fffbef}
.fsc-unit-card>footer{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #e6ece9;margin-top:12px;padding-top:10px;font-size:12px;color:#62736d}
.fsc-link-btn{border:0;background:transparent;color:#166957;font-weight:850;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:5px}
.fsc-history-actions{justify-content:flex-end;margin:0 0 12px}
.fsc-table-wrap{overflow:auto;background:#fff;border:1px solid #d8e2de;border-radius:15px;box-shadow:0 5px 16px rgba(26,60,49,.05)}
.fsc-table{width:100%;border-collapse:collapse;min-width:980px}.fsc-table th,.fsc-table td{padding:10px 11px;border-bottom:1px solid #e6edea;text-align:left;vertical-align:top;font-size:12px}
.fsc-table th{background:#173f34;color:#fff;font-size:11px;position:sticky;top:0}.fsc-table td small{display:block;color:#71817b;margin-top:3px}.fsc-table tr.failed td{background:#fff1f1}
.fsc-empty,.fsc-error{background:#fff;border:1px solid #d8e2de;border-radius:14px;padding:30px;text-align:center}.fsc-error{color:#9f1c16;border-color:#efb0ad}
.fsc-modal-layer{position:fixed;inset:0;z-index:10070;background:rgba(12,28,23,.64);display:flex;align-items:center;justify-content:center;padding:20px}
.fsc-modal-layer.wide .fsc-modal{max-width:1080px}.fsc-modal{width:min(790px,100%);max-height:93vh;overflow:auto;background:#fff;border-radius:19px;box-shadow:0 26px 70px rgba(0,0,0,.29);padding:22px}
.fsc-modal>header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;border-bottom:1px solid #e4ebe8;padding-bottom:13px;margin-bottom:15px}.fsc-modal h2{font-size:24px;margin:3px 0 4px}.fsc-modal header p{margin:0;color:#64756f}
.fsc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.fsc-form-grid .wide{grid-column:1/-1}
.fsc-checkbox-line{display:flex!important;align-items:center;gap:9px;padding-top:24px}.fsc-checkbox-line input{width:21px!important;height:21px}
.fsc-modal form>footer{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #e4ebe8;margin-top:17px;padding-top:15px}
.fsc-check-list{display:grid;gap:12px}.fsc-check-row{border:1px solid #dce5e1;border-radius:14px;padding:14px;background:#f9fbfa;transition:.15s}
.fsc-check-row.failed{border-color:#e47f79;background:#fff3f3}.fsc-check-row.passed{border-color:#9fcfbd;background:#f5fbf8}.fsc-check-row.na{background:#f2f4f3}
.fsc-check-label strong{display:block;font-size:14px}.fsc-check-label small{display:block;color:#6e7d78;margin-top:3px}
.fsc-result-buttons{display:flex;gap:7px;margin-top:10px}.fsc-result-buttons button{border:1px solid #bfcfc8;background:#fff;color:#425c53;border-radius:9px;padding:8px 11px;font-weight:850;cursor:pointer}
.fsc-result-buttons button.active[data-result="Pass"]{background:#23735d;color:#fff;border-color:#23735d}.fsc-result-buttons button.active[data-result="Fail"]{background:#b8322a;color:#fff;border-color:#b8322a}.fsc-result-buttons button.active[data-result="N/A"]{background:#66736e;color:#fff;border-color:#66736e}
.fsc-failure-comment{display:none;margin-top:11px}.fsc-check-row.failed .fsc-failure-comment{display:block}.fsc-check-row.failed textarea{border-color:#d7635c}
.fsc-check-details{margin-top:14px;background:#f4f8f6;padding:13px;border-radius:12px}.fsc-check-footer{position:sticky;bottom:-22px;background:#fff;z-index:3}
.fsc-record-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:13px}.fsc-record-summary>div{padding:12px;background:#eef6f3;border-radius:10px}.fsc-record-summary.attention>div{background:#fff1f1}
.fsc-record-summary span{display:block;font-size:11px;color:#687a74}.fsc-record-summary strong{display:block;margin-top:3px}.fsc-record-note{background:#f6f8f7;padding:11px;border-radius:10px}.fsc-record-note.warning{background:#fff6df}
.fsc-manager-review{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff8e7;border:1px solid #e7c56f;border-radius:12px;padding:13px 14px;margin:0 0 14px}.fsc-manager-review.complete{background:#eef7f3;border-color:#a9d1c1}
.fsc-manager-review span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#6c7d77}.fsc-manager-review strong{display:block;margin-top:3px}.fsc-manager-review p{margin:5px 0 0;color:#586b64;font-size:13px}
.fsc-awaiting{display:inline-block;padding:5px 8px;border-radius:999px;background:#fff2cc;color:#7c4a00;font-size:11px;font-weight:800}
.fsc-loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:13px;color:#315047;font-weight:800}.fsc-spinner{width:35px;height:35px;border:4px solid #cfe0d9;border-top-color:#1f7059;border-radius:50%;animation:fsc-spin .8s linear infinite}@keyframes fsc-spin{to{transform:rotate(360deg)}}
.fsc-toast{position:fixed;z-index:10110;right:20px;bottom:20px;background:#173f34;color:#fff;border-radius:12px;padding:13px 17px;box-shadow:0 12px 30px rgba(0,0,0,.24);max-width:440px;font-weight:750}.fsc-toast.error{background:#9f201a}
.fsc-nav-icon{font-size:17px}
#belair-fire-safety-dashboard-card{width:calc(100% - 48px);margin:12px 24px;border:1px solid #cbd9d3;border-radius:15px;background:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;color:#173f34}
#belair-fire-safety-dashboard-card span,#belair-fire-safety-dashboard-card small{display:block}#belair-fire-safety-dashboard-card span{font-size:11px;text-transform:uppercase;font-weight:900;color:#667b73}#belair-fire-safety-dashboard-card strong{display:block;font-size:16px;margin:3px 0}#belair-fire-safety-dashboard-card small{color:#6f7f79}
#belair-fire-safety-dashboard-card.danger{border-color:#eb9d99;background:#fff5f5}
@media(max-width:900px){
  .fsc-shell{padding:12px 12px 96px}.fsc-head{display:block;padding:20px 17px;border-radius:15px}.fsc-head h1{font-size:26px}.fsc-head-actions{margin-top:14px}
  .fsc-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fsc-filters{grid-template-columns:1fr}.fsc-unit-grid{grid-template-columns:1fr}
  .fsc-tabs{overflow:auto;top:0;padding-top:10px}.fsc-tabs button{white-space:nowrap}
  .fsc-modal-layer{padding:0;align-items:flex-end}.fsc-modal-layer .fsc-modal,.fsc-modal-layer.wide .fsc-modal{width:100%;max-width:none;max-height:96vh;border-radius:20px 20px 0 0;padding:17px}
  .fsc-form-grid{grid-template-columns:1fr}.fsc-form-grid .wide{grid-column:auto}.fsc-check-footer{display:grid!important;grid-template-columns:1fr 1fr;bottom:-17px}.fsc-check-footer button[type=submit]{grid-column:1/-1;order:-1}
  .fsc-record-summary{grid-template-columns:1fr}.fsc-toast{left:12px;right:12px;bottom:88px;max-width:none}.fsc-history-actions{justify-content:stretch}.fsc-history-actions .fsc-btn{flex:1}
  #belair-fire-safety-dashboard-card{width:calc(100% - 24px);margin:10px 12px}
}
@media(max-width:540px){
  .fsc-summary{grid-template-columns:1fr 1fr}.fsc-summary strong{font-size:23px}.fsc-location-card{padding:13px}.fsc-location-card>header{align-items:flex-start}
  .fsc-unit-title{flex-wrap:wrap}.fsc-status{margin-left:44px}.fsc-type-card{display:block}.fsc-type-card .fsc-btn{width:100%;margin-top:9px}
  .fsc-modal>header{display:block}.fsc-modal>header .fsc-btn{margin-top:9px}.fsc-result-buttons{display:grid;grid-template-columns:1fr 1fr 1fr}
  .fsc-check-footer{grid-template-columns:1fr}.fsc-check-footer button[type=submit]{grid-column:auto}.fsc-manager-review{display:block}.fsc-manager-review .fsc-btn{width:100%;margin-top:11px}
  .fsc-form-grid input,.fsc-form-grid select,.fsc-form-grid textarea{font-size:16px}
}
