/* ===========================================================
   NIVSA — დიზაინ-სისტემა  (იხ. docs/03-ux-ui-design.md)
   =========================================================== */

:root{
  --bg-0:#0A0B0F; --bg-1:#12141C; --bg-2:#1A1D28; --bg-3:#232735; --line:#2A2F3F;
  --txt-0:#F2F4F8; --txt-1:#A7AFC2; --txt-2:#7D8699;
  --yes:#14C48C; --yes-dim:rgba(20,196,140,.12);
  --no:#FF5C6E;  --no-dim:rgba(255,92,110,.12);
  --accent:#6C5CE7; --accent-2:#00D1FF; --accent-dim:rgba(108,92,231,.14);
  --warn:#FFB020; --warn-dim:rgba(255,176,32,.12);
  --on-accent:#FFFFFF; --warn-text:#FFD48A; --danger-text:#FFB3BB; --accent-text:#B9AEFF;
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-full:999px;
  --sh-1:0 1px 2px rgba(0,0,0,.4);
  --sh-2:0 8px 24px rgba(0,0,0,.45);
  --sh-3:0 20px 60px rgba(0,0,0,.6);
  --bg-blur:rgba(10,11,15,.72);
  --overlay:rgba(4,5,9,.76);
  --scroll:#2A2F3F;
  --scroll-hover:#333849;
  --glow-1:rgba(108,92,231,.16);
  --glow-2:rgba(0,209,255,.09);
  --card-hover:#394054;
  --shadow-accent:0 4px 16px rgba(108,92,231,.32);
  --grad:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);
  --font:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI","Noto Sans Georgian","BPG Nino Mtavruli",Roboto,Helvetica,Arial,sans-serif;
  --mono:"SF Mono",ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace;
}

/* ── ღია თემა ────────────────────────────────────────────────
   მუქი ნაგულისხმევია (ზემოთ, :root-ზე). ღია ირთვება ორი გზით:
   1) ცხადი არჩევანით — html[data-theme="light"]
   2) სისტემური პარამეტრით — მხოლოდ მაშინ, თუ მომხმარებელს
      მუქი ცხადად არ აურჩევია (:root:not([data-theme="dark"]))
   ორივე ბლოკი იმავე ტოკენებს განსაზღვრავს, სხვა არაფერს. */
:root[data-theme="light"],
:root[data-theme="light"] body{color-scheme:light}

@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]){
    --bg-0:#EDF0F6; --bg-1:#FFFFFF; --bg-2:#F4F6FA; --bg-3:#E2E7F0; --line:#D5DCE8;
    --txt-0:#101420; --txt-1:#4B5568; --txt-2:#626C82;
    --yes:#067A55; --yes-dim:rgba(6,122,85,.11);
    --no:#C92A3E;  --no-dim:rgba(201,42,62,.10);
    --accent:#5340C9; --accent-2:#0C7EA8; --accent-dim:rgba(83,64,201,.10);
    --warn:#8A5A00; --warn-dim:rgba(138,90,0,.11);
    --on-accent:#FFFFFF; --warn-text:#6E4600; --danger-text:#9E1E2E; --accent-text:#3F32A0;
    --sh-1:0 1px 2px rgba(16,24,40,.07);
    --sh-2:0 8px 24px rgba(16,24,40,.10);
    --sh-3:0 20px 60px rgba(16,24,40,.18);
    --bg-blur:rgba(245,247,251,.8);
    --overlay:rgba(22,28,44,.42);
    --scroll:#C4CCDB; --scroll-hover:#AEB8CC;
    --glow-1:rgba(83,64,201,.09); --glow-2:rgba(12,126,168,.07);
    --card-hover:#BFC8DA;
    --shadow-accent:0 4px 16px rgba(83,64,201,.22);
    color-scheme:light;
  }
}

:root[data-theme="light"]{
  --bg-0:#EDF0F6; --bg-1:#FFFFFF; --bg-2:#F4F6FA; --bg-3:#E2E7F0; --line:#D5DCE8;
  --txt-0:#101420; --txt-1:#4B5568; --txt-2:#626C82;
  --yes:#067A55; --yes-dim:rgba(6,122,85,.11);
  --no:#C92A3E;  --no-dim:rgba(201,42,62,.10);
  --accent:#5340C9; --accent-2:#0C7EA8; --accent-dim:rgba(83,64,201,.10);
  --warn:#8A5A00; --warn-dim:rgba(138,90,0,.11);
  --on-accent:#FFFFFF; --warn-text:#6E4600; --danger-text:#9E1E2E; --accent-text:#3F32A0;
  --sh-1:0 1px 2px rgba(16,24,40,.07);
  --sh-2:0 8px 24px rgba(16,24,40,.10);
  --sh-3:0 20px 60px rgba(16,24,40,.18);
  --bg-blur:rgba(245,247,251,.8);
  --overlay:rgba(22,28,44,.42);
  --scroll:#C4CCDB; --scroll-hover:#AEB8CC;
  --glow-1:rgba(83,64,201,.09); --glow-2:rgba(12,126,168,.07);
  --card-hover:#BFC8DA;
  --shadow-accent:0 4px 16px rgba(83,64,201,.22);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  background:var(--bg-0); color:var(--txt-0); font-family:var(--font);
  font-size:14px; line-height:1.5; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(680px 420px at 12% -8%, var(--glow-1), transparent 60%),
    radial-gradient(560px 380px at 96% 4%, var(--glow-2), transparent 62%);
}
.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
button{cursor:pointer;border:none;background:none}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px;border-radius:4px}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:var(--scroll);border-radius:var(--r-full);border:3px solid var(--bg-0)}
::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}

