/* JCP team dashboard: the client-portal shell plus the staff screens (which use WordPress-admin markup) restyled in
   the portal design. Scoped under #jcp-portal.jcp-staff (id selectors outrank theme and Elementor-kit rules). */
#jcp-portal.jcp-staff .jcp-shell{grid-template-columns:232px minmax(0,1fr)}
#jcp-portal.jcp-staff .jcp-brand__sub{display:block;margin:6px 2px 0;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#c6d0ee}
#jcp-portal.jcp-staff .jcp-nav ul{gap:2px}
#jcp-portal.jcp-staff .jcp-nav a{padding:9px 12px}
#jcp-portal.jcp-staff .jcp-count{margin-left:auto;background:var(--jcp-orange);color:var(--jcp-navy);border-radius:999px;font-size:.75rem;font-weight:800;min-width:22px;height:22px;display:inline-grid;place-items:center;padding:0 6px}
#jcp-portal.jcp-staff .jcp-topbar{flex-wrap:wrap}
#jcp-portal.jcp-staff .jcp-topbar-links{display:flex;gap:14px;flex-wrap:wrap;margin:0}
#jcp-portal.jcp-staff .jcp-cards--staff{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
#jcp-portal.jcp-staff .jcp-cards--currency{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
#jcp-portal.jcp-staff .jcp-metric.is-quiet .jcp-big{color:var(--jcp-muted)}
#jcp-portal .jcp-notice{border-radius:10px;padding:12px 14px;margin:0 0 16px;font-weight:600}
#jcp-portal .jcp-notice p{margin:0}
#jcp-portal .jcp-notice ul{margin:6px 0 0 18px;font-weight:400}
#jcp-portal .jcp-notice--success{background:#dff3e8;color:#0b5230}
#jcp-portal .jcp-notice--error{background:#fde2e2;color:#8a1010}

/* ---- Staff screens (WordPress-admin markup) ---- */
#jcp-portal .jcp-staff-screen{min-width:0;color:var(--jcp-text)}
#jcp-portal .jcp-staff-screen .wrap{margin:0;max-width:none}
#jcp-portal .jcp-staff-screen h1{font-size:1.75rem;line-height:1.2;margin:0 0 10px;display:inline-block;margin-right:10px}
#jcp-portal .jcp-staff-screen h2{font-size:1.2rem;margin:22px 0 10px}
#jcp-portal .jcp-staff-screen h3{font-size:1.05rem;margin:16px 0 8px}
#jcp-portal .jcp-staff-screen .wp-header-end{border:0;margin:6px 0 10px;height:0}
#jcp-portal .jcp-staff-screen p{margin:0 0 12px}
#jcp-portal .jcp-staff-screen a{color:var(--jcp-navy-2);text-underline-offset:3px}
#jcp-portal .jcp-staff-screen .description{color:var(--jcp-muted);font-size:.9rem;margin:6px 0}
#jcp-portal .jcp-staff-screen .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#jcp-portal .jcp-staff-screen code{background:var(--jcp-bg);padding:2px 5px;border-radius:4px}

/* Buttons */
#jcp-portal .jcp-staff-screen .button,#jcp-portal .jcp-staff-screen .page-title-action,#jcp-portal .jcp-staff-screen input[type=submit]{display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:700;font-size:.92rem;line-height:1.2;padding:9px 16px;border-radius:9px;border:2px solid var(--jcp-navy);background:#fff;color:var(--jcp-navy);text-decoration:none;cursor:pointer;vertical-align:middle;min-height:40px}
#jcp-portal .jcp-staff-screen .button:hover,#jcp-portal .jcp-staff-screen .page-title-action:hover{background:var(--jcp-bg)}
#jcp-portal .jcp-staff-screen .button-primary,#jcp-portal .jcp-staff-screen input[type=submit].button-primary{background:var(--jcp-orange);border-color:var(--jcp-orange);color:var(--jcp-navy)}
#jcp-portal .jcp-staff-screen .button-primary:hover{filter:brightness(.95);background:var(--jcp-orange)}
#jcp-portal .jcp-staff-screen .button-small{padding:5px 10px;min-height:32px;font-size:.84rem}
#jcp-portal .jcp-staff-screen .button-link{background:none;border:0;padding:0;min-height:0;color:var(--jcp-navy-2);text-decoration:underline;font-weight:600;cursor:pointer;font:inherit}
#jcp-portal .jcp-staff-screen .button-link-delete{color:var(--jcp-err)}
#jcp-portal .jcp-staff-screen .page-title-action{margin:0 6px 10px 0;padding:7px 14px;min-height:36px}

