/* ═══════════════════════════════════════════════
   АлмазБур — VK Mobile Style v5
   ═══════════════════════════════════════════════ */
:root{
  --bg:        #1C1C1E;
  --bg2:       #2C2C2E;
  --bg3:       #3A3A3C;
  --card:      #252527;
  --border:    #38383A;
  --accent:    #3D7BF4;
  --accent2:   #5B95FF;
  --green:     #4BB34B;
  --yellow:    #FF9F0A;
  --red:       #E64646;
  --purple:    #7B61FF;
  --text:      #FFFFFF;
  --text2:     #EBEBF5CC;
  --text3:     #EBEBF599;
  --sep:       rgba(255,255,255,.08);
  --r:         12px;
  --r2:        16px;
  --shadow:    0 2px 12px rgba(0,0,0,.35);
  --hdr-h:     52px;
  --tab-h:     56px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-tap-highlight-color:transparent;font-size:16px;scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--text);
  font-family:-apple-system,'SF Pro Display','Segoe UI',Roboto,sans-serif;
  min-height:100vh;padding-top:var(--hdr-h);padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom));
}
a{color:var(--accent);text-decoration:none}
img{max-width:100%;display:block}
input,select,textarea,button{font-family:inherit}

/* ── Layout ──────────────────────────────────────── */
.vk-content{max-width:600px;margin:0 auto;padding:0}
.vk-section{padding:0 0 8px}
.vk-section-title{
  padding:20px 16px 8px;
  font-size:13px;font-weight:600;
  color:var(--text3);letter-spacing:.3px;text-transform:uppercase;
}

/* ── Header ──────────────────────────────────────── */
.vk-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:var(--hdr-h);
  background:rgba(28,28,30,.92);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--sep);
  display:flex;align-items:center;padding:0 8px;
  max-width:600px;margin:0 auto;
}
.vk-hdr-left,.vk-hdr-right{display:flex;align-items:center;gap:4px;flex-shrink:0}
.vk-hdr-title{flex:1;text-align:center;font-size:17px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 8px}
.vk-hdr-logo{font-size:19px;font-weight:800;color:var(--text);padding:0 8px}
.vk-hdr-back,.vk-hdr-btn{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--accent);position:relative;cursor:pointer;
  background:transparent;border:none;
  -webkit-appearance:none;
}
.vk-hdr-back:hover,.vk-hdr-btn:hover{background:var(--bg3)}
.vk-hdr-ava{display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;width:32px;height:32px;margin-left:4px}
.hdr-badge{
  position:absolute;top:0;right:0;
  background:var(--red);color:#fff;
  font-size:10px;font-weight:700;
  min-width:16px;height:16px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;padding:0 3px;
}

/* ── Tabbar ──────────────────────────────────────── */
.vk-tabbar{
  position:fixed;bottom:0;left:0;right:0;z-index:100;
  height:var(--tab-h);
  background:rgba(28,28,30,.95);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-top:1px solid var(--sep);
  display:flex;justify-content:space-around;align-items:stretch;
  padding-bottom:env(safe-area-inset-bottom);
  max-width:600px;margin:0 auto;
}
.tb-item{
  flex:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:3px;
  color:var(--text3);font-size:10px;font-weight:500;
  text-decoration:none;transition:color .15s;padding:4px 0;
}
.tb-item.active,.tb-item:hover{color:var(--accent)}
.tb-icon{position:relative;width:24px;height:24px;display:flex;align-items:center;justify-content:center}
.tb-icon svg{width:24px;height:24px}
.tb-dot{
  position:absolute;top:-4px;right:-8px;
  background:var(--red);color:#fff;
  font-size:9px;font-weight:700;
  min-width:15px;height:15px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;padding:0 3px;
}
.tb-label{font-size:10px;line-height:1}

/* ── Avatars ─────────────────────────────────────── */
.av-img{border-radius:50%;object-fit:cover;flex-shrink:0;display:block}
.av-ph{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex-shrink:0}

