/* Recens Host — client billing / invoices list */
.billing-head{padding:44px 0 8px;}
.billing-head h1{font-family:var(--font-display); font-weight:700; font-size:clamp(26px,3vw,34px); letter-spacing:-0.01em;}
.billing-head .eyebrow{margin-bottom:12px;}

.billing-wrap{padding:24px 0 80px;}
.invoice-table{background:var(--white); border:1px solid var(--frost-dim); border-radius:14px; overflow:hidden;}
.invoice-row{display:grid; grid-template-columns:150px 1fr 130px 110px 90px; align-items:center; gap:16px; padding:18px 24px; border-top:1px solid var(--frost);}
.invoice-row:first-child{border-top:none; background:var(--frost); font-family:var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:0.04em; color:var(--slate);}
.invoice-row .num{font-family:var(--font-mono); font-weight:600; font-size:14px;}
.invoice-row .desc{font-size:13.5px; color:var(--slate);}
.invoice-row .amt{font-family:var(--font-mono); font-weight:600; font-size:14px;}
.inv-status{font-family:var(--font-mono); font-size:10.5px; padding:3px 9px; border-radius:20px; font-weight:600; justify-self:start;}
.inv-status.paid{background:rgba(62,217,160,0.16); color:#1f9d72;}
.inv-status.unpaid{background:rgba(232,163,61,0.16); color:#a8710f;}
.invoice-actions{display:flex; flex-direction:column; gap:6px; align-items:flex-end;}
.inv-view{font-family:var(--font-mono); font-size:12px; color:var(--ink); text-decoration:underline;}

.billing-empty{background:var(--white); border:1px solid var(--frost-dim); border-radius:14px; padding:48px; text-align:center; color:var(--slate);}
.billing-empty a{color:var(--amber); font-weight:600;}

@media(max-width:760px){
  .invoice-row{grid-template-columns:1fr auto; row-gap:6px;}
  .invoice-row .desc{grid-column:1 / -1;}
}

/* LOGIN */
.auth-wrap{min-height:calc(100vh - 72px); display:flex; align-items:center; justify-content:center; padding:40px 20px;}
.auth-card{background:var(--white); border:1px solid var(--frost-dim); border-radius:16px; padding:38px; width:100%; max-width:420px; box-shadow:var(--shadow-md);}
.auth-card h1{font-family:var(--font-display); font-weight:700; font-size:24px; margin-bottom:6px;}
.auth-card .sub{color:var(--slate); font-size:14px; margin-bottom:26px;}
.auth-field{display:flex; flex-direction:column; gap:6px; margin-bottom:16px;}
.auth-field label{font-family:var(--font-mono); font-size:11.5px; text-transform:uppercase; letter-spacing:0.03em; color:var(--slate);}
.auth-field input{font-family:var(--font-body); font-size:14.5px; padding:12px 14px; border:1px solid var(--frost-dim); border-radius:9px; background:var(--frost); outline:none; color:var(--ink);}
.auth-field input:focus{border-color:var(--ink); background:var(--white);}
.auth-btn{width:100%; margin-top:8px; justify-content:center;}
.auth-err{font-family:var(--font-mono); font-size:12.5px; color:#c0392b; margin-bottom:16px;}
.auth-status{font-size:13px; color:#158a62; background:rgba(62,217,160,0.12); border:1px solid rgba(62,217,160,0.35); border-radius:9px; padding:11px 14px; margin-bottom:16px;}
.auth-field-head{display:flex; justify-content:space-between; align-items:baseline; gap:12px;}
.auth-link{font-size:12.5px; color:var(--slate); text-decoration:underline;}
.auth-link:hover{color:var(--ink);}
.auth-hint{font-size:12.5px; color:var(--slate-light); text-align:center; margin-top:18px;}
