:root{--bg-primary:var(--tg-theme-bg-color,#fff);--bg-secondary:var(--tg-theme-secondary-bg-color,#f0f0f0);--text-primary:var(--tg-theme-text-color,#1a1a1a);--text-secondary:var(--tg-theme-hint-color,#999);--accent:var(--tg-theme-button-color,#3390ec);--accent-text:var(--tg-theme-button-text-color,#fff);--link:var(--tg-theme-link-color,#3390ec);--positive:#34c759;--negative:#ff3b30;--header-bg:#1c2333;--header-text:#fff;--border:#00000014}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.auth-page{flex-direction:column;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.auth-header{text-align:center;margin-bottom:40px}.auth-header h1{margin-bottom:8px;font-size:28px;font-weight:700}.auth-header p{color:var(--text-secondary);font-size:15px}.phone-input,.code-input{text-align:center;width:100%;max-width:360px}.input-icon{margin-bottom:16px;font-size:48px}.phone-input h2,.code-input h2{margin-bottom:20px;font-size:17px;font-weight:600}.input-field{border:2px solid var(--border);background:var(--bg-secondary);width:100%;color:var(--text-primary);text-align:center;letter-spacing:1px;border-radius:12px;outline:none;padding:14px 16px;font-size:18px;transition:border-color .2s}.input-field:focus{border-color:var(--accent)}.btn-primary{width:100%;color:var(--accent-text);background:var(--accent);cursor:pointer;border:none;border-radius:12px;margin-top:16px;padding:14px;font-size:16px;font-weight:600;transition:opacity .2s}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary:active:not(:disabled){opacity:.8}.btn-link{color:var(--link);cursor:pointer;background:0 0;border:none;margin-top:20px;padding:8px;font-size:14px}.phone-hint{color:var(--text-secondary);margin-bottom:20px;font-size:14px}.code-digits{justify-content:center;gap:12px;margin-bottom:16px;display:flex}.code-digit{text-align:center;border:2px solid var(--border);background:var(--bg-secondary);width:44px;height:56px;color:var(--text-primary);border-radius:12px;outline:none;font-size:22px;font-weight:700;transition:border-color .2s}.code-digit:focus{border-color:var(--accent)}.error-text{color:var(--negative);margin-top:8px;font-size:14px}.loading-text{color:var(--text-secondary);margin-top:8px;font-size:14px}.report-page{flex-direction:column;gap:16px;padding:16px 16px 32px;display:flex}.report-card{border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #00000014}.report-header{background:var(--header-bg);color:var(--header-text);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.report-header h3{font-size:18px;font-weight:700}.report-date{opacity:.7;font-size:12px}.report-list{background:var(--bg-primary)}.report-item{border-bottom:1px solid var(--border);padding:14px 16px}.report-item:last-child{border-bottom:none}.report-item-name{margin-bottom:8px;font-size:15px;font-weight:700}.report-item-row{gap:8px;display:flex}.report-item-col{flex-direction:column;flex:1;gap:2px;display:flex}.report-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;font-size:11px}.report-value{font-size:13px;font-weight:600}.report-total{background:var(--bg-secondary);border-top:2px solid var(--border);padding:16px}.report-total .report-item-name{font-size:16px}.positive{color:var(--positive);font-weight:700}.negative{color:var(--negative);font-weight:700}.loading,.loading-page{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:60vh;padding:20px;display:flex}.progress-container{text-align:center;width:100%;max-width:320px}.progress-label{color:var(--text-primary);margin-bottom:16px;font-size:15px;font-weight:600}.progress-track{background:var(--border);border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .6s}.progress-percent{color:var(--text-secondary);margin-top:8px;font-size:13px}.period-buttons{justify-content:center;gap:8px;padding:16px;display:flex}.period-btn{border:2px solid var(--border);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:10px;flex:1;padding:10px 8px;font-size:13px;font-weight:600;transition:all .2s}.period-btn-active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.period-btn:disabled{opacity:.5}.error-page{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:60vh;padding:20px;display:flex}.error-page .btn-primary{max-width:200px}
