@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:300;
  font-display:swap;
  src:url('fonts/poppins-latin-300-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('fonts/poppins-latin-400-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('fonts/poppins-latin-500-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('fonts/poppins-latin-600-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('fonts/poppins-latin-700-normal.woff2') format('woff2');
}

:root{
  --ink:#1b2b22;
  --paper:#f6f3ea;
  --green:#1f4d3a;
  --green-deep:#123527;
  --gold:#b8862b;
  --gold-light:#e4c37a;
  --red:#a13d2f;
  --line:#d9d2bd;
  --card:#fffdf7;
  --muted:#6b6455;
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Poppins', -apple-system, Segoe UI, sans-serif;
  -webkit-font-smoothing:antialiased;
}
table, input, select, button, .amt, .num{font-family:'Poppins', -apple-system, Segoe UI, sans-serif;}

header.top{
  background:var(--green-deep); color:var(--paper);
  padding:11px 28px; display:flex; align-items:center; justify-content:space-between;
  border-bottom:3px solid var(--gold); flex-wrap:wrap; gap:10px;
}
header.top .brand{display:flex; align-items:center; gap:11px;}
header.top .brand-badge{width:34px; height:34px; flex-shrink:0;}
header.top .brand-text{display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; row-gap:2px;}
header.top .brand-name{font-size:17px; font-weight:600; letter-spacing:0.3px; color:#fff; white-space:nowrap;}
header.top .brand-name em{font-style:normal; color:var(--gold-light);}
header.top .brand-tag{
  font-size:10.5px; font-weight:500; letter-spacing:1.2px; text-transform:uppercase;
  color:#cfd8ce; padding-left:12px; border-left:1px solid rgba(255,255,255,0.25); white-space:nowrap;
}
header.top .who{font-family:'Poppins',sans-serif; font-weight:500; font-size:12px; display:flex; gap:14px; align-items:center;}
header.top .who a{color:var(--gold-light); text-decoration:none;}
header.top .who a:hover{text-decoration:underline;}

nav.tabs{display:flex; gap:2px; background:var(--green-deep); padding:0 28px; flex-wrap:wrap;}
nav.tabs a{
  color:#cfd8ce; padding:10px 18px; font-family:'Poppins',sans-serif; font-size:14px;
  text-decoration:none; border-bottom:3px solid transparent; display:inline-block;
}
nav.tabs a.active{color:#fff; border-bottom:3px solid var(--gold);}
nav.tabs a:hover{color:#fff;}

main{max-width:1220px; margin:0 auto; padding:26px 24px 60px;}

.flash{padding:10px 14px; margin-bottom:18px; border-left:4px solid var(--green); background:#e2ede5; font-size:13px;}
.flash.error{border-left-color:var(--red); background:#f6e4df;}

.grid-stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; margin-bottom:26px;}
.stat{background:var(--card); border:1px solid var(--line); border-left:4px solid var(--green); padding:14px 16px;}
.stat.warn{border-left-color:var(--red);}
.stat .label{font-family:'Poppins',sans-serif; font-weight:500; font-size:10.5px; text-transform:uppercase; letter-spacing:1px; color:var(--muted);}
.stat .value{font-size:24px; margin-top:4px; font-family:'Poppins',sans-serif; font-weight:500;}
.stat.warn .value{color:var(--red);}

section.panel{background:var(--card); border:1px solid var(--line); padding:20px; margin-bottom:22px;}
section.panel h2{margin:0 0 14px; font-size:16px; font-weight:600; padding-bottom:8px; border-bottom:1px solid var(--line);}

.form-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px;}
label{display:block; font-size:11px; text-transform:uppercase; letter-spacing:0.6px; color:var(--muted); margin-bottom:4px; font-family:'Poppins',sans-serif; font-weight:500;}
input, select{width:100%; padding:8px 9px; border:1px solid var(--line); background:#fff; font-size:14px; color:var(--ink);}
input:focus, select:focus{outline:2px solid var(--gold-light); border-color:var(--gold);}

.btn{background:var(--green); color:#fff; border:none; padding:10px 18px; font-family:'Poppins',sans-serif; font-size:14px; cursor:pointer; margin-top:14px; text-decoration:none; display:inline-block;}
.btn:hover{background:var(--green-deep);}
.btn.gold{background:var(--gold); color:var(--green-deep);}
.btn.gold:hover{background:var(--gold-light);}
.btn.small{padding:5px 10px; font-size:12px; margin-top:0;}
.btn.ghost{background:transparent; color:var(--green); border:1px solid var(--green);}
.btn.danger{background:transparent; color:var(--red); border:1px solid var(--red);}

table{width:100%; border-collapse:collapse; font-size:13px;}
th{text-align:left; background:var(--green-deep); color:var(--paper); padding:8px 10px; font-weight:normal; font-size:11px; text-transform:uppercase; letter-spacing:0.5px;}
td{padding:9px 10px; border-bottom:1px solid var(--line); vertical-align:middle;}
tr:hover td{background:#fbf7ec;}

.pill{display:inline-block; padding:2px 9px; font-size:10.5px; text-transform:uppercase; letter-spacing:0.5px; border-radius:2px; font-family:'Poppins',sans-serif; font-weight:500;}
.pill.paid{background:#e2ede5; color:var(--green-deep); border:1px solid var(--green);}
.pill.partial{background:#f4ecd9; color:var(--gold); border:1px solid var(--gold);}
.pill.pending{background:#eee9dc; color:var(--muted); border:1px solid var(--line);}
.pill.overdue{background:#f6e4df; color:var(--red); border:1px solid var(--red);}

.toolbar{display:flex; gap:10px; margin-bottom:14px; flex-wrap:wrap; align-items:end;}
.toolbar > div{min-width:150px;}
.empty{text-align:center; padding:40px 10px; color:var(--muted); font-style:italic;}
.actions-cell{display:flex; gap:6px; flex-wrap:wrap;}
.amt.pos{color:var(--green);}
.amt.neg{color:var(--red);}
.hint{font-size:11px; color:var(--muted); margin-top:4px;}

.auth-wrap{max-width:380px; margin:60px auto; background:var(--card); border:1px solid var(--line); border-top:4px solid var(--gold); padding:28px;}
.auth-wrap h2{margin-top:0;}
.auth-wrap .switch{margin-top:14px; font-size:13px; text-align:center;}

.payment-log{margin-top:10px; font-size:12px; color:var(--muted);}
.payment-log .prow{display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-bottom:1px dashed var(--line); gap:8px;}
.payment-log .prow form{display:inline;}
.payment-log .prow button{font-size:10px; padding:2px 6px; margin:0; cursor:pointer;}

footer.credit{text-align:center; font-size:11px; color:var(--muted); padding:24px 0 10px; font-family:'Poppins',sans-serif; font-weight:500;}
::placeholder{color:#a9a290;}