:root{color:#152018;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#28574f14,#0000 260px),#f4f1ea;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.auth-shell{place-items:center;min-height:100vh;padding:20px;display:grid}.auth-loading{color:#69746f;font-weight:700}.login-panel{background:#fffdfa;border:1px solid #dfd8cb;border-radius:8px;gap:16px;width:min(390px,100%);padding:28px;display:grid;box-shadow:0 18px 50px #1f342c1f}.login-brand{align-items:center;gap:12px;margin-bottom:6px;display:flex}.login-brand>svg{color:#f8faf8;background:#24594f;border-radius:8px;width:42px;height:42px;padding:7px}.login-brand h1,.login-brand p{margin:0}.login-brand h1{font-size:1.25rem}.login-brand p{color:#69746f;margin-top:3px}.login-panel label{color:#39443f;gap:7px;font-size:.88rem;font-weight:800;display:grid}.login-panel input{color:#152018;background:#fbfaf7;border:1px solid #cfc6b7;border-radius:8px;width:100%;min-height:42px;padding:0 11px}.login-error{color:#a33b34;min-height:20px;margin:0;font-size:.85rem}.login-button{width:100%}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:26px 0 42px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.topbar-actions{justify-content:flex-end;align-items:center;gap:9px;display:flex}.signed-in-user{color:#5f6964;font-size:.85rem;font-weight:800}.portfolio-switcher{align-items:center;gap:8px;min-width:0;display:flex}.portfolio-switcher>span{color:#5f6964;white-space:nowrap;font-size:.78rem}.portfolio-switcher select{max-width:180px}.dialog-backdrop{z-index:100;background:#1520187a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.share-dialog{background:#fffdfa;border:1px solid #d5cec1;border-radius:8px;width:min(500px,100%);max-height:min(680px,100vh - 40px);padding:20px;overflow:auto;box-shadow:0 24px 60px #15201840}.dialog-header{justify-content:space-between;align-items:start;gap:16px;display:flex}.dialog-header h2,.dialog-header p{margin:0}.dialog-header h2{font-size:1.2rem}.dialog-header p{color:#69746f;min-height:20px;margin-top:5px;font-size:.88rem}.share-form{grid-template-columns:minmax(0,1fr) 120px;align-items:end;gap:10px;margin-top:18px;display:grid}.share-list{border-top:1px solid #ebe4d7;margin-top:18px;display:grid}.share-list-row{border-bottom:1px solid #ebe4d7;justify-content:space-between;align-items:center;gap:14px;min-height:62px;display:flex}.share-list-row>div{gap:3px;display:grid}.share-list-row span{color:#69746f;font-size:.78rem}.share-empty{color:#69746f;place-items:center;min-height:76px;display:grid}.brand{align-items:center;gap:12px;display:flex}.brand>svg{color:#f8faf8;background:#24594f;border-radius:8px;width:40px;height:40px;padding:6px}.brand p{margin:0;font-size:1.1rem;font-weight:800}.brand span,td span,.form-header p,.panel-header p,.metric span,.metric small{color:#69746f}.icon-button,.submit-button,.icon-only{border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;display:inline-flex}.icon-button{padding:0 14px}.primary,.submit-button{color:#f8faf8;background:#24594f;box-shadow:0 10px 24px #24594f2e}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.metric{background:#fffdfa;border:1px solid #dfd8cb;border-radius:8px;flex-direction:column;justify-content:space-between;min-height:118px;padding:16px;display:flex}.metric strong{font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.1}.metric small{align-items:center;gap:6px;font-weight:700;display:inline-flex}.chart-panel{background:#fffdfa;border:1px solid #dfd8cb;border-radius:8px;margin-bottom:16px;padding:16px}.panel-header{justify-content:space-between;align-items:start;gap:14px;margin-bottom:12px;display:flex}.panel-header h2{margin:0;font-size:1.2rem}.panel-header p{min-height:20px;margin:5px 0 0;font-size:.9rem}.chart-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.chart-mode-control{background:#fbfaf7;border:1px solid #d8d0c2;border-radius:8px;grid-template-columns:repeat(2,36px);min-height:36px;display:inline-grid;overflow:hidden}.chart-mode-control button{color:#5f6964;background:0 0;border:0;border-right:1px solid #d8d0c2;place-items:center;min-width:36px;min-height:34px;padding:0;display:inline-grid}.chart-mode-control button:last-child{border-right:0}.chart-mode-control button.active{color:#fffdfa;background:#24594f}.earnings-toggle{grid-template-columns:unset;color:#39443f;background:#fbfaf7;border:1px solid #d8d0c2;border-radius:8px;align-items:center;gap:8px;min-height:36px;padding:0 11px;font-size:.88rem;font-weight:800;display:inline-flex}.earnings-toggle input{accent-color:#24594f;width:16px;min-height:16px}.chart-count{color:#39443f;background:#f7f3ec;border:1px solid #d8d0c2;border-radius:8px;align-items:center;min-height:36px;padding:0 11px;font-size:.88rem;font-weight:700;display:inline-flex}select{color:#152018;background:#fbfaf7;border:1px solid #cfc6b7;border-radius:8px;min-height:36px;padding:0 34px 0 10px}.segmented{background:#fbfaf7;border:1px solid #cfc6b7;border-radius:8px;grid-template-columns:repeat(5,minmax(58px,1fr));display:inline-grid;overflow:hidden}.segmented button{color:#39443f;background:0 0;border:0;border-right:1px solid #cfc6b7;min-height:34px;padding:0 10px;font-size:.88rem}.segmented button:last-child{border-right:0}.segmented button.active{color:#f8faf8;background:#24594f}.date-range{align-items:end;gap:10px;margin-bottom:12px;display:flex}.date-range label{width:170px}.chart-frame{width:100%;height:416px;position:relative;overflow:hidden}.chart-content{min-width:0}.chart-content.with-similar-periods{grid-template-columns:minmax(0,1fr) 238px;align-items:start;gap:14px;display:grid}.similar-periods-column{gap:4px;min-width:0;display:grid}.run-pattern-button{color:#fffdfa;background:#24594f;border:1px solid #24594f;border-radius:7px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:34px;padding:0 10px;font-size:.76rem;font-weight:900;display:inline-flex}.run-pattern-button:hover:not(:disabled){background:#183f38}.run-pattern-button:disabled{color:#929a96;cursor:not-allowed;background:#f3f3f0;border-color:#d5ded9}.similar-periods-panel{background:#fbfaf7;border:1px solid #d8d0c2;border-radius:7px;min-height:416px;padding:12px}.similar-periods-panel.disabled{opacity:.62}.similar-periods-heading{justify-content:space-between;align-items:center;gap:10px;min-height:38px;display:flex}.similar-periods-heading span{color:#78817d;text-transform:uppercase;font-size:.66rem;font-weight:900;display:block}.similar-periods-heading h3{color:#26322d;margin:2px 0 0;font-size:.92rem}.similar-periods-panel>p{color:#69746f;min-height:30px;margin:5px 0 9px;font-size:.7rem;font-weight:700;line-height:1.3}.similar-periods-list{gap:5px;display:grid}.similar-periods-list button{color:#26322d;text-align:left;background:#fffdfa;border:1px solid #dfd8cb;border-radius:6px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;min-height:52px;padding:7px;display:grid}.similar-periods-list button:hover,.similar-periods-list button.active{background:#fff7f3;border-color:#c4543f}.similar-period-rank{color:#59645f;background:#eee9df;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.68rem;font-weight:900;display:inline-grid}.similar-period-details{min-width:0}.similar-period-details strong,.similar-period-details small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.similar-period-details strong{font-size:.7rem}.similar-period-details small{color:#69746f;margin-top:4px;font-size:.64rem;font-weight:700}.similar-period-score{color:#a13f31;align-items:center;gap:2px;font-size:.76rem;font-weight:900;display:inline-flex}.similar-periods-empty{color:#7a827e;text-align:center;place-items:center;min-height:250px;font-size:.76rem;font-weight:700;display:grid}.transaction-marker-bubble{z-index:4;color:#26322d;pointer-events:none;background:#fffdfafa;border:1px solid #d4cec2;border-top:3px solid #69746f;border-radius:7px;width:min(280px,100% - 16px);padding:10px 12px;position:absolute;top:22px;box-shadow:0 10px 28px #252d292e}.transaction-marker-hit{z-index:3;cursor:help;background:0 0;border:0;border-radius:50%;width:26px;height:26px;padding:0;position:absolute;transform:translate(-50%,-50%)}.transaction-marker-hit:focus-visible{outline-offset:2px;outline:2px solid #152018}.transaction-marker-bubble.align-start{transform:translate(0)}.transaction-marker-bubble.align-center{transform:translate(-50%)}.transaction-marker-bubble.align-end{transform:translate(-100%)}.transaction-marker-bubble.buy{border-top-color:#1f7a4d}.transaction-marker-bubble.sell{border-top-color:#b63f35}.transaction-bubble-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.transaction-bubble-heading span{color:#69746f;text-transform:uppercase;font-size:.72rem;font-weight:900}.transaction-bubble-heading strong{font-size:.95rem}.transaction-marker-bubble time{color:#59645f;margin-top:3px;font-size:.75rem;font-weight:700;display:block}.transaction-marker-bubble dl{grid-template-columns:repeat(3,1fr);gap:10px;margin:9px 0 0;display:grid}.transaction-marker-bubble dl div{min-width:0}.transaction-marker-bubble dt{color:#78817d;text-transform:uppercase;font-size:.68rem;font-weight:800}.transaction-marker-bubble dd{margin:2px 0 0;font-size:.82rem;font-weight:900}.transaction-marker-bubble p{color:#4f5d57;overflow-wrap:anywhere;border-top:1px solid #ebe4d7;margin:9px 0 0;padding-top:8px;font-size:.78rem;line-height:1.35}.chart-view{position:relative}.chart-zoom-controls{justify-content:flex-end;gap:6px;min-height:34px;margin:-4px 0 4px;display:flex}.chart-zoom-controls button{color:#24594f;background:#f8faf8;border:1px solid #d5ded9;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.chart-zoom-controls button:hover:not(:disabled){color:#fffdfa;background:#24594f}.chart-zoom-controls button:disabled{color:#aeb5b1;cursor:not-allowed;background:#f3f3f0}.chart-zoom-controls button.active{color:#fffdfa;background:#007c91;border-color:#007c91}.chart-frame svg{touch-action:none;width:100%;height:100%;display:block}.chart-frame.drawing svg{cursor:crosshair}.grid-line{stroke:#ebe4d7;stroke-width:1px}.price-grid-line{stroke:#e4e0d8;stroke-dasharray:2 4;stroke-width:1px}.price-grid-label{fill:#69746f;font-size:10px;font-weight:700}.overlay-price-grid-label{fill:#c4543f;font-size:9px;font-weight:800}.chart-selection{fill:#315aa421;stroke:#315aa4;stroke-dasharray:5 4;stroke-width:1.5px}.day-end-line{opacity:.62;stroke:#aeb5b1;stroke-dasharray:4 5;stroke-width:1px}.hour-marker-line{stroke:#e1ddd4;stroke-width:1px}.axis-label{fill:#69746f;font-size:12px}.axis-date-label{fill:#4f5d57;font-size:11px;font-weight:800}.axis-hour-label{fill:#69746f;font-size:10px;font-weight:700}.price-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.overlay-price-line{stroke-width:2.5px}.simulated-price-line{fill:none;stroke:#007c91;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.price-candle line{stroke-width:1.2px}.price-candle rect{stroke-width:.8px}.price-candle.rising line,.price-candle.rising rect{fill:#2c8a61;stroke:#1f6f4d}.price-candle.falling line,.price-candle.falling rect{fill:#c65349;stroke:#a83f37}.pointer-line{stroke:#a8873c;stroke-dasharray:4 4;stroke-width:1.5px}.earnings-marker line{opacity:.78;stroke-dasharray:3 5;stroke-width:1.5px}.earnings-marker.upcoming line{stroke-dasharray:7 4}.earnings-marker circle{stroke:#fffdfa;stroke-width:2px}.earnings-marker text{paint-order:stroke;stroke:#fffdfa;stroke-width:3px;font-size:10px;font-weight:900}.transaction-marker line{stroke-dasharray:5 4;stroke-width:1.5px}.transaction-marker circle{stroke:#fffdfa;stroke-width:2px}.transaction-marker.buy line{stroke:#1f7a4d}.transaction-marker.buy circle{fill:#1f7a4d}.transaction-marker.sell line{stroke:#b63f35}.transaction-marker.sell circle{fill:#b63f35}.transaction-marker text{fill:#fff;pointer-events:none;font-size:9px;font-weight:900}.pointer-dot{fill:#a8873c;stroke:#fffdfa;stroke-width:3px}.legend-line{stroke-linecap:round;stroke-width:3px}.legend-candle line,.legend-candle rect{fill:#2c8a61;stroke:#1f6f4d;stroke-width:1.2px}.chart-readout{border-top:1px solid #ebe4d7;grid-template-columns:minmax(520px,1.6fr) minmax(0,1.4fr);align-items:center;gap:20px;min-height:62px;padding:12px 8px 2px;display:grid}.chart-readout-context{grid-template-columns:minmax(240px,1.35fr) minmax(180px,1fr);align-items:start;gap:18px;min-width:0;display:grid}.chart-readout-time,.chart-readout-value,.chart-cursor-readout{min-width:0}.chart-readout-time span,.chart-readout-time strong,.chart-cursor-readout>span,.chart-cursor-readout>strong{display:block}.chart-readout-time span,.chart-cursor-readout>span{color:#69746f;text-transform:uppercase;margin-bottom:4px;font-size:.75rem;font-weight:800}.chart-readout-time strong,.chart-cursor-readout>strong{color:#26322d;font-size:.88rem;line-height:1.35}.chart-cursor-readout{border-left:1px solid #ebe4d7;padding-left:18px}.chart-cursor-prices{flex-wrap:wrap;gap:4px 12px;margin-top:4px;display:flex}.chart-cursor-price{gap:2px;display:grid}.chart-cursor-price.simulated{border-top:1px solid #ebe4d7;flex-basis:100%;margin-top:3px;padding-top:5px}.chart-cursor-price b{font-size:.82rem}.chart-cursor-price time,.chart-readout-value time{color:#69746f;white-space:nowrap;font-size:.72rem;font-weight:700}.chart-readout-values{flex-wrap:wrap;justify-content:flex-end;gap:12px 24px;display:flex}.chart-readout-value{grid-template-columns:auto auto;align-items:baseline;gap:3px 10px;display:grid}.chart-readout-value>strong{grid-row:1/3;font-size:.88rem}.chart-readout-value span{color:#69746f;font-size:.8rem}.chart-readout-value b{font-size:.86rem}.chart-readout-value.compact{gap:8px;display:flex}.chart-readout-value.compact.has-time{grid-template-columns:auto auto;display:grid}.chart-readout-value.compact.has-time time{text-align:right;grid-column:1/-1}.chart-readout-value.compact.simulated{border-top:1px solid #ebe4d7;flex-basis:100%;justify-content:flex-end;margin-top:-4px;padding-top:6px}.price-overlay-control{border-top:1px solid #ebe4d7;grid-template-columns:minmax(230px,.8fr) minmax(360px,2fr);align-items:center;gap:24px;margin-top:10px;padding:14px 8px 2px;display:grid}.price-overlay-control.disabled{color:#8a928e}.price-overlay-heading{align-items:center;gap:11px;min-width:0;display:flex}.price-overlay-heading>div:last-child{min-width:0}.overlay-toggle{color:#26322d;cursor:pointer;align-items:center;gap:8px;font-size:.86rem;font-weight:900;display:inline-flex}.overlay-toggle input{accent-color:#c4543f;flex:0 0 16px;width:16px;min-height:16px;margin:0;padding:0}.price-overlay-control.disabled .overlay-toggle{color:#7b837f;cursor:not-allowed}.overlay-status{color:#69746f;overflow-wrap:anywhere;margin-top:3px;font-size:.76rem;font-weight:700;line-height:1.25;display:block}.overlay-swatches{flex:0 0 30px;gap:6px;display:grid}.overlay-swatches span{border-radius:2px;width:30px;height:3px}.overlay-swatches .current{background:#24594f}.overlay-swatches .previous{background:#c4543f}.price-overlay-control.disabled .overlay-swatches,.price-overlay-control.off .overlay-swatches{filter:grayscale();opacity:.45}.price-overlay-sliders{gap:10px;min-width:0;display:grid}.price-overlay-slider{min-width:0}.price-overlay-slider input{accent-color:#c4543f;width:100%;min-height:24px;margin:0;padding:0}.price-overlay-scale{color:#7a827e;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:12px;margin-top:2px;font-size:.7rem;font-weight:700;display:grid}.price-overlay-scale output{color:#a13f31;text-align:center;font-size:.78rem;font-weight:900}.price-overlay-scale span:last-child{text-align:right}.vertical-zoom-slider{border-top:1px solid #ebe4d7;padding-top:8px}.vertical-zoom-slider>label{color:#59645f;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:2px;font-size:.72rem;font-weight:800;display:flex}.vertical-zoom-slider>label output{color:#a13f31;font-size:.78rem;font-weight:900}.price-overlay-scale.vertical span:nth-child(2){text-align:center}.price-overlay-control.disabled .vertical-zoom-slider>label output,.price-overlay-control.off .vertical-zoom-slider>label output,.price-overlay-control.disabled .price-overlay-scale output,.price-overlay-control.off .price-overlay-scale output{color:#7a827e}.chart-empty{color:#69746f;background:#fbfaf7;border:1px dashed #d8d0c2;border-radius:8px;place-items:center;min-height:260px;display:grid}.workspace{align-items:start;gap:16px;display:grid}.holding-form,.table-shell{background:#fffdfa;border:1px solid #dfd8cb;border-radius:8px}.monitoring-panel,.transaction-panel{background:#fffdfa;border:1px solid #dfd8cb;border-radius:8px;margin-top:16px;padding:18px}.transaction-table-wrap{overflow-x:auto}.admin-panel{background:#fffdfa;border:1px solid #dfd8cb;border-radius:8px;padding:18px}.admin-panel h1,.admin-panel h2{margin:0;font-size:1.2rem}.admin-back{width:auto;padding:0 14px}.admin-table-wrap{overflow-x:auto}.admin-table{min-width:840px}.admin-table td:last-child,.admin-table th:last-child{text-align:right;width:64px}.admin-empty{color:#69746f;text-align:center;height:96px}.user-role{text-transform:uppercase;border-radius:5px;padding:4px 8px;font-size:.76rem;font-weight:900;display:inline-flex}.user-role.admin{color:#225b50;background:#e1eeea}.user-role.member{color:#606965;background:#eeeae2}.admin-user-form{border-top:1px solid #ebe4d7;gap:14px;padding-top:18px;display:grid}.admin-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;display:grid}.admin-form-actions{width:min(100%,420px);margin-left:auto}.coverage-shell{width:min(1500px,100% - 32px)}.coverage-panel{background:#fffdfa;border:1px solid #dfd8cb;border-radius:8px;padding:18px}.coverage-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.coverage-header h1,.coverage-header p{margin:0}.coverage-header h1{font-size:1.2rem}.coverage-header p{color:#69746f;min-height:20px;margin-top:5px;font-size:.88rem}.coverage-segmented{grid-template-columns:repeat(4,minmax(64px,1fr))}.coverage-date-range{margin:16px 0 0}.coverage-legend{color:#5f6964;flex-wrap:wrap;gap:8px 16px;margin-top:18px;font-size:.74rem;font-weight:800;display:flex}.coverage-legend span{align-items:center;gap:6px;display:inline-flex}.coverage-legend i{border:1px solid #353f3a1f;border-radius:2px;width:16px;height:10px}.coverage-grid-scroll{background:#fbfaf7;border-top:1px solid #e7e0d4;border-bottom:1px solid #e7e0d4;min-height:180px;margin-top:16px;transition:opacity .12s;overflow-x:auto}.coverage-grid-scroll.loading{opacity:.55}.coverage-grid{width:max-content;min-width:100%;padding-bottom:12px}.coverage-axis,.coverage-row{align-items:center;column-gap:2px;width:max-content;min-width:100%;display:grid}.coverage-axis{z-index:3;background:#f5f2eb;border-bottom:1px solid #ded7cb;min-height:38px;position:sticky;top:0}.coverage-corner,.coverage-symbol{z-index:2;background:#fffdfa;border-right:1px solid #d8d0c2;align-content:center;align-self:stretch;min-width:0;padding:0 12px;display:grid;position:sticky;left:0}.coverage-corner{z-index:4;color:#5d6762;text-transform:uppercase;background:#f5f2eb;font-size:.75rem;font-weight:900}.coverage-row{border-bottom:1px solid #ece6dc;min-height:46px}.coverage-row:last-child{border-bottom:0}.coverage-symbol strong,.coverage-symbol span,.coverage-symbol small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.coverage-symbol strong{color:#26322d;font-size:.82rem}.coverage-symbol span{color:#737d78;margin-top:2px;font-size:.68rem}.coverage-symbol small{color:#8b948f;margin-top:1px;font-size:.62rem}.coverage-axis-cell{border-left:1px solid #5f696414;align-self:stretch;min-width:0;position:relative}.coverage-axis-cell span{z-index:1;color:#616c67;white-space:nowrap;font-size:.66rem;font-weight:800;position:absolute;bottom:8px;left:0}.coverage-cell{border:1px solid #353f3a1a;border-radius:2px;height:24px;display:block}.quality-0{background:#eceae4}.quality-1{background:#267a50}.quality-2{background:#5da36b}.quality-3{background:#91bd70}.quality-4{background:#bed06f}.quality-5{background:#d8d56c}.quality-6{background:#e4c65c}.quality-7{background:#d9a441}.coverage-cell:hover{border-color:#243c34;box-shadow:0 0 0 1px #243c3433}.coverage-empty{color:#69746f;text-align:center;place-items:center;min-height:180px;display:grid}.transaction-table{min-width:980px}.transaction-badge{text-transform:uppercase;border-radius:5px;width:fit-content;margin:0;padding:4px 8px;font-size:.76rem;font-weight:900}.transaction-badge.buy{color:#1f6847;background:#e6f1eb}.transaction-badge.sell{color:#9e342d;background:#f8e9e7}.transaction-note{white-space:normal;overflow-wrap:anywhere;min-width:190px;max-width:320px}.transaction-empty{color:#69746f;text-align:center;height:96px}.monitoring-table-wrap{overflow-x:auto}.monitoring-table{min-width:620px}.monitoring-empty{color:#69746f;text-align:center;height:96px}.monitoring-form{border-top:1px solid #ebe4d7;gap:14px;padding-top:16px;display:grid}.monitoring-form-grid{grid-template-columns:minmax(160px,.7fr) minmax(260px,1.5fr) minmax(130px,.45fr);align-items:end;gap:14px;display:grid}.monitor-submit{min-height:42px}.monitor-submit:disabled{color:#aeb5b1;box-shadow:none;cursor:not-allowed;background:#f3f3f0}.holding-form{gap:14px;padding:18px;display:grid}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:14px;display:grid}.company-field{grid-column:span 2;min-width:0}.note-field{grid-column:1/-1}.price-input-shell{display:block;position:relative}.price-input-shell input{padding-right:40px}.price-fetch-spinner{color:#3e7f72;pointer-events:none;position:absolute;top:calc(50% - 8.5px);right:12px}.price-fetch-status{color:#69746f;min-height:16px;font-size:.76rem;font-weight:600}.form-header h1{margin:0;font-size:1.45rem}.form-header>div{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.transaction-type-control{border:1px solid #cfc6b7;border-radius:7px;grid-template-columns:repeat(2,72px);display:inline-grid;overflow:hidden}.transaction-type-control button{color:#53605a;background:#f7f4ed;border:0;border-right:1px solid #cfc6b7;min-height:34px;font-weight:800}.transaction-type-control button:last-child{border-right:0}.transaction-type-control button.active{color:#fff;background:#24594f}.form-header p{min-height:20px;margin:5px 0 0;font-size:.92rem}label{color:#39443f;gap:7px;font-size:.9rem;font-weight:700;display:grid}input,textarea{color:#152018;background:#fbfaf7;border:1px solid #cfc6b7;border-radius:8px;outline:none;width:100%;min-height:42px;padding:0 12px}textarea{resize:vertical;padding-top:10px;line-height:1.4}input:focus,textarea:focus{border-color:#3e7f72;box-shadow:0 0 0 3px #3e7f7229}.input-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.symbol-results{flex-wrap:wrap;gap:6px;margin-top:-6px;display:flex}.symbol-results button,.symbol-button{text-align:left;color:inherit;background:0 0;border:0;padding:0}.symbol-results button{border:1px solid #ebe4d7;border-radius:8px;flex:190px;padding:9px 10px}.symbol-results .add-symbol-result{color:#24594f;background:#edf5f1;border-color:#b9d1c8;align-items:center;gap:9px;display:flex}.add-symbol-result svg{flex:none}.add-symbol-result small{color:#69746f;margin-top:2px;font-size:.78rem;display:block}.symbol-results button:hover,.symbol-button:hover strong{color:#24594f}.symbol-results strong,.symbol-results span,.symbol-button strong,.symbol-button span{display:block}.symbol-results span{color:#69746f;margin-top:2px;font-size:.82rem}.form-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px;display:grid}.form-actions .submit-button:only-child{grid-column:1/-1}.submit-button,.secondary-button{width:100%}.secondary-button{color:#39443f;background:#f1ece4;border:1px solid #d8d0c2;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;display:inline-flex}.table-shell{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1120px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #ebe4d7;padding:14px 16px}th{color:#69746f;text-transform:uppercase;font-size:.78rem}td{font-size:.95rem}td strong,td span{display:block}td span{margin-top:3px;font-size:.82rem}tbody tr:last-child td{border-bottom:0}.positive{color:#1f7a4d}.negative{color:#b63f35}.icon-only{color:#6f433d;background:#f8ece9;width:36px;height:36px}.icon-only.neutral{color:#31564d;background:#eaf1ee}.row-actions{justify-content:flex-end;gap:8px;display:flex}.symbol-cell{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:8px;display:grid}.grouped-symbol-cell{grid-template-columns:28px 28px minmax(0,1fr)}.holding-expand,.holding-expand-spacer{width:28px;height:28px}.holding-expand{color:#4f5d57;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.holding-expand:hover{color:#24594f;background:#eaf1ee}.holding-expand svg{margin:0;transition:transform .16s}.holding-expand[aria-expanded=true] svg{transform:rotate(90deg)}.holding-summary-row{background:#fffefa}.holding-purchase-row{background:#f7f5ef}.holding-purchase-row td{padding-top:11px;padding-bottom:11px;font-size:.88rem}.purchase-record-label{grid-template-columns:64px auto;align-items:baseline;column-gap:8px;display:grid}.purchase-record-label>span{grid-row:1/3;height:22px;margin:0;position:relative}.purchase-record-label>span:after{content:"";border-bottom:1px solid #c9c3b8;border-left:1px solid #c9c3b8;width:18px;height:13px;position:absolute;top:0;right:0}.purchase-record-label strong{font-size:.86rem}.purchase-record-label small{color:#7a837f;font-size:.74rem}.purchase-record-label .purchase-label{color:#1f7a4d}.purchase-record-label .sale-label{color:#a33b34}.chart-toggle{color:#24594f;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.chart-toggle:hover{background:#eaf1ee}.chart-toggle[aria-pressed=false]{color:#87918c}td svg{vertical-align:text-bottom;margin-right:5px;display:inline-block}.empty-state{color:#69746f;text-align:center;height:240px}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=900px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{grid-template-columns:1fr}.form-grid,.monitoring-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form-grid{grid-template-columns:1fr}.coverage-header{flex-direction:column;align-items:stretch}.monitor-submit{grid-column:1/-1}.panel-header{display:grid}.chart-toolbar{justify-content:start}.chart-readout{grid-template-columns:1fr}.chart-readout-values{justify-content:flex-start}.price-overlay-control{grid-template-columns:1fr;gap:12px}.chart-content.with-similar-periods{grid-template-columns:1fr}.similar-periods-panel{min-height:0}.similar-periods-list{grid-template-columns:repeat(2,minmax(0,1fr))}.similar-periods-empty{min-height:80px}}@media (width<=560px){.chart-readout-context{grid-template-columns:1fr}.chart-cursor-readout{border-top:1px solid #ebe4d7;border-left:0;padding-top:10px;padding-left:0}.price-overlay-scale{gap:6px;font-size:.64rem}.price-overlay-scale output{font-size:.7rem}.similar-periods-list{grid-template-columns:1fr}.app-shell{width:min(100% - 20px,1180px);padding-top:16px}.topbar,.input-pair,.form-grid,.monitoring-form-grid{grid-template-columns:1fr;align-items:stretch}.company-field,.note-field{grid-column:auto}.topbar{display:grid}.topbar-actions{flex-wrap:wrap;justify-content:start}.portfolio-switcher{flex-direction:column;align-items:stretch;width:100%}.portfolio-switcher select{width:100%;max-width:none}.share-form,.summary-grid{grid-template-columns:1fr}.segmented{grid-template-columns:repeat(3,1fr);width:100%}.coverage-segmented{grid-template-columns:repeat(2,1fr)}.coverage-segmented button:nth-child(2){border-right:0}.coverage-segmented button:nth-child(3){border-right:1px solid #cfc6b7}.segmented button:nth-child(3){border-right:0}.date-range{display:grid}.date-range label{width:100%}.chart-frame{height:364px}}.analysis-tabs{gap:4px;margin-bottom:10px;display:flex}.analysis-tabs button{color:#53645a;cursor:pointer;background:#f7f9f6;border:1px solid #dce2dd;border-radius:7px;flex:1;padding:9px 5px;font-size:.75rem}.analysis-tabs button[aria-selected=true]{color:#fff;background:#24594f;border-color:#24594f}.prediction-controls{border:1px solid #dce2dd;border-radius:8px;gap:14px;padding:14px;font-size:.8rem;display:grid}.prediction-controls label{gap:6px;display:grid}.prediction-controls select{background:#fff;border:1px solid #cfd9d1;border-radius:6px;width:100%;padding:8px}.prediction-controls p,.prediction-controls small{color:#637269;margin:0;line-height:1.5}.prediction-chart{align-self:center;min-width:0}.prediction-chart svg{width:100%;display:block}.prediction-legend{color:#7353ba;flex-wrap:wrap;gap:12px;padding:12px 18px;font-size:.75rem;display:flex}.prediction-legend strong{color:#24594f}.prediction-caption{color:#637269;padding:8px 18px;font-size:.75rem;line-height:1.5}.prediction-quantile-legend{color:#635276;flex-wrap:wrap;align-items:center;gap:7px;display:inline-flex}.prediction-quantile-swatches{border:1px solid #d5cce1;border-radius:3px;display:inline-flex;overflow:hidden}.prediction-quantile-swatches i{width:12px;height:11px}.holding-chunk-row{background:#edf2ee}.holding-chunk-row td{border-top:1px solid #c7d5cb}.holding-chunk-row td:first-child{padding-left:32px}
