:root{
  color-scheme:dark;
  --bg:#080b15;
  --bg-soft:#0d1220;
  --surface:#101725;
  --surface-2:#151d2c;
  --surface-3:#1b2435;
  --surface-elevated:#182132;
  --line:#273247;
  --line-soft:rgba(255,255,255,.07);
  --text:#f7f9fc;
  --text-2:#d6deeb;
  --muted:#99a6bb;
  --muted-2:#728097;
  --teal:#29dfc3;
  --teal-2:#00b99f;
  --purple:#7962ff;
  --purple-2:#a45cff;
  --green:#37d59e;
  --yellow:#f3ca68;
  --red:#ff6574;
  --blue:#55a8ff;
  --telegram-client:#1a2434;
  --telegram-agent:#5141a8;
  --bank-surface:#111c22;
  --bank-line:#2a3941;
  --shadow:0 24px 72px rgba(0,0,0,.38);
  --shadow-soft:0 12px 36px rgba(0,0,0,.22);
  --radius:24px;
  --ease:cubic-bezier(.2,.75,.2,1);
}

html[data-theme="light"]{
  color-scheme:light;
  --bg:#eef3f8;
  --bg-soft:#f7f9fc;
  --surface:#ffffff;
  --surface-2:#f6f8fb;
  --surface-3:#edf1f6;
  --surface-elevated:#ffffff;
  --line:#d6deea;
  --line-soft:rgba(18,31,49,.08);
  --text:#172033;
  --text-2:#344054;
  --muted:#667085;
  --muted-2:#8b97a8;
  --teal:#09a98f;
  --teal-2:#008c79;
  --purple:#6855e8;
  --purple-2:#8f52df;
  --green:#14996f;
  --yellow:#9a6e00;
  --red:#d63f54;
  --blue:#2478c9;
  --telegram-client:#edf2f7;
  --telegram-agent:#ded8ff;
  --bank-surface:#f7faf9;
  --bank-line:#d6e2de;
  --shadow:0 24px 72px rgba(41,52,72,.14);
  --shadow-soft:0 10px 30px rgba(41,52,72,.11);
}

*{box-sizing:border-box}
html{min-height:100%;background:var(--bg);scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  font-family:"Segoe UI Variable Text","Segoe UI",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:15px;
  line-height:1.45;
  background:
    radial-gradient(circle at 16% 8%,color-mix(in srgb,var(--purple) 16%,transparent),transparent 28%),
    radial-gradient(circle at 84% 16%,color-mix(in srgb,var(--teal) 12%,transparent),transparent 25%),
    var(--bg);
  color:var(--text);
  transition:background-color .35s var(--ease),color .25s ease;
}
button,input,select,textarea{font:inherit}
button{-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--teal) 38%,transparent);outline-offset:2px}
::selection{background:color-mix(in srgb,var(--purple) 45%,transparent);color:var(--text)}
.hidden{display:none!important}
.app-shell{min-height:100vh}

/* Header */
.brandbar{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:12px 30px;
  border-bottom:1px solid var(--line-soft);
  background:color-mix(in srgb,var(--bg) 80%,transparent);
  backdrop-filter:blur(20px) saturate(135%);
  position:sticky;
  top:0;
  z-index:40;
  transition:background .3s var(--ease),border-color .3s var(--ease);
}
.brand-lockup{display:flex;align-items:center;gap:15px;min-width:0}
.brand-logo-shell{
  width:118px;
  height:56px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  padding:7px 10px;
  border-radius:14px;
  background:#080b13;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.brand-logo-shell.compact{width:104px;height:50px}
.brand-logo-shell img,.brand-logo{display:block;max-width:100%;max-height:100%;object-fit:contain}
.brand-copy{min-width:0}
.eyebrow{font-size:11px;line-height:1.2;letter-spacing:.15em;color:var(--teal);font-weight:800}
.brand-title{font-size:21px;line-height:1.2;font-weight:800;letter-spacing:-.02em;margin-top:3px}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:13px;min-width:0}
.shift-meta{font-size:13px;color:var(--text-2);white-space:nowrap}
.shift-meta b{color:var(--text);font-weight:800}
.shift-meta .sep{opacity:.35;margin:0 8px}
.theme-toggle{
  min-width:92px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-2);
  color:var(--text-2);
  font-size:13px;
  font-weight:750;
  cursor:pointer;
  box-shadow:var(--shadow-soft);
  transition:transform .2s var(--ease),background .25s ease,border-color .25s ease,color .25s ease;
}
.theme-toggle:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--teal) 45%,var(--line));color:var(--text)}
.theme-toggle:active{transform:translateY(0) scale(.98)}
.theme-icon{font-size:17px;line-height:1;transform-origin:center;transition:transform .35s var(--ease)}
.theme-toggle:hover .theme-icon{transform:rotate(18deg)}

