*{box-sizing:border-box}body{margin:0;background:#f3f6fa;color:#1d2939;font-family:"Yu Gothic",YuGothic,system-ui,sans-serif}header{background:#0b3566;color:#fff;padding:22px 5%;display:flex;justify-content:space-between;align-items:center}header h1{margin:0;font-size:24px}header p{margin:5px 0 0;opacity:.85}header span{background:#fff2;border:1px solid #fff5;border-radius:999px;padding:8px 14px}main{max-width:1500px;margin:24px auto;padding:0 20px}.card{background:#fff;border-radius:14px;padding:22px;margin-bottom:18px;box-shadow:0 3px 14px #102a4312}h2{margin:0 0 12px}.note{color:#667085}.drop{display:block;border:2px dashed #8ca5c3;border-radius:12px;padding:30px;text-align:center;cursor:pointer;background:#f8fbff}.drop input{display:none}.drop b,.drop small{display:block}.drop small{margin-top:8px;color:#667085}.actions{display:flex;gap:10px;align-items:center;margin-top:16px}button{border:0;border-radius:8px;padding:11px 18px;background:#1261a6;color:white;font-weight:700;cursor:pointer}.secondary{background:#e7eef6;color:#17466f}.progress{height:8px;background:#e5e7eb;border-radius:99px;margin-top:16px;overflow:hidden}.progress i{display:block;height:100%;width:0;background:#1261a6}.head{display:flex;justify-content:space-between;align-items:center;gap:15px}.head input{padding:10px;border:1px solid #ccd5df;border-radius:8px;min-width:280px}.maker{padding:12px 14px;background:#eef6ff;border-radius:9px}.maker strong{margin-left:8px}.maker em{margin-left:15px;font-style:normal;border-radius:999px;padding:5px 10px}.ok{background:#d1fadf;color:#05603a}.bad{background:#fee4e2;color:#b42318}.warn{background:#fef0c7;color:#93370d}.kpis{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-top:16px}.kpi{border:1px solid #e3e9ef;border-radius:10px;padding:14px}.kpi span{display:block;color:#667085;font-size:13px}.kpi b{display:block;font-size:24px;margin-top:6px}.validation{margin-top:14px;padding:14px;border-radius:10px}.table{overflow:auto;max-height:65vh}table{border-collapse:collapse;width:100%;white-space:nowrap}th,td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left}th{position:sticky;top:0;background:#eef3f8}.num{text-align:right}.row-warn{background:#fff8e7}pre{white-space:pre-wrap}@media(max-width:900px){.kpis{grid-template-columns:1fr 1fr}header{align-items:flex-start;gap:15px}.head{align-items:flex-start;flex-direction:column}.head input{width:100%;min-width:0}}
