:root {
  --bg: #f2f5f8;
  --card: #ffffff;
  --ink: #16243a;
  --muted: #718198;
  --line: #dce6f1;
  --blue: #1677ea;
  --blue-dark: #0b5fcb;
  --green: #20a56a;
  --red: #e45c68;
  --shadow: 0 12px 34px rgba(39, 69, 103, .09);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; min-height: 100%; overscroll-behavior-y: none; }
body { margin: 0; min-height: var(--app-height, 100dvh); overflow-x:hidden; overscroll-behavior-y: none; background: linear-gradient(180deg,#f7f9fb 0,#eef3f7 420px,#f2f5f8 100%); color: var(--ink); font: 15px/1.45 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.shell { min-height: var(--app-height, 100dvh); }
.topbar { height: 76px; display: flex; align-items: center; justify-content: space-between; padding: 0 max(22px, calc((100vw - 1180px)/2)); background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(16px); }
.brand { color: var(--ink); text-decoration: none; display: flex; align-items: center; gap: 11px; }
.brand-mark { width: 39px; height: 39px; display: grid; place-items: center; overflow:hidden; border-radius: 12px; color: #fff; font-weight: 900; font-size: 20px; background: var(--blue); box-shadow: 0 8px 20px rgba(22,119,234,.24); }
.brand-mark img { display:block; width:100%; height:100%; object-fit:cover; }
.brand b, .brand small { display: block; }
.brand b { font-size: 17px; letter-spacing: -.2px; }
.brand small { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: 1.1px; }
.topbar-actions { display:flex; align-items:center; gap:9px; }
.fullscreen-button { border:1px solid #cfe0f1; background:#edf5ff; color:#0d66c7; border-radius:12px; padding:10px 13px; cursor:pointer; font-size:12px; font-weight:800; }
.balance-pill { border: 1px solid #cfe0f1; background: #f7fbff; border-radius: 12px; padding: 8px 13px; color: var(--ink); text-align: right; cursor: pointer; }
.balance-pill span { display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .8px; }
.balance-pill b { font-size: 16px; }
main { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 36px 0 150px; }
.hero { background: #172d49; color: #fff; min-height: 188px; border-radius: 20px; padding: 31px 35px; display: flex; justify-content: space-between; align-items: flex-end; box-shadow: var(--shadow); position: relative; overflow: hidden; }
.hero::after { content: ""; position: absolute; width: 240px; height: 240px; border: 44px solid rgba(70,151,246,.13); border-radius: 50%; right: -75px; top: -130px; }
.eyebrow { color: #8dc2ff; text-transform: uppercase; letter-spacing: 1.6px; font-size: 11px; font-weight: 800; }
.hero h1 { font-size: clamp(29px, 4vw, 42px); letter-spacing: -1.5px; line-height: 1.05; margin: 12px 0 10px; max-width: 720px; }
.hero p { margin: 0; color: #c3d1e3; max-width: 650px; font-size: 16px; }
.live-label { display: inline-flex; align-items: center; gap: 7px; color: #bfead2; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; }.live-label i { width: 8px; height: 8px; border-radius: 50%; background: #42d58b; box-shadow: 0 0 0 5px rgba(66,213,139,.12); }
.trust-row { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; position: relative; z-index: 1; }
.trust-row span { padding: 8px 11px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); border-radius: 999px; font-size: 11px; }
.service-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 18px 0; }
.service-card { min-width: 0; border: 1px solid var(--line); border-top: 3px solid #cdd9e6; background: var(--card); border-radius: 15px; padding: 13px 15px 15px; text-align: left; cursor: pointer; color: var(--ink); display: grid; grid-template-columns: 38px 1fr; gap: 10px; position: relative; transition: .18s ease; box-shadow: 0 4px 15px rgba(39,69,103,.04); }
.service-card:hover { transform: translateY(-2px); border-color: #a9caed; }
.service-card.active { border-color: var(--blue); border-top-color: var(--blue); box-shadow: 0 8px 24px rgba(22,119,234,.13); }
.service-card b, .service-card small { display: block; }
.service-card b { font-size: 13px; white-space: nowrap; }
.service-card small { color: var(--muted); font-size: 10px; margin-top: 3px; line-height: 1.25; }
.service-card em { grid-column: 2; color: var(--blue); font-size: 11px; font-style: normal; font-weight: 800; }
.service-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; font-weight: 900; }
.service-icon.blue { color: #126ed6; background: #e8f2ff; }.service-icon.violet { color: #7858d7; background: #f0ecff; }.service-icon.amber { color: #a87308; background: #fff5d9; }.service-icon.cyan { color: #08889a; background: #e6f8fb; }.service-icon.purple { color: #7c3aed; background: #ede9fe; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow); padding: 26px; margin: 18px 0; }
.section-heading, .job-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 21px; }
.section-heading > div, .job-head > div { display: flex; align-items: center; gap: 12px; }
.section-heading h2, .job-head h2, .security h2 { margin: 0; font-size: 21px; letter-spacing: -.4px; }
.section-heading p, .job-head p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.section-heading.compact { margin-bottom: 16px; }
.step { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #e8f2ff; color: var(--blue); font-weight: 900; }
.free-badge { border-radius: 999px; padding: 7px 11px; background: #e9f8ef; color: #178550; font-weight: 800; font-size: 11px; }
.dropzone { min-height: 190px; border: 1.5px dashed #9fb9d4; background: #f7fbff; border-radius: 17px; display: flex; align-items: center; justify-content: center; flex-direction: column; cursor: pointer; padding: 25px; text-align: center; transition: .18s ease; }
.dropzone.drag, .dropzone:hover { border-color: var(--blue); background: #f0f7ff; }
.dropzone input, .qr-upload input { display: none; }
.upload-mark { width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; background: #e5f1ff; color: var(--blue); font-size: 28px; margin-bottom: 10px; }
.dropzone b { font-size: 16px; }.dropzone small { color: var(--muted); margin-top: 4px; }.file-name { color: var(--blue); font-weight: 800; margin-top: 12px; word-break: break-all; }
.qr-upload { margin-top: 12px; border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; }
.qr-upload b, .qr-upload small { display: block; }.qr-upload small { color: var(--muted); font-size: 11px; }.qr-upload i { color: var(--blue); font-style: normal; font-weight: 800; }
.quote { margin-top: 14px; padding: 14px; background: #f6f9fd; border-radius: 14px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.quote div { text-align: center; border-right: 1px solid var(--line); }.quote div:last-child { border: 0; }.quote span, .quote b { display: block; }.quote span { color: var(--muted); font-size: 11px; }.quote b { font-size: 18px; margin-top: 3px; }
.actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }
/* ── Рассылка ── */
.field-row { display: flex; flex-direction: column; gap: 6px; margin-top: 16px; }
.field-row > span { display: flex; flex-direction: column; gap: 2px; }
.field-row > span b { font-size: 13px; }
.field-row > span small { font-size: 11px; color: var(--muted); }
.field-row input, .field-row textarea { border: 1px solid var(--line); border-radius: 11px; background: var(--card); color: var(--text); padding: 10px 13px; font-size: 13px; width: 100%; box-sizing: border-box; font-family: inherit; resize: vertical; }
.field-row input:focus, .field-row textarea:focus { outline: none; border-color: var(--blue); }
/* ── broadcast settings ── */
.broadcast-settings { margin-top: 18px; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; }
.broadcast-settings summary { padding: 11px 14px; font-size: 12px; font-weight: 800; cursor: pointer; color: var(--muted); list-style: none; background: var(--bg); }
.broadcast-settings summary::-webkit-details-marker { display: none; }
.broadcast-settings[open] summary { color: var(--ink); border-bottom: 1px solid var(--line); }
.broadcast-settings-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 13px 14px; background: var(--card); }
.broadcast-settings-grid label { display: flex; flex-direction: column; gap: 4px; font-size: 11px; color: var(--muted); }
.broadcast-settings-grid label input[type="number"] { border: 1px solid var(--line); border-radius: 9px; padding: 9px 10px; background: var(--card); color: var(--ink); font-size: 13px; font-family: inherit; outline: 0; }
.broadcast-settings-grid label input[type="number"]:focus { border-color: var(--blue); }
.broadcast-toggle-label { flex-direction: row !important; align-items: center; gap: 8px !important; padding-top: 18px; cursor: pointer; }
.broadcast-toggle-label span { font-size: 11px; color: var(--ink) !important; }
/* ── broadcast live table ── */
.broadcast-live-table { margin-top: 16px; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; }
.broadcast-live-head { display: grid; grid-template-columns: 160px 130px 1fr; padding: 8px 12px; background: var(--bg); font-size: 9px; font-weight: 800; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--line); }
#broadcastLiveRows { max-height: 260px; overflow-y: auto; }
.broadcast-live-row { display: grid; grid-template-columns: 160px 130px 1fr; padding: 8px 12px; font-size: 12px; border-bottom: 1px solid var(--line); align-items: center; }
.broadcast-live-row:last-child { border: 0; }
.broadcast-live-status { font-weight: 800; font-size: 11px; }
.broadcast-live-sent .broadcast-live-status { color: var(--green); }
.broadcast-live-not_found .broadcast-live-status { color: var(--muted); }
.broadcast-live-failed .broadcast-live-status { color: var(--red); }
/* ── broadcast details (legacy) ── */
.broadcast-details { white-space: pre-wrap; font-size: 11px; color: var(--muted); background: var(--bg); border: 1px solid var(--line); border-radius: 10px; padding: 10px; margin-top: 12px; max-height: 200px; overflow-y: auto; }
.button { border: 0; border-radius: 12px; padding: 12px 18px; font-weight: 800; cursor: pointer; transition: .15s ease; }
.button:disabled { opacity: .45; cursor: not-allowed; }.button.primary { background: var(--blue); color: #fff; box-shadow: 0 7px 18px rgba(22,119,234,.21); }.button.primary:hover:not(:disabled) { background: var(--blue-dark); }.button.secondary { background: #eaf2fb; color: #315372; }
.notice { color: var(--muted); font-size: 12px; margin: 12px 0 0; }.notice.error { color: var(--red); }.notice.success { color: var(--green); }
.progress { height: 10px; border-radius: 999px; background: #e5edf6; overflow: hidden; }.progress span { display: block; height: 100%; width: 0; border-radius: inherit; background: var(--blue); transition: width .3s ease; }
.job-head > b { font-size: 22px; color: var(--blue); }
.stats-row { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 20px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }.stats-row div { padding: 14px; text-align: center; border-right: 1px solid var(--line); }.stats-row div:last-child { border: 0; }.stats-row b, .stats-row span { display: block; }.stats-row b { font-size: 20px; }.stats-row span { color: var(--muted); font-size: 10px; text-transform: uppercase; }.stats-row .ok b { color: var(--green); }.stats-row .bad b { color: var(--red); }
.token-result-stats { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 20px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }.token-result-stats div { padding: 15px 9px; text-align: center; border-right: 1px solid var(--line); background: #fbfdff; }.token-result-stats div:last-child { border: 0; }.token-result-stats b,.token-result-stats span { display: block; }.token-result-stats b { font-size: 23px; }.token-result-stats span { color: var(--muted); font-size: 9px; text-transform: uppercase; }.token-result-stats .valid b { color: var(--green); }.token-result-stats .spam b { color:#bf75ff; }.token-result-stats .invalid b { color: var(--red); }.token-result-stats .network b { color: #d88a16; }.result-meta { text-align: right; color: var(--muted); font-size: 11px; margin-top: 8px; }.result-meta b { color: var(--ink); }.capacity-panel { margin-top: 14px; padding: 11px 13px; border-radius: 12px; background: #f5f8fc; display: grid; grid-template-columns: 1fr 170px; align-items: center; gap: 14px; }.capacity-panel b,.capacity-panel span { display:block; }.capacity-panel b { font-size: 11px; }.capacity-panel > div > span { color: var(--muted); font-size: 10px; margin-top: 2px; }.capacity-meter { height: 7px; background: #dfe8f2; border-radius: 999px; overflow: hidden; }.capacity-meter span { height: 100%; width: 0; border-radius: inherit; background: var(--blue); transition: width .25s ease; }
.downloads { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }.downloads a { padding: 10px 13px; background: #edf5ff; color: #0d66c7; border-radius: 10px; text-decoration: none; font-size: 12px; font-weight: 800; }
.job-actions { margin-top: 16px; padding: 16px; border: 1px solid #cfe0f1; border-radius: 14px; background: #f7fbff; }.job-actions > div:first-child b { font-size: 14px; }.job-actions p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }.job-action-buttons { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 13px; }.button.danger { color: #b4404c; background: #fdecef; }.followup-confirm { margin-top: 14px; padding: 14px; border-radius: 12px; background: #fff; border: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 14px; }.followup-confirm p { max-width: 720px; }.followup-controls { display: flex; flex: 0 0 auto; gap: 8px; }
.worker-active { padding: 7px 10px; border-radius: 999px; background: #e9f8ef; color: #168351; font-size: 11px; font-weight: 800; }.worker-summary { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:14px; overflow:hidden; }.worker-summary div { padding:13px; text-align:center; border-right:1px solid var(--line); }.worker-summary div:last-child { border:0; }.worker-summary b,.worker-summary span { display:block; }.worker-summary b { font-size:20px; }.worker-summary span { color:var(--muted); font-size:9px; text-transform:uppercase; }.worker-summary .ok b { color:var(--green); }.worker-summary .bad b { color:var(--red); }.worker-upload { display:grid; grid-template-columns:minmax(240px,1fr) auto auto auto; gap:10px; align-items:center; margin-top:14px; }.worker-upload > label:first-child { border:1px dashed #a9bdd2; border-radius:11px; padding:9px 12px; cursor:pointer; }.worker-upload label span,.worker-upload label b { display:block; }.worker-upload label span { color:var(--muted); font-size:10px; }.worker-upload label b { color:var(--blue); font-size:12px; margin-top:2px; word-break:break-all; }.worker-upload input[type=file] { display:none; }.replace-toggle { display:flex; align-items:center; gap:7px; white-space:nowrap; font-size:11px; }.replace-toggle span { color:var(--ink) !important; }.worker-list { margin-top:12px; display:grid; gap:7px; }.worker-item { display:grid; grid-template-columns:minmax(150px,1fr) 120px 120px auto; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--line); border-radius:11px; background:#fbfdff; }.worker-item b,.worker-item small { display:block; }.worker-item small { color:var(--muted); font-size:10px; }.worker-status { justify-self:start; border-radius:999px; padding:5px 8px; font-size:10px; font-weight:800; }.worker-status.active { background:#e6f6ed; color:#168351; }.worker-status.invalid { background:#fdecef; color:#bd4854; }.worker-status.checking,.worker-status.unknown { background:#eaf2fb; color:#315f87; }.worker-status.network_error { background:#fff2de; color:#a3670d; }.worker-remove { border:0; background:#fdecef; color:#b4404c; border-radius:8px; padding:7px 9px; cursor:pointer; font-size:10px; font-weight:800; }
.admin-prices { padding:14px; margin:4px 0 18px; background:#0e1115; border:1px solid #2c3037; border-radius:14px; }.admin-block-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }.admin-block-heading b,.admin-block-heading span { display:block; }.admin-block-heading b { font-size:13px; }.admin-block-heading span { margin-top:2px; color:var(--muted); font-size:10px; }.admin-block-heading .button { flex:0 0 auto; padding:9px 12px; font-size:10px; }.worker-heading { margin:0 0 10px; }.admin-price-grid { display:grid; grid-template-columns:repeat(5,minmax(120px,1fr)); gap:9px; }.admin-price-grid label span { display:block; margin-bottom:4px; color:var(--muted); font-size:9px; }.admin-price-grid input { width:100%; padding:10px 11px; color:#f3f0ec; background:#0c0f13; border:1px solid #363b43; border-radius:9px; outline:0; }.admin-price-grid input:focus { border-color:#df8146; box-shadow:0 0 0 3px rgba(237,139,74,.1); }.admin-prices .notice { margin:10px 0 0; }
.filters { display: flex; gap: 7px; overflow-x: auto; padding: 2px 0 12px; }.filters button { flex: 0 0 auto; border: 1px solid var(--line); background: #fff; color: #63758b; padding: 8px 12px; border-radius: 999px; cursor: pointer; font-size: 11px; font-weight: 800; }.filters button.active { background: var(--blue); border-color: var(--blue); color: #fff; }
.quick-exports { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px; }.quick-exports .button { font-size:11px; padding:9px 12px; }.age-filter { display:grid; grid-template-columns:minmax(230px,1fr) 115px 135px auto auto; gap:9px; align-items:end; padding:13px; margin-bottom:13px; border:1px solid var(--line); border-radius:13px; background:#f8fafc; }.age-filter > div b,.age-filter > div span,.age-filter label span { display:block; }.age-filter > div b { font-size:12px; }.age-filter > div span,.age-filter label span { color:var(--muted); font-size:9px; }.age-filter input { width:100%; border:1px solid #cddbea; border-radius:9px; padding:9px 10px; margin-top:4px; outline:0; }.age-filter input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(22,119,234,.1); }#showPhoneResults { margin-top:12px; width:100%; }
.result-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin: 2px 0 14px; }.result-summary div { border: 1px solid var(--line); border-radius: 12px; padding: 12px; text-align: center; background: #fbfdff; }.result-summary b,.result-summary span { display:block; }.result-summary b { font-size: 22px; color: var(--blue); }.result-summary span { margin-top: 2px; color: var(--muted); font-size: 9px; text-transform: uppercase; }.result-summary .ok b { color: var(--green); }.result-summary .bad b { color: var(--red); }.result-summary .muted b { color: #75869a; }.result-downloads { margin-top: 14px; }.filters [data-count] { opacity: .8; margin-left: 3px; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; }table { width: 100%; border-collapse: collapse; min-width: 760px; }th, td { text-align: left; border-bottom: 1px solid var(--line); padding: 12px 13px; font-size: 12px; }th { color: var(--muted); background: #f8fafc; font-size: 10px; text-transform: uppercase; }tbody tr:last-child td { border: 0; }.token-table { min-width: 540px; }.token-table th,.token-table td { padding:9px 10px; }.status { border-radius: 999px; padding: 5px 8px; display: inline-block; font-size: 10px; font-weight: 800; }.status.registered { color: #168351; background: #e6f6ed; }.status.not_registered, .status.error { color: #bf4a56; background: #fdecef; }
.payment-grid { display: grid; grid-template-columns: 1fr auto; gap: 10px; }.payment-grid label { display: flex; flex-direction: column; gap: 5px; }.payment-grid label span { font-size: 11px; color: var(--muted); }.payment-grid input, .tx-row input { border: 1px solid #cddbea; border-radius: 11px; padding: 11px 13px; outline: 0; }.payment-grid input:focus, .tx-row input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(22,119,234,.1); }
.address-box { margin-top: 15px; border: 1px solid var(--line); background: #f7fafd; border-radius: 13px; padding: 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }.address-box span, .address-box strong, .address-box small, .address-box code { display: block; }.address-box span { font-size: 10px; color: var(--muted); }.address-box strong { margin: 4px 0; font-size: 17px; color: #102a46; }.address-box small { max-width: 620px; margin: 4px 0 7px; color: #d06a1d; font-size: 10px; font-weight: 750; }.address-box code { font-size: 11px; word-break: break-all; }.copy { border: 0; background: #e5effa; color: #315372; border-radius: 9px; padding: 8px 10px; cursor: pointer; }
.tx-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin-top: 10px; }
.security { background: #102846; color: #fff; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; }.shield { width: 60px; height: 66px; border-radius: 18px 18px 25px 25px; background: #e7f8ef; color: #168b57; display: grid; place-items: center; font-weight: 900; font-size: 28px; }.security p { color: #b9c9db; margin: 8px 0 0; max-width: 650px; }.security ul { list-style: none; margin: 0; padding: 0; color: #c8d7e7; font-size: 11px; }.security li { margin: 6px 0; }.security li::before { content: "✓"; color: #5be0a5; margin-right: 7px; }
.contact-card { display: flex; align-items: center; justify-content: space-between; gap: 22px; }.contact-card h2 { margin: 4px 0; font-size: 20px; }.contact-card p { margin: 0; color: var(--muted); font-size: 12px; }.contact-buttons { display: flex; gap: 9px; flex: 0 0 auto; }.contact-buttons a { text-decoration: none; text-align: center; }
.bottom-nav { display:flex; position:fixed; left:50%; bottom:18px; z-index:30; width:min(580px,calc(100% - 32px)); transform:translateX(-50%); justify-content:space-around; gap:4px; padding:8px; background:rgba(255,255,255,.96); border:1px solid var(--line); border-radius:32px; box-shadow:0 16px 44px rgba(0,0,0,.22); backdrop-filter:blur(18px); }.nav-indicator { position:absolute; top:8px; bottom:8px; left:0; width:0; pointer-events:none; border-radius:22px; background:rgba(22,119,234,.1); border:1px solid rgba(22,119,234,.12); transition:transform .36s cubic-bezier(.22,1,.36,1),width .28s ease; will-change:transform,width; }.bottom-nav a { position:relative; z-index:1; min-width:0; flex:1; display:flex; flex-direction:column; align-items:center; gap:2px; padding:7px 5px; color:var(--muted); text-decoration:none; border-radius:22px; font-size:10px; font-weight:800; transition:color .28s ease,transform .28s ease; }.bottom-nav a.active { color:var(--blue); background:transparent; transform:translateY(-2px); }.bottom-nav i { width:24px; height:24px; display:grid; place-items:center; color:#3b3b3b; filter:grayscale(1); font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",sans-serif; font-variant-emoji:text; font-size:17px; font-style:normal; font-weight:900; transition:color .28s ease,transform .28s ease; }.bottom-nav a.active i { color:#111; transform:scale(1.12); }.toast { position: fixed; left: 50%; bottom: 100px; transform: translate(-50%, 20px); background: #15283f; color: #fff; padding: 11px 15px; border-radius: 11px; opacity: 0; pointer-events: none; transition: .2s; z-index: 100; box-shadow: var(--shadow); }.toast.show { opacity: 1; transform: translate(-50%, 0); }
.hidden { display: none !important; }

/* Graphite operations theme: compact, high-contrast and built for daily use. */
:root { --bg:#090b0e; --card:#12151a; --ink:#f4f1ed; --muted:#9399a3; --line:#292d34; --blue:#ed8b4a; --blue-dark:#d56f2f; --green:#39c981; --red:#ef6670; --shadow:0 16px 40px rgba(0,0,0,.28); }
body { background:radial-gradient(circle at 85% -10%,rgba(237,139,74,.12),transparent 30%),linear-gradient(180deg,#090b0e,#0d1014 48%,#090b0e); color:var(--ink); }
.topbar { background:rgba(10,12,15,.92); border-color:#24272d; box-shadow:0 8px 28px rgba(0,0,0,.18); }
.fullscreen-button { color:#f2a36e; background:#241a14; border-color:#4e3424; }
.brand { color:#fff; }.brand-mark { color:#16100c; background:linear-gradient(145deg,#ffc08f,#e57938); border-radius:10px; box-shadow:0 8px 22px rgba(237,139,74,.22); }.brand small { color:#858b94; }
.balance-pill { color:#fff; background:#171a1f; border-color:#343941; }.balance-pill span { color:#9298a1; }.balance-pill b { color:#f6aa72; }
.hero { background:linear-gradient(120deg,#12151a 0%,#0d0f13 60%,#17100c 100%); border:1px solid #2c2f35; box-shadow:0 20px 55px rgba(0,0,0,.3); }.hero::after { border-color:rgba(237,139,74,.13); }.hero p { color:#a8adb5; }.live-label { color:#86dcb0; }.trust-row span { color:#c9cbd0; background:#17191e; border-color:#34373d; }
.service-grid { grid-template-columns:repeat(4,1fr); }.service-card,.card { color:var(--ink); background:linear-gradient(180deg,#15181d,#111419); border-color:#2b2f36; box-shadow:0 10px 28px rgba(0,0,0,.16); }.service-card { border-top-color:#343841; }.service-card:hover { border-color:#6f4b35; background:#18191d; }.service-card.active { border-color:#e27c3d; border-top-color:#f0a16a; box-shadow:0 10px 30px rgba(237,139,74,.12); }.service-card small,.section-heading p,.job-head p { color:var(--muted); }.service-card em { color:#f0a16a; }
.service-icon.blue,.service-icon.violet,.service-icon.amber,.service-icon.cyan,.service-icon.purple { color:#f0a16a; background:#241a14; border:1px solid #4b3324; }
.service-shield svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.step { color:#f0a16a; background:#241a14; border:1px solid #4b3324; }.free-badge,.worker-active { color:#63d79c; background:#11261e; border:1px solid #24543f; }
.dropzone { color:#e9e6e2; background:#0e1115; border-color:#41464e; }.dropzone.drag,.dropzone:hover { border-color:#e58a4f; background:#15120f; }.upload-mark { color:#f2a36e; background:#261a13; border:1px solid #503622; }.dropzone small,.qr-upload small { color:#858c96; }.file-name,.qr-upload i { color:#f2a36e; }.qr-upload { background:#101318; border-color:#2d3138; }
.stock-target { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 14px; margin:-4px 0 14px; color:#ece9e5; background:#0e1115; border:1px solid #30343b; border-radius:13px; }.stock-target span,.stock-target b,.stock-target small { display:block; }.stock-target small { margin-top:2px; color:#8f959e; font-size:10px; }.stock-target select { min-width:210px; max-width:45%; padding:10px 34px 10px 11px; color:#f4f1ed; background:#171a1f; border:1px solid #454a52; border-radius:10px; outline:0; cursor:pointer; }.stock-target select:focus { border-color:#e58a4f; box-shadow:0 0 0 3px rgba(237,139,74,.1); }
.quote,.capacity-panel,.job-actions,.followup-confirm,.age-filter,.address-box { background:#0e1115; border:1px solid #2c3037; }.quote div { border-color:#30343a; }.quote span,.result-meta,.capacity-panel > div > span,.job-actions p,.age-filter > div span,.age-filter label span { color:var(--muted); }.capacity-meter { background:#292d33; }.capacity-meter span,.progress span { background:linear-gradient(90deg,#d97234,#f2a36e); }.progress { background:#292d33; }
.button.primary { color:#17100c; background:linear-gradient(135deg,#f2ad79,#e47d3d); box-shadow:0 8px 20px rgba(237,139,74,.17); }.button.primary:hover:not(:disabled) { background:#f09a60; }.button.secondary,.copy { color:#d9dadd; background:#24282e; border:1px solid #353a42; }.button.danger,.worker-remove { color:#ff9aa1; background:#351b20; border:1px solid #63313a; }
.notice { color:#9ba1aa; }.notice.success { color:#62d49b; }.notice.error { color:#ff8089; }
.stats-row,.token-result-stats,.worker-summary { border-color:#30343b; }.stats-row div,.token-result-stats div,.worker-summary div { background:#101318; border-color:#30343b; }.stats-row span,.token-result-stats span,.worker-summary span { color:#858b94; }
.set2fa-result-reasons { margin-top:12px; padding:13px; background:#17120f; border:1px solid #583923; border-radius:13px; }.set2fa-result-reasons > b { display:block; margin-bottom:9px; color:#f1a16b; font-size:12px; }.set2fa-result-reasons > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:7px; }.set2fa-result-reasons > div > span { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 10px; color:#c9c4bf; background:#0e1115; border:1px solid #30343b; border-radius:9px; font-size:10px; }.set2fa-result-reasons > div > span b { color:#ffad76; font-size:13px; }
.android-twofa-summary { margin-top:10px; padding:10px 12px; color:#c9c4bf; background:#0e1115; border:1px solid #30343b; border-radius:10px; font-size:10px; text-align:center; }
.downloads a { color:#f2a36e; background:#241a14; border:1px solid #4e3424; }.worker-upload > label:first-child { background:#0d1014; border-color:#434850; }.worker-upload label b { color:#f2a36e; }.replace-toggle span { color:#e3e0dc !important; }.worker-item { background:#0e1115; border-color:#2e3239; }.worker-item small { color:#8e949d; }
.filters button { color:#aeb2b9; background:#15181d; border-color:#343840; }.filters button.active { color:#17100c; background:#eb8a4a; border-color:#eb8a4a; }.result-summary div { background:#0e1115; border-color:#30343b; }.result-summary b { color:#f1a16b; }.result-summary span { color:#858b94; }
.table-wrap { border-color:#30343b; background:#0e1115; }th { color:#8f959e; background:#171a1f; }th,td { border-color:#292d33; }tbody tr:hover { background:#15181d; }.status.registered { color:#69dca3; background:#10271e; }.status.not_registered,.status.error { color:#ff8e96; background:#30191e; }
.age-filter input,.payment-grid input,.tx-row input { color:#f3f0ec; background:#0c0f13; border-color:#363b43; }.age-filter input:focus,.payment-grid input:focus,.tx-row input:focus { border-color:#df8146; box-shadow:0 0 0 3px rgba(237,139,74,.1); }.payment-grid label span { color:#90969f; }
.chat-filter { display:grid; grid-template-columns:minmax(190px,1fr) repeat(4,105px) repeat(4,auto); gap:9px; align-items:end; padding:13px; margin-bottom:10px; border:1px solid #2c3037; border-radius:13px; background:#0e1115; }.chat-filter b,.chat-filter span,.chat-filter label span { display:block; }.chat-filter > div span,.chat-filter label span { color:var(--muted); font-size:9px; }.chat-filter input { display:block; width:100%; min-width:0; color:#f3f0ec; -webkit-text-fill-color:#f3f0ec; background:#0c0f13; border:1px solid #363b43; border-radius:9px; padding:10px; margin-top:4px; outline:0; pointer-events:auto; user-select:text; -webkit-user-select:text; touch-action:manipulation; }.chat-filter input:focus { border-color:#df8146; box-shadow:0 0 0 3px rgba(237,139,74,.1); }.selection-caption { color:var(--muted); font-size:11px; margin:0 0 10px; }.status.valid { color:#69dca3; background:#10271e; }.status.spam { color:#d4a1ff; background:#28173a; }.status.invalid { color:#ff8e96; background:#30191e; }.token-filters { padding-bottom:8px; }.twofa-filters { padding-bottom:12px; }.twofa-filters button { display:inline-flex; align-items:center; gap:6px; }.twofa-shield { width:18px; height:20px; display:inline-grid; place-items:center; clip-path:polygon(50% 0,95% 17%,87% 70%,50% 100%,13% 70%,5% 17%); color:#fff; font-size:10px; font-style:normal; font-weight:900; line-height:1; flex:0 0 auto; }.twofa-shield.known { background:#23a66b; }.twofa-shield.unknown { background:#d85661; }.phone-with-shield { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.stock-security { display:flex; gap:11px; align-items:flex-start; padding:13px; margin-bottom:12px; color:#bcebd2; background:#0e2119; border:1px solid #24563f; border-radius:13px; }.stock-security .twofa-shield { margin-top:1px; }.stock-security b,.stock-security span,.stock-block-title b,.stock-block-title span { display:block; }.stock-security b { font-size:12px; }.stock-security span { margin-top:3px; color:#8fbea5; font-size:10px; line-height:1.45; }.stock-block { padding:14px; margin:10px 0; background:#0e1115; border:1px solid #2c3037; border-radius:13px; }.stock-block-title { margin-bottom:11px; }.stock-block-title b { font-size:13px; }.stock-block-title span { color:var(--muted); font-size:10px; margin-top:2px; }.filter-reset { border:0; padding:0; color:#f0a16a; background:transparent; font-size:10px; font-weight:800; cursor:pointer; }.advanced-filters { margin-top:11px; border-top:1px solid #292d33; padding-top:11px; }.advanced-filters summary { color:#c5c8cd; cursor:pointer; font-size:11px; font-weight:800; }.advanced-filters .chat-filter { margin:10px 0 0; padding:0; border:0; }.stock-export-row { display:grid; grid-template-columns:minmax(120px,180px) auto; gap:9px; align-items:end; }.stock-export-row label span { display:block; color:var(--muted); font-size:9px; }.stock-export-row input { display:block; width:100%; margin-top:4px; padding:11px; color:#f3f0ec; background:#0c0f13; border:1px solid #363b43; border-radius:9px; outline:0; }.stock-export-row input:focus { border-color:#df8146; box-shadow:0 0 0 3px rgba(237,139,74,.1); }.export-block > small { display:block; margin-top:7px; color:var(--muted); font-size:9px; }.quick-cleanup { display:flex; flex-wrap:wrap; gap:8px; }.quick-cleanup .button { padding:9px 11px; font-size:10px; }.selected-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; margin-top:10px; }.selected-actions > span { margin-right:auto; color:var(--muted); font-size:10px; }.selected-actions .button { padding:9px 11px; font-size:10px; }.select-cell { width:35px; text-align:center !important; }.select-cell input { width:17px; height:17px; accent-color:#ed8b4a; }
.stock-tabs-panel { display:flex; align-items:stretch; gap:8px; margin-bottom:9px; }.stock-tabs { display:flex; flex:1 1 auto; min-width:0; gap:7px; overflow-x:auto; scrollbar-width:thin; padding-bottom:2px; }.stock-tab,.stock-tab-create,.stock-tab-action { border:1px solid #343941; color:#b5bac2; background:#15181d; border-radius:11px; cursor:pointer; font-weight:800; }.stock-tab { flex:0 0 auto; min-width:112px; max-width:210px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 11px; }.stock-tab span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.stock-tab small { min-width:24px; padding:2px 6px; color:#aeb3ba; background:#252930; border-radius:999px; text-align:center; }.stock-tab.active { color:#17100c; background:linear-gradient(135deg,#f2ad79,#e47d3d); border-color:#f0a16a; }.stock-tab.active small { color:#fff3e9; background:rgba(44,22,8,.35); }.stock-tab-create { flex:0 0 42px; width:42px; padding:0; color:#f2a36e; border-color:#563823; background:#241a14; font-size:20px; line-height:1; }.stock-tab-create:disabled,.stock-tab-action:disabled { opacity:.42; cursor:not-allowed; }.stock-tab-actions { display:flex; justify-content:flex-end; gap:7px; margin-bottom:12px; }.stock-tab-action { padding:7px 9px; font-size:9px; }.stock-tab-action.danger { color:#ff929a; border-color:#5b3037; background:#30191e; }.stock-tab-editor { display:grid; grid-template-columns:minmax(180px,1fr) auto auto; gap:8px; align-items:end; padding:12px; margin-bottom:12px; background:#17120f; border:1px solid #5b3b27; border-radius:12px; }.stock-tab-editor label span { display:block; margin-bottom:4px; color:#b8a89d; font-size:9px; }.stock-tab-editor input { width:100%; padding:10px 11px; color:#f4f1ed; background:#0b0e12; border:1px solid #444951; border-radius:9px; outline:0; }.stock-tab-editor input:focus { border-color:#e58a4f; box-shadow:0 0 0 3px rgba(237,139,74,.1); }.stock-tab-editor .button { padding:10px 13px; font-size:10px; }
.selection-toolbar { position:fixed; left:50%; top:84px; z-index:45; width:min(1150px,calc(100% - 40px)); transform:translateX(-50%); display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 13px; margin:0; background:rgba(36,26,20,.97); border:1px solid #68432b; border-radius:13px; box-shadow:0 12px 30px rgba(0,0,0,.35); backdrop-filter:blur(14px); }.selection-toolbar > div:last-child { display:flex; align-items:center; gap:7px; }.selection-toolbar b,.selection-toolbar span { display:block; }.selection-toolbar b { color:#f8ae7c; font-size:12px; }.selection-toolbar span { color:#bca99b; font-size:9px; }.selection-toolbar .button { padding:8px 10px; font-size:10px; }.toolbar-close { width:31px; height:31px; border:1px solid #4e3a2e; border-radius:9px; color:#d8c8bd; background:#1b1714; cursor:pointer; font-size:19px; }.export-choice { position:fixed; left:50%; top:50%; z-index:80; width:min(650px,calc(100% - 24px)); transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:space-between; gap:13px; padding:14px; color:#fff; background:rgba(16,19,24,.99); border:1px solid #5f402d; border-radius:14px; box-shadow:0 0 0 100vmax rgba(0,0,0,.62),0 20px 55px rgba(0,0,0,.55); backdrop-filter:blur(16px); }.export-choice > div:last-child { display:flex; gap:8px; flex:0 0 auto; }.export-choice b,.export-choice span { display:block; }.export-choice b { font-size:12px; }.export-choice span { margin-top:3px; color:#aaaeb5; font-size:10px; }.export-choice .button { padding:9px 11px; font-size:10px; }
.status.checking { color:#ffc187; background:#352418; animation:status-pulse 1s ease-in-out infinite alternate; }@keyframes status-pulse { from { opacity:.62; } to { opacity:1; } }
.address-box { display:grid; grid-template-columns:auto minmax(220px,1fr) auto; align-items:center; padding:16px; }.address-qr { padding:10px; border-radius:12px; background:#fff; text-align:center; }.address-qr img { display:block; width:150px; height:150px; }.address-qr small { color:#363940 !important; margin-top:5px; font-size:9px; }.address-details span { color:#979da6; }.address-details strong { color:#f3a36d; font-size:21px; }.address-details small { color:#f0a16a; }.address-details code { color:#e2e0dc; padding:8px 10px; background:#090b0e; border:1px solid #2d3138; border-radius:8px; }
.contact-card { background:linear-gradient(110deg,#17120f,#111419); }.eyebrow { color:#f0a16a; }.security { background:linear-gradient(120deg,#111419,#0d1014); border-color:#2d3138; }.security p,.security ul { color:#9ba1aa; }.shield { color:#5fd79b; background:#10251d; }
.guide-card .shield { color:#f2a36e; background:#2b1d14; }.guide-actions { display:grid; gap:7px; min-width:185px; text-align:center; }.guide-actions small { color:#8f959e; font-size:10px; }.admin-price-grid { grid-template-columns:repeat(3,minmax(120px,1fr)); }
.bottom-nav { background:rgba(12,14,18,.96) !important; border-color:#2a2e35 !important; }.nav-indicator { background:rgba(237,139,74,.13); border-color:rgba(242,163,110,.2); }.bottom-nav a { color:#8e949d !important; }.bottom-nav a.active { color:#f2a36e !important; }.bottom-nav i { color:#aeb1b6; }.bottom-nav a.active i { color:#fff; }.toast { background:#241a14; color:#fff1e6; border:1px solid #5a3925; }
@media (max-width: 940px) { .service-grid { grid-template-columns: repeat(2, 1fr); }.hero { align-items: flex-start; flex-direction: column; gap: 25px; }.trust-row { justify-content: flex-start; }.security { grid-template-columns: auto 1fr; }.security ul { grid-column: 2; } }
@media (max-width: 620px) {
  .topbar { height:calc(64px + var(--tg-content-safe-top,0px)); padding:var(--tg-content-safe-top,0px) 84px 0; }.brand small { display: none; }.brand b { font-size:15px; }.brand-mark { width:35px; height:35px; }main { width: min(100% - 20px, 1180px); padding: 14px 0 92px; }.hero { border-radius: 17px; padding: 24px 21px; min-height: 205px; }.hero h1 { font-size: 32px; letter-spacing: -1.3px; }.hero::after { right: -155px; }.service-grid { grid-template-columns: 1fr; gap: 8px; }.service-card { grid-template-columns: 38px 1fr auto; align-items: center; }.service-card em { grid-column: 3; grid-row: 1; }.service-card b { font-size: 14px; }.card { border-radius: 16px; padding: 17px; margin: 11px 0; }.section-heading { align-items: flex-start; }.section-heading h2, .job-head h2, .security h2 { font-size: 18px; }.stock-target { align-items:stretch; flex-direction:column; }.stock-target select { width:100%; max-width:none; }.dropzone { min-height: 165px; }.quote { grid-template-columns: 1fr; }.quote div { display: flex; justify-content: space-between; border: 0; border-bottom: 1px solid var(--line); padding-bottom: 8px; }.actions { display: grid; grid-template-columns: 1fr 1fr; }.button { padding: 12px 10px; }.stats-row, .result-summary, .worker-summary { grid-template-columns: repeat(2,1fr); }.token-result-stats { grid-template-columns:1fr; }.token-result-stats div { border-right:0; border-bottom:1px solid var(--line); }.token-result-stats div:last-child { border-bottom:0; }.stats-row div:nth-child(2),.worker-summary div:nth-child(2) { border-right: 0; }.stats-row div:nth-child(-n+2),.worker-summary div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.capacity-panel { grid-template-columns: 1fr; gap: 8px; }.job-action-buttons { display: grid; grid-template-columns: 1fr; }.followup-confirm { align-items: stretch; flex-direction: column; }.followup-controls { display: grid; grid-template-columns: 1fr 1fr; }.worker-upload { grid-template-columns:1fr 1fr; }.worker-upload > label:first-child { grid-column:1/-1; }.worker-item { grid-template-columns:1fr auto; }.worker-item > small { grid-column:1; }.age-filter,.chat-filter { grid-template-columns:1fr 1fr; }.age-filter > div,.chat-filter > div { grid-column:1/-1; }.chat-filter .button { grid-column:1/-1; }.stock-tab-actions { display:grid; grid-template-columns:1fr 1fr; }.stock-tab-editor { grid-template-columns:1fr 1fr; }.stock-tab-editor label { grid-column:1/-1; }.stock-block { padding:12px; }.stock-export-row { grid-template-columns:1fr; }.quick-cleanup { display:grid; grid-template-columns:1fr; }.selected-actions { display:grid; grid-template-columns:1fr; }.selection-toolbar { top:calc(70px + var(--tg-content-safe-top,0px)); width:calc(100% - 20px); align-items:stretch; flex-direction:column; }.selection-toolbar > div:last-child { display:grid; grid-template-columns:1fr 1fr auto; }.export-choice { bottom:calc(64px + env(safe-area-inset-bottom)); align-items:stretch; flex-direction:column; }.export-choice > div:last-child { display:grid; grid-template-columns:1fr; }.token-table-wrap { overflow-x:hidden; }.token-table { min-width:0; table-layout:fixed; }.token-table th,.token-table td { padding:8px 4px; font-size:9px; line-height:1.2; }.token-table th { font-size:7px; }.token-table th:first-child,.token-table td:first-child { width:8%; }.token-table th:nth-child(2),.token-table td:nth-child(2) { width:38%; }.token-table th:nth-child(3),.token-table td:nth-child(3) { width:15%; }.token-table th:nth-child(4),.token-table td:nth-child(4) { width:11%; text-align:center; }.token-table th:last-child,.token-table td:last-child { width:28%; }.token-table .status { padding:4px 5px; font-size:8px; }.token-table .twofa-shield { width:14px; height:16px; font-size:8px; }.token-table .phone-with-shield { gap:3px; }.select-cell input { width:15px; height:15px; }.payment-grid, .tx-row { grid-template-columns: 1fr; }.address-box { grid-template-columns:1fr; text-align:center; }.address-qr { width:max-content; margin:auto; }.address-details code { text-align:left; }.contact-card { align-items: stretch; flex-direction: column; }.contact-buttons { display:grid; grid-template-columns: 1fr 1fr; }.security { grid-template-columns: 1fr; text-align: left; }.security ul { grid-column: 1; }.shield { width: 48px; height: 52px; }.bottom-nav { display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 30; justify-content: space-around; padding: 10px 8px calc(10px + env(safe-area-inset-bottom)); backdrop-filter: blur(16px); }.bottom-nav a { text-decoration: none; font-size: 10px; font-weight: 800; }
}
@media (max-width: 620px) { #toolsStart,#stockFiltersStart { scroll-margin-top:calc(74px + var(--tg-content-safe-top,0px)); }.bottom-nav { --nav-index:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); left:0; right:0; bottom:0; width:auto; transform:none; border-radius:18px 18px 0 0; padding:7px 5px calc(7px + env(safe-area-inset-bottom)); }.nav-indicator { left:5px; top:7px; bottom:calc(7px + env(safe-area-inset-bottom)); width:calc((100% - 22px)/4); transform:translate3d(calc(var(--nav-index) * (100% + 4px)),0,0); }.bottom-nav a { width:100%; padding:5px 2px; font-size:9px; }.bottom-nav a.active { transform:translateY(-1px); }.bottom-nav i { width:21px; height:21px; font-size:15px; }.toast { bottom:calc(82px + env(safe-area-inset-bottom)); }.selection-toolbar > div:last-child { grid-template-columns:1fr 1fr; }.toolbar-close { width:100%; }.fullscreen-button span { display:none; } }

.stock-tab small { min-width:24px; }
.stock-capacity { margin:-5px 0 10px; color:#8f959e; font-size:10px; font-weight:800; }
.stock-save-toggle { display:flex; align-items:center; gap:10px; padding:10px 13px; margin:-6px 0 14px; color:#dedbd7; background:#101318; border:1px solid #30343b; border-radius:11px; cursor:pointer; }.stock-save-toggle input { width:18px; height:18px; accent-color:#ed8b4a; }.stock-save-toggle b,.stock-save-toggle small { display:block; }.stock-save-toggle b { font-size:11px; }.stock-save-toggle small { margin-top:2px; color:#8f959e; font-size:9px; }.stock-target.disabled { opacity:.48; }
@media (max-width: 760px) { .admin-price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.admin-block-heading { align-items:stretch; flex-direction:column; }.admin-block-heading .button { width:100%; }.worker-heading { align-items:center; flex-direction:row; }.worker-heading .worker-active { width:auto; } }
@media (max-width: 620px) { .export-choice { top:50%; bottom:auto; transform:translate(-50%,-50%); } }
.download-ready{display:flex;align-items:center;gap:12px;margin:14px 0;padding:14px;border:1px solid rgba(80,180,255,.38);border-radius:16px;background:rgba(31,113,255,.1)}
.download-ready>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.download-ready>div span{color:var(--muted);font-size:.84rem}.download-ready .button{flex:0 0 auto;text-decoration:none}.download-ready .toolbar-close{flex:0 0 auto}
@media(max-width:620px){.download-ready{position:sticky;bottom:calc(78px + env(safe-area-inset-bottom));z-index:18;align-items:stretch;flex-wrap:wrap;box-shadow:0 16px 45px rgba(0,0,0,.45);backdrop-filter:blur(18px)}.download-ready>div{flex-basis:calc(100% - 44px)}.download-ready .button{flex:1 1 100%;min-height:48px;text-align:center}.download-ready .toolbar-close{order:2}.download-ready .button{order:3}}

.personal-stock-app{width:min(920px,calc(100% - 28px));padding:24px 0 70px}.personal-stock-hero{position:relative;overflow:hidden;padding:28px;border-radius:22px;color:#fff;background:linear-gradient(135deg,#10243d,#1d4c75);box-shadow:0 18px 42px rgba(22,51,82,.18)}.personal-stock-hero:after{content:"";position:absolute;width:190px;height:190px;right:-70px;top:-90px;border:34px solid rgba(105,183,255,.12);border-radius:50%}.personal-stock-hero h1{margin:5px 0 22px;font-size:clamp(27px,6vw,38px);letter-spacing:-1px}.personal-stock-total{display:flex;align-items:baseline;gap:9px;position:relative;z-index:1}.personal-stock-total b{font-size:38px;line-height:1}.personal-stock-total span{color:#d5e4f3;font-weight:800}.personal-stock-total small{margin-left:auto;color:#a9cae8}.personal-stock-card{margin:14px 0;padding:18px;border:1px solid #d7e3ee;border-radius:18px;background:#fff;box-shadow:0 9px 28px rgba(39,69,103,.07)}.personal-stock-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.personal-stock-heading span{display:block;color:#1677ea;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px}.personal-stock-heading h2{margin:2px 0 0;font-size:19px}.personal-stock-heading>small{max-width:360px;color:#77879b;text-align:right}.personal-stock-upload,.personal-stock-export{display:flex;align-items:end;gap:10px}.personal-stock-upload>span{flex:1;min-width:0;overflow:hidden;color:#66788d;text-overflow:ellipsis;white-space:nowrap}.personal-stock-export label{flex:1}.personal-stock-export label span{display:block;margin-bottom:5px;color:#718198;font-size:11px;font-weight:800}.personal-stock-export input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbd9e7;border-radius:11px;color:#16243a;background:#f8fbfe;outline:0}.personal-stock-export input:focus{border-color:#1677ea;box-shadow:0 0 0 3px rgba(22,119,234,.1)}.personal-stock-progress{display:flex;align-items:center;gap:9px;margin-top:13px;color:#286baf;font-size:12px;font-weight:800}.personal-stock-progress i{width:14px;height:14px;border:2px solid #bbd9f6;border-top-color:#1677ea;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.personal-refresh{border:0;padding:7px 9px;border-radius:9px;color:#1266bd;background:#edf6ff;cursor:pointer;font-weight:800}.personal-stock-table-head,.personal-stock-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(120px,.7fr) minmax(160px,1fr);gap:12px;align-items:center}.personal-stock-table-head{padding:0 11px 8px;color:#8290a2;font-size:10px;font-weight:900;text-transform:uppercase}.personal-stock-row{padding:12px 11px;border-top:1px solid #e5edf5}.personal-stock-row b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.personal-stock-row span,.personal-stock-row small{min-width:0;overflow:hidden;color:#748499;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.personal-stock-empty{padding:35px 10px;color:#7d8b9d;text-align:center}.personal-stock-list-card #personalStockMore{width:100%;margin-top:12px}.personal-stock-log{overflow:auto;max-height:230px;border:1px solid #dce6f1;border-radius:12px;background:#f8fafc}.personal-stock-log>div{display:flex;gap:12px;padding:10px 12px;border-bottom:1px solid #e7edf4;font:12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.personal-stock-log>div:last-child{border-bottom:0}.personal-stock-log time{flex:0 0 auto;color:#1677ea}.personal-stock-log span{color:#34465b}.personal-log-empty{color:#8290a2!important}.personal-stock-app .download-ready{background:#eef7ff;border-color:#b7d8f8}


@media(max-width:620px){.personal-stock-app{width:calc(100% - 20px);padding:12px 0 45px}.personal-stock-hero{padding:22px 19px;border-radius:18px}.personal-stock-hero h1{margin-bottom:17px}.personal-stock-total{flex-wrap:wrap}.personal-stock-total b{font-size:34px}.personal-stock-total small{flex-basis:100%;margin:0}.personal-stock-card{padding:15px;border-radius:16px}.personal-stock-heading{align-items:flex-start;flex-direction:column;gap:5px}.personal-stock-heading>small{text-align:left}.personal-stock-upload,.personal-stock-export{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.personal-stock-upload>span{grid-column:1/-1;grid-row:1;padding:10px 11px;border-radius:10px;background:#f3f6f9}.personal-stock-upload .button,.personal-stock-export .button{min-height:48px}.personal-stock-export label{grid-column:1/-1}.personal-stock-table-head{display:none}.personal-stock-row{grid-template-columns:1fr auto;gap:4px 10px;padding:13px 4px}.personal-stock-row b{font-size:12px}.personal-stock-row span{text-align:right}.personal-stock-row small{grid-column:1/-1}.personal-stock-app .download-ready{bottom:calc(12px + env(safe-area-inset-bottom))}}

/* ── warmup form ── */
.warm-type-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
.warm-type-row .field-label { font-size: 11px; font-weight: 800; color: var(--muted); white-space: nowrap; }
.warm-seg { display: flex; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.warm-seg button { flex: 1; padding: 8px 13px; font-size: 11px; font-weight: 800; background: var(--card); color: var(--muted); border: 0; cursor: pointer; white-space: nowrap; }
.warm-seg button.active { background: var(--blue); color: #fff; }
.warm-actions-section { margin-top: 18px; }
.warm-actions-title { font-size: 11px; font-weight: 800; color: var(--muted); text-transform: uppercase; letter-spacing: .8px; margin-bottom: 10px; }
.warm-actions-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px; }
.warm-action-card { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--card); cursor: pointer; transition: border-color .15s; }
.warm-action-card:hover { border-color: var(--blue); }
.warm-action-card input[type="checkbox"] { display: none; }
.warm-action-body { flex: 1; min-width: 0; }
.warm-action-body b { display: block; font-size: 12px; color: var(--ink); }
.warm-action-body small { display: block; font-size: 10px; color: var(--muted); margin-top: 2px; }
.warm-action-toggle { width: 34px; height: 19px; flex-shrink: 0; border-radius: 10px; background: var(--line); position: relative; transition: background .15s; }
.warm-action-toggle::after { content: ''; position: absolute; width: 13px; height: 13px; background: #fff; border-radius: 50%; top: 3px; left: 3px; transition: transform .15s; }
.warm-action-card input:checked ~ .warm-action-toggle { background: var(--blue); }
.warm-action-card input:checked ~ .warm-action-toggle::after { transform: translateX(15px); }
.warm-action-card input:checked { /* keeps it hidden */ }
.warm-action-card:has(input:checked) { border-color: var(--blue); background: rgba(22,119,234,.06); }
.warm-groups-section { margin-top: 14px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--card); }
/* ── warmup live table ── */
.warm-live-table { margin-top: 16px; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; }
.warm-live-head { display: grid; grid-template-columns: 160px 100px 1fr; padding: 8px 12px; background: var(--bg); font-size: 9px; font-weight: 800; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--line); }
#warmLiveRows { max-height: 260px; overflow-y: auto; }
.warm-live-row { display: grid; grid-template-columns: 160px 100px 1fr; padding: 8px 12px; font-size: 12px; border-bottom: 1px solid var(--line); align-items: center; }
.warm-live-row:last-child { border: 0; }
.warm-live-token { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 11px; }
.warm-live-status { font-weight: 800; font-size: 11px; }
.warm-live-detail { font-size: 11px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.warm-live-ok .warm-live-status { color: var(--green); }
.warm-live-running .warm-live-status { color: var(--blue); }
.warm-live-error .warm-live-status { color: var(--red); }
@media (max-width: 620px) { .warm-actions-grid { grid-template-columns: 1fr 1fr; } .warm-live-head, .warm-live-row { grid-template-columns: 120px 80px 1fr; } }