/* Theme chooser */
.theme-chooser{
  position:fixed;
  inset:0;
  z-index:200;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(4,7,13,.72);
  backdrop-filter:blur(18px) saturate(120%);
  animation:fadeIn .28s ease both;
}
.theme-chooser-card{
  width:min(680px,100%);
  padding:28px;
  border-radius:28px;
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:0 34px 100px rgba(0,0,0,.35);
  animation:modalIn .42s var(--ease) both;
}
.theme-chooser-brand{display:flex;align-items:center;gap:16px}
.theme-chooser-card h2{margin:3px 0 0;font-size:27px;line-height:1.15;letter-spacing:-.025em}
.theme-chooser-card>p{margin:18px 0 20px;color:var(--muted);font-size:15px;line-height:1.6}
.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.theme-option{
  position:relative;
  display:grid;
  grid-template-columns:76px 1fr 22px;
  align-items:center;
  gap:14px;
  min-height:102px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--surface-2);
  color:var(--text);
  text-align:left;
  cursor:pointer;
  transition:transform .22s var(--ease),border-color .22s ease,box-shadow .22s ease;
}
.theme-option:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--teal) 55%,var(--line));box-shadow:var(--shadow-soft)}
.theme-option b{display:block;font-size:16px;margin-bottom:4px}
.theme-option small{display:block;color:var(--muted);font-size:12px;line-height:1.4}
.theme-option-check{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#05110e;font-size:12px;font-weight:900;opacity:0;transform:scale(.7);transition:.2s var(--ease)}
.theme-option.selected .theme-option-check{opacity:1;transform:scale(1)}
.theme-preview{height:64px;border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:6px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}
.theme-preview i{display:block;height:8px;border-radius:999px;width:82%}.theme-preview i:nth-child(2){width:62%}.theme-preview i:nth-child(3){width:74%}
.dark-preview{background:#0d1320}.dark-preview i{background:#27344c}.dark-preview i:first-child{background:#5c4de0}
.light-preview{background:#f5f7fb;border-color:#d8e0eb}.light-preview i{background:#d8e0eb}.light-preview i:first-child{background:#6555df}

/* Screens */
.screen{padding:30px 32px 38px}
.screen-enter{animation:screenIn .45s var(--ease) both}
.center-card{
  width:min(860px,calc(100% - 32px));
  margin:48px auto;
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 97%,transparent),color-mix(in srgb,var(--bg-soft) 98%,transparent));
  border:1px solid var(--line-soft);
  border-radius:30px;
  padding:44px;
  box-shadow:var(--shadow);
}
.center-card h1{font-size:clamp(38px,4vw,52px);line-height:1.03;letter-spacing:-.045em;margin:12px 0 18px;max-width:760px}
.center-card h2{font-size:34px;line-height:1.1;letter-spacing:-.035em;margin:10px 0 24px}
.hero-kicker{font-size:12px;letter-spacing:.16em;color:var(--teal);font-weight:850}
.hero-copy{font-size:18px;line-height:1.65;color:var(--muted);max-width:700px}
.rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:30px 0}
.rules-grid>div{
  padding:20px;
  border-radius:18px;
  background:var(--surface-2);
  border:1px solid var(--line-soft);
  display:grid;
  grid-template-columns:42px 1fr;
  column-gap:8px;
  transition:transform .22s var(--ease),border-color .22s ease,background .22s ease;
}
.rules-grid>div:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--purple) 32%,var(--line))}
.rules-grid span{grid-row:1/3;color:var(--purple);font-weight:900;font-size:20px}
.rules-grid b{font-size:15px}.rules-grid small{color:var(--muted);margin-top:5px;line-height:1.45}

