/* Unchained — SR Planer */
:root{
  --bg:#12151a;
  --bg-alt:#0d0f13;
  --panel:#1b2029;
  --panel2:#232a35;
  --border:#333c48;
  --border-soft:#282f3a;
  --text:#e9e7df;
  --muted:#93a0ac;
  --gold:#c99a4a;
  --gold-soft:#e4c584;
  --g1:#5b8dbd; --g2:#6fae7c; --g3:#d99a53; --g4:#9575c8; --g5:#d97fa8; --g6:#c65a5a;
  --p1:#5b8dbd; --p2:#6fae7c; --p3:#d99a53; --p4:#9575c8; --p5:#d97fa8; --p6:#c65a5a; --p7:#4bb3a6; --p8:#b0904a;
  --danger:#e0645a;
  --ok:#6fae7c;
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:
    radial-gradient(ellipse 900px 500px at 15% -10%, rgba(201,154,74,.08), transparent 60%),
    radial-gradient(ellipse 700px 500px at 100% 0%, rgba(91,141,189,.07), transparent 55%),
    var(--bg);
  color:var(--text);
  font-family:'Inter',sans-serif;
  padding:0 0 80px;
  line-height:1.45;
}
.wrap{max-width:1260px;margin:0 auto;padding:36px 20px 0;}

header.hero{
  border-bottom:1px solid var(--border-soft);
  padding-bottom:26px;
  margin-bottom:30px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  flex-wrap:wrap;
}
.hero-title{
  font-family:'Cinzel',serif;
  font-weight:700;
  font-size:30px;
  letter-spacing:.5px;
  color:var(--gold-soft);
  margin:0 0 6px;
}
.hero-sub{color:var(--muted);font-size:14px;max-width:560px;}
.hero-badge{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  color:var(--muted);
  border:1px solid var(--border);
  padding:6px 10px;
  border-radius:5px;
  background:var(--panel);
  white-space:nowrap;
}

section.card{
  background:var(--panel);
  border:1px solid var(--border-soft);
  border-radius:10px;
  margin-bottom:22px;
  overflow:hidden;
}
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 20px;
  border-bottom:1px solid var(--border-soft);
  cursor:pointer;
  user-select:none;
  background:linear-gradient(180deg, rgba(255,255,255,.02), transparent);
}
.card-head h2{
  font-family:'Cinzel',serif;
  font-size:16px;
  font-weight:600;
  margin:0;
  color:var(--gold-soft);
  letter-spacing:.3px;
  display:flex;
  gap:10px;
  align-items:baseline;
}
.card-head h2 .num{color:var(--gold);font-family:'JetBrains Mono',monospace;font-size:13px;}
.card-body{padding:20px;}
.chev{color:var(--muted);transition:transform .15s;font-size:13px;}
.card.collapsed .card-body{display:none;}
.card.collapsed .chev{transform:rotate(-90deg);}

textarea{
  width:100%;
  min-height:220px;
  background:var(--bg-alt);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:8px;
  padding:14px;
  font-family:'JetBrains Mono',monospace;
  font-size:12.5px;
  resize:vertical;
}
textarea::placeholder{color:#555f6b;}

.btn{
  appearance:none;
  border:1px solid var(--border);
  background:var(--panel2);
  color:var(--text);
  padding:10px 16px;
  border-radius:7px;
  font-size:13.5px;
  font-weight:600;
  cursor:pointer;
  font-family:'Inter',sans-serif;
  transition:border-color .15s, background .15s, transform .05s;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
}
.btn:hover{border-color:var(--gold);}
.btn:active{transform:translateY(1px);}
.btn-primary{
  background:linear-gradient(180deg, var(--gold-soft), var(--gold));
  color:#1a1206;
  border:none;
}
.btn-primary:hover{filter:brightness(1.06);}
.btn-ghost{background:transparent;}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.hint{color:var(--muted);font-size:12.5px;margin-top:8px;}
.hint code{color:var(--gold-soft);}

table.classify{width:100%;border-collapse:collapse;font-size:13px;}
table.classify th{
  text-align:left;color:var(--muted);font-weight:600;font-size:11px;
  text-transform:uppercase;letter-spacing:.4px;padding:6px 8px;border-bottom:1px solid var(--border-soft);
}
table.classify td{padding:5px 8px;border-bottom:1px solid var(--border-soft);vertical-align:middle;}
table.classify tr:hover td{background:rgba(255,255,255,.02);}
.cat-group-row td{
  padding-top:14px;font-family:'Cinzel',serif;color:var(--gold-soft);font-size:12.5px;
  border-bottom:1px solid var(--border-soft);text-transform:uppercase;letter-spacing:.5px;
}
.id-pill{
  font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--bg);
  background:var(--gold-soft);border-radius:4px;padding:2px 6px;display:inline-block;min-width:22px;text-align:center;
}
.mini-input{
  width:100%;background:var(--bg-alt);border:1px solid var(--border);color:var(--text);
  border-radius:5px;padding:5px 7px;font-size:12.5px;font-family:'Inter',sans-serif;
}
select.mini-input{cursor:pointer;}
.ps-check{transform:scale(1.15);cursor:pointer;}
.cat-hint{color:var(--muted);font-size:10.5px;}
.rmtank-badge{color:var(--gold);font-size:9.5px;font-weight:700;margin-left:4px;}

