:root{--ink:#14261d;--muted:#6d7972;--paper:#f4f3ed;--card:#fff;--green:#1db66f;--green-dark:#0d6b46;--lime:#c9f059;--red:#c44242;--line:#dde2dc;--radius:20px;--shadow:0 10px 35px rgba(18,44,31,.08)}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a,select{touch-action:manipulation}.topbar{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:rgba(244,243,237,.92);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:9px;font-weight:850;letter-spacing:-.4px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--ink);color:var(--lime);font-weight:900;font-size:13px;transform:rotate(-3deg)}.brand-mark.large{width:55px;height:55px;font-size:20px}.user-name{color:var(--muted);font-size:13px}.page{padding:12px 14px 96px}.page-inner{max-width:1050px;margin:auto}.page-head{margin:18px 4px 24px}.page-head.row,.section-title,.lineup-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.page-head h1{font-size:34px;line-height:1.02;margin:2px 0;letter-spacing:-1.6px}.eyebrow{text-transform:uppercase;letter-spacing:1.4px;color:var(--green-dark);font-weight:800;font-size:11px;margin:0 0 7px}.muted{color:var(--muted)}.small{font-size:12px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(24,55,39,.04)}.flash{padding:13px 16px;border-radius:13px;margin:0 0 14px;font-weight:650}.flash.success{background:#d9f6e7;color:#09583a}.flash.error{background:#fee2e2;color:#922d2d}.button{min-height:46px;padding:12px 17px;border-radius:14px;border:0;background:var(--ink);color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.button.primary{background:var(--green);color:#062d1d}.button.secondary{background:#e5ebe7;color:var(--ink)}.button.dark{background:var(--ink);color:#fff}.button.compact{min-height:42px;padding:9px 14px}.button.wide{width:100%}.danger-outline{background:transparent;color:var(--red);border:1px solid #e8b3b3}.section-title{margin:27px 4px 12px}.section-title h2{margin:0;font-size:18px;letter-spacing:-.4px}.section-title>a,.section-title>span{color:var(--green-dark);font-size:13px;font-weight:750}.match-hero{background:linear-gradient(145deg,#173d2c,#0c251a);border-radius:25px;color:#fff;padding:20px;display:grid;grid-template-columns:58px 1fr;gap:16px;box-shadow:0 18px 50px rgba(8,45,28,.25)}.match-date{background:var(--lime);color:var(--ink);border-radius:15px;height:64px;display:grid;place-content:center;text-align:center}.match-date strong{font-size:25px;line-height:1}.match-date span{font-size:10px;font-weight:900}.match-main h2{font-size:25px;margin:7px 0 2px}.match-main p{margin:0;color:#afc4b8;font-size:12px}.pill{font-size:9px;letter-spacing:1px;font-weight:900;background:rgba(201,240,89,.16);color:var(--lime);padding:5px 8px;border-radius:999px}.availability-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid rgba(255,255,255,.14);padding:14px 0}.availability-strip span{display:grid;text-align:center;color:#afc4b8;font-size:10px}.availability-strip b{color:#fff;font-size:20px}.action-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:9px}.wide-grid{grid-column:1/-1}.result-card{padding:18px;display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:10px}.result-card span{color:var(--muted)}.result-card b{font-size:20px}.bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;height:77px;padding:8px max(9px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-bottom));background:rgba(255,255,255,.95);border-top:1px solid var(--line);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;backdrop-filter:blur(15px)}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:0;font-size:10px;color:#66746c}.bottom-nav span{font-size:20px;height:24px}.card-list,.timeline-list{display:grid;gap:10px}.team-card{padding:14px;display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:13px}.team-card small,.player-row small{display:block;color:var(--muted);margin-top:3px}.team-badge{height:50px;border-radius:15px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-weight:900;font-size:12px}.team-card>b,.player-row>b{color:#a9b3ad}.icon-button{width:46px;height:46px;border-radius:15px;background:#fff;display:grid;place-items:center;box-shadow:var(--shadow)}.roster{overflow:hidden}.player-row{min-height:68px;padding:9px 14px;display:grid;grid-template-columns:28px 42px 1fr auto;align-items:center;gap:10px;border-bottom:1px solid #edf0ed}summary{cursor:pointer}summary::-webkit-details-marker{display:none}summary::marker{content:""}.add-player{margin:0 0 14px;overflow:hidden}.add-player>summary{min-height:46px;padding:12px 17px;background:var(--ink);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}.add-player .form{border-top:1px solid var(--line)}.roster details{border-bottom:1px solid #edf0ed}.roster details:last-child{border-bottom:0}.roster details>summary.player-row{border-bottom:0}.player-chevron{transition:transform .18s}.roster details[open] .player-chevron{transform:rotate(90deg)}.player-edit{padding:4px 14px 18px;display:grid;gap:12px}.player-edit .form{padding:0}.number{font-weight:900;color:var(--green-dark)}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e4ede7;color:#245a40;font-weight:850;font-size:12px}.form{padding:18px;display:grid;gap:16px}.form label{display:grid;gap:7px;font-size:12px;font-weight:750;color:#4d5c54}.form input,.form select,.form textarea,.filter-bar select,.page-head select{width:100%;min-height:48px;border:1px solid #d9dfda;border-radius:13px;background:#fdfdfb;padding:11px 12px;outline:none}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(29,182,111,.12)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toggle{grid-template-columns:45px 1fr!important;align-items:center!important}.toggle input{display:none}.toggle span{width:44px;height:26px;border-radius:99px;background:#cbd3ce;position:relative}.toggle span:after{content:"";width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;transition:.2s}.toggle input:checked+span{background:var(--green)}.toggle input:checked+span:after{left:21px}.profile-head{text-align:center;padding:22px}.profile-avatar{width:96px;height:96px;margin:auto;border-radius:34px;display:grid;place-items:center;background:var(--ink);color:var(--lime);font-size:29px;font-weight:900}.profile-head h1{margin:12px 0 2px}.profile-head p{margin:0;color:var(--muted)}.number.large{display:block;margin-top:12px}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:15px 0}.stat{background:#fff;border-radius:17px;padding:17px;display:grid}.stat b{font-size:28px}.stat span{font-size:11px;color:var(--muted)}.stat-grid.four{grid-template-columns:repeat(2,1fr)}.stat.featured{background:var(--ink);color:#fff}.filter-bar{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px}.match-row{background:#fff;border-radius:17px;padding:13px;display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:12px}.match-row time{height:48px;display:grid;place-content:center;text-align:center;border-right:1px solid var(--line)}.match-row time b{font-size:20px;line-height:1}.match-row time span{font-size:10px;text-transform:uppercase}.match-row>span:nth-child(2){display:grid}.match-row small,.match-row em{font-size:10px;color:var(--muted);font-style:normal}.match-row strong{margin:2px 0}.score{font-size:20px}.status-dot{font-size:10px;padding:5px 8px;border-radius:20px;background:#e7ece9}.status-dot.live{background:#daf8e8;color:#08784b}.match-header{text-align:center;background:var(--ink);color:#fff;border-radius:25px;padding:24px 15px}.match-header h1{font-size:22px}.match-header h1 b{color:var(--lime);margin:0 7px}.match-header p,.match-header small{color:#adbbb3}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.menu-tile{min-height:108px;padding:17px;display:flex;flex-direction:column;justify-content:space-between}.menu-tile b{font-size:25px;color:var(--green-dark)}.menu-tile span{font-weight:800}.menu-tile.accent{background:var(--green);color:#062d1d}.event-list{padding:5px 15px}.event-list>div{display:grid;grid-template-columns:45px 1fr;padding:12px 0;border-bottom:1px solid var(--line)}.availability-list{overflow:hidden}.availability-row{padding:10px 12px;display:grid;grid-template-columns:40px 1fr 112px;gap:9px;align-items:center;border-bottom:1px solid var(--line)}.availability-row small{display:block;color:var(--muted);font-size:10px}.availability-row select{min-height:42px;max-width:115px;border:0;background:#eef2ef;border-radius:11px;padding:7px;font-size:12px;font-weight:750}.save-indicator{position:fixed;bottom:89px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:9px 15px;border-radius:99px;font-size:12px;font-weight:750;opacity:0;transition:.2s;z-index:25}.save-indicator.show{opacity:1}.lineup-head{margin:5px 2px 15px}.lineup-head>a{font-size:34px}.lineup-head h1{font-size:25px;margin:0}.lineup-head p{margin:0}.save-status{font-size:11px;color:var(--muted)}.formation-bar{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:10px}.formation-bar label{font-size:11px;font-weight:800;display:grid;gap:4px}.formation-bar select{height:42px;border:1px solid var(--line);border-radius:12px;padding:0 30px 0 10px}.football-pitch{height:min(128vw,620px);max-height:calc(100vh - 240px);min-height:450px;position:relative;overflow:hidden;border:3px solid rgba(255,255,255,.85);border-radius:19px;background:repeating-linear-gradient(0deg,#218953 0,#218953 12.5%,#248f58 12.5%,#248f58 25%);box-shadow:var(--shadow);touch-action:none}.football-pitch:before{content:"";position:absolute;inset:7px;border:2px solid rgba(255,255,255,.68)}.pitch-line.halfway{position:absolute;left:8px;right:8px;top:50%;border-top:2px solid rgba(255,255,255,.68)}.center-circle{position:absolute;left:50%;top:50%;width:25%;aspect-ratio:1;border:2px solid rgba(255,255,255,.68);border-radius:50%;transform:translate(-50%,-50%)}.penalty,.goalbox{position:absolute;left:22%;right:22%;height:16%;border:2px solid rgba(255,255,255,.68)}.goalbox{left:36%;right:36%;height:6%}.top{top:7px;border-top:0}.bottom{bottom:7px;border-bottom:0}.pitch-player{position:absolute;width:58px;min-height:58px;transform:translate(-50%,-50%);display:grid;place-items:center;z-index:5;cursor:grab;user-select:none}.pitch-player .token{width:46px;height:46px;background:var(--ink);color:#fff;border:3px solid var(--lime);border-radius:50%;display:grid;place-items:center;font-weight:900;box-shadow:0 4px 13px rgba(0,0,0,.3)}.pitch-player small{background:rgba(12,35,24,.87);color:#fff;border-radius:6px;padding:2px 5px;font-size:9px;font-weight:800;margin-top:-5px;white-space:nowrap}.badges{position:absolute;top:0;right:0;color:var(--lime);font-size:9px}.bench-list{display:flex;gap:8px;overflow:auto;padding:2px 2px 12px;min-height:78px}.bench-player{min-width:67px;text-align:center;background:#fff;border-radius:15px;padding:8px 4px;box-shadow:0 5px 18px rgba(20,45,31,.07);font-size:10px;font-weight:750}.bench-player .avatar{margin:auto;width:38px;height:38px}.unavailable{opacity:.65}.live-mode{background:#0b1f16;color:#fff}.live-mode .topbar{display:none}.live-mode .page{padding:0 14px 30px}.live-score{text-align:center;padding:22px 0 12px;position:relative}.live-score>a{position:absolute;left:0;top:22px;font-size:30px;color:#9db0a5}.live-score p{text-transform:uppercase;letter-spacing:1.4px;color:#b7c4bc;font-weight:800;font-size:12px;margin:0}.live-score h1{font-size:53px;margin:9px 0 1px;color:var(--lime)}.live-score time{font-variant-numeric:tabular-nums;color:#fff;font-weight:800}.live-start{width:100%;height:66px;background:var(--lime);color:var(--ink);font-size:16px;margin-bottom:15px}.live-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.live-actions button{height:86px;border:1px solid #2a4437;border-radius:18px;background:#142d21;color:#fff;font-size:25px;display:grid;place-items:center}.live-actions button span{font-size:12px;font-weight:800}.live-actions .goal{background:var(--green);color:#052719}.section-title.light h2{color:#fff}.section-title.light button{background:none;color:#8fa89b;border:0}.live-players{display:flex;gap:8px;overflow:auto}.live-players .bench-player{background:#193426;color:#fff;box-shadow:none}.live-events{display:grid;gap:7px}.live-event{display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;background:#142d21;border-radius:13px;padding:10px}.live-event time{color:var(--lime);font-weight:900}.live-event small{display:block;color:#9eb0a6}.undo{border:0;background:#284637;color:#fff;border-radius:10px;min-height:38px}.finish{width:100%;margin-top:25px;background:#412525}.finish:disabled{display:none}dialog{width:min(94vw,480px);border:0;border-radius:23px;padding:0;box-shadow:0 25px 80px rgba(0,0,0,.4)}dialog::backdrop{background:rgba(4,18,11,.75)}dialog form{padding:22px}.dialog-close{float:right;border:0;background:#edf0ee;width:40px;height:40px;border-radius:50%;font-size:22px}.dialog-player-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;clear:both}.dialog-player-grid button{min-height:70px;border:0;border-radius:13px;background:#edf2ef;font-weight:750}.dialog-player-grid button.selected{background:var(--green)}.dialog-actions{display:grid;gap:9px;margin-top:15px}.report-head{text-align:center;padding:18px 5px}.report-head h1{font-size:23px}.report-head h1 b{color:var(--green-dark)}.event-timeline,.minutes-list{padding:8px 15px}.event-timeline>div{display:grid;grid-template-columns:40px 28px 1fr;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.event-timeline p{display:grid;margin:0}.event-timeline small{color:var(--muted);margin-top:2px}.minutes-list>div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.table-scroll{overflow:auto}.table-scroll table{border-collapse:collapse;width:100%;min-width:520px}.table-scroll th,.table-scroll td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}.table-scroll th{font-size:10px;text-transform:uppercase;color:var(--muted)}.empty-state{text-align:center;padding:80px 20px}.empty-state.compact{padding:30px}.guest{background:#10271b;color:#fff}.login-shell{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:25px 18px;background:radial-gradient(circle at 80% 12%,#285d41,transparent 36%),#10271b}.login-hero{padding:20px 5px 35px}.login-hero .eyebrow{color:var(--lime);margin-top:20px}.login-hero h1{font-size:38px;line-height:1.02;margin:0;letter-spacing:-1.7px}.login-card{color:var(--ink);padding:22px;display:grid;gap:16px}.login-card h2{margin:0}.login-card label{display:grid;gap:7px;font-size:12px;font-weight:750}.login-card input{height:50px;border:1px solid var(--line);border-radius:13px;padding:12px}.login-card p{text-align:center;margin:0}
@media(min-width:700px){.page{padding:28px 30px 100px}.page-head h1{font-size:45px}.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:520px;border:1px solid var(--line);border-radius:24px 24px 0 0}.match-hero{grid-template-columns:70px 1fr 1fr}.availability-strip{grid-column:3;grid-row:1;border:0}.action-grid{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.wide-grid{grid-column:auto}.stat-grid.four{grid-template-columns:repeat(4,1fr)}.report-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.login-shell{display:grid;grid-template-columns:1fr 430px;align-items:center;gap:8vw;padding:8vw}.login-hero h1{font-size:60px}.football-pitch{width:480px;margin:auto;height:620px}.bench,.unavailable{max-width:650px;margin:auto}.menu-grid{grid-template-columns:repeat(4,1fr)}}