/* Buttons */
.btn{
  min-height:44px;
  border:1px solid transparent;
  border-radius:13px;
  padding:11px 17px;
  color:#fff;
  font-size:14px;
  font-weight:800;
  line-height:1.15;
  cursor:pointer;
  letter-spacing:.005em;
  position:relative;
  overflow:hidden;
  transition:transform .18s var(--ease),filter .18s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;
}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.12),transparent 80%);transform:translateX(-120%);transition:transform .55s var(--ease);pointer-events:none}
.btn:hover::after{transform:translateX(120%)}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn:active{transform:translateY(0) scale(.985)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none}
.btn.primary{background:linear-gradient(135deg,var(--purple),#5d49df 52%,var(--teal-2));box-shadow:0 10px 28px color-mix(in srgb,var(--purple) 22%,transparent)}
.btn.secondary,.btn.ghost{background:var(--surface-2);border-color:var(--line);color:var(--text-2);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.btn.secondary:hover,.btn.ghost:hover{border-color:color-mix(in srgb,var(--teal) 36%,var(--line));color:var(--text)}
.btn.danger{background:color-mix(in srgb,var(--red) 18%,var(--surface));border-color:color-mix(in srgb,var(--red) 40%,var(--line));color:color-mix(in srgb,var(--red) 76%,white)}
.btn.deposit{background:linear-gradient(135deg,#0dad79,#35d6a1);flex:1;color:#05231a;box-shadow:0 10px 25px rgba(18,183,130,.16)}
.btn.withdraw{background:linear-gradient(135deg,#d93f58,#ff6875);flex:1;color:#fff;box-shadow:0 10px 25px rgba(228,67,91,.16)}
.btn.large{min-height:50px;padding:14px 22px;font-size:15px}.btn.small{min-height:40px;padding:9px 13px;font-size:13px}

/* Forms */
.setup-form{display:grid;gap:18px}.setup-form label,.modal-card label{display:grid;gap:8px}.setup-form label span,.modal-card label span{font-size:12px;font-weight:800;color:var(--text-2)}
.setup-form input,.setup-form select,.modal-card input,.chat-input textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--bg-soft);
  color:var(--text);
  padding:13px 14px;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.setup-form input:focus,.setup-form select:focus,.modal-card input:focus,.chat-input textarea:focus{border-color:color-mix(in srgb,var(--teal) 74%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--teal) 12%,transparent)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-error{color:var(--red);font-size:13px;min-height:18px}

/* Workspace */
.workspace-screen{padding-top:24px}
.workspace-toolbar{max-width:1500px;margin:0 auto 16px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.status-pill{display:flex;align-items:center;gap:9px;min-height:38px;padding:0 13px;border:1px solid var(--line-soft);background:color-mix(in srgb,var(--surface) 76%,transparent);border-radius:999px;color:var(--text-2);font-size:13px;font-weight:700;box-shadow:var(--shadow-soft)}
.status-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 color-mix(in srgb,var(--green) 55%,transparent);animation:statusPulse 2.2s infinite}
.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.mobile-panel-nav{display:none}
.phones-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:18px}
.phone{
  height:min(760px,calc(100vh - 178px));
  min-height:630px;
  background:var(--surface);
  border-radius:26px;
  border:1px solid var(--line-soft);
  overflow:hidden;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  min-width:0;
  transform:translateZ(0);
  transition:transform .25s var(--ease),box-shadow .25s ease,border-color .25s ease,background .3s ease;
}
#workspaceScreen:not(.hidden) .phone{animation:panelIn .48s var(--ease) both}
#workspaceScreen:not(.hidden) .phone:nth-child(2){animation-delay:.06s}
#workspaceScreen:not(.hidden) .phone:nth-child(3){animation-delay:.12s}
.phone:hover{border-color:color-mix(in srgb,var(--line) 75%,var(--teal) 25%);box-shadow:0 28px 78px rgba(0,0,0,.32)}
.phone-top{min-height:70px;padding:0 19px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(255,255,255,.04)}
.phone-top strong{display:block;font-size:16px;letter-spacing:-.01em}.phone-top span{display:block;font-size:10.5px;letter-spacing:.11em;opacity:.72;margin-top:3px;font-weight:700}
.telegram-top,.mobcash-top{background:linear-gradient(135deg,#202846,#2b2250)}
.bank-top{background:linear-gradient(135deg,#0d7c65,#159779)}
html[data-theme="light"] .telegram-top,html[data-theme="light"] .mobcash-top{background:linear-gradient(135deg,#4f48a8,#6860bd);color:white}
html[data-theme="light"] .bank-top{background:linear-gradient(135deg,#087c67,#1aa080);color:white}
.badge{min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--purple);display:grid;place-items:center;font-size:11px;font-weight:900;color:white;transition:transform .2s var(--ease)}
.badge:not(:empty){animation:badgePop .35s var(--ease)}.badge.light{background:rgba(255,255,255,.18)}
.phone-body{flex:1;min-height:0}

/* Telegram */
.telegram-body{display:grid;grid-template-columns:39% 61%;min-height:0}
.chat-list{border-right:1px solid var(--line);overflow-y:auto;background:var(--bg-soft);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted-2) 40%,transparent) transparent}
.chat-item{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:10px;
  min-height:67px;
  padding:11px 10px;
  border-bottom:1px solid var(--line-soft);
  cursor:pointer;
  transition:background .18s ease,transform .18s var(--ease),box-shadow .18s ease;
}
.chat-item:hover{background:var(--surface-2)}
.chat-item.active{background:color-mix(in srgb,var(--purple) 12%,var(--surface-2));box-shadow:inset 3px 0 0 var(--purple)}
.chat-item:active{transform:scale(.992)}
.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--purple),var(--teal-2));color:white;font-size:12px;font-weight:900;box-shadow:0 5px 14px rgba(50,80,120,.14);flex:0 0 auto}
.chat-item-main{min-width:0;padding-top:1px}.chat-item-name{font-size:13.5px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.005em}.chat-item-last{font-size:12px;line-height:1.35;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.chat-item-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-top:1px}.chat-time{font-size:10.5px;color:var(--muted-2);font-variant-numeric:tabular-nums}.unread{min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--teal-2);color:white;display:grid;place-items:center;font-size:9.5px;font-weight:900;box-shadow:0 4px 10px color-mix(in srgb,var(--teal) 22%,transparent)}
.chat-pane{min-width:0;min-height:0;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--surface),var(--bg-soft));position:relative}
.empty-pane{align-items:center;justify-content:center;text-align:center;color:var(--muted);padding:30px}.empty-pane b{color:var(--text);font-size:15px;margin-top:10px}.empty-pane small{margin-top:7px;font-size:12px;line-height:1.45}.empty-icon{font-size:34px;color:var(--purple);filter:drop-shadow(0 0 15px color-mix(in srgb,var(--purple) 35%,transparent))}
.chat-header{min-height:62px;border-bottom:1px solid var(--line);padding:8px 13px;display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(10px);z-index:2}
.chat-back{display:none;width:36px;height:36px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);font-size:18px;cursor:pointer}
.chat-header-meta{min-width:0}.chat-header-meta b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-meta small{display:block;font-size:11.5px;color:var(--green);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.messages{flex:1;min-height:0;overflow-y:auto;padding:15px 13px 11px;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted-2) 35%,transparent) transparent;overscroll-behavior:contain}
.bubble{max-width:88%;padding:10px 12px;border-radius:15px;font-size:14px;line-height:1.46;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);box-shadow:0 4px 13px rgba(0,0,0,.08)}
.bubble.client{align-self:flex-start;background:var(--telegram-client);border-bottom-left-radius:5px;border:1px solid color-mix(in srgb,var(--line) 65%,transparent)}
.bubble.agent{align-self:flex-end;background:linear-gradient(135deg,var(--telegram-agent),color-mix(in srgb,var(--teal-2) 28%,var(--telegram-agent)));color:white;border-bottom-right-radius:5px}
html[data-theme="light"] .bubble.agent{color:#201b4b}
.bubble.system{align-self:center;max-width:94%;background:color-mix(in srgb,var(--teal) 9%,var(--surface-2));border:1px solid color-mix(in srgb,var(--teal) 20%,var(--line));color:color-mix(in srgb,var(--teal) 76%,var(--text));font-size:11.5px;text-align:center;box-shadow:none}
.bubble.payment_screenshot,.bubble.payment_proof{border:1px dashed color-mix(in srgb,var(--blue) 55%,var(--line));background:color-mix(in srgb,var(--blue) 8%,var(--surface-2))}
.bubble.new-message{animation:messageIn .32s var(--ease) both}
.quick-replies{display:flex;gap:7px;overflow-x:auto;padding:9px 10px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 95%,transparent);scrollbar-width:none;overscroll-behavior-x:contain}
.quick-replies::-webkit-scrollbar{display:none}
.quick-reply{white-space:nowrap;border:1px solid var(--line);background:var(--surface-2);color:var(--text-2);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:700;cursor:pointer;min-height:35px;transition:transform .17s var(--ease),background .17s ease,border-color .17s ease,color .17s ease}
.quick-reply:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--purple) 48%,var(--line));background:color-mix(in srgb,var(--purple) 9%,var(--surface-2));color:var(--text)}
.quick-reply:active{transform:scale(.97)}
.chat-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px 10px 11px;border-top:1px solid var(--line);background:var(--surface);align-items:end}
.chat-input textarea{resize:none;min-height:44px;max-height:112px;padding:11px 12px;font-size:14px;line-height:1.42;overflow-y:auto}
.chat-input .btn{min-width:66px;height:44px;padding:0 14px}
.composer-hint{font-size:10.5px;color:var(--muted-2);padding:0 11px 5px;background:var(--surface)}

