/* ERPCA Partner Portal - same palette as the ERPCA product */
:root{
  --navy:#023E62; --navy-d:#012C46; --navy-s:#A9C4D6;
  --green:#66AC49; --green-d:#2E7D32; --green-p:#EAF3E6;
  --orange:#C67A00; --orange-p:#FBF0DC; --red:#B23A3A; --red-p:#F6E7E7;
  --grey:#C9D2D9; --grey-d:#6B7A85; --grey-t:#8A98A3;
  --tint:#EAF0F3; --alt:#F4F7F9; --rule:#D5DDE3; --ink:#1A1A1A;
  --font:"Lato",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--alt);color:var(--ink);font:400 15px/1.55 var(--font)}
a{color:var(--green-d)}
.bar{background:var(--navy);color:#fff}
.bar-in{max-width:1180px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.brand{font:700 22px/1 var(--font);letter-spacing:1px;color:#fff;text-decoration:none}
.brand i{color:#8FC06F;font-style:normal}
.bar-sub{font-size:12px;color:var(--navy-s);border-left:1px solid #1B5379;padding-left:16px}
.bar-right{margin-left:auto;display:flex;align-items:center;gap:16px;font-size:13.5px}
.bar-right a{color:#fff;text-decoration:none;opacity:.85}
.bar-right a:hover{opacity:1;text-decoration:underline}
.nav{background:#fff;border-bottom:1px solid var(--rule)}
.nav-in{max-width:1180px;margin:0 auto;padding:0 22px;display:flex;gap:4px;overflow-x:auto}
.nav a{padding:13px 15px;font-size:14px;color:var(--grey-d);text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}
.nav a:hover{color:var(--navy)}
.nav a.on{color:var(--navy);font-weight:700;border-bottom-color:var(--green)}
.wrap{max-width:1180px;margin:0 auto;padding:24px 22px 60px}
.wrap-narrow{max-width:560px}
h1{margin:0 0 4px;font-size:24px;color:var(--navy)}
h2{margin:26px 0 12px;font-size:13px;letter-spacing:1.2px;text-transform:uppercase;color:var(--navy)}
.sub{margin:0 0 20px;color:var(--grey-d);font-size:14.5px}
.card{background:#fff;border-radius:6px;box-shadow:0 1px 2px rgba(2,62,98,.07);padding:22px;margin-bottom:16px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.kpi{background:#fff;border-radius:6px;padding:16px 18px;box-shadow:0 1px 2px rgba(2,62,98,.07)}
.kpi b{display:block;font-size:25px;color:var(--navy);line-height:1.15}
.kpi span{font-size:10.5px;letter-spacing:.9px;text-transform:uppercase;color:var(--grey-d)}
.kpi.green b{color:var(--green-d)} .kpi.amber b{color:var(--orange)}
table{width:100%;border-collapse:collapse;font-size:13.5px;background:#fff}
th{background:var(--navy);color:#fff;text-align:left;padding:10px 12px;font-size:11.5px;letter-spacing:.5px;white-space:nowrap}
td{padding:10px 12px;border-bottom:1px solid #EEF2F5;vertical-align:top}
tr:nth-child(even) td{background:#FAFCFD}
.t-wrap{overflow-x:auto;border-radius:6px;box-shadow:0 1px 2px rgba(2,62,98,.07)}
.r{text-align:right} .c{text-align:center} .nowrap{white-space:nowrap}
.pill{display:inline-block;padding:2px 10px;border-radius:11px;font-size:11px;font-weight:700;color:#fff;white-space:nowrap}
.p-pending{background:var(--orange)} .p-earned{background:var(--green-d)} .p-paid{background:var(--navy)}
.p-cancelled{background:var(--grey-t)} .p-active{background:var(--green-d)} .p-suspended{background:var(--red)}
.p-rejected{background:var(--red)} .p-draft{background:var(--grey-t)}
label{display:block;margin:0 0 14px;font-size:13px;font-weight:700;color:var(--navy)}
label em{font-style:normal;font-weight:400;color:var(--grey-t)}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=date],select,textarea{
  width:100%;padding:11px 12px;margin-top:5px;border:1.5px solid var(--rule);border-radius:4px;
  font:400 15px/1.3 var(--font);color:var(--ink);background:#fff}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 3px rgba(102,172,73,.16)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media(max-width:560px){.row2{grid-template-columns:1fr}}
.btn{display:inline-block;border:0;cursor:pointer;font:700 14.5px/1 var(--font);padding:12px 22px;border-radius:4px;text-decoration:none;text-align:center}
.btn-primary{background:var(--green);color:#fff}
.btn-primary:hover{background:var(--green-d)}
.btn-navy{background:var(--navy);color:#fff}
.btn-ghost{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--rule)}
.btn-danger{background:var(--red);color:#fff}
.btn-sm{padding:7px 13px;font-size:12.5px}
.btn-block{width:100%}
.msg{padding:12px 15px;border-radius:4px;margin-bottom:16px;font-size:14px}
.msg-ok{background:var(--green-p);border-left:3px solid var(--green-d);color:#17421a}
.msg-err{background:var(--red-p);border-left:3px solid var(--red);color:#6d1f1f}
.msg-info{background:var(--tint);border-left:3px solid var(--navy)}
.code-box{background:var(--navy);color:#fff;border-radius:6px;padding:20px 22px;margin-bottom:16px}
.code-box .lbl{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--navy-s)}
.code-box .val{font:700 30px/1.2 var(--font);letter-spacing:2px;margin:6px 0 14px}
.link-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.link-row input{flex:1 1 320px;background:#01324f;border:1px solid #1B5379;color:#fff;margin:0;font-size:13px}
.muted{color:var(--grey-d)} .small{font-size:12.5px}
.empty{padding:44px 20px;text-align:center;color:var(--grey-d);background:#fff;border-radius:6px}
.foot{max-width:1180px;margin:0 auto;padding:6px 22px 40px;font-size:12px;color:var(--grey-t)}
.split{display:grid;grid-template-columns:1fr 320px;gap:16px}
@media(max-width:860px){.split{grid-template-columns:1fr}}
.hero{background:var(--navy);color:#fff;padding:44px 22px}
.hero-in{max-width:1180px;margin:0 auto}
.hero h1{color:#fff;font-size:34px;margin-bottom:10px}
.hero p{color:var(--navy-s);font-size:17px;max-width:640px;margin:0 0 22px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:18px 0 0}
.step{background:#fff;border-radius:6px;padding:18px;box-shadow:0 1px 2px rgba(2,62,98,.07)}
.step b{display:block;color:var(--navy);margin-bottom:5px}
.step .n{display:inline-block;width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;
  font:700 13px/26px var(--font);text-align:center;margin-bottom:9px}

/* pagination */
.pager{display:flex;gap:12px;align-items:center;justify-content:center;margin:18px 0 4px}
