.public-report-mode{
  --public-report-header-blue:#008fc5;
  margin:0;
  min-height:100%;
  background:#eef3f8;
  color:#172334;
  font-family:Arial,Helvetica,sans-serif;
}
.public-report-mode *{box-sizing:border-box}
.public-report-mode #app-root{min-height:100vh;padding:28px 18px}
.public-report-page{
  width:min(1120px,100%);
  margin:0 auto;
  background:#fff;
  border:1px solid #d7e0e9;
  border-radius:16px;
  box-shadow:0 20px 55px rgba(18,45,76,.12);
  overflow:hidden;
}
.public-report-header{
  min-height:96px;
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  border-bottom:4px solid var(--public-report-header-blue);
  background:#fff!important;
}
.public-report-brand{display:flex;align-items:center;gap:18px;padding:18px 26px;background:#fff}
.public-report-brand-logo{
  display:block;
  width:238px;
  max-width:30vw;
  height:auto;
  max-height:62px;
  object-fit:contain;
  object-position:left center;
  flex:0 1 238px;
  background:transparent;
  mix-blend-mode:multiply;
}
.public-report-brand-copy{min-width:0;display:flex;flex-direction:column;gap:5px}
.public-report-department{font-size:12px;font-weight:800;letter-spacing:.12em;color:#000}
.public-report-title{margin:0;font-size:24px;line-height:1.15;color:#172334;letter-spacing:.01em}
.public-report-reference{
  min-width:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px 24px;
  border-left:1px solid var(--public-report-header-blue);
  background:#fff;
  color:#000;
  font-size:14px;
  font-weight:700;
  font-style:italic;
  white-space:nowrap;
}
.public-report-intro{padding:30px 30px 20px;background:linear-gradient(180deg,#f7fbff 0,#fff 100%)}
.public-report-assessment-title{margin:0;color:#14263a;font-size:28px;line-height:1.2}
.public-report-area{margin:8px 0 0;color:#3e566f;font-size:16px;font-weight:700}
.public-report-summary{max-width:820px;margin:12px 0 0;color:#52657a;font-size:14px;line-height:1.55}
.public-report-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:0 30px 28px;
  border:1px solid #d9e3ed;
  border-radius:12px;
  overflow:hidden;
  background:#f9fbfd;
}
.public-report-meta-item{min-height:76px;padding:14px 16px;border-right:1px solid #d9e3ed;display:flex;flex-direction:column;gap:6px;justify-content:center}
.public-report-meta-item:last-child{border-right:0}
.public-report-meta-year{grid-column:span 2}
.public-report-meta-label{font-size:11px;color:#65788c;text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.public-report-meta-value{font-size:14px;color:#1d3045;line-height:1.35}
.public-report-records{padding:0 30px 30px}
.public-report-record{border:1px solid #ccd8e4;border-radius:13px;overflow:hidden;margin-top:20px;background:#fff}
.public-report-record:first-child{margin-top:0}
.public-report-record-heading{min-height:54px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#004b93;color:#fff}
.public-report-record-number{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.86}
.public-report-record-id{font-size:15px;text-align:right}
.public-report-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.public-report-field{min-width:0;padding:15px 18px;border-right:1px solid #e0e7ee;border-bottom:1px solid #e0e7ee;background:#fff}
.public-report-field:nth-child(even){border-right:0}
.public-report-field-wide{grid-column:1/-1;border-right:0}
.public-report-field-label{margin-bottom:7px;color:#52677c;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.public-report-field-value{color:#172334;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.public-report-field-value[class*="public-value-"]{display:inline-block;padding:5px 9px;border-radius:7px;font-weight:800;line-height:1.2}
.public-value-low{background:#d8f3dc;color:#135e2b}
.public-value-medium-low{background:#d9f0c4;color:#315c16}
.public-value-medium{background:#fff1ad;color:#6c5100}
.public-value-medium-high{background:#ffe0b5;color:#7b3e00}
.public-value-high,.public-value-critical{background:#ffd0d0;color:#8a1616}
.public-value-non-critical{background:#d8f3dc;color:#135e2b}
.public-report-empty{margin:0;padding:24px;color:#64778a;font-size:14px;line-height:1.5}
.public-report-footer{min-height:58px;padding:16px 30px;border-top:1px solid #d9e3ed;background:#f7f9fb;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#53677b;font-size:12px}
.public-report-state{
  width:min(560px,100%);
  min-height:330px;
  margin:8vh auto 0;
  padding:54px 38px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1px solid #d7e0e9;
  border-radius:18px;
  background:#fff;
  box-shadow:0 20px 55px rgba(18,45,76,.12);
}
.public-report-state h1{margin:18px 0 8px;color:#172334;font-size:24px}
.public-report-state p{max-width:430px;margin:0;color:#5d7185;font-size:14px;line-height:1.55}
.public-report-loader{width:42px;height:42px;border:4px solid #dce8f2;border-top-color:#00549b;border-radius:50%;animation:public-report-spin .8s linear infinite}
.public-report-error-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#ffe1e1;color:#991d1d;font-size:25px;font-weight:800}
@keyframes public-report-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){
  .public-report-mode #app-root{padding:0}
  .public-report-page{border:0;border-radius:0;box-shadow:none}
  .public-report-header{min-height:0;display:block}
  .public-report-brand{padding:18px;flex-direction:column;align-items:flex-start;gap:12px}
  .public-report-brand-logo{width:min(250px,100%);max-width:100%;max-height:none;flex:none}
  .public-report-department{font-size:10px}
  .public-report-title{font-size:18px}
  .public-report-reference{min-width:0;padding:10px 18px;justify-content:flex-start;border-top:1px solid var(--public-report-header-blue);border-left:0;font-size:12px}
  .public-report-intro{padding:24px 18px 18px}
  .public-report-assessment-title{font-size:23px}
  .public-report-meta{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 18px 22px}
  .public-report-meta-year{grid-column:1/-1;border-right:0;border-bottom:1px solid #d9e3ed}
  .public-report-records{padding:0 18px 24px}
  .public-report-field-grid{grid-template-columns:1fr}
  .public-report-field,.public-report-field-wide{grid-column:1;border-right:0}
  .public-report-record-heading{align-items:flex-start;flex-direction:column;gap:5px}
  .public-report-record-id{text-align:left}
  .public-report-footer{padding:15px 18px;align-items:flex-start;flex-direction:column;gap:5px}
  .public-report-state{min-height:100vh;margin:0;border:0;border-radius:0;box-shadow:none;padding:40px 24px}
}
@media print{
  .public-report-mode{background:#fff}
  .public-report-mode #app-root{padding:0}
  .public-report-page{width:100%;border:0;border-radius:0;box-shadow:none}
  .public-report-record{break-inside:avoid}
}