/* Form controls */
#jcp-portal .jcp-staff-screen input[type=text],#jcp-portal .jcp-staff-screen input[type=email],#jcp-portal .jcp-staff-screen input[type=url],#jcp-portal .jcp-staff-screen input[type=number],#jcp-portal .jcp-staff-screen input[type=search],#jcp-portal .jcp-staff-screen input[type=date],#jcp-portal .jcp-staff-screen input[type=datetime-local],#jcp-portal .jcp-staff-screen input[type=tel],#jcp-portal .jcp-staff-screen input:not([type]),#jcp-portal .jcp-staff-screen select,#jcp-portal .jcp-staff-screen textarea{font:inherit;color:var(--jcp-navy);background:#fff;border:1.5px solid #8a96b4;border-radius:8px;padding:8px 10px;max-width:100%;box-sizing:border-box;min-height:40px}
#jcp-portal .jcp-staff-screen textarea{width:100%}
#jcp-portal .jcp-staff-screen .regular-text{width:100%;max-width:420px}
#jcp-portal .jcp-staff-screen .large-text{width:100%}
#jcp-portal .jcp-staff-screen .small-text{width:90px}
#jcp-portal .jcp-staff-screen input:focus-visible,#jcp-portal .jcp-staff-screen select:focus-visible,#jcp-portal .jcp-staff-screen textarea:focus-visible,#jcp-portal .jcp-staff-screen .button:focus-visible,#jcp-portal .jcp-staff-screen a:focus-visible{outline:3px solid var(--jcp-navy);outline-offset:2px}
#jcp-portal .jcp-staff-screen input[type=checkbox],#jcp-portal .jcp-staff-screen input[type=radio]{width:18px;height:18px;accent-color:var(--jcp-navy);vertical-align:middle;margin:0 6px 0 0}
#jcp-portal .jcp-staff-screen fieldset{border:0;padding:0;margin:0}
#jcp-portal .jcp-staff-screen label{font-weight:500}

/* form-table: stacked label/field rows */
#jcp-portal .jcp-staff-screen .form-table{width:100%;border-collapse:collapse;margin:8px 0 16px;background:#fff;border:1px solid var(--jcp-line);border-radius:12px;overflow:hidden}
#jcp-portal .jcp-staff-screen .form-table th{width:220px;text-align:left;vertical-align:top;padding:16px 14px 16px 18px;font-weight:700;color:var(--jcp-navy);border-bottom:1px solid var(--jcp-line)}
#jcp-portal .jcp-staff-screen .form-table td{padding:14px 18px 14px 0;border-bottom:1px solid var(--jcp-line);vertical-align:top}
#jcp-portal .jcp-staff-screen .form-table tr:last-child th,#jcp-portal .jcp-staff-screen .form-table tr:last-child td{border-bottom:0}

