.client-portal{--cp-ink:#183f47;--cp-teal:#17636b;--cp-line:#d7e3e4;background:#f4f7f6;color:var(--cp-ink);font-family:Arial,sans-serif;line-height:1.55;margin:0}.client-portal *{box-sizing:border-box}.cp-header{background:#fff;border-bottom:1px solid var(--cp-line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(20px,calc((100vw - 1120px)/2));flex-wrap:wrap}.cp-header a{max-width:180px}.cp-header img{width:100%;height:auto;object-fit:contain}.cp-header>span{font-weight:700}.client-portal main{max-width:1120px;margin:0 auto;padding:24px 20px 110px}.cp-login{max-width:600px;margin:30px auto}.cp-card{padding:24px;background:#fff;border:1px solid var(--cp-line);border-radius:16px;min-width:0;margin-bottom:18px;overflow-wrap:anywhere}.cp-card h2{font-size:1.25rem;margin:0 0 12px}.cp-card h3{font-size:1.05rem}.cp-eyebrow{color:var(--cp-teal);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700}.client-portal h1{font-size:clamp(1.7rem,4vw,2.3rem);line-height:1.2}.client-portal button,.client-portal .cp-link{font:inherit;font-weight:600;min-height:46px;padding:10px 18px;border:1px solid var(--cp-teal);border-radius:9px;background:var(--cp-teal);color:#fff;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%}.client-portal button.secondary{color:var(--cp-teal);background:#fff}.client-portal button:disabled{opacity:.55;cursor:wait}.client-portal input,.client-portal select,.client-portal textarea{font:inherit;color:var(--cp-ink);background:#fff;border:1px solid #779298;border-radius:8px;padding:12px;min-height:46px;width:100%;max-width:100%}.client-portal input[type=checkbox]{width:22px;min-height:22px;margin-right:10px}.client-portal label{display:block;font-weight:600;margin:14px 0 5px}.client-portal textarea{min-height:110px;resize:vertical}.client-portal form button{margin-top:20px}.client-portal :focus-visible{outline:3px solid #c77329;outline-offset:3px}.cp-muted,.cp-boundary{color:#47636a;font-size:.92rem}.cp-boundary{padding:18px;background:#e8f0ee;border-radius:10px}.cp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cp-grid .cp-card{margin:0}.cp-actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.cp-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px}.cp-pill{display:inline-block;background:#e5f1ed;border-radius:50px;padding:3px 12px;font-size:.85rem}.cp-list{padding-left:20px}.cp-list li{margin-bottom:14px}.cp-skip{position:absolute;left:-10000px}.cp-skip:focus{left:16px;top:16px;background:#fff;padding:10px;z-index:50}#cp-error{padding:18px;background:#fff1ed;border:1px solid #bc552d;border-radius:10px;margin:12px 0}#cp-status{min-height:28px;font-weight:600}#cp-nav{display:flex;gap:8px;margin:24px 0}#cp-nav button{flex:1;background:#fff;color:var(--cp-teal)}#cp-nav button[aria-current=page]{background:var(--cp-teal);color:#fff}.client-portal [hidden]{display:none!important}.cp-field-help{font-size:.85rem;font-weight:400}.cp-record{padding:16px 0;border-bottom:1px solid var(--cp-line)}.cp-record:last-child{border-bottom:0}.cp-values{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:6px 16px}.cp-values dt{font-weight:600}.cp-values dd{margin:0;white-space:pre-wrap}.cp-file{font-size:.95rem}#cp-reconcile{position:sticky;bottom:90px;box-shadow:0 3px 12px #0002}@media(max-width:640px){.cp-header{padding:14px 18px;gap:10px}.cp-header a{max-width:135px}.cp-header>span{font-size:.9rem}.client-portal main{padding:20px 16px 115px}.cp-grid{grid-template-columns:1fr}.cp-card{padding:20px}.cp-welcome{display:block}#cp-nav{position:fixed;bottom:0;left:0;right:0;margin:0;background:#fff;padding:9px 8px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--cp-line);z-index:20;gap:4px}#cp-nav button{font-size:.78rem;padding:10px 5px;min-height:48px;border:none;border-radius:8px}.cp-values{grid-template-columns:1fr}.cp-values dd{margin-bottom:12px}.cp-actions>*{flex:1}.cp-header button{padding:7px 10px;font-size:.85rem}.cp-login{margin:12px 0}}
