/* DigitalAkten – additive Styles (globales /style.css bleibt Chef) */

:root{
  --rd24-overlay-alpha: 0.45;
  --rd24-header-alpha: 0.55;

  /* Basis */
  --rd24-card-alpha: 0.32;

  /* Abgeleitete Werte */
  --rd24-card-alpha-soft: 0.22;
  --rd24-card-alpha-hover: 0.40;
  --rd24-gear-alpha: 0.26;
  --rd24-gear-alpha-hover: 0.30;
  --rd24-modal-card-alpha: 0.44;

  /* Lesbarkeit / Auswahl */
  --rd24-selected-alpha: 0.08;
  --rd24-tag-bg: rgba(255,255,255,.08);
  --rd24-detail-soft-bg: rgba(255,255,255,.07);
}

/* =========================================
   Basis-Layering
   ========================================= */

#rd24-footer,
.da-wrap{
  position: relative;
  z-index: 1;
}

#rd24-header{
  position: relative;
  z-index: 99999 !important;
}

/* =========================================
   Global Safety / Mobile Overflow Fixes
   ========================================= */

*, *::before, *::after{
  box-sizing: border-box;
}

html, body{
  max-width: 100%;
  overflow-x: hidden;
}

/* =========================================
   Layout
   ========================================= */

.da-wrap{
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 14px 40px;
}

.da-surface{
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(0,0,0,.34), rgba(0,0,0,.22));
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
  padding: 14px;
}

.da-hero{
  display: grid;
  grid-template-columns: 1.35fr 0.65fr;
  gap: 14px;
  align-items: start;
  margin-top: 10px;
  margin-bottom: 14px;
}

.da-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.da-list{
  display: grid;
  gap: 10px;
}

.da-detail{
  display: grid;
  gap: 12px;
}

.da-kv{
  display: grid;
  gap: 6px;
}

.da-kv b{
  opacity: .9;
}

.da-footerCard{
  margin-top: 14px;
}

/* =========================================
   Typografie / Text
   ========================================= */

.da-title{
  margin: 0 0 6px;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.05;
}

.da-subtitle{
  margin: 0 0 10px;
  opacity: .92;
  max-width: 64ch;
}

.da-card__title,
.da-item__title{
  font-weight: 800;
  letter-spacing: .2px;
}

.da-card__muted,
.da-hint,
.da-focusbar__hint{
  opacity: .86;
}

.da-card__muted{
  font-size: 13px;
  margin-top: 2px;
}

.da-hint{
  margin-top: 10px;
  font-size: 12.5px;
  line-height: 1.35;
}

.da-empty{
  opacity: .75;
  padding: 18px 6px;
  text-align: center;
}

.da-bullets{
  margin: 10px 0 0 18px;
  opacity: .9;
}

