:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#173342;background:#f5f7f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh;display:flex}.sidebar{width:250px;background:#102c3c;color:#d6e8e9;display:flex;flex-direction:column;padding:31px 17px 22px;flex-shrink:0;position:sticky;top:0;height:100vh}.brand{display:flex;gap:13px;align-items:center;padding:0 14px 35px}.brand-mark{width:39px;height:39px;border-radius:12px;background:#d7eeb9;color:#103345;display:grid;place-items:center;font-weight:800;font-size:22px;letter-spacing:-3px;flex-shrink:0}.brand-mark span{font-size:11px;align-self:end;transform:translate(-2px,-9px)}.brand strong{display:block;color:#fff;font-size:15px;letter-spacing:-.25px}.brand small,.side-bottom small{display:block;color:#91aab1;font-size:11px;margin-top:3px}.nav{display:grid;gap:5px}.nav-item{border:0;background:none;color:#c4d6d8;text-align:left;padding:13px 15px;border-radius:11px;font-weight:560;font-size:14px;display:flex;align-items:center;gap:15px}.nav-item span{font-size:18px;width:20px;text-align:center;font-weight:400}.nav-item:hover,.nav-item.active{background:#234555;color:#fff}.nav-item.active:before{content:"";position:absolute;left:0;width:4px;height:27px;border-radius:0 4px 4px 0;background:#c7e6a2}.side-bottom{margin-top:auto;border-top:1px solid #31515c;padding:21px 13px 0;display:flex;gap:10px;align-items:flex-start}.side-bottom strong{font-size:12px;color:#ebf3f0}.status-dot{width:8px;height:8px;background:#cce7a3;border-radius:50%;margin-top:4px;box-shadow:0 0 0 4px #264d50}.main-column{min-width:0;flex:1}.topbar{height:70px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 43px;border-bottom:1px solid #e6edeb}.mobile-brand{display:none;font-weight:800;color:#153947}.mobile-brand span{font-weight:450}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:12px;color:#72858b}.private-pill{color:#2e6959;border:1px solid #d9e9db;background:#f2f8ee;border-radius:99px;padding:7px 12px;font-weight:700;font-size:11px}main{max-width:1460px;margin:auto;padding:40px 43px 90px}.view{display:none}.view.active{display:block}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px;gap:24px}.page-heading.compact{margin-bottom:27px}.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:1.8px;color:#56836d;text-transform:uppercase}.page-heading h1{font-size:clamp(34px,4.1vw,59px);line-height:1.08;letter-spacing:-2.8px;color:#102f3f;margin:13px 0 12px;font-weight:760}.page-heading.compact h1{font-size:44px}.page-heading h1 em{font-style:normal;color:#438766}.page-heading p,.panel p{color:#71838a;line-height:1.57;font-size:14px;margin:0}.heading-actions{padding-bottom:5px}.primary-button,.secondary-button{border-radius:10px;padding:11px 16px;font-weight:700;font-size:13px;white-space:nowrap}.primary-button{background:#174e4b;border:1px solid #174e4b;color:#fff;box-shadow:0 4px 10px #153c3821}.primary-button:hover{background:#0f3d3a}.secondary-button{background:#fff;border:1px solid #d7e3e2;color:#1b4d4c}.secondary-button:hover{border-color:#9cc3ae;background:#f4faf4}.secondary-button span{margin-left:9px}.text-button{border:0;background:none;padding:0;color:#27765a;font-weight:750;font-size:13px}.text-button:hover{text-decoration:underline}.alert-banner{display:none;padding:15px 18px;border:1px solid #ead9ae;background:#fff8e8;border-radius:12px;color:#745b2c;font-size:13px;margin-bottom:22px;line-height:1.5}.alert-banner.show{display:block}.alert-banner strong{color:#634717}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:23px}.metric-card{background:#fff;border:1px solid #e3ebe9;border-radius:16px;padding:22px 22px 20px;min-height:138px;box-shadow:0 4px 24px #1c3d3908}.metric-card>span{display:block;color:#70878b;font-size:12px;font-weight:650;margin-bottom:18px}.metric-card strong{font-size:26px;line-height:1.1;color:#153b46;letter-spacing:-.8px;display:block;white-space:nowrap}.metric-card small{font-size:11px;color:#8ca09d;display:block;margin-top:9px}.content-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:16px;margin-bottom:35px}.panel{background:#fff;border:1px solid #e3ebe9;border-radius:16px;padding:26px;box-shadow:0 4px 24px #1c3d3908}.panel h2,.section-header h2{font-size:21px;letter-spacing:-.7px;color:#173743;margin:8px 0 10px}.spotlight{background:#173d45;color:#fff;min-height:310px;display:flex;flex-direction:column;overflow:hidden;position:relative}.spotlight:after{content:"";position:absolute;width:270px;height:270px;border:1px solid #ffffff1a;border-radius:50%;top:-110px;right:-100px;box-shadow:0 0 0 48px #ffffff08,0 0 0 94px #ffffff05;pointer-events:none}.spotlight .section-kicker{color:#c4e9a3}.spotlight h2{font-size:33px;color:#fff;margin-top:10px}.spotlight p{color:#bdd5d4;max-width:580px}.spotlight .text-button{color:#c6e9aa;margin-top:auto;align-self:flex-start;padding-top:20px;z-index:1}.panel-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;z-index:1}.badge{border-radius:99px;padding:8px 11px;background:#30575b;color:#d9f1e5;font-size:11px;font-weight:800;white-space:nowrap}.badge.warning{background:#6d5639;color:#ffe2a8}.badge.good{background:#2a6552;color:#d2f2dd}.badge.muted{background:#edf2ee;color:#59716c}.lead-breakdown{display:flex;gap:24px;flex-wrap:wrap;margin-top:25px;z-index:1}.lead-breakdown div{border-left:1px solid #4f7373;padding-left:15px}.lead-breakdown span{display:block;color:#a8c7c6;font-size:11px}.lead-breakdown strong{display:block;color:#fff;margin-top:5px;font-size:17px}.method-panel{min-height:310px}.method-panel h2{margin-bottom:21px}.method-step{display:flex;gap:16px;margin-top:18px}.method-step>span{font-size:11px;color:#3a8063;background:#edf5ea;border:1px solid #dcebd7;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;font-weight:800}.method-step strong{font-size:13px;color:#213e45}.method-step p{font-size:12px;margin-top:4px}.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 17px;gap:16px}.section-header h2{margin-bottom:0}.section-header.in-panel{margin-bottom:22px}.quick-list,.positions-list,.quote-list{display:grid;gap:10px}.quick-row{background:#fff;border:1px solid #e3ebe9;border-radius:13px;display:grid;grid-template-columns:52px 100px 1fr auto;gap:16px;align-items:center;padding:16px 18px}.rank-pill{width:38px;height:38px;background:#eef5e9;border-radius:10px;color:#3d7958;display:grid;place-items:center;font-weight:800;font-size:13px}.quick-row strong{color:#163b43}.quick-row p{color:#70858b;font-size:12px;margin:0}.quick-row .row-status{font-size:11px;font-weight:800;color:#8b6e36}.quick-row .row-status.ready{color:#27745b}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:15px}.toolbar input{max-width:280px}.toolbar-note,.table-note{font-size:12px;color:#819599}.table-wrap{overflow:auto;background:#fff;border:1px solid #e3ebe9;border-radius:15px;box-shadow:0 4px 24px #1c3d3908}table{border-collapse:collapse;width:100%;min-width:960px;text-align:left}th{background:#f6f9f7;color:#789093;font-size:11px;text-transform:uppercase;letter-spacing:.6px;font-weight:800;padding:16px 14px;white-space:nowrap}td{padding:17px 14px;border-top:1px solid #edf1ef;color:#2a4950;font-size:12px;vertical-align:top}td strong{font-size:14px;color:#133e45}td:last-child{max-width:270px;color:#7d8d90}.small-badge{font-size:11px;font-weight:800;border-radius:6px;padding:5px 8px;background:#edf5ea;color:#3e7a59;white-space:nowrap}.small-badge.warn{background:#fff2dd;color:#9b6b2c}.small-badge.neutral{background:#eff3f1;color:#6c8181}.table-note{margin-top:13px;line-height:1.55}.split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:29px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.form-grid .full{grid-column:1/-1}.form-grid button{justify-self:start;align-self:end}.panel label,.quote-form label,.settings-grid label{font-size:12px;font-weight:700;color:#496369;display:flex;flex-direction:column;gap:7px}.panel input,.panel select,.toolbar input{border:1px solid #d7e2df;background:#fcfdfc;color:#153743;border-radius:9px;padding:10px 11px;min-width:0;outline:none}.panel input:focus,.panel select:focus,.toolbar input:focus{border-color:#4e9a72;box-shadow:0 0 0 3px #5fab7923}.position-card{display:grid;grid-template-columns:1.2fr repeat(3,minmax(105px,.7fr)) 1.15fr;gap:15px;align-items:center;background:#fff;border:1px solid #e3ebe9;border-radius:13px;padding:19px 22px}.position-card>div>small{display:block;color:#8b9da0;font-size:11px;margin-bottom:6px}.position-card strong{font-size:15px;color:#183c43}.position-card .position-main strong{font-size:20px}.position-card .position-main span{display:block;font-size:11px;color:#8b9da0;margin-top:4px}.position-action{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.position-action .text-button{font-size:12px}.group-panel{margin-top:24px}.group-panel>p{margin-bottom:19px}.inline-form{display:flex;gap:10px;max-width:480px;margin-bottom:20px}.inline-form input{flex:1}.member-row{border-top:1px solid #edf1ef;padding:13px 0;display:flex;justify-content:space-between;font-size:13px}.member-row span:last-child{color:#72888a}.data-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px}.source-card{border:1px solid #dfe9e6;background:#fff;border-radius:15px;text-align:left;padding:20px;min-height:145px;display:flex;flex-direction:column;gap:8px;box-shadow:0 4px 24px #1c3d3908}.source-card.selected{border-color:#4f9b76;box-shadow:0 0 0 2px #4f9b7633}.source-card strong{font-size:14px;color:#173d43}.source-card small{font-size:12px;color:#82969a;line-height:1.5}.source-card .source-icon{font-size:22px;color:#46886d}.source-card.pending{background:#f9faf8}.upload-form{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end;margin-top:18px}.file-drop{border:1px dashed #adc5b8;border-radius:10px;padding:12px;color:#53766d!important;background:#f9fcf7;overflow:hidden}.file-drop input{display:block;width:100%;border:0;background:transparent;padding:5px 0 0;font-size:11px}.field-help{display:block;color:#91a3a4;font-size:11px;line-height:1.55;margin-top:11px}.quote-panel{margin-bottom:17px}.quote-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end;margin-top:21px}.quote-list{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-row{background:#fff;border:1px solid #e3ebe9;border-radius:11px;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.quote-row strong{font-size:14px;color:#21434a}.quote-row span{font-size:11px;color:#82989b}.settings-panel{margin-bottom:17px}.segmented{display:inline-flex;background:#eef3f0;border-radius:10px;padding:4px;gap:3px}.segmented button{border:0;background:transparent;padding:9px 20px;border-radius:8px;font-weight:750;font-size:12px;color:#6a8583}.segmented button.active{background:#fff;color:#245949;box-shadow:0 2px 8px #204e3e1c}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.settings-grid label{position:relative}.settings-grid label>span:not(.toggle-row span){font-weight:400;color:#9aabaa}.settings-grid input[type=number]{width:100%}.settings-grid .toggle-row{flex-direction:row;align-items:center;grid-column:span 3;font-size:13px;font-weight:600}.toggle-row input{accent-color:#2c8460;width:18px;height:18px}.settings-footer{grid-column:1/-1;display:flex;align-items:center;gap:17px;border-top:1px solid #ebf0ed;padding-top:20px}.settings-footer span{font-size:11px;color:#95a5a5}.note-panel{background:#f0f6ed}.note-panel p{max-width:860px}footer{max-width:1460px;margin:auto;padding:19px 43px 32px;color:#99aaa9;font-size:11px;border-top:1px solid #e7eeeb}#toast{position:fixed;right:25px;bottom:25px;background:#163a42;color:#fff;box-shadow:0 12px 35px #132f3650;border-radius:10px;padding:13px 17px;max-width:360px;font-size:13px;line-height:1.5;opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s;z-index:5}#toast.show{opacity:1;transform:translateY(0)}#toast.error{background:#8a4339}.empty-state{padding:30px;border:1px dashed #d2dfd8;border-radius:14px;color:#78908c;font-size:13px;background:#fcfefb}
@media(max-width:1180px){.sidebar{width:210px}.topbar{padding:0 27px}main{padding:35px 27px 70px}footer{padding-left:27px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.method-panel{min-height:unset}.method-step{display:inline-flex;max-width:31%;vertical-align:top;margin-right:1%}.position-card{grid-template-columns:1.1fr repeat(2,.7fr) 1fr}.position-card>div:nth-child(4){display:none}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;top:auto;bottom:0;left:0;width:100%;height:66px;padding:6px 5px;z-index:4;box-shadow:0 -3px 18px #173a3f23}.brand,.side-bottom{display:none}.nav{display:flex;justify-content:space-around;height:100%;gap:0}.nav-item{font-size:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:5px 2px;min-width:60px}.nav-item span{font-size:18px}.nav-item.active:before{display:none}.main-column{padding-bottom:66px}.topbar{height:58px;padding:0 18px}.mobile-brand{display:block}.topbar-right{gap:9px;font-size:10px}.private-pill{padding:5px 8px}main{padding:26px 17px 50px}.page-heading{display:block;margin-bottom:22px}.page-heading h1{font-size:37px;letter-spacing:-1.7px}.page-heading.compact h1{font-size:35px}.heading-actions{margin-top:21px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric-card{padding:15px;min-height:115px}.metric-card strong{font-size:20px}.metric-card>span{margin-bottom:15px;font-size:11px}.content-grid,.split-grid,.data-source-grid,.quote-list{grid-template-columns:1fr}.panel{padding:20px}.spotlight{min-height:280px}.spotlight h2{font-size:29px}.method-step{display:flex;max-width:none;margin-right:0}.quick-row{grid-template-columns:36px 55px 1fr;gap:8px;padding:13px}.quick-row .row-status{grid-column:2/-1}.position-card{grid-template-columns:repeat(2,1fr)}.position-card>div:nth-child(4){display:block}.position-action{grid-column:1/-1}.quote-form,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-form button{grid-column:1/-1}.settings-grid .toggle-row,.settings-footer{grid-column:1/-1}.settings-footer{display:block}.settings-footer span{display:block;margin-top:9px}.upload-form{grid-template-columns:1fr}.data-source-grid{gap:9px}.source-card{min-height:100px}.section-header h2{font-size:19px}footer{padding:18px 17px 20px}.toolbar-note{display:none}}
@media(max-width:420px){.form-grid,.quote-form,.settings-grid{grid-template-columns:1fr}.quote-form button,.settings-grid .toggle-row,.settings-footer{grid-column:1}.page-heading h1{font-size:34px}.metric-card strong{font-size:18px}}
.asset-options{grid-column:1/-1;border-top:1px solid #ebf0ed;padding-top:18px}.asset-options>span{display:block;font-size:12px;font-weight:700;color:#496369;margin-bottom:11px}.asset-options>div{display:flex;flex-wrap:wrap;gap:8px}.asset-options label{display:inline-flex;flex-direction:row;align-items:center;gap:6px;padding:7px 10px;border:1px solid #dbe8df;border-radius:8px;background:#f8fbf6;color:#376751;font-size:12px}.asset-options input{accent-color:#2c8460;margin:0}
.logout-button{border:1px solid #d8e5df;background:#fff;color:#356354;border-radius:9px;padding:7px 11px;font-size:12px;font-weight:700}.logout-button:hover{background:#eef5ef}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#102c3c,#28576a);padding:20px}.login-card{width:min(100%,400px);background:#fff;border-radius:20px;padding:32px;box-shadow:0 22px 60px #071e2880}.login-card .brand{display:flex;padding:0 0 23px}.login-card .brand strong{color:#153947}.login-card .brand small{color:#6d838b}.login-card h1{font-size:28px;margin:0 0 23px;color:#173342}.login-card form{display:grid;gap:17px}.login-card label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#385664}.login-card input{width:100%;padding:12px 13px;border:1px solid #cbdcd7;border-radius:9px;background:#fff;color:#173342}.login-card input:focus{outline:2px solid #3d9066;outline-offset:1px}.login-card button{border:0;border-radius:9px;background:#1f6d54;color:#fff;padding:13px;font-weight:700}.login-error{background:#fff1ef;color:#9a2f23;border-radius:9px;padding:10px 12px;font-size:13px}