/* ---------- Layout ---------- */
.app{position:relative;z-index:1;display:grid;grid-template-columns:224px minmax(0,1fr) 348px;
     grid-template-rows:60px 1fr;grid-template-areas:"logo top top" "nav main slip";
     height:100vh;max-width:1680px;margin:0 auto;
     transition:grid-template-columns .26s cubic-bezier(.2,.9,.3,1)}
/* ცარიელი ბილეთი არ იკავებს მთელ სვეტს — რჩება ვიწრო ზოლი */
.app.slip-rail{grid-template-columns:224px minmax(0,1fr) 56px}

.brand{grid-area:logo;display:flex;align-items:center;gap:10px;padding:0 20px;
       border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.brand-mark{width:30px;height:30px;border-radius:9px;background-color:var(--accent);background-image:var(--grad);
       display:grid;place-items:center;font-weight:800;font-size:15px;color:var(--on-accent);
       box-shadow:0 4px 14px rgba(108,92,231,.45)}
.brand-name{font-weight:800;font-size:17px;letter-spacing:.06em}
.brand-tag{font-size:9px;color:var(--txt-2);letter-spacing:.16em;text-transform:uppercase;margin-top:-3px}

.topbar{grid-area:top;display:flex;align-items:center;gap:12px;padding:0 20px;
        border-bottom:1px solid var(--line);background:var(--bg-blur);backdrop-filter:blur(14px)}
.search{flex:1;max-width:460px;position:relative}
.search input{width:100%;height:38px;background:var(--bg-1);border:1px solid var(--line);
  border-radius:var(--r-full);padding:0 16px 0 40px;color:var(--txt-0);transition:border-color .15s}
.search input::placeholder{color:var(--txt-2)}
.search input:focus{border-color:var(--accent);outline:none}
.search-ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--txt-2)}
.spacer{flex:1}

.balance-chip{display:flex;align-items:center;gap:10px;height:38px;padding:0 6px 0 14px;
  background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-full)}
.balance-chip .lbl{font-size:10px;color:var(--txt-2);text-transform:uppercase;letter-spacing:.09em}
.balance-chip .val{font-weight:700;font-size:15px}
.balance-chip.flash{animation:flash .6s ease}
@keyframes flash{0%,100%{background:var(--bg-1)}35%{background:var(--yes-dim)}}

.nav{grid-area:nav;border-right:1px solid var(--line);padding:16px 12px;overflow-y:auto}
.nav-group{margin-bottom:22px}
.nav-title{font-size:10px;color:var(--txt-2);text-transform:uppercase;letter-spacing:.14em;
  padding:0 10px;margin-bottom:8px}
.nav-item{display:flex;align-items:center;gap:11px;height:40px;padding:0 11px;border-radius:var(--r-sm);
  color:var(--txt-1);font-weight:500;width:100%;text-align:left;transition:background .13s,color .13s}
.nav-item:hover{background:var(--bg-1);color:var(--txt-0)}
.nav-item.active{background:var(--accent-dim);color:var(--txt-0)}
.nav-item.active .nav-ico{color:var(--accent-2)}
.nav-ico{width:18px;color:var(--txt-2)}
.nav-count{margin-left:auto;font-size:11px;background:var(--bg-3);color:var(--txt-1);
  padding:1px 7px;border-radius:var(--r-full);font-weight:600}

.main{grid-area:main;overflow-y:auto;padding:22px 24px 80px;scroll-behavior:smooth}
.slip{grid-area:slip;border-left:1px solid var(--line);display:flex;flex-direction:column;
  background:var(--bg-0);overflow:hidden}
.slip-rail .slip>*{display:none}
.slip-rail .slip .rail{display:flex}
.rail{display:none;flex-direction:column;align-items:center;gap:10px;padding:16px 0;
  width:100%;height:100%;color:var(--txt-2);transition:color .15s}
.rail:hover{color:var(--txt-0)}
.rail .rail-badge{background:var(--bg-3);color:var(--txt-1);font-size:11px;font-weight:700;
  min-width:20px;height:20px;border-radius:var(--r-full);display:grid;place-items:center;padding:0 5px}
