@layer legacy{ /* V0.52.1 (S2-1) - siehe p-s21-legacy-schicht.pl */
/* Project Legend V0.38.12 — adaptive layout authority.
   Pure CSS by design: no viewport-driven gameplay mutation, resize listener,
   ResizeObserver, MutationObserver, application zoom or shell scaling. */
:root{
  --pl3812-gutter:clamp(10px,1.8vw,34px);
  --pl3812-shell-width:96vw;
  --pl3812-sidebar:clamp(236px,14.5vw,326px);
  --pl3812-gap:clamp(12px,1.15vw,24px);
  --pl3812-card-pad:clamp(14px,1.05vw,24px);
  --pl3812-touch:44px;
  --pl3812-reading:76ch;
}

html{min-width:320px;max-width:100%;overflow-x:clip}
body{
  width:100%;max-width:100%;overflow-x:clip;
  font-size:clamp(13.5px,.18vw + 12.8px,16px);
  text-rendering:optimizeLegibility;
}

.app-shell{
  width:var(--pl3812-shell-width)!important;
  max-width:none!important;
  margin-inline:auto!important;
  padding:clamp(12px,1.45vw,30px) var(--pl3812-gutter) clamp(26px,2.6vw,54px)!important;
}

.topbar{min-width:0;gap:var(--pl3812-gap)!important;margin-bottom:clamp(14px,1.4vw,28px)!important}
.brand{min-width:0}.brand>div:last-child{min-width:0}
.brand h1{font-size:clamp(16px,.45vw + 13px,21px)!important;white-space:nowrap}
.brand p{font-size:clamp(10px,.16vw + 9px,12px)!important}
.brand-mark{width:clamp(44px,3.2vw,62px)!important;height:clamp(44px,3.2vw,62px)!important}
.top-actions{min-width:0}

.career-layout{
  width:100%;min-width:0;
  grid-template-columns:var(--pl3812-sidebar) minmax(0,1fr)!important;
  gap:var(--pl3812-gap)!important;
  align-items:start;
}
.sidebar{min-width:0;top:clamp(10px,1.2vw,22px)!important}
.content{min-width:0;container:pl-career-content / inline-size}
.page{min-width:0}
.page.active{min-width:0}
.page-title{gap:var(--pl3812-gap)!important;margin-bottom:clamp(12px,1.1vw,22px)!important}
.page-title h2{font-size:clamp(23px,.6vw + 18px,31px)!important}
.page-title p{max-width:var(--pl3812-reading)}

.card,.panel,.next-match,.quick-actions,.feed-card{min-width:0}
.panel,.stat-card,.quick-actions,.feed-card{padding:var(--pl3812-card-pad)}
.stats-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))!important;
  gap:clamp(8px,.7vw,14px)!important;
  margin-bottom:var(--pl3812-gap)!important;
}
.stat-value{font-size:clamp(20px,.55vw + 16px,28px)!important}
.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr)!important;gap:var(--pl3812-gap)!important}
.two-col{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:var(--pl3812-gap)!important}
.three-col{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:var(--pl3812-gap)!important}
.season-dashboard-v14,.result-stats,.contract-offer,.choice-grid,.pl312-impact-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));
}

.pl312-intro,.pl312-setup{width:100%!important;max-width:none!important}
.pl312-intro-hero{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr)!important;gap:clamp(28px,4vw,90px)!important;padding:clamp(32px,4vw,86px)!important}
.pl312-intro-copy h1{font-size:clamp(38px,3vw,72px)!important;max-width:18ch!important}
.pl312-intro-copy>p{max-width:72ch!important;font-size:clamp(14px,.28vw + 12px,17px)!important}
.pl312-intro-logo{width:min(100%,520px)!important;max-width:520px!important}
.pl312-feature-area{padding:clamp(24px,2.4vw,50px)!important}
.pl312-feature-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr))!important}
.pl312-setup{width:min(96vw,1680px)!important}
.pl312-setup-form,.pl312-setup-hero{padding-inline:clamp(20px,3vw,58px)!important}
.pl312-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))!important}

