/* Felix Keuya — project-finance working papers, not dashboard widgets */
:root{
  --fk-paper:#f3efe6;
  --fk-paper-2:#ebe5da;
  --fk-white:#fffdf8;
  --fk-ink:#10212b;
  --fk-navy:#071f35;
  --fk-muted:#68747b;
  --fk-line:#c9cec8;
  --fk-line-dark:#8f9999;
  --fk-signal:#0b7a5b;
  --fk-signal-soft:#dce9e2;
  --fk-warn:#8b6322;
  --fk-risk:#8a4f48;
}
.decision-tool-shell{
  background:var(--fk-paper);
  border:1px solid var(--fk-line);
  padding:clamp(22px,4vw,42px);
  border-radius:0;
  position:relative;
  box-shadow:none;
}
.decision-tool-shell:before{
  content:"WORKING PAPER";
  position:absolute;
  top:14px;
  right:18px;
  font:700 9px/1 Inter,sans-serif;
  letter-spacing:.14em;
  color:#8c9693;
}
.decision-tool-grid{
  display:grid;
  grid-template-columns:minmax(290px,.82fr) minmax(0,1.18fr);
  gap:clamp(28px,5vw,54px);
  align-items:start;
}
.assumption-sheet{position:relative;padding-top:30px}
.assumption-sheet:before{
  content:"ASSUMPTIONS";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  padding-bottom:9px;
  border-bottom:2px solid var(--fk-ink);
  font:700 10px/1 Inter,sans-serif;
  letter-spacing:.12em;
  color:var(--fk-ink);
}
.decision-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--fk-line);
  border-left:1px solid var(--fk-line);
}
.decision-fields .wide{grid-column:1/-1}
.decision-fields label{
  display:grid;
  gap:7px;
  padding:12px 13px 11px;
  border-right:1px solid var(--fk-line);
  border-bottom:1px solid var(--fk-line);
  font:600 11px/1.35 Inter,sans-serif;
  color:#34434b;
  text-transform:uppercase;
  letter-spacing:.04em;
  background:rgba(255,255,255,.34);
}
.decision-fields input,.decision-fields select{
  width:100%;
  min-height:36px;
  border:0;
  border-bottom:1px solid #aab3ae;
  background:transparent;
  padding:7px 0 5px;
  color:var(--fk-ink);
  border-radius:0;
  font:600 15px/1.2 Inter,sans-serif;
  font-variant-numeric:tabular-nums;
}
.decision-fields input:focus,.decision-fields select:focus{
  border-color:var(--fk-signal);
  outline:0;
  box-shadow:0 2px 0 var(--fk-signal);
}
.decision-help{
  font:400 10px/1.45 Inter,sans-serif;
  color:#78837f;
  text-transform:none;
  letter-spacing:0;
}
.decision-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.decision-actions .btn{border-radius:0}

.decision-result{
  background:var(--fk-white);
  color:var(--fk-ink);
  padding:clamp(24px,4vw,38px);
  position:sticky;
  top:94px;
  border:1px solid var(--fk-line);
  border-top:4px solid var(--fk-ink);
  border-radius:0;
  box-shadow:8px 8px 0 var(--fk-paper-2);
}
.decision-result-label,
.memo-eyebrow{
  font:700 10px/1.2 Inter,sans-serif;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--fk-signal);
  margin:0 0 12px;
}
.decision-result h2{
  font:500 clamp(30px,4vw,46px)/1.05 Fraunces,Georgia,serif;
  color:var(--fk-ink);
  margin:0 0 16px;
  max-width:15ch;
}
.decision-status-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:9px 0 13px;
  border-bottom:1px solid var(--fk-line);
  margin-bottom:18px;
}
.decision-status-line span:first-child{
  font:600 11px/1.35 Inter,sans-serif;
  color:var(--fk-muted);
  text-transform:uppercase;
  letter-spacing:.07em;
}
.status-stamp{
  display:inline-block;
  border:1px solid var(--fk-ink);
  padding:5px 8px 4px;
  font:700 10px/1 Inter,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  transform:rotate(-1deg);
  background:#fff;
}
.decision-result-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--fk-line);
  border-left:1px solid var(--fk-line);
  background:transparent;
}
.decision-result-grid>div{
  background:transparent;
  padding:12px 12px 13px;
  min-height:74px;
  border-right:1px solid var(--fk-line);
  border-bottom:1px solid var(--fk-line);
}
.decision-result-grid span{
  display:block;
  font:600 9px/1.35 Inter,sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#7a8584;
}
.decision-result-grid strong{
  display:block;
  margin-top:5px;
  font:520 19px/1.18 Fraunces,Georgia,serif;
  color:var(--fk-ink);
  font-variant-numeric:tabular-nums;
}
.decision-reading{
  margin:18px 0 0;
  padding:15px 0 0;
  border-top:2px solid var(--fk-ink);
  font:400 14px/1.62 Inter,sans-serif;
  color:#44525a;
}
.decision-reading strong{color:var(--fk-ink)}
.memo-block{
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid var(--fk-line);
}
.memo-block h3{
  margin:0 0 7px;
  font:600 17px/1.2 Fraunces,Georgia,serif;
  color:var(--fk-ink);
}
.memo-block p,.memo-block li{
  color:#526069;
  font-size:13px;
  line-height:1.55;
}
.memo-block ul{margin:8px 0 0;padding-left:18px}
.memo-block--signal{border-left:3px solid var(--fk-signal);padding-left:14px}
.memo-block--warning{border-left:3px solid var(--fk-warn);padding-left:14px}

