*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#eef2f6;color:#14213d}.shell{display:flex;min-height:100vh}.sidebar{width:250px;background:#0b1f33;color:white;padding:24px 18px;position:fixed;inset:0 auto 0 0}.brand{font-size:34px;font-weight:800;letter-spacing:1px}.subtitle{font-size:12px;line-height:1.4;color:#b8c7d9;margin:6px 0 28px}nav{display:grid;gap:8px}nav button{border:0;background:transparent;color:#dce6f2;text-align:left;padding:12px 14px;border-radius:8px;font-size:14px;cursor:pointer}nav button.active,nav button:hover{background:#173b5e;color:white}main{margin-left:250px;width:calc(100% - 250px);padding:24px}header{display:flex;justify-content:space-between;align-items:center;background:white;border-radius:12px;padding:18px 22px;box-shadow:0 2px 10px rgba(0,0,0,.06);margin-bottom:20px}header h1{margin:0;font-size:24px}header p{margin:4px 0 0;color:#66788a;font-size:13px}button{font:inherit}.view{display:none}.view.active{display:block}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{background:white;border-radius:12px;padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.05)}.metric{font-size:30px;font-weight:800}.label{color:#607080;font-size:13px}.wide{grid-column:span 2}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px;border-bottom:1px solid #e5eaf0;text-align:left;vertical-align:top}th{color:#506070}form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.full{grid-column:1/-1}input,select,textarea{width:100%;padding:10px;border:1px solid #cbd5df;border-radius:8px;background:white}textarea{min-height:90px}.primary,#newIncident{border:0;background:#0b5fa5;color:white;padding:10px 14px;border-radius:8px;cursor:pointer}.section-title{margin:0 0 14px}.stack{display:grid;gap:16px}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e7f1fb;color:#0b5fa5;font-size:12px}@media(max-width:900px){.sidebar{position:static;width:100%}.shell{display:block}main{margin:0;width:100%}.grid{grid-template-columns:1fr 1fr}}
.login-body{min-height:100vh;display:grid;place-items:center;background:#07111d;padding:24px}.login-card{width:min(430px,100%);background:#0e1b29;border:1px solid #294157;border-radius:14px;padding:32px;box-shadow:0 20px 60px #0008}.login-form{display:grid;gap:16px;margin:28px 0}.login-form label{display:grid;gap:7px;color:#b7c8d9;font-size:14px}.login-form input{width:100%}.error{margin-top:18px;padding:10px 12px;border:1px solid #a54c4c;background:#321b1b;color:#ffd0d0;border-radius:8px}.userbox{margin-top:auto;padding:16px;border-top:1px solid #24384a;font-size:12px;color:#a9bbc9}.userbox a{display:inline-block;margin-top:6px;color:#7fc8ff}.report-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.linkbtn{text-decoration:none;display:inline-block}

/* ECMS modal editors */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.68);display:none;align-items:center;justify-content:center;padding:24px;z-index:9999}
.modal-backdrop.show{display:flex}.modal-card{width:min(820px,96vw);max-height:90vh;overflow:auto;background:#102033;border:1px solid #36506b;border-radius:12px;box-shadow:0 24px 70px rgba(0,0,0,.45)}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #36506b}.modal-head h2{margin:0}.modal-x{font-size:26px;line-height:1;background:transparent;border:0;color:#fff;cursor:pointer}
.modal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px}.modal-form label{display:flex;flex-direction:column;gap:6px;font-weight:600}.modal-form .full,.modal-table{grid-column:1/-1}
.modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.modal-status{grid-column:1/-1;margin:0}.secondary{background:#26394c;color:#fff;border:1px solid #46617b}.submetric{font-size:.82rem;opacity:.75;margin-top:4px}
@media(max-width:700px){.modal-form{grid-template-columns:1fr}.modal-form .full,.modal-actions,.modal-status,.modal-table{grid-column:1}}

.login-logo{display:block;width:min(230px,72%);height:auto;margin:0 auto 18px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}.login-brand{text-align:center}.login-card>.subtitle{text-align:center;margin:6px 0 24px}@media(max-width:520px){.login-logo{width:min(190px,68%)}.login-card{padding:24px}}

.login-footer{margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.10);text-align:center;font-size:.78rem;line-height:1.55;color:var(--muted,#9ba8b7)}
.login-version{margin-top:4px;font-size:.74rem;letter-spacing:.04em;opacity:.85}

/* Personnel mapping */
.personnel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.personnel-head h2{margin-top:0}.personnel-table-wrap{overflow-x:auto}.personnel-map-card{width:min(1100px,96vw)}.personnel-map-status{padding:12px 18px;color:#b7c8d9;background:#0b1724;border-bottom:1px solid #36506b}#personnelMapCanvas{height:min(62vh,620px);min-height:420px;background:#d9e0e6}.personnel-map-list{max-height:180px;overflow:auto;padding:14px 18px;display:grid;gap:8px;background:#0e1b29}.personnel-map-list>div{padding:8px 0;border-bottom:1px solid #294157}.personnel-map-list button{margin-left:8px}@media(max-width:700px){.personnel-head{display:block}.personnel-head .primary{margin-top:12px;width:100%}#personnelMapCanvas{min-height:360px}}
.resource-links-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;border-radius:14px;background:linear-gradient(105deg,#0b315d,#0b5fa5);color:#fff;box-shadow:0 5px 16px rgba(11,49,93,.16)}.resource-links-hero>div:first-child>span{font-size:10px;font-weight:800;letter-spacing:.15em;color:#c7e0f3}.resource-links-hero h2{margin:4px 0;font-size:28px}.resource-links-hero p{margin:0;color:#d8e8f5}.resource-links-count{min-width:125px;padding-left:22px;border-left:1px solid #5b87ae;text-align:center}.resource-links-count strong{display:block;font-size:30px}.resource-links-count span{font-size:11px;color:#d8e8f5}.resource-search-card label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#53677b}.resource-search-card input{font-size:15px}.resource-category-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #e2e9ef}.resource-category-head h3{margin:0;color:#0b315d}.resource-category-head span{padding:4px 8px;border-radius:999px;background:#eaf3fb;color:#0b5fa5;font-size:10px;font-weight:800}.resource-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}.resource-link-item{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:62px;padding:10px 12px;border:1px solid #dbe3eb;border-radius:9px;background:linear-gradient(135deg,#fff,#f7fafc)}.resource-link-item:hover{border-color:#b8cfdf;box-shadow:0 2px 8px rgba(11,49,93,.07)}.resource-link-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;row-gap:3px;min-width:0;flex:1}.resource-link-name-row{display:flex;align-items:center;gap:7px;min-width:0}.resource-link-name-row>strong{color:#173b5e;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-link-copy>.label{grid-column:1/-1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.resource-sort-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;background:#eaf3fb;color:#0b5fa5;font-size:9px;font-weight:800;flex-shrink:0}.field-help{display:block;margin-top:4px;color:#738496;font-size:10px;font-weight:500}.resource-open-link{grid-column:2;grid-row:1;width:max-content;margin:0;padding:6px 9px;border:1px solid #1680d3;border-radius:7px;color:#0b66ae;background:#fff;text-decoration:none;font-size:10px;font-weight:800;white-space:nowrap}.resource-open-link:hover{background:#eaf5fd}.resource-link-inactive{grid-column:1;width:max-content;padding:2px 6px;border-radius:999px;background:#f0f3f6;color:#6b7785;font-size:9px;font-weight:800}.resource-link-actions{display:flex;gap:5px;flex-shrink:0}.resource-link-actions button{padding:5px 7px;border:1px solid #c8d5e1;border-radius:6px;background:#fff;color:#38536c;cursor:pointer;font-size:10px}@media(max-width:1050px){.resource-link-grid{grid-template-columns:1fr}}@media(max-width:800px){.resource-links-hero{align-items:flex-start;flex-direction:column}.resource-links-count{padding-left:0;border-left:0;text-align:left}}

/* Winlink message import and viewer */
.winlink-import-box{margin:0 0 18px;padding:14px;border:1px solid #dbe3eb;border-radius:10px;background:#f8fafc}.winlink-import-box h3{margin:0 0 6px}.winlink-import-row{display:flex;gap:10px;align-items:center;margin:12px 0}.winlink-import-row input{flex:1}.winlink-view-card{width:min(980px,96vw)}.winlink-view-body{padding:20px;display:grid;gap:18px}.winlink-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.winlink-meta>div{display:grid;gap:4px;padding:10px;border:1px solid #36506b;border-radius:8px;background:#0b1724}.winlink-message-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:14px;border:1px solid #36506b;border-radius:8px;background:#07111d;color:#e7eef6;font:13px/1.5 Consolas,monospace}.winlink-form-summary{display:grid;gap:10px}@media(max-width:700px){.winlink-import-row{display:grid}.winlink-meta{grid-template-columns:1fr}}

/* Improve readability of dark ECMS view/edit modals */
.modal-card,.modal-card h2,.modal-card h3,.modal-card h4,.modal-card strong,.modal-card p,.modal-card td{color:#fff}
.modal-card .label,.modal-card th{color:#cbd8e6}
.modal-card input,.modal-card select,.modal-card textarea{color:#14213d;background:#fff}
.winlink-meta>div strong,.winlink-view-body{color:#fff}

/* Dashboard communications summary */
.dashboard-comms-list{display:grid;gap:6px}.dashboard-comms-list a{display:block;color:#0b5fa5;text-decoration:none;padding:4px 0}.dashboard-comms-list a:hover{text-decoration:underline}

/* Communications Plan channel status */
.status-active{font-weight:700}.status-inactive{font-weight:700;opacity:.65}

/* Reports & Certification workspace */
.reports-shell{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 3px 14px rgba(11,31,51,.08);border:1px solid #dde6ef}
.reports-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:20px 26px;border-bottom:1px solid #dbe4ed;background:linear-gradient(90deg,#fff 0%,#fff 78%,#f3f7fb 100%)}
.reports-hero-icon{width:66px;height:66px;border-radius:10px;background:#0b4f8a;color:#fff;display:grid;place-items:center;font-size:38px;font-weight:800;box-shadow:0 3px 8px rgba(11,79,138,.18)}
.reports-hero h2{margin:0;color:#083f78;font-size:30px;line-height:1.05}.reports-hero p{margin:6px 0 0;color:#183d67;font-size:17px}.reports-tagline{padding-left:24px;border-left:1px solid #b9c8d7;color:#123d6a;font-weight:700;line-height:1.35}
.reports-filters{display:grid;grid-template-columns:2fr 1.3fr;gap:14px;padding:16px 24px;background:#f7f9fc;border-bottom:1px solid #dbe4ed}.reports-filters label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#53677b}.reports-filters select{background:#fff}
.reports-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:24px 12px 26px}.report-tile{min-width:0;padding:0 14px;text-align:center;border-right:1px solid #d9e2eb;display:flex;flex-direction:column;align-items:stretch}.report-tile:last-child{border-right:0}.report-tile h3{margin:8px 0 2px;color:#072f63;font-size:19px}.report-tile p{margin:0 0 18px;color:#183d67;min-height:36px;font-size:14px}
.report-icon{height:62px;display:flex;align-items:center;justify-content:center;color:#084981;font-weight:800;margin:auto}.report-icon.doc{width:58px;border:4px solid #084981;border-radius:4px;font-size:20px;position:relative}.report-icon.doc:before{content:'';position:absolute;right:-4px;top:-4px;border-left:15px solid transparent;border-bottom:15px solid #084981}.report-icon.people{font-size:25px;letter-spacing:-6px}.report-icon.clock{font-size:58px;font-weight:400}.report-icon.resource{font-size:58px;font-weight:400}.report-icon.package{font-size:58px;font-weight:400}
.report-action{width:100%;min-height:48px;margin:0 0 10px;padding:10px 8px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:700;font-size:14px;cursor:pointer;line-height:1.15}.primary-action{background:linear-gradient(#1382df,#086ac2);color:#fff;border:1px solid #0865b6}.outline-action{background:#fff;color:#084981;border:1.5px solid #1382df}.certify{background:linear-gradient(#36a83e,#278c30);color:#fff;border:1px solid #237e2a}.cert-status{font-size:11px;color:#49647c;line-height:1.25;text-align:left;overflow-wrap:anywhere;margin-top:0}.cert-status:empty{display:none}
@media(max-width:1350px){.reports-grid{grid-template-columns:repeat(3,1fr);gap:20px 0}.report-tile:nth-child(3){border-right:0}.report-tile:nth-child(-n+3){padding-bottom:22px;border-bottom:1px solid #d9e2eb}.report-tile:nth-child(n+4){padding-top:22px}}
@media(max-width:850px){.reports-hero{grid-template-columns:auto 1fr}.reports-tagline{display:none}.reports-filters{grid-template-columns:1fr}.reports-grid{grid-template-columns:1fr}.report-tile{border-right:0!important;border-bottom:1px solid #d9e2eb;padding:20px 16px!important}.report-tile:last-child{border-bottom:0}.reports-hero h2{font-size:24px}.reports-hero p{font-size:14px}}

/* Certification history */
.history-button{align-self:end;border:1px solid #0b5fa5;background:#fff;color:#0b5fa5;padding:10px 14px;border-radius:8px;font-weight:700;cursor:pointer}.history-button:hover{background:#eef6fc}.cert-history-wrap{overflow-x:auto}.cert-history-wrap table{min-width:980px}.cert-history-summary{color:#cbd8e6;padding-bottom:4px}.cert-history-wrap code{font-size:11px;white-space:nowrap}

/* Polished ECMS command dashboard */
.dashboard-shell{background:#fff;border:1px solid #dde6ef;border-radius:14px;overflow:hidden;box-shadow:0 3px 14px rgba(11,31,51,.08)}
.dashboard-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:22px;padding:24px 28px;background:linear-gradient(105deg,#fff 0%,#f6f9fc 70%,#eaf3fb 100%);border-bottom:1px solid #dbe4ed}.dashboard-operational-time{min-width:260px;padding:8px 14px;border-left:1px solid #cbd9e6;border-right:1px solid #cbd9e6}.dashboard-time-eyebrow{text-align:center;color:#0b5fa5;font-size:9px;font-weight:800;letter-spacing:.14em;margin-bottom:5px}.dashboard-time-pair{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:12px}.dashboard-time-divider{height:34px;background:#d6e1eb}.dashboard-time-block{display:grid;text-align:center;line-height:1.05}.dashboard-time-block span{font-size:8px;font-weight:800;letter-spacing:.1em;color:#6a7f92}.dashboard-time-block strong{margin-top:3px;color:#082e5c;font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap}.dashboard-time-block small{margin-top:4px;color:#71859a;font-size:9px;text-transform:uppercase;white-space:nowrap}.dashboard-hero-icon{width:68px;height:68px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#0b5fa5,#083f78);color:#fff;font-size:42px;font-weight:800;box-shadow:0 6px 16px rgba(11,95,165,.22)}.dashboard-eyebrow{color:#0b5fa5;font-size:11px;font-weight:800;letter-spacing:.14em}.dashboard-hero h2{margin:4px 0 5px;color:#082e5c;font-size:29px}.dashboard-hero p{margin:0;color:#536b82;font-size:14px}.dashboard-status{display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.dashboard-status span{width:8px;height:8px;border-radius:50%}.dashboard-status.is-active{color:#237b2d;background:#eaf7ec;border:1px solid #bfe1c3}.dashboard-status.is-active span{background:#2d9a38;box-shadow:0 0 0 4px rgba(45,154,56,.12)}.dashboard-status.is-standby{color:#6b7785;background:#f0f3f6;border:1px solid #d6dde4}.dashboard-status.is-standby span{background:#8794a1}
.dashboard-section-heading{display:flex;justify-content:space-between;align-items:end;padding:22px 24px 10px}.dashboard-section-heading>div{display:flex;align-items:center;gap:10px}.dashboard-section-heading span{color:#0b5fa5;font-size:11px;font-weight:800;letter-spacing:.08em}.dashboard-section-heading h3{margin:0;color:#0b2748;font-size:17px}.dashboard-section-heading p{margin:0;color:#718294;font-size:12px}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 24px 8px}.dashboard-metrics-five{grid-template-columns:repeat(6,minmax(0,1fr));padding-bottom:22px}.dashboard-metric{position:relative;display:flex;align-items:center;gap:14px;min-width:0;padding:17px 15px;background:#fff;border:1px solid #dfe7ef;border-radius:11px;box-shadow:0 3px 10px rgba(16,50,82,.06);overflow:hidden}.dashboard-metric:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:currentColor}.dashboard-metric-icon,.dashboard-panel-icon{flex:0 0 auto;width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-size:21px;font-weight:800;background:color-mix(in srgb,currentColor 11%,white);color:inherit}.dashboard-metric .metric{color:#0b2748;font-size:27px;line-height:1}.dashboard-metric-label{margin-top:5px;color:#38536c;font-size:12px;font-weight:700;line-height:1.2}.dashboard-metric .submetric{color:#7a8a99;font-size:10px}.tone-blue{color:#0b72c5}.tone-green{color:#2d9638}.tone-purple{color:#7651b5}.tone-indigo{color:#3d5fb4}.tone-orange{color:#d8791e}.tone-red{color:#c94343}.tone-slate{color:#718093}
.dashboard-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:8px 24px 14px;background:#f7f9fc}.dashboard-panel{background:#fff;border:1px solid #dde6ef;border-radius:12px;padding:18px;box-shadow:0 3px 12px rgba(11,31,51,.06)}.dashboard-panel-head{display:flex;align-items:center;gap:11px;padding-bottom:14px;border-bottom:1px solid #e6ecf2}.dashboard-panel-head>div:nth-child(2){min-width:0}.dashboard-panel-head span{display:block;color:#71869a;font-size:9px;font-weight:800;letter-spacing:.13em}.dashboard-panel-head h3{margin:2px 0 0;color:#0b315d;font-size:17px}.dashboard-panel-head h3 a{color:inherit;text-decoration:none}.dashboard-view-link{margin-left:auto;color:#0b69b4;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}.dashboard-panel-icon{width:40px;height:40px}
.dashboard-op-panel{background:linear-gradient(125deg,#fff 0%,#f1f7fc 100%)}.dashboard-op-number{margin-top:18px;color:#0b5fa5;font-size:28px;font-weight:800}.dashboard-op-name{margin-top:3px;color:#173b5e;font-weight:700}.dashboard-op-time{margin-top:7px;color:#6a7d8f;font-size:12px}.dashboard-empty{display:grid;gap:5px;padding:22px 4px;color:#748597}.dashboard-empty strong{color:#415b73;font-size:14px}.dashboard-empty span{font-size:12px}
.dashboard-comms-list{gap:0}.dashboard-comms-list>a{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:9px;padding:10px 4px!important;border-bottom:1px solid #edf1f5;color:#38536c!important}.dashboard-comms-list>a:last-child{border-bottom:0}.dashboard-comms-list>a:hover{background:#f7fbff;text-decoration:none!important}.dashboard-comms-list strong{color:#0b5fa5;font-size:12px}.dashboard-comms-list em{color:#71869a;font-size:11px;font-style:normal}.channel-indicator{width:8px;height:8px;border-radius:50%;background:#30a440;box-shadow:0 0 0 3px #e2f4e5}
.dashboard-traffic-panel{margin:0 24px 24px}.dashboard-table-wrap{overflow-x:auto}.dashboard-table-wrap table{margin-top:6px}.dashboard-table-wrap th{padding-top:13px;color:#4b657d;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.dashboard-table-wrap .label{margin:18px 4px 4px;padding:20px;text-align:center;background:#f7f9fc;border-radius:8px}
@media(max-width:1250px){.dashboard-metrics-five{grid-template-columns:repeat(3,1fr)}.dashboard-operational-time{min-width:235px}}@media(max-width:950px){.dashboard-metrics{grid-template-columns:repeat(2,1fr)}.dashboard-detail-grid{grid-template-columns:1fr}.dashboard-hero{grid-template-columns:auto 1fr auto}.dashboard-operational-time{grid-column:2;grid-row:2;justify-self:start;border-left:0;border-right:0;border-top:1px solid #d6e1eb;padding:9px 0 0;min-width:260px}.dashboard-time-eyebrow{text-align:left}.dashboard-status{grid-column:3;grid-row:1/3}}@media(max-width:620px){.dashboard-hero{grid-template-columns:1fr;padding:20px}.dashboard-hero-icon{display:none}.dashboard-operational-time{grid-column:1;grid-row:auto;justify-self:stretch;min-width:0}.dashboard-status{grid-column:1;grid-row:auto;justify-self:start}.dashboard-section-heading{align-items:start}.dashboard-section-heading>p{display:none}.dashboard-metrics,.dashboard-metrics-five{grid-template-columns:1fr;padding-left:14px;padding-right:14px}.dashboard-detail-grid{padding-left:14px;padding-right:14px}.dashboard-traffic-panel{margin-left:14px;margin-right:14px}}

/* Closed incident report history */
.reports-active-filters{grid-template-columns:2fr 1.3fr auto}.report-active-value{min-height:39px;padding:7px 10px;border:1px solid #cbd5df;border-radius:8px;background:#fff;display:grid;gap:2px}.report-active-value strong{color:#183d67;font-size:13px}.report-active-value span{color:#718294;font-size:11px}.reports-history-actions{display:flex;align-items:end;gap:8px}.report-history-button{background:#0b5fa5;color:#fff;border-color:#0b5fa5}.report-history-button:hover{background:#084d87}.report-history-button span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 6px;border-radius:999px;background:#fff;color:#0b5fa5;font-size:11px}.reports-standby{margin:22px 24px 0;padding:24px;border:1px solid #bfe1c3;border-radius:12px;background:linear-gradient(105deg,#f7fcf8,#eef8f0);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:5px 14px}.reports-standby>div{grid-row:1/3;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#2d9638;color:#fff;font-size:22px;font-weight:800}.reports-standby strong{color:#1e6630}.reports-standby span{color:#54725b;font-size:12px}.reports-standby button{grid-column:3;grid-row:1/3}.reports-disabled{opacity:.38;filter:grayscale(.25);pointer-events:none;user-select:none}
.report-history-modal{width:100vw;height:100vh;max-height:100vh;border-radius:0;display:flex;flex-direction:column;background:#f4f7fa;border:0;overflow:hidden}.report-history-modal .modal-head{background:linear-gradient(105deg,#0b315d,#0b5fa5);border:0}.report-history-modal .modal-head p{margin:4px 0 0;color:#c9deef;font-size:13px}.report-history-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:18px 18px 24px;display:grid;align-content:start;gap:18px;scrollbar-gutter:stable}.report-history-loading,.report-history-empty{padding:30px;text-align:center;color:#607487;display:grid;gap:6px}.report-history-incident{background:#fff;border:1px solid #d9e3ec;border-radius:12px;overflow:hidden;box-shadow:0 3px 10px rgba(11,31,51,.06)}.report-history-incident-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 18px;background:linear-gradient(90deg,#fff,#f3f7fb);border-bottom:1px solid #dfe7ef}.report-history-incident-head h3{margin:4px 0 2px;color:#0b315d;font-size:20px}.report-history-incident-head p{margin:0;color:#65798c;font-size:12px}.archive-badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#e8eef4;color:#526a80;font-size:9px;font-weight:800;letter-spacing:.1em}
.report-history-all{padding:15px 18px;border-bottom:1px solid #e5ebf1;background:#fcfdff;display:grid;grid-template-columns:170px 1fr;align-items:center;gap:12px}.report-history-all>strong{color:#38536c;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.report-history-all>div,.report-history-period>div:last-child{display:flex;gap:7px;flex-wrap:wrap}.report-history-all a,.report-history-period a{padding:7px 10px;border:1px solid #1680d3;border-radius:7px;color:#0b66ae;background:#fff;text-decoration:none;font-size:11px;font-weight:700}.report-history-all a:hover,.report-history-period a:hover{background:#eaf5fd}.report-history-periods{display:grid;background:#fff}.report-history-period{display:grid;grid-template-columns:minmax(230px,1fr) auto;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid #edf1f5}.report-history-period:last-child{border-bottom:0}.report-history-period>div:first-child{display:grid;gap:3px}.report-history-period strong{color:#173b5e;font-size:13px}.report-history-period span{color:#718294;font-size:11px}
@media(max-width:1050px){.reports-active-filters{grid-template-columns:1fr}.reports-history-actions{align-items:center}.reports-standby{grid-template-columns:auto 1fr}.reports-standby button{grid-column:2;grid-row:3}.report-history-period{grid-template-columns:1fr}}@media(max-width:620px){.reports-standby{margin:14px;grid-template-columns:1fr}.reports-standby>div{grid-row:auto}.reports-standby button{grid-column:auto;grid-row:auto}.report-history-incident-head{align-items:flex-start;flex-direction:column}.report-history-all{grid-template-columns:1fr}}

/* Incident Operations active-status card */
.incident-active-box{display:flex;align-items:center;gap:16px;margin:14px 0 16px;padding:14px 16px;border:1px solid #bfe1c3;border-radius:12px;background:linear-gradient(105deg,#fff 0%,#f4fbf5 100%);box-shadow:0 3px 10px rgba(35,123,45,.08)}
.incident-active-details{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#536b82;font-size:13px}.incident-active-details strong{color:#174f20;font-size:15px}.incident-active-details span{padding-left:12px;border-left:1px solid #cfe3d2}
@media(max-width:620px){.incident-active-box{align-items:flex-start;flex-direction:column}.incident-active-details{align-items:flex-start;flex-direction:column;gap:4px}.incident-active-details span{padding-left:0;border-left:0}}

/* ECMS cinematic login splash */
.login-body.login-splash{min-height:100vh;margin:0;padding:0;display:flex;align-items:center;justify-content:center;background:#06182b url('/static/ecms-login-background.png?v=20260917-0327') center center/cover no-repeat fixed;overflow:auto}
.login-live-card{width:min(550px,calc(100vw - 32px));margin-top:28vh;padding:28px 48px 24px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.8);border-radius:18px;box-shadow:0 18px 55px rgba(0,22,48,.28);backdrop-filter:blur(8px);text-align:center;color:#082e5c}
.login-live-card h1{margin:0;font-size:34px;line-height:1.1;color:#082e5c}.login-prompt{margin:9px 0 22px;color:#38536c;font-size:16px}.login-splash-form{display:grid;grid-template-columns:1fr;gap:14px;margin:0}.login-splash-form label{display:block;text-align:left}.login-splash-form label span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-splash-form input{height:54px;padding:0 17px;border:1px solid #c4cfdb;border-radius:7px;background:rgba(255,255,255,.98);font-size:16px;color:#0b2748;box-shadow:inset 0 1px 2px rgba(11,31,51,.03)}.login-splash-form input:focus{outline:3px solid rgba(11,95,165,.15);border-color:#0b5fa5}.login-signin{height:54px;margin-top:0;background:linear-gradient(90deg,#0b5fa5,#075492);font-size:16px;font-weight:700;box-shadow:0 6px 14px rgba(11,95,165,.18)}.login-signin:hover{background:linear-gradient(90deg,#084f8a,#063f70)}.login-authorized{margin:17px 0 0;color:#718294;font-size:11px;letter-spacing:.02em}.login-live-card .error{margin:0 0 14px;text-align:left}
@media(max-width:800px){.login-body.login-splash{background-position:38% center}.login-live-card{margin-top:22vh;padding:24px 24px 20px}.login-live-card h1{font-size:28px}}
@media(max-height:700px){.login-live-card{margin-top:18vh;padding-top:20px;padding-bottom:18px}.login-live-card h1{font-size:28px}.login-prompt{margin-bottom:14px}.login-splash-form input,.login-signin{height:48px}}

/* Login splash alignment fix: use the form panel already baked into the approved background */
.login-body.login-splash{position:relative;overflow:hidden;background-size:cover;background-position:center center;background-repeat:no-repeat}
.login-live-card{position:absolute;left:50%;top:57.7%;transform:translateX(-50%);width:min(520px,calc(100vw - 40px));margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;color:#082e5c}
.login-live-card h1,.login-live-card .login-prompt,.login-live-card .login-authorized{display:none}
.login-splash-form{gap:14px;margin:0}
.login-splash-form input{height:62px;padding:0 18px;border:1px solid #c4cfdb;border-radius:7px;background:rgba(255,255,255,.98);font-size:16px;color:#0b2748;box-shadow:none}
.login-signin{height:62px;border-radius:7px;margin:0}
.login-live-card .error{margin:0 0 12px;padding:9px 12px;background:rgba(50,27,27,.96)}
@media(max-width:900px){.login-body.login-splash{background-size:cover;background-position:center center}.login-live-card{top:57.5%;width:min(520px,calc(100vw - 32px))}}
@media(max-width:620px){.login-body.login-splash{background-image:none!important;background:#07111d}.login-live-card{position:static;transform:none;width:min(430px,100%);margin:auto;padding:28px 24px;background:#0e1b29;border:1px solid #294157;border-radius:14px;box-shadow:0 20px 60px #0008}.login-live-card h1,.login-live-card .login-prompt,.login-live-card .login-authorized{display:block}.login-live-card h1{color:#fff}.login-live-card .login-prompt{color:#b7c8d9}.login-live-card .login-authorized{color:#9ba8b7}.login-splash-form input,.login-signin{height:52px}}

/* Final ECMS login layout for clean background image */
.login-body.login-splash{min-height:100vh;margin:0;padding:24px;display:flex;align-items:center;justify-content:center;background:#06182b url('/static/ecms-login-background.png?v=20260917-0327') center center/cover no-repeat fixed;overflow:auto}
.login-live-card{position:relative;left:auto;top:auto;transform:none;width:min(520px,calc(100vw - 40px));margin-top:22vh;padding:28px 42px 24px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.82);border-radius:18px;box-shadow:0 18px 55px rgba(0,22,48,.28);backdrop-filter:blur(8px);text-align:center;color:#082e5c}
.login-live-card h1,.login-live-card .login-prompt,.login-live-card .login-authorized{display:block}
.login-live-card h1{margin:0;color:#082e5c;font-size:32px;line-height:1.1}
.login-live-card .login-prompt{margin:8px 0 20px;color:#38536c;font-size:15px}
.login-splash-form{display:grid;grid-template-columns:1fr;gap:13px;margin:0}
.login-splash-form input{height:52px;padding:0 16px;border:1px solid #c4cfdb;border-radius:7px;background:#fff;font-size:16px;color:#0b2748;box-shadow:none}
.login-signin{height:52px;border-radius:7px;margin:0;background:linear-gradient(90deg,#0b5fa5,#075492);font-size:16px;font-weight:700}
.login-live-card .login-authorized{margin:15px 0 0;color:#718294;font-size:11px}
.login-live-card .error{margin:0 0 12px;text-align:left}
@media(max-width:800px){.login-body.login-splash{background-position:40% center}.login-live-card{margin-top:18vh;padding:24px 24px 20px}.login-live-card h1{font-size:27px}}
@media(max-width:620px){.login-body.login-splash{background-image:none!important;background:#07111d}.login-live-card{width:min(430px,100%);margin:0;padding:28px 24px;background:#0e1b29;border-color:#294157}.login-live-card h1{color:#fff}.login-live-card .login-prompt{color:#b7c8d9}.login-live-card .login-authorized{color:#9ba8b7}}

/* Responsive ECMS login review — show the complete approved background without cropping */
.login-body.login-splash{
  min-height:100vh;
  padding:0;
  background-color:#06182b;
  background-image:url('/static/ecms-login-background.png?v=20260917-0327');
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  background-attachment:scroll;
  overflow:hidden;
}
.login-live-card{
  width:min(440px,calc(100vw - 36px));
  margin-top:26vh;
  padding:22px 30px 20px;
  border-radius:16px;
}
.login-live-card h1{font-size:28px}
.login-live-card .login-prompt{margin:6px 0 15px;font-size:14px}
.login-splash-form{gap:10px}
.login-splash-form input,.login-signin{height:46px}
@media(max-width:900px){
  .login-body.login-splash{background-position:center center;background-size:contain}
  .login-live-card{margin-top:24vh;width:min(420px,calc(100vw - 28px));padding:20px 24px 18px}
}
@media(max-width:620px){
  .login-body.login-splash{background-image:url('/static/ecms-login-background.png?v=20260917-0327')!important;background-size:contain;background-position:center top;background-color:#06182b;padding:12px;overflow:auto}
  .login-live-card{margin-top:48vh;width:min(390px,100%);padding:20px 20px 18px;background:rgba(255,255,255,.95);border-color:rgba(255,255,255,.82)}
  .login-live-card h1{color:#082e5c}.login-live-card .login-prompt{color:#38536c}.login-live-card .login-authorized{color:#718294}
}

/* Guided Incident Closeout Assistant */
.closeout-launch{margin-top:16px}
.closeout-assistant-card{width:min(920px,calc(100vw - 32px));max-height:92vh;overflow:auto}
.closeout-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;margin:4px 0 10px;border:1px solid #d8e3ee;border-radius:14px;background:#f8fbfe}
.closeout-summary>div:first-child{display:flex;flex-direction:column;gap:3px}
.closeout-summary span{font-size:.88rem;color:#5b6b7b}
.closeout-intro{margin:0 0 14px;color:#526273}
.closeout-steps{display:grid;gap:10px}
.closeout-step{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border-radius:13px;border:1px solid #d8e3ee;background:#fff}
.closeout-step.is-complete{border-color:#b9dec7;background:#f4fbf6}
.closeout-step.needs-action{border-color:#efd2aa;background:#fffaf2}
.closeout-step-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;background:#e8eef4;color:#4d5c6b}
.closeout-step.is-complete .closeout-step-icon{background:#d8f0df;color:#176b35}
.closeout-step.needs-action .closeout-step-icon{background:#fbe8c9;color:#8a5700}
.closeout-step-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.closeout-step-copy span{font-size:.9rem;color:#5e6b78;line-height:1.35}
.closeout-step-action button{white-space:nowrap}
.closeout-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;flex-wrap:wrap}
.closeout-final{font-weight:700}
.closeout-complete-card{width:min(720px,calc(100vw - 32px));text-align:center;padding:28px}
.closeout-complete-mark{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;background:#d8f0df;color:#176b35;font-size:34px;font-weight:800}
.closeout-complete-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0}
.closeout-complete-grid div{padding:14px 8px;border:1px solid #d8e3ee;border-radius:12px;background:#f8fbfe;display:flex;flex-direction:column;gap:4px}
.closeout-complete-grid strong{font-size:1.45rem}
.closeout-complete-grid span{font-size:.78rem;color:#607080}
@media(max-width:760px){.closeout-step{grid-template-columns:38px 1fr}.closeout-step-action{grid-column:2}.closeout-summary{align-items:flex-start;flex-direction:column}.closeout-complete-grid{grid-template-columns:repeat(2,1fr)}}

/* ICS-213 workflow and archived-message history */
.ics213-head,.ics213-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.ics213-head h2,.ics213-list-head h2{margin-bottom:4px}.ics213-form{margin-top:16px}
.ics213-history-list{display:grid}.ics213-history-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:13px 18px;border-bottom:1px solid #edf1f5}
.ics213-history-row:last-child{border-bottom:0}.ics213-history-row>div:first-child{display:grid;gap:4px}.ics213-history-row strong{color:#173b5e;font-size:13px}.ics213-history-row span{color:#718294;font-size:11px}
.ics213-history-row>div:last-child{display:flex;gap:7px;flex-wrap:wrap}.ics213-history-row a{padding:7px 10px;border:1px solid #1680d3;border-radius:7px;color:#0b66ae;background:#fff;text-decoration:none;font-size:11px;font-weight:700}.ics213-history-row a:hover{background:#eaf5fd}
@media(max-width:760px){.ics213-head,.ics213-list-head{flex-direction:column}.ics213-history-row{grid-template-columns:1fr}}

/* Report History — archived ICS-213 general messages */
.report-history-messages{border-bottom:1px solid #dce6ef;background:#f8fbfe}
.report-history-messages-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px 9px}
.report-history-messages-head strong{color:#38536c;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.report-history-messages-head span{display:inline-grid;place-items:center;min-width:26px;height:22px;padding:0 8px;border-radius:999px;background:#e8f2fb;color:#0b5fa5;font-size:11px;font-weight:800}
.report-history-messages .ics213-history-list{padding:0 18px 13px}
.report-history-message-empty{padding:0 18px 14px;color:#718294;font-size:12px}
@media(max-width:620px){.report-history-messages-head{align-items:flex-start}.report-history-messages .ics213-history-row{grid-template-columns:1fr}}

/* ICS-201 Block 4 — Map/Sketch workspace */
.iap-map-workspace{grid-column:1/-1;border:1px solid #d8e3ee;border-radius:14px;padding:16px;background:#f8fbfe}
.iap-map-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:12px}
.iap-map-heading h3{margin:0 0 4px;color:#173b5e}.iap-map-heading p{margin:0;max-width:760px;line-height:1.45}
.iap-map-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.danger-outline{border-color:#c96b6b!important;color:#8a2f2f!important}
.iap-map-dropzone{min-height:330px;border:2px dashed #9fb8ce;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;outline:none;cursor:copy}
.iap-map-dropzone:focus{border-color:#1680d3;box-shadow:0 0 0 3px rgba(22,128,211,.12)}
.iap-map-dropzone.has-map{cursor:default;border-style:solid;background:#eef3f7;padding:8px}
.iap-map-dropzone img{display:block;max-width:100%;max-height:520px;object-fit:contain;border-radius:7px;background:#fff}
.iap-map-empty{text-align:center;display:grid;gap:7px;padding:34px;color:#607080}.iap-map-empty strong{font-size:17px;color:#244b6d}.iap-map-empty small{color:#8695a3}
.iap-map-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:8px;font-size:11px;color:#718294}.iap-map-meta strong{color:#38536c}
.iap-map-workspace>label{margin-top:12px}.iap-map-workspace textarea{min-height:74px}
@media(max-width:760px){.iap-map-heading{flex-direction:column}.iap-map-actions{justify-content:flex-start}.iap-map-dropzone{min-height:240px}.iap-map-meta{align-items:flex-start;flex-direction:column}}

/* ICS-201 numbered briefing blocks */
.iap-201-block{grid-column:1/-1;border:1px solid #d8e3ee;border-radius:14px;padding:16px;background:#fbfcfe;margin-top:14px}
.iap-201-block-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}
.iap-201-block-head h3{margin:0 0 4px;color:#173b5e}
.iap-201-block-head p{margin:0;line-height:1.45}

/* ICS-201 Block 9 — Current Organization editor */
.iap-org-block{background:#f8fbfe}
.iap-org-form{margin:0 0 14px}
.iap-org-table{margin-top:6px;overflow-x:auto}
.iap-org-table table{margin-top:0}

/* ICS-201 Block 9 — fixed Command and General Staff entry grid */
.iap-core-org-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 14px}
.iap-core-org-card{border:1px solid #d6e1ec;border-radius:12px;background:#fff;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.iap-core-org-title{grid-column:1/-1;font-weight:700;color:#173b5e;border-bottom:1px solid #e6edf4;padding-bottom:7px}
.iap-core-org-card label{margin:0}.iap-core-org-card input,.iap-core-org-card select{width:100%}
.iap-org-additional{margin-top:18px;padding-top:14px;border-top:1px solid #d8e3ee}.iap-org-additional h4{margin:0 0 4px;color:#173b5e}
@media(max-width:900px){.iap-core-org-grid{grid-template-columns:1fr}.iap-core-org-card{grid-template-columns:1fr}.iap-core-org-title{grid-column:1}}

/* Structured ICS-203 organization workspace */
.iap203-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.iap203-title-row h2{margin-bottom:4px}.iap203-add-form{margin-top:16px}.iap203-sections{display:grid;grid-template-columns:1fr;gap:14px;margin-top:18px}.iap203-section{border:1px solid #d8e3ee;border-radius:12px;background:#fbfcfe;overflow:hidden}.iap203-section-head{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;background:#eef4f9;border-bottom:1px solid #d8e3ee}.iap203-section-head h3{margin:0;color:#173b5e;font-size:16px}.iap203-section-head span{font-size:12px;font-weight:700;color:#52677b}.iap203-section>table,.iap203-section>p{margin:12px;width:calc(100% - 24px)}
@media(max-width:760px){.iap203-title-row{flex-direction:column}.iap203-title-row .linkbtn{width:100%;text-align:center}}

/* ICS-204 operational assignment-sheet workspace */
.iap204-form{margin:16px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.iap204-form .full{grid-column:1/-1}.iap204-sheet-list{display:grid;gap:12px;margin-top:18px}.iap204-sheet-card{border:1px solid #d8e3ee;border-radius:14px;background:#fbfcfe;padding:15px}.iap204-sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.iap204-sheet-head span{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.iap204-sheet-head h3{margin:3px 0 10px;color:#173b5e}.iap204-sheet-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px;font-size:13px;color:#475569}.iap204-sheet-card>p{margin:12px 0;padding-top:10px;border-top:1px solid #e5edf5;white-space:pre-wrap}.iap204-card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.iap204-action{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 13px;border:1px solid transparent;border-radius:8px;font:inherit;font-weight:700;line-height:1;text-decoration:none;cursor:pointer}.iap204-edit-action{background:#f8fafc;border-color:#cbd5e1;color:#173b5e}.iap204-edit-action:hover{background:#eef3f8;border-color:#94a3b8}.iap204-print-action{background:#1268aa;border-color:#1268aa;color:#fff}.iap204-print-action:hover{background:#0d568f;border-color:#0d568f;color:#fff}.iap204-delete-action{background:#fff1f2;border-color:#f3b8bf;color:#a61b2b}.iap204-delete-action:hover{background:#ffe4e6;border-color:#e88894;color:#861323}@media(max-width:900px){.iap204-form,.iap204-sheet-meta{grid-template-columns:1fr}.iap204-sheet-head{flex-direction:column}}

/* ICS-205 selective import review workspace */
#ics205PreviewModal{padding:2vh 1vw;align-items:flex-start}
#ics205PreviewModal .ics205-review-card{width:98vw;max-width:none;height:94vh;max-height:94vh;overflow:hidden;display:flex;flex-direction:column}
#ics205PreviewModal .ics205-review-body{padding:16px 20px;gap:12px;display:flex;flex-direction:column;min-height:0;flex:1}
#ics205PreviewModal .ics205-review-table{overflow:auto;min-height:0;flex:1;border:1px solid #36506b;border-radius:8px;background:#0b1724}
#ics205PreviewModal table{border-collapse:separate;border-spacing:0;min-width:2050px;width:max-content}
#ics205PreviewModal th{position:sticky;top:0;z-index:3;background:#18304a;font-size:14px;padding:10px 8px;white-space:nowrap}
#ics205PreviewModal td{padding:7px 6px;vertical-align:middle}
#ics205PreviewModal td:first-child,#ics205PreviewModal th:first-child{position:sticky;left:0;z-index:4;background:#18304a;min-width:68px;text-align:center}
#ics205PreviewModal tbody td:first-child{background:#102033}
#ics205PreviewModal input[data-row]{font-size:15px;line-height:1.35;height:38px;padding:7px 9px;min-width:105px;border:1px solid #9fb0c1;border-radius:5px}
#ics205PreviewModal input[data-field="channel_number"]{width:70px;min-width:70px}
#ics205PreviewModal input[data-field="name"]{width:190px}
#ics205PreviewModal input[data-field="designation"]{width:125px}
#ics205PreviewModal input[data-field="function"],#ics205PreviewModal input[data-field="assignment"]{width:190px}
#ics205PreviewModal input[data-field="rx_frequency"],#ics205PreviewModal input[data-field="tx_frequency"]{width:135px;font-family:Consolas,monospace;font-weight:700}
#ics205PreviewModal input[data-field="mode"]{width:90px}
#ics205PreviewModal input[data-field="rx_tone"],#ics205PreviewModal input[data-field="tx_tone"]{width:125px}
#ics205PreviewModal input[data-field="agency"]{width:150px}
#ics205PreviewModal input[data-field="notes"]{width:240px}
#ics205PreviewModal .ics205-select{width:22px;height:22px;accent-color:auto}
#ics205PreviewModal .modal-actions{flex-wrap:wrap;gap:10px;align-items:center}
#ics205PreviewModal .ics205-review-footer{padding-top:10px;border-top:1px solid #36506b;flex-shrink:0}

/* ICS-205 review readability override: preserve usable field widths */
#ics205PreviewModal .ics205-review-table table{table-layout:auto!important;min-width:2700px!important;width:max-content!important}
#ics205PreviewModal .ics205-review-table td{width:auto!important;min-width:0!important;max-width:none!important}
#ics205PreviewModal .ics205-review-table input[data-row]{box-sizing:border-box!important;width:160px!important;min-width:160px!important;max-width:none!important;height:42px!important;font-size:16px!important;padding:8px 10px!important}
#ics205PreviewModal .ics205-review-table input[data-field="channel_number"]{width:80px!important;min-width:80px!important}
#ics205PreviewModal .ics205-review-table input[data-field="name"]{width:220px!important;min-width:220px!important}
#ics205PreviewModal .ics205-review-table input[data-field="designation"]{width:145px!important;min-width:145px!important}
#ics205PreviewModal .ics205-review-table input[data-field="function"]{width:220px!important;min-width:220px!important}
#ics205PreviewModal .ics205-review-table input[data-field="assignment"]{width:240px!important;min-width:240px!important}
#ics205PreviewModal .ics205-review-table input[data-field="rx_frequency"],#ics205PreviewModal .ics205-review-table input[data-field="tx_frequency"]{width:160px!important;min-width:160px!important}
#ics205PreviewModal .ics205-review-table input[data-field="mode"]{width:110px!important;min-width:110px!important}
#ics205PreviewModal .ics205-review-table input[data-field="rx_tone"],#ics205PreviewModal .ics205-review-table input[data-field="tx_tone"]{width:155px!important;min-width:155px!important}
#ics205PreviewModal .ics205-review-table input[data-field="agency"]{width:190px!important;min-width:190px!important}
#ics205PreviewModal .ics205-review-table input[data-field="notes"]{width:300px!important;min-width:300px!important}


/* Personnel accountability table status and actions */
.personnel-table-wrap{overflow-x:auto}
.personnel-table-wrap tbody tr{transition:background .15s ease,opacity .15s ease}
.personnel-table-wrap .personnel-row-checked-out{background:#f4f6f8;color:#64748b}
.personnel-table-wrap .personnel-row-checked-out td{opacity:.82}
.personnel-status{display:inline-flex;align-items:center;justify-content:center;min-width:82px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.15;white-space:nowrap;border:1px solid transparent}
.personnel-status-available{background:#e8f7ed;color:#176b35;border-color:#b8e1c5}
.personnel-status-assigned{background:#eee9fb;color:#6842a5;border-color:#d5c8f0}
.personnel-status-off-duty{background:#eef1f4;color:#526171;border-color:#d7dde3}
.personnel-status-out-of-service{background:#fdebec;color:#a72f37;border-color:#f2c2c6}
.personnel-status-checked-out{background:#edf0f3;color:#596776;border-color:#d5dbe1}
.personnel-table-wrap td:last-child{min-width:190px}
.personnel-action{border-radius:7px!important;padding:6px 9px!important;margin:2px!important;font-size:12px!important;font-weight:700!important;cursor:pointer}
.personnel-map-action{background:#e8f2fb!important;color:#0d5f9f!important;border:1px solid #aed0ea!important}
.personnel-secondary-action{background:#fff!important;color:#29445d!important;border:1px solid #b9c8d6!important}
.personnel-checkout-action{background:#fff4e7!important;color:#8a4d09!important;border:1px solid #e9c18e!important}
.personnel-action:hover{filter:brightness(.97);box-shadow:0 2px 5px rgba(15,45,70,.12)}


/* ICS-309 operational priority and traffic-status display */
#radio .card:last-child{overflow-x:auto}
.radio-badge{display:inline-flex;align-items:center;justify-content:center;min-width:70px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.15;white-space:nowrap;border:1px solid transparent}
.radio-priority-routine{background:#edf4fb;color:#285f8f;border-color:#c7dcee}
.radio-priority-priority{background:#fff2df;color:#94540b;border-color:#efcb96}
.radio-priority-emergency{background:#fde8ea;color:#ad2831;border-color:#efb8bd}
.radio-status-complete{background:#e8f7ed;color:#176b35;border-color:#b8e1c5}
.radio-status-pending{background:#fff5dc;color:#8a5a00;border-color:#ecd18b}
.radio-status-follow-up{background:#eee9fb;color:#6842a5;border-color:#d5c8f0}
.radio-row-emergency{background:#fff4f4}
.radio-edit-action{border-radius:7px!important;padding:6px 10px!important;font-size:12px!important;font-weight:700!important;background:#fff!important;color:#29445d!important;border:1px solid #b9c8d6!important;cursor:pointer}
.radio-edit-action:hover{background:#edf4fa!important;box-shadow:0 2px 5px rgba(15,45,70,.12)}
#radio table th:nth-child(8),#radio table td:nth-child(8),#radio table th:nth-child(9),#radio table td:nth-child(9){white-space:nowrap}


/* ICS-214 activity log and Winlink actions */
#activity .card:last-child{overflow-x:auto}
.activity-row-winlink{background:#f1f7fd}
.winlink-unit-badge{display:inline-flex;align-items:center;padding:4px 7px;margin-right:6px;border-radius:999px;background:#ddecfb;color:#0d5f9f;border:1px solid #acd0ed;font-size:10px;font-weight:900;letter-spacing:.05em;white-space:nowrap}
.winlink-unit-name{font-weight:700;color:#2e5677;white-space:nowrap}
#activity table td:last-child{min-width:250px;white-space:nowrap}
.activity-action{border-radius:7px!important;padding:6px 9px!important;margin:2px!important;font-size:12px!important;font-weight:700!important;cursor:pointer}
.activity-view-action{background:#e8f2fb!important;color:#0d5f9f!important;border:1px solid #aed0ea!important}
.activity-reply-action{background:#eee9fb!important;color:#6842a5!important;border:1px solid #d0c1ed!important}
.activity-edit-action{background:#fff!important;color:#29445d!important;border:1px solid #b9c8d6!important}
.activity-action:hover{filter:brightness(.97);box-shadow:0 2px 5px rgba(15,45,70,.12)}


/* ICS-213 current-message status and actions */
#ics213 .card:last-child{overflow-x:auto}
.ics213-row-standalone{background:#f6f7f9}
.ics213-unassigned,.ics213-standalone,.ics213-status{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850;line-height:1.15;white-space:nowrap;border:1px solid transparent}
.ics213-unassigned{background:#f0f2f4;color:#5e6b78;border-color:#d7dde3}
.ics213-standalone{background:#edf0f3;color:#51606f;border-color:#d5dbe1;letter-spacing:.04em}
.ics213-status-draft{background:#fff5dc;color:#8a5a00;border-color:#ecd18b}
.ics213-status-ready{background:#e8f2fb;color:#0d5f9f;border-color:#aed0ea}
.ics213-status-sent{background:#e8f7ed;color:#176b35;border-color:#b8e1c5}
.ics213-status-received,.ics213-status-acknowledged{background:#e9f5f6;color:#176b72;border-color:#b8dcdf}
.ics213-status-closed,.ics213-status-replied{background:#eee9fb;color:#6842a5;border-color:#d5c8f0}
#ics213 table td:last-child{min-width:220px;white-space:nowrap}
.ics213-action{display:inline-block;text-decoration:none;border-radius:7px!important;padding:6px 9px!important;margin:2px!important;font-size:12px!important;font-weight:700!important;cursor:pointer}
.ics213-edit-action{background:#fff!important;color:#29445d!important;border:1px solid #b9c8d6!important}
.ics213-print-action{background:#e8f2fb!important;color:#0d5f9f!important;border:1px solid #aed0ea!important}
.ics213-xml-action{background:#eee9fb!important;color:#6842a5!important;border:1px solid #d0c1ed!important}
.ics213-sent-action{background:#e8f7ed!important;color:#176b35!important;border:1px solid #b8e1c5!important}
.ics213-action:hover{filter:brightness(.97);box-shadow:0 2px 5px rgba(15,45,70,.12)}


/* ICS-201 destructive map action contrast */
.iap-map-actions .danger-outline{background:#fff4f4!important;color:#9f242c!important;border:1px solid #dc7c82!important;box-shadow:none!important}
.iap-map-actions .danger-outline:hover{background:#fde5e7!important;color:#851c23!important;border-color:#c9535b!important;box-shadow:0 2px 5px rgba(159,36,44,.14)!important}
.iap-map-actions .danger-outline:focus{outline:3px solid rgba(201,83,91,.2);outline-offset:2px}


/* ICS-201 Block 9 full-width organization assignments */
#iap201CoreOrgForm{display:block;width:100%;max-width:none}
#iap201CoreOrgForm .iap-core-org-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
#iap201CoreOrgForm .iap-core-org-card{grid-template-columns:minmax(0,1.45fr) minmax(180px,.85fr)}
#iap201CoreOrgForm .iap-core-org-card select{min-width:0;width:100%}
#iap201CoreOrgForm>button.full{width:100%;margin-top:4px}
@media(max-width:900px){
  #iap201CoreOrgForm .iap-core-org-grid{grid-template-columns:1fr}
  #iap201CoreOrgForm .iap-core-org-card{grid-template-columns:minmax(0,1.45fr) minmax(170px,.85fr)}
}
@media(max-width:620px){
  #iap201CoreOrgForm .iap-core-org-card{grid-template-columns:1fr}
  #iap201CoreOrgForm .iap-core-org-title{grid-column:1}
}


/* ICS-202 objective priority and actions */
.ics202-priority{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:#e8f2fb;color:#0d5f9f;border:1px solid #aed0ea;font-size:12px;font-weight:850}
.ics202-action{border-radius:7px!important;padding:6px 10px!important;margin:2px!important;font-size:12px!important;font-weight:700!important;cursor:pointer}
.ics202-edit-action{background:#fff!important;color:#29445d!important;border:1px solid #b9c8d6!important}
.ics202-delete-action{background:#fff4f4!important;color:#9f242c!important;border:1px solid #dc7c82!important}
.ics202-action:hover{filter:brightness(.97);box-shadow:0 2px 5px rgba(15,45,70,.12)}


/* ICS-205 communications-plan table and actions */
.ics205-channel-summary{display:inline-flex;align-items:center;padding:6px 11px;border:1px solid #b9dfc2;border-radius:999px;background:#edf9f0;color:#167334;font-weight:800}
.ics205-plan-table{font-size:13px}
.ics205-plan-table tbody tr:nth-child(even){background:#f7fafc}
.ics205-plan-table tbody tr:hover{background:#eef6fc}
.ics205-plan-table th{white-space:nowrap;color:#36506b}
.ics205-plan-table td{vertical-align:top;padding-top:11px;padding-bottom:11px}
.ics205-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border:1px solid transparent;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
.ics205-status-active{background:#edf9f0;border-color:#b9dfc2;color:#167334}
.ics205-status-inactive{background:#f1f5f9;border-color:#cbd5e1;color:#64748b}
.ics205-source-import{background:#eaf4ff;border-color:#b8d7f3;color:#155f96}
.ics205-source-manual{background:#f3effb;border-color:#d7c8f0;color:#6b3fa0}
.ics205-actions{min-width:88px}
.ics205-action,.ics205-source-control{display:inline-flex;align-items:center;justify-content:center;margin:0 3px 4px 0;padding:5px 8px;border:1px solid transparent;border-radius:7px;font:inherit;font-weight:700;line-height:1.1;text-decoration:none;cursor:pointer}
.ics205-edit-action{background:#f8fafc;border-color:#cbd5e1;color:#173b5e}
.ics205-edit-action:hover{background:#eef3f8;border-color:#94a3b8}
.ics205-source-action{background:#eaf4ff;border-color:#b8d7f3;color:#155f96}
.ics205-source-action:hover{background:#dceefe;border-color:#8fc0e8;color:#104e7c}
.ics205-delete-action{background:#fff1f2;border-color:#f3b8bf;color:#a61b2b}
.ics205-delete-action:hover{background:#ffe4e6;border-color:#e88894;color:#861323}
@media(max-width:900px){#channels .card{overflow-x:auto}.ics205-plan-table{min-width:1450px}}

/* ECMS sidebar viewport fix: keep navigation and sign-out reachable on shorter displays. */
@media(min-width:901px){
  .sidebar{
    height:100vh;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-gutter:stable;
  }
  .sidebar .subtitle{flex:0 0 auto;margin-bottom:16px}
  .sidebar nav{flex:0 0 auto;gap:4px}
  .sidebar nav button{padding:10px 14px}
  .sidebar .userbox{flex:0 0 auto;margin-top:12px}
}

/* Database Backup Management console */
.backup-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}
.backup-summary>div{padding:13px;border:1px solid #dce5ed;border-radius:10px;background:#f8fafc;min-width:0}
.backup-summary span,.backup-summary small{display:block;color:#667b8e;font-size:11px}.backup-summary strong{display:block;margin:5px 0;color:#123a61;font-size:16px;overflow-wrap:anywhere}
.backup-table-wrap{overflow-x:auto;border:1px solid #dce5ed;border-radius:10px}.backup-table-wrap table{min-width:920px}.backup-current{display:inline-block;margin-top:5px;padding:2px 6px;border-radius:999px;background:#dceefe;color:#0b5fa5;font-size:9px;font-weight:800;letter-spacing:.05em}
.backup-badge{display:inline-block;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800}.backup-good{background:#e7f6e9;color:#287b32}.backup-protected{background:#e7eef8;color:#315f96}.backup-stale{background:#fff2d9;color:#93610b}.backup-bad{background:#fde8e8;color:#a52c2c}.backup-purge{border:1px solid #d6a0a0;background:#fff5f5;color:#9c2929;padding:6px 9px;border-radius:7px;cursor:pointer}
@media(max-width:1100px){.backup-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Backup console filtering / compact inventory controls */
.backup-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 8px;flex-wrap:wrap}.backup-toolbar>div{display:flex;gap:6px;flex-wrap:wrap}.backup-filter{padding:7px 12px;border:1px solid #cbd5e1;background:#fff;color:#173b5e;border-radius:8px}.backup-filter.active{background:#173b5e;color:#fff;border-color:#173b5e}.backup-toolbar>span{font-size:12px;color:#52657a}.backup-showall{text-align:center;margin-top:10px}.backup-showall button{padding:8px 16px}.backup-purge{white-space:nowrap}

/* Admin user presence indicators */
#admin table td:nth-child(5){white-space:nowrap}

/* Admin Users presence badges */
.user-status{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border:2px solid;border-radius:8px;font-weight:700;line-height:1;white-space:nowrap}
.user-status-dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:currentColor;box-shadow:0 0 0 3px rgba(255,255,255,.65)}
.user-status-online{color:#137333;border-color:#34a853;background:#e6f4ea}
.user-status-offline{color:#b3261e;border-color:#d93025;background:#fce8e6}

/* Guided New Incident Setup Wizard */
.incident-wizard-card{width:min(860px,calc(100vw - 32px));max-height:92vh;overflow:auto}
.wizard-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:18px 20px 4px}
.wizard-progress-step{display:flex;align-items:center;gap:8px;color:#8fa6bc;border-bottom:3px solid #36506b;padding:0 2px 10px}
.wizard-progress-step span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#26394c;border:1px solid #526d87;font-weight:800}
.wizard-progress-step small{font-weight:700}.wizard-progress-step.current{color:#fff;border-color:#4ea1ff}.wizard-progress-step.current span{background:#1677d2;border-color:#69b5ff}.wizard-progress-step.done{color:#9ee6b0;border-color:#34a853}.wizard-progress-step.done span{background:#176b35;border-color:#4ecb71}
.wizard-note,.wizard-final-note{padding:12px 14px;border:1px solid #36506b;border-radius:9px;background:#152a40;color:#cbd8e6}
.wizard-active-warning{margin:20px;padding:18px;border:2px solid #d93025;border-radius:10px;background:#3b1d22;color:#fff}.wizard-active-warning strong,.wizard-active-warning span{display:block}.wizard-active-warning strong{font-size:18px;color:#ffb4ab}.wizard-active-warning span{font-weight:800;margin-top:5px}.wizard-active-warning p{margin-bottom:0;color:#f4d7d4}
.wizard-options{display:grid;gap:12px}.wizard-options label{display:flex;flex-direction:row;align-items:flex-start;gap:12px;padding:14px;border:1px solid #36506b;border-radius:9px;background:#152a40}.wizard-options input{width:auto;margin-top:4px}.wizard-options span{display:flex;flex-direction:column;gap:4px}.wizard-options small{color:#cbd8e6;font-weight:400}
.wizard-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wizard-review div{padding:12px 14px;border:1px solid #36506b;border-radius:9px;background:#152a40}.wizard-review span,.wizard-review strong{display:block}.wizard-review span{font-size:12px;color:#9fb3c8;margin-bottom:4px}.wizard-success-op{margin:12px auto 18px;padding:10px 16px;border:1px solid #34a853;border-radius:9px;background:#173b29;color:#b9f6ca;width:max-content;max-width:90%}
@media(max-width:650px){.wizard-progress{grid-template-columns:repeat(2,1fr)}.wizard-review{grid-template-columns:1fr}}

/* New Incident Wizard: active-incident safeguard presentation */
.wizard-active-warning{width:100%;max-width:none;box-sizing:border-box;padding:20px 22px}
.wizard-active-warning strong{font-size:1.05rem}
.wizard-active-warning b{font-size:1.08rem;margin-top:7px}
.wizard-active-warning span{max-width:720px;line-height:1.45;margin-top:12px}
.wizard-blocked-actions{justify-content:flex-end;padding-top:18px}
.wizard-blocked-actions .primary{min-width:210px}

/* Optional incident creation: manual or guided wizard */
.incident-create-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px 24px 10px}
.incident-choice{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:230px;padding:22px;text-align:left;border:2px solid #36506b;border-radius:12px;background:#152a40;color:#fff;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}
.incident-choice:hover{transform:translateY(-2px);border-color:#69b5ff;box-shadow:0 10px 28px rgba(0,0,0,.25)}
.incident-choice.guided{border-color:#287fc9}.incident-choice-icon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:15px;border-radius:9px;background:#263f59;font-size:22px;font-weight:800}
.incident-choice.guided .incident-choice-icon{background:#176b35}.incident-choice strong{font-size:1.08rem;margin-bottom:9px}.incident-choice small{color:#cbd8e6;line-height:1.45;font-weight:400}.incident-choice b{margin-top:auto;padding-top:18px;color:#79bdff}
.incident-choice-tag{position:absolute;top:14px;right:14px;padding:4px 8px;border-radius:999px;background:#173b29;color:#9ee6b0;font-size:10px;font-weight:800;letter-spacing:.08em}
.incident-choice-actions{padding:10px 24px 22px}.incident-choice-actions .secondary{min-width:100px}
@media(max-width:650px){.incident-create-choices{grid-template-columns:1fr}.incident-choice{min-height:190px}}

/* ECMS Training Management */
.training-shell{display:flex;flex-direction:column;gap:18px}.training-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.training-head h2{margin:3px 0 4px;font-size:28px}.training-head p{margin:0;color:#66798c}.training-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.training-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.training-metrics>div{padding:16px;border:1px solid #d8e1ea;border-radius:12px;background:#fff}.training-metrics span,.training-metrics small{display:block;color:#657789}.training-metrics strong{display:block;font-size:26px;margin:4px 0;color:#17324d}
.training-tabs{display:flex;gap:6px;border-bottom:1px solid #d8e1ea;padding-bottom:8px;flex-wrap:wrap}.training-tabs button{background:#edf3f8;color:#29435d;border:1px solid #d3dee8}.training-tabs button.active{background:#1677d2;color:#fff;border-color:#1677d2}.training-panel-head{display:flex;justify-content:space-between;align-items:end;margin:2px 0 12px}.training-panel-head h3{margin:0}.training-panel-head span{color:#718397;font-size:13px}
.training-class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:14px}.training-class-card{border:1px solid #d8e1ea;border-radius:12px;background:#fff;padding:17px;box-shadow:0 4px 14px rgba(30,55,80,.06)}.training-class-top{display:flex;justify-content:space-between;gap:10px}.training-class-top span{font-size:11px;font-weight:800;color:#1677d2;letter-spacing:.08em}.training-class-top h3{margin:3px 0 0}.training-class-top b{height:max-content;padding:4px 8px;border-radius:999px;background:#e6f4ea;color:#137333;font-size:11px}.training-class-stats{display:flex;gap:22px;margin:14px 0}.training-class-stats span{color:#6b7d90;font-size:12px}.training-class-stats strong{color:#17324d;font-size:18px;margin-right:3px}
.training-roster-card{width:min(1050px,96vw)}.training-roster-add{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:end;padding:18px 20px;border-bottom:1px solid #36506b}.training-roster-add label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#fff}.training-roster-add select{min-height:105px}.training-roster-table{padding:18px 20px;overflow:auto}.training-roster-table table{min-width:760px}.completion-status{min-width:120px}.cert-number{display:block;margin-top:5px;opacity:.72}.training-table-wrap{overflow:auto}
@media(max-width:800px){.training-metrics{grid-template-columns:repeat(2,1fr)}.training-head{flex-direction:column}.training-roster-add{grid-template-columns:1fr}.training-panel-head{display:block}.training-panel-head span{display:block;margin-top:4px}}

/* ECMS Training visual refinement */
.training-shell{gap:20px}.training-head{padding:2px 2px 0}.training-head h2{font-size:30px;color:#142f49}.training-head-actions{align-items:center}.training-action{background:#17344f;color:#fff;border:1px solid #17344f;box-shadow:0 2px 5px rgba(20,48,75,.12)}.training-action:hover{background:#214766}.training-head-actions b{font-size:16px;margin-right:3px}.training-new-class{box-shadow:0 4px 10px rgba(22,119,210,.18)}
.training-metrics{gap:14px}.training-metric{display:flex;align-items:center;gap:14px;min-height:82px;padding:16px 18px!important;border:1px solid #d5e0ea!important;border-radius:13px!important;box-shadow:0 4px 14px rgba(30,55,80,.05)}.training-metric-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:11px;font-size:22px;font-weight:800}.training-metric span{font-size:13px;font-weight:700}.training-metric strong{font-size:28px!important;margin:1px 0!important;line-height:1}.training-metric.tone-blue .training-metric-icon{background:#e8f3ff;color:#1677d2}.training-metric.tone-indigo .training-metric-icon{background:#eeecff;color:#5548c8}.training-metric.tone-amber .training-metric-icon{background:#fff2dc;color:#a86400}.training-metric.tone-green .training-metric-icon{background:#e6f4ea;color:#137333}
.training-tabs{display:inline-flex;align-self:flex-start;gap:4px;padding:5px;border:1px solid #d2dee8;border-radius:10px;background:#e8eff5}.training-tabs button{display:flex;align-items:center;gap:7px;margin:0;padding:8px 13px;border:0;border-radius:7px;background:transparent;color:#35516b;font-weight:700}.training-tabs button:hover{background:#f5f9fc}.training-tabs button.active{background:#fff;color:#116dbd;border:0;box-shadow:0 2px 7px rgba(30,55,80,.13)}.training-tabs button span{font-weight:800}
.training-panel-head{padding:2px 2px 0}.training-panel-head h3{font-size:19px;color:#142f49}.training-empty{padding:34px 28px 30px;border:1px dashed #b9cad9;border-radius:14px;background:linear-gradient(180deg,#fff,#f7fafc);text-align:center}.training-empty-mark{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 10px;border-radius:14px;background:#e8f3ff;color:#1677d2;font-size:27px;font-weight:800}.training-empty h3{margin:4px 0 6px;color:#17324d;font-size:21px}.training-empty>p{max-width:720px;margin:0 auto 24px;color:#667b8f;line-height:1.45}.training-workflow{display:flex;align-items:center;justify-content:center;gap:8px;max-width:1050px;margin:0 auto 25px}.training-workflow>div{flex:1;min-width:120px;padding:14px 10px;border:1px solid #d8e3ec;border-radius:10px;background:#fff}.training-workflow b{display:grid;place-items:center;width:25px;height:25px;margin:0 auto 7px;border-radius:50%;background:#1677d2;color:#fff;font-size:12px}.training-workflow strong,.training-workflow span{display:block}.training-workflow strong{color:#213d57;font-size:13px}.training-workflow span{margin-top:3px;color:#7a8c9d;font-size:11px}.training-workflow i{color:#86a1b8;font-style:normal;font-size:20px}.training-empty-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}
@media(max-width:900px){.training-workflow{flex-wrap:wrap}.training-workflow i{display:none}.training-workflow>div{flex:1 1 28%}}@media(max-width:600px){.training-workflow>div{flex:1 1 100%}.training-tabs{display:flex;width:100%}.training-tabs button{flex:1;justify-content:center}.training-tabs button span{display:none}}
/* Training class sessions: compact multi-session list */
.training-session-wrap{overflow:auto;border:1px solid #d5e0ea;border-radius:11px;background:#fff;box-shadow:0 3px 12px rgba(30,55,80,.05)}
.training-session-table{width:100%;min-width:920px;border-collapse:collapse}.training-session-table th{padding:10px 12px;background:#244a69;color:#fff;text-align:left;font-size:12px;white-space:nowrap}.training-session-table td{padding:9px 12px;border-bottom:1px solid #e1e8ef;vertical-align:middle;font-size:13px;white-space:nowrap}.training-session-table tbody tr:last-child td{border-bottom:0}.training-session-table tbody tr:hover{background:#f7fafc}.training-session-table small{display:block;margin-top:2px;color:#75879a;font-size:10px}.training-session-table td:nth-child(6),.training-session-table td:nth-child(7){text-align:center}
.training-status{display:inline-block;padding:4px 9px;border-radius:6px;font-size:11px;font-weight:800;white-space:nowrap}.status-completed{background:#e3f3e7;color:#137333}.status-scheduled{background:#e5f0ff;color:#155da5}.status-pending-session{background:#fff0c9;color:#8a5700}.status-cancelled{background:#eceff2;color:#4d5965}.training-manage-btn{padding:6px 11px;font-size:12px}
.training-class-statusbar{display:flex;align-items:end;gap:14px;padding:12px 20px;background:#f5f8fb;border-bottom:1px solid #d8e1ea}.training-class-statusbar label{display:flex;flex-direction:column;gap:5px;font-weight:700;color:#29435d}.training-class-statusbar select{min-width:180px}.training-class-statusbar span{padding-bottom:9px;color:#718397;font-size:12px}

.training-status.status-in-progress{background:#e8f2ff;color:#1557a0;border-color:#a9c9ee}
.training-history-filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:0 0 14px;padding:12px;border:1px solid #dce5ee;border-radius:10px;background:#f8fafc}.training-history-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:#52606d}.training-history-filters input,.training-history-filters select{min-width:150px;padding:8px 9px;border:1px solid #cbd5df;border-radius:7px;background:#fff}.training-history-filters label:first-child input{min-width:260px}.training-history-filters #trainingHistoryCount{margin-left:auto;padding:8px 2px;color:#64748b;font-size:12px;font-weight:700}@media(max-width:900px){.training-history-filters>*{flex:1 1 160px}.training-history-filters label:first-child input{min-width:0}.training-history-filters #trainingHistoryCount{margin-left:0}}
.training-roster-section{display:flex;justify-content:space-between;align-items:center;margin:14px 0 8px;padding-bottom:8px;border-bottom:1px solid #dce5ee}.training-roster-section h3{margin:0;font-size:16px}.training-roster-section span{font-size:12px;color:#667788}.training-student-picker{flex:1;display:flex;flex-direction:column;gap:6px}.training-student-picker>span{font-weight:700}.training-student-picker input{padding:9px 10px;border:1px solid #cbd5df;border-radius:7px}.training-student-picker select{width:100%;min-height:132px}.training-student-picker small{color:#667788}.training-roster-add-actions{display:flex;gap:8px;align-self:flex-end;flex-wrap:wrap}

/* Training: protected historical session banner */
.training-record-lock {
  margin: 14px 18px 16px;
  padding: 13px 16px;
  border: 1px solid rgba(245, 183, 66, .48);
  border-radius: 10px;
  background: rgba(245, 183, 66, .10);
  display: flex;
  flex-direction: column;
  gap: 5px;
  line-height: 1.35;
}
.training-record-lock strong {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #f5c66b;
}
.training-record-lock span {
  display: block;
  font-size: 13px;
  color: #d7e1ec;
  white-space: normal;
}

/* Training dashboard actionable metric */
.training-metric-click { cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.training-metric-click:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.10); }

/* Training reports */
.training-report-preview{margin-top:18px;border:1px solid var(--border);border-radius:12px;padding:18px;background:var(--panel)}
.training-report-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.training-report-title span{font-size:11px;font-weight:800;letter-spacing:.12em;opacity:.7}.training-report-title h3{margin:4px 0}.training-report-title small{opacity:.75}
.training-report-stats{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:10px;margin-bottom:18px}.training-report-stats div{border:1px solid var(--border);border-radius:10px;padding:13px;text-align:center}.training-report-stats strong{display:block;font-size:24px}.training-report-stats span{font-size:12px;opacity:.75}
@media(max-width:900px){.training-report-stats{grid-template-columns:repeat(2,1fr)}}
.training-report-pager,.training-report-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0;font-size:12px}.training-report-pager label{display:flex;align-items:center;gap:8px}.training-report-pager select{min-width:68px}.training-report-nav{justify-content:center;margin-top:14px}.training-report-nav span{min-width:110px;text-align:center;font-weight:700}.training-report-nav button:disabled{opacity:.45;cursor:not-allowed}

/* Login splash: dynamic application version from ECMS VERSION file */
.login-dynamic-version{position:fixed;right:7.4vw;bottom:5.6vh;z-index:3;color:rgba(255,255,255,.94);font-size:14px;font-weight:600;letter-spacing:.03em;text-shadow:0 1px 3px rgba(0,0,0,.55);pointer-events:none}
@media(max-width:900px){.login-dynamic-version{right:5vw;bottom:3vh;font-size:12px}}
@media(max-width:620px){.login-dynamic-version{position:fixed;right:16px;bottom:12px;font-size:11px;color:#9ba8b7}}

/* Login splash: keep dynamic version inside the artwork footer */
@media(min-width:901px){.login-dynamic-version{right:5.0vw;bottom:5.6vh}}

/* Login splash: approved dynamic version position */
@media(min-width:901px){.login-dynamic-version{right:17vw;bottom:3.8vh}}

/* Sidebar operational grouping */
.sidebar nav .nav-separator{height:1px;background:rgba(255,255,255,.12);margin:7px 0;}

/* ECMS compact desktop sidebar: fit full operational menu without scrolling. */
@media(min-width:901px){
  .sidebar{padding-top:16px;padding-bottom:12px}
  .sidebar .brand{font-size:30px;line-height:1.05}
  .sidebar .subtitle{font-size:11px;line-height:1.3;margin:5px 0 10px}
  .sidebar nav{gap:1px}
  .sidebar nav button{padding:7px 14px;line-height:1.2}
  .sidebar nav .nav-separator{margin:3px 0}
  .sidebar .userbox{margin-top:7px;padding:9px 16px 0}
  .sidebar .userbox a{margin-top:3px}
}

/* RBAC: denied navigation items must never render. */
.sidebar nav button.permission-hidden,.sidebar nav button[hidden]{display:none!important}

.rbac-readonly-banner{margin:0 0 14px;padding:10px 14px;border:1px solid #cbd9e6;border-radius:9px;background:#f5f8fb;color:#48657f;font-size:13px;font-weight:700}.rbac-readonly-form{display:none!important}.rbac-readonly button.permission-hidden{display:none!important}

.read-only-modal{width:min(1180px,96vw)}.read-only-modal .cert-history-wrap{overflow-x:visible}.read-only-modal .cert-history-wrap table{min-width:0;width:100%;table-layout:auto}.read-only-modal .cert-history-wrap .cert-id{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.read-only-modal .cert-history-wrap th,.read-only-modal .cert-history-wrap td{vertical-align:top}

#reportHistoryModal.modal-backdrop{padding:0;align-items:stretch;justify-content:stretch}
#reportHistoryModal .report-history-modal{margin:0}
#reportHistoryModal .report-history-body{overscroll-behavior:contain}

/* Report History final viewport layout: full-screen workspace with independent body scroll. */
#reportHistoryModal{position:fixed;inset:0;padding:0;overflow:hidden;align-items:stretch;justify-content:stretch}
#reportHistoryModal .report-history-modal{width:100%;height:100%;max-width:none;max-height:none;margin:0;border-radius:0;overflow:hidden;display:flex;flex-direction:column}
#reportHistoryModal .modal-head{flex:0 0 auto}
#reportHistoryModal .report-history-body{flex:1 1 auto;min-height:0;height:0;overflow-y:auto!important;overflow-x:hidden;padding-bottom:36px;scrollbar-gutter:stable}
#reportHistoryModal .report-history-incident{overflow:visible}
