:root{--bg: var(--tg-theme-bg-color, #fff);--text: var(--tg-theme-text-color, #000);--hint: var(--tg-theme-hint-color, #999);--link: var(--tg-theme-link-color, #2481cc);--btn: var(--tg-theme-button-color, #2481cc);--btn-text: var(--tg-theme-button-text-color, #fff);--secondary-bg: var(--tg-theme-secondary-bg-color, #f4f4f5)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.4;-webkit-font-smoothing:antialiased}.app{min-height:100vh;padding-bottom:24px}.app.loading,.app.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:12px}.spinner{width:32px;height:32px;border:3px solid var(--secondary-bg);border-top-color:var(--btn);border-radius:50%;animation:spin .8s linear infinite}.spinner.small{width:20px;height:20px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.dash-header{padding:20px 16px 12px}.dash-greeting h1{font-size:22px;font-weight:700;line-height:1.2}.content{padding:0 16px;display:flex;flex-direction:column;gap:12px}.sub-card{background:linear-gradient(135deg,#34c759,#28a745);border-radius:16px;padding:20px;color:#fff}.sub-card.expired{background:linear-gradient(135deg,#8e8e93,#6e6e73)}.sub-card-top{display:flex;justify-content:space-between;align-items:flex-start}.sub-days{display:flex;align-items:baseline;gap:6px}.sub-days-num{font-size:48px;font-weight:700;line-height:1}.sub-days-label{font-size:18px;font-weight:500;opacity:.9}.sub-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.sub-until{font-size:14px;opacity:.85}.sub-config-name{font-size:12px;opacity:.7;font-family:monospace}.sub-card-bar{margin-top:16px;height:4px;background:#ffffff40;border-radius:2px;overflow:hidden}.sub-card-bar-fill{height:100%;background:#fffc;border-radius:2px;transition:width .5s ease}.sub-expired-text{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600}.sub-expired-icon{font-size:20px}.sub-expired-hint{margin-top:12px;font-size:14px;opacity:.8}.actions-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.action-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;background:var(--secondary-bg);border:none;border-radius:14px;cursor:pointer;transition:transform .1s,background .15s}.action-card:active{transform:scale(.96)}.action-card:disabled{opacity:.6;cursor:not-allowed}.action-icon{font-size:24px;line-height:1}.action-label{font-size:13px;font-weight:500;color:var(--text)}.card{background:var(--secondary-bg);border-radius:14px;overflow:hidden}.card.accent{background:linear-gradient(135deg,#34c75910,#30d15810);border:1px solid #34c75930}.card-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;background:none;border:none;font-size:15px;font-weight:500;color:var(--text);cursor:pointer}.card.accent .card-toggle{color:#2d9e4a}.toggle-arrow{font-size:12px;color:var(--hint)}.card-body{padding:0 16px 16px}.card-hint{font-size:13px;color:var(--hint);margin-bottom:12px}.welcome-section{display:flex;flex-direction:column;gap:12px}.welcome-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:24px 20px;color:#fff}.welcome-card h2{font-size:22px;font-weight:700;margin-bottom:14px}.features-list{list-style:none;display:flex;flex-direction:column;gap:8px}.features-list li{font-size:15px;padding-left:20px;position:relative;opacity:.92}.features-list li:before{content:"✓";position:absolute;left:0;font-weight:600}.trial-hint{text-align:center;padding:12px;background:#fff3cd;color:#856404;border-radius:12px;font-size:14px}.referral-card{padding:16px}.referral-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.referral-info{display:flex;flex-direction:column;gap:2px}.referral-title{font-size:15px;font-weight:600}.referral-bonus{font-size:13px;color:#34c759;font-weight:500}.referral-stat{text-align:center}.referral-stat-num{display:block;font-size:22px;font-weight:700}.referral-stat-label{font-size:11px;color:var(--hint)}.referral-link-row{display:flex;gap:8px}.referral-input{flex:1;padding:10px 12px;border:none;border-radius:8px;background:var(--bg);font-size:13px;color:var(--text)}.config-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.config-tab{flex-shrink:0;padding:8px 14px;background:var(--secondary-bg);border:none;border-radius:20px;font-size:14px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.config-tab.active{background:var(--btn);color:var(--btn-text)}.config-tab.suspended{opacity:.7}.config-tab.suspended.active{opacity:1;background:#ff9500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 16px;border:none;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;transition:opacity .15s,transform .1s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primary{background:var(--btn);color:var(--btn-text)}.btn.secondary{background:var(--secondary-bg);color:var(--text)}.btn.text{background:transparent;color:var(--link);padding:8px}.btn.small{padding:8px 12px;font-size:14px}.btn.warning{background:#ff9500;color:#fff}.btn.success{background:#34c759;color:#fff}.qr-modal-body{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 16px}.qr-image{width:200px;height:200px;border-radius:12px}.qr-hint{font-size:14px;color:var(--hint);text-align:center;line-height:1.4}.qr-actions{display:flex;flex-direction:column;gap:8px;width:100%}.qr-actions .btn{width:100%}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-end;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{width:100%;max-height:90vh;background:var(--bg);border-radius:16px 16px 0 0;overflow:hidden;animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--secondary-bg)}.modal-header h3{flex:1;text-align:center;font-size:17px;font-weight:600}.modal-back{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--secondary-bg);border:none;border-radius:50%;font-size:18px;cursor:pointer}.modal-spacer{width:32px}.modal-body{padding:16px;overflow-y:auto;max-height:calc(90vh - 60px)}.payment-section{display:flex;flex-direction:column;gap:12px}.plans{display:flex;flex-direction:column;gap:8px}.plan-btn{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--secondary-bg);border:none;border-radius:10px;font-size:15px;cursor:pointer;transition:background .15s}.plan-btn:active{background:#e8e8ed}.plan-name{font-weight:500}.plan-price{color:var(--link);font-weight:600}.payment-selected{display:flex;flex-direction:column;gap:14px}.selected-header{display:flex;justify-content:space-between;font-weight:500;padding-bottom:10px;border-bottom:1px solid var(--secondary-bg)}.selected-header .price{color:var(--link)}.pay-methods{display:flex;flex-direction:column;gap:10px}.pay-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:10px;text-decoration:none;font-weight:500;font-size:15px}.pay-btn.sber{background:#21a038;color:#fff}.pay-tinkoff{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px;background:#ffdd2d20;border-radius:10px;font-size:14px}.pay-tinkoff code{font-family:monospace;font-size:15px;font-weight:600;cursor:pointer;padding:4px 8px;background:#0000000d;border-radius:6px}.pay-tinkoff .copied{color:#34c759;font-weight:500}.payment-actions{display:flex;flex-direction:column;gap:8px}.payment-pending{display:flex;flex-direction:column;gap:12px}.pending-header{display:flex;align-items:center;gap:8px;font-weight:500;color:#ff9500}.pending-icon{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pending-info{font-size:14px;color:var(--hint)}.pending-hint{font-size:13px;color:var(--hint);text-align:center}.app-download{text-align:center;background:var(--secondary-bg);border-radius:14px;padding:16px}.app-download h4{font-size:14px;font-weight:500;margin-bottom:10px;color:var(--hint)}.download-links{display:flex;flex-direction:column;gap:8px}.download-link{display:block;padding:10px 14px;background:var(--bg);border-radius:8px;text-decoration:none;color:var(--link);font-size:14px}.download-link.secondary{opacity:.7;font-size:13px}.download-hint{margin-top:8px;font-size:12px;color:var(--hint)}.method-list{display:flex;flex-direction:column;gap:10px}.method-intro{font-size:15px;color:var(--hint);margin-bottom:6px}.method-btn{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--secondary-bg);border:none;border-radius:12px;cursor:pointer;transition:background .15s}.method-btn:active{background:#e0e0e5}.method-btn.recommended{background:linear-gradient(135deg,#34c75920,#30d15820);border:1px solid #34c75940}.method-label{font-size:15px;font-weight:500}.method-badge{font-size:12px;color:#34c759;font-weight:500}.instruction{display:flex;flex-direction:column;gap:16px}.instruction-warning{padding:12px;background:#ff950020;border:1px solid #ff950040;border-radius:10px;font-size:14px;color:#c70}.steps{display:flex;flex-direction:column;gap:16px}.step{background:var(--secondary-bg);border-radius:12px;padding:14px}.step-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.step-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--btn);color:var(--btn-text);border-radius:50%;font-size:13px;font-weight:600}.step-title{font-weight:600;font-size:15px}.step-items{list-style:none;padding-left:34px}.step-items li{position:relative;font-size:14px;line-height:1.5;color:var(--text);margin-bottom:4px}.step-items li:before{content:"•";position:absolute;left:-12px;color:var(--hint)}.instruction-hint{padding:12px;background:#34c75915;border-radius:10px;font-size:13px;color:#2d9e4a}.download-btn{display:block;padding:14px;background:var(--btn);color:var(--btn-text);text-align:center;text-decoration:none;border-radius:12px;font-size:15px;font-weight:500}.method-btn.video-btn{background:linear-gradient(135deg,#667eea20,#764ba220);border:1px solid #667eea40}.video-instruction{display:flex;flex-direction:column;gap:12px}.instruction-video{width:100%;border-radius:12px;background:#000}.video-hint{text-align:center;font-size:13px;color:var(--hint)}.admin-section{margin-top:4px}.admin-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;background:linear-gradient(135deg,#ff6b6b20,#ee5a5a20);border:1px solid #ff6b6b30;border-radius:12px;font-size:15px;font-weight:500;color:#c44;cursor:pointer}.toggle-icon{font-size:12px;color:var(--hint)}.admin-panel{background:var(--secondary-bg);border-radius:12px;padding:16px;margin-top:12px}.admin-title{font-size:16px;font-weight:600;margin-bottom:16px;color:#c44}.admin-stats{margin-bottom:16px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.stat-card{background:var(--bg);border-radius:8px;padding:10px 6px;text-align:center}.stat-card .stat-value{display:block;font-size:18px;font-weight:600}.stat-card .stat-label{font-size:10px;color:var(--hint)}.stat-row{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--hint)}.stat-row b{color:var(--text)}.admin-search{display:flex;gap:8px;margin-bottom:16px}.search-input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;background:var(--bg);color:var(--text)}.admin-users{display:flex;flex-direction:column;gap:6px}.user-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg);border:none;border-radius:8px;cursor:pointer;text-align:left;width:100%}.user-row:active{background:#e0e0e5}.user-name{font-size:14px;font-weight:500}.user-username{font-size:12px;color:var(--hint);margin-left:6px}.user-configs{display:flex;gap:4px}.badge{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.badge.active{background:#34c75920;color:#2d9e4a}.badge.suspended{background:#ff950020;color:#c70}.admin-user-card{background:var(--bg);border-radius:10px;padding:12px}.admin-user-card .user-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.user-id{font-size:12px;color:var(--hint);font-family:monospace}.user-info{margin-bottom:16px}.user-info p{margin:4px 0}.user-meta{font-size:12px;color:var(--hint)}.user-configs-list h4,.user-payments h4{font-size:14px;font-weight:600;margin-bottom:10px}.config-card{background:var(--secondary-bg);border-radius:8px;padding:10px;margin-bottom:8px}.config-card .config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.config-card .config-name{font-weight:500;font-size:14px;font-family:monospace}.config-card .config-details{font-size:12px;color:var(--hint);margin-bottom:8px}.config-card .config-ip{margin-left:8px;font-family:monospace}.config-card .config-actions{display:flex;gap:6px}.config-card .config-actions .btn{flex:1;padding:6px 8px;font-size:12px}.user-payments{margin-top:16px}.payment-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--secondary-bg);border-radius:6px;margin-bottom:4px;font-size:13px}.payment-status{padding:2px 6px;border-radius:4px;font-size:11px}.payment-row.succeeded .payment-status{background:#34c75920;color:#2d9e4a}.payment-row.pending_confirmation .payment-status{background:#ff950020;color:#c70}.payment-row.rejected .payment-status{background:#ff3b3020;color:#c22}.payment-date{color:var(--hint);font-size:12px}.admin-tabs{display:flex;gap:4px;margin-bottom:16px;background:var(--bg);border-radius:8px;padding:3px}.admin-tab{flex:1;padding:8px 12px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;background:transparent;color:var(--hint);transition:background .15s,color .15s}.admin-tab.active{background:var(--secondary-bg);color:var(--text)}.payments-filters{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.filter-chip{padding:6px 12px;border:1px solid #ddd;border-radius:16px;font-size:13px;cursor:pointer;background:var(--bg);color:var(--hint);transition:all .15s}.filter-chip.active{background:var(--btn);color:var(--btn-text);border-color:var(--btn)}.payments-count{font-size:12px;color:var(--hint);margin-bottom:10px}.payments-empty{text-align:center;padding:24px;color:var(--hint);font-size:14px}.payments-list{display:flex;flex-direction:column;gap:6px}.payment-item{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--bg);border:none;border-radius:8px;cursor:pointer;text-align:left;width:100%;transition:background .15s}.payment-item:active{background:#e0e0e5}.payment-item-top{display:flex;justify-content:space-between;align-items:center}.payment-item-user{font-size:14px;font-weight:500}.payment-item-amount{font-size:14px;font-weight:600;color:var(--link)}.payment-item-bottom{display:flex;align-items:center;gap:8px}.payment-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.payment-badge.succeeded{background:#34c75920;color:#2d9e4a}.payment-badge.pending_confirmation{background:#ff950020;color:#c70}.payment-badge.rejected{background:#ff3b3020;color:#c22}.payment-badge.pending{background:#ff950020;color:#c70}.payment-item-plan{font-size:12px;color:var(--hint)}.payment-item-date{font-size:12px;color:var(--hint);margin-left:auto}.payments-loadmore{display:block;width:100%;margin-top:12px;text-align:center}.app-footer{display:flex;justify-content:center;align-items:center;gap:8px;padding:24px 0 12px;font-size:13px}.app-footer a{color:var(--hint);text-decoration:none}.app-footer a:active{opacity:.6}.footer-dot{color:var(--hint);opacity:.5}.legal-modal{height:90vh;display:flex;flex-direction:column}.legal-iframe{flex:1;border:none;width:100%;border-radius:0 0 16px 16px}
