:root{--text:#475569;--text-h:#0f172a;--bg:#f1f5f9;--border:#e2e8f0;--card-bg:#fff;--accent:#2563eb;--accent-soft:#eff6ff;--shadow:0 1px 2px #0f172a0a, 0 1px 8px #0f172a0a;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/145% var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0}#root{max-width:1280px;margin:0 auto;padding:32px 24px 64px}h1,h2,h3{color:var(--text-h);letter-spacing:-.01em;font-weight:600}.app-header{margin-bottom:28px}.app-header h1{margin:0 0 12px;font-size:32px}.app-header p{color:var(--text);margin:0;font-size:15px;line-height:1.7}.header-tagline{color:var(--text-h);font-size:15px;font-weight:500;margin:0 0 10px!important}.header-background{color:var(--text);max-width:820px;font-size:14px;line-height:1.75}.toolbar{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;margin-bottom:24px;padding:16px 18px}.option-form-container{flex-direction:column;gap:16px;display:flex}.form-section{flex-direction:column;gap:8px;display:flex}.form-section-header{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:700}.form-row,.option-form{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.form-field{letter-spacing:.03em;text-transform:uppercase;color:var(--text);flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.form-field input[type=number],.form-field input[type=text]{border:1px solid var(--border);background:var(--card-bg);text-transform:none;letter-spacing:normal;color:var(--text-h);border-radius:6px;width:100px;padding:6px 10px;font-size:13px;font-weight:400}.form-field-hint{letter-spacing:normal;text-transform:none;color:var(--text);font-size:11px;font-weight:400}.form-field.field-edited input[type=number]{background:#fffbeb;border-color:#f59e0b}.form-field.field-edited label{color:#b45309}.field-reset-btn{color:#b45309;cursor:pointer;vertical-align:baseline;background:0 0;border:none;padding:0 0 0 4px;font-size:13px;display:inline}.field-reset-btn:hover{color:#92400e}.field-source-hint{color:#b45309}.reset-all-btn{color:var(--accent);cursor:pointer;letter-spacing:.03em;text-transform:uppercase;background:0 0;border:none;margin-left:10px;padding:0;font-size:11px;font-weight:600;display:inline}.reset-all-btn:hover{text-decoration:underline}.data-freshness{letter-spacing:normal;text-transform:none;color:#16a34a;margin-left:10px;font-size:11px;font-weight:500}.data-freshness.stale{color:#dc2626}.refresh-btn{color:#dc2626;cursor:pointer;vertical-align:baseline;background:0 0;border:none;padding:0 0 0 4px;font-size:13px;display:inline}.refresh-btn:hover{color:#991b1b}.mode-nav{gap:0;margin-bottom:-1px;padding-left:8px;display:flex}.mode-nav-item{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-bottom:none;border-radius:8px 8px 0 0;padding:8px 20px;font-size:13px;font-weight:500;transition:background-color .15s,color .15s}.mode-nav-item.active{background:var(--card-bg);color:var(--accent);border-color:var(--border);font-weight:600}.mode-nav-item:not(.active):hover{color:var(--accent)}.position-table-scroll{margin-bottom:12px;overflow-x:auto}.position-table{border-collapse:collapse;font-size:13px}.position-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--text);border-bottom:2px solid var(--border);white-space:nowrap;padding:6px 8px;font-size:11px;font-weight:700}.position-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:4px 8px}.position-table input[type=number],.position-table input[type=text]{border:1px solid var(--border);background:var(--card-bg);color:var(--text-h);border-radius:4px;width:70px;padding:4px 6px;font-size:13px}.position-table input[type=text]{width:60px}.position-table input.input-wide{width:90px}.position-table .type-toggle{font-size:11px}.position-table .type-option{padding:3px 8px;font-size:11px}.row-loading{opacity:.5}.cell-edited input{background:#fffbeb!important;border-color:#f59e0b!important}.cell-with-reset{align-items:center;gap:2px;display:flex}.cell-source-hint{color:#b45309;white-space:nowrap;font-size:10px}.dividend-expand-row td{background:var(--bg);border-bottom:2px solid var(--border)}.dividend-expand-content{flex-direction:column;gap:6px;padding:8px 4px;display:flex}.portfolio-toolbar{flex-wrap:wrap;gap:8px;display:flex}.portfolio-greeks-table{font-size:12.5px}.portfolio-greeks-table th{white-space:nowrap}.portfolio-greeks-table td{white-space:nowrap;font-variant-numeric:tabular-nums}.portfolio-net-row{border-top:2px solid var(--text);font-weight:700}.portfolio-net-row td{padding-top:8px}.position-selector{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;display:flex}.position-selector select{border:1px solid var(--border);background:var(--card-bg);color:var(--text-h);border-radius:6px;padding:5px 10px;font-size:13px}.fetch-all-btn{background:var(--accent);border-color:var(--accent);color:#fff}.fetch-all-btn:hover{opacity:.88}.dollar-greek-positive{color:#16a34a}.dollar-greek-negative{color:#dc2626}.type-toggle{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.type-option{text-transform:none;letter-spacing:normal;color:var(--text-h);background:var(--card-bg);cursor:pointer;align-items:center;padding:6px 16px;font-size:13px;font-weight:400;transition:background-color .15s,color .15s;display:flex}.type-option input{opacity:0;pointer-events:none;position:absolute}.type-option:not(:last-child){border-right:1px solid var(--border)}.type-option.active{background:var(--accent);color:#fff}.apply-button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border-radius:6px;padding:7px 20px;font-size:14px;font-weight:500;transition:opacity .15s}.apply-button:hover{opacity:.88}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.summary-card{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow);border-top:3px solid var(--accent);border-radius:10px;padding:16px 18px}.summary-card-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text);margin-bottom:10px;font-size:12px;font-weight:600}.summary-card-value{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.2}.summary-card-subvalue{color:var(--text);margin-top:6px;font-size:13px}.explore-guide{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;margin-bottom:20px;padding:14px 18px}.explore-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text);font-size:11px;font-weight:700}.explore-tips{color:var(--text);margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.7}.explore-tips li{margin-bottom:3px}.explore-tips li:last-child{margin-bottom:0}.tab-nav{border-bottom:1px solid var(--border);gap:0;margin-bottom:20px;display:flex;overflow-x:auto}.tab-button{color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 20px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s}.tab-button:hover{color:var(--accent)}.tab-button.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-content{animation:.12s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.charts-row{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;margin-bottom:24px;display:grid}.chart-card{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;padding:18px}.chart-card.wide{margin-bottom:24px}.chart-card h3{margin:0 0 6px;font-size:15px;font-weight:600}.chart-subtitle{color:var(--text);margin:0 0 18px;font-size:13px;line-height:1.65}.chart-note{color:var(--text);margin:8px 0 0;font-size:12px}.chart-loading,.chart-error{text-align:center;color:var(--text);padding:48px 0}.chart-error{color:#b91c1c}.chart-controls{flex-wrap:wrap;align-items:flex-end;gap:24px;margin-bottom:20px;display:flex}.control-group{flex-direction:column;gap:6px;display:flex}.control-label{letter-spacing:.03em;text-transform:uppercase;color:var(--text);white-space:nowrap;font-size:12px;font-weight:600}.toggle-group{flex-wrap:wrap;gap:4px;display:flex}.toggle-btn{border:1px solid var(--border);background:var(--card-bg);color:var(--text-h);cursor:pointer;white-space:nowrap;border-radius:6px;padding:5px 12px;font-size:13px;transition:background-color .15s,border-color .15s,color .15s}.toggle-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.toggle-btn:hover:not(.active){border-color:var(--accent);color:var(--accent)}.greeks-table{border-collapse:collapse;width:100%;font-size:13.5px}.greeks-table th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--text);border-bottom:1px solid var(--border);padding:8px 12px;font-size:11px;font-weight:700}.greeks-table td{border-top:1px solid var(--border);vertical-align:top;padding:9px 12px}.greek-name{color:var(--text-h);white-space:nowrap;font-weight:600}.greek-value{font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap;font-weight:700;font-family:var(--mono);font-size:14px}.greek-desc{color:var(--text);font-size:13px}input[type=range]{accent-color:var(--accent);cursor:pointer;width:180px}.heatmap-scroll{margin-top:16px;overflow-x:auto}.dividends-section{flex-direction:column;gap:8px;width:100%;padding-top:4px;display:flex}.dividends-header{letter-spacing:.03em;text-transform:uppercase;color:var(--text);font-size:12px;font-weight:600}.dividend-row{align-items:center;gap:6px;display:flex}.dividend-input{border:1px solid var(--border);background:var(--card-bg);color:var(--text-h);border-radius:6px;width:68px;padding:6px 8px;font-size:13px}.dividend-label{color:var(--text);white-space:nowrap;font-size:12px}.remove-dividend-btn{border:1px solid var(--border);background:var(--card-bg);color:var(--text);cursor:pointer;border-radius:6px;padding:4px 8px;font-size:14px;line-height:1;transition:border-color .15s,color .15s}.remove-dividend-btn:hover{color:#b91c1c;border-color:#b91c1c}.add-dividend-btn{border:1px solid var(--border);background:var(--card-bg);color:var(--accent);cursor:pointer;border-radius:6px;align-self:flex-start;padding:5px 12px;font-size:12px;font-weight:600;transition:opacity .15s}.add-dividend-btn:hover{opacity:.8}.status-message{text-align:center;color:var(--text);padding:48px 16px}.status-message.error{color:#b91c1c}
