.invoice-calculator{margin-block:var(--space-5) var(--space-6);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.invoice-calculator__heading{margin:0 0 var(--space-4);font-size:var(--text-xl)}.invoice-calculator__notice{margin-bottom:var(--space-4)}.invoice-calculator__form{gap:var(--space-5);display:grid}.invoice-calculator__hint{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.invoice-calculator__options{gap:var(--space-5);display:grid}.invoice-calculator__discount{gap:var(--space-3);display:grid}.invoice-calculator__actions{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.invoice-calculator__actions+.invoice-calculator__hint{margin-top:var(--space-2)}@media (width<=30rem){.invoice-calculator{padding:var(--space-4)}}.invoice-rows{gap:var(--space-3);border:0;min-width:0;margin:0;padding:0;display:grid}.invoice-rows__legend{margin-bottom:var(--space-1);font-weight:var(--weight-bold);padding:0}.invoice-rows__list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.invoice-rows__add{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.invoice-row{padding:var(--space-3);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);position:relative}.invoice-row__fields{gap:var(--space-3);border:0;min-width:0;margin:0;padding:0;display:grid}.invoice-row__legend{font-weight:var(--weight-bold);font-size:var(--text-sm);padding:0}.invoice-row__field{gap:var(--space-1);min-width:0;display:grid}.invoice-row__field label{font-size:var(--text-sm)}.invoice-row__field input,.invoice-row__field select{width:100%;min-width:0;min-height:2.75rem;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);font:inherit}.invoice-row__field--amount input{font-variant-numeric:tabular-nums}.invoice-row__field input:focus-visible,.invoice-row__field select:focus-visible{border-color:var(--color-focus)}.invoice-row__input--invalid{box-shadow:inset 0 0 0 1px var(--color-danger);border-color:var(--color-danger)!important}.invoice-row__error{gap:var(--space-2);color:var(--color-danger);font-size:var(--text-sm);font-weight:var(--weight-medium);align-items:flex-start;margin:0;display:flex}.invoice-row__remove{top:var(--space-1);right:var(--space-1);position:absolute}.invoice-row__remove-button{align-items:center;gap:var(--space-1);min-height:2.75rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);color:var(--color-accent);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;display:inline-flex}.invoice-row__remove-button:hover{color:var(--color-accent-hover);text-decoration:underline}@media (width>=36rem){.invoice-row__fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr)}.invoice-row__legend,.invoice-row__field--description,.invoice-row__error{grid-column:1/-1}}.invoice-result{margin-top:var(--space-5);padding:var(--space-4);background:var(--color-surface-muted);border-radius:var(--radius-md)}.invoice-result__heading{margin:0 0 var(--space-3);font-size:var(--text-lg)}.invoice-result__meta,.invoice-result__empty{margin:0 0 var(--space-3)}.invoice-result__note{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.invoice-result .notice{margin-bottom:var(--space-3)}.invoice-result__table{font-variant-numeric:tabular-nums;margin:0}.invoice-result__unit{font-weight:var(--weight-normal);color:var(--color-text-muted)}.invoice-result__number{text-align:right;white-space:nowrap}.invoice-result__table tfoot th,.invoice-result__table tfoot td{font-weight:var(--weight-bold);border-top:2px solid var(--color-border-strong)}.invoice-details{gap:var(--space-3);border:0;min-width:0;margin:0;padding:0;display:grid}.invoice-details__grid{gap:var(--space-3);display:grid}.invoice-details__note{gap:var(--space-2);min-width:0;padding:var(--space-3);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0;display:grid}.invoice-row__field textarea{width:100%;min-width:0;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);font:inherit;resize:vertical}.invoice-row__field textarea:focus-visible{border-color:var(--color-focus)}@media (width>=36rem){.invoice-details__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-details__wide{grid-column:1/-1}}.invoice-calculator__privacy{margin:var(--space-2) 0 0;font-size:var(--text-sm)}.invoice-print{display:none}@media print{body:has(.invoice-print) :not(:has(.invoice-print),.invoice-print,.invoice-print *){display:none!important}body:has(.invoice-print) .invoice-calculator{box-shadow:none;background:0 0;border:0;margin:0;padding:0}.invoice-print{color:#000;font-size:11pt;display:block}.invoice-print table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:0 0 1.5em}.invoice-print caption{font-weight:var(--weight-bold);text-align:left;margin-bottom:.4em}.invoice-print th,.invoice-print td{text-align:left;border-bottom:1px solid #999;padding:.3em .5em}.invoice-print .invoice-result__number{text-align:right;white-space:nowrap}.invoice-print__company{font-size:18pt;font-weight:var(--weight-bold);margin:0 0 1.5em}.invoice-print__head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:2em;margin:0 0 1.5em;display:grid}.invoice-print__head .invoice-print__note,.invoice-print__facts{margin:0}.invoice-print__facts dt,.invoice-print__facts dd{margin:0;display:inline}.invoice-print__scenario{font-weight:var(--weight-bold)}.invoice-print__sums{width:60%;margin:0 0 1.5em auto}.invoice-print__sums div{justify-content:space-between;gap:1em;padding:.2em .5em;display:flex}.invoice-print__sums dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.invoice-print__grand-total{font-weight:var(--weight-bold);border-top:2px solid #000}.invoice-print__note{break-inside:avoid;margin-bottom:1em}.invoice-print__note-title{font-weight:var(--weight-bold);margin:0 0 .2em}.invoice-print__note-text{white-space:pre-line;overflow-wrap:anywhere;margin:0}.invoice-print__footer{color:#444;margin-top:2em;font-size:9pt}}
