#sdd-app, #sdd-register-app { font-family: Arial, sans-serif; max-width: 1300px; margin: 0 auto; color: #1f1f1f; }
#sdd-app .sdd-card, #sdd-register-app .sdd-card { background: #fff; border: 1px solid #ddd; border-radius: 8px; padding: 24px; margin-bottom: 18px; }
#sdd-app .sdd-narrow, #sdd-register-app .sdd-narrow { max-width: 380px; margin: 40px auto; }
#sdd-app h2, #sdd-app h3, #sdd-register-app h2, #sdd-register-app h3 { color: #1f3864; margin-top: 20px; }
#sdd-app h2:first-child, #sdd-app h3:first-child, #sdd-register-app h2:first-child, #sdd-register-app h3:first-child { margin-top: 0; }
#sdd-app input, #sdd-app select, #sdd-app textarea, #sdd-register-app input, #sdd-register-app select, #sdd-register-app textarea { display: block; width: 100%; box-sizing: border-box; padding: 8px; margin: 6px 0; border: 1px solid #ccc; border-radius: 4px; font-family: Arial, sans-serif; }

/* Buttons are visible by default, not only on hover. */
#sdd-app button, #sdd-register-app button {
  background: #1f3864; color: #fff; border: 1px solid #16294a; padding: 10px 18px;
  border-radius: 4px; cursor: pointer; margin: 6px 4px 6px 0; font-size: 14px; opacity: 1; visibility: visible;
}
#sdd-app button:hover, #sdd-register-app button:hover { background: #163056; }
#sdd-app button:disabled, #sdd-register-app button:disabled { background: #a9b6cc; border-color: #a9b6cc; cursor: not-allowed; }

#sdd-app .sdd-org-header { font-size: 20px; font-weight: bold; color: #1f3864; margin-bottom: 4px; }
#sdd-app .sdd-tabs { display: flex; gap: 6px; margin-bottom: 12px; }
#sdd-app .sdd-tabs button { flex: 1; background: #eee; color: #333; border-color: #ddd; }
#sdd-app .sdd-tabs button.active { background: #1f3864; color: #fff; }
#sdd-app .sdd-error, #sdd-register-app .sdd-error { color: #b00020; min-height: 18px; font-size: 13px; margin-top: 6px; }
#sdd-app .sdd-muted, #sdd-register-app .sdd-muted { color: #666; font-size: 13px; }
#sdd-app .sdd-required-note { color: #b00020; font-weight: bold; }
#sdd-app .sdd-topbar { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #eee; padding-bottom: 10px; margin-bottom: 10px; }
#sdd-app .sdd-project-row { display: flex; justify-content: space-between; align-items: center; padding: 10px; border: 1px solid #eee; border-radius: 6px; margin-bottom: 8px; }
#sdd-app .sdd-code { font-family: monospace; background: #f2f2f2; padding: 2px 8px; border-radius: 4px; }
#sdd-app .sdd-code-big { font-family: monospace; font-size: 18px; background: #f2f2f2; padding: 3px 10px; border-radius: 4px; }
#sdd-app .sdd-new-project { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; align-items: center; margin-top: 14px; }
#sdd-app .sdd-new-project input { margin: 0; }
#sdd-app .sdd-new-project .sdd-error { grid-column: 1 / -1; }
#sdd-app .sdd-share-box { background: #f7f9fc; border: 1px solid #d9e2f3; border-radius: 6px; padding: 14px; margin-bottom: 10px; }
#sdd-app .sdd-share-code-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
#sdd-app .sdd-share-box input { display: inline-block; width: 200px; margin: 0 8px; }
#sdd-app .sdd-copy-btn, #sdd-app .sdd-secondary-btn, #sdd-register-app .sdd-secondary-btn { background: #fff; color: #1f3864; border: 1px solid #1f3864; padding: 6px 12px; font-size: 13px; }
#sdd-app .sdd-copy-btn:hover, #sdd-app .sdd-secondary-btn:hover, #sdd-register-app .sdd-secondary-btn:hover { background: #eef3fb; }
#sdd-app .sdd-copy-confirm { color: #1d7a34; font-size: 12px; font-weight: bold; }
#sdd-app .sdd-link-box { font-family: monospace; background: #fff; border: 1px dashed #ccc; padding: 6px; border-radius: 4px; word-break: break-all; }
#sdd-app .sdd-honeypot, #sdd-register-app .sdd-honeypot { display: none !important; }
#sdd-app a.sdd-button-link, #sdd-register-app a.sdd-button-link {
  display: inline-block; background: #1f3864; color: #fff !important; text-decoration: none;
  padding: 10px 18px; border-radius: 4px; margin-top: 8px;
}

