.tab-bar{position:fixed;bottom:0;left:0;right:0;height:var(--tab-bar-height);background-color:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-around;z-index:100;padding-bottom:env(safe-area-inset-bottom,0)}.tab-bar-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--spacing-xs) var(--spacing-md);color:var(--text-muted);transition:color .15s;-webkit-tap-highlight-color:transparent}.tab-bar-item--active{color:var(--color-accent)}.tab-bar-icon{position:relative;font-size:20px;line-height:1}.tab-bar-badge{position:absolute;top:-2px;right:-6px;width:8px;height:8px;background-color:var(--color-danger);border-radius:50%}.tab-bar-label{font-size:var(--font-size-xs)}.position-card{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-card);border-radius:var(--border-radius);margin-bottom:var(--spacing-xs);cursor:pointer;-webkit-tap-highlight-color:transparent}.position-card-left{display:flex;align-items:center;gap:var(--spacing-sm)}.position-pill{padding:2px 8px;border-radius:4px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.position-pill--buy{background-color:#26a69a33;color:var(--color-buy)}.position-pill--sell{background-color:#ef535033;color:var(--color-sell)}.position-card-info{display:flex;flex-direction:column}.position-card-lots{font-size:var(--font-size-sm)}.position-card-price{font-size:var(--font-size-xs)}.position-card-right{display:flex;align-items:center;gap:var(--spacing-md)}.position-card-profit{font-size:var(--font-size-sm)}.position-close-btn{width:32px;height:32px;border-radius:50%;background-color:#ef535033;color:var(--color-danger);font-size:14px;display:flex;align-items:center;justify-content:center}.position-close-btn:disabled{opacity:.4}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.dialog{background-color:var(--bg-card);border-radius:12px;padding:var(--spacing-xl);width:90%;max-width:320px}.dialog-title{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.dialog-message{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.dialog-actions{display:flex;gap:var(--spacing-sm)}.dialog-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:600}.dialog-btn--cancel{background-color:var(--bg-input);color:var(--text-secondary)}.dialog-btn--confirm{background-color:var(--color-accent);color:var(--bg-primary)}.pin-modal{background-color:var(--bg-card);border-radius:12px;padding:var(--spacing-xl);width:90%;max-width:300px;text-align:center}.pin-error{color:var(--color-danger);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.pin-dots{display:flex;justify-content:center;gap:12px;margin:var(--spacing-lg) 0}.pin-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--text-muted);transition:background-color .1s}.pin-dot--filled{background-color:var(--color-accent);border-color:var(--color-accent)}.pin-shake{animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.pin-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.pin-key{padding:var(--spacing-md);font-size:var(--font-size-lg);border-radius:var(--border-radius);background-color:var(--bg-input);color:var(--text-primary);-webkit-tap-highlight-color:transparent}.pin-key:active{background-color:var(--border-color)}.pin-key--empty{background:transparent}.pin-cancel{color:var(--text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-sm)}.toast{position:fixed;top:16px;left:50%;transform:translate(-50%);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius);font-size:var(--font-size-sm);z-index:300;max-width:90%;text-align:center;animation:toast-in .2s ease-out}.toast--success{background-color:#26a69ae6;color:#fff}.toast--error{background-color:#ef5350e6;color:#fff}.toast--warning{background-color:#ffa726e6;color:#1a1a2e}.toast--info{background-color:#4fc3f7e6;color:#1a1a2e}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.order-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--bg-primary);z-index:200;overflow-y:auto}.order-form{padding:var(--spacing-lg);max-width:400px;margin:0 auto}.order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.order-header h3{font-size:var(--font-size-lg)}.order-close-btn{font-size:20px;color:var(--text-secondary);padding:var(--spacing-xs)}.order-direction{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.order-dir-btn{flex:1;padding:var(--spacing-md);border-radius:var(--border-radius);font-size:var(--font-size-lg);font-weight:700;opacity:.3;transition:opacity .15s}.order-dir-btn--buy{background-color:var(--color-buy);color:#fff}.order-dir-btn--sell{background-color:var(--color-sell);color:#fff}.order-dir-btn--active{opacity:1}.order-type-pills{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.order-type-pill{flex:1;padding:var(--spacing-sm);border-radius:var(--border-radius);font-size:var(--font-size-sm);background-color:var(--bg-card);color:var(--text-secondary);transition:all .15s}.order-type-pill--active{background-color:var(--color-accent);color:var(--bg-primary)}.order-field{margin-bottom:var(--spacing-md)}.order-field--half{flex:1}.order-label{display:block;font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.order-field input{width:100%}.order-row{display:flex;gap:var(--spacing-sm)}.order-lots-control{display:flex;align-items:center;gap:var(--spacing-md)}.order-lots-btn{width:40px;height:40px;border-radius:50%;background-color:var(--bg-input);color:var(--text-primary);font-size:var(--font-size-lg);display:flex;align-items:center;justify-content:center}.order-lots-value{font-size:var(--font-size-lg);min-width:60px;text-align:center}.order-summary{background-color:var(--bg-card);border-radius:var(--border-radius);padding:var(--spacing-md);margin:var(--spacing-lg) 0}.order-summary-row{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0;font-size:var(--font-size-sm)}.order-submit{width:100%;padding:var(--spacing-md);border-radius:var(--border-radius);font-size:var(--font-size-md);font-weight:600;color:#fff;transition:opacity .15s}.order-submit--buy{background-color:var(--color-buy)}.order-submit--sell{background-color:var(--color-sell)}.order-submit:disabled{opacity:.4}.day-selector{display:flex;gap:var(--spacing-xs);justify-content:center}.day-pill{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);background-color:var(--bg-card);color:var(--text-secondary);min-width:52px;transition:all .15s}.day-pill--selected{background-color:var(--color-accent);color:var(--bg-primary)}.day-pill--today:not(.day-pill--selected){border:1px solid var(--color-accent)}.day-pill-name{font-size:var(--font-size-xs)}.day-pill-num{font-size:var(--font-size-md);font-weight:600}.event-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-color);font-size:var(--font-size-sm)}.event-row-left{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0;width:110px}.event-stars{font-size:10px}.event-stars--3{color:var(--color-danger)}.event-stars--2{color:var(--color-warning)}.event-country{font-size:var(--font-size-xs);font-weight:600;background-color:var(--bg-input);padding:1px 4px;border-radius:3px}.event-time{font-size:var(--font-size-xs)}.event-row-center{flex:1;min-width:0}.event-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-row-right{display:flex;gap:var(--spacing-sm);flex-shrink:0}.event-value{font-size:var(--font-size-xs);min-width:36px;text-align:right}.alert-rule-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-card);border-radius:var(--border-radius);margin-bottom:var(--spacing-xs)}.alert-rule-info{display:flex;flex-direction:column}.alert-rule-name{font-size:var(--font-size-sm)}.alert-rule-condition{font-size:var(--font-size-xs)}.alert-rule-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.alert-rule-delete{color:var(--text-muted);font-size:14px;padding:var(--spacing-xs)}.toggle{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--bg-input);border-radius:11px;transition:background-color .2s}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:2px;bottom:2px;background-color:var(--text-secondary);border-radius:50%;transition:transform .2s,background-color .2s}.toggle input:checked+.toggle-slider{background-color:#4fc3f74d}.toggle input:checked+.toggle-slider:before{transform:translate(18px);background-color:var(--color-accent)}.login-container{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--spacing-xl)}.login-form{width:100%;max-width:320px;display:flex;flex-direction:column;gap:var(--spacing-md)}.login-title{text-align:center;font-size:var(--font-size-xl);color:var(--color-accent);margin-bottom:var(--spacing-lg)}.login-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.login-error{background-color:#ef535026;color:var(--color-danger);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);font-size:var(--font-size-sm);text-align:center}.login-button{margin-top:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-accent);color:var(--bg-primary);border-radius:var(--border-radius);font-weight:600;font-size:var(--font-size-md);transition:opacity .15s}.login-button:disabled{opacity:.5}.monitor{display:flex;flex-direction:column;height:100%}.monitor-topbar{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.monitor-price-section{display:flex;align-items:baseline;gap:var(--spacing-sm)}.monitor-symbol{font-weight:600;font-size:var(--font-size-md)}.monitor-price{font-size:var(--font-size-lg);font-weight:700}.monitor-spread{font-size:var(--font-size-xs)}.monitor-banner-offline,.monitor-banner-ea{font-size:var(--font-size-xs);padding:2px 8px;border-radius:4px}.monitor-banner-offline{background-color:#ef535033;color:var(--color-danger)}.monitor-banner-ea{background-color:#ffa72633;color:var(--color-warning)}.monitor-tf-bar{display:flex;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md)}.monitor-tf-btn{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius);font-size:var(--font-size-sm);color:var(--text-secondary);background-color:var(--bg-card);transition:all .15s}.monitor-tf-btn--active{background-color:var(--color-accent);color:var(--bg-primary)}.monitor-chart{flex:1;min-height:200px;padding:0 var(--spacing-sm)}.monitor-pl-strip{display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-secondary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);font-size:var(--font-size-sm)}.monitor-positions{flex-shrink:0;overflow-y:auto;max-height:200px;padding:var(--spacing-sm) var(--spacing-md)}.monitor-empty{text-align:center;padding:var(--spacing-lg);font-size:var(--font-size-sm)}.monitor-fab{position:fixed;bottom:calc(var(--tab-bar-height) + 16px);right:16px;width:52px;height:52px;border-radius:50%;background-color:var(--color-accent);color:var(--bg-primary);font-size:28px;font-weight:300;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0006;z-index:50;-webkit-tap-highlight-color:transparent}.calendar{padding:var(--spacing-md)}.calendar-forex{display:flex;align-items:baseline;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-md)}.calendar-forex-pair{font-weight:600}.calendar-forex-price{font-size:var(--font-size-lg)}.calendar-forex-change{font-size:var(--font-size-sm)}.calendar-events{margin-top:var(--spacing-md)}.calendar-events-header{display:none}.calendar-empty{text-align:center;padding:var(--spacing-xl);font-size:var(--font-size-sm)}.calendar-holidays{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.calendar-section-title{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.calendar-holiday-row{display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;font-size:var(--font-size-sm)}.alerts{padding:var(--spacing-md)}.alerts-section{margin-bottom:var(--spacing-xl)}.alerts-section h3{font-size:var(--font-size-md);margin-bottom:var(--spacing-sm)}.alerts-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.alerts-add-btn{font-size:var(--font-size-sm);color:var(--color-accent);padding:var(--spacing-xs) var(--spacing-sm)}.alerts-form{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-md);background-color:var(--bg-card);border-radius:var(--border-radius)}.alerts-form select,.alerts-form input{width:100%}.alerts-form-submit{padding:var(--spacing-sm);background-color:var(--color-accent);color:var(--bg-primary);border-radius:var(--border-radius);font-weight:600}.alerts-empty{text-align:center;padding:var(--spacing-lg);font-size:var(--font-size-sm)}.alerts-history-item{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-color)}.alerts-history-item--unread{font-weight:600}.alerts-history-top{display:flex;justify-content:space-between;margin-bottom:2px}.alerts-history-indicator{font-size:var(--font-size-sm)}.alerts-history-time,.alerts-history-message{font-size:var(--font-size-xs)}:root{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-card: #1f2940;--bg-input: #253350;--text-primary: #e0e0e0;--text-secondary: #8892a4;--text-muted: #5a6478;--color-buy: #26a69a;--color-sell: #ef5350;--color-profit: #26a69a;--color-loss: #ef5350;--color-accent: #4fc3f7;--color-warning: #ffa726;--color-danger: #ef5350;--border-color: #2a3a5c;--border-radius: 8px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--tab-bar-height: 56px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Fira Code", "Consolas", monospace;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-md: 15px;--font-size-lg: 18px;--font-size-xl: 24px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);font-size:var(--font-size-md);color:var(--text-primary);background-color:var(--bg-primary);line-height:1.4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;user-select:none;-webkit-user-select:none}#root{height:100%;display:flex;flex-direction:column}a{color:var(--color-accent);text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}input,select{font-family:inherit;font-size:inherit;color:var(--text-primary);background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);outline:none}input:focus,select:focus{border-color:var(--color-accent)}.text-profit{color:var(--color-profit)}.text-loss{color:var(--color-loss)}.text-buy{color:var(--color-buy)}.text-sell{color:var(--color-sell)}.text-muted{color:var(--text-muted)}.text-mono{font-family:var(--font-mono)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}
