@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');
:root{--company:#207868;--ink:#1b2c31;--muted:#60777b;--line:#dde8e9;--bg:#f3f7f7;--card:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 'DM Sans',Arial,sans-serif}a{color:var(--company);text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}.cp-wrap{width:min(1120px,calc(100% - 40px));margin:auto}.cp-header{background:var(--card);border-bottom:1px solid var(--line)}.cp-headinner{min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:20px}.cp-brand{color:var(--ink);display:flex;align-items:center;gap:15px;text-decoration:none}.cp-brand:hover{text-decoration:none}.cp-brand strong{font:800 18px/1.2 'Manrope',sans-serif}.cp-brand small{display:block;font-size:11px;color:var(--muted);letter-spacing:.04em;margin-top:4px}.portal-logo{height:58px;width:70px;object-fit:contain}.logo-symbol{width:54px;height:54px;border-radius:15px;background:var(--company);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:800}.cp-menu{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cp-menu a,.cp-signout{padding:9px 13px;border:0;border-radius:99px;background:transparent;font-size:13px;color:#344e50;font-weight:700;cursor:pointer}.cp-menu a.selected,.cp-menu a:hover{background:#edf3f1;color:var(--company);text-decoration:none}.cp-signout{background:#edf3f1}.cp-menu form{margin:0}.cp-main{min-height:57vh;padding:48px 0 76px}.cp-heading{margin:5px 0 28px}.cp-heading h1,.cp-auth h1{font:800 clamp(26px,4vw,42px)/1.15 'Manrope',sans-serif;letter-spacing:-.05em;margin:9px 0}.cp-heading p,.cp-auth>p{color:var(--muted);margin:10px 0 25px}.cp-kicker{color:var(--company);font-size:11px;font-weight:800;letter-spacing:.14em}.cp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 23px}.cp-stats>div,.cp-panel,.cp-auth{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 45px rgba(20,60,62,.025)}.cp-stats>div{padding:21px 24px}.cp-stats span{display:block;color:var(--muted);font-size:12px;font-weight:700}.cp-stats strong{font:800 29px 'Manrope',sans-serif;display:block;margin-top:8px}.cp-stats strong.cp-smaller{font-size:17px;margin-top:15px}.cp-panel{padding:26px 29px;margin-bottom:20px}.cp-panel h2{font:800 20px 'Manrope',sans-serif;letter-spacing:-.03em;margin:0 0 18px}.cp-actions{display:flex;align-items:center;gap:10px;margin:0 0 22px;flex-wrap:wrap}.cp-actions .cp-form{margin:0}.cp-button{display:inline-flex;border:1px solid var(--company);background:var(--company);color:white;border-radius:10px;padding:12px 19px;font:800 13px 'DM Sans',sans-serif;cursor:pointer;align-items:center;justify-content:center;text-decoration:none}.cp-button:hover{text-decoration:none;filter:brightness(.9);color:white}.cp-button.outline{background:white;color:var(--company)}.cp-button.outline:hover{color:var(--company)}.cp-button.small{padding:9px 12px;font-size:12px}.cp-auth{width:min(100%,530px);margin:10px auto;padding:36px 40px}.cp-auth>p{font-size:14px}.cp-form label{display:block;font-size:12px;color:#425c60;font-weight:800;margin:16px 0 5px}.cp-form input[type=email],.cp-form input[type=password]{width:100%;padding:14px;border:1px solid #d5e1e2;border-radius:10px;color:var(--ink);margin-top:6px;outline:none;background:#fcfdfd}.cp-form input:focus{border-color:var(--company);box-shadow:0 0 0 3px #b2dcd188}.cp-auth .cp-button{width:100%;margin:18px 0 0}.cp-small,.cp-muted{font-size:13px;color:var(--muted)}.cp-small{margin:16px 0 0}.cp-alert{background:#e5f5eb;color:#195d3d;border:1px solid #b7e4c5;border-radius:13px;padding:14px 18px;margin:0 0 24px;font-size:14px}.cp-alert.danger{background:#ffebeb;color:#a33b3b;border-color:#f5bcbc}.cp-listrow{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.cp-listrow:last-child{border-bottom:0}.cp-listrow b{font-size:14px}.cp-listrow small{display:block;color:var(--muted);margin-top:3px}.cp-pill{background:#e3f3ee;color:#24745f;font-size:11px;font-weight:800;border-radius:99px;padding:4px 11px;white-space:nowrap}.cp-pill.overdue{background:#ffe9e8;color:#a54444}.cp-pill.pending,.cp-pill.unpaid{background:#fff1d9;color:#986114}.cp-pill.paid{background:#ddf6ea;color:#257449}.cp-textlink{display:inline-block;font-weight:800;font-size:13px;margin-top:17px}.cp-invoices{padding-top:7px;padding-bottom:7px}.cp-invoice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.cp-invoice:last-child{border:0}.cp-invoice-number{font:800 15px 'Manrope',sans-serif;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cp-invoice p{font-size:14px;color:#455c5f;margin:7px 0}.cp-invoice small{font-size:12px;color:var(--muted)}.cp-invoice-pay{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:250px}.cp-invoice-pay>strong{font:800 21px 'Manrope',sans-serif}.cp-invoice-pay .cp-form{margin:0}.cp-link{font-weight:800;font-size:12px}.cp-footer{background:#e9f0ef;color:#4c686b;border-top:1px solid var(--line);padding:28px 0;font-size:12px}.cp-footer .cp-wrap{display:flex;justify-content:space-between;gap:20px}.cp-footer p{margin:7px 0}.cp-footer a{font-weight:700}@media(max-width:690px){.cp-wrap{width:min(100% - 26px,1120px)}.cp-header .cp-headinner{padding:10px 0;align-items:flex-start;flex-direction:column;gap:10px}.cp-main{padding-top:28px}.cp-stats{grid-template-columns:1fr;gap:10px}.cp-stats>div{padding:14px 17px}.cp-stats strong{font-size:23px}.cp-panel{padding:20px 17px}.cp-auth{padding:26px 22px}.cp-invoice{grid-template-columns:1fr;gap:10px}.cp-invoice-pay{align-items:flex-start;text-align:left;max-width:none}.cp-footer .cp-wrap{flex-direction:column}}
