
@page { size: A4 portrait; margin: 10mm; }

body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:#f5f7fa;
  margin:0;
  color:#34495e;
}
.top{
  background:#0B1A2D;
  color:white;
  padding:22px 28px;
}
.top h1{margin:0 0 4px 0;font-size:28px}
.top p{margin:0;opacity:.86}
.wrap{max-width:1440px;margin:auto;padding:30px}

.summary{
  background:white;
  padding:20px;
  border-radius:12px;
  margin-bottom:30px;
  box-shadow:0 3px 10px rgba(0,0,0,.05);
}
.summary-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
}
.summary h2{margin:0 0 4px 0}
.muted{margin:0;color:#6c7a88;font-size:13px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{
  border:1px solid #d7dee6;
  background:white;
  color:#34495e;
  border-radius:10px;
  padding:10px 14px;
  font-weight:600;
  cursor:pointer;
}
.btn.primary{
  background:#0B1A2D;
  color:white;
  border-color:#0B1A2D;
}
.stats{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:14px;
}
.stat{
  padding:12px 16px;
  border-radius:10px;
  text-align:center;
  min-width:92px;
}
.stat span{font-size:20px;font-weight:700;display:block}
.stat label{font-size:12px;opacity:.8}
.red{background:#f6d2d2}
.orange{background:#f7ddb8}
.yellow{background:#f7efb8}
.green{background:#d5ead7}
.purple{background:#e5daf6}
.gray{background:#e2e8f0}

.layer{margin-bottom:28px; break-inside: avoid; page-break-inside: avoid;}
.layer-head{
  background:white;
  padding:14px 18px;
  border-radius:12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
  box-shadow:0 3px 8px rgba(0,0,0,.05);
  gap:16px;
}
.layer-title{font-weight:700;font-size:18px}
.layer-note{font-size:13px;color:#6c7a88;margin-top:4px}
.chevron{font-size:18px;color:#6c7a88;transition:transform .15s ease}
.layer.collapsed .chevron{transform:rotate(-90deg)}
.grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:28px;
  margin-top:22px;
}
.layer.collapsed .grid{display:none}
.tile{
  height:170px;
  border-radius:16px;
  padding:18px;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 12px 28px rgba(0,0,0,.08);
  transition:.15s;
  break-inside: avoid;
  page-break-inside: avoid;
}
.tile:hover{transform:translateY(-3px)}
.tile-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.tile strong{
  font-size:15px;
  font-weight:600;
  line-height:1.3;
}
.tile .desc{
  font-size:13px;
  line-height:1.45;
  opacity:.82;
}
.badge{
  background:white;
  padding:4px 10px;
  border-radius:20px;
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
  box-shadow:0 2px 6px rgba(0,0,0,.06);
}

@media (max-width:1350px){ .grid{grid-template-columns:repeat(4,minmax(0,1fr));} }
@media (max-width:1100px){ .grid{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:800px){
  .wrap{padding:18px}
  .summary-head{flex-direction:column}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:560px){ .grid{grid-template-columns:1fr;} }

@media print{
  body{background:white}
  .wrap{max-width:none;padding:0}
  .top{padding:10px 12px}
  .summary{box-shadow:none;margin-bottom:16px;padding:12px}
  .no-print{display:none !important}
  .layer-head{box-shadow:none}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:10px}
  .tile{height:130px; box-shadow:none; padding:12px}
  .tile:hover{transform:none}
  .layer{margin-bottom:14px}
  .layer.collapsed .grid{display:grid !important}
  .chevron{display:none}
}
