:root{
  --bg:#07131f;
  --bg2:#0c1d30;
  --card:#112840;
  --card2:#183551;
  --line:#26476a;
  --ink:#e9f2fb;
  --muted:#8fadca;
  --gold:#e7b64b;
  --gold2:#f6d68a;
  --green:#31c1e6;   /* морско синьо-циан: печалба / евро / печеливш изход */
  --red:#e5674f;
  --blue:#4aa3e6;
  --radius:16px;
  --shadow:0 6px 20px rgba(0,0,0,.4);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0;overflow-x:hidden}
main,#main{min-width:0;overflow-wrap:anywhere}
body{
  background:radial-gradient(120% 100% at 50% 0%,#0d2138 0%,var(--bg) 60%);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  min-height:100vh;
  padding-bottom:88px;
  font-size:16px;
  line-height:1.45;
}
h1,h2,h3{margin:0 0 .4em}
a{color:var(--gold)}
.hidden{display:none !important}

/* header */
header{
  position:sticky;top:0;z-index:20;
  background:linear-gradient(180deg,#0f2740,#0a1a2c);
  border-bottom:1px solid var(--line);
  padding:12px 16px;
  display:flex;align-items:center;gap:10px;
}
header .logo{font-size:22px;font-weight:800;letter-spacing:.3px}
header .logo small{display:block;font-size:11px;color:var(--muted);font-weight:500;letter-spacing:.5px}
header .spacer{flex:1}
.balance-chip{
  background:var(--card);border:1px solid var(--line);border-radius:999px;
  padding:6px 12px;font-size:13px;font-weight:700;white-space:nowrap;
}
.balance-chip .pts{color:var(--gold)}
.balance-chip .lv{color:var(--green)}
.logout-btn{
  flex:none;background:transparent;border:1px solid var(--line);color:var(--muted);
  width:38px;height:38px;border-radius:10px;padding:0;font-size:20px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.logout-btn:hover{border-color:var(--red);color:var(--red);background:transparent}
.notif-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;
  padding:0 4px;border-radius:9px;background:var(--red);color:#fff;font-size:11px;
  font-weight:800;display:flex;align-items:center;justify-content:center}
.notif-item{background:var(--card2);border:1px solid var(--line);border-radius:12px;
  padding:10px 12px;margin-top:8px}
.notif-item.unread{border-color:var(--gold)}
.notif-item .t{font-size:12px;color:var(--muted);margin-top:2px}

main{max-width:640px;margin:0 auto;padding:16px}

/* cards */
.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px;margin-bottom:14px;box-shadow:var(--shadow);
}
.card h3{font-size:17px}
.muted{color:var(--muted)}
.small{font-size:13px}
.row{display:flex;gap:10px;align-items:center}
.row.wrap{flex-wrap:wrap}
.spread{justify-content:space-between}

/* badges */
.badge{
  display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;
  border:1px solid var(--line);vertical-align:middle;
}
.badge.open{color:var(--green);border-color:#1f5e73;background:#0c2530}
.badge.closed{color:var(--gold);border-color:#5c4c22;background:#241f12}
.badge.resolved{color:var(--blue);border-color:#254a5c;background:#122431}
.badge.void{color:var(--muted)}
.badge.cur{color:var(--gold2);border-color:#5c4c22}
.badge.cur.euro{color:var(--green);border-color:#1f5e73}

/* outcomes */
.outcome{
  display:flex;align-items:center;gap:10px;
  background:var(--card2);border:1px solid var(--line);border-radius:12px;
  padding:10px 12px;margin-top:8px;cursor:pointer;transition:.12s;
}
.outcome:hover{border-color:var(--gold)}
.outcome.sel{border-color:var(--gold);background:#1d3554;box-shadow:0 0 0 2px rgba(231,182,75,.25) inset}
.outcome.win{border-color:var(--green);background:#123243}
.outcome .lbl{flex:1;font-weight:600}
.outcome .odds{
  font-weight:800;color:var(--gold);font-variant-numeric:tabular-nums;
  background:#0b1c2e;border:1px solid var(--line);border-radius:8px;padding:2px 10px;min-width:52px;text-align:center;
}
.outcome .stk{font-size:12px;color:var(--muted);min-width:64px;text-align:right}
.outcome.win .odds{color:var(--green)}

/* inputs */
input,select,button,textarea{font-family:inherit;font-size:16px}
input,select,textarea{
  width:100%;background:#0b1c2e;border:1px solid var(--line);border-radius:10px;
  color:var(--ink);padding:11px 12px;outline:none;
}
input:focus,select:focus,textarea:focus{border-color:var(--gold)}
label{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}
button{
  background:var(--gold);color:#20160a;border:none;border-radius:10px;
  padding:12px 16px;font-weight:800;cursor:pointer;transition:.12s;
}
button:hover{background:var(--gold2)}
button:disabled{opacity:.45;cursor:not-allowed}
button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
button.ghost:hover{border-color:var(--gold);background:transparent}
button.danger{background:transparent;color:var(--red);border:1px solid #5c2f26}
button.danger:hover{background:#2a1712}
button.sm{padding:7px 12px;font-size:13px;border-radius:8px}
.btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}

/* bet form: place a wager */
.wager-box{margin-top:12px;border-top:1px dashed var(--line);padding-top:12px}
.stake-row{display:flex;gap:8px;margin-top:8px}
.stake-row input{flex:1}
.quick{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.quick button{background:var(--card2);color:var(--ink);border:1px solid var(--line);font-weight:700}
.potential{margin-top:10px;font-size:14px}
.potential b{color:var(--gold)}

/* ranking */
.rank-item{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line)}
.rank-item:last-child{border-bottom:none}
.rank-pos{font-weight:800;width:30px;text-align:center;color:var(--muted)}
.rank-pos.top1{color:var(--gold);font-size:20px}
.rank-pos.top2{color:#cfd6d2}
.rank-pos.top3{color:#c98a4b}
.rank-name{flex:1;font-weight:700}
.rank-val{text-align:right;font-variant-numeric:tabular-nums}
.rank-val .pts{color:var(--gold);font-weight:800}
.rank-val .lv{color:var(--green);font-size:13px}

/* kasa */
.kasa-big{display:flex;gap:14px;flex-wrap:wrap}
.kasa-tile{flex:1;min-width:130px;background:var(--card2);border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center}
.kasa-tile .v{font-size:30px;font-weight:900;font-variant-numeric:tabular-nums}
.kasa-tile.pts .v{color:var(--gold)}
.kasa-tile.lv .v{color:var(--green)}
.kasa-tile .l{color:var(--muted);font-size:13px;margin-top:4px}

/* tabs / bottom nav */
nav.tabs{
  position:fixed;bottom:0;left:0;right:0;z-index:30;
  background:linear-gradient(0deg,#081726,#0a1a2c);
  border-top:1px solid var(--line);
  display:flex;padding:6px 4px calc(6px + env(safe-area-inset-bottom));
}
nav.tabs button{
  flex:1;background:transparent;border:none;color:var(--muted);
  font-size:11px;font-weight:700;padding:8px 2px;border-radius:10px;
  display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;
}
@media (max-width:380px){nav.tabs button{font-size:10px;padding:8px 0}}
nav.tabs button .ic{font-size:20px}
nav.tabs button.active{color:var(--gold)}

/* login */
.login-wrap{max-width:380px;margin:8vh auto 0;padding:0 20px;text-align:center}
.login-wrap .big{font-size:46px}
.login-wrap h1{font-size:26px;margin-top:6px}
.pin-input{letter-spacing:.5em;text-align:center;font-size:26px;font-weight:800;
  -webkit-text-security:disc;text-security:disc}

/* toast */
#toast{
  position:fixed;left:50%;bottom:96px;transform:translateX(-50%);
  background:#081726;border:1px solid var(--line);color:var(--ink);
  padding:12px 18px;border-radius:12px;box-shadow:var(--shadow);
  z-index:50;max-width:90%;text-align:center;font-weight:600;
  opacity:0;pointer-events:none;transition:.2s;
}
#toast.show{opacity:1}
#toast.err{border-color:#5c2f26;color:#ffb9a8}
#toast.ok{border-color:#1f5e73;color:#a7e6f0}

/* степер (+/−) за числа */
.stepper{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:10px;
  overflow:hidden;background:#0b1c2e}
.stepper input{border:none;border-radius:0;text-align:center;background:transparent;
  -moz-appearance:textfield;min-width:0}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{
  -webkit-appearance:none;margin:0}
.st-btn{background:var(--card2);color:var(--ink);border:none;width:44px;flex:none;
  font-size:22px;font-weight:800;line-height:1;border-radius:0}
.st-btn:active{background:var(--line)}

/* отметка при избор на изход */
.outcome .pick{font-size:18px;color:var(--muted);flex:none;width:20px;text-align:center}
.outcome.sel .pick{color:var(--gold)}

/* ред за играч в админ (с добавяне на пари) */
.user-row{background:var(--card2);border:1px solid var(--line);border-radius:12px;
  padding:10px 12px;margin-top:8px}
.user-row .cr{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}
.user-row .cr .stepper{flex:1;min-width:110px}
.user-row .cr .u{font-size:12px;color:var(--muted);flex:none}

/* под-табове (Актуални / Минали) */
.subtabs{display:flex;gap:6px;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:5px;margin-bottom:14px}
.subtabs button{flex:1;background:transparent;color:var(--muted);border:none;
  padding:9px 6px;border-radius:9px;font-size:14px;font-weight:700}
.subtabs button.active{background:var(--card2);color:var(--ink);
  box-shadow:0 0 0 1px var(--line) inset}

.empty{text-align:center;color:var(--muted);padding:40px 10px}
.divider{height:1px;background:var(--line);margin:16px 0}
.outcome-edit{display:flex;gap:8px;margin-top:8px}
.outcome-edit input.lbl{flex:2}
.outcome-edit input.od{flex:1;max-width:90px}
.section-title{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:18px 2px 8px}
.wgr{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;border-bottom:1px solid var(--line)}
.wgr .st.won{color:var(--green);font-weight:700}
.wgr .st.lost{color:var(--red)}
.wgr .st.refunded{color:var(--muted)}

/* ===== oBet допълнения ===== */
.auth-wrap{max-width:400px;margin:6vh auto 0;padding:0 20px}
.auth-wrap .brand{text-align:center;margin-bottom:18px}
.auth-wrap .brand .big{font-size:46px}
.auth-wrap .brand h1{font-size:26px;margin-top:6px}
.auth-wrap .brand h1 span{color:var(--gold)}
.auth-wrap .switch{text-align:center;margin-top:14px;font-size:14px}
.auth-wrap .switch a{cursor:pointer;font-weight:700}
.pw-wrap{position:relative}
.pw-wrap input{padding-right:48px}
.pw-wrap .eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);
  background:transparent;border:none;color:var(--muted);padding:6px;font-size:18px}
button.block{width:100%;margin-top:14px}
.hint{font-size:12px;color:var(--muted);margin-top:4px}

/* списък казина */
.casino-item{display:flex;align-items:center;gap:12px;background:var(--card2);
  border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:10px;cursor:pointer;transition:.12s}
.casino-item:hover{border-color:var(--gold)}
.casino-item .ic{font-size:28px;flex:none}
.casino-item .nm{flex:1;min-width:0}
.casino-item .nm b{display:block;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.casino-item .nm small{color:var(--muted);font-size:12px}
.casino-item .arrow{color:var(--muted);font-size:20px}
.role-chip{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.role-chip.owner{color:var(--gold);border-color:#5c4c22}
.role-chip.admin,.role-chip.manager{color:var(--blue);border-color:#254a5c}
.role-chip.pending{color:var(--red);border-color:#5c2f26}
.role-chip.suspended{color:var(--red);border-color:#5c2f26}

/* превключвател (toggle) */
.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 0;border-bottom:1px solid var(--line)}
.toggle-row:last-child{border-bottom:none}
.toggle-row .tx b{display:block;font-size:15px}
.toggle-row .tx small{color:var(--muted);font-size:12px;display:block;margin-top:2px}
.switch-ui{position:relative;width:48px;height:28px;flex:none;border-radius:999px;
  background:#0b1c2e;border:1px solid var(--line);cursor:pointer;transition:.15s}
.switch-ui::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;
  border-radius:50%;background:var(--muted);transition:.15s}
.switch-ui.on{background:#3a2f12;border-color:var(--gold)}
.switch-ui.on::after{left:23px;background:var(--gold)}
.num-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.num-row input{width:110px;text-align:right}

/* горна лента: назад + заглавие */
header .back{flex:none;background:transparent;border:1px solid var(--line);color:var(--ink);
  width:38px;height:38px;border-radius:10px;padding:0;font-size:20px;display:flex;align-items:center;justify-content:center}
header .back:hover{border-color:var(--gold);background:transparent}
header .logo{min-width:0;display:flex;align-items:center;gap:8px;white-space:normal}
/* името на клуба се свива и при нужда минава на два реда вместо многоточие */
header .logo .ttl{min-width:0;font-size:clamp(15px,4.6vw,22px);line-height:1.12;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
header .logo .ttl small{display:block}

/* заключен екран (PIN) */
.lock-wrap{max-width:360px;margin:12vh auto 0;padding:0 20px;text-align:center}
.lock-wrap .big{font-size:48px}
.pin-dots{display:flex;justify-content:center;gap:14px;margin:18px 0}
.pin-dots span{width:16px;height:16px;border-radius:50%;border:2px solid var(--line)}
.pin-dots span.on{background:var(--gold);border-color:var(--gold)}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:280px;margin:0 auto}
.keypad button{background:var(--card2);color:var(--ink);border:1px solid var(--line);
  font-size:22px;padding:16px 0;border-radius:14px}
.keypad button.ghost{background:transparent}

.sess-item{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.sess-item:last-child{border-bottom:none}
.sess-item .cur{color:var(--green);font-weight:700}
.copy-box{display:flex;gap:8px;margin-top:8px}
.copy-box input{flex:1;font-size:13px}
.notice{background:#241f12;border:1px solid #5c4c22;color:var(--gold2);border-radius:12px;padding:10px 12px;font-size:14px;margin-bottom:14px}
.notice.red{background:#2a1712;border-color:#5c2f26;color:#ffb9a8}

/* лого oB и икони на клубове */
.ob-mark{display:inline-flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:-.5px;
  background:linear-gradient(135deg,#17345a,#0d2138);border:2px solid var(--gold);border-radius:50%;color:var(--ink);line-height:1}
.ob-mark b{color:var(--gold);font-weight:900}
.ob-mark.lg{width:84px;height:84px;font-size:38px;border-width:3px;margin:0 auto}
.ob-mark.sm{width:30px;height:30px;font-size:14px;vertical-align:middle;margin-right:6px;flex:none}
.club-ic{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-weight:900;color:#0b1420;
  letter-spacing:.5px;flex:none;line-height:1;font-variant-numeric:tabular-nums}
.club-ic.sm{width:30px;height:30px;font-size:13px;border-radius:9px;margin-right:6px;vertical-align:middle}
.club-ic.md{width:44px;height:44px;font-size:18px}
.club-ic.lg{width:64px;height:64px;font-size:26px;border-radius:16px}
.palette{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.palette span{width:30px;height:30px;border-radius:50%;cursor:pointer;border:3px solid transparent}
.palette span.on{border-color:var(--ink)}

/* супер-админ: преглед */
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stat{background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:10px 8px;text-align:center}
.stat .v{font-size:22px;font-weight:900;font-variant-numeric:tabular-nums}
.stat .l{font-size:11px;color:var(--muted);margin-top:2px;line-height:1.2}
.alert-item{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:10px;margin-top:6px;border:1px solid var(--line);font-size:13px}
.alert-item.todo{border-color:#5c4c22;background:#241f12}
.alert-item.soon{border-color:#254a5c;background:#122431}
.alert-item.warn{border-color:#8a3a2c;background:#2a1712}
.alert-item a{cursor:pointer;margin-left:auto;white-space:nowrap}
.feed-item{display:flex;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:flex-start;min-width:0}
.feed-item>span{min-width:0;overflow-wrap:anywhere}
.feed-item .t{color:var(--muted);white-space:nowrap;font-size:12px;min-width:76px}
.feed-item .g{font-size:10px;padding:1px 6px;border-radius:999px;border:1px solid var(--line);color:var(--muted);flex:none}
.feed-item .g.money{color:var(--green);border-color:#1f5e73}.feed-item .g.security{color:var(--red);border-color:#5c2f26}.feed-item .g.members{color:var(--blue);border-color:#254a5c}
.notif-item.alert{border-left:3px solid var(--gold)}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.chips button{background:var(--card2);color:var(--muted);border:1px solid var(--line);padding:5px 10px;font-size:12px;border-radius:999px}
.chips button.active{color:var(--ink);border-color:var(--gold)}

/* вграден панел за потвърждение (замества prompt/confirm) */
.confirm-box{width:100%;flex-basis:100%;background:#1f1b10;border:1px solid var(--gold);border-radius:12px;padding:10px 12px;margin-top:10px}
.confirm-box.danger{background:#2a1712;border-color:#8a3a2c}
.confirm-box label{margin-top:6px}
.confirm-box .mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px;letter-spacing:.5px}
.choice{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.choice button{flex:1;min-width:140px}

/* сигнали: сравнение на два акаунта */
.h2h{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.h2h-col{background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:10px;min-width:0}
.h2h-col b{overflow-wrap:anywhere}

/* извън клуб: прогнози под реда на клуба */
.casino-item.sub{margin-left:22px;padding:8px 10px;background:transparent;border-style:dashed}

/* съобщения от админ / платформата */
.card.news{border-color:#5c4c22;background:linear-gradient(180deg,#1a2740,var(--card))}
.card.news h3{font-size:16px}
textarea{width:100%;resize:vertical;min-height:70px}

/* вградени подробности към настройка */
.info-box{margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card2);color:var(--muted);font-size:13px}
.info-box b{color:var(--ink)}
.info-box p{margin:4px 0}
.info-box p.warn{color:var(--gold2)}

/* лента за инсталиране под хедъра */
.install-bar{display:flex;align-items:center;gap:10px;margin:10px 16px 0;padding:10px 12px;border:1px solid #5c4c22;border-radius:12px;background:#241f12;color:var(--gold2);font-size:13px}
.install-bar .tx{flex:1;min-width:0}
.install-bar .tx small{display:block;color:var(--muted);margin-top:2px}
.install-bar button{flex:none}

/* модал (само за условията при регистрация) */
.modal{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:center;padding:16px}
.modal-box{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;max-width:560px;width:100%;max-height:85vh;overflow:auto}
