*{box-sizing:border-box}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;color:#111827;background-color:#f9fafb}body{margin:0;min-height:100vh}.app-shell{max-width:1200px;margin:0 auto;padding:24px}.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 0 24px}.brand{font-size:20px;font-weight:700}.nav{display:flex;gap:12px}.nav-link{padding:8px 12px;border-radius:8px;color:#111827;text-decoration:none;border:1px solid transparent}.nav-link.active{background:#e0f2fe;border-color:#38bdf8;color:#0c4a6e}.app-main{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;box-shadow:0 10px 25px #0f172a0f}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:600;font-size:14px}.field input,.field textarea,.field select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.field textarea{min-height:140px;resize:vertical}.actions{margin-top:12px;display:flex;gap:12px;flex-wrap:wrap}.btn{padding:10px 14px;border-radius:10px;border:none;cursor:pointer;font-weight:600;font-size:14px}.btn.primary{background:#0ea5e9;color:#fff}.btn.outline{background:#fff;border:1px solid #cbd5e1;color:#0f172a}.card{border:1px solid #e5e7eb;border-radius:10px;padding:14px;background:#f8fafc}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:12px}.chip{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.chip.pass{background:#ecfdf3;color:#15803d}.chip.partial{background:#fff7ed;color:#c2410c}.chip.fail{background:#fef2f2;color:#b91c1c}.muted{color:#6b7280;font-size:13px}.section-title{margin:0 0 10px}.table{width:100%;border-collapse:collapse;margin-top:12px}.table th,.table td{border:1px solid #e5e7eb;padding:8px;text-align:left}.table th{background:#f1f5f9}.inline-input{width:100%;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px}.danger{color:#b91c1c}.success{color:#16a34a}.status-text{font-weight:600}.small{font-size:13px}.tag{display:inline-block;background:#eef2ff;color:#4338ca;padding:4px 8px;border-radius:6px;font-size:12px}
