*{box-sizing:border-box}body{margin:0;font:15px/1.5 Inter,system-ui,-apple-system,Segoe UI,Arial;color:#1f2937;background:#f5f7fb}.app{display:flex;min-height:100vh}aside{width:240px;background:#111827;color:#fff;padding:22px 16px;position:fixed;inset:0 auto 0 0}.brand{font-size:22px;font-weight:800;margin:0 10px 25px}nav a{display:block;color:#cbd5e1;text-decoration:none;padding:11px 12px;border-radius:8px;margin:3px 0}nav a:hover,nav a.active{background:#2563eb;color:#fff}main{margin-left:240px;width:calc(100% - 240px);padding:28px 34px}header h1{margin:0 0 22px;font-size:28px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat{font-size:28px;font-weight:800}.muted{color:#6b7280}.btn{display:inline-block;border:0;background:#2563eb;color:#fff;padding:10px 15px;border-radius:7px;text-decoration:none;cursor:pointer;font-weight:600}.btn.secondary{background:#fff;color:#2563eb;border:1px solid #93c5fd}.btn.danger{background:#dc2626}input,select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:7px;background:#fff}.row{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center;margin:14px 0}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:11px 12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}th{font-size:13px;color:#4b5563;background:#f9fafb}.badge{padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;display:inline-block}.badge.present{background:#dcfce7;color:#166534}.badge.partial{background:#fef3c7;color:#92400e}.badge.absent{background:#fee2e2;color:#991b1b}.badge.unverified{background:#e0e7ff;color:#3730a3}.alert{padding:12px 14px;border-radius:8px;margin-bottom:16px}.alert.success{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#991b1b}.tabs{display:flex;gap:8px;margin-bottom:14px}.tabs a{padding:8px 12px;background:#e5e7eb;border-radius:7px;text-decoration:none;color:#111827}.tabs a.active{background:#2563eb;color:#fff}.small{font-size:12px}.scroll{overflow:auto}@media(max-width:900px){aside{position:static;width:100%}.app{display:block}main{margin:0;width:100%;padding:18px}.grid{grid-template-columns:1fr 1fr}.row{grid-template-columns:1fr}.brand{margin-bottom:10px}nav{display:flex;gap:5px;overflow:auto}nav a{white-space:nowrap}}