/* MobCash */
.mobcash-body{padding:16px;overflow-y:auto;background:linear-gradient(180deg,var(--surface),var(--bg-soft));scrollbar-width:thin}
.balance-card{display:grid;grid-template-columns:1fr 1fr;gap:9px}.balance-card>div{padding:17px;border-radius:16px;background:linear-gradient(145deg,var(--surface-2),var(--bg-soft));border:1px solid var(--line);transition:transform .2s var(--ease),border-color .2s ease}.balance-card>div:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--purple) 28%,var(--line))}
.balance-card small,.metric-strip small{display:block;color:var(--muted);font-size:11.5px;font-weight:650}.balance-card strong{display:block;font-size:24px;line-height:1.1;margin-top:7px;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.metric-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.metric-strip>div{padding:13px;border-radius:13px;background:var(--surface-2);border:1px solid var(--line)}.metric-strip b{display:block;font-size:14px;color:var(--text-2);margin-top:4px;font-variant-numeric:tabular-nums}.metric-flash{animation:valuePulse .48s var(--ease)}
.operation-actions{display:flex;gap:8px;margin:15px 0}.section-title{font-size:11.5px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.12em;margin:20px 0 9px}.operation-list{display:flex;flex-direction:column;gap:8px}.operation{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);animation:listItemIn .28s var(--ease) both}.operation b{font-size:12.5px}.operation small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.operation .positive{color:var(--green);font-size:13px}.operation .negative{color:var(--red);font-size:13px}.empty-list{padding:25px 12px;text-align:center;color:var(--muted-2);font-size:12px}

