*{box-sizing:border-box}body{margin:0;background:#f5f8fc;color:#172033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.top{height:68px;background:linear-gradient(135deg,#173b91,#2563eb);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;box-shadow:0 8px 24px #2563eb22}.brand{font-weight:800;color:#fff;text-decoration:none;font-size:18px}.brand span{font-size:11px;background:#ffffff22;border:1px solid #ffffff44;padding:4px 8px;border-radius:999px;margin-left:8px}.top nav{display:flex;gap:7px;flex-wrap:wrap}.top nav a{color:#eaf1ff;text-decoration:none;padding:9px 11px;border-radius:8px;font-size:13px}.top nav a:hover{background:#ffffff18}.wrap{max-width:1240px;margin:28px auto;padding:0 18px}.card{background:#fff;border:1px solid #dce5f0;border-radius:12px;padding:22px;margin-bottom:18px;box-shadow:0 6px 22px #0f172a08}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{padding:18px;border:1px solid #e1e8f1;border-radius:10px;background:#fbfdff}.stat span{font-size:12px;color:#64748b}.stat b{display:block;font-size:28px;margin-top:6px}h1{font-size:26px;margin:0 0 18px}h2{font-size:18px;margin:0 0 14px}h3{font-size:15px;margin:0 0 8px}label{font-size:13px;font-weight:700;display:block;margin:0 0 7px}input,select,textarea{width:100%;border:1px solid #cbd7e5;border-radius:8px;padding:10px 11px;font:inherit;background:#fff;color:#172033}textarea{min-height:120px}.row{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;padding:9px 13px;font-weight:700;font-size:13px;text-decoration:none;cursor:pointer;background:#2563eb;color:#fff}.btn.gray{background:#fff;color:#334155;border-color:#cbd7e5}.btn.red{background:#dc2626}.btn.green{background:#059669}.btn.small{padding:6px 9px;font-size:12px}.btn.delete-outline{background:#fff;color:#b91c1c;border-color:#fca5a5}.btn.delete-outline:hover{background:#fef2f2}.btn:disabled{cursor:not-allowed;opacity:.5}.actions{display:flex;gap:6px;flex-wrap:wrap}.notice{padding:12px 14px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:9px;margin-bottom:16px}.notice.success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.notice.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.muted,.small{color:#64748b;font-size:12px}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;word-break:break-all}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:11px 9px;border-bottom:1px solid #e7edf4;text-align:left;vertical-align:top}th{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.active,.published{background:#dcfce7;color:#166534}.inactive,.draft{background:#e2e8f0;color:#334155}.suspended,.expired,.revoked,.withdrawn{background:#fee2e2;color:#991b1b}.pill{background:#eef4ff;color:#1d4ed8;border:1px solid #c7d7ff;padding:4px 8px;border-radius:999px;font-size:11px}.statline{display:flex;justify-content:space-between;gap:15px}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.danger{color:#991b1b}.delete-dialog{width:min(520px,calc(100% - 28px));border:1px solid #fecaca;border-radius:12px;padding:24px;color:#172033;box-shadow:0 24px 70px #0f172a55}.delete-dialog::backdrop{background:#0f172a99}.delete-dialog p{line-height:1.5}.delete-version-box{margin:15px 0;padding:11px 12px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}footer{text-align:center;color:#64748b;font-size:12px;padding:20px}.hero{background:linear-gradient(135deg,#173b91,#2563eb);color:#fff;border-radius:14px;padding:24px;margin-bottom:18px}.hero h1{margin-bottom:6px}.hero p{margin:0;color:#dbeafe}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.top{height:auto;gap:12px;padding:14px;align-items:flex-start;flex-direction:column}.row{grid-template-columns:1fr}}@media(max-width:560px){.grid{grid-template-columns:1fr}.wrap{padding:0 10px}.card{padding:16px}.dialog-actions{flex-direction:column-reverse}.dialog-actions .btn{width:100%}}
.btn.red{background:#b91c1c;color:#fff;border-color:#991b1b}.btn.red:hover{background:#991b1b}.select-column{width:108px;white-space:nowrap}.select-all-label{display:inline-flex;align-items:center;gap:7px;margin:0;cursor:pointer}.release-checkbox,.latest-warning-confirm input{width:16px;height:16px;margin:0;padding:0;accent-color:#b91c1c;cursor:pointer}.bulk-action-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin-bottom:12px;border:1px solid #fecaca;border-radius:9px;background:#fff7f7;color:#7f1d1d;font-size:13px;font-weight:700}.bulk-action-error{margin-bottom:12px}.bulk-delete-list{max-height:190px;overflow:auto;margin:10px 0 16px;padding-left:24px}.bulk-delete-list li{padding:3px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.latest-release-warning{padding:12px;margin-top:14px;border:1px solid #f59e0b;border-radius:8px;background:#fffbeb;color:#92400e}.latest-warning-confirm{display:flex;align-items:center;gap:8px;margin-top:10px;font-weight:700;cursor:pointer}@media(max-width:560px){.bulk-action-bar{align-items:stretch;flex-direction:column}.bulk-action-bar .btn{width:100%}.select-column{width:auto}.select-all-label span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
.product-title-row{align-items:center;margin-bottom:18px}.product-title-row h1{margin-bottom:4px}.product-overview-grid,.dependency-grid,.installation-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.product-overview-grid>div,.dependency-grid>div,.installation-summary>div{padding:14px;border:1px solid #e1e8f1;border-radius:9px;background:#fbfdff}.product-overview-grid span,.dependency-grid span,.installation-summary span,.product-description>span{display:block;color:#64748b;font-size:12px;margin-bottom:5px}.product-overview-grid strong,.dependency-grid strong,.installation-summary strong{display:block}.product-description{margin-top:14px;padding:14px;border:1px solid #e1e8f1;border-radius:9px}.product-description p{margin:0;line-height:1.55}.installation-summary{grid-template-columns:repeat(3,1fr);margin-bottom:16px}.installation-summary strong{font-size:24px}.installation-filters{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) auto;gap:12px;align-items:end;margin-bottom:14px}.filter-action{padding-bottom:1px}.pagination{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.product-option-grid{display:flex;flex-wrap:wrap;gap:18px}.product-delete-card{max-width:720px}.dependency-grid{margin:12px 0 16px}.table-wrap th a{color:inherit;text-decoration:none}.table-wrap th a:hover{text-decoration:underline}@media(max-width:900px){.product-overview-grid,.dependency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.product-title-row{align-items:flex-start;flex-direction:column}.product-overview-grid,.dependency-grid,.installation-summary,.installation-filters{grid-template-columns:1fr}.filter-action .btn{width:100%}}
.pagination-gap{display:inline-flex;align-items:center;padding:0 3px;color:#64748b}
