/* Public Matrix — same visual language on private preview and public viewer */
.pm-wrap{font-family:inherit;color:#284655;max-width:1240px;margin:0 auto}
.pm-banner{background:linear-gradient(115deg,#153b51,#1b6c73 70%,#29988b);color:#fff;padding:30px 34px;border-radius:18px;box-shadow:0 12px 25px rgba(28,72,82,.12)}
.pm-eyebrow{font-weight:800;letter-spacing:1.6px!important;font-size:10px!important;color:#f8d49b!important;margin:0 0 7px!important}
.pm-banner h2{font-size:24px;font-weight:800;margin:5px 0 5px;color:#fff}
.pm-banner>p{font-size:12px;color:#d1e8e6;margin:7px 0;line-height:1.8}
.pm-stamp{display:inline-block;font-size:11px;margin-top:16px;padding:8px 12px;border-radius:30px;color:#fff;background:rgba(255,255,255,.12)}
.pm-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin:20px 0}
.pm-stat{min-width:0;padding:19px 14px;border-radius:13px;background:#fff;border:1px solid #e1eaed}
.pm-stat span{display:block;min-height:32px;color:#7c929d;font-size:11px;font-weight:600;line-height:1.5}
.pm-stat strong{display:block;margin-top:7px;font-size:26px;color:#345a68}
.pm-stat.damaged strong,.pm-stat.open strong{color:#b57837}
.pm-stat.repaired strong{color:#33826e}
.pm-section{border-radius:15px;padding:24px 25px;margin:17px 0;border:1px solid #e1e9ed;background:#fff;box-shadow:0 5px 16px rgba(23,67,80,.025)}
.pm-section-title{display:flex;gap:12px;justify-content:space-between;align-items:baseline;margin-bottom:18px}
.pm-section-title h3{font-size:16px;color:#2a4a5c;margin:0}
.pm-section-title p{font-size:11px;color:#8d9da6;margin:0}
.pm-overflow{max-width:100%;overflow-x:auto}
.pm-table{border-collapse:collapse;width:100%;min-width:690px;font-size:12px;text-align:center}
.pm-table thead th{padding:14px 10px;background:#f1f7f7;color:#506e7a;font-size:11px}
.pm-table th:first-child,.pm-table td:first-child{text-align:left}
.pm-table tbody th,.pm-table tbody td{border-bottom:1px solid #ebf0f2;padding:12px 10px}
.pm-table tbody th{font-weight:750;white-space:nowrap;color:#3f6070}
.pm-table .pm-num{font-weight:750;color:#2f576a;font-variant-numeric:tabular-nums}
.pm-pill{display:inline-block;min-width:56px;text-align:center;font-weight:750;padding:7px 9px;border-radius:8px;font-variant-numeric:tabular-nums}
.pm-pill.positive{background:#dff3e9;color:#227459}
.pm-pill.middle{background:#fdf0da;color:#916329}
.pm-pill.warning{background:#fff0e8;color:#ad6741}
.pm-pill.neutral{background:#edf2f5;color:#8a9ca6}
.pm-equip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pm-equip-card{border:1px solid #e2e9ec;border-radius:12px;padding:18px 20px;background:#fafcfc}
.pm-equip-card h4{font-size:14px;color:#2d5b66;margin:0 0 15px}
.pm-equip-card>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e6edef;gap:10px;padding:9px 0}
.pm-equip-card span{font-size:12px;color:#748c98}.pm-equip-card strong{font-size:16px;color:#315c67}
.pm-note,.pm-foot{font-size:11px;line-height:1.75;color:#8c9da6;margin:13px 0 0}
.pm-foot{text-align:center;margin:18px 0 23px}
.pm-empty{text-align:center;background:#f7fafb;border:1px dashed #d6e3e8;padding:34px 22px;border-radius:12px}
.pm-empty strong{font-size:14px;color:#4b6a7a}.pm-empty p{font-size:12px;color:#92a3ad;margin:8px 0}
.pm-admin-actions{display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin:17px 0}
.pm-admin-disclaimer{font-size:11px;color:#7b909d;line-height:1.8;margin:0 0 18px}
@media(max-width:1020px){.pm-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.pm-banner{padding:24px 20px}.pm-banner h2{font-size:21px}.pm-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pm-stat{padding:14px}.pm-stat strong{font-size:25px}.pm-section{padding:17px 13px}.pm-section-title{display:block}.pm-section-title p{margin-top:5px}.pm-equip{grid-template-columns:1fr}.pm-admin-actions .btn{width:100%;text-align:center;justify-content:center}}
@media print{.pm-admin-actions,.pm-admin-disclaimer{display:none!important}.pm-section{break-inside:avoid}.pm-wrap{max-width:none}.pm-banner{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
