@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--accent:#6d5dfc;--bg:#f4f5f9;--ink:#171825;--muted:#73758a;--line:#e6e7ee;--panel:#fff;--sidebar:#171825;--danger:#e14f61}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--sidebar);color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:10}.logo{display:flex;align-items:center;gap:11px;font-weight:800;font-size:17px;margin:0 8px 35px}.logo-symbol,.brand-mark{display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#29b5e8);color:#fff;font-weight:800;border-radius:12px}.logo-symbol{width:38px;height:38px;font-size:12px}.sidebar nav{display:grid;gap:7px}.nav-item{padding:12px 14px;display:flex;gap:13px;align-items:center;border-radius:10px;color:#aeb0c0;font-weight:600}.nav-item span{font-size:18px}.nav-item:hover,.nav-item.active{background:#28293b;color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--accent)}.sidebar-user{margin-top:auto;border-top:1px solid #303142;padding:18px 7px 0;display:flex;gap:10px;align-items:center}.sidebar-user div:nth-child(2){min-width:0;flex:1}.sidebar-user strong,.sidebar-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user small{color:#8e90a3;font-size:11px;margin-top:2px}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--accent);font-weight:800;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.main{margin-left:250px;padding:30px 34px 50px;max-width:1600px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.topbar h1{margin:2px 0 0;font-size:25px}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800;color:var(--accent)}.date-chip{background:#fff;padding:10px 14px;border:1px solid var(--line);border-radius:9px;font-weight:700}.menu-button{display:none}.hero{background:linear-gradient(130deg,var(--accent),#3e38a8);color:#fff;border-radius:20px;padding:35px 38px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:250px;height:250px;border:50px solid rgba(255,255,255,.08);border-radius:50%;right:-80px;top:-100px}.hero .eyebrow{color:#d8d5ff}.hero h2{font-size:27px;max-width:590px;line-height:1.25;margin:8px 0}.hero p{color:#dddafe;margin:0}.button{border:0;border-radius:9px;padding:11px 17px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.button.primary{background:var(--accent);color:#fff}.button.light{background:#fff;color:var(--accent);z-index:1}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.stat,.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px}.stat{padding:20px}.stat span,.stat small{display:block;color:var(--muted)}.stat strong{font-size:30px;display:block;margin:8px 0 2px}.panel{padding:22px;margin-top:18px}.panel-head,.actions{display:flex;align-items:center;justify-content:space-between;gap:18px}.panel-head h2{font-size:18px;margin:3px 0}.text-link,.row-actions a{color:var(--accent);font-weight:800;font-size:12px}.game-list{margin-top:14px}.game-row{display:flex;align-items:center;gap:18px;padding:13px 0;border-top:1px solid var(--line)}.game-date{background:#f2f1ff;border-radius:9px;padding:8px 12px;text-align:center}.game-date strong,.game-date span{display:block}.game-date span{color:var(--muted);font-size:11px}.game-info{display:grid;gap:4px;flex:1}.game-info small,.muted{color:var(--muted)}.game-info em{color:var(--accent);font-style:normal;margin:0 7px}.badge{padding:5px 9px;border-radius:99px;background:#eee;font-size:10px;font-weight:800;text-transform:uppercase}.badge.live,.badge.active{background:#daf8e7;color:#18834a}.badge.finished{background:#e4e6ed;color:#5f6272}.badge.scheduled{background:#e4e3ff;color:#5145c8}.badge.cancelled,.badge.inactive{background:#ffe1e5;color:#b63245}.alert{padding:13px 15px;border-radius:9px;margin:12px 0;font-weight:600}.alert.success{background:#daf8e7;color:#176c41}.alert.error{background:#ffe1e5;color:#a42738}.actions{margin-bottom:15px}.form-panel{margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.form-grid label,.stack label{display:grid;gap:7px;color:#56586b;font-size:12px;font-weight:800}.span-2{grid-column:span 2}input,select,textarea{width:100%;border:1px solid #dadce6;border-radius:8px;background:#fff;padding:11px 12px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)}textarea{min-height:85px;resize:vertical}.check{display:flex!important;align-items:center;grid-template-columns:auto 1fr!important}.check input{width:18px;height:18px}.table-panel{padding:0;overflow:hidden}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--line);white-space:nowrap}th{background:#fafafd;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}td strong,td small{display:block}td small{color:var(--muted);margin-top:4px}.row-actions{display:flex;gap:12px;align-items:center}.row-actions form{margin:0}.row-actions button{border:0;background:none;padding:0;color:var(--danger);font-weight:800;font-size:12px;cursor:pointer}.banner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.banner-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.banner-image{height:150px;background:#e8e8f0;display:grid;place-items:center;color:var(--muted)}.banner-image img{width:100%;height:100%;object-fit:cover}.banner-body{padding:17px}.banner-body h3{margin:12px 0 3px}.banner-body p{color:var(--muted);min-height:20px}.empty{padding:35px;text-align:center;color:var(--muted)}.api-box{background:#f6f6fb;border-radius:10px;padding:16px;margin-top:22px}.api-box code{display:block;margin-top:8px;overflow:auto;color:#5145c8}.auth-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#35305f,#151521 60%);padding:20px}.auth-card{width:min(430px,100%);background:#fff;border-radius:20px;padding:35px;box-shadow:0 25px 70px #0005}.brand-mark{width:48px;height:48px;margin-bottom:28px}.auth-card h1{margin:7px 0 8px;font-size:26px}.stack{display:grid;gap:16px;margin-top:24px}.stack .button{margin-top:5px}
@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.banner-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;padding:20px 14px}.menu-button{display:block;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 11px}.topbar{justify-content:flex-start;gap:14px}.date-chip{margin-left:auto}.hero{padding:24px;display:block}.hero .button{margin-top:20px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:15px}.stat strong{font-size:24px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.banner-grid{grid-template-columns:1fr}.game-row{gap:10px}.game-row .badge{display:none}}@media(max-width:430px){.stats{grid-template-columns:1fr}.date-chip{display:none}.auth-card{padding:25px}}
.light-action{background:#f0efff!important;color:var(--accent)!important;border:1px solid #dcd9ff!important}.sync-actions{display:flex;gap:10px;margin-top:18px}.sync-actions form{margin:0}.api-box small{display:block;margin-top:8px;color:var(--muted)}
.template-preview{display:block;width:100%;height:720px;border:0;background:#111;border-radius:10px}
.banner-image.generated{height:260px;overflow:hidden;background:#111}.banner-image.generated iframe{width:1122px;height:1400px;border:0;transform:scale(.25);transform-origin:top left;pointer-events:none}.section-title{margin:28px 0 8px;font-size:18px}
