/* Report pages (paper). Always light: these are printed documents. Scoped under .spr */
.spr{--ink:#14181F;--body:#3A4250;--muted:#5B6472;--rule:#D9DEE5;--hair:#E4E8EE;--panel:#F3F5F8;--blue:#1E73BE;--logo:#0D8DE2;color-scheme:light}
.spr *{box-sizing:border-box}
.spr .sheet-wrap{margin:0 auto 18px;overflow:hidden;box-shadow:0 1px 2px rgba(10,20,40,.12),0 8px 24px rgba(10,20,40,.10);border-radius:2px;background:#fff}
.spr .sheet-scale{transform-origin:top left}
.spr .page{position:relative;overflow:hidden;background:#fff;display:flex;flex-direction:column;font-family:'Roboto','Segoe UI',Arial,sans-serif;color:var(--ink);-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:14px;line-height:1.35}
.spr .p{width:794px;height:1122px;padding:40px 56px 0;gap:18px}
.spr .l{width:1122px;height:793px;padding:34px 44px 0;gap:14px}
.spr .mono{font-family:'IBM Plex Mono',Consolas,'Courier New',monospace}
.spr h1,.spr h2,.spr h3{margin:0;color:var(--ink)}
.spr h2{font-size:28px;font-weight:700}.spr h3{font-size:16px;font-weight:700}
.spr .runhead{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--rule)}
.spr .runhead .brand{font-weight:700;letter-spacing:.16em;color:var(--blue)}
.spr .foot{margin-top:auto;padding:14px 0 26px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}
.spr .l .foot{padding:10px 0 20px;font-size:10px}
.spr .eyebrow{font-size:12px;letter-spacing:.1em;color:var(--muted)}
.spr .lede{font-size:13px;line-height:1.55;color:var(--body)}
/* Reset the admin page's .row/.stack (wrap, gaps, centring) so they don't leak into the paper layout. */
.spr .stack{display:flex;flex-direction:column;gap:0}.spr .row{display:flex;gap:0;flex-wrap:nowrap;align-items:stretch}
.spr .g6{gap:6px}.spr .g8{gap:8px}.spr .g10{gap:10px}
.spr .grid{display:grid;gap:10px}
.spr .tile{background:var(--panel);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:4px}
.spr .tile .k{font-size:12px;color:var(--muted)}.spr .tile .v{font-size:26px;font-weight:700}
.spr .tile.warn{background:#FFF1D6}.spr .tile.warn .k,.spr .tile.warn .v{color:#7A4A00}
.spr .card{border:1px solid var(--rule);border-radius:6px;padding:12px}
.spr .chip{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap}
.spr .GOOD,.spr .OK,.spr .RESOLVED{background:#DDF3E6;color:#175C3A}
.spr .WATCH,.spr .PART,.spr .OPEN{background:#FFF1D6;color:#7A4A00}
.spr .ACTION,.spr .MISS{background:#FBE1DD;color:#8A1C12}
.spr .EXPECTED,.spr .NA{background:var(--hair);color:var(--body)}
.spr .tbl .hd{font-size:11px;font-weight:600;color:var(--muted);padding:8px 0;border-bottom:1px solid var(--ink);letter-spacing:.04em;text-transform:uppercase}
.spr .tbl .tr{font-size:12px;padding:9px 0;border-bottom:1px solid var(--hair);align-items:start}
.spr .tbl .hd,.spr .tbl .tr{display:grid;gap:10px}
.spr .muted{color:var(--muted)}.spr .body{color:var(--body)}
.spr .good{color:#175C3A;font-weight:600}.spr .bad{color:#8A1C12;font-weight:700}.spr .warnc{color:#7A4A00;font-weight:700}.spr .blue{color:var(--blue);font-weight:600}
.spr .bar{height:8px;background:var(--hair);border-radius:4px}.spr .bar>div{height:8px;border-radius:4px;background:var(--blue)}
.spr .sec-title{font-size:16px;font-weight:700;padding-bottom:8px;border-bottom:2px solid var(--ink)}
.spr .tiny{font-size:11px}.spr .small{font-size:12px}
.spr .pill{font-family:'IBM Plex Mono',Consolas,monospace;font-size:10px;font-weight:700;padding:1px 5px;border-radius:3px}
.spr .P1{background:#8A1C12;color:#fff}.spr .P2{background:#C2610C;color:#fff}.spr .P3{background:#F2C14E;color:#14181F}.spr .P4{background:#D9DEE5;color:#14181F}
.spr .trunc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spr .cover{color:#fff;padding:48px 56px 44px;height:392px;display:flex;flex-direction:column}
.spr .cover .meta{display:flex;gap:32px;font-size:15px;color:#E6EDF5}
.spr .cover .meta span{color:#C9D6E4}.spr .cover .meta b{color:#fff;font-weight:600}
.spr .pillar{border:1px solid var(--rule);border-radius:6px;padding:14px 12px;display:flex;flex-direction:column;gap:6px}
.spr .pillar .n{font-size:12px;color:var(--muted);font-weight:500}.spr .pillar .v{font-size:24px;font-weight:700}.spr .pillar .s{font-size:12px;color:var(--body)}
.spr .dev .hd,.spr .dev .tr{grid-template-columns:1.5fr 1.3fr .8fr .55fr .6fr .75fr .7fr .7fr .55fr;gap:6px}
.spr .dev .tr{font-size:11px;padding:7px 0;align-items:center}.spr .dev .hd{font-size:10px}
.spr .flag{font-size:10px;font-weight:700;padding:2px 6px;border-radius:8px;background:#FBE1DD;color:#8A1C12}
.spr .rm{display:grid;grid-template-columns:1fr 130px;gap:12px;font-size:12px;padding:8px 0;border-bottom:1px solid var(--hair)}
.spr .rm .o{text-align:right;font-weight:600}
.spr .tag{font-family:'IBM Plex Mono',Consolas,monospace;font-size:12px;font-weight:600;color:#fff;padding:2px 8px;border-radius:3px}
.spr .reg .hd,.spr .reg .tr{grid-template-columns:34px 34px 1.45fr .75fr 1.15fr 2.3fr .7fr 50px 54px;gap:8px}
.spr .reg .hd{font-size:10px;padding:7px 0;letter-spacing:.05em}.spr .reg .tr{font-size:11px;line-height:1.35;padding:6px 0}
.spr .reg .tgt{font-family:'IBM Plex Mono',Consolas,monospace;font-size:10px;color:var(--body);word-break:break-word}
.spr .fr{display:grid;grid-template-columns:1fr 64px 50px;gap:8px;font-size:12px;padding:8px 0;border-bottom:1px solid var(--hair);align-items:center}
.spr .dq{display:flex;gap:10px;font-size:12px;line-height:1.45;padding:7px 0;border-bottom:1px solid var(--hair)}
.spr .box{width:14px;height:14px;border:1.5px solid var(--body);border-radius:3px;flex-shrink:0;margin-top:1px}
.spr .sig{border-bottom:1px solid var(--body);padding-bottom:18px}
.spr .dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
/* MS365 Security Health Check */
.spr .verdict{border-radius:8px;padding:16px 20px;display:flex;flex-direction:column;gap:6px;border-left:8px solid}
.spr .verdict.red{background:#FBE1DD;border-color:#8A1C12;color:#5E120B}.spr .verdict.amber{background:#FFF1D6;border-color:#C2610C;color:#5A3600}.spr .verdict.green{background:#DDF3E6;border-color:#1F7A4D;color:#0F4429}
.spr .verdict .lede,.spr .verdict .muted{color:inherit;opacity:.9}
.spr .tile.bad{background:#FBE1DD}.spr .tile.bad .k,.spr .tile.bad .v{color:#8A1C12}
.spr .hf{display:grid;grid-template-columns:58px 1fr;gap:10px;font-size:12px;line-height:1.4;padding:7px 0;border-bottom:1px solid var(--hair);align-items:start}
.spr .sev{font-family:'IBM Plex Mono',Consolas,monospace;font-size:10px;font-weight:700;padding:2px 0;border-radius:3px;text-align:center;letter-spacing:.04em}
.spr .sev.high{background:#8A1C12;color:#fff}.spr .sev.medium{background:#F2C14E;color:#14181F}.spr .sev.info{background:var(--hair);color:var(--body)}

@media print{
  @page{margin:0}
  body *{visibility:hidden}
  .spr.print-target,.spr.print-target *{visibility:visible}
  .spr.print-target{position:absolute;left:0;top:0}
  .spr.print-target .sheet-wrap{box-shadow:none;margin:0;border-radius:0;width:auto!important;height:auto!important;break-after:page;page-break-after:always}
  .spr.print-target .sheet-scale{transform:none!important}
}
.spr a.spr-link{color:inherit;text-decoration:none}.spr a.spr-link.row{display:flex}.spr a.spr-link:hover>.tile,.spr a.spr-link.row:hover{filter:brightness(.96)}
