@charset "UTF-8";
.roic-app{
  --paper:#F6F8F4;
  --panel:#FFFFFF;
  --panel-2:#EEF2EA;
  --line:#DCE3D6;
  --ink:#14261F;
  --ink-dim:#5C6B60;
  --card-ink:var(--ink);
  --emerald:#1F6E4A;
  --emerald-soft:#2F6F62;
  --gold:#B8912B;
  --gold-soft:#8A6B1F;
  --danger:#B23A2E;
  --radius:10px;
  --serif:'Fraunces', serif;
  --sans:'Inter', sans-serif;
  --mono:'IBM Plex Mono', monospace;
}
.roic-app, .roic-app *{box-sizing:border-box !important;}
.roic-app{
  background:var(--paper) !important;
  color:var(--ink) !important;
  font-family:var(--sans) !important;
  line-height:1.5 !important;
  -webkit-font-smoothing:antialiased !important;
}
.roic-wrap{max-width:1120px !important;margin:0 auto !important;padding:0 24px 90px !important;}

.roic-hero{border-bottom:1px solid var(--line) !important; padding:48px 24px 36px !important; margin-bottom:8px !important; background:linear-gradient(180deg, var(--panel-2), var(--paper)) !important;}
.roic-hero-inner{max-width:1120px !important;margin:0 auto !important;}
.roic-eyebrow{font-family:var(--mono) !important; font-size:11.5px !important; letter-spacing:.14em !important; text-transform:uppercase !important; color:var(--emerald) !important; display:flex !important; align-items:center !important; gap:10px !important; margin-bottom:16px !important;}
.roic-eyebrow::before{content:'∿' !important; font-size:16px !important;}
.roic-title{font-family:var(--serif) !important; font-weight:600 !important; font-size:clamp(28px,4.2vw,44px) !important; line-height:1.1 !important; margin:0 0 12px !important; color:var(--ink) !important;}
.roic-title em{font-style:italic !important; color:var(--emerald) !important; font-weight:500 !important;}
.roic-subtitle{color:var(--ink-dim) !important; font-size:15px !important; max-width:680px !important;}

.roic-layout{display:grid !important; grid-template-columns:1fr 1.05fr !important; gap:28px !important; align-items:start !important; margin-top:28px !important;}
@media (max-width:900px){ .roic-layout{grid-template-columns:1fr !important;} }
.roic-col-sticky{position:sticky !important; top:20px !important;}
@media (max-width:900px){ .roic-col-sticky{position:static !important; top:auto !important;} }

.roic-card{background:var(--panel) !important; border:1px solid var(--line) !important; border-radius:var(--radius) !important; padding:26px !important; margin-bottom:20px !important;}
.roic-card h3{font-family:var(--serif) !important; font-size:19px !important; font-weight:600 !important; margin:0 0 4px !important;}
.roic-card .roic-card-desc{color:var(--ink-dim) !important; font-size:13px !important; margin:0 0 18px !important;}

.roic-field{margin-bottom:16px !important;}
.roic-field label{display:block !important; font-size:13px !important; font-weight:600 !important; color:var(--ink) !important; margin-bottom:6px !important;}
.roic-field .roic-hint{font-size:11.5px !important; color:var(--ink-dim) !important; margin-top:4px !important;}
.roic-app input[type=text], .roic-app input[type=date]{
  width:100% !important; background:var(--paper) !important; border:1px solid var(--line) !important; color:var(--ink) !important;
  border-radius:7px !important; padding:10px 12px !important; font-family:var(--mono) !important; font-size:14px !important;
}
.roic-app input:focus{outline:none !important; border-color:var(--emerald) !important; box-shadow:0 0 0 3px rgba(31,110,74,0.12) !important;}

.roic-two-col{display:grid !important; grid-template-columns:1fr 1fr !important; gap:14px !important;}
@media (max-width:560px){ .roic-two-col{grid-template-columns:1fr !important;} }
#roic_cashFlowTable.roic-no-loan .roic-loan-col{display:none !important;}