.table-wrap,.market-list,.calendar-list,.league-table,.squad-table{
  max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;
  scrollbar-gutter:stable;
}
table{max-width:100%}
.modal-backdrop{max-width:100vw;max-height:100dvh;overflow:auto!important;overscroll-behavior:contain}
.modal{
  width:min(94vw,1180px)!important;max-width:calc(100vw - 20px)!important;
  /* C245 (17.09.2026): 48 statt 24. Die Flaeche darunter polstert 24 px OBEN
     UND UNTEN (phase2-premium.css, mit Wichtig-Markierung), dieser Deckel
     rechnete aber mit 24 px insgesamt. Gemessen beim Mindestmass 1024x640:
     Einstellungen, Speicherstaende, Systemerklaerung, Reifebericht und
     Berater standen 8 px unter dem Fensterrand - sie rollten innen richtig,
     der Kasten war nur zu hoch. Bei 912 px faellt es nicht auf, weil kein
     Dialog so hoch wird.
     Behoben HIER und nicht in einem spaeteren Blatt: beide Gewinner tragen
     eine Wichtig-Markierung, ein Blatt danach koennte sie nur mit einer
     zweiten Markierung schlagen - und die verbietet die Stil-Wache zu Recht.
     Die Regel im Fenster unter 640 px stimmt bereits (Polsterung 4 px,
     Deckel 100dvh - 8px); nur diese eine Zahl lief aus dem Takt. */
  max-height:calc(100dvh - 48px)!important;overflow:auto!important;
  overscroll-behavior:contain;scrollbar-gutter:stable;
}
.modal-wide{width:min(96vw,1760px)!important;max-width:calc(100vw - 20px)!important}

/* C247: Der Einstellungsdialog und die Speicherplaetze haben eine eigene,
   schmalere Breite (720 px) - sie kam nie zur Wirkung, weil die Regel darueber
   mit Wichtig-Markierung 1180 px erzwingt. Folge: bei 1536 px Fensterbreite
   standen zwischen Beschriftung und Feld rund 700 px Leere. Hier, im selben
   Blatt und mit derselben Markierung berichtigt - eine dritte Markierung in
   einem spaeteren Blatt waere genau der Fehler aus Abschnitt 50 von
   v0576-passung.css. */
/* V0.58.9 (Strang dialoge, Pruefbericht zu V0.58.3 "Scrollen Einstellungen/Speichern"):
   Beide Dialoge standen einspaltig in 760 px und rollten bei 1280x720 um 636 bzw. 218 px.
   Mit Tonmischer (und nur dann) nutzt der Einstellungsdialog die volle Breite in drei
   Spalten, die Speicherplaetze in zwei (v0589-dialoge.css). Ohne Mischer bleibt es bei
   760 px, sonst kaeme die C247-Leere zurueck. Hier geaendert und nicht in einem
   spaeteren Blatt - dieselbe Lehre wie oben (Abschnitt 50 von v0576-passung.css). */
#modalRoot .modal:has([data-phase1-settings]):not(:has([data-pl44-audio-section])){width:min(94vw,760px)!important}
.modal-head{min-width:0}.modal-head>div{min-width:0}
.modal-head h3,.modal-head p{overflow-wrap:anywhere}
.modal-actions{gap:10px!important}
.modal-actions .btn{min-height:var(--pl3812-touch)}

