/* DragonRise / Kampfrollen-Zuordnung – eigener, editierbarer Arbeitsbereich */
.assignment-heading { max-width:900px; }
.assignment-heading p { max-width:790px; }
.assignment-topline { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; border:1px solid #2c4054; border-radius:13px; padding:18px 20px; background:linear-gradient(110deg,#111f30,#0c1623); margin:20px 0 16px; }
.assignment-progress { display:flex; align-items:center; gap:14px; min-width:0; }
.assignment-progress-symbol { display:grid; place-items:center; background:#173655; border:1px solid #315e82; color:#b8dfff; border-radius:10px; width:43px; height:43px; flex-shrink:0; font-size:23px; }
.assignment-progress strong { display:block; font-weight:700; font-size:18px; color:#eff7ff; }
.assignment-progress span { display:block; color:#a5b7c8; font-size:12px; line-height:1.5; }
.assignment-progress-track { width:clamp(110px,25%,290px); height:8px; border-radius:99px; background:#263748; overflow:hidden; }
.assignment-progress-track span { display:block; width:0%; height:100%; background:linear-gradient(90deg,#397fc0,#7dc2fb); border-radius:inherit; transition:width .2s; }
.assignment-toolbar { display:flex; gap:14px; flex-wrap:wrap; align-items:stretch; justify-content:space-between; margin:0 0 10px; }
.assignment-search { display:flex; align-items:center; gap:10px; padding:0 12px; min-height:44px; min-width:200px; flex:1 1 240px; border:1px solid #30455a; background:#0e1926; border-radius:9px; color:#a8d3f7; }
.assignment-search:focus-within { border-color:#73bbfa; box-shadow:0 0 0 3px #4c9ad929; }
.assignment-search input { outline:none; background:transparent; border:0; color:#ecf5ff; width:100%; min-width:0; font-size:14px; }
.assignment-search input::placeholder { color:#859aac; }
.assignment-buttons { display:flex; gap:8px; flex-wrap:wrap; }
.assignment-button { border:1px solid #35526c; padding:10px 15px; border-radius:9px; background:#132339; color:#e2effb; font-size:13px; font-weight:600; cursor:pointer; min-height:44px; }
.assignment-button:hover { border-color:#81bcef; background:#1a3450; }
.assignment-button-primary { background:#295b86; border-color:#3979ae; color:white; }
.assignment-button-primary:hover { background:#346fa4; }
.assignment-feedback { margin:8px 0 14px; min-height:20px; color:#9eb6c9; font-size:12px; }
.assignment-table-shell { border:1px solid #2d4357; border-radius:13px; background:#0d1825; overflow:auto; max-width:100%; }
.assignment-table { width:100%; border-spacing:0; border-collapse:separate; min-width:750px; table-layout:fixed; }
.assignment-table thead th { position:sticky; top:0; z-index:2; padding:15px 14px; text-align:left; background:#162639; border-bottom:1px solid #38536a; color:#e5f3ff; font-size:12px; font-weight:700; }
.assignment-table thead th:nth-child(1) { width:22%; }
.assignment-table thead th:nth-child(2) { width:18%; }
.assignment-table thead th:nth-child(3),.assignment-table thead th:nth-child(4) { width:30%; }
.assignment-table thead small { display:block; color:#9db5ca; font-size:11px; font-weight:400; margin-top:3px; }
.assignment-group th { padding:11px 14px; background:#152333; border-top:1px solid #30485d; border-bottom:1px solid #30485d; color:#dceafa; font-size:12px; font-weight:700; text-align:left; }
.assignment-group:first-child th { border-top:0; }
.assignment-group-count { font-weight:400; color:#93aabd; font-size:11px; margin-left:7px; }
.assignment-rarity-dot { display:inline-block; width:9px; height:9px; flex-shrink:0; margin-right:9px; vertical-align:middle; border-radius:50%; background:var(--rarity-color); box-shadow:0 0 0 3px color-mix(in srgb,var(--rarity-color) 16%,transparent); }
.assignment-row td,.assignment-row th { padding:10px 13px; border-bottom:1px solid #1e3245; vertical-align:middle; background:#0c1927; }
.assignment-row:nth-of-type(2n) td,.assignment-row:nth-of-type(2n) th { background:#0e1d2e; }
.assignment-row:hover td,.assignment-row:hover th { background:#14263a; }
.assignment-row:last-child td,.assignment-row:last-child th { border-bottom:0; }
.assignment-element { font-weight:650; text-align:left; color:#ebf4ff; white-space:nowrap; }
.assignment-rarity-cell { color:#a7bcd1; font-size:12px; }
.assignment-row textarea { width:100%; min-width:0; padding:10px 11px; border:1px solid #334a60; border-radius:8px; background:#091421; color:#f1f7ff; font-size:13px; box-shadow:none; }
.assignment-row textarea::placeholder { color:#768fa6; }
.assignment-row textarea:focus { outline:2px solid #70bdf5; outline-offset:0; border-color:transparent; background:#101e2d; }
.assignment-row.is-filled textarea { border-color:#476781; }
.assignment-mobile-label { display:none; }
.assignment-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0 8px; }
.assignment-footer strong { color:#d7e8f6; }
.assignment-footer p { color:#96acc0; font-size:12px; margin:4px 0 0; }
.assignment-clear { white-space:nowrap; border:1px solid #4c3b42; color:#dcadb4; border-radius:9px; padding:10px 13px; background:transparent; cursor:pointer; }
.assignment-clear:hover { background:#2a1921; }
@media(max-width:740px) { .assignment-topline { padding:15px; } .assignment-progress-track { width:100%; } .assignment-buttons { width:100%; } .assignment-button { flex:1; } .assignment-search { flex-basis:100%; } .assignment-table-shell { overflow:visible; border:0; background:transparent; } .assignment-table { display:block; min-width:0; } .assignment-table thead { display:none; } .assignment-table tbody { display:block; } .assignment-group { display:block; } .assignment-group th { display:block; border-radius:9px; margin:16px 0 7px; } .assignment-row { display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; background:#111f2e; border:1px solid #2a4357; border-radius:10px; margin:0 0 9px; padding:14px; } .assignment-row td,.assignment-row th,.assignment-row:nth-of-type(2n) td,.assignment-row:nth-of-type(2n) th { display:block; border:0; background:transparent; padding:0; } .assignment-row .assignment-rarity-cell { grid-column:1; grid-row:1; } .assignment-row .assignment-element { grid-column:2; grid-row:1; text-align:right; } .assignment-row td:nth-child(3),.assignment-row td:nth-child(4) { grid-column:1/-1; } .assignment-mobile-label { display:block; margin-bottom:5px; color:#9ab7d0; font-size:11px; } .assignment-row textarea { font-size:16px; } .assignment-footer { align-items:flex-start; flex-direction:column; } }
.assignment-row[hidden], .assignment-group[hidden] { display:none !important; }

/* Mehrzeilige, automatisch wachsende Eingabefelder: Shift + Enter erzeugt eine neue Zeile. */
.assignment-row textarea {
  display:block;
  resize:none;
  overflow:hidden;
  min-height:44px;
  height:44px;
  line-height:1.5;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  vertical-align:top;
  box-sizing:border-box;
  font-family:inherit;
}
.assignment-row td:nth-child(3), .assignment-row td:nth-child(4) { vertical-align:top; }

/* Entwurfsvorschläge und übernommene Nutzerangaben dezent unterscheiden */
.assignment-element .assignment-origin{display:block;font-size:10px;font-weight:600;letter-spacing:.01em;line-height:1.4;margin-top:5px;color:#82b6d4}
.assignment-row[data-origin="csv"] .assignment-origin{color:#90d5b2}
.assignment-row[data-origin="mixed"] .assignment-origin{color:#c2cfdb}
.assignment-source-note{margin:0 0 17px;color:#c7d8e5;border-left:3px solid #468dba;padding:10px 14px;background:rgba(17,51,77,.35);border-radius:0 10px 10px 0;font-size:13px;line-height:1.55}
.assignment-table td textarea{white-space:pre-wrap;overflow-wrap:anywhere}
