.customer-page{--cp-ink:#132e25;--cp-soft:#eff5f0;max-width:1200px;margin:auto;padding:24px clamp(16px,3vw,36px) 64px;color:var(--cp-ink)}
.customer-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0 26px}.customer-top a{color:inherit;text-decoration:none;font-weight:700}.customer-top img{width:48px;height:52px;object-fit:contain}.customer-brand{display:flex;align-items:center;gap:12px;font-size:24px}.customer-hero{padding:28px;border-radius:22px;background:linear-gradient(120deg,#173d2c,#0b241e);color:white;margin-bottom:24px}.customer-hero h1{font-size:clamp(24px,4vw,36px);margin:0 0 12px;line-height:1.4}.customer-hero p{color:#deeadf;margin:0}.customer-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.customer-tabs button{border:1px solid #d8e2da;background:white;border-radius:12px;padding:12px 16px;cursor:pointer;color:var(--cp-ink);font:inherit;font-weight:600}.customer-tabs button[aria-selected=true]{color:white;background:#16452e;border-color:#16452e}.customer-card{background:white;border:1px solid #dbe5dd;border-radius:20px;padding:24px;margin-bottom:18px;min-width:0}.customer-card h2{font-size:21px;margin:0 0 16px}.customer-card p{line-height:1.7}.customer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.customer-field{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:14px;min-width:0}.customer-field input,.customer-field textarea,.customer-field select{box-sizing:border-box;width:100%;min-height:48px;padding:12px;border:1px solid #cbdace;border-radius:10px;font:inherit;color:#19342b;background:#fff}.customer-field textarea{min-height:96px;resize:vertical}.customer-span{grid-column:1/-1}.customer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px}.customer-actions .btn{min-height:46px;white-space:normal}.customer-check{display:flex;gap:10px;align-items:flex-start;line-height:1.6;font-size:14px}.customer-check input{margin-top:5px;flex-shrink:0;width:18px;height:18px}.customer-muted{font-size:13px;color:#627a6a;line-height:1.6}.customer-note{border:1px solid #d3dfb8;background:#f6faef;border-radius:12px;padding:14px;line-height:1.7}.customer-key{display:block;overflow-wrap:anywhere;word-break:break-all;user-select:all;padding:16px;background:#f3f6f3;border:1px dashed #b9cbbd;border-radius:10px;font-size:13px;direction:ltr;text-align:left}.customer-invoice{display:flex;flex-direction:column;gap:12px;height:100%;margin:0}.customer-invoice header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.customer-invoice code{font-size:13px;overflow-wrap:anywhere}.customer-invoice strong{font-size:26px}.customer-invoice .btn{margin-top:auto}.customer-pill{display:inline-block;padding:5px 10px;border-radius:9px;background:var(--cp-soft);font-size:13px}.customer-receipt-tools{margin:0 auto 18px;max-width:1120px;border-radius:18px;padding:20px;background:#f2f7ef;border:1px solid #d8e5cd}.customer-receipt-tools h2{font-size:20px;margin:0 0 8px}.customer-install{display:flex;gap:20px;align-items:center;justify-content:space-between;background:#fff;border:1px solid #cbdcc7;padding:16px;border-radius:16px;margin:16px 0}.customer-install p{margin:4px 0 0}.customer-install [data-install-message]{font-size:13px;line-height:1.5}.customer-install .customer-actions{margin:0;flex-shrink:0}.customer-list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid #e3ece4;flex-wrap:wrap}.customer-guest{max-width:620px;margin:24px auto}.customer-error{color:#a12626;line-height:1.6;font-size:14px}.customer-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:18px}.customer-toolbar select{max-width:220px;padding:10px;border-radius:10px;border:1px solid #cad7cb;background:white;font:inherit}.pw-header-actions a[data-customer-link]{flex:0 0 auto;color:inherit}.customer-checkout-saved{padding:14px;background:#f1f7ee;border-radius:12px;margin-bottom:16px}.customer-checkout-saved select{width:100%;padding:12px;border:1px solid #ceddc9;border-radius:10px;font:inherit}
@media(max-width:600px){.customer-page{padding:12px 14px 36px}.customer-grid{grid-template-columns:minmax(0,1fr)}.customer-card{padding:18px;border-radius:16px}.customer-hero{padding:22px 18px}.customer-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.customer-tabs button{padding:12px 6px;font-size:13px}.customer-install{display:block}.customer-install .customer-actions{margin-top:12px}.customer-actions .btn{flex:1}.customer-receipt-tools{padding:16px;margin:12px}.customer-top{flex-wrap:wrap;padding-bottom:18px}.customer-top a{font-size:14px}.customer-brand{font-size:23px}.customer-card .customer-check{grid-column:1}.customer-list-row .btn{flex:0 0 auto}}
@media print{.customer-receipt-tools,.customer-install,.customer-key,.customer-hero,.customer-tabs,.customer-top{display:none!important}}

.customer-receipt-extras{margin:16px 0;padding:18px;border:1px solid #d8e5cd;border-radius:16px;background:#f8faf6}.customer-receipt-tools .customer-muted{margin:8px 0 0;font-size:12px}.customer-receipt-tools [data-pdf-state]:empty{display:none}.customer-receipt-tools .customer-actions{margin-top:8px}.customer-receipt-tools h2{font-size:18px}.customer-receipt-extras .customer-note{margin-top:12px}.customer-receipt-extras .customer-install{margin-bottom:0}
/* R170 customer access: scoped, responsive and keyboard accessible. */
.customer-access-card{max-width:760px;margin:26px auto;padding:30px;box-shadow:0 18px 50px #163a2410}
.customer-access-head h2{font-size:clamp(23px,3vw,32px);margin:12px 0 8px}
.customer-auth-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:22px 0;padding:6px;background:#f0f5ef;border-radius:14px}
.customer-auth-tabs button{border:0;background:transparent;color:#244935;border-radius:10px;padding:12px 16px;min-height:44px;flex:1;font:600 14px Tahoma,Arial,sans-serif;cursor:pointer;white-space:nowrap}
.customer-auth-tabs button[aria-current=page]{background:#173f2f;color:#fff;box-shadow:0 4px 12px #173f2f22}
.customer-auth-tabs button:disabled{opacity:.5;cursor:wait}
.customer-password{display:flex;width:100%;align-items:center;position:relative}
.customer-password input{padding-inline-end:76px!important;min-width:0;flex:1;width:100%;box-sizing:border-box}
.customer-password button{position:absolute;inset-inline-end:6px;border:0;border-radius:8px;min-height:36px;padding:5px 9px;background:#edf4eb;color:#244935;font:inherit;font-size:12px;cursor:pointer}
.customer-access-back{text-align:center;border-top:1px solid #dce6de;padding-top:20px;margin-top:25px}
.customer-access-back a{color:#286943;font-weight:600}
.customer-checkout-memory{background:#f5f8f2;border:1px solid #d6e4d5;padding:18px;border-radius:14px;margin:18px 0;font-size:13px}
.customer-checkout-join{margin-bottom:16px;border-bottom:1px solid #d6e4d5;padding-bottom:16px;display:grid;gap:8px}
.customer-checkout-join a{color:#25633e;text-decoration:underline;text-underline-offset:3px}
.customer-checkout-memory .customer-actions{gap:8px;flex-wrap:wrap}
.customer-checkout-memory .btn{font-size:12px;white-space:normal;min-height:40px}
[data-customer-link]{position:relative}[data-account-greeting]{position:absolute;top:90%;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.5;color:#2f6846}
.customer-field{min-width:0}.customer-field input{min-width:0;box-sizing:border-box}
@media(max-width:600px){.customer-access-card{padding:19px;margin-top:18px}.customer-auth-tabs button{padding:10px 5px;font-size:12px}.customer-access-card .customer-grid{grid-template-columns:1fr}.customer-access-card .customer-span{grid-column:1/-1}.customer-checkout-memory{padding:14px}.customer-hero h1{overflow-wrap:anywhere}}

/* Hidden conditional credential fields must stay absent despite flex/grid rules. */
.customer-page [hidden]{display:none!important}
