:root{
  --navy-950:   #0a1420;
  --navy-900:   #0f2033;
  --navy-800:   #16304a;
  --navy-700:   #1e3d5c;
  --gold:       #b4923f;
  --gold-light: #ddbf74;
  --gold-dark:  #8a6f2c;
  --paper:      #f7f3e8;
  --paper-alt:  #efe8d4;
  --paper-line: #ddd2b2;
  --ink:        #1b2330;
  --ink-soft:   #4a5058;
  --muted:      #7c7462;
  --pos:        #2f6f52;
  --pos-soft:   #dfeee4;
  --neg:        #8a3c2b;
  --neg-soft:   #f2e2da;
  --shadow-lg:  0 34px 70px -28px rgba(8,16,26,.55);
  --shadow-sm:  0 10px 24px -14px rgba(8,16,26,.35);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}

body{
  background:var(--navy-950);
  background-image:
    radial-gradient(1100px 480px at 15% -8%, rgba(180,146,63,.10), transparent),
    radial-gradient(900px 500px at 100% 0%, rgba(30,61,92,.35), transparent);
  font-family:'Heebo',sans-serif;
  color:var(--ink);
  min-height:100vh;
  padding:44px 20px 64px;
  font-variant-numeric:tabular-nums;
}

h1,h2{font-family:'Frank Ruhl Libre',serif;}

.ledger{
  max-width:1100px;
  margin:0 auto;
}

/* ---------- Letterhead ---------- */
.cover{
  background:linear-gradient(175deg, var(--navy-800), var(--navy-950) 92%);
  border:1px solid rgba(221,191,116,.16);
  border-bottom:none;
  padding:38px 44px 30px;
  position:relative;
}
.cover::after{
  content:"";
  position:absolute;
  inset:auto 44px 0 44px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(221,191,116,.55), transparent);
}
.cover-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
.cover-brand{
  display:flex;
  align-items:center;
  gap:18px;
}
.seal{
  color:var(--gold-light);
  width:52px;
  height:52px;
  flex-shrink:0;
}
.seal svg{width:100%;height:100%;display:block;}
.cover-inner{max-width:620px;}
.cover-kicker{
  display:block;
  color:var(--gold-light);
  font-size:13px;
  font-weight:500;
  margin-bottom:6px;
}
.cover-title{
  color:var(--paper);
  font-size:clamp(28px,4.2vw,42px);
  font-weight:600;
  margin:0;
  line-height:1.2;
}
.cover-meta{
  text-align:left;
  padding-top:4px;
  flex-shrink:0;
  border-right:1px solid rgba(255,255,255,.14);
  padding-right:20px;
}
.meta-line{
  display:block;
  color:#9fb0c2;
  font-size:11.5px;
  margin-bottom:4px;
}
.meta-value{
  display:block;
  font-family:'Frank Ruhl Libre',serif;
  color:var(--gold-light);
  font-size:22px;
  font-weight:700;
}
.cover-sub{
  color:#c3ccd4;
  font-size:15.5px;
  line-height:1.75;
  margin:22px 0 0;
  max-width:620px;
}

/* ---------- Body / document sections ---------- */
.body-wrap{
  display:grid;
  grid-template-columns:216px 1fr;
  background:var(--paper);
  box-shadow:var(--shadow-lg);
  overflow:hidden;
}