.pl3812-development-context{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 22px;align-items:center;
  margin:0 0 var(--pl3812-gap);padding:var(--pl3812-card-pad);
  border:1px solid rgba(211,177,110,.22);border-radius:16px;
  background:linear-gradient(135deg,rgba(197,157,83,.09),rgba(14,25,39,.86));
}
.pl3812-development-context small{display:block;color:#c9a865;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.pl3812-development-context h3{margin:5px 0 3px;font-size:clamp(18px,.5vw + 15px,24px)}
.pl3812-development-context p{margin:0;color:var(--muted);line-height:1.5}
.pl3812-development-rank{text-align:right}
.pl3812-development-rank b{display:block;color:#e8ce91;font-size:clamp(20px,.6vw + 16px,29px)}
.pl3812-development-rank span{color:var(--muted);font-size:11px}
.pl3812-hierarchy-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px}
.pl3812-hierarchy-list span{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid rgba(255,255,255,.065);background:rgba(255,255,255,.025);font-size:11px}
.pl3812-hierarchy-list em{font-style:normal;color:var(--muted)}
body:has(.pl3812-development-context) .v0386-hierarchy-card{display:none!important}

/* Career Live uses the same viewport instead of a second fixed desktop canvas. */
#plV0387CareerLive .pl387-backdrop{padding:clamp(8px,1.45vw,28px)!important}
#plV0387CareerLive .pl387-shell{width:100%!important;max-width:none!important;min-height:calc(100dvh - clamp(16px,2.9vw,56px))!important}
#plV0387CareerLive .pl387-shell main{grid-template-columns:minmax(0,1.85fr) minmax(300px,.68fr)!important}
#plV0387CareerLive .pl387-summary{grid-template-columns:minmax(130px,.65fr) minmax(0,1fr) minmax(0,1.5fr)!important}
#plV0387CareerLive .pl387-calendar,#plV0387CareerLive .pl387-feed{min-width:0}

@container pl-career-content (min-width:1500px){
  .stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(340px,.72fr)!important}
  .calendar-tools{grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr)!important}
  .choice-grid:not(.pl33-four){grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(min-width:1920px){
  :root{--pl3812-shell-width:94vw;--pl3812-sidebar:clamp(270px,14vw,340px)}
  .sidebar .nav button{padding:13px 14px!important}
  .quick-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
}

@media(min-width:2560px){
  :root{--pl3812-shell-width:95vw;--pl3812-sidebar:clamp(292px,12vw,360px);--pl3812-gap:clamp(18px,1vw,30px)}
  .sidebar{font-size:15px}
  .content>.page.active{max-width:none}
  .pl312-intro-hero{grid-template-columns:minmax(0,1.65fr) minmax(420px,.7fr)!important}
}

@media(min-width:3200px){
  :root{--pl3812-shell-width:96vw;--pl3812-sidebar:360px}
  .stats-grid{grid-template-columns:repeat(5,minmax(190px,1fr))!important}
  .two-col{grid-template-columns:repeat(2,minmax(420px,1fr))!important}
  .pl387-panel{padding:clamp(15px,1vw,24px)!important}
}

/* Laptop: keep controls readable; reduce density instead of scaling the app. */
@media(max-width:1440px){
  :root{--pl3812-shell-width:96vw;--pl3812-sidebar:238px;--pl3812-gap:12px;--pl3812-card-pad:14px}
  .app-shell{padding-top:12px!important}
  .sidebar .nav button{padding:9px 10px!important;font-size:12px}
  .page-title h2{font-size:24px!important}
  .stat-hint,.page-title p{font-size:11px!important}
  .dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(250px,.78fr)!important}
}

@media(max-width:1180px){
  :root{--pl3812-shell-width:100vw;--pl3812-gutter:14px}
  .career-layout{grid-template-columns:1fr!important}
  .sidebar{
    position:static!important;display:grid!important;
    grid-template-columns:minmax(190px,.85fr) minmax(190px,.75fr) minmax(0,2fr)!important;
    align-items:center;gap:10px;padding:10px!important;
  }
  .sidebar .player-mini,.sidebar .overall-box{margin:0!important}
  .sidebar .nav{display:grid!important;grid-template-columns:repeat(5,minmax(82px,1fr))!important;gap:4px!important}
  .sidebar .nav button{min-height:40px;min-width:0!important;text-align:center!important;justify-content:center!important}
  .sidebar .side-footer{display:none!important}
  .pl312-intro-hero{grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr)!important;padding:36px!important}
  #plV0387CareerLive .pl387-shell main{grid-template-columns:minmax(0,1.5fr) minmax(270px,.72fr)!important}
}

