/* Client Connect frontend: all theme-facing rules are scoped to the plugin root. */
.ccon-wrap{--ccon-color-primary:#29436a;--ccon-color-primary-text:#fff;--ccon-color-text:#182b42;--ccon-color-bg:#fff;--ccon-color-page:#f2f5fa;--ccon-color-border:#8b9bb0;--ccon-color-error:#9d1725;--ccon-color-success:#17603d;--ccon-color-focus:#bd6100;--ccon-space-1:.25rem;--ccon-space-2:.5rem;--ccon-space-3:.75rem;--ccon-space-4:1rem;--ccon-space-5:1.5rem;--ccon-space-6:2rem;--ccon-radius:.65rem;--ccon-font:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;box-sizing:border-box;max-width:75rem;width:100%;min-width:0;margin:1rem auto;padding:clamp(.75rem,2vw,1.5rem);color:var(--ccon-color-text);font:clamp(1rem,.95rem + .25vw,1.125rem)/1.5 var(--ccon-font);overflow-wrap:break-word}
.ccon-wrap *,.ccon-wrap *::before,.ccon-wrap *::after{box-sizing:border-box}
.ccon-wrap .ccon-card{width:100%;max-width:32rem;min-width:0;margin-inline:auto;padding:clamp(1rem,3vw,2rem);border:1px solid var(--ccon-color-border);border-radius:var(--ccon-radius);background:var(--ccon-color-bg);color:var(--ccon-color-text);box-shadow:0 .25rem 1.25rem rgba(18,38,67,.07)}
.ccon-wrap h2,.ccon-wrap h3{color:inherit;line-height:1.25;margin:0 0 var(--ccon-space-4)}
.ccon-wrap p{margin:.5rem 0 1rem}.ccon-wrap .ccon-form,.ccon-wrap .ccon-field{display:grid;gap:var(--ccon-space-2);min-width:0}.ccon-wrap .ccon-form{gap:var(--ccon-space-4)}.ccon-wrap .ccon-field{margin:0;align-content:start}.ccon-wrap label{display:block;font-weight:650;color:inherit}.ccon-wrap input,.ccon-wrap select,.ccon-wrap textarea,.ccon-wrap button{font:inherit;font-size:max(1rem,16px);max-width:100%;border-radius:.4rem}.ccon-wrap input,.ccon-wrap select,.ccon-wrap textarea{width:100%;min-width:0;min-height:2.75rem;padding:.6rem .75rem;border:1px solid var(--ccon-color-border);background:var(--ccon-color-bg);color:var(--ccon-color-text)}.ccon-wrap input[aria-invalid="true"],.ccon-wrap select[aria-invalid="true"]{border:2px solid var(--ccon-color-error)}.ccon-wrap button,.ccon-wrap .ccon-links a,.ccon-wrap .ccon-portal-nav a{min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1rem;cursor:pointer;text-decoration:none}.ccon-wrap button{border:1px solid var(--ccon-color-border);background:var(--ccon-color-bg);color:var(--ccon-color-text);font-weight:650}.ccon-wrap button:hover{border-color:var(--ccon-color-primary);text-decoration:underline}.ccon-wrap button:disabled{cursor:wait;opacity:.7}.ccon-wrap button.ccon-primary{width:100%;border-color:var(--ccon-color-primary);background:var(--ccon-color-primary);color:var(--ccon-color-primary-text)}.ccon-wrap button.ccon-primary:hover{filter:brightness(1.12)}.ccon-wrap .ccon-links{display:flex;flex-direction:column;gap:var(--ccon-space-2);margin:var(--ccon-space-4) auto;max-width:32rem}.ccon-wrap .ccon-links a{justify-content:flex-start;overflow-wrap:anywhere;color:var(--ccon-color-primary);text-decoration:underline}.ccon-wrap :focus-visible{outline:3px solid var(--ccon-color-focus);outline-offset:3px}.ccon-wrap .ccon-honeypot{display:none}.ccon-wrap .ccon-error{border:2px solid var(--ccon-color-error);border-radius:.4rem;padding:1rem;margin-bottom:1rem;background:var(--ccon-color-bg);color:var(--ccon-color-text)}.ccon-wrap .ccon-error strong{color:var(--ccon-color-error)}.ccon-wrap .ccon-error ul{margin:.5rem 0 0;padding-inline-start:1.5rem}.ccon-wrap .ccon-notice{border-inline-start:.3rem solid var(--ccon-color-success);padding:.75rem 1rem;background:var(--ccon-color-page)}.ccon-wrap .ccon-password-control{display:flex;gap:.5rem;align-items:stretch;min-width:0}.ccon-wrap .ccon-password-control input{flex:1;min-width:0}.ccon-wrap .ccon-password-control button{flex:0 0 auto;white-space:nowrap;padding-inline:.65rem}.ccon-wrap #ccon-code{text-align:center;font:600 1.6rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.3em}.ccon-wrap .ccon-portal-header,.ccon-wrap .ccon-portal-nav,.ccon-wrap .ccon-portal-main{min-width:0;padding:clamp(1rem,2vw,1.5rem);border:1px solid var(--ccon-color-border);border-radius:var(--ccon-radius);background:var(--ccon-color-bg)}.ccon-wrap.ccon-portal{padding-inline:max(.75rem,env(safe-area-inset-left)) max(.75rem,env(safe-area-inset-right))}.ccon-wrap .ccon-portal-header{display:flex;flex-direction:column;gap:1rem}.ccon-wrap .ccon-portal-header form,.ccon-wrap .ccon-portal-header button{width:100%}.ccon-wrap .ccon-portal-grid{display:grid;gap:1rem;margin-top:1rem;min-width:0}.ccon-wrap .ccon-last-login{overflow-wrap:anywhere}.ccon-wrap .ccon-portal-nav{display:grid;gap:.5rem;align-content:start}.ccon-wrap .ccon-portal-nav a{justify-content:flex-start;border-radius:.4rem;color:var(--ccon-color-primary);text-decoration:underline}.ccon-wrap .ccon-portal-nav a[aria-current="page"]{background:var(--ccon-color-page);font-weight:700}.ccon-wrap .ccon-menu-toggle{width:100%}.ccon-wrap .ccon-portal-nav [hidden]{display:none}.ccon-wrap .ccon-portal-main{min-height:12rem}.ccon-wrap .ccon-table-scroll{max-width:100%;overflow-x:auto}.ccon-wrap .ccon-table-scroll:focus-visible{outline:3px solid var(--ccon-color-focus)}
@media(min-width:600px){.ccon-wrap .ccon-links{flex-direction:row;flex-wrap:wrap;gap:1rem}.ccon-wrap button.ccon-primary{width:auto}.ccon-wrap .ccon-portal-header{flex-direction:row;justify-content:space-between;align-items:flex-start}.ccon-wrap .ccon-portal-header form,.ccon-wrap .ccon-portal-header button{width:auto}.ccon-wrap .ccon-form:has(#ccon-first-name) .ccon-field:has(#ccon-first-name),.ccon-wrap .ccon-form:has(#ccon-first-name) .ccon-field:has(#ccon-last-name),.ccon-wrap .ccon-form:has(#ccon-first-name) .ccon-field:has(#ccon-phone-1),.ccon-wrap .ccon-form:has(#ccon-first-name) .ccon-field:has(#ccon-phone-2){grid-column:span 1}.ccon-wrap .ccon-form:has(#ccon-first-name){grid-template-columns:repeat(2,minmax(0,1fr))}.ccon-wrap .ccon-form:has(#ccon-first-name)>:not(.ccon-field),.ccon-wrap .ccon-form:has(#ccon-first-name)>.ccon-field:not(:has(#ccon-first-name,#ccon-last-name,#ccon-phone-1,#ccon-phone-2)){grid-column:1/-1}.ccon-wrap .ccon-form:has(#ccon-first-name)>.ccon-field:has(#ccon-city){grid-column:1/-1}}
@media(min-width:960px){.ccon-wrap .ccon-portal-grid{grid-template-columns:minmax(0,16rem) minmax(0,1fr)}.ccon-wrap .ccon-menu-toggle{display:none}.ccon-wrap .ccon-portal-nav [hidden]{display:block}}
@media(min-width:1280px){.ccon-wrap.ccon-portal{padding-block:2rem}.ccon-wrap .ccon-portal-grid{gap:1.5rem}}
@media(prefers-color-scheme:dark){.ccon-wrap{--ccon-color-primary:#b6d0ff;--ccon-color-primary-text:#10243e;--ccon-color-text:#f0f3f9;--ccon-color-bg:#152237;--ccon-color-page:#233750;--ccon-color-border:#a5b5cb;--ccon-color-error:#ff9ba7;--ccon-color-success:#9be5b6;--ccon-color-focus:#ffd36b}.ccon-wrap .ccon-card{box-shadow:none}}
@media(prefers-reduced-motion:reduce){.ccon-wrap *,.ccon-wrap *::before,.ccon-wrap *::after{animation:none;transition:none;scroll-behavior:auto}}
/* Shared high-tech workspace styling for existing manager and customer portal shells. */
.ccon-wrap.ccon-portal{--ccon-color-primary:#155bc3;--ccon-color-primary-text:#fff;--ccon-color-text:#18375c;--ccon-color-bg:#fff;--ccon-color-page:#f0f6ff;--ccon-color-border:#d5e3f4;max-width:100%;background:#f0f6ff;border-radius:16px;padding:clamp(12px,2vw,26px);box-shadow:0 12px 40px #0c315a12}
.ccon-wrap.ccon-portal .ccon-portal-header{background:linear-gradient(115deg,#102e54,#1457a9);color:#fff;border:0;border-radius:14px;box-shadow:0 8px 28px #123e7825}
.ccon-wrap.ccon-portal .ccon-portal-header h2{color:#fff;font-size:clamp(23px,2.4vw,32px);letter-spacing:-.025em;margin:0 0 8px}
.ccon-wrap.ccon-portal .ccon-portal-header p{color:#dceafb;margin:4px 0}
.ccon-wrap.ccon-portal .ccon-portal-header button{background:#fff;color:#163c69;border:0;border-radius:8px}
.ccon-wrap.ccon-portal .ccon-portal-grid{gap:18px}
.ccon-wrap.ccon-portal .ccon-portal-nav{background:linear-gradient(170deg,#102e54,#0b2545);border:0;border-radius:14px;color:#fff;box-shadow:0 8px 25px #0c315a18;padding:18px}
.ccon-wrap.ccon-portal .ccon-portal-nav a{display:flex;align-items:center;color:#e8f1ff;text-decoration:none;padding:12px 16px;border-radius:8px;font-weight:600;margin-bottom:6px}
.ccon-wrap.ccon-portal .ccon-portal-nav a:hover,.ccon-wrap.ccon-portal .ccon-portal-nav a[aria-current=page]{background:#1767d8;color:#fff;text-decoration:none}
.ccon-wrap.ccon-portal .ccon-portal-main{border:1px solid #dce7f5;border-radius:14px;background:#fff;box-shadow:0 6px 28px #193f6a0c;padding:clamp(16px,2vw,28px)}
.ccon-wrap.ccon-portal .ccon-portal-main h3{color:#173a66;font-size:24px}
.ccon-wrap.ccon-portal .ccon-workspace-intro{background:linear-gradient(115deg,#f0f6ff,#fff);border:1px solid #dce7f5;border-radius:12px;padding:clamp(18px,3vw,32px)}
.ccon-wrap.ccon-portal .ccon-eyebrow{font-size:11px;letter-spacing:.12em;font-weight:750;color:#155bc3}
.ccon-wrap.ccon-portal .ccon-workspace-link{display:inline-flex;margin-top:12px;padding:11px 18px;border-radius:8px;background:#155bc3;color:#fff;text-decoration:none;font-weight:650}
.ccon-wrap.ccon-portal .ccon-workspace-link:hover{background:#0d458f;color:#fff}
.ccon-wrap.ccon-portal table{border-collapse:collapse;width:100%;min-width:520px}
.ccon-wrap.ccon-portal th{background:#163c69;color:#fff;text-align:left;padding:12px}
.ccon-wrap.ccon-portal td{border-bottom:1px solid #e6edf6;padding:12px}
.ccon-wrap.ccon-portal tr:hover td{background:#f2f7ff}
@media(min-width:960px){.ccon-wrap.ccon-portal .ccon-portal-grid{grid-template-columns:minmax(0,15rem) minmax(0,1fr)}}

/* Portal-only light/dark switch; public login and signup pages are unchanged. */
.ccon-wrap.ccon-portal .ccon-portal-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ccon-wrap.ccon-portal .ccon-theme-toggle{margin-left:auto;background:#fff;color:#173b68;border:1px solid #9ebde8;border-radius:8px;padding:9px 14px;font-weight:650;cursor:pointer}
.ccon-wrap.ccon-portal.ccon-theme-dark{--ccon-color-text:#e8f0ff;--ccon-color-bg:#14243b;--ccon-color-page:#0b1424;--ccon-color-border:#30445e;background:#0b1424;color:#e8f0ff;box-shadow:none}
.ccon-wrap.ccon-portal.ccon-theme-dark .ccon-portal-header,.ccon-wrap.ccon-portal.ccon-theme-dark .ccon-portal-nav{background:linear-gradient(115deg,#101e35,#1b3d68);color:#fff}
.ccon-wrap.ccon-portal.ccon-theme-dark .ccon-portal-main,.ccon-wrap.ccon-portal.ccon-theme-dark .ccon-workspace-intro,.ccon-wrap.ccon-portal.ccon-theme-dark .ccon-card{background:#14243b;color:#e8f0ff;border-color:#30445e;box-shadow:none}
.ccon-wrap.ccon-portal.ccon-theme-dark .ccon-portal-main h3,.ccon-wrap.ccon-portal.ccon-theme-dark h2,.ccon-wrap.ccon-portal.ccon-theme-dark h3{color:#f3f7ff}
.ccon-wrap.ccon-portal.ccon-theme-dark .ccon-eyebrow,.ccon-wrap.ccon-portal.ccon-theme-dark a:not(.ccon-workspace-link){color:#8bbcff}
.ccon-wrap.ccon-portal.ccon-theme-dark .ccon-portal-nav a{color:#e8f0ff}
.ccon-wrap.ccon-portal.ccon-theme-dark .ccon-portal-nav a:hover,.ccon-wrap.ccon-portal.ccon-theme-dark .ccon-portal-nav a[aria-current=page]{background:#255bb1;color:#fff}
.ccon-wrap.ccon-portal.ccon-theme-dark th{background:#1b3455;color:#fff}
.ccon-wrap.ccon-portal.ccon-theme-dark td{border-color:#30445e;color:#e8f0ff}
.ccon-wrap.ccon-portal.ccon-theme-dark tr:hover td{background:#203753}
.ccon-wrap.ccon-portal.ccon-theme-dark input,.ccon-wrap.ccon-portal.ccon-theme-dark select,.ccon-wrap.ccon-portal.ccon-theme-dark textarea{background:#0d1a2d;color:#fff;border-color:#456282}
.ccon-wrap.ccon-portal.ccon-theme-dark .ccon-theme-toggle{background:#20344f;color:#fff;border-color:#6984a5}
/* Ticket attachments: the same controls are used in all three portals. */
.ccon-upload { margin: 14px 0; }
.ccon-upload-drop { display:flex; flex-direction:column; align-items:center; gap:8px; padding:24px; border:2px dashed #6a9bd7; border-radius:12px; background:rgba(95,145,205,.09); text-align:center; cursor:pointer; color:inherit; }
.ccon-upload-drop.ccon-drag-over { border-color:#2f83ec; background:rgba(47,131,236,.19); }
.ccon-upload-title { font-weight:700; }
.ccon-upload-drop input { max-width:100%; }
.ccon-upload-list { list-style:none; padding:0; }
.ccon-upload-list li { display:flex; gap:12px; justify-content:space-between; margin:6px 0; overflow-wrap:anywhere; }
.ccon-ticket-files { margin:8px 0; }

/* Staff ticket creation popup; client ticket forms remain inline. */
.ccon-ticket-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 18px}.ccon-ticket-toolbar p{margin:0}
.ccon-ticket-modal[hidden]{display:none!important}.ccon-ticket-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}.ccon-ticket-modal-backdrop{position:absolute;inset:0;background:rgba(4,12,26,.76)}.ccon-ticket-modal-panel{position:relative;box-sizing:border-box;width:min(100%,580px);max-height:calc(100vh - 36px);overflow:auto;padding:24px;background:#fff;color:#17314f;border:1px solid #d5e2f3;border-radius:14px;box-shadow:0 18px 65px #0008}.ccon-ticket-modal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.ccon-ticket-modal-heading h3{margin:0}.ccon-ticket-modal-panel form p{margin:12px 0}.ccon-ticket-modal-panel form label{display:block;font-weight:600}.ccon-ticket-modal-panel form input[type=text],.ccon-ticket-modal-panel form select,.ccon-ticket-modal-panel form textarea{box-sizing:border-box;display:block;width:100%;max-width:100%;margin-top:7px}.ccon-ticket-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.ccon-ticket-modal-open{overflow:hidden}
.ccon-theme-dark .ccon-ticket-modal-panel,.ccon-admin.ccon-theme-dark .ccon-ticket-modal-panel{background:#162b43;color:#edf4ff;border-color:#456282}.ccon-theme-dark .ccon-ticket-modal-panel h3,.ccon-admin.ccon-theme-dark .ccon-ticket-modal-panel h3{color:#fff}.ccon-theme-dark .ccon-ticket-modal-panel input,.ccon-theme-dark .ccon-ticket-modal-panel select,.ccon-theme-dark .ccon-ticket-modal-panel textarea,.ccon-admin.ccon-theme-dark .ccon-ticket-modal-panel input,.ccon-admin.ccon-theme-dark .ccon-ticket-modal-panel select,.ccon-admin.ccon-theme-dark .ccon-ticket-modal-panel textarea{background:#102137;color:#fff;border-color:#526d8b}
@media(max-width:600px){.ccon-ticket-toolbar{align-items:flex-start;flex-direction:column}.ccon-ticket-modal-panel{padding:16px}}
/* Customer support tickets: dashboard, modal and conversation (v1.0.12). */
.ccon-client-tickets{--ccon-ticket-bg:#0e2033;--ccon-ticket-panel:#153554;--ccon-ticket-line:#456c91;--ccon-ticket-text:#f2f7ff;--ccon-ticket-muted:#c0d2e6;color:var(--ccon-ticket-text);background:var(--ccon-ticket-bg);border-radius:14px;padding:14px;box-sizing:border-box}
.ccon-client-tickets *{box-sizing:border-box}.ccon-client-tickets .ccon-client-ticket-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:linear-gradient(110deg,#123251,#194f87);border:1px solid var(--ccon-ticket-line);border-radius:12px;margin-bottom:16px}.ccon-client-tickets h2,.ccon-client-tickets h3{color:var(--ccon-ticket-text);margin:0}.ccon-client-ticket-header p{color:var(--ccon-ticket-muted);margin:5px 0 0}.ccon-client-tickets .button-primary,.ccon-client-tickets .ccon-ticket-view{background:#236ec4;color:#fff;border:1px solid #6aa7ef;border-radius:7px;padding:10px 16px;text-decoration:none;display:inline-block;white-space:nowrap;cursor:pointer}.ccon-ticket-list-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0}.ccon-ticket-filters{display:flex;flex-wrap:wrap;gap:8px}.ccon-ticket-filter{background:#173550;color:var(--ccon-ticket-text);border:1px solid var(--ccon-ticket-line);border-radius:9px;padding:9px 13px;cursor:pointer}.ccon-ticket-filter.is-active{background:#2264a9;border-color:#79b9ff}.ccon-ticket-filter span{background:#294b6b;border-radius:20px;padding:2px 7px;margin-left:5px}.ccon-ticket-search-label input{background:#112c46!important;color:#fff!important;border:1px solid var(--ccon-ticket-line)!important;border-radius:8px;padding:10px;max-width:100%;width:250px}.ccon-ticket-table-wrap{overflow-x:auto;border:1px solid var(--ccon-ticket-line);border-radius:10px}.ccon-client-tickets .ccon-ticket-table{width:100%;border-collapse:collapse;background:#153554;color:var(--ccon-ticket-text);min-width:730px}.ccon-ticket-table th,.ccon-ticket-table td{padding:15px 12px;text-align:left;border-bottom:1px solid var(--ccon-ticket-line);vertical-align:middle}.ccon-ticket-table th{background:#1a4164}.ccon-ticket-table tr:last-child td{border-bottom:0}.ccon-ticket-table tr[hidden]{display:none}.ccon-ticket-table a{color:#9ed1ff}.ccon-ticket-status{display:inline-block;background:#5aabf3;color:#fff;border-radius:8px;padding:5px 10px;font-weight:700}.ccon-ticket-empty{padding:12px}.ccon-ticket-empty[hidden]{display:none}.ccon-ticket-back{display:inline-block;margin:6px 0 14px;color:#b7dbff}.ccon-ticket-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.ccon-ticket-detail-card,.ccon-ticket-conversation,.ccon-ticket-reply{background:var(--ccon-ticket-panel);border:1px solid var(--ccon-ticket-line);border-radius:10px;padding:16px}.ccon-ticket-detail-card{display:flex;flex-direction:column;gap:8px;min-width:0;overflow-wrap:anywhere}.ccon-ticket-detail-card small{color:var(--ccon-ticket-muted)}.ccon-ticket-conversation,.ccon-ticket-reply{margin-top:14px}.ccon-ticket-conversation h3,.ccon-ticket-reply h3{padding-bottom:13px;border-bottom:1px solid var(--ccon-ticket-line);margin-bottom:14px}.ccon-ticket-conversation h3 small{float:right;font-size:12px;color:var(--ccon-ticket-muted)}.ccon-ticket-message{background:#1b4265;border:1px solid var(--ccon-ticket-line);border-radius:9px;padding:14px;margin:10px 0}.ccon-ticket-message-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.ccon-ticket-message-meta time{color:var(--ccon-ticket-muted);font-size:12px}.ccon-ticket-message p{color:var(--ccon-ticket-text)}.ccon-ticket-reply label{display:block;margin-bottom:8px}.ccon-ticket-reply textarea{width:100%;max-width:100%;background:#102c46;color:#fff;border:1px solid var(--ccon-ticket-line);border-radius:7px;padding:12px}.ccon-client-tickets .ccon-ticket-modal-panel{background:#153554;color:#fff;border-color:#537ba3;width:min(100%,640px)}.ccon-client-tickets .ccon-ticket-modal-heading{align-items:flex-start}.ccon-client-tickets .ccon-ticket-modal-heading h3{color:#fff}.ccon-client-tickets .ccon-ticket-modal-heading p{color:#c0d2e6;margin:5px 0}.ccon-client-tickets .ccon-ticket-modal-panel label{color:#fff}.ccon-client-tickets .ccon-ticket-modal-panel input[type=text],.ccon-client-tickets .ccon-ticket-modal-panel select,.ccon-client-tickets .ccon-ticket-modal-panel textarea{background:#102c46;color:#fff;border:1px solid #6485a7;border-radius:7px;padding:10px;min-height:42px}.ccon-client-tickets .ccon-ticket-modal-panel textarea{min-height:110px}.ccon-ticket-modal-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ccon-client-tickets .ccon-upload-drop{border:2px dashed #6a9ed0;border-radius:8px;background:#1a4265;color:#fff;padding:22px}.ccon-client-tickets .ccon-upload-drop span{color:#d1e3f5}.ccon-client-tickets .ccon-ticket-modal-actions{display:flex;justify-content:flex-end;gap:10px}.ccon-client-tickets .ccon-ticket-modal-actions .button:not(.button-primary){background:transparent;color:#fff;border:1px solid #6485a7;border-radius:7px;padding:10px 16px}.ccon-client-tickets .ccon-ticket-modal-heading>button{background:transparent;color:#fff;border:0;font-size:24px}.ccon-client-tickets .ccon-ticket-files a{color:#b5d9ff}
.ccon-theme-light .ccon-client-tickets{--ccon-ticket-bg:#edf4fc;--ccon-ticket-panel:#fff;--ccon-ticket-line:#c6d8eb;--ccon-ticket-text:#183653;--ccon-ticket-muted:#536e89}.ccon-theme-light .ccon-client-tickets .ccon-client-ticket-header,.ccon-theme-light .ccon-client-tickets .ccon-ticket-modal-panel{color:#fff}.ccon-theme-light .ccon-client-tickets .ccon-ticket-table{background:#fff;color:#183653}.ccon-theme-light .ccon-client-tickets .ccon-ticket-table th{background:#244c75;color:#fff}.ccon-theme-light .ccon-client-tickets .ccon-ticket-filter{background:#fff;color:#183653}.ccon-theme-light .ccon-client-tickets .ccon-ticket-filter.is-active{background:#2264a9;color:#fff}.ccon-theme-light .ccon-client-tickets .ccon-ticket-message{background:#f1f6fd}.ccon-theme-light .ccon-client-tickets .ccon-ticket-message p{color:#183653}.ccon-theme-light .ccon-client-tickets .ccon-ticket-reply textarea{background:#fff;color:#183653}.ccon-theme-light .ccon-client-tickets .ccon-ticket-search-label input{background:#fff!important;color:#183653!important}
@media(max-width:800px){.ccon-ticket-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ccon-ticket-list-tools{align-items:stretch;flex-direction:column}.ccon-ticket-search-label input{width:100%}}@media(max-width:480px){.ccon-client-tickets .ccon-client-ticket-header{padding:14px;flex-wrap:wrap}.ccon-ticket-modal-fields{grid-template-columns:1fr}.ccon-ticket-detail-grid{grid-template-columns:1fr}}
/* v1.2.0-round2: Make a Payment (card only). Uses the portal color variables so light and dark themes both apply. */
.ccon-wrap .ccon-payment{display:grid;gap:1rem;min-width:0}
.ccon-wrap .ccon-pay-header p{margin:.25rem 0 0}
.ccon-wrap .ccon-pay-form{display:grid;gap:1rem;min-width:0}
.ccon-wrap .ccon-pay-columns{display:grid;gap:1rem;min-width:0}
.ccon-wrap .ccon-pay-group{display:grid;gap:.75rem;min-width:0;margin:0;padding:1rem;border:1px solid var(--ccon-color-border);border-radius:var(--ccon-radius);background:var(--ccon-color-bg)}
.ccon-wrap .ccon-pay-group legend{padding:0 .4rem;font-weight:700}
.ccon-wrap .ccon-pay-group textarea{min-height:6rem;resize:vertical}
.ccon-wrap .ccon-pay-card-meta{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.ccon-wrap .ccon-pay-required{color:var(--ccon-color-error)}
.ccon-wrap .ccon-pay-show-errors :invalid{border:2px solid var(--ccon-color-error)}
.ccon-wrap .ccon-pay-submit{display:grid;gap:.75rem;justify-items:start}
.ccon-wrap .ccon-pay-message:empty{display:none}
.ccon-wrap .ccon-pay-message{width:100%;box-sizing:border-box;padding:.75rem 1rem;border-radius:.4rem;border-inline-start:.3rem solid var(--ccon-color-border);background:var(--ccon-color-page);font-weight:650}
.ccon-wrap .ccon-pay-message.is-success{border-inline-start-color:var(--ccon-color-success)}
.ccon-wrap .ccon-pay-message.is-error{border-inline-start-color:var(--ccon-color-error)}
.ccon-wrap .ccon-pay-form input:disabled,.ccon-wrap .ccon-pay-form select:disabled,.ccon-wrap .ccon-pay-form textarea:disabled{opacity:.65}
@media(min-width:760px){.ccon-wrap .ccon-pay-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.ccon-wrap .ccon-pay-card-meta{grid-template-columns:1fr 1fr}.ccon-wrap .ccon-pay-card-meta>.ccon-field:last-child{grid-column:1/-1}}
/* v1.2.0-round3: payment method choice and PayPal buttons. [hidden] must win over the portal's button/field display rules. */
.ccon-wrap .ccon-pay-form [hidden]{display:none!important}
.ccon-wrap .ccon-pay-methods{display:flex;flex-wrap:wrap;gap:.75rem}
.ccon-wrap .ccon-pay-method{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.5rem 1rem;border:1px solid var(--ccon-color-border);border-radius:.4rem;background:var(--ccon-color-page);cursor:pointer;font-weight:650}
.ccon-wrap .ccon-pay-method input{width:auto;min-height:0;margin:0}
.ccon-wrap .ccon-pay-method:has(input:checked){border-color:var(--ccon-color-primary);box-shadow:0 0 0 1px var(--ccon-color-primary)}
.ccon-wrap .ccon-pay-card-fields{display:grid;gap:.75rem;min-width:0}
.ccon-wrap .ccon-pay-paypal{display:grid;gap:.75rem;min-width:0}
.ccon-wrap .ccon-pay-paypal p{margin:0}
/* PayPal renders its buttons in an iframe on a white background; give it room in both themes. */
.ccon-wrap #ccon-pay-paypal-buttons{max-width:28rem;width:100%}

/* Round 8: presentation-only customer payment form alignment with approved reference. */
.ccon-wrap .ccon-payment{width:100%;max-width:760px;margin:0 auto;gap:.7rem;box-sizing:border-box}
.ccon-wrap .ccon-pay-header h3{margin:0 0 .2rem;font-size:1.35rem;font-weight:750}
.ccon-wrap .ccon-pay-header p{font-size:.83rem;margin:0}
.ccon-wrap .ccon-pay-form{padding:1.25rem 1.5rem 1.5rem;border:1px solid var(--ccon-color-border);border-radius:10px;background:var(--ccon-color-bg);gap:1.35rem}
.ccon-wrap .ccon-pay-columns{gap:1.5rem;align-items:start}
.ccon-wrap .ccon-pay-group{display:grid;align-content:start;gap:.75rem;border:0;border-radius:0;background:transparent;padding:0;min-width:0}
.ccon-wrap .ccon-pay-group legend{font-weight:750;padding:0;margin:0 0 .65rem;font-size:.9rem}
.ccon-wrap .ccon-pay-group .ccon-field{min-width:0}
.ccon-wrap .ccon-pay-group .ccon-field label{font-weight:650;font-size:.82rem;margin-bottom:.3rem}
.ccon-wrap .ccon-pay-group .ccon-field input,.ccon-wrap .ccon-pay-group .ccon-field select,.ccon-wrap .ccon-pay-group .ccon-field textarea{width:100%;max-width:100%;box-sizing:border-box}
.ccon-wrap .ccon-pay-group textarea{min-height:7rem}
.ccon-wrap .ccon-pay-billing-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.ccon-wrap .ccon-pay-card{border-top:1px solid var(--ccon-color-border);padding-top:1rem;gap:1rem}
.ccon-wrap .ccon-pay-card legend{float:none;text-align:center;margin:0 auto .7rem;padding:0 .7rem}
.ccon-wrap .ccon-pay-methods{justify-content:center;align-items:center;gap:.7rem}
.ccon-wrap .ccon-pay-method{border:0;box-shadow:none!important;background:transparent;padding:.2rem;min-height:2rem;gap:.4rem}
.ccon-wrap .ccon-pay-method input{accent-color:var(--ccon-color-primary)}
.ccon-wrap .ccon-pay-card-brands{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem}
.ccon-wrap .ccon-pay-brand{background:#fff;color:#163d76;border-radius:3px;padding:.2rem .3rem;font-size:.62rem;font-weight:900;letter-spacing:-.02em}
.ccon-wrap .ccon-pay-paypal-brand{display:inline-block;border-radius:30px;background:#ffce40;color:#003087;padding:.35rem 1rem;font-size:.85rem;font-weight:800;font-style:italic}
.ccon-wrap .ccon-pay-card-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.ccon-wrap .ccon-pay-submit{justify-items:center;gap:.65rem;padding-top:.3rem}
.ccon-wrap .ccon-pay-submit button{min-width:150px}
@media(max-width:650px){.ccon-wrap .ccon-pay-form{padding:1rem}.ccon-wrap .ccon-pay-columns{grid-template-columns:1fr}.ccon-wrap .ccon-pay-card-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.ccon-wrap .ccon-pay-card-meta>.ccon-field:last-child{grid-column:1/-1}}
@media(max-width:390px){.ccon-wrap .ccon-pay-billing-pair{grid-template-columns:1fr}}

.ccon-test-session{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;margin-bottom:16px;border:1px solid #4777a8;border-radius:9px;background:#193954;color:#fff}.ccon-test-session form{margin:0}.ccon-test-session button{cursor:pointer}

/* Round 15: read-only client payment history. */
.ccon-payment-history-scroll{overflow-x:auto;max-width:100%}.ccon-payment-history-table{width:100%;border-collapse:collapse;text-align:left}.ccon-payment-history-table th,.ccon-payment-history-table td{padding:12px;border-bottom:1px solid var(--ccon-border,#53657c);overflow-wrap:anywhere}.ccon-payment-history-pages{display:flex;gap:12px;justify-content:flex-end;align-items:center;margin-top:16px}

/* Round 16: full-width client payment history; mobile scroll without broken identifiers. */
.ccon-wrap.ccon-portal .ccon-portal-main .ccon-payment-history{width:100%;max-width:none;margin:0;box-sizing:border-box;min-width:0}
.ccon-payment-history-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ccon-payment-history-table{min-width:790px;width:100%;table-layout:auto}
.ccon-payment-history-table th,.ccon-payment-history-table td{overflow-wrap:normal;word-break:normal;white-space:nowrap;text-align:left;vertical-align:middle;padding:14px 12px}
.ccon-payment-history-table th{background:#203956;color:#fff;font-weight:700}
.ccon-payment-history-table tbody tr:hover{background:rgba(110,150,200,.09)}
.ccon-payment-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.ccon-payment-summary>div{border:1px solid #3d5977;border-radius:8px;background:#203956;color:#fff;padding:16px;display:grid;gap:8px}
.ccon-payment-summary span{font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.ccon-payment-summary strong{font-size:25px;line-height:1.2}
@media(max-width:550px){.ccon-payment-summary{grid-template-columns:1fr}}

/* Round 17: payment form presentation only. Preserve native numeric validation and payment handlers. */
.ccon-wrap .ccon-pay-form #ccon_pay_amount::-webkit-inner-spin-button,
.ccon-wrap .ccon-pay-form #ccon_pay_amount::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.ccon-wrap .ccon-pay-form #ccon_pay_amount{-moz-appearance:textfield;appearance:textfield}
.ccon-wrap .ccon-pay-form #ccon_pay_description{height:10rem;min-height:10rem;resize:none}
.ccon-wrap .ccon-pay-form #ccon-pay-paypal-buttons{margin-inline:auto}

/* Round 18: align only the portal theme and logout controls; keep admin testing controls unchanged. */
.ccon-wrap.ccon-portal .ccon-portal-header-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;flex:0 0 auto;margin-left:auto;min-width:132px}
.ccon-wrap.ccon-portal .ccon-portal-header-actions .ccon-theme-toggle{margin:0!important;width:100%!important;min-height:44px}
.ccon-wrap.ccon-portal .ccon-portal-header-actions form{margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;width:100%!important}
.ccon-wrap.ccon-portal .ccon-portal-header-actions form button{width:100%!important;min-height:44px;margin:0!important}
@media(max-width:480px){.ccon-wrap.ccon-portal .ccon-portal-header-actions{width:100%;margin-left:0}}

/* Round 23 step 1: scoped company users screen and invitation dialog. */
.ccon-company-users-management .ccon-company-users-invite{display:flex;justify-content:flex-end;margin:12px 0 16px}
.ccon-company-users-table-wrap{width:100%;overflow-x:auto}
.ccon-company-users-table{width:100%;border-collapse:collapse;color:#fff;text-align:left;min-width:690px}
.ccon-company-users-table th{background:#203956;padding:12px;border-bottom:1px solid #496582}
.ccon-company-users-table td{padding:12px;vertical-align:top;border-bottom:1px solid #344b66;background:#192a40}
.ccon-company-users-table tbody tr:nth-child(even) td{background:#203047}
.ccon-company-users-table tbody tr:hover td{background:#29466a}
.ccon-company-users-table .ccon-sub-permission{display:block;margin:3px 0}
.ccon-company-user-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:5px}
.ccon-company-user-actions form{margin:0}
.ccon-portal-invite-dialog{box-sizing:border-box;background:#192a40;color:#fff;border:1px solid #496582;border-radius:12px;padding:26px;width:min(480px,calc(100% - 32px));max-height:90vh;overflow:auto;box-shadow:0 20px 70px #0009}
.ccon-portal-invite-dialog::backdrop{background:rgba(0,0,0,.7)}
.ccon-portal-invite-dialog h2{color:#fff;margin-top:0}
.ccon-portal-invite-dialog label{display:block;color:#fff;margin-bottom:6px}
.ccon-portal-invite-dialog input{box-sizing:border-box;width:100%;max-width:100%;background:#111e30;color:#fff;border:1px solid #496582;border-radius:5px;padding:9px}
.ccon-portal-invite-actions{display:flex;justify-content:flex-end;gap:8px}

/* Round 23 layout parity: client-facing profile and company users only. */
.ccon-wrap.ccon-portal .ccon-portal-main .ccon-my-profile{width:100%;max-width:none;margin:0;box-sizing:border-box;padding:18px;min-width:0}
.ccon-wrap.ccon-portal .ccon-my-profile .ccon-profile-section{margin:18px 0 26px}
.ccon-wrap.ccon-portal .ccon-my-profile .ccon-profile-section h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;margin:0 0 14px;padding:0 0 8px;border-bottom:1px solid #425a76;color:#fff}
.ccon-wrap.ccon-portal .ccon-my-profile .ccon-profile-section h3 .dashicons{font-size:16px;width:16px;height:16px;color:#93bdf7}
.ccon-wrap.ccon-portal .ccon-my-profile .ccon-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:16px}
.ccon-wrap.ccon-portal .ccon-my-profile .ccon-profile-grid label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:13px;font-weight:600}
.ccon-wrap.ccon-portal .ccon-my-profile .ccon-profile-grid input{width:100%;max-width:none;min-width:0;box-sizing:border-box;min-height:32px;margin:0;padding:6px 9px;font-size:13px}
.ccon-wrap.ccon-portal .ccon-company-users-management{width:100%;max-width:none;min-width:0;margin:0;display:block}
.ccon-wrap.ccon-portal .ccon-company-users-management h2{font-size:18px;font-weight:700;margin:0 0 22px}
.ccon-wrap.ccon-portal .ccon-company-users-management>p{margin:0 0 14px}
.ccon-wrap.ccon-portal .ccon-company-users-management .ccon-company-users-invite{margin:14px 0 22px}
.ccon-wrap.ccon-portal .ccon-company-users-table{width:100%;border-collapse:collapse;table-layout:auto;min-width:690px;font-size:13px}
.ccon-wrap.ccon-portal .ccon-company-users-table th{font-size:13px;font-weight:400;padding:10px;text-align:left}
.ccon-wrap.ccon-portal .ccon-company-users-table td{padding:10px;vertical-align:top;font-size:13px;line-height:1.4}
.ccon-wrap.ccon-portal .ccon-company-users-table th:last-child,.ccon-wrap.ccon-portal .ccon-company-users-table td:last-child{width:37%}
.ccon-wrap.ccon-portal .ccon-company-users-table td form{margin:0;padding:0;background:transparent;border:0;box-shadow:none;display:block;width:auto;max-width:none}
.ccon-wrap.ccon-portal .ccon-company-users-table .ccon-sub-permission{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;min-height:0!important;margin:0 0 3px!important;padding:0!important;line-height:1.3!important;font-size:13px!important;font-weight:400!important;white-space:normal}
.ccon-wrap.ccon-portal .ccon-company-users-table .ccon-sub-permission input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;display:inline-block!important;position:static!important;flex:0 0 15px!important;width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;max-width:15px!important;max-height:15px!important;margin:0!important;padding:0!important;vertical-align:middle!important;box-shadow:none!important;transform:none!important;accent-color:#3279e5}
.ccon-wrap.ccon-portal .ccon-company-users-table .ccon-company-user-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:5px}
.ccon-wrap.ccon-portal .ccon-company-users-table .ccon-company-user-actions button{width:auto;min-width:0;min-height:34px;padding:7px 12px;margin:0;font-size:12px;line-height:1.2}
@media(max-width:650px){.ccon-wrap.ccon-portal .ccon-my-profile .ccon-profile-grid{grid-template-columns:1fr}}

/* Round 23 v1.2.18: shared compact typography for Master Client and Sub User portals.
 * Keep the existing page geometry, palette and heading hierarchy intact. */
.ccon-wrap.ccon-portal .ccon-portal-main,
.ccon-wrap.ccon-portal .ccon-portal-main p,
.ccon-wrap.ccon-portal .ccon-portal-main td,
.ccon-wrap.ccon-portal .ccon-portal-main th,
.ccon-wrap.ccon-portal .ccon-portal-main label,
.ccon-wrap.ccon-portal .ccon-portal-main small,
.ccon-wrap.ccon-portal .ccon-portal-main li,
.ccon-wrap.ccon-portal .ccon-portal-main a {font-size:13px;line-height:1.4;}
.ccon-wrap.ccon-portal .ccon-portal-main th {font-weight:400;}
.ccon-wrap.ccon-portal .ccon-portal-main input:not([type=checkbox]):not([type=radio]),
.ccon-wrap.ccon-portal .ccon-portal-main select,
.ccon-wrap.ccon-portal .ccon-portal-main textarea {font-size:13px;line-height:1.4;}
.ccon-wrap.ccon-portal .ccon-portal-main button,
.ccon-wrap.ccon-portal .ccon-portal-main .button,
.ccon-wrap.ccon-portal .ccon-portal-main input[type=submit] {font-size:12px;line-height:1.4;}
.ccon-wrap.ccon-portal .ccon-portal-nav a {font-size:13px;line-height:1.4;}
.ccon-wrap.ccon-portal .ccon-portal-header p,
.ccon-wrap.ccon-portal .ccon-portal-header button {font-size:13px;line-height:1.4;}
/* Preserve the small, inline native checkboxes from the Admin Users table. */
.ccon-wrap.ccon-portal .ccon-company-users-table .ccon-sub-permission {font-size:13px!important;font-weight:400!important;}

/* v1.2.25: shared Client/Sub User page heading, matching Support Tickets. */
.ccon-wrap.ccon-portal .ccon-portal-main .ccon-client-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:linear-gradient(110deg,#123251,#194f87);border:1px solid #426c97;border-radius:12px;margin:0 0 16px;color:#fff;box-sizing:border-box;width:100%}
.ccon-wrap.ccon-portal .ccon-portal-main .ccon-client-page-header h2{font-size:28px;font-weight:400;line-height:1.25;margin:0;color:#fff}
.ccon-wrap.ccon-portal .ccon-portal-main .ccon-client-page-header p{font-size:13px;line-height:1.45;margin:5px 0 0;color:#e1edfb}
/* Avoid duplicated headings without changing the underlying forms or tables. */
.ccon-wrap.ccon-portal .ccon-client-page-header + .ccon-my-profile > h2,
.ccon-wrap.ccon-portal .ccon-client-page-header + .ccon-activity-logs > h2{display:none}
.ccon-wrap.ccon-portal .ccon-client-page-header + .ccon-my-profile > p:first-of-type,
.ccon-wrap.ccon-portal .ccon-client-page-header + .ccon-activity-logs > p:first-of-type{display:none}
@media(max-width:480px){.ccon-wrap.ccon-portal .ccon-portal-main .ccon-client-page-header{padding:14px;flex-wrap:wrap}.ccon-wrap.ccon-portal .ccon-portal-main .ccon-client-page-header h2{font-size:24px}}

/* Client Dashboard v1.2.26: summary cards and six-per-page company-scoped login history. */
.ccon-portal .ccon-client-dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.ccon-portal .ccon-client-stat-card{display:flex;align-items:center;gap:13px;min-width:0;padding:18px;color:#fff;text-decoration:none;background:#192b42;border:1px solid #40536e;border-radius:12px}.ccon-portal .ccon-client-stat-card:hover,.ccon-portal .ccon-client-stat-card:focus-visible{background:#23405e;color:#fff}.ccon-portal .ccon-client-stat-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;line-height:48px;background:#1767d2;border-radius:12px;font-size:23px}.ccon-portal .ccon-client-stat-tickets .ccon-client-stat-icon{background:#11985d}.ccon-portal .ccon-client-stat-payments .ccon-client-stat-icon{background:#f59e0b}.ccon-portal .ccon-client-stat-logins .ccon-client-stat-icon{background:#e63d57}.ccon-portal .ccon-client-stat-label{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.ccon-portal .ccon-client-stat-label small{color:#c5d4e8;font-size:12px}.ccon-portal .ccon-client-stat-label strong{color:#fff;font-size:26px;line-height:1.1}.ccon-portal .ccon-client-recent-logins{overflow:hidden;background:#192e46;border:1px solid #46617f;border-radius:12px;color:#fff;margin:18px 0}.ccon-portal .ccon-client-recent-title{padding:17px 19px;display:flex;flex-direction:column;gap:4px}.ccon-portal .ccon-client-recent-title strong{font-size:16px}.ccon-portal .ccon-client-recent-title small{font-size:12px;color:#d4deeb}.ccon-portal .ccon-client-recent-scroll{overflow-x:auto}.ccon-portal .ccon-client-recent-logins table{width:100%;border-collapse:collapse;min-width:500px;font-size:13px}.ccon-portal .ccon-client-recent-logins th{background:#203c5c;text-align:left;padding:12px 15px;color:#fff}.ccon-portal .ccon-client-recent-logins td{padding:12px 15px;border-top:1px solid #40536e;color:#fff}.ccon-portal .ccon-client-login-avatar{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:10px;border-radius:50%;background:#35669b;font-weight:700;color:#fff}.ccon-portal .ccon-client-recent-logins code{background:#244766;color:#fff;border-radius:5px;padding:4px 6px;white-space:nowrap}.ccon-portal .ccon-client-login-pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 15px;font-size:12px}.ccon-portal .ccon-client-login-page-controls{display:flex;align-items:center;gap:10px}.ccon-portal .ccon-client-login-page-controls a{padding:7px 11px;background:#203c5c;color:#fff;border:1px solid #46617f;border-radius:6px;text-decoration:none}.ccon-portal .ccon-client-login-page-controls a:hover{background:#2b5a8b}@media(max-width:1200px){.ccon-portal .ccon-client-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.ccon-portal .ccon-client-dashboard-stats{grid-template-columns:1fr}}

/* Customer document category tabs */
.ccon-client-doc-tabs{display:flex;flex-wrap:wrap;gap:5px;border-bottom:1px solid #607895;margin:0 0 24px;padding:0}
.ccon-client-doc-tab{display:inline-block;padding:12px 16px;background:#203750;color:#fff!important;border:1px solid #49627e;border-radius:8px 8px 0 0;text-decoration:none!important;font-weight:600}
.ccon-client-doc-tab:hover,.ccon-client-doc-tab:focus-visible{background:#29517c;color:#fff!important}
.ccon-client-doc-tab.is-active{background:#3179df;border-color:#3179df;color:#fff!important}
.ccon-client-doc-content{padding:10px 0 30px;color:#fff}
.ccon-client-doc-content h3{color:#fff;margin:0 0 16px}

/* v1.2.28: mobile-only portal layout; desktop rules remain untouched. */
@media(max-width:959px){
 .ccon-wrap.ccon-portal,.ccon-wrap.ccon-portal *{box-sizing:border-box}
 .ccon-wrap.ccon-portal{width:100%;max-width:100%;min-width:0;margin-inline:auto;padding:10px!important;overflow-x:clip}
 .ccon-wrap.ccon-portal .ccon-portal-grid{display:block;min-width:0;margin-top:12px}
 .ccon-wrap.ccon-portal .ccon-portal-nav{width:100%;margin:0 0 12px;padding:10px}
 .ccon-wrap.ccon-portal .ccon-portal-nav #ccon-nav-links:not([hidden]){display:grid;grid-template-columns:1fr;gap:3px}
 .ccon-wrap.ccon-portal .ccon-portal-nav #ccon-nav-links[hidden]{display:none!important}
 .ccon-wrap.ccon-portal .ccon-menu-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:#245b9e;color:#fff;border:1px solid #527ca8}
 .ccon-wrap.ccon-portal .ccon-menu-toggle::after{content:'☰';font-size:20px}
 .ccon-wrap.ccon-portal .ccon-portal-header,.ccon-wrap.ccon-portal .ccon-portal-main{width:100%;max-width:100%;min-width:0;padding:12px}
 .ccon-wrap.ccon-portal .ccon-portal-main > *, .ccon-wrap.ccon-portal .ccon-portal-main section{max-width:100%;min-width:0}
 .ccon-wrap.ccon-portal .ccon-portal-main .ccon-client-page-header{width:100%;padding:14px;flex-wrap:wrap}
 .ccon-wrap.ccon-portal .ccon-client-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ccon-wrap.ccon-portal .ccon-client-doc-tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:thin}
 .ccon-wrap.ccon-portal .ccon-client-doc-tab{flex:0 0 auto}
 .ccon-wrap.ccon-portal .ccon-company-users-management{overflow-x:auto}
 .ccon-wrap.ccon-portal .ccon-client-recent-scroll,.ccon-wrap.ccon-portal .ccon-table-scroll{max-width:100%;overflow-x:auto}
}
@media(max-width:650px){
 .ccon-wrap.ccon-portal .ccon-client-dashboard-stats{grid-template-columns:1fr}
 .ccon-wrap.ccon-portal .ccon-portal-header{flex-direction:column}
 .ccon-wrap.ccon-portal .ccon-portal-header-actions{width:100%;margin-left:0}
 .ccon-wrap.ccon-portal .ccon-client-tickets,.ccon-wrap.ccon-portal .ccon-ticket-table-wrap{width:100%;max-width:100%;min-width:0}
 .ccon-wrap.ccon-portal .ccon-ticket-table-wrap{overflow:visible!important}
 .ccon-wrap.ccon-portal .ccon-ticket-table{display:block!important;width:100%!important;min-width:0!important;table-layout:auto!important;background:transparent!important;border:0!important}
 .ccon-wrap.ccon-portal .ccon-ticket-table thead{display:none!important}
 .ccon-wrap.ccon-portal .ccon-ticket-table tbody{display:grid!important;gap:12px;width:100%}
 .ccon-wrap.ccon-portal .ccon-ticket-table tr[data-ccon-ticket-row]{display:grid!important;grid-template-columns:minmax(0,1fr);gap:7px;width:100%;padding:14px;background:#1c3049;border:1px solid #496582;border-radius:10px}
 .ccon-wrap.ccon-portal .ccon-ticket-table tr[data-ccon-ticket-row][hidden]{display:none!important}
 .ccon-wrap.ccon-portal .ccon-ticket-table tr[data-ccon-ticket-row] td{display:flex!important;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;width:100%!important;max-width:100%;padding:3px 0!important;border:0!important;overflow-wrap:anywhere;text-align:right}
 .ccon-wrap.ccon-portal .ccon-ticket-table tr[data-ccon-ticket-row] td::before{flex:0 0 95px;text-align:left;font-weight:700;color:#c6d9f2}
 .ccon-wrap.ccon-portal .ccon-ticket-table td:nth-child(1)::before{content:'Ticket #'}
 .ccon-wrap.ccon-portal .ccon-ticket-table td:nth-child(2)::before{content:'Subject'}
 .ccon-wrap.ccon-portal .ccon-ticket-table td:nth-child(3)::before{content:'Department'}
 .ccon-wrap.ccon-portal .ccon-ticket-table td:nth-child(4)::before{content:'Status'}
 .ccon-wrap.ccon-portal .ccon-ticket-table td:nth-child(5)::before{content:'Priority'}
 .ccon-wrap.ccon-portal .ccon-ticket-table td:nth-child(6)::before{content:'Updated'}
 .ccon-wrap.ccon-portal .ccon-ticket-table td:nth-child(7)::before{content:'Actions'}
 .ccon-wrap.ccon-portal .ccon-ticket-list-tools,.ccon-wrap.ccon-portal .ccon-ticket-filters{max-width:100%;min-width:0;flex-wrap:wrap}
 .ccon-wrap.ccon-portal .ccon-ticket-search-label,.ccon-wrap.ccon-portal .ccon-ticket-search-label input{width:100%;max-width:100%;min-width:0}
 .ccon-wrap.ccon-portal .ccon-client-ticket-header{display:flex;flex-direction:column;align-items:stretch;gap:12px}
 .ccon-wrap.ccon-portal .ccon-client-ticket-header button{width:100%}
 .ccon-wrap.ccon-portal .ccon-client-recent-logins table{min-width:0}
 .ccon-wrap.ccon-portal .ccon-client-recent-logins th,.ccon-wrap.ccon-portal .ccon-client-recent-logins td{padding:8px 5px;overflow-wrap:anywhere}
 .ccon-wrap.ccon-portal .ccon-client-login-avatar{margin-right:3px}
 .ccon-wrap.ccon-portal .ccon-client-recent-logins code{white-space:normal;overflow-wrap:anywhere}
 .ccon-wrap.ccon-portal .ccon-client-login-pagination{align-items:flex-start}
 .ccon-wrap.ccon-portal .ccon-company-users-table{min-width:690px}
 .ccon-wrap.ccon-portal .ccon-my-profile .ccon-profile-grid{grid-template-columns:minmax(0,1fr)}
}

/* v1.2.29: mobile viewport-width breakout from narrow theme content columns.
 * Scoped to the client portal only; do not change desktop/theme-wide layout. */
@media screen and (max-width:959px){
 .ccon-wrap.ccon-portal{
  position:relative!important;
  display:block!important;
  width:100vw!important;
  width:100dvw!important;
  max-width:100vw!important;
  max-width:100dvw!important;
  min-width:0!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:8px!important;
  overflow-x:clip;
 }
 .ccon-wrap.ccon-portal .ccon-portal-grid,
 .ccon-wrap.ccon-portal .ccon-portal-nav,
 .ccon-wrap.ccon-portal .ccon-portal-main,
 .ccon-wrap.ccon-portal .ccon-portal-header{min-width:0!important;max-width:100%!important;width:100%!important}
 .ccon-wrap.ccon-portal .ccon-portal-main{overflow-wrap:anywhere}
 .ccon-wrap.ccon-portal .ccon-portal-main img,
 .ccon-wrap.ccon-portal .ccon-portal-main iframe,
 .ccon-wrap.ccon-portal .ccon-portal-main video{max-width:100%;height:auto}
 .ccon-wrap.ccon-portal .ccon-client-tickets{min-width:0;max-width:100%;padding:8px}
 .ccon-wrap.ccon-portal .ccon-client-ticket-header{min-width:0;max-width:100%}
 .ccon-wrap.ccon-portal .ccon-ticket-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media screen and (max-width:650px){
 .ccon-wrap.ccon-portal .ccon-ticket-detail-grid{grid-template-columns:minmax(0,1fr)}
 .ccon-wrap.ccon-portal .ccon-client-ticket-header{padding:12px}
 .ccon-wrap.ccon-portal .ccon-ticket-table-wrap{min-width:0!important;max-width:100%!important}
}

/* v1.2.31: mobile-only customer portal branding and edge-to-edge background. */
.ccon-wrap.ccon-portal .ccon-mobile-brand{display:none}
@media(max-width:599px){
 body:has(.ccon-wrap.ccon-portal){background:#101827!important}
 body:has(.ccon-wrap.ccon-portal) .entry-title,
 body:has(.ccon-wrap.ccon-portal) .post-title,
 body:has(.ccon-wrap.ccon-portal) .page-title,
 body:has(.ccon-wrap.ccon-portal) h1.entry-title{display:none!important}
 body:has(.ccon-wrap.ccon-portal) .entry-content,
 body:has(.ccon-wrap.ccon-portal) .post-content{margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}
 .ccon-wrap.ccon-portal{box-sizing:border-box!important;background:#101827!important;min-height:100dvh!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:max(12px,env(safe-area-inset-bottom))!important}
 .ccon-wrap.ccon-portal .ccon-mobile-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#1d3d63;color:#fff;padding:16px; margin:0 0 10px;border-radius:0;box-sizing:border-box}
 .ccon-wrap.ccon-portal .ccon-mobile-brand strong{display:block;color:#fff;font-size:22px;line-height:1.3}
 .ccon-wrap.ccon-portal .ccon-mobile-brand span{display:block;color:#dce8f7;font-size:12px;line-height:1.5}
 .ccon-wrap.ccon-portal .ccon-mobile-brand .ccon-mobile-brand-icon{color:#fff;font-size:26px}
}

/* v1.2.32: mobile-only login / forgot password / signup shell. Desktop unaffected. */
.ccon-auth-mobile-header,.ccon-auth-mobile-footer{display:none}
.ccon-auth-resend{max-width:100%;margin:16px auto}
.ccon-auth-resend summary{cursor:pointer;list-style:none;text-align:center;text-decoration:underline}
.ccon-auth-resend summary::-webkit-details-marker{display:none}
.ccon-auth-resend:not([open]) .ccon-wrap{display:none}
@media(max-width:767px){
 body:has(.ccon-auth-mobile){background:#101827!important;margin:0!important;overflow-x:hidden}
 body:has(.ccon-auth-mobile) :is(.entry-title,.page-title,.post-title,.title_wrapper,.section-post-header,.page-header){display:none!important}
 body:has(.ccon-auth-mobile) :is(#Content,#content,.content_wrapper,.sections_group,.section_wrapper,.the_content_wrapper,.entry-content,.post-content,.container,.wrap){max-width:none!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;box-sizing:border-box!important}
 body:has(.ccon-auth-mobile) :is(#Header_wrapper,#Footer,#Subheader){display:none!important}
 .ccon-auth-mobile{box-sizing:border-box;position:relative;left:50%;transform:translateX(-50%);width:100vw;max-width:100vw;min-height:100dvh;background:#101827;color:#fff;font-size:16px;overflow-x:clip}
 .ccon-auth-mobile *{box-sizing:border-box}
 .ccon-auth-mobile-header{display:block;background:#1d3d63;padding:22px 20px;color:#fff}
 .ccon-auth-brand{display:flex;align-items:center;gap:12px;border-bottom:1px solid #47698d;padding-bottom:16px;margin-bottom:17px}
 .ccon-auth-brand strong,.ccon-auth-brand small{display:block;color:#fff;line-height:1.35}
 .ccon-auth-brand strong{font-size:19px}.ccon-auth-brand small{font-size:12px;color:#dce8f7}
 .ccon-auth-shield{display:grid;place-items:center;background:#2a5e9b;width:44px;height:44px;border-radius:10px;color:#fff}
 .ccon-auth-mobile-header h1{font-size:26px!important;line-height:1.2!important;color:#fff!important;margin:0 0 6px!important;padding:0!important}
 .ccon-auth-mobile-header p{font-size:14px;color:#dce8f7;margin:0}
 .ccon-auth-mobile-content{padding:18px 14px 30px;max-width:460px;margin:0 auto}
 .ccon-auth-mobile .ccon-wrap{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;background:transparent!important}
 .ccon-auth-mobile .ccon-card{width:100%!important;max-width:100%!important;background:#1b2c42!important;color:#fff!important;border:1px solid #38516c!important;border-radius:14px!important;padding:22px 18px!important;margin:0!important;box-shadow:none!important}
 .ccon-auth-mobile .ccon-card h2{font-size:25px!important;line-height:1.3!important;color:#fff!important;margin:0 0 18px!important}
 .ccon-auth-mobile .ccon-field{width:100%;min-width:0;margin-bottom:14px}
 .ccon-auth-mobile .ccon-field label{display:block;color:#fff!important;font-size:14px;font-weight:600;margin-bottom:7px}
 .ccon-auth-mobile .ccon-field :is(input,select){width:100%!important;max-width:100%!important;min-width:0!important;min-height:45px!important;background:#121f30!important;color:#fff!important;border:1px solid #536b86!important;border-radius:7px!important;padding:10px 12px!important;font-size:16px!important}
 .ccon-auth-mobile .ccon-primary,.ccon-auth-mobile .ccon-card button[type=submit]{display:block;width:100%!important;min-height:46px!important;background:#2363b9!important;color:#fff!important;border-radius:7px!important;font-size:15px!important;font-weight:650!important;margin-top:16px}
 .ccon-auth-mobile .ccon-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:18px 0!important}
 .ccon-auth-mobile .ccon-links a,.ccon-auth-mobile .ccon-auth-resend summary{color:#b9d8ff!important;font-size:14px!important}
 .ccon-auth-mobile .ccon-auth-resend{margin:10px 0 0}
 .ccon-auth-mobile .ccon-auth-resend .ccon-wrap{margin-top:15px!important}
 .ccon-auth-mobile .ccon-auth-help{color:#b9cde6;margin:-8px 0 18px}
 .ccon-auth-mobile-footer{display:block;text-align:center;color:#b9cde6;font-size:12px;line-height:2;padding:18px 8px}
}

/* v1.2.33: shared desktop/mobile authentication shell; theme title hidden only on auth pages. */
body:has(.ccon-auth-mobile){background:#101827!important;overflow-x:hidden}
body:has(.ccon-auth-mobile) :is(.entry-title,.page-title,.post-title,.title_wrapper,.section-post-header,.page-header,#Subheader){display:none!important}
body:has(.ccon-auth-mobile) :is(#Content,#content,.content_wrapper,.sections_group,.section_wrapper,.the_content_wrapper,.entry-content,.post-content){max-width:none!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;box-sizing:border-box!important}
.ccon-auth-mobile{box-sizing:border-box;position:relative;left:50%;transform:translateX(-50%);width:100vw;max-width:100vw;min-height:100dvh;background:#101827;color:#fff;font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:clip}
.ccon-auth-mobile *,.ccon-auth-mobile *::before,.ccon-auth-mobile *::after{box-sizing:border-box}
.ccon-auth-mobile-header{display:block;background:#1d3d63;padding:22px max(20px,calc((100vw - 620px)/2));color:#fff}
.ccon-auth-brand{display:flex;align-items:center;gap:12px;border-bottom:1px solid #47698d;padding-bottom:16px;margin-bottom:17px}
.ccon-auth-brand strong,.ccon-auth-brand small{display:block;color:#fff;line-height:1.35}
.ccon-auth-brand strong{font-size:19px}.ccon-auth-brand small{font-size:12px;color:#dce8f7}
.ccon-auth-shield{display:grid;place-items:center;background:#2a5e9b;width:44px;height:44px;border-radius:10px;color:#fff}
.ccon-auth-mobile-header h1{font-size:26px!important;line-height:1.2!important;color:#fff!important;margin:0 0 6px!important;padding:0!important}
.ccon-auth-mobile-header p{font-size:14px;color:#dce8f7;margin:0}
.ccon-auth-mobile-content{padding:24px 16px 36px;max-width:620px;margin:0 auto}
.ccon-auth-mobile .ccon-wrap{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;background:transparent!important;color:#fff!important}
.ccon-auth-mobile .ccon-card{width:100%!important;max-width:100%!important;background:#1b2c42!important;color:#fff!important;border:1px solid #38516c!important;border-radius:14px!important;padding:clamp(20px,4vw,32px)!important;margin:0!important;box-shadow:none!important}
.ccon-auth-mobile .ccon-card h2{font-size:25px!important;line-height:1.3!important;color:#fff!important;margin:0 0 18px!important}
.ccon-auth-mobile .ccon-field{width:100%;min-width:0;margin-bottom:14px}
.ccon-auth-mobile .ccon-field label{display:block;color:#fff!important;font-size:14px;font-weight:600;margin-bottom:7px}
.ccon-auth-mobile .ccon-field :is(input,select){width:100%!important;max-width:100%!important;min-width:0!important;min-height:45px!important;background:#121f30!important;color:#fff!important;border:1px solid #536b86!important;border-radius:7px!important;padding:10px 12px!important;font-size:16px!important}
.ccon-auth-mobile .ccon-field :is(input,select):focus{border-color:#9fc6ff!important;outline:2px solid #9fc6ff!important;outline-offset:1px}
.ccon-auth-mobile .ccon-primary,.ccon-auth-mobile .ccon-card button[type=submit]{display:block;width:100%!important;min-height:46px!important;background:#2363b9!important;color:#fff!important;border-radius:7px!important;font-size:15px!important;font-weight:650!important;margin-top:16px}
.ccon-auth-mobile .ccon-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:18px 0!important}
.ccon-auth-mobile .ccon-links a,.ccon-auth-mobile .ccon-auth-resend summary{color:#b9d8ff!important;font-size:14px!important}
.ccon-auth-mobile .ccon-auth-resend{margin:10px 0 0}
.ccon-auth-mobile .ccon-auth-resend .ccon-wrap{margin-top:15px!important}
.ccon-auth-mobile .ccon-auth-help{color:#b9cde6;margin:-8px 0 18px}
.ccon-auth-mobile-footer{display:block;text-align:center;color:#b9cde6;font-size:12px;line-height:2;padding:18px 8px}
@media(min-width:768px){.ccon-auth-mobile .ccon-form:has(#ccon-first-name){grid-template-columns:repeat(2,minmax(0,1fr))}.ccon-auth-mobile .ccon-form:has(#ccon-first-name)>.ccon-field:has(#ccon-address),.ccon-auth-mobile .ccon-form:has(#ccon-first-name)>.ccon-field:has(#ccon-email),.ccon-auth-mobile .ccon-form:has(#ccon-first-name)>:not(.ccon-field){grid-column:1/-1}}

/* v1.2.34: compact, logo-branded authentication panel on desktop and mobile. */
body:has(.ccon-auth-mobile) :is(.entry-title,.page-title,.post-title,.title_wrapper,.section-post-header,.page-header,#Subheader,.post-header,.post-title-wrapper){display:none!important}
body:has(.ccon-auth-mobile) :is(#Content,#content,.content_wrapper,.sections_group,.section_wrapper,.the_content_wrapper,.entry-content,.post-content){padding-top:0!important;margin-top:0!important}
.ccon-auth-mobile{width:100vw!important;max-width:100vw!important;min-height:100dvh;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:clamp(16px,4vw,42px) 14px 22px!important;background:#101827!important;gap:14px;overflow-x:clip}
.ccon-auth-panel{width:100%;max-width:460px;background:#1c2d43;border:1px solid #3e5571;border-radius:15px;padding:clamp(18px,4vw,30px);box-sizing:border-box}
.ccon-auth-mobile-header{display:flex!important;flex-direction:column;align-items:center;gap:5px;background:transparent!important;padding:0 0 17px!important;border-bottom:1px solid #3e5571;text-align:center}
.ccon-auth-logo{display:block;width:150px;max-width:45%;height:auto;object-fit:contain;margin:0 auto 5px}
.ccon-auth-mobile-header h1{color:#fff!important;font-size:24px!important;line-height:1.3!important;margin:0!important}
.ccon-auth-mobile-header p{color:#b9cde6!important;font-size:13px!important;margin:0!important}
.ccon-auth-mobile-content{width:100%!important;max-width:none!important;margin:0!important;padding:20px 0 0!important}
.ccon-auth-mobile .ccon-wrap,.ccon-auth-mobile .ccon-card{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;width:100%!important;max-width:none!important}
.ccon-auth-mobile .ccon-card h2{font-size:22px!important;margin:0 0 17px!important}
.ccon-auth-mobile .ccon-links{margin:18px 0 10px!important}
.ccon-auth-mobile .ccon-auth-resend{margin:12px 0 0!important;border-top:1px solid #3e5571;padding-top:15px}
.ccon-auth-mobile .ccon-auth-resend .ccon-card{padding:0!important}
.ccon-auth-mobile-footer{display:block!important;text-align:center;color:#b9cde6;font-size:12px;line-height:1.7;padding:0 8px}
@media(max-width:767px){body:has(.ccon-auth-mobile) :is(#Header_wrapper,#Footer,#Subheader){display:none!important}.ccon-auth-mobile{padding:12px 12px 24px!important}.ccon-auth-logo{width:120px}.ccon-auth-panel{padding:20px 18px}.ccon-auth-mobile-content{padding-top:17px!important}}
