/* BRAHIMI Firmenzentrale V0.3.7 */
.topbar-user.presence-vacation,.account-state.presence-vacation{background:#dcecff;color:#175ea8;border-color:#a9ccef}
.topbar-user.presence-sick,.account-state.presence-sick{background:#ffe5cc;color:#9b4900;border-color:#f0b87c}
.presence-choice.vacation:before{background:#2f7ed8}.presence-choice.sick:before{background:#ef7d23}
.presence-managed-note{margin:0 0 9px;padding:10px 11px;border-radius:11px;background:#f3f6f9;color:#596d82;font-size:13px;line-height:1.4}
.managed-presence-menu{position:relative;display:inline-block}.managed-presence-menu>summary{list-style:none;cursor:pointer;user-select:none}.managed-presence-menu>summary::-webkit-details-marker{display:none}
.managed-presence-popover{position:absolute;z-index:80;left:0;top:calc(100% + 8px);width:230px;padding:13px;border:1px solid #d8e2ec;border-radius:15px;background:#fff;box-shadow:0 18px 45px rgba(23,50,77,.2)}
.managed-presence-popover strong{display:block;margin:0 0 9px}.managed-presence-popover form{display:grid;gap:7px}
.account-state.presence-active{background:#e2f6ed;color:#177b57;border:1px solid #b7e5d2}.account-state.presence-pause{background:#fff2bd;color:#725300;border:1px solid #ead47b}.account-state.presence-inactive{background:#ffe0e0;color:#9a2525;border:1px solid #efb0b0}.account-state.presence-vacation,.account-state.presence-sick{border-width:1px;border-style:solid}
.group-assignment-row{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.group-assignment-row .field{min-width:320px;flex:1}.group-assignment-section{border-color:#c8d8e8;background:#f8fbfe}
.group-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.group-card{border:1px solid #d9e3ec;border-radius:18px;padding:18px;background:#fff;display:grid;gap:13px}.group-card.protected{border-color:#edc573;background:#fffaf0}.group-card h3{margin:0}.group-card p{margin:0;color:#63758a}.group-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.group-card dl div{padding:10px;border-radius:12px;background:#f5f8fb}.group-card dt{font-size:12px;color:#718296}.group-card dd{margin:2px 0 0;font-weight:800}.group-card-actions{display:flex;gap:8px;flex-wrap:wrap}.group-card-actions form{margin:0}.danger-button{border:1px solid #efb8b8;background:#fff0f0;color:#a12a2a;border-radius:10px;padding:9px 13px;font-weight:700;cursor:pointer}.danger-button:disabled{opacity:.45;cursor:not-allowed}
.group-meta-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,2fr);gap:18px;margin-bottom:20px}.dual-rights-toolbar{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:14px}.dual-rights-layout{display:grid;grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr);gap:14px;align-items:stretch}.rights-column{border:1px solid #d6e0e9;border-radius:16px;background:#f7f9fb;overflow:hidden}.rights-column.active{background:#f3fbf7;border-color:#b9ddcc}.rights-column>header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#edf2f6;border-bottom:1px solid #d6e0e9}.rights-column.active>header{background:#e3f4eb;border-bottom-color:#b9ddcc}.rights-column h2{font-size:18px;margin:0}.rights-column header span{min-width:30px;text-align:center;border-radius:999px;padding:4px 8px;background:#fff;font-weight:800}.rights-dropzone{min-height:480px;max-height:680px;overflow:auto;padding:10px;display:grid;align-content:start;gap:8px}.rights-dropzone.drag-over{outline:3px solid #5b91c7;outline-offset:-4px}.permission-card{border:1px solid #d9e2ea;border-radius:12px;background:#fff;padding:10px;cursor:grab}.permission-card.dragging{opacity:.45}.permission-card[hidden]{display:none}.permission-card label{display:flex;gap:9px;align-items:flex-start;cursor:pointer}.permission-card span{display:grid;gap:3px}.permission-card small,.permission-card em{font-size:12px;color:#718094;font-style:normal}.permission-card b{width:max-content;font-size:11px;border-radius:999px;padding:3px 7px;background:#fff0e3;color:#9b4c08}.permission-card b.new-right{background:#e4efff;color:#245e9a}.rights-transfer-controls{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.rights-transfer-controls button{width:48px;height:48px;border-radius:50%;border:1px solid #b8cadb;background:#fff;color:#244f78;font-size:25px;font-weight:800;cursor:pointer}.rights-transfer-controls small{text-align:center;color:#74879a}.empty-rights{color:#73869a;text-align:center;padding:24px}.inline-group-form select{min-width:180px;padding:7px 9px}
@media(max-width:900px){.dual-rights-layout{grid-template-columns:1fr}.rights-transfer-controls{flex-direction:row}.rights-transfer-controls small{display:none}.rights-dropzone{min-height:300px;max-height:430px}.group-meta-grid,.dual-rights-toolbar{grid-template-columns:1fr}.managed-presence-popover{left:auto;right:0}}


/* V0.3.7 · verständliche Rechtehilfe, sichere Vorschau und mehr Innenabstand */
.group-rights-form.management-panel,
.spacious-management-panel {
  padding: 32px 28px 28px;
  overflow: visible;
}

.group-rights-form .field {
  min-width: 0;
  padding-top: 2px;
}

.group-rights-form .field label {
  display: block;
  margin: 0 0 10px;
  line-height: 1.35;
}

.group-meta-grid,
.dual-rights-toolbar {
  gap: 24px;
  align-items: start;
}

.group-meta-grid {
  padding-top: 4px;
}

.group-meta-grid .form-control,
.dual-rights-toolbar .form-control {
  min-height: 52px;
}

.group-meta-grid textarea.form-control {
  min-height: 86px;
  resize: vertical;
}

.page-heading-actions,
.section-heading-row {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.rights-guidance-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 26px 0;
}

.rights-guidance-strip > div {
  padding: 17px 18px;
  border: 1px solid #cfdeeb;
  border-radius: 18px;
  background: #f7fbff;
}

.rights-guidance-strip strong,
.rights-guidance-strip span {
  display: block;
}

.rights-guidance-strip strong {
  color: #17324d;
  margin-bottom: 6px;
}

.rights-guidance-strip span {
  color: #5c7087;
  line-height: 1.45;
}

.risk-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
  padding: 14px 18px;
  margin: 0 0 18px;
  border: 1px solid #d7e2ec;
  border-radius: 16px;
  background: #fff;
  font-size: .88rem;
  color: #50647a;
}

.risk-legend span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.risk-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}

.risk-dot.risk-standard { background: #4a7aa3; }
.risk-dot.risk-sensitive { background: #d28a22; }
.risk-dot.risk-critical { background: #b23a48; }

.permission-card {
  position: relative;
  padding: 15px 16px;
}

.permission-card-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px;
  gap: 10px;
  align-items: start;
}

.permission-select-label {
  min-width: 0;
}

.permission-card-copy {
  min-width: 0;
}

.permission-card-copy strong {
  overflow-wrap: anywhere;
  hyphens: auto;
}

.permission-info-button {
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 50%;
  border: 2px solid #1f6296;
  background: #fff;
  color: #1f6296;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.permission-info-button:hover,
.permission-info-button:focus-visible {
  background: #1f6296;
  color: #fff;
  outline: 3px solid rgba(31, 98, 150, .18);
}

.permission-badges {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin: 10px 0 0 31px;
}

.risk-badge,
.dependency-badge,
.permission-badges .new-right {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: .74rem;
  font-style: normal;
  font-weight: 800;
}

.risk-badge.risk-standard {
  color: #22577e;
  background: #e6f0f8;
}

.risk-badge.risk-sensitive {
  color: #714400;
  background: #fff0d7;
}

.risk-badge.risk-critical {
  color: #8c2232;
  background: #fde7ea;
}

.dependency-badge {
  color: #4d3f80;
  background: #eee9ff;
}

.rights-dialog {
  width: min(900px, calc(100vw - 32px));
  max-height: calc(100vh - 42px);
  overflow: auto;
  padding: 0;
  border: 0;
  border-radius: 24px;
  box-shadow: 0 28px 80px rgba(15, 39, 64, .28);
  color: #14263e;
}

.rights-dialog::backdrop {
  background: rgba(10, 27, 44, .64);
  backdrop-filter: blur(3px);
}

.dialog-close {
  position: sticky;
  z-index: 4;
  top: 14px;
  float: right;
  width: 40px;
  height: 40px;
  margin: 14px 14px 0 0;
  border: 0;
  border-radius: 50%;
  background: #edf3f8;
  color: #17324d;
  font-size: 1.55rem;
  cursor: pointer;
}

.permission-help-content,
.impact-dialog-content {
  padding: 34px 38px 38px;
}

.permission-help-content header {
  padding-right: 48px;
  margin-bottom: 22px;
}

.permission-help-context {
  margin: 0 0 7px;
  color: #61758a;
  font-weight: 700;
}

.permission-help-content section {
  padding: 18px 0;
  border-top: 1px solid #dde6ee;
}

.permission-help-content h2,
.permission-help-content h3,
.impact-dialog-content h2,
.impact-dialog-content h3 {
  margin-top: 0;
}

.permission-help-content p {
  line-height: 1.58;
}

.permission-help-content ul {
  padding-left: 22px;
}

.permission-help-content li {
  margin-bottom: 10px;
}

.permission-help-content li span {
  display: block;
  color: #61758a;
  margin-top: 3px;
}

.permission-help-note {
  padding: 12px 14px;
  background: #f3f0ff;
  border-radius: 12px;
}

.permission-help-technical {
  color: #6d7f91;
  font-size: .88rem;
}

.impact-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 24px 0;
}

.impact-summary-grid article {
  padding: 16px;
  border-radius: 16px;
  background: #edf4f9;
}

.impact-summary-grid span,
.impact-summary-grid strong {
  display: block;
}

.impact-summary-grid span {
  color: #61758a;
  font-size: .82rem;
}

.impact-summary-grid strong {
  margin-top: 5px;
  font-size: 1.7rem;
}

.impact-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.impact-details section {
  padding: 18px;
  border: 1px solid #d9e4ed;
  border-radius: 16px;
}

.impact-details ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.impact-details li {
  padding: 8px 0;
  border-bottom: 1px solid #e5edf3;
}

.impact-details li:last-child {
  border-bottom: 0;
}

.impact-details li span {
  display: block;
  color: #63778c;
  font-size: .82rem;
}

.impact-empty {
  color: #6b7d8e;
}

.impact-warning,
.safe-preview-banner {
  padding: 16px 18px;
  border-radius: 16px;
  background: #fff2dc;
  border: 1px solid #ebc271;
}

.dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px;
}

.recent-group-history {
  margin-top: 28px;
  padding-top: 26px;
  border-top: 1px solid #d9e4ed;
}

.revision-mini-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.revision-mini-list article {
  padding: 14px 16px;
  border-radius: 14px;
  background: #f5f8fb;
}

.revision-mini-list span,
.revision-mini-list p {
  display: block;
  margin: 4px 0 0;
  color: #61758a;
}

.compact-button {
  min-height: 42px;
}

.group-card dl {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.group-card-title-row {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.safe-preview-banner {
  display: flex;
  gap: 8px;
  flex-direction: column;
  margin-bottom: 20px;
}

.preview-layout {
  display: grid;
  gap: 20px;
}

.preview-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.preview-module-grid > div {
  padding: 18px;
  border: 1px solid #dae5ee;
  border-radius: 16px;
}

.preview-module-icon {
  display: block;
  font-size: 1.5rem;
  margin-bottom: 8px;
}

.preview-rights-groups {
  display: grid;
  gap: 16px;
}

.preview-rights-groups section {
  padding: 16px;
  border: 1px solid #dce6ee;
  border-radius: 16px;
}

.preview-rights-groups ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.preview-rights-groups li {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 9px 0;
  border-bottom: 1px solid #e6edf3;
}

.revision-timeline {
  display: grid;
  gap: 18px;
}

.revision-entry {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 18px;
  padding: 20px;
  border: 1px solid #d9e4ed;
  border-radius: 18px;
}

.revision-version {
  font-weight: 900;
  color: #1f6296;
}

.revision-heading {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.revision-heading h2,
.revision-heading p {
  margin: 0;
}

.revision-heading p {
  color: #64788d;
}

.revision-body dl div {
  margin: 12px 0;
}

.revision-body dt {
  font-weight: 800;
}

.revision-body dd {
  margin: 3px 0 0;
}

@media (max-width: 900px) {
  .rights-guidance-strip,
  .impact-summary-grid,
  .impact-details {
    grid-template-columns: 1fr;
  }

  .group-rights-form.management-panel,
  .spacious-management-panel {
    padding: 26px 20px 22px;
  }

  .permission-help-content,
  .impact-dialog-content {
    padding: 30px 22px 26px;
  }

  .revision-entry {
    grid-template-columns: 1fr;
  }
}
