:root{--bg:#0f0b07;--panel:#0f0b07;--line:#c99a35;--gold:#f8cf7a;--gold-accent:#e8be5d;--text:#fff1c2;--muted:#f8cf7a}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#0f0b07,#0f0b07);color:var(--text);font:16px/1.45 Arial,sans-serif;min-height:100vh}
.account-wrap{width:min(1100px,calc(100% - 28px));margin:30px auto}.account-nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.account-nav a,.button,button{border:1px solid var(--line);border-radius:999px;padding:10px 16px;background:#6f4e12;color:#fff1c2;text-decoration:none;font-weight:700;cursor:pointer}
.account-nav .brand{margin-right:auto;color:var(--gold)}.panel{background:rgba(15,11,7,.96);border:1px solid #9f7420;border-radius:18px;padding:22px;margin:16px 0;box-shadow:0 14px 40px #00000066}
h1,h2,h3{margin-top:0}.lead,.muted{color:var(--muted)}.notice{padding:12px 15px;border-radius:10px;margin:12px 0;background:#6f4e12;border:1px solid #c99a35}.error{background:#6f4e12;border-color:#e8be5d}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.full{grid-column:1/-1}label{display:grid;gap:6px;font-weight:700}
input,select,textarea{width:100%;border:1px solid #9f7420;border-radius:10px;background:#0f0b07;color:#fff1c2;padding:11px 12px;font:inherit}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 8px;border-bottom:1px solid #6f4e12;vertical-align:top}.actions{display:flex;gap:7px;flex-wrap:wrap}
.danger{background:#9f7420;border-color:#c99a35}.pending{color:#f8cf7a}.approved{color:#e8be5d}.badge{display:inline-block;padding:3px 9px;border-radius:999px;background:#9f7420}
.schedule-cards{display:grid;gap:12px}.schedule-card{display:grid;grid-template-columns:150px 1fr auto;gap:16px;align-items:center;border:1px solid #9f7420;border-radius:14px;padding:15px;background:#0f0b07}
.schedule-time{color:var(--gold);font-weight:800}.schedule-card h3{margin:0 0 4px}.auth-card{max-width:620px;margin:45px auto}
@media(max-width:760px){.grid{grid-template-columns:1fr}.schedule-card{grid-template-columns:1fr}.account-nav .brand{width:100%}table{font-size:14px}.table-scroll{overflow:auto}}
.permission-user{position:relative;margin:16px 0;padding:18px;border:1px solid #9f7420;border-radius:14px;background:#0f0b07}.permission-user form{display:grid;gap:14px}.permission-user-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.permission-user-head input{max-width:260px}.permission-grid{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.rights-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:9px;margin:12px 0}.rights-list label{display:flex;align-items:flex-start;gap:8px;padding:9px;border:1px solid #9f7420;border-radius:9px;background:#0f0b07}.rights-list input{width:auto}.delete-inline{margin-top:10px}.group-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px 0;border-top:1px solid #9f7420}.member-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}.member-card{display:grid;justify-items:center;gap:8px;padding:20px;border:1px solid #c99a35;border-radius:14px;background:#0f0b07}.member-avatar{display:block;width:82px;height:82px;border-radius:50%;object-fit:cover;border:3px solid #c99a35;background:#0f0b07;box-shadow:0 0 0 3px #080706,0 0 16px rgba(201,154,53,.28)}.member-card span{color:#e8be5d}.table-scroll{overflow:auto}
.group-editor{margin-top:14px;padding:14px;border:1px solid #9f7420;border-radius:12px;background:#0f0b07}.group-editor summary{cursor:pointer;color:var(--gold);font-weight:800;margin-bottom:12px}
@media(max-width:700px){.permission-user-head{align-items:stretch;flex-direction:column}.permission-user-head input{max-width:none}.rights-list{grid-template-columns:1fr}}

.team-role-editor{margin:2px 0 4px;padding:14px;border:1px solid #c99a35;border-radius:12px;background:#120d06}
.team-role-editor summary{cursor:pointer;color:var(--gold);font-weight:800}
.team-role-hint{margin:10px 0 4px;color:var(--muted);font-weight:400}
.team-role-list label{border-color:#c99a35;background:#171006}

/* Benutzerprofile und Moderatorbilder – V26 */
.schedule-card{grid-template-columns:72px 150px minmax(0,1fr) auto}
.schedule-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);background:#080706;box-shadow:0 0 18px rgba(232,190,93,.24)}
.schedule-info{min-width:0}
.permission-user-identity{display:flex;align-items:center;gap:12px;min-width:0}
.permission-user-identity img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);background:#080706}
.permission-user-identity small{overflow-wrap:anywhere}
.profile-admin-note{display:inline-block;margin-top:2px;color:var(--muted);font-size:12px;text-decoration:none;cursor:default}
.profile-panel{overflow:hidden}
.profile-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.profile-heading h1{margin-bottom:8px}
.profile-kicker{display:block;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.16em;margin-bottom:7px}
.profile-status{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 12px;border:1px solid var(--line);border-radius:999px;color:var(--gold);font-weight:800;background:#120d06}
.profile-form{display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:28px;align-items:start;margin-top:22px}
.profile-image-column{display:grid;justify-items:center;gap:12px;padding:18px;border:1px solid #9f7420;border-radius:16px;background:#0b0805}
.profile-image-frame{width:190px;height:190px;padding:5px;border-radius:50%;background:linear-gradient(135deg,#f8cf7a,#9f7420);box-shadow:0 0 30px rgba(232,190,93,.22)}
.profile-image-frame img{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover;background:#080706}
.profile-file-button{display:inline-flex!important;justify-content:center;align-items:center;text-align:center;border:1px solid var(--line);border-radius:999px;padding:10px 14px;background:#6f4e12;color:#fff1c2;cursor:pointer}
.profile-file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.profile-image-column small{color:var(--muted);text-align:center}
.profile-remove{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.profile-remove input{width:auto}
.profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.profile-fields textarea{resize:vertical;min-height:150px}
.profile-team-roles{padding:15px;border:1px solid #9f7420;border-radius:12px;background:#120d06}
.profile-team-roles>strong{display:block;margin-bottom:9px;color:var(--gold)}
.profile-team-roles>div{display:flex;gap:8px;flex-wrap:wrap}
.profile-team-roles span{display:inline-block;padding:5px 10px;border-radius:999px;background:#6f4e12;border:1px solid var(--line);font-weight:800}
.profile-team-roles p{margin:0;color:var(--muted);font-weight:400}
.profile-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
@media(max-width:760px){
  .schedule-card{grid-template-columns:64px 1fr}
  .schedule-avatar{width:56px;height:56px;grid-row:1/3}
  .schedule-time,.schedule-info,.schedule-card>.actions{min-width:0}
  .schedule-info{grid-column:2}
  .schedule-card>.actions{grid-column:1/-1}
  .profile-heading{flex-direction:column}
  .profile-form{grid-template-columns:1fr}
  .profile-fields{grid-template-columns:1fr}
  .profile-fields .full{grid-column:1}
}

/* V88.1 – Sendeplan sauber ausgerichtet, ohne seitliches Verrutschen */
.schedule-cards{
  width:100%;
  min-width:0;
}
.schedule-card{
  width:100%;
  min-width:0;
  grid-template-columns:72px minmax(150px,190px) minmax(0,1fr) auto;
  column-gap:18px;
  align-items:center;
  overflow:hidden;
}
.schedule-avatar{
  display:block;
  width:64px;
  height:64px;
  min-width:64px;
  max-width:64px;
  aspect-ratio:1/1;
  justify-self:center;
  object-fit:cover;
}
.schedule-time,
.schedule-info,
.schedule-card>.actions{
  min-width:0;
  max-width:100%;
}
.schedule-time{
  overflow-wrap:anywhere;
}
.schedule-info h3,
.schedule-info span{
  overflow-wrap:anywhere;
  word-break:normal;
}
.schedule-card>.actions{
  justify-self:end;
  align-items:center;
}
.schedule-card>.actions form{
  margin:0;
}

@media(max-width:900px){
  .schedule-card{
    grid-template-columns:72px minmax(135px,170px) minmax(0,1fr);
  }
  .schedule-card>.actions{
    grid-column:2/-1;
    justify-self:start;
  }
}

@media(max-width:620px){
  .account-wrap{
    width:min(100% - 16px,1100px);
    margin:14px auto;
  }
  .panel{
    padding:14px;
  }
  .schedule-card{
    grid-template-columns:64px minmax(0,1fr);
    grid-template-areas:
      "avatar time"
      "avatar info"
      "actions actions";
    gap:8px 13px;
    padding:13px;
  }
  .schedule-avatar{
    grid-area:avatar;
    width:56px;
    height:56px;
    min-width:56px;
    max-width:56px;
    align-self:start;
  }
  .schedule-time{grid-area:time}
  .schedule-info{grid-area:info}
  .schedule-card>.actions{
    grid-area:actions;
    width:100%;
    justify-self:stretch;
  }
  .schedule-card>.actions .button,
  .schedule-card>.actions button{
    text-align:center;
  }
}

/* V88.1.3 – aktive Sendung unter dem Mauszeiger hervorheben */
@media(hover:hover) and (pointer:fine){
  .schedule-card{
    position:relative;
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
    will-change:transform;
  }
  .schedule-card:hover,
  .schedule-card:focus-within{
    z-index:2;
    transform:translateY(-3px) scale(1.008);
    border-color:#f8cf7a;
    background:linear-gradient(135deg,#211708,#0f0b07);
    box-shadow:0 12px 30px rgba(0,0,0,.55),0 0 0 2px rgba(248,207,122,.22),0 0 24px rgba(232,190,93,.34)!important;
  }
  .schedule-card:hover .schedule-title-image,
  .schedule-card:focus-within .schedule-title-image,
  .schedule-card:hover .schedule-avatar,
  .schedule-card:focus-within .schedule-avatar{
    border-color:#fff1c2;
    box-shadow:0 0 22px rgba(248,207,122,.46);
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule-card{transition:none!important}
  .schedule-card:hover,
  .schedule-card:focus-within{transform:none!important}
}

/* V88.1.2 – Sendebilder gross und gut lesbar */
.schedule-card:has(.schedule-title-image){
  grid-template-columns:minmax(190px,220px) 72px minmax(160px,190px) minmax(0,1fr) auto;
}
.schedule-title-image{
  display:block;
  width:100%;
  max-width:220px;
  aspect-ratio:16/9;
  height:auto;
  object-fit:contain;
  justify-self:start;
  border:2px solid var(--gold);
  border-radius:10px;
  background:#080706;
  box-shadow:0 0 18px rgba(232,190,93,.2);
}

@media(max-width:900px){
  .schedule-card:has(.schedule-title-image){
    grid-template-columns:minmax(170px,200px) 64px minmax(0,1fr);
  }
  .schedule-card:has(.schedule-title-image) .schedule-info{
    grid-column:3;
  }
  .schedule-card:has(.schedule-title-image)>.actions{
    grid-column:2/-1;
  }
}

@media(max-width:620px){
  .schedule-card:has(.schedule-title-image){
    grid-template-columns:64px minmax(0,1fr);
    grid-template-areas:
      "title title"
      "avatar time"
      "avatar info"
      "actions actions";
  }
  .schedule-title-image{
    grid-area:title;
    width:min(100%,360px);
    max-width:360px;
    justify-self:center;
    margin-bottom:5px;
  }
  .schedule-card:has(.schedule-title-image) .schedule-avatar{grid-area:avatar}
  .schedule-card:has(.schedule-title-image) .schedule-time{grid-area:time}
  .schedule-card:has(.schedule-title-image) .schedule-info{grid-area:info}
  .schedule-card:has(.schedule-title-image)>.actions{grid-area:actions}
}

/* V88.1.4 – Sendebild beim Ueberfahren als grosse Vorschau */
@media(hover:hover) and (pointer:fine){
  .schedule-title-image{
    position:relative;
    z-index:3;
    cursor:zoom-in;
    transform-origin:left center;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  }
  .schedule-card:has(.schedule-title-image):hover,
  .schedule-card:has(.schedule-title-image):focus-within{
    overflow:visible;
    z-index:20;
  }
  .schedule-card:hover .schedule-title-image,
  .schedule-card:focus-within .schedule-title-image{
    z-index:30;
    transform:scale(1.9);
    border-color:#fff1c2;
    background:#080706;
    box-shadow:0 18px 48px rgba(0,0,0,.8),0 0 0 3px rgba(248,207,122,.28),0 0 32px rgba(232,190,93,.6);
  }
}

/* V88.1.7 – uebersichtliche Zeilen; nur das direkt beruehrte Titelbild wird gross */
.schedule-card:has(.schedule-title-image){
  grid-template-columns:116px 64px minmax(170px,200px) minmax(240px,1fr)!important;
  overflow:visible;
}
.schedule-card:has(.schedule-title-image)>.actions{
  grid-column:1/-1!important;
  width:100%;
  justify-self:stretch;
  justify-content:flex-end;
  padding-top:4px;
}
.schedule-card:has(.schedule-title-image) .schedule-info,
.schedule-card:has(.schedule-title-image) .schedule-info h3,
.schedule-card:has(.schedule-title-image) .schedule-info span{
  min-width:0;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal;
}

@media(hover:hover) and (pointer:fine){
  .schedule-card:hover,
  .schedule-card:focus-within{
    transform:none!important;
  }
  .schedule-title-image,
  .schedule-card:hover .schedule-title-image,
  .schedule-card:focus-within .schedule-title-image{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:116px!important;
    max-width:116px!important;
    height:84px!important;
    aspect-ratio:auto!important;
    transform:none!important;
    cursor:zoom-in;
  }
  .schedule-title-image:hover,
  .schedule-card:hover .schedule-title-image:hover,
  .schedule-card:focus-within .schedule-title-image:hover{
    z-index:50;
    transform:scale(3.4)!important;
    transform-origin:left center;
    border-color:#fff1c2;
    box-shadow:0 18px 48px rgba(0,0,0,.88),0 0 0 3px rgba(248,207,122,.3),0 0 34px rgba(232,190,93,.62);
  }
}

@media(max-width:900px){
  .schedule-card:has(.schedule-title-image){
    grid-template-columns:116px 64px minmax(0,1fr)!important;
  }
  .schedule-card:has(.schedule-title-image) .schedule-info{
    grid-column:3;
  }
}

@media(max-width:620px){
  .schedule-card:has(.schedule-title-image){
    grid-template-columns:64px minmax(0,1fr)!important;
    grid-template-areas:
      "title title"
      "avatar time"
      "avatar info"
      "actions actions";
  }
  .schedule-card:has(.schedule-title-image) .schedule-info{grid-column:auto}
}

@media(prefers-reduced-motion:reduce){
  .schedule-title-image{transition:none!important}
}

/* V88.1.5 – komplette Sendung vergroessern und Bild gestochen klar zeigen */
.schedule-title-image{
  image-rendering:auto;
}
@media(hover:hover) and (pointer:fine){
  .schedule-card:hover,
  .schedule-card:focus-within{
    transform:translateY(-5px) scale(1.04);
    transform-origin:center;
  }
  .schedule-card:has(.schedule-title-image):hover .schedule-title-image,
  .schedule-card:has(.schedule-title-image):focus-within .schedule-title-image{
    position:absolute;
    left:18px;
    top:50%;
    width:min(440px,calc(100vw - 70px));
    max-width:none;
    height:auto;
    aspect-ratio:auto;
    transform:translateY(-50%);
    object-fit:contain;
    image-rendering:auto;
    backface-visibility:hidden;
    border-width:3px;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule-card:hover,
  .schedule-card:focus-within{transform:none!important}
}

/* V88.1.6 – normal kompakt, Vergroesserung wirklich nur bei Maus-Hover */
.schedule-card:has(.schedule-title-image){
  grid-template-columns:120px 72px minmax(150px,190px) minmax(0,1fr) auto;
}
.schedule-title-image{
  width:116px;
  max-width:116px;
  height:84px;
  aspect-ratio:auto;
  object-fit:contain;
  transform:none;
}
.schedule-card:focus-within:not(:hover){
  transform:none!important;
}

@media(hover:hover) and (pointer:fine){
  .schedule-card:hover{
    overflow:visible;
    z-index:20;
    transform:translateY(-5px) scale(1.04);
    transform-origin:center;
  }
  .schedule-card:has(.schedule-title-image):hover .schedule-title-image{
    position:absolute;
    left:18px;
    top:50%;
    z-index:30;
    width:min(440px,calc(100vw - 70px));
    max-width:none;
    height:auto;
    aspect-ratio:auto;
    transform:translateY(-50%);
    object-fit:contain;
    border-width:3px;
    border-color:#fff1c2;
    background:#080706;
    box-shadow:0 18px 48px rgba(0,0,0,.8),0 0 0 3px rgba(248,207,122,.28),0 0 32px rgba(232,190,93,.6);
  }
}

@media(max-width:900px){
  .schedule-card:has(.schedule-title-image){
    grid-template-columns:116px 64px minmax(0,1fr);
  }
}

@media(max-width:620px){
  .schedule-card:has(.schedule-title-image){
    grid-template-columns:64px minmax(0,1fr);
  }
  .schedule-title-image{
    width:116px;
    max-width:116px;
    height:84px;
  }
}


/* V76 – erweiterte Benutzerprofile */
.profile-public-setting{padding:15px;border:1px solid #9f7420;border-radius:12px;background:#0d0a06}
.profile-public-toggle{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:flex-start;cursor:pointer}
.profile-public-toggle input{width:auto;margin-top:4px}
.profile-public-toggle span{display:grid;gap:3px}
.profile-public-toggle strong{color:var(--gold)}
.profile-public-toggle small,.profile-public-hint{color:var(--muted);font-weight:400;line-height:1.45}
.profile-preview-link{display:inline-flex;margin-top:11px;color:#f8cf7a;font-weight:800;text-decoration:none}
.profile-preview-link:hover{text-decoration:underline}


/* V78 SENDEPLATZ-ANFRAGEN */
.slot-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.slot-count{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:9px 14px;color:var(--gold);font-weight:900;background:#0c0905}
.slot-checkbox span{display:flex;gap:9px;align-items:center}
.slot-checkbox input{width:auto}
.slot-request-list{display:grid;gap:14px}
.slot-request-card{border:1px solid #8f671b;border-radius:16px;padding:18px;background:linear-gradient(145deg,#120d07,#080604)}
.slot-request-card.status-angenommen{border-color:#cda53d}
.slot-request-card.status-abgelehnt,.slot-request-card.status-zurueckgezogen{opacity:.78;border-color:#6f5d34}
.slot-request-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.slot-request-top h3{margin:4px 0 0}
.slot-request-moderator{color:#f0cf72;font-size:.86rem;font-weight:800}
.slot-status{border:1px solid #c99a35;border-radius:999px;padding:5px 10px;color:#f8d879;font-size:.76rem;font-weight:900;text-transform:uppercase;white-space:nowrap}
.slot-request-meta{display:flex;gap:10px 18px;flex-wrap:wrap;margin:12px 0;color:var(--muted)}
.slot-request-meta strong{color:#f3d677}
.slot-note,.slot-decision{margin:10px 0;padding:10px 12px;border-left:3px solid #9f7420;background:#0c0905;border-radius:6px}
.slot-request-actions{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-top:14px}
.slot-request-actions form{margin:0}
.slot-reject-form{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.slot-reject-form input{min-width:220px}
.slot-secondary{background:#211806}
@media(max-width:760px){
  .slot-request-top{display:grid}
  .slot-request-actions,.slot-reject-form{display:grid;width:100%}
  .slot-request-actions form,.slot-reject-form input,.slot-request-actions button{width:100%}
}


/* V81 SENDEPLAN-KONFLIKTPRUEFUNG */
.schedule-conflict-warning{
  margin:4px 0 10px;
  padding:12px 14px;
  border:1px solid #c8912d;
  border-left:4px solid #e1ad3c;
  border-radius:10px;
  background:linear-gradient(145deg,#211607,#100b05);
  color:#f1d58a;
  line-height:1.5;
  font-weight:800;
}
.schedule-conflict-warning[hidden]{display:none!important}
button:disabled{
  opacity:.48;
  cursor:not-allowed!important;
  filter:grayscale(.25);
}
