:root{--bg:#fafaf7;--bg-card:#fafaf7;--bg-card-hover:#f2f1ec;--bg-input:#f2f1ec;--border:#e5e3db;--border-hover:#d9d7cf;--text:#0e0e0c;--text-muted:#3a3a36;--text-dim:#7a7770;--primary:#1b4dff;--primary-light:#4068ff;--primary-bg:#e5ebff;--secondary:#3a3a36;--secondary-bg:#3a3a3610;--green:#1f7a3a;--green-bg:#1f7a3a12;--red:#c0392b;--red-bg:#c0392b12;--yellow:#b98100;--yellow-bg:#b9810012;--blue:#1b4dff;--blue-bg:#e5ebff;--purple:#3a3a36;--purple-bg:#3a3a3610;--cyan:#1b4dff;--radius:6px;--radius-sm:4px;--radius-xs:3px;--shadow:0 1px 0 #0e0e0c0a;--shadow-sm:0 1px 0 #0e0e0c08;--shadow-hover:0 2px 6px #0e0e0c0f;--font:"Inter Tight", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Inter Tight", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--sidebar-w:240px;--sidebar-collapsed-w:56px;--topbar-h:0px}*{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;min-height:100vh;line-height:1.6;overflow-x:hidden}a{color:var(--secondary);text-decoration:none}a:hover{color:var(--primary);text-decoration:none}h1,h2,h3,.page-title,.card-title,.kpi-label{font-family:var(--font-serif);letter-spacing:-.01em}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-collapsed-w);background:var(--bg-card);border-right:1px solid var(--border);z-index:100;flex-direction:column;transition:width .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar:hover{width:var(--sidebar-w);box-shadow:var(--shadow-hover)}.sidebar-header{border-bottom:1px solid var(--border);align-items:center;min-height:56px;padding:14px 12px;display:flex}.sidebar-logo{font-size:1rem;font-weight:600;font-family:var(--font-serif);color:var(--text);white-space:nowrap;cursor:pointer;border-radius:var(--radius-xs);align-items:center;gap:10px;text-decoration:none;transition:opacity .15s;display:flex;overflow:hidden}.sidebar-logo:hover,.sidebar-logo:focus-visible{opacity:.85;color:var(--text);text-decoration:none}.sidebar-logo:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sidebar-logo .icon{border-radius:var(--radius-sm);background:linear-gradient(135deg,#1a1a1a,#8c5d1f);justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;font-size:1rem;display:flex}.sidebar-logo span{opacity:0;transition:opacity .2s .1s}.sidebar:hover .sidebar-logo span{opacity:1}.sidebar-nav{flex:1;padding:8px 6px;overflow:hidden auto}.nav-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);white-space:nowrap;opacity:0;padding:14px 8px 4px;font-size:.65rem;font-weight:600;transition:opacity .2s .1s;overflow:hidden}.sidebar:hover .nav-section-label{opacity:1}.nav-item{border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:10px;margin:1px 0;padding:9px 12px;font-size:.85rem;transition:all .15s;display:flex;overflow:hidden}.nav-item:hover{background:var(--bg-card-hover);color:var(--text)}.nav-item.active{color:var(--primary);font-weight:500}.nav-item .nav-icon{justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;display:flex}.nav-item .nav-icon svg{width:18px;height:18px;stroke:var(--text-dim);stroke-width:1.75px;fill:none;transition:stroke .15s}.nav-item:hover .nav-icon svg{stroke:var(--text)}.sidebar-footer{border-top:1px solid var(--border);padding:6px;overflow:hidden}.status-dateline{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:10px;padding:7px 12px;font-size:.7rem;display:flex;overflow:hidden}.status-icon{justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;display:flex}.status-label{opacity:0;transition:opacity .2s .1s}.sidebar:hover .status-label{opacity:1}.main-content{margin-left:var(--sidebar-collapsed-w);flex:1;min-height:100vh;padding:32px 40px;transition:margin-left .25s}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);border:none;padding:24px;transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-hover)}.card-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.card-title{color:var(--text);font-size:1.05rem;font-weight:600}.card-subtitle{color:var(--text-muted);margin-top:2px;font-size:.8rem}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px;display:grid}.kpi-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);border:none;border-left:3px solid var(--border);padding:20px 22px;transition:border-left-color .2s}.kpi-card:hover{border-left-color:var(--primary)}.kpi-card[data-explain-key]{cursor:pointer;outline:none;transition:border-left-color .2s,box-shadow .15s}.kpi-card-flip{box-shadow:none;background:0 0;border:none;min-height:110px;padding:0;position:relative;overflow:visible}.kpi-card-flip.flipped{z-index:5}.kpi-card-flipper{height:110px;transition:height .3s cubic-bezier(.2,.8,.2,1);position:absolute;top:0;left:0;right:0}.kpi-card-flip.flipped .kpi-card-flipper{height:380px}.kpi-card-front,.kpi-card-back{box-sizing:border-box;background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);border-left:3px solid var(--border);padding:20px 22px;transition:opacity .25s;position:absolute;inset:0}.kpi-card-front{opacity:1}.kpi-card-flip.flipped .kpi-card-front{opacity:0;pointer-events:none}.kpi-card-back{opacity:0;pointer-events:none;flex-direction:column;transition:opacity .25s .1s;display:flex;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.kpi-card-flip.flipped .kpi-card-back{opacity:1;pointer-events:auto}.kpi-flip-section{margin:6px 0}.kpi-flip-section+.kpi-flip-section{border-top:1px solid var(--border);padding-top:6px}.kpi-flip-field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:2px;font-size:.62rem;font-weight:600;display:block}.kpi-flip-field-body{color:var(--text);margin:0;font-size:.78rem;line-height:1.4}.kpi-flip-title{color:var(--text);margin:0 0 6px;font-size:.85rem;font-weight:600}.kpi-flip-footer{justify-content:flex-end;gap:6px;margin-top:auto;padding-top:6px;display:flex}.kpi-flip-footer .btn{padding:3px 8px;font-size:.7rem}.kpi-flip-edit-row{margin:4px 0}.kpi-flip-edit-row label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:.62rem;font-weight:600;display:block}.kpi-flip-textarea,.kpi-flip-input{width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);box-sizing:border-box;border-radius:3px;padding:4px 6px;font-size:.74rem}.kpi-flip-textarea{resize:vertical;min-height:30px}.kpi-flip-counter{color:var(--text-dim);text-align:right;font-size:.6rem}.kpi-card[data-explain-key]:hover{box-shadow:0 1px 4px #0000000f}.pub-portfolio-switcher{align-items:center;gap:10px;max-width:420px;display:flex}.pub-portfolio-switcher-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:.7rem;font-weight:600}.pub-portfolio-switcher select{flex:1;min-width:180px}#live-price-toggle{z-index:180;-webkit-user-select:none;user-select:none;position:fixed;top:52px;right:14px}.live-price-toggle{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:999px;justify-content:flex-start;align-items:center;gap:8px;min-width:160px;padding:4px 10px;font-size:.78rem;font-weight:500;transition:border-color .15s,box-shadow .15s;display:inline-flex;box-shadow:0 1px 3px #0000000f}.live-price-toggle:hover{border-color:var(--primary)}.live-price-toggle-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);font-size:.68rem}.live-price-toggle input[type=checkbox]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.live-price-toggle-slider{background:var(--border);border-radius:999px;flex-shrink:0;width:32px;height:18px;transition:background-color .15s;display:inline-block;position:relative}.live-price-toggle-slider:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.live-price-toggle input[type=checkbox]:checked~.live-price-toggle-slider{background:var(--primary)}.live-price-toggle input[type=checkbox]:checked~.live-price-toggle-slider:after{transform:translate(14px)}.live-price-toggle input[type=checkbox]:focus-visible~.live-price-toggle-slider{box-shadow:0 0 0 2px var(--primary), 0 0 0 4px #0000000d}.live-price-toggle.live-on{background:var(--primary-bg,#eef2ff);border-color:var(--primary)}.live-price-toggle.live-on .live-price-toggle-label{color:var(--primary)}.live-price-toggle-substatus{color:var(--ink-3,#6b6b6b);letter-spacing:.02em;text-align:left;white-space:nowrap;min-width:70px;font-size:.68rem;font-family:var(--mono,monospace);letter-spacing:.04em;white-space:nowrap;margin-left:8px;font-size:10px;display:inline-block}@media (max-width:768px){#live-price-toggle{top:calc(52px + env(safe-area-inset-top,0px));right:10px}.live-price-toggle-substatus{display:none}}@media (max-width:640px){#live-price-toggle{top:calc(10px + env(safe-area-inset-top,0px))}}.kpi-card[data-explain-key]:focus-visible{border-left-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}.kpi-explain-body{padding:0 20px 16px}.kpi-explain-section{margin:14px 0}.kpi-explain-section+.kpi-explain-section{border-top:1px solid var(--border);padding-top:14px}.kpi-explain-field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:4px;font-size:.7rem;font-weight:600;display:block}.kpi-explain-field-body{color:var(--text);margin:0;font-size:.95rem;line-height:1.5}.kpi-explain-footer{justify-content:flex-end;align-items:center;gap:8px;margin-top:18px;display:flex}.kpi-explain-edit .kpi-explain-edit-row{margin:10px 0}.kpi-explain-textarea,.kpi-explain-input{width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);box-sizing:border-box;border-radius:4px;padding:8px 10px;font-size:.92rem}.kpi-explain-textarea{resize:vertical;min-height:60px}.kpi-explain-counter{color:var(--text-dim);text-align:right;margin-top:2px;font-size:.7rem}.kpi-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:.75rem;font-weight:500}.kpi-value{font-size:1.5rem;font-weight:700;font-family:var(--font-mono);color:var(--text);line-height:1.2}.kpi-sub{color:var(--text-dim);margin-top:6px;font-size:.78rem}.time-machine{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);border:none;border-left:3px solid var(--primary);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:28px;padding:16px 24px;display:flex}.time-machine-label{color:var(--primary);font-size:.85rem;font-weight:600;font-family:var(--font-serif);align-items:center;gap:8px;display:flex}.time-machine input[type=date]{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-xs);font-family:var(--font);padding:6px 12px}.time-machine .btn-sm{background:var(--primary);color:#fff;border-radius:var(--radius-xs);cursor:pointer;border:none;padding:6px 14px;font-size:.8rem;font-weight:500}.time-machine .btn-sm:hover{background:var(--primary-light)}.time-badge{background:var(--primary-bg);color:var(--primary);border:1px solid #8c5d1f30;border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:600}.table-wrap{-webkit-overflow-scrolling:touch;border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow);border:none;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.85rem}th{background:var(--bg-card);text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 12px;font-weight:600}th:hover{color:var(--text)}th.sorted-asc:after{content:" ▲";font-size:.7rem}th.sorted-desc:after{content:" ▼";font-size:.7rem}td{border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px}tr:hover td{background:var(--bg-card-hover)}.badge{letter-spacing:.02em;border-radius:20px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-block}.badge-buy{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.badge-sell{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.badge-dividend{color:#6d28d9;background:#f5f3ff;border:1px solid #ddd6fe}.badge-linked{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.badge-draft{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.badge-published{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.btn{border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;font-family:var(--font);border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;padding:8px 18px;transition:all .15s;display:inline-flex}.btn:hover{background:var(--bg-card-hover);border-color:var(--border-hover);color:var(--text)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-light);border-color:var(--primary-light)}.btn-green{background:var(--green);border-color:var(--green);color:#fff}.btn-green:hover{background:#126f30}.btn-red{background:var(--red);border-color:var(--red);color:#fff}.btn-red:hover{background:#dc2626}.btn-sm{padding:5px 12px;font-size:.78rem}.btn-group{border-radius:var(--radius-sm);gap:0;display:inline-flex;overflow:hidden}.btn-group .btn{border-radius:0;margin:0}.btn-group .btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.btn-group .btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.btn-group .btn.active{background:var(--text);color:#fff;border-color:var(--text)}.pill-toggle{background:var(--bg-input);border:1px solid var(--border);border-radius:24px;gap:2px;padding:3px;display:inline-flex}.pill-toggle .pill{cursor:pointer;color:var(--text-muted);font-size:.8rem;font-weight:500;font-family:var(--font);background:0 0;border:none;border-radius:20px;padding:6px 16px;transition:all .15s}.pill-toggle .pill.active{background:var(--text);color:#fff}.pill-toggle .pill:hover:not(.active){color:var(--text)}.form-label{color:var(--text-muted);margin-bottom:6px;font-size:.8rem;font-weight:500;display:block}.form-control{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-xs);width:100%;color:var(--text);font-family:var(--font);padding:9px 12px;font-size:.85rem;transition:border-color .15s}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg);outline:none}textarea.form-control{resize:vertical;min-height:80px}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.toggle-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.toggle-switch{flex-shrink:0;width:42px;height:24px;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .slider{background:var(--border);cursor:pointer;border-radius:12px;transition:all .2s;position:absolute;inset:0}.toggle-switch .slider:before{content:"";background:var(--text);border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;bottom:3px;left:3px}.filter-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.search-input{flex:1;min-width:200px;position:relative}.search-input input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font);padding:9px 12px 9px 36px;font-size:.85rem}.search-input input:focus{border-color:var(--primary);outline:none}.search-input:before{content:"🔍";font-size:.85rem;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.dropdown-results{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:50;max-height:240px;box-shadow:var(--shadow);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.dropdown-results .result-item{cursor:pointer;touch-action:manipulation;justify-content:space-between;padding:8px 12px;font-size:.85rem;display:flex}.dropdown-results .result-item:hover,.dropdown-results .result-item:active{background:var(--bg-card-hover)}.dropdown-results .result-item .ticker{color:var(--primary-light);font-weight:600}.dropdown-results .result-item .name{color:var(--text-muted);font-size:.8rem}.chart-container{width:100%;min-height:300px;position:relative}.chart-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.chart-controls .label{color:var(--text-dim);margin-right:4px;font-size:.75rem;font-weight:500}.chart-controls-chips{flex-wrap:wrap;gap:6px;display:flex}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-title{color:var(--text);font-size:1.6rem;font-weight:700}.page-desc{color:var(--text-muted);margin-top:4px;font-size:.85rem}.grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;gap:12px}}.weight-bar{align-items:center;gap:8px;display:flex}.weight-bar-track{background:var(--border);border-radius:3px;flex:1;height:6px;overflow:hidden}.weight-bar-fill{background:var(--primary);border-radius:3px;height:100%;transition:width .3s}.weight-bar-label{font-size:.78rem;font-family:var(--font-mono);color:var(--text-muted);text-align:right;min-width:48px}.hbar-chart .hbar-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.hbar-label{width:120px;color:var(--text-muted);text-align:right;flex-shrink:0;font-size:.8rem}.hbar-track{background:var(--border);border-radius:4px;flex:1;height:22px;overflow:hidden}.hbar-fill{color:#fff;border-radius:4px;align-items:center;height:100%;padding-left:8px;font-size:.72rem;font-weight:600;transition:width .4s;display:flex}.hbar-value{font-size:.78rem;font-family:var(--font-mono);color:var(--text-muted);min-width:42px}.star{color:var(--text-dim);font-size:.9rem}.star.filled{color:var(--yellow)}.live-price-box{background:var(--bg-input);border:1px solid var(--primary);border-radius:var(--radius-sm);margin:12px 0;padding:12px 16px}.live-price-box .price{font-size:1.3rem;font-weight:700;font-family:var(--font-mono)}.loading-spinner{justify-content:center;align-items:center;min-height:200px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-bar{z-index:9999;pointer-events:none;opacity:0;width:100%;height:3px;transition:opacity .3s;position:fixed;top:0;left:0}.loading-bar.active{opacity:1}.loading-bar-track{background:var(--border);width:100%;height:100%;overflow:hidden}.loading-bar-fill{background:linear-gradient(90deg,#1a1a1a,#8c5d1f,#e8d5b8) 0 0/200% 100%;width:0%;height:100%;transition:width .4s;animation:1.5s ease-in-out infinite loading-bar-shimmer}@keyframes loading-bar-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:16px;right:16px}.toast{border-radius:var(--radius-sm);color:#fff;opacity:0;pointer-events:auto;padding:10px 18px;font-size:.84rem;font-weight:500;transition:opacity .3s,transform .3s;transform:translate(40px);box-shadow:0 4px 16px #00000026}.toast.show{opacity:1;transform:translate(0)}.toast-synced{background:var(--green)}.toast-yahoo{background:var(--primary)}.toast-warning{background:var(--yellow)}.toast-info{background:#1a1a1a}.yahoo-refresh-banner{background:var(--yellow-bg);border-radius:var(--radius-sm);color:var(--yellow);opacity:0;border:1px solid #d9770633;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;padding:8px 16px;font-size:.82rem;transition:opacity .3s;display:none;position:relative;overflow:hidden}.yahoo-refresh-banner.active{opacity:1;display:flex}.yahoo-refresh-banner.offline{background:var(--red-bg);color:var(--red);border-color:#dc262633}.yahoo-refresh-icon{flex-shrink:0;font-size:1rem;animation:1s linear infinite yahoo-spin}.yahoo-refresh-banner.offline .yahoo-refresh-icon{animation:none}@keyframes yahoo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.yahoo-refresh-text{flex:1;min-width:0}.yahoo-refresh-text strong{color:var(--text);font-weight:600}.yahoo-refresh-pct{font-variant-numeric:tabular-nums;text-align:right;min-width:36px;font-weight:600}.yahoo-refresh-bar{background:#d9770626;border-radius:2px;width:100%;height:3px;overflow:hidden}.yahoo-refresh-bar-fill{background:var(--yellow);border-radius:2px;height:100%;transition:width .3s}.loading-overlay{background:var(--bg);z-index:9998;flex-direction:column;justify-content:center;align-items:center;gap:20px;transition:opacity .5s,visibility .5s;display:flex;position:fixed;inset:0}.loading-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-overlay .loading-icon{font-size:3rem;animation:1.5s ease-in-out infinite pulse-icon}@keyframes pulse-icon{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.loading-overlay .loading-text{color:var(--text-muted);text-align:center;max-width:300px;font-size:.9rem}.loading-overlay .loading-steps{flex-direction:column;gap:8px;margin-top:8px;display:flex}.loading-step{color:var(--text-dim);align-items:center;gap:8px;font-size:.78rem;transition:color .3s;display:flex}.loading-step.active{color:var(--primary-light)}.loading-step.done{color:var(--green)}.loading-step-icon{justify-content:center;align-items:center;width:16px;height:16px;font-size:.7rem;display:flex}.loading-step.active .loading-step-icon{animation:.7s linear infinite spin}.empty-state{text-align:center;color:var(--text-dim);padding:48px 20px}.empty-state .icon{margin-bottom:12px;font-size:2.5rem}.empty-state h3{color:var(--text-muted);margin-bottom:8px}.modal-overlay{z-index:200;background:#0000004d;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:600px;max-height:80vh;box-shadow:var(--shadow);padding:24px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.3rem}.trade-type-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);gap:0;display:flex;overflow:hidden}.trade-type-toggle .toggle-btn{text-align:center;cursor:pointer;background:var(--bg-input);color:var(--text-muted);font-size:.9rem;font-weight:600;font-family:var(--font);border:none;flex:1;padding:10px 24px;transition:all .15s}.trade-type-toggle .toggle-btn.active-buy{background:var(--green);color:#fff}.trade-type-toggle .toggle-btn.active-sell{background:var(--red);color:#fff}.calc-summary{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);margin:16px 0;padding:14px 16px}.calc-row{justify-content:space-between;padding:4px 0;font-size:.85rem;display:flex}.calc-row .label{color:var(--text-muted)}.calc-row .value{font-family:var(--font-mono);font-weight:600}.calc-row.total{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}.calc-row.total .value{font-size:1rem}.public-header{background:0 0;border:none;border-radius:0;margin-bottom:4px;padding:6px 0 14px;position:relative}.public-header:after{display:none}.public-header h1{font-size:30px;font-weight:600;font-family:var(--font-sans);letter-spacing:-.02em;color:var(--text);z-index:1;line-height:1.1;position:relative}.public-header .desc{color:var(--text-dim);z-index:1;max-width:600px;margin-top:10px;font-size:.95rem;line-height:1.6;position:relative}.public-header .philosophy{font-size:.95rem;font-family:var(--font-sans);color:var(--text-muted);border-left:3px solid var(--primary);margin-top:16px;padding-left:16px;font-style:normal;font-weight:500;line-height:1.5}.tp-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);border:none;transition:box-shadow .2s,transform .2s;overflow:hidden}.tp-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.tp-card-header{text-align:center;justify-content:center;align-items:center;min-height:80px;padding:20px;font-size:2rem;display:flex}.tp-card-body{padding:16px}.tp-card-title{font-weight:600;font-family:var(--font-serif);margin-bottom:6px}.tp-card-meta{color:var(--text-dim);font-size:.78rem}.tp-new-card{border:1px dashed var(--border-hover);cursor:pointer;min-height:200px;color:var(--text-dim);background:0 0;flex-direction:column;justify-content:center;align-items:center;font-size:1rem;transition:border-color .2s;display:flex}.tp-new-card:hover{border-color:var(--primary);color:var(--primary)}.snap-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);border:none;padding:20px}.snap-card .snap-date{margin-bottom:8px;font-size:1rem;font-weight:600}.snap-card .snap-stats{flex-wrap:wrap;gap:16px;margin-top:12px;display:flex}.snap-card .snap-stat .label{color:var(--text-dim);font-size:.72rem}.snap-card .snap-stat .value{font-size:.9rem;font-weight:600;font-family:var(--font-mono)}.snap-modal-kpis{grid-template-columns:repeat(3,1fr)}.journal-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:16px;padding:24px}.journal-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.journal-ticker{color:var(--primary);font-size:1.1rem;font-weight:700;font-family:var(--font-mono)}.journal-body{color:var(--text-muted);margin-bottom:12px;font-size:.9rem;line-height:1.6}.journal-meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.journal-tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--bg-input);border:1px solid var(--border);color:var(--text-muted);border-radius:12px;padding:2px 8px;font-size:.7rem;display:inline-block}.etf-category-title{border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:8px;font-size:1rem;font-weight:600}.etf-row{background:var(--bg-card);border-radius:var(--radius-xs);box-shadow:var(--shadow-sm);border:none;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.82rem;display:flex}.etf-row:hover{box-shadow:var(--shadow)}.etf-ticker{color:var(--primary);font-weight:600;font-family:var(--font-mono);min-width:60px}.etf-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0 10px;overflow:hidden}.etf-ytd{font-family:var(--font-mono);text-align:right;min-width:60px;font-weight:600}.positive{color:var(--green)}.negative{color:var(--red)}.hamburger{top:calc(12px + env(safe-area-inset-top,0px));left:calc(12px + env(safe-area-inset-left,0px));z-index:201;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;flex-direction:column;justify-content:space-between;align-items:stretch;width:48px;height:48px;padding:12px 10px;display:none;position:fixed}.hamburger span{background:var(--text);border-radius:2px;height:2px;transition:all .25s;display:block}.hamburger.active span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.sidebar-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;padding:4px 8px;font-size:1.2rem;display:none}.sidebar-close:hover{color:var(--text);background:var(--bg-card-hover)}.sidebar-overlay{z-index:99;opacity:0;background:#00000080;transition:opacity .3s;display:none;position:fixed;inset:0}.sidebar-overlay.active{opacity:1;display:block}.bottom-tab-bar{z-index:90;background:var(--bg-card);border-top:1px solid var(--border);padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000000a}.tab-bar-btn{min-height:52px;color:var(--text-dim);letter-spacing:.01em;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:0 0;border:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:6px 4px;font-size:.68rem;font-weight:500;text-decoration:none;transition:color .15s;display:flex}.tab-bar-btn:hover,.tab-bar-btn:focus-visible{color:var(--text)}.tab-bar-btn.active{color:var(--primary);font-weight:600}.tab-bar-icon{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.tab-bar-icon svg{stroke:currentColor;stroke-width:1.75px;fill:none;width:22px;height:22px}.tab-bar-btn[data-page=performanceSummary] .tab-bar-icon svg path{fill:currentColor;stroke:none}.tab-bar-btn.active .tab-bar-icon svg{stroke:var(--primary)}.tab-bar-btn.active[data-page=performanceSummary] .tab-bar-icon svg path{fill:var(--primary)}.tab-bar-label{white-space:nowrap;line-height:1}.holdings-cards,.trades-cards,.dividends-by-ticker-cards,.dividends-history-cards,.snapshot-modal-cards{flex-direction:column;gap:8px;display:none}.holding-card,.trade-card,.dividend-card,.snapshot-line-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:12px;display:flex}.holding-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.holding-card-title{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.holding-card-ticker{color:var(--text);letter-spacing:.02em;font-size:1rem}.holding-card-name{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.holding-card-value{flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.holding-card-mv{font-family:var(--font-mono);color:var(--text);font-size:1rem;font-weight:600}.holding-card-plpct{font-family:var(--font-mono);font-size:.78rem}.holding-card-meta{color:var(--text-dim);flex-wrap:wrap;gap:12px;font-size:.78rem;display:flex}.holding-card-stats{grid-template-columns:1fr 1fr;gap:6px 12px;margin:0;display:grid}.holding-card-stats>div{justify-content:space-between;gap:8px;font-size:.82rem;display:flex}.holding-card-stats dt{color:var(--text-dim)}.holding-card-stats dd{font-family:var(--font-mono);color:var(--text);margin:0}.holding-card-weight{align-items:center;gap:8px;margin-top:2px;display:flex}.holding-card-weight .weight-bar-track{flex:1}.holding-card-weight .weight-bar-label{font-family:var(--font-mono);color:var(--text-dim);text-align:right;min-width:44px;font-size:.78rem}.trade-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.trade-card-title{align-items:center;gap:8px;font-size:.95rem;display:flex}.trade-card-date{color:var(--text-dim);white-space:nowrap;font-size:.78rem}.trade-card-stats{grid-template-columns:1fr 1fr;gap:6px 12px;margin:0;display:grid}.trade-card-stats>div{justify-content:space-between;gap:8px;font-size:.82rem;display:flex}.trade-card-stats dt{color:var(--text-dim)}.trade-card-stats dd{font-family:var(--font-mono);color:var(--text);margin:0}.trade-card-foot{border-top:1px dashed var(--border);gap:8px;padding-top:4px;display:flex}.dividend-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dividend-card-title{flex-direction:column;gap:2px;min-width:0;display:flex}.dividend-card-date{color:var(--text-dim);font-size:.78rem}.dividend-card-total{font-family:var(--font-mono);color:var(--text);white-space:nowrap;font-size:1rem;font-weight:600}.dividend-card-stats{grid-template-columns:1fr 1fr;gap:6px 12px;margin:0;display:grid}.dividend-card-stats>div{justify-content:space-between;gap:8px;font-size:.82rem;display:flex}.dividend-card-stats dt{color:var(--text-dim)}.dividend-card-stats dd{font-family:var(--font-mono);color:var(--text);margin:0}.dividend-card-foot{border-top:1px dashed var(--border);gap:8px;padding-top:4px;display:flex}.snapshot-line-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.snapshot-line-value{font-family:var(--font-mono);color:var(--text);white-space:nowrap;font-size:.95rem;font-weight:600}.snapshot-line-stats{grid-template-columns:1fr 1fr;gap:6px 12px;margin:0;display:grid}.snapshot-line-stats>div{justify-content:space-between;gap:8px;font-size:.82rem;display:flex}.snapshot-line-stats dt{color:var(--text-dim)}.snapshot-line-stats dd{font-family:var(--font-mono);color:var(--text);margin:0}.mobile-sort-bar{align-items:center;gap:8px;margin-bottom:12px;display:none}.mobile-sort-bar label{color:var(--text-dim);font-size:.82rem}.mobile-sort-bar select{flex:1;min-height:48px}.text-dim{color:var(--text-dim)}.text-muted{color:var(--text-muted)}.text-xs{font-size:.78rem}.text-sm{font-size:.85rem}.text-xs-dim{color:var(--text-dim);font-size:.78rem}.text-sm-accent{color:var(--primary-light);font-size:.82rem}.fw-500{font-weight:500}.flex-row{gap:8px;display:flex}.flex-row-tight{gap:6px;display:flex}.flex-row-12{gap:12px;display:flex}.mb-md{margin-bottom:12px}.mb-lg{margin-bottom:24px}.mt-md{margin-top:12px}.mt-16{margin-top:16px}.mt-lg{margin-top:24px}.mt-xl{margin-top:32px}.p-empty{color:var(--text-dim);padding:32px}.p-loading{color:var(--text-dim);padding:20px}.p-msg{color:var(--text-dim);padding:16px}.p-status{color:var(--text-dim);padding:10px}.font-serif-mb{font-family:var(--font-serif);margin-bottom:16px}.text-red{color:var(--red)}.analytics-stats-header{font-family:var(--font-serif);font-size:1.1rem;font-weight:600}.research-title{font-family:var(--font-serif);color:var(--text);font-size:1.4rem;font-weight:700}.research-featured-title{font-family:var(--font-serif);color:var(--text);font-size:1.3rem;font-weight:700;line-height:1.3}.research-item-title{font-family:var(--font-serif);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;overflow:hidden}.research-draft-title{font-family:var(--font-serif);margin-bottom:4px;font-weight:600}.settings-section-header{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:.78rem;font-weight:600}@media (max-width:1024px){.grid-2{grid-template-columns:1fr}.grid-3,.etf-grid{grid-template-columns:repeat(2,1fr)}.main-content{padding:24px 20px}}@media (max-width:768px){.hamburger{display:none!important}.sidebar-close{display:block}.sidebar{z-index:200;width:min(85vw,320px);transition:transform .3s;transform:translate(-100%)}.sidebar:hover{width:min(85vw,320px);box-shadow:none}.sidebar .sidebar-logo span{opacity:1}.sidebar .nav-section-label{color:var(--text);text-overflow:clip;white-space:normal;padding:16px 12px 6px;font-size:.72rem;overflow:visible;opacity:1!important;transition:none!important}.sidebar .sidebar-logo{white-space:normal;overflow:visible}.sidebar .nav-section-label:first-child{padding-top:8px}.sidebar .status-label{opacity:1}.sidebar.open{transform:translate(0)}#nav-pull-handle{z-index:190;touch-action:pan-y;cursor:grab;justify-content:center;align-items:center;width:22px;height:96px;display:flex;position:fixed;top:50%;left:0;transform:translateY(-50%)}.sidebar.open~#nav-pull-handle,#nav-pull-handle[hidden]{display:none}.nav-pull-handle-stripe{background:var(--primary);opacity:.85;border-radius:0 6px 6px 0;width:6px;height:72px;transition:opacity .15s,width .15s;position:relative;box-shadow:0 2px 6px #00000040}.nav-pull-handle-stripe:after{content:"";border-right:2px solid var(--primary);border-top:2px solid var(--primary);opacity:.9;width:6px;height:6px;position:absolute;top:50%;left:9px;transform:translateY(-50%)rotate(45deg)}#nav-pull-handle:active .nav-pull-handle-stripe,#nav-pull-handle:hover .nav-pull-handle-stripe{opacity:1;width:8px}.sidebar-header{justify-content:space-between;align-items:center;display:flex}.main-content{padding:16px 16px calc(80px + env(safe-area-inset-bottom,0px));margin-left:0;overflow-x:hidden}.chart-container{width:100%;max-width:100%}.chart-container canvas{width:100%!important;max-width:100%!important}.chart-controls-labelled{flex-direction:column;align-items:stretch;gap:4px!important}.chart-controls-labelled>.label{font-weight:600;margin-left:0!important}.chart-controls-chips{flex-wrap:wrap;gap:6px;display:flex}.chart-controls .btn-sm,.chart-controls-chips .btn-sm{padding:4px 8px;font-size:.72rem}.bottom-tab-bar{align-items:stretch;display:flex}.sidebar-nav{flex-direction:column;display:flex}.holdings-table-wrap,.trades-table-wrap,.dividends-by-ticker-wrap,.dividends-history-wrap,.snapshot-modal-table-wrap{display:none}.holdings-cards,.trades-cards,.dividends-by-ticker-cards,.dividends-history-cards,.snapshot-modal-cards,.mobile-sort-bar{display:flex}.grid-3,.grid-4,.etf-grid,.settings-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px}.kpi-card{padding:14px}.kpi-value{font-size:1.3rem}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-title{font-size:1.25rem}.time-machine{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px}.table-wrap{border-left:none;border-right:none;border-radius:0;margin:0 -16px}table{font-size:.8rem}th,td{padding:8px 10px}.filter-bar{flex-direction:column;align-items:stretch}.search-input{min-width:0}.chart-controls{gap:6px}.chart-container{height:400px}.pill-toggle{flex-wrap:nowrap;overflow-x:auto}.pill-toggle .pill{white-space:nowrap;padding:6px 12px;font-size:.75rem}.btn-group{flex-wrap:wrap;gap:6px;overflow:visible}.btn-group .btn,.btn-group .btn:first-child,.btn-group .btn:last-child{border-radius:var(--radius-sm)}.card{padding:16px}.card-header{flex-direction:column;align-items:flex-start;gap:8px}.public-header{padding:24px 16px}.public-header h1{font-size:1.3rem}.journal-card-header{flex-direction:column;gap:8px}.journal-meta{flex-direction:column;gap:6px}.tp-card-header{min-height:60px;font-size:1.6rem}.modal-overlay{align-items:flex-end;padding:12px}.modal{border-radius:var(--radius) var(--radius) 0 0;max-height:90vh}.btn{padding:10px 18px;font-size:.85rem}.btn-sm{padding:8px 14px}.login-card{padding:28px 20px}.loading-overlay .loading-icon{font-size:2.4rem}.loading-overlay .loading-text{font-size:.82rem}.hbar-label{width:80px;font-size:.72rem}.live-price-box .price{font-size:1.1rem}.trade-type-toggle .toggle-btn{padding:10px 16px;font-size:.82rem}.snap-card .snap-stats{gap:10px}.form-control,input[type=text],input[type=number],input[type=date],input[type=password],input[type=email],select,textarea{box-sizing:border-box;width:100%!important;max-width:100%!important}.form-row,.grid-2,.watchlist-add{flex-wrap:wrap}.watchlist-add input{flex:100%}.sidebar-overlay.active{display:block}.date-range-row{flex-wrap:wrap;gap:8px}.date-range-row input[type=date]{flex:auto;min-width:0}.snap-modal-kpis{grid-template-columns:repeat(2,1fr)!important}[style*=display\:flex],[style*="display: flex"]{flex-wrap:wrap}.trade-card-header{flex-wrap:wrap;gap:6px}.tp-grid{grid-template-columns:1fr!important}canvas{max-width:100%}.scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto}.form-actions-sticky{bottom:calc(60px + env(safe-area-inset-bottom,0px));z-index:50;background:var(--bg-card);border-top:1px solid var(--border);flex-basis:100%;margin:16px -16px 0;padding:12px 16px;position:sticky}.modal .form-actions-sticky{margin:16px 0 0;padding:12px 0;bottom:0}.form-actions-sticky>.btn:only-child{justify-content:center;width:100%}.desktop-only{display:none!important}.dashboard-stack{flex-direction:column;display:flex}.dashboard-stack>.page-header{order:1}.dashboard-stack>.kpi-grid-primary{order:2}.dashboard-stack>.dashboard-holdings{order:3}.dashboard-stack>.dashboard-performance{order:4}.dashboard-stack>.time-machine{order:5}.dashboard-stack>.kpi-grid-secondary{order:6}.dashboard-stack>.dashboard-allocation{order:7}.dashboard-stack>.dashboard-sharpe{order:8}}@media (max-width:400px){.form-actions-sticky{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.kpi-grid{grid-template-columns:1fr}.kpi-value{font-size:1.1rem}.main-content{padding:56px 12px calc(76px + env(safe-area-inset-bottom,0px))}.page-title{font-size:1.1rem}.etf-row{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px}.etf-name{white-space:normal;margin:0}.etf-ytd{text-align:left}.btn{padding:10px 14px;font-size:.8rem}.btn-sm{padding:7px 10px;font-size:.75rem}.pill-toggle .pill{padding:5px 10px;font-size:.7rem}.modal{padding:16px}.status-dateline{padding:5px 8px;font-size:.65rem}.card{padding:12px}.page-desc{font-size:.8rem}table{font-size:.72rem}th,td{padding:6px 8px}}.article-content{color:var(--text-muted);font-size:.95rem;line-height:1.8}.article-content h1,.article-content h2,.article-content h3{color:var(--text);margin:20px 0 10px}.article-content p{margin-bottom:12px}.blurred-draft{filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none;position:relative}.draft-overlay{border-radius:var(--radius);color:var(--text-muted);filter:none;background:#fafaf7cc;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}@media (max-width:768px){.settings-grid{grid-template-columns:1fr}}.alert-badge{border-radius:12px;align-items:center;gap:4px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.alert-badge.triggered{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.alert-badge.pending{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.alert-badge.none{background:var(--bg-input);color:var(--text-dim);border:1px solid var(--border)}.rating-pill{cursor:default;border-radius:12px;padding:2px 10px;font-size:.72rem;font-weight:600;display:inline-block;position:relative}.sharpe-tip{cursor:help;display:inline-block;position:relative}.sharpe-tip-popup{z-index:9999;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--text-muted);white-space:pre;pointer-events:none;text-align:left;opacity:0;background:#fff;min-width:280px;max-width:340px;padding:12px 14px;font-size:.72rem;font-weight:400;line-height:1.6;transition:opacity .15s;position:fixed;box-shadow:0 8px 32px #0000001a}.sharpe-tip-popup.visible{opacity:1}.sharpe-tip-popup:after{content:"";border:6px solid #0000;position:absolute;left:50%;transform:translate(-50%)}.sharpe-tip-popup.above:after{border-top-color:#fff;top:100%}.sharpe-tip-popup.below:after{border-bottom-color:#fff;bottom:100%}@media (max-width:768px){.sharpe-tip-popup{min-width:240px;font-size:.68rem}}.login-overlay{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:420px;padding:40px 36px}.login-header{text-align:center;margin-bottom:28px}.login-icon{margin-bottom:8px;font-size:2.4rem}.login-title{color:var(--text);margin-bottom:6px;font-size:1.4rem;font-weight:700}.login-subtitle{color:var(--text-muted);font-size:.84rem;line-height:1.5}.login-input-wrap{position:relative}.login-input-wrap .form-control{padding-right:44px}.login-input-wrap input::-ms-reveal{display:none}.login-input-wrap input::-ms-clear{display:none}.login-input-wrap input::-webkit-credentials-auto-fill-button{visibility:hidden;pointer-events:none;-webkit-appearance:none;display:none!important}.login-input-wrap input::-webkit-contacts-auto-fill-button{visibility:hidden;pointer-events:none;-webkit-appearance:none;display:none!important}.login-input-wrap input::-webkit-caps-lock-indicator{visibility:hidden;pointer-events:none;-webkit-appearance:none;display:none!important}.login-input-wrap input::-webkit-strong-password-auto-fill-button{visibility:hidden;pointer-events:none;-webkit-appearance:none;display:none!important}.login-eye{cursor:pointer;opacity:.5;background:0 0;border:none;padding:4px;font-size:1rem;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.login-eye:hover{opacity:.9}.login-error{color:#b91c1c;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;margin-bottom:16px;padding:10px 14px;font-size:.82rem}.login-success{color:#15803d;border-radius:var(--radius-sm);background:#f0fdf4;border:1px solid #bbf7d0;margin-bottom:16px;padding:10px 14px;font-size:.82rem}.index-search-wrap{padding:8px 0;position:relative}.index-search-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;color:var(--text);outline:none;padding:8px 12px;font-size:.85rem;transition:border-color .15s}.index-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-bg)}.index-search-results{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);max-height:260px;margin-top:4px;overflow-y:auto}.index-search-results:empty{display:none}.index-result-item{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;padding:8px 12px;font-size:.84rem;transition:background .1s;display:flex}.index-result-item:last-child{border-bottom:none}.index-result-item:hover{background:var(--primary-bg)}.series-remove-btn{width:16px;height:16px;color:var(--text-dim);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin-left:6px;font-size:14px;line-height:1;transition:background .1s,color .1s;display:inline-flex}.series-remove-btn:hover{background:var(--red-bg,#fef2f2);color:var(--red,#ef4444)}@media (pointer:coarse){.btn,.pill,.nav-item,[onclick]{min-width:48px;min-height:48px}.btn-sm{min-width:44px;min-height:44px}.btn:active,.btn-sm:active,.pill:active,.nav-item:active,.tab-bar-btn:active,.hamburger:active,[onclick]:active{transition:transform 50ms;transform:scale(.97)}}.btn,.pill,.nav-item,.tab-bar-btn,select,input[type=number]{touch-action:manipulation}canvas{touch-action:pan-y}html{-webkit-tap-highlight-color:transparent}.sidebar-nav,.table-wrap,.pill-toggle,.btn-group,.scroll-x{-webkit-overflow-scrolling:touch}@media (max-width:768px){.pill-toggle,.btn-group{scroll-snap-type:x mandatory}.pill-toggle>*,.btn-group>*{scroll-snap-align:start}}.skip-link{z-index:10000;background:var(--text);color:#fff;border-radius:var(--radius-sm);padding:12px 24px;font-size:.9rem;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-100%;left:16px}.skip-link:focus{outline:3px solid var(--primary);outline-offset:2px;color:#fff;top:16px}:focus-visible,button:focus-visible,.btn:focus-visible,.pill:focus-visible,.toggle-btn:focus-visible{outline:3px solid var(--primary);outline-offset:2px}a:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:0;border-color:var(--primary)}.nav-item:focus-visible{outline:3px solid var(--primary);outline-offset:-2px;background:var(--bg-card-hover);color:var(--text)}.modal-close:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.nav-item[tabindex]{outline:none}.nav-item[tabindex]:focus-visible{outline:3px solid var(--primary);outline-offset:-2px}h1[tabindex="-1"],h2[tabindex="-1"],h3[tabindex="-1"],.page-title[tabindex="-1"]{outline:none}h1[tabindex="-1"]:focus-visible,h2[tabindex="-1"]:focus-visible,h3[tabindex="-1"]:focus-visible,.page-title[tabindex="-1"]:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.skeleton{background:linear-gradient(90deg, var(--bg-input) 25%, var(--bg-card-hover) 50%, var(--bg-input) 75%);border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;pointer-events:none;background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer;color:#0000!important}.skeleton *{visibility:hidden}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{height:1em;margin-bottom:.5em}.skeleton-line.short{width:60%}.skeleton-line.medium{width:80%}.skeleton-block{width:100%;height:200px}.skeleton-kpi{width:5rem;height:2.5rem;display:inline-block}.skeleton-table-row{width:100%;height:2.5rem;margin-bottom:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.spinner,.loading-bar-fill{animation:none}.toast,.sidebar{transition:none}.tp-card:hover{transform:none}}.card{border:1px solid var(--border);box-shadow:none;border-radius:var(--radius)}.card:hover{box-shadow:none;border-color:var(--border-hover)}.kpi-card{border:1px solid var(--border);border-left:2px solid var(--border);box-shadow:none}.kpi-card:hover{box-shadow:none;border-left-color:var(--primary)}.page-title{font-family:var(--font-serif);letter-spacing:-.025em;font-variation-settings:"opsz" 144;font-size:2.4rem;font-weight:500;line-height:1.05}.page-desc{font-family:var(--font);color:var(--text-muted);max-width:560px;font-size:.9rem;line-height:1.55}.card-title{font-family:var(--font-serif);letter-spacing:-.01em;font-size:1.15rem;font-weight:600}.card-subtitle{font-family:var(--font);color:var(--text-muted);font-size:.85rem;font-style:italic}.kpi-value,.kpi-card .kpi-value{font-family:var(--font-serif);letter-spacing:-.02em;font-feature-settings:"tnum" 1, "lnum" 1;font-size:1.85rem;font-weight:500}.kpi-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:.7rem;font-weight:500}.kpi-sub{font-family:var(--font);color:var(--text-dim);font-size:.78rem}table td,table th,.tnum,input.tnum,input[type=number]{font-feature-settings:"tnum" 1, "lnum" 1}.btn{border-radius:var(--radius-sm);box-shadow:none}.btn-primary{background:var(--primary);border:0}.btn-secondary,.btn-ghost{border:1px solid var(--border);color:var(--text);background:0 0}.btn-secondary:hover,.btn-ghost:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.form-control,input[type=text],input[type=number],input[type=email],input[type=password],input[type=date],select,textarea{border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:none;background:var(--bg-card)}.form-control:focus,input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg);outline:none}.sidebar{background:var(--bg);border-right:1px solid var(--border)}.nav-item{border-radius:var(--radius-sm)}.nav-item.active{background:var(--text);color:var(--bg)}.nav-item.active .nav-icon svg{stroke:var(--bg)}.nav-section-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-size:.65rem}.section-header{border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:8px}table thead th{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--border);font-size:.7rem;font-weight:500}table tbody td{border-bottom:1px solid var(--border)}table tbody tr:hover td{background:var(--bg-card-hover)}#markets-ribbon{margin:-32px -40px 16px}@media (max-width:1024px){#markets-ribbon{margin:-24px -20px 16px}}@media (max-width:768px){#markets-ribbon{margin:-16px -16px 16px}}@media (max-width:400px){#markets-ribbon{margin:-56px -12px 16px}}.markets-ribbon{border-bottom:1px solid var(--border-hover);height:36px;font-family:var(--font-mono);background:var(--bg);border-top:none;grid-template-columns:auto 1fr auto;align-items:center;padding:0 20px;font-size:11px;display:grid;overflow:hidden}.markets-ribbon .label{font-family:var(--font);letter-spacing:.1em;text-transform:uppercase;border-right:1px solid var(--border);height:100%;color:var(--text-dim);align-items:center;padding-right:14px;font-size:10px;font-weight:600;display:flex}.markets-ribbon .marquee{white-space:nowrap;gap:24px;padding-left:16px;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000);mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.markets-ribbon .marquee .grp{gap:24px;animation:80s linear infinite mrtick;display:flex}.markets-ribbon:hover .marquee .grp{animation-play-state:paused}.markets-ribbon .marquee .item{color:var(--text-muted);align-items:center;gap:6px;text-decoration:none;transition:color .12s;display:inline-flex}.markets-ribbon .marquee .item:hover{color:var(--text)}.markets-ribbon .marquee .item b{font-weight:600;font-family:var(--font);letter-spacing:.04em;color:var(--text);font-size:10px}.markets-ribbon .marquee .up{color:var(--green)}.markets-ribbon .marquee .down{color:var(--red)}.markets-ribbon .clock{border-left:1px solid var(--border);height:100%;color:var(--text-dim);letter-spacing:.04em;align-items:center;padding-left:14px;font-size:10px;display:flex}@keyframes mrtick{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (max-width:640px){#markets-ribbon{display:none}}.dashboard-stack{background:var(--bg);padding-top:4px}.dashboard-stack .page-header{border-bottom:1px solid var(--border-hover);box-shadow:none;background:0 0;margin-bottom:14px;padding:6px 0 10px}.dashboard-stack .page-header .page-title{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--text);margin:0;font-size:30px;font-weight:600;line-height:1.1}.dashboard-stack .time-machine{box-shadow:none;background:0 0;border:none;border-radius:0;margin-bottom:14px;padding:8px 0}.dashboard-stack>.card{box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:18px 0 22px}.dashboard-stack>.grid-2{border-top:1px solid var(--border);background:0 0;margin:0;padding:18px 0 22px}.dashboard-stack>.grid-2>.card{box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.dashboard-stack .card-header{background:0 0;border-bottom:none;align-items:center;gap:12px;margin:0 0 12px;padding:0;display:flex}.dashboard-stack .card-title{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--text);flex:none;margin:0;font-size:16px;font-weight:600}.dashboard-stack .grid-2 .card-title{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--text);margin:0 0 10px;font-size:13px;font-weight:600}.dashboard-stack .kpi-card{box-shadow:none;border:1px solid var(--border);border-radius:var(--radius-sm);background:0 0;transition:border-color .15s}.dashboard-stack .kpi-card:hover{border-color:var(--border-hover);box-shadow:none}.dashboard-stack .kpi-card .kpi-value{font-family:var(--font-sans);letter-spacing:-.02em;font-weight:600}.dashboard-stack .table-wrap{box-shadow:none;border:1px solid var(--border);border-radius:var(--radius-sm);background:0 0}.dashboard-stack .table-wrap table th{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);background:var(--bg-card-hover);border-bottom:1px solid var(--border);font-size:10px;font-weight:500}.dashboard-stack .table-wrap table td{border-bottom:1px solid var(--border)}.dashboard-stack>.dashboard-performance,.dashboard-stack>.dashboard-holdings,.dashboard-stack>.dashboard-sharpe,.dashboard-stack>.grid-2>.card{width:100%;max-width:100%;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important}.dashboard-stack>.dashboard-performance,.dashboard-stack>.dashboard-holdings,.dashboard-stack>.dashboard-sharpe{border-top:1px solid var(--border)!important}.dashboard-stack>.dashboard-performance:first-of-type{border-top:none!important}.dashboard-stack .chart-container{box-shadow:none;background:0 0;border:none;border-radius:0;width:100%;margin-top:6px;padding:0}.dashboard-stack .chart-controls-labelled .label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:500}@media (max-width:768px){.dashboard-stack .page-header .page-title{font-size:26px}.dashboard-stack>.card,.dashboard-stack>.grid-2{padding:14px 0 18px}}#page-content:has(>.public-header)>.card.mt-xl{width:100%;max-width:100%;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;margin:0!important;padding:18px 0 22px!important}#page-content>.public-header{border-bottom:none;padding-bottom:8px}#page-content:has(>.public-header) .card-header{background:0 0;border-bottom:none;align-items:center;gap:12px;margin:0 0 12px;padding:0;display:flex}#page-content:has(>.public-header) .card-title{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--text);flex:none;margin:0;font-size:16px;font-weight:600}#page-content:has(>.public-header) .chart-container{box-shadow:none;background:0 0;border:none;border-radius:0;margin-top:6px;padding:0}.th-hint{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-dim);font-size:.7rem}.th-row:hover,.th-row.th-row-open{background:var(--bg-card-hover)}.chart-hint-wrap{justify-content:flex-end;margin-bottom:4px;display:flex}.chart-hint{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-dim);white-space:nowrap;font-size:10px;font-weight:500}@media (max-width:768px){.chart-hint{font-size:9px}}#page-content:has(>.public-header) .chart-controls-labelled .label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:500}#page-content:has(>.public-header) .table-wrap{box-shadow:none;border:1px solid var(--border);border-radius:var(--radius-sm);background:0 0}#page-content:has(>.public-header) .table-wrap table th{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);background:var(--bg-card-hover);border-bottom:1px solid var(--border);font-size:10px;font-weight:500}#page-content:has(>.public-header) .table-wrap table td{border-bottom:1px solid var(--border)}#page-content:has(>.public-header)>.mt-xl:not(.card):not(.kpi-grid):not(.pub-portfolio-switcher){border-top:1px solid var(--border);margin:0;padding:18px 0 22px}@media (max-width:768px){#page-content:has(>.public-header)>.card.mt-xl{padding:14px 0 18px!important}}.div-kpi{border-right:1px solid var(--border);background:var(--surface,#fff);padding:18px 20px}.div-kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:6px;font-size:.75rem}.div-kpi-value{letter-spacing:-.01em;font-size:1.6rem;font-weight:600;line-height:1.1}.div-main-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.div-main{flex-direction:column;gap:24px;min-width:0;display:flex}.div-sidebar{position:sticky;top:88px}.div-calendar-card{border:1px solid var(--border);background:var(--surface,#fff);padding:18px 20px 16px}.div-cal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;margin-bottom:12px;padding-bottom:12px;display:flex}.div-cal-title{letter-spacing:-.01em;font-size:1.25rem;font-weight:500}.div-cal-nav{gap:4px;display:flex}.div-cal-nav .btn-ghost{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;padding:4px 10px;font-size:.85rem}.div-cal-nav .btn-ghost:hover{background:var(--surface-2,#f6f4ef)}.div-cal-dow{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);border-bottom:1px solid var(--border);grid-template-columns:repeat(7,1fr);gap:0;padding-bottom:6px;font-size:.7rem;display:grid}.div-cal-dow>div{padding:4px 8px}.div-cal-grid{border-left:1px solid var(--border);border-top:1px solid var(--border);grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(72px,auto);gap:0;display:grid}.div-cal-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface,#fff);flex-direction:column;gap:4px;min-height:72px;padding:4px 6px;display:flex}.div-cal-cell--today{outline-offset:-1px;background:#fffbeb;outline:1px solid #f59e0b}.div-cal-cell--has .div-cal-day{font-weight:600}.div-cal-day{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.78rem}.div-cal-chips{flex-direction:column;flex:1;gap:2px;display:flex}.div-cal-chip{white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;letter-spacing:.01em;border-radius:3px;padding:2px 5px;font-size:.68rem;line-height:1.2;overflow:hidden}.div-cal-legend{color:var(--text-dim);flex-wrap:wrap;gap:16px;margin-top:12px;font-size:.78rem;display:flex}.div-cal-legend-item{align-items:center;gap:6px;display:inline-flex}.div-distribution-card,.div-top-payers-card{border:1px solid var(--border);background:var(--surface,#fff);padding:16px 20px 18px}.div-dist-bar{background:var(--surface-2,#f6f4ef);border-radius:7px;height:14px;margin:8px 0 14px;display:flex;overflow:hidden}.div-dist-seg{transition:filter .15s}.div-dist-seg:hover{filter:brightness(.95)}.div-dist-seg-0{background:#0f766e}.div-dist-seg-1{background:#b45309}.div-dist-seg-2{background:#6d28d9}.div-dist-seg-3{background:#be123c}.div-dist-seg-4{background:#475569}.div-dist-legend{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.div-dist-legend li{font-variant-numeric:tabular-nums;grid-template-columns:14px minmax(60px,1fr) auto auto;align-items:center;gap:10px;font-size:.85rem;display:grid}.div-dist-swatch{border-radius:3px;width:14px;height:14px;display:inline-block}.div-dist-pct{font-variant-numeric:tabular-nums}.div-dist-amt{font-variant-numeric:tabular-nums;font-weight:500}.div-top-payers-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.div-top-payers-list li{font-variant-numeric:tabular-nums;grid-template-columns:22px minmax(50px,auto) minmax(80px,auto) 1fr auto;align-items:center;gap:10px;font-size:.9rem;display:grid}.div-tp-rank{font-family:var(--font-serif,"Fraunces", serif);color:var(--text-dim);font-size:1.1rem;font-weight:500}.div-tp-bar{background:var(--surface-2,#f6f4ef);border-radius:3px;height:6px;position:relative;overflow:hidden}.div-tp-bar-fill{background:var(--accent,#0f766e);border-radius:3px;position:absolute;inset:0}.div-tp-amt{font-weight:500}.div-tp-count{font-size:.78rem}.div-cheques-card{border:1px solid var(--border);background:var(--surface,#fff);padding:20px 22px}.div-cheques-header{border-bottom:1px solid var(--border);padding-bottom:10px}.div-cheques-title{letter-spacing:-.005em;font-size:1.05rem;font-weight:500}.div-cheques-sub{font-size:.75rem}.div-cheques-total{font-family:var(--font-serif,"Fraunces", serif);letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin:14px 0 4px;font-size:2.1rem;font-weight:500}.div-cheques-meta{margin-bottom:18px;font-size:.78rem}.div-cheques-section-label{letter-spacing:.12em;color:var(--text-dim);border-top:1px solid var(--border);margin-bottom:10px;padding-top:12px;font-size:.7rem;font-weight:600}.div-cheques-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.div-cheques-list li{border-bottom:1px solid var(--border);padding-bottom:12px}.div-cheques-list li:last-child{border-bottom:0;padding-bottom:0}.div-cheque-row{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:8px;font-size:.92rem;display:flex}.div-cheque-amt{font-weight:600}.div-cheque-meta{margin-top:2px;font-size:.74rem}@media (max-width:1024px){.div-main-grid{grid-template-columns:1fr}.div-sidebar{position:static}}@media (max-width:768px){.div-kpi-row{grid-template-columns:repeat(2,1fr)}.div-kpi{border-bottom:1px solid var(--border)}.div-kpi:nth-child(odd){border-right:1px solid var(--border)}.div-kpi:nth-child(2n){border-right:0}.div-kpi:nth-last-child(-n+2){border-bottom:0}.div-cal-grid{grid-auto-rows:minmax(56px,auto)}.div-cal-cell{padding:3px 4px}.div-cal-chip{padding:1px 3px;font-size:.62rem}}@media (max-width:480px){.div-kpi-row{grid-template-columns:1fr}.div-kpi{border-right:0;border-bottom:1px solid var(--border)}.div-kpi:last-child{border-bottom:0}.div-cal-dow>div{text-align:center;padding:4px 2px;font-size:.6rem}}.div-forecast-card{padding:0;overflow:hidden}.div-forecast-card .card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:14px 18px;display:flex}.div-forecast-body{padding:8px 0}.div-forecast-empty{color:var(--text-dim);padding:18px 22px;font-size:.92rem}.div-forecast-more{border-bottom:1px dotted var(--border);font-size:.78rem;text-decoration:none}.div-forecast-more:hover{color:var(--accent,#0f766e);border-bottom-color:var(--accent)}.div-forecast-list{margin:0;padding:0;list-style:none}.div-forecast-item{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;grid-template-columns:110px minmax(50px,auto) 1fr auto;align-items:baseline;gap:14px;padding:8px 22px;font-size:.92rem;display:grid}.div-forecast-item:last-child{border-bottom:0}.div-forecast-date{color:var(--text-dim);font-size:.82rem}.div-forecast-ticker{letter-spacing:.01em}.div-forecast-source{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.div-forecast-item--announced .div-forecast-source{color:#1d4ed8}.div-forecast-item--projected .div-forecast-source{color:#92400e}.div-forecast-amt{font-weight:500}.div-forecast-rr{border-top:1px solid var(--border);background:var(--surface-2,#f9f7f1);grid-template-columns:repeat(3,1fr);display:grid}.div-forecast-rr-cell{border-right:1px solid var(--border);padding:12px 18px}.div-forecast-rr-cell:last-child{border-right:0}.div-forecast-rr-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:4px;font-size:.7rem}.div-forecast-rr-value{font-family:var(--font-serif,"Fraunces", serif);font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:500}@media (max-width:768px){.div-forecast-item{-moz-column-gap:10px;grid-template-columns:88px 1fr auto;column-gap:10px;padding:8px 16px}.div-forecast-source{display:none}.div-forecast-rr{grid-template-columns:1fr}.div-forecast-rr-cell{border-right:0;border-bottom:1px solid var(--border)}.div-forecast-rr-cell:last-child{border-bottom:0}}.journal-card{border:1px solid var(--border);box-shadow:none;background:var(--surface,#fff);border-radius:0;margin-bottom:12px;padding:16px 18px}.journal-card+.journal-card{margin-top:0}.journal-card-header{border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:8px}.journal-ticker{font-family:var(--font-serif,"Fraunces", serif);letter-spacing:-.01em;font-size:1.05rem;font-weight:500}.journal-body{color:var(--text,#1f2937);font-size:.92rem;line-height:1.55}.journal-meta{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:10px;font-size:.74rem}.journal-tags .badge{font-size:.72rem}.analytics-stats-header{font-family:var(--font-serif,"Fraunces", serif);margin-right:12px;font-size:1.05rem;font-weight:500}#analytics-kpi-grid{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface,#fff);grid-template-columns:repeat(4,1fr);gap:0;margin:0 0 20px;display:grid}#analytics-kpi-grid .kpi-card{border:0;border-right:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;padding:16px 18px}#analytics-kpi-grid .kpi-card:last-child{border-right:0}#analytics-kpi-grid .kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:6px;font-size:.72rem}#analytics-kpi-grid .kpi-value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600;line-height:1.1}#analytics-kpi-grid .kpi-sub{color:var(--text-dim);margin-top:4px;font-size:.76rem}@media (max-width:768px){#analytics-kpi-grid{grid-template-columns:repeat(2,1fr)}#analytics-kpi-grid .kpi-card{border-bottom:1px solid var(--border)}#analytics-kpi-grid .kpi-card:nth-child(odd){border-right:1px solid var(--border)}#analytics-kpi-grid .kpi-card:nth-child(2n){border-right:0}#analytics-kpi-grid .kpi-card:nth-last-child(-n+2){border-bottom:0}}#page-content .card .form-group .dropdown-results{z-index:50}.watchlist-row-empty{color:var(--text-dim);font-size:.9rem}#wl-body td:first-child strong{font-family:var(--font-serif,"Fraunces", serif);letter-spacing:-.005em;font-size:1rem;font-weight:500}#page-content>.card .card-title{letter-spacing:-.005em;font-size:1.05rem;font-weight:500}#page-content>.card .card-subtitle{color:var(--text-dim);margin-top:2px;font-size:.78rem}@media (max-width:480px){#page-content .card{padding:14px 16px}.kpi-card{padding:12px 14px}.kpi-value{font-size:1.15rem}.kpi-label{letter-spacing:.05em;font-size:.7rem}.kpi-sub{font-size:.72rem}.page-header{margin-bottom:14px}.page-title{font-size:1.4rem;line-height:1.1}.page-desc{margin-top:2px;font-size:.82rem}.filter-bar{gap:8px}.filter-bar .form-control,.filter-bar select,.filter-bar input{max-width:100%;width:100%!important}.filter-bar .search-input{flex:100%;width:100%}.card-header{flex-wrap:wrap;gap:8px;margin-bottom:12px;padding-bottom:8px}.card-title{font-size:1.02rem}.card-subtitle{font-size:.78rem}.pill-toggle{padding:4px}.pill-toggle .pill{padding:7px 12px;font-size:.82rem}}@media (max-width:400px){.main-content{padding-left:10px;padding-right:10px}#page-content .card{padding:12px 14px}.div-cal-cell{min-height:50px;padding:2px 3px}.div-cal-day{font-size:.7rem}.div-cal-chip{padding:0 2px;font-size:.58rem}.div-forecast-item{-moz-column-gap:8px;grid-template-columns:76px 1fr auto;column-gap:8px;padding:7px 14px}.div-forecast-date{font-size:.78rem}#markets-ribbon{margin-left:-10px;margin-right:-10px}}@media (pointer:coarse){input[type=text],input[type=number],input[type=date],input[type=email],input[type=password],select.form-control,textarea{min-height:44px;font-size:16px}}@media (max-width:480px){.journal-meta{letter-spacing:.04em;font-size:.7rem}.journal-card{padding:14px 16px}.journal-card-header{flex-wrap:wrap;gap:6px}.journal-tags{gap:4px}#page-content .card>div:has(>#wl-ticker){flex-direction:column;align-items:stretch!important}#page-content .card td .btn,#page-content .card td .btn-sm{white-space:nowrap}.time-machine{border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:10px}}@supports (padding:max(0px)){.modal-content,.alert-modal,.snapshot-modal{padding-bottom:max(16px, env(safe-area-inset-bottom,0px))}}.tax-kpi-row{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface,#fff);grid-template-columns:repeat(4,1fr);gap:0;margin:0 0 24px;display:grid}.tax-kpi{border-right:1px solid var(--border);padding:18px 20px}.tax-kpi:last-child{border-right:0}.tax-kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:6px;font-size:.72rem}.tax-kpi-value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600;line-height:1.1}.tax-kpi-sub{color:var(--text-dim);margin-top:4px;font-size:.76rem}.tax-tlh-summary{border-bottom:1px solid var(--border);background:var(--surface-2,#faf7f1);flex-wrap:wrap;gap:10px;padding:10px 22px;font-size:.9rem;display:flex}.tax-tlh-help{border-top:1px solid var(--border);padding:10px 22px;font-style:italic}@media (max-width:768px){.tax-kpi-row{grid-template-columns:repeat(2,1fr)}.tax-kpi{border-bottom:1px solid var(--border)}.tax-kpi:nth-child(odd){border-right:1px solid var(--border)}.tax-kpi:nth-child(2n){border-right:0}.tax-kpi:nth-last-child(-n+2){border-bottom:0}}@media (max-width:480px){.tax-kpi-row{grid-template-columns:1fr}.tax-kpi{border-right:0;border-bottom:1px solid var(--border)}.tax-kpi:last-child{border-bottom:0}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn:focus-visible,.btn-sm:focus-visible,.pill:focus-visible,.nav-item:focus-visible,.tab-bar-btn:focus-visible,.form-control:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[data-action]:focus-visible{outline:2px solid var(--accent,#0f766e);outline-offset:2px;border-radius:3px}.nav-item,.tab-bar-btn{cursor:pointer}.skip-link{background:var(--accent,#0f766e);color:#fff;z-index:10000;border-radius:4px;padding:8px 12px;font-weight:500;text-decoration:none;transition:top .15s;position:absolute;top:-40px;left:8px}.skip-link:focus,.skip-link:focus-visible{outline-offset:1px;outline:2px solid #fff;top:8px}.div-cal-nav{position:relative}.div-cal-picker{z-index:20;background:var(--surface,#fff);border:1px solid var(--border);border-radius:6px;grid-template-rows:auto auto auto;gap:8px;min-width:230px;padding:10px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 16px #00000014}.div-cal-picker-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.div-cal-picker-year{letter-spacing:-.01em;font-size:1rem;font-weight:500}.div-cal-picker-months{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.div-cal-picker-months .btn-ghost{text-align:center;padding:8px 6px;font-size:.8rem}.div-cal-picker-months .btn-ghost.active{background:var(--accent,#0f766e);color:#fff;border-color:var(--accent,#0f766e)}.div-cal-picker-footer{border-top:1px solid var(--border);justify-content:center;padding-top:8px;display:flex}:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px}td,th,.kpi-value,.num{font-variant-numeric:tabular-nums}.pnl-pill{border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;align-items:center;padding:1px 8px;font-weight:500;display:inline-flex}.pnl-pill.pos{background:var(--green-bg);color:var(--green)}.pnl-pill.neg{background:var(--red-bg);color:var(--red)}td{transition:background-color .15s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,system-ui,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:JetBrains Mono,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:60 23% 97%;--foreground:60 8% 5%;--card:60 23% 97%;--card-foreground:60 8% 5%;--popover:60 23% 97%;--popover-foreground:60 8% 5%;--primary:225 100% 55%;--primary-foreground:60 23% 97%;--secondary:50 21% 94%;--secondary-foreground:60 8% 5%;--muted:50 21% 94%;--muted-foreground:42 5% 46%;--accent:50 21% 94%;--accent-foreground:60 8% 5%;--destructive:0 72% 47%;--destructive-foreground:60 23% 97%;--border:48 18% 88%;--input:48 18% 88%;--ring:225 100% 55%;--radius:.5rem}.dark{--background:60 8% 5%;--foreground:60 23% 97%;--card:60 8% 8%;--card-foreground:60 23% 97%;--popover:60 8% 8%;--popover-foreground:60 23% 97%;--primary:225 100% 60%;--primary-foreground:60 8% 5%;--secondary:60 6% 14%;--secondary-foreground:60 23% 97%;--muted:60 6% 14%;--muted-foreground:42 5% 65%;--accent:60 6% 14%;--accent-foreground:60 23% 97%;--destructive:0 60% 45%;--destructive-foreground:60 23% 97%;--border:60 6% 18%;--input:60 6% 18%;--ring:225 100% 60%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-feature-settings:"rlig" 1, "calt" 1;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}h1.font-serif,h2.font-serif{letter-spacing:-.01em;font-family:"Source Serif 4",Fraunces,Georgia,serif}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}@media (min-width:1400px){.container{max-width:1400px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-2{left:.5rem}.right-1{right:.25rem}.top-0{top:0}.top-1{top:.25rem}.top-5{top:1.25rem}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[200\]{z-index:200}.z-\[210\]{z-index:210}.mx-auto{margin-left:auto;margin-right:auto}.-ml-1{margin-left:-.25rem}.-mr-1{margin-right:-.25rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-4{margin-bottom:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[1\.35rem\]{height:1.35rem}.h-\[18px\]{height:18px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-96{max-height:24rem}.min-h-\[140px\]{min-height:140px}.min-h-\[260px\]{min-height:260px}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-\[1\.35rem\]{width:1.35rem}.w-\[86vw\]{width:86vw}.w-auto{width:auto}.w-full{width:100%}.min-w-\[2rem\]{min-width:2rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-\[320px\]{max-width:320px}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-spacing-1{--tw-border-spacing-x:.25rem;--tw-border-spacing-y:.25rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.-translate-x-full{--tw-translate-x:-100%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[16px\]{--tw-translate-x:16px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[2px\]{--tw-translate-x:2px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-amber-500\/50{border-color:#f59e0b80}.border-border{border-color:hsl(var(--border))}.border-destructive{border-color:hsl(var(--destructive))}.border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.border-foreground\/40{border-color:hsl(var(--foreground) / .4)}.border-input{border-color:hsl(var(--input))}.border-muted{border-color:hsl(var(--muted))}.border-rose-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.border-t-primary{border-top-color:hsl(var(--primary))}.bg-background{background-color:hsl(var(--background))}.bg-background\/60{background-color:hsl(var(--background) / .6)}.bg-black\/45{background-color:#00000073}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-input{background-color:hsl(var(--input))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:#0000}.stroke-\[2\.4\]{stroke-width:2.4px}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-\[calc\(64px\+env\(safe-area-inset-bottom\,0px\)\+0\.75rem\)\]{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px) + .75rem)}.pl-2{padding-left:.5rem}.pl-32{padding-left:8rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pt-\[calc\(56px\+env\(safe-area-inset-top\,0px\)\+0\.75rem\)\]{padding-top:calc(56px + env(safe-area-inset-top,0px) + .75rem)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:JetBrains Mono,monospace}.font-serif{font-family:Source Serif 4, Georgia, serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[1\.6rem\]{font-size:1.6rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-\[color\:var\(--text\)\]{color:var(--text)}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:.85rem;font-weight:500;line-height:1.2;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.btn-primary:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-light);color:#fff}.btn.btn-green{color:#fff;background:#1f7a3a;border-color:#1f7a3a;font-weight:600}.btn.btn-green:hover:not(:disabled){color:#fff;background:#126f30;border-color:#126f30}.btn.btn-red{color:#fff;background:#c0392b;border-color:#c0392b;font-weight:600}.btn.btn-red:hover:not(:disabled){color:#fff;background:#962d22;border-color:#962d22}.btn.btn-sm{padding:5px 12px;font-size:.78rem}.btn.btn-ghost{border-color:var(--border);background:0 0}.btn.text-red{color:var(--red);border-color:var(--red)}.btn.text-red:hover:not(:disabled){background:var(--red);color:#fff}.btn-sm:not(.btn){border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);cursor:pointer;justify-content:center;align-items:center;padding:5px 12px;font-family:inherit;font-size:.78rem;font-weight:500;display:inline-flex}.btn-sm:not(.btn):hover{background:var(--bg-card-hover);border-color:var(--border-hover)}.btn.btn-primary{color:#fff!important;background:#1b4dff!important;border-color:#1b4dff!important}.btn.btn-primary:hover:not(:disabled){background:#4068ff!important;border-color:#4068ff!important}.toggle-switch{flex-shrink:0;display:inline-block;width:42px!important;height:24px!important;position:relative!important}.toggle-switch input{opacity:0!important;width:0!important;height:0!important;margin:0!important;padding:0!important;position:absolute!important}.toggle-switch .slider{cursor:pointer;transition:background .2s;background:#e5e3db!important;border-radius:12px!important;position:absolute!important;inset:0!important}.toggle-switch .slider:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000026}.toggle-switch input:checked+.slider{background:#1b4dff!important}.toggle-switch input:checked+.slider:before{transform:translate(18px)}.toggle-row{border-bottom:1px solid #e5e3db;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.toggle-row:last-child{border-bottom:none}.badge{color:#1b4dff;background:#e5ebff;border-radius:10px;padding:2px 10px;font-size:.72rem;font-weight:500;display:inline-block}.badge-published{color:#1f7a3a;background:#1f7a3a12}.card{border:1px solid var(--border)!important;border-radius:var(--radius)!important;background:#fafaf7!important;padding:18px 22px!important}.card-title{color:var(--text);border-bottom:1px solid #e5e3db;padding-bottom:10px;font-size:1.05rem;font-weight:600;display:block;margin-bottom:14px!important}.card-header{border-bottom:1px solid #e5e3db;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:10px;display:flex}.card-header .card-title{border-bottom:none;padding-bottom:0;margin-bottom:0!important}.page-header{border-bottom:1px solid #e5e3db;margin-bottom:20px;padding-bottom:14px}.page-header .page-title{margin:0}.page-header .page-desc{color:var(--text-muted);margin:4px 0 0;font-size:.82rem}.form-group{margin-bottom:12px}.form-label{letter-spacing:.02em;color:var(--text-muted);text-transform:none;margin-bottom:4px;font-size:.75rem;font-weight:500;display:block}.form-control{border-radius:var(--radius-sm);width:100%;color:var(--text);background:#fff;border:1px solid #e5e3db;padding:8px 10px;font-family:inherit;font-size:.88rem}.form-control:focus{border-color:#1b4dff;outline:none;box-shadow:0 0 0 3px #1b4dff1f}.card table{border-collapse:collapse;width:100%;font-size:.85rem}.card table thead th{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim,#7a7770);text-align:left;background:0 0;border-bottom:1px solid #e5e3db;padding:10px 12px;font-family:Inter,system-ui,sans-serif;font-size:.68rem;font-weight:500}.card table tbody td{vertical-align:middle;border-bottom:1px solid #e5e3db;padding:12px}.card table tbody tr:last-child td{border-bottom:none}.card table tbody tr:hover td{background:#f2f1ec}.card .table-wrap{box-shadow:none;background:0 0;border:none}.badge,.badge-published{border:1px solid #0000;border-radius:9999px;padding:3px 12px;font-size:.72rem;font-weight:500}.badge-published{color:#1f7a3a;background:#e7f6ec;border-color:#c8e6cf}.card td .btn+.btn,.card td .btn-sm+.btn-sm{margin-left:6px}.settings-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (max-width:900px){.settings-grid{grid-template-columns:1fr}}.card .section-title{font-family:var(--font,"Inter"), system-ui, sans-serif;color:var(--text);margin:0 0 10px;font-size:.92rem;font-weight:600}.card .form-control{background:#fff!important;border-color:#e5e3db!important}.card .form-control:focus{border-color:#1b4dff!important;box-shadow:0 0 0 3px #1b4dff26!important}.dashboard-performance .btn-group .btn.active,.dashboard-performance .btn-group .btn-sm.active{color:#fff;background:#0e0e0c;border-color:#0e0e0c}.dashboard-performance .btn-group .btn:not(.active),.dashboard-performance .btn-group .btn-sm:not(.active){color:#0e0e0c;background:#fff}.dashboard-performance .chart-controls-chips .btn,.dashboard-performance .chart-controls-chips .btn-sm{background:#fff;border:1px solid #e5e3db;border-radius:9999px;padding:4px 12px;font-size:.78rem}.dashboard-performance .chart-controls-labelled>.label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim,#7a7770);margin-right:12px;font-family:Inter,system-ui,sans-serif;font-size:.68rem;font-weight:500}.dashboard-performance .card-header{border-bottom:1px solid #e5e3db;margin-bottom:14px;padding-bottom:10px}.trade-type-toggle{gap:8px;margin-bottom:16px;display:flex}.trade-type-toggle .toggle-btn{border-radius:var(--radius-sm,6px);color:#0e0e0c;cursor:pointer;background:#fff;border:1px solid #e5e3db;flex:1;padding:10px 16px;font-size:.85rem;font-weight:600;transition:background .12s,color .12s,border-color .12s}.trade-type-toggle .toggle-btn:hover:not(.active-buy):not(.active-sell){background:#f2f1ec}.trade-type-toggle .toggle-btn.active-buy,.trade-type-toggle .toggle-btn.active-buy:hover,.trade-type-toggle .toggle-btn.active-buy:focus{color:#fff;background:#1f7a3a;border-color:#1f7a3a}.trade-type-toggle .toggle-btn.active-sell,.trade-type-toggle .toggle-btn.active-sell:hover,.trade-type-toggle .toggle-btn.active-sell:focus{color:#fff;background:#c0392b;border-color:#c0392b}.btn.btn-green:focus,.btn.btn-green:focus-visible,.btn.btn-green:active{color:#fff;background:#126f30;border-color:#126f30;outline:none;box-shadow:0 0 0 3px #1f7a3a2e}.btn.btn-red:focus,.btn.btn-red:focus-visible,.btn.btn-red:active{color:#fff;background:#962d22;border-color:#962d22;outline:none;box-shadow:0 0 0 3px #c0392b2e}.live-price-box{border-radius:var(--radius-sm,6px);background:#fff;border:1px solid #e5e3db;margin:10px 0;padding:10px 14px}.live-price-box .price{color:#0e0e0c;font-size:1.15rem;font-weight:600}.live-price-box .meta{color:var(--text-muted,#3a3a36);margin-top:2px;font-size:.78rem}.div-kpi-row{border-top:1px solid #e5e3db;border-bottom:1px solid #e5e3db;grid-template-columns:repeat(5,1fr);gap:0;margin:0 0 24px;padding:0;display:grid}.div-kpi{background:#fff;border-right:1px solid #e5e3db;padding:18px 20px}.div-kpi:last-child{border-right:0}.div-kpi-label{text-transform:uppercase;letter-spacing:.08em;color:#7a7770;margin-bottom:6px;font-size:.7rem;font-weight:500}.div-kpi-value{letter-spacing:-.01em;color:#0e0e0c;font-size:1.55rem;font-weight:600;line-height:1.15}.div-kpi-sub{color:#7a7770;margin-top:4px;font-size:.75rem}@media (max-width:1000px){.div-kpi-row{grid-template-columns:repeat(2,1fr)}.div-kpi{border-bottom:1px solid #e5e3db;border-right:none}}.div-calendar-card{background:#fff;border:1px solid #e5e3db;padding:18px 20px 16px}.div-cal-header{border-bottom:1px solid #e5e3db;margin-bottom:12px;padding-bottom:12px}.div-cal-dow{border-bottom:1px solid #e5e3db;padding-bottom:6px}.div-cal-grid{border-top:1px solid #e5e3db;border-left:1px solid #e5e3db}.div-cal-cell{background:#fff;border-bottom:1px solid #e5e3db;border-right:1px solid #e5e3db}.div-cal-cell--empty{background:#f2f1ec}.div-distribution-card,.div-top-payers-card,.div-cheques-card{background:#fafaf7!important;border:1px solid #e5e3db!important;padding:18px 20px!important}.div-cal-legend{color:#7a7770;border-top:1px solid #e5e3db;flex-wrap:wrap;gap:14px;margin-top:10px;padding-top:10px;font-size:.75rem;display:flex}.div-cal-chip{white-space:nowrap;border-radius:4px;margin:1px 2px 1px 0;padding:2px 6px;font-size:.7rem;font-weight:500;display:inline-block}.div-cal-chip--posted{color:#1f7a3a;background:#e7f6ec;border:1px solid #c8e6cf}.div-cal-chip--announced{color:#1b4dff;background:#e5ebff;border:1px solid #c8d2ff}.div-cal-chip--projected{color:#92400e;background:0 0;border:1px dashed #f1c089}.search-input{min-width:200px;position:relative}.search-input input{border-radius:var(--radius-sm,6px);color:#0e0e0c;background:#fff;border:1px solid #e5e3db;width:100%;padding:9px 12px 9px 36px;font-family:inherit;font-size:.85rem}.search-input input:focus{border-color:#1b4dff;outline:none;box-shadow:0 0 0 3px #1b4dff1f}.search-input:before{content:"🔍";pointer-events:none;font-size:.85rem;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.etf-category{margin-bottom:28px}.etf-category-title{color:#0e0e0c;border-bottom:1px solid #e5e3db;margin-bottom:12px;padding-bottom:8px;font-size:1rem;font-weight:600}.etf-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}@media (max-width:900px){.etf-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.etf-grid{grid-template-columns:1fr}}.etf-row{background:#fff;border:1px solid #e5e3db;border-radius:6px;justify-content:space-between;align-items:center;padding:9px 14px;font-size:.82rem;transition:border-color .12s,box-shadow .12s,transform 80ms;display:flex}.etf-row:hover{border-color:#1b4dff;box-shadow:0 1px 3px #0000000f}.etf-ticker{color:#1b4dff;letter-spacing:-.01em;min-width:60px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.etf-name{color:#3a3a36;text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0 10px;font-size:.78rem;overflow:hidden}.etf-ytd{text-align:right;min-width:60px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.etf-ytd.positive{color:#1f7a3a}.etf-ytd.negative{color:#c0392b}@media (max-width:767px){.filter-bar{flex-direction:column!important;align-items:stretch!important}.filter-bar>*{flex:none!important;width:100%!important;min-width:0!important;max-width:none!important}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:w-64:hover{width:16rem}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-rose-50:hover{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-rose-600:hover{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.hover\:text-rose-700:hover{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-85:hover{opacity:.85}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-0:focus{--tw-ring-offset-width:0px}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.active\:bg-muted:active{background-color:hsl(var(--muted))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:opacity-100{opacity:1}.peer:focus-visible~.peer-focus-visible\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.peer:focus-visible~.peer-focus-visible\:ring-ring{--tw-ring-color:hsl(var(--ring))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}@media (min-width:768px){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:ml-16{margin-left:4rem}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-wrap{flex-wrap:wrap}.md\:items-end{align-items:flex-end}.md\:justify-center{justify-content:center}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:h-5>svg{height:1.25rem}.\[\&\>svg\]\:w-5>svg{width:1.25rem}.\[\&\>svg\]\:opacity-50>svg{opacity:.5}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
