.client-portal{background:linear-gradient(130deg,#0e1d32,#090909);border-block:1px solid #77613c}
.client-portal h2 em{font-family:'Playfair Display',serif;color:var(--gold);font-weight:500}
.portal-auth{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.portal-auth form{width:100%;border:1px solid #77613c;margin:0;padding:30px;background:#111}
.portal-auth h3,.portal-invoice h3{font-size:24px;margin:0 0 20px;color:var(--gold)}
.portal-auth p,.client-portal p{color:#c4c4c4;line-height:1.8}
.portal-auth input{font-size:16px}
#portal-status{color:var(--gold);line-height:1.8}
.portal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.portal-invoice{border:1px solid #77613c;background:#101010;padding:30px;margin:25px 0}
.portal-money-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:22px 0;border-block:1px solid #77613c}
.portal-money-grid dt{color:#bdbdbd;font-size:13px;margin-bottom:10px}.portal-money-grid dd{color:var(--gold);font-size:24px;margin:0;overflow-wrap:anywhere}
.portal-payment-request{border-bottom:1px solid #d8b56c40;margin-bottom:20px}.portal-payment-request h4{color:#eee;font-size:16px}
.portal-empty{padding:30px;border:1px solid #77613c}.client-portal button:disabled{opacity:.65;cursor:wait}
@media(max-width:760px){.portal-auth{grid-template-columns:1fr}.portal-auth form,.portal-invoice{padding:24px 18px}.portal-money-grid{grid-template-columns:1fr;gap:18px}.portal-toolbar .actions{width:100%}.portal-toolbar .btn{flex:1}.portal-invoice .btn{display:block;text-align:center;line-height:1.7}.portal-auth .btn{width:100%;line-height:1.7}}