/* Perspectives */
#sdd-app .sdd-section { }
#sdd-app .sdd-perspective-add { background: #f7f9fc; border: 1px solid #d9e2f3; border-radius: 6px; padding: 14px; margin-bottom: 14px; }
#sdd-app .sdd-level-choice { display: flex; gap: 16px; margin: 8px 0; font-size: 14px; }
#sdd-app .sdd-level-choice label { display: flex; align-items: center; gap: 4px; font-weight: normal; }
#sdd-app .sdd-perspective-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
#sdd-app .sdd-perspective-toolbar input { max-width: 320px; margin: 0; }
#sdd-app .sdd-perspective-list-wrap { max-height: 360px; overflow-y: auto; border: 1px solid #eee; border-radius: 6px; }
#sdd-app table.sdd-perspective-table { width: 100%; border-collapse: collapse; }
#sdd-app table.sdd-perspective-table th { background: #1f3864; color: #fff; position: sticky; top: 0; padding: 8px; text-align: left; font-size: 13px; }
#sdd-app table.sdd-perspective-table td { padding: 6px 8px; border-bottom: 1px solid #eee; font-size: 13px; }
#sdd-app .sdd-level-badge { padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: bold; }
#sdd-app .sdd-level-ESSENTIAL { background: #ffe0b2; color: #8a4b00; }
#sdd-app .sdd-level-STANDARD { background: #d9e2f3; color: #1f3864; }
#sdd-app .sdd-level-NOT, #sdd-app .sdd-level- { background: #eee; color: #999; }
#sdd-app .sdd-delete-perspective { background: #b00020; border-color: #8c0019; padding: 4px 10px; font-size: 12px; }
#sdd-app .sdd-delete-perspective:hover { background: #8c0019; }

/* Individuals */
#sdd-app .sdd-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
#sdd-app .sdd-considerations-stack { display: flex; flex-direction: column; gap: 4px; }
#sdd-app .sdd-consideration-block { border: 1px solid #eee; border-radius: 6px; padding: 10px 14px; background: #fafbfd; }
#sdd-app .sdd-consideration-heading { font-weight: bold; color: #1f3864; font-size: 14px; display: block; }
#sdd-app .sdd-consideration-description { color: #555; font-size: 12px; margin: 4px 0 8px; line-height: 1.4; }
#sdd-app .sdd-consideration-block select { margin: 0; max-width: 480px; }
#sdd-app .sdd-cog-field label, #sdd-app .sdd-cog-field select { font-size: 12px; color: #444; }
#sdd-app .sdd-cog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 12px; }
#sdd-app .sdd-cog-definition { font-size: 11px; color: #666; margin: 2px 0 0; line-height: 1.3; }
#sdd-app .sdd-radio-row { display: flex; gap: 16px; font-size: 14px; }
#sdd-app .sdd-radio-row label { display: flex; align-items: center; gap: 4px; font-weight: normal; }
#sdd-app .sdd-check-group { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0; }
#sdd-app .sdd-check { font-size: 13px; display: flex; align-items: center; gap: 4px; }

/* Matrix */
#sdd-app .sdd-matrix-wrap { overflow-x: auto; }
#sdd-app table.sdd-matrix { border-collapse: collapse; width: 100%; margin-top: 10px; }
#sdd-app table.sdd-matrix th, #sdd-app table.sdd-matrix td { border: 1px solid #ddd; padding: 6px 8px; font-size: 12px; text-align: center; vertical-align: top; }
#sdd-app table.sdd-matrix th { background: #1f3864; color: #fff; }
#sdd-app .sdd-row-label { text-align: left; min-width: 160px; }
#sdd-app .sdd-matrix-perspectives, #sdd-app .sdd-matrix-statuses { text-align: left; min-width: 200px; }
#sdd-app .sdd-matrix-perspective-chip { background: #d9e2f3; border-radius: 10px; padding: 2px 8px; margin: 2px 0; display: inline-block; font-size: 11px; }
#sdd-app .sdd-matrix-status-row { display: flex; align-items: center; gap: 6px; margin: 3px 0; font-size: 11px; }
#sdd-app select.sdd-status-select { padding: 3px; border-radius: 4px; border: 1px solid #ccc; margin: 0; font-size: 11px; }
#sdd-app select.sdd-status-ACCEPTED { background: #c6efce; }
#sdd-app select.sdd-status-DECLINED { background: #ffc7ce; }
#sdd-app select.sdd-status-INVITED { background: #fff2cc; }
#sdd-app select.sdd-status-REGISTERED { background: #d9e2f3; }

/* Coverage */
#sdd-app .sdd-coverage-group { margin-bottom: 16px; }
#sdd-app .sdd-coverage-group h4 { margin: 0 0 2px; color: #1f3864; font-size: 14px; }
#sdd-app .sdd-coverage-chip { display: inline-block; padding: 4px 10px; border-radius: 14px; font-size: 12px; margin: 3px; background: #fde7e9; border: 1px solid #f3b9bf; color: #8c0019; }
#sdd-app .sdd-coverage-chip.sdd-level-ESSENTIAL { background: #ffe0b2; border-color: #ffcc80; color: #8a4b00; }
#sdd-app .sdd-coverage-complete { color: #1d7a34; font-weight: bold; }
