.profile-canvas{padding:24px;max-width:1200px;margin:0 auto}.profile-page-nav{display:flex;align-items:center;justify-content:space-between;padding:0 0 16px;border-bottom:1px solid var(--border);margin-bottom:24px}.profile-page-nav__tabs{display:flex;gap:4px}.profile-page-nav__actions{display:flex;gap:8px}.profile-tab{display:flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:none;border-radius:6px;color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.profile-tab:hover{background:var(--bg-elevated);color:var(--text)}.profile-tab.is-active{background:var(--text);color:var(--bg)}.profile-tab kbd{display:inline-block;padding:2px 6px;font-size:11px;font-family:inherit;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-muted)}.profile-tab.is-active kbd{background:#fff3;border-color:transparent;color:inherit}.profile-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);cursor:pointer;transition:all .15s ease;text-decoration:none}.profile-btn:hover{border-color:var(--border-hover);background:var(--bg-elevated)}.profile-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.profile-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.profile-btn--ghost{background:transparent;border-color:transparent}.profile-btn--ghost:hover{background:var(--bg-elevated)}.profile-btn--sm{padding:4px 8px}.profile-btn:disabled{opacity:.5;cursor:not-allowed}.profile-btn--danger{background:#dc2626;border-color:#dc2626;color:#fff}.profile-btn--danger:hover{background:#b91c1c;border-color:#b91c1c}.account-actions{display:flex;flex-direction:column;gap:12px}.account-actions .profile-btn{justify-content:flex-start}.profile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 24px;color:var(--text-muted)}.profile-loading__spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.profile-auth-required{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 24px;text-align:center}.profile-auth-required h2{margin:0;font-size:24px;font-weight:600;color:var(--text)}.profile-auth-required p{margin:0;color:var(--text-muted)}.profile-auth-required a{color:var(--accent)}.profile-view{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.profile-section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.profile-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.profile-card--wide{grid-column:1 / -1}.profile-card__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.profile-card__header h2{margin:0;font-size:16px;font-weight:600;color:var(--text)}.profile-card__body{padding:20px}.user-info{display:flex;align-items:center;gap:16px}.user-info__avatar{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--accent);border-radius:50%;color:#fff;font-size:20px;font-weight:600}.user-info__details{display:flex;flex-direction:column;gap:4px}.user-info__name{font-size:18px;font-weight:600;color:var(--text)}.user-info__email{font-size:14px;color:var(--text-muted)}.balance-display{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.balance-display__value{font-size:36px;font-weight:700;color:var(--text)}.balance-display__label{font-size:18px;color:var(--text-muted)}.balance-breakdown{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-muted)}.balance-breakdown__sep{color:var(--border)}.subscription-badge{display:inline-flex;padding:4px 10px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:4px;background:var(--bg-secondary);color:var(--text-muted)}.subscription-badge--free{background:#f3f4f6;color:#6b7280}.subscription-badge--basic{background:#dbeafe;color:#2563eb}.subscription-badge--pro{background:#dcfce7;color:#16a34a}.subscription-badge--ultra{background:#fef3c7;color:#d97706}.subscription-info{margin:0 0 8px;font-size:14px;color:var(--text)}.subscription-period{margin:0 0 16px;font-size:13px;color:var(--text-muted)}.subscription-actions{display:flex;gap:12px;margin-top:16px}.subscription-details{margin-bottom:16px}.purchase-form{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.purchase-input-group{display:flex;flex-direction:column;gap:6px}.purchase-input-group label{font-size:13px;font-weight:500;color:var(--text-muted)}.purchase-input-group input{width:120px;padding:8px 12px;font-size:14px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.purchase-input-group input:focus{outline:none;border-color:var(--accent)}.purchase-total{display:flex;align-items:center;gap:8px}.purchase-total__label{font-size:14px;color:var(--text-muted)}.purchase-total__value{font-size:20px;font-weight:600;color:var(--text)}.purchase-error{margin-top:12px;padding:8px 12px;font-size:14px;color:#dc2626;background:#fee2e2;border-radius:6px}.profile-hint{font-size:13px;color:var(--text-muted);margin:0 0 16px}.theme-toggle{display:flex;gap:8px}.theme-option{padding:8px 16px;font-size:14px;font-weight:500;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text-muted);cursor:pointer;transition:all .15s ease}.theme-option:hover{border-color:var(--border-hover);color:var(--text)}.theme-option.is-active{background:var(--text);border-color:var(--text);color:var(--bg)}.notification-toggles{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.notification-toggle{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.notification-toggle.disabled{opacity:.5;cursor:not-allowed}.notification-toggle input[type=checkbox]{margin-top:2px;width:18px;height:18px;cursor:pointer}.notification-toggle__label{display:flex;flex-direction:column;gap:2px}.notification-toggle__label strong{font-size:14px;font-weight:500;color:var(--text)}.notification-toggle__label small{font-size:13px;color:var(--text-muted)}.notification-email-input{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.notification-email-input label{display:flex;flex-direction:column;gap:6px}.notification-email-input label span{font-size:13px;font-weight:500;color:var(--text-muted)}.notification-email-input input{padding:8px 12px;font-size:14px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.notification-email-input input:focus{outline:none;border-color:var(--accent)}.notification-email-input .profile-hint{margin:8px 0 0}.jobs-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.jobs-filter-tabs{display:flex;gap:4px}.jobs-filter-tab{display:flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:none;border-radius:6px;color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.jobs-filter-tab:hover{background:var(--bg-elevated);color:var(--text)}.jobs-filter-tab.is-active{background:var(--text);color:var(--bg)}.jobs-filter-tab kbd{display:inline-block;padding:2px 6px;font-size:11px;font-family:inherit;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-muted)}.jobs-filter-tab.is-active kbd{background:#fff3;border-color:transparent;color:inherit}.jobs-header__actions{display:flex;gap:8px}.jobs-select{padding:6px 12px;font-size:14px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);cursor:pointer}.jobs-select:focus{outline:none;border-color:var(--accent)}.jobs-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 24px;color:var(--text-muted)}.jobs-loading__spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.jobs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 24px;text-align:center}.jobs-empty__icon{color:var(--text-tertiary)}.jobs-empty h3{margin:0;font-size:20px;font-weight:600;color:var(--text)}.jobs-empty p{margin:0;color:var(--text-muted);max-width:400px}.jobs-list{display:flex;flex-direction:column;gap:12px}.job-card{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;transition:border-color .15s}.job-card:hover{border-color:var(--border-hover)}.job-card.is-active{border-color:var(--accent)}.job-card__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:var(--bg-secondary);color:var(--text-muted)}.job-card__icon--export{background:#dbeafe;color:#2563eb}.job-card__icon--research{background:#dcfce7;color:#16a34a}.job-card__icon--enrichment{background:#fef3c7;color:#d97706}.job-card__info{display:flex;flex-direction:column;gap:4px;min-width:0}.job-card__title{font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-card__meta{display:flex;gap:16px;font-size:13px;color:var(--text-muted)}.job-card__progress{display:flex;align-items:center;gap:8px;margin-top:8px}.job-card__progress-bar{flex:1;height:4px;background:var(--bg-secondary);border-radius:2px;overflow:hidden}.job-card__progress-fill{height:100%;background:var(--accent);transition:width .3s ease}.job-card__progress-text{font-size:12px;color:var(--text-muted);white-space:nowrap}.job-card__actions{display:flex;gap:8px}.job-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text-muted);cursor:pointer;transition:all .15s}.job-action-btn:hover{border-color:var(--border-hover);color:var(--text)}.job-action-btn--download{border-color:var(--accent);color:var(--accent)}.job-action-btn--download:hover{background:var(--accent);color:#fff}.job-action-btn--cancel:hover{border-color:#ef4444;color:#ef4444}.job-status{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:500;border-radius:4px}.job-status--pending{background:#f3f4f6;color:#6b7280}.job-status--processing{background:#dbeafe;color:#2563eb}.job-status--completed{background:#dcfce7;color:#16a34a}.job-status--failed{background:#fee2e2;color:#dc2626}.job-status--paused{background:#fef3c7;color:#d97706}.job-status--cancelled{background:#f3f4f6;color:#9ca3af}.profile-dropdown{position:relative}.profile-dropdown__menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:100;overflow:hidden}.profile-dropdown__user{display:flex;flex-direction:column;gap:2px;padding:12px 16px}.profile-dropdown__name{font-size:14px;font-weight:500;color:var(--text)}.profile-dropdown__balance{font-size:13px;color:var(--text-muted)}.profile-dropdown__divider{height:1px;background:var(--border)}.profile-dropdown__item{display:block;width:100%;padding:10px 16px;font-size:14px;text-align:left;background:none;border:none;color:var(--text);cursor:pointer;text-decoration:none}.profile-dropdown__item:hover{background:var(--bg-elevated)}.profile-help-modal .modal-content{max-width:500px}.shortcuts-section{margin-bottom:24px}.shortcuts-section:last-child{margin-bottom:0}.shortcuts-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.shortcuts-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.shortcuts-list li{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text)}.shortcuts-list kbd{min-width:24px;padding:2px 6px;font-size:12px;font-family:inherit;text-align:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-muted)}.auth-modal .modal-content{background:var(--bg);border:1px solid var(--border);border-radius:16px;max-width:400px;width:100%;padding:1.25rem;box-shadow:var(--shadow-lg)}.auth-modal form{display:flex;flex-direction:column;gap:12px}.auth-modal label{font-size:14px;font-weight:500;color:var(--text)}.auth-modal input[type=email]{padding:10px 12px;font-size:14px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.auth-modal input[type=email]:focus{outline:none;border-color:var(--accent)}.auth-modal .modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.auth-modal .modal-header h2{margin:0;font-size:1.25rem;font-weight:600}.auth-modal .modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);padding:.25rem;line-height:1}.auth-modal .modal-close:hover{color:var(--text)}.auth-message{margin-top:12px;padding:10px 12px;font-size:14px;border-radius:6px}.auth-message--success{background:#dcfce7;color:#16a34a}.auth-message--error{background:#fee2e2;color:#dc2626}@media(max-width:768px){.profile-canvas{padding:16px}.profile-page-nav{flex-direction:column;align-items:stretch;gap:12px}.profile-page-nav__tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.profile-tab kbd,.jobs-filter-tab kbd{display:none}.profile-section-grid{grid-template-columns:1fr}.jobs-header{flex-direction:column;align-items:stretch}.jobs-filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.purchase-form{flex-direction:column;align-items:stretch}.purchase-input-group input{width:100%}.job-card{grid-template-columns:1fr;gap:12px}.job-card__icon{display:none}.job-card__actions{justify-content:flex-end}.job-card__meta{flex-wrap:wrap;gap:8px}}.telegram-card{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.telegram-card__header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.telegram-card__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#e0f2fe;border-radius:8px;color:#0284c7}.telegram-card__header h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}.telegram-card__description{margin:0 0 16px;font-size:14px;color:var(--text-muted)}.telegram-code-container{margin-bottom:16px}.telegram-code{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-bottom:8px}.telegram-code__value{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:24px;font-weight:600;letter-spacing:.1em;color:var(--text)}.telegram-code__copy{display:flex;align-items:center;justify-content:center;padding:8px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.telegram-code__copy:hover{border-color:var(--accent);color:var(--accent)}.telegram-code__expiry{font-size:13px;color:var(--text-muted)}.telegram-steps{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.telegram-step{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:var(--text)}.telegram-step__number{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;background:var(--bg-secondary);border-radius:50%;font-size:12px;font-weight:600;color:var(--text-muted)}.telegram-step__content{flex:1;line-height:1.5}.telegram-linked{display:flex;align-items:center;gap:16px;padding:16px;background:#dcfce7;border-radius:8px}.telegram-linked__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#16a34a;border-radius:50%;color:#fff}.telegram-linked__info{flex:1;display:flex;flex-direction:column;gap:2px}.telegram-linked__username{font-size:16px;font-weight:600;color:#16a34a}.telegram-linked__date{font-size:13px;color:#166534}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:10000;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;font-size:14px;color:var(--text);pointer-events:auto;opacity:0;transform:translate(100%);transition:all .3s ease}.toast--visible{opacity:1;transform:translate(0)}.toast--success{background:#dcfce7;border-color:#86efac;color:#16a34a}.toast--error{background:#fee2e2;border-color:#fecaca;color:#dc2626}.toast--info{background:#dbeafe;border-color:#93c5fd;color:#2563eb}@media(max-width:768px){.toast-container{left:16px;right:16px;bottom:16px}.toast{transform:translateY(100%)}.toast--visible{transform:translateY(0)}}.password-form{display:flex;flex-direction:column;gap:16px;margin-top:16px;max-width:400px}.password-form .form-group{display:flex;flex-direction:column;gap:6px}.password-form label{font-size:13px;font-weight:500;color:var(--text-muted)}.password-form input{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--input-bg, var(--bg));color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.password-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha, rgba(59, 130, 246, .1))}.password-form input::placeholder{color:var(--text-muted);opacity:.6}.password-form .form-error{font-size:13px;color:var(--danger, #ef4444);margin:0}.password-form button[type=submit]{position:relative;margin-top:8px}.password-form .btn-text{display:inline-block}.password-form .btn-spinner{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}
