.billing-filters{margin-bottom:20px}
.billing-table input[type=checkbox],.billing-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}
.billing-table small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.billing-table td{vertical-align:top}
.billing-tools{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:20px 0}
.billing-tools .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.billing-note{font-size:12px;color:var(--muted)}
.billing-partner{border-block:1px solid var(--line);padding:16px 0;margin:20px 0}
.billing-partner h3,.billing-partner p{margin:2px 0}
.billing-spec-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}
.billing-spec-heading p{margin:5px 0}
.billing-total{text-align:right;margin:20px 0;font-size:17px}
.billing-confirm{margin-top:20px}
.billing-check{flex-direction:row;align-items:center}
.billing-import{margin-top:20px}
.billing-import summary{font-weight:650;cursor:pointer}
.billing-import p{overflow-wrap:anywhere}
.billing-tools .button:disabled{opacity:.5;cursor:not-allowed}
.billing-type-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0 22px}
.billing-type-tabs a{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:12px;color:var(--text);background:#f8fafc}
.billing-type-tabs a.active{border-color:var(--blue);background:#eaf2ff;color:var(--blue)}
.billing-type-tabs strong{font-size:20px}
.billing-heading{gap:16px;align-items:flex-start}
.billing-heading .button{flex-shrink:0}
.billing-undated{align-self:center}
.billing-alias-note{padding:10px 12px;margin-bottom:18px;border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--muted)}
.billing-alias-note summary{cursor:pointer;font-weight:650}
.billing-alias-note p{margin:8px 0 0}
@media(max-width:1000px){.billing-type-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-heading{flex-wrap:wrap}}
@media screen and (max-width:760px){.billing-spec-heading,.billing-tools{flex-direction:column;align-items:flex-start}.billing-table{min-width:760px}}

/* A document surface with typography independent of the application tables. */
#billing-specification{box-sizing:border-box;width:100%;max-width:210mm;margin:0 auto;padding:14mm;background:#fff;color:#172b3a;border:1px solid #dce4e9;border-radius:4px;box-shadow:0 5px 20px rgba(15,35,50,.05);font-family:Arial,Helvetica,sans-serif;font-size:10pt;line-height:1.4}
#billing-specification .billing-spec-heading{display:flex;flex-direction:row;width:100%;gap:0;align-items:flex-start;margin:0 0 7mm;padding-bottom:5mm;border-bottom:2px solid #183f4e}
#billing-specification .billing-spec-heading>div:first-child{flex:1 1 0;min-width:0}
#billing-specification .billing-spec-issuer{margin:0 0 3mm;font-size:12pt;font-weight:700;letter-spacing:.25px;color:#183f4e}
#billing-specification #billing-spec-title{margin:0;font-size:16pt;font-weight:700;line-height:1.2;letter-spacing:-.2px;color:#172b3a}
#billing-specification .billing-spec-subtitle{margin:2mm 0 0;font-size:9pt;color:#576773}
#billing-specification .billing-spec-meta{flex:0 0 43mm;margin-left:7mm;text-align:right;font-size:8.5pt;line-height:1.55}
#billing-specification .billing-spec-meta strong,#billing-specification .billing-spec-meta span,#billing-specification .billing-spec-meta time{display:block}
#billing-specification .billing-spec-meta strong{margin-bottom:3mm;font-size:9pt}
#billing-specification .billing-spec-meta time{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700;color:#172b3a}
#billing-specification .billing-partner{margin:0 0 6mm;padding:0 0 5mm;border:0;border-bottom:1px solid #cad4da;break-inside:avoid;page-break-inside:avoid}
#billing-specification .billing-spec-label{margin:0 0 2mm;font-size:7.5pt;text-transform:uppercase;letter-spacing:1px;color:#61727b}
#billing-specification .billing-partner h3{margin:0 0 2mm;font-size:12pt;line-height:1.3;color:#172b3a}
#billing-specification .billing-partner p:not(.billing-spec-label){margin:1mm 0;font-size:9pt;line-height:1.4;overflow-wrap:break-word}
#billing-specification .billing-spec-reference{margin:0 0 4mm;font-size:9pt}
#billing-specification .table-wrap{width:100%;margin:0;border:0}
#billing-specification .billing-spec-table{width:100%;min-width:182mm;max-width:none;table-layout:fixed;border-collapse:collapse;border-spacing:0;font-size:8.5pt;line-height:1.35}
#billing-specification .spec-col-number{width:4.945%}
#billing-specification .spec-col-domain{width:32.418%}
#billing-specification .spec-col-service{width:14.835%}
#billing-specification .spec-col-date{width:14.835%}
#billing-specification .spec-col-period{width:8.791%}
#billing-specification .spec-col-expiry{width:15.385%}
#billing-specification .spec-col-quantity{width:8.791%}
#billing-specification .billing-spec-table th,#billing-specification .billing-spec-table td{box-sizing:border-box;width:auto;padding:2.4mm 1.6mm;vertical-align:top;letter-spacing:0;word-break:normal;overflow-wrap:normal;hyphens:none}
#billing-specification .billing-spec-table th{font-family:inherit;font-size:7.5pt;line-height:1.3;font-weight:700;text-transform:none;text-align:left;color:#243f4e;background:#edf2f4;border-top:1px solid #b9c7cf;border-bottom:1px solid #8fa5b1;white-space:nowrap}
#billing-specification .billing-spec-table td{font-family:inherit;font-size:8.5pt;line-height:1.35;font-weight:400;color:#172b3a;background:transparent;border:0;border-bottom:1px solid #dce3e7}
#billing-specification .billing-spec-table small{display:block;margin-top:1mm;font-family:inherit;font-size:7pt;line-height:1.3;font-weight:400;color:#65747d}
#billing-specification .billing-spec-table abbr{text-decoration:none;border:0}
#billing-specification .billing-spec-table .spec-number,#billing-specification .billing-spec-table .spec-quantity{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}
#billing-specification .billing-spec-table .spec-date,#billing-specification .billing-spec-table .spec-period{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;font-variant-numeric:tabular-nums}
#billing-specification .billing-spec-table .spec-domain{white-space:normal;word-break:normal;overflow-wrap:break-word}
#billing-specification .billing-spec-table .spec-domain strong{font-weight:700}
#billing-specification .billing-spec-table .spec-service{white-space:nowrap}
#billing-specification .billing-spec-table .spec-service small{white-space:normal;word-break:normal;overflow-wrap:normal}
#billing-specification .billing-spec-footer{margin-top:5mm;break-inside:avoid;page-break-inside:avoid}
#billing-specification .billing-recap{display:flex;align-items:flex-start;gap:10mm;margin:0 0 4mm;padding:3mm 0;border-block:1px solid #9caeb8;break-inside:avoid;page-break-inside:avoid}
#billing-specification .billing-recap-services{flex:1 1 0;min-width:0}
#billing-specification #billing-recap-title{margin:0 0 1.5mm;font-size:10pt;line-height:1.3;font-weight:700;color:#183f4e}
#billing-specification .billing-recap-table{width:100%;min-width:0;max-width:none;margin:0;border-collapse:collapse;font-family:inherit;line-height:1.35}
#billing-specification .billing-recap-table th,#billing-specification .billing-recap-table td{padding:1mm 0;border:0;background:transparent;font-family:inherit;font-size:8.5pt;line-height:1.35;letter-spacing:0;text-transform:none;color:#172b3a;vertical-align:baseline}
#billing-specification .billing-recap-table th{text-align:left;font-weight:400}
#billing-specification .billing-recap-table td{width:12mm;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
#billing-specification .billing-recap-table tr:hover{background:transparent}
#billing-specification .billing-recap-totals{flex:0 0 66mm;padding-left:6mm;border-left:1px solid #dce3e7}
#billing-specification .billing-recap-totals dl{margin:0}
#billing-specification .billing-recap-totals dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:4mm;margin:0;padding:1.5mm 0}
#billing-specification .billing-recap-totals dt{font-size:8.5pt;font-weight:400}
#billing-specification .billing-recap-totals dd{margin:0;font-size:10pt;font-weight:700;font-variant-numeric:tabular-nums}
#billing-specification .billing-recap-totals .billing-recap-total{padding-top:0;padding-bottom:2mm;margin-bottom:1mm;border-bottom:1px solid #dce3e7}
#billing-specification .billing-recap-total dt{font-size:10pt;font-weight:700}
#billing-specification .billing-recap-total dd{font-size:16pt;color:#183f4e}
#billing-specification .billing-recap-totals p{margin:1.5mm 0 0;font-size:7.5pt;line-height:1.4;color:#5b6d77}
#billing-specification .billing-spec-footnote{margin:0;font-size:8pt;line-height:1.5;color:#5b6d77}
@media screen and (max-width:1000px){#billing-specification{padding:7mm}#billing-specification .table-wrap{overflow-x:auto}}
@media screen and (max-width:600px){#billing-specification{padding:5mm}#billing-specification .billing-spec-heading{flex-direction:column;gap:4mm}#billing-specification .billing-spec-meta{flex:auto;margin-left:0;text-align:left}#billing-specification .billing-spec-meta strong{margin-bottom:1mm}}
@media screen and (max-width:600px){#billing-specification .billing-recap{flex-direction:column;gap:3mm}#billing-specification .billing-recap-services,#billing-specification .billing-recap-totals{width:100%;flex:auto}#billing-specification .billing-recap-totals{padding:3mm 0 0;border-left:0;border-top:1px solid #dce3e7}}

/* The named page avoids changing the separate invoice/proforma print layout. */
@page billing-specification{size:A4 portrait;margin:14mm}
@media print{
    body.v6-console[data-current-page="billing_print"]{page:billing-specification;margin:0!important;padding:0!important;background:#fff!important;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:9pt;line-height:1.4}
    body.v6-console[data-current-page="billing_print"]> :not(main){display:none!important}
    body.v6-console[data-current-page="billing_print"] .v6-main{display:block!important;position:static!important;width:auto!important;max-width:none!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;background:#fff!important}
    body.v6-console[data-current-page="billing_print"] .v6-main> :not(#billing-specification){display:none!important}
    body.v6-console[data-current-page="billing_print"] #billing-specification{display:block!important;width:182mm!important;max-width:182mm!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;overflow:visible!important;break-inside:auto;page-break-inside:auto}
    #billing-specification .billing-spec-heading{display:flex!important;flex-direction:row;width:100%;gap:0;break-inside:avoid;page-break-inside:avoid;break-after:avoid;page-break-after:avoid}
    #billing-specification .billing-spec-meta{flex:0 0 43mm;margin-left:7mm;text-align:right}
    #billing-specification .table-wrap{display:block!important;overflow:visible!important;width:100%!important;min-width:0!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important}
    #billing-specification .billing-spec-table{display:table!important;width:182mm!important;min-width:0!important;max-width:none!important;table-layout:fixed!important;break-inside:auto;page-break-inside:auto}
    #billing-specification .billing-spec-table thead{display:table-header-group!important}
    #billing-specification .billing-spec-table tbody{display:table-row-group!important}
    #billing-specification .billing-spec-table tr{display:table-row!important;break-inside:avoid!important;page-break-inside:avoid!important}
    #billing-specification .billing-spec-table th,#billing-specification .billing-spec-table td{display:table-cell!important;width:auto!important;padding:2.4mm 1.6mm!important;letter-spacing:0!important}
    #billing-specification .billing-spec-table th{font-size:7.5pt!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
    #billing-specification .billing-spec-table td{font-size:8.5pt!important}
    #billing-specification .billing-spec-table tr:hover{background:transparent!important}
    #billing-specification .no-print{display:none!important}
    #billing-specification a{color:inherit!important;text-decoration:none!important}
}