.rail .rail-label{writing-mode:vertical-rl;text-orientation:mixed;font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-top:4px}

/* ---------- ტიპოგრაფია ---------- */
.h1{font-size:23px;font-weight:700;letter-spacing:-.01em}
.h2{font-size:16px;font-weight:700}
.sub{color:var(--txt-1);font-size:13px;margin-top:4px}
.meta{font-size:11px;color:var(--txt-2);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}

/* ---------- იკონები ---------- */
.ico-txt{display:inline-flex;align-items:center;gap:5px}
.icon-btn{width:38px;height:38px;border-radius:var(--r-full);background:var(--bg-1);
  border:1px solid var(--line);color:var(--txt-1);display:grid;place-items:center;
  transition:color .15s,border-color .15s,background .15s}
.icon-btn:hover{color:var(--txt-0);border-color:var(--accent)}
.nav-ico{display:grid;place-items:center}
.cat-pill,.chip,.badge,.slip-tab,.seg-btn,.person-pill{display:inline-flex;align-items:center}
.chip{gap:6px} .seg-btn{gap:6px;justify-content:center} .slip-tab{gap:6px;justify-content:center}
.badge{gap:4px}
.empty-ico{color:var(--txt-2);opacity:.55;display:flex;justify-content:center}

/* ---------- ღილაკები ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;
  border-radius:var(--r-sm);font-weight:600;background:var(--bg-3);color:var(--txt-0);
  transition:transform .1s,filter .15s,background .15s;white-space:nowrap}
.btn:hover{filter:brightness(1.16)}
.btn:active{transform:scale(.975)}
.btn:disabled{opacity:.42;cursor:not-allowed;transform:none;filter:none}
.btn-primary{background-color:var(--accent);background-image:var(--grad);color:var(--on-accent);box-shadow:var(--shadow-accent)}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--txt-1)}
.btn-ghost:hover{background:var(--bg-1);color:var(--txt-0)}
.btn-yes{background:var(--yes-dim);color:var(--yes);border:1px solid rgba(20,196,140,.28)}
.btn-no{background:var(--no-dim);color:var(--no);border:1px solid rgba(255,92,110,.28)}
.btn-sm{height:32px;padding:0 12px;font-size:12.5px}
.btn-block{width:100%}
.btn-lg{height:46px;font-size:15px}

.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 13px;border-radius:var(--r-full);
  background:var(--bg-1);border:1px solid var(--line);color:var(--txt-1);font-size:12.5px;font-weight:600;
  transition:all .14s}
.chip:hover{border-color:var(--accent);color:var(--txt-0)}
.chip.active{background:var(--accent-dim);border-color:var(--accent);color:var(--txt-0)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;align-items:center}
.chip-div{width:1px;align-self:stretch;background:var(--line);margin:0 4px;flex-shrink:0}

/* ---------- ჩამოსაშლელი (კატეგორიის ფილტრი) ---------- */
/* ---------- ფილტრის პანელი ---------- */
.head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sort-seg{display:inline-flex;background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:3px;gap:2px}
.sort-seg button{height:28px;padding:0 12px;border-radius:6px;font-size:12.5px;
  font-weight:600;color:var(--txt-2);white-space:nowrap}
.sort-seg button.active{background:var(--bg-1);color:var(--txt-0);box-shadow:var(--sh-1)}
.f-count{background:var(--accent);color:var(--on-accent);border-radius:var(--r-full);
  min-width:17px;height:17px;font-size:10.5px;font-weight:700;display:inline-grid;
  place-items:center;padding:0 5px;margin-left:2px}
.filters{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:15px 16px;margin-bottom:16px;animation:fIn .18s ease}
@keyframes fIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.f-group{min-width:0}
.f-label{font-size:11px;color:var(--txt-2);text-transform:uppercase;letter-spacing:.08em;
  font-weight:700;margin-bottom:9px}
.f-hint{text-transform:none;letter-spacing:0;font-weight:500;color:var(--txt-2)}
.f-chips{display:flex;flex-wrap:wrap;gap:7px}
.f-div{height:1px;background:var(--line);margin:15px 0}
.f-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}
.f-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}
.f-active{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:16px}
.f-pill{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;
  border-radius:var(--r-full);background:var(--accent-dim);color:var(--accent-text);
  border:1px solid transparent;font-size:12px;font-weight:600;transition:border-color .14s}
.f-pill:hover{border-color:var(--accent)}