/* ── VK Cells (list items) ───────────────────────── */
.vk-group{background:var(--card);border-radius:var(--r2);overflow:hidden;margin:0 0 10px}
.vk-group+.vk-group{margin-top:0}
.vk-cell{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;position:relative;
  border-bottom:1px solid var(--sep);
  text-decoration:none;color:var(--text);
  transition:background .12s;
  cursor:pointer;
}
.vk-cell:last-child{border-bottom:none}
.vk-cell:active{background:var(--bg3)}
.vk-cell-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}
.vk-cell-icon.blue{background:rgba(61,123,244,.2);color:var(--accent)}
.vk-cell-icon.green{background:rgba(75,179,75,.2);color:var(--green)}
.vk-cell-icon.red{background:rgba(230,70,70,.2);color:var(--red)}
.vk-cell-icon.yellow{background:rgba(255,159,10,.2);color:var(--yellow)}
.vk-cell-icon.purple{background:rgba(123,97,255,.2);color:var(--purple)}
.vk-cell-body{flex:1;min-width:0}
.vk-cell-title{font-size:15px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vk-cell-sub{font-size:13px;color:var(--text3);margin-top:2px}
.vk-cell-right{color:var(--text3);font-size:13px;flex-shrink:0;display:flex;align-items:center;gap:6px}
.vk-cell-chevron::after{content:'›';color:var(--text3);font-size:18px;margin-left:4px}
.vk-cell-multi{align-items:flex-start}
.vk-cell-multi .vk-cell-body{padding-top:2px}

/* ── Ticket card (VK post style) ─────────────────── */
.vk-post{
  background:var(--card);
  border-radius:var(--r2);
  overflow:hidden;
  margin:0 0 10px;
  box-shadow:var(--shadow);
}
.vk-post-header{
  display:flex;align-items:center;gap:10px;
  padding:12px 14px 8px;
}
.vk-post-meta{flex:1;min-width:0}
.vk-post-name{font-size:14px;font-weight:600;color:var(--text)}
.vk-post-time{font-size:12px;color:var(--text3);margin-top:1px}
.vk-post-body{padding:0 14px 10px}
.vk-post-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:6px}
.vk-post-row{font-size:13px;color:var(--text2);margin-bottom:3px;display:flex;align-items:flex-start;gap:6px}
.vk-post-row-icon{color:var(--accent);flex-shrink:0;margin-top:1px}
.vk-post-desc{font-size:13px;color:var(--text3);line-height:1.5;margin-top:6px;border-top:1px solid var(--sep);padding-top:8px}
.vk-post-cover{width:100%;max-height:50vh;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden}
.vk-post-cover img{max-width:100%;max-height:50vh;width:100%;object-fit:contain}
.vk-post-actions{
  display:flex;align-items:center;gap:4px;
  padding:8px 10px 12px;border-top:1px solid var(--sep);
}

/* ── Status badges ───────────────────────────────── */
.status-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}
.status-draft      {background:rgba(255,255,255,.1);color:var(--text3)}
.status-published  {background:rgba(61,123,244,.2);color:var(--accent2)}
.status-in_progress{background:rgba(255,159,10,.2);color:var(--yellow)}
.status-completed  {background:rgba(75,179,75,.2);color:var(--green)}
.status-cancelled  {background:rgba(230,70,70,.2);color:var(--red)}

