/* Turfsport Pferderennen – Tippspiel
   Eigener visueller Bereich. Keine Tippspiel-Styles in anderen Modulen. */

.portal-tip-main{display:flex;flex-direction:column;gap:14px;}
.portal-tip-hero{padding:24px 26px;background:linear-gradient(135deg,#fff 0%,#fbfaf6 68%,#fff3dd 100%);}
.portal-tip-hero h1{margin:4px 0 5px;font-size:30px;line-height:1.08;color:var(--ts-green-900);}
.portal-tip-hero p:last-child{margin:0;color:var(--ts-text-muted);font-size:13px;}

.portal-tip-picker{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(310px,1.35fr) auto;align-items:center;gap:20px;padding:16px 18px;border:1px solid var(--ts-border);border-radius:var(--ts-radius-lg);background:#fff;box-shadow:var(--ts-shadow);}
.portal-tip-picker__copy span,.portal-tip-picker__copy strong,.portal-tip-picker__copy small{display:block;}
.portal-tip-picker__copy span{color:#9a6a20;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;}
.portal-tip-picker__copy strong{margin-top:3px;color:var(--ts-green-900);font-size:19px;line-height:1.12;}
.portal-tip-picker__copy small{margin-top:3px;color:var(--ts-text-muted);font-size:11px;}
.portal-tip-picker__form{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;}
.portal-tip-picker__form label{color:var(--ts-text-muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;}
.portal-tip-picker__form select{width:100%;height:40px;padding:0 34px 0 11px;border:1px solid #cedbd4;border-radius:9px;background:#fbfdfc;color:var(--ts-green-900);font-size:12px;font-weight:800;}
.portal-tip-picker__status{min-width:104px;padding-left:17px;border-left:1px solid var(--ts-border);text-align:right;}
.portal-tip-picker__status strong,.portal-tip-picker__status span{display:block;}
.portal-tip-picker__status strong{color:var(--ts-green-900);font-size:14px;}
.portal-tip-picker__status span{margin-top:2px;color:#8a6325;font-size:10px;font-weight:850;}

.portal-tip-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;border:1px solid var(--ts-border);border-radius:11px;background:#f4f6f5;}
.portal-tip-tabs a{display:flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border-radius:8px;color:#56665e;font-size:12px;font-weight:850;text-decoration:none;}
.portal-tip-tabs a:hover{background:#fff;color:var(--ts-green-900);}
.portal-tip-tabs a.is-active{background:var(--ts-green-800);color:#fff;box-shadow:0 3px 8px rgba(20,78,58,.14);}

.portal-tip-sheet{overflow:hidden;border:1px solid var(--ts-border);border-radius:var(--ts-radius-lg);background:#fff;box-shadow:var(--ts-shadow);}
.portal-tip-sectionhead{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;border-bottom:1px solid var(--ts-border);background:#fbfcfb;}
.portal-tip-sectionhead h2{margin:2px 0 0;color:var(--ts-green-900);font-size:21px;}
.portal-tip-sectionhead>strong{color:#6d7c74;font-size:12px;}
.portal-tip-races{display:flex;flex-direction:column;}
.portal-tip-race{display:grid;grid-template-columns:68px minmax(0,1fr) minmax(285px,.8fr);align-items:center;gap:16px;min-height:92px;padding:12px 16px;border-bottom:1px solid var(--ts-border);}
.portal-tip-race:last-child{border-bottom:0;}
.portal-tip-race:hover{background:#fcfdfc;}
.portal-tip-race__number{display:flex;flex-direction:column;align-items:center;justify-content:center;width:58px;height:58px;border:1px solid #e8cc91;border-radius:12px;background:#fff8e9;color:#94651d;}
.portal-tip-race__number strong{font-size:23px;line-height:1;}
.portal-tip-race__number span{margin-top:4px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;}
.portal-tip-race__info{min-width:0;}
.portal-tip-race__meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px;}
.portal-tip-race__meta strong,.portal-tip-race__meta span{display:inline-flex;align-items:center;min-height:23px;padding:3px 7px;border:1px solid #dce6e1;border-radius:7px;background:#f8fbf9;color:#5e6e66;font-size:10px;font-weight:800;}
.portal-tip-race__meta strong{border-color:#c9ddd2;background:#eef6f1;color:var(--ts-green-900);}
.portal-tip-race__info p{margin:7px 0 0;color:var(--ts-green-900);font-size:12px;font-weight:800;line-height:1.25;}
.portal-tip-race__pick label{display:block;margin-bottom:5px;color:#68786f;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;}
.portal-tip-race__controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;}
.portal-tip-race__controls select{min-width:0;height:36px;padding:0 30px 0 10px;border:1px solid #cad9d1;border-radius:8px;background:#fff;color:#32483d;font-size:11px;font-weight:750;}
.portal-tip-race__controls button{min-width:92px;height:36px;padding:0 11px;border:0;border-radius:8px;background:#d39a2c;color:#fff;font-size:10px;font-weight:900;cursor:pointer;}
.portal-tip-race__controls button:hover{background:#bd8420;}
.portal-tip-empty{padding:32px 20px;text-align:center;color:var(--ts-text-muted);font-size:13px;}

.portal-tip-side{margin-top:14px;padding:5px;border:1px solid var(--ts-border);border-radius:12px;background:#fff;box-shadow:var(--ts-shadow);}
.portal-tip-side__kicker{margin:-5px -5px 7px;padding:11px 13px;border-radius:10px;background:#155c43;color:#fff;font-size:12px;line-height:1.1;font-weight:800;letter-spacing:.04em;text-transform:uppercase;}
.portal-tip-side__nav{display:flex;flex-direction:column;}
.portal-tip-side__nav a{display:flex;align-items:center;min-height:39px;padding:6px 11px;border-bottom:1px solid rgba(37,91,67,.11);color:var(--ts-green-900);font-size:12.5px;line-height:1.25;font-weight:800;text-decoration:none;}
.portal-tip-side__nav a:last-child{border-bottom:0;}
.portal-tip-side__nav a:hover{border-radius:8px;background:#f0f6f2;}
.portal-tip-side__nav a.is-active{border-radius:8px;background:#e7f1eb;box-shadow:inset 3px 0 0 var(--ts-green-700);}
.portal-tip-side__note{margin:10px 5px 5px;padding:12px;border-radius:9px;background:#fbf7ed;}
.portal-tip-side__note span,.portal-tip-side__note strong,.portal-tip-side__note small{display:block;}
.portal-tip-side__note span{color:#9a6a20;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;}
.portal-tip-side__note strong{margin-top:3px;color:var(--ts-green-900);font-size:14px;}
.portal-tip-side__note small{margin-top:4px;color:#7a817d;font-size:10px;line-height:1.3;}

@media (max-width:1150px){
  .portal-tip-picker{grid-template-columns:1fr;gap:10px;}
  .portal-tip-picker__status{padding:0;border-left:0;text-align:left;}
  .portal-tip-race{grid-template-columns:58px minmax(0,1fr);}
  .portal-tip-race__pick{grid-column:2;}
}


/* V135 – Rennzeile aus Sicht des Tippers: Startzeit in den Rennkasten,
   Klasse/Distanz/Dotierung vor Sponsor- und Preisbezeichnung. */
.portal-tip-race{grid-template-columns:76px minmax(0,1fr) minmax(285px,.8fr);}
.portal-tip-race__number{
  width:66px;
  height:68px;
  padding:7px 5px 6px;
}
.portal-tip-race__number strong{font-size:22px;}
.portal-tip-race__number span{margin-top:2px;}
.portal-tip-race__number time{
  display:block;
  width:100%;
  margin-top:6px;
  padding-top:5px;
  border-top:1px solid rgba(148,101,29,.22);
  color:var(--ts-green-900);
  font-size:9.5px;
  line-height:1;
  font-weight:900;
  text-align:center;
  white-space:nowrap;
}
.portal-tip-race__facts{display:flex;align-items:center;flex-wrap:wrap;gap:6px;}
.portal-tip-race__facts strong{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border:1px solid #d6e2dc;
  border-radius:7px;
  background:#f5f9f7;
  color:#38584a;
  font-size:10.5px;
  line-height:1.15;
  font-weight:850;
}
.portal-tip-race__facts strong:first-child{
  border-color:#c6dccf;
  background:#eaf4ee;
  color:var(--ts-green-900);
}
.portal-tip-race__title{
  max-width:620px;
  margin:7px 0 0!important;
  overflow:hidden;
  color:#758079!important;
  font-size:10.5px!important;
  line-height:1.25!important;
  font-weight:650!important;
  white-space:nowrap;
  text-overflow:ellipsis;
}
@media (max-width:1150px){
  .portal-tip-race{grid-template-columns:68px minmax(0,1fr);}
  .portal-tip-race__number{width:62px;height:66px;}
}

/* V137 – rechte Tippspiel-Navigation: ruhig, klar gegliedert */
.portal-tip-side{
  margin-top:14px;
  margin-bottom:14px;
  padding:5px 5px 7px;
  border:1px solid var(--ts-border);
  border-radius:12px;
  background:#fff;
  box-shadow:var(--ts-shadow);
}
.portal-tip-side__kicker{
  margin:-5px -5px 4px;
  padding:11px 13px;
  border-radius:10px;
  background:#155c43;
  color:#fff;
  font-size:12px;
  line-height:1.1;
  font-weight:750;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.portal-tip-side__group{padding:9px 5px 0;}
.portal-tip-side__group + .portal-tip-side__group{margin-top:3px;border-top:1px solid rgba(37,91,67,.10);}
.portal-tip-side__group--last{padding-bottom:2px;}
.portal-tip-side__label{
  display:block;
  padding:0 7px 5px;
  color:#9a6a20;
  font-size:9px;
  line-height:1.1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.065em;
}
.portal-tip-side__nav{display:flex;flex-direction:column;gap:0;}
.portal-tip-side__nav a{
  display:flex;
  align-items:center;
  min-height:36px;
  padding:6px 11px;
  border-bottom:1px solid rgba(37,91,67,.09);
  border-radius:0;
  color:var(--ts-green-900);
  font-size:12.5px;
  line-height:1.25;
  font-weight:800;
  text-decoration:none;
  transition:background-color .16s ease,color .16s ease;
}
.portal-tip-side__nav a:last-child{border-bottom:0;}
.portal-tip-side__nav a:hover{border-radius:8px;background:#f0f6f2;color:var(--ts-green-900);}
.portal-tip-side__nav a.is-active{
  border-radius:8px;
  background:#e7f1eb;
  color:var(--ts-green-900);
  box-shadow:inset 3px 0 0 var(--ts-green-700);
}

/* Noch nicht gefüllte Tippspiel-Bereiche: bewusst schlicht */
.portal-tip-area{overflow:hidden;border:1px solid var(--ts-border);border-radius:var(--ts-radius-lg);background:#fff;box-shadow:var(--ts-shadow);}
.portal-tip-area__head{padding:21px 22px 18px;border-bottom:1px solid var(--ts-border);background:#fbfcfb;}
.portal-tip-area__head h2{margin:4px 0 5px;color:var(--ts-green-900);font-size:23px;}
.portal-tip-area__head p{margin:0;max-width:650px;color:var(--ts-text-muted);font-size:12.5px;line-height:1.45;}
.portal-tip-area__placeholder{display:flex;flex-direction:column;gap:4px;padding:26px 22px;color:var(--ts-text-muted);font-size:12px;}
.portal-tip-area__placeholder strong{color:var(--ts-green-900);font-size:13px;}


/* V138 – Tippspiel-Gruppen als ruhige Trenner statt frei stehender Labels */
.portal-tip-side__group-title,
.portal-tip-side__label,
.portal-tip-side__section-title,
.portal-tip-side__group > strong:first-child{
  display:flex;
  align-items:center;
  gap:8px;
  margin:9px 7px 5px;
  color:#9b6a1d;
  font-size:9.5px;
  line-height:1;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
  white-space:nowrap;
}
.portal-tip-side__group-title::before,
.portal-tip-side__group-title::after,
.portal-tip-side__label::before,
.portal-tip-side__label::after,
.portal-tip-side__section-title::before,
.portal-tip-side__section-title::after,
.portal-tip-side__group > strong:first-child::before,
.portal-tip-side__group > strong:first-child::after{
  content:"";
  height:1px;
  flex:1 1 auto;
  background:#d9dedb;
}


/* ==========================================================================
   V139 – echte Tipp-Speicherung
   ========================================================================== */
.portal-tip-flash{
  margin:0 0 10px;
  padding:10px 14px;
  border:1px solid;
  border-radius:9px;
  font-size:11.5px;
  font-weight:800;
}
.portal-tip-flash--ok{border-color:#bdd8c8;background:#edf7f1;color:#165d42;}
.portal-tip-flash--error{border-color:#e3c2bd;background:#fff2f0;color:#8b312b;}

.portal-tip-race__pickhead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:5px;
}
.portal-tip-race__pickhead label{margin:0!important;}
.portal-tip-race__state,
.portal-tip-race__deadline{
  font-size:9.5px;
  font-weight:850;
  white-space:nowrap;
}
.portal-tip-race__state.is-saved{color:#18704e;}
.portal-tip-race__state.is-locked{color:#8a4a42;}
.portal-tip-race__deadline{color:#758179;}

.portal-tip-race__pick.is-saved select{
  border-color:#a9d0bc;
  background:#f2f9f5;
}
.portal-tip-race__saved-line{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:5px;
  color:#315c49;
  font-size:10px;
}
.portal-tip-race__saved-line>span{
  display:inline-flex;
  min-width:20px;
  height:20px;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  background:#e4f1e9;
  font-weight:900;
}
.portal-tip-race__saved-line strong{font-size:10.5px;}
.portal-tip-race__saved-line small{margin-left:auto;color:#7a847f;font-size:9px;}

.portal-tip-race__controls button:disabled{
  cursor:not-allowed;
  opacity:.58;
  background:#9a9f9c;
}
.portal-tip-race__controls select:disabled{
  cursor:not-allowed;
  color:#7c8580;
  background:#f3f5f4;
}
.portal-tip-login-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 16px;
  border-radius:8px;
  background:var(--ts-green-800);
  color:#fff!important;
  font-size:10.5px;
  font-weight:900;
  text-decoration:none!important;
  white-space:nowrap;
}
.portal-tip-login-button:hover{background:var(--ts-green-900);}


/* V170 – Login/Registrierung direkt im Tippspiel */
.portal-tip-login-button{border:0;cursor:pointer;font-family:inherit}
.portal-account-modal[hidden]{display:none!important}.portal-account-modal{position:fixed;z-index:10020;inset:0;display:flex;align-items:center;justify-content:center;padding:24px}.portal-account-modal__backdrop{position:absolute;inset:0;background:rgba(15,32,25,.58);backdrop-filter:blur(2px)}.portal-account-modal__dialog{position:relative;z-index:1;width:min(520px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:24px;border:1px solid #d7e2dc;border-radius:15px;background:#fff;box-shadow:0 24px 70px rgba(8,31,22,.28)}.portal-account-modal__close{position:absolute;top:12px;right:13px;width:32px;height:32px;border:0;border-radius:50%;background:#f0f4f2;color:#365448;font-size:22px;line-height:1;cursor:pointer}.portal-account-modal__dialog h2{margin:4px 42px 5px 0;color:var(--ts-green-900);font-size:24px}.portal-account-modal__intro{margin:0 0 15px;color:#68766f;font-size:12px}.portal-account-modal__tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 15px;padding:4px;border-radius:9px;background:#f0f3f1}.portal-account-modal__tabs button{height:34px;border:0;border-radius:7px;background:transparent;color:#637169;font-size:11px;font-weight:900;cursor:pointer}.portal-account-modal__tabs button.is-active{background:#155c43;color:#fff}.portal-account-modal .portal-account-form label{font-size:11.5px}.portal-account-modal .portal-account-form label>input[type="text"],.portal-account-modal .portal-account-form label>input[type="email"],.portal-account-modal .portal-account-form label>input[type="password"]{height:40px;background:#fff}.portal-account-modal .portal-account-form>button{height:39px;margin-top:8px;background:var(--ts-green-800);border-color:var(--ts-green-800)}.portal-account-modal__forgot{display:inline-block;margin-top:3px;color:#75551d;font-size:10.5px;font-weight:800;text-decoration:none}.portal-account-modal-open{overflow:hidden}

/* V171 – Tippspiel Auswertungen */
.portal-tip-evaluation{overflow:hidden}
.portal-tip-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
.portal-tip-kpis>div{padding:13px 15px;border:1px solid #dbe5df;border-radius:10px;background:#f8fbf9}
.portal-tip-kpis span{display:block;color:#6d7872;font-size:10px;font-weight:800;text-transform:uppercase}
.portal-tip-kpis strong{display:block;margin-top:3px;color:#174e3a;font-size:23px;line-height:1.1}
.portal-tip-tablewrap{overflow:auto;border:1px solid #d8e2dc;border-radius:11px;background:#fff}
.portal-tip-ranking-table{width:100%;border-collapse:collapse;min-width:620px}
.portal-tip-ranking-table th{padding:10px 12px;background:#eef4f1;color:#627069;font-size:9px;text-align:left;text-transform:uppercase;letter-spacing:.025em}
.portal-tip-ranking-table td{padding:11px 12px;border-top:1px solid #e0e7e3;color:#34463e;font-size:12px}
.portal-tip-ranking-table tbody tr:first-child td{border-top:0}
.portal-tip-ranking-table tr.is-me td{background:#edf7f1}
.portal-tip-ranking-table td strong{color:#174e3a}
.portal-tip-ranking-table .portal-tip-rank{width:54px;color:#9a6d20;font-size:14px;font-weight:900}
.portal-tip-ranking-table .portal-tip-points{color:#155c43;font-size:15px;font-weight:900}
.portal-tip-me{display:inline-block;margin-left:7px;padding:2px 6px;border-radius:999px;background:#176247;color:#fff;font-size:8px;font-weight:900;text-transform:uppercase;vertical-align:middle}
.portal-tip-dayselect{display:flex;align-items:end;gap:10px;margin:0 0 14px;padding:12px 14px;border:1px solid #d9e4de;border-radius:10px;background:#f7faf8}
.portal-tip-dayselect label{color:#68766f;font-size:10px;font-weight:850;text-transform:uppercase}
.portal-tip-dayselect select{min-width:290px;max-width:100%;padding:9px 35px 9px 10px;border:1px solid #cad8d1;border-radius:8px;background:#fff;color:#174e3a;font-weight:800}
.portal-tip-daytitle{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.portal-tip-daytitle>span{color:#b0791e;font-size:10px;font-weight:900;text-transform:uppercase}
.portal-tip-daytitle strong{color:#174e3a;font-size:18px}.portal-tip-daytitle small{color:#6d7872;font-size:10px}
.portal-tip-hof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.portal-tip-hof-card{overflow:hidden;border:1px solid #d9e3de;border-radius:12px;background:#fff}
.portal-tip-hof-card>header{padding:16px 17px;border-bottom:1px solid #e0e7e3;background:linear-gradient(145deg,#f8fbf9,#faf6ea)}
.portal-tip-hof-card>header span{color:#b0791e;font-size:9px;font-weight:900;text-transform:uppercase}.portal-tip-hof-card>header h3{margin:3px 0 5px;color:#174e3a;font-size:19px}.portal-tip-hof-card>header p{margin:0;color:#69766f;font-size:11px;line-height:1.45}
.portal-tip-hof-list{list-style:none;margin:0;padding:0}.portal-tip-hof-list li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;padding:11px 14px;border-top:1px solid #e4e9e6}.portal-tip-hof-list li:first-child{border-top:0}.portal-tip-hof-list li.is-me{background:#edf7f1}.portal-tip-hof-list li>span{color:#9d752e;font-weight:900}.portal-tip-hof-list strong{color:#174e3a;font-size:12px}.portal-tip-hof-list strong em{margin-left:5px;color:#16714f;font-size:8px;font-style:normal;text-transform:uppercase}.portal-tip-hof-list b{color:#174e3a;font-size:12px}.portal-tip-hof-list--performance small{display:block;margin-top:2px;color:#7a847f;font-size:9px}
.portal-tip-season-days{overflow:hidden;border:1px solid #d8e2dc;border-radius:11px}.portal-tip-season-days a{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 14px;border-top:1px solid #e1e7e3;color:#174e3a;text-decoration:none}.portal-tip-season-days a:first-child{border-top:0}.portal-tip-season-days a:hover{background:#f5f9f7}.portal-tip-season-days a div strong{display:block;font-size:13px}.portal-tip-season-days a div span{display:block;margin-top:2px;color:#717c76;font-size:10px}.portal-tip-season-days a>span{color:#6c7771;font-size:10px}.portal-tip-season-days a>b{font-size:10px}
@media(max-width:760px){.portal-tip-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-tip-hof-grid{grid-template-columns:1fr}.portal-tip-dayselect{align-items:stretch;flex-direction:column}.portal-tip-dayselect select{min-width:0;width:100%}.portal-tip-season-days a{grid-template-columns:minmax(0,1fr) auto}.portal-tip-season-days a>span{display:none}}

/* ==========================================================================
   V172 – Auswertungen: mehr Luft, ruhiger Satzspiegel
   ========================================================================== */

/* Kopfbereiche etwas großzügiger */
.portal-tip-evaluation > .portal-tip-area__head{
  padding:24px 26px 21px;
}
.portal-tip-evaluation > .portal-tip-area__head h2{
  margin-bottom:7px;
}
.portal-tip-evaluation > .portal-tip-area__head p{
  max-width:700px;
  font-size:13px;
  line-height:1.55;
}

/* Alle direkten Auswertungsinhalte bekommen denselben Innenrand */
.portal-tip-evaluation > .portal-tip-kpis,
.portal-tip-evaluation > .portal-tip-tablewrap,
.portal-tip-evaluation > .portal-tip-dayselect,
.portal-tip-evaluation > .portal-tip-daytitle,
.portal-tip-evaluation > .portal-tip-hof-grid,
.portal-tip-evaluation > .portal-tip-season-days,
.portal-tip-evaluation > .portal-tip-empty{
  margin-left:24px;
  margin-right:24px;
}

.portal-tip-evaluation > .portal-tip-kpis:first-of-type,
.portal-tip-evaluation > .portal-tip-dayselect:first-of-type,
.portal-tip-evaluation > .portal-tip-hof-grid:first-of-type{
  margin-top:22px;
}
.portal-tip-evaluation > .portal-tip-kpis{
  margin-top:22px;
  margin-bottom:18px;
}
.portal-tip-evaluation > .portal-tip-tablewrap{
  margin-bottom:24px;
}
.portal-tip-evaluation > .portal-tip-dayselect{
  margin-top:22px;
  margin-bottom:18px;
  padding:15px 17px;
}
.portal-tip-evaluation > .portal-tip-daytitle{
  margin-top:2px;
  margin-bottom:14px;
}
.portal-tip-evaluation > .portal-tip-hof-grid{
  margin-top:22px;
  margin-bottom:24px;
}
.portal-tip-evaluation > .portal-tip-season-days{
  margin-bottom:24px;
}

/* KPI-Karten */
.portal-tip-kpis{
  gap:13px;
}
.portal-tip-kpis>div{
  min-height:70px;
  padding:16px 18px;
}
.portal-tip-kpis span{
  font-size:10.5px;
  line-height:1.25;
}
.portal-tip-kpis strong{
  margin-top:5px;
  font-size:24px;
}

/* Ranglisten / Tageswertungen */
.portal-tip-tablewrap{
  border-radius:12px;
}
.portal-tip-ranking-table th{
  padding:12px 18px;
  font-size:9.5px;
}
.portal-tip-ranking-table td{
  padding:14px 18px;
  font-size:12.5px;
  line-height:1.35;
}
.portal-tip-ranking-table .portal-tip-rank{
  width:64px;
}
.portal-tip-ranking-table .portal-tip-points{
  font-size:15.5px;
}

/* Auswahl der Tageswertung */
.portal-tip-dayselect{
  gap:14px;
}
.portal-tip-dayselect label{
  font-size:10.5px;
}
.portal-tip-dayselect select{
  min-height:40px;
  padding-left:13px;
  padding-right:38px;
}
.portal-tip-daytitle strong{
  font-size:19px;
}

/* Hall of Fame */
.portal-tip-hof-grid{
  gap:16px;
}
.portal-tip-hof-card>header{
  padding:19px 20px 17px;
}
.portal-tip-hof-card>header h3{
  margin-top:4px;
  margin-bottom:7px;
}
.portal-tip-hof-card>header p{
  font-size:11.5px;
  line-height:1.5;
}
.portal-tip-hof-list li{
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:10px;
  min-height:48px;
  padding:13px 18px;
}
.portal-tip-hof-list strong,
.portal-tip-hof-list b{
  font-size:12.5px;
}
.portal-tip-hof-list--performance small{
  margin-top:3px;
  font-size:9.5px;
}

/* Saison */
.portal-tip-season-days a{
  gap:16px;
  min-height:52px;
  padding:14px 18px;
}
.portal-tip-season-days a div strong{
  font-size:13.5px;
}
.portal-tip-season-days a div span{
  margin-top:3px;
  font-size:10.5px;
}

/* Regeln / Platzhalter ebenfalls mit dem gleichen ruhigen Rand */
.portal-tip-evaluation > .portal-tip-area__placeholder{
  padding:28px 26px 30px;
}
.portal-tip-evaluation > .portal-tip-area__placeholder strong{
  font-size:14px;
}
.portal-tip-evaluation > .portal-tip-area__placeholder span{
  line-height:1.55;
}

@media(max-width:760px){
  .portal-tip-evaluation > .portal-tip-area__head{
    padding:20px 18px 18px;
  }

  .portal-tip-evaluation > .portal-tip-kpis,
  .portal-tip-evaluation > .portal-tip-tablewrap,
  .portal-tip-evaluation > .portal-tip-dayselect,
  .portal-tip-evaluation > .portal-tip-daytitle,
  .portal-tip-evaluation > .portal-tip-hof-grid,
  .portal-tip-evaluation > .portal-tip-season-days,
  .portal-tip-evaluation > .portal-tip-empty{
    margin-left:14px;
    margin-right:14px;
  }

  .portal-tip-ranking-table th{
    padding:10px 13px;
  }
  .portal-tip-ranking-table td{
    padding:12px 13px;
  }

  .portal-tip-evaluation > .portal-tip-area__placeholder{
    padding:22px 18px 24px;
  }
}

/* ==========================================================================
   V173 – Premium-Kopf + Icon-Tabs im Tippspiel
   ========================================================================== */
.portal-tip-hero--racing{
  position:relative;
  isolation:isolate;
  min-height:190px;
  overflow:hidden;
  display:flex;
  align-items:center;
  padding:30px 34px;
  border:1px solid #d8e1dc;
  border-radius:15px;
  background-image:url('../img/tippspiel/tippspiel-hero.jpg');
  background-size:cover;
  background-position:center right;
  box-shadow:0 10px 28px rgba(23,58,44,.06);
}
.portal-tip-hero--racing::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,
    rgba(255,252,245,.99) 0%,
    rgba(255,252,245,.97) 31%,
    rgba(255,252,245,.82) 47%,
    rgba(255,252,245,.30) 63%,
    rgba(255,252,245,.03) 100%);
}
.portal-tip-hero__copy{
  width:min(58%,620px);
}
.portal-tip-hero--racing .portal-kicker{
  margin-bottom:7px;
  color:#b57b17;
  font-weight:900;
  letter-spacing:.045em;
}
.portal-tip-hero--racing h1{
  margin:0 0 10px;
  color:#123f31;
  font-size:34px;
  line-height:1.08;
  letter-spacing:-.025em;
}
.portal-tip-hero--racing .portal-tip-hero__copy>p:last-child{
  max-width:540px;
  margin:0;
  color:#4e625a;
  font-size:14px;
  line-height:1.55;
}

.portal-tip-tabs--premium{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
  padding:0;
  border:0;
  background:transparent;
}
.portal-tip-tabs--premium .portal-tip-tab{
  appearance:none;
  display:grid;
  grid-template-columns:45px minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-height:76px;
  width:100%;
  padding:12px 17px;
  border:1px solid #d8e1dc;
  border-radius:12px;
  background:linear-gradient(180deg,#fff,#fafcfb);
  color:#315047;
  text-align:left;
  text-decoration:none;
  font:inherit;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(22,62,46,.035);
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease;
}
.portal-tip-tabs--premium .portal-tip-tab:hover{
  transform:translateY(-1px);
  border-color:#b8cec2;
  background:#fff;
  box-shadow:0 8px 18px rgba(22,62,46,.065);
}
.portal-tip-tabs--premium .portal-tip-tab.is-active{
  border-color:#c8aa62;
  background:linear-gradient(135deg,#fdfbf5,#f6faf7);
  box-shadow:inset 0 -3px 0 #c98b1d,0 7px 18px rgba(22,62,46,.055);
}
.portal-tip-tab__icon{
  display:inline-flex;
  width:43px;
  height:43px;
  align-items:center;
  justify-content:center;
  border:1px solid #e2d4aa;
  border-radius:11px;
  background:linear-gradient(145deg,#fffaf0,#f4ead0);
  color:#b87c11;
}
.portal-tip-tab__icon svg{
  display:block;
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.portal-tip-tab__copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:4px;
}
.portal-tip-tab__copy strong{
  color:#174e3a;
  font-size:14px;
  line-height:1.1;
  font-weight:900;
}
.portal-tip-tab__copy small{
  overflow:hidden;
  color:#718078;
  font-size:10.5px;
  line-height:1.25;
  font-weight:650;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.portal-tip-tab--join .portal-tip-tab__icon{
  background:linear-gradient(145deg,#f2f8f4,#e4f1e9);
  border-color:#bed6c8;
  color:#155c43;
}

@media(max-width:900px){
  .portal-tip-hero--racing{
    min-height:170px;
    padding:25px 24px;
    background-position:63% center;
  }
  .portal-tip-hero__copy{width:70%}
  .portal-tip-tabs--premium{grid-template-columns:1fr}
}

@media(max-width:620px){
  .portal-tip-hero--racing{
    min-height:160px;
    padding:21px 18px;
    background-position:68% center;
  }
  .portal-tip-hero--racing::before{
    background:linear-gradient(90deg,rgba(255,252,245,.99),rgba(255,252,245,.92) 58%,rgba(255,252,245,.42));
  }
  .portal-tip-hero__copy{width:88%}
  .portal-tip-hero--racing h1{font-size:28px}
  .portal-tip-tabs--premium .portal-tip-tab{min-height:68px}
}

/* ==========================================================================
   V174 – Ranglisten-Paging & Saisonfilter
   ========================================================================== */
.portal-tip-more{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 18px;
  border-top:1px solid #dce5e0;
  background:#fafcfb;
}
.portal-tip-more span{
  color:#6c7872;
  font-size:11px;
}
.portal-tip-more span b{
  color:#174e3a;
}
.portal-tip-more button{
  min-height:36px;
  padding:8px 16px;
  border:1px solid #b8d1c4;
  border-radius:9px;
  background:#fff;
  color:#155c43;
  font:inherit;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.portal-tip-more button:hover{
  border-color:#8fb9a4;
  background:#edf6f1;
}
.portal-tip-more--season{
  margin:0 24px 24px;
  border:1px solid #dce5e0;
  border-top:0;
  border-radius:0 0 11px 11px;
}

.portal-tip-season-filter{
  display:flex;
  gap:12px;
  margin:22px 24px 0;
  padding:15px 17px;
  border:1px solid #d8e2dc;
  border-radius:11px;
  background:#f8fbf9;
}
.portal-tip-season-filter label{
  display:flex;
  min-width:180px;
  flex-direction:column;
  gap:6px;
}
.portal-tip-season-filter label span{
  color:#65736c;
  font-size:9.5px;
  font-weight:900;
  text-transform:uppercase;
}
.portal-tip-season-filter select{
  min-height:40px;
  padding:0 38px 0 12px;
  border:1px solid #cbdad2;
  border-radius:8px;
  background:#fff;
  color:#174e3a;
  font:inherit;
  font-size:12px;
  font-weight:850;
}
.portal-tip-season-caption{
  margin:0 24px 10px;
  color:#8f651f;
  font-size:11px;
  font-weight:900;
}

@media(max-width:760px){
  .portal-tip-season-filter{
    flex-direction:column;
    margin-left:14px;
    margin-right:14px;
  }
  .portal-tip-season-filter label{
    min-width:0;
  }
  .portal-tip-more--season{
    margin-left:14px;
    margin-right:14px;
  }
}

/* ==========================================================================
   V175 – Tippspiel-Regeln
   ========================================================================== */
.portal-tip-rules{
  padding:24px;
}
.portal-tip-rules__intro{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px 22px;
  border:1px solid #d9e4de;
  border-radius:13px;
  background:linear-gradient(135deg,#f5faf7,#fffaf0);
}
.portal-tip-rules__eyebrow{
  display:block;
  margin-bottom:5px;
  color:#b57b16;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.portal-tip-rules__intro h3{
  margin:0 0 7px;
  color:#174e3a;
  font-size:20px;
  line-height:1.25;
}
.portal-tip-rules__intro p{
  max-width:760px;
  margin:0;
  color:#64726b;
  font-size:12.5px;
  line-height:1.6;
}

.portal-tip-rules__points{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}
.portal-tip-rules__points>div{
  display:flex;
  min-height:92px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:12px;
  border:1px solid #d9e4de;
  border-radius:11px;
  background:#fff;
  text-align:center;
}
.portal-tip-rules__points span{
  color:#68756f;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
}
.portal-tip-rules__points strong{
  margin:3px 0 0;
  color:#155c43;
  font-size:27px;
  line-height:1;
}
.portal-tip-rules__points small{
  margin-top:4px;
  color:#7b8680;
  font-size:9px;
}
.portal-tip-rules__points .is-bonus{
  border-color:#e6cf9f;
  background:#fff9ec;
}
.portal-tip-rules__points .is-bonus strong{
  color:#aa7214;
}

.portal-tip-rules__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.portal-tip-rules__grid article{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:flex-start;
  padding:17px 18px;
  border:1px solid #dce5e0;
  border-radius:11px;
  background:#fff;
}
.portal-tip-rules__number{
  display:inline-flex;
  width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:#edf5f1;
  color:#176247;
  font-size:11px;
  font-weight:900;
}
.portal-tip-rules__grid h3{
  margin:1px 0 6px;
  color:#174e3a;
  font-size:14px;
}
.portal-tip-rules__grid p{
  margin:0;
  color:#65736c;
  font-size:11.5px;
  line-height:1.55;
}

.portal-tip-rules__note{
  margin-top:16px;
  padding:15px 18px;
  border-left:4px solid #c78b23;
  border-radius:8px;
  background:#faf7ef;
}
.portal-tip-rules__note strong{
  display:block;
  margin-bottom:4px;
  color:#174e3a;
  font-size:12px;
}
.portal-tip-rules__note p{
  margin:0;
  color:#66736d;
  font-size:11px;
  line-height:1.5;
}

@media(max-width:760px){
  .portal-tip-rules{
    padding:16px 14px 20px;
  }
  .portal-tip-rules__points{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .portal-tip-rules__points .is-bonus{
    grid-column:1/-1;
  }
  .portal-tip-rules__grid{
    grid-template-columns:1fr;
  }
}

/* ==========================================================================
   V176 – Edle SVG-Icons in der rechten Tippspiel-Navigation
   ========================================================================== */
.portal-tip-side__nav a{
  display:flex;
  align-items:center;
  gap:9px;
}

.portal-tip-side__icon{
  display:inline-flex;
  width:23px;
  height:23px;
  flex:0 0 23px;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  background:#fbf5e8;
  color:#b47a18;
  transition:background .15s ease,color .15s ease,transform .15s ease;
}

.portal-tip-side__icon svg{
  display:block;
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.portal-tip-side__nav a:hover .portal-tip-side__icon{
  background:#f6ecd5;
  transform:translateX(1px);
}

.portal-tip-side__nav a.is-active .portal-tip-side__icon{
  background:#dfeee6;
  color:#176247;
}

.portal-tip-side__nav a>span:last-child{
  min-width:0;
}



/* ==========================================================================
   V190 – persönlicher Tagesrang + laufender Zwischenstand
   ========================================================================== */

.portal-tip-liveboard{
  margin:14px 0 18px;
  overflow:hidden;
  border:1px solid #d8e2dc;
  border-radius:13px;
  background:#fff;
  box-shadow:0 7px 20px rgba(20,58,44,.035);
}
.portal-tip-liveboard__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px 14px;
  border-bottom:1px solid #e2e8e4;
  background:linear-gradient(135deg,#fffdf8,#f7faf8);
}
.portal-tip-liveboard__head h2{
  margin:3px 0 4px;
  color:#174e3a;
  font-size:17px;
}
.portal-tip-liveboard__head p{
  margin:0;
  color:#6f7b75;
  font-size:10px;
}
.portal-tip-liveboard__head>a{
  color:#176247;
  font-size:10.5px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.portal-tip-liveboard__podium{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0;
  padding:0;
  list-style:none;
}
.portal-tip-liveboard__podium li{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  min-width:0;
  padding:15px 16px;
  border-right:1px solid #e4e9e6;
}
.portal-tip-liveboard__podium li:last-child{
  border-right:0;
}
.portal-tip-liveboard__podium li.is-me{
  background:#edf6f1;
}
.portal-tip-liveboard__rank{
  display:flex;
  width:30px;
  height:30px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#fbf2dd;
  color:#a66e12;
  font-size:12px;
  font-weight:950;
}
.portal-tip-liveboard__podium strong{
  min-width:0;
  overflow:hidden;
  color:#23483a;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.portal-tip-liveboard__podium strong em{
  display:inline-block;
  margin-left:5px;
  padding:2px 5px;
  border-radius:999px;
  background:#dfeee6;
  color:#176247;
  font-size:8px;
  font-style:normal;
  text-transform:uppercase;
}
.portal-tip-liveboard__podium b{
  color:#174e3a;
  font-size:13px;
  white-space:nowrap;
}
.portal-tip-liveboard__mine{
  display:flex;
  align-items:baseline;
  gap:12px;
  padding:11px 16px;
  border-top:1px solid #e1e8e4;
  background:#f8fbf9;
}
.portal-tip-liveboard__mine>span{
  color:#6d7973;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}
.portal-tip-liveboard__mine>strong{
  color:#155c43;
  font-size:22px;
}
.portal-tip-liveboard__mine>b{
  color:#2c4c40;
  font-size:11.5px;
}
.portal-tip-liveboard__mine>small{
  margin-left:auto;
  color:#76827c;
  font-size:9.5px;
}

.portal-tip-myday{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin:0 24px 14px;
  padding:12px 15px;
  border:1px solid #c7ddd2;
  border-radius:10px;
  background:linear-gradient(135deg,#edf7f1,#fbfdfc);
}
.portal-tip-myday>span{
  color:#66756d;
  font-size:9.5px;
  font-weight:900;
  text-transform:uppercase;
}
.portal-tip-myday>strong{
  color:#155c43;
  font-size:24px;
  line-height:1;
}
.portal-tip-myday>b{
  color:#294b3d;
  font-size:12px;
}
.portal-tip-myday>small{
  margin-left:auto;
  color:#6d7973;
  font-size:9.5px;
}

@media(max-width:760px){
  .portal-tip-liveboard__head{
    flex-direction:column;
  }
  .portal-tip-liveboard__podium{
    grid-template-columns:1fr;
  }
  .portal-tip-liveboard__podium li{
    border-right:0;
    border-bottom:1px solid #e4e9e6;
  }
  .portal-tip-liveboard__podium li:last-child{
    border-bottom:0;
  }
  .portal-tip-liveboard__mine,
  .portal-tip-myday{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .portal-tip-liveboard__mine>small,
  .portal-tip-myday>small{
    width:100%;
    margin-left:0;
  }
}


/* ==========================================================================
   V191 – persönlicher Rang in Rangliste und Saison
   ========================================================================== */
.portal-tip-myseason{
  margin-top:14px;
  margin-bottom:16px;
}
