@charset "UTF-8";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root,:root[data-theme=light]{--app-bg: #f8f9fa;--header-bg: linear-gradient(135deg, #ffffff 0%, #e8eaed 100%);--header-border: #d1d5db;--tab-ink: #6c757d;--tab-ink-hover: #495057;--tab-ink-active: #2c5f7f;--surface-1: #ffffff;--surface-2: #f8fafc;--surface-3: #f1f5f9;--surface-inverse: #1e293b;--text-1: #1e293b;--text-2: #475569;--text-3: #64748b;--text-4: #94a3b8;--text-on-inverse: #e6eef4;--on-accent: #ffffff;--border-1: #e2e8f0;--border-2: #cbd5e1;--border-3: #334155;--accent: #2ecc8f;--accent-hover: #27b57e;--accent-ink: #157854;--accent-soft: rgba(46, 204, 143, .07);--accent-edge: rgba(46, 204, 143, .45);--good: #16a34a;--good-soft: #f0fdf4;--bad: #dc2626;--bad-soft: #fef2f2;--bad-ink: #b91c1c;--warn: #f59e0b;--warn-strong: #d97706;--warn-soft: #fef3c7;--warn-ink: #b45309;--info: #0d9488;--special: #8b5cf6;--golden: #b8860b;--shadow-1: 0 4px 14px rgba(15, 23, 42, .1);--shadow-2: 0 8px 32px rgba(15, 23, 42, .18);--overlay: rgba(15, 23, 42, .55);--radar-head: #1a4863;--tint-cool: #e8f1f7;--tint-info: #eff6ff;--tint-special: #f5f3ff;--tint-warn: #fffbeb;--ink-cool: #1e3a5f;--ink-info: #2563eb;--ink-warn: #92400e;--radar-head-deep: #153a52}:root[data-theme=dark]{--app-bg: #0b1220;--header-bg: linear-gradient(135deg, #16213a 0%, #0f1829 100%);--header-border: #26344a;--tab-ink: #93a2bb;--tab-ink-hover: #e8eef7;--tab-ink-active: #9fd2ef;--surface-1: #121b2b;--surface-2: #182335;--surface-3: #1f2c41;--surface-inverse: #182335;--text-1: #e8eef7;--text-2: #c2cde0;--text-3: #93a2bb;--text-4: #7486a1;--text-on-inverse: #e6eef4;--border-1: #26344a;--border-2: #35465f;--border-3: #35465f;--accent: #34d399;--accent-hover: #2ebd88;--accent-ink: #6ee7b7;--accent-soft: rgba(52, 211, 153, .12);--accent-edge: rgba(52, 211, 153, .45);--good: #4ade80;--good-soft: rgba(74, 222, 128, .12);--bad: #f87171;--bad-soft: rgba(248, 113, 113, .12);--bad-ink: #fca5a5;--warn: #fbbf24;--warn-strong: #f59e0b;--warn-soft: rgba(251, 191, 36, .14);--warn-ink: #fcd34d;--info: #2dd4bf;--special: #a78bfa;--golden: #e3b341;--shadow-1: 0 4px 14px rgba(0, 0, 0, .45);--shadow-2: 0 8px 32px rgba(0, 0, 0, .55);--overlay: rgba(3, 7, 18, .7);--radar-head: #9fd2ef;--tint-cool: rgba(96, 165, 250, .1);--tint-info: rgba(96, 165, 250, .12);--tint-special: rgba(167, 139, 250, .14);--tint-warn: rgba(251, 191, 36, .12);--ink-cool: #bfdbfe;--ink-info: #93c5fd;--ink-warn: #fcd34d;--radar-head-deep: #0f2a3d}:root[data-theme=dark]{color-scheme:dark}:root[data-theme=light]{color-scheme:light}.login-page{min-height:100vh;background:#f8f9fa;display:flex;align-items:center;justify-content:center;padding:20px}.login-container{max-width:700px;width:auto}.login-box{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:25px 35px}.brand{text-align:center;margin-bottom:20px}.brand .logo{max-width:150px;height:auto;margin-bottom:10px}.brand h1{color:#2c5f7f;font-size:20px;font-weight:400;margin:0 0 8px}.brand .punchline{color:#3fb89f;font-size:15px;font-weight:500;margin:0 auto;max-width:320px;line-height:1.4}.login-form-wrapper{max-width:500px;margin:0 auto 20px;padding:20px;background:#fafbfc;border-radius:8px;border:1px solid #e1e4e8}.login-form-wrapper h2{color:#3fb89f;font-size:18px;margin:0 0 15px;font-weight:500}.login-form{margin:0}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:6px;color:#3fb89f;font-size:14px;font-weight:500}.form-group input{width:100%;padding:10px 12px;border:1px solid #d0d7de;border-radius:4px;font-size:14px;background:#fff;color:#24292f;transition:border-color .2s;-webkit-text-fill-color:#24292f}.form-group input:focus{outline:none;border-color:#3fb89f}.form-group input:disabled{background:#f6f8fa;cursor:not-allowed}.form-group input:-webkit-autofill,.form-group input:-webkit-autofill:hover,.form-group input:-webkit-autofill:focus{-webkit-text-fill-color:#24292f;-webkit-box-shadow:0 0 0 1000px white inset;transition:background-color 5000s ease-in-out 0s}.error-message{background:#fff5f5;color:#c53030;padding:10px 12px;border-radius:4px;margin-bottom:15px;font-size:14px;border-left:3px solid #c53030}.success-message{background:#f0fdf4;color:#15803d;padding:10px 12px;border-radius:4px;margin-bottom:15px;font-size:14px;border-left:3px solid #22c55e}.form-group small{display:block;margin-top:4px;font-size:12px;color:#6b7280}.resend-button{width:100%;padding:10px;margin-bottom:15px;background:#3fb89f;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.resend-button:hover:not(:disabled){background:#359681}.resend-button:disabled{opacity:.6;cursor:not-allowed}.button-group{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.login-button,.register-button{padding:10px 20px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.login-button{background:#2c5f7f;color:#fff}.login-button:hover:not(:disabled){background:#234a5e;color:#fff}.register-button{background:#fff;color:#586069;border:1px solid #d0d7de}.register-button:hover:not(:disabled){background:#f6f8fa}.login-button:disabled,.register-button:disabled{opacity:.6;cursor:not-allowed}.limitations{max-width:500px;margin:0 auto 15px;padding:12px 15px;background:#fff8e6;border-left:4px solid #ffb84d;border-radius:4px}.limitations h3{color:#2c5f7f;font-size:14px;margin:0 0 8px;font-weight:600}.limitations ul{margin:0;padding-left:20px;color:#24292f;font-size:12px;line-height:1.5}.limitations li{margin-bottom:5px}.disclaimer{max-width:500px;margin:0 auto 15px;padding:14px 16px;background:#ebf8ff;border-left:3px solid #4299e1;border-radius:4px;font-size:12px;color:#2c5282;line-height:1.5;box-shadow:0 1px 3px #0000000d}.disclaimer strong{color:#2c5f7f;font-size:13px}.footer{max-width:500px;margin:0 auto;text-align:center;color:#586069;font-size:11px;padding-top:12px;border-top:1px solid #e1e4e8}.verification-status{text-align:center;padding:30px 20px}.verification-status p{margin:15px 0 0;color:#4a5568;font-size:14px}.spinner{border:3px solid #f3f4f6;border-top:3px solid #3fb89f;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto}.portfolio-selector{position:relative;width:100%}.selector-display{width:100%;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;background-color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.selector-display:hover{border-color:#2c5f7f}.selector-display.open{border-color:#2c5f7f;box-shadow:0 0 0 2px #2c5f7f1a;border-bottom-left-radius:0;border-bottom-right-radius:0}.selector-display.active-portfolio{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-color:#0ea5e9}.selector-display.active-portfolio:hover{border-color:#0284c7}.dropdown-arrow{font-size:10px;color:#6c757d;transition:transform .2s}.selector-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #2c5f7f;border-top:none;border-radius:0 0 4px 4px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;z-index:1000}.dropdown-option{position:relative;padding:10px 12px;font-size:14px;color:#495057;cursor:pointer;transition:background .2s;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between}.portfolio-option-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-delete-btn{background:none;border:none;cursor:pointer;font-size:12px;padding:2px 4px;opacity:0;transition:opacity .15s;flex-shrink:0}.dropdown-option:hover .portfolio-delete-btn{opacity:.5}.portfolio-delete-btn:hover{opacity:1!important}.dropdown-option:last-child{border-bottom:none}.dropdown-option:hover{background:#f8f9fa}.dropdown-option.selected{background:#e7f3ff;color:#2c5f7f;font-weight:500}.dropdown-option.matching-portfolio{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-left:3px solid #0ea5e9;padding-left:9px}.dropdown-option.matching-portfolio:hover{background:linear-gradient(135deg,#bae6fd,#7dd3fc)}.dropdown-option.disabled{color:#a0aec0;font-style:italic;cursor:not-allowed;background:#f7fafc}.dropdown-option.disabled:hover{background:#f7fafc}.portfolio-tooltip-fixed{position:fixed;background:#fff;border:1px solid #2c5f7f;border-radius:6px;padding:15px;box-shadow:0 4px 16px #0003;width:350px;max-width:350px;z-index:10000;font-size:13px;line-height:1.5;pointer-events:none}.portfolio-tooltip{position:absolute;left:100%;top:0;margin-left:10px;background:#fff;border:1px solid #2c5f7f;border-radius:6px;padding:15px;box-shadow:0 4px 16px #0003;width:350px;max-width:350px;z-index:1001;font-size:13px;line-height:1.5}.tooltip-header{font-size:16px;font-weight:600;color:#2c5f7f;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #3fb89f}.tooltip-section{margin-bottom:10px}.tooltip-section strong{color:#2c5f7f;display:block;margin-bottom:4px;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.strategy-preview{font-size:12px;color:#6c757d;font-style:italic;margin-top:4px}.metrics-preview{font-size:12px;color:#495057;margin-top:4px}.metrics-preview div{margin:2px 0}.strategy-list-full{max-height:150px;overflow-y:auto;margin-top:6px;padding-left:8px;font-size:11px;color:#495057}.strategy-item-compact{margin:2px 0;line-height:1.4}.date-range-display{font-size:12px;color:#495057;margin-top:4px;line-height:1.6}.metrics-full{margin-top:6px;font-size:12px}.metric-row{display:flex;justify-content:space-between;margin:3px 0;padding:2px 0;border-bottom:1px solid #f0f0f0}.metric-row:last-child{border-bottom:none}.metric-key{color:#6c757d;font-weight:500;flex:0 0 55%}.metric-value{color:#495057;text-align:right;flex:1;font-weight:600}.raw-data{font-size:11px;color:#495057;margin-top:4px;padding:6px;background:#f8f9fa;border-radius:3px;font-family:Courier New,monospace;white-space:pre-wrap;word-wrap:break-word;max-height:100px;overflow-y:auto}.strategy-list-full::-webkit-scrollbar,.raw-data::-webkit-scrollbar{width:6px}.strategy-list-full::-webkit-scrollbar-track,.raw-data::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.strategy-list-full::-webkit-scrollbar-thumb,.raw-data::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.strategy-list-full::-webkit-scrollbar-thumb:hover,.raw-data::-webkit-scrollbar-thumb:hover{background:#555}@media(max-width:1024px){.portfolio-tooltip{left:auto;right:100%;margin-left:0;margin-right:10px}}@media(max-width:768px){.portfolio-tooltip{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;width:90%;max-width:350px}}.selector-dropdown::-webkit-scrollbar{width:8px}.selector-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.selector-dropdown::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.selector-dropdown::-webkit-scrollbar-thumb:hover{background:#555}.pricing-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.pricing-modal{background:#fff;border-radius:12px;max-width:680px;width:100%;max-height:90vh;overflow-y:auto;padding:24px 28px;position:relative;box-shadow:0 10px 40px #0003}.close-modal-btn{position:absolute;top:20px;right:20px;background:none;border:none;font-size:32px;color:#718096;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;transition:color .2s}.close-modal-btn:hover{color:#2d3748}.pricing-title{text-align:center;font-size:24px;color:#2c5f7f;margin-bottom:6px}.pricing-subtitle{text-align:center;font-size:14px;color:#718096;margin-bottom:18px}.pricing-error{background:#fee;border:1px solid #fcc;border-radius:6px;padding:12px;margin-bottom:20px;color:#c00;text-align:center}.pricing-comparison{display:flex;flex-direction:column;gap:18px;margin-bottom:16px}.comparison-section{background:#f7fafc;border-radius:8px;padding:16px 18px}.comparison-title{font-size:16px;color:#2d3748;margin-bottom:12px;font-weight:600}.premium-benefits{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.premium-benefits li{display:flex;align-items:flex-start;gap:12px}.benefit-icon{font-size:20px;flex-shrink:0;margin-top:2px}.benefit-text{font-size:13px;color:#4a5568;line-height:1.4}.benefit-text strong{color:#2d3748;margin-bottom:1px}.pricing-plans-compact{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pricing-card-compact{background:#fff;border:2px solid #2c5f7f;border-radius:8px;padding:16px;position:relative;transition:all .3s;background:linear-gradient(135deg,#fff,#f7fafc)}.pricing-card-compact:hover{box-shadow:0 8px 24px #2c5f7f26;transform:translateY(-4px)}.plan-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#3fb89f,#2c9880);color:#fff;padding:6px 16px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.plan-header-compact{text-align:center;margin-bottom:12px}.plan-header-compact h3{font-size:18px;color:#2d3748;margin-bottom:8px}.plan-price{display:flex;align-items:baseline;justify-content:center;gap:4px}.plan-price .price{font-size:32px;font-weight:700;color:#2c5f7f}.plan-price .period{font-size:13px;color:#718096}.plan-savings{margin-top:4px;font-size:11px;color:#3fb89f;font-weight:600}.plan-button{width:100%;padding:10px 18px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.upgrade-button{background:linear-gradient(135deg,#2c5f7f,#1e4a63);color:#fff}.upgrade-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #2c5f7f4d}.upgrade-button:disabled{opacity:.6;cursor:not-allowed}.free-features-note{background:#e6f7f5;border:1px solid #3fb89f;border-radius:6px;padding:10px 14px;margin-bottom:12px}.free-features-note p{margin:0;font-size:12px;color:#2d3748;line-height:1.4}.pricing-footer{text-align:center;padding-top:12px;border-top:1px solid #e2e8f0}.pricing-footer p{margin:4px 0;font-size:12px;color:#718096}@media(max-width:768px){.pricing-modal{padding:24px;max-width:95%}.pricing-title{font-size:22px}.pricing-plans-compact{grid-template-columns:1fr}.plan-price .price{font-size:32px}.benefit-icon{font-size:20px}.benefit-text{font-size:13px}}.contracts-modal{max-width:620px;width:100%;padding:20px 24px}.contracts-modal-title{margin:0 0 6px;font-size:15px;font-weight:600;color:#2d3748}.contracts-modal-sub{margin:0 0 12px;font-size:11px;color:#718096;line-height:1.5}.contracts-multi-badge{display:inline-block;padding:1px 7px;font-size:10px;border-radius:999px;color:#b45309;background:#fffbeb;border:1px solid #fbd38d}.contracts-modal-tools{display:flex;align-items:center;gap:12px;margin-bottom:8px}.contracts-modal-tools input[type=search]{flex:1;padding:4px 8px;font-size:12px;border:1px solid #cbd5e0;border-radius:4px}.contracts-modal-check{font-size:11px;color:#4a5568;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.contracts-modal-scroll{max-height:55vh;overflow:auto;border:1px solid #e2e8f0;border-radius:6px}.contracts-modal-table{width:100%;font-size:12px;border-collapse:collapse}.contracts-modal-table th{position:sticky;top:0;background:#f7fafc;text-align:left;padding:6px 8px;font-weight:500;color:#718096;border-bottom:1px solid #e2e8f0}.contracts-modal-table th:nth-child(2),.contracts-modal-table th:nth-child(3){text-align:center;width:70px}.contracts-modal-table td{padding:4px 8px;border-bottom:1px solid #f1f5f9}.contracts-modal-table tr.multi{background:#fffbeb}.contracts-name{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2d3748}.contracts-modal-table td input[type=number]{width:52px;padding:3px 4px;font-size:12px;text-align:center;border:1px solid #cbd5e0;border-radius:4px;background:#fff;color:#2d3748}.contracts-modal-table td input[type=number].multi{border-color:#fbd38d;color:#b45309;font-weight:600}.contracts-status{width:24px;text-align:center;color:#a0aec0;font-size:11px}.contracts-modal-empty{text-align:center;color:#a0aec0;padding:16px}.contracts-modal-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.contracts-modal-foot .hint{font-size:10px;color:#a0aec0}.contracts-done{padding:6px 14px;font-size:12px;border-radius:6px;cursor:pointer;color:#fff;background:#2c5f7f;border:1px solid #2c5f7f}.contracts-done:hover{background:#244d68}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.filter-panel{background:#fff;border-radius:6px;box-shadow:0 2px 8px #0000001a;margin-bottom:12px;overflow:visible}.filter-header{padding:6px 12px;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.filter-header-left{display:flex;justify-content:space-between;align-items:center;flex:1;cursor:pointer}.filter-header-left:hover{opacity:.8}.filter-header h3{margin:0;font-size:11px;font-weight:600;color:#2c5f7f}.filter-count{font-size:11px;color:#6c757d}.collapse-sidebar-btn{background:transparent;border:none;color:#6c757d;font-size:16px;padding:4px 8px;cursor:pointer;border-radius:4px;transition:all .2s;margin-left:8px}.collapse-sidebar-btn:hover{background:#e9ecef;color:#2c5f7f}.filter-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.filter-content.expanded{max-height:1000px;overflow:visible;transition:max-height .4s ease-in}.filter-content.collapsed{max-height:0}.filter-section{padding:12px;border-bottom:1px solid #e9ecef}.filter-section:last-child{border-bottom:none}.filter-section label{display:block;font-weight:600;margin-bottom:6px;color:#5da596;font-size:12px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.section-header label{margin-bottom:0}.strategy-actions{display:flex;gap:8px;align-items:center}.save-portfolio-icon-btn{background:none;border:none;color:#5da596;cursor:pointer;font-size:16px;padding:2px 6px;position:relative;transition:all .2s;border-radius:4px;z-index:1}.save-portfolio-icon-btn:hover{background:#e7f3ff;transform:scale(1.1)}.save-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:100%;right:-12px;margin-bottom:8px;background:#2d3748;color:#fff;padding:6px 10px;border-radius:4px;font-size:10px;z-index:2;transition:opacity .2s;pointer-events:none;box-shadow:0 2px 8px #0003;max-width:200px;white-space:normal;text-align:right}.save-tooltip:before{content:"";position:absolute;top:100%;right:18px;border:5px solid transparent;border-top-color:#2d3748}.save-portfolio-icon-btn:hover .save-tooltip{visibility:visible;opacity:1}.strategy-action-icon-btn{background:none;border:none;color:#5da596;cursor:pointer;font-size:16px;padding:2px 6px;position:relative;transition:all .2s;border-radius:4px;z-index:1}.strategy-action-icon-btn:hover{background:#e7f3ff;transform:scale(1.1)}.strategy-action-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:100%;right:-12px;margin-bottom:8px;background:#2d3748;color:#fff;padding:6px 10px;border-radius:4px;font-size:10px;z-index:2;transition:opacity .2s;pointer-events:none;box-shadow:0 2px 8px #0003;max-width:150px;white-space:normal;text-align:right}.strategy-action-tooltip:before{content:"";position:absolute;top:100%;right:18px;border:5px solid transparent;border-top-color:#2d3748}.strategy-action-icon-btn:hover .strategy-action-tooltip{visibility:visible;opacity:1}.text-btn{background:none;border:none;color:#2c5f7f;cursor:pointer;font-size:11px;padding:0;text-decoration:underline}.text-btn:hover{color:#1a3d56}.save-portfolio-input-container{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;padding:8px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;width:100%;box-sizing:border-box}.portfolio-name-input-small{flex:1;min-width:120px;max-width:100%;padding:6px 8px;border:1px solid #cbd5e0;border-radius:4px;font-size:12px}.portfolio-name-input-small:focus{outline:none;border-color:#2c5f7f;box-shadow:0 0 0 2px #2c5f7f1a}.save-confirm-btn{padding:6px 10px;background:#3fb89f;border:none;border-radius:4px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;position:relative;min-width:36px}.save-confirm-btn:hover{background:#2c9a83;transform:translateY(-1px)}.save-cancel-btn{padding:6px 10px;background:#f7fafc;border:1px solid #cbd5e0;border-radius:4px;color:#4a5568;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;position:relative;min-width:36px}.save-cancel-btn:hover{background:#edf2f7;border-color:#a0aec0}.save-confirm-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;background:#2d3748;color:#fff;padding:6px 10px;border-radius:4px;font-size:10px;z-index:1000;transition:opacity .2s;pointer-events:none;box-shadow:0 2px 8px #0003;white-space:nowrap}.save-confirm-tooltip:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#2d3748}.save-confirm-btn:hover .save-confirm-tooltip{visibility:visible;opacity:1}.save-cancel-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;background:#2d3748;color:#fff;padding:6px 10px;border-radius:4px;font-size:10px;z-index:1000;transition:opacity .2s;pointer-events:none;box-shadow:0 2px 8px #0003;white-space:nowrap}.save-cancel-tooltip:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#2d3748}.save-cancel-btn:hover .save-cancel-tooltip{visibility:visible;opacity:1}.save-status-message{padding:8px 12px;border-radius:6px;font-size:11px;margin-bottom:8px;font-weight:500}.save-status-message.success{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.save-status-message.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.save-status-message.locked{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.date-inputs{display:flex;align-items:center;gap:6px;margin-bottom:8px}.date-inputs .custom-datepicker-wrapper{flex:1;min-width:0}.date-inputs span{color:#6c757d;font-size:12px}.date-presets{display:flex;flex-wrap:wrap;gap:6px;position:relative}.date-presets button{padding:4px 8px;background:#f8f9fa;border:1px solid #ced4da;border-radius:4px;cursor:pointer;font-size:11px;color:#495057;transition:all .2s}.date-presets button:hover{background:#e9ecef;border-color:#adb5bd}.date-presets button.preset-hidden{display:none}.date-presets button.preset-visible,.date-presets:hover button.preset-hidden{display:inline-block}.event-filter-mode{display:flex;gap:4px;margin-bottom:8px}.event-mode-btn{flex:1;padding:4px 8px;font-size:11px;border:1px solid #ced4da;border-radius:4px;background:#f8f9fa;color:#495057;cursor:pointer;transition:all .15s}.event-mode-btn:hover{background:#e9ecef}.event-mode-btn.active{background:#2c5f7f;color:#fff;border-color:#2c5f7f}.event-filter-checkboxes{display:flex;flex-direction:column;gap:4px}.event-checkbox{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer;padding:3px 0}.event-checkbox input[type=checkbox]{margin:0;cursor:pointer}.event-date-count{color:#6c757d;font-size:10px;margin-left:auto}.clear-btn{font-size:10px;color:#6c757d;background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}.clear-btn:hover{color:#dc3545}.info-message{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:4px;padding:8px 10px;margin-bottom:8px;font-size:11px;color:#004085;line-height:1.4}.info-message-yellow{background:#fef3c7;border:1px solid #fcd34d;border-radius:4px;padding:8px 10px;margin-bottom:8px;font-size:11px;color:#92400e;line-height:1.4}.strategy-search{width:100%;padding:6px 8px;border:1px solid #ced4da;border-radius:4px;font-size:12px;margin-bottom:8px;box-sizing:border-box}.strategy-search:focus{outline:none;border-color:#2c5f7f;box-shadow:0 0 0 2px #2c5f7f1a}.strategy-list{max-height:180px;overflow-y:auto;border:1px solid #e9ecef;border-radius:4px;padding:8px}.strategy-item{display:flex;align-items:center;padding:6px;cursor:pointer;border-radius:4px;transition:background .2s;margin-bottom:4px}.strategy-item:hover{background:#f8f9fa}.strategy-item input[type=checkbox]{margin-right:8px;cursor:pointer}.strategy-item span{font-size:12px;color:#495057}.no-results{text-align:center;padding:15px;color:#6c757d;font-size:12px}.strategy-item-body{display:flex;flex-direction:column;min-width:0}.strategy-item-name{font-size:12px;color:#495057}.lineage-subline{font-size:10px;color:#94a3b8;margin-top:1px}.stitch-lineage-box{margin-top:8px}.stitch-lineage-cutovers{margin-top:6px;padding:6px 8px;background:#faf5ff;border:1px dashed #ddd6fe;border-radius:4px;font-size:10px;color:#6d28d9;line-height:1.6}.stitch-lineage-cutover-row{white-space:normal}.stitch-lineage-toggle{display:flex;align-items:center;gap:6px;margin-top:8px;padding:6px 8px;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:4px;cursor:pointer;font-size:12px;color:#4c1d95;flex-wrap:wrap}.stitch-lineage-toggle input[type=checkbox]{cursor:pointer}.stitch-lineage-hint{flex-basis:100%;font-size:10px;color:#6d28d9;opacity:.85;margin-left:22px}.account-type-hint{font-size:10px;color:#6c757d;font-weight:400}.account-type-hint.premium-hint{color:#856404;font-weight:600}.account-type-checkboxes{display:flex;flex-direction:column;gap:6px}.account-type-checkboxes.guest-disabled{opacity:.6;pointer-events:none}.account-type-checkbox-item{display:flex;align-items:center;padding:6px 8px;border:1px solid #ced4da;border-radius:4px;cursor:pointer;transition:all .2s;background:#fff}.account-type-checkbox-item:hover:not(.disabled){border-color:#2c5f7f;background:#f8f9fa}.account-type-checkbox-item.disabled{opacity:.5;cursor:not-allowed}.account-type-checkboxes.guest-disabled .account-type-checkbox-item{background:#f8f9fa;border-color:#e9ecef;cursor:not-allowed}.account-type-checkbox-item input[type=checkbox]{margin-right:8px;cursor:pointer;width:16px;height:16px}.account-type-checkbox-item.disabled input[type=checkbox]{cursor:not-allowed}.checkbox-label{font-size:12px;font-weight:500;color:#495057;-webkit-user-select:none;user-select:none}.streak-filter-dropdown-row{display:flex;gap:4px;margin-bottom:6px;align-items:center}.streak-filter-dropdown{flex:1;min-width:0;padding:5px 8px;border:1px solid #ced4da;border-radius:4px;font-size:11px;color:#495057;background:#fff;cursor:pointer;box-sizing:border-box}.streak-filter-delete-btn{background:none;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;font-size:13px;padding:3px 6px;color:#a0aec0;transition:all .2s;flex-shrink:0}.streak-filter-delete-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.streak-filter-dropdown:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.streak-filter-meta{font-size:10px;color:#718096;padding:4px 0 6px;line-height:1.4}.streak-filter-actions{display:flex;align-items:center;gap:4px}.streak-filter-list{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.streak-filter-item-wrap{border:1px solid #e2e8f0;border-radius:4px;background:#fff;transition:all .2s}.streak-filter-item-wrap:hover{border-color:#667eea;background:#f7f8ff}.streak-filter-item{display:flex;align-items:center;padding:4px 8px;cursor:pointer;font-size:11px;gap:6px}.streak-filter-item input[type=checkbox]{margin:0;cursor:pointer;width:14px;height:14px;flex-shrink:0}.streak-filter-name{flex:1;font-weight:500;color:#2d3748;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.streak-filter-params{font-size:10px;color:#718096;font-family:monospace;flex-shrink:0}.streak-filter-detail{display:flex;gap:8px;padding:2px 8px 4px 30px;font-size:10px;color:#718096}.streak-filter-detail .positive{color:#38a169;font-weight:600}.streak-filter-detail .negative{color:#e53e3e;font-weight:600}.custom-datepicker-wrapper{position:relative;display:inline-block;width:100%}.custom-datepicker-input{flex:1;width:100%;min-width:0;padding:6px 8px;border:1px solid #ced4da;border-radius:4px;font-size:11px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;cursor:text;color:#2d3748;transition:all .2s}.custom-datepicker-input:hover{border-color:#a0aec0}.custom-datepicker-input:focus{outline:none;border-color:#2c5f7f;box-shadow:0 0 0 2px #2c5f7f1a}.react-datepicker{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:#fff!important;border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 4px 16px #00000026!important;font-size:11px!important}.react-datepicker__triangle{display:none!important}.react-datepicker__header{background-color:#f7fafc!important;border-bottom:1px solid #e2e8f0!important;border-radius:8px 8px 0 0!important;padding-top:12px!important}.react-datepicker__current-month{color:#2d3748!important;font-weight:600!important;font-size:13px!important;margin-bottom:10px!important}.react-datepicker__navigation{top:14px!important}.react-datepicker__navigation-icon:before{border-color:#718096!important;border-width:2px 2px 0 0!important}.react-datepicker__navigation:hover .react-datepicker__navigation-icon:before{border-color:#2c5f7f!important}.react-datepicker__day-names{background-color:#f7fafc!important;margin-top:0!important;padding-bottom:8px!important}.react-datepicker__day-name{color:#718096!important;font-size:10px!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.5px;width:2rem!important;line-height:2rem!important;margin:.15rem!important}.react-datepicker__month{background-color:#fff!important;margin:.6rem!important;padding:0!important}.react-datepicker__week{display:flex!important;justify-content:space-around!important}.react-datepicker__day{color:#2d3748!important;background-color:transparent!important;width:2rem!important;height:2rem!important;line-height:2rem!important;margin:.15rem!important;border-radius:6px!important;font-size:11px!important;transition:all .2s!important;font-weight:500!important}.react-datepicker__day:hover{background-color:#edf2f7!important;border-radius:6px!important;color:#2d3748!important}.react-datepicker__day--selected,.react-datepicker__day--selected:hover{background-color:#2c5f7f!important;color:#fff!important;font-weight:600!important}.react-datepicker__day--today{font-weight:700!important;color:#2c5f7f!important;background-color:#2c5f7f1a!important}.react-datepicker__day--today:hover{background-color:#2c5f7f33!important}.react-datepicker__day--outside-month{color:#cbd5e0!important}.react-datepicker__day--keyboard-selected{background-color:#edf2f7!important;color:#2d3748!important}.react-datepicker__day--keyboard-selected:hover{background-color:#2c5f7f!important;color:#fff!important}.react-datepicker__day--disabled{color:#cbd5e0!important;cursor:not-allowed!important}.react-datepicker__day--disabled:hover{background-color:transparent!important}.react-datepicker-popper{z-index:1000!important}.react-datepicker-popper[data-placement^=bottom]{margin-top:8px!important;transform:none!important}.react-datepicker-popper[data-placement^=top]{margin-bottom:4px!important}.react-datepicker__portal{z-index:1000!important}.journal-teaser{position:relative;min-height:560px;border-radius:8px;overflow:hidden}.journal-teaser-backdrop{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;gap:6px;padding:16px;filter:blur(4px);opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none}.jt-cell{border:1px solid #e3e7ef;border-radius:6px;background:#fafbfd;display:flex;align-items:flex-end;justify-content:flex-end;padding:6px;font-size:.8em;font-weight:600}.jt-win{background:#eafaf1;color:#1e9e62}.jt-loss{background:#fdeeee;color:#c0392b}.journal-teaser-card{position:relative;z-index:1;max-width:480px;margin:70px auto;background:#fff;border-radius:12px;padding:32px 36px;box-shadow:0 8px 32px #1e2d5029;text-align:center}.journal-teaser-card h2{margin:0 0 6px;color:#1f2d3d}.journal-teaser-sub{color:#667;margin:0 0 18px}.journal-teaser-points{list-style:none;padding:0;margin:0 0 22px;text-align:left;color:#334;line-height:2}.journal-teaser-cta{background:#2ecc8f;color:#fff;border:none;border-radius:8px;padding:12px 34px;font-size:1.05em;font-weight:700;cursor:pointer}.journal-teaser-cta:hover{background:#27b57e}.journal-teaser-note{color:#99a;font-size:.85em;margin:10px 0 0}.feature-lock-container{position:relative;min-height:500px;overflow:hidden}.feature-lock-preview{filter:blur(0px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:1;min-height:500px;width:100%;position:relative;z-index:1}.feature-lock-overlay{position:absolute;inset:0;min-height:500px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000}.feature-lock-content{text-align:center;max-width:500px;padding:40px;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a}.feature-lock-content p{color:#4a5568;font-size:16px;line-height:1.6;margin:0 0 10px}.feature-cta{color:#2d3748;font-size:18px;font-weight:600;margin:0 0 20px!important;line-height:1.5}.feature-benefits{text-align:left;color:#4a5568;font-size:15px;line-height:1.8;margin:0 0 30px;padding-left:20px}.feature-benefits li{margin-bottom:10px}.feature-benefits li::marker{color:#3fb89f}.lock-actions{display:flex;flex-direction:column;gap:12px;margin-top:30px}.register-button-primary{background:#3fb89f;color:#fff;border:none;padding:14px 28px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #3fb89f4d}.register-button-primary:hover{background:#359681;transform:translateY(-2px);box-shadow:0 6px 16px #3fb89f66}.request-demo-button{background:#fff;color:#4a5568;border:2px solid #cbd5e0;padding:12px 28px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.request-demo-button:hover{background:#f7fafc;border-color:#a0aec0;color:#2d3748;transform:translateY(-1px)}.automated-dataloader{margin-top:0;margin-bottom:16px;padding:0;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #0ea5e9;border-radius:8px}.automated-dataloader .section-header{font-size:14px;font-weight:600;color:#0c4a6e;margin-bottom:0;display:flex;align-items:center;gap:8px}.premium-badge-inline{font-size:11px;color:#92400e;font-weight:500}.uploader-description{font-size:13px;color:#475569;margin-bottom:16px}.uploader-locked{text-align:center;padding:16px}.uploader-locked p{font-size:13px;color:#64748b;margin-bottom:12px}.upgrade-button{width:100%;max-width:250px;background:linear-gradient(135deg,#4299e1,#2c5f7f);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.upgrade-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4299e14d;background:linear-gradient(135deg,#3182ce,#234b66)}.uploader-config{margin-bottom:12px;padding:12px}.config-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.config-label{display:flex;align-items:center;gap:6px;min-width:90px;cursor:pointer}.config-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.data-type-label{font-size:13px;font-weight:600;color:#1e293b}.path-input{flex:1;padding:6px 10px;border:1px solid #cbd5e1;border-radius:5px;font-size:12px;transition:border-color .2s}.path-input:focus{outline:none;border-color:#0ea5e9}.path-input:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.mode-select{padding:6px;border:1px solid #cbd5e1;border-radius:5px;font-size:12px;background:#fff;cursor:pointer}.mode-select:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.save-config-btn{width:100%;padding:8px;background:#0ea5e9;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:6px}.save-config-btn:hover:not(:disabled){background:#0284c7}.save-config-btn:disabled{opacity:.6;cursor:not-allowed}.download-section{margin:12px 0 8px;padding:12px;background:#fff;border:1px solid #cbd5e1;border-radius:6px}.download-label{font-size:13px;font-weight:600;color:#334155;margin-bottom:10px}.download-buttons{display:flex;gap:10px}.download-btn{flex:1;padding:10px;background:#fff;border:2px solid #0ea5e9;color:#0ea5e9;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.download-btn:hover{background:#0ea5e9;color:#fff}.setup-instructions-box{margin-top:20px;padding:15px;background:#fffbeb;border:1px solid #fbbf24;border-radius:6px}.setup-instructions-box h4{margin:0 0 12px;color:#92400e;font-size:15px}.instructions-content{font-size:13px;color:#78350f;line-height:1.6}.instructions-content p{margin:10px 0 5px}.instructions-content ol{margin:5px 0 15px 20px;padding:0}.instructions-content li{margin:5px 0}.instructions-content code{background:#fef3c7;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:12px;color:#92400e}.instructions-content pre{background:#fef3c7;padding:8px;border-radius:4px;margin:5px 0;font-family:Courier New,monospace;font-size:11px;color:#92400e;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}.instructions-note{margin-top:15px!important;padding:10px;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:4px;font-size:13px}.upload-history{margin-top:20px;padding:16px;background:#fff;border:1px solid #cbd5e1;border-radius:6px}.history-header{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;color:#1e293b;padding:8px 0}.history-list{margin-top:12px}.no-logs{font-size:13px;color:#94a3b8;text-align:center;padding:20px}.log-entry{display:flex;align-items:center;gap:12px;padding:10px;margin-bottom:8px;background:#f8fafc;border-radius:5px;font-size:12px}.log-entry.log-success{border-left:3px solid #22c55e}.log-entry.log-error{border-left:3px solid #ef4444}.log-icon{font-size:14px}.log-type{font-weight:600;color:#334155;min-width:60px}.log-details{flex:1;color:#64748b}.log-time{font-size:11px;color:#94a3b8;white-space:nowrap}.upload-mode-tooltip{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:5px;padding:8px 12px;background:#1e293b;color:#fff;font-size:11px;line-height:1.5;border-radius:6px;white-space:nowrap;z-index:1000;box-shadow:0 4px 12px #00000026;animation:fadeIn .1s ease-in}.upload-mode-tooltip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:#1e293b}.download-btn.selected{background:#0ea5e9;color:#fff;border-color:#0284c7}.column-mapper{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:24px;margin:20px 0}.mapper-header{margin-bottom:24px}.mapper-header h3{font-size:18px;font-weight:600;color:#2d3748;margin:0 0 8px}.mapper-header p{font-size:14px;color:#718096;margin:0}.mapping-list{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.mapping-item{padding:16px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px}.mapping-item.missing{border-color:#feb2b2;background:#fff5f5}.mapping-item.optional{background:#fafafa;border-style:dashed}.mapping-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.required-field{display:flex;align-items:center;gap:8px}.field-name{font-size:14px;font-weight:600;color:#2d3748}.field-badge{padding:2px 8px;background:#4299e1;color:#fff;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.field-badge.optional{background:#a0aec0}.confidence-badge{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600}.confidence-high{background:#c6f6d5;color:#22543d}.confidence-medium{background:#feebc8;color:#7c2d12}.confidence-low{background:#fed7d7;color:#742a2a}.mapping-control{display:flex;flex-direction:column;gap:6px}.mapping-control label{font-size:13px;color:#4a5568;font-weight:500}.mapping-control select{padding:8px 12px;border:1px solid #cbd5e0;border-radius:4px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .2s}.mapping-control select:hover{border-color:#4299e1}.mapping-control select:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.mapping-control select.unmapped{border-color:#fc8181}.suggestions{margin-top:12px;padding-top:12px;border-top:1px dashed #cbd5e0}.suggestions-label{font-size:12px;color:#718096;margin:0 0 8px;font-weight:500}.suggestion-buttons{display:flex;gap:8px;flex-wrap:wrap}.suggestion-button{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1px solid #cbd5e0;border-radius:4px;font-size:13px;color:#2d3748;cursor:pointer;transition:all .2s}.suggestion-button:hover{border-color:#4299e1;background:#ebf8ff}.suggestion-confidence{padding:2px 6px;background:#edf2f7;border-radius:3px;font-size:11px;font-weight:600;color:#4a5568}.column-info{margin-top:8px;font-size:12px;color:#718096}.column-type{padding:2px 8px;background:#e6fffa;color:#234e52;border-radius:3px;font-weight:500}.default-value{font-style:italic}.optional-columns-section{margin-top:24px;padding-top:24px;border-top:2px solid #e2e8f0}.optional-columns-section h4{font-size:16px;font-weight:600;color:#4a5568;margin:0 0 16px}.mapping-errors{margin-bottom:20px}.error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff5f5;border:1px solid #feb2b2;border-radius:6px;color:#c53030;font-size:14px;margin-bottom:8px}.error-icon{font-size:18px;flex-shrink:0}.mapper-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #e2e8f0}.btn-cancel,.btn-confirm{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel{background:#edf2f7;color:#4a5568}.btn-cancel:hover{background:#e2e8f0}.btn-confirm{background:#4299e1;color:#fff}.btn-confirm:hover{background:#3182ce}.btn-confirm:active{transform:scale(.98)}.global-data-uploader{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px;margin-bottom:20px}.global-data-uploader.collapsed{padding:0;border:none;background:transparent;margin-bottom:12px}.expand-upload-btn{padding:8px 16px;background:#667eea;border:1px solid #5a67d8;border-radius:6px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #667eea33}.expand-upload-btn:hover{background:#5a67d8;transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.uploader-header{margin-bottom:20px}.header-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.collapse-upload-btn{padding:4px 12px;background:#f7fafc;border:1px solid #cbd5e0;border-radius:4px;color:#4a5568;font-size:12px;cursor:pointer;transition:all .2s}.collapse-upload-btn:hover{background:#edf2f7;border-color:#a0aec0}.uploader-header h3{margin:0;font-size:16px;font-weight:600;color:#2d3748}.uploader-header p{margin:0;font-size:13px;color:#718096}.data-privacy-notice{color:#0369a1!important;font-weight:500!important}.logged-in-non-premium-notice{background:#fffbeb;border:1px solid #fbbf24;border-radius:6px;padding:12px 16px;margin-top:12px}.logged-in-non-premium-notice p{margin:0;font-size:13px;color:#92400e;line-height:1.6}.logged-in-non-premium-notice strong{color:#78350f;font-weight:600}.column-requirements{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;padding:12px 16px;margin-top:12px}.column-requirements p{margin:4px 0;font-size:12px;color:#0c4a6e}.column-requirements strong{color:#075985;font-weight:600}.upload-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff5f5;border:1px solid #feb2b2;border-radius:6px;color:#c53030;font-size:13px;margin-bottom:20px}.upload-warning{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fffbeb;border:1px solid #fbbf24;border-radius:6px;color:#92400e;font-size:13px;margin-bottom:20px}.upload-warning strong{color:#78350f;font-weight:600}.upload-success{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;background:#f0fdf4;border:1px solid #86efac;border-radius:6px;margin-bottom:20px}.success-content{display:flex;align-items:center;gap:10px;color:#166534;font-size:12px}.success-content>span{white-space:pre-line;line-height:1.6}.go-dashboard-btn{padding:8px 16px;background:#10b981;border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 4px #10b98133}.go-dashboard-btn:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.upload-sections{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;align-items:start}.upload-section{display:flex;flex-direction:column;gap:10px;align-items:stretch}.upload-label{display:flex;flex-direction:column;gap:4px;min-height:60px}.label-text{font-size:13px;font-weight:600;color:#2d3748}.label-hint{font-size:11px;color:#718096;font-style:italic}.upload-zone{position:relative;border:2px dashed #cbd5e0;border-radius:6px;padding:30px 20px;text-align:center;background:#f7fafc;cursor:pointer;transition:all .2s}.upload-zone:hover{border-color:#667eea;background:#edf2f7}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-input:disabled{cursor:not-allowed}.upload-prompt{display:flex;flex-direction:column;gap:6px;pointer-events:none}.upload-prompt span:first-child{font-size:14px;font-weight:500;color:#4a5568}.upload-formats{font-size:11px;color:#a0aec0}.uploaded-card{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#e0f2fe,#bae6fd);border:2px solid #0ea5e9;border-radius:6px}.uploaded-info{display:flex;flex-direction:column;gap:6px}.uploaded-filename{font-size:13px;font-weight:600;color:#0c4a6e}.uploaded-stats{display:flex;align-items:center;gap:8px;font-size:11px;color:#075985}.uploaded-stats span{white-space:nowrap}.clear-btn{padding:6px 12px;background:#fff;border:1px solid #0ea5e9;border-radius:4px;color:#0369a1;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.clear-btn:hover{background:#f0f9ff;border-color:#0284c7}.clear-all-section{text-align:center;padding-top:10px;border-top:1px solid #e2e8f0;margin-bottom:20px}.clear-all-btn{padding:8px 20px;background:#f56565;border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.clear-all-btn:hover{background:#e53e3e;transform:translateY(-1px)}.upgrade-prompt{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:6px;padding:12px 16px}.upgrade-prompt p{margin:0;font-size:12px;color:#92400e;line-height:1.5}.upgrade-prompt strong{color:#78350f}.example-data-option{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px}.load-example-btn{padding:8px 16px;background:#0ea5e9;border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0ea5e933}.load-example-btn:hover{background:#0284c7;transform:translateY(-1px);box-shadow:0 4px 8px #0ea5e94d}.example-data-hint{font-size:11px;color:#0369a1;font-style:italic}.try-example-header-btn{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;animation:pulse 2s ease-in-out infinite}.try-example-header-btn:hover{transform:translateY(-1px);box-shadow:0 2px 6px #f59e0b66;animation:none;opacity:1}.try-example-btn-inline{padding:6px 16px;background-color:#4299e1;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s ease;white-space:nowrap;flex-shrink:0}.try-example-btn-inline:hover{background-color:#3182ce}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.modal-content{background:#fff;border-radius:12px;padding:24px;box-shadow:0 20px 60px #0000004d;max-width:90%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-body{margin-bottom:20px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}@media(max-width:768px){.upload-sections{grid-template-columns:1fr}.example-data-option{flex-direction:column;align-items:flex-start;gap:8px}}.zones-tab{padding:12px 20px;max-width:1600px;margin:0 auto}.zones-main-layout{display:flex;gap:16px;align-items:flex-start}.zones-chart-col{flex:1;min-width:0}.zones-sidebar{width:280px;min-width:280px;max-height:600px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.zones-sidebar::-webkit-scrollbar{width:5px}.zones-sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}@media(max-width:900px){.zones-main-layout{flex-direction:column}.zones-sidebar{width:100%;min-width:0;max-height:none}}.chart-toolbar{position:absolute;top:0;left:0;right:0;z-index:15;padding:6px 8px;background:#ffffffe0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid rgba(226,232,240,.5)}.chart-toolbar-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chart-toolbar-group{display:flex;align-items:center;gap:2px}.chart-toolbar-label{font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.3px;margin-right:2px}.chart-toolbar-sep{width:1px;height:18px;background:#cbd5e1;margin:0 4px;flex-shrink:0}.chart-pill{padding:2px 7px;border:1px solid #e2e8f0;border-radius:4px;font-size:11px;font-weight:600;font-family:SF Mono,Menlo,monospace;color:#94a3b8;background:transparent;cursor:pointer;transition:all .12s;white-space:nowrap;line-height:1.4}.chart-pill:hover{color:#475569;border-color:#94a3b8;background:#f1f5f9b3}.chart-pill.active{color:#1e293b;background:#f1f5f9;border-color:#94a3b8}.chart-loading-overlay{position:absolute;inset:0;z-index:12;display:flex;align-items:center;justify-content:center;background:#ffffff8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none}.chart-loading-overlay span{font-size:13px;font-weight:600;color:#475569;background:#ffffffe6;padding:8px 16px;border-radius:6px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #00000014}.perspective-popover{position:absolute;top:30px;left:0;z-index:20;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0000001f;padding:12px;width:260px}.perspective-popover-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:700;color:#1e293b}.perspective-popover-close{background:none;border:none;font-size:16px;color:#94a3b8;cursor:pointer;padding:0 4px;line-height:1}.perspective-popover-close:hover{color:#1e293b}.perspective-popover-hint{font-size:11px;color:#64748b;margin:0 0 8px;line-height:1.4}.zones-controls{display:flex;align-items:flex-end;gap:10px;margin-bottom:10px;padding:8px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.zones-control-group{display:flex;flex-direction:column;gap:4px}.zones-control-group label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.zones-select,.zones-input{padding:4px 8px;border:1px solid #e2e8f0;border-radius:5px;font-size:12px;color:#1e293b;background:#fff}.zones-input[type=datetime-local]{max-width:185px}.zones-calculate-btn{padding:8px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.zones-calculate-btn:hover{background:#2563eb}.zones-calculate-btn:disabled{background:#94a3b8;cursor:not-allowed}.zones-tf-filters{border-left:1px solid #e2e8f0;padding-left:16px}.zones-tf-checkboxes{display:flex;gap:6px}.zones-tf-checkbox{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:#94a3b8;cursor:pointer;padding:4px 8px;border-radius:4px;border:1px solid #e2e8f0;transition:all .15s}.zones-tf-checkbox.active{color:#1e293b;background:#f1f5f9;border-color:#94a3b8}.zones-tf-checkbox input{display:none}.zone-tf-badge{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase}.zone-tf-badge.tf-4h{background:#1e293b;color:#fff}.zone-tf-badge.tf-1h{background:#e2e8f0;color:#475569}.zone-tf-badge.tf-15m{background:#fef3c7;color:#92400e}.zones-error{padding:10px 16px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;font-size:12px;margin-bottom:16px}@media(max-width:768px){.zones-controls{flex-wrap:wrap}}.zones-summary-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px 16px}.zones-summary-section.demand{border-left:4px solid #16a34a}.zones-summary-section.supply{border-left:4px solid #dc2626}.zones-summary-section h4{margin:0 0 10px;font-size:13px;font-weight:700;color:#1e293b}.zone-card{padding:8px 10px;border-radius:5px;margin-bottom:6px}.zone-card.demand{background:#f0fdf4}.zone-card.supply{background:#fef2f2}.zone-card-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.zone-label{font-size:11px;font-weight:700;color:#1e293b}.zone-strength{font-size:9px;font-weight:700;padding:1px 6px;border-radius:3px;text-transform:uppercase}.strength-strong{background:#16a34a;color:#fff}.strength-moderate{background:#d97706;color:#fff}.strength-weak{background:#e2e8f0;color:#64748b}.zone-tfs{font-size:9px;color:#94a3b8}.zone-range{font-size:14px;font-weight:600;color:#1e293b;font-family:SF Mono,monospace}.zone-dist{font-size:10px;color:#64748b;margin-top:2px}.zones-empty{font-size:12px;color:#94a3b8;font-style:italic;margin:0}.zones-premarket{font-size:11px;color:#3b82f6;background:#eff6ff;padding:6px 12px;border-radius:5px;margin-bottom:12px;border-left:3px solid #3b82f6}.zones-chart{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.zones-stale-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;margin-bottom:8px;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;font-size:13px;line-height:1.5;color:#92400e}.zones-stale-icon{font-size:18px;flex-shrink:0}.zones-live-sentiment-pill.sent-locked{background:#94a3b826;color:#94a3b8;filter:blur(.3px);cursor:default}.zones-chart-gated{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;min-height:320px;padding:40px 24px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);color:#475569}.zones-chart-gated-icon{font-size:34px}.zones-chart-gated-title{font-size:16px;font-weight:700;color:#1e293b}.zones-chart-gated-text{font-size:13px;max-width:460px;line-height:1.6;color:#64748b}.zones-chart-gated-opts{font-size:13px;color:#0369a1;margin-top:4px}.zones-chart-gated-cta{background:#2ecc8f;color:#fff;border:none;border-radius:8px;padding:10px 28px;font-size:14px;font-weight:700;cursor:pointer;margin-top:6px}.zones-chart-gated-cta:hover{background:#27b57e}.chart-instruments-banner{display:flex;align-items:center;gap:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a5f;border-radius:6px;padding:6px 12px;margin-bottom:8px;font-size:12px}.chart-instruments-banner-close{margin-left:auto;background:none;border:none;color:#64748b;font-size:16px;cursor:pointer;line-height:1}.chart-instruments-banner-close:hover{color:#1e3a5f}.chart-pill.coming-soon{opacity:.55}.chart-pill.coming-soon:hover{opacity:.85}.zones-settings-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#1a4863;border:1px solid #2a5a78;border-radius:6px;padding:5px 12px;margin-bottom:8px;font-size:11px;color:#fff}.zones-settings-bar .live-spend-toggle:not(.on){border-color:#8fb3c7;color:#d3e3ec}.zones-settings-bar .live-spend-toggle.on{border-color:#34d399;color:#6ee7b7}.zones-info-group{background:#1e293b;border-radius:6px;margin-bottom:8px}.zones-info-group .zones-status-bar,.zones-info-group .golden-levels-bar{background:transparent;border-radius:0;margin-bottom:0}.zones-info-group>*+*{border-top:1px solid #2b3a50}.zones-status-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#1e293b;border-radius:6px;padding:4px 12px;margin-bottom:8px;font-size:11px}.zones-headlines-block{display:block}.zones-status-title{font-size:9px;font-weight:700;letter-spacing:1px;color:#eab308;font-family:SF Mono,Menlo,monospace;cursor:default}.zones-status-sep{color:#475569}.live-spend-toggle{background:none;border:1px solid #475569;border-radius:4px;color:#94a3b8;font-size:10px;font-family:SF Mono,Menlo,monospace;padding:2px 8px;cursor:pointer;white-space:nowrap}.live-spend-toggle.on{border-color:#10b981;color:#10b981}.live-spend-toggle:not(.on){border-color:#64748b;color:#64748b}.golden-levels-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#1e293b;border-radius:6px;padding:4px 12px;margin-bottom:8px;font-size:11px;font-family:SF Mono,Menlo,monospace;color:#cbd5e1}.golden-levels-title{font-size:9px;font-weight:700;letter-spacing:1px;color:#eab308;cursor:default}.golden-level-chip{display:inline-flex;align-items:center;gap:5px;padding:1px 7px;border-radius:4px;border:1px solid transparent;white-space:nowrap}.golden-level-chip.near{border-color:#eab308;background:#eab3081f;color:#fde68a}.golden-level-chip.near.super{background:#eab30840}.golden-project-btn{background:none;border:1px solid #475569;border-radius:3px;color:#94a3b8;font-size:11px;line-height:1;width:16px;height:16px;padding:0;cursor:pointer;margin-left:2px}.golden-project-btn:hover{border-color:#eab308;color:#eab308}.golden-level-chip:has(.golden-project-btn:hover):hover:after{display:none}.golden-project-btn.zones-live-tip:hover:after{width:auto;white-space:nowrap;left:auto;right:0}.golden-project-btn.active{border-color:#eab308;color:#eab308;background:#eab30826}.golden-up{color:#34d399;font-size:10px}.golden-down{color:#f87171;font-size:10px}.golden-dist{color:#64748b;font-size:10px}.golden-level-chip.near .golden-dist{color:#fbbf24}.guest-heat-strip{width:100%;max-width:820px;margin-top:22px;text-align:left}.guest-heat-title{font-size:12px;font-weight:600;color:#475569;margin-bottom:8px}.guest-heat-row{display:flex;align-items:center;gap:8px;margin-bottom:3px}.guest-heat-label{width:26px;font-size:11px;color:#64748b;font-weight:600;text-align:right}.guest-heat-cells{display:flex;flex:1;gap:1px;height:16px}.guest-heat-cell{flex:1;min-width:2px;border-radius:1px}.guest-heat-axis{display:flex;justify-content:space-between;margin:4px 0 0 34px;font-size:10px;color:#94a3b8;font-family:SF Mono,Menlo,monospace}.zone-lifecycle{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin-top:4px;font-size:10px;font-weight:600}.lifecycle-phase.demand{color:#16a34a}.lifecycle-phase.supply{color:#dc2626}.zone-flip{font-size:9px;font-weight:700;padding:1px 4px;border-radius:2px;background:#fef3c7;color:#d97706}.zones-placeholder{text-align:center;padding:60px 20px;color:#94a3b8;font-size:14px}.zones-placeholder-controls{display:flex;flex-direction:column;align-items:center;gap:4px}.zone-alert-btn{margin-left:auto;background:none;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;font-size:12px;padding:2px 6px;opacity:.6;transition:opacity .15s}.zone-alert-btn:hover{opacity:1;border-color:#f59e0b}.alert-bound-btns{display:flex;gap:4px;margin-bottom:6px}.alert-bound-btn{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid #e2e8f0;background:#f8fafc;color:#475569}.alert-bound-btn:hover{border-color:#3b82f6;color:#3b82f6}.alert-bound-btn.active{background:#eff6ff;border-color:#3b82f6;color:#1e40af}.alert-form-desc{font-size:11px;color:#64748b;background:#f8fafc;padding:8px 10px;border-radius:6px;margin-top:4px;line-height:1.4}.zones-levels-section h4{font-size:12px;font-weight:700;text-transform:uppercase;color:#64748b;margin:0 0 8px;letter-spacing:.5px}.level-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;margin-bottom:6px;transition:border-color .15s}.level-card.resistance{border-left:3px solid #f43f5e}.level-card.support{border-left:3px solid #0d9488}.level-card:hover{border-color:#94a3b8}.level-card-header{display:flex;align-items:center;gap:8px}.level-card-label{font-size:11px;font-weight:700;color:#64748b;min-width:50px}.level-card-price{font-size:13px;font-weight:600;color:#1e293b;font-variant-numeric:tabular-nums}.level-card-meta{font-size:11px;color:#94a3b8;margin-left:auto}.alert-field-hint{font-size:10px;color:#94a3b8;margin-top:2px}.level-card.clickable{cursor:pointer}.level-card.clickable:hover{background:#f1f5f9}.level-detail-panel{margin-top:8px;padding-top:8px;border-top:1px solid #e2e8f0}.level-detail-row{display:flex;align-items:center;gap:10px;padding:3px 0;font-size:11px}.level-detail-type{font-weight:600;min-width:90px}.level-detail-type.high{color:#ef4444}.level-detail-type.low{color:#0d9488}.level-detail-price{font-variant-numeric:tabular-nums;color:#475569}.level-detail-date{color:#64748b;font-variant-numeric:tabular-nums}.level-detail-meta{color:#94a3b8;font-size:10px}.zones-data-freshness{font-size:11px;padding:4px 12px;border-radius:6px;margin-bottom:8px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.zones-data-freshness.fresh{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.zones-data-freshness.stale{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.freshness-warn{font-weight:600}.zones-recalc-btn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;font-size:13px;padding:4px 8px;color:#64748b;line-height:1;transition:all .15s}.zones-recalc-btn:hover{background:#e2e8f0;color:#1e293b}.zones-recalc-btn:disabled{opacity:.5;cursor:not-allowed}.zones-calc-time{font-size:10px;color:#94a3b8;white-space:nowrap}.refresh-bar-track{height:3px;background:#e2e8f0;border-radius:2px;margin-bottom:6px;overflow:hidden}.refresh-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:2px;transition:width 1s linear}.zones-auto-refresh{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.auto-refresh-toggle{background:none;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;font-size:11px;padding:1px 6px;color:#64748b;line-height:1}.auto-refresh-toggle.active{color:#16a34a;border-color:#bbf7d0;background:#f0fdf4}.auto-refresh-toggle:hover{border-color:#94a3b8}.zones-chart-hint{text-align:center;font-size:11px;color:#64748b;padding:6px 0;background:#f8fafc;border-top:1px solid #e2e8f0}.confluence-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.confluence-modal{background:#1e293b;border:1px solid #334155;border-radius:10px;width:400px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0006}.confluence-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #334155}.confluence-modal-header h3{margin:0;font-size:15px;color:#f1f5f9}.confluence-modal-close{background:none;border:none;color:#94a3b8;font-size:20px;cursor:pointer;padding:0 4px;line-height:1}.confluence-modal-close:hover{color:#f1f5f9}.confluence-modal-body{padding:14px 16px}.confluence-toggle-row{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:13px;color:#e2e8f0;cursor:pointer}.confluence-section{margin-bottom:14px}.confluence-section h4{margin:0 0 8px;font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.confluence-checkbox-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#cbd5e1;cursor:pointer}.confluence-checkbox-row input[type=checkbox]{accent-color:#f59e0b}.zones-controls-section{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.zones-controls-divider{width:1px;height:28px;background:#cbd5e1;margin:0 4px;flex-shrink:0}.confluence-sidebar{width:260px;flex-shrink:0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px;max-height:600px;overflow-y:auto}.confluence-sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.confluence-sidebar-header h4{margin:0;font-size:13px;color:#334155}.confluence-sidebar-empty{font-size:12px;color:#94a3b8;text-align:center;padding:16px 0}.confluence-sidebar-list{display:flex;flex-direction:column;gap:6px}.confluence-alerts h4{color:#f59e0b}.confluence-alert-card{background:#1e293b;border:1px solid #334155;border-left:3px solid;border-radius:6px;padding:8px 10px;margin-bottom:6px;font-size:12px}.confluence-alert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.confluence-alert-dir{font-weight:700;font-size:12px}.confluence-alert-score{color:#94a3b8;font-size:11px}.confluence-alert-time{color:#64748b;font-size:11px;margin-bottom:2px}.confluence-alert-instruments{color:#94a3b8;font-size:11px;line-height:1.3}.companion-chart-label{position:absolute;top:6px;right:12px;z-index:10;font-size:11px;font-weight:700;color:#94a3b8;background:#fffc;padding:2px 8px;border-radius:4px}.vol-spike-toast{position:fixed;width:340px;background:#1e293b;border:1px solid #334155;border-radius:8px;box-shadow:0 8px 32px #0006;z-index:1000;font-family:SF Mono,Menlo,monospace;overflow:hidden}.vol-spike-toast-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#10b98126;border-bottom:1px solid #334155;font-size:12px;font-weight:600;color:#10b981;cursor:grab;-webkit-user-select:none;user-select:none}.vol-spike-toast-header:active{cursor:grabbing}.vol-spike-toast-body{max-height:240px;overflow-y:auto;padding:4px 0}.vol-spike-row{display:flex;align-items:center;gap:8px;padding:5px 12px;font-size:11px;color:#fff;border-bottom:1px solid rgba(51,65,85,.4)}.vol-spike-row.fresh{background:#10b98114;color:#fff}.vol-spike-sym{font-weight:700;color:#f1f5f9;min-width:32px}.vol-spike-ratio{color:#ef4444;font-weight:700;min-width:36px}.vol-spike-detail{flex:1;font-size:10px;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vol-spike-age{font-size:10px;color:#cbd5e1;min-width:40px;text-align:right}.zones-live-bar{background:var(--surface-inverse, #1e293b);border:1px solid var(--border-3, #334155);border-radius:8px;margin-bottom:8px}.zones-live-bar-collapsed{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;flex-wrap:wrap;min-height:32px;border-radius:7px}.zones-live-bar-expanded{border-radius:0 0 7px 7px}.zones-live-bar-collapsed:hover{background:#3341554d}.zones-live-bar-toggle{color:#64748b;font-size:11px;flex-shrink:0}.zones-live-collapse-hint{font-size:16px;font-weight:700;line-height:1;color:#cbd5e1;background:#33415580;border:1px solid #475569;border-radius:4px;padding:2px 8px 4px;flex-shrink:0;white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer}.zones-live-cost-box{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(250,204,21,.35);border-radius:6px;padding:2px 6px;flex-shrink:0}.zones-live-bar-collapsed:hover .zones-live-collapse-hint{color:#fff;border-color:#64748b}.zones-live-tip.tip-right:hover:after{left:auto;right:0}.zones-live-tip{position:relative;cursor:default}button.zones-live-tip{cursor:pointer}.zones-live-tip:hover:after{content:attr(data-tip);position:absolute;top:calc(100% + 6px);left:0;width:280px;background:#0f172a;color:#e2e8f0;border:1px solid #334155;border-radius:6px;padding:8px 10px;font-size:11px;font-weight:400;line-height:1.5;white-space:normal;text-transform:none;letter-spacing:normal;z-index:1200;box-shadow:0 8px 24px #0006;pointer-events:none}.zones-live-vix-pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;white-space:nowrap}.zones-live-vix-pill.vix-risk-on{background:#10b98126;color:#10b981}.zones-live-vix-pill.vix-risk-off{background:#ef444426;color:#ef4444}.zones-live-vix-pill.vix-neutral{background:#94a3b826;color:#94a3b8}.zones-live-session-pill{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px}.zones-live-session-pill.available{background:#10b98126;color:#10b981}.zones-live-session-pill.used{background:#eab30826;color:#eab308}.zones-live-session-pill.in-position{background:#f9731633;color:#f97316;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.7}}.zones-live-sentiment-group{display:inline-flex;align-items:center;gap:4px}.zones-live-sentiment-label{font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.3px}.zones-live-sentiment-pill{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;white-space:nowrap;letter-spacing:.3px}.zones-live-sentiment-pill.sent-up{background:#10b98126;color:#10b981}.zones-live-sentiment-pill.sent-down{background:#ef444426;color:#ef4444}.zones-live-sentiment-pill.sent-neutral{background:#94a3b826;color:#94a3b8}.zones-live-warning-pill{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;background:#ef444426;color:#ef4444;white-space:nowrap}.zones-live-refresh-btn{background:#3b82f626;border:1px solid #3b82f6;color:#60a5fa;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;cursor:pointer;margin-left:auto;flex-shrink:0;white-space:nowrap}.zones-live-refresh-btn:hover{color:#fff;background:#3b82f64d;border-color:#60a5fa}.zones-live-bar-expanded{border-top:1px solid #334155;padding:10px 12px}.zones-live-context{font-size:12px;color:#cbd5e1;line-height:1.5;margin-bottom:8px}.zones-live-headlines{display:flex;flex-direction:column;gap:3px}.zones-live-headlines .headline-row{border-left-color:#334155}.zones-live-headlines .headline-time{color:#64748b}.zones-live-headlines .headline-source{color:#3b82f6}.zones-live-headlines .headline-text{color:#cbd5e1}.zones-live-headlines .headline-high{border-left-color:#ef4444}.zones-live-headlines .headline-high .headline-text{color:#fca5a5}.zones-live-headlines .headline-medium{border-left-color:#f59e0b}.zones-live-headlines .headline-medium .headline-text{color:#e2e8f0}.zones-live-warnings{margin-top:8px}.chart-delayed-badge{position:absolute;top:8px;right:12px;z-index:20;padding:3px 10px;background:#f59e0b;color:#fff;font-size:11px;font-weight:700;border-radius:12px;box-shadow:0 1px 4px #0003;cursor:default}.zones-live-admin-off{font-size:11px;color:#fff;background:#94a3b82e;padding:2px 8px;border-radius:4px;cursor:default}.journal-tab{padding:20px;max-width:1400px;margin:0 auto}.journal-error{padding:10px 16px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;font-size:12px;margin-bottom:16px}.journal-placeholder{text-align:center;padding:48px 20px;color:#94a3b8;font-size:14px}.journal-monthly-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px 20px;margin-bottom:16px}.journal-monthly-stats{display:flex;gap:32px;flex-wrap:wrap;align-items:center}.journal-monthly-stat{display:flex;flex-direction:column;gap:2px}.journal-monthly-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8}.journal-monthly-value{font-size:20px;font-weight:700;color:#1e293b;font-family:SF Mono,monospace}.journal-monthly-value.pos{color:#16a34a}.journal-monthly-value.neg{color:#dc2626}.cal-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:12px}.cal-nav{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 20px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.cal-nav-btn{background:none;border:1px solid #e2e8f0;border-radius:5px;width:28px;height:28px;cursor:pointer;font-size:16px;color:#475569;display:flex;align-items:center;justify-content:center;transition:background .1s}.cal-nav-btn:hover{background:#e2e8f0}.cal-month-label{font-size:15px;font-weight:700;color:#1e293b;min-width:180px;text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-header-row{border-bottom:1px solid #e2e8f0;background:#f8fafc}.cal-dow{padding:8px 0;text-align:center;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8}.cal-tile{min-height:130px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;position:relative;transition:background .1s;overflow:hidden}.cal-tile:nth-child(7n){border-right:none}.cal-tile-empty{background:#fafafa;cursor:default}.cal-tile-no-trades{background:#fff}.cal-tile-no-trades:hover{background:#f8fafc}.cal-tile-has-trades{background:#fff}.cal-tile-has-trades:hover{background:#f0f9ff}.cal-tile-needs-review{background:#fef2f2!important;border-left:3px solid #fca5a5}.cal-tile-complete{background:#f0fdf4!important;border-left:3px solid #86efac}.cal-tile-today{box-shadow:inset 0 0 0 2px #3b82f6}.cal-tile-selected{background:#eff6ff!important;box-shadow:inset 0 0 0 2px #3b82f6}.cal-tile-top{display:flex;align-items:baseline;justify-content:space-between;padding:6px 8px 5px;flex-shrink:0}.cal-tile-day{font-size:14px;font-weight:600;color:#475569;line-height:1}.cal-tile-today .cal-tile-day{color:#3b82f6}.cal-tile-pnl{font-size:13px;font-weight:700;font-family:SF Mono,monospace;line-height:1}.cal-tile-pnl.pos{color:#16a34a}.cal-tile-pnl.neg{color:#dc2626}.cal-tile-split{display:flex;flex:1;min-height:0;border-top:1px dashed #e2e8f0}.cal-half{flex:1;display:flex;flex-direction:column;padding:4px 6px 5px;min-width:0;gap:2px}.cal-half-divider{width:1px;background:transparent;border-left:1px dashed #e2e8f0;flex-shrink:0}.cal-half-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#94a3b8;margin-bottom:3px}.cal-session-empty{font-size:11px;color:#cbd5e1;line-height:1}.cal-session-checks{display:flex;flex-direction:column;gap:2px}.cal-check-row{display:flex;align-items:center;gap:3px}.cal-check-label{font-size:10px;color:#94a3b8;white-space:nowrap}.cal-check-icon{font-size:12px;font-weight:700;line-height:1}.cal-check-icon.pass{color:#16a34a}.cal-check-icon.fail{color:#dc2626}.cal-tag-dots{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}.cal-tag-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.cal-tag-symbol{display:inline-flex;align-items:center;justify-content:center;font-size:7px;font-weight:800;width:14px;height:10px;border:1.5px solid;border-radius:3px;flex-shrink:0;letter-spacing:-.5px;line-height:1}.day-ai-placeholder{display:flex;align-items:center;gap:8px;padding:10px 18px;color:#94a3b8;font-size:12px;font-style:italic}.day-ai-icon{font-size:10px;font-weight:700;color:#8b5cf6;background:#f3f0ff;padding:2px 6px;border-radius:4px;letter-spacing:.5px}.day-ai-rec{margin:0 18px 12px;border:1px solid #e9e5ff;border-radius:8px;background:#faf8ff;overflow:hidden}.day-ai-header{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid #e9e5ff;background:#f3f0ff}.day-ai-title{font-size:12px;font-weight:700;color:#6d28d9}.day-ai-body{padding:10px 14px;font-size:12px;line-height:1.5;color:#374151}.ai-line-header{font-weight:700;color:#1e293b;margin-top:6px}.ai-line-header:first-child{margin-top:0}.ai-line-entry{padding-left:12px;color:#374151}.ai-line{color:#64748b}.cal-legend{display:flex;flex-direction:column;gap:8px;padding:10px 4px;margin-bottom:20px}.cal-legend-section{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.cal-legend-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;margin-right:4px}.cal-legend-item{display:flex;align-items:center;gap:5px}.cal-legend-label{font-size:11px;color:#64748b}.day-detail-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:20px}.day-detail-header{padding:14px 18px 12px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.day-detail-date{font-size:13px;font-weight:700;color:#1e293b;margin-bottom:6px}.day-detail-summary-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.day-detail-total{font-size:20px;font-weight:700;font-family:SF Mono,monospace}.day-detail-total.pos{color:#16a34a}.day-detail-total.neg{color:#dc2626}.day-detail-trades{font-size:12px;color:#64748b}.day-detail-sessions-summary{font-size:12px;font-family:SF Mono,monospace;color:#64748b;display:flex;gap:4px}.day-detail-sessions-summary .pos{color:#16a34a}.day-detail-sessions-summary .neg{color:#dc2626}.day-detail-sep{color:#cbd5e1}.day-ai-placeholder{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.day-ai-icon{font-size:12px;color:#94a3b8}.day-ai-text{font-size:12px;font-style:italic;color:#94a3b8}.detail-sessions-row{display:flex;gap:0;padding:14px 18px}.detail-sessions-divider{width:1px;background:#e2e8f0;margin:0 16px;flex-shrink:0}.detail-session-block{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.detail-session-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.detail-session-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64748b}.detail-session-pnl{font-size:13px;font-weight:700;font-family:SF Mono,monospace}.detail-session-pnl.pos{color:#16a34a}.detail-session-pnl.neg{color:#dc2626}.detail-session-empty{font-size:12px;color:#94a3b8;font-style:italic;padding:4px 0}.detail-trade-row{border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}.detail-trade-row.non-a-border{border-left:3px solid #dc2626}.detail-trade-summary{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;background:#fff;transition:background .1s}.detail-trade-summary:hover{background:#f8fafc}.detail-trade-time{font-size:11px;font-family:SF Mono,monospace;color:#64748b;min-width:36px}.detail-trade-pnl{font-size:13px;font-weight:700;font-family:SF Mono,monospace;min-width:76px}.detail-trade-pnl.pos{color:#16a34a}.detail-trade-pnl.neg{color:#dc2626}.detail-trade-grade{font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px}.detail-trade-grade.grade-a{background:#dcfce7;color:#16a34a}.detail-trade-grade.grade-b{background:#fef3c7;color:#92400e}.detail-trade-grade.grade-c{background:#fee2e2;color:#dc2626}.detail-trade-tagdots{display:flex;gap:3px;flex-wrap:wrap}.detail-trade-chevron{margin-left:auto;font-size:9px;color:#94a3b8}.journal-dir-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;text-transform:uppercase;white-space:nowrap}.journal-dir-badge.long{background:#dcfce7;color:#16a34a}.journal-dir-badge.short{background:#fee2e2;color:#dc2626}.journal-dir-badge.neutral{color:#cbd5e1}.journal-edit-panel{padding:14px 16px 16px;background:#fafafa;border-top:1px solid #e2e8f0}.journal-edit-panel.non-a-setup{background:#fff5f5}.journal-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin-bottom:14px}.journal-detail-section{display:flex;flex-direction:column;gap:6px}.journal-detail-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64748b}.journal-select{padding:5px 8px;border:1px solid #e2e8f0;border-radius:5px;font-size:13px;color:#1e293b;background:#fff;width:80px}.journal-stars{display:flex;gap:2px}.journal-star{background:none;border:none;cursor:pointer;font-size:18px;padding:0;line-height:1;transition:transform .1s}.journal-star:hover{transform:scale(1.2)}.journal-tag-groups{display:flex;flex-direction:column;gap:10px}.journal-tag-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:2px}.journal-tag-group-label .journal-tag-req{font-weight:500;text-transform:none;letter-spacing:normal;color:#94a3b8}.journal-tag-group-label.journal-tag-pos{color:#16a34a}.journal-tag-group-label.journal-tag-neg{color:#dc2626}.journal-tag-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.journal-save-hint{font-size:12px;color:#94a3b8;font-style:italic}.journal-locked-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;margin-bottom:12px;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;font-size:13px;line-height:1.5;color:#991b1b}.journal-locked-icon{font-size:18px}.journal-tag-nudge{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 14px;margin-bottom:12px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;font-size:13px;color:#92400e}.journal-tag-nudge-icon{font-size:15px}.journal-tag-nudge-text{font-weight:600}.journal-tag-nudge-chips{display:inline-flex;flex-wrap:wrap;gap:5px}.journal-tag-nudge-chip{font-size:11px;padding:2px 8px;border:1px solid #f59e0b;background:#fff;color:#b45309;border-radius:12px;cursor:pointer;white-space:nowrap}.journal-tag-nudge-chip:hover{background:#fef3c7}.journal-tag-add-btn{border:1px dashed #cbd5e1;background:transparent;color:#64748b;border-radius:20px;width:22px;height:22px;font-size:13px;line-height:1;cursor:pointer;padding:0}.journal-tag-add-btn:hover{border-color:#64748b;color:#1e293b}.journal-tag-add-input{display:inline-flex;align-items:center;gap:3px}.journal-tag-add-input input{font-size:10px;padding:2px 6px;border:1px solid #cbd5e1;border-radius:12px;width:90px;outline:none}.journal-tag-add-input button{font-size:10px;padding:2px 8px;border:1px solid #10b981;background:#10b981;color:#fff;border-radius:12px;cursor:pointer}.journal-tag-pill{display:flex;align-items:center;gap:4px;padding:3px 8px 3px 6px;border-radius:20px;border:1px solid #e2e8f0;background:#fff;font-size:10px;font-weight:500;cursor:pointer;transition:background .1s,border-color .1s,color .1s;line-height:1.3;white-space:nowrap}.journal-tag-pill:hover{opacity:.85}.journal-tag-pill-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.journal-detail-textfields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.journal-detail-field-group{display:flex;flex-direction:column;gap:4px}.journal-textarea{padding:6px 9px;border:1px solid #e2e8f0;border-radius:5px;font-size:12px;color:#1e293b;background:#fff;resize:vertical;font-family:inherit;line-height:1.5}.journal-textarea:focus{outline:none;border-color:#3b82f6}.journal-detail-actions{display:flex;align-items:center;gap:12px;justify-content:flex-end}.journal-save-btn{padding:6px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.journal-save-btn:hover{background:#2563eb}.journal-save-btn:disabled{background:#94a3b8;cursor:not-allowed}.journal-save-success{font-size:12px;font-weight:600;color:#16a34a}.journal-save-error{font-size:12px;color:#dc2626}.journal-ai-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;overflow:hidden}.journal-ai-summary-header{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;background:#f8fafc;border-bottom:1px solid #e2e8f0}.journal-ai-summary-title{font-size:13px;font-weight:700;color:#1e293b}.journal-ai-summary-time{font-size:10px;color:#94a3b8;margin-right:auto}.journal-ai-summary-actions{display:flex;gap:6px}.journal-ai-summary-btn{font-size:10px;padding:3px 10px;border:1px solid #8b5cf6;border-radius:4px;background:#8b5cf6;color:#fff;cursor:pointer;font-weight:600}.journal-ai-summary-btn:hover{background:#7c3aed}.journal-ai-summary-btn:disabled{opacity:.5;cursor:not-allowed}.journal-ai-summary-btn.secondary{background:#fff;color:#8b5cf6}.journal-ai-summary-btn.secondary:hover{background:#f3f0ff}.journal-ai-summary-chevron{font-size:10px;color:#94a3b8}.journal-ai-summary-body{padding:12px 16px}.journal-ai-natural-summary{font-size:13px;line-height:1.6;color:#1e293b;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #f1f5f9}.journal-ai-natural-summary strong{color:#7c3aed;font-weight:700}.journal-ai-summary-overview{font-size:12px;color:#475569;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f1f5f9}.journal-ai-summary-section{margin-bottom:12px}.journal-ai-summary-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:6px}.journal-ai-table{width:100%;border-collapse:collapse;font-size:11px}.journal-ai-table th{text-align:left;padding:4px 8px;font-weight:700;color:#64748b;border-bottom:1px solid #e2e8f0;font-size:10px;text-transform:uppercase}.journal-ai-table td{padding:4px 8px;border-bottom:1px solid #f1f5f9;color:#1e293b}.journal-ai-table tr.row-pos{background:#16a34a0a}.journal-ai-table tr.row-neg{background:#dc26260a}.verdict-badge{font-size:9px;font-weight:700;padding:1px 6px;border-radius:3px;text-transform:uppercase}.verdict-edge{background:#dcfce7;color:#166534}.verdict-avoid{background:#fef2f2;color:#991b1b}.verdict-neutral{background:#f1f5f9;color:#64748b}.journal-ai-insight{font-size:11px;padding:6px 10px;border-radius:4px;margin-bottom:4px}.journal-ai-insight.pos{background:#f0fdf4;color:#166534}.journal-ai-insight.neg{background:#fef2f2;color:#991b1b}.journal-complete-btn{font-size:10px;padding:2px 8px;border-radius:4px;border:1px solid #e2e8f0;background:#fff;color:#94a3b8;cursor:pointer;margin-left:12px;font-weight:600}.journal-complete-btn:hover,.journal-complete-btn.complete{background:#f0fdf4;border-color:#86efac;color:#16a34a}.journal-chart-panel{margin:12px 18px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;overflow:hidden}.journal-chart-controls{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.journal-chart-title{font-size:12px;font-weight:700;color:#1e293b;margin-right:auto}.journal-chart-tf-btn{font-size:11px;padding:3px 10px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;color:#64748b;cursor:pointer}.journal-chart-tf-btn.active{background:#1e293b;color:#fff;border-color:#1e293b}.journal-chart-close{font-size:11px;padding:3px 10px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;color:#dc2626;cursor:pointer;margin-left:8px}.journal-chart-btn{font-size:9px;padding:2px 6px;border:1px solid #e2e8f0;border-radius:3px;background:#f8fafc;color:#64748b;cursor:pointer;margin-left:4px;flex-shrink:0}.journal-chart-btn:hover{background:#e2e8f0;color:#1e293b}.journal-chart-btn.active{background:#dbeafe;color:#2563eb;border-color:#93c5fd}.journal-edit-trade-btn{font-size:9px;padding:2px 6px;border:1px solid #e2e8f0;border-radius:3px;background:#f8fafc;color:#64748b;cursor:pointer;margin-left:4px;flex-shrink:0}.journal-edit-trade-btn:hover{background:#e2e8f0;color:#1e293b}.journal-delete-trade-btn{font-size:11px;line-height:1;padding:2px 5px;border:1px solid #fecaca;border-radius:3px;background:#fef2f2;color:#dc2626;cursor:pointer;margin-left:4px;flex-shrink:0}.journal-delete-trade-btn:hover{background:#fee2e2}.journal-delete-confirm{display:inline-flex;gap:3px;margin-left:4px;flex-shrink:0}.journal-delete-yes{font-size:9px;padding:2px 6px;border:1px solid #dc2626;border-radius:3px;background:#dc2626;color:#fff;cursor:pointer;font-weight:600}.journal-delete-yes:hover{background:#b91c1c}.journal-delete-no{font-size:9px;padding:2px 6px;border:1px solid #e2e8f0;border-radius:3px;background:#f8fafc;color:#64748b;cursor:pointer}.journal-live-session{margin:0 18px 12px;border:2px solid #3b82f6;border-radius:8px;background:#eff6ff;overflow:hidden}.journal-live-header{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#dbeafe;border-bottom:1px solid #bfdbfe}.journal-live-title{font-size:13px;font-weight:700;color:#1e40af;margin-right:auto}.journal-live-refresh{font-size:10px;padding:3px 10px;border:1px solid #3b82f6;border-radius:4px;background:#3b82f6;color:#fff;cursor:pointer;font-weight:600}.journal-live-refresh:hover{background:#2563eb}.journal-live-refresh:disabled{opacity:.5;cursor:not-allowed}.journal-live-time{font-size:10px;color:#64748b}.journal-live-sessions{display:flex;gap:10px;padding:10px 14px}.journal-live-session-box{flex:1;padding:8px 12px;border-radius:6px;text-align:center}.journal-live-session-box.available{background:#f0fdf4;border:1px solid #86efac}.journal-live-session-box.used{background:#fef2f2;border:1px solid #fca5a5}.session-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;color:#64748b;margin-bottom:2px}.session-status{font-size:12px;font-weight:700}.journal-live-session-box.available .session-status{color:#16a34a}.journal-live-session-box.used .session-status{color:#dc2626}.journal-live-context{padding:12px 16px;font-size:14px;line-height:1.6;color:#334155;font-style:italic;border-bottom:1px solid #bfdbfe}.session-rec{margin-top:8px;padding-top:6px;border-top:1px dashed #e2e8f0;text-align:left}.session-rec-line{font-size:12px;color:#1e293b;line-height:1.6;padding:2px 0}.journal-live-lessons{padding:10px 16px;font-size:13px;line-height:1.5;color:#7c3aed;font-weight:600;background:#faf5ff;border-top:1px solid #e9d5ff;border-bottom:1px solid #e9d5ff}.journal-live-warnings{padding:0 14px 10px}.journal-live-warning{padding:6px 10px;border-radius:4px;font-size:12px;font-weight:600;margin-bottom:4px}.journal-live-warning.critical{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5}.journal-live-warning.info{background:#fefce8;color:#a16207;border:1px solid #fde68a}.journal-live-zones{padding:0 14px 10px}.journal-live-zones-title{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;margin-bottom:4px}.journal-live-zones-body{font-size:12px;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:10px 14px}.level-line{padding:3px 0;font-size:12px;line-height:1.5}.level-price{font-weight:700;color:#f59e0b;font-size:13px}.level-pm{color:#3b82f6;font-weight:600}.level-demand{color:#16a34a;font-weight:600}.level-supply{color:#dc2626;font-weight:600}.level-kl{color:#a855f7;font-weight:600}.level-sr{color:#0d9488;font-weight:600}.journal-live-zones-body pre{white-space:pre-wrap;margin:0;line-height:1.5}.journal-live-pnl{padding:8px 14px;font-size:13px;font-weight:700;text-align:center;border-top:1px solid #bfdbfe}.journal-live-pnl.pos{color:#16a34a}.journal-live-pnl.neg{color:#dc2626}.session-avail-badge{font-size:9px;font-weight:700;padding:1px 6px;border-radius:3px;text-transform:uppercase;margin-left:6px;white-space:nowrap}.session-avail-badge.available{background:#f0fdf4;color:#16a34a;border:1px solid #86efac}.session-avail-badge.used{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5}.session-avail-badge.in-position{background:#fffbeb;color:#d97706;border:1px solid #fbbf24}.session-ai-rec{padding:6px 0;border-bottom:1px dashed #e2e8f0;margin-bottom:6px}.journal-live-context-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:6px}.journal-live-context-summary{margin-bottom:10px}.journal-live-vix{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;margin-bottom:8px}.vix-label{font-weight:700;font-size:11px;letter-spacing:.5px;opacity:.7}.vix-price{font-size:18px;font-weight:700;font-family:SF Mono,Menlo,monospace}.vix-change{font-size:12px;font-family:SF Mono,Menlo,monospace;opacity:.8}.vix-sentiment{font-size:11px;font-weight:700;letter-spacing:.5px;margin-left:auto}.vix-risk-on{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#15803d}.vix-risk-off{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#dc2626}.vix-neutral{background:#64748b14;border:1px solid rgba(100,116,139,.2);color:#475569}.journal-live-headlines{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;border-top:1px dashed #e2e8f0}.headline-row{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.4;padding:3px 0}.headline-time{font-family:SF Mono,Menlo,monospace;font-size:10px;color:#64748b;white-space:nowrap;min-width:95px;flex-shrink:0}.headline-source{font-size:9px;font-weight:700;color:#8b5cf6;white-space:nowrap;min-width:70px;flex-shrink:0}.headline-text{color:#1e293b;font-style:normal}.headline-high{background:#ef444414;border-left:3px solid #ef4444;padding-left:6px;border-radius:2px}.headline-high .headline-text{color:#dc2626;font-weight:600}.headline-medium{background:#f59e0b0f;border-left:3px solid #f59e0b;padding-left:6px;border-radius:2px}.headline-medium .headline-text{color:#92400e;font-weight:500}.journal-live-zones-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.journal-live-zones-header .journal-live-zones-title{margin-bottom:0;margin-right:auto}.journal-live-chart-btn{font-size:10px;padding:3px 8px;border:1px solid #3b82f6;border-radius:4px;background:#eff6ff;color:#3b82f6;cursor:pointer;font-weight:600;flex-shrink:0}.journal-live-chart-btn:hover{background:#dbeafe}.journal-add-trade-btn{font-size:16px;font-weight:700;width:24px;height:24px;border-radius:50%;border:2px solid #3b82f6;background:#fff;color:#3b82f6;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-left:8px;line-height:1;flex-shrink:0}.journal-add-trade-btn:hover{background:#eff6ff}.trade-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.trade-modal{background:#fff;border-radius:12px;width:420px;max-width:90vw;box-shadow:0 20px 60px #0003;overflow:hidden}.trade-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;font-size:15px;font-weight:700;color:#1e293b;border-bottom:1px solid #e2e8f0}.trade-modal-close{font-size:16px;background:none;border:none;color:#94a3b8;cursor:pointer;padding:0 4px;line-height:1}.trade-modal-close:hover{color:#475569}.trade-modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:12px}.trade-modal-row{display:flex;gap:12px}.trade-modal-row .trade-modal-field{flex:1}.trade-modal-field label{display:block;font-size:11px;font-weight:600;color:#64748b;margin-bottom:4px;text-transform:uppercase;letter-spacing:.4px}.trade-modal-field input,.trade-modal-field select{width:100%;padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#1e293b;box-sizing:border-box;background:#fff;font-family:inherit}.trade-modal-field input:focus,.trade-modal-field select:focus{outline:none;border-color:#3b82f6}.trade-modal-field input:disabled{background:#f8fafc;color:#94a3b8}.trade-modal-error{color:#dc2626;font-size:12px;padding:6px 10px;background:#fef2f2;border-radius:4px;border:1px solid #fecaca}.trade-modal-req{font-weight:500;color:#94a3b8;font-size:11px}.trade-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #e2e8f0;background:#f8fafc}.trade-modal-cancel{padding:8px 16px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:13px;cursor:pointer;font-family:inherit}.trade-modal-cancel:hover{background:#f1f5f9}.trade-modal-save{padding:8px 16px;border:none;border-radius:6px;background:#3b82f6;color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.trade-modal-save:hover{background:#2563eb}.trade-modal-save:disabled{opacity:.5;cursor:not-allowed}.journal-live-session-box.in-position{background:#fffbeb;border:1px solid #fbbf24}.journal-live-session-box.in-position .session-status{color:#d97706}.detail-trade-row.draft-trade{border-left:3px solid #f59e0b;background:#fffbeb}.trade-open-badge{font-size:9px;font-weight:700;padding:1px 6px;border-radius:3px;background:#fef3c7;color:#d97706;border:1px solid #fbbf24;white-space:nowrap}.trade-close-btn{font-size:9px;padding:2px 8px;border:1px solid #f59e0b;border-radius:3px;background:#fffbeb;color:#d97706;cursor:pointer;font-weight:600;margin-left:4px;flex-shrink:0}.trade-close-btn:hover{background:#fef3c7}.cal-tile-draft-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#f59e0b;flex-shrink:0;margin:0 4px;align-self:center}.trade-modal-draft-toggle{display:flex;align-items:center;gap:8px;padding:8px 0}.trade-modal-draft-toggle label{font-size:12px;color:#64748b;cursor:pointer;display:flex;align-items:center;gap:6px}.trade-modal-draft-toggle input[type=checkbox]{width:auto}@media(max-width:680px){.cal-tile{min-height:70px}.cal-tile-pnl{font-size:9px}.cal-check-label{display:none}.journal-detail-textfields{grid-template-columns:1fr}.journal-monthly-stats{gap:20px}.detail-sessions-row{flex-direction:column;gap:16px}.detail-sessions-divider{width:auto;height:1px;margin:0}}.alert-modal-overlay{position:fixed;inset:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center}.alert-modal{background:#fff;border-radius:12px;width:380px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #00000040}.alert-modal-tabs{display:flex;align-items:center;border-bottom:1px solid #e2e8f0;padding:0 4px}.alert-tab-btn{flex:1;padding:12px 8px;background:none;border:none;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.alert-tab-btn.active{color:#1e293b;border-bottom-color:#3b82f6}.alert-modal-close{width:32px;height:32px;background:none;border:none;font-size:20px;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;margin:4px}.alert-modal-close:hover{background:#f1f5f9;color:#1e293b}.alert-form{padding:16px;display:flex;flex-direction:column;gap:12px}.alert-form-row{display:flex;align-items:center;gap:8px}.alert-form-row label{width:70px;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.alert-form-row input,.alert-form-row select{flex:1;padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b;background:#fafafa}.alert-form-row input:focus,.alert-form-row select:focus{outline:none;border-color:#3b82f6;background:#fff}.alert-form-row input[type=number]{font-family:SF Mono,Fira Code,monospace;font-weight:600;font-size:16px}.alert-direction-btns{display:flex;gap:4px;flex:1}.alert-dir-btn{flex:1;padding:6px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;background:#fafafa;color:#64748b;transition:all .15s}.alert-dir-btn.above.active{background:#dcfce7;border-color:#22c55e;color:#16a34a}.alert-dir-btn.below.active{background:#fee2e2;border-color:#ef4444;color:#dc2626}.alert-submit-btn{padding:10px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.alert-submit-btn:hover:not(:disabled){background:#2563eb}.alert-submit-btn:disabled{opacity:.5;cursor:not-allowed}.alert-list{padding:8px}.alert-list-empty{text-align:center;padding:24px;color:#94a3b8;font-size:13px}.alert-list-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:6px;margin-bottom:4px;background:#fafafa;border:1px solid #e2e8f0}.alert-list-item.triggered{opacity:.5;background:#f8fafc}.alert-list-info{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.alert-list-dir{font-size:12px;font-weight:700}.alert-list-dir.above{color:#22c55e}.alert-list-dir.below{color:#ef4444}.alert-list-symbol{font-size:11px;font-weight:600;color:#64748b}.alert-list-price{font-family:SF Mono,Fira Code,monospace;font-size:14px;font-weight:700;color:#1e293b}.alert-list-note{font-size:11px;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.alert-list-rearm{font-size:10px;color:#3b82f6;font-weight:600;background:#eff6ff;padding:2px 5px;border-radius:4px}.alert-list-status{font-size:10px;color:#f59e0b;font-weight:700;background:#fef3c7;padding:2px 5px;border-radius:4px}.alert-list-delete{width:24px;height:24px;background:none;border:none;font-size:16px;color:#94a3b8;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert-list-delete:hover{background:#fee2e2;color:#dc2626}.market-context-bar{margin:0 0 10px}.market-context-handle{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;border-bottom:1px solid rgba(148,163,184,.18);padding:2px 2px 4px;margin-bottom:6px;cursor:pointer;color:#64748b;font-size:9.5px;font-weight:700;letter-spacing:.08em}.market-context-handle:hover{color:#94a3b8}.market-context-handle-label{flex:1;text-align:left}.market-context-handle-icon{font-size:11px}.market-context-bar.collapsed .market-context-handle{border-bottom-color:transparent;margin-bottom:0}.market-context-bar .zones-info-group{margin-bottom:0}.dashboard-page{min-height:100vh;background:#f0f2f5;padding:12px}.dashboard-layout{display:flex;gap:12px;height:calc(100vh - 95px);overflow:hidden}.dashboard-sidebar{width:280px;flex-shrink:0;overflow-y:auto;height:100%;padding-right:5px;transition:width .3s ease,opacity .3s ease}.dashboard-sidebar.collapsed{width:50px;min-width:50px;overflow:hidden}.sidebar-collapsed-placeholder{height:100%;display:flex;align-items:flex-start;padding-top:20px}.expand-filters-btn{background:#2c5f7f;color:#fff;border:none;border-radius:6px;padding:12px 8px;cursor:pointer;font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.5px;width:40px;transition:background .2s,transform .2s;box-shadow:0 2px 4px #0000001a}.expand-filters-btn:hover{background:#1e4a63;transform:translate(2px)}.dashboard-content{flex:1;min-width:0;overflow-y:auto;height:100%;padding-right:5px}.error-message{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:15px 20px;margin-bottom:20px;display:flex;align-items:center;gap:10px}.error-message span{font-size:20px}.error-message p{margin:0;color:#856404;font-size:14px}.dashboard-tabs{background:var(--surface-1);border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:visible}.tab-navigation{display:flex;border-bottom:2px solid var(--border-1);background:var(--surface-2);overflow-x:auto;overflow-y:visible}.tab-button{flex:1;padding:8px 16px;background:none;border:none;cursor:pointer;font-size:12px;font-weight:500;color:var(--tab-ink);white-space:nowrap;transition:all .2s;position:relative}.tab-button:hover{background:var(--surface-3);color:var(--tab-ink-hover)}.tab-button.active{color:var(--tab-ink-active);background:var(--surface-1);font-weight:600}.tab-button.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background:#2c5f7f}.tab-button.disc-tab{background:#1a4863;color:#b9d2e0}.tab-button.disc-tab:hover{background:#215a7c;color:#fff}.tab-button.disc-tab.active{background:#1a4863;color:#fff;font-weight:600}.tab-button.disc-tab.active:after{background:#4fd1c5}.tab-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#2d3748;color:#fff;padding:8px 12px;border-radius:4px;font-size:11px;font-weight:400;white-space:nowrap;z-index:10000;pointer-events:none;box-shadow:0 4px 12px #0000004d;width:max-content;max-width:300px}.tab-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#2d3748}.tab-button:hover .tab-tooltip{display:block}.tab-content{padding:30px;min-height:400px}.loading-spinner{display:flex;align-items:center;justify-content:center;min-height:300px;font-size:16px;color:#6c757d}.loading-spinner:before{content:"";width:40px;height:40px;margin-right:15px;border:4px solid #f0f2f5;border-top-color:#2c5f7f;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-section{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;background:#fff;border-radius:8px;padding:40px;margin:20px}.empty-section p{margin:0;font-size:18px;color:#4a5568}.empty-section .hint{margin-top:8px;font-size:14px;color:#718096;font-style:italic}@media(max-width:768px){.dashboard-page{padding:10px}.dashboard-header h1{font-size:22px}.dashboard-layout{flex-direction:column}.dashboard-sidebar{width:100%}.tab-content{padding:20px 15px}.tab-button{padding:12px 15px;font-size:13px}}.legal-page{min-height:100vh;background:#f8f9fa;padding:40px 20px}.legal-container{max-width:800px;margin:0 auto;background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.back-link{display:inline-block;color:#2c5f7f;text-decoration:none;font-size:14px;margin-bottom:20px;transition:color .2s}.back-link:hover{color:#1e4a63}.legal-container h1{color:#2d3748;font-size:32px;margin-bottom:10px}.last-updated{color:#718096;font-size:14px;margin-bottom:30px}.legal-container section{margin-bottom:30px}.legal-container h2{color:#2d3748;font-size:20px;margin-bottom:12px;border-bottom:2px solid #e2e8f0;padding-bottom:8px}.legal-container p{color:#4a5568;line-height:1.6;margin-bottom:12px}.legal-container ul{color:#4a5568;line-height:1.6;margin-left:20px;margin-bottom:12px}.legal-container li{margin-bottom:8px}.legal-container a{color:#2c5f7f;text-decoration:none}.legal-container a:hover{text-decoration:underline}.legal-container strong{color:#2d3748;font-weight:600}@media(max-width:768px){.legal-page{padding:20px 10px}.legal-container{padding:20px}.legal-container h1{font-size:24px}.legal-container h2{font-size:18px}.legal-container p,.legal-container ul{font-size:14px}}.admin-analytics{max-width:1400px;margin:0 auto;padding:40px 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.admin-header h1{font-size:2em;color:#333;margin:0}.time-range-selector{display:flex;align-items:center;gap:10px}.time-range-selector label{font-weight:600;color:#555}.time-range-selector select{padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;cursor:pointer;background-color:#fff}.overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:24px;color:#fff;box-shadow:0 4px 6px #0000001a;transition:transform .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.stat-value{font-size:2.5em;font-weight:700;margin-bottom:8px}.stat-label{font-size:.9em;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.analytics-section{background:#fff;border-radius:8px;padding:24px;margin-bottom:30px;box-shadow:0 2px 4px #0000001a}.analytics-section h2{font-size:1.5em;color:#333;margin-top:0;margin-bottom:20px;border-bottom:2px solid #667eea;padding-bottom:10px}.conversion-metrics{display:flex;flex-direction:column;gap:12px}.conversion-item{display:flex;justify-content:space-between;padding:12px;background:#f8f9fa;border-radius:6px;border-left:4px solid #667eea}.conversion-label{font-weight:600;color:#555}.conversion-value{font-size:1.2em;font-weight:700;color:#667eea}.events-list{display:flex;flex-direction:column;gap:8px}.event-item{display:flex;justify-content:space-between;padding:12px 16px;background:#f8f9fa;border-radius:6px;transition:background-color .2s}.event-item:hover{background:#e9ecef}.event-type{font-weight:500;color:#555}.event-count{font-weight:700;color:#667eea;background:#fff;padding:4px 12px;border-radius:12px}.features-list{display:flex;flex-direction:column;gap:10px}.feature-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8f9fa;border-radius:6px}.feature-rank{font-size:1.2em;font-weight:700;color:#667eea;min-width:40px}.feature-name{flex:1;font-weight:500;color:#555}.feature-count{font-weight:600;color:#764ba2}.timeline-chart{display:flex;flex-direction:column;gap:10px}.timeline-item{display:flex;gap:12px;align-items:center}.timeline-date{min-width:100px;font-weight:600;color:#555;font-size:.9em}.timeline-bar-container{flex:1;height:30px;background:#f0f0f0;border-radius:15px;position:relative;display:flex;align-items:center}.timeline-bar{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:15px;transition:width .3s ease;min-width:2%}.timeline-count{position:absolute;right:12px;font-weight:600;color:#333;font-size:.9em}.events-table-container{overflow-x:auto}.events-table{width:100%;border-collapse:collapse}.events-table th{background:#667eea;color:#fff;padding:12px;text-align:left;font-weight:600;text-transform:uppercase;font-size:.85em;letter-spacing:.5px}.events-table td{padding:12px;border-bottom:1px solid #e0e0e0;vertical-align:top}.events-table tr:hover{background:#f8f9fa}.event-time{font-size:.9em;color:#666;white-space:nowrap}.event-type-cell{font-weight:500;color:#555}.event-user{font-family:monospace;font-size:.9em;color:#764ba2}.event-metadata details{cursor:pointer}.event-metadata summary{color:#667eea;font-weight:600;-webkit-user-select:none;user-select:none}.event-metadata pre{margin-top:8px;padding:12px;background:#f8f9fa;border-radius:4px;font-size:.85em;overflow-x:auto;max-width:400px}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin-bottom:20px}.error-state h2{color:#dc3545;margin-bottom:10px}.error-state p{color:#666;margin-bottom:20px}.retry-button{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.retry-button:hover{background:#5568d3}@media(max-width:768px){.admin-header{flex-direction:column;gap:20px;align-items:flex-start}.overview-cards{grid-template-columns:1fr}.timeline-date{min-width:80px;font-size:.8em}.events-table{font-size:.9em}.event-metadata pre{max-width:250px}}.compact-table th,.compact-table td{padding:6px 10px;font-size:.85em}.admin-details{margin-top:14px}.admin-details summary{cursor:pointer;font-weight:600;color:#555;font-size:.95em;padding:4px 0;-webkit-user-select:none;user-select:none}.admin-details summary:hover{color:#667eea}.admin-badge{display:inline-block;padding:2px 8px;margin-right:4px;border-radius:10px;font-size:.75em;font-weight:600;background:#eef0fe;color:#4a55c7}.admin-badge.muted{background:#f0f0f0;color:#888}.admin-inline-error{color:#b45309;font-size:.9em}.section-header-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.admin-toggle{display:flex;align-items:center;gap:6px;font-size:.85em;color:#666;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-tabs{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}.admin-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 18px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;font-size:.95em;font-weight:600;color:#555;cursor:pointer;transition:border-color .15s,box-shadow .15s}.admin-tab:hover{border-color:#667eea}.admin-tab.active{border-color:#667eea;box-shadow:0 0 0 2px #667eea40;color:#333}.admin-tab-count{font-size:.8em;font-weight:400;color:#888}.day-row{cursor:pointer}.day-row.open td{background:#eef0fe}.day-detail-row td{background:#fafbff;padding:12px 16px}.day-detail-loading{color:#888;font-size:.85em;margin:4px 0}.visitor-card{padding:8px 10px;border:1px solid #e6e8f5;border-radius:6px;background:#fff;margin-bottom:8px}.visitor-card-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px}.visitor-meta{font-size:.8em;color:#888}.visitor-pages{display:flex;gap:4px;flex-wrap:wrap}.user-menu-container{position:relative;display:inline-flex;align-items:center;gap:4px}.user-menu-trigger{position:relative;display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#fff,#f7fafc);border:1.5px solid #cbd5e0;border-radius:8px;padding:8px 14px;cursor:pointer;transition:all .2s;font-size:14px}.user-menu-trigger:hover{border-color:#2c5f7f;box-shadow:0 2px 12px #2c5f7f26;transform:translateY(-1px)}.user-menu-trigger.premium-user{border-color:#4299e1;background:linear-gradient(135deg,#fff,#ebf8ff)}.user-menu-trigger.premium-user:hover{border-color:#2c5f7f;box-shadow:0 2px 12px #4299e133}.premium-badge{position:absolute;top:-10px;right:20px;font-size:14px;background:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;z-index:1}.basic-badge{position:absolute;top:-13px;right:18px;font-size:9px;font-weight:700;letter-spacing:.5px;color:#718096;background:#e2e8f0;border-radius:8px;padding:2px 6px;box-shadow:0 1px 4px #0000001a;z-index:1}.user-menu-trigger .user-email{color:#2d3748;font-weight:500}.user-menu-trigger .plan-badge{padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.user-menu-trigger .plan-badge.premium{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.user-menu-trigger .plan-badge.free{background:#e2e8f0;color:#718096}.canceling-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;animation:pulse 2s ease-in-out infinite}.dropdown-arrow{font-size:10px;color:#718096;transition:transform .2s}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #00000026;min-width:280px;z-index:10000;overflow:hidden}.menu-section{padding:12px;border-bottom:1px solid #e2e8f0}.menu-section:last-child{border-bottom:none}.section-header{font-size:11px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.subscription-info{background:linear-gradient(135deg,#ebf8ff,#fff);border-bottom:2px solid #bee3f8}.subscription-details{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}.detail-row .label{color:#718096;font-weight:500}.detail-row .value{color:#2d3748;font-weight:600}.detail-row .value.premium-text{color:#2c5f7f;font-weight:700}.upgrade-btn-menu{width:100%;background:linear-gradient(135deg,#4299e1,#2c5f7f);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.upgrade-btn-menu:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4299e14d;background:linear-gradient(135deg,#3182ce,#234b66)}.manage-subscription-btn{width:100%;background:#2c5f7f;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.manage-subscription-btn:hover{background:#234b66;transform:translateY(-1px);box-shadow:0 4px 12px #2c5f7f4d}.menu-item{width:100%;display:flex;align-items:center;gap:10px;background:none;border:none;padding:10px 12px;cursor:pointer;font-size:14px;color:#2d3748;border-radius:6px;transition:all .2s;text-align:left;font-weight:500}.menu-item:hover{background:linear-gradient(135deg,#f7fafc,#edf2f7)}.logout-item{color:#718096}.logout-item:hover{color:#2d3748;background:linear-gradient(135deg,#fed7d7,#feb2b2)}.logout-icon{font-size:18px;font-weight:700;transform:rotate(180deg);display:inline-block}.menu-icon{font-size:16px}@media(max-width:768px){.user-menu-trigger{padding:6px 10px;font-size:13px}.user-menu-trigger .user-email{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.premium-badge{font-size:12px;width:20px;height:20px;top:-11px;right:18px}.basic-badge{font-size:8px;top:-10px;right:16px;padding:2px 5px}.user-menu-dropdown{min-width:240px}}@media(max-width:768px){.user-menu-container{gap:3px}}.persona-badge{position:relative;z-index:5;flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;margin-right:8px;border:1px solid #cbd5e1;border-radius:16px;background:#f8fafc;color:#334155;font-size:12px;font-weight:600;cursor:pointer}.persona-badge:hover{background:#eef2f7;border-color:#94a3b8}.persona-switch-link{margin-left:6px;border:none;background:none;color:#2563eb;font-size:11px;cursor:pointer;text-decoration:underline;padding:0}.capabilities-row .capabilities-list{display:flex;flex-direction:column;gap:2px;font-size:11px;text-align:right}.cap-on{color:#16a34a}.cap-off{color:#94a3b8}.persona-modal-overlay{position:fixed;inset:0;z-index:3000;background:#0f172a99;display:flex;align-items:center;justify-content:center;padding:20px}.persona-modal{background:#fff;border-radius:14px;padding:24px;max-width:620px;width:100%}.persona-modal-header{display:flex;justify-content:space-between;align-items:center}.persona-modal-header h3{margin:0;font-size:18px;color:#1e293b}.persona-modal-sub{font-size:13px;color:#64748b;margin:6px 0 18px}.persona-modal-cards{display:flex;gap:12px}.persona-modal-card{flex:1;padding:18px 14px;border:2px solid #e2e8f0;border-radius:10px;background:#f8fafc;cursor:pointer;text-align:center;position:relative;transition:border-color .1s,background .1s}.persona-modal-card:hover{border-color:#94a3b8}.persona-modal-card.active{border-color:#2563eb;background:#eff6ff}.persona-modal-icon{font-size:28px}.persona-modal-label{font-size:15px;font-weight:700;color:#1e293b;margin-top:6px}.persona-modal-blurb{font-size:12px;color:#64748b;margin-top:6px;line-height:1.4}.persona-modal-current{position:absolute;top:8px;right:8px;font-size:10px;font-weight:700;color:#2563eb;background:#dbeafe;padding:2px 6px;border-radius:8px}@media(max-width:560px){.persona-modal-cards{flex-direction:column}}.feedback-fab{position:fixed;bottom:24px;left:24px;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--warn) 0%,var(--warn-strong) 100%);border:none;color:var(--on-accent);font-size:22px;line-height:1;cursor:pointer;box-shadow:0 4px 14px #f59e0b66;z-index:10000;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;touch-action:none;user-select:none;-webkit-user-select:none}.feedback-fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #f59e0b80}.feedback-fab.open{box-shadow:0 6px 20px #f59e0b8c}.feedback-fab.dragging{cursor:grabbing;transform:none;transition:none;opacity:.92}.feedback-panel{position:fixed;bottom:88px;left:24px;width:360px;max-width:calc(100vw - 24px);max-height:72vh;background:var(--surface-1);border-radius:12px;box-shadow:0 8px 32px #0000002e;z-index:10001;display:flex;flex-direction:column;overflow:hidden;animation:feedback-slide-up .18s ease-out}@keyframes feedback-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.feedback-panel-header{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:linear-gradient(135deg,var(--warn) 0%,var(--warn-strong) 100%);color:var(--on-accent);flex-shrink:0}.feedback-panel-header h3{margin:0;font-size:13.5px;font-weight:700;letter-spacing:.01em}.feedback-panel-close{background:none;border:none;color:var(--on-accent);font-size:20px;line-height:1;cursor:pointer;padding:0 2px;opacity:.85}.feedback-panel-close:hover{opacity:1}.feedback-panel-body{padding:12px 14px 14px;overflow-y:auto}.feedback-type-row{display:flex;gap:14px;margin-bottom:10px}.feedback-type-row label{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--text-2);cursor:pointer}.feedback-type-row input{cursor:pointer;margin:0}.feedback-panel-textarea{width:100%;box-sizing:border-box;background:var(--surface-1);color:var(--text-1);border:1px solid var(--border-2);border-radius:6px;padding:8px;font-size:12.5px;font-family:inherit;line-height:1.45;resize:vertical}.feedback-panel-textarea:focus{outline:none;border-color:var(--warn)}.feedback-panel-counter{display:flex;justify-content:space-between;margin-top:4px;font-size:10.5px;color:var(--text-4)}.feedback-panel-status{margin-top:9px;padding:7px 9px;border-radius:6px;font-size:12px;line-height:1.45}.feedback-panel-status.success{background:#22c55e1a;color:var(--good);border:1px solid rgba(34,197,94,.3)}.feedback-panel-status.error{background:#ef444414;color:var(--bad-ink);border:1px solid rgba(239,68,68,.28)}.feedback-panel-submit{margin-top:10px;width:100%;background:var(--warn);color:var(--on-accent);border:none;border-radius:8px;padding:9px 20px;font-size:13px;font-weight:700;cursor:pointer}.feedback-panel-submit:hover:not(:disabled){background:var(--warn-strong)}.feedback-panel-submit:disabled{opacity:.55;cursor:default}.feedback-panel-note{margin:9px 0 0;font-size:11.5px;line-height:1.5;color:var(--text-3);text-align:center}@media(max-width:480px){.feedback-fab{bottom:16px;left:16px}.feedback-panel{width:calc(100vw - 24px);left:12px;right:12px;bottom:80px;max-height:70vh}}.database-status{display:flex;align-items:center;gap:4px;font-size:.8rem;color:#e0e0e0;padding:4px 10px;background:#00b4d814;border-radius:20px;border:1px solid rgba(0,180,216,.2);max-width:fit-content;position:relative;transition:all .2s}.database-status.clickable{cursor:pointer}.database-status.clickable:hover{background:#00b4d826;border-color:#00b4d866;transform:translateY(-1px);box-shadow:0 2px 6px #00b4d84d}.database-status.error{background:#ff64641a;border-color:#ff64644d}.database-status .status-icon{font-size:.9rem}.database-status .status-label{font-weight:500;color:#00b4d8;font-size:.75rem;margin-right:4px}.database-status .status-subtitle{display:none}.database-status .tables-summary{display:flex;gap:8px;align-items:center}.database-status .table-status{display:flex;align-items:center;gap:3px;white-space:nowrap;color:#ccc;font-size:.75rem;padding:2px 6px;background:#ffffff08;border-radius:10px;position:relative;z-index:100}.database-status .table-status .table-name{font-weight:600;color:#1a1a1a}.database-status .table-status .table-count{color:#0077b6;font-weight:700}.database-status .table-status .table-time{color:#888;font-size:.7rem;margin-left:2px}.database-status .status-text{color:#ff6b6b;font-size:.75rem}@media(max-width:1400px){.database-status{font-size:.75rem}.database-status .table-status{gap:2px;padding:2px 5px}.database-status .table-status .table-time{display:none}}@media(max-width:1200px){.database-status .status-label{display:none}.database-status .tables-summary{gap:6px}}.custom-tooltip-text{background:#2d3748;color:#fff;padding:8px 12px;border-radius:6px;font-size:11px;line-height:1.4;white-space:pre-line;width:220px;text-align:left;pointer-events:none;box-shadow:0 4px 12px #0003;font-weight:400;text-transform:none}.custom-tooltip-text:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:#2d3748}.custom-tooltip-text-above{visibility:hidden;opacity:0;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#2d3748;color:#fff;padding:6px 10px;border-radius:6px;font-size:11px;line-height:1.4;white-space:nowrap;text-align:center;z-index:9999;transition:opacity .2s;pointer-events:none;box-shadow:0 4px 12px #0003;font-weight:400;text-transform:none}.custom-tooltip-text-above:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#2d3748}.custom-tooltip-container:hover .custom-tooltip-text-above{visibility:visible;opacity:1}.custom-tooltip-text-left{visibility:hidden;opacity:0;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%);background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0c4a6e;padding:8px 12px;border:1px solid #0ea5e9;border-radius:6px;font-size:11px;line-height:1.4;white-space:nowrap;text-align:center;z-index:9999;transition:opacity .2s;pointer-events:none;box-shadow:0 4px 12px #0ea5e94d;font-weight:500;text-transform:none}.custom-tooltip-text-left:after{content:"";position:absolute;top:50%;left:100%;transform:translateY(-50%);border:6px solid transparent;border-left-color:#0ea5e9}.custom-tooltip-container:hover .custom-tooltip-text-left{visibility:visible;opacity:1}.news-ticker-bar{background:#0f172a;border-bottom:1px solid #1e293b;padding:4px 20px;display:flex;justify-content:center}.news-ticker{display:flex;align-items:center;gap:8px;background:transparent;border:none;border-radius:0;padding:0;max-width:900px;width:100%;overflow:hidden}.news-ticker-content{display:flex;align-items:center;gap:8px;flex:1;cursor:pointer;overflow:hidden;min-width:0}.news-ticker-content:hover{opacity:.8}.news-source{font-size:9px;font-weight:700;color:#60a5fa;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.news-title{font-size:11px;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:fadeIn .3s ease}.news-time{font-size:9px;color:#64748b;white-space:nowrap;flex-shrink:0}.news-loading{font-size:10px;color:#64748b;font-style:italic}.news-ticker-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}.news-counter{font-size:9px;color:#475569}.news-refresh-btn{background:none;border:1px solid #334155;border-radius:3px;padding:1px 5px;font-size:11px;cursor:pointer;color:#94a3b8;transition:all .15s}.news-refresh-btn:hover{background:#1e293b;color:#e2e8f0}.news-refresh-btn:disabled{opacity:.4;cursor:not-allowed}.news-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding-top:60px;z-index:2000;animation:fadeIn .15s ease}.news-modal{background:#fff;border-radius:10px;width:90%;max-width:640px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.news-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #e2e8f0}.news-modal-header h3{margin:0;font-size:16px;font-weight:700;color:#0f172a}.news-modal-actions{display:flex;gap:6px;align-items:center}.news-modal-btn{padding:5px 12px;border:1px solid #e2e8f0;border-radius:5px;font-size:11px;font-weight:500;cursor:pointer;background:#f8fafc;color:#334155;transition:all .15s}.news-modal-btn:hover{background:#e2e8f0}.news-modal-btn:disabled{opacity:.5;cursor:not-allowed}.news-modal-close{background:none;border:none;font-size:18px;cursor:pointer;color:#94a3b8;padding:0 4px;line-height:1}.news-modal-close:hover{color:#334155}.news-commentary{margin:12px 20px;padding:12px 16px;background:#f0f9ff;border-left:4px solid #3b82f6;border-radius:6px}.news-commentary-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#3b82f6;margin-bottom:6px}.news-commentary p,.news-commentary-text{font-size:12px;color:#1e293b;line-height:1.7;margin:0}.news-commentary-text strong{font-weight:700;color:#0f172a}.news-commentary-text br{margin-bottom:4px}.news-modal-list{padding:8px 20px 20px}.news-modal-item{padding:10px 0;border-bottom:1px solid #f1f5f9}.news-modal-item:last-child{border-bottom:none}.news-modal-item-header{display:flex;align-items:center;gap:8px;margin-bottom:3px}.news-modal-source{font-size:9px;font-weight:700;color:#3b82f6;text-transform:uppercase}.news-modal-time{font-size:9px;color:#94a3b8}.news-modal-title{font-size:13px;color:#1e293b;line-height:1.4}.news-modal-title a{color:#1e293b;text-decoration:none}.news-modal-title a:hover{color:#3b82f6;text-decoration:underline}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app-footer{background:#1a1f2e;border-top:1px solid #2a3142;padding:20px 0;margin-top:auto;width:100%}.footer-content{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;flex-direction:column;align-items:center;gap:10px}.footer-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}.footer-link{color:#8b95a8;text-decoration:none;font-size:14px;transition:color .2s}.footer-link:hover{color:#fff}.footer-separator{color:#4a5568;font-size:14px}.footer-copyright{color:#6b7589;font-size:13px;text-align:center}@media(max-width:768px){.footer-content{padding:0 15px}.footer-links{flex-direction:column;gap:8px}.footer-separator{display:none}.footer-link{font-size:13px}.footer-copyright{font-size:12px}}.ai-chat-fab{position:fixed;bottom:24px;right:24px;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff;font-size:22px;cursor:pointer;box-shadow:0 4px 14px #3b82f666;z-index:10000;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}.ai-chat-fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #3b82f680}.ai-chat-fab .fab-badge{position:absolute;top:-2px;right:-2px;background:#f59e0b;color:#fff;font-size:10px;font-weight:700;padding:1px 5px;border-radius:8px;line-height:1.4}.ai-chat-panel{position:fixed;bottom:88px;right:24px;width:380px;max-height:520px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000002e;z-index:10001;display:flex;flex-direction:column;overflow:hidden;animation:ai-chat-slide-up .2s ease-out}@keyframes ai-chat-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ai-chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.ai-chat-header-left{display:flex;align-items:center;gap:8px}.ai-chat-header-title{font-size:14px;font-weight:600}.ai-chat-header-credits{font-size:11px;opacity:.85;background:#ffffff26;padding:2px 8px;border-radius:10px}.ai-chat-header-actions{display:flex;gap:6px}.ai-chat-header-btn{background:#ffffff26;border:none;color:#fff;width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.ai-chat-header-btn:hover{background:#ffffff40}.ai-chat-messages{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px;min-height:200px;max-height:340px}.ai-chat-msg{max-width:88%;padding:8px 12px;border-radius:10px;font-size:13px;line-height:1.5;word-wrap:break-word}.ai-chat-msg.user{align-self:flex-end;background:#eff6ff;color:#1e3a5f;border-bottom-right-radius:3px}.ai-chat-msg.assistant{align-self:flex-start;background:#f7fafc;color:#2d3748;border-bottom-left-radius:3px;border:1px solid #e2e8f0}.ai-chat-msg.assistant p{margin:0 0 6px}.ai-chat-msg.assistant p:last-child{margin-bottom:0}.ai-chat-msg.assistant h3{font-size:13px;font-weight:700;color:#1e3a5f;margin:8px 0 4px}.ai-chat-msg.assistant h3:first-child{margin-top:0}.ai-chat-msg.assistant h4{font-size:12px;font-weight:600;color:#2d3748;margin:6px 0 3px}.ai-chat-msg.assistant em{font-style:italic}.ai-chat-msg.assistant strong{color:#1e40af}.ai-chat-msg.assistant ul,.ai-chat-msg.assistant ol{margin:4px 0;padding-left:18px}.ai-chat-msg.assistant li{margin-bottom:2px}.ai-chat-msg.assistant code{background:#edf2f7;padding:1px 4px;border-radius:3px;font-size:12px}.ai-chat-msg.system{align-self:center;background:#fef3c7;color:#92400e;font-size:12px;padding:6px 12px;border-radius:8px}.ai-chat-typing{align-self:flex-start;color:#a0aec0;font-size:12px;font-style:italic;padding:4px 0}.ai-chat-input-area{display:flex;gap:8px;padding:10px 16px 12px;border-top:1px solid #e2e8f0;background:#fafbfc}.ai-chat-input{flex:1;border:1px solid #d1d5db;border-radius:8px;padding:8px 12px;font-size:13px;outline:none;resize:none;font-family:inherit;min-height:36px;max-height:80px}.ai-chat-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.ai-chat-send{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-end}.ai-chat-send:disabled{opacity:.5;cursor:not-allowed}.ai-chat-send:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8)}.ai-chat-welcome{text-align:center;color:#718096;font-size:13px;padding:30px 20px}.ai-chat-welcome-icon{font-size:32px;margin-bottom:8px}.ai-chat-welcome h4{margin:0 0 6px;color:#2d3748;font-size:15px}.ai-chat-welcome p{margin:0;line-height:1.5}.ai-chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;justify-content:center}.ai-chat-suggestion{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;font-size:11px;padding:4px 10px;border-radius:14px;cursor:pointer;transition:background .15s}.ai-chat-suggestion:hover{background:#dbeafe}.ai-chat-token-info{font-size:10px;color:#a0aec0;margin-top:6px;padding-top:4px;border-top:1px solid #edf2f7}.ai-chat-refresh-btn{background:none;border:1px solid #d1d5db;color:#9ca3af;width:32px;height:36px;border-radius:8px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-end;transition:all .15s}.ai-chat-refresh-btn:hover{border-color:#3b82f6;color:#3b82f6}.ai-chat-refresh-btn.active{background:#eff6ff;border-color:#3b82f6;color:#2563eb}.ai-chat-info-banner{background:#eff6ff;border-bottom:1px solid #bfdbfe;padding:8px 16px;font-size:11px;color:#1e40af;line-height:1.5}.ai-chat-info-banner p{margin:2px 0}.ai-kb-editor{display:flex;flex-direction:column;padding:12px 16px;flex:1;min-height:300px}.ai-kb-header-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ai-kb-label{font-size:12px;font-weight:600;color:#2d3748}.ai-kb-chars{font-size:11px;color:#a0aec0}.ai-kb-textarea{flex:1;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;font-size:12px;font-family:monospace;line-height:1.5;resize:none;outline:none;min-height:260px;color:#2d3748}.ai-kb-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.ai-kb-loading{flex:1;display:flex;align-items:center;justify-content:center;color:#a0aec0;font-size:13px}.ai-kb-error{font-size:12px;color:#dc2626;margin-top:6px}.ai-kb-success{font-size:12px;color:#16a34a;margin-top:6px}.ai-kb-actions{display:flex;gap:8px;margin-top:10px}.ai-kb-save-btn{flex:1;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.ai-kb-save-btn:disabled{opacity:.5;cursor:not-allowed}.ai-kb-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8)}.ai-kb-reset-btn{background:#fff;border:1px solid #d1d5db;color:#6b7280;padding:8px 14px;border-radius:8px;font-size:12px;cursor:pointer}.ai-kb-reset-btn:hover{background:#f9fafb;border-color:#9ca3af}@media(max-width:480px){.ai-chat-panel{width:calc(100vw - 24px);right:12px;bottom:80px;max-height:70vh}}.pagehelp-fab{position:fixed;bottom:24px;right:24px;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--radar-head) 0%,var(--radar-head-deep) 100%);border:none;color:var(--on-accent);font-size:24px;font-weight:700;line-height:1;cursor:pointer;box-shadow:var(--shadow-1);z-index:10000;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}.pagehelp-fab:hover{transform:scale(1.08);box-shadow:var(--shadow-2)}.pagehelp-panel{position:fixed;bottom:88px;right:24px;width:370px;max-width:calc(100vw - 24px);height:460px;max-height:72vh;background:var(--surface-1);border:1px solid var(--border-1);border-radius:12px;box-shadow:var(--shadow-2);z-index:10001;display:flex;flex-direction:column;overflow:hidden;animation:pagehelp-up .18s ease-out}@keyframes pagehelp-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pagehelp-header{display:flex;align-items:flex-start;justify-content:space-between;padding:10px 14px;background:linear-gradient(135deg,var(--radar-head) 0%,var(--radar-head-deep) 100%);color:var(--on-accent);flex-shrink:0}.pagehelp-header h3{margin:0;font-size:13.5px;font-weight:700}.pagehelp-sub{font-size:10.5px;opacity:.85}.pagehelp-close{background:none;border:none;color:var(--on-accent);font-size:20px;line-height:1;cursor:pointer;padding:0 2px;opacity:.85}.pagehelp-close:hover{opacity:1}.pagehelp-body{flex:1;overflow-y:auto;padding:12px 14px;font-size:12.5px;line-height:1.5;color:var(--text-2)}.pagehelp-intro p{margin:0 0 10px;color:var(--text-3);font-size:12px}.pagehelp-starters{display:flex;flex-direction:column;gap:6px}.pagehelp-starter{text-align:left;background:var(--surface-2);border:1px solid var(--border-1);border-radius:7px;padding:7px 10px;font-size:12px;color:var(--text-2);cursor:pointer}.pagehelp-starter:hover:not(:disabled){border-color:var(--radar-head);color:var(--text-1)}.pagehelp-starter:disabled{opacity:.5;cursor:default}.pagehelp-msg{margin-bottom:10px;padding:8px 10px;border-radius:9px;max-width:92%}.pagehelp-msg.user{margin-left:auto;background:var(--tint-cool);color:var(--ink-cool)}.pagehelp-msg.assistant{background:var(--surface-2);border:1px solid var(--border-1);color:var(--text-2)}.pagehelp-msg p{margin:0 0 7px}.pagehelp-msg p:last-child{margin-bottom:0}.pagehelp-msg ul{margin:6px 0;padding-left:18px}.pagehelp-msg code{background:var(--surface-3);padding:1px 4px;border-radius:3px;font-size:11px}.pagehelp-typing{color:var(--text-4);font-style:italic}.pagehelp-error{background:var(--warn-soft);color:var(--warn-ink);border:1px solid var(--warn);border-radius:7px;padding:7px 9px;font-size:11.5px;margin-bottom:8px}.pagehelp-input-row{display:flex;gap:6px;padding:10px 12px;border-top:1px solid var(--border-1);background:var(--surface-2);flex-shrink:0}.pagehelp-input-row input{flex:1;min-width:0;background:var(--surface-1);color:var(--text-1);border:1px solid var(--border-2);border-radius:7px;padding:7px 9px;font-size:12.5px;font-family:inherit}.pagehelp-input-row input:focus{outline:none;border-color:var(--radar-head)}.pagehelp-input-row button{background:var(--radar-head);color:var(--on-accent);border:none;border-radius:7px;padding:7px 14px;font-size:12.5px;font-weight:600;cursor:pointer}.pagehelp-input-row button:disabled{opacity:.5;cursor:default}@media(max-width:480px){.pagehelp-fab{bottom:16px;right:16px}.pagehelp-panel{width:calc(100vw - 24px);right:12px;bottom:80px;height:70vh}}.toast-container{position:fixed;top:80px;right:20px;z-index:10001;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;background:#fff;border-radius:8px;padding:14px 18px;box-shadow:0 4px 16px #00000026;min-width:300px;max-width:500px;pointer-events:all;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-warning{border-left:4px solid #f59e0b}.toast-icon{font-size:20px;flex-shrink:0}.toast-message{flex:1;color:#2d3748;font-size:14px;font-weight:500;line-height:1.4}.toast-close{background:none;border:none;color:#718096;font-size:24px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0}.toast-close:hover{background:#f7fafc;color:#2d3748}@media(max-width:768px){.toast-container{top:70px;right:10px;left:10px}.toast{min-width:auto;max-width:none}.toast-message{font-size:13px}}.App{min-height:100vh;background:var(--app-bg);color:var(--text-1)}*{box-sizing:border-box}body{margin:0;padding:0}.app-header{background:var(--header-bg);color:var(--text-1);padding:18px 30px 15px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a;border-bottom:1px solid var(--header-border);overflow:visible}.header-left{display:flex;align-items:center;gap:30px;flex:0 0 auto}.header-center{display:flex;align-items:center;justify-content:center;flex:1;padding:0 20px}.logo-container{position:relative;display:flex;align-items:center}.app-slogan{margin-left:40px;font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--text-3, #64748b);white-space:nowrap}@media(max-width:1100px){.app-slogan{display:none}}.app-logo{height:50px;width:auto;object-fit:contain}.app-logo.clickable{cursor:pointer;transition:all .2s}.app-logo.clickable:hover{opacity:.8;transform:scale(1.05)}.beta-badge{position:absolute;top:-3px;right:-26px;padding:1px 5px;border-radius:3px;font-size:8px;font-weight:700;letter-spacing:.4px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 1px 2px #f59e0b66;animation:pulse 2s ease-in-out infinite}.header-right{display:flex;align-items:center;gap:15px;overflow:visible;flex:0 0 auto}.user-email{font-size:14px;color:#4a5568;font-weight:500}.login-button,.logout-button{background:#fff;color:#2d3748;border:1px solid #cbd5e0;padding:8px 16px;border-radius:5px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.login-button:hover,.logout-button:hover{background:#f7fafc;border-color:#a0aec0;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.guest-data-summary{display:flex;flex-direction:column;gap:2px;padding:6px 12px;background:linear-gradient(135deg,#e0f2fe,#bae6fd);border:1px solid #0ea5e9;border-radius:5px;font-size:11px;color:#0c4a6e;font-weight:500;max-width:600px;transition:all .2s}.guest-data-summary:hover{box-shadow:0 2px 6px #0ea5e94d}.guest-data-summary .data-summary-row{display:flex;align-items:center;gap:8px;line-height:1.4}.guest-data-summary .data-label{font-weight:600;white-space:nowrap;min-width:95px;font-size:11px}.guest-data-summary .data-detail{font-size:10px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.example-data-indicator{display:flex;align-items:center;gap:10px;padding:6px 12px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #3b82f6;border-radius:5px;font-size:13px;color:#1e40af;font-weight:500}.example-data-indicator .example-icon{font-size:16px}.example-data-indicator .example-text{white-space:nowrap}.upload-data-btn-header{background:#3b82f6;color:#fff;border:none;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s}.upload-data-btn-header:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 4px #3b82f64d}.example-data-indicator-compact{display:flex;align-items:center;gap:8px}.demo-mode-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.upload-data-btn-compact{background:#3b82f6;color:#fff;border:none;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s}.return-to-alphatros-btn{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;animation:pulse 2s ease-in-out infinite}.return-to-alphatros-btn:hover{transform:translateY(-1px);box-shadow:0 2px 6px #f59e0b66;animation:none;opacity:1}.upload-data-btn-compact:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 4px #3b82f64d}.guest-recommendation-banner{background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:1px solid #f59e0b;padding:10px 30px;font-size:13px;color:#92400e;text-align:center;line-height:1.5;font-weight:500}.share-mode-indicator{font-size:14px;color:#3fb89f;font-weight:600;padding:6px 12px;background:#3fb89f1a;border-radius:5px;border:1px solid rgba(63,184,159,.3)}.register-cta-button{background:#3fb89f;color:#fff;border:none;padding:8px 20px;border-radius:5px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #3fb89f33}.register-cta-button:hover{background:#359681;transform:translateY(-1px);box-shadow:0 4px 6px #3fb89f4d}.try-example-btn{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;border:none;padding:8px 16px;border-radius:5px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #0ea5e933;white-space:nowrap}.try-example-btn:hover{background:linear-gradient(135deg,#0284c7,#0369a1);transform:translateY(-1px);box-shadow:0 4px 8px #0ea5e94d}.section-navigation{display:flex;gap:2px}.section-button{background:transparent;color:#4a5568;border:none;padding:8px 10px;font-size:14px;font-weight:600;cursor:pointer;border-radius:5px;transition:all .2s}.section-button:hover{color:#2d3748;background:#0000000d}.section-button.active{color:#2c5f7f;background:#2c5f7f1a}.section-button.info-button{padding:4px 8px;margin-left:6px;min-width:auto}.info-icon-custom{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#0077b61f;border:1.5px solid #0077b6;color:#0077b6;font-size:12px;font-weight:700;font-style:italic;font-family:Georgia,serif;transition:all .2s}.section-button.info-button:hover .info-icon-custom{background:#0077b633;border-color:#005a8d;color:#005a8d;transform:scale(1.1)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#f8f9fa}.spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-screen p{margin-top:20px;color:#666;font-size:16px}@media(max-width:768px){.app-header{padding:10px 15px;flex-wrap:wrap;gap:10px}.header-left{gap:15px}.header-center{width:100%;order:3;padding:10px 0 0}.app-logo{height:40px}.beta-badge{top:-2px;right:-22px;font-size:7px;padding:1px 4px}.header-right{gap:8px;flex-wrap:wrap}.user-email{font-size:12px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-button,.logout-button{padding:6px 12px;font-size:13px}.guest-data-summary{max-width:100%;font-size:11px}}.premium-badge,.premium-badge-inline,.premium-lock-badge,.premium-hint{display:inline-flex;align-items:center;gap:4px;color:#92400e;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;margin-left:8px;background:transparent;padding:0;vertical-align:middle}.persona-overlay{position:fixed;inset:0;background:#0f172abf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px}.persona-modal{background:#0f172a;border:1px solid #334155;border-radius:14px;padding:32px;max-width:720px;width:100%;text-align:center;color:#e2e8f0}.persona-title{margin:0 0 6px;font-size:24px;color:#f1f5f9}.persona-subtitle{margin:0 0 24px;font-size:13px;color:#94a3b8}.persona-cards{display:flex;gap:16px;margin-bottom:20px}.persona-card{flex:1;background:#1e293b99;border:1px solid #334155;border-radius:10px;padding:20px 16px;position:relative;display:flex;flex-direction:column;align-items:center;gap:8px}.persona-card.selectable{cursor:pointer;border-color:#10b98180}.persona-card.selectable:hover{border-color:#10b981;background:#10b98114}.persona-card.soon{opacity:.85}.persona-badge{position:absolute;top:-10px;right:12px;background:#8b5cf6;color:#fff;font-size:10px;font-weight:700;padding:3px 10px;border-radius:10px;text-transform:uppercase;letter-spacing:.4px}.persona-card-icon{font-size:30px}.persona-card-title{font-size:15px;font-weight:700;color:#f1f5f9}.persona-card-desc{font-size:12px;color:#94a3b8;line-height:1.5;flex:1}.persona-card-btn{margin-top:8px;padding:8px 18px;border-radius:6px;border:1px solid #475569;background:transparent;color:#e2e8f0;font-size:12px;font-weight:600;cursor:pointer}.persona-card-btn.primary{background:#10b981;border-color:#10b981;color:#fff}.persona-card-btn:hover{border-color:#94a3b8}.persona-card-btn.primary:hover{background:#059669}.persona-waitlist-ok{margin-top:8px;font-size:12px;color:#10b981;font-weight:600}.persona-skip{background:none;border:none;color:#64748b;font-size:12px;cursor:pointer}.persona-skip:hover{color:#94a3b8}@media(max-width:640px){.persona-cards{flex-direction:column}}.theme-toggle{background:none;border:1px solid var(--border-2, #cbd5e1);border-radius:6px;color:var(--text-2, #475569);font-size:14px;line-height:1;width:30px;height:30px;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s,background .15s}.theme-toggle:hover{border-color:var(--accent, #2ecc8f);color:var(--accent-ink, #157854);background:var(--accent-soft, rgba(46, 204, 143, .07))}.admin-page{max-width:1200px;margin:0 auto;padding:20px}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-header h2{margin:0;color:#1e293b}.admin-search{padding:6px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;width:240px}.admin-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;padding:8px 12px;border-radius:6px;margin-bottom:12px;font-size:13px}.admin-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.admin-table th{background:#f8fafc;text-align:left;padding:10px 12px;font-weight:700;color:#475569;border-bottom:1px solid #e2e8f0}.admin-table td{padding:8px 12px;border-bottom:1px solid #f1f5f9}.admin-table tr.saving{opacity:.5}.admin-email{font-weight:600;color:#1e293b}.admin-date{color:#94a3b8;font-size:12px}.admin-table input[type=checkbox]{width:16px;height:16px;cursor:pointer}.admin-table select{padding:3px 6px;border:1px solid #cbd5e1;border-radius:4px;font-size:12px}.admin-viewas-btn{padding:4px 10px;border:1px solid #2563eb;background:#eff6ff;color:#2563eb;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.admin-viewas-btn:hover{background:#dbeafe}.viewas-banner{display:flex;align-items:center;gap:12px;background:#7c3aed;color:#fff;padding:8px 16px;font-size:13px;font-weight:600}.viewas-banner button{margin-left:auto;background:#fff;color:#7c3aed;border:none;padding:4px 12px;border-radius:6px;font-weight:700;cursor:pointer}.admin-nav-btn{color:#7c3aed!important}.admin-services{display:flex;flex-wrap:wrap;gap:4px;max-width:260px}.admin-svc-chip{display:inline-flex;align-items:center;gap:3px;font-size:10px;padding:2px 6px;border-radius:10px;cursor:pointer;border:1px solid #e2e8f0}.admin-svc-chip.on{background:#f0fdf4;color:#16a34a;border-color:#bbf7d0}.admin-svc-chip.off{background:#fef2f2;color:#dc2626;border-color:#fecaca}.admin-svc-chip input{width:12px;height:12px}.admin-header{align-items:flex-start}.admin-ext-matrix{border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;background:#fff}.admin-ext-title{font-size:11px;font-weight:700;color:#475569;text-transform:uppercase;margin-bottom:6px}.admin-ext-matrix table{border-collapse:collapse;font-size:12px}.admin-ext-matrix th{padding:2px 8px;font-size:10px;color:#94a3b8;font-weight:600;text-align:center}.admin-ext-matrix td{padding:2px 6px;text-align:center}.admin-ext-group{text-align:left!important;color:#334155;font-weight:600;white-space:nowrap}.admin-ext-toggle{min-width:44px;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:700;cursor:pointer;border:1px solid transparent}.admin-ext-toggle.on{background:#f0fdf4;color:#16a34a;border-color:#bbf7d0}.admin-ext-toggle.off{background:#fef2f2;color:#dc2626;border-color:#fca5a5}