.tabs{
  background:var(--paper-alt);
  border-left:1px solid var(--paper-line);
  padding:24px 0 22px;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.tabs-caption{
  padding:0 22px 14px;
  font-size:11.5px;
  color:var(--muted);
  border-bottom:1px solid var(--paper-line);
  margin:0 22px 10px;
  padding-inline:0;
}
.tab{
  all:unset;
  cursor:pointer;
  display:flex;
  align-items:flex-start;
  gap:13px;
  padding:15px 22px;
  border-right:3px solid transparent;
  color:var(--muted);
  font-size:14px;
  line-height:1.4;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.tab small{font-size:11px;color:var(--muted);font-weight:400;}
.tab-num{
  font-family:'Frank Ruhl Libre',serif;
  font-weight:700;
  font-size:16px;
  color:var(--gold-dark);
  width:18px;
  flex-shrink:0;
  padding-top:1px;
}
.tab:hover{background:rgba(180,146,63,.08);color:var(--ink);}
.tab.active{
  background:var(--paper);
  border-right-color:var(--gold);
  color:var(--ink);
  font-weight:600;
}
.tab.active .tab-num{color:var(--gold-dark);}

.page{
  padding:40px 46px 50px;
}

.panel{display:none;}
.panel.active{display:block;animation:fade .22s ease;}
@keyframes fade{from{opacity:0;transform:translateY(3px);}to{opacity:1;transform:none;}}

.panel-head{
  border-bottom:1px solid var(--paper-line);
  padding-bottom:20px;
  margin-bottom:28px;
}
.panel-ref{
  display:block;
  color:var(--gold-dark);
  font-size:12px;
  font-weight:600;
  margin-bottom:8px;
}
.panel-head h2{
  font-size:23px;
  font-weight:600;
  margin:0 0 9px;
  color:var(--ink);
}
.panel-desc{
  color:var(--ink-soft);
  font-size:14.5px;
  line-height:1.7;
  margin:0;
  max-width:640px;
}

.grid{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:30px;
  align-items:start;
}

/* ---------- Form ---------- */
.form-card{
  background:#fffffa;
  border:1px solid var(--paper-line);
  padding:28px 26px;
  display:flex;
  flex-direction:column;
  gap:19px;
}
.field label{
  display:block;
  font-size:13px;
  font-weight:600;
  color:var(--ink);
  margin-bottom:8px;
}
.field label .opt{font-weight:400;color:var(--muted);font-size:12px;}
.field input[type="number"]{
  width:100%;
  padding:11px 13px;
  border:1px solid #d3c8a8;
  border-radius:3px;
  font-family:'Heebo',sans-serif;
  font-size:15px;
  font-variant-numeric:tabular-nums;
  background:#fffdf7;
  color:var(--ink);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.field input[type="number"]:focus{
  outline:none;
  border-color:var(--gold-dark);
  box-shadow:0 0 0 3px rgba(180,146,63,.16);
}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.two-col label{margin-bottom:8px;}

.radio-row{display:flex;flex-direction:column;gap:8px;}
.radio-pill{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #d3c8a8;
  border-radius:3px;
  padding:10px 13px;
  font-size:13.5px;
  cursor:pointer;
  background:#fffdf7;
  transition:border-color .15s ease, background .15s ease;
}
.radio-pill em{font-style:normal;color:var(--muted);}
.radio-pill:has(input:checked){
  border-color:var(--gold-dark);
  background:rgba(180,146,63,.08);
}
.radio-pill input{accent-color:var(--gold-dark);width:16px;height:16px;flex-shrink:0;}

.hint-box{
  background:var(--paper-alt);
  border-right:3px solid var(--gold);
  padding:13px 15px;
  font-size:12.6px;
  line-height:1.7;
  color:#5a5240;
}

.calc-btn{
  all:unset;
  cursor:pointer;
  text-align:center;
  background:var(--navy-900);
  color:var(--paper);
  padding:13px 18px;
  border-radius:3px;
  font-size:15px;
  font-weight:600;
  letter-spacing:.01em;
  transition:background .15s ease, transform .1s ease;
}
.calc-btn:hover{background:var(--navy-800);}
.calc-btn:active{transform:translateY(1px);}

/* ---------- Results ---------- */
.result-card{
  background:linear-gradient(175deg, var(--navy-800), var(--navy-950) 100%);
  color:#eef1ec;
  padding:28px 26px;
  min-height:300px;
  position:sticky;
  top:20px;
  border:1px solid rgba(221,191,116,.14);
}
.result-empty{
  color:#93a1ac;
  font-size:14px;
  line-height:1.75;
  padding:22px 4px;
}

.res-headline{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding-bottom:16px;
  margin-bottom:6px;
}
.res-headline .label{font-size:12.5px;color:#9fb0bb;}
.res-headline .value{
  font-family:'Frank Ruhl Libre',serif;
  font-size:29px;
  font-weight:700;
  color:#fff;
}
.res-headline .value.warn{color:#e0ac74;}
.res-headline .value.ok{color:#7fceac;}

.prop-bar{
  display:flex;
  height:8px;
  width:100%;
  overflow:hidden;
  background:rgba(255,255,255,.08);
  margin-bottom:20px;
}
.prop-bar span{height:100%;display:block;}
.prop-bar .seg-pos{background:var(--gold-light);}
.prop-bar .seg-neg{background:rgba(224,172,116,.55);}
.prop-legend{
  display:flex;
  justify-content:space-between;
  font-size:11.5px;
  color:#8fa0ab;
  margin:-12px 0 18px;
}

.res-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:13.4px;
  padding:9px 0;
  border-top:1px solid rgba(255,255,255,.10);
}
.res-row .k{color:#b0bcc4;}
.res-row .v{color:#f2f4ef;font-weight:600;}
.res-row .v.pos{color:#7fceac;}
.res-row .v.neg{color:#e2a781;}

.res-note{
  margin-top:18px;
  padding-top:15px;
  border-top:1px solid rgba(221,191,116,.22);
  font-size:12.2px;
  line-height:1.75;
  color:#93a1ac;
}
.res-tag{
  display:inline-block;
  margin-top:15px;
  padding:6px 13px;
  font-size:12.3px;
  font-weight:600;
  border:1px solid transparent;
}
.res-tag.ok{background:rgba(127,206,172,.12);color:#7fceac;border-color:rgba(127,206,172,.3);}
.res-tag.warn{background:rgba(224,172,116,.14);color:#e0ac74;border-color:rgba(224,172,116,.32);}

/* ---------- Footer ---------- */
.disclaimer{
  max-width:1100px;
  margin:0 auto;
  padding:22px 46px 26px;
  color:#98a4ac;
  font-size:12px;
  line-height:1.8;
  background:var(--navy-950);
  border-top:1px solid rgba(221,191,116,.14);
  display:flex;
  gap:10px;
}
.disclaimer-mark{color:var(--gold-light);font-size:15px;line-height:1.6;}
.disclaimer p{margin:0;}
.disclaimer strong{color:#c3ccd4;}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  body{padding:0;}
  .body-wrap{grid-template-columns:1fr;}
  .cover{padding:30px 22px 24px;}
  .cover-top{flex-direction:column;gap:16px;}
  .cover-meta{border-right:none;padding-right:0;border-top:1px solid rgba(255,255,255,.14);padding-top:12px;}
  .tabs{
    flex-direction:row;
    overflow-x:auto;
    border-left:none;
    border-bottom:1px solid var(--paper-line);
    padding:16px 12px;
  }
  .tabs-caption{display:none;}
  .tab{border-right:none;border-bottom:3px solid transparent;flex-shrink:0;padding:10px 14px;}
  .tab.active{border-bottom-color:var(--gold);}
  .grid{grid-template-columns:1fr;}
  .result-card{position:static;}
  .page{padding:26px 20px 34px;}
  .two-col{grid-template-columns:1fr;}
  .disclaimer{padding:20px 22px 24px;}
}
