:root{
  --bg:#0d110e; --panel:#141a15; --panel2:#181f19; --ink:#ede7d8; --muted:#9aa394;
  --gold:#c9a227; --green:#6fa06b; --clay:#a06a45; --rule:#262e27; --chip:#1c241d;
  --risk:#c96a4a;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; background:var(--bg); color:var(--ink); font-size:16px; line-height:1.6;
  font-family:"Avenir Next","Helvetica Neue",Helvetica,Arial,sans-serif;}
.wrap{max-width:1000px; margin:0 auto; padding:0 20px;}
h1,h2,h3{font-family:Futura,"Avenir Next","Century Gothic",sans-serif; line-height:1.15; margin:0 0 .4em; text-wrap:balance;}
a{color:var(--gold); text-decoration:none;}
p{max-width:66ch;}
section{padding:64px 0 0;}
.eyebrow{font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:8px;}
.num{font-variant-numeric:tabular-nums;}
/* nav */
nav{position:sticky; top:0; z-index:20; background:rgba(13,17,14,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--rule);}
nav .wrap{display:flex; align-items:center; justify-content:space-between; padding-top:12px; padding-bottom:12px; gap:12px;}
.navmark{display:flex; align-items:center; gap:10px; font-family:Futura,"Avenir Next",sans-serif; font-weight:700; letter-spacing:.24em; color:var(--ink);}
.navmark .dot{color:var(--gold);}
nav .links{display:flex; gap:16px; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; flex-wrap:wrap;}
nav .links a{color:var(--muted);}
nav .links a:hover, nav .links a.here{color:var(--gold);}
/* cards, stats */
.card{background:var(--panel); border:1px solid var(--rule); border-radius:6px; padding:20px;}
.card h3{font-size:1rem;}
.card p{font-size:.88rem; color:var(--muted); margin:0; max-width:none;}
.grid3{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; margin-top:20px;}
.statrow{display:flex; gap:12px; flex-wrap:wrap; margin-top:24px;}
.stat{background:var(--panel); border:1px solid var(--rule); border-radius:6px; padding:12px 18px; flex:1; min-width:130px; text-align:center;}
.stat b{display:block; font-size:1.3rem; font-family:Futura,"Avenir Next",sans-serif; color:var(--gold); font-variant-numeric:tabular-nums;}
.stat span{font-size:.72rem; color:var(--muted); letter-spacing:.08em; text-transform:uppercase;}
/* buttons */
.btn{display:inline-block; border:1px solid var(--gold); color:var(--gold); background:none; border-radius:6px; padding:10px 20px; font-size:.85rem; letter-spacing:.1em; text-transform:uppercase; font-weight:600; cursor:pointer; font-family:inherit;}
.btn:hover{background:var(--gold); color:#0d110e;}
.btn:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{outline:2px solid var(--gold); outline-offset:2px;}
/* tables */
.tablewrap{overflow-x:auto; border:1px solid var(--rule); border-radius:6px; margin-top:16px;}
table{border-collapse:collapse; width:100%; min-width:560px; font-size:.9rem;}
th{font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); text-align:left; font-weight:600; background:var(--panel);}
th,td{padding:11px 14px; border-bottom:1px solid var(--rule); vertical-align:top; background:var(--panel);}
tbody tr:last-child td{border-bottom:none;}
td.amount{text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--gold);}
tfoot td{border-top:2px solid var(--gold); font-weight:600; border-bottom:none;}
.pill{display:inline-block; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; font-weight:600; padding:2px 10px; border-radius:99px; border:1px solid;}
.pill.ok{color:var(--green); border-color:var(--green);}
.pill.warn{color:var(--gold); border-color:var(--gold);}
.pill.risk{color:var(--risk); border-color:var(--risk);}
.pill.muted{color:var(--muted); border-color:var(--rule);}
/* forms */
label.f{display:block; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); font-weight:600; margin:16px 0 6px;}
input[type=text], input[type=password], select, textarea{width:100%; background:var(--chip); border:1px solid var(--rule); border-radius:6px; color:var(--ink); padding:11px 12px; font-family:inherit; font-size:.95rem;}
textarea{min-height:120px; resize:vertical;}
/* notes */
.note{border-left:3px solid var(--gold); background:var(--panel); padding:14px 18px; border-radius:0 6px 6px 0; margin:18px 0; font-size:.9rem;}
.note b{color:var(--gold);}
/* gate */
.gate{position:fixed; inset:0; background:var(--bg); z-index:50; display:flex; align-items:center; justify-content:center; padding:20px;}
.gate .inner{max-width:380px; width:100%; text-align:center;}
.gate .inner p{max-width:none; color:var(--muted); font-size:.9rem;}
.gate input{text-align:center; letter-spacing:.2em; margin:14px 0;}
.gate .err{color:var(--risk); font-size:.85rem; min-height:1.4em; margin-top:8px;}
footer{margin-top:80px; border-top:1px solid var(--rule); padding:26px 0 60px; color:var(--muted); font-size:.85rem;}