/* Tables */
#jcp-portal .jcp-staff-screen .widefat{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--jcp-line);border-radius:12px;overflow:hidden;margin:8px 0 16px}
#jcp-portal .jcp-staff-screen .widefat th,#jcp-portal .jcp-staff-screen .widefat thead td{text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--jcp-muted);padding:10px 12px;border-bottom:2px solid var(--jcp-line);background:#fff;font-weight:700}
#jcp-portal .jcp-staff-screen .widefat td{padding:12px;border-bottom:1px solid var(--jcp-line);vertical-align:top}
#jcp-portal .jcp-staff-screen .widefat tbody tr:last-child td{border-bottom:0}
#jcp-portal .jcp-staff-screen .striped>tbody>:nth-child(odd){background:#fafbfd}
#jcp-portal .jcp-staff-screen .widefat tfoot th,#jcp-portal .jcp-staff-screen .widefat tfoot td{border-top:2px solid var(--jcp-line);padding:10px 12px}
#jcp-portal .jcp-staff-screen .fixed{table-layout:fixed}
#jcp-portal .jcp-staff-screen .jcp-scroll,#jcp-portal .jcp-staff-screen .wp-list-table{overflow-x:auto}

/* Notices */
#jcp-portal .jcp-staff-screen .notice{background:#fff;border:1px solid var(--jcp-line);border-left:5px solid var(--jcp-navy-2);border-radius:10px;padding:2px 14px;margin:10px 0 14px}
#jcp-portal .jcp-staff-screen .notice p{margin:10px 0}
#jcp-portal .jcp-staff-screen .notice-success{border-left-color:#157a45;background:#f2fbf6}
#jcp-portal .jcp-staff-screen .notice-error{border-left-color:var(--jcp-err);background:#fff5f5}
#jcp-portal .jcp-staff-screen .notice-warning{border-left-color:var(--jcp-orange);background:#fffaf0}
#jcp-portal .jcp-staff-screen .notice-info{border-left-color:var(--jcp-navy-2)}

/* Cards (postbox) */
#jcp-portal .jcp-staff-screen .postbox{background:#fff;border:1px solid var(--jcp-line);border-radius:12px;box-shadow:0 1px 6px rgba(28,45,89,.05);margin:0 0 16px;min-width:0}
#jcp-portal .jcp-staff-screen .postbox-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 0}
#jcp-portal .jcp-staff-screen .postbox-header h2,#jcp-portal .jcp-staff-screen .postbox h2{font-size:1.05rem;margin:0 0 6px}
#jcp-portal .jcp-staff-screen .postbox .inside{padding:12px 16px 16px;margin:0}

/* Tabs, filters, pagination */
#jcp-portal .jcp-staff-screen .nav-tab-wrapper{display:flex;gap:6px;flex-wrap:wrap;border-bottom:2px solid var(--jcp-line);margin:6px 0 16px;padding:0}
#jcp-portal .jcp-staff-screen .nav-tab{padding:9px 14px;border-radius:9px 9px 0 0;text-decoration:none;font-weight:700;color:var(--jcp-muted);border-bottom:3px solid transparent;margin-bottom:-2px;background:none}
#jcp-portal .jcp-staff-screen .nav-tab-active,#jcp-portal .jcp-staff-screen .nav-tab:hover{color:var(--jcp-navy);border-bottom-color:var(--jcp-orange)}
#jcp-portal .jcp-staff-screen .subsubsub{list-style:none;display:flex;flex-wrap:wrap;gap:4px 10px;margin:6px 0 12px;padding:0;font-size:.92rem}
#jcp-portal .jcp-staff-screen .subsubsub li{margin:0}
#jcp-portal .jcp-staff-screen .subsubsub .current{font-weight:800;color:var(--jcp-navy);text-decoration:none}
#jcp-portal .jcp-staff-screen .search-box{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 12px}
#jcp-portal .jcp-staff-screen .tablenav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin:8px 0}
#jcp-portal .jcp-staff-screen .tablenav-pages a,#jcp-portal .jcp-staff-screen .tablenav-pages span{display:inline-block;padding:6px 11px;border:1.5px solid var(--jcp-line);border-radius:8px;margin-right:4px;text-decoration:none;font-weight:700;background:#fff}
#jcp-portal .jcp-staff-screen .tablenav-pages .current{background:var(--jcp-navy);color:#fff;border-color:var(--jcp-navy)}
#jcp-portal .jcp-staff-screen .count{color:var(--jcp-muted)}