/* ---------- Market cards ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:15px;
  box-shadow:var(--sh-1);
  display:flex;flex-direction:column;gap:12px;transition:border-color .16s,transform .16s,box-shadow .16s;
  position:relative;overflow:hidden}
.card:hover{border-color:var(--card-hover);transform:translateY(-2px);box-shadow:var(--sh-2)}
.card.in-slip{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 8px 26px rgba(108,92,231,.2)}
.card.resolved{opacity:.72}
.card-top{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--txt-2)}
.cat-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:var(--r-full);
  background:var(--bg-2);color:var(--txt-1);font-weight:600;font-size:10.5px;
  text-transform:uppercase;letter-spacing:.06em}
.card-title{font-size:14.5px;font-weight:600;line-height:1.42;min-height:41px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}
.card-title:hover{color:var(--accent-2)}
.card-mid{display:flex;align-items:center;justify-content:space-between;gap:10px}
.spark{height:30px;flex:1;min-width:0}
.price-now{text-align:right;flex-shrink:0}
.price-now .p{font-size:20px;font-weight:700;line-height:1}
.price-now .d{font-size:11px;font-weight:600;margin-top:2px}
.up{color:var(--yes)} .down{color:var(--no)} .flat{color:var(--txt-2)}
.card-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}
.out-btn{height:40px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:space-between;
  padding:0 12px;font-weight:700;font-size:13px;transition:filter .13s,transform .1s}
.out-btn:hover{filter:brightness(1.2)}
.out-btn:active{transform:scale(.97)}
.out-btn .c{font-size:14px}
.add-leg{width:40px;height:40px;border-radius:var(--r-sm);background:var(--bg-2);color:var(--txt-1);
  display:grid;place-items:center;font-size:17px;border:1px solid var(--line);transition:all .14s}
.add-leg:hover{background:var(--accent-dim);color:var(--accent-2);border-color:var(--accent)}
.add-leg.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.card-foot{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--txt-2)}

/* ---------- Bet slip ---------- */
.slip-head{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}
.slip-title{font-weight:700;font-size:15px}
.slip-badge{background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700;min-width:20px;height:20px;
  border-radius:var(--r-full);display:grid;place-items:center;padding:0 6px}
.slip-tabs{display:flex;gap:4px;padding:10px 12px;border-bottom:1px solid var(--line)}
.slip-tab{flex:1;height:34px;border-radius:var(--r-sm);font-size:13px;font-weight:600;color:var(--txt-2)}
.slip-tab.active{background:var(--bg-2);color:var(--txt-0)}
.slip-body{flex:1;overflow-y:auto;padding:12px}
.slip-foot{border-top:1px solid var(--line);padding:12px 14px;background:var(--bg-1)}

.chain{position:relative;padding-left:20px}
/* ჯაჭვის ვერტიკალური ხაზი — პირველი წერტილიდან ბოლომდე */
.chain::before{content:"";position:absolute;left:5px;top:18px;bottom:18px;width:2px;
  background:linear-gradient(var(--accent),var(--accent-2));border-radius:2px;opacity:.5}
.chain.single::before{display:none}
.leg{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 11px;
  margin-bottom:8px;position:relative;animation:legIn .22s cubic-bezier(.2,.9,.3,1.2)}
.chain .leg::before{content:"";position:absolute;left:-19px;top:16px;width:12px;height:12px;
  border-radius:50%;background:var(--bg-0);border:2px solid var(--accent);box-shadow:0 0 0 3px var(--bg-0)}
.chain .leg:last-child::before{background:var(--accent)}
@keyframes legIn{from{opacity:0;transform:translateX(14px) scale(.97)}to{opacity:1;transform:none}}
.leg-title{font-size:12.5px;line-height:1.36;color:var(--txt-1);padding-right:20px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.leg-row{display:flex;align-items:center;justify-content:space-between;margin-top:7px}
.leg-pick{font-weight:700;font-size:12.5px;padding:2px 9px;border-radius:var(--r-full)}
.leg-pick.yes{background:var(--yes-dim);color:var(--yes)}
.leg-pick.no{background:var(--no-dim);color:var(--no)}
.leg-price{font-weight:700;font-size:13.5px}
.leg-x{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:var(--r-sm);
  color:var(--txt-2);display:grid;place-items:center;font-size:15px;line-height:1}
.leg-x:hover{background:var(--no-dim);color:var(--no)}

.stake-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.stake-input{flex:1;height:44px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:0 40px 0 13px;font-size:17px;font-weight:700;width:100%}
.stake-input:focus{border-color:var(--accent);outline:none}
.stake-wrap{position:relative;flex:1}
.stake-cur{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--txt-2);font-weight:600}
.quick{display:flex;gap:6px;margin-bottom:12px}
.quick button{flex:1;height:28px;border-radius:var(--r-sm);background:var(--bg-2);color:var(--txt-1);
  font-size:12px;font-weight:600;border:1px solid transparent}
.quick button:hover{border-color:var(--accent);color:var(--txt-0)}

