.invoice-portal{max-width:800px;padding:32px 20px 56px}
.invoice-portal header{border-bottom:3px solid var(--accent,#2b6a57);margin-bottom:24px}
.invoice-portal .panel{padding:24px;overflow-wrap:anywhere}
.invoice-portal h2{font-size:1.2rem;margin-bottom:12px}
.invoice-portal h3{font-size:1.05rem;margin-bottom:12px}
.invoice-portal form{display:grid;gap:18px;margin:22px 0 6px}
.invoice-portal label{display:grid;gap:7px;font-weight:600}
.invoice-portal input{width:100%;min-width:0;font-weight:400;box-sizing:border-box}
.invoice-portal label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:10px;font-weight:400}
.invoice-portal input[type=checkbox]{width:18px;flex:0 0 18px;margin-top:4px}
.invoice-portal button{min-height:44px;justify-self:start;max-width:100%;white-space:normal}
.invoice-portal form button{background:var(--accent,#2b6a57);color:white;padding:12px 20px}
.invoice-portal #status{padding:12px 0;min-height:24px}
.invoice-portal #status[role=alert]{color:#8b251f;font-weight:600}
.invoice-portal ul{padding-left:22px;line-height:1.8}
.invoice-portal article.panel{box-shadow:none;margin:16px 0}
@media(max-width:480px){.invoice-portal{padding:20px 14px 40px}.invoice-portal .panel{padding:18px}.invoice-portal button{width:100%}.invoice-portal input[type=file]{font-size:14px}}
