.invoice-studio { margin-top: 22px; }
.invoice-studio fieldset { border: 1px solid var(--line); border-radius: 12px; padding: 16px; min-width: 0; }
.invoice-studio legend { padding: 0 8px; color: var(--cyan); }
.invoice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; }
.invoice-line { display: grid; grid-template-columns: minmax(120px,3fr) minmax(90px,1fr) minmax(90px,1fr) auto; gap: 12px; align-items: end; border-bottom: 1px solid var(--line); padding: 8px 0; }
.invoice-line button { margin-bottom: 14px; }
.invoice-toolbar { display:flex; gap:12px; align-items:end; flex-wrap:wrap; margin:12px 0; }
.invoice-toolbar label { flex:1 1 260px; }
#invoice-review { padding:18px; margin:18px 0; border:1px solid var(--cyan); border-radius:12px; }
#invoice-totals p { overflow-wrap:anywhere; white-space:pre-wrap; }
#invoice-totals p:last-child { font-size:1.35rem; font-weight:700; color:var(--green); }
#invoice-status { overflow-wrap:anywhere; color:var(--gold); }
@media(max-width:680px) { .invoice-grid { grid-template-columns:1fr; } .invoice-line { grid-template-columns:1fr 1fr; } .invoice-line label:first-child { grid-column:1/-1; } .invoice-line button { grid-column:1/-1; } }