.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
@media(max-width:760px){.settings-grid{grid-template-columns:1fr;}}
.settings-grid h3{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 0 10px;}
.field-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.field-row label{flex:0 0 200px;font-size:12.5px;color:var(--text);}
.field-row input{flex:1;background:var(--bg-alt);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:7px 9px;font-size:12.5px;}
.field-row input:disabled{opacity:.5;}

.party-settings-block{margin-top:22px;padding-top:18px;border-top:1px solid var(--border-soft);}
.party-settings-block h3{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 0 10px;}
.party-settings-grid{display:grid;grid-template-columns:1fr 200px;gap:20px;}
@media(max-width:760px){.party-settings-grid{grid-template-columns:1fr;}}
.party-settings-grid textarea{min-height:110px;font-size:12px;}
.psize-field label{display:block;font-size:12.5px;color:var(--text);margin-bottom:6px;}
.psize-field input{width:100%;background:var(--bg-alt);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:7px 9px;font-size:12.5px;}

.big-cta{
  width:100%;padding:16px;font-size:15px;border-radius:9px;margin-top:6px;
}

.subhead{
  font-family:'Cinzel',serif;color:var(--gold-soft);font-size:19px;letter-spacing:.3px;
  margin:26px 0 12px;padding-top:18px;border-top:1px solid var(--border-soft);
  text-align:center;
}
.subhead:first-child{margin-top:0;padding-top:0;border-top:none;}
.subhead .small{color:var(--muted);font-family:'Inter',sans-serif;font-weight:400;font-size:12px;display:block;margin-top:4px;}
.party-subhead{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  text-align:left;
}
.party-subhead > span{flex:1 1 auto;text-align:center;}
.party-subhead .btn{
  flex:0 0 auto;font-family:'Inter',sans-serif;letter-spacing:0;font-weight:600;
  padding:6px 12px;font-size:12px;
}
body.overview-mode #btn-add-party{display:none;}

