:root{--fd-trust-blue:#3E83AC;--fd-trust-blue-dim:#245F87;--fd-trust-blue-action:#6FB4DC;--fd-insight-violet:#534AB7;--fd-wealth-gold:#D4AF37;--fd-success:#48C792;--fd-warning:#F4B740;--fd-danger:#FF8A80;--fd-canvas:#F5F7FA;--fd-surface:#FFFFFF;--fd-surface-raised:#EDF1F5;--fd-text-strong:#172033;--fd-text-muted:#526071;--fd-border:#D1D9E0;--fd-success:#147A52;--fd-warning:#805B00;--fd-danger:#B42318}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:#f5f7fa;color:#172033;font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.5}.loading{display:flex;align-items:center;justify-content:center;height:100vh;color:#526071}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f7fa}.login-box{width:360px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:40px 32px;text-align:center}.login-mark{display:flex;justify-content:center;margin-bottom:20px}.login-brand{font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#172033;margin-bottom:4px}.login-subbrand{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#7a8797;margin-bottom:16px}.login-product{font-size:11px;color:#526071;margin-bottom:28px;letter-spacing:.04em}.acc-list{display:flex;flex-direction:column;gap:8px}.acc-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:8px;color:#172033;cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.acc-btn:hover{background:#edf1f5;border-color:#3e83ac4d}.acc-btn-name{font-weight:500;font-size:13px}.acc-btn-meta{font-size:11px;color:#526071;margin-top:2px}.pin-prompt{text-align:left}.pin-label{font-size:12px;color:#526071;margin-bottom:10px}.pin-err{font-size:12px;color:#f87171;margin-top:6px}.login-footer{font-size:10px;color:#526071;margin-top:24px}.cc-wrap{min-height:100vh;display:flex;flex-direction:column}.cc-header{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:#fff;border-bottom:1px solid rgba(0,0,0,.08);position:sticky;top:0;z-index:10}.cc-header-left{display:flex;align-items:center;gap:14px}.cc-title{font-weight:600;font-size:15px;color:#172033}.cc-sub{font-size:11px;color:#7a8797;margin-top:1px}.cc-header-right{display:flex;align-items:center;gap:10px}.acc-pill{display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid;border-radius:20px;font-size:12px;background:#0000000a}.acc-role-tag{font-size:10px;color:#526071;margin-left:4px}.alert{padding:10px 24px;font-size:12px;font-weight:500}.alert-amber{background:#fef3c7;color:#92400e;border-bottom:1px solid #D97706}.alert-blue{background:#eff6ff;color:#1e40af;border-bottom:1px solid #3B82F6}.alert-red{background:#fef2f2;color:#991b1b;border-bottom:1px solid #EF4444}.tabs{display:flex;gap:2px;padding:12px 24px 0;background:#fff;border-bottom:1px solid rgba(0,0,0,.08);overflow-x:auto;flex-wrap:nowrap}.tab{padding:8px 14px;border-radius:6px 6px 0 0;font-size:12px;font-weight:500;color:#526071;background:transparent;border:none;cursor:pointer;white-space:nowrap;transition:color .15s,background .15s}.tab:hover{color:#526071;background:#0000000a}.tab-active{color:#172033;background:#fff;border-top:2px solid #3E83AC}.tab-cr{margin-left:auto;align-self:center}.tab-body{flex:1;padding:24px;overflow-y:auto;background:#f5f7fa}.card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:20px;margin-bottom:16px}.card-head{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.07)}.card-title{font-weight:600;font-size:14px;color:#172033}.card-sub{font-size:11px;color:#526071;margin-top:3px}.mt-8{margin-top:8px}.stats-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px}.stat{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:14px 18px;min-width:120px;flex:1}.stat-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#7a8797;margin-bottom:6px}.stat-value{font-size:18px;font-weight:600;color:#172033}.progress-bar-wrap{background:#fff;border-radius:4px;height:6px;position:relative;margin-bottom:16px}.progress-bar{height:100%;background:#3e83ac;border-radius:4px;transition:width .3s}.progress-label{font-size:11px;color:#526071;margin-top:6px}.badge{display:inline-block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:3px;font-weight:500}.badge-green{background:#48c7921f;color:#48c792;border:1px solid rgba(72,199,146,.2)}.badge-amber{background:#f59e0b1a;color:#fbbf24;border:1px solid rgba(251,191,36,.2)}.badge-red{background:#ef44441a;color:#f87171;border:1px solid rgba(248,113,113,.2)}.badge-gray{background:#00000012;color:#526071;border:1px solid rgba(0,0,0,.1)}.badge-blue{background:#534ab71a;color:#534ab7;border:1px solid rgba(83,74,183,.25)}.acc-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}.dot-green{background:#48c792}.dot-amber{background:#fbbf24}.dot-gray{background:#aab4c2}.loan-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.06)}.loan-row:last-child{border-bottom:none}.loan-label{flex:1}.loan-meta{font-size:11px;color:#526071;margin-top:2px}.bid-card{padding:16px;border:1px solid rgba(0,0,0,.08);border-radius:8px;margin-bottom:10px}.bid-card-low{border-color:#48c79240;background:#10b9810a}.bid-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.bid-name{font-weight:600;font-size:14px;flex:1}.bid-nums{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}.bid-note{font-size:11px;color:#526071;line-height:1.5}.bid-row{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.06)}.bid-row:last-child{border-bottom:none}.bid-builder{font-weight:500;margin-bottom:4px;display:flex;gap:8px;align-items:center}.bid-amt,.bid-scope{font-size:12px;color:#526071}.bid-low .bid-builder{color:#48c792}.risk-card{padding:14px 0;border-bottom:1px solid rgba(0,0,0,.06)}.risk-card:last-child{border-bottom:none}.risk-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.risk-label{font-weight:500}.risk-note{font-size:12px;color:#526071;line-height:1.5}.risk-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.04)}.risk-row:last-child{border-bottom:none}.prop-card{padding:16px;border:1px solid rgba(0,0,0,.08);border-radius:8px;margin-bottom:10px}.prop-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;flex-wrap:wrap}.prop-addr{font-weight:600}.prop-note{font-size:11px;color:#526071;margin-top:8px}.contact-card{padding:12px 0;border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.contact-card:last-child{border-bottom:none}.contact-row{padding:8px 0;border-bottom:1px solid rgba(0,0,0,.04)}.contact-row:last-child{border-bottom:none}.contact-name{font-weight:500}.contact-role{font-size:12px;color:#526071;margin-top:2px}.cr-card{padding:14px 0;border-bottom:1px solid rgba(0,0,0,.06)}.cr-card:last-child{border-bottom:none}.cr-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.cr-collection{font-size:12px;color:#526071}.cr-by{font-size:11px;color:#7a8797;margin-left:auto}.cr-reason{font-size:13px;line-height:1.5}.lq-card{padding:14px 0;border-bottom:1px solid rgba(0,0,0,.06)}.lq-card:last-child{border-bottom:none}.lq-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:11px;color:#526071;flex-wrap:wrap}.lq-from{color:#526071;font-weight:500}.lq-org{color:#7a8797}.lq-time{margin-left:auto}.lq-question{font-size:13px;font-weight:500;line-height:1.5;margin-bottom:8px}.lq-reply{font-size:12px;color:#48c792;line-height:1.5}.lq-reply-by{color:#7a8797}.lq-form{margin-top:12px;display:flex;flex-direction:column;gap:8px}.lq-input{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:6px;color:#172033;padding:10px 12px;font-size:13px;resize:vertical;font-family:inherit;width:100%}.lq-input:focus{outline:none;border-color:#3e83ac}.lender-wrap{max-width:900px;margin:0 auto;padding:24px}.lender-header{margin-bottom:8px}.lender-project{font-size:20px;font-weight:700;color:#172033}.lender-sub{font-size:13px;color:#526071;margin-top:4px;display:flex;align-items:center;gap:10px}.view-badge{font-size:10px;background:#3e83ac1f;color:#245f87;padding:2px 8px;border-radius:4px;border:1px solid rgba(62,131,172,.3)}.lender-disclaimer{font-size:11px;color:#526071;margin-bottom:24px;padding:10px 14px;background:#edf1f5;border:1px solid rgba(0,0,0,.06);border-radius:6px}.lender-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.lender-footer{margin-top:32px;font-size:11px;color:#526071;text-align:center;padding-top:16px;border-top:1px solid rgba(0,0,0,.06)}@media(max-width:700px){.lender-grid{grid-template-columns:1fr}}.milestone-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.04)}.milestone-row:last-child{border-bottom:none}.ms-done{color:#48c792;font-size:14px;width:16px}.ms-open{color:#7a8797;font-size:14px;width:16px}.ms-label{flex:1;font-size:13px}.ms-date{font-size:11px;color:#526071}.update-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:12px}.update-check{color:#48c792}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}@media(max-width:700px){.overview-grid{grid-template-columns:1fr}}.activity-row{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.04);font-size:12px;flex-wrap:wrap}.activity-who{color:#3e83ac;font-weight:500}.activity-what{flex:1;color:#526071}.activity-when{color:#7a8797;white-space:nowrap}.acc-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.06)}.acc-row:last-child{border-bottom:none}.acc-info{flex:1}.acc-name{font-weight:500}.acc-meta{font-size:11px;color:#526071;margin-top:2px}.acc-actions{display:flex;gap:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:28px;width:100%;max-width:480px}.modal-title{font-weight:700;font-size:16px;margin-bottom:20px;color:#172033}.field{margin-bottom:14px}.field label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#526071;margin-bottom:6px}.input{width:100%;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:6px;color:#172033;padding:9px 12px;font-size:13px;font-family:inherit}.input:focus{outline:none;border-color:#3e83ac}select.input{cursor:pointer}.btn-primary{background:#3e83ac;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.btn-primary:hover{background:#245f87}.btn-sm{background:#00000012;color:#526071;border:1px solid rgba(0,0,0,.1);border-radius:6px;padding:6px 12px;font-size:12px;cursor:pointer;transition:background .15s}.btn-sm:hover{background:#0000001a;color:#172033}.btn-danger{color:#f87171;border-color:#f8717133}.btn-danger:hover{background:#ef44441a}.btn-insight{background:#3e83ac26;color:#6fb4dc;border:1px solid rgba(62,131,172,.3)}.btn-insight:hover{background:#3e83ac40}.empty{font-size:12px;color:#7a8797;padding:12px 0;text-align:center}.pfs-gtabs{display:flex;gap:2px;margin-bottom:20px;border-bottom:1px solid rgba(0,0,0,.08);overflow-x:auto}.pfs-gtab{display:flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:#526071;cursor:pointer;font-size:13px;font-weight:500;white-space:nowrap;transition:color .15s}.pfs-gtab:hover{color:#526071}.pfs-gtab-active{color:#172033}.pfs-gdot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pfs-panel{display:flex;flex-direction:column;gap:16px}.pfs-plaid-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pfs-plaid-btn{display:flex;align-items:center;gap:8px;font-size:13px}.pfs-plaid-msg{font-size:12px;padding:4px 10px;border-radius:4px}.pfs-msg-ok{color:#48c792;background:#48c7921a;border:1px solid rgba(72,199,146,.2)}.pfs-msg-err{color:#f87171;background:#ef44441a;border:1px solid rgba(248,113,113,.2)}.pfs-acct-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid rgba(0,0,0,.06);gap:12px;flex-wrap:wrap}.pfs-acct-row:last-child{border-bottom:none}.pfs-acct-left{flex:1}.pfs-acct-inst{font-weight:500;font-size:13px}.pfs-acct-meta{font-size:11px;color:#526071;margin-top:3px}.pfs-acct-right{display:flex;align-items:center;gap:12px}.pfs-acct-bal{font-weight:600;font-size:15px;color:#172033}.pfs-acct-conf{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.pfs-acct-actions{display:flex;gap:6px}.pfs-form{background:#fff;border:1px solid rgba(62,131,172,.2);border-radius:8px;padding:18px;margin-bottom:4px}.pfs-form-title{font-weight:600;margin-bottom:14px;color:#6fb4dc}.pfs-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.pfs-output{background:#f5f7fa;border:1px solid rgba(0,0,0,.08);border-radius:6px;padding:16px;font-family:IBM Plex Mono,monospace;font-size:11px;line-height:1.7;color:#526071;white-space:pre-wrap;overflow-x:auto}.pfs-notice{font-size:10px;color:#526071;text-align:center;padding:12px;border-top:1px solid rgba(0,0,0,.06);margin-top:8px}