/* Bank & Tasks */
.bank-body{padding:0;background:var(--bank-surface);overflow:hidden}.bank-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--bank-line);position:relative;background:var(--surface-2)}
.bank-tab{min-height:48px;padding:12px;border:0;background:transparent;color:var(--muted);font-size:13px;font-weight:800;cursor:pointer;position:relative;transition:color .2s ease,background .2s ease}
.bank-tab::after{content:"";position:absolute;left:20%;right:20%;bottom:-1px;height:3px;border-radius:999px 999px 0 0;background:var(--teal);transform:scaleX(0);transition:transform .25s var(--ease)}
.bank-tab.active{color:var(--teal);background:color-mix(in srgb,var(--teal) 5%,transparent)}.bank-tab.active::after{transform:scaleX(1)}
.bank-tab-panel{height:calc(100% - 49px);overflow-y:auto;padding:15px 13px 20px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted-2) 32%,transparent) transparent}
.transfer-group{margin-bottom:19px}.transfer-group-title{font-size:12px;font-weight:900;color:var(--text-2);text-transform:uppercase;letter-spacing:.095em;margin:8px 4px 9px}
.transfer,.task{padding:14px;border-radius:15px;background:var(--surface);border:1px solid var(--bank-line);margin-bottom:9px;box-shadow:0 5px 16px rgba(0,0,0,.05);animation:listItemIn .28s var(--ease) both;transition:transform .18s var(--ease),border-color .18s ease,box-shadow .18s ease}
.transfer:hover,.task:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--teal) 28%,var(--bank-line));box-shadow:0 8px 20px rgba(0,0,0,.07)}
.transfer-top,.task-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.transfer b,.task b{font-size:14px;line-height:1.35;color:var(--text);font-variant-numeric:tabular-nums}.transfer small,.task small{display:block;color:var(--muted);font-size:12.5px;margin-top:6px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}.pill{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:24px;padding:4px 8px;border-radius:999px;font-size:10.5px;line-height:1;font-weight:850;text-transform:none}.pill.pending{background:color-mix(in srgb,var(--yellow) 18%,var(--surface));color:var(--yellow);border:1px solid color-mix(in srgb,var(--yellow) 25%,transparent)}.pill.completed,.pill.sent,.pill.confirmed{background:color-mix(in srgb,var(--green) 15%,var(--surface));color:var(--green);border:1px solid color-mix(in srgb,var(--green) 23%,transparent)}.pill.declined,.pill.needs_resolution{background:color-mix(in srgb,var(--red) 14%,var(--surface));color:var(--red);border:1px solid color-mix(in srgb,var(--red) 22%,transparent)}.pill.ready_to_send,.pill.awaiting_payout{background:color-mix(in srgb,var(--blue) 13%,var(--surface));color:var(--blue);border:1px solid color-mix(in srgb,var(--blue) 20%,transparent)}
.task-actions{display:flex;gap:7px;margin-top:11px}.task-actions button{min-height:36px;padding:7px 10px;font-size:11.5px}