/* ── Buttons ─────────────────────────────────────── */
.vk-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  border:none;border-radius:10px;font-weight:600;cursor:pointer;
  transition:opacity .15s,transform .1s;text-decoration:none;
  white-space:nowrap;font-size:14px;padding:10px 18px;
}
.vk-btn:active{transform:scale(.97);opacity:.85}
.vk-btn:disabled{opacity:.45;pointer-events:none}
.vk-btn-primary  {background:var(--accent);color:#fff}
.vk-btn-primary:hover{background:#4D8BFF;color:#fff}
.vk-btn-success  {background:var(--green);color:#fff}
.vk-btn-danger   {background:var(--red);color:#fff}
.vk-btn-secondary{background:var(--bg3);color:var(--text)}
.vk-btn-ghost    {background:rgba(255,255,255,.06);color:var(--text2);border:1px solid var(--sep)}
.vk-btn-sm       {padding:7px 14px;font-size:13px;border-radius:8px}
.vk-btn-xs       {padding:4px 10px;font-size:12px;border-radius:6px}
.vk-btn-w        {width:100%}
.vk-btn-icon     {width:36px;height:36px;padding:0;border-radius:50%;flex-shrink:0}

/* ── Forms ───────────────────────────────────────── */
.vk-form-group{margin-bottom:12px}
.vk-form-label{display:block;font-size:13px;color:var(--text3);margin-bottom:5px;font-weight:500}
.vk-input{
  width:100%;background:var(--bg3);border:1.5px solid transparent;
  border-radius:10px;color:var(--text);padding:11px 13px;
  font-size:15px;outline:none;transition:border-color .15s;
  -webkit-appearance:none;appearance:none;
}
.vk-input:focus{border-color:var(--accent)}
.vk-input::placeholder{color:var(--text3)}
textarea.vk-input{resize:vertical;min-height:80px;line-height:1.5}
select.vk-input{cursor:pointer}
input[type=file].vk-input{padding:9px 13px;cursor:pointer}

/* ── Toggle ──────────────────────────────────────── */
.vk-toggle-row{
  display:flex;align-items:center;gap:12px;
  padding:13px 16px;cursor:pointer;
  border-bottom:1px solid var(--sep);
}
.vk-toggle-row:last-child{border-bottom:none}
.vk-toggle-body{flex:1;min-width:0}
.vk-toggle-title{font-size:15px;color:var(--text)}
.vk-toggle-sub{font-size:13px;color:var(--text3);margin-top:2px}
.vk-switch{
  position:relative;width:51px;height:31px;flex-shrink:0;cursor:pointer;
  -webkit-appearance:none;appearance:none;
  background:var(--bg3);border-radius:16px;
  transition:background .2s;outline:none;
}
.vk-switch:checked{background:var(--green)}
.vk-switch::after{
  content:'';position:absolute;
  top:3px;left:3px;width:25px;height:25px;
  background:#fff;border-radius:50%;
  transition:transform .2s;
  box-shadow:0 2px 4px rgba(0,0,0,.3);
}
.vk-switch:checked::after{transform:translateX(20px)}

/* ── Alerts ──────────────────────────────────────── */
.alert{border-radius:10px;padding:11px 14px;font-size:14px;margin-bottom:10px;border:1px solid transparent}
.alert-danger  {background:rgba(230,70,70,.12);border-color:rgba(230,70,70,.3);color:#FF6B6B}
.alert-success {background:rgba(75,179,75,.12);border-color:rgba(75,179,75,.3);color:#6BCB6B}
.alert-info    {background:rgba(61,123,244,.12);border-color:rgba(61,123,244,.3);color:var(--accent2)}
.alert-warning {background:rgba(255,159,10,.12);border-color:rgba(255,159,10,.3);color:var(--yellow)}
.alert-muted   {background:var(--bg2);border-color:var(--border);color:var(--text3);text-align:center;padding:24px 16px}

/* ── Chat ────────────────────────────────────────── */
.msg-row{display:flex;margin-bottom:4px;align-items:flex-end;gap:6px}
.msg-row.mine{flex-direction:row-reverse}
.msg-av{flex-shrink:0;align-self:flex-end}
.msg-bubble{
  max-width:72%;padding:8px 12px;border-radius:18px;
  font-size:14px;line-height:1.45;word-break:break-word;
}
.msg-row.mine .msg-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}
.msg-row.theirs .msg-bubble{background:var(--card);color:var(--text);border-bottom-left-radius:4px}
.msg-name{font-size:11px;font-weight:700;margin-bottom:3px;opacity:.75}
.msg-time{font-size:10px;opacity:.55;margin-top:4px;text-align:right}
.msg-img{max-width:200px;border-radius:12px;margin-bottom:5px;cursor:pointer;display:block}
.msg-file{
  display:flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.1);border-radius:10px;
  padding:7px 10px;margin-bottom:5px;
}
.msg-file svg{flex-shrink:0;opacity:.7}
.msg-file-name{font-size:13px;font-weight:600;word-break:break-all}
.msg-file-desc{font-size:11px;opacity:.65;margin-top:2px}
.chat-input-wrap{
  display:flex;align-items:center;gap:8px;
  padding:8px 12px;
  background:rgba(28,28,30,.95);
  border-top:1px solid var(--sep);
  padding-bottom:calc(8px + env(safe-area-inset-bottom));
}
.chat-input{flex:1;background:var(--bg3);border:none;border-radius:20px;color:var(--text);padding:9px 14px;font-size:15px;outline:none;resize:none;max-height:120px;overflow-y:auto;line-height:1.4}
.chat-input::placeholder{color:var(--text3)}

/* ── Stories-like circles for workers ───────────────*/
.stories-row{display:flex;gap:12px;padding:12px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.stories-row::-webkit-scrollbar{display:none}
.story-item{display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0}
.story-ring{
  width:60px;height:60px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--purple));
  padding:2.5px;cursor:pointer;
}
.story-inner{width:100%;height:100%;border-radius:50%;background:var(--card);overflow:hidden;display:flex;align-items:center;justify-content:center}
.story-label{font-size:11px;color:var(--text3);max-width:64px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── Stats grid ──────────────────────────────────── */
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 0 8px}
.stats-grid.cols3{grid-template-columns:1fr 1fr 1fr}
.stat-card{background:var(--card);border-radius:var(--r2);padding:14px 12px;text-align:center}
.stat-card .sn{font-size:28px;font-weight:800;color:var(--accent);line-height:1}
.stat-card .sl{font-size:12px;color:var(--text3);margin-top:4px}
.stat-card.green .sn{color:var(--green)}
.stat-card.yellow .sn{color:var(--yellow)}
.stat-card.red .sn{color:var(--red)}
.stat-card.purple .sn{color:var(--purple)}

/* ── Payment item ────────────────────────────────── */
.pay-row{padding:10px 0;border-bottom:1px solid var(--sep)}
.pay-row:last-child{border-bottom:none}
.pay-row.hidden .pay-amount{text-decoration:line-through;opacity:.45}
.pay-amount{font-size:16px;font-weight:700;color:var(--green)}
.pay-meta{font-size:12px;color:var(--text3);margin-top:2px}
.pay-by{font-size:12px;color:var(--text3)}
.pay-hide-reason{font-size:12px;color:var(--red);margin-top:2px}

/* ── File row ────────────────────────────────────── */
.file-row{
  display:flex;align-items:center;gap:10px;
  padding:10px 0;border-bottom:1px solid var(--sep);
}
.file-row:last-child{border-bottom:none}
.file-thumb{width:44px;height:44px;border-radius:8px;object-fit:cover;flex-shrink:0}
.file-thumb-ph{width:44px;height:44px;border-radius:8px;background:var(--bg3);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text3)}
.file-info{flex:1;min-width:0}
.file-name{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-sub{font-size:12px;color:var(--text3);margin-top:2px}

/* ── Modals & sheets ─────────────────────────────── */
.vk-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:200;backdrop-filter:blur(2px)}
.vk-overlay.show{display:block}
.vk-sheet{
  position:fixed;bottom:-100%;left:0;right:0;
  max-width:600px;margin:0 auto;
  background:var(--bg2);border-radius:20px 20px 0 0;
  border-top:1px solid var(--sep);
  z-index:300;transition:bottom .3s cubic-bezier(.4,0,.2,1);
  max-height:90vh;overflow-y:auto;
  padding-bottom:env(safe-area-inset-bottom);
}
.vk-sheet.show{bottom:0}
.sheet-handle{width:36px;height:4px;background:var(--bg3);border-radius:2px;margin:10px auto 0}
.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px}
.sheet-head h3{font-size:17px;font-weight:700}
.sheet-close{background:var(--bg3);border:none;color:var(--text3);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}
.sheet-body{padding:0 16px 20px}

/* ── Login ───────────────────────────────────────── */
.login-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background:var(--bg)}
.login-logo-wrap{margin-bottom:32px;text-align:center}
.login-logo{width:80px;height:80px;background:var(--accent);border-radius:24px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:36px}
.login-app-name{font-size:24px;font-weight:800;color:var(--text)}
.login-card{width:100%;max-width:400px;background:var(--card);border-radius:20px;padding:24px}

