/* E-invoices (Pro tab): phone first, iOS grouped style. Print layout at the end. */
.pro-features{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.pro-features{grid-template-columns:1fr}}
@media(min-width:1400px){.pro-features{grid-template-columns:repeat(4,minmax(0,1fr))}}

.inv{--inv-card:var(--ios-card,#fff);--inv-sep:var(--ios-sep,#e2e3dd);--inv-label2:var(--ios-label2,#5f655d);--inv-r:var(--ios-r,20px);--inv-accent:#163f32;--inv-accent-text:#fff;--inv-warn-bg:#fcebd3;--inv-warn:#8a4b00;--inv-ok-bg:#e3f2e1;--inv-ok:#1e6b3a;scroll-margin-top:72px;max-width:760px}
.inv [hidden]{display:none!important}
.inv h3{font-size:13px;font-weight:650;letter-spacing:.2px;text-transform:uppercase;color:var(--inv-label2);margin:0}
.inv .inv-title{font-size:22px;font-weight:700;letter-spacing:-.3px;text-transform:none;color:inherit;margin:4px 0 6px}
.inv .inv-title:focus{outline:none}
.inv-honest{font-size:14px;line-height:1.5;color:var(--inv-label2);background:var(--inv-card);border-radius:14px;padding:14px 16px;margin:0 0 22px;border-left:4px solid #b9d98a}
.inv-group{margin:0 0 24px}
.inv-group>h3,.inv-group-head{margin:0 0 10px;padding:0 4px}
.inv-group-head{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px}
.inv-card{background:var(--inv-card);border-radius:var(--inv-r);padding:16px}
.inv-seller{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.inv-seller>div{display:grid;gap:3px;min-width:0}
.inv-seller strong{font-size:16px}
.inv-seller span{font-size:14px;color:var(--inv-label2);overflow-wrap:anywhere}
.inv-empty{display:grid;gap:12px;justify-items:start}
.inv-empty p,.inv-empty-text{margin:0;font-size:14px;line-height:1.5;color:var(--inv-label2)}
.inv-empty-text{padding:0 4px}
.inv-note{font-size:13px;line-height:1.5;color:var(--inv-label2);margin:10px 4px 0}
.inv-list{list-style:none;margin:0;padding:0;background:var(--inv-card);border-radius:var(--inv-r);overflow:hidden}
.inv-list li+li{border-top:.5px solid var(--inv-sep)}
.inv-row{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:10px 12px 10px 16px;background:none;border:0;text-align:left;color:inherit;font:inherit;cursor:pointer}
.inv-row:hover{background:#00000006}
.inv-row>svg{width:16px;height:16px;flex:none;color:var(--inv-label2);opacity:.6}
.inv-row-main,.inv-row-side{display:grid;gap:2px;min-width:0}
.inv-row-main{flex:1}
.inv-row-side{text-align:right;flex:none}
.inv-row strong{font-size:15px;font-weight:600}
.inv-row span span,.inv-row-main>span,.inv-row-side>span{font-size:13px;color:var(--inv-label2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inv-more{margin-top:10px}
.inv-back{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 8px 0 0;background:none;border:0;color:var(--inv-ok);font:inherit;font-size:16px;cursor:pointer}
.inv-back svg{width:18px;height:18px;transform:rotate(180deg)}

/* Forms */
.inv-form{display:grid;gap:14px}
.inv-lead{margin:0;font-size:14px;line-height:1.5;color:var(--inv-label2)}
.inv-error:empty{display:none}
.inv-error{margin:0}
.inv-fields{display:grid;grid-template-columns:1fr;gap:14px;background:var(--inv-card);border-radius:var(--inv-r);padding:16px}
.inv .inv-field{display:grid;gap:6px;max-width:none;min-width:0;margin:0}
.inv .inv-field>span,.inv .inv-field>label{font-size:14px;font-weight:600}
.inv .inv-field em{font-style:normal;font-weight:400;color:var(--inv-label2);font-size:13px}
.inv .inv-field small{font-size:13px;line-height:1.45;color:var(--inv-label2)}
.inv input,.inv select,.inv textarea{width:100%;min-height:44px;font-size:16px;box-sizing:border-box}
.inv textarea{font:inherit;font-size:16px;border:1px solid #dce3d9;border-radius:10px;padding:10px 12px;background:var(--white,#fff);color:inherit;resize:vertical}
.inv input[type=date]{-webkit-appearance:none;appearance:none;display:block}
.inv-inline{display:flex;gap:8px}
.inv-inline select{flex:1;min-width:0}
.inv-inline .button{flex:none}
.inv-seg{border:0;margin:0;padding:16px;background:var(--inv-card);border-radius:var(--inv-r);display:grid;gap:8px}
.inv-seg legend{font-size:14px;font-weight:600;padding:0;margin-bottom:8px;float:left;width:100%}
.inv-seg label{display:flex;align-items:center;gap:12px;min-height:44px;padding:4px 12px;border:1px solid var(--inv-sep);border-radius:12px;font-size:15px;cursor:pointer}
.inv-seg label:has(input:checked){border-color:var(--inv-ok);background:var(--inv-ok-bg)}
.inv-seg input{width:20px;min-height:20px;height:20px;margin:0;flex:none;accent-color:var(--inv-ok)}
.inv-actions{display:flex;flex-wrap:wrap;gap:10px}
.inv-actions .button{font-size:15px;min-height:48px;padding:12px 18px}
.inv-actions .button.small{font-size:14px;min-height:44px;padding:10px 14px}
.inv-actions .button svg,.inv-group-head .button svg,.inv-seller .button svg,.inv-inline .button svg,.inv-add-line .button svg{width:16px;height:16px}
.inv .button[disabled]{opacity:.45;cursor:not-allowed}
.inv-sub{margin:6px 4px 0!important}
.inv-line{background:var(--inv-card);border-radius:var(--inv-r);padding:12px 16px 16px;display:grid;gap:12px}
.inv-line+.inv-line{margin-top:10px}
.inv-line-head{display:flex;align-items:center;gap:10px;min-height:36px}
.inv-line-head>span{font-size:13px;font-weight:600;color:var(--inv-label2);text-transform:uppercase;letter-spacing:.2px}
.inv-line-amount{margin-left:auto;font-size:15px}
.inv-line-head .icon-button{width:44px;min-width:44px;min-height:44px;margin-right:-10px}
.inv-line-head .icon-button svg{width:18px;height:18px}
.inv-line-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.inv-add-line{display:grid;grid-template-columns:1fr;gap:10px;align-items:end;background:var(--inv-card);border-radius:var(--inv-r);padding:16px}
.inv-totals{margin:0;display:grid;gap:6px;background:var(--inv-card);border-radius:var(--inv-r);padding:14px 16px}
.inv-totals>div{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.inv-totals dt{color:var(--inv-label2)}
.inv-totals dd{margin:0;font-variant-numeric:tabular-nums}
.inv-totals .inv-grand{border-top:.5px solid var(--inv-sep);padding-top:8px;margin-top:2px;font-weight:700;font-size:17px}
.inv-totals .inv-grand dt{color:inherit}

/* Invoice detail */
.inv-detail{display:grid;gap:14px}
.inv-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.inv-detail-head p{margin:0;font-size:14px;color:var(--inv-label2)}
.inv-big{font-size:22px;font-weight:700;white-space:nowrap;margin-top:6px}
.inv-problems{background:var(--inv-warn-bg);color:var(--inv-warn);border-radius:var(--inv-r);padding:14px 16px;font-size:14px;line-height:1.5}
.inv-problems ul{margin:8px 0 12px;padding-left:20px}
.inv-problems li+li{margin-top:4px}
.inv-fix{display:flex;flex-wrap:wrap;gap:8px}
.inv-fix .button{font-size:14px;min-height:44px}
.inv-keep{margin:12px 0 10px;font-size:13px;line-height:1.5}
.inv-problems>.button{font-size:14px;min-height:44px}
.inv-ok{display:flex;gap:10px;align-items:center;margin:0;background:var(--inv-ok-bg);color:var(--inv-ok);border-radius:14px;padding:12px 14px;font-size:14px}
.inv-ok svg{width:18px;height:18px;flex:none}
.inv-main-actions .button{flex:1 1 200px}
.inv-lines-card{padding:6px 0 0;overflow:hidden}
.inv-lines-card .inv-totals{padding:12px 16px 16px;border-top:.5px solid var(--inv-sep);border-radius:0}
.inv-lines-card .inv-note{margin:0 16px 16px}
.inv-table{width:100%;border-collapse:collapse;font-size:14px}
.inv-table th{font-size:12px;font-weight:600;color:var(--inv-label2);text-align:right;padding:8px 10px}
.inv-table td{padding:10px;text-align:right;border-top:.5px solid var(--inv-sep);font-variant-numeric:tabular-nums;vertical-align:top}
.inv-table th:first-child,.inv-table td:first-child{text-align:left;padding-left:16px}
.inv-table th:last-child,.inv-table td:last-child{padding-right:16px}
.inv-table td:first-child{overflow-wrap:anywhere}
/* Phone: each line as two rows (description, then figures) so nothing scrolls sideways. */
@media(max-width:560px){
  .inv-table thead{display:none}
  .inv-table tr{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;column-gap:10px;padding:10px 16px;border-top:.5px solid var(--inv-sep)}
  .inv-table tr:first-child{border-top:0}
  .inv-table td{border:0;padding:0;font-size:14px}
  .inv-table td:first-child{grid-column:1/-1;padding:0 0 4px;font-weight:600}
  .inv-table td:not(:first-child){color:var(--inv-label2)}
  .inv-table td:last-child{color:inherit;font-weight:600;padding-right:0}
  .inv-detail-head{flex-direction:column;gap:2px}
  .inv-big{margin-top:0}
}
@media(min-width:701px){
  .inv-fields{grid-template-columns:1fr 1fr}
  .inv-fields .inv-wide{grid-column:1/-1}
  .inv-line-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .inv-add-line{grid-template-columns:1fr auto}
}

@media(prefers-color-scheme:dark){
  .inv{--inv-card:#1a201c;--inv-sep:#2b332e;--inv-label2:#a3ada6;--inv-accent:#d9efa8;--inv-accent-text:#10291f;--inv-warn-bg:#33240f;--inv-warn:#f1c27d;--inv-ok-bg:#1d2e22;--inv-ok:#a8dcb5;color:#e8ede9}
  .inv-honest{border-left-color:#d9efa8}
  .inv input,.inv select,.inv textarea{background:#0e1310;color:#e8ede9;border-color:#2f3a33}
  .inv .button.primary{background:#d9efa8;color:#10291f}
  .inv .button.secondary{background:#1a201c;border-color:#2f3a33;color:#e8ede9}
  .inv .button.danger{background:#2a1a17;color:#f0a597}
  .inv-row:hover{background:#ffffff08}
  .inv .form-error{background:#2a1a17;color:#f0a597}
  .inv-seg label:has(input:checked){border-color:#a8dcb5}
}

/* Printable invoice: A4, black on white, every legal field. */
#print-invoice{display:none}
@media print{
  @page{size:A4;margin:16mm 15mm}
  body.printing-invoice>*:not(#print-invoice){display:none!important}
  html:has(body.printing-invoice),body.printing-invoice{background:#fff!important}
  body.printing-invoice #print-invoice{display:block;font:10.5pt/1.45 Arial,Helvetica,sans-serif;color:#000;background:#fff}
  #print-invoice h1{font-size:22pt;margin:0;letter-spacing:-.3pt}
  #print-invoice h2{font-size:8.5pt;text-transform:uppercase;letter-spacing:.6pt;color:#555;margin:0 0 4pt}
  #print-invoice p{margin:0}
  #print-invoice table{border-collapse:collapse}
  #print-invoice th{text-align:left;font-weight:600}
  #print-invoice .num{text-align:right;white-space:nowrap}
  .pi-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20pt;margin-bottom:18pt}
  .pi-number{font-size:13pt;font-weight:700;margin-top:2pt}
  .pi-meta th,.pi-meta td{padding:1.5pt 0 1.5pt 12pt;font-size:10pt}
  .pi-meta th{color:#555;font-weight:400}
  .pi-parties{display:grid;grid-template-columns:1fr 1fr;gap:24pt;margin-bottom:18pt}
  .pi-ids{margin-top:4pt!important;font-size:9pt;color:#333}
  .pi-lines{width:100%;margin-bottom:12pt}
  .pi-lines th{border-bottom:1.2pt solid #000;padding:4pt 6pt;font-size:9pt}
  .pi-lines td{border-bottom:.5pt solid #bbb;padding:5pt 6pt;vertical-align:top}
  .pi-lines th:first-child,.pi-lines td:first-child{padding-left:0}
  .pi-lines th:last-child,.pi-lines td:last-child{padding-right:0}
  .pi-lines tr{break-inside:avoid}
  .pi-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:24pt;break-inside:avoid;margin-bottom:14pt}
  .pi-vat th,.pi-vat td{padding:3pt 8pt 3pt 0;font-size:9pt;border-bottom:.5pt solid #bbb}
  .pi-sum{min-width:200pt}
  .pi-sum th,.pi-sum td{padding:3pt 0;font-size:10.5pt}
  .pi-sum td{text-align:right;padding-left:18pt;white-space:nowrap}
  .pi-total th,.pi-total td{border-top:1.2pt solid #000;padding-top:5pt;font-size:12.5pt;font-weight:700}
  .pi-exempt{font-weight:600;margin-bottom:8pt!important}
  .pi-pay,.pi-note{margin-top:10pt!important;font-size:9.5pt;break-inside:avoid}
}