/* Modals / toast / result */
.modal-backdrop{position:fixed;inset:0;background:rgba(3,5,11,.7);backdrop-filter:blur(10px);display:grid;place-items:center;z-index:100;padding:20px;animation:fadeIn .2s ease both}.modal-card{width:min(540px,100%);max-height:min(760px,90vh);overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:23px;box-shadow:var(--shadow);animation:modalIn .33s var(--ease) both}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-head h3{margin:0;font-size:21px}.icon-btn{border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:11px;width:38px;height:38px;cursor:pointer;font-size:20px;transition:transform .18s var(--ease),background .18s ease}.icon-btn:hover{transform:rotate(4deg);background:var(--surface-3)}.modal-card label{margin-bottom:12px}.modal-note{padding:12px 13px;border-radius:13px;background:var(--surface-2);color:var(--text-2);font-size:13px;line-height:1.55;margin:10px 0}.deposit-requests{display:flex;flex-direction:column;gap:8px;margin:12px 0}.deposit-row{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:13px}.deposit-row small{color:var(--muted)}.deposit-row .ready{color:var(--green);font-size:12px}.deposit-row .waiting{color:var(--yellow);font-size:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}
.toast{position:fixed;right:22px;bottom:22px;z-index:130;max-width:min(380px,calc(100vw - 44px));padding:13px 16px;border-radius:14px;background:var(--surface-elevated);border:1px solid var(--line);box-shadow:var(--shadow);font-size:13px;color:var(--text-2);animation:toastIn .34s var(--ease) both}.toast.error{border-color:color-mix(in srgb,var(--red) 42%,var(--line));background:color-mix(in srgb,var(--red) 10%,var(--surface));color:color-mix(in srgb,var(--red) 75%,var(--text))}
.score-ring{width:148px;height:148px;border-radius:50%;margin:16px auto;display:grid;place-items:center;background:radial-gradient(circle at center,var(--surface) 58%,transparent 59%),conic-gradient(var(--teal) 0deg,var(--purple) 260deg,var(--line) 260deg);box-shadow:0 0 55px color-mix(in srgb,var(--teal) 10%,transparent);position:relative}.score-ring span{font-size:43px;font-weight:950}.score-ring small{position:absolute;bottom:33px;color:var(--muted)}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.result-metric{padding:16px;border-radius:15px;background:var(--surface-2);border:1px solid var(--line);text-align:center}.result-metric small{color:var(--muted);font-size:11px}.result-metric b{display:block;font-size:20px;margin-top:6px}.result-actions{display:flex;justify-content:center;gap:10px}