/* ── Profile / workers ───────────────────────────── */
.profile-hero{text-align:center;padding:20px 16px 12px;background:var(--card)}
.profile-avatar-wrap{position:relative;display:inline-block;margin-bottom:10px}
.profile-edit-ava{
  position:absolute;bottom:0;right:0;
  width:26px;height:26px;background:var(--accent);border-radius:50%;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  border:2px solid var(--bg);
}
.profile-name{font-size:20px;font-weight:700}
.profile-role{font-size:14px;color:var(--text3);margin-top:3px}

/* ── Notifications ───────────────────────────────── */
.notif-item{padding:12px 16px;border-bottom:1px solid var(--sep);display:block;color:var(--text);text-decoration:none}
.notif-item.unread{background:rgba(61,123,244,.06)}
.notif-title{font-size:14px;font-weight:600}
.notif-msg{font-size:13px;color:var(--text3);margin-top:3px}
.notif-time{font-size:11px;color:var(--text3);margin-top:4px}
.notif-item:hover{background:var(--bg3)}

/* ── Chat list ───────────────────────────────────── */
.chat-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--sep);text-decoration:none;color:var(--text)}
.chat-item:hover{background:var(--bg3)}
.chat-item-info{flex:1;min-width:0}
.chat-item-top{display:flex;justify-content:space-between;align-items:center}
.chat-item-name{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-item-time{font-size:12px;color:var(--text3);flex-shrink:0;margin-left:8px}
.chat-item-last{font-size:13px;color:var(--text3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.unread-badge{
  background:var(--accent);color:#fff;
  font-size:11px;font-weight:700;
  min-width:20px;height:20px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;padding:0 5px;flex-shrink:0;
}

/* ── Files gallery ───────────────────────────────── */
.files-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.file-grid-item{aspect-ratio:1;overflow:hidden;background:var(--bg3);cursor:pointer;position:relative}
.file-grid-item img{width:100%;height:100%;object-fit:cover;transition:opacity .2s}
.file-grid-item:hover img{opacity:.85}
.file-grid-doc{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;color:var(--text3)}
.file-grid-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0,transparent 50%);display:flex;align-items:flex-end;padding:4px}
.file-grid-name{font-size:10px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}

/* ── Admin stats ─────────────────────────────────── */
.chart-wrap{background:var(--card);border-radius:var(--r2);padding:14px;margin-bottom:10px}
.bar-chart{display:flex;align-items:flex-end;gap:4px;height:80px}
.bar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}
.bar-fill{width:100%;border-radius:4px 4px 0 0;background:var(--accent);transition:height .3s;min-height:2px}
.bar-label{font-size:9px;color:var(--text3)}

