*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#0a0d10;color:#111;font-family:Arial,"Microsoft YaHei",sans-serif}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
body{background:linear-gradient(180deg,#0b1110,#090b0e)}
.shell{width:100%;max-width:430px;min-height:100vh;margin:0 auto;background:#f4efe6;color:#17211d;box-shadow:0 0 0 1px rgba(223,190,122,.18),0 24px 80px rgba(0,0,0,.45)}
.topbar{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;height:58px;padding:9px 14px;background:#0d201a;color:#f8ecd0;border-bottom:1px solid rgba(219,184,111,.28)}
.brand{display:flex;align-items:center;gap:9px;min-width:0}
.logo-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#f2d486,#a7752a);color:#102019;font-size:12px;font-weight:1000;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.brand-text{display:grid;gap:2px;line-height:1}
.brand-text strong{font-size:17px;color:#fff6df;font-weight:1000;letter-spacing:0}
.brand-text span{font-size:10px;color:#d8b36b;font-weight:900;letter-spacing:.6px}
.badge{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;border-radius:999px;background:#e6c276;color:#17110a;font-size:12px;font-weight:1000}
.content{padding:12px 12px 82px}
.hero{position:relative;margin:-12px -12px 12px;padding:18px 14px 16px;background:linear-gradient(135deg,#0e2d24 0%,#10251f 46%,#18253b 100%);color:#fff8e8;border-bottom:1px solid rgba(218,184,111,.25)}
.hero:after{content:"";position:absolute;right:-42px;top:-52px;width:150px;height:150px;border-radius:50%;background:rgba(230,194,118,.16);filter:blur(2px)}
.hero-inner{position:relative;z-index:1}
.hero-kicker{display:inline-flex;height:24px;align-items:center;padding:0 9px;border-radius:999px;background:rgba(230,194,118,.12);border:1px solid rgba(230,194,118,.28);color:#e6c276;font-size:11px;font-weight:1000}
.hero-title{margin:10px 0 8px;font-size:25px;line-height:1.16;font-weight:1000;letter-spacing:0;color:#fff8e8}
.hero-copy{margin:0;color:#d7e0d8;font-size:13px;line-height:1.55}
.hero-stats{display:flex;gap:8px;margin-top:13px}
.hero-stat{flex:1;min-width:0;padding:9px 8px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(230,194,118,.16)}
.hero-stat span{display:block;color:#aebcb5;font-size:10px;font-weight:900;white-space:nowrap}
.hero-stat strong{display:block;margin-top:4px;color:#e6c276;font-size:17px;line-height:1}
.tabs{display:flex;gap:8px;overflow:auto;padding:4px 0 12px}
.tab{flex:0 0 auto;height:38px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;background:#fffaf0;border:1px solid #e1d0aa;color:#263b33;font-size:13px;font-weight:1000;box-shadow:0 8px 18px rgba(38,59,51,.06)}
.tab.active{background:#102019;color:#e6c276;border-color:#102019}
.match-search{display:grid;grid-template-columns:1fr 74px;gap:8px;margin:8px 0 10px}
.match-search .btn{min-height:44px;padding:8px 10px}
.compact-head{margin-top:2px}
.league-filter{display:flex;gap:8px;overflow:auto;padding:2px 0 12px}
.league-chip{flex:0 0 auto;min-height:34px;display:inline-flex;align-items:center;padding:0 11px;border-radius:999px;background:#fffaf0;border:1px solid #e1d0aa;color:#2f493f;font-size:12px;font-weight:1000;box-shadow:0 8px 18px rgba(38,59,51,.05)}
.league-chip.active{background:#102019;color:#e6c276;border-color:#102019}
.filter-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 10px;padding:9px;border-radius:12px;background:#fff4d8;border:1px solid #e1d0aa}
.filter-summary span{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;border-radius:999px;background:#f4ecdc;color:#2f493f;font-size:11px;font-weight:900}
.filter-summary a{margin-left:auto;color:#9b7130;font-size:12px;font-weight:1000}
.section-head{display:flex;align-items:center;justify-content:space-between;margin:10px 2px 8px}
.section-title{margin:0;font-size:16px;line-height:1.2;color:#102019;font-weight:1000}
.section-more{font-size:12px;color:#9b7130;font-weight:1000}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 12px}
.back-link{height:34px;display:inline-flex;align-items:center;gap:5px;padding:0 11px;border-radius:999px;background:#102019;color:#e6c276;font-size:12px;font-weight:1000}
.page-title{margin:0;color:#102019;font-size:20px;line-height:1.15;font-weight:1000}
.card{background:#fffaf0;border:1px solid #e1d0aa;border-radius:14px;padding:13px;margin:10px 0;box-shadow:0 12px 26px rgba(30,42,36,.09)}
.tool-card{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:14px;background:#fffaf0;border:1px solid #e1d0aa;border-radius:14px;margin:10px 0;box-shadow:0 12px 26px rgba(30,42,36,.09)}
.tool-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#102019,#1f3d32);color:#e6c276;font-size:18px;font-weight:1000}
.tool-title{margin:0;color:#102019;font-size:17px;line-height:1.2;font-weight:1000}
.tool-desc{margin:5px 0 0;color:#64756d;font-size:12px;line-height:1.45;font-weight:800}
.tool-arrow{color:#9b7130;font-size:18px;font-weight:1000}
.tool-panel{background:#fffaf0;border:1px solid #e1d0aa;border-radius:16px;padding:14px;margin-top:10px;box-shadow:0 12px 26px rgba(30,42,36,.09)}
.tool-result{padding:12px;border-radius:12px;background:#102019;color:#f8ecd0;font-size:13px;font-weight:900;line-height:1.5}
.share-copy{margin:10px 0;padding:12px;border-radius:12px;background:#fff4d8;border:1px solid #e1d0aa;color:#263b33;font-size:13px;line-height:1.55;font-weight:800;white-space:pre-wrap}
.match-card{display:block;padding:0;overflow:hidden}
.match-band{height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;background:#102019;color:#f7e8c6}
.league{font-size:12px;color:#d6b56e;font-weight:1000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.match-id{font-size:11px;color:#9fb1a8;font-weight:900;white-space:nowrap}
.match-body{padding:13px 12px 11px;background:#fffaf0}
.match-line{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.teams{margin:0;color:#0d1c17;font-size:19px;line-height:1.26;font-weight:1000;letter-spacing:0}
.versus{padding:0 5px;color:#a7752a;font-size:15px}
.hot{height:26px;padding:0 9px;background:#b83246;color:white}
.time{margin-top:7px;color:#65776f;font-size:12px;font-weight:900}
.odds-row{display:flex;gap:8px;margin-top:12px}
.odd-box{flex:1;min-width:0;padding:9px 8px;border-radius:10px;background:#f4ecdc;border:1px solid #e4d1a8}
.odd-box span{display:block;color:#64756d;font-size:11px;font-weight:900}
.odd-box strong{display:block;margin-top:5px;color:#0d1c17;font-size:18px;line-height:1;font-weight:1000}
.match-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-top:1px solid #e8d9b7;background:#fff5e2}
.signal{font-size:12px;color:#2f493f;font-weight:1000}
.vip-chip{height:25px;display:inline-flex;align-items:center;border-radius:999px;padding:0 9px;background:#102019;color:#e6c276;font-size:11px;font-weight:1000;white-space:nowrap}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.metric{padding:10px;border-radius:10px;background:#f4ecdc;border:1px solid #e4d1a8}
.metric span{display:block;color:#64756d;font-size:11px;font-weight:900}
.metric strong{display:block;margin-top:5px;color:#102019;font-size:18px;line-height:1}
.guest-hero{position:relative;overflow:hidden;margin:4px 0 12px;padding:19px 16px;border-radius:16px;background:linear-gradient(145deg,#081711,#123f31 58%,#9b7130);box-shadow:0 18px 36px rgba(8,23,17,.23);color:#fffaf0}
.guest-hero:after{content:"";position:absolute;right:-36px;top:-42px;width:128px;height:128px;border-radius:50%;border:1px solid rgba(230,194,118,.35)}
.guest-badge{display:inline-flex;min-height:27px;align-items:center;padding:0 10px;border-radius:999px;background:rgba(230,194,118,.14);border:1px solid rgba(230,194,118,.45);color:#f1d28b;font-size:12px;font-weight:1000}
.guest-hero h1{position:relative;margin:12px 0 8px;font-size:22px;line-height:1.18;letter-spacing:0;color:#fffaf0;font-weight:1000}
.guest-hero p{position:relative;margin:0;color:#e8ddc8;font-size:13px;line-height:1.65;font-weight:800}
.guest-actions{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}
.guest-benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.guest-benefit{min-height:112px;padding:13px;border-radius:14px;background:#fffaf0;border:1px solid #e1d0aa;box-shadow:0 12px 26px rgba(30,42,36,.08)}
.guest-benefit strong{display:block;color:#102019;font-size:14px;line-height:1.25;font-weight:1000}
.guest-benefit span{display:block;margin-top:8px;color:#64756d;font-size:12px;line-height:1.55;font-weight:800}
.guest-note{background:#fff4d8}
.prediction{border-left:4px solid #b88736}
.locked{border:1px dashed #b88736;background:#fff4d8;color:#5a3b07}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border:0;border-radius:10px;background:#102019;color:#e6c276;font-weight:1000;cursor:pointer}
.btn.full{width:100%}
.btn.green{background:#0f6b4c;color:white}
.btn.red{background:#9f1d2f;color:white}
.btn.gray{background:#4e6258;color:white}
.form{display:grid;gap:10px}
.input{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid #d9c79d;background:#fffdf7;color:#102019}
textarea.input{min-height:110px;resize:vertical}
.check{display:flex;align-items:center;gap:7px;color:#2f493f;font-size:12px;font-weight:900}
.check input{width:16px;height:16px;accent-color:#0f6b4c}
.muted{color:#64756d;font-size:13px;line-height:1.5}
.bottom-nav{position:fixed;left:50%;bottom:0;z-index:10;width:100%;max-width:430px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,250,240,.97);border-top:1px solid #e1d0aa}
.bottom-nav a{display:grid;place-items:center;min-height:62px;color:#63766d;font-size:12px;font-weight:1000}
.bottom-nav a.active{color:#102019}
.mini{font-size:11px;color:#8fa096}
.table{width:100%;border-collapse:collapse;background:#fffaf0}
.table th,.table td{border-bottom:1px solid #ead9b6;padding:9px 6px;text-align:left;font-size:13px;vertical-align:top}
.table th{color:#6b7c71;background:#f5efe0}
.notice{padding:10px 12px;border-radius:10px;background:#e9f5ee;color:#0f6b4c;font-size:13px;font-weight:900}
.vip-hero{padding-bottom:20px}
.vip-hero .hero-title{font-size:23px}
.vip-shell-card{position:relative;margin:12px 0;background:#fffaf0;border:1px solid #d8bd7d;border-radius:14px;overflow:hidden;box-shadow:0 16px 34px rgba(16,32,25,.16)}
.vip-card-band{min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:linear-gradient(135deg,#0d201a,#17372c);color:#f7e8c6;border-bottom:1px solid rgba(230,194,118,.24)}
.vip-card-band span{font-size:10px;font-weight:1000;color:#d6b56e;letter-spacing:.7px}
.vip-card-band b{font-size:22px;line-height:1;color:#fff8e8}
.vip-card-body{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;padding:13px;background:linear-gradient(180deg,#fffaf0,#fff4df)}
.vip-card-body div{padding:10px;border-radius:10px;background:#f4ecdc;border:1px solid #e4d1a8}
.vip-card-body p{margin:0;color:#64756d;font-size:11px;font-weight:900}
.vip-card-body strong{display:block;margin-top:5px;color:#102019;font-size:14px;line-height:1.35}
.vip-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.vip-progress-head b{display:block;color:#102019;font-size:17px;line-height:1.25}
.vip-step-label{display:inline-flex;margin-bottom:5px;height:22px;align-items:center;padding:0 8px;border-radius:999px;background:#102019;color:#e6c276;font-size:10px;font-weight:1000}
.progress-track{height:12px;margin:13px 0;border-radius:999px;background:#e8d8b7;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.08)}
.progress-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0f6b4c,#d2a74f);box-shadow:0 0 14px rgba(210,167,79,.35)}
.vip-task-line{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;padding:9px 10px;border-radius:10px;background:#f4ecdc;border:1px solid #e4d1a8}
.vip-task-line span{font-size:12px;color:#64756d;font-weight:900}
.vip-task-line b{font-size:13px;color:#102019}
.vip-preview-card{display:block;margin:10px 0;border:1px solid #d8bd7d;border-radius:14px;overflow:hidden;background:#fffaf0;box-shadow:0 14px 30px rgba(30,42,36,.12)}
.vip-preview-card .match-body{padding-bottom:13px}
.vip-preview-card .teams{margin:0;font-size:18px}
.vip-unlock-row{display:grid;grid-template-columns:50px 1fr;gap:9px;align-items:start;margin:8px 0;padding:9px;border-radius:10px;background:#f4ecdc;border:1px solid #e4d1a8}
.vip-unlock-row span{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border-radius:999px;background:#102019;color:#e6c276;font-size:11px;font-weight:1000}
.vip-unlock-row p{margin:0;color:#2f493f;font-size:12px;line-height:1.45;font-weight:800}
.vip-unlock-row.locked-line{background:#fff4d8;border-style:dashed}
.vip-level-card{position:relative;background:#fffaf0;border:1px solid #e1d0aa;border-radius:14px;padding:13px;margin:10px 0;box-shadow:0 12px 26px rgba(30,42,36,.09);overflow:hidden}
.vip-level-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#102019,#d2a74f)}
.vip-level-card.active{border-color:#0f6b4c;box-shadow:0 0 0 2px rgba(15,107,76,.12),0 12px 26px rgba(30,42,36,.09)}
.vip-level-ribbon{position:absolute;right:12px;top:12px;min-width:46px;height:28px;display:grid;place-items:center;border-radius:9px;background:#102019;color:#e6c276;font-size:12px;font-weight:1000}
.vip-level-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.vip-level-top>div{padding-right:54px}
.vip-level-top b{display:block;color:#102019;font-size:17px;line-height:1.2}
.vip-level-top p{margin:5px 0 0;color:#64756d;font-size:12px;line-height:1.45;font-weight:800}
.vip-rights{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0}
.vip-rights span{display:inline-flex;min-height:26px;align-items:center;padding:0 9px;border-radius:999px;background:#f4ecdc;border:1px solid #e4d1a8;color:#2f493f;font-size:11px;font-weight:900}
.locked-mini{padding:10px 12px;border-radius:10px;background:#fff4d8;border:1px dashed #b88736;color:#7b581c;font-size:12px;font-weight:900}
.admin-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 12px}
.admin-nav a{min-height:58px;border-radius:12px;background:#fffaf0;border:1px solid #e1d0aa;color:#102019;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:1000;box-shadow:0 10px 22px rgba(30,42,36,.07)}
.admin-nav a span{font-size:15px;line-height:1.1}
.admin-nav a b{margin-top:4px;color:#8d6a2c;font-size:10px;line-height:1;font-weight:900}
.admin-hero{border-radius:0 0 14px 14px}
.admin-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0}
.admin-action-grid{display:grid;gap:10px;margin:12px 0}
.admin-action{display:block;padding:14px;border-radius:14px;background:#fffaf0;border:1px solid #e1d0aa;box-shadow:0 12px 26px rgba(30,42,36,.08);color:#102019}
.admin-action b{display:block;font-size:15px;font-weight:1000}
.admin-action span{display:block;margin-top:5px;color:#64756d;font-size:12px;line-height:1.45;font-weight:800}
.admin-fetch-card b{display:block;color:#102019;font-size:15px}
.admin-mini-card{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:9px 0;padding:12px;border-radius:12px;background:#fffaf0;border:1px solid #e1d0aa;box-shadow:0 10px 22px rgba(30,42,36,.06)}
.admin-mini-card b{display:block;color:#102019;font-size:13px;font-weight:1000}
.admin-mini-card span{display:block;margin-top:4px;color:#64756d;font-size:11px;font-weight:800}
.admin-mini-card a{flex:0 0 auto;min-height:32px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:#102019;color:#e6c276;font-size:12px;font-weight:1000}
.admin-search{display:grid;grid-template-columns:1fr 104px;gap:8px;margin:8px 0 10px}
.admin-search .btn{grid-column:1/-1}
.admin-user-card{margin:12px 0;padding:13px;border-radius:15px;background:#fffaf0;border:1px solid #e1d0aa;box-shadow:0 14px 30px rgba(30,42,36,.09)}
.admin-user-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #ead9b6}
.admin-user-head b{display:block;color:#102019;font-size:16px;line-height:1.25;font-weight:1000}
.admin-user-head span{display:block;margin-top:5px;color:#64756d;font-size:12px;font-weight:900}
.admin-user-head em{flex:0 0 auto;min-height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:#e9f5ee;color:#0f6b4c;font-size:12px;font-style:normal;font-weight:1000}
.admin-user-head em.off{background:#fde8df;color:#9f1d2f}
.admin-user-facts{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0}
.admin-user-facts span{display:inline-flex;min-height:27px;align-items:center;padding:0 9px;border-radius:999px;background:#f4ecdc;border:1px solid #e4d1a8;color:#2f493f;font-size:11px;font-weight:900}
.admin-fold{margin-top:9px;border-radius:12px;background:#fff7e7;border:1px solid #e4d1a8;overflow:hidden}
.admin-fold summary{min-height:44px;display:flex;align-items:center;padding:0 12px;color:#102019;font-size:13px;font-weight:1000;cursor:pointer}
.admin-fold[open] summary{border-bottom:1px solid #e4d1a8;background:#f5efe0}
.admin-inline-form,.admin-partner-form{display:grid;gap:8px;padding:12px}
.admin-inline-form label,.admin-partner-form label{color:#64756d;font-size:12px;font-weight:1000}
.admin-create-admin .form{padding:12px}
.admin-create-admin label{color:#64756d;font-size:12px;font-weight:1000}
@media(min-width:431px){.shell{min-height:100vh}}