.roic-btn{font-family:var(--sans) !important; font-weight:600 !important; font-size:13.5px !important; border-radius:7px !important; padding:10px 18px !important; cursor:pointer !important; border:1px solid var(--line) !important; background:var(--panel) !important; color:var(--ink) !important;}
.roic-btn.roic-primary{background:var(--emerald) !important; border-color:var(--emerald) !important; color:#fff !important;}
.roic-btn.roic-ghost{background:none !important;}
.roic-btn:hover{filter:brightness(0.97) !important;}
.roic-btn:disabled{opacity:.4 !important; cursor:not-allowed !important; filter:none !important;}

.roic-action-bar{display:flex !important; flex-wrap:wrap !important; gap:10px !important; margin:20px 0 !important;}
.roic-action-bar .roic-btn{font-size:13px !important;}

.roic-result-hero{background:var(--ink) !important; color:#fff !important; border-radius:var(--radius) !important; padding:28px !important; margin-bottom:20px !important;}
.roic-result-hero .roic-grid4{display:grid !important; grid-template-columns:1fr 1fr !important; gap:20px !important;}
@media (max-width:420px){ .roic-result-hero .roic-grid4{grid-template-columns:1fr !important;} }
.roic-result-hero .roic-label{font-family:var(--mono) !important; font-size:10.5px !important; letter-spacing:.08em !important; text-transform:uppercase !important; color:#B9C7BE !important; margin-bottom:6px !important;}
.roic-result-hero .roic-amount{font-family:var(--serif) !important; font-size:clamp(20px,3vw,28px) !important; font-weight:600 !important; color:#fff !important;}
.roic-result-hero .roic-sub{font-size:12.5px !important; color:#B9C7BE !important; margin-top:14px !important; border-top:1px solid rgba(255,255,255,.15) !important; padding-top:14px !important;}

.roic-stat-grid{display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px !important; margin-bottom:20px !important;}
.roic-stat-grid-3{display:grid !important; grid-template-columns:1fr 1fr 1fr !important; gap:12px !important; margin-bottom:20px !important;}
@media (max-width:720px){ .roic-stat-grid-3{grid-template-columns:1fr !important;} }
.roic-stat{background:var(--panel) !important; border:1px solid var(--line) !important; border-radius:9px !important; padding:16px !important;}
.roic-stat.roic-stat-feasible{background:rgba(31,110,74,0.1) !important; border:1.5px solid var(--emerald) !important;}
.roic-stat.roic-stat-feasible .roic-stat-value{color:var(--emerald-soft) !important;}
.roic-stat.roic-stat-review{background:rgba(184,145,43,0.12) !important; border:1.5px solid var(--gold) !important;}
.roic-stat.roic-stat-review .roic-stat-value{color:var(--gold-soft) !important;}
.roic-stat.roic-stat-not-feasible{background:rgba(178,58,46,0.1) !important; border:1.5px solid var(--danger) !important;}
.roic-stat.roic-stat-not-feasible .roic-stat-value{color:var(--danger) !important;}
.roic-cmp-table td.roic-cmp-feasible{background:rgba(31,110,74,0.14) !important; color:var(--emerald-soft) !important; font-weight:700 !important;}
.roic-cmp-table td.roic-cmp-review{background:rgba(184,145,43,0.16) !important; color:var(--gold-soft) !important; font-weight:700 !important;}
.roic-cmp-table td.roic-cmp-not-feasible{background:rgba(178,58,46,0.14) !important; color:var(--danger) !important; font-weight:700 !important;}
.roic-stat .roic-stat-label{font-size:11.5px !important; color:var(--ink-dim) !important; text-transform:uppercase !important; letter-spacing:.04em !important; margin-bottom:6px !important;}
.roic-stat .roic-stat-value{font-family:var(--mono) !important; font-size:16px !important; font-weight:600 !important; color:var(--ink) !important;}

.roic-empty-state{text-align:center !important; padding:44px 20px !important;}
.roic-empty-state .roic-big{font-family:var(--serif) !important; font-size:19px !important; font-weight:600 !important; margin-bottom:6px !important;}

.roic-table-wrap{overflow-x:auto !important; border:1px solid var(--line) !important; border-radius:var(--radius) !important; margin-top:20px !important;}
.roic-app table{width:100% !important; border-collapse:collapse !important; font-size:13px !important;}
.roic-app thead th{background:var(--panel-2) !important; text-align:right !important; padding:10px !important; font-size:11px !important; text-transform:uppercase !important; letter-spacing:.03em !important; color:var(--ink-dim) !important; border-bottom:1px solid var(--line) !important;}
.roic-app thead th:first-child{text-align:left !important;}
.roic-app tbody td{padding:9px 10px !important; border-bottom:1px solid var(--line) !important; text-align:right !important; font-family:var(--mono) !important;}
.roic-app tbody td:first-child{text-align:left !important; font-family:var(--sans) !important;}
.roic-app tbody tr.roic-row-payback td{background:rgba(184,145,43,0.14) !important; font-weight:700 !important;}
.roic-app tbody tr.roic-row-payback td:first-child{color:var(--gold-soft) !important;}
.roic-app tbody td.roic-cf-neg{color:var(--danger) !important;}
.roic-scenario-badge{display:inline-block !important; font-family:var(--mono) !important; font-size:10px !important; font-weight:700 !important; background:var(--gold) !important; color:#fff !important; padding:2px 7px !important; border-radius:100px !important; margin-left:6px !important;}
.roic-scenario-badge.roic-badge-feasible{background:var(--emerald) !important;}
.roic-scenario-badge.roic-badge-review{background:var(--gold) !important;}
.roic-scenario-badge.roic-badge-not-feasible{background:var(--danger) !important;}
#roic_capitalStructureBox.roic-hidden, #roic_saleProceedsBox.roic-hidden{display:none !important;}

.roic-note-box{background:var(--panel-2) !important; border:1px solid var(--line) !important; border-left:3px solid var(--emerald) !important; border-radius:8px !important; padding:16px 18px !important; font-size:12.5px !important; color:var(--ink-dim) !important; margin:28px 0 !important;}
.roic-note-box b{color:var(--ink) !important;}
.roic-note-box ul{margin:8px 0 0 !important; padding-left:18px !important;}

.roic-recommend-box{display:none !important; background:rgba(184,145,43,0.1) !important; border:1px solid var(--gold) !important; border-left:4px solid var(--gold) !important; border-radius:9px !important; padding:18px 20px !important; margin-bottom:20px !important;}
.roic-recommend-box.roic-show{display:block !important;}
.roic-recommend-box .roic-rec-title{font-family:var(--serif) !important; font-weight:600 !important; font-size:15.5px !important; color:var(--gold-soft) !important; margin-bottom:8px !important;}
.roic-recommend-box .roic-rec-text{font-size:13px !important; color:var(--ink) !important; line-height:1.6 !important;}
.roic-recommend-box .roic-rec-text b{font-family:var(--mono) !important;}
.roic-recommend-box .roic-rec-option{margin-top:14px !important; padding-top:14px !important; border-top:1px solid rgba(184,145,43,0.3) !important;}
.roic-recommend-box .roic-rec-option:first-of-type{margin-top:10px !important; padding-top:0 !important; border-top:none !important;}
.roic-recommend-box .roic-rec-option > b{display:block !important; font-size:13px !important; color:var(--gold-soft) !important; margin-bottom:4px !important;}
.roic-recommend-box table{background:var(--panel) !important;}
.roic-recommend-box tr.roic-rec-current-row td{background:rgba(184,145,43,0.14) !important; font-weight:700 !important;}
.roic-app footer{text-align:center !important; color:var(--ink-dim) !important; font-size:12px !important; padding:30px 0 10px !important;}

.roic-modal-overlay{position:fixed !important; inset:0 !important; background:rgba(20,38,31,0.5) !important; display:none !important; align-items:center !important; justify-content:center !important; z-index:200 !important; padding:20px !important;}
.roic-modal-overlay.roic-show{display:flex !important;}
.roic-modal{background:var(--panel) !important; border:1px solid var(--line) !important; border-radius:var(--radius) !important; max-width:640px !important; width:100% !important; max-height:82vh !important; overflow-y:auto !important; padding:26px !important; position:relative !important;}
.roic-modal.roic-modal-lg{max-width:900px !important;}
.roic-modal.roic-modal-scrollable{display:flex !important; flex-direction:column !important; padding:0 !important; overflow:hidden !important;}
.roic-modal.roic-modal-scrollable .roic-modal-header{padding:26px 46px 0 26px !important; flex-shrink:0 !important;}
.roic-modal.roic-modal-scrollable .roic-modal-body{padding:14px 26px 6px !important; overflow-y:auto !important; flex:1 !important;}
.roic-modal.roic-modal-scrollable .roic-modal-actions{padding:16px 26px !important; margin:0 !important; border-top:1px solid var(--line) !important; flex-shrink:0 !important; flex-wrap:wrap !important; row-gap:10px !important;}
.roic-modal-close-x{position:absolute !important; top:14px !important; right:14px !important; width:32px !important; height:32px !important; border-radius:100% !important; border:1px solid var(--line) !important; background:var(--panel) !important; color:var(--ink-dim) !important; font-size:16px !important; line-height:1 !important; cursor:pointer !important; display:flex !important; align-items:center !important; justify-content:center !important; z-index:2 !important;}
.roic-modal-close-x:hover{background:var(--panel-2) !important; color:var(--ink) !important;}
.roic-modal h3{font-family:var(--serif) !important; margin:0 0 6px !important; font-size:20px !important;}
.roic-modal-sub{color:var(--ink-dim) !important; font-size:13px !important; margin:0 0 18px !important;}
.roic-modal-actions{display:flex !important; justify-content:flex-end !important; gap:10px !important; margin-top:18px !important;}
.roic-saved-item{display:flex !important; justify-content:space-between !important; align-items:center !important; gap:10px !important; border:1px solid var(--line) !important; border-radius:8px !important; padding:12px !important; margin-bottom:10px !important;}
.roic-saved-item .roic-info{font-size:13px !important;}
.roic-saved-item .roic-info .roic-name{font-weight:600 !important;}
.roic-saved-item .roic-info .roic-meta{color:var(--ink-dim) !important; font-size:11.5px !important; margin-top:2px !important;}
.roic-saved-item .roic-actions{display:flex !important; gap:8px !important; align-items:center !important;}
.roic-saved-item input[type=checkbox]{width:17px !important; height:17px !important; accent-color:var(--emerald) !important;}
.roic-cmp-table{width:100% !important; border-collapse:collapse !important; font-size:12.5px !important; margin-top:14px !important;}
.roic-cmp-table th, .roic-cmp-table td{padding:8px 10px !important; border-bottom:1px solid var(--line) !important; text-align:left !important;}
.roic-cmp-table th{color:var(--emerald) !important; background:var(--panel-2) !important;}
.roic-cmp-table td{font-family:var(--mono) !important;}

.roic-toast-backdrop{position:fixed !important; inset:0 !important; background:rgba(20,38,31,0.35) !important; z-index:299 !important; opacity:0 !important; pointer-events:none !important; transition:.2s !important;}
.roic-toast-backdrop.roic-show{opacity:1 !important; pointer-events:auto !important;}
.roic-toast{position:fixed !important; top:50% !important; left:50% !important; transform:translate(-50%,-45%) !important; background:var(--panel) !important; border:1px solid var(--emerald) !important; color:var(--ink) !important; padding:20px 40px 20px 26px !important; border-radius:12px !important; font-size:14.5px !important; text-align:center !important; box-shadow:0 20px 50px rgba(0,0,0,.2) !important; opacity:0 !important; display:none !important; transition:.25s !important; z-index:300 !important; max-width:400px !important; width:90% !important;}
.roic-toast.roic-show{opacity:1 !important; display:unset !important; transform:translate(-50%,-50%) !important;}
.roic-toast.roic-warn{border-color:var(--danger) !important;}
.roic-toast-close{position:absolute !important; top:8px !important; right:8px !important; width:26px !important; height:26px !important; border-radius:100% !important; border:1px solid var(--line) !important; background:var(--panel) !important; color:var(--ink-dim) !important; font-size:13px !important; line-height:1 !important; cursor:pointer !important; display:flex !important; align-items:center !important; justify-content:center !important;}
.roic-toast-close:hover{background:var(--panel-2) !important; color:var(--ink) !important;}
.roic-toast-msg{white-space:pre-line !important;}

.roic-chart-card{background:var(--panel) !important; border:1px solid var(--line) !important; border-radius:var(--radius) !important; padding:26px !important; margin-top:24px !important;}
.roic-ladder-title{font-family:var(--serif) !important; font-weight:600 !important; font-size:17px !important; margin:0 0 4px !important; color:var(--ink) !important;}
.roic-ladder-desc{color:var(--ink-dim) !important; font-size:12.5px !important; margin:0 0 14px !important;}
.roic-chart-legend{display:flex !important; flex-wrap:wrap !important; gap:18px !important; margin-bottom:14px !important;}
.roic-chart-legend-item{display:flex !important; align-items:center !important; gap:7px !important; font-size:12px !important; color:var(--ink-dim) !important; font-family:var(--mono) !important;}
.roic-chart-legend-item i{width:11px !important; height:11px !important; border-radius:3px !important; display:inline-block !important;}
#roic_chartContainer, #roic_compareChartsContainer .roic-chart-wrap-inner{width:100% !important;}
#roic_chartContainer svg, .roic-chart-wrap-inner svg{display:block !important; font-family:var(--mono) !important;}
.roic-chart-bar{cursor:pointer !important; transition:opacity .12s !important;}
.roic-chart-axis-label{font-size:10.5px !important; fill:var(--ink-dim) !important;}
.roic-chart-year-label{font-size:10.5px !important; fill:var(--ink-dim) !important; text-anchor:middle !important;}
.roic-chart-gridline{stroke:var(--line) !important; stroke-width:1 !important;}
.roic-chart-zeroline{stroke:var(--ink-dim) !important; stroke-width:1.2 !important;}
.roic-chart-tooltip{position:absolute !important; pointer-events:none !important; background:var(--ink) !important; color:#fff !important; font-family:var(--mono) !important; font-size:11.5px !important; padding:8px 10px !important; border-radius:7px !important; line-height:1.5 !important; opacity:0 !important; transition:opacity .1s !important; z-index:5 !important; white-space:nowrap !important; box-shadow:0 6px 18px rgba(0,0,0,.2) !important;}
.roic-chart-tooltip.roic-show{opacity:1 !important;}
.roic-chart-wrap-inner{position:relative !important; overflow-x:auto !important; max-width:100% !important;}

.roic-loan-group{border:1px solid var(--line) !important; border-radius:9px !important; padding:14px 16px 4px !important; margin:16px 0 18px !important; background:var(--panel-2) !important;}
.roic-loan-group-header{display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; cursor:pointer !important; font-weight:600 !important; font-size:13.5px !important; color:var(--ink) !important; -webkit-tap-highlight-color:transparent !important;}
.roic-loan-group-chevron{color:var(--ink-dim) !important; transition:transform .2s ease !important; flex-shrink:0 !important;}
.roic-loan-group.roic-collapsed .roic-loan-group-chevron{transform:rotate(-90deg) !important;}
.roic-loan-group-body{overflow:hidden !important; max-height:1000px !important; opacity:1 !important; transition:max-height .25s ease, opacity .2s ease, margin-top .2s ease !important; margin-top:14px !important;}
.roic-loan-group.roic-collapsed .roic-loan-group-body{max-height:0 !important; opacity:0 !important; margin-top:0 !important; pointer-events:none !important;}

.roic-leverage-best-row td{background:rgba(31,110,74,0.12) !important; font-weight:700 !important;}
.roic-leverage-best-row td:first-child{color:var(--emerald-soft) !important;}
.roic-loan-col[title]{cursor:help !important;}

.roic-breakdown-table{width:100% !important; border-collapse:collapse !important; font-size:13.5px !important;}
.roic-breakdown-table td{padding:9px 4px !important; border-bottom:1px solid var(--line) !important;}
.roic-breakdown-table td:last-child{text-align:right !important; font-family:var(--mono) !important;}
.roic-breakdown-table tr.roic-breakdown-sub td{color:var(--ink-dim) !important; font-size:12.5px !important; padding-left:14px !important;}
.roic-breakdown-table tr.roic-breakdown-total td{border-bottom:none !important; border-top:2px solid var(--ink) !important; font-weight:700 !important; font-size:15px !important; padding-top:14px !important;}
.roic-breakdown-table tr.roic-breakdown-neg td:last-child{color:var(--danger) !important;}

.roic-app footer .roic-hotline-line{margin-top:8px !important; font-size:13px !important; color:var(--ink) !important;}
.roic-app footer .roic-hotline-line a{color:var(--emerald-soft) !important; font-weight:700 !important; text-decoration:none !important;}
.roic-app footer .roic-hotline-line a:hover{text-decoration:underline !important;}