.da-card__title,
.da-card__muted,
.da-item__title,
.da-item__meta,
.da-hint,
.da-box,
.da-empty{
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* =========================================
   Chips / Tags
   ========================================= */

.da-chips{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.da-chip,
.da-tag{
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: var(--rd24-tag-bg);
  opacity: .98;
}

.da-chip{
  padding: 6px 10px;
  font-size: 13px;
}

.da-tag{
  font-size: 12px;
  padding: 4px 8px;
}

.da-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

/* =========================================
   Cards / Boxen / Inputs
   ========================================= */

.da-card,
.da-box,
.da-item,
.da-input{
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,var(--rd24-card-alpha));
}

.da-card{
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
  padding: 14px;
}

.da-box{
  border-radius: 14px;
  padding: 12px;
}

.da-card__head{
  display: flex;
  gap: 10px;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px;
}

.da-card__head > *,
.da-item__top > *{
  min-width: 0;
}

.da-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.da-input{
  border-radius: 12px;
  padding: 10px 12px;
  color: inherit;
  outline: none;
  min-width: 220px;
}

.da-upload{
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

/* =========================================
   Buttons
   ========================================= */

.da-btn{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  padding: 10px 12px;
  color: inherit;
  cursor: pointer;
  user-select: none;
}

.da-btn input[type="file"]{
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.da-btn--ghost{
  background: rgba(0,0,0,var(--rd24-card-alpha-soft));
}

.da-btn--small{
  padding: 8px 10px;
  font-size: 13px;
}

.da-btn--mini{
  padding: 7px 10px;
  font-size: 12.5px;
  border-radius: 10px;
}

.da-btn--danger{
  border-color: rgba(255, 80, 80, .45);
  background: rgba(255, 80, 80, .12);
}

/* =========================================
   Archiv-Eintrag / Liste
   ========================================= */

.da-item{
  position: relative;
  border-radius: 14px;
  padding: 12px;
  padding-left: 16px;
  cursor: pointer;
}

.da-item:hover{
  background: rgba(0,0,0,var(--rd24-card-alpha-hover));
}

.da-item.is-selected{
  border-color: rgba(255,255,255,.26) !important;
  background: rgba(255,255,255,var(--rd24-selected-alpha)) !important;
}

.da-item__top{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
}

.da-item__title{
  flex: 1 1 auto;
  min-width: 0;
}

.da-item__meta{
  flex: 0 1 auto;
  min-width: 0;
  text-align: right;
  font-size: 12.5px;
  color: rgba(255,255,255,.90);
  font-weight: 500;
  opacity: .86;
  text-shadow: 0 1px 8px rgba(0,0,0,.45);
}

.da-item__meta .meta-label,
.da-item__meta b,
.da-item__meta strong{
  color: rgba(255,255,255,.98);
  font-weight: 800;
}

.da-item__meta .meta-date,
.da-item__meta .doc-date,
.da-item__meta .document-date{
  color: #facc15;
  font-weight: 800;
}

.da-item__meta .import-date{
  color: rgba(255,255,255,.92);
  font-weight: 700;
}

.da-item__meta .meta-type{
  color: rgba(125,211,252,.95);
  font-weight: 700;
}

.da-item__meta .meta-deadlines{
  color: rgba(255,255,255,.96);
  font-weight: 700;
}

.da-item__meta .meta-sep{
  opacity: .55;
  margin: 0 4px;
}

/* =========================================
   Status-Leiste links
   ========================================= */

.da-item::before{
  content: "";
  position: absolute;
  left: 10px;
  top: 12px;
  bottom: 12px;
  width: 6px;
  border-radius: 8px;
  background: rgba(255,255,255,.22);
  box-shadow: 0 0 0 1px rgba(0,0,0,.15);
}

.da-item--ok::before{
  background: rgba(80, 220, 140, .92);
}

.da-item--warn::before{
  background: rgba(255, 205, 90, .95);
}

.da-item--danger::before{
  background: rgba(255, 95, 95, .95);
}

.da-item--info::before{
  background: rgba(95, 185, 255, .95);
}

/* =========================================
   Kategorie-Trenner / Kategorie-Chips
   ========================================= */

.da-item__bar{
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 6px;
  border-radius: 999px;
  opacity: .95;
  box-shadow: 0 0 0 1px rgba(255,255,255,.10) inset;
}

.da-cat{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.10);
}

.da-cat__dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  box-shadow: 0 0 0 1px rgba(255,255,255,.18) inset;
}

.da-catbar{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 12px;
}

.da-catbtn{
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(17,24,39,.35);
  color: rgba(255,255,255,.92);
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 13px;
  cursor: pointer;
  user-select: none;
  transition: transform .08s ease, background .12s ease, border-color .12s ease;
}

.da-catbtn:hover{
  transform: translateY(-1px);
  background: rgba(17,24,39,.50);
  border-color: rgba(255,255,255,.28);
}

.da-catbtn.active{
  background: rgba(34,197,94,.18);
  border-color: rgba(34,197,94,.55);
}

.da-catbtn .count{
  opacity: .75;
  margin-left: 6px;
  font-size: 12px;
}

/* =========================================
   Fokusmodus
   ========================================= */

.da-grid.is-focus #list{
  display: grid;
}

.da-grid.is-focus .da-item{
  display: none;
}

.da-grid.is-focus .da-item.is-selected{
  display: block;
}

.da-grid.is-focus .da-focusbar{
  display: flex;
}

.da-grid.is-focus .da-item::before{
  left: 10px;
  width: 7px;
}

.da-focusbar{
  display: none;
  margin-bottom: 10px;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.da-focusbar__left{
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

/* =========================================
   Lokales Settings-Zahnrad / Modal
   ========================================= */

.da-gear{
  position: fixed;
  right: 14px;
  bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,var(--rd24-gear-alpha));
  backdrop-filter: blur(6px);
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 2147483647 !important;
}

.da-gear:hover{
  background: rgba(0,0,0,var(--rd24-gear-alpha-hover));
}

.da-modal{
  position: fixed;
  inset: 0;
  background: transparent;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  padding: 16px;
}

.da-modal.is-open{
  display: flex;
}

.da-modal__card{
  width: min(520px, 100%);
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,var(--rd24-modal-card-alpha));
  backdrop-filter: blur(10px);
  padding: 14px;
}