.calc{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-md);padding:11px 13px;margin-bottom:10px}
.calc-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12.5px;color:var(--txt-1)}
.calc-row b{color:var(--txt-0);font-weight:700}
.calc-div{height:1px;background:var(--line);margin:7px -13px}
.drag{margin:9px -13px 2px;padding:9px 13px 0;border-top:1px solid var(--line)}
.drag-label{display:flex;justify-content:space-between;font-size:11px;color:var(--txt-2);margin-bottom:5px}
.drag-bar{height:6px;background:var(--bg-3);border-radius:var(--r-full);overflow:hidden;display:flex}
.drag-bar i{display:block;height:100%}
.drag-bar .keep{background:var(--yes)}
.drag-bar .cut{background:var(--warn);opacity:.75}
.calc-mult{font-size:26px;font-weight:800;background:var(--grad);-webkit-background-clip:text;
  background-clip:text;color:transparent;line-height:1.1}
.calc-payout{font-size:19px;font-weight:800;color:var(--yes)}

.warn-box{background:var(--warn-dim);border:1px solid rgba(255,176,32,.3);border-radius:var(--r-sm);
  padding:9px 11px;font-size:11.5px;color:var(--warn-text);line-height:1.45;margin-bottom:9px;display:flex;gap:8px}
.err-box{background:var(--no-dim);border:1px solid rgba(255,92,110,.3);border-radius:var(--r-sm);
  padding:9px 11px;font-size:12px;color:var(--danger-text);line-height:1.45;margin-bottom:9px}

.empty{text-align:center;padding:44px 18px;color:var(--txt-2)}
.empty-ico{margin-bottom:12px}
.empty h3{color:var(--txt-1);font-size:14px;margin-bottom:6px;font-weight:600}
.empty p{font-size:12.5px;line-height:1.55;max-width:230px;margin:0 auto}

/* ---------- ბილეთის ისტორია ---------- */
.ticket{background:var(--bg-1);border:1px solid var(--line);border-left:3px solid var(--txt-2);
  border-radius:var(--r-md);padding:14px 15px;margin-bottom:11px;transition:border-color .16s}
.ticket:hover{border-color:var(--card-hover)}
.ticket.won{border-left-color:var(--yes)}
.ticket.lost{border-left-color:var(--no)}
.ticket.open{border-left-color:var(--accent)}
.ticket.void,.ticket.cashed_out{border-left-color:var(--warn)}
.ticket-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.badge{font-size:10px;font-weight:700;padding:3px 9px;border-radius:var(--r-full);
  text-transform:uppercase;letter-spacing:.06em}
.badge.open{background:var(--accent-dim);color:var(--accent-text)}
.badge.won{background:var(--yes-dim);color:var(--yes)}
.badge.lost{background:var(--no-dim);color:var(--no)}
.badge.void,.badge.cashed_out{background:var(--warn-dim);color:var(--warn)}
.badge.parlay{background-color:var(--accent);background-image:var(--grad);color:var(--on-accent)}
.badge.single{background:var(--bg-3);color:var(--txt-1)}
.ticket-legs{margin-top:11px;display:flex;flex-direction:column;gap:7px}
.tleg{display:flex;align-items:center;gap:9px;font-size:12.5px;padding:7px 10px;
  background:var(--bg-2);border-radius:var(--r-sm)}
.tleg-dot{width:7px;height:7px;border-radius:50%;background:var(--txt-2);flex-shrink:0}
.tleg-dot.won{background:var(--yes)} .tleg-dot.lost{background:var(--no)}
.tleg-dot.void{background:var(--warn)}
.tleg-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--txt-1)}
.ticket-foot{display:flex;align-items:center;gap:18px;margin-top:12px;padding-top:11px;
  border-top:1px solid var(--line);flex-wrap:wrap}
.kv .k{font-size:10px;color:var(--txt-2);text-transform:uppercase;letter-spacing:.07em}
.kv .v{font-weight:700;font-size:14px;margin-top:1px}

/* ---------- სტატისტიკის ბარათები ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:11px;margin-bottom:20px}
.stat{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-md);padding:13px 15px}
.stat .k{font-size:10.5px;color:var(--txt-2);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.stat .v{font-size:22px;font-weight:800;margin-top:5px;letter-spacing:-.01em}

/* ---------- რისკის რენტგენი ---------- */
.pctl-row{display:flex;flex-wrap:wrap;gap:20px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.expo{padding:2px 0}
.expo-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:5px}
.expo-title{font-size:13px;color:var(--txt-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.expo-bar{height:7px;background:var(--bg-3);border-radius:var(--r-full);overflow:hidden}
.expo-bar i{display:block;height:100%;border-radius:var(--r-full);transition:width .4s ease}
.expo-meta{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--txt-2);margin-top:5px}

/* ---------- მეგობრები და ჩატი ---------- */
.fr-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:14px;
  height:calc(100vh - 210px);min-height:420px}
.fr-list{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:8px;overflow-y:auto;box-shadow:var(--sh-1)}
.fr-row{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;
  border-radius:var(--r-md);text-align:left;transition:background .13s}
.fr-row:hover{background:var(--bg-2)}
.fr-row.active{background:var(--accent-dim)}
.fr-av{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;
  background-color:var(--accent);background-image:var(--grad);color:var(--on-accent);
  font-weight:800;font-size:13px;letter-spacing:.02em}