.decision-warning{
  margin-top:20px;
  padding:14px 0 0;
  border-top:1px solid var(--fk-line-dark);
  background:transparent;
  color:#5e604d;
  font-size:12px;
  line-height:1.55;
}
.decision-method{margin-top:28px;border-top:2px solid var(--fk-ink);padding-top:16px}
.decision-method h3{font-size:20px;margin-bottom:8px}
.decision-method p,.decision-method li{font-size:13px;line-height:1.62;color:#53616a}
.decision-method ul{padding-left:18px}
.ip-boundary{
  margin-top:22px;
  padding:16px 18px;
  background:rgba(255,255,255,.4);
  border-left:3px solid var(--fk-ink);
}
.ip-boundary strong{display:block;margin-bottom:5px;color:var(--fk-ink)}
.ip-boundary p{margin:0;color:#59656e;font-size:12px;line-height:1.55}

/* pressure memo */
.pressure-strip{
  margin:18px 0 0;
  border-top:2px solid var(--fk-ink);
}
.pressure-line{
  display:grid;
  grid-template-columns:118px 1fr 76px;
  gap:12px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid var(--fk-line);
}
.pressure-line span{font:600 10px/1.2 Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#59676d}
.pressure-track{height:3px;background:#d5dad5;position:relative}
.pressure-track i{position:absolute;inset:0 auto 0 0;width:50%;background:var(--fk-signal)}
.pressure-line[data-state="pressure"] .pressure-track i{background:var(--fk-risk)}
.pressure-line[data-state="watch"] .pressure-track i{background:var(--fk-warn)}
.pressure-line strong{text-align:right;font:600 12px/1 Inter,sans-serif;color:var(--fk-ink);font-variant-numeric:tabular-nums}
.pressure-paths{margin:14px 0 0;padding:0;list-style:none;counter-reset:path}
.pressure-paths li{
  counter-increment:path;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  padding:12px 0;
  border-top:1px solid var(--fk-line);
}
.pressure-paths li:before{
  content:counter(path,"0" decimal-leading-zero);
  font:700 10px/1.4 Inter,sans-serif;
  color:var(--fk-signal);
  letter-spacing:.05em;
}
.pressure-paths b{font:600 13px/1.4 Inter,sans-serif;color:var(--fk-ink)}
.pressure-paths span{font-size:12px;line-height:1.5;color:#58656b}
.pressure-paths em{font:600 9px/1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:#697673;border:1px solid var(--fk-line);padding:4px 6px;font-style:normal}

/* reverse financing ledger */
.reverse-ledger{margin-top:24px;border-top:3px double var(--fk-ink)}
.reverse-answer{
  display:grid;
  grid-template-columns:minmax(190px,.9fr) minmax(150px,.65fr) minmax(0,1.25fr);
  gap:18px;
  align-items:start;
  padding:18px 0;
  border-bottom:1px solid var(--fk-line);
}
.reverse-answer span{
  font:700 10px/1.35 Inter,sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#6b777f;
}
.reverse-answer strong{
  display:block;
  font:520 clamp(25px,3vw,38px)/1.05 Fraunces,Georgia,serif;
  color:var(--fk-ink);
  font-variant-numeric:tabular-nums;
}
.reverse-answer small{display:block;color:#5f6b71;line-height:1.48;font-size:12px}
.reverse-answer small b{color:var(--fk-ink)}
.reverse-footer-note{
  padding:14px 0 0;
  font:500 13px/1.6 Inter,sans-serif;
  color:#415159;
}

/* term sheet negotiation board */
.term-board{margin-top:18px;border-top:3px double var(--fk-ink)}
.term-priority{
  display:grid;
  grid-template-columns:44px minmax(130px,.7fr) minmax(180px,1fr) minmax(120px,.65fr);
  gap:16px;
  align-items:start;
  padding:16px 0;
  border-bottom:1px solid var(--fk-line);
}
.term-priority-rank{
  font:520 28px/1 Fraunces,Georgia,serif;
  color:#9aa29e;
}
.term-priority h3{margin:0 0 5px;font-size:18px}
.term-priority p{margin:0;font-size:12px;line-height:1.5;color:#58666d}
.term-lenses{display:grid;gap:7px}
.term-lens{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  border-bottom:1px dotted #b9c0bb;
  padding-bottom:5px;
  font:600 9px/1.2 Inter,sans-serif;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#6a767b;
}
.term-lens strong{font-size:10px;color:var(--fk-ink)}
.term-delta-table,.delta-table{
  width:100%;
  border-collapse:collapse;
  margin-top:24px;
  font-variant-numeric:tabular-nums;
  background:rgba(255,255,255,.35);
}
.term-delta-table th,.term-delta-table td,.delta-table th,.delta-table td{
  padding:10px 9px;
  border-bottom:1px solid var(--fk-line);
  text-align:right;
  font-size:12px;
}
.term-delta-table th:first-child,.term-delta-table td:first-child,.delta-table th:first-child,.delta-table td:first-child{text-align:left}
.term-delta-table th,.delta-table th{
  border-bottom:2px solid var(--fk-ink);
  font:700 9px/1.3 Inter,sans-serif;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:#69767f;
}
.term-table-caption{margin:26px 0 -10px;font:700 10px/1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--fk-ink)}

/* actual risk graph */
.risk-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px;align-items:start}
.risk-tabs{display:grid;gap:0;border-top:2px solid var(--fk-ink)}
.risk-tab{
  min-height:48px;
  text-align:left;
  padding:12px 3px;
  border:0;
  border-bottom:1px solid var(--fk-line);
  background:transparent;
  color:#536069;
  font:600 12px/1.35 Inter,sans-serif;
  cursor:pointer;
}
.risk-tab[aria-selected="true"]{color:var(--fk-ink);padding-left:12px;border-left:3px solid var(--fk-signal);background:transparent}
.risk-panel{
  border:1px solid var(--fk-line);
  border-top:4px solid var(--fk-ink);
  background:var(--fk-paper);
  padding:clamp(20px,4vw,34px);
  position:relative;
}
.risk-panel:after{
  content:"RISK → CASH → CREDIT";
  position:absolute;right:18px;top:12px;
  font:700 9px/1 Inter,sans-serif;letter-spacing:.1em;color:#87918e;
}
.risk-panel h2{margin:5px 0 8px;font-size:clamp(27px,3vw,38px)}
.risk-panel>p{color:#59656e;max-width:70ch}
.risk-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0 10px;padding-top:12px;border-top:1px solid var(--fk-line)}
.risk-controls-label{font:700 9px/1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#667277}
.severity-toggle{display:flex;border:1px solid var(--fk-line-dark)}
.severity-toggle button{border:0;border-right:1px solid var(--fk-line-dark);background:transparent;padding:7px 10px;font:600 10px/1 Inter,sans-serif;color:#5d696e;cursor:pointer}
.severity-toggle button:last-child{border-right:0}
.severity-toggle button[aria-pressed="true"]{background:var(--fk-ink);color:#fff}
.risk-graph-frame{
  overflow-x:auto;
  padding:16px 0 10px;
  border-top:3px double var(--fk-ink);
  border-bottom:1px solid var(--fk-line);
  background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,rgba(16,33,43,.055) 40px);
}
.risk-graph{display:block;width:100%;min-width:900px;height:300px}
.risk-graph .rail{stroke:#aeb7b3;stroke-width:1.5}
.risk-graph .arrow{fill:#7e8985}
.risk-graph .node-box{fill:#fffdf8;stroke:#9ba6a1;stroke-width:1.2}
.risk-graph .node-box.affected{stroke:var(--fk-ink);stroke-width:2}
.risk-graph .node-index{font:700 9px Inter,sans-serif;fill:#6a7677;letter-spacing:.05em}
.risk-graph .node-label{font:600 12px Inter,sans-serif;fill:var(--fk-ink)}
.risk-graph .node-impact{font:500 10px Inter,sans-serif;fill:#58666c}
.risk-graph .severity-mark{fill:var(--fk-signal)}
.risk-graph[data-severity="severe"] .severity-mark{fill:var(--fk-risk)}
.risk-graph[data-severity="mild"] .severity-mark{fill:#87938e}
.risk-interpretation{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin-top:24px;
  border-top:2px solid var(--fk-ink);
  border-left:1px solid var(--fk-line);
}
.risk-note{
  padding:14px 14px 16px;
  border-right:1px solid var(--fk-line);
  border-bottom:1px solid var(--fk-line);
}
.risk-note h3{font-size:15px;margin:0 0 6px}
.risk-note p,.risk-note li{font-size:11px;line-height:1.52;color:#5b686d}
.risk-note ul{margin:0;padding-left:16px}
.risk-severity-read{
  margin-top:12px;
  font:600 12px/1.5 Inter,sans-serif;
  color:var(--fk-ink);
}

/* decision delta review sheet */
.delta-sheet{background:var(--fk-paper);border:1px solid var(--fk-line);padding:clamp(22px,4vw,38px)}
.delta-stamp-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:3px double var(--fk-ink);padding-bottom:17px}
.delta-stamp-row h2{margin:0;font-size:clamp(27px,3vw,38px)}
.decision-stamp{
  border:2px solid var(--fk-risk);
  color:var(--fk-risk);
  padding:8px 10px 7px;
  font:700 11px/1.1 Inter,sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  transform:rotate(-1.5deg);
  background:rgba(255,255,255,.35);
  white-space:nowrap;
}
.delta-table tr.changed td{background:rgba(139,99,34,.08)}
.delta-table tr.changed td:first-child:after{
  content:"CHANGED";
  margin-left:8px;
  font:700 8px/1 Inter,sans-serif;
  letter-spacing:.07em;
  color:var(--fk-warn);
}
.delta-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--fk-line);
  border-left:1px solid var(--fk-line);
  margin:22px 0;
  background:transparent;
}
.delta-summary>div{background:rgba(255,255,255,.35);padding:14px;border-right:1px solid var(--fk-line);border-bottom:1px solid var(--fk-line)}
.delta-summary span{display:block;font:700 9px/1.3 Inter,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:#69767f}
.delta-summary strong{display:block;margin-top:6px;font:520 24px/1.1 Fraunces,Georgia,serif;color:var(--fk-ink);font-variant-numeric:tabular-nums}
.delta-driver-chart{margin-top:24px;border-top:2px solid var(--fk-ink)}
.delta-driver{
  display:grid;
  grid-template-columns:130px 1fr 88px;
  gap:12px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid var(--fk-line);
}
.delta-driver span{font:600 10px/1.2 Inter,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#5c696e}
.delta-driver-bar{height:12px;position:relative;background:#d7dcd7}
.delta-driver-bar i{position:absolute;top:0;bottom:0;left:50%;width:0;background:var(--fk-signal)}
.delta-driver.negative .delta-driver-bar i{right:50%;left:auto;background:var(--fk-risk)}
.delta-driver strong{text-align:right;font:600 11px/1 Inter,sans-serif;color:var(--fk-ink)}
.delta-conclusion{padding:18px 0 0;border-top:3px double var(--fk-ink);background:transparent;color:var(--fk-ink);margin-top:24px}
.delta-conclusion span{font:700 9px/1.3 Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--fk-signal)}
.delta-conclusion h2{color:var(--fk-ink);margin:7px 0 8px}
.delta-conclusion p{margin:0;color:#4f5e65}

/* curated tools landing */
.decision-zones{display:grid;gap:44px}
.decision-zone{border-top:4px solid var(--fk-ink);padding-top:14px}
.decision-zone-head{display:grid;grid-template-columns:150px 1fr;gap:20px;margin-bottom:8px}
.decision-zone-code{font:700 10px/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--fk-signal)}
.decision-zone-head h2{margin:0;font-size:clamp(27px,3vw,38px)}
.tool-brief{
  display:grid;
  grid-template-columns:minmax(180px,.8fr) minmax(0,1.4fr) minmax(180px,.85fr);
  gap:28px;
  padding:22px 0;
  border-top:1px solid var(--fk-line);
  align-items:start;
}
.tool-brief:last-child{border-bottom:1px solid var(--fk-line)}
.tool-brief h3{margin:0 0 6px;font-size:21px}
.tool-brief .tool-question{font:500 15px/1.45 Fraunces,Georgia,serif;color:var(--fk-ink)}
.tool-brief dl{margin:0;display:grid;gap:9px}
.tool-brief dt{font:700 9px/1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:#7a8582}
.tool-brief dd{margin:3px 0 0;font-size:12px;line-height:1.48;color:#59666d}
.felix-read{border-left:2px solid var(--fk-signal);padding-left:13px;font-size:12px;line-height:1.55;color:#425159}
.tool-brief .project-link{display:inline-block;margin-top:12px}

/* service / partner working notes */
.capacity-note,.partner-note{border-top:4px solid var(--fk-ink);padding-top:18px}
.capacity-row,.partner-row{
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  gap:28px;
  padding:17px 0;
  border-bottom:1px solid var(--fk-line);
}
.capacity-row>strong,.partner-row>strong{font:600 13px/1.4 Inter,sans-serif;color:var(--fk-ink)}
.capacity-row p,.partner-row p{margin:0;font-size:13px;line-height:1.58;color:#59666d}
.handoff-matrix{width:100%;border-collapse:collapse;margin-top:20px}
.handoff-matrix th,.handoff-matrix td{padding:12px 10px;border-bottom:1px solid var(--fk-line);vertical-align:top;text-align:left;font-size:12px}
.handoff-matrix th{font:700 9px/1.3 Inter,sans-serif;text-transform:uppercase;letter-spacing:.07em;border-bottom:2px solid var(--fk-ink);color:#667277}
.handoff-matrix td:first-child{font-weight:700;color:var(--fk-ink)}

@media(max-width:980px){
  .decision-tool-grid{grid-template-columns:1fr}
  .decision-result{position:static}
  .risk-interpretation{grid-template-columns:repeat(2,minmax(0,1fr))}
  .term-priority{grid-template-columns:40px 1fr 1fr}
  .term-lenses{grid-column:2/-1}
  .tool-brief{grid-template-columns:1fr 1fr}
  .tool-brief>div:last-child{grid-column:1/-1}
}
@media(max-width:760px){
  .risk-workspace{grid-template-columns:1fr}
  .risk-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .risk-tab{border-right:1px solid var(--fk-line);padding-left:8px}
  .risk-tab[aria-selected="true"]{border-left:0;border-bottom:3px solid var(--fk-signal)}
  .decision-zone-head{grid-template-columns:1fr}
  .tool-brief{grid-template-columns:1fr}
  .tool-brief>div:last-child{grid-column:auto}
  .capacity-row,.partner-row{grid-template-columns:1fr;gap:6px}
}
@media(max-width:600px){
  .decision-tool-shell,.delta-sheet{padding:18px}
  .decision-fields{grid-template-columns:1fr}
  .decision-fields .wide{grid-column:auto}
  .decision-result-grid,.delta-summary{grid-template-columns:1fr}
  .pressure-line{grid-template-columns:92px 1fr 64px}
  .pressure-paths li{grid-template-columns:28px 1fr}
  .pressure-paths em{grid-column:2}
  .reverse-answer{grid-template-columns:1fr;gap:7px}
  .term-priority{grid-template-columns:34px 1fr}
  .term-priority>div:nth-child(3),.term-lenses{grid-column:2}
  .risk-tabs{grid-template-columns:1fr}
  .risk-interpretation{grid-template-columns:1fr}
  .delta-stamp-row{display:grid}
  .decision-stamp{justify-self:start}
  .delta-driver{grid-template-columns:90px 1fr 62px}
  .term-delta-table,.delta-table{font-size:11px}
  .term-delta-table th,.term-delta-table td,.delta-table th,.delta-table td{padding:8px 5px}
}