.da-row{
  display: grid;
  grid-template-columns: 1fr 160px;
  gap: 10px;
  align-items: center;
  margin-top: 10px;
}

.da-row label{
  opacity: .92;
  font-size: 13.5px;
}

.da-row input[type="range"]{
  width: 100%;
}

.da-modal__actions{
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-top: 14px;
}

/* =========================================
   Content Toggle + Email View
   ========================================= */

.da-content-toggle{
  display: flex;
  gap: .5rem;
  align-items: center;
  margin: .25rem 0 .75rem 0;
}

.da-toggle-btn{
  appearance: none;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(17,24,39,.35);
  color: rgba(255,255,255,.9);
  padding: .35rem .6rem;
  border-radius: 999px;
  font-size: .85rem;
  cursor: pointer;
}

.da-toggle-btn.active{
  border-color: rgba(255,255,255,.26);
  background: rgba(17,24,39,.55);
}

.da-raw-box pre{
  white-space: pre-wrap;
  word-break: break-word;
  margin: 0;
}

.da-email-box{
  display: flex;
  flex-direction: column;
  gap: .6rem;
}

.da-email-meta{
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: .25rem .75rem;
  padding: .6rem .7rem;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(17,24,39,.28);
}

.da-email-meta .k{
  color: rgba(255,255,255,.65);
  font-size: .85rem;
}

.da-email-meta .v{
  color: rgba(255,255,255,.92);
  font-size: .9rem;
  word-break: break-word;
}

.da-email-body{
  padding: .8rem .9rem;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(17,24,39,.22);
  white-space: pre-wrap;
  word-break: break-word;
  line-height: 1.35;
}

/* =========================================
   Details lesbarer
   ========================================= */

.da-detail-panel{
  backdrop-filter: blur(8px);
}

.da-detail-panel .da-title,
.da-detail-panel h2,
.da-detail-panel h3.title,
.da-detail-panel [data-role="title"]{
  font-size: 18px;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: .2px;
  color: rgba(255,255,255,.96);
  margin: 0 0 10px 0;
}

.da-detail-panel .da-meta,
.da-detail-panel .meta,
.da-detail-panel [data-role="meta"]{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 10px 0 14px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}

.da-detail-panel .da-type,
.da-detail-panel .type,
.da-detail-panel [data-field="type"]{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .3px;
  text-transform: uppercase;
  background: rgba(120,170,255,.14);
  border: 1px solid rgba(120,170,255,.30);
  color: rgba(210,230,255,.98);
}

.da-detail-panel .da-created,
.da-detail-panel .created,
.da-detail-panel [data-field="createdAt"],
.da-detail-panel [data-field="created"]{
  font-size: 13px;
  font-weight: 650;
  color: rgba(255,255,255,.70);
}

.da-detail-panel .field-label,
.da-detail-panel label,
.da-detail-panel .lbl{
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .3px;
  text-transform: uppercase;
  color: rgba(255,255,255,.62);
  margin: 12px 0 6px;
}

.da-detail-panel .da-body,
.da-detail-panel .content,
.da-detail-panel textarea.readonly,
.da-detail-panel pre,
.da-detail-panel [data-role="body"]{
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 14px;
  line-height: 1.62;
  font-size: 14.5px;
  color: rgba(255,255,255,.92);
  overflow: auto;
  max-height: 46vh;
}

.da-detail-panel .da-summary,
.da-detail-panel .summary,
.da-detail-panel [data-role="summary"]{
  border-left: 3px solid rgba(120,170,255,.85);
  padding-left: 12px;
  margin-top: 4px;
  color: rgba(255,255,255,.90);
}

.da-detail-panel .da-type::before,
.da-detail-panel .type::before{
  content: "✉️";
  font-size: 13px;
  line-height: 1;
  opacity: .95;
}

.da-kv div[style*="white-space:pre-wrap"]{
  background: var(--rd24-detail-soft-bg) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: rgba(255,255,255,.96) !important;
}

#detail a{
  color: rgba(185,225,255,.95) !important;
  text-decoration: underline;
}

/* =========================================
   Responsive
   ========================================= */

@media (max-width: 980px){
  .da-hero{
    grid-template-columns: 1fr;
  }

  .da-grid{
    grid-template-columns: 1fr;
  }

  .da-actions{
    justify-content: flex-start;
  }

  .da-input{
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 768px){
  .da-surface{
    padding: 12px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
}

@media (max-width: 420px){
  .da-row{
    grid-template-columns: 1fr;
  }

  .da-email-meta{
    grid-template-columns: 1fr;
  }
}