/* ── Progress ────────────────────────────────────── */
.vk-progress{background:var(--bg3);border-radius:4px;height:4px;overflow:hidden;margin-top:6px}
.vk-progress-fill{background:var(--accent);height:100%;width:0;transition:width .3s}
.vk-progress-label{font-size:12px;color:var(--text3);margin-top:3px}

/* ── Divider ─────────────────────────────────────── */
.vk-sep{border:none;border-top:1px solid var(--sep);margin:8px 0}

/* ── Search bar ──────────────────────────────────── */
.vk-search{
  display:flex;align-items:center;gap:8px;
  background:var(--bg3);border-radius:10px;
  padding:8px 12px;margin:8px 0;
}
.vk-search svg{color:var(--text3);flex-shrink:0}
.vk-search input{flex:1;background:transparent;border:none;color:var(--text);font-size:15px;outline:none}
.vk-search input::placeholder{color:var(--text3)}

/* ── Spinner ─────────────────────────────────────── */
.vk-spinner{width:32px;height:32px;border:3px solid var(--bg3);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin:20px auto}
@keyframes spin{to{transform:rotate(360deg)}}
.spinner-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:500;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.spinner-overlay.show{display:flex}
.spinner-overlay .vk-spinner{width:44px;height:44px;border-width:4px}

/* ── Lightbox ────────────────────────────────────── */
#lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:1000;align-items:center;justify-content:center}
#lightbox.show{display:flex}
#lightbox img{max-width:100%;max-height:100%;object-fit:contain}
#lightbox-close{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.15);border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}

/* ── Workers page ────────────────────────────────── */
.worker-hero{text-align:center;padding:16px;background:var(--card)}
.blocked-tag{display:inline-block;background:rgba(230,70,70,.2);color:var(--red);font-size:11px;border-radius:6px;padding:2px 7px;font-weight:600;margin-left:6px}

/* ── Misc ────────────────────────────────────────── */
.empty-state{text-align:center;padding:48px 20px;color:var(--text3)}
.empty-state-icon{font-size:48px;margin-bottom:12px}
.empty-state-title{font-size:17px;font-weight:600;color:var(--text2);margin-bottom:6px}
.text-green{color:var(--green)}
.text-red{color:var(--red)}
.text-yellow{color:var(--yellow)}
.text-muted{color:var(--text3)}
.fw7{font-weight:700}
.fs13{font-size:13px}
.fs12{font-size:12px}
.mt4{margin-top:4px}
.mt8{margin-top:8px}
.mt12{margin-top:12px}
.pb16{padding-bottom:16px}
.p16{padding:16px}

/* ── Scrollbar ───────────────────────────────────── */
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--bg3);border-radius:2px}

/* ── Responsive ──────────────────────────────────── */
@media(min-width:600px){
  .vk-header,.vk-tabbar{left:50%;transform:translateX(-50%);width:600px;right:auto}
}

/* ── My tickets active badge ─────────────────── */
.tb-badge{
  position:absolute;top:-5px;right:-10px;
  background:var(--accent);color:#fff;
  font-size:9px;font-weight:700;
  min-width:15px;height:15px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;padding:0 3px;
  pointer-events:none;
}