/* Animations */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes screenIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes panelIn{from{opacity:0;transform:translateY(14px) scale(.988)}to{opacity:1;transform:none}}
@keyframes modalIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@keyframes toastIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes messageIn{from{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:none}}
@keyframes listItemIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes valuePulse{0%{transform:scale(1)}45%{transform:scale(1.035);color:var(--teal)}100%{transform:scale(1)}}
@keyframes badgePop{0%{transform:scale(.82)}65%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes statusPulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--green) 38%,transparent)}50%{box-shadow:0 0 0 7px transparent}}

/* Responsive: tablet/mobile gets a real panel switcher instead of three stacked windows */
@media(max-width:1220px){
  .screen{padding:22px 20px 30px}
  .brandbar{padding:12px 20px}
  .workspace-toolbar{margin-bottom:12px}
  .mobile-panel-nav{
    max-width:780px;
    margin:0 auto 12px;
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:5px;
    padding:5px;
    border:1px solid var(--line);
    border-radius:16px;
    background:var(--surface-2);
    box-shadow:var(--shadow-soft);
    position:sticky;
    top:92px;
    z-index:20;
  }
  .mobile-panel-tab{
    min-height:42px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:var(--muted);
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    transition:background .2s ease,color .2s ease,transform .18s var(--ease),box-shadow .2s ease;
  }
  .mobile-panel-tab.active{background:var(--surface);color:var(--text);box-shadow:0 4px 14px rgba(0,0,0,.09)}
  .mobile-panel-tab:active{transform:scale(.98)}
  .phones-grid{max-width:780px;grid-template-columns:1fr;gap:0}
  .phone{display:none;height:min(760px,calc(100vh - 210px));min-height:590px;border-radius:24px}
  .phone.mobile-active{display:flex;animation:panelSwitch .28s var(--ease) both}
  .telegram-body{grid-template-columns:37% 63%}
}
@keyframes panelSwitch{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:none}}

