:root{color:#172033;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}body{margin:0}button{border:1px solid #b9c2cd;background:#fff;color:#172033;min-height:36px;border-radius:6px;padding:0 12px;font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.primary{background:#0d6b57;border-color:#0d6b57;color:#fff}.topbar{height:56px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8dee6;background:#fff;position:sticky;top:0;z-index:10}.brand{font-weight:800;border:0;padding:0;background:transparent;font-size:18px}nav{display:flex;gap:8px}.page{max-width:1180px;margin:0 auto;padding:28px 20px 48px}.page.narrow{max-width:760px}h1,h2,p{margin-top:0}h1{font-size:30px;line-height:1.15}h2{font-size:18px}.summaryBand{min-height:150px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #d8dee6;margin-bottom:22px}.summaryBand p{color:#546173;max-width:680px}.muted{color:#546173}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 28px}.adminMetrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metric,.panel,.uploadBox{border:1px solid #d8dee6;background:#fff;border-radius:8px}.metric{padding:16px;display:flex;justify-content:space-between;align-items:center}.metric span{color:#546173}.metric strong{font-size:28px}.sectionHeader,.detailHeader,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.detailHeader{align-items:flex-start;margin-bottom:20px}.detailHeader p{color:#546173}.actions{justify-content:flex-end;flex-wrap:wrap}.tableWrap{overflow:auto;border:1px solid #d8dee6;background:#fff;border-radius:8px}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #e6eaf0;vertical-align:middle}th{font-size:12px;text-transform:uppercase;color:#546173;background:#f9fafb}tr{cursor:pointer}tbody tr:hover{background:#f6fbfa}td span{display:block;color:#667085;font-size:12px;margin-top:2px}.badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;border:1px solid #cdd6df;background:#f8fafc;font-size:12px;font-weight:700}.badge.approved{color:#075e4c;background:#dff5ee;border-color:#9bd9c7}.badge.rejected{color:#8a1f11;background:#fde8e4;border-color:#efb5aa}.badge.validated,.badge.uploaded{color:#674500;background:#fff3cf;border-color:#efd17a}.uploadBox{padding:20px;display:flex;gap:12px;align-items:center}.notice{color:#075e4c}.errorList{background:#fff1f0;border:1px solid #f0b8b3;border-radius:8px;padding:12px;color:#8a1f11}.empty{color:#667085}.detailsGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.panel{padding:16px}.panel.full{width:100%}.adminGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.adminPanel{min-width:0}.sectionHeader.compact{margin-bottom:12px}.count{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#eef2f6;color:#475467;font-size:12px;font-weight:700}dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px 14px;margin:0}dt{color:#667085}dd{margin:0;min-width:0;overflow-wrap:anywhere}pre{overflow:auto;margin:0;padding:12px;background:#101828;color:#e5edf5;border-radius:6px}.recordPreview{max-height:260px;margin-top:10px;font-size:12px}.errorText{color:#8a1f11}.warningText{color:#674500}.runtimePage{min-height:100vh;background:#101828}.runtimeBar{height:56px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;color:#fff;border-bottom:1px solid #344054}.runtimeBar span{display:block;color:#cbd5e1;font-size:12px}.runtimePage iframe{width:100vw;height:calc(100vh - 56px);border:0;background:#fff}.runtimeDenied{margin:24px;padding:16px;background:#fff3cf;color:#674500;border-radius:8px}@media(max-width:760px){.topbar,.summaryBand,.sectionHeader,.detailHeader,.uploadBox{align-items:stretch;flex-direction:column}nav{overflow-x:auto}.metrics,.detailsGrid,.adminGrid{grid-template-columns:1fr}}
