.cps-portal{font-family:Inter,Arial,sans-serif;background:#fff;border:1px solid #e5e7eb;border-radius:24px;box-shadow:0 20px 55px rgba(15,23,42,.10);padding:28px;margin:24px 0;color:#111827;box-sizing:border-box}.cps-portal *{box-sizing:border-box}.cps-portal h2,.cps-portal h3,.cps-portal h4{margin-top:0}.cps-login-box{max-width:560px;margin:34px auto;padding:34px}.cps-login-brand span,.cps-eyebrow{display:inline-flex;align-items:center;gap:6px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.cps-login-brand h2{font-size:30px;margin:16px 0 8px}.cps-login-brand p{color:#64748b;line-height:1.6;margin:0 0 18px}.cps-login-form label{display:block;font-weight:800;margin:14px 0;color:#1f2937}.cps-login-form input{width:100%;padding:13px 14px;border:1px solid #d1d5db;border-radius:14px;margin-top:7px;background:#f8fafc;outline:none}.cps-login-form input:focus{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12);background:#fff}.cps-login-form button,.cps-pay{background:linear-gradient(135deg,#0070ba,#004f8f);color:#fff!important;border:0;border-radius:12px;padding:12px 18px;text-decoration:none;font-weight:900;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(0,112,186,.22);cursor:pointer}.cps-login-form button{width:100%;margin-top:10px}.cps-alert{background:#fee2e2;color:#991b1b;border-radius:12px;padding:12px 14px;margin:14px 0;font-weight:800}.cps-portal-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:radial-gradient(circle at top left,#dbeafe,transparent 32%),linear-gradient(135deg,#0f172a,#1e3a8a);border-radius:22px;padding:28px;color:#fff;margin-bottom:20px}.cps-portal-hero h2{font-size:32px;line-height:1.15;margin:14px 0 6px;color:#fff}.cps-portal-hero p{margin:0;color:#dbeafe}.cps-portal-hero .cps-eyebrow{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff}.cps-logout{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:10px 14px;text-decoration:none;color:#fff;font-weight:900;white-space:nowrap}.cps-stats{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin:18px 0 26px}.cps-stats div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:18px;box-shadow:0 8px 22px rgba(15,23,42,.04)}.cps-stats b{display:block;color:#475569;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.cps-stats span{display:block;font-size:24px;font-weight:950;margin-top:8px;color:#0f172a}.cps-stats small{display:block;margin-top:6px;color:#64748b}.cps-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin:24px 0 12px}.cps-section-head h3{font-size:22px;margin:0 0 4px}.cps-section-head p{margin:0;color:#64748b}.cps-invoice-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cps-invoice-card{border:1px solid #e5e7eb;border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.06);padding:18px;overflow:hidden}.cps-invoice-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #eef2f7;padding-bottom:13px;margin-bottom:14px}.cps-invoice-no{display:inline-block;color:#2563eb;background:#eff6ff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:950}.cps-invoice-main h4{font-size:20px;margin:9px 0 0}.cps-invoice-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.cps-invoice-meta div{background:#f8fafc;border:1px solid #eef2f7;border-radius:14px;padding:11px 12px}.cps-invoice-meta small{display:block;color:#64748b;font-weight:800;margin-bottom:4px}.cps-invoice-meta strong{color:#111827}.cps-invoice-payment{border-radius:16px;background:#f8fafc;border:1px solid #e5e7eb;padding:13px}.cps-paid-note{display:inline-flex;background:#dcfce7;color:#166534;border-radius:999px;padding:7px 12px;font-weight:950}.cps-bank-mini{display:grid;gap:5px;color:#334155}.cps-bank-mini strong{font-size:15px;color:#0f172a}.cps-bank-mini span{color:#64748b}.cps-bank-mini em{font-style:normal;background:#fff;border:1px dashed #cbd5e1;border-radius:10px;padding:7px 9px;color:#0f172a}.cps-muted{color:#64748b}.cps-empty{grid-column:1/-1;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px;padding:24px;text-align:center;color:#64748b;font-weight:800}.cps-table-wrap{overflow:auto;margin-bottom:8px}.cps-modern-table{border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 10px 25px rgba(15,23,42,.04)}.cps-portal table{width:100%;border-collapse:collapse;min-width:640px;background:#fff}.cps-portal th,.cps-portal td{padding:14px 16px;border-bottom:1px solid #edf2f7;text-align:left}.cps-portal th{background:#f8fafc;font-weight:950;color:#334155}.cps-status{display:inline-block;padding:6px 11px;border-radius:999px;font-weight:950;font-size:12px;background:#eef2ff;color:#1d4ed8;white-space:nowrap}.cps-paid{background:#dcfce7;color:#166534}.cps-overdue{background:#fee2e2;color:#991b1b}.cps-unpaid,.cps-due,.cps-sent{background:#fef3c7;color:#92400e}.cps-cancelled{background:#e5e7eb;color:#374151}@media(max-width:900px){.cps-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cps-invoice-card-list{grid-template-columns:1fr}}@media(max-width:620px){.cps-portal{padding:16px;border-radius:18px}.cps-portal-hero{display:block;padding:22px}.cps-portal-hero h2{font-size:25px}.cps-logout{display:inline-flex;margin-top:14px}.cps-stats{grid-template-columns:1fr}.cps-invoice-meta{grid-template-columns:1fr}.cps-section-head{display:block}.cps-login-box{padding:22px}.cps-login-brand h2{font-size:25px}}

/* v1.5.22: compact customer invoice panel rows and payment-method actions */
.cps-portal .cps-compact-invoice-list{display:grid;grid-template-columns:1fr!important;gap:8px!important}
.cps-portal .cps-compact-invoice-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(320px,2fr) auto;align-items:center;gap:10px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-shadow:0 6px 16px rgba(15,23,42,.04);padding:8px 10px;min-height:46px;overflow:visible}
.cps-portal .cps-compact-primary{display:flex;align-items:center;gap:8px;min-width:0}.cps-portal .cps-compact-primary strong{font-size:13px;color:#0f172a;white-space:nowrap}.cps-portal .cps-compact-primary .cps-invoice-no{padding:3px 8px;font-size:11px;line-height:1.25;white-space:nowrap}.cps-portal .cps-compact-primary .cps-status{padding:4px 8px;font-size:11px;line-height:1.25;white-space:nowrap}
.cps-portal .cps-compact-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#64748b;font-size:12px;line-height:1.25}.cps-portal .cps-compact-meta span{display:inline-flex;align-items:center;gap:4px;background:#f8fafc;border:1px solid #eef2f7;border-radius:999px;padding:4px 8px;white-space:nowrap}.cps-portal .cps-compact-meta b{font-size:12px;color:#0f172a}.cps-portal .cps-compact-action{display:flex;justify-content:flex-end;align-items:center;margin:0;padding:0;border:0;background:transparent;min-width:135px}.cps-portal .cps-pay-compact,.cps-portal .cps-bank-details summary{min-width:118px;height:34px;padding:0 12px;border-radius:10px;font-size:12px;line-height:34px;text-align:center;white-space:nowrap}.cps-portal .cps-bank-details{position:relative;margin:0}.cps-portal .cps-bank-details summary{list-style:none;cursor:pointer;background:#0f172a;color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(15,23,42,.16)}.cps-portal .cps-bank-details summary::-webkit-details-marker{display:none}.cps-portal .cps-bank-pop{position:absolute;right:0;top:42px;z-index:50;width:min(360px,86vw);display:grid;gap:6px;background:#fff;border:1px solid #dbe3ef;border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.18);padding:14px;color:#334155}.cps-portal .cps-bank-pop strong{font-size:14px;color:#0f172a}.cps-portal .cps-bank-pop span{font-size:12px;color:#64748b}.cps-portal .cps-bank-pop em{font-style:normal;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:9px;padding:6px 8px;color:#0f172a;font-size:12px;line-height:1.3}.cps-portal .cps-paid-note{padding:7px 10px;font-size:12px;line-height:1.2;white-space:nowrap}@media(max-width:920px){.cps-portal .cps-compact-invoice-row{grid-template-columns:1fr;gap:7px;padding:10px}.cps-portal .cps-compact-action{justify-content:flex-start}.cps-portal .cps-bank-pop{left:0;right:auto}}

.cps-portal .cps-compact-action{gap:7px;flex-wrap:wrap}.cps-portal .cps-download-pdf{height:34px;line-height:34px;padding:0 12px;border-radius:10px;background:#ffffff;color:#0f172a!important;border:1px solid #cbd5e1;text-decoration:none;font-size:12px;font-weight:950;white-space:nowrap;box-shadow:0 6px 14px rgba(15,23,42,.06)}.cps-portal .cps-download-pdf:hover{background:#f8fafc;border-color:#94a3b8}.cps-portal .cps-pay-compact,.cps-portal .cps-bank-details summary,.cps-portal .cps-download-pdf{min-width:112px;text-align:center}


/* v1.5.82 Public File Transfer Form */
.cps-transfer-portal{max-width:980px;margin:30px auto;background:#fff;border:1px solid #e5e7eb;border-radius:24px;overflow:hidden;box-shadow:0 22px 60px rgba(15,23,42,.12);font-family:Arial,sans-serif;color:#0f172a}.cps-transfer-hero{padding:28px 32px;background:radial-gradient(circle at top left,#dbeafe 0,transparent 35%),linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff}.cps-transfer-hero span{text-transform:uppercase;letter-spacing:.14em;font-size:12px;opacity:.82}.cps-transfer-hero h2{margin:8px 0 8px;font-size:30px;color:#fff}.cps-transfer-hero p{margin:0;max-width:680px;color:rgba(255,255,255,.86)}.cps-transfer-public-form{padding:26px 32px}.cps-transfer-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cps-transfer-form-grid label{font-weight:700;display:flex;flex-direction:column;gap:8px}.cps-transfer-form-grid input,.cps-transfer-form-grid textarea{border:1px solid #dbe3ef;border-radius:13px;padding:12px;background:#fff}.cps-transfer-wide{grid-column:1/-1}.cps-transfer-public-form button{margin-top:18px;background:#0f172a;color:#fff;border:0;border-radius:13px;padding:13px 22px;font-weight:800;cursor:pointer}.cps-transfer-success{margin:18px 32px 0;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;border-radius:14px;padding:13px 16px;font-weight:700}@media(max-width:720px){.cps-transfer-form-grid{grid-template-columns:1fr}.cps-transfer-public-form,.cps-transfer-hero{padding:22px}}

/* v1.5.83 Multiple File Transfer Upload */
.cps-transfer-portal .cps-pro-file-upload{position:relative;border:1.5px dashed #93c5fd;border-radius:18px;background:linear-gradient(180deg,#eff6ff,#ffffff);padding:18px!important;gap:10px!important;align-items:center;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.cps-transfer-portal .cps-pro-file-upload span{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#1d4ed8;font-weight:900}.cps-transfer-portal .cps-pro-file-upload strong{font-size:17px;color:#0f172a}.cps-transfer-portal .cps-pro-file-upload small{color:#64748b;max-width:620px;line-height:1.5}.cps-transfer-portal .cps-pro-file-upload input[type=file]{width:100%;max-width:520px;background:#fff;border:1px solid #bfdbfe;border-radius:14px;padding:12px;cursor:pointer}.cps-transfer-portal .cps-pro-file-upload:hover{border-color:#2563eb;background:linear-gradient(180deg,#dbeafe,#ffffff)}

/* v1.5.84 Screenshot-matched professional file uploader */
.cps-transfer-portal .cps-pro-uploader{grid-column:1/-1;border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(15,23,42,.05);font-family:Arial,sans-serif;color:#3f3f46}.cps-transfer-portal .cps-pro-upload-notice{margin:0 0 14px;background:#dfeefa;border:1px solid #c5ddf3;border-radius:6px;padding:18px 20px;color:#42698b;font-size:17px;line-height:1.35}.cps-transfer-portal .cps-pro-upload-notice strong{font-weight:900;color:#3c6385}.cps-transfer-portal .cps-pro-upload-drop{display:flex!important;min-height:170px;border:1px dashed #d9d9df;background:#fbfbfc;border-radius:0;margin:0 10px 10px!important;align-items:center!important;justify-content:center!important;text-align:center!important;flex-direction:column!important;gap:20px!important;cursor:pointer;transition:.2s}.cps-transfer-portal .cps-pro-uploader.cps-drag-over .cps-pro-upload-drop,.cps-transfer-portal .cps-pro-upload-drop:hover{border-color:#a5a0ff;background:#fcfbff}.cps-transfer-portal .cps-pro-upload-drop input[type=file]{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.cps-transfer-portal .cps-pro-upload-title{font-size:26px;font-weight:500;color:#111;line-height:1.2}.cps-transfer-portal .cps-pro-upload-title b{color:#a9a2ff;font-weight:800}.cps-transfer-portal .cps-pro-upload-device{width:82px;height:78px;border-radius:7px;background:#edf0f5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#444;font-weight:800}.cps-transfer-portal .cps-pro-upload-device i{width:31px;height:31px;border-radius:999px;background:#2b7bd6;color:#fff;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:18px}.cps-transfer-portal .cps-pro-upload-device em{font-style:normal;font-size:13px}.cps-transfer-portal .cps-pro-upload-status{display:flex;gap:12px;align-items:center;background:#f0f0f2;border-top:1px solid #e6e6e9;border-bottom:1px solid #e6e6e9;padding:13px 16px}.cps-transfer-portal .cps-pro-spinner{width:15px;height:15px;border-radius:999px;border:2px solid #dfe6f3;border-top-color:#2b7bd6;display:inline-block}.cps-transfer-portal .cps-pro-uploading .cps-pro-spinner{animation:cpsSpin .8s linear infinite}.cps-transfer-portal .cps-pro-upload-status strong{display:block;font-size:14px;color:#444;line-height:1.15}.cps-transfer-portal .cps-pro-upload-status small{display:block;color:#777;font-size:13px}.cps-transfer-portal .cps-pro-upload-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;background:#fafafa;border-bottom:1px solid #e8e8ed;padding:12px 10px}.cps-transfer-portal .cps-pro-upload-head a{color:#a29aff;text-decoration:none;font-weight:800}.cps-transfer-portal .cps-pro-upload-head strong{text-align:center;color:#3e3e43;font-size:14px}.cps-transfer-portal .cps-pro-upload-head label{justify-self:end;display:flex;align-items:center;gap:6px;font-weight:800;color:#3e3e43}.cps-transfer-portal .cps-pro-upload-head select{border:1px solid #e1e3e8;border-radius:14px;padding:5px 8px;background:#fff}.cps-transfer-portal .cps-pro-file-list{display:grid;background:#fff}.cps-transfer-portal .cps-pro-file-row{display:grid;grid-template-columns:62px 1fr 32px;gap:12px;align-items:center;padding:14px 10px;border-bottom:1px solid #e9e9ee;min-height:72px}.cps-transfer-portal .cps-pro-file-progress{width:52px;height:52px;border-radius:6px;border:1px solid #e1e4ea;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px rgba(15,23,42,.05)}.cps-transfer-portal .cps-pro-file-progress span{width:39px;height:39px;border-radius:999px;background:conic-gradient(#e7e7ee 0 100%,#fff 0);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:#334}.cps-transfer-portal .cps-pro-file-meta strong{display:block;color:#3e3e43;font-size:14px;margin-bottom:6px}.cps-transfer-portal .cps-pro-file-meta small{display:block;color:#777;font-size:13px}.cps-transfer-portal .cps-pro-file-row button{width:26px;height:26px;border-radius:999px;border:0;background:#8b8b8b;color:#fff;font-weight:900;line-height:1;cursor:pointer}.cps-transfer-portal .cps-pro-file-row button:hover{background:#ef4444}@keyframes cpsSpin{to{transform:rotate(360deg)}}@media(max-width:720px){.cps-transfer-portal .cps-pro-upload-title{font-size:22px}.cps-transfer-portal .cps-pro-upload-head{grid-template-columns:1fr;justify-items:start}.cps-transfer-portal .cps-pro-upload-head strong{text-align:left}.cps-transfer-portal .cps-pro-upload-head label{justify-self:start}.cps-transfer-portal .cps-pro-file-row{grid-template-columns:54px 1fr 30px}.cps-transfer-portal .cps-pro-upload-notice{font-size:15px}}

/* v1.5.87 uploader functional states */
.cps-transfer-portal .cps-pro-upload-pager,.cps-cim .cps-pro-upload-pager{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;background:#fff;border-top:1px solid #e9e9ee}.cps-transfer-portal .cps-pro-upload-pager button,.cps-cim .cps-pro-upload-pager button{border:1px solid #dbe3ef;background:#fff;border-radius:999px;padding:6px 14px;font-weight:800;color:#334155;cursor:pointer}.cps-transfer-portal .cps-pro-upload-pager button:disabled,.cps-cim .cps-pro-upload-pager button:disabled{opacity:.45;cursor:not-allowed}.cps-transfer-portal .cps-pro-upload-pager span,.cps-cim .cps-pro-upload-pager span{font-size:13px;font-weight:800;color:#64748b}.cps-transfer-portal .cps-pro-uploading .cps-pro-file-progress span,.cps-cim .cps-pro-uploading .cps-pro-file-progress span{color:#1d4ed8}.cps-transfer-portal .cps-pro-upload-status.cps-pro-uploading .cps-pro-spinner,.cps-cim .cps-pro-upload-status.cps-pro-uploading .cps-pro-spinner{animation:cpsSpin .8s linear infinite}

/* v1.5.88 instant uploader completed-list states */
.cps-cim .cps-pro-file-complete .cps-pro-file-progress span,.cps-transfer-portal .cps-pro-file-complete .cps-pro-file-progress span{background:conic-gradient(#22c55e 0 100%,#fff 0)!important;color:#166534}
.cps-cim .cps-pro-upload-complete .cps-pro-spinner,.cps-transfer-portal .cps-pro-upload-complete .cps-pro-spinner{border-color:#bbf7d0;background:#22c55e;position:relative}
.cps-cim .cps-pro-upload-complete .cps-pro-spinner:after,.cps-transfer-portal .cps-pro-upload-complete .cps-pro-spinner:after{content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:900}
.cps-cim .cps-pro-waiting-row,.cps-transfer-portal .cps-pro-waiting-row{padding:18px 14px;color:#64748b;font-weight:800;border-bottom:1px solid #e9e9ee;background:#fff}