/* Invoice/quote line editor: compact cells so every column keeps a usable input. */
#jcp-portal .jcp-staff-screen .jcp-lines-edit th,#jcp-portal .jcp-staff-screen .jcp-lines-edit td{padding:6px 4px}
#jcp-portal .jcp-staff-screen .jcp-lines-edit input,#jcp-portal .jcp-staff-screen .jcp-lines-edit select{width:100%;padding:6px 7px;min-height:36px}
#jcp-portal .jcp-staff-screen .jcp-lines-edit{min-width:640px}

/* Layouts used by the screens */
#jcp-portal .jcp-staff-screen .jcp-cols{max-width:none}
#jcp-portal .jcp-staff-screen .jcp-fin-strip>div{border-color:var(--jcp-line);border-radius:12px}
#jcp-portal .jcp-staff-screen iframe{max-width:100%}
#jcp-portal .jcp-staff-form{display:grid;gap:4px;align-content:start}
#jcp-portal .jcp-staff-form .jcp-staff-screen .form-table th{width:180px}
#jcp-portal .jcp-staff-form .jcp-field input[readonly]{background:var(--jcp-bg)}

/* Phone: the shell stacks (portal.css); forms stack too. */
@media (max-width:860px){
 #jcp-portal.jcp-staff .jcp-shell{grid-template-columns:minmax(0,1fr)}
 #jcp-portal .jcp-staff-screen .form-table,#jcp-portal .jcp-staff-screen .form-table tbody,#jcp-portal .jcp-staff-screen .form-table tr,#jcp-portal .jcp-staff-screen .form-table th,#jcp-portal .jcp-staff-screen .form-table td{display:block;width:auto}
 #jcp-portal .jcp-staff-screen .form-table th{padding:14px 14px 4px;border-bottom:0}
 #jcp-portal .jcp-staff-screen .form-table td{padding:0 14px 14px}
 #jcp-portal .jcp-staff-screen .widefat{display:block;overflow-x:auto;white-space:normal}
 #jcp-portal .jcp-staff-screen h1{font-size:1.4rem}
}

/* ---- Sign-in, create-account and password pages ---- */
#jcp-portal.jcp-auth{max-width:480px;margin:32px auto}
#jcp-portal.jcp-auth .jcp-auth-card{max-width:none;margin:0;text-align:left;padding:32px 28px}
#jcp-portal.jcp-auth .jcp-gate__logo{margin:0 auto 18px}
#jcp-portal.jcp-auth h2{text-align:center;margin-bottom:16px}
#jcp-portal.jcp-auth .jcp-auth-form{display:grid;gap:2px;margin-top:8px}
#jcp-portal.jcp-auth .jcp-help{font-size:.88rem;margin:4px 0 0}
#jcp-portal.jcp-auth .jcp-check{display:flex;gap:8px;align-items:center;margin:4px 0 14px;font-weight:500}
#jcp-portal.jcp-auth .jcp-check input{width:18px;height:18px;accent-color:var(--jcp-navy)}
#jcp-portal .jcp-btn--block{width:100%;justify-content:center}
#jcp-portal.jcp-auth .jcp-auth-foot{display:flex;flex-wrap:wrap;gap:10px 18px;justify-content:space-between;border-top:1px solid var(--jcp-line);margin-top:20px;padding-top:16px;font-size:.95rem}
#jcp-portal.jcp-auth .jcp-auth-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
#jcp-portal.jcp-auth p{color:var(--jcp-muted)}

/* Bill to / overview date filter: the shared rules live in admin.css (loaded here too, scoped to .jcp-admin). */

