:root{--bg:#0c1515;--surface:#122120;--surface2:#172a28;--surface3:#1e3330;--line:#2b4240;--text:#f0f7f3;--muted:#8da7a0;--soft:#c6d9d0;--accent:#c5fa77;--green:#4bcb9c;--orange:#ffbd80;--danger:#ff8382;--shadow:0 16px 54px #0004;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{background-image:radial-gradient(ellipse 680px 400px at 91% -5%,#1c453936,transparent),radial-gradient(ellipse 650px 600px at -30% 65%,#24503a1a,transparent)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}a{color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,4vw,39px);line-height:1.12;letter-spacing:-1.5px;margin-bottom:9px}h2{font-size:23px;letter-spacing:-.7px;margin-bottom:12px}h3{font-size:17px;letter-spacing:-.35px;margin-bottom:9px}p{line-height:1.55}.small{font-size:12px}.muted{color:var(--muted)}.bright{color:var(--accent)}.tabular{font-variant-numeric:tabular-nums}.caps{font-size:10px;letter-spacing:2.3px;text-transform:uppercase;font-weight:800;color:var(--green)}.eyebrow{font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--accent);font-weight:800}.subtext{color:var(--muted);font-size:14px}.shell{max-width:1540px;margin:auto;min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr)}.sidebar{border-right:1px solid var(--line);padding:31px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;background:#0d1818d9}.brand{display:flex;align-items:center;gap:11px;margin:0 8px 43px;font-weight:850;letter-spacing:-.65px;font-size:23px}.brand-mark{width:40px;height:40px;border-radius:13px;background:var(--accent);color:#123323;display:flex;justify-content:center;align-items:center;box-shadow:0 0 32px #bffc7330}.brand span span{color:var(--green)}.brand-mark svg{width:23px;height:23px}.nav-label{padding:0 15px;margin-bottom:12px}.nav-btn{width:100%;display:flex;align-items:center;gap:13px;padding:14px 15px;margin:3px 0;background:transparent;border:0;color:#a7bcb4;text-align:left;border-radius:13px;font-size:14px;font-weight:650;transition:.15s}.nav-btn:hover,.nav-btn.active{background:#1c332e;color:var(--accent)}.nav-btn svg{width:19px;height:19px}.side-bottom{margin-top:auto;padding:18px 11px 2px}.offline-note{font-size:12px;line-height:1.5;color:var(--muted);display:flex;gap:9px}.online-dot{width:8px;height:8px;background:var(--green);display:inline-block;border-radius:99px;margin-top:4px;flex-shrink:0}.mobile-nav{display:none}.main{width:100%;min-width:0;padding:32px min(5.2vw,72px) 65px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:35px}.crumb{display:flex;gap:10px;align-items:center;font-size:12px;letter-spacing:1.4px;color:var(--muted);font-weight:750;text-transform:uppercase}.top-actions{display:flex;align-items:center;gap:9px}.team-switch{border:1px solid var(--line);border-radius:11px;color:var(--soft);background:var(--surface);font-size:12px;font-weight:700;padding:9px 12px;max-width:200px;min-height:37px}.status-chip,.pill{display:inline-flex;align-items:center;gap:7px;border-radius:99px;border:1px solid #315044;background:#183227;padding:7px 11px;color:var(--green);font-size:11px;font-weight:800;white-space:nowrap}.status-chip.weak{color:var(--muted);background:#152321;border-color:var(--line)}.status-chip.live{color:#102819;background:var(--accent);border-color:var(--accent)}.status-chip.live .pulse{width:7px;height:7px;border-radius:50%;background:#226e42;box-shadow:0 0 0 5px #226e4220}.page-header{display:flex;gap:20px;align-items:flex-end;justify-content:space-between;margin-bottom:27px}.page-header h1{margin-bottom:9px}.page-header .subtext{margin:0}.btn{border:1px solid transparent;background:var(--accent);color:#123024;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 16px;font-size:13px;font-weight:800;min-height:44px;border-radius:12px;transition:transform .12s,background .12s,border-color .12s;white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn svg{width:17px;height:17px}.btn.ghost{background:transparent;border-color:var(--line);color:var(--soft)}.btn.ghost:hover{background:var(--surface2)}.btn.surface{background:var(--surface3);color:var(--text)}.btn.danger{background:#432322;border-color:#633432;color:#ffbbb3}.btn.light{background:#274333;color:var(--accent);border:1px solid #39664b}.btn.icon-btn{width:42px;padding:10px}.btn.full{width:100%}.btn.compact{padding:9px 12px;min-height:36px}.btn-small{border:1px solid var(--line);color:var(--soft);padding:6px 10px;background:transparent;border-radius:8px;font-size:12px}.btn-small.selected{background:#345c36;color:var(--accent);border-color:#5b8d53}.card{background:linear-gradient(150deg,#152623,#101e1d);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 6px 30px #07110f1c}.card.tight{padding:19px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.card-head h3{margin:0}.card-flat{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}.grid-2{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.9fr);gap:20px}.grid-2-even{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.stack{display:flex;flex-direction:column;gap:17px}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:26px}.mb-0{margin-bottom:0}.divider{height:1px;background:var(--line);margin:19px 0}.empty{text-align:center;padding:48px 24px;border:1px dashed #36514a;border-radius:20px;background:#15282155}.empty .hero-icon{width:68px;height:68px;background:#204439;border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 17px;color:var(--accent)}.empty .hero-icon svg{width:31px;height:31px}.hero{padding:34px;background:radial-gradient(ellipse 500px 280px at 100% 0,#518f4930,transparent),linear-gradient(117deg,#1e4234,#142b28 74%);border:1px solid #376046;border-radius:24px;position:relative;overflow:hidden;min-height:246px}.hero:after{content:'◌';position:absolute;right:-40px;bottom:-155px;font-size:390px;color:#dbfca20d;pointer-events:none}.hero-content{position:relative;z-index:1;max-width:600px}.hero p{max-width:490px}.hero-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}.kpi{background:#142522;border:1px solid var(--line);border-radius:16px;padding:20px}.kpi-value{font-size:33px;letter-spacing:-1.2px;font-weight:850;margin:8px 0 3px}.kpi-label{font-size:12px;color:var(--muted)}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row-main{display:flex;align-items:center;gap:12px;min-width:0}.avatar{width:42px;height:42px;flex-shrink:0;border-radius:12px;background:#294d3d;border:1px solid #3d7350;color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px}.avatar.goal{background:#394b2b;color:#e7ff9a}.item-title{font-size:14px;font-weight:740;overflow:hidden;text-overflow:ellipsis}.item-sub{font-size:12px;color:var(--muted);margin-top:4px}.match-list button{background:transparent;text-align:left;color:inherit;border:0;cursor:pointer}.match-list .list-row:hover .item-title{color:var(--accent)}.pill-small{font-size:11px;border-radius:99px;padding:5px 9px;background:#234438;color:#b9e8c9;font-weight:750}.pill-small.gray{background:#273430;color:#a2b8b0}.pill-small.amber{background:#54452b;color:#ffe0a9}.field-wrap{padding:12px;border-radius:20px;background:#0b1b17;border:1px solid #2b5243}.pitch{position:relative;height:clamp(360px,45vw,555px);width:100%;border-radius:14px;overflow:hidden;background:repeating-linear-gradient(to bottom,#246b50 0%,#246b50 12.5%,#21644b 12.5%,#21644b 25%);box-shadow:inset 0 0 45px #102c24a6;isolation:isolate}.pitch:before{content:'';pointer-events:none;position:absolute;inset:10px;border:2px solid #d9f6dc65;border-radius:1px}.pitch-line{position:absolute;pointer-events:none;border:1.8px solid #e0f9d66f}.pitch-midline{width:calc(100% - 20px);height:0;top:50%;left:10px;border:0;border-top:2px solid #e0f9d66f}.pitch-circle{width:28%;aspect-ratio:1;max-height:31%;left:36%;top:50%;transform:translateY(-50%);border-radius:50%}.pitch-toparea{width:48%;height:16%;top:10px;left:26%;border-top:0}.pitch-bottomarea{width:48%;height:16%;bottom:10px;left:26%;border-bottom:0}.pitch-centerpoint{position:absolute;top:50%;left:50%;width:6px;height:6px;background:#ddf4dfbd;border-radius:50%;transform:translate(-50%,-50%)}.pitch-player{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;color:white;padding:0;width:78px;display:flex;flex-direction:column;gap:2px;align-items:center;z-index:2}.pitch-player .kit{height:39px;width:39px;border-radius:13px;background:linear-gradient(155deg,#fafef8,#c1e5c6);color:#17412e;border:2px solid #ffffffcf;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;box-shadow:0 5px 16px #072015aa;transition:.15s}.pitch-player.keeper .kit{background:linear-gradient(155deg,#f9d65c,#efac27);border-color:#ffec98}.pitch-player.empty .kit{background:#112b229c;border:1.5px dashed #a8d6b28a;color:#c4dfcf}.pitch-player.selected .kit{outline:3px solid var(--accent);outline-offset:3px;transform:scale(1.12)}.pitch-player .player-label{display:block;max-width:78px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 6px #052313;color:#f8fffa;font-size:11px;font-weight:850;background:#0d2c23b8;border-radius:7px;padding:3px 5px}.pitch-player .minutes-tag{font-size:10px;color:#e5ffb6;background:#174131d9;padding:2px 6px;border-radius:99px;font-weight:800}.pitch-hint{display:flex;align-items:center;justify-content:center;margin:9px 0 2px;font-size:12px;color:var(--muted);gap:8px;text-align:center}.bench{display:flex;gap:9px;flex-wrap:wrap}.bench-player{min-width:110px;flex:1;max-width:220px;background:#1c332b;color:var(--text);border:1px solid #3b5e4a;padding:12px;border-radius:13px;text-align:left;display:flex;flex-direction:column;gap:5px}.bench-player:hover,.bench-player.selected{border-color:var(--accent);background:#304938}.bench-player strong{font-size:13px}.bench-player small{color:var(--muted);font-size:11px}.field-section .card-head{margin-bottom:10px}.live-score{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 8px}.score-side{flex:1;max-width:40%;min-width:0}.score-side:last-child{text-align:right}.score-side strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.score-num{font-size:43px;font-weight:850;letter-spacing:-1.5px}.score-clock{display:flex;flex-direction:column;align-items:center;gap:3px}.score-clock button{border:0;background:transparent;color:#f1ffcc;font-weight:850;font-size:26px;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.live-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.live-actions .btn{min-width:0}.live-actions .btn.primary{background:var(--accent)}.live-actions .btn.wide{grid-column:span 2}.timeline-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.timeline-item:last-child{border:none}.time-badge{color:var(--accent);font-weight:800;font-variant-numeric:tabular-nums;min-width:45px}.stat-table{width:100%;border-collapse:collapse}.stat-table th{text-align:left;color:var(--muted);font-size:10px;letter-spacing:1.15px;text-transform:uppercase;font-weight:750;padding:11px 8px}.stat-table td{padding:13px 8px;border-top:1px solid var(--line);font-size:13px}.stat-table td:not(:first-child),.stat-table th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.progress{background:#284039;height:7px;border-radius:9px;overflow:hidden;margin-top:6px}.progress>div{height:100%;background:var(--accent);border-radius:9px}.status-dots{display:flex;gap:5px}.dot{height:8px;width:8px;border-radius:10px;background:#416452}.dot.on{background:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.span2{grid-column:span 2}.field label{font-size:12px;color:#b7cfc4;font-weight:750}.field input,.field select,.field textarea{width:100%;min-height:43px;border:1px solid #355048;background:#11201f;border-radius:11px;color:var(--text);padding:11px 12px;outline:none;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #bdfb6a18}.field option{background:#132523}.switch-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.choice-row{display:flex;gap:6px;flex-wrap:wrap}.choice-row button{background:#20362e;color:#a9c7b9;border:1px solid #345442;padding:8px 11px;border-radius:9px;font-size:11px;font-weight:800}.choice-row button.selected{color:#123323;background:var(--accent);border-color:var(--accent)}.modal-backdrop{position:fixed;inset:0;background:#020908c9;display:flex;align-items:center;justify-content:center;z-index:100;padding:18px;backdrop-filter:blur(5px)}.modal{background:#182825;border:1px solid #426055;border-radius:24px;padding:26px;width:min(520px,100%);box-shadow:0 30px 130px #000b;max-height:90vh;overflow-y:auto}.modal h2{font-size:23px}.modal-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;margin-bottom:17px}.modal-close{width:35px;height:35px;border:1px solid var(--line);border-radius:10px;background:#263933;color:white;font-size:20px}.modal-footer{display:flex;gap:9px;justify-content:flex-end;margin-top:22px;flex-wrap:wrap}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:min(430px,calc(100% - 24px));width:max-content;z-index:300;background:#ddffac;color:#143023;box-shadow:0 15px 45px #0008;border-radius:12px;padding:12px 17px;font-size:13px;font-weight:800;animation:fade-in .2s}.toast.error{background:#ffd1bf;color:#4a1716}@keyframes fade-in{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}.notice{border:1px solid #596743;background:#3b41231c;color:#f5eaba;padding:12px 14px;border-radius:12px;font-size:12px;line-height:1.55}.notice.good{border-color:#365c47;background:#203d2b;color:#c1f7d5}.backlink{background:none;border:none;padding:0;margin-bottom:20px;display:flex;align-items:center;gap:7px;color:var(--green);font-weight:750;font-size:12px}.backlink svg{width:16px;height:16px}.profile-meta{display:flex;gap:8px;flex-wrap:wrap}.setup-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.9fr);gap:19px}.roster-status{display:flex;gap:8px;flex-wrap:wrap}.roster-status .choice-row{flex-shrink:0}.placeholder{color:var(--muted)}.footer{margin-top:39px;font-size:11px;color:#739087}.boot{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted)}.boot h2{color:var(--text);margin:12px 0 4px}.brand-icon{height:64px;width:64px;border-radius:20px;background:#274b33;display:grid;place-items:center;font-size:30px}.link{border:0;color:var(--accent);background:transparent;font-size:12px;font-weight:800;padding:4px 0}.fl{display:flex;gap:7px;align-items:center}.shift{margin-left:auto}.mini-card{border:1px solid var(--line);padding:13px 14px;border-radius:14px;background:#1b2c29}.mini-card strong{font-size:14px}.mini-card .muted{font-size:11px}.finish-banner{border-radius:18px;background:linear-gradient(115deg,#2d5335,#1b392c);border:1px solid #507954;padding:22px}.pitch-player:focus-visible,.bench-player:focus-visible,.btn:focus-visible{outline:2px solid #f1ffad;outline-offset:4px}
@media(max-width:1100px){.main{padding:26px 28px 70px}.sidebar{width:205px}.shell{grid-template-columns:205px minmax(0,1fr)}.grid-2{grid-template-columns:1fr}.setup-grid{grid-template-columns:1fr}.pitch{max-height:530px}.card{padding:20px}}
@media(max-width:700px){.shell{display:block}.sidebar{display:none}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;justify-content:space-around;align-items:stretch;border-top:1px solid #35504a;background:#101b19f5;backdrop-filter:blur(15px);padding:7px 6px calc(7px + env(safe-area-inset-bottom))}.mobile-nav button{background:transparent;border:0;color:#91aaa0;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;font-weight:750;padding:7px 12px;border-radius:10px;min-width:69px}.mobile-nav button svg{height:21px;width:21px}.mobile-nav button.active{color:var(--accent);background:#243c2e}.main{padding:20px 14px calc(102px + env(safe-area-inset-bottom));}.topbar{margin-bottom:26px}.topbar .crumb{font-size:10px}.top-actions .status-chip{display:none}.team-switch{max-width:162px}.page-header{align-items:flex-start}.page-header .btn{padding:10px 12px;font-size:12px}.card{border-radius:18px;padding:17px}.grid-2-even{grid-template-columns:1fr}.grid-3{gap:9px}.kpi{padding:13px}.kpi-value{font-size:26px}.hero{padding:24px;min-height:230px}.hero-btns{gap:8px}.pitch{height:min(116vw,485px)}.field-wrap{padding:6px}.pitch-player{width:65px}.pitch-player .kit{width:35px;height:35px;border-radius:11px}.pitch-player .player-label{max-width:66px;font-size:9.5px}.pitch-player .minutes-tag{font-size:9px}.live-score{padding:13px 4px}.score-num{font-size:35px}.score-clock button{font-size:23px}.score-side strong{font-size:12px}.bench-player{min-width:95px;max-width:none;padding:9px}.form-grid{grid-template-columns:1fr}.field.span2{grid-column:1}.modal{padding:22px 18px}.roster-status{justify-content:space-between}.roster-status .choice-row button{padding:7px}.btn.compact{font-size:11px}.stat-table th{font-size:9px}.stat-table td{font-size:12px}.page-header h1{font-size:28px}}
@media(max-width:380px){.pitch-player{width:54px}.pitch-player .kit{width:30px;height:30px}.pitch-player .player-label{font-size:9px;max-width:58px}.score-clock button{font-size:21px}.team-switch{max-width:130px}}
/* Matchday layout: scoreboard first on mobile, field and actions side-by-side on desktop. */
.match-live-layout{display:grid;grid-template-columns:minmax(0,1.34fr) minmax(0,.86fr);grid-template-areas:'field score' 'field actions' 'bench events' 'minutes events';gap:19px;align-items:start}
.live-score-holder{grid-area:score}.live-field-holder{grid-area:field}.live-bench-holder{grid-area:bench}.live-actions-holder{grid-area:actions}.live-minutes-holder{grid-area:minutes}.live-events-holder{grid-area:events}
.prep-startbar{display:flex;align-items:center;justify-content:space-between;gap:13px;background:#1d3829;border:1px solid #47694d;padding:14px 19px;border-radius:16px;margin-bottom:18px}
.prep-startbar strong{display:block;margin-bottom:5px;font-size:14px}.prep-startbar .small{display:block}
.attendance-details summary{cursor:pointer;list-style:none;margin-bottom:0}.attendance-details summary::-webkit-details-marker{display:none}.attendance-details[open] summary{margin-bottom:14px}.attendance-details summary:hover h3{color:var(--accent)}
@media(max-width:1100px){.match-live-layout{grid-template-columns:1fr;grid-template-areas:'score' 'field' 'bench' 'actions' 'minutes' 'events'}}
@media(max-width:700px){.match-live-layout{gap:12px}.prep-startbar{padding:12px;gap:8px}.prep-startbar strong{font-size:12px}.prep-startbar .btn{padding:9px 11px;font-size:11px}.live-actions-holder{padding:16px}.live-field-holder .status-chip{font-size:10px;padding:6px}}
.match-live-layout>*{min-width:0}
@media(max-width:380px){.topbar .crumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{min-width:0}.live-score-holder .row.wrap .btn{white-space:normal;min-width:0;flex:1;line-height:1.3;padding:9px 7px}.live-actions .btn{white-space:normal;line-height:1.3;padding:9px 6px}.score-side strong{font-size:11px}}
