: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}
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;
}
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)}