/* Tablet portrait and compact landscape. */
@media(max-width:900px){
  :root{--pl3812-gutter:12px;--pl3812-card-pad:14px}
  .app-shell{width:100%!important;padding-inline:var(--pl3812-gutter)!important}
  .sidebar{grid-template-columns:1fr 1fr!important}
  .sidebar .nav{grid-column:1/-1!important}
  .dashboard-grid,.two-col,.three-col,.calendar-tools{grid-template-columns:1fr!important}
  .pl312-intro-hero{grid-template-columns:1fr!important;gap:25px!important;padding:clamp(24px,5vw,42px)!important}
  .pl312-intro-logo{justify-self:start!important;width:min(62vw,360px)!important}
  .pl312-intro-copy h1{font-size:clamp(36px,7vw,58px)!important}
  .pl312-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .modal,.modal-wide{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important}
  #plV0387CareerLive .pl387-shell main{grid-template-columns:1fr!important}
  #plV0387CareerLive .pl387-match{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.07)}
  #plV0387CareerLive .pl387-summary{grid-template-columns:1fr 1fr!important}
  #plV0387CareerLive .pl387-summary h4{grid-column:1/-1}
}

/* Genuine phone arrangement: summary first, fixed bottom navigation, single-
   column primary content, and touch-sized actions. */
@media(max-width:640px){
  :root{--pl3812-gutter:8px;--pl3812-card-pad:12px;--pl3812-gap:9px}
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  button,.btn,input,select,textarea,[role="button"]{min-height:var(--pl3812-touch)!important}
  input[type="checkbox"],input[type="radio"]{min-width:var(--pl3812-touch)!important;min-height:var(--pl3812-touch)!important;width:var(--pl3812-touch)!important;height:var(--pl3812-touch)!important}
  .app-shell{padding:8px 8px 18px!important}
  .topbar{align-items:flex-start!important;flex-wrap:wrap!important;margin-bottom:10px!important}
  .brand{width:100%}.brand p{display:block!important}
  .top-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr!important}
  .top-actions.hidden{display:none!important}
  .top-actions .btn{display:inline-flex!important;width:100%;min-height:var(--pl3812-touch);padding:9px!important}
  .career-layout{display:block!important}
  .sidebar{display:grid!important;grid-template-columns:1fr auto!important;padding:10px!important;margin-bottom:10px}
  .sidebar .player-mini{min-width:0}.sidebar .overall-box{min-width:112px}
  .sidebar .nav{
    position:fixed!important;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:8800;
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:3px!important;
    padding:6px!important;border:1px solid rgba(255,255,255,.12);border-radius:15px;
    background:rgba(8,15,24,.965)!important;box-shadow:0 18px 50px rgba(0,0,0,.52);
    backdrop-filter:blur(14px);overflow:visible!important;
  }
  .sidebar .nav button{
    min-width:0!important;min-height:50px!important;width:100%!important;padding:7px 3px!important;
    display:grid!important;place-items:center;text-align:center!important;font-size:9px!important;line-height:1.08!important;
  }
  .sidebar .nav button .pl2-icon{display:none!important}
  .page-title{align-items:flex-start!important;flex-direction:column!important}
  .page-title>.btn{width:100%;min-height:var(--pl3812-touch)}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .stat-card{padding:11px!important}.stat-value{font-size:20px!important}
  .matchup{gap:6px!important;margin:18px 0!important}
  .club-badge{width:52px!important;height:52px!important;border-radius:15px!important}
  .club-name{white-space:normal!important;font-size:12px!important;overflow-wrap:anywhere}
  .match-actions,.modal-actions{display:grid!important;grid-template-columns:1fr!important}
  .match-actions .btn,.modal-actions .btn,.btn-primary{min-height:var(--pl3812-touch)}
  .pl312-intro-hero{padding:22px!important}.pl312-intro-copy h1{font-size:clamp(34px,11vw,48px)!important}
  .pl312-intro-logo{width:min(72vw,270px)!important}
  .pl312-feature-area{padding:18px!important}.pl312-feature-grid{grid-template-columns:1fr!important}
  .pl312-setup-form,.pl312-setup-hero{padding:18px!important}.pl312-form-grid{grid-template-columns:1fr!important}
  .pl3812-development-context{grid-template-columns:1fr!important}
  .pl3812-development-rank{text-align:left}.pl3812-hierarchy-list{grid-template-columns:1fr}
  .modal-backdrop{padding:4px!important;align-items:center!important}
  .modal,.modal-wide{width:calc(100vw - 8px)!important;max-width:calc(100vw - 8px)!important;max-height:calc(100dvh - 8px)!important;border-radius:12px!important}
  .modal-head{padding:16px 14px 13px!important}.modal-actions{padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important}
  .modal>.modal-head~*:not(.modal-actions){margin-left:14px!important;margin-right:14px!important}
  .table-wrap table{min-width:620px}
  #plV0387CareerLive .pl387-backdrop{padding:4px!important}
  #plV0387CareerLive .pl387-shell{min-height:calc(100dvh - 8px)!important;border-radius:10px;overflow:hidden}
  #plV0387CareerLive .pl387-shell>header{display:grid!important;padding:14px!important}
  #plV0387CareerLive .pl387-target{text-align:left!important}
  #plV0387CareerLive .pl387-match{padding:24px 12px!important}
  #plV0387CareerLive .pl387-score{gap:8px!important}
  #plV0387CareerLive .pl387-score span{font-size:14px!important;overflow-wrap:anywhere}
  #plV0387CareerLive .pl387-summary{grid-template-columns:1fr!important;padding:13px!important}
  #plV0387CareerLive .pl387-summary h4{grid-column:auto}
  #plV0387CareerLive .pl387-calendar,#plV0387CareerLive .pl387-feed{padding:13px!important;overflow-x:auto}
}

