/* GVS workspace refinement 2.33: desktop hierarchy and document output */
.wp-client-search{padding:20px 24px;margin:0 0 24px;background:#fff;border:1px solid #dce4ed;border-radius:16px}.wp-client-search label{font-weight:700;display:block;margin-bottom:8px}.wp-client-search>div{display:flex;gap:10px}.wp-client-search input{flex:1;min-width:0;margin:0}.portal-admin .admin-section{border:1px solid #e0e6ee;box-shadow:0 4px 18px #17324d06}.portal-admin .admin-health-dot.wp-health-attention{background:#b87919;box-shadow:0 0 0 4px #f7ecd8}.portal-admin .admin-health-dot.wp-health-ok{background:#238368}.portal-admin table td{vertical-align:middle}.portal-admin .admin-metric{min-width:0}.portal-admin h2{letter-spacing:-.02em}
.wp-form-progress{padding:20px;background:#f4f7fb;border:1px solid #dce4ed;border-radius:12px;margin:16px 0}.wp-form-progress>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.wp-form-progress progress{display:block;width:100%;height:8px;margin:14px 0;accent-color:#183d61}.wp-form-progress p,.wp-form-progress small{font-size:13px;color:#526477;margin:6px 0}.wp-section-menu summary{cursor:pointer;font-weight:700;padding:12px 0}.wp-section-menu .ds-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.wp-section-menu .ds-nav a{display:flex;flex-direction:column;gap:6px;border:1px solid #dce4ed;background:#fff;color:#233f59;border-radius:10px;padding:12px;text-decoration:none}.wp-section-menu .ds-nav a[aria-current]{border-color:#244e75;background:#eef4fa;box-shadow:inset 3px 0 #244e75}.wp-section-menu small{font-size:12px;color:#5d6b7b}.wp-form-actions{position:sticky;bottom:12px;background:#fff;padding:14px;border:1px solid #dce4ed;border-radius:12px;box-shadow:0 5px 24px #16365112;z-index:5;flex-wrap:wrap}.wp-payment-entry{border:1px solid #bbccd9;background:#f4f8fb;border-radius:12px;padding:20px;margin:24px 0}.wp-payment-entry legend{font-size:19px;font-weight:700;padding:0 8px;color:#173d60}.wp-payment-entry .check,.wp-payment-entry p{grid-column:1/-1}.wp-validation{padding:12px 16px;border-left:4px solid #b42318;background:#fff1ef;color:#8c211b;border-radius:6px}.wp-invalid{outline:2px solid #b42318;outline-offset:2px}
.invoice{border:1px solid #dce4ed;border-radius:16px;box-shadow:0 8px 30px #17324d08;padding:32px;overflow-wrap:anywhere}.invoice .invoice-head{border-bottom:2px solid #193c5c;padding-bottom:24px;gap:24px}.invoice h1{font-size:28px;line-height:1.25}.invoice h3{font-size:14px;color:#526477}.invoice .invoice-items th{background:#edf2f7;color:#193c5c}.invoice .invoice-items td,.invoice .invoice-items th{padding:12px}.invoice .invoice-footer{border-top:1px solid #dce4ed;padding-top:18px;font-size:12px;color:#5d6b7b}.wp-received{background:#edf6f2;padding:22px;border-radius:12px;display:flex;flex-direction:column;gap:10px}.wp-received strong{font-size:28px;color:#176249}.wp-document-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.wp-document-totals>div{padding:16px;background:#f4f7fa;border-radius:8px;display:flex;flex-direction:column;gap:8px}.wp-document-totals strong{font-size:20px}.wp-invoice-snapshot{margin:24px 0}.wp-receipt-note{color:#59697a;font-size:13px;line-height:1.7}.invoice .eyebrow{color:#687a8c;letter-spacing:.08em;font-size:11px;font-weight:700}
@media print{.wp-form-actions,.wp-client-search,.wp-validation{display:none!important}.invoice{border:0!important;border-radius:0;box-shadow:none!important;padding:0!important;width:100%;max-width:none;font-size:10pt;color:#172b40}.invoice h1{font-size:22pt}.invoice .invoice-head,.invoice .invoice-billing,.invoice .totals,.invoice .invoice-footer,.wp-document-totals{break-inside:avoid}.invoice .invoice-head{display:flex;justify-content:space-between}.invoice .invoice-items{width:100%;table-layout:fixed}.invoice thead{display:table-header-group}.invoice td,.invoice th{overflow-wrap:anywhere}.invoice .invoice-items td,.invoice .invoice-items th{padding:8px}.invoice .company img{max-width:70px}.invoice a{color:inherit;text-decoration:none}.invoice .invoice-footer{margin-top:24px}.wp-document-totals{display:grid;grid-template-columns:repeat(3,1fr)}}

/* Keep the original seal legible, separate from the signer's name. */
.invoice .invoice-meta{flex:0 0 auto;min-width:230px;max-width:310px;text-align:left}
.invoice .invoice-meta>h2{margin-top:0}
.invoice .ceo{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;margin-top:16px;padding:12px 0 0;border-top:1px solid #dce4ed;background:transparent;text-align:left;break-inside:avoid}
.invoice .invoice-signer{display:flex;flex-direction:column;gap:5px;min-width:0;line-height:1.5}
.invoice .invoice-signer-name{font-size:16px;font-weight:500;color:#20364a;word-break:keep-all}
.invoice .invoice-signer-title{font-size:12px;letter-spacing:.04em;color:#526477}
.invoice .invoice-seal-frame{position:relative;display:block;flex:0 0 88px;width:88px;height:88px;overflow:hidden;background:#fff}
.invoice .invoice-seal-frame .seal{display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0;object-fit:contain;opacity:1;filter:none}
.invoice .invoice-seal-frame.is-fitted .seal{position:absolute;object-fit:fill}
@media screen and (max-width:700px){.invoice .invoice-meta{max-width:none;width:100%;min-width:0}.invoice .ceo{justify-content:flex-start;gap:24px}.invoice .invoice-seal-frame{flex-basis:80px;width:80px;height:80px}}
@media print{.invoice .invoice-meta{min-width:58mm;max-width:75mm}.invoice .invoice-seal-frame{flex-basis:23mm;width:23mm;height:23mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}.invoice .invoice-signer-name{font-size:11pt}.invoice .invoice-signer-title{font-size:9pt}.invoice .ceo{gap:4mm;padding-top:3mm;margin-top:4mm}}

.invoice .invoice-client-details{margin:0;display:grid;gap:12px}
.invoice .invoice-client-details>div{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;column-gap:14px}
.invoice .invoice-client-details dt{margin:0;font-size:12px;font-weight:600;color:#526477;line-height:1.6}
.invoice .invoice-client-details dd{margin:0;font-size:14px;line-height:1.6;color:#20364a;overflow-wrap:anywhere}
.invoice .invoice-client-details>div:first-child dd{font-weight:600}
@media print{.invoice .invoice-client-details{gap:2.5mm}.invoice .invoice-client-details>div{grid-template-columns:18mm minmax(0,1fr);column-gap:3mm}.invoice .invoice-client-details dt{font-size:9pt}.invoice .invoice-client-details dd{font-size:10pt}}

/* Keep signer labels and seal together as one compact authorization block. */
.invoice .ceo{justify-content:flex-start;gap:12px}
.invoice .invoice-signer{flex:0 1 auto;max-width:calc(100% - 100px);gap:8px}
.invoice .invoice-signer-row{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:8px}
.invoice .invoice-signer-label{font-size:12px;line-height:1.5;color:#526477}
.invoice .invoice-signer-title{letter-spacing:0;font-size:13px}
@media print{.invoice .ceo{gap:3mm}.invoice .invoice-signer{max-width:calc(100% - 26mm)}.invoice .invoice-signer-row{gap:2mm}.invoice .invoice-signer-label,.invoice .invoice-signer-title{font-size:9pt}}