.fr-mid{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}
.fr-name{font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fr-last{font-size:11.5px;color:var(--txt-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fr-badge{background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700;
  min-width:20px;height:20px;border-radius:var(--r-full);display:grid;place-items:center;padding:0 6px}
.fr-chat{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--sh-1);min-width:0}
.chat{display:flex;flex-direction:column;height:100%}
.chat-head{display:flex;align-items:center;gap:11px;padding:12px 14px;border-bottom:1px solid var(--line)}
.chat-back{display:none}
.chat-markets{display:flex;gap:7px;padding:9px 14px;border-bottom:1px solid var(--line);
  overflow-x:auto}
.chat-mkt{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;height:28px;
  padding:0 11px;border-radius:var(--r-full);background:var(--bg-2);border:1px solid var(--line);
  font-size:12px;color:var(--txt-1)}
.chat-mkt:hover{border-color:var(--accent);color:var(--txt-0)}
.chat-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:9px;
  scroll-behavior:smooth}
.msg{max-width:74%;align-self:flex-start}
.msg.mine{align-self:flex-end}
.msg-b{background:var(--bg-2);border:1px solid var(--line);padding:8px 12px;
  border-radius:14px 14px 14px 4px;font-size:13.5px;line-height:1.5;word-break:break-word;
  white-space:pre-wrap}
.msg.mine .msg-b{background-color:var(--accent);background-image:var(--grad);
  color:var(--on-accent);border-color:transparent;border-radius:14px 14px 4px 14px}
.msg-t{font-size:10.5px;color:var(--txt-2);margin-top:3px;padding:0 4px}
.msg.mine .msg-t{text-align:right}
.chat-input{display:flex;gap:8px;padding:11px 12px;border-top:1px solid var(--line)}
.chat-input input{flex:1;height:40px;background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--r-full);padding:0 15px;min-width:0}
.chat-input input:focus{border-color:var(--accent);outline:none}
.chat-input .btn{width:40px;padding:0;border-radius:50%;flex-shrink:0}
.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;
  height:100%;text-align:center;padding:30px 22px;color:var(--txt-2)}
.chat-empty h3{color:var(--txt-1);font-size:14px;margin-bottom:6px}
.chat-empty p{font-size:12.5px;line-height:1.55;max-width:280px}

@media (max-width:760px){
  .fr-layout{grid-template-columns:1fr;height:calc(100vh - 240px)}
  .fr-layout .fr-chat{display:none}
  .fr-layout.on-chat .fr-list{display:none}
  .fr-layout.on-chat .fr-chat{display:block}
  .chat-back{display:inline-flex}
}

/* ---------- მოდალები ---------- */
.overlay{position:fixed;inset:0;background:var(--overlay);backdrop-filter:blur(6px);z-index:100;
  display:grid;place-items:center;padding:20px;animation:fade .16s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
.modal{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);
  width:100%;max-width:440px;box-shadow:var(--sh-3);animation:pop .22s cubic-bezier(.2,.9,.3,1.15);
  max-height:90vh;overflow-y:auto}
.modal.wide{max-width:660px}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
.modal-head{padding:18px 20px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.modal-body{padding:18px 20px 20px}
.modal-x{width:30px;height:30px;border-radius:var(--r-sm);color:var(--txt-2);display:grid;place-items:center;font-size:19px}
.modal-x:hover{background:var(--bg-2);color:var(--txt-0)}

.field{margin-bottom:14px}
.field label{display:block;font-size:11.5px;color:var(--txt-1);margin-bottom:6px;font-weight:600}
.field input{width:100%;height:42px;background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:0 13px;transition:border-color .15s}
.field input:focus{border-color:var(--accent);outline:none}
.field.error input{border-color:var(--no)}
.field .msg{font-size:11.5px;color:var(--no);margin-top:5px;display:none}
.field.error .msg{display:block}
.strength{height:3px;background:var(--bg-3);border-radius:var(--r-full);margin-top:7px;overflow:hidden}
.strength i{display:block;height:100%;width:0;transition:width .25s,background .25s;border-radius:var(--r-full)}
.tabs{display:flex;gap:5px;background:var(--bg-2);padding:4px;border-radius:var(--r-sm);margin-bottom:18px}
.tabs button{flex:1;height:34px;border-radius:6px;font-weight:600;font-size:13px;color:var(--txt-2)}
.tabs button.active{background:var(--bg-3);color:var(--txt-0)}

/* ---------- ბაზრის შექმნა ---------- */
.by-user{color:var(--accent-2);font-weight:600;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;max-width:130px}
.field textarea{width:100%;background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:10px 13px;resize:vertical;min-height:74px;
  line-height:1.5;transition:border-color .15s}
.field textarea:focus{border-color:var(--accent);outline:none}
.cm-select{width:100%;height:42px;background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:0 11px;transition:border-color .15s}
.cm-select:focus{border-color:var(--accent);outline:none}
.cm-range{width:100%;height:26px;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer}
.cm-range::-webkit-slider-runnable-track{height:5px;border-radius:var(--r-full);background:var(--bg-3)}
.cm-range::-moz-range-track{height:5px;border-radius:var(--r-full);background:var(--bg-3)}
.cm-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;
  margin-top:-6.5px;border-radius:50%;background-color:var(--accent);background-image:var(--grad);border:2px solid var(--bg-0);
  box-shadow:0 2px 8px rgba(108,92,231,.5)}