@media(max-width:760px){
  body{font-size:16px;background:var(--bg)}
  .brandbar{min-height:68px;padding:8px 12px;gap:10px}
  .brand-logo-shell{width:84px;height:45px;border-radius:11px;padding:6px 8px}.brand-copy{display:none}
  .header-actions{gap:7px;min-width:0}.shift-meta{display:none}.theme-toggle{min-width:44px;width:44px;height:40px;padding:0}.theme-toggle #themeLabel,.theme-toggle span:last-child{display:none}.theme-icon{font-size:18px}
  .screen{padding:12px 10px 22px}.center-card{width:100%;margin:14px auto;padding:25px 18px;border-radius:22px}.center-card h1{font-size:34px}.center-card h2{font-size:28px}.hero-copy{font-size:16px}.rules-grid,.two-col,.result-grid{grid-template-columns:1fr}.rules-grid{gap:9px}.rules-grid>div{padding:16px}
  .theme-chooser{padding:12px}.theme-chooser-card{padding:20px;border-radius:22px}.theme-chooser-brand{align-items:flex-start}.theme-chooser-card h2{font-size:23px}.theme-options{grid-template-columns:1fr}.theme-option{min-height:88px;grid-template-columns:68px 1fr 22px}.theme-preview{height:56px}
  .workspace-toolbar{align-items:center;gap:8px;padding:0 2px;margin-bottom:10px}.status-pill{min-height:36px;padding:0 11px;font-size:12px}.toolbar-actions{gap:6px}.toolbar-actions .btn{min-height:36px;padding:8px 10px;font-size:11.5px}.toolbar-actions #nextRequestBtn{display:none}
  .mobile-panel-nav{top:68px;margin-bottom:9px;border-radius:14px;padding:4px;gap:3px}.mobile-panel-tab{min-height:40px;font-size:12px;padding:0 5px}
  .phones-grid{width:100%}.phone{height:calc(100dvh - 145px);min-height:510px;border-radius:20px}.phone:hover{transform:none}.phone-top{min-height:59px;padding:0 14px}.phone-top strong{font-size:15px}.phone-top span{font-size:9.5px}.badge{min-width:25px;height:25px}
  .telegram-body{display:block;position:relative;overflow:hidden}.chat-list{height:100%;border:0}.chat-pane{position:absolute;inset:0;transform:translateX(102%);transition:transform .28s var(--ease);z-index:4}.telegram-phone.mobile-chat-open .chat-pane{transform:translateX(0)}.telegram-phone.mobile-chat-open .chat-list{pointer-events:none}.chat-back{display:grid;place-items:center}.chat-header{min-height:60px;padding:8px 10px}.chat-item{grid-template-columns:46px minmax(0,1fr) auto;min-height:72px;padding:12px}.avatar{width:46px;height:46px;font-size:13px}.chat-item-name{font-size:15px}.chat-item-last{font-size:13px;margin-top:3px}.chat-time{font-size:11px}.messages{padding:14px 11px}.bubble{font-size:15px;max-width:86%;padding:10px 12px}.bubble.system{font-size:12px}.quick-replies{padding:8px 9px}.quick-reply{font-size:12.5px;min-height:37px}.chat-input{padding:8px 9px calc(8px + env(safe-area-inset-bottom))}.chat-input textarea{font-size:16px;min-height:46px}.chat-input .btn{height:46px;min-width:70px}.composer-hint{display:none}
  .mobcash-body{padding:14px}.balance-card strong{font-size:23px}.balance-card small,.metric-strip small{font-size:12px}.operation-actions .btn{min-height:48px;font-size:15px}.section-title{font-size:12px}.operation b{font-size:13.5px}.operation small{font-size:12px}
  .bank-tab{min-height:48px;font-size:14px}.bank-tab-panel{padding:13px 11px 18px}.transfer-group-title{font-size:12px}.transfer,.task{padding:13px}.transfer b,.task b{font-size:15px}.transfer small,.task small{font-size:13px}.pill{font-size:10.5px}
  .result-actions{flex-direction:column}.modal-backdrop{padding:10px}.modal-card{border-radius:20px;padding:18px}.toast{right:12px;bottom:12px;max-width:calc(100vw - 24px)}
}

@media(max-width:420px){
  .mobile-panel-tab{font-size:11.5px}.workspace-toolbar{align-items:flex-start}.toolbar-actions{justify-content:flex-end}.toolbar-actions .btn{padding:7px 8px}.balance-card{grid-template-columns:1fr}.metric-strip{grid-template-columns:1fr 1fr}.phone{height:calc(100dvh - 150px)}
}

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

body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.status-dot.paused{animation:none;box-shadow:0 0 0 5px color-mix(in srgb,var(--yellow) 14%,transparent)}
.pill.awaiting_payment{background:color-mix(in srgb,var(--yellow) 18%,var(--surface));color:var(--yellow);border:1px solid color-mix(in srgb,var(--yellow) 25%,transparent)}
.pill.ready_to_credit{background:color-mix(in srgb,var(--green) 15%,var(--surface));color:var(--green);border:1px solid color-mix(in srgb,var(--green) 23%,transparent)}