@media(max-width:390px){
  .top-actions{grid-template-columns:1fr!important}
  .sidebar{grid-template-columns:1fr!important}.sidebar .overall-box{width:100%}
  .stats-grid{gap:6px!important}.stat-card{padding:9px!important}
  .page-title h2{font-size:22px!important}
  .sidebar .nav{left:4px;right:4px;bottom:max(4px,env(safe-area-inset-bottom));padding:4px!important}
  .sidebar .nav button{font-size:8px!important;min-height:48px!important}
}

@media(prefers-reduced-motion:reduce){
  .sidebar .nav{backdrop-filter:none}
}

@media(forced-colors:active){
  .sidebar .nav,.pl3812-development-context{border:1px solid CanvasText}
}

/* V0.38.12 additional fix block: the normal transfer/loan screen and the
   Career Live interruption render the same canonical presentation model. */
#modalRoot .modal:has(.pl3812-live-offer-grid),
#modalRoot .modal:has(.pl3812-canonical-offer-card){width:min(1180px,calc(100vw - 28px));max-width:min(1180px,calc(100vw - 28px));overflow-x:hidden}
.pl3812-live-offer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.pl3812-live-offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,470px),1fr));gap:14px;padding:0 18px 18px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.pl3812-canonical-offer-card{width:100%;max-width:100%;min-width:0;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:linear-gradient(145deg,rgba(19,36,51,.96),rgba(9,20,31,.98));box-shadow:0 14px 34px rgba(0,0,0,.26);overflow:hidden}
.pl3812-offer-club{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px 16px 13px;border-bottom:1px solid rgba(255,255,255,.08)}
.pl3812-offer-badge{width:58px;height:58px;object-fit:contain;border-radius:14px;background:rgba(255,255,255,.08);padding:6px}
.pl3812-offer-badge img,.pl3812-offer-badge svg{display:block;width:100%;height:100%;object-fit:contain}
.pl3812-offer-club h4{margin:0 0 4px;font-size:18px;overflow-wrap:anywhere}.pl3812-offer-club p{margin:0;color:var(--muted,#a9b8c4);line-height:1.35}
.pl3812-offer-status{align-self:start;border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:rgba(255,255,255,.06);white-space:nowrap}
.pl3812-offer-status[data-agreed="true"]{color:#9cf0c0;border-color:rgba(69,211,132,.45);background:rgba(26,141,81,.17)}
.pl3812-offer-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.075)}
.pl3812-offer-sections>section{min-width:0;padding:14px 16px;background:rgba(8,19,29,.94)}
.pl3812-offer-sections>section h5{margin:0 0 10px;color:#dce9f2;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.pl3812-offer-sections dl{display:grid;gap:7px;margin:0}.pl3812-offer-sections dl>div{display:grid;grid-template-columns:minmax(118px,.9fr) minmax(0,1.35fr);gap:12px}
.pl3812-offer-sections dt{margin:0;color:var(--muted,#9cafbd);font-size:12px}.pl3812-offer-sections dd{margin:0;text-align:right;font-size:12px;font-weight:750;overflow-wrap:anywhere}
.pl3812-agreement{margin:0 0 11px;padding:9px 10px;border-left:3px solid #f2b84b;border-radius:6px;background:rgba(242,184,75,.09);font-size:12px;line-height:1.4}.pl3812-agreement.agreed,.pl3812-agreement.no_fee_required{border-left-color:#45d384;background:rgba(69,211,132,.09)}
.pl3812-competition-list{display:grid;gap:6px;margin-top:10px}.pl3812-competition-list>div{display:flex;justify-content:space-between;gap:10px;padding-top:6px;border-top:1px solid rgba(255,255,255,.07);font-size:12px}.pl3812-empty-fact{margin:10px 0 0;color:var(--muted,#9cafbd);font-size:12px}
.pl3812-offer-competition{margin:9px 0 0;padding-left:18px;color:#cbd8e2;font-size:12px;line-height:1.45}
.pl3812-offer-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:14px 16px;border-top:1px solid rgba(255,255,255,.08)}
.pl3812-offer-actions .btn{min-height:var(--pl3812-touch,44px)}

@media(max-width:900px){
  .pl3812-live-offer-grid{grid-template-columns:1fr}.pl3812-live-offer-head{display:grid}
}
@media(max-width:640px){
  #modalRoot .modal:has(.pl3812-live-offer-grid),#modalRoot .modal:has(.pl3812-canonical-offer-card){width:calc(100vw - 8px);max-width:calc(100vw - 8px)}
  .pl3812-live-offer-grid{padding:0 8px 10px;gap:8px}.pl3812-offer-club{grid-template-columns:48px minmax(0,1fr);padding:12px;gap:10px}.pl3812-offer-badge{width:48px;height:48px}.pl3812-offer-status{grid-column:1/-1;justify-self:start}.pl3812-offer-sections{grid-template-columns:1fr}.pl3812-offer-sections>section{padding:12px}.pl3812-offer-sections dl>div{grid-template-columns:minmax(104px,.86fr) minmax(0,1.14fr);gap:8px}.pl3812-offer-actions{display:grid;grid-template-columns:1fr;padding:10px 12px}.pl3812-offer-actions .btn{width:100%}
}

@media(forced-colors:active){.pl3812-canonical-offer-card,.pl3812-offer-section,.pl3812-offer-status{border:1px solid CanvasText}}

/* V0.47.1 - Kanonische Angebotskarten im alten .choice-grid.

   installNormalOfferParity() ersetzt vLeanOfferCard global durch die
   Kanonik-Karte (Mindestauslegung 470 px). Der Saison-/Transferdialog packt
   sie aber in das alte .choice-grid, und dessen Dreispaltregel presste jede
   Karte auf 342 px - das Namensfeld neben Wappen (56 px) und Statuschip
   ("REJECTED / NO AGREEMENT", ~230 px) kollabierte auf Zeichenbreite:
   Vereinsnamen liefen Buchstabe fuer Buchstabe senkrecht, Karten wurden
   1950 px hoch. Gemessen am Nachbau, nicht vermutet.

   Sobald eine Kanonik-Karte im Raster steckt, gilt darum ihre eigene
   Mindestbreite - und der Statuschip faellt bei knapper Karte in die
   naechste Zeile, statt den Namen zu wuergen. */
.choice-grid:has(.pl3812-canonical-offer-card){
  grid-template-columns:repeat(auto-fit,minmax(min(100%,470px),1fr))!important;
}
@media(max-width:1060px){
  .choice-grid:has(.pl3812-canonical-offer-card){grid-template-columns:1fr!important}
}
.choice-grid .pl3812-canonical-offer-card .pl3812-offer-status{
  max-width:100%;white-space:normal;
}
/* Dieselbe Uebersteuerung noch einmal im Containerkontext: die
   Dreispaltregel wohnt in "@container pl-career-content (min-width:1500px)",
   und dort muss die Kanonik-Mindestbreite ebenfalls gelten. */
@container pl-career-content (min-width:1500px){
  .choice-grid:has(.pl3812-canonical-offer-card){
    grid-template-columns:repeat(auto-fit,minmax(min(100%,470px),1fr))!important;
  }
}

} /* @layer legacy */