.cm-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);
  border:2px solid var(--bg-0)}
.cm-range:focus-visible{outline:2px solid var(--accent-2);outline-offset:4px}

.priv-badge{color:var(--warn);font-weight:600;white-space:nowrap}
.seg{display:flex;gap:5px;background:var(--bg-2);padding:4px;border-radius:var(--r-sm)}
.seg-btn{flex:1;height:36px;border-radius:6px;font-weight:600;font-size:13px;color:var(--txt-2)}
.seg-btn.active{background:var(--bg-3);color:var(--txt-0)}
.seg-hint{font-size:11.5px;color:var(--txt-2);margin-top:7px;line-height:1.5}
.pill-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.person-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--r-full);
  background:var(--bg-3);color:var(--txt-1);font-size:12px;font-weight:600}
.person-pill.owner{background:var(--accent-dim);color:var(--accent-text)}
.person-pill button{color:var(--txt-2);font-size:14px;line-height:1;margin-left:2px}
.person-pill button:hover{color:var(--no)}
.invite-row{display:flex;gap:8px;margin-top:10px}
.invite-row input{flex:1;height:36px;background:var(--bg-1);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:0 11px;min-width:0}
.invite-row input:focus{border-color:var(--accent);outline:none}

/* ---------- ბაზრის დეტალი ---------- */
.detail-chart{height:190px;background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--r-md);padding:10px;margin:14px 0}
.rules{background:var(--bg-2);border-radius:var(--r-md);padding:13px;font-size:12.5px;
  color:var(--txt-1);line-height:1.6}
.detail-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.detail-out{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);padding:13px;text-align:left}
.detail-out:hover{border-color:var(--accent)}
.detail-out .lbl{font-size:12px;color:var(--txt-1);font-weight:600}
.detail-out .val{font-size:25px;font-weight:800;margin-top:3px}

.rules-pre{white-space:pre-wrap}
.prop{background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--r-md);
  padding:12px 13px;margin-bottom:13px}
.prop.warn{background:var(--warn-dim);border-color:var(--warn)}
.prop-head{display:flex;align-items:center;gap:7px;font-size:13px;margin-bottom:8px}
.prop-body{font-size:12.5px;color:var(--txt-1);line-height:1.55;display:flex;flex-direction:column;gap:5px}
.prop-ev{color:var(--txt-2);font-style:italic}
.prop-body input{height:36px;background:var(--bg-1);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:0 11px;width:100%}
.prop-body input:focus{border-color:var(--accent);outline:none}
.prop-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.prop-note{font-size:11.5px;color:var(--txt-2);margin-top:8px;line-height:1.5}

.md{display:block;padding:24px 28px;line-height:1.7;font-size:13.5px;color:var(--txt-1)}
.md h1{font-size:22px;color:var(--txt-0);margin:0 0 6px}
.md h2{font-size:16px;color:var(--txt-0);margin:26px 0 10px;padding-top:16px;border-top:1px solid var(--line)}
.md h1+h2,.md hr+h2{border-top:none;padding-top:0}
.md h3{font-size:14px;color:var(--txt-0);margin:18px 0 7px}
.md h4{font-size:13px;color:var(--txt-1);margin:14px 0 6px}
.md p{margin:9px 0}
.md ul,.md ol{margin:9px 0 9px 20px}
.md li{margin:5px 0}
.md b{color:var(--txt-0)}
.md code{background:var(--bg-2);border:1px solid var(--line);border-radius:5px;
  padding:1px 5px;font-family:var(--mono);font-size:12px;color:var(--accent-2)}
.md hr{border:none;border-top:1px solid var(--line);margin:22px 0}
.md blockquote{border-left:3px solid var(--accent);background:var(--bg-2);
  padding:10px 14px;border-radius:0 var(--r-sm) var(--r-sm) 0;margin:12px 0;color:var(--txt-2)}
.md-table{overflow-x:auto;margin:12px 0}
.md table{width:100%;border-collapse:collapse;font-size:12.5px}
.md th{text-align:left;padding:8px 10px;background:var(--bg-2);color:var(--txt-2);
  font-size:11px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.md td{padding:8px 10px;border-top:1px solid var(--line);vertical-align:top}
.md-link{color:var(--accent-2);font-weight:600;text-decoration:underline;text-underline-offset:2px}

/* ---------- Toast ---------- */
.toasts{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:200;
  display:flex;flex-direction:column;gap:9px;align-items:center;pointer-events:none}
.toast{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);
  padding:11px 17px;font-size:13px;font-weight:500;box-shadow:var(--sh-2);
  animation:toastIn .26s cubic-bezier(.2,.9,.3,1.2);max-width:min(440px,92vw)}
