
:root{--navy:#072d59;--navy2:#004779;--red:#ef1d32;--green:#00a276;--orange:#ff7b19;--blue:#1686ce;--teal:#14b89c;--line:#d4e0e9;--soft:#f4f8fb}
*{box-sizing:border-box}html,body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--navy);background:#dfe7ed}
.topbar{position:sticky;top:0;z-index:50;background:#061f40;color:white;padding:8px;display:flex;gap:7px;flex-wrap:wrap;justify-content:center}
button,.fileBtn{border:0;border-radius:8px;padding:10px 13px;font-weight:800;font-size:14px;cursor:pointer}.primary{background:var(--red);color:white}.light{background:white;color:var(--navy)}.fileBtn{display:inline-block}
.viewport{width:100%;overflow:hidden;padding:8px}.report{width:1024px;height:1536px;background:white;margin:auto;padding:14px;overflow:hidden;transform-origin:top left}
.header{height:155px;display:grid;grid-template-columns:190px 1fr 210px;gap:18px;align-items:center}.brand{font-size:39px;color:var(--red);font-weight:900}.brand small{display:block;color:#123454;font-size:11px}.mainTitle h1{margin:0;font-size:57px;line-height:.95}.mainTitle h1 span{color:var(--red)}.mainTitle .sub{font-size:19px;letter-spacing:5px;margin-top:8px}.edition{height:125px;background:var(--red);color:#fff;border-radius:0 0 0 28px;text-align:right;padding:13px;font-weight:800}.edition .n{font-size:31px}
.hero{height:165px;display:grid;grid-template-columns:59% 41%;gap:10px}.headline{padding:12px 22px;background:linear-gradient(135deg,#fff,#eef4f7);border-radius:16px}.tag{display:inline-block;background:var(--red);color:white;font-weight:900;padding:7px 14px;border-radius:8px}.headline h2{font-size:41px;line-height:1;margin:10px 0 3px}.headline .lead{font-size:25px;font-weight:900;color:var(--red)}.heroPic{border-radius:18px;background:linear-gradient(145deg,#a6d6ee,#0b4e82);color:#fff;display:flex;justify-content:center;align-items:center;text-align:center;font-size:25px;font-style:italic}
.row{display:grid;grid-template-columns:58% 42%;gap:10px;margin-top:10px}.panel{border:1px solid #cad8e3;border-radius:13px;overflow:hidden;background:#fff}.pt{height:45px;background:linear-gradient(90deg,var(--navy2),var(--navy));color:#fff;padding:10px 15px;font-size:20px;font-weight:900}.pt .right{float:right;font-size:13px;font-weight:400}
.metrics{height:177px;display:grid;grid-template-columns:repeat(4,1fr);padding:9px}.metric{text-align:center;border-right:1px solid var(--line);padding:4px}.metric:last-child{border:0}.metric .label{font-size:11px;font-weight:900;min-height:28px}.big{font-size:31px;font-weight:900;margin:5px 0}.small{font-size:11px}.pct{font-size:19px;font-weight:900;margin-top:5px}.green{color:var(--green)}.red{color:var(--red)}
.challenge{height:177px;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;padding:15px}.days{text-align:center;font-size:23px}.days b{font-size:43px;color:var(--red)}.pending{background:#eef7fd;border-radius:11px;padding:13px;font-size:12px}.pending b{display:block;color:var(--red);font-size:29px}
.states{height:240px;display:grid;grid-template-columns:repeat(4,1fr);padding:8px}.state{text-align:center;border-right:1px solid var(--line);padding:4px}.state:last-child{border:0}.state h3{font-size:15px;margin:2px 0 6px}.state .big{font-size:27px}.mini{font-size:10px;display:flex;justify-content:space-between;margin-top:5px}
.pos{height:240px;padding:7px 15px}.bars{height:150px;border-bottom:2px solid var(--line);display:flex;align-items:flex-end;justify-content:space-around}.bw{width:23%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.bv{font-size:18px;font-weight:900;margin-bottom:3px}.bar{width:40px;border-radius:4px 4px 0 0}.posLabels{display:grid;grid-template-columns:repeat(4,1fr)}.pl{text-align:center;font-size:9px;padding-top:4px}.pl b{display:block;color:var(--red);font-size:15px;margin:1px}
.mid{display:grid;grid-template-columns:43% 57%;gap:10px;margin-top:10px}.daily{height:280px;padding:8px}.daily table{width:100%;border-collapse:collapse;font-size:11px}.daily th{background:var(--navy);color:white}.daily th,.daily td{border:1px solid #cfd9e1;padding:6px;text-align:center}.daily .total td{background:var(--red);color:white;font-weight:900}
.cards{height:280px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px}.card{padding:8px;font-size:10px;background:var(--soft);border-radius:9px}.card h4{font-size:11px;margin:0 0 8px}.card .accent{margin-top:12px;padding:8px;border-radius:8px;background:#e6f7ef;font-weight:800}
.bottom{display:grid;grid-template-columns:42% 35% 23%;gap:10px;margin-top:10px}.bottom .panel{height:205px}.pad{padding:12px;font-size:11px}.cols2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.footer{height:112px;margin-top:10px;border-radius:13px;background:linear-gradient(120deg,#07508d,#fff 42%);display:grid;grid-template-columns:30% 50% 20%;align-items:center;padding:14px}.footer strong{font-size:21px;color:#fff}.quote{font-size:12px;font-style:italic}
.admin{position:fixed;inset:0;background:#000a;z-index:100;display:none;padding:12px;overflow:auto}.admin.open{display:block}.adminBox{max-width:850px;margin:auto;background:#fff;border-radius:15px;padding:16px}.adminHead{display:flex;justify-content:space-between;align-items:center;gap:10px}.tabs{display:flex;gap:6px;overflow:auto;padding:8px 0}.tab{white-space:nowrap;background:#eaf0f5;color:var(--navy)}.tab.active{background:var(--navy);color:white}.form{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.form label{font-size:12px;font-weight:800}.form input,.form textarea{width:100%;padding:9px;border:1px solid #bccbd7;border-radius:7px;font-size:15px}.form textarea{min-height:85px}.span2{grid-column:1/-1}.hint{font-size:11px;color:#5b6c7b}
@media(max-width:1050px){
  body{background:#eef3f7}
  .topbar{position:sticky;top:0;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:8px}
  .topbar button,.topbar .fileBtn{flex:0 0 auto;font-size:13px;padding:9px 11px}
  .viewport{padding:8px;overflow:visible}
  .report{width:100%;height:auto;min-height:0;margin:0;padding:10px;transform:none!important}
  .header{height:auto;grid-template-columns:1fr;gap:8px;text-align:center}
  .brand{font-size:32px}.mainTitle h1{font-size:38px}.mainTitle .sub{font-size:13px;letter-spacing:3px}
  .edition{height:auto;border-radius:12px;text-align:center;padding:10px}
  .hero{height:auto;grid-template-columns:1fr}.headline{padding:14px}.headline h2{font-size:31px}.headline .lead{font-size:20px}
  .heroPic{min-height:145px;font-size:21px}
  .row,.mid,.bottom{grid-template-columns:1fr;gap:8px;margin-top:8px}
  .pt{height:auto;min-height:42px;font-size:17px;padding:10px 12px}.pt .right{font-size:11px}
  .metrics{height:auto;grid-template-columns:repeat(2,1fr);gap:6px;padding:8px}
  .metric{border:1px solid var(--line)!important;border-radius:9px;padding:9px}.metric .label{min-height:0}.big{font-size:28px}
  .challenge{height:auto;min-height:165px;padding:12px}
  .states{height:auto;grid-template-columns:repeat(2,1fr);gap:6px;padding:8px}
  .state{border:1px solid var(--line)!important;border-radius:9px;padding:8px}
  .pos{height:auto;padding:10px}.bars{height:165px}.bar{width:32px}.pl{font-size:8px}.pl b{font-size:14px}
  .daily{height:auto;overflow-x:auto;padding:8px}.daily table{min-width:560px;font-size:10px}
  .cards{height:auto;grid-template-columns:1fr 1fr}.card{min-height:160px;height:auto;font-size:11px}
  .bottom .panel{height:auto;min-height:145px}
  .footer{height:auto;min-height:160px;grid-template-columns:1fr;gap:12px;text-align:center}.footer strong{font-size:20px}
  .admin{padding:0}.adminBox{min-height:100vh;border-radius:0;padding:14px}.adminHead{position:sticky;top:0;background:#fff;z-index:3;padding:5px 0}
  .tabs{position:sticky;top:54px;background:#fff;z-index:2}
  .form{grid-template-columns:1fr}.form input,.form textarea{font-size:16px}
}
@media(max-width:480px){
  .report{padding:6px}
  .mainTitle h1{font-size:32px}.headline h2{font-size:27px}.headline .lead{font-size:18px}
  .metrics,.states{grid-template-columns:1fr 1fr}
  .value,.big{font-size:25px}
  .cards{grid-template-columns:1fr}
  .challenge{grid-template-columns:1fr 1.15fr}
}

@media print{body{background:#fff}.topbar,.admin{display:none!important}.viewport{padding:0;overflow:visible;height:auto}.report{transform:none!important;margin:0}@page{size:1024px 1536px;margin:0}}
