.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);min-height:200px}.loading-state-inline{display:inline-flex;flex-direction:row;padding:var(--spacing-sm);min-height:auto;gap:var(--spacing-sm)}.loading-message{margin-top:var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.loading-state-inline .loading-message{margin-top:0}.loading-spinner{position:relative;display:inline-block}.loading-spinner-sm{width:16px;height:16px}.loading-spinner-md{width:24px;height:24px}.loading-spinner-lg{width:40px;height:40px}.spinner-ring{width:100%;height:100%;border:2px solid var(--color-bg-tertiary);border-top-color:var(--color-accent-primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}.loading-spinner-sm .spinner-ring{border-width:1.5px}.loading-spinner-lg .spinner-ring{border-width:3px}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.loading-overlay-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--color-bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-overlay .loading-state{position:relative;z-index:1;background:var(--color-bg-card);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-height:auto}.skeleton-loader{width:100%}.skeleton-line{height:14px;background:linear-gradient(90deg,var(--color-bg-tertiary) 0%,rgba(78,204,163,.1) 50%,var(--color-bg-tertiary) 100%);background-size:200% 100%;border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);animation:shimmer 1.5s ease-in-out infinite}.skeleton-line:last-child{margin-bottom:0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line-xs{width:40px}.skeleton-line-short{width:70%}.skeleton-text{padding:var(--spacing-sm) 0}.skeleton-card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.skeleton-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.skeleton-header .skeleton-line{margin-bottom:0}.skeleton-body .skeleton-line{height:12px}.skeleton-table-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--color-bg-tertiary)}.skeleton-cell{display:flex;align-items:center}.skeleton-cell .skeleton-line{width:100%;margin-bottom:0}@media (max-width: 768px){.loading-state{padding:var(--spacing-xl);min-height:150px}.loading-overlay .loading-state{padding:var(--spacing-lg)}.skeleton-table-row{grid-template-columns:1fr;gap:var(--spacing-sm)}}@media (prefers-reduced-motion: reduce){.spinner-ring,.skeleton-line{animation:none}.spinner-ring{opacity:.5}.skeleton-line{background:var(--color-bg-tertiary)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;background:var(--color-bg-card);border-radius:var(--border-radius-md);border:1px solid var(--color-border-primary);min-height:200px}.empty-state__icon{font-size:4rem;line-height:1;margin-bottom:var(--spacing-md);opacity:.8;-webkit-user-select:none;user-select:none}.empty-state__title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.empty-state__description{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0 0 var(--spacing-lg) 0;max-width:400px;line-height:1.5}.empty-state__action{margin-top:var(--spacing-sm)}.empty-state--error{border-color:var(--color-error);background:color-mix(in srgb,var(--color-error) 5%,var(--color-bg-card))}.empty-state--error .empty-state__icon,.empty-state--error .empty-state__title{color:var(--color-error)}.empty-state--offline{border-color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 5%,var(--color-bg-card))}.empty-state--offline .empty-state__icon,.empty-state--offline .empty-state__title{color:var(--color-warning)}.empty-state-inline{padding:var(--spacing-xl) var(--spacing-md);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-md);background:var(--color-bg-tertiary);border-radius:var(--border-radius-sm);border:1px dashed var(--color-border-primary)}@media (max-width: 768px){.empty-state{padding:2rem 1rem;min-height:160px}.empty-state__icon{font-size:3rem}.empty-state__title{font-size:1.1rem}.empty-state__description{font-size:.9rem}}.form-input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.form-input-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);line-height:var(--line-height-tight)}.form-input-required{color:var(--color-error);margin-left:var(--spacing-xs)}.form-input-container{position:relative;display:flex;align-items:center}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-secondary);border:2px solid transparent;border-radius:var(--radius-md);outline:none;transition:all var(--transition-base);font-family:inherit}.form-input-with-left-icon{padding-left:calc(var(--spacing-md) * 2.5)}.form-input-with-right-icon{padding-right:calc(var(--spacing-md) * 2.5)}.form-input:focus{border-color:var(--color-accent-primary);background-color:var(--color-bg-primary);box-shadow:0 0 0 3px #4ecca31a}.form-input-error{border-color:var(--color-error)}.form-input-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #e945601a}.form-input:not(.form-input-error):valid:not(:placeholder-shown){border-color:var(--color-success)}.form-input-disabled,.form-input:disabled{background-color:var(--color-bg-tertiary);color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.form-input::placeholder{color:var(--color-text-muted);opacity:.7}.form-input-icon{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);pointer-events:none;z-index:1}.form-input-icon-left{left:var(--spacing-md)}.form-input-icon-right{right:var(--spacing-md)}.form-input-toggle-password{background:none;border:none;padding:0;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;transition:color var(--transition-base);pointer-events:auto}.form-input-toggle-password:hover{color:var(--color-accent-primary)}.form-input-toggle-password:focus{outline:none;color:var(--color-accent-primary)}.form-input-error-message{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-error);margin-top:var(--spacing-xs);line-height:var(--line-height-tight)}.form-input-error-message:before{content:"⚠";font-size:var(--font-size-base)}.form-input-hint{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-xs);line-height:var(--line-height-tight)}.form-input:-webkit-autofill,.form-input:-webkit-autofill:hover,.form-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-bg-secondary) inset;-webkit-text-fill-color:var(--color-text-primary);transition:background-color 5000s ease-in-out 0s}.form-input[type=number]::-webkit-inner-spin-button,.form-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-input[type=number]{-moz-appearance:textfield}@media (max-width: 480px){.form-input{font-size:var(--font-size-base);padding:var(--spacing-sm)}.form-input-with-left-icon{padding-left:calc(var(--spacing-md) * 2)}.form-input-with-right-icon{padding-right:calc(var(--spacing-md) * 2)}}.data-table-container{width:100%;overflow-x:auto;background:var(--color-bg-card, #ffffff);border-radius:8px;box-shadow:var(--shadow-md, 0 4px 6px rgba(0, 0, 0, .1));border:1px solid var(--color-border, #e0e0e0)}.data-table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:100%}.data-table thead{background:var(--color-bg-secondary, #e4e6e9);position:sticky;top:0;z-index:10}.data-table thead tr{border-bottom:2px solid var(--color-border, #d0d0d0)}.data-table th{padding:1rem;text-align:left;font-weight:600;color:var(--color-text-primary, #1a1a2e);white-space:nowrap;border-bottom:2px solid var(--color-border, #d0d0d0)}.data-table th.select-column{width:40px;text-align:center;padding:1rem .5rem}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.data-table tbody tr{border-bottom:1px solid var(--color-border, #e0e0e0);transition:background-color .2s ease}.data-table tbody tr:hover{background:var(--color-bg-secondary, #f5f5f5)}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.selected{background:var(--color-accent-primary-light, #e8f5f1)}.data-table tbody tr.selected:hover{background:var(--color-accent-primary-light, #d4ede5)}.data-table td{padding:1rem;color:var(--color-text-secondary, #4a4a5a);vertical-align:middle}.data-table td.select-column{text-align:center;padding:1rem .5rem}.data-table input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-accent-primary, #10b981)}.skeleton-row{animation:none}.skeleton-cell{height:16px;background:linear-gradient(90deg,var(--color-bg-secondary, #e4e6e9) 25%,var(--color-bg-tertiary, #f0f2f5) 50%,var(--color-bg-secondary, #e4e6e9) 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:4px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.data-table-empty{padding:3rem;text-align:center;color:var(--color-text-muted, #8a8a9a);font-size:1rem}.data-table-empty p{margin:0}@media (max-width: 768px){.data-table-container{overflow-x:visible;background:transparent;border:none;box-shadow:none}.data-table{display:block;width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed}.data-table thead{display:none}.data-table tbody{display:block;width:100%!important;min-width:0!important}.data-table tbody tr{display:block;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box;margin-bottom:1rem;border:1px solid var(--color-border, #e0e0e0);border-radius:12px;padding:1rem;background:var(--color-bg-card, #ffffff);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .08));overflow:hidden}.data-table tbody tr:hover{background:var(--color-bg-secondary, #f5f5f5)}.data-table tbody tr.selected{background:var(--color-accent-primary-light, #e8f5f1);border-color:var(--color-accent-primary, #10b981)}.data-table td{display:block;width:100%;box-sizing:border-box;padding:.6rem 0;border-bottom:1px solid var(--color-border, #e8e8e8);position:relative;padding-left:110px;min-height:1.5em}.data-table td:last-child{border-bottom:none;padding-bottom:0}.data-table td:first-child{padding-top:0}.data-table td:before{content:attr(data-label);position:absolute;left:0;top:.6rem;font-weight:600;color:var(--color-text-primary, #1a1a2e);font-size:.85rem;white-space:nowrap;width:100px}.data-table td .cell-content{display:block;text-align:right;word-break:break-word;color:var(--color-text-secondary, #4a4a5a)}.data-table td.select-column{justify-content:flex-start;padding:0 0 .5rem;border-bottom:none}.data-table td.select-column:before{content:"";display:none}.data-table td.align-left,.data-table td.align-center,.data-table td.align-right{text-align:right}.data-table td[data-label=Actions]{justify-content:center;padding-top:1rem;border-top:1px solid var(--color-border, #e8e8e8);margin-top:.5rem}.data-table td[data-label=Actions]:before{display:none}}@media (max-width: 480px){.data-table td:before{flex:0 0 35%}.data-table td{font-size:.9rem}}.confirm-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-modal{background:var(--bg-secondary);border:1px solid var(--bg-card);border-radius:12px;width:100%;max-width:500px;box-shadow:0 10px 40px #00000080;animation:slideUp .2s ease-out;overflow:hidden}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--bg-card)}.confirm-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.confirm-modal-close{background:none;border:none;font-size:2rem;line-height:1;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.confirm-modal-close:hover{background:var(--bg-card);color:var(--text-primary)}.confirm-modal-close:disabled{opacity:.5;cursor:not-allowed}.confirm-modal-body{padding:1.5rem}.confirm-modal-body p{margin:0 0 1rem;color:var(--text-secondary);line-height:1.6}.confirm-input-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-size:.9rem}.confirm-input-group strong{color:var(--danger);font-family:Courier New,monospace}.confirm-input-group input{width:100%;padding:.75rem;background:var(--bg-primary);border:1px solid var(--bg-card);border-radius:6px;color:var(--text-primary);font-size:1rem;font-family:Courier New,monospace;transition:border-color .2s}.confirm-input-group input:focus{outline:none;border-color:var(--accent-primary)}.confirm-input-group input:disabled{opacity:.5;cursor:not-allowed}.confirm-modal-footer{display:flex;gap:.75rem;padding:1.5rem;border-top:1px solid var(--bg-card);justify-content:flex-end}.confirm-modal-footer .btn{min-width:100px}.confirm-modal-danger .btn-danger{background:var(--danger);color:#fff}.confirm-modal-danger .btn-danger:hover:not(:disabled){filter:brightness(1.1)}.confirm-modal-warning .btn-warning{background:var(--warning);color:var(--bg-primary)}.confirm-modal-warning .btn-warning:hover:not(:disabled){filter:brightness(1.1)}.confirm-modal-info .btn-info{background:var(--accent-secondary);color:var(--bg-primary)}.confirm-modal-info .btn-info:hover:not(:disabled){filter:brightness(1.1)}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:.5rem}@media (max-width: 640px){.confirm-modal{max-width:100%;margin:1rem}.confirm-modal-header,.confirm-modal-body,.confirm-modal-footer{padding:1rem}.confirm-modal-footer{flex-direction:column-reverse}.confirm-modal-footer .btn{width:100%}}.password-strength{margin-top:.75rem}.password-strength-compact{margin-top:.5rem}.password-strength-meter{margin-bottom:1rem}.password-strength-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.875rem}.label-text{color:var(--text-secondary)}.strength-text{font-weight:600}.password-strength-bar{height:8px;background-color:#ffffff0d;border-radius:4px;overflow:hidden;position:relative}.password-strength-bar-fill{height:100%;border-radius:4px;transition:width .3s ease,background-color .3s ease}.password-requirements{background-color:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem}.requirements-header{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem}.requirements-list{list-style:none;padding:0;margin:0}.requirement-item{display:flex;align-items:center;gap:.5rem;padding:.375rem 0;font-size:.875rem;transition:opacity .2s ease}.requirement-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.requirement-label{color:var(--text-primary)}.requirement-met .requirement-icon{color:var(--success)}.requirement-met .requirement-label{opacity:.7;text-decoration:line-through}.requirement-unmet .requirement-icon{color:var(--text-tertiary)}.requirement-unmet .requirement-label{color:var(--text-secondary)}.password-strength-compact .password-strength-meter{margin-bottom:0}.password-strength-compact .password-strength-label{font-size:.8125rem}.password-strength-compact .password-strength-bar{height:6px}@media (max-width: 640px){.password-strength-label{font-size:.8125rem}.requirement-item{font-size:.8125rem;padding:.25rem 0}.requirements-header{font-size:.8125rem}.password-requirements{padding:.75rem}}:root{--color-bg-primary: #f0f2f5;--color-bg-secondary: #e4e6e9;--color-bg-tertiary: #ffffff;--color-bg-card: #ffffff;--color-bg-overlay: rgba(0, 0, 0, .5);--color-text-primary: #1a1a2e;--color-text-secondary: #4a4a5a;--color-text-muted: #8a8a9a;--color-text-inverse: #ffffff;--color-accent-primary: #10b981;--color-accent-secondary: #0891b2;--color-accent-tertiary: #0284c7;--color-success: #10b981;--color-error: #ef4444;--color-warning: #f59e0b;--color-info: #3b82f6;--color-long: #10b981;--color-short: #ef4444;--color-demo: #10b981;--color-live: #ef4444;--color-border: #d0d5dd;--color-border-light: #e8e8eb;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-size-xs: .75rem;--font-size-sm: .85rem;--font-size-base: 1rem;--font-size-lg: 1.1rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.75rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .12);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--breakpoint-sm: 480px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--bg-primary: var(--color-bg-primary);--bg-secondary: var(--color-bg-secondary);--bg-card: var(--color-bg-tertiary);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--accent-primary: var(--color-accent-primary);--accent-secondary: var(--color-accent-tertiary);--danger: var(--color-error);--warning: var(--color-warning);--success: var(--color-success);--long: var(--color-long);--short: var(--color-short)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:var(--line-height-normal)}#root{min-height:100%;display:flex;flex-direction:column}h1,h2,h3,h4{font-weight:var(--font-weight-semibold)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md)}h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}h4{font-size:var(--font-size-base)}a{color:var(--accent-primary);text-decoration:none}a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.btn-primary{background:var(--color-accent-primary);color:#fff}.btn-primary:hover{filter:brightness(.95)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--color-bg-card);color:var(--color-text-primary);border:1px solid var(--color-text-muted)}.btn-secondary:hover{background:var(--color-bg-secondary)}.btn-outline{background:transparent;color:var(--text-secondary);border:1px dashed var(--text-secondary)}.btn-outline:hover{background:var(--bg-card);color:var(--text-primary);border-style:solid}.btn-danger{background:var(--danger);color:#fff}.btn-link{background:none;color:var(--accent-primary);padding:0}.btn-large{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base)}.btn-back{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.9rem}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary)}input[type=text],input[type=email],input[type=password],input[type=number]{width:100%;padding:var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--bg-card);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-base)}input:focus{outline:none;border-color:var(--accent-primary)}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;flex-direction:column;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--bg-card);gap:.5rem}.header-main-row{display:flex;justify-content:space-between;align-items:center;width:100%}.header-env-row{display:flex;justify-content:center;width:100%}.header-left h1{font-size:1.2rem}.header-right{display:flex;align-items:center;gap:1rem}.equity-badge{background:var(--bg-card);padding:.25rem .75rem;border-radius:20px;font-size:.85rem}.btn-eye-toggle{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:.25rem;opacity:.7;transition:opacity .2s}.btn-eye-toggle:hover{opacity:1}.header-accounts{display:flex;gap:.5rem;align-items:center}.header-account-badge{display:inline-flex;align-items:center;gap:.35rem;background:var(--bg-card);padding:.25rem .6rem;border-radius:16px;font-size:.8rem;font-weight:500;border:1px solid transparent}.header-account-badge.live{border-color:#f443364d}.header-account-badge.demo{border-color:#4caf504d}.account-env-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.account-env-dot.live{background:#f44336}.account-env-dot.demo{background:#4caf50}.user-name{font-size:.85rem;color:var(--text-secondary)}.btn-logout{background:none;border:1px solid var(--text-secondary);color:var(--text-secondary);padding:.25rem .5rem;border-radius:4px;font-size:.8rem;cursor:pointer}.app-nav{display:flex;gap:.5rem;padding:.75rem 1rem;background:var(--bg-secondary);overflow-x:auto}.app-nav a{padding:.5rem 1rem;border-radius:20px;font-size:.85rem;white-space:nowrap;color:var(--text-secondary)}.app-nav a.active{background:var(--bg-card);color:var(--accent-primary)}.app-nav a{position:relative}.nav-badge{position:absolute;top:-4px;right:-4px;background:var(--danger);color:#fff;font-size:.65rem;font-weight:600;padding:.15rem .35rem;border-radius:10px;min-width:16px;text-align:center}.connection-warning{background:#ffc1071a;color:var(--warning);padding:.75rem 1rem;text-align:center;font-size:.85rem}.app-main{flex:1;padding:1rem;max-width:800px;margin:0 auto;width:100%}.app-footer{padding:1rem;text-align:center;font-size:.75rem;color:var(--text-secondary);border-top:1px solid var(--bg-card)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-container{width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:1.75rem;margin-bottom:.5rem}.login-header p{color:var(--text-secondary)}.login-form{background:var(--bg-secondary);padding:1.5rem;border-radius:12px}.login-form .btn-login{width:100%;margin-top:1rem}.login-footer{text-align:center;margin-top:1.5rem;font-size:.85rem;color:var(--text-secondary)}.login-footer .register-prompt{margin-top:1rem}.login-footer .register-link,.register-link{color:var(--color-accent-primary);text-decoration:none;font-weight:500}.login-footer .register-link:hover,.register-link:hover{text-decoration:underline}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 480px){.form-row{grid-template-columns:1fr;gap:0}}.social-login-buttons{margin-top:1.5rem}.social-divider{display:flex;align-items:center;margin:1.5rem 0;color:var(--color-text-secondary)}.social-divider:before,.social-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.social-divider span{padding:0 1rem;font-size:.875rem;text-transform:uppercase}.btn-social{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.75rem 1rem;margin-bottom:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);color:var(--color-text-primary);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-social:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-text-muted)}.btn-social:disabled{opacity:.6;cursor:not-allowed}.btn-social svg{flex-shrink:0}.btn-google:hover:not(:disabled){border-color:#4285f4}.btn-apple:hover:not(:disabled){border-color:var(--color-text-primary)}.btn-facebook:hover:not(:disabled){border-color:#1877f2}.callback-card{text-align:center;background:var(--color-bg-card);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:400px;width:100%}.callback-card h2{margin:1rem 0 .5rem;font-size:1.5rem}.callback-card p{color:var(--color-text-secondary);margin-bottom:1rem}.callback-card.error{border:1px solid var(--color-error)}.callback-card.success{border:1px solid var(--color-success)}.callback-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:1.5rem;font-weight:700}.callback-icon.error-icon{background:#ef44441a;color:var(--color-error)}.callback-icon.success-icon{background:#10b9811a;color:var(--color-success)}.callback-card .error-message{color:var(--color-error);margin-bottom:1.5rem}.verify-email-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.verify-card{text-align:center;background:var(--color-bg-card);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:400px;width:100%}.verify-card h2{margin:1rem 0 .5rem;font-size:1.5rem}.verify-card p{color:var(--color-text-secondary);margin-bottom:1rem}.verify-card.error{border:1px solid var(--color-error)}.verify-card.success{border:1px solid var(--color-success)}.verify-card.info{border:1px solid var(--color-info)}.verify-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:1.5rem;font-weight:700}.verify-icon.error-icon{background:#ef44441a;color:var(--color-error)}.verify-icon.success-icon{background:#10b9811a;color:var(--color-success)}.verify-icon.info-icon{background:#3b82f61a;color:var(--color-info)}.verify-card .error-message{color:var(--color-error);margin-bottom:1.5rem}.verify-card .email-display{font-weight:500;color:var(--color-text-primary);background:var(--color-bg-secondary);padding:.5rem 1rem;border-radius:var(--radius-md);display:inline-block;margin-bottom:1.5rem}.verify-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.verify-card .help-text{font-size:.875rem;color:var(--color-text-muted);margin-top:1.5rem}.verification-info{text-align:center;padding:1rem 0}.verification-info .email-display{font-weight:600;font-size:1rem;color:var(--text-primary);background:var(--bg-tertiary);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.verification-info .help-text{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:.5rem}.verification-info .success-message{background:#66ffa61a;border:1px solid rgba(102,255,166,.3);padding:1rem;border-radius:8px;margin-bottom:1rem}.verification-info .success-message p{margin:0}.verification-info .success-message p:first-child{font-weight:600;font-size:1rem;margin-bottom:.5rem}.reset-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.reset-password-container{width:100%;max-width:400px}.reset-password-header{text-align:center;margin-bottom:2rem}.reset-password-header h1{font-size:1.75rem;margin-bottom:.5rem}.reset-password-header p{color:var(--text-secondary)}.reset-password-form{background:var(--bg-secondary);padding:1.5rem;border-radius:12px}.reset-password-form .btn-block{width:100%;margin-top:1rem}.reset-password-footer{text-align:center;margin-top:1.5rem;font-size:.85rem}.reset-password-footer a{color:var(--accent-primary);text-decoration:none}.reset-password-footer a:hover{text-decoration:underline}.reset-password-error,.reset-password-success{background:var(--bg-secondary);padding:2rem;border-radius:12px;text-align:center}.reset-password-error .error-icon,.reset-password-success .success-icon{margin-bottom:1rem}.reset-password-error .error-icon svg{color:var(--danger)}.reset-password-success .success-icon svg{color:var(--success)}.reset-password-error h2,.reset-password-success h2{font-size:1.25rem;margin-bottom:.5rem}.reset-password-error p,.reset-password-success p{color:var(--text-secondary);margin-bottom:1rem}.reset-password-success .redirect-notice{font-size:.85rem;opacity:.7}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}@media (min-width: 600px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{background:var(--color-bg-card, #ffffff);padding:var(--spacing-md);border-radius:12px;text-align:center;border:1px solid var(--color-border, #e0e0e0);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .08))}.stat-card.positive{border-left:3px solid var(--success)}.stat-card.negative{border-left:3px solid var(--danger)}.stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--accent-primary)}.stat-label{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--spacing-xs)}.signal-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.signal-card{display:block;background:var(--color-bg-card, #ffffff);padding:var(--spacing-md);border-radius:12px;border:1px solid var(--color-border, #e0e0e0);border-left:3px solid var(--text-secondary);text-decoration:none;color:inherit;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .08));transition:box-shadow .2s ease,transform .2s ease}.signal-card:hover{transform:translate(4px);text-decoration:none;box-shadow:var(--shadow-md, 0 4px 6px rgba(0, 0, 0, .1))}.signal-card.status-pending{border-left-color:var(--warning)}.signal-card.status-executed{border-left-color:var(--success)}.signal-card.status-skipped{border-left-color:var(--text-secondary)}.signal-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.signal-direction{font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.signal-direction.long,.direction.long{background:#4ecca333;color:var(--long)}.signal-direction.short,.direction.short{background:#e9456033;color:var(--short)}.signal-symbol{font-weight:var(--font-weight-semibold);flex:1}.signal-time{font-size:var(--font-size-xs);color:var(--text-secondary)}.signal-details{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:var(--font-size-sm);color:var(--color-text-secondary, #4a4a5a);padding-top:.5rem;border-top:1px solid var(--color-border-light, #e8e8eb)}.signal-footer{display:flex;justify-content:space-between;margin-top:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-secondary)}.signal-detail-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.signal-detail-header h2{flex:1;margin:0;display:flex;align-items:center;gap:.5rem}.age-badge{font-size:.8rem;padding:.25rem .5rem;border-radius:4px;background:var(--bg-card)}.age-badge.fresh{color:var(--success)}.age-badge.good{color:var(--warning)}.age-badge.old{color:orange}.age-badge.expired{color:var(--danger)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.info-card{background:var(--bg-card);padding:var(--spacing-md);border-radius:var(--radius-md)}.info-card.highlight{border:1px solid var(--accent-primary)}.info-card h4{margin-bottom:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm)}.info-row{display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm)}.sizing-card{background:var(--bg-secondary);border-radius:8px;padding:1rem;border:1px solid var(--bg-card)}.sizing-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--bg-card)}.sizing-details .sizing-row.main{font-size:1.05rem;font-weight:600;color:var(--text-primary);padding:.5rem 0;margin-bottom:.25rem;border-bottom:1px solid var(--bg-card)}.sizing-details .sizing-row .lots{color:var(--accent-primary);font-weight:700}.sizing-summary{margin-top:1rem;padding:1rem;background:var(--bg-card);border-radius:8px;border-left:3px solid var(--accent-primary)}.sizing-summary .summary-row{display:flex;justify-content:space-between;font-weight:600;padding:.25rem 0}.sizing-summary .summary-row:first-child{color:var(--accent-primary)}@media (max-width: 600px){.sizing-cards{grid-template-columns:1fr}}.sizing-explanation{margin:var(--spacing-md) 0;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-card);box-shadow:0 1px 3px #0000001a;overflow:hidden}.sizing-explanation.compact{margin:var(--spacing-sm) 0}.sizing-explanation-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:none;cursor:pointer;transition:background .15s ease;font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.sizing-explanation-header:hover{background:var(--bg-tertiary)}.sizing-explanation-header .header-title{display:flex;align-items:center;gap:var(--spacing-xs)}.sizing-explanation-header .chevron{font-size:var(--font-size-base);color:var(--text-muted);transition:transform .15s ease}.sizing-explanation-content{padding:var(--spacing-md);animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.calculation-step{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.calculation-step:last-child{border-bottom:none;margin-bottom:0}.step-header{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);color:var(--accent-primary);font-weight:600;font-size:var(--font-size-base)}.step-content{padding-left:calc(var(--spacing-md) + 1rem);color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.6}.formula{background:var(--bg-secondary);padding:var(--spacing-sm);border-radius:var(--radius-sm);font-family:Courier New,Consolas,monospace;font-size:var(--font-size-sm);color:var(--text-primary);margin:var(--spacing-xs) 0;overflow-x:auto}.formula-line{margin:var(--spacing-xs) 0}.formula-result{font-weight:700;color:var(--accent-primary)}.info-item{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0}.info-item .label{color:var(--text-secondary)}.info-item .value{font-weight:500;color:var(--text-primary)}.result-highlight{background:#10b9811a;border:1px solid var(--success);border-radius:var(--radius-sm);padding:var(--spacing-md);margin-top:var(--spacing-sm)}.result-highlight .info-item .value{color:var(--success);font-weight:700}.dynamic-note{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:#3b82f61a;border-left:2px solid var(--info);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--info)}.sizing-explanation.compact .sizing-explanation-header{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.sizing-explanation.compact .sizing-explanation-content{padding:var(--spacing-sm)}.sizing-explanation.compact .calculation-step{margin-bottom:var(--spacing-md)}.sizing-explanation.compact .step-header{font-size:var(--font-size-sm)}@media (max-width: 600px){.sizing-explanation-content{padding:var(--spacing-sm)}.formula{font-size:var(--font-size-xs)}.step-content{padding-left:var(--spacing-md)}}.execution-section{background:var(--bg-secondary);padding:1.5rem;border-radius:12px;margin-top:1rem}.execution-options{display:flex;flex-direction:column;gap:1rem;margin:1rem 0}.execution-option{background:var(--bg-card);padding:1rem;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:border-color .2s}.execution-option.selected{border-color:var(--accent-primary)}.option-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.option-header h4{margin:0}.option-details{font-size:.9rem}.detail-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.detail-row.highlight{color:var(--accent-primary);font-weight:600}.detail-row input{width:120px;padding:.5rem;text-align:right}.action-buttons{display:flex;gap:1rem;margin-top:1.5rem}.action-buttons .btn{flex:1}.settings-section{background:var(--bg-secondary);padding:1.5rem;border-radius:12px;margin-bottom:1rem}.settings-section h3{margin-bottom:1rem}.connection-status{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-card);border-radius:8px}.connection-status.connected{border-left:3px solid var(--success)}.connection-status.disconnected{border-left:3px solid var(--danger)}.status-icon{font-size:1.5rem}.status-info{flex:1}.status-info h4{margin-bottom:.25rem}.status-info p{font-size:.85rem;color:var(--text-secondary)}.connect-form{margin-top:1rem}.connect-form small{display:block;margin-top:.5rem;font-size:.8rem;color:var(--text-secondary)}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--bg-card)}.setting-info h4{margin-bottom:.25rem}.setting-info p{font-size:.85rem;color:var(--text-secondary)}.privacy-info{background:var(--bg-card);padding:1rem;border-radius:8px;margin-bottom:1rem}.privacy-info ul{margin-left:1.5rem;margin-top:.5rem}.privacy-info li{margin-bottom:.25rem;font-size:.9rem}.toggle{position:relative;display:inline-block;width:50px;height:28px}.toggle input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-card);transition:.3s;border-radius:28px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.slider{background-color:var(--accent-primary)}input:checked+.slider:before{transform:translate(22px)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.filter-tabs,.time-filter{display:flex;gap:.5rem}.filter-tabs button,.time-filter button{padding:.5rem 1rem;background:var(--bg-card);border:none;border-radius:20px;color:var(--text-secondary);cursor:pointer;font-size:.85rem}.filter-tabs button.active,.time-filter button.active{background:var(--accent-primary);color:var(--bg-primary)}.report-section{background:var(--bg-secondary);padding:1.5rem;border-radius:12px;margin-bottom:1rem}.report-table{width:100%;border-collapse:collapse}.report-table th,.report-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--bg-card)}.report-table th{font-size:.8rem;color:var(--text-secondary);font-weight:500}.report-table td.positive{color:var(--success)}.report-table td.negative{color:var(--danger)}.report-table .account-badge{display:inline-block;padding:.2rem .4rem;border-radius:4px;font-size:.75rem;font-weight:500}.report-table .account-badge.demo{background:#ffc10733;color:#ffc107}.report-table .account-badge.live{background:#4caf5033;color:#4caf50}.report-table .status-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.report-table .status-badge.executed{background:#4ecca333;color:var(--success)}.report-table .status-badge.failed{background:#e9456033;color:var(--danger)}.report-table .execution-row{background:#4ecca30d}.privacy-note{text-align:center;font-size:.8rem;color:var(--text-secondary);margin-top:1.5rem}.loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary)}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.spinner{width:40px;height:40px;border:3px solid var(--bg-card);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:2rem;color:var(--text-secondary)}.error-message{background:#e945601a;color:var(--danger);padding:1rem;border-radius:8px;margin-bottom:1rem}.alert{padding:1rem;border-radius:8px;margin-bottom:1rem}.alert-warning{background:#ffc1071a;border-left:3px solid var(--warning)}.alert-error{background:#ef444426;border-left:4px solid var(--color-error);color:var(--color-error);font-weight:600}.alert h3{margin-bottom:.5rem}.text-muted{color:var(--text-secondary)}.text-warning{color:var(--warning)}.positive{color:var(--success)}.negative{color:var(--danger)}.pnl-positive{color:var(--success)}.pnl-negative{color:var(--danger)}.position-pnl{margin-left:auto;font-weight:600;font-size:.9rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.refresh-info{display:flex;align-items:center;gap:.75rem}.last-update{font-size:.75rem;color:var(--text-secondary)}.signal-type-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;margin-right:.5rem}.signal-type-badge.sl-update{background:#ffc10733;color:var(--warning)}.signal-type-badge.close{background:#e9456033;color:var(--danger)}.sl-update-card{background:var(--bg-card);border-left:3px solid var(--warning)}.sl-comparison{display:flex;align-items:center;gap:1rem;padding:1rem 0;margin:.5rem 0;border-top:1px solid var(--bg-secondary);border-bottom:1px solid var(--bg-secondary)}.sl-item{flex:1;text-align:center}.sl-item .label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem}.sl-item .value{font-size:1.1rem;font-weight:600}.sl-item.old .value{color:var(--text-secondary);text-decoration:line-through}.sl-item.new .value{color:var(--accent-primary)}.sl-arrow{font-size:1.5rem;color:var(--text-secondary)}.auto-trading-section .setting-item.account-selection{flex-direction:column;align-items:stretch}.auto-trading-section .setting-item.account-selection .setting-info{margin-bottom:1rem}.risk-input-group{display:flex;align-items:center;gap:.5rem}.risk-input{width:70px;padding:.5rem;border:1px solid var(--bg-secondary);border-radius:4px;background:var(--bg-card);color:var(--text-primary);font-size:1rem;text-align:center}.risk-input:focus{outline:none;border-color:var(--accent-primary)}.risk-unit{color:var(--text-secondary);font-size:.9rem}.auto-trading-env-section{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;margin-top:1rem}.auto-trading-env-section.demo{border-left:3px solid var(--color-demo)}.auto-trading-env-section.live{border-left:3px solid var(--color-live)}.auto-trading-env-section .setting-item{margin-bottom:0}.env-indicator{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.5rem}.env-indicator.demo{background-color:var(--color-demo)}.env-indicator.live{background-color:var(--color-live)}.env-accounts{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border-light)}.env-accounts-header{font-size:.85rem;color:var(--text-secondary);margin-bottom:.75rem}.account-list.compact{display:flex;flex-direction:column;gap:.5rem}.account-list.compact .account-checkbox{padding:.5rem .75rem}.alert.compact{padding:.5rem .75rem;margin-bottom:.75rem;font-size:.85rem}.alert.compact p{margin:0}.env-info.active{background:var(--color-success);color:#fff;border-color:var(--color-success)}.account-list{display:flex;flex-direction:column;gap:.5rem;max-height:250px;overflow-y:auto}.account-checkbox{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border-radius:8px;cursor:pointer;transition:all var(--transition-base);border:2px solid transparent}.account-checkbox:hover{background:var(--bg-tertiary)}.account-checkbox.selected{border-color:var(--accent-primary);background:#4ecca31a}.account-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-primary)}.account-checkbox .account-info{flex:1;display:flex;align-items:center;gap:.5rem}.account-checkbox .account-name{font-weight:500}.account-checkbox .env-badge{padding:.125rem .375rem;border-radius:4px;font-size:.65rem;font-weight:700}.account-checkbox .env-badge.demo{background:#4ecca333;color:var(--accent-primary)}.account-checkbox .env-badge.live{background:#e9456033;color:var(--danger)}.account-checkbox .account-equity{font-size:.9rem;color:var(--text-secondary)}.loading-inline{color:var(--text-secondary);font-style:italic;padding:1rem}.live-confirm-content{text-align:center}.live-confirm-content p{margin-bottom:1rem}.confirm-input-group{margin-top:1.5rem}.confirm-input-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary)}.confirm-input-group input{width:100%;padding:.75rem;border:2px solid var(--danger);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:1.2rem;text-align:center;text-transform:uppercase;letter-spacing:.1em}.confirm-input-group input:focus{outline:none;border-color:var(--danger);box-shadow:0 0 0 3px #e9456033}.alert{padding:1rem;border-radius:8px;margin:1rem 0}.alert-warning{background:#ffc1071a;border:1px solid var(--warning);color:var(--warning)}.alert-danger{background:#e945601a;border:1px solid var(--danger);color:var(--danger)}.alert-info{background:#4ecca31a;border:1px solid var(--accent-primary);color:var(--accent-primary)}.alert strong{display:block;margin-bottom:.5rem}.highlight-row{background:#4ecca31a;padding:.5rem;border-radius:4px;margin:.5rem 0}.old-value{color:var(--text-secondary);text-decoration:line-through}.new-value{color:var(--accent-primary);font-weight:600}.status-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.status-badge.pending{background:#ffc10733;color:var(--warning)}.status-badge.executed{background:#4ecca333;color:var(--success)}.status-badge.skipped{background:#8883;color:var(--text-secondary)}hr{border:none;border-top:1px solid var(--bg-card);margin:.75rem 0}.oauth-callback-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.callback-card{background:var(--bg-secondary);padding:2rem;border-radius:12px;text-align:center;max-width:400px;width:100%}.callback-card .icon{font-size:3rem;margin-bottom:1rem}.callback-card h2{margin-bottom:.5rem}.callback-card p{color:var(--text-secondary);margin-bottom:1rem}.callback-card.error{border-left:4px solid var(--danger)}.callback-card.success{border-left:4px solid var(--success)}.callback-card .error-message{margin-bottom:1.5rem}.account-list{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0;text-align:left}.account-option{display:block;width:100%;padding:1rem;background:var(--bg-card);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.account-option:hover{border-color:var(--accent-primary)}.account-option .account-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.account-option .account-id{font-weight:600}.account-option .account-type{font-size:.75rem;padding:.125rem .5rem;border-radius:4px}.account-type.demo{background:#00d9ff33;color:var(--accent-secondary)}.account-type.live{background:#e9456033;color:var(--danger)}.account-option .broker-name{font-size:.8rem;color:var(--text-secondary)}.credentials-section{margin-top:1rem}.credentials-form{background:var(--bg-card);padding:1rem;border-radius:8px;margin:1rem 0}.credentials-form .help-text{font-size:.8rem;color:var(--text-secondary);margin:.5rem 0}.credentials-form code{background:var(--bg-primary);padding:.25rem .5rem;border-radius:4px;font-size:.75rem;word-break:break-all}.env-badge{display:inline-block;font-size:.75rem;padding:.125rem .5rem;border-radius:4px;font-weight:600}.env-badge.demo{background:#00d9ff33;color:var(--accent-secondary)}.env-badge.live{background:#e9456033;color:var(--danger)}.error-banner{background:#e945601a;color:var(--danger);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.error-banner .close-btn{background:none;border:none;color:var(--danger);cursor:pointer;font-size:1.25rem;padding:0 .5rem}.advanced-settings{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--bg-card)}.setting-item.danger{border-color:var(--danger)}.quick-trade-page{padding:1rem;max-width:600px;margin:0 auto}.quick-trade-page .page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.quick-trade-page .page-header h2{margin:0}.quick-trade-page .account-bar{display:flex;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-card);border-radius:8px;margin-bottom:1rem}.quick-trade-page .form-section{margin-bottom:1.25rem}.quick-trade-page .form-section label{display:block;color:var(--text-secondary);font-size:.85rem;margin-bottom:.5rem}.quick-trade-page .symbol-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.quick-trade-page .symbol-grid.favorites{margin-bottom:.75rem}.quick-trade-page .symbol-btn{position:relative;padding:.5rem 1.75rem .5rem .75rem;background:var(--bg-secondary);border:1px solid var(--bg-card);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.85rem;transition:all .2s}.quick-trade-page .symbol-btn:hover{border-color:var(--accent-primary)}.quick-trade-page .symbol-btn.selected{background:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary)}.quick-trade-page .symbol-btn .favorite-star{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);color:gold;font-size:.75rem;opacity:.7;transition:opacity .2s}.quick-trade-page .symbol-btn:hover .favorite-star{opacity:1}.quick-trade-page .symbol-btn.selected .favorite-star{color:var(--bg-primary)}.quick-trade-page .symbol-search-wrapper{position:relative;margin-bottom:.5rem}.quick-trade-page .symbol-input{width:100%;padding:.5rem;background:var(--bg-secondary);border:1px solid var(--bg-card);border-radius:6px;color:var(--text-primary);font-size:.9rem}.quick-trade-page .symbol-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border:1px solid var(--bg-card);border-radius:6px;max-height:240px;overflow-y:auto;z-index:100;margin-top:2px;box-shadow:0 4px 12px #0000004d}.quick-trade-page .symbol-dropdown-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--bg-card);transition:background .15s}.quick-trade-page .symbol-dropdown-item:last-child{border-bottom:none}.quick-trade-page .symbol-dropdown-item:hover{background:var(--bg-card)}.quick-trade-page .symbol-dropdown-item .add-favorite{color:var(--accent-primary);font-size:.8rem;opacity:.7;transition:opacity .15s}.quick-trade-page .symbol-dropdown-item:hover .add-favorite{opacity:1}.quick-trade-page .current-symbol{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#4ecca31a;border-radius:6px;font-size:.9rem;color:var(--text-secondary)}.quick-trade-page .current-symbol strong{color:var(--accent-primary)}.quick-trade-page .direction-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.quick-trade-page .direction-btn{padding:1rem;border:2px solid var(--bg-card);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.quick-trade-page .direction-btn.long:hover,.quick-trade-page .direction-btn.long.selected{border-color:var(--long);background:#4ecca31a}.quick-trade-page .direction-btn.short:hover,.quick-trade-page .direction-btn.short.selected{border-color:var(--short);background:#e945601a}.quick-trade-page .price-display{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:8px;margin-bottom:1rem;position:relative}.quick-trade-page .price-item{text-align:center}.quick-trade-page .price-item .label{display:block;font-size:.75rem;color:var(--text-secondary)}.quick-trade-page .price-item .value{font-size:1.1rem;font-weight:600}.quick-trade-page .price-item.spread .value{color:var(--text-secondary)}.quick-trade-page .loading-dot{position:absolute;right:.5rem;top:.5rem;color:var(--accent-primary);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.quick-trade-page .risk-slider{width:100%;margin-bottom:.5rem}.quick-trade-page .risk-presets{display:flex;gap:.5rem}.quick-trade-page .preset-btn{padding:.35rem .75rem;background:var(--bg-secondary);border:1px solid var(--bg-card);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:.8rem}.quick-trade-page .preset-btn.selected{background:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary)}.quick-trade-page .sl-input,.quick-trade-page .limit-input{width:100%;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--bg-card);border-radius:6px;color:var(--text-primary);font-size:1rem;margin-bottom:.5rem}.quick-trade-page .sl-suggestions{display:flex;flex-wrap:wrap;gap:.5rem}.quick-trade-page .suggestion-btn{padding:.35rem .6rem;background:var(--bg-card);border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.75rem}.quick-trade-page .suggestion-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.quick-trade-page .execution-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.5rem}.quick-trade-page .toggle-btn{padding:.6rem;background:var(--bg-secondary);border:1px solid var(--bg-card);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.85rem}.quick-trade-page .toggle-btn.selected{border-color:var(--accent-primary);background:#4ecca31a}.quick-trade-page .sizing-preview{background:var(--bg-card);border-radius:8px;padding:1rem;margin-bottom:1rem}.quick-trade-page .sizing-row{display:flex;justify-content:space-between;padding:.35rem 0;color:var(--text-secondary);font-size:.9rem}.quick-trade-page .sizing-row.main{font-size:1rem;color:var(--text-primary);padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid var(--bg-secondary)}.quick-trade-page .sizing-row .lots{font-weight:700;color:var(--accent-primary)}.quick-trade-page .sizing-error{background:#e945601a;border:1px solid var(--danger);border-radius:8px;padding:1rem;margin-bottom:1rem;color:var(--danger);text-align:center}.quick-trade-page .btn-execute{width:100%;padding:1rem;font-size:1.1rem;margin-top:1rem}.positions-list{display:flex;flex-direction:column;gap:.75rem}.position-card{background:var(--color-bg-card, #ffffff);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--color-border, #e0e0e0);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .08));transition:box-shadow .2s ease,transform .2s ease}.position-card:hover{box-shadow:var(--shadow-md, 0 4px 6px rgba(0, 0, 0, .1))}.position-header{display:flex;align-items:center;gap:.5rem}.position-direction{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:700;text-transform:uppercase}.position-direction.long{background:#4caf5033;color:#4caf50}.position-direction.short{background:#f4433633;color:#f44336}.position-symbol{font-weight:700;font-size:1.1rem}.position-volume{margin-left:auto;color:var(--text-secondary)}.position-details{display:flex;flex-wrap:wrap;gap:.75rem 1rem;font-size:.85rem;color:var(--color-text-secondary, #4a4a5a);padding-top:.5rem;border-top:1px solid var(--color-border-light, #e8e8eb)}.position-card .btn-danger{align-self:flex-end;margin-top:.5rem}.btn-sm{padding:.25rem .75rem;font-size:.85rem}.btn-danger{background:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-danger:hover{background:#d32f2f}.btn-danger:disabled{background:#999;cursor:not-allowed}.admin-section{border-top:2px solid var(--warning)}.admin-notice{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem}.admin-signal-groups{margin-top:1rem}.signal-group-config{background:var(--bg-card);border-radius:8px;padding:1rem;margin-bottom:1rem}.signal-group-config.demo{border-left:3px solid var(--accent-secondary)}.signal-group-config.live{border-left:3px solid var(--danger)}.group-label{margin-bottom:1rem;font-size:.95rem}.group-label.demo-label{color:var(--accent-secondary)}.group-label.live-label{color:var(--danger)}.config-field{margin-bottom:.75rem}.config-field label{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:.25rem}.config-field input{width:100%;padding:.6rem;background:var(--bg-secondary);border:1px solid var(--bg-primary);border-radius:6px;color:var(--text-primary);font-size:.9rem}.config-field input:focus{outline:none;border-color:var(--accent-primary)}.input-with-button{display:flex;gap:.5rem}.input-with-button input{flex:1}.input-with-button .btn{flex-shrink:0}.save-btn{width:100%;margin-top:.5rem}.success-banner{background:#4ecca326;color:var(--success);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;border-left:3px solid var(--success)}.modal-content{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;max-width:400px;width:100%;max-height:80vh;overflow-y:auto}.modal-content h3{margin-bottom:.5rem}.modal-subtitle{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem}.search-results{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.search-result-item{background:var(--bg-card);padding:.75rem;border-radius:6px;cursor:pointer;transition:all .2s;border:2px solid transparent}.search-result-item:hover{border-color:var(--accent-primary)}.search-result-item .group-name{display:block;font-weight:600;margin-bottom:.25rem}.search-result-item .group-id{display:block;font-size:.75rem;color:var(--text-secondary);word-break:break-all}.modal-close{width:100%}.account-select-section{margin-top:1rem}.account-select-section h4{margin-bottom:.75rem}.account-item{display:flex;align-items:center;justify-content:space-between;background:var(--bg-card);padding:.75rem 1rem;border-radius:8px;margin-bottom:.5rem}.account-item .account-info{display:flex;align-items:center;gap:.75rem}.account-item .account-id{font-weight:500}.account-item .broker{font-size:.8rem;color:var(--text-secondary)}.account-selection{margin-top:1.5rem}.account-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.account-selection-header h4{margin:0}.loading-indicator{font-size:.85rem;color:var(--text-secondary)}.account-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.account-table th,.account-table td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid var(--bg-card)}.account-table th{font-size:.75rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase}.account-table tbody tr{transition:background .2s}.account-table tbody tr:hover:not(.disabled){background:#4ecca30d}.account-table tbody tr.selected{background:#4ecca31a}.account-table tbody tr.disabled{opacity:.5}.account-table input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary)}.account-table input[type=checkbox]:disabled{cursor:not-allowed}.account-name{font-weight:500}.lots-cell{font-weight:600;color:var(--accent-primary)}.risk-cell{color:var(--text-secondary)}.selection-summary{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-card);border-radius:8px;font-size:.9rem}.total-risk{font-weight:600;color:var(--accent-primary)}.execution-type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.execution-type-toggle .toggle-btn{padding:.75rem;background:var(--bg-card);border:2px solid transparent;border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:.9rem;transition:all .2s}.execution-type-toggle .toggle-btn:hover{border-color:var(--bg-secondary)}.execution-type-toggle .toggle-btn.selected{border-color:var(--accent-primary);background:#4ecca31a}.limit-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.limit-inputs .input-group{display:flex;flex-direction:column;gap:.25rem}.limit-inputs label{font-size:.85rem;color:var(--text-secondary)}.limit-inputs input{padding:.75rem;background:var(--bg-card);border:1px solid var(--bg-secondary);border-radius:6px;color:var(--text-primary);font-size:1rem}.execution-progress{margin:1.5rem 0;text-align:center}.progress-bar{width:100%;height:8px;background:var(--bg-card);border-radius:4px;overflow:hidden;margin-bottom:.75rem}.progress-fill{height:100%;background:var(--accent-primary);transition:width .3s ease-out;border-radius:4px}.execution-progress p{font-size:.9rem;color:var(--text-secondary)}.execution-results{margin-top:1.5rem}.execution-results h4{margin-bottom:1rem}.result-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-card);border-radius:8px;margin-bottom:.5rem;flex-wrap:wrap}.result-item.success{border-left:3px solid var(--success)}.result-item.error{border-left:3px solid var(--danger)}.result-account{font-weight:500}.result-status{font-size:.9rem}.result-item.success .result-status{color:var(--success)}.result-item.error .result-status{color:var(--danger)}.result-details{margin-left:auto;font-size:.85rem;color:var(--text-secondary)}.execution-results .btn{margin-top:1rem;width:100%}@media (max-width: 600px){.account-table th:nth-child(3),.account-table td:nth-child(3){display:none}.account-table th,.account-table td{padding:.5rem .25rem;font-size:.85rem}.limit-inputs{grid-template-columns:1fr}.result-item{flex-direction:column;align-items:flex-start;gap:.5rem}.result-details{margin-left:0}}.accounts-overview{margin-top:1rem}.account-group{margin-bottom:1.5rem}.account-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.account-card{background:var(--bg-card);border-radius:8px;padding:1rem;position:relative;border-left:3px solid var(--text-secondary);transition:transform .2s}.account-card:hover{transform:translateY(-2px)}.account-card.connected{border-left-color:var(--success)}.account-card.disconnected{opacity:.6;border-left-color:var(--danger)}.account-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.account-broker{font-weight:500;font-size:.9rem}.account-card-id{font-size:.75rem;color:var(--text-secondary);margin-bottom:.75rem}.account-card-equity{display:flex;align-items:baseline;gap:.25rem}.equity-value{font-size:1.25rem;font-weight:600;color:var(--accent-primary)}.equity-currency{font-size:.85rem;color:var(--text-secondary)}.account-card-error{font-size:.8rem;color:var(--danger)}.account-card-badge{position:absolute;top:-6px;right:8px;background:var(--accent-primary);color:var(--bg-primary);font-size:.65rem;font-weight:600;padding:.15rem .4rem;border-radius:4px;text-transform:uppercase}.equity-summary{background:var(--bg-card);border-radius:8px;padding:1rem;margin-top:1rem}.equity-summary-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9rem}.equity-summary-row:first-child{border-bottom:1px solid var(--bg-secondary)}.equity-summary-row span:last-child{font-weight:600}@media (max-width: 480px){.account-cards{grid-template-columns:1fr}}.bot-controls{padding:.5rem 0}.bot-controls-loading{text-align:center;padding:1rem;color:var(--text-secondary)}.bot-error-banner{background:#e945601a;border:1px solid var(--danger);color:var(--danger);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.bot-error-banner .close-btn{background:none;border:none;color:var(--danger);cursor:pointer;font-size:1.2rem;padding:0;line-height:1}.bot-status-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.bot-status-indicator{display:flex;align-items:center;gap:.75rem}.status-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.status-dot.status-running{background:var(--success);box-shadow:0 0 8px var(--success)}.status-dot.status-stopped{background:var(--danger)}.status-dot.status-pending{background:#f0ad4e;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.status-text{font-size:1.1rem;font-weight:600}.bot-actions{display:flex;gap:.5rem;flex-wrap:wrap}.bot-actions .btn{padding:.5rem 1rem;font-size:.9rem}.bot-status-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem;padding:1rem;background:var(--bg-card);border-radius:8px}.bot-stat{display:flex;flex-direction:column;gap:.25rem}.bot-stat .stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.bot-stat .stat-value{font-size:.95rem;font-weight:500}.bot-stat .stat-value.connected{color:var(--success)}.bot-stat .stat-value.disconnected{color:var(--danger)}.bot-last-error{background:#e945601a;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.bot-last-error .error-label{color:var(--danger);font-weight:500;margin-right:.5rem}.bot-last-error .error-message{color:var(--text-secondary)}.bot-config-info{padding:.75rem 1rem;background:var(--bg-card);border-radius:8px;font-size:.85rem}.config-item{display:flex;justify-content:space-between;padding:.25rem 0}.config-item:not(:last-child){border-bottom:1px solid var(--bg-secondary)}.config-label{color:var(--text-secondary)}.config-value{font-weight:500}@media (max-width: 480px){.bot-status-header{flex-direction:column;align-items:flex-start}.bot-actions{width:100%}.bot-actions .btn{flex:1}.bot-status-details{grid-template-columns:1fr 1fr}}.account-nav{background:var(--bg-card);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;position:sticky;top:0;z-index:10}.account-nav-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.nav-label{font-weight:600;color:var(--text-secondary);font-size:.85rem}.account-nav-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.account-nav-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:var(--bg-secondary);border:1px solid transparent;border-radius:20px;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:all .2s}.account-nav-btn:hover{background:var(--bg-primary);border-color:var(--accent-primary)}.account-nav-btn.active{background:var(--accent-primary);color:var(--bg-primary)}.account-nav-btn.live{border-color:#e945604d}.account-nav-btn.demo{border-color:#4ecca34d}.env-badge-small{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:.7rem;font-weight:700;border-radius:4px}.env-badge-small.live{background:var(--danger);color:#fff}.env-badge-small.demo{background:var(--accent-primary);color:var(--bg-primary)}.account-nav-btn .account-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-nav-btn .pos-count{background:var(--accent-secondary);color:var(--bg-primary);padding:.1rem .4rem;border-radius:10px;font-size:.75rem;font-weight:600;min-width:20px;text-align:center}.account-nav-btn .account-equity-small{color:var(--text-muted);font-size:.75rem;font-weight:500}.accounts-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.account-section{background:var(--color-bg-card, #ffffff);border-radius:12px;overflow:hidden;scroll-margin-top:80px;border:1px solid var(--color-border, #e0e0e0);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .08));margin-bottom:1rem}.account-section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--color-bg-secondary, #f5f7fa);border-bottom:1px solid var(--color-border-light, #e8e8eb)}.account-title{display:flex;align-items:center;gap:.75rem}.account-title h3{margin:0;font-size:1rem}.account-title .header-equity{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-left:.5rem}.account-stats{display:flex;align-items:center;gap:1rem}.account-stats .equity{font-weight:600;color:var(--text-primary)}.account-stats .pnl{font-weight:600;padding:.2rem .5rem;border-radius:4px}.account-stats .pnl.pnl-positive{background:#4ecca333}.account-stats .pnl.pnl-negative{background:#e9456033}.close-all-btn{margin-left:auto;font-size:.75rem;padding:.25rem .6rem;white-space:nowrap}.close-all-btn:disabled{opacity:.5;cursor:not-allowed}.account-error{color:var(--danger);font-size:.85rem}.account-positions{padding:1rem}.loading-inline,.error-inline,.empty-state-inline{text-align:center;padding:1rem;color:var(--text-secondary);font-size:.9rem}.error-inline{color:var(--danger)}.refresh-info{display:flex;align-items:center;gap:.5rem}.last-update{color:var(--text-secondary);font-size:.8rem}.dashboard-page .section{margin-top:1rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.dashboard-header h2{margin:0}.realtime-status{display:flex;align-items:center;gap:.5rem}.ws-indicator{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.ws-indicator.connected{color:var(--success);background:#4ecca31a}.ws-indicator.disconnected{color:var(--text-secondary);background:var(--bg-secondary)}@media (max-width: 600px){.account-nav{position:relative}.account-nav-buttons{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.account-nav-btn{flex-shrink:0}.account-section-header{flex-direction:column;align-items:flex-start;gap:.5rem}.account-stats{width:100%;justify-content:space-between}}.sizing-breakdown{margin:1.5rem 0}.sizing-breakdown h3{margin-bottom:1rem;color:var(--text-secondary);font-size:1rem}.sizing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.sizing-card{background:var(--bg-card);border-radius:8px;padding:1rem;border:1px solid var(--bg-secondary)}.sizing-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--bg-secondary)}.sizing-card-header .account-name{font-weight:500;font-size:.95rem}.sizing-details .sizing-row{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.9rem;color:var(--text-secondary)}.sizing-details .sizing-row.main{font-size:1.05rem;font-weight:600;color:var(--text-primary);padding:.5rem 0;margin-bottom:.25rem;border-bottom:1px solid var(--bg-secondary)}.sizing-details .sizing-row.main .lots{color:var(--accent-primary)}.sizing-summary{margin-top:1rem;padding:1rem;background:var(--bg-card);border-radius:8px;border:2px solid var(--accent-primary)}.sizing-summary .summary-row{display:flex;justify-content:space-between;padding:.35rem 0;font-weight:600;font-size:.95rem}.sizing-summary .summary-row:first-child{padding-bottom:.5rem;margin-bottom:.35rem;border-bottom:1px solid var(--bg-secondary)}.sizing-summary .summary-row span:last-child{color:var(--accent-primary)}@media (max-width: 600px){.sizing-cards{grid-template-columns:1fr}.sizing-card{padding:.75rem}.sizing-details .sizing-row{font-size:.85rem}.sizing-details .sizing-row.main{font-size:1rem}}.filter-row{margin-top:1rem}.filter-row.secondary{display:flex;gap:1rem;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{font-size:.75rem;color:var(--text-secondary)}.filter-select{padding:.5rem 1rem;background:var(--bg-card);border:1px solid var(--bg-secondary);border-radius:8px;color:var(--text-primary);font-size:.9rem;min-width:140px;cursor:pointer}.filter-select:focus{outline:none;border-color:var(--accent-primary)}.stat-sub-value{font-size:.7rem;color:var(--text-secondary);margin-top:.125rem}.trade-count{font-size:.85rem;color:var(--text-secondary);padding:.25rem .75rem;background:var(--bg-card);border-radius:12px}.trade-win td{background:#4ecca30d}.trade-loss td{background:#e945600d}.stats-grid.secondary{margin-top:.75rem;margin-bottom:1.5rem}.stats-grid.secondary .stat-card{background:var(--bg-secondary)}.extreme-trades{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}@media (max-width: 480px){.extreme-trades{grid-template-columns:1fr}}.extreme-trade{padding:1rem;border-radius:8px;background:var(--bg-secondary)}.extreme-trade h4{margin-bottom:.5rem;color:var(--text-secondary);font-size:.85rem;font-weight:500}.extreme-trade.best{border-left:3px solid var(--success)}.extreme-trade.worst{border-left:3px solid var(--danger)}.extreme-trade .trade-info{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.extreme-trade .trade-info .symbol{font-weight:600;font-size:1rem}.extreme-trade .trade-pnl{font-size:1.25rem;font-weight:700}.extreme-trade .trade-pnl.positive{color:var(--success)}.extreme-trade .trade-pnl.negative{color:var(--danger)}.equity-section{padding:1.5rem}.equity-curve-container{position:relative;background:var(--bg-card);border-radius:8px;padding:.5rem}.equity-curve-svg{width:100%;height:auto;min-height:200px}.equity-data-point{cursor:pointer}.empty-chart{padding:2rem;text-align:center;color:var(--text-secondary);background:var(--bg-card);border-radius:8px}.equity-tooltip{position:absolute;transform:translate(-50%,-120%);background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:12px;white-space:nowrap;box-shadow:0 4px 16px #0006;z-index:100;pointer-events:none;animation:tooltipFadeIn .15s ease}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%,-110%)}to{opacity:1;transform:translate(-50%,-120%)}}.equity-tooltip .tooltip-date{color:var(--text-secondary);font-size:11px;margin-bottom:6px}.equity-tooltip .tooltip-trade{display:flex;align-items:center;gap:6px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border)}.equity-tooltip .tooltip-trade .direction{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase}.equity-tooltip .tooltip-trade .direction.long{background:#4ecca333;color:#4ecca3}.equity-tooltip .tooltip-trade .direction.short{background:#e9456033;color:#e94560}.equity-tooltip .tooltip-trade .symbol{font-weight:600;color:var(--text-primary)}.equity-tooltip .tooltip-row{display:flex;justify-content:space-between;gap:16px;margin-top:4px}.equity-tooltip .tooltip-row span:first-child{color:var(--text-secondary)}.equity-tooltip .tooltip-row .positive{color:#4ecca3;font-weight:600}.equity-tooltip .tooltip-row .negative{color:#e94560;font-weight:600}.stat-value.positive{color:var(--success)}.stat-value.negative{color:var(--danger)}.close-signal-page{padding:1rem;max-width:800px;margin:0 auto}.close-card{background:var(--bg-card);border-left:3px solid var(--danger)}.close-section{background:var(--bg-secondary);padding:1.5rem;border-radius:12px;margin-top:1rem}.close-instructions{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.positions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.positions-header h3{margin:0}.close-positions-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.close-position-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--bg-card);border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .2s}.close-position-item:hover{border-color:var(--bg-secondary)}.close-position-item.selected{border-color:var(--danger);background:#e945601a}.close-position-item input[type=checkbox]{width:20px;height:20px;margin-top:.25rem;accent-color:var(--danger);cursor:pointer}.close-position-item .position-info{flex:1}.close-position-item .position-main{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.close-position-item .position-symbol{font-weight:600;font-size:1rem}.close-position-item .position-volume{color:var(--text-secondary);font-size:.9rem}.close-position-item .position-meta{display:flex;gap:1rem;font-size:.85rem;color:var(--text-secondary);flex-wrap:wrap}.close-results{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--bg-card)}.close-results h4{margin-bottom:1rem}.close-results .result-item{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;background:var(--bg-card);border-radius:6px;margin-bottom:.5rem}.close-results .result-item.success{border-left:3px solid var(--success)}.close-results .result-item.error{border-left:3px solid var(--danger)}.close-results .result-position{font-weight:500}.close-results .result-status{font-size:.9rem}.close-results .result-item.success .result-status{color:var(--success)}.close-results .result-item.error .result-status{color:var(--danger)}.alert-info{background:#00d9ff1a;border-left:3px solid var(--accent-secondary);color:var(--text-primary)}.alert-info h4{margin-bottom:.5rem;color:var(--accent-secondary)}.alert-info p{color:var(--text-secondary)}.status-info{background:var(--bg-secondary);padding:1.5rem;border-radius:12px;margin-top:1rem;text-align:center}.status-info p{margin-bottom:1rem;color:var(--text-secondary)}@media (max-width: 600px){.close-position-item{flex-direction:row;align-items:flex-start}.close-position-item .position-meta{flex-direction:column;gap:.25rem}.positions-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.trade-notes-section{margin:1rem 0}.trade-notes-section label{display:block;margin-bottom:.5rem;font-size:.9rem;color:var(--text-secondary)}.trade-notes-input{width:100%;padding:.75rem;background:var(--bg-card);border:1px solid var(--bg-secondary);border-radius:8px;color:var(--text-primary);font-size:.9rem;resize:vertical;min-height:60px;font-family:inherit}.trade-notes-input:focus{outline:none;border-color:var(--accent-primary)}.trade-notes-input::placeholder{color:var(--text-muted)}.past-executions{margin-top:1.5rem}.past-executions h4{margin-bottom:1rem;color:var(--text-primary)}.execution-card{background:var(--bg-card);border:1px solid var(--bg-secondary);border-radius:8px;padding:1rem;margin-bottom:.75rem}.execution-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.execution-header .account-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.execution-header .account-badge.live{background:#ef444433;color:#ef4444}.execution-header .account-badge.demo{background:#22c55e33;color:#22c55e}.execution-header .account-name{color:var(--text-secondary);font-size:.9rem}.execution-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem}.execution-details .detail-row{display:flex;justify-content:space-between;font-size:.85rem}.execution-details .detail-row span:first-child{color:var(--text-secondary)}.execution-notes{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--bg-secondary)}.execution-notes strong{color:var(--text-secondary);font-size:.85rem}.execution-notes p{margin:.25rem 0 0;color:var(--text-primary);font-style:italic;background:var(--bg-secondary);padding:.5rem;border-radius:4px;font-size:.9rem}.new-signal-banner{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;padding:.75rem 1rem;margin-bottom:1rem;border-radius:8px;text-align:center;font-weight:500;animation:slideDown .3s ease-out;box-shadow:0 2px 8px #0000001a}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.signals-page .header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.signals-page .header-actions{display:flex;align-items:center;gap:.75rem}.signals-page .ws-status{font-size:.75rem;cursor:help}.signals-page .btn-refresh{background:var(--bg-secondary);border:none;border-radius:50%;width:36px;height:36px;font-size:1.25rem;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s,background .2s}.signals-page .btn-refresh:hover{background:var(--bg-card)}.signals-page .btn-refresh:disabled{opacity:.5;cursor:not-allowed}.signals-page .btn-refresh.spinning{animation:spin .8s linear infinite}.quick-approval{background:var(--bg-secondary);border-radius:12px;padding:1rem;margin-bottom:1rem}.quick-approval-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.quick-approval-header h3{margin:0;font-size:1rem;color:var(--text-primary)}.quick-approval-header .badge{background:var(--accent-primary);color:var(--bg-primary);padding:.2rem .6rem;border-radius:12px;font-size:.8rem;font-weight:600}.quick-approval-loading,.quick-approval-empty{text-align:center;padding:1rem;color:var(--text-secondary);font-size:.9rem}.quick-approval-list{display:flex;flex-direction:column;gap:.5rem}.quick-approval-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--bg-card);border-radius:8px;cursor:pointer;transition:background .2s}.quick-approval-item:hover{background:#ffffff0d}.quick-approval-item.processing{opacity:.5;pointer-events:none}.quick-approval-item .signal-info{display:flex;align-items:center;gap:.5rem}.quick-approval-item .signal-type{font-size:.7rem;font-weight:600;padding:.15rem .4rem;border-radius:4px}.quick-approval-item .signal-type.open{background:#0f83;color:var(--success)}.quick-approval-item .signal-type.sl-update{background:#ffc10733;color:var(--warning)}.quick-approval-item .signal-type.close{background:#e9456033;color:var(--danger)}.quick-approval-item .signal-symbol{font-weight:600;font-size:.95rem}.quick-approval-item .signal-direction{font-size:.75rem;padding:.1rem .3rem;border-radius:3px}.quick-approval-item .signal-direction.long{background:#00ff8826;color:var(--success)}.quick-approval-item .signal-direction.short{background:#e9456026;color:var(--danger)}.quick-approval-item .signal-meta{display:flex;gap:.75rem;font-size:.8rem;color:var(--text-secondary)}.quick-approval-item .signal-actions{display:flex;gap:.5rem}.quick-approval-item .btn-skip,.quick-approval-item .btn-approve{width:32px;height:32px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:transform .2s,background .2s}.quick-approval-item .btn-skip{background:#e9456033;color:var(--danger)}.quick-approval-item .btn-skip:hover{background:#e9456066;transform:scale(1.1)}.quick-approval-item .btn-approve{background:#0f83;color:var(--success)}.quick-approval-item .btn-approve:hover{background:#0f86;transform:scale(1.1)}.quick-approval-item .btn-skip:disabled,.quick-approval-item .btn-approve:disabled{opacity:.4;cursor:not-allowed;transform:none}.quick-approval .view-all{width:100%;text-align:center;margin-top:.75rem;font-size:.9rem}@media (max-width: 500px){.quick-approval-item{flex-direction:column;align-items:flex-start;gap:.5rem}.quick-approval-item .signal-actions{width:100%;justify-content:flex-end}.quick-approval-item .signal-meta{flex-wrap:wrap}}.env-toggle-group{display:flex;background:var(--bg-card);border-radius:8px;padding:3px;gap:3px}.env-toggle-btn{padding:.5rem 1rem;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.env-toggle-btn:hover{color:var(--text-primary)}.env-toggle-btn.active{background:var(--accent-primary);color:var(--bg-primary)}.env-info{margin-top:.75rem;padding:.75rem;background:var(--bg-card);border-radius:8px;border-left:3px solid var(--accent-primary)}.env-info p{margin:0;font-size:.85rem;color:var(--text-secondary)}.ttl-selector{display:flex;background:var(--bg-card);border-radius:8px;padding:3px;gap:3px}.ttl-btn{padding:.5rem 1rem;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.ttl-btn:hover{color:var(--text-primary);background:var(--bg-primary)}.ttl-btn.active{background:var(--accent-primary);color:var(--bg-primary)}.toast-container{position:fixed;z-index:var(--z-tooltip);pointer-events:none;display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:420px}.toast-container-top-right{top:var(--spacing-lg);right:var(--spacing-lg)}.toast-container-top-left{top:var(--spacing-lg);left:var(--spacing-lg)}.toast-container-bottom-right{bottom:var(--spacing-lg);right:var(--spacing-lg)}.toast-container-bottom-left{bottom:var(--spacing-lg);left:var(--spacing-lg)}.toast-container-top-center{top:var(--spacing-lg);left:50%;transform:translate(-50%)}.toast-container-bottom-center{bottom:var(--spacing-lg);left:50%;transform:translate(-50%)}.toast-item{position:relative;background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);min-width:300px;max-width:420px;pointer-events:auto;animation:toastSlideIn .3s ease-out;border-left:4px solid var(--color-accent-primary);overflow:hidden}.toast-item.toast-success{border-left-color:var(--color-success)}.toast-item.toast-error{border-left-color:var(--color-error)}.toast-item.toast-warning{border-left-color:var(--color-warning)}.toast-item.toast-info{border-left-color:var(--color-info)}.toast-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);flex-shrink:0}.toast-success .toast-icon{background:#4ecca333;color:var(--color-success)}.toast-error .toast-icon{background:#e9456033;color:var(--color-error)}.toast-warning .toast-icon{background:#f39c1233;color:var(--color-warning)}.toast-info .toast-icon{background:#3498db33;color:var(--color-info)}.toast-body-container{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.toast-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.toast-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.toast-action{margin-top:var(--spacing-xs)}.toast-view-btn{background:transparent;border:1px solid var(--color-accent-primary);color:var(--color-accent-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.toast-view-btn:hover{background:var(--color-accent-primary);color:var(--color-bg-primary)}.toast-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-xs);font-size:var(--font-size-sm);line-height:1;opacity:.6;transition:opacity var(--transition-fast);width:20px;height:20px;display:flex;align-items:center;justify-content:center}.toast-close:hover{opacity:1}.toast-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff1a}.toast-progress-bar{height:100%;background:var(--color-accent-primary);transition:width 50ms linear}.toast-success .toast-progress-bar{background:var(--color-success)}.toast-error .toast-progress-bar{background:var(--color-error)}.toast-warning .toast-progress-bar{background:var(--color-warning)}.toast-info .toast-progress-bar{background:var(--color-info)}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-exit{animation:toastSlideOut .2s ease-out forwards}@keyframes toastSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-container-top-left .toast-item,.toast-container-bottom-left .toast-item{animation:toastSlideInLeft .3s ease-out}@keyframes toastSlideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-container-top-left .toast-exit,.toast-container-bottom-left .toast-exit{animation:toastSlideOutLeft .2s ease-out forwards}@keyframes toastSlideOutLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@media (max-width: 480px){.toast-container{max-width:calc(100vw - 2rem);left:var(--spacing-md)!important;right:var(--spacing-md)!important;transform:none!important}.toast-item{min-width:unset;width:100%}}.approval-modal{max-width:500px}.approval-modal-title{color:var(--danger);text-align:center;margin-bottom:1rem;font-size:1.25rem}.approval-warning{display:flex;align-items:flex-start;gap:.75rem;background:#e945601a;border:2px solid var(--danger);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.approval-warning .warning-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--danger);color:#fff;border-radius:50%;font-weight:800;font-size:1.25rem;flex-shrink:0}.approval-warning strong{display:block;color:var(--danger);font-size:1rem;margin-bottom:.25rem}.approval-warning p{margin:0;font-size:.9rem;color:var(--text-secondary)}.approval-trade-summary{background:var(--bg-card);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.approval-trade-summary h4{margin-bottom:.75rem;font-size:.9rem;color:var(--text-secondary);text-transform:uppercase}.approval-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--bg-secondary);font-size:.9rem}.approval-row:last-child{border-bottom:none}.approval-row span:first-child{color:var(--text-secondary)}.approval-row .value{font-weight:600;color:var(--text-primary)}.approval-row .value.lots{color:var(--accent-primary);font-size:1.05rem}.approval-row .value.risk{color:var(--danger);font-size:1.05rem}.approval-row.highlight{background:#e945600d;margin:0 -1rem;padding:.75rem 1rem;border-bottom:none}.approval-row .direction{padding:.2rem .6rem;border-radius:4px;font-size:.85rem}.approval-row .direction.long{background:#4ecca333;color:var(--success)}.approval-row .direction.short{background:#e9456033;color:var(--danger)}.approval-accounts-list{margin:.5rem 0;padding:.5rem;background:var(--bg-secondary);border-radius:6px}.approval-account-item{display:flex;justify-content:space-between;align-items:center;padding:.35rem .5rem;font-size:.85rem}.approval-account-item .account-name{color:var(--text-secondary)}.approval-account-item .account-lots{font-weight:600;color:var(--accent-primary)}.approval-countdown{text-align:center;margin-bottom:1.5rem}.countdown-circle{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:var(--bg-card);border:4px solid var(--accent-primary);margin-bottom:.75rem;animation:pulse-ring 1s ease-in-out infinite}@keyframes pulse-ring{0%,to{border-color:var(--accent-primary);box-shadow:0 0 #4ecca366}50%{border-color:var(--accent-secondary);box-shadow:0 0 0 10px #4ecca300}}.countdown-number{font-size:2rem;font-weight:700;color:var(--accent-primary)}.approval-countdown p{color:var(--text-secondary);font-size:.9rem}.approval-confirm-section{margin-bottom:1.5rem}.approval-confirm-section label{display:block;margin-bottom:.5rem;font-size:.9rem;color:var(--text-secondary)}.approval-input{width:100%;padding:.75rem;background:var(--bg-card);border:2px solid var(--bg-secondary);border-radius:8px;color:var(--text-primary);font-size:1rem;font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:2px;transition:all .2s}.approval-input:focus{outline:none;border-color:var(--accent-primary)}.approval-input.valid{border-color:var(--success);background:#4ecca30d}.approval-hint{margin-top:.5rem;font-size:.8rem;color:var(--danger);text-align:center}.approval-actions{display:flex;gap:.75rem}.approval-actions .btn{flex:1}.approval-actions .btn-execute{background:var(--danger);color:#fff;font-weight:600}.approval-actions .btn-execute:disabled{opacity:.5;cursor:not-allowed;background:var(--text-secondary)}.approval-actions .btn-execute:not(:disabled):hover{filter:brightness(1.1)}@media (max-width: 480px){.approval-modal{max-width:100%}.approval-warning{flex-direction:column;align-items:center;text-align:center}.approval-row{font-size:.85rem}.countdown-circle{width:60px;height:60px}.countdown-number{font-size:1.5rem}.approval-actions{flex-direction:column}.approval-actions .btn{width:100%}}.header-center{display:flex;align-items:center;justify-content:center;flex:1}.env-toggle-container{display:inline-flex;align-items:center;gap:.25rem;background:var(--bg-primary);padding:.25rem;border-radius:8px;border:1px solid var(--bg-card)}.env-toggle-btn{padding:.4rem 1rem;border:none;background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap}.env-toggle-btn:hover,.env-toggle-btn.active{background:var(--bg-card);color:var(--text-primary)}.env-toggle-btn.env-demo.active{background:#4ecca326;color:var(--success);border:1px solid var(--success)}.env-toggle-btn.env-live.active{background:#e9456026;color:var(--danger);border:1px solid var(--danger)}.env-toggle-btn.env-live:hover{background:#e945601a;color:var(--danger)}.env-toggle-btn.env-demo:hover{background:#4ecca31a;color:var(--success)}.env-badge-inline{font-size:.65rem;font-weight:600;padding:.15rem .4rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.env-badge-inline.demo{background:#4ecca326;color:var(--success);border:1px solid var(--success)}.env-badge-inline.live{background:#e9456026;color:var(--danger);border:1px solid var(--danger)}@media (max-width: 1100px){.header-accounts{max-width:300px;overflow-x:auto;flex-wrap:nowrap}.header-account-badge{font-size:.75rem;padding:.2rem .5rem;flex-shrink:0}.user-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width: 900px){.header-accounts,.btn-eye-toggle{display:none}.user-name{max-width:120px}}@media (max-width: 768px){.app-header{gap:.5rem}.env-toggle-container{width:100%;justify-content:center}.env-toggle-btn{flex:1;padding:.5rem;font-size:.8rem}}@media (max-width: 480px){.header-left h1{font-size:1rem}.equity-badge{font-size:.75rem;padding:.2rem .5rem}.user-name{display:none}}.signal-quick-actions{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.5rem;opacity:0;transition:opacity .2s}.signal-card:hover .signal-quick-actions,.signal-card:focus-within .signal-quick-actions{opacity:1}@media (hover: none){.signal-quick-actions{opacity:1}}.quick-action-btn{width:32px;height:32px;border-radius:50%;border:none;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,background .15s}.quick-action-btn:hover{transform:scale(1.1)}.quick-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.quick-action-btn.execute{background:var(--success);color:#fff}.quick-action-btn.execute:hover{background:#27ae60}.quick-action-btn.skip{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--bg-secondary)}.quick-action-btn.skip:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.signal-card{position:relative}.signal-card.status-pending .signal-header{padding-right:5rem}.reports-page .header-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.export-buttons{display:flex;gap:.5rem}.export-buttons .btn-sm{padding:.35rem .75rem;font-size:.85rem}@media (max-width: 480px){.reports-page .header-row{flex-direction:column;align-items:flex-start}.export-buttons{width:100%;justify-content:flex-end}}.approval-card-overlay{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:9999;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translate(-50%) translateY(100px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.approval-card{background:var(--bg-card);border:2px solid var(--accent-primary);border-radius:12px;box-shadow:0 8px 32px #0006;width:90vw;max-width:400px;overflow:hidden}.approval-card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--bg-secondary);border-bottom:1px solid var(--bg-primary)}.approval-card-icon{font-size:1.5rem}.approval-card-title{flex:1;margin-left:.75rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.approval-card-title .queue-badge{background:var(--accent-primary);color:#fff;font-size:.7rem;padding:.15rem .4rem;border-radius:10px}.approval-card-timer{font-size:1.25rem;font-weight:700;color:var(--accent-primary);min-width:40px;text-align:right}.approval-card-progress{height:4px;background:var(--bg-primary);overflow:hidden}.approval-card-progress-bar{height:100%;background:var(--accent-primary);transition:width 1s linear}.approval-card-content{padding:1rem}.approval-signal-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.approval-signal-symbol{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.approval-signal-direction{padding:.25rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600;text-transform:uppercase}.approval-signal-direction.long{background:#4ecca333;color:var(--long)}.approval-signal-direction.short{background:#e9456033;color:var(--short)}.approval-signal-env{padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.approval-signal-env.demo{background:#ffc10733;color:var(--warning)}.approval-signal-env.live{background:#e9456033;color:var(--danger)}.approval-signal-details{display:flex;flex-direction:column;gap:.5rem}.approval-detail-row{display:flex;justify-content:space-between;color:var(--text-secondary);font-size:.9rem}.approval-detail-row span:last-child{color:var(--text-primary);font-weight:500}.approval-card-actions{display:flex;gap:.75rem;padding:1rem;background:var(--bg-secondary);border-top:1px solid var(--bg-primary)}.approval-btn-reject{flex:1;background:transparent;border:1px solid var(--text-secondary);color:var(--text-secondary)}.approval-btn-reject:hover{background:var(--danger);border-color:var(--danger);color:#fff}.approval-btn-approve{flex:2}.signals-page .connection-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;transition:all .3s}.signals-page .connection-badge.live{background:#4ecca326;color:var(--success);border:1px solid var(--success)}.signals-page .connection-badge.polling{background:#ffc10726;color:var(--warning);border:1px solid var(--warning);animation:pulse-polling 2s ease-in-out infinite}@keyframes pulse-polling{0%,to{opacity:1}50%{opacity:.6}}.signals-page .last-updated{font-size:.75rem;color:var(--text-secondary);padding:.25rem .5rem;cursor:help}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-refresh.spinning{animation:spin 1s linear infinite}.ttl-select{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--text-secondary);border-radius:6px;padding:.5rem;font-size:.9rem;cursor:pointer}.ttl-select:focus{outline:none;border-color:var(--accent-primary)}.admin-users-page{padding:1rem;max-width:1200px;margin:0 auto}.admin-users-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.admin-users-page .page-header-left{display:flex;align-items:baseline;gap:1rem}.admin-users-page .page-header h2{margin:0}.admin-users-page .user-count{color:var(--text-secondary);font-size:.9rem}.admin-users-page .search-bar{position:relative;margin-bottom:1rem}.admin-users-page .search-input{width:100%;max-width:400px;padding:.75rem 2.5rem .75rem 1rem;background:var(--bg-secondary);border:1px solid var(--bg-secondary);border-radius:8px;color:var(--text-primary);font-size:.95rem;transition:border-color .2s,box-shadow .2s}.admin-users-page .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3b82f633}.admin-users-page .search-input::placeholder{color:var(--text-secondary)}.admin-users-page .search-clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;padding:.25rem;line-height:1;border-radius:4px;transition:color .2s,background .2s}.admin-users-page .search-clear:hover{color:var(--text-primary);background:var(--bg-card)}.success-banner{background:#22c55e26;border:1px solid var(--success);color:var(--success);padding:1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.success-banner .close-btn{background:none;border:none;color:var(--success);cursor:pointer;font-size:1.2rem;padding:0;line-height:1}.users-table-container{overflow-x:auto;background:var(--bg-card);border-radius:12px;border:1px solid var(--bg-secondary)}.users-table{width:100%;border-collapse:collapse;font-size:.95rem}.users-table th,.users-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--bg-secondary)}.users-table th{background:var(--bg-secondary);color:var(--text-secondary);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.users-table tr:last-child td{border-bottom:none}.users-table tbody tr{transition:background .15s ease}.users-table tbody tr:hover{background:#3b82f614}.users-table tbody tr:hover td{background:transparent}.users-table tr.inactive-row{opacity:.6}.users-table tr.inactive-row:hover{opacity:.8}.username-cell{font-weight:600}.email-cell{color:var(--text-secondary)}.date-cell{color:var(--text-secondary);font-size:.85rem}.role-badge{display:inline-block;padding:.25rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.role-badge.role-admin{background:#8b5cf633;color:#a78bfa}.role-badge.role-user{background:#64748b33;color:#94a3b8}.role-badge.role-signal_provider{background:#4ecca333;color:var(--accent-primary)}.role-badge.clickable{cursor:pointer;transition:opacity .2s,transform .1s}.role-badge.clickable:hover{opacity:.8;transform:scale(1.02)}.signal-message-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-bottom:1.5rem}.signal-message-card{background:var(--bg-secondary);padding:var(--spacing-md);border-radius:var(--radius-md)}.signal-message-section{margin-top:var(--spacing-md)}.signal-message-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.signal-message-block{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.signal-message-block-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.signal-message-row{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.signal-message-preview{white-space:pre-wrap;font-family:inherit;font-size:var(--font-size-sm);background:var(--bg-card);border-radius:var(--radius-md);padding:var(--spacing-md)}.signal-message-actions{display:flex;gap:.5rem;flex-wrap:wrap}.signal-message-meta{color:var(--text-secondary);font-size:.85rem;margin-bottom:.5rem}.signal-message-list{display:grid;gap:1rem}@media (max-width: 960px){.signal-message-grid{grid-template-columns:1fr}}.role-select{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--accent-primary);cursor:pointer;min-width:80px}.role-select:focus{outline:none;box-shadow:0 0 0 2px #3b82f64d}.status-badge{display:inline-block;padding:.25rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600}.status-badge.active{background:#22c55e33;color:var(--success)}.status-badge.inactive{background:#ef444433;color:var(--danger)}.status-badge.verified{background:#22c55e33;color:var(--success)}.status-badge.unverified{background:#ef444433;color:var(--danger)}.email-cell{display:flex;align-items:center;gap:.5rem}.auth-provider-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:.65rem;font-weight:700;flex-shrink:0}.auth-provider-badge.google{background:#4285f4;color:#fff}.auth-provider-badge.apple{background:#000;color:#fff}.auth-provider-badge.facebook{background:#1877f2;color:#fff}.actions-cell{display:flex;gap:.5rem}.btn-icon-wrapper{position:relative;display:inline-block}.btn-icon-wrapper .tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--bg-primary);color:var(--text-primary);padding:.4rem .75rem;border-radius:6px;font-size:.75rem;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:100;box-shadow:0 4px 12px #0000004d;border:1px solid var(--bg-secondary);pointer-events:none}.btn-icon-wrapper .tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--bg-secondary)}.btn-icon-wrapper:hover .tooltip{opacity:1;visibility:visible}.btn-icon-wrapper .tooltip.tooltip-danger{background:#ef444426;border-color:var(--danger);color:var(--danger)}.btn-icon-wrapper .tooltip.tooltip-danger:after{border-top-color:var(--danger)}.btn-icon{background:var(--bg-secondary);border:none;padding:.5rem;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s}.btn-icon:hover{background:var(--bg-card);transform:scale(1.1)}.btn-icon:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-icon.delete:hover{background:#ef444433}.btn-icon.activate:hover{background:#22c55e33}.btn-icon.deactivate:hover{background:#f59e0b33}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:var(--bg-primary);border-radius:12px;max-width:450px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid var(--bg-secondary)}.modal.modal-sm{max-width:380px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--bg-secondary)}.modal-header h3{margin:0;font-size:1.1rem}.modal-header .close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.25rem;padding:0;line-height:1}.modal-header .close-btn:hover{color:var(--text-primary)}.modal-body{padding:1.25rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--bg-secondary)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.9rem;color:var(--text-secondary)}.form-group input,.form-group select{width:100%;padding:.75rem;background:var(--bg-card);border:1px solid var(--bg-secondary);border-radius:8px;color:var(--text-primary);font-size:.95rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-primary)}.form-group input::placeholder{color:var(--text-muted)}.modal-note{font-size:.85rem;color:var(--text-secondary);margin-top:1rem;padding:.75rem;background:var(--bg-secondary);border-radius:6px}.modal-note.danger{background:#ef44441a;color:var(--danger)}.checkbox-group{margin-top:1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-primary);cursor:pointer}.form-hint{font-size:.8rem;color:var(--text-secondary);margin-top:.5rem;padding-left:1.8rem}.form-select{width:100%;padding:.75rem;border-radius:8px;border:1px solid var(--bg-secondary);background:var(--bg-card);color:var(--text-primary);font-size:1rem}.form-select:focus{outline:none;border-color:var(--accent-primary)}.btn-warning{background:#f59e0b;color:#1a1a1a}.btn-warning:hover{background:#d97706}.loading-state,.empty-state{text-align:center;padding:3rem;color:var(--text-secondary)}.loading-state .spinner{margin:0 auto 1rem}@media (max-width: 768px){.admin-users-page .page-header{flex-direction:column;align-items:flex-start;gap:1rem}.users-table{font-size:.85rem}.users-table th,.users-table td{padding:.75rem .5rem}.email-cell,.date-cell{display:none}.actions-cell{flex-wrap:wrap}.btn-icon{padding:.4rem;font-size:.9rem}}@media (max-width: 480px){.app-main{padding:.75rem}.app-nav{flex-wrap:wrap;gap:.5rem}.app-nav a{padding:.5rem .75rem;font-size:.8rem}h1{font-size:1.25rem}h2{font-size:1.1rem}h3{font-size:1rem}.stats-grid{grid-template-columns:1fr}.signal-card{font-size:.85rem}.card{padding:.75rem}button,.btn,input[type=submit]{min-height:44px;min-width:44px}.btn{padding:.6rem 1rem}input[type=text],input[type=email],input[type=password],input[type=number],select{font-size:16px;min-height:44px}.modal-content{margin:1rem;max-width:calc(100% - 2rem)}}@media (min-width: 481px) and (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.app-main{padding:1rem}}@media (min-width: 769px){.stats-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1024px){.app-main{max-width:1400px;margin:0 auto}}@media (max-width: 600px){.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-as-cards{display:block}.table-as-cards thead{display:none}.table-as-cards tbody{display:block}.table-as-cards tr{display:block;margin-bottom:1rem;border:1px solid var(--bg-card);border-radius:8px;padding:.75rem;background:var(--bg-secondary)}.table-as-cards td{display:flex;justify-content:space-between;padding:.5rem 0;border:none}.table-as-cards td:before{content:attr(data-label);font-weight:500;color:var(--text-secondary);margin-right:1rem}.table-responsive th:not(.mobile-visible),.table-responsive td:not(.mobile-visible){display:none}}@media (max-width: 768px){button,.btn,input[type=submit],input[type=button],input[type=reset],a.btn{min-height:44px;min-width:44px}.btn-group{gap:.75rem}.app-nav a{min-height:44px;display:flex;align-items:center}input[type=checkbox],input[type=radio]{min-width:20px;min-height:20px}}@media (max-width: 480px){.flex-row-mobile-column{flex-direction:column}.btn-full-mobile{width:100%}.hide-mobile{display:none!important}.show-mobile{display:block!important}.card-compact-mobile{padding:.75rem}.btn-group{flex-direction:column;width:100%}.btn-group .btn{width:100%}}@media (max-width: 768px) and (orientation: landscape){.app-main{padding:.5rem}.modal-content{max-height:90vh;overflow-y:auto}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.card,.btn,input{border-width:.5px}}@media print{.app-nav,.btn,button{display:none!important}body{background:#fff;color:#000}.card{border:1px solid #000;page-break-inside:avoid}a[href]:after{content:" (" attr(href) ")"}}*:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}*:focus:not(:focus-visible){outline:none}button:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;box-shadow:0 0 0 4px #4ecca34d}a:focus-visible{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent-primary);color:var(--bg-primary);padding:8px 16px;z-index:100;text-decoration:none;font-weight:600}.skip-link:focus{top:0}.text-secondary,.text-muted{color:#aaa}.badge-live{background:var(--success);color:#fff;font-weight:600}.badge-demo{background:var(--warning);color:#1a1a2e;font-weight:600}.status-pending{color:#ffd54f}.status-executed{color:#66ffa6}.status-skipped{color:#bbb}.direction-long{color:#66ffa6}.direction-short{color:#ff6b88}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spinner{animation:none!important;border:3px solid var(--text-secondary);border-top-color:var(--accent-primary)}}@media (prefers-contrast: high){:root{--text-primary: #fff;--text-secondary: #ddd;--bg-primary: #000;--bg-secondary: #0a0a0a;--bg-card: #1a1a1a}button,.btn{border:2px solid currentColor}.card,.stat-card,.signal-card,.position-card{border:2px solid var(--text-secondary)}*:focus-visible{outline-width:3px;outline-offset:3px}}@media (max-width: 768px){button,.btn,a,input[type=checkbox],input[type=radio]{min-height:44px;min-width:44px}p a,span a,.text-link{min-height:auto;min-width:auto}}a{color:var(--accent-primary);text-decoration-skip-ink:auto}a:hover,a:focus{text-decoration:underline;text-decoration-thickness:2px}label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}input:invalid,select:invalid,textarea:invalid{border-color:var(--danger)}input:valid,select:valid,textarea:valid{border-color:var(--success)}.error-message,.validation-error{color:#ff8fa3;font-weight:500;margin-top:.25rem}.success-message{color:#66ffa6;font-weight:500;margin-top:.25rem}button:disabled,.btn:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed;border-color:var(--text-secondary)}input[required]+label:after,select[required]+label:after,textarea[required]+label:after{content:" *";color:var(--danger)}table{border-collapse:collapse;width:100%}th{text-align:left;font-weight:600;color:var(--text-primary)}[aria-busy=true]{cursor:wait}[role=dialog],[role=alertdialog]{outline:none}[role=dialog]:focus,[role=alertdialog]:focus{outline:2px solid var(--accent-primary);outline-offset:-2px}.status-indicator{display:inline-flex;align-items:center;gap:.5rem}.status-indicator:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor}.two-factor-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-primary)}.two-factor-container{max-width:600px;width:100%;background:var(--bg-card);border-radius:12px;padding:2rem;box-shadow:0 4px 20px #0000004d}.two-factor-container h2{color:var(--text-primary);margin-bottom:1.5rem;text-align:center}.setup-steps{display:flex;flex-direction:column;gap:2rem}.step{display:flex;gap:1rem}.step-number{width:32px;height:32px;background:var(--accent-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.step-content{flex:1}.step-content h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.1rem}.step-content p{color:var(--text-secondary);margin-bottom:.75rem}.qr-code-container{display:flex;justify-content:center;padding:1rem;background:#fff;border-radius:8px;margin:1rem 0}.qr-code{max-width:200px;height:auto}.manual-entry{font-size:.9rem;text-align:center}.secret-code{display:block;margin-top:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);border-radius:4px;font-family:monospace;font-size:1rem;word-break:break-all;-webkit-user-select:all;user-select:all}.backup-codes-section{margin-top:1.5rem}.backup-codes-section h3{color:var(--text-primary);margin-bottom:.75rem}.warning-text{color:var(--warning, #ffc107);margin-bottom:1rem}.danger-text{color:var(--danger)}.backup-codes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin:1rem 0}.backup-code{padding:.5rem;background:var(--bg-secondary);border-radius:4px;font-family:monospace;font-size:1rem;text-align:center;-webkit-user-select:all;user-select:all}.backup-actions{display:flex;gap:.75rem;margin:1rem 0;flex-wrap:wrap}.confirmation-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color);text-align:center}.confirmation-section p{color:var(--text-secondary);margin-bottom:1rem}.success-banner{padding:1rem;background:#2ecc7126;border:1px solid #2ecc71;border-radius:8px;color:#2ecc71;margin-bottom:1rem;text-align:center}.status-enabled{color:#2ecc71;font-weight:600}.status-disabled{color:var(--text-secondary)}.status-date{color:var(--text-secondary);font-size:.9rem}.nested-form{background:var(--bg-secondary);padding:1rem;border-radius:8px;margin-top:.5rem;margin-bottom:1rem}.nested-form p{margin-bottom:1rem;color:var(--text-secondary)}.danger-form{border:1px solid rgba(255,82,82,.3);background:#ff52520d}.backup-codes-modal{background:var(--bg-secondary);padding:1.5rem;border-radius:8px;margin-top:1rem}.backup-codes-modal h4{color:var(--text-primary);margin-bottom:.75rem}.btn-link{background:none;border:none;color:var(--accent-primary);cursor:pointer;padding:0;font-size:inherit;text-decoration:underline}.btn-link:hover{color:var(--accent-secondary)}.forgot-password-link{color:var(--accent-primary);text-decoration:none;display:block;margin-bottom:1rem}.forgot-password-link:hover{text-decoration:underline}@media (max-width: 768px){.app-header{padding:.75rem;flex-wrap:wrap;gap:.5rem}.header-left h1{font-size:1rem}.header-right{gap:.5rem}.equity-badge{font-size:.75rem;padding:.2rem .5rem}.user-name{display:none}.app-nav{padding:.5rem;gap:.25rem;-webkit-overflow-scrolling:touch}.app-nav a{padding:.4rem .75rem;font-size:.8rem}.app-main{padding:.75rem}.dashboard-stats{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{padding:.75rem}.stat-value{font-size:1.25rem}.card{padding:1rem;border-radius:var(--radius-md)}.data-table{font-size:.8rem}.form-input{font-size:16px}.btn{padding:.6rem 1rem;font-size:.85rem}.signal-card,.position-card{padding:.75rem}.quick-trade-form{padding:1rem}.settings-section{padding:1rem;margin-bottom:1rem}.settings-section h3{font-size:1rem}.modal-content{margin:1rem;max-height:calc(100vh - 2rem);width:calc(100% - 2rem)}}@media (max-width: 480px){.app-header{padding:.5rem}.header-left h1{font-size:.9rem}.btn-logout{font-size:.7rem;padding:.2rem .4rem}.app-nav{justify-content:flex-start;padding:.4rem}.app-nav a{padding:.35rem .6rem;font-size:.75rem}.dashboard-stats{grid-template-columns:1fr 1fr;gap:.5rem}.stat-card{padding:.6rem}.stat-label{font-size:.7rem}.stat-value{font-size:1.1rem}.card{padding:.75rem}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:500px}.symbol-chips{flex-wrap:wrap;gap:.4rem}.symbol-chip{font-size:.75rem;padding:.3rem .6rem}.risk-slider{height:6px}.signal-group-card{padding:.75rem}.qr-code-container img{max-width:180px}.backup-codes-grid{grid-template-columns:repeat(2,1fr)}.login-form{padding:1rem}.login-header h1{font-size:1.4rem}}@media (max-width: 768px) and (orientation: landscape){.app-header{padding:.4rem .75rem}.app-nav{padding:.3rem .5rem}.modal-content{max-height:90vh}}@media (hover: none) and (pointer: coarse){.btn{min-height:44px;min-width:44px}.app-nav a{min-height:40px;display:flex;align-items:center}.btn:hover{filter:none}.card:hover{transform:none}input[type=checkbox],input[type=radio]{width:20px;height:20px}}.paywall-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.paywall-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:2rem}.paywall-content{text-align:center;max-width:450px;padding:2.5rem;background:var(--bg-card);border-radius:16px;border:1px solid var(--bg-secondary)}.paywall-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:var(--accent-primary)}.paywall-icon svg{width:100%;height:100%}.paywall-content h2{margin-bottom:1rem;font-size:1.5rem}.paywall-description{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.paywall-notice{padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem}.paywall-notice.warning{background:#ffc1071a;color:#ffc107;border:1px solid rgba(255,193,7,.3)}.paywall-notice.error{background:#dc35451a;color:var(--danger);border:1px solid rgba(220,53,69,.3)}.paywall-features{text-align:left;margin-bottom:2rem;padding:1rem;background:var(--bg-primary);border-radius:8px}.paywall-features h3{font-size:.9rem;color:var(--text-secondary);margin-bottom:.75rem}.paywall-features ul{list-style:none;padding:0;margin:0}.paywall-features li{padding:.5rem 0 .5rem 1.5rem;position:relative;font-size:.9rem}.paywall-features li:before{content:"✓";position:absolute;left:0;color:var(--accent-primary);font-weight:700}.paywall-cta{width:100%;padding:1rem;font-size:1.1rem}.paywall-support{margin-top:1.5rem;font-size:.85rem;color:var(--text-muted)}.subscription-page{max-width:600px;margin:0 auto;padding:1.5rem}.subscription-page h1{margin-bottom:1.5rem}.subscription-status{padding:1.5rem;background:var(--bg-card);border-radius:12px;margin-bottom:1.5rem}.subscription-status.active{border-left:4px solid var(--success)}.subscription-status.cancelled{border-left:4px solid #ffc107}.subscription-status p{color:var(--text-secondary);line-height:1.6}.subscription-details{margin:1rem 0}.subscription-details p{margin:.5rem 0}.subscription-actions{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.subscription-actions .btn{flex:1;min-width:150px}.pricing-card{background:var(--bg-card);border-radius:16px;padding:2rem;position:relative;overflow:hidden}.pricing-header{text-align:center;margin-bottom:1.5rem}.pricing-header h2{margin-bottom:.5rem;color:var(--accent-primary)}.price{display:flex;align-items:baseline;justify-content:center;gap:.25rem}.price .amount{font-size:2.5rem;font-weight:700}.price .period{color:var(--text-secondary);font-size:1rem}.pricing-features{list-style:none;padding:0;margin:0 0 2rem}.pricing-features li{padding:.75rem 0 .75rem 2rem;position:relative;border-bottom:1px solid var(--bg-secondary)}.pricing-features li:last-child{border-bottom:none}.pricing-features li:before{content:"✓";position:absolute;left:0;color:var(--accent-primary);font-weight:700;font-size:1.1rem}.payment-options{margin-top:1.5rem}.payment-options h3{font-size:.95rem;color:var(--text-secondary);margin-bottom:1rem;text-align:center}.btn-payment{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1rem 1.5rem;margin-bottom:.75rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;border:none}.btn-payment .payment-icon{width:24px;height:24px}.btn-payment.stripe{background:#635bff;color:#fff}.btn-payment.stripe:hover{background:#5248e5}.btn-payment.paypal{background:#003087;color:#fff}.btn-payment.paypal:hover{background:#00256b}.btn-payment:disabled{opacity:.6;cursor:not-allowed}.processing-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#1a1a2ef2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;border-radius:16px;z-index:10}.processing-overlay p{color:var(--text-secondary);font-size:.9rem}.subscription-info{margin-top:1.5rem;text-align:center}.subscription-info p{font-size:.85rem;color:var(--text-muted);margin:.5rem 0}@media (max-width: 480px){.subscription-page{padding:1rem}.pricing-card{padding:1.5rem}.price .amount{font-size:2rem}.subscription-actions{flex-direction:column}.subscription-actions .btn{width:100%}}.subscription-editor{display:flex;align-items:center;gap:.5rem}.subscription-editor .date-input{padding:.4rem .5rem;background:var(--bg-primary);border:1px solid var(--accent-primary);border-radius:4px;color:var(--text-primary);font-size:.85rem;width:140px}.subscription-editor .date-input:focus{outline:none;border-color:var(--accent-secondary);box-shadow:0 0 0 2px #4ecca333}.btn-clear-date{padding:.3rem .5rem;background:var(--danger);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;line-height:1;opacity:.8;transition:opacity .2s}.btn-clear-date:hover{opacity:1}.status-badge.clickable{cursor:pointer;transition:transform .1s,box-shadow .1s}.status-badge.clickable:hover{transform:scale(1.05);box-shadow:0 2px 8px #0003}.status-badge.danger{background:#dc354526;color:var(--danger);border:1px solid rgba(220,53,69,.3)}.status-badge.success{background:#4ecca326;color:var(--success);border:1px solid rgba(78,204,163,.3)}