@keyframes toastIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.toast.ok{border-color:rgba(20,196,140,.4)} .toast.err{border-color:rgba(255,92,110,.4)}
.toast.warn{border-color:rgba(255,176,32,.4)}

/* ---------- Confetti ---------- */
.confetti{position:fixed;inset:0;pointer-events:none;z-index:300;overflow:hidden}
.confetti i{position:absolute;width:8px;height:13px;opacity:.95;animation:fall 2.2s linear forwards}
@keyframes fall{to{transform:translateY(105vh) rotate(760deg);opacity:0}}

/* ---------- დემო-პანელი ---------- */
.demo-panel{position:fixed;right:364px;bottom:16px;z-index:90;width:290px;background:var(--bg-1);
  border:1px solid var(--accent);border-radius:var(--r-md);box-shadow:var(--sh-3);overflow:hidden}
.demo-head{background:var(--accent-dim);padding:9px 13px;font-size:12px;font-weight:700;
  display:flex;align-items:center;justify-content:space-between}
.demo-body{padding:11px 13px;max-height:290px;overflow-y:auto}
.demo-row{display:flex;align-items:center;gap:7px;margin-bottom:7px}
.demo-row select{flex:1;height:32px;background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:0 8px;font-size:12px;min-width:0}
.demo-fab{position:fixed;right:364px;bottom:16px;z-index:90;height:40px;padding:0 15px;gap:7px;
  border-radius:var(--r-full);background-color:var(--accent);background-image:var(--grad);
  color:var(--on-accent);font-weight:700;font-size:12.5px;display:inline-flex;align-items:center;
  box-shadow:0 6px 22px rgba(108,92,231,.45)}

/* ---------- Skeleton ---------- */
.skel{background:linear-gradient(90deg,var(--bg-1) 25%,var(--bg-2) 50%,var(--bg-1) 75%);
  background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:var(--r-md)}
@keyframes shimmer{to{background-position:-200% 0}}
.skel-card{height:186px}

/* ---------- Responsive ---------- */
.mobile-slip-btn{display:none}
@media (max-width:1180px){
  .app{grid-template-columns:200px minmax(0,1fr);grid-template-areas:"logo top" "nav main"}
  .slip{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:80;border-left:none;
    border-top:1px solid var(--line);background:var(--bg-1);border-radius:var(--r-lg) var(--r-lg) 0 0;
    max-height:82vh;transform:translateY(100%);transition:transform .26s cubic-bezier(.2,.9,.3,1);
    box-shadow:var(--sh-3)}
  .slip.open{transform:translateY(0)}
  .app.slip-rail{grid-template-columns:200px minmax(0,1fr)}
  .slip-rail .slip>*{display:revert}
  .rail{display:none !important}
  .mobile-slip-btn{display:flex;position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:79;
    height:46px;padding:0 22px;border-radius:var(--r-full);
    background-color:var(--accent);background-image:var(--grad);color:var(--on-accent);
    font-weight:700;align-items:center;gap:9px;box-shadow:0 8px 26px rgba(108,92,231,.5)}
  .demo-fab,.demo-panel{right:16px;bottom:74px}
}
@media (max-width:760px){
  .app{grid-template-columns:1fr;grid-template-rows:56px 1fr 60px;
    grid-template-areas:"top" "main" "nav"}
  .brand{display:none}
  .nav{border-right:none;border-top:1px solid var(--line);display:flex;padding:6px;
    background:var(--bg-1);overflow-x:auto}
  .nav-group{display:flex;margin:0;flex:1;gap:2px}
  .nav-title{display:none}
  .nav-item{flex-direction:column;height:100%;gap:3px;font-size:10px;justify-content:center;padding:0 4px}
  .nav-ico{font-size:16px}
  .nav-count{position:absolute;top:4px;right:calc(50% - 20px);margin:0;font-size:9px;padding:0 5px}
  .grid{grid-template-columns:1fr}
  .main{padding:16px 14px 90px}
  .topbar{padding:0 12px;gap:8px}
  .search{min-width:110px}
  .search input{padding-left:34px}
  .search-ico{left:11px}
  .balance-chip{padding:0 4px 0 10px;gap:6px}
  .balance-chip .lbl{display:none}
  .balance-chip .val{font-size:13px}
  #logout{max-width:74px;overflow:hidden;text-overflow:ellipsis;padding:0 10px}
  .mobile-slip-btn{bottom:74px}
  .demo-fab{bottom:130px;right:12px;height:34px;padding:0 12px;font-size:11.5px;opacity:.92}
  .demo-panel{bottom:130px;right:12px;width:calc(100vw - 24px)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important}
}