.groups-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:820px){.groups-grid{grid-template-columns:1fr;}}
.gcard{border-radius:9px;overflow:hidden;border:1px solid var(--border-soft);background:var(--panel2);}
.ghead{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:10px 14px;color:#12151a;font-weight:700;font-family:'Cinzel',serif;font-size:13.5px;
}
.ghead input{
  background:rgba(255,255,255,.25);border:1px solid rgba(0,0,0,.15);border-radius:5px;
  padding:3px 7px;font-size:12px;font-family:'Inter',sans-serif;font-weight:600;color:#14181d;
  width:110px;
}
.ghead .gname{font-size:14px;}
.gcount{font-family:'JetBrains Mono',monospace;font-size:11px;opacity:.85;font-weight:600;}
.gcard-full{grid-column:1 / -1;}
.ghead.extra-head{background:#5a6573;color:#f3f0e8;}
.gwarn{background:rgba(224,100,90,.15);color:#ffb3ac;font-size:11px;padding:4px 14px;border-bottom:1px solid var(--border-soft);}
.mrow{
  display:grid;grid-template-columns:26px 1fr 66px 128px 118px 28px;gap:8px;align-items:center;
  padding:6px 14px;border-bottom:1px solid var(--border-soft);font-size:12.5px;
  cursor:grab;
}
.mrow.party-row{grid-template-columns:26px 1fr 46px 90px 110px 28px;}
.mrow:last-child{border-bottom:none;}
.mrow.dragging{opacity:.45;}
.mrow .mid{color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:11px;}
.mrow .mname{color:var(--text);}
.mrow .mname.lead-name{font-weight:700;}
.mrow .mrole{display:flex;gap:4px;align-items:center;}
.mrow .mname .ps-flag{color:var(--gold);margin-left:4px;font-size:11px;}
.mrow .mklass{color:var(--muted);font-size:11.5px;}
.mrow .mflags{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-width:0;}
.mrow.has-sr{box-shadow:inset 3px 0 0 var(--sr-accent, var(--gold));}
.mrow.sr-wirbel-vb{--sr-accent:#e8923a;}
.mrow.sr-wirbel-eb{--sr-accent:#d45b4a;}
.mrow.sr-pain-vb{--sr-accent:#3db89a;}
.mrow.sr-pain-eb{--sr-accent:#9b6bb8;}
.mrow.sr-asmo-rm{--sr-accent:#5b9bd5;}
.mrow.sr-asmo-tank{--sr-accent:#7a8fa3;}
.mrow.sr-moon{--sr-accent:#c9a0dc;}
.mrow.sr-hym-vb{--sr-accent:#c9a24a;}
.sr-tag{
  display:inline-block;padding:1px 5px;border-radius:3px;
  font-size:9.5px;font-weight:800;letter-spacing:.02em;line-height:1.35;
  vertical-align:middle;border:1.5px solid currentColor;white-space:nowrap;
}
.sr-tag.sr-wirbel-vb{color:#e8923a;background:rgba(232,146,58,.12);}
.sr-tag.sr-wirbel-eb{color:#d45b4a;background:rgba(212,91,74,.12);}
.sr-tag.sr-pain-vb{color:#3db89a;background:rgba(61,184,154,.12);}
.sr-tag.sr-pain-eb{color:#9b6bb8;background:rgba(155,107,184,.12);}
.sr-tag.sr-asmo-rm{color:#5b9bd5;background:rgba(91,155,213,.12);}
.sr-tag.sr-asmo-tank{color:#9aafc0;background:rgba(122,143,163,.14);}
.sr-tag.sr-moon{color:#c9a0dc;background:rgba(201,160,220,.12);}
.sr-tag.sr-hym-vb{color:#c9a24a;background:rgba(201,162,74,.14);}
.mrow .m-remove{
  appearance:none;border:none;background:transparent;color:var(--muted);
  cursor:pointer;font-size:14px;line-height:1;padding:4px;border-radius:4px;
}
.mrow .m-remove:hover{color:var(--danger);background:rgba(224,100,90,.12);}
.gcard.drag-over{
  outline:2px solid var(--gold);
  outline-offset:-2px;
  box-shadow:0 0 0 4px rgba(201,154,74,.15);
}
.gcard .drop-hint{
  display:none;font-size:11px;color:var(--gold-soft);padding:8px 14px;text-align:center;
  border-top:1px dashed rgba(201,154,74,.35);
}
.gcard.drag-over .drop-hint{display:block;}
.party-pool{
  margin:14px 0 12px;border-radius:8px;overflow:hidden;
  border:1px solid rgba(201,154,74,.35);background:var(--panel2);
  box-shadow:inset 0 0 0 1px rgba(201,154,74,.08);
}
.party-pool.drag-over{
  outline:2px solid var(--gold);
  outline-offset:-2px;
  box-shadow:0 0 0 3px rgba(201,154,74,.12);
}
.party-pool-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:6px 12px;cursor:pointer;user-select:none;
  background:linear-gradient(180deg, rgba(255,255,255,.03), transparent);
  border-bottom:1px solid transparent;
}
.party-pool:not(.collapsed) .party-pool-head{border-bottom-color:var(--border-soft);}
.party-pool-head .pool-title{
  font-family:'Cinzel',serif;font-size:12px;font-weight:600;color:var(--gold-soft);
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.party-pool-head .pool-meta{
  font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--muted);font-weight:600;
}
.party-pool-head .pool-meta.full{color:var(--ok);}
.party-pool-head .pool-meta.space{color:var(--gold-soft);}
.party-pool-head .chev{color:var(--muted);font-size:11px;transition:transform .15s;}
.party-pool.collapsed .party-pool-head .chev{transform:rotate(-90deg);}
.party-pool.collapsed .party-pool-body{display:none;}
.party-pool-body{padding:8px 10px 10px;}
.party-pool-add{
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px;
}
.party-pool-add .mini-input{height:28px;padding:4px 7px;font-size:12px;}
.party-pool-add #pool-add-name{flex:1 1 140px;min-width:120px;}
.party-pool-add #pool-add-cat{flex:0 0 78px;}
.party-pool-add #pool-add-klass{flex:0 1 100px;min-width:80px;}
.party-pool-add .pool-ps{
  display:inline-flex;align-items:center;gap:4px;margin:0;
  font-size:11.5px;color:var(--text);white-space:nowrap;
}
.party-pool-add .btn{
  white-space:nowrap;height:28px;padding:0 10px;font-size:14px;line-height:1;
  min-width:32px;
}
.party-pool-fullhint{font-size:11.5px;color:var(--muted);margin:0 0 6px;}
.pool-chips{
  display:flex;flex-wrap:wrap;gap:5px;min-height:24px;
  padding:6px 8px;border-radius:6px;border:1px dashed var(--border);
  background:rgba(13,15,19,.3);
}
.pool-chips:empty::before{
  content:'Niemand frei — aus Gruppe/Party hierhin ziehen oder + hinzufügen';
  color:var(--muted);font-size:11.5px;font-style:italic;
}
.pool-chip{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 5px 3px 8px;border-radius:5px;
  background:var(--panel);border:1px solid var(--border);
  font-size:12px;cursor:grab;color:var(--text);
}
.pool-chip.dragging{opacity:.45;}
.pool-chip .chip-klass{color:var(--muted);font-size:10.5px;}
.pool-chip .chip-ps{color:var(--gold);font-size:9.5px;}
.pool-chip .chip-x{
  appearance:none;border:none;background:transparent;color:var(--muted);
  cursor:pointer;font-size:12px;line-height:1;padding:1px 3px;border-radius:3px;
}
.pool-chip .chip-x:hover{color:var(--danger);background:rgba(224,100,90,.12);}
.party-pool .drop-hint{
  display:none;font-size:10.5px;color:var(--gold-soft);padding:6px 0 0;text-align:center;
}
.party-pool.drag-over .drop-hint{display:block;}
.no-party-pool{
  margin:14px 0 0;
  border-color:rgba(91,141,189,.4);
  box-shadow:inset 0 0 0 1px rgba(91,141,189,.08);
}
.no-party-pool .pool-chips:empty::before{
  content:'Alle sind in einer Party';
}
body.overview-mode .party-pool-add,
body.overview-mode .party-pool .chip-x{display:none !important;}
body.overview-mode .pool-chip{cursor:default;}
.ghead .party-label-input{
  background:rgba(255,255,255,.25);border:1px solid rgba(0,0,0,.15);border-radius:5px;
  padding:3px 7px;font-size:12px;font-family:'Inter',sans-serif;font-weight:600;color:#14181d;
  width:min(160px,40%);
}
.ghead .party-del{
  appearance:none;border:none;background:rgba(0,0,0,.18);color:#14181d;
  width:24px;height:24px;border-radius:5px;cursor:pointer;font-size:13px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;opacity:.75;
}
.ghead .party-del:hover{background:rgba(224,100,90,.85);color:#fff;opacity:1;}
body.overview-mode .party-del{display:none;}
.debuff-tag{
  font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;text-align:center;
  background:rgba(201,154,74,.16);color:var(--gold-soft);border:1px solid rgba(201,154,74,.3);
  white-space:nowrap;
}
.debuff-tag.debuff-blue{background:rgba(74,144,217,.18);color:#8fc5ff;border-color:rgba(74,144,217,.42);}
.debuff-tag.debuff-green{background:rgba(76,175,109,.18);color:#8fe0a8;border-color:rgba(76,175,109,.42);}
.debuff-tag.debuff-red{background:rgba(217,83,79,.18);color:#ff9a95;border-color:rgba(217,83,79,.42);}
.debuff-tag.debuff-yellow{background:rgba(224,195,65,.2);color:#f0d878;border-color:rgba(224,195,65,.45);}
.debuff-tag.debuff-brown{background:rgba(139,94,52,.24);color:#d1a877;border-color:rgba(139,94,52,.48);}
.role-tag{
  font-size:9.5px;font-weight:700;padding:1px 5px;border-radius:4px;text-align:center;
  border:1px solid; display:inline-block; white-space:nowrap;
}
.role-tag.aoe{color:#8fc5ff;border-color:rgba(91,141,189,.45);background:rgba(91,141,189,.14);}
.role-tag.dd{color:#ffb3ac;border-color:rgba(198,90,90,.45);background:rgba(198,90,90,.14);}
.role-tag.clickable{cursor:pointer;user-select:none;}
.role-tag.clickable:hover{filter:brightness(1.25);}
.role-tag.lead{font-weight:900;}
.role-tag.dd.lead{box-shadow:0 0 0 1px #ffb3ac inset;}
.role-tag.aoe.lead{box-shadow:0 0 0 1px #8fc5ff inset;}
.mrow select{background:var(--bg-alt);color:var(--text);border:1px solid var(--border);border-radius:5px;font-size:11px;padding:3px 4px;}
.empty-row{padding:10px 14px;color:var(--muted);font-size:12px;font-style:italic;}
body.overview-mode .mrow select{display:none;}
body.overview-mode .mrow .m-remove{display:none;}
body.overview-mode .mrow{grid-template-columns:26px 1fr 66px 140px;cursor:default;}
body.overview-mode .role-tag.clickable{pointer-events:none;cursor:default;}
body.overview-mode .gwarn{display:none;}
body.overview-mode .mrow.party-row{grid-template-columns:26px 1fr 46px 214px;}
body.overview-mode .mrow.party-row .mrole{justify-self:end;}
body.overview-mode .drop-hint{display:none !important;}
body.overview-mode .party-label-input{pointer-events:none;}

.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border-soft);border-radius:9px;overflow:hidden;margin-top:18px;}
@media(max-width:760px){.info-grid{grid-template-columns:1fr;}}
.info-col{background:var(--panel2);}
.info-col + .info-col{border-left:1px solid var(--border-soft);}
@media(max-width:760px){.info-col + .info-col{border-left:none;border-top:1px solid var(--border-soft);}}
.info-col h4{margin:0;padding:10px 14px;font-family:'Cinzel',serif;font-size:12.5px;color:var(--gold-soft);border-bottom:1px solid var(--border-soft);letter-spacing:.4px;}
.info-row{display:flex;justify-content:space-between;gap:10px;padding:7px 14px;border-bottom:1px solid var(--border-soft);font-size:12.5px;}
.info-row:last-child{border-bottom:none;}
.info-row .lab{color:var(--muted);flex:0 0 auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:70%;}
.info-row .val{color:var(--text);font-weight:600;text-align:right;}
.info-row.manual .val{font-style:italic;color:var(--muted);}

.add-person{
  margin-top:18px;padding-top:16px;border-top:1px solid var(--border-soft);
}
.add-person h3{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 0 10px;}
.add-person-grid{
  display:grid;grid-template-columns:70px 1fr 130px 140px auto auto;
  gap:8px;align-items:end;
}
@media(max-width:820px){.add-person-grid{grid-template-columns:1fr 1fr;}}
.add-person-grid label{display:block;font-size:11px;color:var(--muted);margin-bottom:4px;}
.add-person-grid .btn{white-space:nowrap;height:32px;padding:6px 14px;}

#results-empty{color:var(--muted);font-size:13px;padding:6px 2px;}

.footer-note{color:#66707c;font-size:11.5px;margin-top:26px;text-align:center;}
.footer-note a{color:var(--gold);}

.toast{
  position:fixed;bottom:22px;left:50%;transform:translateX(-50%);
  background:var(--panel2);border:1px solid var(--gold);color:var(--gold-soft);
  padding:10px 18px;border-radius:7px;font-size:13px;opacity:0;pointer-events:none;
  transition:opacity .2s, transform .2s;z-index:50;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(-4px);}

.archive-list{display:flex;flex-direction:column;gap:14px;}
.archive-month{
  border:1px solid var(--border-soft);
  border-radius:9px;
  background:var(--panel2);
  overflow:hidden;
}
.archive-month-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 14px;cursor:pointer;user-select:none;
  background:linear-gradient(180deg, rgba(255,255,255,.03), transparent);
  border-bottom:1px solid var(--border-soft);
}
.archive-month-head:hover{background:rgba(255,255,255,.04);}
.archive-month-head .mtitle{
  font-family:'Cinzel',serif;font-size:14px;color:var(--gold-soft);margin:0;
  display:flex;align-items:baseline;gap:10px;
}
.archive-month-head .mcount{
  font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--muted);
}
.archive-month-head .chev{color:var(--muted);font-size:12px;transition:transform .15s;}
.archive-month.collapsed .archive-month-head{border-bottom:none;}
.archive-month.collapsed .archive-month-head .chev{transform:rotate(-90deg);}
.archive-month.collapsed .archive-month-body{display:none;}
.archive-month-body{display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px;}
.archive-item{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:12px 14px;background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:8px;
}
.archive-item .aname{font-weight:600;font-size:13.5px;}
.archive-item .ameta{color:var(--muted);font-size:11.5px;font-family:'JetBrains Mono',monospace;margin-top:3px;}
.archive-actions{display:flex;gap:8px;flex-wrap:wrap;}
.btn-danger{border-color:rgba(224,100,90,.45);color:#ffb3ac;}
.btn-danger:hover{border-color:var(--danger);}
.btn-ok{border-color:rgba(111,174,124,.45);color:#9fd4aa;}

.alias-table{width:100%;border-collapse:collapse;font-size:13px;}
.alias-table th{
  text-align:left;color:var(--muted);font-weight:600;font-size:11px;
  text-transform:uppercase;letter-spacing:.4px;padding:6px 8px;border-bottom:1px solid var(--border-soft);
}
.alias-table td{padding:6px 8px;border-bottom:1px solid var(--border-soft);vertical-align:middle;}

.payout-panel{
  margin-top:22px;padding:0;border:1px solid var(--border-soft);border-radius:9px;background:var(--panel2);overflow:hidden;
}
.payout-panel .payout-toggle{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 18px;cursor:pointer;user-select:none;
  background:linear-gradient(180deg, rgba(255,255,255,.02), transparent);
}
.payout-panel .payout-toggle h3{
  font-family:'Cinzel',serif;font-size:15px;color:var(--gold-soft);margin:0;
  display:flex;align-items:center;gap:10px;
}
.payout-panel .payout-body{padding:0 18px 18px;}
.payout-panel.collapsed .payout-body{display:none;}
.payout-panel .chev{color:var(--muted);transition:transform .15s;font-size:13px;}
.payout-panel.collapsed .chev{transform:rotate(-90deg);}
.payout-head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:14px;}
.payout-field label{display:block;font-size:11.5px;color:var(--muted);margin-bottom:5px;}
.payout-field input{width:140px;background:var(--bg-alt);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:8px 10px;font-size:13px;}
.payout-summary{color:var(--muted);font-size:12.5px;margin-bottom:12px;}
.payout-summary strong{color:var(--gold-soft);}
.payout-table{width:100%;border-collapse:collapse;font-size:13px;}
.payout-table th{
  text-align:left;color:var(--muted);font-weight:600;font-size:11px;
  text-transform:uppercase;letter-spacing:.4px;padding:8px;border-bottom:1px solid var(--border-soft);
}
.payout-table td{padding:8px;border-bottom:1px solid var(--border-soft);vertical-align:middle;}
.payout-table tr.paid td{opacity:.55;}
.payout-table tr.paid .pname{text-decoration:line-through;}
.klass-suggest{display:block;font-size:10.5px;color:var(--muted);margin-top:3px;}
.klass-suggest button{
  appearance:none;border:none;background:none;color:var(--gold-soft);cursor:pointer;
  font-size:10.5px;padding:0;text-decoration:underline;font-family:inherit;
}
.runtime-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px;}
.runtime-row input{width:64px;background:var(--bg-alt);border:1px solid var(--border);color:var(--text);border-radius:5px;padding:5px 7px;font-size:12.5px;font-family:'JetBrains Mono',monospace;}
.rank-table{width:100%;border-collapse:collapse;font-size:13px;margin:12px 0 18px;}
.rank-table th{
  text-align:left;color:var(--muted);font-weight:600;font-size:11px;
  text-transform:uppercase;letter-spacing:.4px;padding:6px 8px;border-bottom:1px solid var(--border-soft);
}
.rank-table td{padding:7px 8px;border-bottom:1px solid var(--border-soft);}
.rank-table .rank-n{font-family:'JetBrains Mono',monospace;color:var(--gold-soft);font-weight:600;width:36px;}
.rank-table .rank-time{font-family:'JetBrains Mono',monospace;}
.box-amt{font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--gold-soft);}
.mname-input{
  width:100%;max-width:220px;background:transparent;border:1px solid transparent;color:var(--text);
  border-radius:4px;padding:2px 4px;font-size:12.5px;font-family:'Inter',sans-serif;
}
.mname-input:hover,.mname-input:focus{border-color:var(--border);background:var(--bg-alt);outline:none;}
body.overview-mode .mname-input{pointer-events:none;border-color:transparent;background:transparent;}

.modal-backdrop{
  position:fixed;inset:0;background:rgba(8,10,14,.72);z-index:80;
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.modal-backdrop[hidden]{display:none !important;}
.modal{
  width:100%;max-width:440px;background:var(--panel);border:1px solid var(--border);
  border-radius:10px;padding:22px;box-shadow:0 20px 50px rgba(0,0,0,.45);
}
.modal h3{font-family:'Cinzel',serif;color:var(--gold-soft);margin:0 0 8px;font-size:17px;}
.modal p{color:var(--muted);font-size:12.5px;margin:0 0 14px;}
.modal label{display:block;font-size:11.5px;color:var(--muted);margin:0 0 5px;}
.modal input[type=text],
.modal input[type=password]{
  width:100%;background:var(--bg-alt);border:1px solid var(--border);color:var(--text);
  border-radius:7px;padding:10px 12px;font-size:13.5px;margin-bottom:14px;
  font-family:'Inter',sans-serif;box-sizing:border-box;
}
.modal input[type=text]:focus,
.modal input[type=password]:focus{outline:none;border-color:var(--gold);}
.modal .btn-row{margin-top:4px;}
.user-admin-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:12px;}
.user-admin-table th{
  text-align:left;color:var(--muted);font-weight:600;font-size:11px;
  text-transform:uppercase;letter-spacing:.4px;padding:8px 6px;border-bottom:1px solid var(--border-soft);
}
.user-admin-table td{padding:8px 6px;border-bottom:1px solid var(--border-soft);vertical-align:middle;}
.user-admin-table .tag{
  display:inline-block;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;margin-right:4px;
}
.user-admin-table .tag.admin{color:var(--gold-soft);border:1px solid rgba(201,154,74,.4);background:rgba(201,154,74,.12);}
.user-admin-table .tag.locked{color:#ffb3ac;border:1px solid rgba(224,100,90,.4);background:rgba(224,100,90,.12);}
.user-admin-actions{display:flex;flex-wrap:wrap;gap:6px;}
.modal.wide{max-width:720px;}
.loaded-banner{
  display:none;margin-bottom:16px;padding:10px 14px;border-radius:7px;
  background:rgba(201,154,74,.12);border:1px solid rgba(201,154,74,.35);
  color:var(--gold-soft);font-size:13px;
}
.loaded-banner.show{display:block;}
.loaded-banner .runtime-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px;}
.loaded-banner .runtime-inline input{
  width:64px;background:var(--bg-alt);border:1px solid var(--border);color:var(--text);
  border-radius:5px;padding:5px 7px;font-size:12.5px;font-family:'JetBrains Mono',monospace;
}
.loaded-banner strong{color:var(--gold-soft);}

body.auth-locked .wrap{visibility:hidden;pointer-events:none;}
.login-gate{
  position:fixed;inset:0;z-index:100;display:none;
  align-items:center;justify-content:center;padding:24px;
  background:
    radial-gradient(ellipse 900px 500px at 15% -10%, rgba(201,154,74,.12), transparent 60%),
    radial-gradient(ellipse 700px 500px at 100% 0%, rgba(91,141,189,.1), transparent 55%),
    var(--bg);
}
body.auth-locked .login-gate{display:flex;}
.login-card{
  width:100%;max-width:420px;background:var(--panel);border:1px solid var(--border);
  border-radius:12px;padding:28px 24px;box-shadow:0 24px 60px rgba(0,0,0,.45);
}
.login-card h1{
  font-family:'Cinzel',serif;color:var(--gold-soft);font-size:22px;margin:0 0 6px;text-align:center;
}
.login-card .login-sub{color:var(--muted);font-size:13px;text-align:center;margin:0 0 22px;}
.login-card label{display:block;font-size:11.5px;color:var(--muted);margin:0 0 5px;}
.login-card .field{margin-bottom:12px;}
.login-card input[type=text],
.login-card input[type=password]{
  width:100%;background:var(--bg-alt);border:1px solid var(--border);color:var(--text);
  border-radius:7px;padding:10px 12px;font-size:14px;
}
.login-error{color:#ffb3ac;font-size:12.5px;min-height:18px;margin:4px 0 10px;}
.login-divider{
  display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;
  text-transform:uppercase;letter-spacing:.4px;margin:16px 0;
}
.login-divider::before,.login-divider::after{content:'';flex:1;height:1px;background:var(--border-soft);}
.user-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.user-chip{
  font-size:12px;color:var(--muted);border:1px solid var(--border);background:var(--panel);
  border-radius:5px;padding:6px 10px;font-family:'JetBrains Mono',monospace;
}

/* ---- Bild-Export Poster ---- */
#export-poster-host{
  position:fixed;left:-10000px;top:0;width:1920px;pointer-events:none;z-index:-1;
}
.export-poster{
  width:1920px;padding:28px 32px 22px;box-sizing:border-box;
  background:#12151a;color:#e9e7df;font-family:'Inter',sans-serif;
  border:1px solid #333c48;
}
.export-poster .xp-banner{
  display:flex;justify-content:space-between;align-items:flex-end;gap:16px;
  padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid #282f3a;
}
.export-poster .xp-brand{
  font-family:'Cinzel',serif;font-size:28px;font-weight:700;color:#e4c584;letter-spacing:.4px;
}
.export-poster .xp-heading{
  font-size:15px;color:#93a0ac;margin-top:2px;
}
.export-poster .xp-raid{
  margin-top:6px;font-size:14px;font-weight:600;color:#e9e7df;
}
.export-poster .xp-meta{
  font-family:'JetBrains Mono',monospace;font-size:12px;color:#93a0ac;white-space:nowrap;
}
.export-poster .xp-section{margin-bottom:22px;}
.export-poster .xp-section h3{
  margin:0 0 10px;font-family:'Cinzel',serif;font-size:14px;color:#e4c584;
  letter-spacing:.3px;font-weight:600;
}
.export-poster .xp-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:12px;
}
.export-poster .xp-card{
  border:1px solid #282f3a;border-radius:8px;overflow:hidden;background:#232a35;
  break-inside:avoid;
}
.export-poster .xp-head{
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  padding:8px 12px;color:#f3f0e8;
}
.export-poster .xp-title{font-family:'Cinzel',serif;font-size:13px;font-weight:700;}
.export-poster .xp-sub{font-size:11px;opacity:.9;font-weight:500;}
.export-poster .xp-body{padding:4px 0;}
.export-poster .xp-empty{padding:10px 12px;color:#93a0ac;font-size:12px;font-style:italic;}
.export-poster .xp-row{
  display:grid;grid-template-columns:30px minmax(0,1fr) 78px 240px;
  gap:10px;align-items:center;padding:5px 12px;
  border-bottom:1px solid #282f3a;font-size:12.5px;
}
.export-poster .xp-row:last-child{border-bottom:none;}
.export-poster .xp-id{font-family:'JetBrains Mono',monospace;font-size:10px;color:#93a0ac;}
.export-poster .xp-name{
  color:#e9e7df;font-weight:500;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.export-poster .xp-ps{color:#c99a4a;margin-left:3px;}
.export-poster .xp-klass{
  color:#93a0ac;font-size:11.5px;white-space:nowrap;
}
.export-poster .xp-tags{
  display:flex;flex-wrap:wrap;gap:3px;align-items:center;
  justify-content:flex-start;min-width:0;
}
.export-poster .xp-debuff{
  font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;
  background:rgba(201,154,74,.16);color:#e4c584;border:1px solid rgba(201,154,74,.3);
  white-space:nowrap;
}
.export-poster .xp-ps-tag{
  font-size:9px;font-weight:800;padding:1px 5px;border-radius:3px;
  color:#c99a4a;background:rgba(201,154,74,.18);border:1px solid rgba(201,154,74,.45);
  white-space:nowrap;
}
.export-poster .xp-lead{
  font-size:9px;font-weight:800;padding:1px 5px;border-radius:3px;
  white-space:nowrap;border:1px solid;
}
.export-poster .xp-lead-dd{
  color:#ffb3ac;border-color:rgba(198,90,90,.5);background:rgba(198,90,90,.14);
}
.export-poster .xp-lead-aoe{
  color:#8fc5ff;border-color:rgba(91,141,189,.5);background:rgba(91,141,189,.16);
}
.export-poster .xp-sr{
  display:inline-block;padding:1px 5px;border-radius:3px;font-size:9.5px;font-weight:800;
  border:1.5px solid currentColor;white-space:nowrap;line-height:1.3;
}
.export-poster .xp-sr.sr-wirbel-vb{color:#e8923a;background:rgba(232,146,58,.12);}
.export-poster .xp-sr.sr-wirbel-eb{color:#d45b4a;background:rgba(212,91,74,.12);}
.export-poster .xp-sr.sr-pain-vb{color:#3db89a;background:rgba(61,184,154,.12);}
.export-poster .xp-sr.sr-pain-eb{color:#9b6bb8;background:rgba(155,107,184,.12);}
.export-poster .xp-sr.sr-asmo-rm{color:#5b9bd5;background:rgba(91,155,213,.12);}
.export-poster .xp-sr.sr-asmo-tank{color:#9aafc0;background:rgba(122,143,163,.14);}
.export-poster .xp-sr.sr-moon{color:#c9a0dc;background:rgba(201,160,220,.12);}
.export-poster .xp-sr.sr-hym-vb{color:#c9a24a;background:rgba(201,162,74,.14);}
.export-poster .xp-info-section{
  display:grid;grid-template-columns:1fr 1.2fr;gap:12px;
}
.export-poster .xp-info-col{
  border:1px solid #282f3a;border-radius:8px;background:#232a35;overflow:hidden;
}
.export-poster .xp-info-col h3{
  margin:0;padding:10px 12px;border-bottom:1px solid #282f3a;
}
.export-poster .xp-info-row{
  display:flex;justify-content:space-between;gap:10px;align-items:center;
  padding:7px 12px;border-bottom:1px solid #282f3a;font-size:12px;color:#93a0ac;
}
.export-poster .xp-info-row:last-child{border-bottom:none;}
.export-poster .xp-info-row strong{color:#e9e7df;font-weight:600;text-align:right;}
.export-poster .xp-role-lab{display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:72%;}
.export-poster .xp-foot{
  margin-top:8px;text-align:center;font-size:11px;color:#66707c;
  font-family:'Cinzel',serif;
}
