:root{font-family:-apple-system,SF Pro Text,Inter,system-ui,sans-serif;color:#16202e;background:#f6f8fa;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}.app{max-width:1180px;margin:0 auto;padding:18px}header{display:flex;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:16px}.brand-divider{color:#cbd5e1;font-weight:400;font-size:20px;line-height:1}.brand-text{font-weight:600;font-size:15px;color:#334155}.badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 9px;border-radius:999px;white-space:nowrap}.badge.live{background:#dcebf0;color:#1f5f73}.badge.sandbox{background:#fef3c7;color:#92400e}.spacer{flex:1}.panel{background:#fff;border:1px solid #e5eaf0;border-radius:14px;padding:14px 16px;margin-bottom:14px;box-shadow:0 1px 2px #1018280d,0 1px 3px #1018280f}.panel h3{margin:0 0 10px;font-size:12px;text-transform:uppercase;color:#475569;letter-spacing:.05em;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.muted{color:#5d6b82;font-size:12.5px}.small{font-size:11px}input,select,button,textarea{font:inherit}button{cursor:pointer}.btn{border:1px solid #cbd5e1;border-radius:8px;padding:6px 13px;background:#f8fafc;font-size:13px;color:#16202e}.btn.primary{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:600}.btn.danger{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.btn:disabled{opacity:.5;cursor:default}.link{border:none;background:none;color:#2563eb;font-size:12.5px;cursor:pointer;padding:2px 4px;border-radius:6px;text-decoration:none}.link:hover{background:#eff6ff}.seg{display:inline-flex;background:#e9edf2;border-radius:10px;padding:3px;flex-wrap:wrap}.seg button{border:none;background:none;padding:6px 14px;border-radius:8px;font-size:13px;font-weight:600;color:#45536a;cursor:pointer;white-space:nowrap}.seg button.on{background:#fff;color:#16202e;box-shadow:0 1px 2px #10182814}.seg a{border:none;background:none;padding:6px 14px;border-radius:8px;font-size:13px;font-weight:600;color:#45536a;cursor:pointer;white-space:nowrap;text-decoration:none}.seg a[aria-current=page]{background:#fff;color:#16202e;box-shadow:0 1px 2px #10182814}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:10px;border:1.5px solid #e5eaf0;background:#fff;color:#334155;cursor:pointer;text-decoration:none}.chip.on{border-color:#16202e}.chip b{font-size:15px}.pill{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 9px;border-radius:999px;white-space:nowrap}.pill.released{background:#dcebf0;color:#1f5f73}.pill.review{background:#dfede3;color:#2f6f45}.pill.changes{background:#fef3c7;color:#92400e}.pill.needs{background:#f8e6dd;color:#a8461e}.pill.missing{background:#f3dcdc;color:#7a2e2e}.pill.vendor{background:#e4ecf0;color:#1f5f73}.pill.dormant,.pill.parked,.pill.retired{background:#eeeeea;color:#5d6b82;border:1px solid #e5eaf0}.search{width:100%;padding:9px 12px;border:1.5px solid #e5eaf0;border-radius:10px;background:#fff}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:#5d6b82;padding:6px 8px;border-bottom:1px solid #e5eaf0;white-space:nowrap}.table td{padding:8px;border-bottom:1px solid #f1f5f9;vertical-align:top}.table tr:hover td{background:#f8fafc}.row-title{font-weight:600}.row-title a{color:inherit;text-decoration:none}.row-title a:hover{text-decoration:underline}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.log li{padding:6px 0;border-bottom:1px solid #f1f5f9;font-size:13px}.log .when{color:#5d6b82;font-size:12px;margin-right:8px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182859;display:flex;align-items:center;justify-content:center;z-index:10}.dialog{background:#fff;border-radius:14px;padding:18px;width:min(560px,94vw);max-height:90vh;overflow:auto}.dialog h2{margin:0 0 10px;font-size:17px}.field{display:block;margin:10px 0;font-size:13px}.field input,.field select,.field textarea{width:100%;padding:7px 9px;border:1px solid #cbd5e1;border-radius:8px;margin-top:4px}.steps li{font-size:13px;padding:3px 0}.steps .done{color:#15803d}.steps .fail{color:#b91c1c}.steps .run{color:#2563eb}.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:8px 12px;border-radius:10px;font-size:13px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 800px){.grid2{grid-template-columns:1fr}.table{min-width:720px}.scroll-x{overflow-x:auto}}
