:root{--bg:#0a101b;--bg2:#0d1422;--panel:#111a2a;--panel2:#151f31;--line:rgba(201,211,226,.14);--line2:rgba(201,211,226,.22);--text:#f6f8fb;--muted:#aeb8c8;--silver:#d5dbe5;--red:#ef151d;--red2:#bf0e16;--green:#2edb88;--gold:#f2c94c;--radius:14px;--sidebar:230px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 75% 0,rgba(239,21,29,.08),transparent 25%),linear-gradient(180deg,#0a101b,#09101a);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}.app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);display:flex;flex-direction:column;background:linear-gradient(180deg,#111a2b,#0d1523);border-right:1px solid var(--line);box-shadow:16px 0 40px #0002;z-index:50}.brand{min-height:86px;display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}.brand-mark{width:42px;height:42px;flex:0 0 auto;background:linear-gradient(135deg,transparent 0 16%,#f2f4f7 16% 36%,#e4151d 36% 68%,#8f1117 68%);clip-path:polygon(0 100%,0 52%,52% 0,100% 0,100% 48%,48% 100%)}.brand strong{display:block;font-size:20px;letter-spacing:-.02em}.brand em,.topbar em{color:var(--red);font-style:normal}.brand span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.nav{padding:16px 10px;display:grid;gap:5px}.nav a{min-height:44px;display:flex;align-items:center;gap:13px;padding:0 14px;color:#dfe5ee;text-decoration:none;border:1px solid transparent;border-radius:8px;font-size:14px;transition:160ms ease;position:relative}.nav a:hover{background:#fff1;border-color:var(--line)}.nav a.active{background:linear-gradient(90deg,rgba(239,21,29,.96),rgba(191,14,22,.92));border-color:#fff2;color:#fff;box-shadow:0 8px 22px rgba(239,21,29,.18)}.nav a.active:before{content:"";position:absolute;left:-10px;top:0;bottom:0;width:4px;background:#ff4a50}.nav a span:first-child{width:18px;text-align:center}.badge{margin-left:auto;min-width:21px;height:21px;display:inline-grid;place-items:center;padding:0 6px;border-radius:999px;background:var(--red);color:#fff;font-size:11px}.sidebar-footer{margin-top:auto;padding:16px}.season-box{border:1px solid var(--line);border-radius:10px;padding:14px;text-align:center;background:#fff1}.season-box span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.season-box strong{font-size:14px}.main{grid-column:2;min-width:0}.topbar{height:66px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#0c131fdf;backdrop-filter:blur(16px);position:sticky;top:0;z-index:30}.topbar-left,.topbar-right,.profile{display:flex;align-items:center}.topbar-left{gap:14px;min-width:0}.topbar-left strong{font-size:16px;white-space:nowrap}.topbar-left i{width:1px;height:20px;background:var(--line2)}.topbar-left span{color:var(--muted);font-size:14px}.topbar-right{gap:14px}.icon-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid transparent;border-radius:50%;background:transparent;color:#fff;position:relative}.icon-button:hover{background:#fff1;border-color:var(--line)}.notification-dot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px var(--bg2)}.profile{gap:9px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(#8190a6,#516075);border:1px solid #fff3;font-size:12px;font-weight:800}.profile strong{font-size:13px}.content{padding:28px;max-width:1540px;margin:0 auto}.page-header{position:relative;overflow:hidden;padding:0 4px 22px}.page-header:after{content:"";position:absolute;width:480px;height:170px;right:-100px;top:-66px;opacity:.18;background:repeating-linear-gradient(160deg,transparent 0 20px,#fff2 20px 22px),linear-gradient(90deg,transparent,rgba(239,21,29,.24));transform:skewX(-18deg);pointer-events:none}.eyebrow{margin:0 0 7px;color:#ff4a50;font-size:11px;font-weight:900;letter-spacing:.13em}.page-header h1{margin:0;font-size:clamp(28px,3vw,40px);letter-spacing:-.04em;line-height:1.05}.page-header>p:last-child{margin:8px 0 0;color:var(--muted);font-size:16px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);gap:16px;align-items:stretch}.card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(21,31,49,.98),rgba(15,24,39,.98));box-shadow:0 12px 38px #0003;border-radius:var(--radius)}.match-card{min-height:246px;padding:20px;overflow:hidden;position:relative;display:flex;flex-direction:column;justify-content:space-between}.match-card:before,.match-card:after{content:"";position:absolute;pointer-events:none}.match-card:before{inset:auto auto -58px -32px;width:185px;height:240px;transform:rotate(28deg);background:linear-gradient(90deg,transparent 0 26%,#ffffffe8 26% 35%,#ef151dfc 35% 76%,#7a090efc 76%);opacity:.52}.match-card:after{right:-38px;top:-20px;width:190px;height:170px;transform:skewX(-22deg);background:repeating-linear-gradient(160deg,transparent 0 20px,#fff2 20px 22px),linear-gradient(135deg,rgba(239,21,29,.9),rgba(121,8,14,.5));opacity:.62}.match-meta,.match-center,.match-actions{position:relative;z-index:2}.match-meta{display:flex;align-items:center;gap:8px;color:var(--silver);font-weight:700;font-size:14px}.competition-mark{width:22px;height:22px;border:2px solid currentColor;border-radius:50%;position:relative}.competition-mark:after{content:"";position:absolute;inset:4px;border:2px solid currentColor;border-radius:50%}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:78px;min-height:24px;padding:0 10px;border-radius:999px;border:1px solid var(--line);color:var(--silver);background:#fff1;font-size:11px;margin-left:auto}.status-pill.open{border-color:#ef151db3;background:var(--red);color:#fff;font-weight:800}.match-center{text-align:center;padding:8px 0 10px}.teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-bottom:12px}.teams strong{font-size:clamp(25px,3vw,36px);letter-spacing:-.04em}.teams span{color:var(--silver);font-size:24px;font-weight:900}.match-date,.match-time{font-size:15px;font-weight:800}.stadium{margin-top:8px;color:var(--muted);font-size:13px}.match-actions{display:grid;justify-items:center;gap:8px}.primary-button{min-height:44px;min-width:270px;padding:0 28px;border:1px solid #fff3;border-radius:9px;color:#fff;font-weight:900;background:linear-gradient(#f41c25,#d90f18);box-shadow:0 12px 26px rgba(239,21,29,.25);transition:transform 140ms ease}.primary-button:hover{transform:translateY(-1px)}.deadline,.saved-status{color:var(--muted);font-size:12px}.saved-status{color:var(--green);min-height:16px}.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kpi{min-height:117px;padding:16px;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:13px}.kpi-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgba(239,21,29,.13);border:1px solid rgba(239,21,29,.42);font-size:20px}.kpi-label{color:var(--muted);font-size:12px}.kpi-value{margin-top:5px;font-size:28px;font-weight:900;letter-spacing:-.04em}.kpi-value.small{font-size:16px;line-height:1.2}.kpi-note{margin-top:4px;color:var(--muted);font-size:11px}.kpi-note.positive{color:var(--green);font-weight:700}.section-grid{display:grid;grid-template-columns:1fr 1fr .72fr;gap:16px;margin-top:16px}.section-card{min-width:0;overflow:hidden}.section-head{padding:18px 18px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h2,.prediction-panel h2{margin:0;font-size:20px;letter-spacing:-.03em}.section-head a{color:var(--muted);text-decoration:none;font-size:12px;white-space:nowrap}.table-wrap{padding:0 12px 14px;overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:390px;border:1px solid var(--line);border-radius:10px;overflow:hidden}th,td{padding:10px 12px;border-bottom:1px solid var(--line);font-size:12px;text-align:left}th{color:var(--muted);font-weight:700;background:#fff1}td:nth-child(1),td:nth-child(3),td:nth-child(4),th:nth-child(1),th:nth-child(3),th:nth-child(4){text-align:right}tr:last-child td{border-bottom:0}.empty-state{min-height:170px;display:grid;place-items:center;align-content:center;gap:6px;text-align:center;padding:18px;color:var(--muted)}.empty-state>span{font-size:32px;color:var(--red)}.empty-state strong{color:var(--text)}.empty-state p{max-width:300px;margin:0;font-size:12px;line-height:1.5}.rules-card{padding-bottom:14px}.rule-list{margin:0 18px 12px;padding:0;list-style:none}.rule-list li{min-height:44px;display:flex;align-items:center;gap:11px;color:var(--silver);border-bottom:1px solid var(--line);font-size:13px}.rule-list li:last-child{border-bottom:0}.rule-list span{width:24px;color:var(--muted)}.secondary-button{width:calc(100% - 24px);min-height:44px;margin:0 12px;border-radius:9px;border:1px solid var(--red);background:transparent;color:#fff;font-weight:800}.secondary-button:hover{background:rgba(239,21,29,.08)}.upcoming{margin-top:16px}.prediction-panel{margin-top:16px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.prediction-panel>div>p:last-child{margin:7px 0 0;color:var(--muted);font-size:13px}.prediction-panel form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.prediction-panel label{display:grid;gap:5px;color:var(--muted);font-size:11px}.prediction-panel input{width:65px;height:44px;border:1px solid var(--line2);border-radius:8px;background:#09111e;color:#fff;text-align:center;font-size:18px}.prediction-panel form>strong{padding-bottom:12px}.prediction-panel .primary-button{min-width:120px}.prediction-panel output{color:var(--green);font-size:12px;min-width:155px}.mobile-menu-button,.mobile-bottom-nav,.sidebar-overlay{display:none}@media(max-width:1180px){.dashboard-grid,.section-grid{grid-template-columns:1fr}.section-grid{grid-template-columns:1fr 1fr}.rules-card{grid-column:1/-1}}@media(max-width:920px){:root{--sidebar:270px}.app{display:block}.main{grid-column:auto}.sidebar{transform:translateX(-100%);transition:transform 200ms ease}.menu-open .sidebar{transform:translateX(0)}.sidebar-overlay{position:fixed;inset:0;background:#0009;z-index:40}.menu-open .sidebar-overlay{display:block}.mobile-menu-button{display:grid}.topbar{padding:0 16px}.topbar-left span,.topbar-left i,.profile strong,.profile span{display:none}.content{padding:22px 16px 96px}.section-grid{grid-template-columns:1fr}.rules-card{grid-column:auto}.mobile-bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:35;min-height:68px;border-top:1px solid var(--line);background:#0b111cf7;backdrop-filter:blur(16px);padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom-nav a{display:grid;place-items:center;align-content:center;gap:4px;text-decoration:none;color:var(--muted);font-size:16px}.mobile-bottom-nav a.active{color:#fff}.mobile-bottom-nav small{font-size:10px}}@media(max-width:640px){.topbar{height:58px}.topbar-left strong{font-size:15px}.content{padding-top:18px}.page-header{padding-bottom:18px}.page-header h1{font-size:26px}.page-header>p:last-child{font-size:13px}.dashboard-grid{gap:12px}.match-card{min-height:0;padding:16px}.teams{gap:10px}.teams strong{font-size:23px}.teams span{font-size:18px}.primary-button{width:100%;min-width:0;min-height:48px}.kpi-grid{gap:10px}.kpi{min-height:102px;padding:14px;grid-template-columns:1fr;gap:8px}.kpi-icon{display:none}.kpi-value{font-size:24px}.kpi-value.small{font-size:15px}.section-head h2{font-size:18px}.table-wrap{overflow-x:auto}.prediction-panel{display:block}.prediction-panel form{margin-top:18px}.prediction-panel form .primary-button{flex:1}.prediction-panel output{width:100%}}@media(max-width:390px){.content{padding-left:12px;padding-right:12px}.teams strong{font-size:20px}.kpi-label{font-size:11px}}
:where(.auth-panel) { margin-bottom: 24px; }
.auth-form { display: grid; gap: 14px; max-width: 520px; }
.auth-form label { display: grid; gap: 6px; color: var(--muted, #a9bad4); font-size: .9rem; }
.auth-form input { border: 1px solid rgba(151,177,211,.25); border-radius: 10px; padding: 12px 14px; background: rgba(6,14,27,.55); color: inherit; }
.auth-form output { min-height: 20px; color: var(--muted, #a9bad4); }
.logout-button { border: 1px solid var(--line); border-radius: 7px; padding: 6px 9px; background: transparent; color: var(--muted); font-size: 11px; }
.logout-button:hover { color: var(--text); border-color: var(--red); }
.admin-panel { margin-bottom: 24px; }
.admin-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding: 0 18px 14px; }
.admin-kpi { border: 1px solid var(--line); border-radius: 10px; padding: 14px; background: rgba(6,14,27,.35); }
.admin-kpi span { display: block; color: var(--muted); font-size: 12px; }
.admin-kpi strong { display: block; margin-top: 6px; font-size: 24px; }
.admin-sync { border-top: 1px solid var(--line); padding: 13px 18px 16px; color: var(--muted); font-size: 12px; }
.admin-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 0 18px 18px; }
.admin-columns h3 { margin: 0 0 8px; font-size: 14px; }
.admin-table-wrap { overflow-x: auto; }
.admin-table-wrap table { min-width: 0; }
.admin-table-wrap th, .admin-table-wrap td { padding: 8px 9px; font-size: 11px; }
.admin-action { border: 1px solid var(--red); border-radius: 6px; padding: 5px 8px; background: transparent; color: var(--text); font-size: 11px; }
.admin-chat-reports { padding: 0 18px 18px; }
.admin-chat-reports h3 { margin: 0 0 8px; font-size: 14px; }
.admin-bonuses { padding: 0 18px 18px; }
.admin-bonuses h3 { margin: 16px 0 8px; font-size: 14px; }
.admin-bonus-form { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.admin-bonus-form input { min-width: 120px; flex: 1; border: 1px solid var(--line2); border-radius: 7px; padding: 8px; background: #09111e; color: var(--text); }
.admin-bonus-form .admin-action { cursor: pointer; }
.admin-bonus-form output { color: var(--muted); font-size: 11px; align-self: center; }
@media(max-width:640px){.admin-kpis{grid-template-columns:1fr 1fr;}}
@media(max-width:800px){.admin-columns{grid-template-columns:1fr;}}
.social-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 16px; margin-top: 16px; }
.social-list, .chat-list { padding: 0 18px 18px; max-height: 360px; overflow: auto; }
.social-empty { color: var(--muted); font-size: 13px; }
.notification-item { width: 100%; display: grid; gap: 5px; padding: 12px; margin-bottom: 8px; border: 1px solid var(--line); border-radius: 9px; background: transparent; color: var(--text); text-align: left; }
.notification-item.unread { border-color: var(--red); background: rgba(239,21,29,.08); }
.notification-item span { color: var(--muted); font-size: 12px; }
.chat-message { position: relative; padding: 11px 42px 11px 12px; border-bottom: 1px solid var(--line); }
.chat-message strong { font-size: 12px; }
.chat-message time { color: var(--muted); font-size: 10px; margin-left: 8px; }
.chat-message p { margin: 5px 0 0; font-size: 13px; white-space: pre-wrap; overflow-wrap: anywhere; }
.chat-message button { position: absolute; right: 4px; top: 12px; border: 0; background: transparent; color: var(--muted); font-size: 10px; }
.chat-form { display: flex; gap: 8px; padding: 0 18px 18px; flex-wrap: wrap; }
.chat-form input { flex: 1; min-width: 160px; border: 1px solid var(--line2); border-radius: 8px; padding: 11px; background: #09111e; color: var(--text); }
.chat-form .primary-button { min-width: 110px; }
.chat-form output { width: 100%; color: var(--muted); font-size: 11px; }
.bonus-panel { margin-top: 16px; }
.bonus-list { display: grid; gap: 10px; padding: 0 18px 18px; }
.bonus-item { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 10px; }
.bonus-item strong, .bonus-item span { display: block; }
.bonus-item span { margin-top: 5px; color: var(--muted); font-size: 12px; }
.bonus-answer { display: flex; gap: 8px; align-items: center; }
.bonus-answer input { width: 190px; border: 1px solid var(--line2); border-radius: 8px; padding: 10px; background: #09111e; color: var(--text); }
.bonus-answer .secondary-button { width: auto; min-height: 40px; margin: 0; }
.bonus-answer output { min-width: 70px; color: var(--green); font-size: 11px; }
@media(max-width:800px){.bonus-item{grid-template-columns:1fr}.bonus-answer{flex-wrap:wrap}.bonus-answer input{flex:1;width:auto}}
@media(max-width:800px){.social-grid{grid-template-columns:1fr;}}