/* List date filter, sortable headers and empty states in the portal design */
#jcp-portal .jcp-staff-screen .jcp-df--list{border-color:var(--jcp-line);border-radius:12px;padding:14px 16px}
#jcp-portal .jcp-staff-screen .jcp-df--list label,#jcp-portal .jcp-staff-screen .jcp-df--list .jcp-df-what{color:var(--jcp-navy);font-size:.82rem;font-weight:700}
#jcp-portal .jcp-staff-screen .jcp-df-error{color:var(--jcp-err)}
#jcp-portal .jcp-staff-screen .jcp-df-summary{color:var(--jcp-navy)}
#jcp-portal .jcp-staff-screen .jcp-sortable a{color:var(--jcp-muted);text-decoration:none}
#jcp-portal .jcp-staff-screen .jcp-sortable a:hover,#jcp-portal .jcp-staff-screen .jcp-sortable.is-sorted a{color:var(--jcp-navy)}
#jcp-portal .jcp-staff-screen .jcp-tablenav .page-numbers{border:1.5px solid var(--jcp-line);border-radius:8px;background:#fff;min-width:34px;min-height:34px;font-weight:700}
#jcp-portal .jcp-staff-screen .jcp-tablenav .page-numbers.current{background:var(--jcp-navy);border-color:var(--jcp-navy);color:#fff}
#jcp-portal .jcp-staff-screen .jcp-tablenav .displaying-num{color:var(--jcp-muted);margin-right:6px}
#jcp-portal .jcp-staff-screen .jcp-search{margin:10px 0 4px;flex-wrap:nowrap}
#jcp-portal .jcp-staff-screen .jcp-search select{width:auto;max-width:260px;flex:0 0 auto}
#jcp-portal .jcp-staff-screen .jcp-search input[type=search]{width:auto;flex:0 1 340px;min-width:180px}
#jcp-portal .jcp-staff-screen .jcp-search .button,#jcp-portal .jcp-staff-screen .jcp-search input[type=submit]{flex:0 0 auto;width:auto}
#jcp-portal .jcp-staff-screen .jcp-df-extra .jcp-export{min-height:40px}
#jcp-portal .jcp-staff-screen .jcp-df--list .jcp-df-field select{width:auto;max-width:170px}
@media (max-width:860px){
 #jcp-portal .jcp-staff-screen .jcp-search{flex-wrap:wrap}
 #jcp-portal .jcp-staff-screen .jcp-search input[type=search]{flex:1 1 100%}
 #jcp-portal .jcp-staff-screen .jcp-search select{flex:1 1 auto;max-width:none}
}
@media (max-width:860px){
 #jcp-portal .jcp-staff-screen .widefat.jcp-table{display:block;overflow:visible;border:0;background:none}
 #jcp-portal .jcp-staff-screen .jcp-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 #jcp-portal .jcp-staff-screen .jcp-table tbody,#jcp-portal .jcp-staff-screen .jcp-table tr{display:block}
 #jcp-portal .jcp-staff-screen .jcp-table tbody tr{background:#fff;border:1px solid var(--jcp-line);border-radius:12px;margin:0 0 10px;padding:6px 0}
 #jcp-portal .jcp-staff-screen .jcp-table td{display:grid;grid-template-columns:minmax(96px,34%) minmax(0,1fr);gap:8px;padding:7px 14px;border:0}
 #jcp-portal .jcp-staff-screen .jcp-table td::before{content:attr(data-colname);font-weight:700;color:var(--jcp-muted);font-size:.85rem}
 #jcp-portal .jcp-staff-screen .jcp-df-dates input[type=date]{padding:8px 4px 8px 6px;font-size:.9rem;min-width:0}
 #jcp-portal .jcp-staff-screen .jcp-table td>*{justify-self:start;max-width:100%}
 #jcp-portal .jcp-staff-screen .jcp-table tr.jcp-empty td{display:block}
 #jcp-portal .jcp-staff-screen .jcp-table tr.jcp-empty td::before{content:none}
}