:root{--ink:#172321;--muted:#67726f;--paper:#f6f5f1;--card:#fff;--line:#dcded8;--green:#07513f;--green2:#0b6b57;--sage:#e9efe9;--amber:#e5a022;--red:#cf382b;--teal:#2a8e8a;--shadow:0 12px 38px rgba(24,48,40,.08)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--paper)}button,input,select{font:inherit}.button{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:4px;text-decoration:none;font-weight:650;font-size:13px;cursor:pointer;border:1px solid transparent}.primary{background:var(--green);color:#fff}.secondary{background:#fff;color:var(--green);border-color:var(--green)}.ghost{background:transparent;color:var(--muted)}.shield{display:inline-grid;place-items:center;width:28px;height:32px;border:2px solid currentColor;border-radius:12px 12px 16px 16px}.side-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font:400 21px "DM Serif Display"}.app-shell{display:grid;grid-template-columns:224px 1fr}.sidebar{min-height:100vh;background:linear-gradient(180deg,#073f33,#04362e);color:white;padding:20px 0;position:sticky;top:0;height:100vh}.sidebar .side-brand{padding:0 26px 22px;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar nav{display:grid;padding-top:20px}.sidebar nav a{color:rgba(255,255,255,.8);text-decoration:none;padding:17px 26px;display:flex;gap:15px;align-items:center;font-weight:600;font-size:14px}.sidebar nav a.active,.sidebar nav a:hover{background:rgba(255,255,255,.1);color:white}.side-disclaimer{position:absolute;bottom:24px;left:26px;font-size:10px;line-height:1.5;color:rgba(255,255,255,.5)}.dashboard-main{padding:38px 40px 60px;min-width:0}.dash-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dash-top h1{font:400 38px "DM Serif Display";margin:0}.dash-top p{margin:5px 0;color:var(--muted)}.dash-user{display:flex;gap:12px;align-items:center;font-size:13px}.dash-user form{margin:0}.dash-user button,.assessment-top button{background:none;border:0;color:var(--green);cursor:pointer}.summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px}.summary-card{border:1px solid var(--line);background:#fff;padding:18px;display:flex;align-items:center;text-align:left;gap:14px;border-radius:8px;cursor:pointer}.summary-card i{font-style:normal;width:44px;height:44px;border-radius:50%;background:var(--sage);display:grid;place-items:center;color:var(--green);font-size:20px}.summary-card span{color:var(--muted)}.summary-card strong{display:block;font-size:30px;color:var(--ink);line-height:1.15}.summary-card.update i{background:#fff0d8;color:#c47700}.summary-card.live i{background:#dcefed;color:var(--teal)}.summary-card.matured i{background:#ededed;color:#777}.product-list-card,.chart-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.list-toolbar{display:flex;gap:12px;padding:16px;border-bottom:1px solid var(--line)}.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:4px;padding:0 12px;min-width:280px}.search-box input{border:0;outline:0;padding:10px 0;width:100%}.list-toolbar select{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:4px}.list-toolbar .primary{margin-left:auto}.table-wrap{overflow:auto}.product-table{width:100%;border-collapse:collapse;min-width:1020px}.product-table th{text-align:left;text-transform:uppercase;font-size:10px;letter-spacing:.08em;padding:12px 16px;border-bottom:1px solid var(--line)}.product-table td{padding:15px 16px;border-bottom:1px solid #eceeea;font-size:12px;vertical-align:middle}.product-table td:first-child{min-width:190px}.product-name{display:block;color:var(--ink);font-weight:700;text-decoration:none}.product-table td>small{color:var(--muted);display:block;margin-top:4px}.score-cell{min-width:116px}.score-cell strong{font-size:18px}.score-cell strong small{font-size:10px;color:var(--muted)}.score-track{display:block;width:110px;height:4px;background:#e0e2df;margin:4px 0}.score-track i{display:block;height:100%}.score-cell>small{color:var(--muted)}.status-badge{display:inline-block;padding:6px 9px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;white-space:nowrap}.status-badge.update{background:#fff0d8;color:#b56a00}.status-badge.live{background:#dcefed;color:#146763}.status-badge.matured{background:#ededed;color:#606866}.row-action{display:inline-block;border:1px solid var(--green);padding:8px 10px;color:var(--green);text-decoration:none;border-radius:4px;white-space:nowrap;font-weight:650}.empty-state{text-align:center;padding:60px}.dashboard-bottom{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.chart-card{padding:20px;min-height:240px}.card-title h2{font:400 22px "DM Serif Display";margin:0}.card-title p{font-size:11px;color:var(--muted);margin:4px 0}.risk-mix{display:flex;justify-content:center;align-items:center;gap:35px;padding:20px}.donut{width:135px;height:135px;border-radius:50%;display:grid;place-items:center}.donut:before{content:"";background:white;border-radius:50%;width:82px;height:82px;position:absolute}.donut span{z-index:1;text-align:center;font-size:10px}.donut span b{display:block;font-size:24px}.risk-mix ul{list-style:none;padding:0;margin:0;min-width:180px}.risk-mix li{display:grid;grid-template-columns:10px 1fr 24px 36px;gap:8px;padding:7px 0;font-size:11px}.risk-mix li i{width:8px;height:8px;border-radius:50%;margin-top:3px}.maturity-timeline{height:150px;position:relative;margin:22px 15px}.timeline-line{position:absolute;top:62px;left:5%;right:5%;height:2px;background:#ccd2cf}.timeline-item{position:absolute;top:35px;transform:translateX(-50%);text-align:center;width:145px}.timeline-item i{display:block;width:16px;height:16px;border:4px solid var(--teal);background:white;border-radius:50%;margin:20px auto 8px}.timeline-item b,.timeline-item span{display:block;font-size:11px}.timeline-item b{color:var(--teal)}.timeline-item span{margin-top:6px}.chart-empty{display:grid;place-items:center;min-height:140px;color:var(--muted);font-size:12px}.assessment-top{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1180px)/2))}.assessment-top>div{display:flex;align-items:center;gap:16px;font-size:12px}.assessment-top a{color:var(--green);text-decoration:none}.assessment-top form{margin:0}.assessment-main{max-width:1180px;margin:auto;padding:46px 28px 80px}.assessment-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.assessment-heading h1{font:400 48px "DM Serif Display";margin:5px 0}.assessment-heading p{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;color:var(--green)}.analytics-only{border:1px solid var(--line);padding:8px 11px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.flow-steps{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);margin-bottom:24px}.flow-steps button{border:0;border-bottom:3px solid transparent;background:transparent;padding:14px;text-align:left;color:#8b9490}.flow-steps button.active{border-color:var(--green);color:var(--ink)}.flow-steps b{font-size:10px;color:var(--green);margin-right:8px}.flow-panel{display:none;background:#fff;border:1px solid var(--line);padding:38px;box-shadow:var(--shadow)}.flow-panel.active{display:block}.panel-title{display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:end;padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:28px}.panel-title h2,.section-head h2{font:400 35px "DM Serif Display";margin:5px 0}.panel-title>p,.section-head>p{color:var(--muted);font-size:13px;line-height:1.55}.upload-zone{border:1px dashed #acb2ad;text-align:center;padding:55px;position:relative}.upload-zone.drag{background:var(--sage);border-color:var(--green)}.upload-zone>span{font-size:30px;color:var(--green)}.upload-zone h3{font:400 26px "DM Serif Display";margin:10px 0}.upload-zone p{color:var(--muted);font-size:12px}.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-zone button{position:relative;z-index:1}.extraction-summary{border:1px solid var(--line);padding:14px;margin-top:14px;display:grid;grid-template-columns:1fr auto}.extraction-summary span{color:var(--green);font-size:12px}.extraction-summary p{grid-column:1/-1;color:var(--muted);font-size:11px;margin-bottom:0}.flow-actions{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--line);margin-top:30px;padding-top:24px}.flow-actions .ghost:first-child{margin-right:auto}.terms-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 24px}.terms-grid .wide{grid-column:1/-1}.terms-grid label{font-size:11px;font-weight:700;color:#44504d}.terms-grid input,.terms-grid select,.underlying-row input{display:block;width:100%;margin-top:7px;border:1px solid #cfd3ce;padding:11px;background:#fff;color:var(--ink);border-radius:3px}.terms-grid input:focus,.terms-grid select:focus,.underlying-row input:focus{outline:2px solid rgba(7,81,63,.15);border-color:var(--green)}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;margin:0}.underlying-section{margin-top:38px;border-top:1px solid var(--line);padding-top:28px}.section-head{display:flex;justify-content:space-between;align-items:end}.section-head>p{max-width:380px}.underlying-table{border:1px solid var(--line);margin-top:18px;overflow:visible}.underlying-head,.underlying-row{display:grid;grid-template-columns:1.45fr repeat(6,1fr) 42px;gap:1px;background:var(--line)}.underlying-head span{background:#eef1eb;padding:10px 8px;text-transform:uppercase;font-size:9px;font-weight:700;letter-spacing:.07em}.underlying-row>*{background:white}.underlying-row input{border:0;border-radius:0;margin:0;min-width:0}.underlying-row .add-row{border:0;background:white;color:var(--green);font-size:18px;cursor:pointer}.underlying-row .add-row:disabled{color:#bbb}.ticker-field{position:relative}.ticker-field small{display:block;padding:0 10px 7px;color:var(--muted);font-size:9px;min-height:16px}.ticker-menu{position:absolute;z-index:8;top:44px;left:4px;width:310px;max-height:230px;overflow:auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.ticker-menu button{display:flex;justify-content:space-between;width:100%;border:0;border-bottom:1px solid #eee;background:#fff;padding:10px;text-align:left}.ticker-menu button:hover{background:var(--sage)}.ticker-menu span,.ticker-menu p{font-size:10px;color:var(--muted)}.report-stage{background:transparent;border:0;box-shadow:none;padding:0}.screen-report{background:#fff;border:1px solid var(--line);padding:36px;box-shadow:var(--shadow)}.screen-report>header{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px}.screen-report h2{font:400 36px "DM Serif Display";margin:4px 0}.screen-report header p{color:var(--muted);margin:4px 0}.report-summary{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.report-summary>div{padding:24px;text-align:center}.report-summary>div+div{border-left:1px solid var(--line)}.gauge{width:200px;height:105px;overflow:hidden;margin:12px auto;position:relative}.gauge:before{content:"";position:absolute;inset:0;border-radius:200px 200px 0 0;background:conic-gradient(from 270deg at 50% 100%,#559650 0 20%,#e8aa24 20% 35%,#d23b2d 35% 50%,transparent 50%);}.gauge:after{content:"";position:absolute;left:26px;right:26px;bottom:-2px;height:76px;border-radius:150px 150px 0 0;background:white}.gauge span{position:absolute;z-index:2;bottom:0;left:0;right:0;font-size:14px}.gauge span b{font:400 54px "DM Serif Display";color:var(--amber)}.gauge span small{display:block;text-transform:uppercase;color:var(--amber);font-weight:700}.confidence-number{font:400 52px "DM Serif Display";color:var(--green)}.report-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.report-two section{border:1px solid var(--line);padding:20px}.report-two h3,.screen-report h3{font:400 21px "DM Serif Display";margin:0 0 15px}.risk-row{display:grid;grid-template-columns:1.25fr 1fr 52px;gap:8px;align-items:center;font-size:10px;margin:8px 0}.risk-row i{height:7px;background:#dfe2df;border-radius:4px}.risk-row i b{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--amber));border-radius:4px}.risk-row strong{text-align:right}.level-row{margin:15px 0}.level-row>div{height:2px;background:#aeb5b1;position:relative;margin:14px 5px 7px}.level-row>div span{position:absolute;top:-4px;width:10px;height:10px;border-radius:50%}.barrier-dot{background:var(--red)}.strike-dot{background:var(--amber)}.current-dot{background:var(--teal)}.level-row small{color:var(--muted)}.screen-report li{font-size:11px;margin:8px 0}.screen-report footer{margin-top:18px;background:var(--sage);padding:12px;font-size:10px}.report-loading,.error-card{background:#fff;padding:90px;text-align:center;border:1px solid var(--line)}#toast{position:fixed;right:22px;bottom:22px;background:var(--ink);color:white;padding:12px 16px;border-radius:4px;font-size:12px;opacity:0;transform:translateY(8px);transition:.2s;z-index:30}#toast.show{opacity:1;transform:none}.print-workspace{background:#eef0ed}.print-toolbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px}.print-toolbar nav,.print-toolbar>div{display:flex;align-items:center;gap:10px;font-size:11px}.print-toolbar nav a{color:var(--green);text-decoration:none}.a4-report{width:210mm;min-height:297mm;margin:24px auto;background:white;padding:12mm 13mm 9mm;box-shadow:0 4px 25px rgba(0,0,0,.12)}.a4-title{display:flex;justify-content:space-between;align-items:center}.report-brand{font:400 18px "DM Serif Display";color:var(--green);display:flex;align-items:center;gap:8px}.report-brand .shield{width:22px;height:26px}.a4-title h1{font:400 29px "DM Serif Display";margin:7px 0 2px}.a4-title h2{font:400 19px "DM Serif Display";margin:0;color:var(--green)}.a4-title p{font-size:10px;color:var(--muted);margin:4px 0}.a4-meta{display:flex;gap:16px;border-bottom:1px solid var(--line);padding:8px 0;font-size:8px;color:var(--muted)}.term-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:8px 0}.term-strip small,.term-strip b{display:block}.term-strip small{font-size:8px;color:var(--muted)}.term-strip b{font-size:10px}.indicative-callout{border:1px solid #efc579;background:#fffaf1;color:#a85e00;padding:7px 9px;font-size:9px;border-radius:3px}.a4-top-grid{display:grid;grid-template-columns:42% 58%;margin-top:8px}.a4-top-grid>article{border:1px solid var(--line);padding:10px}.a4-top-grid h3,.a4-middle-grid h3,.factor-grid h3,.product-timeline h3{font:400 14px "DM Serif Display";margin:0 0 7px}.score-gauge{text-align:center}.score-gauge .gauge{transform:scale(.75);transform-origin:top center;margin-bottom:-20px}.score-gauge>p{font-size:8px;color:var(--muted)}.confidence{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:7px;margin-bottom:7px;font-size:9px}.confidence b{font-size:18px;color:var(--green)}.a4-middle-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:7px}.a4-middle-grid>article{border:1px solid var(--line);padding:10px;min-height:180px}.print-level{margin:11px 0}.print-level>b{font-size:10px}.print-level>div{height:2px;background:#aeb5b1;position:relative;margin:9px 4px 5px}.print-level i{position:absolute;top:-4px;width:9px;height:9px;border-radius:50%}.print-level .barrier{background:var(--red)}.print-level .strike{background:var(--amber)}.print-level .current{background:var(--teal)}.print-level small{font-size:7px;color:var(--muted)}.scenario-bars{height:135px;border-bottom:1px dashed #aaa;display:flex;align-items:end;justify-content:space-around}.scenario-bars>div{text-align:center;width:22%}.scenario-bars b{display:block;width:28px;background:linear-gradient(var(--green2),var(--green));margin:auto}.scenario-bars b.loss{background:linear-gradient(#e34b38,#bd271c)}.scenario-bars span,.scenario-bars small{display:block;font-size:7px;margin-top:3px}.factor-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:7px}.factor-grid article{border:1px solid var(--line);padding:9px}.factor-grid ul{margin:0;padding-left:15px}.factor-grid li{font-size:8px;margin:4px 0}.product-timeline{border:1px solid var(--line);padding:8px;margin-top:7px}.product-timeline>div{display:grid;grid-template-columns:repeat(4,1fr);position:relative}.product-timeline>div:before{content:"";position:absolute;left:10%;right:10%;top:11px;height:1px;background:#b9c1bc}.product-timeline span{text-align:center;z-index:1}.product-timeline i{display:grid;place-items:center;width:23px;height:23px;border:1px solid var(--green);background:#fff;border-radius:50%;margin:auto;font-style:normal;font-size:9px}.product-timeline .done i{background:var(--green);color:white}.product-timeline b,.product-timeline small{display:block;font-size:7px;margin-top:3px}.product-timeline small{color:var(--muted)}.report-footer{display:grid;grid-template-columns:2fr 1.1fr .7fr;gap:8px;border-top:1px solid var(--line);margin-top:8px;padding-top:7px;font-size:6.5px;line-height:1.35;color:#4d5754}@page{size:A4 portrait;margin:0}@media print{.no-print{display:none!important}.print-workspace{background:white}.a4-report{margin:0;box-shadow:none;width:210mm;height:297mm;min-height:297mm;overflow:hidden}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.dashboard-main{padding:24px 16px}.summary-row,.dashboard-bottom{grid-template-columns:1fr 1fr}.list-toolbar{flex-wrap:wrap}.search-box{min-width:100%}.list-toolbar .primary{margin-left:0}.panel-title{grid-template-columns:1fr}.underlying-head{display:none}.underlying-row{grid-template-columns:1fr 1fr}.underlying-row .add-row{min-height:40px}.report-two{grid-template-columns:1fr}.a4-report{width:100%;min-height:0;margin:0;padding:20px}.print-toolbar nav{display:none}}
