:root{--bg:#07111f;--bg2:#0b1727;--panel:#101d2c;--panel2:#132235;--border:rgba(255,255,255,.08);--text:#f3f7fb;--muted:#8c9aab;--green:#1fd47b;--green2:#16b86a;--red:#e95a61;--blue:#4b93ff;--sidebar:212px;--header:70px;--radius:10px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 70% -10%,#19324c 0,#07111f 38%,#050c15 100%);color:var(--text)}body{font-size:14px}.ofm-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}.ofm-sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,#0a1626 0%,#08121f 70%,#06101b 100%);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.brand-block{text-align:center;padding:18px 10px 14px}.brand-crest{height:68px;width:100%;display:flex;align-items:center;justify-content:center}.brand-crest img{max-height:68px;max-width:100px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 8px 12px #0008)}.brand-name{font-size:17px;font-weight:800;margin-top:4px}.brand-season{font-size:12px;color:#9ba7b6;margin-top:4px}.sidebar-nav{padding:6px 9px;display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#31445a transparent}.nav-item{height:42px;display:flex;align-items:center;gap:14px;padding:0 12px;color:#b7c2cf;text-decoration:none;border-radius:8px;font-size:14px;transition:.18s}.nav-item:hover{background:#ffffff08;color:#fff}.nav-item.active{background:linear-gradient(90deg,#20c977,#18b86a);color:#fff;box-shadow:0 8px 20px #12a8642c}.nav-icon{width:20px;text-align:center;font-size:19px;opacity:.95}.nav-badge-item{position:relative}.nav-badge-item b{margin-left:auto;background:#e3484f;color:#fff;border-radius:20px;font-size:10px;padding:2px 6px}.sidebar-stadium{margin-top:auto;height:120px;position:relative;overflow:hidden;background:linear-gradient(180deg,transparent,#050b12)}.stadium-field{position:absolute;left:18px;right:18px;bottom:-38px;height:120px;border-radius:50%;background:radial-gradient(ellipse,#168a4d 0,#07542f 45%,#031f13 75%);transform:perspective(160px) rotateX(48deg);box-shadow:0 -15px 45px #21d87b33}.stadium-field:after{content:"";position:absolute;inset:20px;border:1px solid #ffffff42;border-radius:50%}.stadium-lights{position:absolute;top:16px;left:0;right:0;height:10px;background:linear-gradient(90deg,transparent,#fff9,transparent);filter:blur(5px)}.sidebar-collapse{position:absolute;right:-1px;bottom:10px;width:28px;height:28px;border:1px solid var(--border);background:#102033;color:#fff;border-radius:7px;cursor:pointer}.ofm-main{grid-column:2;min-width:0;display:flex;flex-direction:column;min-height:100vh}.ofm-header{position:sticky;top:0;z-index:20;height:var(--header);display:flex;align-items:center;gap:18px;padding:0 18px;background:#08121fe8;border-bottom:1px solid var(--border);backdrop-filter:blur(18px)}.search-box{width:365px;height:42px;background:#152337;border:1px solid var(--border);border-radius:9px;display:flex;align-items:center;padding:0 12px;color:#8391a2}.search-box span{font-size:25px;margin-right:8px}.search-box input{width:100%;border:0;outline:0;background:transparent;color:#eaf0f7;font-size:13px}.search-box input::placeholder{color:#7e8c9d}.header-actions{margin-left:auto;display:flex;align-items:center;gap:13px}.header-icon{position:relative;background:none;border:0;color:#d5dee8;font-size:21px;cursor:pointer}.header-icon em{position:absolute;right:-7px;top:-7px;font-size:9px;font-style:normal;background:#df4b55;color:#fff;border-radius:20px;min-width:16px;height:16px;display:grid;place-items:center}.header-money{height:38px;padding:0 12px;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;gap:7px;background:#0e1b2a}.header-money span{color:var(--green)}.profile-menu{display:flex;align-items:center;gap:9px;padding-left:4px;min-width:150px}.profile-menu .avatar,.player-avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#e0c0a0,#7b4f38);color:#fff;font-weight:800;font-size:11px;box-shadow:0 3px 10px #0005}.profile-menu strong{display:block;font-size:13px}.profile-menu small{display:block;color:#8f9cad;font-size:11px;margin-top:1px}.profile-menu>span{margin-left:auto;color:#9aa8b7}.mobile-menu{display:none}.ofm-content{padding:0 15px 24px;max-width:1400px;width:100%;margin:0 auto}.ofm-footer{padding:16px 20px 22px;color:#718092;display:flex;justify-content:space-between;gap:20px;font-size:11px}.ofm-footer a{color:#8a98a9;text-decoration:none;margin-left:18px}.dashboard-hero{margin-top:4px;min-height:212px;position:relative;border:1px solid var(--border);border-radius:11px;overflow:hidden;background:#0d1a28;display:flex;align-items:center;padding:30px 24px}.hero-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,#09131f 0%,#09131fbc 35%,#0b172777 65%,#0a1724aa),radial-gradient(ellipse at 70% 50%,#21764c 0,#0d2d20 30%,#0b1725 55%,#09131f 100%)}.hero-backdrop:after{content:"";position:absolute;left:28%;right:4%;bottom:-45px;height:160px;background:repeating-linear-gradient(90deg,#ffffff10 0 2px,transparent 2px 60px),linear-gradient(180deg,#1b8c50,#07512f);transform:perspective(180px) rotateX(54deg);box-shadow:0 -20px 55px #20d47b22}.hero-copy,.hero-club,.hero-stats{position:relative;z-index:1}.hero-copy{max-width:500px}.eyebrow{font-size:19px;font-weight:700}.hero-copy h1{font-size:38px;line-height:1;margin:2px 0 14px;letter-spacing:-1.2px}.hero-copy p{font-size:15px;line-height:1.5;font-style:italic;color:#d3dae3;max-width:390px;margin:0}.hero-club{position:absolute;right:25px;top:35px;display:flex;gap:12px;align-items:center}.hero-club img{width:47px;height:47px}.hero-club strong{display:block;font-size:17px}.hero-club span{display:block;color:#c0cbd7;font-size:12px;margin-top:4px}.hero-stats{position:absolute;right:25px;bottom:15px;display:flex;gap:8px}.hero-stats>div{min-width:132px;padding:10px 14px;background:#0b1726d9;border:1px solid #ffffff18;border-radius:8px;text-align:center}.hero-stats b{display:block;font-size:20px}.hero-stats span{color:#aab5c2;font-size:11px}.dashboard-grid{display:grid;gap:10px;margin-top:10px}.top-grid{grid-template-columns:1.6fr .85fr .95fr}.mid-grid{grid-template-columns:1.05fr .9fr 1fr}.bottom-grid{grid-template-columns:1fr 1.35fr 1fr}.panel{background:linear-gradient(180deg,#111f2e,#0e1a28);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 7px 24px #00000018}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 15px 10px}.panel-head h2{font-size:16px;margin:0;font-weight:800}.panel-head h2 em{font-style:normal;background:#df4b55;color:#fff;border-radius:50%;font-size:10px;padding:3px 6px;margin-left:5px;vertical-align:2px}.panel-head>span,.panel-head>a{font-size:11px;color:#8795a6;text-decoration:none}.panel-head a{color:#28d27f}.next-match{min-height:260px}.match-date{text-align:center;color:#aab5c2;font-size:11px;padding-top:4px}.match-date strong{display:block;font-size:22px;color:#fff;margin-top:1px}.match-date strong.live-match-status{display:inline-block;font-size:12px;color:#ff646b;margin-top:4px}.versus b.live-match-score{font-size:25px;color:#fff;letter-spacing:1px}.matchup{display:grid;grid-template-columns:1fr 100px 1fr;align-items:center;text-align:center;padding:4px 18px 7px}.club-side img{width:55px;height:55px;display:block;margin:0 auto 5px}.club-side strong{display:block;font-size:14px}.club-side small{color:#8997a8;font-size:11px}.versus{display:flex;flex-direction:column;align-items:center;gap:17px}.versus span{color:#8291a1;font-size:10px}.versus b{font-size:17px;color:#8996a5}.opponent-crest{width:55px;height:55px;margin:0 auto 5px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#e8464d,#731c2a);font-weight:900;font-size:15px}.primary-btn{display:block;width:max-content;margin:2px auto 14px;background:#1fc876;color:#fff;text-decoration:none;font-weight:700;font-size:12px;padding:11px 23px;border-radius:6px}.form-panel{min-height:260px}.form-pills{display:flex;gap:7px;padding:3px 15px 0}.form-pills b{width:40px;height:30px;border-radius:5px;background:#19a963;color:#fff;display:grid;place-items:center;font-size:11px}.form-pills b:nth-child(3){background:#d19c3e}.form-pills b.loss{background:#b63f48}.mini-chart{height:112px;padding:12px 14px 0}.mini-chart svg{width:100%;height:100%}.chart-fill{fill:url(#fill)}.chart-line{fill:none;stroke:#24d17a;stroke-width:3}.mini-chart circle{fill:#1fd47b;stroke:#102131;stroke-width:2}.form-summary{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;padding:2px 15px 13px}.form-summary b{display:block;font-size:19px}.form-summary span{color:#8491a0;font-size:10px}.upcoming-panel{min-height:260px}.fixture{display:grid;grid-template-columns:48px 24px 1fr 48px;gap:6px;align-items:center;padding:7px 14px;border-top:1px solid #ffffff06}.fixture-time b,.fixture-time span{display:block;font-size:10px}.fixture-time span{color:#8a97a6}.fixture-mode{font-size:12px}.fixture-teams span{display:block;font-size:11px;line-height:1.5}.fixture small{font-size:9px;color:#718093;text-align:right}.tasks-panel,.players-panel,.table-panel{min-height:282px}.task{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;padding:10px 14px;border-top:1px solid #ffffff06}.task:hover{background:#ffffff04}.task-icon{width:35px;height:35px;border-radius:7px;background:#1a2939;display:grid;place-items:center;color:#d8e0e9;font-size:17px}.task span:nth-child(2){min-width:0}.task strong,.task small{display:block}.task strong{font-size:12px}.task small{font-size:10px;color:#7f8d9d;margin-top:3px}.task>b{margin-left:auto;color:#8391a0;font-size:20px}.player-row{display:grid;grid-template-columns:20px 38px minmax(0,1fr) 42px 38px 50px;gap:8px;align-items:center;padding:8px 12px;border-top:1px solid #ffffff06}.player-number{font-size:10px;color:#7e8c9c;text-align:center}.player-info strong,.player-info small{display:block}.player-info strong{font-size:11px}.player-info small{color:#7d8a9a;font-size:9px;margin-top:2px}.player-avatar{width:34px;height:34px;font-size:9px}.rating{font-size:13px;color:#9ef2c5;border:2px solid #22cf78;border-radius:50%;width:33px;height:33px;display:grid;place-items:center}.player-stat{text-align:center}.player-stat b{display:block;font-size:12px}.player-stat span{font-size:8px;color:#7d8a9a}.table-row{display:grid;grid-template-columns:24px minmax(0,1fr) 32px 45px 28px;align-items:center;gap:7px;padding:8px 12px;border-top:1px solid #ffffff06;font-size:10px}.table-row.current{background:linear-gradient(90deg,#109b5b,#16b86a);box-shadow:0 5px 18px #13b76a28}.table-row>span:nth-child(2){display:flex;align-items:center;gap:7px}.tiny-crest{width:20px;height:20px;border-radius:50%;background:#16283a;display:grid;place-items:center;font-size:7px;font-weight:800}.finance-cost-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}.finance-cost-cards .finance-card{min-width:0;min-height:165px}.finance-cost-main{padding:4px 15px 0}.finance-cost-main strong{display:block;font-size:21px;letter-spacing:-.3px;color:var(--red)}.finance-cost-main span,.finance-cost-meta{color:#7f8d9d;font-size:10px}.finance-cost-meta{display:flex;flex-direction:column;gap:5px;padding:14px 15px}.finance-total-card{margin-top:10px}.finance-total-value{padding:3px 15px 15px}.finance-total-value strong{display:block;font-size:22px;color:var(--red)}.finance-total-value span{display:block;color:#7f8d9d;font-size:10px;margin-top:3px}@media(max-width:1100px){.finance-cost-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.finance-cost-cards{grid-template-columns:1fr}}
.finance-card,.stadium-card,.transfer-card{min-height:145px}.finance-main{padding:2px 15px}.finance-main strong{display:block;font-size:25px;letter-spacing:-.5px}.finance-main span,.finance-meta span{color:#7f8d9d;font-size:10px}.finance-meta{display:flex;gap:30px;padding:12px 15px}.finance-meta b{display:block;color:#2bd47f;font-size:12px}.finance-meta div+div b{color:#e4eaf1}.stadium-visual{margin:0 14px 13px;height:86px;border-radius:7px;overflow:hidden;position:relative;background:#0b1b24}.stadium-photo{position:absolute;inset:0;background:linear-gradient(180deg,#16293a99,#0b1724d9),radial-gradient(ellipse at 50% 95%,#218a50 0 25%,#0b3927 26% 48%,transparent 49%),linear-gradient(155deg,#233b4d,#091521)}.stadium-metrics{position:absolute;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(3,1fr);background:#08131ee0;padding:7px}.stadium-metrics div{text-align:center;border-right:1px solid #ffffff0e}.stadium-metrics div:last-child{border:0}.stadium-metrics b,.stadium-metrics span{display:block}.stadium-metrics b{font-size:14px}.stadium-metrics span{font-size:8px;color:#8996a6}.transfer-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:2px 14px 8px}.transfer-stats div{text-align:center}.transfer-stats b{display:block;font-size:17px}.transfer-stats span{font-size:8px;color:#8290a0}.green{color:#22d17a}.red{color:#ed5a60}.blue{color:#69a6ff}.transfer-feature{display:flex;align-items:center;gap:9px;border-top:1px solid #ffffff06;padding:9px 14px}.transfer-feature small,.transfer-feature strong,.transfer-feature span{display:block}.transfer-feature small,.transfer-feature span{color:#7d8b9b;font-size:8px}.transfer-feature strong{font-size:11px;margin:2px 0}.market-value{margin-left:auto;text-align:right}.market-value strong{font-size:12px}.ofm-sidebar.collapsed{width:68px}.ofm-sidebar.collapsed .brand-name,.ofm-sidebar.collapsed .brand-season,.ofm-sidebar.collapsed .nav-item span:not(.nav-icon),.ofm-sidebar.collapsed .nav-badge-item b{display:none}.ofm-sidebar.collapsed .nav-item{justify-content:center;padding:0}.ofm-sidebar.collapsed .sidebar-stadium{display:none}.ofm-shell.sidebar-collapsed{grid-template-columns:68px minmax(0,1fr)}.sidebar-collapse{transition:.2s}.ofm-sidebar.collapsed .sidebar-collapse{transform:rotate(180deg)}@media(max-width:1200px){.top-grid{grid-template-columns:1.3fr .8fr}.top-grid .upcoming-panel{grid-column:1/-1}.mid-grid{grid-template-columns:1fr 1fr}.mid-grid .table-panel{grid-column:1/-1}.bottom-grid{grid-template-columns:1fr 1fr}.bottom-grid .transfer-card{grid-column:1/-1}}@media(max-width:850px){:root{--sidebar:212px}.ofm-sidebar{transform:translateX(-100%);transition:transform .2s}.ofm-sidebar.open{transform:translateX(0)}.ofm-main{grid-column:1}.mobile-menu{display:block;background:none;border:0;color:#fff;font-size:22px}.search-box{width:min(45vw,330px)}.profile-menu{min-width:auto}.profile-menu>div:not(.avatar),.profile-menu>span,.header-money,.dashboard-hero{min-height:300px}.hero-stats{left:24px;right:auto}.hero-club{top:22px}.top-grid,.mid-grid,.bottom-grid{grid-template-columns:1fr}.top-grid .upcoming-panel,.mid-grid .table-panel,.bottom-grid .transfer-card{grid-column:auto}}@media(max-width:560px){.ofm-content{padding:0 9px 20px}.ofm-header{padding:0 10px;gap:7px}.search-box{width:auto;flex:1}.header-actions{gap:3px}.header-icon{font-size:18px}.hero-copy{margin-top:35px}.hero-copy h1{font-size:32px}.hero-club{right:14px}.hero-club img{width:36px;height:36px}.hero-stats{left:14px;right:14px;bottom:12px;gap:5px}.hero-stats>div{min-width:0;flex:1;padding:8px 4px}.hero-stats b{font-size:15px}.hero-stats span{font-size:9px}.matchup{grid-template-columns:1fr 60px 1fr;padding-left:5px;padding-right:5px}.club-side strong{font-size:12px}.fixture{grid-template-columns:44px 18px 1fr 42px}.player-row{grid-template-columns:16px 34px minmax(0,1fr) 34px 30px 36px}.player-stat span{font-size:7px}.ofm-footer{display:block}.ofm-footer span:last-child{display:block;margin-top:8px}.ofm-footer a{margin-left:0;margin-right:15px}}

.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 50% -10%,#19324c 0,#07111f 42%,#050c15 100%)}.auth-card{width:min(440px,100%);padding:34px;border:1px solid var(--border);border-radius:16px;background:rgba(16,29,44,.96);box-shadow:0 24px 80px rgba(0,0,0,.35)}.auth-brand{text-align:center;margin-bottom:28px}.auth-crest{height:86px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}.auth-crest img{height:82px;max-width:120px}.auth-title{font-size:18px;font-weight:800;letter-spacing:.08em}.auth-subtitle{margin-top:7px;color:var(--muted);font-size:13px}.auth-form{display:grid;gap:17px}.auth-field{display:grid;gap:7px}.auth-field label{font-size:12px;font-weight:700;color:#cbd5e1}.auth-field input{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:9px;background:#0a1626;color:var(--text);outline:none}.auth-field input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(31,212,123,.12)}.auth-submit{border:0;border-radius:9px;padding:13px 16px;background:linear-gradient(135deg,var(--green),var(--green2));color:#06120c;font-weight:800;cursor:pointer}.auth-alert,.auth-notice{margin-bottom:18px;padding:11px 13px;border-radius:8px;font-size:13px}.auth-alert{background:rgba(233,90,97,.12);border:1px solid rgba(233,90,97,.3);color:#ffadb1}.auth-notice{background:rgba(31,212,123,.1);border:1px solid rgba(31,212,123,.25);color:#8ef0b8}.auth-footer{text-align:center;margin-top:24px;color:var(--muted);font-size:11px}.admin-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding:26px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(135deg,#10253a,#0d1a29)}.admin-hero h1{margin:5px 0 8px;font-size:30px}.admin-hero p{margin:0;color:var(--muted)}.admin-badge{padding:9px 13px;border-radius:999px;background:rgba(31,212,123,.12);border:1px solid rgba(31,212,123,.3);color:var(--green);font-size:11px;font-weight:900;letter-spacing:.12em}.admin-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-stat{padding:22px;display:flex;flex-direction:column;gap:5px}.admin-stat span,.admin-stat small{color:var(--muted)}.admin-stat strong{font-size:30px}.admin-welcome{margin-top:20px;padding:22px}.admin-welcome p{color:var(--muted)}@media(max-width:900px){.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.auth-card{padding:25px}.admin-grid{grid-template-columns:1fr}.admin-hero{align-items:flex-start;flex-direction:column}}
.profile-menu{position:relative}.logout-link{margin-left:4px;border:1px solid var(--border);background:#132235;color:var(--text);font-size:11px;font-weight:700;line-height:1;padding:8px 12px;border-radius:7px;cursor:pointer}.logout-link:hover{background:#1a2c40;border-color:#ffffff18}.page-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 20px;padding:24px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(135deg,#10253a,#0d1a29)}.page-hero h1{margin:4px 0 6px;font-size:30px}.page-hero p{margin:0;color:var(--muted)}.page-hero .primary-btn{margin:0}.secondary-btn{display:inline-block;padding:10px 15px;border:1px solid var(--border);border-radius:7px;color:var(--text);text-decoration:none;font-size:12px;font-weight:700}.league-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px}.league-table{display:grid;grid-template-columns:32px minmax(0,1fr) 38px 42px 46px;gap:8px;align-items:center;padding:10px 14px;border-top:1px solid #ffffff08;font-size:11px}.league-table.current{background:linear-gradient(90deg,#109b5b,#16b86a)}.league-table.table-head{border-top:0;color:#738195;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.league-fixture{display:grid;grid-template-columns:150px minmax(0,1fr) 70px;gap:8px;align-items:center;padding:10px 14px;border-top:1px solid #ffffff08;font-size:11px}.schedule-nav{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;padding:0 14px 10px}.schedule-nav-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border);border-radius:7px;background:#0b1725;color:var(--text);text-decoration:none;font-size:22px;line-height:1}.schedule-nav-btn:hover{border-color:#1fc87666;background:#1fc87612}.schedule-nav-btn.disabled{opacity:.28;cursor:default}.schedule-nav-current{text-align:center}.schedule-nav-current strong,.schedule-nav-current small{display:block}.schedule-nav-current strong{font-size:12px}.schedule-nav-current small{margin-top:3px;color:#748294;font-size:9px}.league-fixture>span{color:#8c99a8}.league-fixture-head{color:#738195;font-size:9px;text-transform:uppercase;letter-spacing:.08em;border-top:0;padding-top:6px;padding-bottom:6px}.league-fixture-head>span{color:#738195}.league-fixture-head>span:last-child{text-align:right}
.league-fixture.own-fixture{background:linear-gradient(90deg,#0f9f5d,#147e50);box-shadow:inset 3px 0 0 #32e58e}
.league-fixture.own-fixture:hover{background:linear-gradient(90deg,#12aa63,#178857)}
.competition-badge{grid-column:1 / -1;justify-self:start;margin-top:3px;padding:3px 7px;border-radius:999px;font-size:8px;font-weight:800;letter-spacing:.08em}
.competition-badge.cup{background:#5b4318;color:#ffd66b;border:1px solid #c99b3c55}
.competition-badge.league{background:#173b58;color:#8fc7ff;border:1px solid #4b93ff44}
.cup-fixture{grid-template-columns:90px minmax(0,1fr) 18px minmax(0,1fr) auto}
.cup-fixture>span{color:#d4dde7}.league-fixture small{display:block;color:#657385;font-size:8px;margin-top:2px}.empty-state{padding:30px;text-align:center}.empty-state h2{margin-top:0}.empty-state p{color:var(--muted);margin-bottom:0}.empty-state.compact{padding:24px}.league-level{border-top:1px solid #ffffff08}.league-level:first-of-type{border-top:0}.league-level-title{display:flex;justify-content:space-between;padding:13px 15px;background:#0b1827;color:#cdd7e2}.league-level-title span{font-size:10px;color:#778699}.league-admin-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 15px;border-top:1px solid #ffffff08;text-decoration:none;color:var(--text)}.league-admin-row:hover{background:#ffffff05}.league-admin-row strong,.league-admin-row small{display:block}.league-admin-row small{margin-top:4px;color:#778699;font-size:9px}.league-admin-row>b{font-size:12px;color:var(--green)}@media(max-width:900px){.league-grid{grid-template-columns:1fr}.page-hero{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.league-table{grid-template-columns:25px minmax(0,1fr) 30px 34px 38px;padding:9px 10px}.league-fixture{grid-template-columns:92px minmax(0,1fr) 50px;padding:9px 10px;font-size:10px}.league-fixture strong{overflow-wrap:anywhere}.league-fixture>b{text-align:right}}
.match-fixture-link{color:var(--text);text-decoration:none}.match-fixture-link:hover{background:#ffffff05}.match-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.lineup-summary{padding:0 14px}.lineup-row{display:grid;grid-template-columns:28px minmax(0,1fr) 38px 45px;gap:8px;align-items:center;padding:8px 0;border-top:1px solid #ffffff08;font-size:11px}.lineup-row>span{color:#7e8d9e}.lineup-row>b{color:#8fdcb2;font-size:10px}.lineup-row small{color:#778697}.lineup-bench{padding:12px 14px;color:#8290a0;font-size:10px;border-top:1px solid #ffffff08}.lineup-bench strong{color:#d7e0e9}.tactic-summary{display:flex;gap:10px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid #ffffff08;color:#8492a1;font-size:10px}.tactic-summary span{background:#0b1725;border:1px solid var(--border);padding:6px 8px;border-radius:6px}.tactic-summary b{color:#dce6ef}.match-result-panel{margin-bottom:18px}.engine-result{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;text-align:center;padding:20px}.engine-result strong{display:block;font-size:42px}.engine-result span{display:block;color:#8b99a8;font-size:11px;margin-top:3px}.engine-vs{font-size:22px;color:#718092}.engine-meta{display:flex;justify-content:center;gap:28px;padding:0 15px 18px;color:#7d8c9d;font-size:10px}.engine-meta b{color:#d9e4ed}.status-pill{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:9px;color:#9eabb9}.status-pill.success{border-color:#1fc87666;color:#42dc91;background:#1fc87612}.match-actions{display:flex;justify-content:center;align-items:center;gap:10px;margin:18px 0}.match-actions .primary-btn,.match-actions .secondary-btn{margin:0}.lineup-tools-panel{margin-top:0}.lineup-template-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:0 15px 15px}.lineup-template-actions small{width:100%;color:#758394;font-size:9px}.lineup-template-actions span{color:#8593a3;font-size:10px}.lineup-template-actions .secondary-btn{margin:0}.match-actions button.secondary-btn{cursor:pointer;font:inherit}.lineup-info{padding:11px 14px;border:1px solid #1fc87630;background:#1fc8760d;border-radius:7px;color:#8fdcb2;font-size:11px;line-height:1.5}.lineup-editor{display:grid;gap:18px}.formation-selector{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:0 15px 15px}.formation-selector label{display:flex;flex-direction:column;gap:3px;padding:10px;border:1px solid var(--border);border-radius:7px;background:#0b1725;cursor:pointer}.formation-selector label:has(input:checked){border-color:#1fc87666;background:#1fc8760c}.formation-selector small{font-size:9px;color:#758394}.lineup-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 15px 15px}.lineup-form-grid label,.tactic-grid label{display:flex;flex-direction:column;gap:5px;color:#8593a3;font-size:10px}.lineup-form-grid select,.tactic-grid select{background:#0b1725;color:#eaf0f7;border:1px solid var(--border);border-radius:6px;padding:9px;font-size:11px}.bench-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 15px 15px}.bench-grid label{display:grid;grid-template-columns:18px 1fr;gap:2px 6px;align-items:center;padding:8px;background:#0b1725;border:1px solid #ffffff08;border-radius:6px;font-size:10px}.bench-grid small{grid-column:2;color:#758394}.tactic-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:0 15px 15px}.admin-match-row{grid-template-columns:55px minmax(0,1fr) 80px minmax(0,1fr) 70px}.admin-match-row .secondary-btn{padding:6px 8px;font-size:9px;text-align:center}.match-actions form{margin:0}.match-actions form .primary-btn{border:0;cursor:pointer}.admin-badge{padding:8px 11px;border:1px solid #ffffff12;background:#0b1726;border-radius:7px;color:#8e9baa;font-size:10px;white-space:nowrap}@media(max-width:1000px){.formation-selector{grid-template-columns:repeat(3,1fr)}.tactic-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.match-detail-grid{grid-template-columns:1fr}.lineup-form-grid{grid-template-columns:1fr}.bench-grid{grid-template-columns:1fr 1fr}.engine-meta{flex-wrap:wrap;gap:10px}.admin-match-row{grid-template-columns:48px minmax(0,1fr) 65px minmax(0,1fr)}}@media(max-width:520px){.formation-selector{grid-template-columns:repeat(2,1fr)}.bench-grid,.tactic-grid{grid-template-columns:1fr}.lineup-row{grid-template-columns:24px minmax(0,1fr) 34px 38px}}
.finance-transactions{width:100%;overflow-x:auto}.finance-transaction{display:grid;grid-template-columns:105px minmax(150px, .8fr) minmax(180px, 1.5fr) 145px;align-items:center;gap:14px;padding:11px 15px;border-top:1px solid #ffffff06;font-size:12px;min-width:620px}.finance-transaction-head{border-top:0;color:#7f8d9d;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.finance-transaction-head b:last-child{text-align:right}.finance-type{display:flex;align-items:center;gap:9px;min-width:0}.finance-type>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-arrow{width:26px;height:26px;flex:0 0 26px;border-radius:7px;display:grid;place-items:center;font-size:14px;font-weight:800;background:#ffffff08}.finance-arrow.income{color:var(--green);background:#1fd47b12}.finance-arrow.expense{color:var(--red);background:#e95a6112}.finance-date,.finance-description{color:#aab5c2}.finance-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-amount{text-align:right;white-space:nowrap;font-size:12px}.finance-meta{flex-wrap:wrap}.finance-meta div{min-width:150px}@media(max-width:700px){.finance-transaction{grid-template-columns:88px minmax(135px,.8fr) minmax(140px,1.2fr) 125px;gap:9px;padding-left:12px;padding-right:12px}.finance-card .finance-meta{gap:14px}.finance-meta div{min-width:130px}}
.training-plan-panel{margin-bottom:18px}.training-plan-name{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:center;padding:0 15px 18px}.training-plan-name label{color:#8593a3;font-size:11px;font-weight:700}.training-plan-name input,.training-select,.training-duration{background:#0b1725;color:#eaf0f7;border:1px solid var(--border);border-radius:6px;padding:9px;font-size:11px}.training-week{overflow-x:auto}.training-week-head,.training-week-row{display:grid;grid-template-columns:1.1fr 1fr .8fr 100px;gap:12px;align-items:center;padding:11px 15px}.training-week-head{color:#748294;font-size:9px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #ffffff08}.training-week-row{border-top:1px solid #ffffff08}.training-week-row.today{background:#1fd47b08}.training-day strong,.training-day small{display:block}.training-day small{margin-top:3px;color:var(--green);font-size:9px}.training-duration{width:100%;min-width:75px}.training-plan-note{display:flex;gap:10px;align-items:center;margin:15px;padding:11px 13px;background:#0b1725;border:1px solid #ffffff08;border-radius:7px;color:#8b99a8;font-size:10px}.training-plan-note strong{color:#dbe5ee}.training-upcoming-row{display:grid;grid-template-columns:1.3fr 1fr .8fr 80px;gap:15px;align-items:center;padding:12px 15px;border-top:1px solid #ffffff08;font-size:11px}.training-upcoming-row strong{color:#eaf0f7}.training-upcoming-row small{display:block;margin-top:3px;color:#758394;font-size:9px}.training-upcoming-row>span{color:#8492a1}.training-upcoming-row .status-pill{justify-self:end}@media(max-width:760px){.training-plan-name{grid-template-columns:1fr}.training-week-head{display:none}.training-week-row{grid-template-columns:1fr 1fr;gap:8px;padding:13px 12px}.training-day{grid-column:1/-1}.training-upcoming-row{grid-template-columns:1fr 1fr}.training-upcoming-row .status-pill{justify-self:start}}@media(max-width:480px){.training-week-row{grid-template-columns:1fr}.training-upcoming-row{grid-template-columns:1fr}}
.page-header{display:flex;justify-content:space-between;align-items:flex-end;padding:20px 4px 8px}.page-header h1{margin:3px 0 6px;font-size:30px}.page-header p{margin:0;color:#8e9cac}.page-header .eyebrow{font-size:11px;color:#27d17c;letter-spacing:.08em}.panel-header{padding:15px;border-bottom:1px solid #ffffff08}.panel-header h2{margin:0;font-size:16px}.panel-header p{margin:4px 0 0;color:#8290a0;font-size:11px}.market-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 15px;border-top:1px solid #ffffff07}.market-row:first-of-type{border-top:0}.market-row strong,.market-row small{display:block}.market-row strong{font-size:12px}.market-row small{margin-top:3px;color:#8190a1;font-size:10px}.inline-form{display:flex;align-items:center;gap:6px}.inline-form input{width:125px;background:#0b1725;color:#eaf0f7;border:1px solid #ffffff12;border-radius:6px;padding:8px;font-size:11px}.inline-form input[type=number]{width:115px}.inline-form input:focus{outline:1px solid #1fd47b}.inline-form input[type=submit],.market-row>form+form input[type=submit],.market-row>button,.market-row form button{width:auto;background:#1dbd70;color:#fff;border:0;border-radius:6px;padding:8px 11px;font-size:11px;font-weight:700;cursor:pointer}.empty-state{padding:18px 15px;color:#718093;font-size:12px}.market-row>form button{background:#1dbd70}.dashboard-grid>.panel:nth-child(3),.dashboard-grid>.panel:nth-child(4){min-height:150px}@media(max-width:800px){.market-row{grid-template-columns:1fr}.inline-form{flex-wrap:wrap}.inline-form input{flex:1;min-width:100px}.market-row>button{width:max-content}}

.cup-calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.cup-calendar-grid>.panel{min-width:0}.cup-calendar-grid .panel-head{min-height:42px}.cup-calendar-grid .admin-table{min-width:0}.cup-calendar-grid .admin-table th,.cup-calendar-grid .admin-table td{padding:8px 10px}.cup-calendar-grid .admin-table input[type=number]{width:82px;background:#0b1725;color:#eaf0f7;border:1px solid var(--border);border-radius:6px;padding:7px;font-size:11px}.cup-season-overview{max-height:690px;overflow-y:auto}@media(max-width:1100px){.cup-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cup-calendar-grid>.panel:last-child{grid-column:1/-1}}@media(max-width:700px){.cup-calendar-grid{grid-template-columns:1fr}.cup-calendar-grid>.panel:last-child{grid-column:auto}}

.infrastructure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.infrastructure-card{min-width:0;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 30px #00000018}
.infrastructure-card-image{position:relative;aspect-ratio:16/9;background:#091523;overflow:hidden}
.infrastructure-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.infrastructure-card:hover .infrastructure-card-image img{transform:scale(1.025)}
.infrastructure-card-image.placeholder{display:grid;place-items:center;color:#617184;font-size:34px;background:radial-gradient(circle,#17314a,#091523 70%)}
.infrastructure-card-image.construction{background:linear-gradient(135deg,#172433,#0b1420)}
.infrastructure-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;height:100%;text-align:center;color:#8a99aa}
.infrastructure-placeholder-icon{font-size:34px;line-height:1;color:#718296}
.infrastructure-placeholder strong{font-size:13px;color:#aab6c4;letter-spacing:.02em}
.infrastructure-placeholder small{font-size:10px;color:#68788a}
.infrastructure-construction-placeholder{position:relative}
.infrastructure-construction-placeholder:after{content:"";position:absolute;left:15%;right:15%;bottom:14%;height:3px;border-radius:99px;background:repeating-linear-gradient(135deg,#59697b 0,#59697b 8px,#2b3948 8px,#2b3948 16px);opacity:.65}

.infrastructure-level-badge{position:absolute;top:10px;right:10px;padding:6px 9px;border-radius:999px;background:#07111fcc;border:1px solid #ffffff18;color:#e9f2f9;font-size:10px;font-weight:800;backdrop-filter:blur(8px)}
.infrastructure-card-body{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px}
.infrastructure-card-body strong,.infrastructure-card-body small{display:block}
infrastructure-card-body strong{font-size:13px}
.infrastructure-card-body small{margin-top:4px;color:#7f8d9d;font-size:10px}
.infrastructure-card-arrow{font-size:24px;color:#728194}
@media(max-width:1050px){.infrastructure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.infrastructure-grid{grid-template-columns:1fr}}

/* Infrastructure upgrade controls */
.infrastructure-upgrade-panel{padding:14px 16px;border-top:1px solid #ffffff0a;background:#ffffff03}
.infrastructure-upgrade-next{display:flex;justify-content:space-between;gap:12px;align-items:center}
.infrastructure-upgrade-next span,.infrastructure-upgrade-status span{font-size:11px;color:#8996a6;text-transform:uppercase;letter-spacing:.04em}
.infrastructure-upgrade-next strong{font-size:13px}
.infrastructure-upgrade-meta{display:flex;gap:16px;margin-top:8px;color:#aab4c0;font-size:12px}
.infrastructure-upgrade-button{width:100%;margin-top:12px;text-align:center;border:0}
.infrastructure-upgrade-status{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid #ffffff0a;color:#aab4c0;font-size:12px}
.infrastructure-upgrade-status strong{font-size:12px;color:inherit}
.infrastructure-upgrade-status.complete{display:block}
.infrastructure-construction-placeholder{gap:6px}
.infrastructure-not-built-placeholder{background:radial-gradient(circle at center,#1a2b3d 0,#091523 72%);color:#748598}.infrastructure-not-built-placeholder .infrastructure-placeholder-icon{font-size:42px;color:#56687b;opacity:.9}.infrastructure-not-built-placeholder strong{color:#a5b1bf}.infrastructure-not-built-placeholder small{color:#657588}
.infrastructure-construction-placeholder small{display:block}

.season-control-panel{margin-top:20px}.season-control-subtitle{display:block;margin-top:4px;color:var(--muted);font-size:11px}.control-status{border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800}.control-status.success{border-color:#1fc87666;color:#42dc91;background:#1fc87612}.control-status.warning{border-color:#d19c3e66;color:#e2b85f;background:#d19c3e12}.control-status.error{border-color:#df4b5566;color:#f07b82;background:#df4b5512}.season-progress{display:flex;gap:12px;align-items:center;padding:0 15px 12px}.season-progress-bar{height:7px;flex:1;background:#0a1420;border-radius:99px;overflow:hidden}.season-progress-bar span{display:block;height:100%;background:var(--green);border-radius:99px}.season-progress small{width:55px;text-align:right;color:#8290a0;font-size:10px}.control-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 15px 15px}.control-check{display:flex;gap:10px;align-items:flex-start;padding:10px 11px;border:1px solid #ffffff08;border-radius:8px;background:#0b1725}.control-check.success{border-color:#1fc87620}.control-check.warning{border-color:#d19c3e25}.control-check.error{border-color:#df4b5525}.control-icon{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;flex:none;background:#1a2939;color:#aebbc8;font-weight:900;font-size:12px}.control-check.success .control-icon{background:#1fc87618;color:#42dc91}.control-check.warning .control-icon{background:#d19c3e18;color:#e2b85f}.control-check.error .control-icon{background:#df4b5518;color:#f07b82}.control-check strong,.control-check small{display:block}.control-check strong{font-size:11px}.control-check small{margin-top:3px;color:#8290a0;font-size:10px;line-height:1.4}.season-boundary-notice{display:flex;flex-direction:column;gap:4px;margin:0 15px 15px;padding:12px 13px;border-radius:8px;border:1px solid #ffffff10;background:#0b1725}.season-boundary-notice.start{border-color:#1fc87635}.season-boundary-notice.end{border-color:#4b93ff35}.season-boundary-notice strong{font-size:11px}.season-boundary-notice span{font-size:10px;color:#8290a0}.control-history-head{border-top:1px solid #ffffff08;margin-top:0;padding-top:13px}.control-history-head h3{margin:0;font-size:12px}.control-history{padding-bottom:4px}.control-history-row{display:grid;grid-template-columns:1fr 110px 70px;gap:10px;align-items:center;padding:9px 15px;border-top:1px solid #ffffff06;font-size:10px}.control-history-row b,.control-history-row small{display:block}.control-history-row small{margin-top:2px;color:#718093;font-size:9px}.status-pill.loss{border-color:#df4b5566;color:#f07b82;background:#df4b5512}@media(max-width:760px){.control-checks{grid-template-columns:1fr}.control-history-row{grid-template-columns:1fr 80px 65px}}

/* Admin: Benutzerverwaltung */
.admin-table-wrap { overflow-x: auto; }
.admin-table td small { display: block; opacity: .65; margin-top: 3px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.form-field { display: flex; flex-direction: column; gap: 7px; }
.form-field label { font-weight: 700; }
.form-field input, .form-field select { width: 100%; box-sizing: border-box; padding: 11px 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); color: inherit; }
.form-field small { opacity: .65; }
.form-actions { display: flex; gap: 10px; margin-top: 24px; }
.admin-details { display: grid; grid-template-columns: 180px 1fr; gap: 12px 20px; margin: 0; }
.admin-details dt { font-weight: 700; opacity: .7; }
.admin-details dd { margin: 0; }
.danger-panel { border-color: rgba(220, 70, 70, .4); }
.danger-btn { border: 0; border-radius: 8px; padding: 10px 14px; cursor: pointer; font-weight: 700; }
@media (max-width: 760px) { .form-grid { grid-template-columns: 1fr; } .admin-details { grid-template-columns: 1fr; gap: 5px; } .admin-details dd { margin-bottom: 10px; } }

/* Admin Benutzerverwaltung – kompaktere Tabellen und klare Detailansicht */
.admin-users-hero .primary-btn{margin:0}
.admin-users-panel{overflow:hidden}
.admin-users-head{padding:18px 20px 14px}
.admin-users-head h2{margin:0 0 4px}
.admin-users-head>div:first-child span,.admin-user-summary .panel-head span,.admin-user-details .panel-head span{color:var(--muted);font-size:11px}
.admin-count{display:flex;align-items:baseline;gap:7px;padding:7px 11px;border:1px solid var(--border);border-radius:8px;background:#0b1725}
.admin-count strong{font-size:18px}.admin-count small{color:var(--muted);font-size:10px}
.admin-users-table{width:100%;border-collapse:collapse}
.admin-users-table th{padding:11px 16px;text-align:left;color:#718093;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;border-bottom:1px solid var(--border);background:#0c1927}
.admin-users-table td{padding:12px 16px;border-top:1px solid #ffffff07;vertical-align:middle;font-size:11px}
.admin-users-table tbody tr{transition:background .15s ease}.admin-users-table tbody tr:hover{background:#ffffff04}
.account-cell{display:flex;align-items:center;gap:10px;min-width:170px}.account-cell strong,.account-cell small{display:block}.account-cell small{margin-top:3px;color:#718093;font-size:9px}
.account-avatar{width:34px;height:34px;flex:none;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#1fc876,#147b50);color:#fff;font-size:10px;font-weight:900;letter-spacing:.03em}
.account-avatar-large{width:58px;height:58px;border-radius:14px;font-size:15px;box-shadow:0 10px 24px #0004}
.table-primary{color:#dce5ee}.role-pill{display:inline-flex;padding:5px 9px;border:1px solid #ffffff12;border-radius:999px;background:#0b1725;color:#aebbc8;font-size:9px;font-weight:700}
.actions-col{text-align:right;white-space:nowrap}.table-action{margin:0;padding:7px 10px;font-size:9px}
.admin-empty{padding:26px 20px;text-align:center}
.admin-user-hero{align-items:center;flex-direction:row}.admin-user-heading{display:flex;align-items:center;gap:14px}.admin-user-heading h1{margin:4px 0 5px}.hero-actions{display:flex;gap:8px;align-items:center}.hero-actions .primary-btn,.hero-actions .secondary-btn{margin:0}
.admin-user-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px;margin-bottom:14px}.admin-user-summary,.admin-user-details{min-width:0}
.user-status-cards{display:grid;grid-template-columns:1fr;gap:0;padding:0 18px 18px}.user-status-cards>div{padding:13px 0;border-top:1px solid #ffffff07}.user-status-cards small{display:block;color:#718093;font-size:9px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}.user-status-cards strong{font-size:13px}
.admin-details{display:grid;grid-template-columns:145px minmax(0,1fr);gap:0;margin:0;padding:0 18px 18px}.admin-details dt,.admin-details dd{padding:11px 0;border-top:1px solid #ffffff07}.admin-details dt{font-size:10px;color:#718093;font-weight:700}.admin-details dd{font-size:11px;color:#e4ebf2}.admin-form-panel{padding-bottom:18px}.admin-form-panel .panel-head{padding-bottom:15px}.admin-form-panel .form-grid{padding:0 18px}.admin-form-panel .form-actions{padding:0 18px}
.admin-danger-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px}.admin-danger-panel h2{margin:4px 0;font-size:15px}.admin-danger-panel p{margin:0;color:var(--muted);font-size:10px}.admin-danger-panel .danger-btn{background:#df4b55;color:#fff}
@media(max-width:850px){.admin-user-grid{grid-template-columns:1fr}.admin-users-table th:nth-child(2),.admin-users-table td:nth-child(2){display:none}}
@media(max-width:650px){.admin-user-hero{align-items:flex-start;flex-direction:column}.hero-actions{width:100%}.hero-actions .primary-btn,.hero-actions .secondary-btn{flex:1;text-align:center}.admin-users-table th:nth-child(5),.admin-users-table td:nth-child(5){display:none}.admin-danger-panel{align-items:flex-start;flex-direction:column}.admin-danger-panel .danger-btn{width:100%}}

/* Admin: Spieltags-Jobs */
.day-jobs-panel{border-top:1px solid #ffffff08;background:#0b1725}
.day-jobs-head{padding:14px 15px 11px}
.day-jobs-head h3{margin:0;font-size:12px}
.day-jobs-head>div span{display:block;margin-top:4px;color:#718093;font-size:9px}
.day-jobs-counter{padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:#0a1420;color:#8290a0;font-size:9px}
.day-jobs-counter strong{color:#eaf1f7;font-size:11px}
.day-jobs-list{border-top:1px solid #ffffff07}
.day-job-row{display:grid;grid-template-columns:27px minmax(0,1fr) 70px 72px;gap:10px;align-items:center;padding:9px 15px;border-top:1px solid #ffffff06}
.day-job-row:first-child{border-top:0}
.day-job-icon{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#172637;color:#7e8c9c;font-size:11px;font-weight:900}
.day-job-main strong,.day-job-main small{display:block}
.day-job-main strong{font-size:10px}.day-job-main small{margin-top:2px;color:#718093;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.day-job-time{color:#718093;font-size:9px;text-align:right;font-variant-numeric:tabular-nums}
.day-job-status{justify-self:end;padding:4px 7px;border-radius:999px;border:1px solid #ffffff12;background:#0a1420;color:#8290a0;font-size:8px;font-weight:800}
.day-job-row.success .day-job-icon{background:#1fc87618;color:#42dc91}.day-job-row.success .day-job-status{border-color:#1fc87635;color:#42dc91;background:#1fc87610}
.day-job-row.warning .day-job-icon{background:#d19c3e18;color:#e2b85f}.day-job-row.warning .day-job-status{border-color:#d19c3e35;color:#e2b85f;background:#d19c3e10}
.day-job-row.error .day-job-icon{background:#df4b5518;color:#f07b82}.day-job-row.error .day-job-status{border-color:#df4b5535;color:#f07b82;background:#df4b5510}
.day-job-row.running .day-job-icon{background:#4b93ff18;color:#7fb2ff}.day-job-row.running .day-job-status{border-color:#4b93ff35;color:#7fb2ff;background:#4b93ff10}
@media(max-width:650px){.day-job-row{grid-template-columns:27px minmax(0,1fr) 64px}.day-job-time{display:none}}

/* Admin: expliziter Löschdialog */
.confirm-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.confirm-modal[hidden]{display:none}.confirm-modal-backdrop{position:absolute;inset:0;background:#020811c7;backdrop-filter:blur(5px)}
.confirm-modal-dialog{position:relative;width:min(460px,100%);padding:24px;border:1px solid #ffffff16;border-radius:14px;background:linear-gradient(180deg,#142335,#0c1826);box-shadow:0 24px 80px #000b;display:grid;grid-template-columns:42px 1fr;gap:0 14px}
.confirm-modal-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#df4b5518;border:1px solid #df4b5540;color:#f07b82;font-size:18px;font-weight:900}
.confirm-modal-dialog h2{margin:3px 0 7px;font-size:18px}.confirm-modal-dialog p{margin:0;color:#aeb9c6;font-size:11px;line-height:1.6}.confirm-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.confirm-modal-actions .secondary-btn,.confirm-modal-actions .danger-btn{margin:0}.confirm-modal-actions .danger-btn{background:#df4b55;color:#fff;border:0;padding:10px 14px;border-radius:7px;font-weight:800;cursor:pointer}

/* Own profile */
.profile-link{display:flex;align-items:center;gap:9px;min-width:150px;color:inherit;text-decoration:none;border-radius:8px;padding:4px 6px;margin-left:-6px;transition:.18s}
.profile-link:hover{background:#ffffff08}
.profile-link>div:nth-child(2){min-width:0}
.profile-link strong,.profile-link small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:125px}
.profile-link strong{font-size:13px}.profile-link small{color:#8f9cad;font-size:11px;margin-top:1px}.profile-link>span{margin-left:auto;color:#9aa8b7}
.profile-hero{align-items:center}.profile-heading{display:flex;align-items:center;gap:14px}.profile-heading h1{margin:4px 0 6px}.profile-heading p{margin:0;color:var(--muted)}
.profile-meta{display:flex;gap:7px;align-items:center}.profile-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px}.profile-card{min-width:0}.profile-form-grid{padding:0 18px}.profile-readonly{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 18px 4px}.profile-readonly>div{padding:12px;background:#0b1725;border:1px solid #ffffff08;border-radius:8px}.profile-readonly small,.profile-readonly strong{display:block}.profile-readonly small{color:#718093;font-size:9px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}.profile-readonly strong{font-size:11px}.profile-password-fields{display:grid;gap:15px;padding:0 18px}.profile-actions{padding:0 18px}.profile-actions .primary-btn{margin:0}.profile-errors{margin-bottom:18px;padding:15px}.profile-errors ul{margin:8px 0 0;padding-left:18px;color:#f0a0a5;font-size:11px}
@media(max-width:900px){.profile-grid{grid-template-columns:1fr}}
@media(max-width:650px){.profile-hero{align-items:flex-start;flex-direction:column}.profile-meta{width:100%}.profile-link{min-width:0}.profile-readonly{grid-template-columns:1fr}}

}.message-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:26px 2px 16px}.message-page-header h1{margin:4px 0 5px;font-size:30px;letter-spacing:-.6px}.message-page-header p{margin:0;color:var(--muted);font-size:12px}.message-page-header .eyebrow{font-size:10px;color:#36d487;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.message-new-btn{margin:0}.messages-panel{overflow:hidden}.messages-panel .panel-head{padding:16px 18px}.message-list{border-top:1px solid #ffffff08}.message-row{display:flex;align-items:center;gap:13px;padding:13px 18px;border-bottom:1px solid #ffffff07;text-decoration:none;color:var(--text);transition:.15s;background:#0e1a28}.message-row:hover{background:#132336}.message-row.unread{background:#112438}.message-avatar{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#1fc876,#116c4a);color:#fff;font-weight:800;font-size:11px}.message-avatar.large{width:46px;height:46px}.message-main{min-width:0;flex:1}.message-row-top{display:flex;justify-content:space-between;gap:12px}.message-row-top strong{font-size:12px}.message-row-top time{font-size:10px;color:#738194;white-space:nowrap}.message-subject{display:block;font-size:12px;margin-top:4px}.message-row p{margin:3px 0 0;color:#8492a2;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-unread-dot{width:8px;height:8px;border-radius:50%;background:#1fd47b;box-shadow:0 0 0 4px #1fd47b18;flex:none}.message-empty{display:flex;align-items:center;flex-direction:column;gap:5px;padding:65px 20px;color:var(--muted)}.message-empty div{font-size:30px;color:#36d487;margin-bottom:6px}.message-empty strong{color:#e6edf5;font-size:13px}.message-empty span{font-size:11px}.message-actions{display:flex;gap:8px}.message-actions .primary-btn,.message-actions .secondary-btn{margin:0}.secondary-btn{display:inline-flex;align-items:center;justify-content:center;background:#17283b;color:#dce5ee;border:1px solid #ffffff10;text-decoration:none;font-weight:700;font-size:12px;padding:10px 18px;border-radius:6px}.message-detail-panel{padding:20px}.message-detail-meta{display:flex;gap:12px;align-items:center;padding-bottom:18px;border-bottom:1px solid #ffffff09}.message-detail-meta strong,.message-detail-meta span{display:block}.message-detail-meta strong{font-size:13px}.message-detail-meta span{margin-top:3px;color:var(--muted);font-size:10px}.message-body{padding:22px 4px 10px;color:#dbe3eb;font-size:13px;line-height:1.75}.message-body p{margin:0 0 14px}.message-compose-panel{max-width:900px;margin:0 auto 20px}.message-form{padding:0 18px 18px}.message-form .form-grid{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.message-form .form-field.full{grid-column:1/-1}.message-form label{display:block;margin-bottom:6px;color:#93a1b1;font-size:10px;font-weight:700}.message-form input,.message-form select,.message-form textarea{width:100%;border:1px solid #ffffff10;background:#0b1725;color:#eaf0f7;border-radius:7px;padding:10px 11px;font:inherit;font-size:12px;outline:none}.message-form textarea{resize:vertical;min-height:180px}.message-form input:focus,.message-form select:focus,.message-form textarea:focus{border-color:#1fc87666;box-shadow:0 0 0 3px #1fc87612}.message-form .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.message-form .form-actions .primary-btn{border:0;cursor:pointer;margin:0}.message-form .danger-panel{margin:0 0 15px;padding:11px 13px}.message-form .danger-panel ul{margin:6px 0 0;padding-left:18px;font-size:10px;color:#f07b82}@media(max-width:650px){.message-page-header{align-items:flex-start;flex-direction:column}.message-new-btn{width:100%}.message-actions{width:100%}.message-actions>*{flex:1}.message-form .form-grid{grid-template-columns:1fr}.message-form .form-field.full{grid-column:auto}.message-form .form-actions{flex-direction:column}.message-form .form-actions>*{width:100%}.message-row{padding:12px 13px}}

.header-icon-link{display:grid;place-items:center;text-decoration:none;min-width:30px;height:32px}

.search-box{position:relative}.search-box input{width:100%;height:34px;border:0;background:transparent;color:#eaf0f7;outline:none;font:inherit;font-size:11px}.search-box input::placeholder{color:#718093}.search-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.search-result-panel{overflow:hidden}.search-result-row{display:flex;align-items:center;gap:11px;padding:12px 15px;border-top:1px solid #ffffff08;text-decoration:none;color:var(--text);background:#0e1a28}.search-result-row:hover{background:#132336}.search-result-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#14263a;flex:none}.search-result-row strong,.search-result-row small{display:block}.search-result-row strong{font-size:12px}.search-result-row small{margin-top:3px;color:#8190a1;font-size:9px}.search-empty{display:flex;flex-direction:column;gap:5px;padding:45px 20px;text-align:center}.search-empty strong{font-size:14px}.search-empty span{color:#8190a1;font-size:11px}.public-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.public-card{overflow:hidden}.public-details{display:grid;grid-template-columns:150px 1fr;gap:0;margin:0;padding:0 16px}.public-details dt,.public-details dd{padding:11px 0;border-bottom:1px solid #ffffff08;font-size:11px}.public-details dt{color:#8190a1}.public-details dd{margin:0;color:#e5edf5;font-weight:700}.public-details dd a{color:#36d487;text-decoration:none}.public-list{padding-bottom:2px}.public-list-row{display:flex;justify-content:space-between;gap:14px;padding:11px 15px;border-top:1px solid #ffffff08;text-decoration:none;color:#e5edf5}.public-list-row span{color:#8190a1;font-size:10px}.public-list-row strong{font-size:11px}.public-note{margin:16px;padding:11px 13px;border:1px solid #ffffff0b;background:#0c1826;color:#8190a1;font-size:10px;border-radius:6px}@media(max-width:800px){.search-results-grid,.public-grid{grid-template-columns:1fr}.public-details{grid-template-columns:120px 1fr}}@media(max-width:560px){.public-details{grid-template-columns:1fr}.public-details dt{padding-bottom:3px;border-bottom:0}.public-details dd{padding-top:0}.search-box input{font-size:10px}}


/* Dashboard refinements */
.player-row-link{color:inherit;text-decoration:none;cursor:pointer;transition:background .16s ease,transform .16s ease}
.player-row-link:hover{background:#ffffff07}
.player-row-link:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.form-pills .win{background:#19a963}
.form-pills .draw{background:#d19c3e}
.form-pills .loss{background:#b63f48}
.form-empty{font-size:10px;color:#7f8d9d;padding:7px 0}
.chart-empty{height:100%;display:grid;place-items:center;color:#718092;font-size:10px}
.fixtures-list{display:flex;flex-direction:column}
.fixtures-list .fixture{grid-template-columns:52px minmax(0,1fr) 58px 78px;gap:10px;padding:10px 14px;border-top:1px solid #ffffff06;text-decoration:none;color:inherit;transition:background .16s ease}
.fixtures-list .fixture:hover{background:#ffffff06}
.fixture-date{text-align:center;border-right:1px solid #ffffff0b;padding-right:8px}
.fixture-date b,.fixture-date span{display:block}
.fixture-date b{font-size:12px;color:#fff}
.fixture-date span{font-size:10px;color:#8492a2;margin-top:2px}
.fixtures-list .fixture-teams{display:grid;grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr);align-items:center;gap:5px;min-width:0}
.fixtures-list .fixture-teams strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fixtures-list .fixture-teams strong:last-child{text-align:right}
.fixtures-list .fixture-teams span{text-align:center;color:#687789;font-size:9px}
.fixture-location{text-align:center}
.fixture-location .fixture-mode{display:block;font-size:13px}
.fixture-location small,.fixture-competition span{display:block;font-size:8px;color:#748294;margin-top:2px}
.fixture-competition{text-align:right}
.fixture-competition b{display:block;font-size:9px;color:#9eecc2}
@media(max-width:560px){.fixtures-list .fixture{grid-template-columns:45px minmax(0,1fr) 48px;gap:7px}.fixture-competition{display:none}.fixtures-list .fixture-teams{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr)}}

/* Manager statistics */
.statistics-header{margin-top:10px;padding:18px 20px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(135deg,#102234,#0d1927);display:flex;align-items:center}.statistics-header h1{margin:2px 0 3px;font-size:28px}.statistics-header p{margin:0;color:#8391a2;font-size:12px}.statistics-header .eyebrow{font-size:11px;color:#24d17a;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.stats-grid{display:grid;gap:10px;margin-top:10px}.stats-overview{grid-template-columns:repeat(6,minmax(0,1fr))}.stat-card{padding:13px 15px;min-height:100px}.stat-card span,.stat-card small{display:block;color:#8391a2;font-size:10px}.stat-card strong{display:block;font-size:26px;margin:7px 0 2px}.stats-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:10px;margin-top:10px}.stats-layout>.panel{min-width:0}.stats-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff06;margin:0 14px 14px;border:1px solid #ffffff08;border-radius:7px;overflow:hidden}.stats-breakdown div{padding:12px;background:#0e1b29}.stats-breakdown span,.stats-home-away span{display:block;color:#8391a2;font-size:10px}.stats-breakdown b{display:block;font-size:18px;margin-top:4px}.stats-home-away{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px 14px}.stats-home-away div{background:#0e1b29;border:1px solid #ffffff08;border-radius:7px;padding:14px}.stats-home-away strong{display:block;font-size:12px}.stats-home-away b{display:block;margin-top:8px;color:#9ef2c5}.player-stats-layout{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-player-row{display:grid;grid-template-columns:22px 34px minmax(0,1fr) 40px 44px;align-items:center;gap:8px;padding:9px 13px;border-top:1px solid #ffffff06;color:inherit;text-decoration:none}.stat-player-row:hover{background:#ffffff05}.stat-player-row .rank{font-size:10px;color:#7f8d9d;text-align:center}.stat-player-row .player-avatar{width:34px;height:34px;font-size:9px}.stat-player-name strong,.stat-player-name small{display:block}.stat-player-name strong{font-size:11px}.stat-player-name small,.stat-player-row>small{font-size:9px;color:#7f8d9d}.stat-number{text-align:right;font-size:15px}.stat-player-row>small{text-align:left}@media(max-width:1100px){.stats-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.player-stats-layout{grid-template-columns:1fr 1fr}.player-stats-layout .panel:last-child{grid-column:1/-1}}@media(max-width:700px){.stats-overview,.stats-layout,.player-stats-layout{grid-template-columns:1fr}.player-stats-layout .panel:last-child{grid-column:auto}.stats-breakdown{grid-template-columns:repeat(2,1fr)}}
.table-head-row{display:grid;grid-template-columns:24px minmax(0,1fr) 32px 45px 28px;align-items:center;gap:7px;padding:7px 12px;color:#718092;font-size:8px;text-transform:uppercase;letter-spacing:.04em}.table-head-row span:nth-child(n+3){text-align:center}.table-row{color:#eef3f8;text-decoration:none}.table-row:hover{background:#ffffff08}.stadium-fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:2px 14px 10px;background:#ffffff08;border:1px solid #ffffff08;border-radius:7px;overflow:hidden}.stadium-fact-grid div{padding:8px 5px;text-align:center;background:#0c1927}.stadium-fact-grid b,.stadium-fact-grid span{display:block}.stadium-fact-grid b{font-size:13px}.stadium-fact-grid span{font-size:8px;color:#8290a0;margin-top:2px}.stadium-next-match{display:flex;align-items:center;gap:8px;margin:0 14px 12px;padding:8px 10px;border-top:1px solid #ffffff06;background:#0b1725;border-radius:6px}.stadium-next-match small,.stadium-next-match span{color:#7d8b9b;font-size:8px}.stadium-next-match strong{font-size:10px;margin-right:auto}.transfer-feature-link{color:inherit;text-decoration:none}.transfer-feature-link:hover{background:#ffffff04}.transfer-facts{display:flex;gap:10px;padding:8px 14px 12px;border-top:1px solid #ffffff06;color:#7d8b9b;font-size:8px}.transfer-facts span{flex:1;text-align:center}.transfer-facts b{color:#dce5ee;font-size:11px}@media(max-width:600px){.stadium-fact-grid{grid-template-columns:repeat(2,1fr)}.transfer-facts{flex-wrap:wrap}.transfer-facts span{min-width:30%}}
.squad-table-panel{min-height:0}
.squad-table-wrap{width:100%;overflow-x:auto}
.squad-table{width:100%;border-collapse:collapse;table-layout:auto}
.squad-table th,.squad-table td{padding:10px 14px;border-top:1px solid #ffffff06;vertical-align:middle}
.squad-table th{font-size:10px;font-weight:700;color:#7f8d9d;text-transform:uppercase;letter-spacing:.04em;background:#0b1725;text-align:left;white-space:nowrap}
.squad-table td{font-size:12px;color:#dfe6ee}
.squad-table tbody tr{transition:background .15s ease}
.squad-table tbody tr:hover{background:#ffffff05}
.squad-table th:first-child,.squad-table td:first-child{width:68px}
.squad-table th:nth-child(2){min-width:240px}
.squad-table .numeric{text-align:right;white-space:nowrap}
.squad-table .salary-column{min-width:130px}
.squad-player-link{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;min-width:0}
.squad-player-link:hover strong{color:#2bd47f}
.squad-player-info{display:block;min-width:0}
.squad-player-info strong{display:block;font-size:12px;color:#f3f7fb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.squad-player-info small{display:block;margin-top:3px;color:#7d8a9a;font-size:10px;white-space:nowrap}
.squad-position{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;padding:0 6px;border-radius:6px;background:#16283a;color:#b7c6d5;font-size:10px;font-weight:800}
.squad-rating{display:inline-grid;place-items:center;width:32px;height:32px;border:2px solid #22cf78;border-radius:50%;color:#9ef2c5;font-weight:800}
.squad-value{font-weight:700;color:#dce5ed}
@media(max-width:760px){
  .squad-table th,.squad-table td{padding:9px 10px}
  .squad-table th:nth-child(2){min-width:190px}
  .squad-table .salary-column{min-width:115px}
}


/* Global feedback and mobile layout hardening */
.flash-stack{position:fixed;top:82px;right:18px;z-index:100;width:min(440px,calc(100vw - 36px));display:grid;gap:9px;pointer-events:none}.flash-message{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;border-radius:9px;background:#102131;border:1px solid var(--border);box-shadow:0 14px 35px #0008;font-size:12px;line-height:1.45;pointer-events:auto;animation:flash-in .2s ease-out}.flash-message span{flex:1}.flash-message button{border:0;background:transparent;color:#9aa8b7;font-size:20px;line-height:16px;padding:0;cursor:pointer}.flash-success{border-color:#1fc87655;background:#0d291e;color:#b7f5d1}.flash-success button{color:#8ee6b5}.flash-error{border-color:#df4b5555;background:#2a1217;color:#ffc0c4}.flash-error button{color:#ff9ca3}.flash-message.is-hiding{opacity:0;transform:translateY(-6px);transition:.22s}.mobile-nav-backdrop{display:none}@keyframes flash-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

@media(max-width:850px){
  body.sidebar-open{overflow:hidden}
  .mobile-nav-backdrop{display:block;position:fixed;inset:0;z-index:25;background:#0009;opacity:0;pointer-events:none;transition:opacity .2s}
  .mobile-nav-backdrop.visible{opacity:1;pointer-events:auto}
  .ofm-sidebar{z-index:40;box-shadow:12px 0 40px #0008}
  .ofm-header{height:auto;min-height:62px;padding:9px 10px;gap:8px;flex-wrap:nowrap}
  .mobile-menu{width:40px;height:40px;flex:none;border-radius:8px;background:#102033;border:1px solid var(--border);display:grid;place-items:center;cursor:pointer}
  .search-box{height:40px;min-width:0;flex:1;width:auto;max-width:none}
  .header-actions{margin-left:0;gap:6px;flex:none}
  .header-icon{width:36px;height:36px;display:grid;place-items:center}
  .header-money{display:none}
  .profile-menu{padding:0;min-width:0}
  .profile-menu .profile-link{display:flex;align-items:center}
  .profile-menu .profile-link>div:not(.avatar),.profile-menu .profile-link>span{display:none}
  .profile-menu .avatar{width:36px;height:36px}
  .ofm-content{padding:0 10px 20px;overflow-x:hidden}
  .ofm-footer{padding:14px 10px 20px}
  .ofm-footer span{display:block}
  .ofm-footer span:last-child{margin-top:9px}
  .dashboard-hero,.page-hero,.admin-hero,.statistics-header{max-width:100%;overflow:hidden}
  .panel{min-width:0}
  .profile-grid,.dashboard-grid,.stats-layout,.admin-grid{min-width:0}
  .table-panel,.squad-table-panel,.messages-panel,.panel{overflow-x:auto}
  .squad-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  input,select,textarea,button{max-width:100%}
  .flash-stack{top:72px;right:10px;width:calc(100vw - 20px)}
}

@media(max-width:600px){
  .search-box span{font-size:20px;margin-right:5px}
  .search-box input{font-size:12px;min-width:0}
  .profile-hero{padding:18px 16px}
  .profile-heading{width:100%;gap:10px}
  .profile-heading h1{font-size:27px}
  .profile-heading p{font-size:11px;line-height:1.45}
  .profile-meta{flex-wrap:wrap}
  .profile-form-grid,.profile-readonly,.profile-password-fields{padding-left:14px;padding-right:14px}
  .profile-actions{padding:0 14px 14px}
  .profile-actions .primary-btn,.form-actions .primary-btn{width:100%;text-align:center}
  .form-field input,.form-field select,.form-field textarea{width:100%;min-width:0}
  .form-grid{grid-template-columns:1fr!important}
  .message-row-top{display:block}
  .message-row-top time{display:block;margin-top:3px}
}

@media(max-width:420px){
  .ofm-header{padding-left:7px;padding-right:7px}
  .mobile-menu{width:36px;height:36px}
  .header-icon{width:32px;height:32px}
  .profile-menu .avatar{width:32px;height:32px}
  .search-box{height:38px}
  .search-box input{font-size:11px}
  .ofm-content{padding-left:7px;padding-right:7px}
  .panel-head{padding-left:12px;padding-right:12px}
}

/* Bootstrap-style responsive grid / mobile-first layout */
.container{width:100%;margin-right:auto;margin-left:auto;padding-right:12px;padding-left:12px}
.row{--ofm-gutter-x:24px;--ofm-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--ofm-gutter-y) * -1);margin-right:calc(var(--ofm-gutter-x) / -2);margin-left:calc(var(--ofm-gutter-x) / -2)}
.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--ofm-gutter-x) / 2);padding-left:calc(var(--ofm-gutter-x) / 2);margin-top:var(--ofm-gutter-y)}
.col-12{width:100%}
@media(min-width:576px){.container{max-width:540px}.col-sm-6{width:50%}.col-sm-12{width:100%}}
@media(min-width:768px){.container{max-width:720px}.col-md-4{width:33.333333%}.col-md-6{width:50%}.col-md-8{width:66.666667%}.col-md-12{width:100%}}
@media(min-width:992px){.container{max-width:960px}.col-lg-3{width:25%}.col-lg-4{width:33.333333%}.col-lg-6{width:50%}.col-lg-8{width:66.666667%}.col-lg-9{width:75%}.col-lg-12{width:100%}}
@media(min-width:1200px){.container{max-width:1140px}}
@media(min-width:1400px){.container{max-width:1320px}}

/* The fixed sidebar is outside the document flow. On small screens the content must use the full viewport. */
@media(max-width:850px){
  .ofm-shell{display:block;min-width:0;width:100%;max-width:100%;overflow-x:hidden}
  .ofm-main{display:flex;width:100%;max-width:100%;min-width:0;grid-column:auto}
  .ofm-content{width:100%;max-width:100%;min-width:0;margin:0;padding-left:10px;padding-right:10px}
  .ofm-header{width:100%;max-width:100%;min-width:0}
  .ofm-footer{width:100%;max-width:100%;min-width:0;flex-wrap:wrap}

  /* Bootstrap-like collapse behaviour for existing OFM grids */
  .dashboard-grid,.profile-grid,.admin-grid,.league-grid,.staff-grid,.infrastructure-grid,.public-grid,.search-results-grid,.stats-grid,.stats-layout,.match-detail-grid,.tactic-grid,.set-piece-grid,.bench-grid,.cup-calendar-grid,.admin-user-grid{width:100%;max-width:100%;min-width:0}
  .dashboard-grid{grid-template-columns:1fr!important}
  .profile-grid{grid-template-columns:1fr!important}
  .admin-grid,.league-grid,.staff-grid,.infrastructure-grid,.public-grid,.search-results-grid,.stats-layout,.match-detail-grid,.tactic-grid,.set-piece-grid,.bench-grid,.cup-calendar-grid,.admin-user-grid{grid-template-columns:1fr!important}

  .top-grid,.mid-grid,.bottom-grid{grid-template-columns:1fr!important}
  .dashboard-hero,.page-hero,.admin-hero,.statistics-header{width:100%;min-width:0}
  .panel{width:100%;max-width:100%;min-width:0}
  .panel-head{min-width:0}
  .panel-head>div{min-width:0}
  .panel-head h2,.panel-head span{overflow-wrap:anywhere}

  /* Prevent long labels, tables and form controls from forcing the page wider than the phone. */
  .form-grid{grid-template-columns:1fr!important;width:100%;min-width:0}
  .form-field{min-width:0;width:100%}
  .form-field input,.form-field select,.form-field textarea{width:100%;max-width:100%;min-width:0}
  .table-panel,.squad-table-panel,.messages-panel{max-width:100%;overflow-x:auto}
  .squad-table-wrap{max-width:100%;overflow-x:auto}
}

@media(max-width:575.98px){
  .container{padding-right:8px;padding-left:8px}
  .row{--ofm-gutter-x:16px}
  .ofm-header{gap:6px}
  .header-actions{gap:4px}
  .ofm-footer{display:block;text-align:center}
  .ofm-footer span{display:block}
  .ofm-footer a{margin-left:10px}
  .dashboard-hero{padding:20px 16px;min-height:190px}
  .hero-copy{max-width:100%;padding-right:0}
  .hero-copy h1{font-size:30px}
  .hero-club{position:relative;right:auto;top:auto;margin-top:14px}
  .hero-stats{position:relative;right:auto;bottom:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-top:14px}
  .hero-stats>div{min-width:0}
  .profile-grid{gap:10px}
}

/* Season day history / navigation */
.season-day-navigator{display:grid;grid-template-columns:minmax(130px,1fr) auto minmax(130px,1fr);align-items:center;gap:14px;padding:0 15px 14px}
.season-day-nav{display:flex;align-items:center;gap:7px;color:#aebbc8;text-decoration:none;font-size:10px;font-weight:800;padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:#0b1725;transition:.15s ease}
.season-day-nav:hover{border-color:#ffffff1c;color:#fff;transform:translateY(-1px)}
.season-day-nav:last-child{justify-content:flex-end;text-align:right}
.season-day-nav.disabled{opacity:.35;pointer-events:none}
.season-day-current{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:150px}
.season-day-current strong{font-size:14px;color:#edf3f8}
.day-context{font-size:9px;font-weight:800;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:#0a1420;color:#8290a0}
.day-context.current{border-color:#1fc87655;background:#1fc87612;color:#42dc91}
.day-context.historical{border-color:#4b93ff45;background:#4b93ff12;color:#7eb2ff}
.day-context.future{border-color:#d19c3e45;background:#d19c3e12;color:#e2b85f}
.season-day-today-link{display:flex;justify-content:center;padding:0 15px 14px}
.season-day-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px 14px;color:#8290a0;font-size:10px}
.season-day-picker-form{display:flex;align-items:center;gap:7px;margin:0}
.season-day-picker-form select{min-width:120px;height:32px;padding:0 9px;border:1px solid var(--border);border-radius:7px;background:#0a1420;color:#dce5ed;font-size:10px}
.season-day-picker-form .secondary-btn{height:32px;padding:0 11px;font-size:10px}
.season-history-banner{display:flex;flex-direction:column;gap:3px;margin:0 15px 14px;padding:10px 12px;border-radius:8px;border:1px solid #4b93ff30;background:#4b93ff0c}
.season-history-banner strong{font-size:10px;color:#8bbcff}
.season-history-banner span{font-size:9px;line-height:1.45;color:#8290a0}
.season-history-banner.future{border-color:#d19c3e30;background:#d19c3e0c}
.season-history-banner.future strong{color:#e2b85f}
.control-history-row{display:grid;text-decoration:none;color:inherit;transition:background .15s ease}
.control-history-row:hover{background:#ffffff05}

@media(max-width:600px){
  .season-day-navigator{grid-template-columns:42px minmax(0,1fr) 42px;gap:8px;padding-left:10px;padding-right:10px}
  .season-day-nav{justify-content:center!important;padding:9px 7px}
  .season-day-nav span{display:none}
  .season-day-current{min-width:0}
  .season-day-current strong{font-size:12px}
  .season-day-picker{align-items:flex-start;flex-direction:column;padding-left:10px;padding-right:10px}
  .season-day-picker-form{width:100%}
  .season-day-picker-form select{flex:1;width:100%}
  .season-day-picker-form .secondary-btn{flex:none}
  .season-history-banner{margin-left:10px;margin-right:10px}
}

.public-match-team-link,.league-link{color:inherit;text-decoration:none}
.public-match-team-link:hover,.league-link:hover{text-decoration:underline}
.league-fixture-link{color:inherit;text-decoration:none;display:grid}
.league-fixture-link:hover{background:var(--panel-hover,#f6f7f8);color:#172433}.league-fixture-link:hover>span,.league-fixture-link:hover>strong,.league-fixture-link:hover>b{color:#172433!important}.league-fixture.own-fixture:hover{color:#172433}.league-fixture.own-fixture:hover>span,.league-fixture.own-fixture:hover>strong,.league-fixture.own-fixture:hover>b{color:#172433!important}
.public-match-score{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;text-align:center;padding:24px 18px;font-size:20px}
.public-match-score strong{font-size:32px}
.public-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 18px 18px}
.public-details>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border,#e5e7eb)}
.public-details span{font-weight:600}
@media(max-width:600px){
  .public-match-score{grid-template-columns:1fr;gap:8px;font-size:18px}
  .public-match-score strong{font-size:28px}
  .public-details{grid-template-columns:1fr}
}

/* Admin Benutzerverwaltung: Suche, Filter und Pagination */
.admin-list-filters{display:grid;grid-template-columns:minmax(240px,1fr) 170px 170px 105px auto auto;gap:8px;align-items:end;padding:0 20px 14px;border-bottom:1px solid #ffffff08}
.admin-list-search{height:40px;display:flex;align-items:center;gap:8px;padding:0 11px;background:#0b1725;border:1px solid var(--border);border-radius:8px;color:#8290a0;min-width:0}
.admin-list-search span{font-size:20px}.admin-list-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#eaf0f7;font-size:11px}.admin-list-search input::placeholder{color:#718093}
.admin-list-filter-field{display:flex;flex-direction:column;gap:5px;min-width:0}.admin-list-filter-field label{font-size:9px;color:#718093;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.admin-list-filter-field select{width:100%;height:40px;padding:0 9px;border:1px solid var(--border);border-radius:8px;background:#0b1725;color:#dce5ed;font-size:10px;min-width:0}
.admin-filter-submit,.admin-filter-reset{margin:0;height:40px;display:flex;align-items:center;justify-content:center;padding:0 14px;white-space:nowrap}.admin-filter-reset{font-size:10px}
.admin-list-summary{display:flex;justify-content:space-between;gap:12px;padding:11px 20px;color:#718093;font-size:10px}.admin-list-summary strong{color:#dce5ed}
.admin-pagination{display:flex;justify-content:center;align-items:center;gap:5px;padding:16px 20px 20px;border-top:1px solid #ffffff08}.admin-page-link{min-width:32px;height:32px;padding:0 9px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:7px;background:#0b1725;color:#b9c5d1;text-decoration:none;font-size:10px;font-weight:800}.admin-page-link:hover{border-color:#ffffff24;color:#fff;background:#102033}.admin-page-link.active{background:#1fc876;border-color:#1fc876;color:#fff}.admin-page-link.disabled{opacity:.3;pointer-events:none}.admin-page-arrow{font-size:18px;font-weight:400}
@media(max-width:1050px){.admin-list-filters{grid-template-columns:minmax(200px,1fr) 150px 150px 95px auto}.admin-filter-reset{grid-column:auto}}
@media(max-width:850px){.admin-list-filters{grid-template-columns:minmax(0,1fr) 150px 150px;align-items:end}.admin-list-search{grid-column:1/-1}.admin-filter-submit,.admin-filter-reset{height:40px}.admin-list-summary{padding-left:14px;padding-right:14px}}
@media(max-width:600px){.admin-list-filters{grid-template-columns:1fr 1fr;padding:0 12px 12px}.admin-list-search{grid-column:1/-1}.admin-list-filter-field.admin-list-page-size{grid-column:1/-1}.admin-filter-submit,.admin-filter-reset{width:100%}.admin-list-summary{align-items:flex-start;flex-direction:column;padding-left:12px;padding-right:12px}.admin-pagination{padding-left:10px;padding-right:10px;gap:4px;overflow-x:auto}.admin-page-link{min-width:30px}.admin-users-head{padding-left:12px;padding-right:12px}}


/* Admin: Pokalprämien */
.cup-prizes-panel{overflow:hidden}.cup-prizes-head{align-items:center}.cup-prizes-head>div:first-child{min-width:0}.cup-prizes-badge{padding:7px 10px;border:1px solid #ffffff12;background:#0b1726;border-radius:7px;color:#8e9baa;font-size:9px;font-weight:800;white-space:nowrap}.cup-prizes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 18px}.cup-prize-card{padding:13px;border:1px solid #ffffff09;border-radius:9px;background:#0b1725;min-width:0}.cup-prize-card-head{display:flex;align-items:center;gap:10px;min-width:0}.cup-prize-card-head>div:last-child{min-width:0}.cup-prize-card-head strong,.cup-prize-card-head small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cup-prize-card-head strong{font-size:11px}.cup-prize-card-head small{margin-top:3px;color:#718093;font-size:9px}.cup-prize-round{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:8px;background:#14263a;border:1px solid #ffffff0b;color:#9eabba;font-size:11px;font-weight:900}.cup-prize-round-winner{background:#c99b3c16;border-color:#c99b3c35;color:#e2b85f}.cup-prize-input{display:block;margin-top:12px}.cup-prize-input>span{display:block;margin-bottom:5px;color:#718093;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.cup-prize-input>div{display:flex;align-items:center;gap:8px}.cup-prize-input input{width:100%;min-width:0;height:38px;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:#081321;color:#eaf0f7;font-size:12px;font-variant-numeric:tabular-nums;outline:none}.cup-prize-input input:focus{border-color:#1fc87666;box-shadow:0 0 0 3px #1fc87612}.cup-prize-input b{color:#7f8d9d;font-size:11px}.cup-prize-winner{border-color:#c99b3c22;background:linear-gradient(180deg,#111e2b,#0b1725)}.cup-prizes-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px 18px;border-top:1px solid #ffffff08}.cup-prizes-footer .primary-btn{margin:0;white-space:nowrap}.cup-prizes-note{display:flex;flex-direction:column;gap:3px;min-width:0}.cup-prizes-note strong{font-size:10px}.cup-prizes-note span{color:#718093;font-size:9px;line-height:1.5}@media(max-width:700px){.cup-prizes-grid{grid-template-columns:1fr;padding:12px}.cup-prizes-footer{align-items:stretch;flex-direction:column;padding:12px}.cup-prizes-footer .primary-btn{width:100%;text-align:center}.cup-prizes-head{align-items:flex-start;flex-direction:column}.cup-prizes-badge{display:none}}

/* Admin Spielwelt: Simulation */
.game-world-simulation-panel{padding:0}.game-world-simulation-head{padding:16px 20px 13px;border-bottom:1px solid #ffffff08}.game-world-simulation-head>div{min-width:0}.game-world-simulation-head h2{margin-bottom:3px}.game-world-simulation-badge{padding:6px 9px;border:1px solid #1fc87630;background:#1fc8760d;border-radius:7px;color:#45db91!important;font-size:9px!important;font-weight:800;white-space:nowrap}.game-world-simulation-body{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:22px;padding:18px 20px 20px}.game-world-simulation-copy strong{font-size:13px}.game-world-simulation-copy p{margin:7px 0 7px;font-size:11px;line-height:1.55}.game-world-simulation-copy small{display:block;color:#718093;font-size:9px;line-height:1.55}.game-world-simulation-actions{display:flex;flex-direction:column;gap:12px}.game-world-simulation-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.game-world-simulation-presets .secondary-btn{width:100%;margin:0;padding:10px 7px;font-size:10px}.game-world-simulation-custom{padding-top:12px;border-top:1px solid #ffffff08}.game-world-simulation-custom label{display:block;margin-bottom:6px;color:#718093;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.game-world-simulation-custom>div{display:flex;gap:7px}.game-world-simulation-custom input[type=number]{width:100%;height:40px;min-width:0;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:#0b1725;color:#eaf0f7;font-size:11px;outline:0}.game-world-simulation-custom input[type=number]:focus{border-color:#1fc87666;box-shadow:0 0 0 3px #1fc87612}.game-world-simulation-custom .primary-btn{margin:0;height:40px;white-space:nowrap;border:0;cursor:pointer}.game-world-simulation-custom .primary-btn:hover{filter:brightness(1.06)}@media(max-width:850px){.game-world-simulation-body{grid-template-columns:1fr}.game-world-simulation-presets{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.game-world-simulation-head{align-items:flex-start;flex-direction:column}.game-world-simulation-body{padding:14px 12px 16px}.game-world-simulation-presets{grid-template-columns:repeat(2,1fr)}.game-world-simulation-custom>div{flex-direction:column}.game-world-simulation-custom .primary-btn{width:100%;text-align:center}}


/* Admin Pokal: Teilnehmerzahl */
.cup-participant-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;padding:20px}.cup-participant-copy{min-width:0}.cup-participant-copy>strong{font-size:13px;color:#eaf0f7}.cup-participant-copy p{margin:7px 0 14px;max-width:680px;color:#8290a0;font-size:11px;line-height:1.6}.cup-capacity-summary{display:flex;flex-wrap:wrap;gap:8px}.cup-capacity-summary span{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#0b1725;color:#8290a0;font-size:10px}.cup-capacity-summary b{color:#dce5ed}.cup-participant-form{display:flex;flex-direction:column;gap:8px;align-self:center}.cup-participant-form label{font-size:9px;color:#718093;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.cup-participant-form select{height:42px;width:100%;padding:0 11px;border:1px solid var(--border);border-radius:8px;background:#0b1725;color:#eaf0f7;font-size:11px}.cup-participant-form .primary-btn{width:100%;justify-content:center}.cup-participant-form .primary-btn:disabled{opacity:.4;cursor:not-allowed}.cup-participant-locked{color:#718093;font-size:9px;line-height:1.5}
@media(max-width:800px){.cup-participant-settings-grid{grid-template-columns:1fr;padding:14px}.cup-participant-form{align-self:stretch}}

/* Admin service error diagnostics */

/* Admin service error diagnostics */
.control-check-content{min-width:0;flex:1}.service-error-details{margin-top:7px;border-top:1px solid #ffffff08;padding-top:6px}.service-error-details summary{cursor:pointer;color:#f07b82;font-size:9px;font-weight:800}.service-error-details.compact summary{font-size:8px}.error-detail-line{margin-top:5px;color:#aebbc8;font-size:9px;line-height:1.45;overflow-wrap:anywhere}.error-detail-line b{color:#eaf1f7}.error-backtrace{margin:7px 0 0;padding:8px;max-height:220px;overflow:auto;border:1px solid #ffffff08;border-radius:6px;background:#07101a;color:#8290a0;font:8px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.day-job-main{min-width:0}.day-job-main .service-error-details{max-width:100%}

/* v3.4.25 admin layout refinements */
.league-parameter-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:760px){.league-parameter-grid{grid-template-columns:1fr;}}


/* Fan-System & Vereinslogo */
.club-logo-card{min-width:0}.club-logo-editor{display:flex;align-items:center;gap:14px;padding:0 18px 16px}.club-logo-preview{width:92px;height:92px;display:grid;place-items:center;border:1px solid #ffffff10;border-radius:10px;background:#0b1725;overflow:hidden}.club-logo-preview img{max-width:82px;max-height:82px;object-fit:contain}.club-logo-details strong,.club-logo-details span{display:block}.club-logo-details strong{font-size:13px}.club-logo-details span{margin-top:4px;color:#7f8d9d;font-size:10px}.profile-logo-field{padding:0 18px}.profile-logo-field input[type=file]{width:100%;padding:10px;border:1px dashed #ffffff18;border-radius:8px;background:#0b1725;color:#aab5c2;font-size:11px}.empty-state{padding:0 18px 18px;color:#8290a0;font-size:12px}.dashboard-hero .hero-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-hero .hero-stats>div{min-width:0}.hero-club img{object-fit:contain}@media(max-width:560px){.dashboard-hero .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.club-logo-editor{padding-left:14px;padding-right:14px}.profile-logo-field{padding-left:14px;padding-right:14px}}

/* v3.4.28 squad availability status */
.squad-table th:nth-child(3){min-width:150px}.squad-status{display:inline-flex;align-items:center;gap:8px;min-height:30px;white-space:nowrap}.squad-status>span:last-child{display:flex;flex-direction:column;gap:2px}.squad-status strong{font-size:11px;line-height:1.1}.squad-status small{font-size:9px;color:#7f8d9d;line-height:1.1}.squad-status-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.squad-status-icon--injury{width:24px;height:24px;color:#ef4b55;font-size:23px;font-weight:900;line-height:1}.squad-status-icon--red-card{width:15px;height:20px;border-radius:2px;background:#e84850;box-shadow:inset 0 -2px 0 #a92831}.squad-status-icon--yellow-red{width:25px;height:22px}.squad-status-icon--yellow-red i,.squad-status-icon--yellow-red b{position:absolute;display:block;width:12px;height:18px;border-radius:2px;box-shadow:inset 0 -2px 0 rgba(0,0,0,.18)}.squad-status-icon--yellow-red i{left:0;top:2px;background:#f1c94a}.squad-status-icon--yellow-red b{right:0;top:0;background:#e84850}.squad-status--available{gap:6px}.squad-status-available-dot{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(31,212,123,.12);color:#39d987;font-size:12px;font-weight:900}.squad-table th:nth-child(3),.squad-table td:nth-child(3){text-align:left}@media(max-width:700px){.squad-status{gap:6px}.squad-status strong{font-size:10px}.squad-status small{font-size:8px}}

/* v3.4.28 squad availability refinements */
.squad-status-list{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.squad-status-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid #ffffff06;color:#7f8d9d;font-size:10px}.squad-status-legend>span{display:inline-flex;align-items:center;gap:6px}.squad-status-legend .squad-status-icon{transform:scale(.78);transform-origin:left center;margin-right:-3px}

/* v3.4.29 match report */
.match-report-list{display:flex;flex-direction:column}.match-report-event{display:grid;grid-template-columns:58px 52px minmax(0,1fr);gap:10px;align-items:center;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.06)}.match-report-event:last-child{border-bottom:0}.match-report-minute{font-weight:800;color:#91a5b8;font-variant-numeric:tabular-nums}.match-report-icon{font-size:20px;text-align:center}.match-report-content{display:flex;flex-direction:column;gap:2px;min-width:0}.match-report-content strong{font-size:14px}.match-report-content span{font-size:13px;color:#dfe8f0}.match-report-content small{font-size:12px;color:#91a5b8}.match-report-score{font-weight:800!important;color:#fff!important}.match-report-panel{margin-top:18px}@media(max-width:560px){.match-report-event{grid-template-columns:46px 42px minmax(0,1fr);gap:7px}.match-report-icon{font-size:17px}}

/* v3.4.30 manager season calendar */
.calendar-panel{overflow:hidden}.calendar-legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:#8492a1;font-size:9px}.calendar-legend span{display:inline-flex;align-items:center;gap:5px}.calendar-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#526171}.calendar-dot.match{background:#2aa7ff}.calendar-dot.training{background:#1fd47b}.calendar-dot.today{background:#f5c451}.calendar-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:1px;background:#ffffff08}.calendar-day{min-height:126px;padding:10px;background:#0b1725;border:1px solid #ffffff06;display:flex;flex-direction:column;gap:9px}.calendar-day.current{border:1px solid #f5c45155;background:#111f2d}.calendar-day.past{opacity:.72}.calendar-day.is-matchday{box-shadow:inset 0 2px 0 #2aa7ff66}.calendar-day.is-trainingday{box-shadow:inset 0 2px 0 #1fd47b44}.calendar-day-head{display:flex;justify-content:space-between;gap:6px;align-items:flex-start}.calendar-day-head strong{font-size:11px;color:#eaf0f7}.calendar-day-head small{font-size:8px;color:#758394;text-align:right}.calendar-events{display:flex;flex-direction:column;gap:6px}.calendar-event{display:flex;align-items:center;gap:7px;min-width:0;padding:7px 6px;border-radius:6px;text-decoration:none}.calendar-event-icon{flex:0 0 auto;font-size:12px}.calendar-event span:nth-child(2){min-width:0;flex:1}.calendar-event strong,.calendar-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event strong{font-size:9px;color:#dfe8f0}.calendar-event small{margin-top:2px;font-size:8px;color:#8190a0}.calendar-event b{font-size:10px;color:#eaf0f7}.calendar-match{background:#2aa7ff0d;border:1px solid #2aa7ff18}.calendar-match:hover{background:#2aa7ff16}.calendar-training{background:#1fd47b0d;border:1px solid #1fd47b15}.calendar-empty{font-size:9px;color:#596777;margin-top:auto}.calendar-panel>.panel-head{align-items:flex-start}@media(max-width:1100px){.calendar-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:760px){.calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-day{min-height:112px;padding:8px}.calendar-day-head{display:block}.calendar-day-head small{display:block;text-align:left;margin-top:3px}.calendar-legend{margin-top:8px}}@media(max-width:480px){.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Trainerverpflichtung */
.coach-hiring{margin:0 15px 18px;border-top:1px solid #ffffff08;padding-top:16px}.coach-hiring-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.coach-hiring-head strong,.coach-hiring-head span{display:block}.coach-hiring-head strong{font-size:13px}.coach-hiring-head span{margin-top:3px;color:#8795a6;font-size:10px}.coach-selection{padding:9px 12px;border:1px solid #1fc87630;background:#1fc8760d;border-radius:8px;color:#45db91;font-size:11px;font-weight:800;white-space:nowrap}.coach-selection.empty{border-color:#ffffff12;background:#ffffff04;color:#8795a6;font-weight:600}.coach-matrix-wrap{overflow:auto;border:1px solid #ffffff0b;border-radius:10px;background:#091421}.coach-matrix{width:100%;min-width:780px;border-collapse:separate;border-spacing:0}.coach-matrix th,.coach-matrix td{padding:4px;border-right:1px solid #ffffff05;border-bottom:1px solid #ffffff05;text-align:center}.coach-matrix thead th{position:sticky;top:0;z-index:2;background:#102031;color:#8e9baa;font-size:9px;font-weight:800}.coach-matrix tbody th{position:sticky;left:0;z-index:1;background:#102031;color:#dfe7ef;font-size:10px;font-weight:800}.coach-matrix thead th:first-child{left:0;z-index:3}.coach-price-cell{width:100%;min-width:68px;padding:8px 4px;border:1px solid transparent;border-radius:6px;background:transparent;color:#aebbc8;font-size:9px;font-weight:700;cursor:pointer;white-space:nowrap}.coach-price-cell:hover{background:#1fc87612;border-color:#1fc87630;color:#e9fff3}.coach-price-cell.selected{background:#028b3f;color:#fff;border-color:#32e58e;box-shadow:0 0 0 1px #32e58e33}.coach-hiring-footer{display:grid;grid-template-columns:1fr 1fr minmax(220px,1.6fr) auto;gap:10px;align-items:center;margin-top:12px}.coach-hiring-footer>div{min-height:54px;padding:9px 11px;border-radius:8px;background:#ffffff04;border:1px solid #ffffff08}.coach-hiring-footer span,.coach-hiring-footer small{display:block;color:#8795a6;font-size:9px;line-height:1.4}.coach-hiring-footer strong{display:block;margin-top:3px;font-size:13px}.coach-hiring-footer .primary-btn{margin:0;height:54px;white-space:nowrap}.coach-confirm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.coach-confirm-grid>div{padding:13px;border:1px solid #ffffff12;border-radius:10px;background:#ffffff05}.coach-confirm-grid span{display:block;color:#8996a6;font-size:9px;text-transform:uppercase}.coach-confirm-grid strong{display:block;margin-top:4px;font-size:14px}.coach-hire-dialog p{margin-bottom:0}@media(max-width:900px){.coach-hiring-footer{grid-template-columns:1fr 1fr}.coach-hiring-footer>div:nth-child(3){grid-column:1/-1}.coach-hiring-footer .primary-btn{grid-column:1/-1;width:100%}}@media(max-width:600px){.coach-hiring-head{align-items:flex-start;flex-direction:column}.coach-selection{width:100%;box-sizing:border-box}.coach-confirm-grid{grid-template-columns:1fr}.coach-hiring-footer{grid-template-columns:1fr}}


/* v3.4.69 Sponsoren */
.sponsor-league-badge{padding:9px 14px;border:1px solid #ffffff10;border-radius:9px;background:#0b1725;text-align:right}.sponsor-league-badge span,.sponsor-league-badge strong{display:block}.sponsor-league-badge span{font-size:8px;color:#718093;text-transform:uppercase;letter-spacing:.06em}.sponsor-league-badge strong{margin-top:3px;font-size:15px;color:#eaf0f7}.sponsor-contract-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sponsor-contract-panel{min-width:0}.sponsor-offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 15px 18px}.sponsor-offer{padding:13px;border:1px solid #ffffff0b;border-radius:9px;background:#091421}.sponsor-offer-name strong,.sponsor-offer-name span{display:block}.sponsor-offer-name strong{font-size:12px;color:#eaf0f7}.sponsor-offer-name span{margin-top:3px;font-size:9px;color:#7f8d9d}.sponsor-offer-values{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:12px 0}.sponsor-offer-values>div{padding:7px 8px;border-radius:6px;background:#ffffff04;border:1px solid #ffffff07}.sponsor-offer-values b,.sponsor-offer-values small{display:block}.sponsor-offer-values b{font-size:10px;color:#dfe8f0}.sponsor-offer-values small{margin-top:2px;font-size:8px;color:#718093}.sponsor-sign-form{margin:0}.sponsor-sign-form .primary-btn{width:100%;justify-content:center}.sponsor-signed{display:grid;grid-template-columns:minmax(150px,1.5fr) repeat(4,1fr);gap:8px;padding:15px;border-bottom:1px solid #ffffff08}.sponsor-signed-secondary{grid-template-columns:minmax(150px,1.5fr) repeat(3,1fr)}.sponsor-signed:last-child{border-bottom:0}.sponsor-signed-name strong,.sponsor-signed-name span,.sponsor-signed small{display:block}.sponsor-signed-name strong{font-size:12px;color:#eaf0f7}.sponsor-signed-name span,.sponsor-signed small{margin-top:3px;font-size:8px;color:#7f8d9d}.sponsor-signed>div:not(.sponsor-signed-name){padding:8px;border-radius:6px;background:#ffffff04}.sponsor-signed>div strong{font-size:10px;color:#dfe8f0}.sponsor-limit-note{margin:0 15px 18px;padding:12px;border:1px solid #ffffff08;border-radius:8px;background:#ffffff03;color:#8290a0;font-size:10px}@media(max-width:1100px){.sponsor-contract-grid{grid-template-columns:1fr}}@media(max-width:700px){.sponsor-offer-grid{grid-template-columns:1fr}.sponsor-signed,.sponsor-signed-secondary{grid-template-columns:1fr 1fr}.sponsor-signed-name{grid-column:1/-1}}


/* Public club squad: position left, player name and nationality flag, age right */
.public-squad-row{align-items:center;justify-content:flex-start;gap:10px}
.public-squad-row .public-squad-position{flex:0 0 28px;color:#8190a1;font-size:10px;font-weight:800;text-align:left}
.public-squad-row .public-squad-name{display:flex;align-items:center;gap:6px;flex:1;min-width:0;color:#e5edf5;font-size:11px}
.public-squad-row .public-squad-name strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.public-squad-row .public-squad-flag{flex:0 0 auto;font-size:14px;line-height:1.2;color:inherit}
.public-squad-row .public-squad-age{flex:0 0 24px;margin-left:auto;text-align:right;color:#8190a1;font-size:10px;font-variant-numeric:tabular-nums}


/* Public information pages: available without authentication */
.public-page-body{min-height:100vh;background:#07111f;color:#e8eef5}
.public-page-shell{min-height:100vh;display:flex;flex-direction:column;max-width:1240px;margin:0 auto;padding:0 24px}
.public-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid #203044}
.public-page-brand{display:flex;align-items:center;gap:12px;color:#f3f7fb;text-decoration:none}
.public-page-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#0e8a4b;font-size:22px}
.public-page-brand strong,.public-page-brand small{display:block}
.public-page-brand strong{font-size:16px;letter-spacing:.2px}
.public-page-brand small{font-size:11px;color:#94a4b7;margin-top:3px}
.public-page-nav,.public-page-footer nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.public-page-nav a,.public-page-footer a{color:#aebdcd;text-decoration:none;font-size:13px}
.public-page-nav a:hover,.public-page-footer a:hover{color:#fff}
.public-page-nav .public-page-login{padding:10px 15px;border:1px solid #28794e;border-radius:8px;color:#e8fff1;background:#0b3c29}
.public-page-content{width:100%;max-width:900px;margin:38px auto 56px;flex:1}
.public-doc{background:#0b1725;border:1px solid #203044;border-radius:16px;padding:clamp(22px,4vw,48px);box-shadow:0 18px 60px #0002}
.public-doc-eyebrow{margin:0 0 10px;color:#4cdb8b;text-transform:uppercase;letter-spacing:1.4px;font-size:11px;font-weight:800}
.public-doc h1{font-size:clamp(30px,5vw,44px);line-height:1.1;letter-spacing:-1px;margin:0 0 12px;color:#f4f7fa}
.public-doc-lead{font-size:17px;line-height:1.65;color:#c2ceda;margin:0 0 30px}
.public-doc h2{font-size:18px;color:#f1f5f9;margin:28px 0 8px}
.public-doc p,.public-doc li{font-size:14px;line-height:1.8;color:#c0cbd7}
.public-doc a{color:#5de39b;text-underline-offset:3px}
.public-doc-notice{margin:20px 0;padding:15px 17px;border:1px solid #765b2c;border-radius:9px;background:#382b16;color:#f6dfad;font-size:13px;line-height:1.65}
.public-doc .public-doc-muted{margin-top:30px;padding-top:16px;border-top:1px solid #203044;color:#8999aa;font-size:12px}
.public-doc details{border-bottom:1px solid #203044;padding:17px 0}
.public-doc details:last-child{border-bottom:0}
.public-doc summary{cursor:pointer;font-weight:700;color:#e9f0f7;font-size:15px}
.public-doc details p{margin:12px 0 0}
.public-page-footer{border-top:1px solid #203044;padding:22px 0 26px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#718092;font-size:12px}
@media(max-width:680px){.public-page-shell{padding:0 14px}.public-page-header{align-items:flex-start;flex-direction:column;padding:16px 0}.public-page-nav{gap:14px}.public-page-content{margin:20px auto 30px}.public-page-footer{align-items:flex-start;flex-direction:column}.public-page-footer nav{gap:14px}}
