*,*:before,*:after{box-sizing:border-box}:root{--bg: #06080a;--surface: #0c1014;--surface2: #111820;--surface3: #0e1519;--border: #1e2a33;--border2: #263340;--fg: #f0f2f4;--fg2: #b8c2cc;--dim: #7a8a98;--dim2: #3a4a58;--blue: #1a6eff;--green: #22c55e;--amber: #f59e0b;--red: #ef4444;--violet: #8b5cf6;--blue-soft: rgba(26,110,255,.1);--blue-glow: rgba(26,110,255,.18);--logo-chevron: #B0B0B0;--logo-ring-outer: #6E6E6E;--logo-ring-inner: #9A9A9A;--green-soft: rgba(34,197,94,.08);--amber-soft: rgba(245,158,11,.08);--red-soft: rgba(239,68,68,.08);font-family:Helvetica Neue,Helvetica,system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body.light{--bg: #f4f6f8;--surface: #ffffff;--surface2: #f0f2f5;--surface3: #e8eaed;--border: #d8dde3;--border2: #c4cad2;--fg: #0f1923;--fg2: #2c3a47;--dim: #6b7a88;--dim2: #a0aab4;--logo-chevron: #B0B0B0;--logo-ring-outer: #444444;--logo-ring-inner: #999999}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--fg)}body{overflow:hidden}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.main-content{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.top-bar{height:52px;flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px}.page-content{flex:1;overflow-y:auto;padding:24px}.sidebar-logo{height:52px;flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--border)}.sidebar-user{padding:12px 14px;border-top:1px solid var(--border);flex-shrink:0}.user-avatar{width:28px;height:28px;border-radius:50%;background:var(--blue-soft);border:1px solid var(--blue);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--blue);flex-shrink:0}.nav-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);padding:12px 14px 4px}.nav-item{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:1px 6px;border-radius:6px;color:var(--fg2);text-decoration:none;font-size:13px;transition:background .15s,color .15s;cursor:pointer}.nav-item:hover{background:var(--surface2);color:var(--fg)}.nav-item.active{background:var(--blue-soft);color:var(--blue)}.nav-badge{margin-left:auto;background:var(--amber);color:#000;font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px;min-width:18px;text-align:center}.nav-group-header{display:flex;align-items:center;gap:6px;width:calc(100% - 12px);margin:4px 6px 0;padding:10px 12px 4px 8px;background:none;border:none;border-radius:6px;font:inherit;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);text-align:left;cursor:pointer}.nav-group-header:hover{color:var(--fg2)}.nav-group-header:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.nav-chevron{display:inline-block;width:10px;font-size:12px;line-height:1;color:var(--dim2);transition:transform .15s}.nav-group-header.open .nav-chevron{transform:rotate(90deg)}.nav-item.sub{padding-left:24px}.sidebar-bottom{padding:6px 0;border-top:1px solid var(--border);flex-shrink:0}.role-badge{display:inline-block;font-size:11px;padding:1px 7px;border-radius:10px;font-weight:500}.role-badge.compliance{background:#f59e0b1f;color:var(--amber)}.role-badge.admin{background:#ef44441a;color:var(--red)}.role-badge.investment,.role-badge.portfolio_manager{background:var(--blue-soft);color:var(--blue)}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 20px}.stat-card-clickable{cursor:pointer;transition:border-color .12s,background .12s}.stat-card-clickable:hover{border-color:var(--dim2);background:var(--surface2)}.gov-event-card{border-left:3px solid var(--dim2);padding:10px 14px;border-radius:0 6px 6px 0;margin:6px 0}.gov-event-card.violet{border-left-color:var(--violet);background:#8b5cf614}.gov-event-card.red{border-left-color:var(--red);background:var(--red-soft)}.gov-event-card.amber{border-left-color:var(--amber);background:var(--amber-soft)}.gov-event-card.tier4{border-left-color:var(--red);background:var(--red-soft);border:1px solid rgba(239,68,68,.25);border-left:3px solid var(--red)}.chat-messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:10px}.chat-bubble{max-width:78%;padding:10px 14px;border-radius:10px;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.chat-bubble.user{align-self:flex-end;background:var(--blue-soft);border:1px solid rgba(26,110,255,.2);color:var(--fg)}.chat-bubble.ai{align-self:flex-start;width:fit-content;background:var(--surface2);border:1px solid var(--border);color:var(--fg)}.chat-markdown p{margin:0 0 8px}.chat-markdown p:last-child{margin-bottom:0}.chat-markdown{white-space:normal}.chat-markdown ul,.chat-markdown ol{margin:4px 0 8px;padding:0 0 0 20px;list-style-position:outside}.chat-markdown ul li{margin-bottom:2px;display:list-item;list-style-type:disc;white-space:normal}.chat-markdown ol li{margin-bottom:2px;display:list-item;list-style-type:decimal;white-space:normal}.chat-markdown h1,.chat-markdown h2,.chat-markdown h3{font-size:13px;font-weight:600;margin:8px 0 4px}.chat-markdown code{font-family:monospace;font-size:12px;background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:1px 4px}.chat-markdown pre{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px 12px;overflow-x:auto;margin:6px 0}.chat-markdown pre code{background:none;border:none;padding:0}.chat-markdown strong{font-weight:600}.chat-markdown em{font-style:italic}.chat-composer{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:flex-end;background:var(--surface);flex-shrink:0}.streaming-cursor{display:inline-block;width:2px;height:14px;background:var(--blue);animation:blink 1s step-start infinite;vertical-align:middle;margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:opacity .15s,background .15s;white-space:nowrap;font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover:not(:disabled){opacity:.88}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover:not(:disabled){opacity:.88}.btn-ghost{background:transparent;color:var(--fg2);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--surface2)}.btn-sm{padding:4px 10px;font-size:12px}.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.form-label{font-size:12px;font-weight:500;color:var(--fg2)}.form-input{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:8px 12px;color:var(--fg);font-size:13px;outline:none;font-family:inherit;width:100%;transition:border-color .15s}.form-input:focus{border-color:var(--blue)}.form-input::placeholder{color:var(--dim)}.status-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px;white-space:nowrap}.status-badge.green{background:var(--green-soft);color:var(--green)}.status-badge.amber{background:var(--amber-soft);color:var(--amber)}.status-badge.red{background:var(--red-soft);color:var(--red)}.status-badge.violet{background:#8b5cf61a;color:var(--violet)}.status-badge.blue{background:var(--blue-soft);color:var(--blue)}.status-badge.dim{background:#7a8a981a;color:var(--dim)}.data-table{width:100%;border-collapse:collapse;font-size:13px}.pt-table-scroll{overflow-x:auto;max-width:100%}.data-table th{text-align:left;padding:8px 14px;border-bottom:1px solid var(--border);color:var(--dim);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.06em;background:var(--surface)}.data-table td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--fg2)}.data-table tbody tr:hover td{background:var(--surface2)}.pt-approve-card .data-table{font-size:12px}.pt-approve-card .data-table th,.pt-approve-card .data-table td{padding:8px 6px}.pt-approve-card .data-table .pt-wrap{white-space:normal;overflow-wrap:anywhere;min-width:64px}.pt-approve-card .data-table .pt-approve-detail{display:block;font-size:11px;color:var(--dim)}.pt-approve-card .data-table .pt-approve-note{width:104px;max-width:100%;font-size:12px}.pt-approve-card .data-table .pt-approve-actions{display:flex;gap:6px;flex-wrap:nowrap;white-space:nowrap}.pt-close-card .data-table{font-size:12px}.pt-close-card .data-table th,.pt-close-card .data-table td{padding:8px 6px}.pt-close-card .data-table .pt-close-broker{white-space:normal;overflow-wrap:anywhere;min-width:64px}.pt-close-card .data-table .pt-approve-note{width:104px;max-width:100%;font-size:12px}.pt-approve-actions{display:flex;gap:6px;flex-wrap:nowrap;white-space:nowrap;align-items:center}.pt-approve-actions .pt-own-note{display:block;white-space:normal;max-width:150px;font-size:11px;line-height:1.35;color:var(--dim)}.pt-fit-card .data-table{font-size:12px}.pt-fit-card .data-table th,.pt-fit-card .data-table td{padding:8px 6px}.pt-fit-card .data-table .pt-fit-wrap{white-space:normal;overflow-wrap:anywhere;min-width:64px}.pt-fit-card .data-table .pt-status .status-badge{white-space:normal}.pt-fit-card .data-table .pt-date{white-space:nowrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;min-width:400px;max-width:90vw;max-height:90vh;overflow-y:auto}.slideout-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:190;opacity:0;transition:opacity .2s ease}.slideout-backdrop-visible{opacity:1}.slideout-panel{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:92vw;background:var(--surface);border-left:1px solid var(--border);z-index:200;display:flex;flex-direction:column;transform:translate(0);animation:slideout-in .22s ease;box-shadow:-12px 0 32px #00000059;outline:none}@keyframes slideout-in{0%{transform:translate(100%)}to{transform:translate(0)}}.slideout-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.slideout-title{font-weight:600;font-size:15px;color:var(--fg);line-height:1.4}.slideout-close{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--dim);width:26px;height:26px;cursor:pointer;font-size:12px;line-height:1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.slideout-close:hover{background:var(--surface2);color:var(--fg)}.slideout-body{flex:1;overflow-y:auto;padding:16px 20px}.slideout-meta{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin:14px 0 6px}.slideout-meta:first-child{margin-top:0}.slideout-value{font-size:13px;color:var(--fg2);line-height:1.5}.row-clickable{cursor:pointer}.row-clickable td{transition:background .12s}.row-clickable:hover td{background:var(--surface2)!important}.module-card{cursor:pointer;transition:border-color .12s,background .12s}.module-card:hover{border-color:var(--blue, #0a84ff);background:var(--surface2)}.module-card:focus-visible{outline:2px solid var(--blue, #0a84ff);outline-offset:2px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);overflow:auto}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:36px;width:360px;max-width:90vw}.empty-state{text-align:center;padding:48px 24px;color:var(--dim);font-size:13px}.divider{height:1px;background:var(--border);margin:16px 0}.cal-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.cal-tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;cursor:pointer;font:inherit;color:var(--fg);transition:border-color .12s,background .12s}.cal-tile:hover{border-color:var(--dim2);background:var(--surface2)}.cal-tile-num{font-size:22px;font-weight:700;line-height:1.1}.cal-tile-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--dim)}.cal-tile.red .cal-tile-num{color:var(--red)}.cal-tile.amber .cal-tile-num{color:var(--amber)}.cal-tile.blue .cal-tile-num{color:var(--blue)}.cal-tile.green .cal-tile-num{color:var(--green)}.cal-tile.active{border-color:var(--blue);background:var(--blue-soft)}.cal-tile.red.active{border-color:var(--red);background:var(--red-soft)}.cal-tile.amber.active{border-color:var(--amber);background:var(--amber-soft)}.cal-tile.green.active{border-color:var(--green);background:var(--green-soft)}.cal-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.cal-search,.cal-select{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--fg);font:inherit;font-size:13px;padding:7px 10px;outline:none}.cal-search{flex:1;min-width:200px;max-width:360px}.cal-search:focus,.cal-select:focus{border-color:var(--blue)}.cal-check{font-size:12px;color:var(--dim);display:flex;align-items:center;gap:6px}.cal-pills{display:flex;gap:6px;overflow-x:auto;contain:inline-size;padding-bottom:6px;margin-bottom:12px;scrollbar-width:thin}.cal-pill{flex:none;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--fg2);font:inherit;font-size:12px;padding:5px 11px;cursor:pointer;white-space:nowrap}.cal-pill:hover{border-color:var(--dim2);color:var(--fg)}.cal-pill.active{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.cal-pill-n{font-size:11px;color:var(--dim)}.cal-pill.active .cal-pill-n{color:var(--blue)}.cal-pill-sep{flex:none;width:1px;background:var(--border);margin:2px 4px}.cal-dot{width:6px;height:6px;border-radius:50%;background:var(--red);display:inline-block}@media (max-width: 1100px){.cal-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.cal-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.att-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.att-card{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:10px;border:1px solid var(--border);border-left:3px solid var(--dim2);background:var(--surface2);color:var(--fg);text-decoration:none;transition:border-color .12s,background .12s}.att-card:hover{background:var(--surface3);border-color:var(--dim2)}.att-card.red{border-left-color:var(--red)}.att-card.amber{border-left-color:var(--amber)}.att-card.blue{border-left-color:var(--blue)}.att-num{font-size:22px;font-weight:700;line-height:1.15}.att-card.red .att-num{color:var(--red)}.att-card.amber .att-num{color:var(--amber)}.att-card.blue .att-num{color:var(--blue)}.att-label{font-size:13px;font-weight:600}.att-sub{font-size:11px;color:var(--dim)}.att-go{font-size:11px;color:var(--blue);margin-top:6px}.att-clear{margin-top:12px;font-size:12px;color:var(--dim);line-height:1.7}.att-clear-link{color:var(--fg2);text-decoration:none}.att-clear-link:hover{color:var(--blue);text-decoration:underline}.dash-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px;align-items:start}.dash-two>.card{margin-bottom:0}.obl-bar{height:6px;border-radius:3px;background:var(--border);overflow:hidden}.obl-bar span{display:block;height:100%;background:var(--green);border-radius:3px}.obl-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.obl-chip{font-size:12px;padding:3px 9px;border-radius:999px;text-decoration:none;border:1px solid var(--border);color:var(--dim)}.obl-chip b{font-weight:700}.obl-chip.red{color:var(--red);background:var(--red-soft);border-color:transparent}.obl-chip.amber{color:var(--amber);background:var(--amber-soft);border-color:transparent}.obl-chip.blue{color:var(--blue);background:var(--blue-soft);border-color:transparent}.obl-chip.green{color:var(--green);background:var(--green-soft);border-color:transparent}.obl-chip:hover{filter:brightness(1.15)}.obl-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);text-decoration:none;color:var(--fg)}.obl-row:last-child{border-bottom:0}.obl-row:hover .obl-title{color:var(--blue)}.obl-title{display:block;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obl-meta{display:block;font-size:11px;color:var(--dim)}.ctl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ctl-card{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border-radius:10px;border:1px solid var(--border);background:var(--surface);text-decoration:none;color:var(--fg)}a.ctl-card:hover{border-color:var(--dim2);background:var(--surface2)}.ctl-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--dim)}.ctl-value{font-size:14px;font-weight:600}.ctl-value.green{color:var(--green)}.ctl-value.red{color:var(--red)}.ctl-value.amber{color:var(--amber)}.ctl-value.dim{color:var(--dim)}.ctl-sub{font-size:11px;color:var(--dim)}@media (max-width: 1000px){.dash-two,.ctl-grid{grid-template-columns:1fr}}.rv-row{cursor:pointer;border-radius:6px}.rv-row:hover{background:var(--surface2)}.rv-row:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
