/* V24.57: customer file viewer, independent of invoice layouts. */
.cp-file-preview{padding:0;border:1px solid #dae3ef;border-radius:22px;width:min(980px,calc(100vw - 40px));max-width:980px;height:min(820px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);background:#fff;color:#17345d;box-shadow:0 24px 90px #142e5040;overflow:hidden;box-sizing:border-box}
.cp-file-preview[open]{display:flex;flex-direction:column}.cp-file-preview::backdrop{background:#102b548c;backdrop-filter:blur(3px)}
body.customer-login-page.cp-file-open{overflow-y:hidden!important}
.cp-file-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid #e3eaf3;flex-shrink:0}.cp-file-header>div{min-width:0}.cp-file-header small{color:#6c7f98;font-size:11px}.cp-file-header h2{font-size:19px;margin:7px 0 0;line-height:1.3;overflow-wrap:anywhere;max-height:75px;overflow:auto}.cp-file-close{background:#eef3fa;border:0;border-radius:50%;width:44px;height:44px;flex-shrink:0;font-size:29px;color:#345473;cursor:pointer}
.cp-file-tools{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:10px 16px;background:#f8faff;border-bottom:1px solid #e3eaf3;flex-shrink:0}.cp-file-tools[hidden]{display:none}.cp-file-tools button{min-width:40px;min-height:40px;border:1px solid #d5dfed;background:white;color:#234a76;border-radius:10px;font-size:21px;cursor:pointer}.cp-file-tools button[data-label=fit]{font-size:13px;padding:0 12px}.cp-file-tools button:disabled{opacity:.4;cursor:default}.cp-file-page-label{font-size:12px;color:#536c8a;min-width:100px;text-align:center}
.cp-file-stage{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:#edf2f8;padding:16px;box-sizing:border-box;position:relative;text-align:center;align-content:center}.cp-file-stage:empty:before{content:'…';font-size:34px;color:#8295af}.cp-file-stage canvas{display:block;margin:0 auto;max-width:none;box-shadow:0 3px 15px #17345d18;background:#fff}.cp-file-image{width:100%;text-align:left}.cp-file-image img{display:block;max-width:none;height:auto;margin:0 auto;border-radius:4px}.cp-file-stage video{display:block;width:100%;max-height:100%;background:#111b2a;border-radius:12px;margin:auto}
.cp-file-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;border-top:1px solid #e3eaf3;flex-shrink:0}.cp-file-footer p{font-size:13px;color:#657c98;line-height:1.5;margin:0;max-width:640px}.cp-file-footer>div{display:flex;gap:8px;flex-shrink:0}.cp-file-footer .btn{border-radius:11px;min-height:44px;margin:0}.cp-file-footer .btn-primary{background:#173666;color:#fff}.cp-file-footer [hidden]{display:none}
.cp-document .cp-card-actions{margin-top:18px}
@media(max-width:680px){.cp-file-preview{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:16px}.cp-file-header{padding:15px;gap:12px}.cp-file-header h2{font-size:16px}.cp-file-footer{padding:12px 15px;flex-wrap:wrap;gap:10px}.cp-file-footer>div{margin-left:auto}.cp-file-footer p{width:100%}.cp-file-stage{padding:12px}.cp-file-page-label{min-width:90px}}
@media print{.cp-file-preview{display:none!important}}
