/* ========================================================================== 
   PLENTZ GLOBAL DESIGN SYSTEM
   Authoritative source for colour, typography, controls and shared surfaces.
   Component CSS may define geometry/layout, but must consume these tokens.
   This file is intentionally loaded LAST on every Plentz page.
   ========================================================================== */

:root{
  /* Brand */
  --plentz-brand:#078447;
  --plentz-brand-hover:#066F3D;
  --plentz-brand-deep:#075F45;
  --plentz-brand-mid:#119063;
  --plentz-brand-soft:#EEF8F2;
  --plentz-brand-border:#C7E0D1;
  --plentz-gold:#C89B35;
  --plentz-petrol:#062B35;
  --plentz-petrol-2:#083F4C;

  /* Surfaces */
  --plentz-page:#F7F8FA;
  --plentz-page-soft:#F2F6F5;
  --plentz-surface:#FFFFFF;
  --plentz-surface-soft:#F9FBFA;
  --plentz-surface-muted:#F4F7F6;

  /* Text */
  --plentz-ink:#102D3D;
  --plentz-text:#314C57;
  --plentz-muted:#71838F;
  --plentz-subtle:#93A3AA;
  --plentz-on-brand:#FFFFFF;
  --plentz-on-brand-soft:rgba(255,255,255,.78);
  --plentz-on-brand-muted:rgba(255,255,255,.64);

  /* Lines and states */
  --plentz-line:#DCE5E8;
  --plentz-line-strong:#C9D6DA;
  --plentz-success:#087A52;
  --plentz-success-soft:#EEF8F2;
  --plentz-warning:#8A6500;
  --plentz-warning-soft:#FFF7DC;
  --plentz-danger:#A63D3D;
  --plentz-danger-soft:#FFF0F0;
  --plentz-info:#256A8A;
  --plentz-info-soft:#EAF4F8;

  /* Geometry */
  --plentz-control-h:44px;
  --plentz-control-h-sm:36px;
  --plentz-control-h-lg:48px;
  --plentz-radius-control:10px;
  --plentz-radius-card:16px;
  --plentz-radius-hero:18px;
  --plentz-radius-pill:999px;
  --plentz-shadow-card:0 6px 20px rgba(6,43,53,.05);
  --plentz-shadow-float:0 18px 48px rgba(6,43,53,.12);
  --plentz-transition:160ms cubic-bezier(.2,.8,.2,1);

  /* Type */
  --plentz-font-family:Inter,"Segoe UI",Arial,sans-serif;
  --plentz-font-xs:10px;
  --plentz-font-sm:11px;
  --plentz-font-md:13px;
  --plentz-font-lg:16px;
  --plentz-font-xl:22px;
  --plentz-font-page:34px;

  /* Compatibility aliases: old modules resolve to the same canonical tokens */
  --ch-primary:var(--plentz-brand);
  --ch-primary-hover:var(--plentz-brand-hover);
  --ch-primary-deep:var(--plentz-brand-deep);
  --ch-accent:var(--plentz-brand);
  --ch-ink:var(--plentz-ink);
  --ch-text:var(--plentz-text);
  --ch-muted:var(--plentz-muted);
  --ch-subtle:var(--plentz-subtle);
  --ch-border:var(--plentz-line);
  --ch-page:var(--plentz-page);
  --ch-card:var(--plentz-surface);
  --ch-success:var(--plentz-success);
  --ch-success-bg:var(--plentz-success-soft);
  --ch-warning:var(--plentz-warning);
  --ch-warning-bg:var(--plentz-warning-soft);
  --ch-danger:var(--plentz-danger);
  --ch-danger-bg:var(--plentz-danger-soft);

  --fp-navy:var(--plentz-petrol);
  --fp-navy-2:var(--plentz-petrol-2);
  --fp-teal:var(--plentz-brand);
  --fp-teal-2:var(--plentz-brand);
  --fp-mint:var(--plentz-brand-soft);
  --fp-mint-2:var(--plentz-page);
  --fp-canvas:var(--plentz-page);
  --fp-surface:var(--plentz-surface);
  --fp-surface-soft:var(--plentz-surface-soft);
  --fp-text:var(--plentz-ink);
  --fp-muted:var(--plentz-muted);
  --fp-line:var(--plentz-line);
  --fp-line-strong:var(--plentz-line-strong);
  --fp-gold:var(--plentz-gold);
  --fp-danger:var(--plentz-danger);
  --fp-success:var(--plentz-success);
  --fp-transition:var(--plentz-transition);

  --plentz-action:var(--plentz-brand);
  --plentz-action-hover:var(--plentz-brand-hover);
  --plentz-action-soft:var(--plentz-brand-soft);
  --plentz-brand-green:var(--plentz-brand);
  --plentz-brand-green-deep:var(--plentz-brand-deep);
  --plentz-brand-green-mid:var(--plentz-brand-mid);
  --plentz-brand-gold:var(--plentz-gold);
  --plentz-body:var(--plentz-text);
  --plentz-surface-brand:var(--plentz-brand);
  --plentz-surface-brand-deep:var(--plentz-brand-hover);
  --plentz-surface-brand-soft:var(--plentz-brand-soft);
  --plentz-surface-light:var(--plentz-surface);
  --plentz-foreground-on-brand:var(--plentz-on-brand);
  --plentz-foreground-on-brand-soft:var(--plentz-on-brand-soft);
  --plentz-foreground-on-light:var(--plentz-ink);
  --plentz-foreground-on-light-soft:var(--plentz-muted);
}

*{box-sizing:border-box}
html,body{background:var(--plentz-page)!important;color:var(--plentz-text)!important}
body,.fp-app-shell,.fp-app-shell .app,.fp-app-shell .main,.fp-auth-shell,input,select,textarea,button{font-family:var(--plentz-font-family)!important}
body{font-size:var(--plentz-font-sm)!important;line-height:1.55!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(7,132,71,.18)!important;outline-offset:2px}

/* Typography */
.ch-page-context,.wp-eyebrow,.kicker,.head .kicker,.home-eyebrow{font-size:var(--plentz-font-xs)!important;font-weight:850!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.ch-page-head h1,.head h1{font-size:var(--plentz-font-page)!important;line-height:1.08!important;font-weight:790!important;letter-spacing:-.04em!important}
.section-title h2,.box h2,.wp-entry-card h2,.wp-collapsible-section h2{font-size:var(--plentz-font-xl)!important;line-height:1.2!important;font-weight:760!important;letter-spacing:-.025em!important}
.ch-admin-panel h3,.box h3,.card h3{font-size:var(--plentz-font-lg)!important;line-height:1.25!important;font-weight:750!important}
label{color:#415C66!important;font-size:11px!important;font-weight:750!important}
.muted,.main p,.main small{color:var(--plentz-muted)}

/* App frame */
.fp-app-shell{background:var(--plentz-page)!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.fp-app-shell>.app,.fp-app-shell .main{background:var(--plentz-page)!important}
.fp-global-header{background:rgba(247,248,250,.96)!important;border-bottom:1px solid var(--plentz-line)!important;box-shadow:none!important;backdrop-filter:blur(18px)!important}
.fp-user-trigger,.fp-global-text-slot button{border:1px solid var(--plentz-line)!important;border-radius:var(--plentz-radius-control)!important;background:var(--plentz-surface)!important;color:var(--plentz-text)!important;box-shadow:none!important}
.fp-user-avatar,.fp-header-mark{background:var(--plentz-brand)!important;color:#fff!important}

/* Sidebar */
.fp-app-shell .side{background:linear-gradient(180deg,var(--plentz-petrol),var(--plentz-petrol-2))!important;color:#fff!important}
.fp-app-shell .nav button{border:1px solid transparent!important;background:transparent!important;color:rgba(255,255,255,.78)!important;box-shadow:none!important;transform:none!important}
.fp-app-shell .nav button:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
.fp-app-shell .nav button.active{background:#fff!important;color:var(--plentz-petrol)!important;border-color:#fff!important;box-shadow:0 8px 22px rgba(0,0,0,.09)!important}
.fp-app-shell .nav button.active:before{display:none!important}
.fp-app-shell .nav button.active .ch-nav-icon{color:var(--plentz-brand)!important}
.fp-app-shell .app>.side .ch-employer-context{background:linear-gradient(135deg,var(--plentz-brand-deep),var(--plentz-brand-mid) 70%,#537E57 145%)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}
.fp-app-shell .app>.side .ch-employer-context>span,.fp-app-shell .app>.side .ch-employer-context small,.fp-app-shell .app>.side .ch-employer-context label,.fp-app-shell .app>.side .ch-employer-context strong{color:#fff!important}
.fp-app-shell .app>.side .ch-employer-context small{opacity:.72!important}
.fp-app-shell .app>.side .ch-employer-context select,.fp-app-shell .app>.side .ch-employer-single{color:#fff!important;-webkit-text-fill-color:#fff!important;background:rgba(255,255,255,.10)!important}
.fp-app-shell .app>.side .ch-employer-context select option{background:#fff!important;color:#183E38!important;-webkit-text-fill-color:#183E38!important}

/* Page title: one branded topic/header design across operational pages */
.ch-page-head,.ch-approved-profile-top.ch-page-head-profile,.ch-page-head-profile{background:linear-gradient(118deg,var(--plentz-brand-deep) 0%,var(--plentz-brand) 58%,#667A48 118%)!important;border:0!important;border-radius:var(--plentz-radius-hero)!important;box-shadow:0 6px 18px rgba(7,95,69,.10)!important;color:var(--plentz-on-brand)!important}
.ch-page-head .ch-page-context,.ch-page-head .wp-eyebrow,.ch-page-head h1,.ch-page-head h2,.ch-page-head h3,.ch-page-head strong,.ch-page-head label,.ch-page-head small,.ch-page-head-profile .wp-eyebrow,.ch-page-head-profile h1,.ch-page-head-profile h2,.ch-page-head-profile strong{color:var(--plentz-on-brand)!important}
.ch-page-head p,.ch-page-head-profile p{color:var(--plentz-on-brand-soft)!important}
.ch-page-head-tools .ch-title-year small,.ch-page-head-tools .ch-title-employer small{color:var(--plentz-on-brand-muted)!important}
.ch-page-head-tools .ch-title-employer{border-left-color:rgba(255,255,255,.25)!important}
.ch-page-head .ch-title-year select{background:#fff!important;color:#17463A!important;border-color:rgba(255,255,255,.78)!important}
.ch-page-head .ch-page-head-tabs{border-top-color:rgba(255,255,255,.16)!important;background:rgba(0,0,0,.055)!important}
.ch-page-head .ch-page-head-tabs button button{color:rgba(255,255,255,.72)!important;background:transparent!important}
.ch-page-head .ch-page-head-tabs button:hover button:hover,.ch-page-head .ch-page-head-tabs button.active button.active{color:#fff!important;background:transparent!important}
.ch-page-head .ch-page-head-tabs button.active:after button.active:after{background:linear-gradient(90deg,#fff 0%,#E8D29A 100%)!important}

/* Shared surfaces */
.box,.card,.panel,.status-card,.action-panel,.admin-group,.clean-details,.workflow-note,.drop-zone,.metric,.stat,.summary-card,.chart-panel,.lock-panel,.ocr-preflight,.client-directory-card,.client-workspace-shell,.client-main-card,.client-side-card,.wp-entry-card,.ch-admin-panel,.ch-backup-card,.backup-card,.ch-approved-section,.ch-profile-info-card{background:var(--plentz-surface)!important;border:1px solid var(--plentz-line)!important;border-radius:var(--plentz-radius-card)!important;color:var(--plentz-text)!important;box-shadow:var(--plentz-shadow-card)!important}

/* Buttons: one official family */
.btn,button.btn,.wp-pay-upload-button,.ch-use-detected{min-height:var(--plentz-control-h)!important;border:1px solid var(--plentz-line-strong)!important;border-radius:var(--plentz-radius-control)!important;background:var(--plentz-surface)!important;color:var(--plentz-ink)!important;font-size:12px!important;font-weight:800!important;line-height:1.1!important;box-shadow:none!important;transition:background var(--plentz-transition),border-color var(--plentz-transition),color var(--plentz-transition),box-shadow var(--plentz-transition),transform var(--plentz-transition)!important}
.btn:hover,button.btn:hover,.wp-pay-upload-button:hover,.ch-use-detected:hover{border-color:#AFCBC0!important;background:#F8FBF9!important;transform:translateY(-1px)}
.btn.primary,button.btn.primary,.wp-pay-upload-button.plentz-surface-brand{background:var(--plentz-brand)!important;border-color:var(--plentz-brand)!important;color:#fff!important;box-shadow:0 7px 18px rgba(7,132,71,.16)!important}
.btn.primary:hover,button.btn.primary:hover:hover,.wp-pay-upload-button.plentz-surface-brand:hover:hover{background:var(--plentz-brand-hover)!important;border-color:var(--plentz-brand-hover)!important;color:#fff!important;box-shadow:0 9px 22px rgba(7,132,71,.21)!important}
.btn.mini,.btn.small{min-height:var(--plentz-control-h-sm)!important;padding:0 11px!important;font-size:11px!important}
.btn.danger,button.btn.danger{background:#fff!important;border-color:#E4C7C7!important;color:var(--plentz-danger)!important}
.btn.danger:hover,button.btn.danger:hover{background:var(--plentz-danger-soft)!important;border-color:#D9AAAA!important}

/* Inputs */
input:not([type="checkbox"]):not([type="radio"]),select,textarea{border:1px solid var(--plentz-line-strong)!important;border-radius:var(--plentz-radius-control)!important;background:#fff!important;color:var(--plentz-ink)!important;box-shadow:none!important}
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select{min-height:var(--plentz-control-h)!important}
input:hover,select:hover,textarea:hover{border-color:#AFCBC0!important}
input:focus,select:focus,textarea:focus{border-color:var(--plentz-brand)!important;box-shadow:0 0 0 4px rgba(7,132,71,.10)!important;outline:0!important}

/* Tables */
table{border:1px solid var(--plentz-line)!important;background:#fff!important;box-shadow:none!important}
thead th{background:#F2F7F4!important;color:#536A62!important;border-bottom-color:var(--plentz-line)!important}
tbody td{color:var(--plentz-text)!important;border-bottom-color:#EAF0ED!important}
tbody tr:hover td{background:#F8FBF9!important}

/* Status semantics */
.success,.ready{color:var(--plentz-success)!important}
.error,.danger,.form-error{color:var(--plentz-danger)!important}
.warning,.attention{color:var(--plentz-warning)!important}
.ch-app-status.online{background:var(--plentz-success-soft)!important;border-color:var(--plentz-brand-border)!important;color:#17613E!important}
.ch-app-status.offline{background:#F7F9F8!important;border-color:#D9E2DD!important;color:#5B7168!important}

/* Semantic helpers for new modules */
.plentz-surface-brand{background:linear-gradient(135deg,var(--plentz-brand-hover),var(--plentz-brand))!important;border-color:var(--plentz-brand-hover)!important;color:#fff!important}
.plentz-surface-brand h1,.plentz-surface-brand h2,.plentz-surface-brand h3,.plentz-surface-brand h4,.plentz-surface-brand strong,.plentz-surface-brand b,.plentz-surface-brand p,.plentz-surface-brand span,.plentz-surface-brand small,.plentz-surface-brand label{color:#fff!important}
.plentz-surface-brand p,.plentz-surface-brand small{color:var(--plentz-on-brand-soft)!important}
.plentz-surface-light{background:#fff!important;color:var(--plentz-ink)!important}
.plentz-surface-light p,.plentz-surface-light span,.plentz-surface-light small{color:var(--plentz-muted)!important}

/* Legal/public pages use the same product system */
.ch-legal-top{background:rgba(255,255,255,.96)!important;border-bottom-color:var(--plentz-line)!important}
.ch-legal-back{border-color:var(--plentz-line)!important;background:#fff!important;color:var(--plentz-ink)!important}
.ch-legal-hero{background:linear-gradient(118deg,rgba(7,132,71,.13) 0%,rgba(255,255,255,.96) 58%,rgba(200,155,53,.14) 100%)!important;border-color:#D6E5DC!important;color:var(--plentz-ink)!important}
.ch-legal-hero small,.ch-legal-card a,.ch-legal-note a{color:var(--plentz-brand-hover)!important}
.ch-legal-card{background:#fff!important;border-color:var(--plentz-line)!important}

/* Authentication/cover */
.fp-auth-shell{background:var(--plentz-page)!important}
.fp-auth-card{background:#fff!important;border-color:var(--plentz-line)!important;box-shadow:var(--plentz-shadow-card)!important}

/* Responsive: same system, adapted rather than restyled */
@media(max-width:900px){.main{background:var(--plentz-page)!important}
  .ch-page-head{border-radius:12px!important}
  .btn,button.btn{min-height:44px!important}}
@media(max-width:560px){:root{--plentz-font-page:28px;--plentz-font-xl:19px;--plentz-radius-card:14px;--plentz-radius-hero:12px}
  .ch-page-head{border-radius:10px!important}
  .btn,button.btn{width:auto;min-height:44px!important}}


/* ==========================================================================\n   PLENTZ GLOBAL LAYOUT & MEDIA SAFETY — 1.2.0\n   Prevents media from overlapping, duplicating visually or crushing copy.\n   ========================================================================== */
.fp-app-shell *,.fp-auth-shell *,.feature *,.ch-legal-main *{min-width:0}
img{max-width:100%;height:auto}
img{object-fit:contain}
.ch150-auth-brand img,.ch-legal-brand img,.fp-header-production-brand img,.ch-brand-logo{display:block!important;flex:0 0 auto!important;object-fit:contain!important;object-position:center!important;overflow:hidden!important}
.privacy-mark,.wp-document-preview,.wp-image-preview,.ch-document-preview,.ch-image-preview,.ch-preview-media,.ch-upload-preview,.ch-payslip-preview,.ch-timesheet-preview{position:relative;isolation:isolate;overflow:hidden!important}
.hero-copy,.feature-copy,.ch150-login-card,.ch150-auth-intro{position:relative;min-width:0!important;overflow-wrap:anywhere;word-break:normal}
.wp-document-preview img,.wp-image-preview img,.ch-document-preview img,.ch-image-preview img,.ch-preview-media img,.ch-upload-preview img,.ch-payslip-preview img,.ch-timesheet-preview img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:min(70vh,820px)!important;object-fit:contain!important;object-position:center!important;margin:0 auto!important}
.box>*,.card>*,.panel>*,.wp-entry-card>*,.ch-admin-panel>*,.ch-profile-info-card>*{min-width:0}
.box p,.card p,.panel p,.wp-entry-card p,.ch-admin-panel p,.box h1,.box h2,.box h3,.card h1,.card h2,.card h3,.ch-page-head h1,.ch-page-head h2,.ch-page-head h3{overflow-wrap:anywhere}

/* GLOBAL BUTTON SYSTEM — auth, cover, public site and operational app */
:where(.fp-auth-button,.ch-auth-link-button,.ch-secondary-start,.register,.signin,.hero-actions a,.final a,.ch-legal-back,.btn,button.btn,.wp-pay-upload-button,.ch-use-detected){min-height:var(--plentz-control-h)!important;border-radius:var(--plentz-radius-control)!important;font-family:var(--plentz-font-family)!important;font-size:12px!important;font-weight:800!important;line-height:1.1!important;text-decoration:none!important;cursor:pointer;transition:background var(--plentz-transition),border-color var(--plentz-transition),color var(--plentz-transition),box-shadow var(--plentz-transition),transform var(--plentz-transition)!important}
.fp-auth-button,.register,.final a,.hero-actions .primary,.btn.primary,button.btn.primary,.wp-pay-upload-button.plentz-surface-brand{background:var(--plentz-brand)!important;border:1px solid var(--plentz-brand)!important;color:#fff!important;box-shadow:0 7px 18px rgba(7,132,71,.16)!important}
.fp-auth-button:hover,.register:hover,.final a:hover,.hero-actions .primary:hover,.btn.primary:hover,button.btn.primary:hover,.wp-pay-upload-button.plentz-surface-brand:hover{background:var(--plentz-brand-hover)!important;border-color:var(--plentz-brand-hover)!important;color:#fff!important}
.ch-secondary-start,.hero-actions .secondary,.btn.secondary,button.btn.secondary,.ch-legal-back{background:#fff!important;border:1px solid var(--plentz-brand-border)!important;color:var(--plentz-brand-deep)!important;box-shadow:none!important}
.ch-secondary-start:hover,.hero-actions .secondary:hover,.btn.secondary:hover,button.btn.secondary:hover,.ch-legal-back:hover{background:var(--plentz-brand-soft)!important;border-color:#AFCFBC!important;color:var(--plentz-brand-deep)!important}
.ch-auth-link-button,.ch-auth-discover-link,.ch-register-legal a{color:var(--plentz-brand)!important}
.ch-auth-link-button{background:transparent!important;border:1px solid transparent!important;box-shadow:none!important}
.ch-auth-link-button:hover,.ch-auth-discover-link:hover,.ch-register-legal a:hover{color:var(--plentz-brand-hover)!important}
.ch150-login-card .fp-auth-button{background:var(--plentz-brand)!important;border-color:var(--plentz-brand)!important;box-shadow:0 7px 18px rgba(7,132,71,.16)!important}
.ch150-login-card .fp-auth-button:hover{background:var(--plentz-brand-hover)!important;border-color:var(--plentz-brand-hover)!important}
.ch150-login-card .fp-auth-input:focus-within{border-color:#9CC7AF!important;box-shadow:0 0 0 4px rgba(7,132,71,.08)!important}
.ch-register-legal input{accent-color:var(--plentz-brand)!important}
button:disabled,.btn:disabled:disabled,[aria-disabled="true"]{opacity:.52!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}
.top .signin{color:#fff!important}.top .signin:hover{background:rgba(255,255,255,.08)!important}.intro small,.features small{color:var(--plentz-brand)!important}.feature-copy li:before{color:var(--plentz-brand)!important}
@media(max-width:760px){.feature-copy,.ch150-login-card{min-width:0!important}.feature,.feature:nth-child(even){min-width:0!important}}

/* ========================================================================== 
   Device setup — integrated with the live Plentz shell
   Uses the same production header, sidebar palette, controls and typography.
   ========================================================================== */
.ch-device-setup-backdrop{position:fixed!important;inset:0!important;z-index:10000!important;padding:0!important;display:block!important;overflow:auto!important;background:var(--plentz-page)!important;backdrop-filter:none!important}
.ch-device-setup{width:100%!important;min-height:100vh!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;background:var(--plentz-page)!important;box-shadow:none!important;overflow:visible!important}
.ch-device-global-header{position:sticky!important;top:0!important;z-index:4!important}
.ch-device-global-header .fp-header-production-brand{pointer-events:none!important}
.ch-device-header-note{display:flex!important;align-items:center!important;gap:8px!important;color:var(--plentz-muted)!important;font-size:11px!important;font-weight:750!important}
.ch-device-header-lock{width:26px!important;height:26px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:var(--plentz-brand-soft)!important;color:var(--plentz-brand)!important;font-weight:900!important}
.ch-device-app{display:grid!important;grid-template-columns:250px minmax(0,1fr)!important;min-height:calc(100vh - 64px)!important}
.ch-device-side{position:sticky!important;top:64px!important;height:calc(100vh - 64px)!important;width:250px!important;min-width:250px!important;padding:24px 24px 18px!important;overflow:hidden!important}
.ch-device-side .nav button,.ch-device-side .ch-side-link{cursor:default!important;pointer-events:none!important}
.ch-device-side .nav button[aria-disabled="true"]{opacity:1!important}
.ch-device-side .ch-help-link{display:flex!important}
.ch-device-main{min-width:0!important;padding:42px clamp(24px,4vw,60px) 46px!important;background:var(--plentz-page)!important}
.ch-device-main>*{width:min(100%,1040px)!important;margin-left:auto!important;margin-right:auto!important}
.ch-device-welcome{margin-bottom:24px!important}
.ch-device-welcome .wp-eyebrow{display:block!important;margin:0 0 8px!important;color:var(--plentz-brand)!important;font-size:10px!important;font-weight:850!important;letter-spacing:.12em!important}
.ch-device-welcome h1{margin:0!important;color:var(--plentz-ink)!important;font-size:clamp(30px,3.1vw,44px)!important;line-height:1.04!important;letter-spacing:-.045em!important;font-weight:820!important}
.ch-device-tagline{margin:8px 0 0!important;color:var(--plentz-text)!important;font-size:17px!important;line-height:1.35!important}
.ch-device-tagline strong{color:var(--plentz-brand)!important;font-weight:820!important}
.ch-device-intro{margin:16px 0 0!important;color:var(--plentz-muted)!important;font-size:13px!important}
.ch-device-setup-options{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;padding:0!important}
.ch-device-setup-option{position:relative!important;display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;gap:16px!important;padding:20px!important;border:1px solid var(--plentz-line)!important;border-radius:16px!important;background:#fff!important;color:var(--plentz-text)!important;box-shadow:0 7px 24px rgba(16,45,61,.055)!important;overflow:hidden!important}
.ch-device-setup-option:hover{border-color:#C8DAD1!important;box-shadow:0 10px 30px rgba(16,45,61,.075)!important}
.ch-device-option-icon{width:52px!important;height:52px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:var(--plentz-brand-soft)!important;color:var(--plentz-brand)!important;font-size:25px!important;font-weight:850!important;line-height:1!important}
.ch-device-option-copy{min-width:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important}
.ch-device-option-title{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:10px!important;margin:2px 0 4px!important}
.ch-device-option-title>strong{color:var(--plentz-ink)!important;font-size:17px!important;line-height:1.25!important;font-weight:820!important}
.ch-device-setup-option small{display:block!important;color:var(--plentz-muted)!important;font-size:12px!important;line-height:1.5!important}
.ch-device-recommended{display:inline-flex!important;align-items:center!important;min-height:25px!important;padding:0 9px!important;border:1px solid #CDE4D5!important;border-radius:999px!important;background:#F2FAF5!important;color:var(--plentz-brand-hover)!important;font-size:9.5px!important;font-weight:820!important}
.ch-device-recommended:before{content:"★";margin-right:5px!important;font-size:9px!important}
.ch-device-setup-option .ch-file-help{display:flex!important;flex-direction:column!important;gap:3px!important;margin:15px 0 13px!important;padding:11px 13px!important;border:1px solid #CCE2D4!important;border-radius:10px!important;background:#F2F9F5!important}
.ch-device-setup-option .ch-file-help b,.ch-device-setup-option .ch-file-help code{color:#17613E!important;font-size:11px!important}
.ch-device-setup-option .ch-file-help span{color:#4E6E61!important;font-size:10.5px!important;line-height:1.45!important}
.ch-device-setup-option .ch-file-label{margin:0 0 6px!important;color:#334E58!important;font-size:10.5px!important;font-weight:800!important}
.ch-device-setup-option input[type="file"]{width:min(100%,520px)!important;max-width:100%!important;margin:0 0 13px!important;min-height:40px!important;padding:5px!important;background:#fff!important}
.ch-device-setup-option .fp-auth-button{width:100%!important;min-height:46px!important;margin:0!important;padding:0 18px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;border-radius:10px!important}
.ch-device-setup-option .fp-auth-button b,.ch-device-setup-option .fp-auth-button span{color:#fff!important}
.ch-device-setup-option 
.ch-device-setup-option .ch-secondary-start b,.ch-device-setup-option .ch-secondary-start span{color:var(--plentz-brand)!important}
.ch-device-setup-option .ch-secondary-start:hover{background:var(--plentz-brand-soft)!important;border-color:var(--plentz-brand-hover)!important;color:var(--plentz-brand-hover)!important}
.ch-device-setup-option .ch-secondary-start:hover b,.ch-device-setup-option .ch-secondary-start:hover span{color:var(--plentz-brand-hover)!important}
.ch-device-privacy{display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;gap:12px!important;align-items:center!important;margin-top:18px!important;padding:14px 16px!important;border:1px solid #D6E7DD!important;border-radius:12px!important;background:linear-gradient(90deg,#F2F9F5,#F8FBF9)!important}
.ch-device-privacy-icon{width:36px!important;height:36px!important;display:grid!important;place-items:center!important;border-radius:10px!important;background:#E5F5EB!important;color:var(--plentz-brand)!important;font-weight:900!important}
.ch-device-privacy div{min-width:0!important;display:flex!important;flex-direction:column!important;gap:2px!important}
.ch-device-privacy strong{color:var(--plentz-brand-hover)!important;font-size:11.5px!important}
.ch-device-privacy span:not(.ch-device-privacy-icon){color:var(--plentz-muted)!important;font-size:10.5px!important}
.ch-device-setup-status{width:min(100%,1040px)!important;margin:14px auto 0!important;border-radius:10px!important;font-size:11px!important;line-height:1.45!important}
.ch-device-setup-status:empty{display:none!important}
.ch-device-setup-status.is-working,.ch-device-setup-status.is-success,.ch-device-setup-status.is-error{display:flex!important;flex-direction:column!important;gap:2px!important;padding:11px 13px!important}
.ch-device-setup-status.is-working{background:#F3F7F5!important;border:1px solid #D8E4DE!important;color:#48645A!important}
.ch-device-setup-status.is-success{background:#EFF9F3!important;border:1px solid #CDE7D6!important;color:#17613E!important}
.ch-device-setup-status.is-error{background:#FFF3F3!important;border:1px solid #EDCCCC!important;color:#A43333!important}
@media(max-width:900px){.ch-device-app{display:block!important;min-height:calc(100vh - 62px)!important}.ch-device-side{display:none!important}.ch-device-main{padding:30px 18px 38px!important}.ch-device-global-header{min-height:62px!important;height:62px!important}.ch-device-header-note span:last-child{display:none!important}}
@media(max-width:560px){.ch-device-main{padding:24px 12px 30px!important}.ch-device-welcome h1{font-size:31px!important}.ch-device-tagline{font-size:15px!important}.ch-device-setup-option{grid-template-columns:40px minmax(0,1fr)!important;gap:12px!important;padding:15px!important;border-radius:13px!important}.ch-device-option-icon{width:40px!important;height:40px!important;font-size:20px!important}.ch-device-option-title>strong{font-size:15px!important}.ch-device-recommended{font-size:9px!important}.ch-device-setup-option input[type="file"]{width:100%!important}.ch-device-privacy{grid-template-columns:32px minmax(0,1fr)!important;padding:12px!important}.ch-device-privacy-icon{width:32px!important;height:32px!important}}

/* Backup schedule frequency layout — approved horizontal design */
.ch-backup-plan-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.ch-plan-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  width:100%;
  max-width:860px;
  margin:12px 0 20px;
}
.ch-plan-option{
  position:relative;
  display:flex;
  align-items:center;
  min-height:64px;
  padding:12px 16px;
  gap:12px;
  border:1px solid #d6e0e4;
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  box-sizing:border-box;
  transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}
.ch-plan-option:hover{
  border-color:#8bcaa9;
  background:#fbfefc;
}
.ch-plan-option.selected{
  border:2px solid #14934f;
  background:#effaf3;
  box-shadow:0 0 0 1px rgba(20,147,79,.03);
}
.ch-plan-option>input[type="radio"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.ch-plan-check{
  width:18px;
  height:18px;
  min-width:18px;
  border:1.5px solid #78909c;
  border-radius:50%;
  background:#fff;
  box-sizing:border-box;
  position:relative;
}
.ch-plan-option.selected .ch-plan-check{
  border:5px solid #14934f;
}
.ch-plan-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  line-height:1.2;
}
.ch-plan-copy strong{
  display:block;
  font-size:14px;
  line-height:1.25;
  color:#12313d;
  margin:0 0 3px;
}
.ch-plan-copy small{
  display:block;
  font-size:11px;
  line-height:1.3;
  color:#687e89;
  white-space:normal;
}
.ch-plan-settings{
  display:flex;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:16px;
}
.ch-plan-setting{
  display:flex;
  align-items:center;
  gap:8px;
}
.ch-plan-setting[hidden]{display:none!important;}
.ch-plan-footer{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  margin-top:14px;
}
.ch-plan-recommendation{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px;
}
.ch-plan-recommendation .ch-plan-link{
  margin-left:12px;
}
.ch-plan-save{
  display:flex;
  align-items:center;
  gap:12px;
}
@media(max-width:900px){.ch-plan-options{gap:12px;}
  .ch-plan-option{padding:11px 12px;}}
@media(max-width:680px){.ch-backup-plan-head{display:block;}
  .ch-plan-options{
    grid-template-columns:1fr;
    gap:10px;
    max-width:none;
  }
  .ch-plan-option{min-height:58px;}
  .ch-plan-settings{align-items:stretch;}
  .ch-plan-setting{width:100%;justify-content:space-between;}
  .ch-plan-setting select,.ch-plan-setting input{max-width:65%;}}

.ch-restore-back{
  display:block;
  margin:14px auto 0;
}

/* Refined auth flow: one task per screen plus a single Back to main action */
.ch-auth-back-main{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;min-height:42px!important;margin:12px 0 0!important;
  padding:9px 12px!important;border:0!important;background:transparent!important;
  color:var(--plentz-brand)!important;font-weight:800!important;text-decoration:none!important;
  cursor:pointer!important;
}
.ch-auth-back-main:hover{background:transparent!important;text-decoration:underline!important;}

/* Employer Rulebook — one visual source for payroll rules */
.ch-rule-status.owner-approved{background:#e7f7ed;color:#17613a}.ch-rulebook-review-action{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:14px 16px;border:1px solid #cfe7d8;border-radius:14px;background:#f2faf5}.ch-rulebook-review-action p{margin:0;max-width:680px;color:#40584b}.ch-rulebook-review-action .btn{flex:0 0 auto}
.ch-employer-rulebook{margin-top:18px;padding:22px}.ch-rulebook-actions{display:flex;gap:10px;align-items:center}.ch-rulebook-grid{display:grid;gap:12px;margin-top:18px}.ch-rulebook-topic{border:1px solid var(--ch-border,#dfe7e2);border-radius:16px;background:var(--ch-surface,#fff);overflow:hidden}.ch-rulebook-topic>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;cursor:pointer}.ch-rulebook-topic>summary::-webkit-details-marker{display:none}.ch-rulebook-topic>summary>div{display:flex;flex-direction:column;gap:4px}.ch-rulebook-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ch-muted,#66736c)}.ch-rulebook-topic>summary strong{font-size:16px}.ch-rule-status{font-size:11px;font-weight:800;border-radius:999px;padding:7px 10px;background:#eef4f0;color:#355443;white-space:nowrap}.ch-rule-status.employer-confirmed,.ch-rule-status.payroll-verified{background:#e7f7ed;color:#17613a}.ch-rule-status.needs-review{background:#fff4dc;color:#7d5300}.ch-rulebook-body{border-top:1px solid var(--ch-border,#e3e9e5);padding:18px}.ch-rulebook-body>p{margin:0 0 14px;max-width:900px}.ch-rule-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}.ch-rule-facts span{display:flex;flex-direction:column;gap:4px;border:1px solid #e7ece9;border-radius:12px;padding:12px;background:#fbfdfc}.ch-rule-facts b{font-size:12px;color:#52635a}.ch-rule-note{padding:12px 14px;border-radius:12px;background:#f6faf7}.wp-bank-rate-card small{display:block;margin-top:7px;line-height:1.35;color:#647068}.ch-rate-values{flex-wrap:wrap}.ch-rate-values span{min-width:130px}
@media(max-width:900px){.ch-rule-facts{grid-template-columns:1fr}.ch-employer-rulebook .section-title{align-items:flex-start}.ch-rulebook-actions{width:100%}.ch-rulebook-actions .btn{width:100%}}
@media(max-width:560px){.ch-employer-rulebook{padding:14px}.ch-rulebook-topic>summary{align-items:flex-start;flex-direction:column}.ch-rule-status{white-space:normal}.ch-rulebook-body{padding:14px}.ch-rulebook-review-action{align-items:stretch;flex-direction:column}.ch-rulebook-review-action .btn{width:100%}}
.wp-ph-calculation-audit{margin-top:14px;border:1px solid #dfe8e2;border-radius:14px;background:#fbfdfc;overflow:hidden}.wp-ph-calculation-audit>summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;cursor:pointer}.wp-ph-calculation-audit>summary span:first-child{display:flex;flex-direction:column;gap:3px}.wp-ph-calculation-audit>summary small{color:#68756e}.wp-ph-calculation-audit>.ch-rule-facts,.wp-ph-calculation-audit>p,.wp-ph-calculation-audit>small{margin-left:16px;margin-right:16px}.wp-ph-calculation-audit>small{display:block;margin-bottom:16px}


/* === PLENTZ CANONICAL UI SYSTEM v2: global typography, controls and responsive grids ===
   This is the final, authoritative layer. Feature CSS may define layout, but not invent
   typography/control sizes. The theme file is loaded last across Plentz pages. */
:root{
  --plentz-font-family:Inter,"Segoe UI",Arial,sans-serif;
  --plentz-font-xs:10px;
  --plentz-font-sm:11px;
  --plentz-font-md:13px;
  --plentz-font-lg:16px;
  --plentz-font-xl:20px;
  --plentz-font-page:29px;
  --plentz-control-h:44px;
  --plentz-control-h-sm:36px;
  --plentz-control-h-lg:48px;
  --plentz-radius-control:10px;
  --plentz-radius-card:16px;
}
html{font-size:16px!important;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body,.fp-app-shell,.fp-app-shell .app,.fp-app-shell .main,.fp-auth-shell,
input,select,textarea,button{font-family:var(--plentz-font-family)!important}
body,.fp-app-shell{font-size:var(--plentz-font-md)!important;line-height:1.45!important;color:var(--plentz-text)!important}
.fp-app-shell .main p,.fp-app-shell .main li,.fp-app-shell .main dd,.fp-app-shell .main dt,
.fp-app-shell .main label{font-size:var(--plentz-font-md)!important;line-height:1.45!important}
.fp-app-shell .main small,.fp-app-shell .main .muted{font-size:var(--plentz-font-sm)!important;line-height:1.4!important}
.fp-app-shell .wp-eyebrow,.fp-app-shell .kicker,.fp-app-shell .ch-rulebook-kicker,
.fp-app-shell th{font-size:var(--plentz-font-xs)!important;line-height:1.3!important}
.fp-app-shell h1{font-size:var(--plentz-font-page)!important;line-height:1.15!important}
.fp-app-shell h2{font-size:var(--plentz-font-xl)!important;line-height:1.2!important}
.fp-app-shell h3{font-size:var(--plentz-font-lg)!important;line-height:1.25!important}
.fp-app-shell h4{font-size:var(--plentz-font-md)!important;line-height:1.3!important}
.fp-app-shell td{font-size:var(--plentz-font-md)!important;line-height:1.4!important}
.fp-app-shell .btn,.fp-app-shell button:not(.fp-mobile-menu-btn):not(.fp-user-trigger),
.fp-auth-shell button{font-family:var(--plentz-font-family)!important;font-size:12px!important;line-height:1.2!important;min-height:var(--plentz-control-h)!important;border-radius:var(--plentz-radius-control)!important}
.fp-app-shell .btn.mini,.fp-app-shell button.mini{font-size:var(--plentz-font-sm)!important;min-height:var(--plentz-control-h-sm)!important;padding:7px 11px!important}
.fp-app-shell input,.fp-app-shell select,.fp-app-shell textarea,
.fp-auth-shell input,.fp-auth-shell select,.fp-auth-shell textarea{
  font-family:var(--plentz-font-family)!important;font-size:var(--plentz-font-md)!important;
  min-height:var(--plentz-control-h)!important;border-radius:var(--plentz-radius-control)!important;
  padding:9px 11px!important;box-sizing:border-box!important
}
.fp-app-shell .box,.fp-app-shell .card{border-radius:var(--plentz-radius-card)!important}
.fp-app-shell .wp-payment-state,.fp-app-shell .wp-status,.fp-app-shell .badge,
.fp-app-shell .ch-rule-status,.fp-app-shell .wp-detail-payment-status{
  font-size:var(--plentz-font-sm)!important;line-height:1.2!important
}
.fp-app-shell .nav button{font-size:12px!important;min-height:41px!important}
.fp-app-shell .ch-employer-context>span,.fp-app-shell .ch-employer-context small{font-size:var(--plentz-font-xs)!important}
.fp-app-shell .ch-employer-context strong,.fp-app-shell .ch-employer-single{font-size:12px!important}

/* Rate history: date + all five rate types remain on a single aligned row on desktop. */
.fp-app-shell .ch-admin-rate-list{gap:8px!important}
.fp-app-shell .ch-admin-rate-list article{
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr)!important;
  gap:12px!important;padding:11px 14px!important;border-radius:12px!important
}
.fp-app-shell .ch-admin-rate-list article>div:first-child strong{font-size:13px!important}
.fp-app-shell .ch-admin-rate-list article>div:first-child small{font-size:11px!important}
.fp-app-shell .ch-rate-values{
  display:grid!important;grid-template-columns:repeat(5,minmax(82px,1fr))!important;
  gap:6px 8px!important;align-items:start!important
}
.fp-app-shell .ch-rate-values span{min-width:0!important;font-size:12px!important;white-space:normal!important}
.fp-app-shell .ch-rate-values b{font-size:13px!important;margin-top:2px!important}

/* New rate period: six equal, compact controls in one row where the viewport allows it. */
.fp-app-shell .wp-rate-cards{
  display:grid!important;grid-template-columns:repeat(6,minmax(122px,1fr))!important;
  gap:8px!important;padding-top:12px!important;align-items:stretch!important
}
.fp-app-shell .wp-rate-card{
  display:flex!important;flex-direction:column!important;justify-content:flex-start!important;
  min-width:0!important;padding:12px!important;border-radius:12px!important;border-top-width:3px!important
}
.fp-app-shell .wp-rate-card>span{font-size:12px!important;font-weight:750!important;line-height:1.3!important;margin-bottom:8px!important}
.fp-app-shell .wp-money-input{min-height:var(--plentz-control-h)!important;border-radius:var(--plentz-radius-control)!important}
.fp-app-shell .wp-money-input b{font-size:13px!important;padding-left:10px!important}
.fp-app-shell .wp-money-input input{min-width:0!important;width:100%!important;height:42px!important;min-height:42px!important;padding:8px!important}
.fp-app-shell .wp-rate-help{margin:9px 0 0!important;font-size:var(--plentz-font-sm)!important;color:var(--plentz-muted)!important}
.fp-app-shell .wp-rate-actions{margin-top:14px!important}

/* Comparison table uses consistent semantic sizing. */
.fp-app-shell .wp-simple-table th,.fp-app-shell .wp-simple-table td{font-size:12px!important;padding:12px 14px!important}
.fp-app-shell .wp-simple-table th small,.fp-app-shell .wp-simple-table td small{font-size:11px!important}
.fp-app-shell .wp-simple-table th>b{font-size:12px!important}
.fp-app-shell .wp-simple-cards article>span,.fp-app-shell .wp-recon-grid article>span{font-size:12px!important}
.fp-app-shell .wp-simple-cards article>strong,.fp-app-shell .wp-recon-grid article>strong{font-size:17px!important}

/* Keep panels readable without oversized local spacing. */
.fp-app-shell .ch-rulebook-topic>summary{padding:13px 15px!important}
.fp-app-shell .ch-rulebook-topic>summary strong{font-size:15px!important}
.fp-app-shell .ch-rulebook-body{padding:15px!important}
.fp-app-shell .ch-rule-facts span{padding:10px!important}
.fp-app-shell .ch-rule-facts b{font-size:12px!important}

@media(max-width:1180px){
  .fp-app-shell .wp-rate-cards{grid-template-columns:repeat(3,minmax(150px,1fr))!important}
  .fp-app-shell .ch-rate-values{grid-template-columns:repeat(3,minmax(100px,1fr))!important}
}
@media(max-width:820px){
  .fp-app-shell .ch-admin-rate-list article{grid-template-columns:1fr!important}
  .fp-app-shell .ch-rate-values{grid-template-columns:repeat(2,minmax(120px,1fr))!important}
  .fp-app-shell .wp-rate-cards{grid-template-columns:repeat(2,minmax(150px,1fr))!important}
}
@media(max-width:520px){
  .fp-app-shell .ch-rate-values,.fp-app-shell .wp-rate-cards{grid-template-columns:1fr!important}
}


/* Call-level hours reconciliation — always explain the exact source of a difference */
.fp-app-shell .wp-hours-difference-audit{margin:12px 0;border:1px solid var(--plentz-line);border-radius:12px;background:var(--plentz-surface);overflow:hidden}
.fp-app-shell .wp-hours-difference-audit>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;cursor:pointer;background:#F7FAF8}
.fp-app-shell .wp-hours-difference-audit>summary::-webkit-details-marker{display:none}
.fp-app-shell .wp-hours-difference-audit>summary>span:first-child{display:grid;gap:2px}
.fp-app-shell .wp-hours-difference-audit>summary strong{font-size:13px!important}
.fp-app-shell .wp-hours-difference-audit>summary small{font-size:12px!important;color:var(--plentz-muted)}
.fp-app-shell .wp-hours-difference-audit>summary>span:last-child{font-size:12px!important;font-weight:800;color:var(--plentz-success)}
.fp-app-shell .wp-hours-audit-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 14px}
.fp-app-shell .wp-hours-audit-summary span{display:grid;gap:2px;padding:9px 10px;border:1px solid var(--plentz-line);border-radius:10px;background:#fff;font-size:12px!important}
.fp-app-shell .wp-hours-audit-summary b{font-size:11px!important;color:var(--plentz-muted);text-transform:uppercase;letter-spacing:.04em}
.fp-app-shell .wp-hours-audit-table th,.fp-app-shell .wp-hours-audit-table td{padding:8px 9px!important;font-size:12px!important}
.fp-app-shell .wp-hours-audit-note{margin:0!important;padding:10px 14px 13px!important;font-size:12px!important;color:var(--plentz-muted)}
@media(max-width:760px){.fp-app-shell .wp-hours-audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* App-only balanced typography scale — compact without becoming small */
.fp-app-shell{
  --plentz-font-xs:10px;
  --plentz-font-sm:11px;
  --plentz-font-md:13px;
  --plentz-font-lg:16px;
  --plentz-font-xl:20px;
  --plentz-font-page:29px;
}


/* Employer Rulebook access, questionnaire and read-only caregiver view */
.fp-app-shell .ch-rulebook-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fp-app-shell .ch-caregiver-rulebook-access{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:14px 0}
.fp-app-shell .ch-caregiver-rulebook-access>div:first-child{min-width:0}
.fp-app-shell .ch-caregiver-rulebook-access h2{margin:3px 0 4px!important}
.fp-app-shell .ch-rulebook-readonly{display:grid;gap:10px}
.fp-app-shell .ch-rulebook-read-section{border:1px solid var(--plentz-line);border-radius:12px;overflow:hidden;background:#fff}
.fp-app-shell .ch-rulebook-read-section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f7faf8;border-bottom:1px solid var(--plentz-line)}
.fp-app-shell .ch-rulebook-read-section h3{margin:0!important;font-size:15px!important}
.fp-app-shell .ch-rulebook-read-section dl{margin:0}
.fp-app-shell .ch-rulebook-read-section dl>div{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);gap:12px;padding:8px 12px;border-bottom:1px solid #edf1ef}
.fp-app-shell .ch-rulebook-read-section dl>div:last-child{border-bottom:0}
.fp-app-shell .ch-rulebook-read-section dt{font-size:11px!important;font-weight:800;color:var(--plentz-muted)}
.fp-app-shell .ch-rulebook-read-section dd{margin:0;font-size:13px!important;color:var(--plentz-ink)}
.fp-app-shell .ch-rulebook-source{display:block;padding:8px 12px;background:#fbfcfc;border-top:1px solid var(--plentz-line);font-size:10px!important;color:var(--plentz-muted)}
.fp-app-shell .ch-rulebook-view-actions{display:flex;justify-content:flex-end;margin:0 0 10px}
.fp-app-shell .ch-new-employer-rule-options{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:center;padding:12px;margin-bottom:14px;border:1px solid var(--plentz-line);border-radius:12px;background:#f7faf8}
.fp-app-shell .ch-new-employer-rule-options>div{display:grid;gap:2px}
.fp-app-shell .ch-new-employer-rule-options strong{font-size:13px!important}
.fp-app-shell .ch-new-employer-rule-options span{font-size:11px!important;color:var(--plentz-muted)}
.fp-app-shell #chWizardRulesFileName{grid-column:1/-1;font-size:10px!important;color:var(--plentz-muted)}
.fp-app-shell .ch-file-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.fp-app-shell .ch-file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}
@media(max-width:860px){
  .fp-app-shell .ch-caregiver-rulebook-access{align-items:flex-start;flex-direction:column}
  .fp-app-shell .ch-new-employer-rule-options{grid-template-columns:1fr}
  .fp-app-shell .ch-new-employer-rule-options .btn{width:100%}
}
@media(max-width:560px){
  .fp-app-shell .ch-rulebook-read-section dl>div{grid-template-columns:1fr;gap:2px}
  .fp-app-shell .ch-rulebook-actions{width:100%}
  .fp-app-shell .ch-rulebook-actions .btn{flex:1 1 150px}
}


.fp-app-shell .ch-open-rules-after{display:flex!important;align-items:center;gap:8px;margin:-4px 0 14px;padding:0 2px;font-size:12px!important;color:var(--plentz-text)}
.fp-app-shell .ch-open-rules-after input{width:16px!important;height:16px!important;min-height:16px!important;padding:0!important}
.fp-app-shell .ch-rule-editor-head{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.fp-app-shell .ch-rule-editor-head .span-2{grid-column:1/-1}
.fp-app-shell .ch-rule-editor-section{border:1px solid var(--plentz-line);border-radius:11px;margin:0 0 8px;overflow:hidden;background:#fff}
.fp-app-shell .ch-rule-editor-section>summary{padding:10px 12px;background:#f7faf8;cursor:pointer;font-weight:800;font-size:13px!important}
.fp-app-shell .ch-rule-editor-section>.wp-form-grid{padding:12px}
@media(max-width:620px){.fp-app-shell .ch-rule-editor-head{grid-template-columns:1fr}.fp-app-shell .ch-rule-editor-head .span-2{grid-column:auto}}


/* Reports centre — all generated Plentz documents live here */
.fp-app-shell .ch-nav-reports:before{content:"";position:absolute;left:2px;top:2px;width:14px;height:16px;border:2px solid currentColor;border-radius:2px}
.fp-app-shell .ch-nav-reports:after{content:"";position:absolute;left:6px;top:7px;width:8px;height:2px;background:currentColor;box-shadow:0 4px 0 currentColor,0 8px 0 currentColor}
.fp-app-shell .ch-reports-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}
.fp-app-shell .ch-reports-controls h2{margin:3px 0 4px!important}
.fp-app-shell .ch-report-period-controls{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.fp-app-shell .ch-report-period-controls label{display:grid;gap:5px;min-width:150px;font-size:11px!important;font-weight:750;color:var(--plentz-muted)}
.fp-app-shell .ch-report-period-controls select,.fp-app-shell .ch-report-period-controls input{min-width:150px}
.fp-app-shell .ch-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fp-app-shell .ch-report-card{display:flex;flex-direction:column;align-items:flex-start;min-height:238px;padding:18px!important}
.fp-app-shell .ch-report-card.primary{border-color:#cfe5da;background:linear-gradient(145deg,#f5fbf8,#fff)}
.fp-app-shell .ch-report-card.owner{grid-column:1/-1;min-height:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;align-items:center}
.fp-app-shell .ch-report-card.owner .wp-eyebrow,.fp-app-shell .ch-report-card.owner h2,.fp-app-shell .ch-report-card.owner p,.fp-app-shell .ch-report-card.owner .ch-report-preview{grid-column:1}
.fp-app-shell .ch-report-card.owner .btn{grid-column:2;grid-row:1/5;align-self:center}
.fp-app-shell .ch-report-card h2{margin:5px 0 7px!important}
.fp-app-shell .ch-report-card p{margin:0 0 13px!important;color:var(--plentz-muted);max-width:620px}
.fp-app-shell .ch-report-preview{display:grid;gap:2px;width:100%;padding:10px 11px;margin:auto 0 13px;border-radius:10px;background:#f6f9f8;border:1px solid var(--plentz-line)}
.fp-app-shell .ch-report-preview strong{font-size:14px!important;color:var(--plentz-ink)}
.fp-app-shell .ch-report-preview span{font-size:11px!important;color:var(--plentz-muted)}
.fp-app-shell .ch-report-actions{display:flex;gap:8px;flex-wrap:wrap}
.fp-app-shell .ch-reports-note{display:flex;gap:10px;align-items:baseline;margin-top:12px;padding:12px 14px!important}
.fp-app-shell .ch-reports-note strong{white-space:nowrap}
.fp-app-shell .ch-reports-note span,.fp-app-shell .ch-reports-home-note{font-size:11px!important;color:var(--plentz-muted)}
.fp-app-shell .ch-reports-home-note{display:inline-flex;align-items:center;padding:0 4px}
@media(max-width:860px){
  .fp-app-shell .ch-reports-controls{align-items:stretch;flex-direction:column}
  .fp-app-shell .ch-report-period-controls{display:grid;grid-template-columns:1fr 1fr}
  .fp-app-shell .ch-report-period-controls label,.fp-app-shell .ch-report-period-controls select,.fp-app-shell .ch-report-period-controls input{min-width:0;width:100%}
  .fp-app-shell .ch-report-grid{grid-template-columns:1fr}
  .fp-app-shell .ch-report-card.owner{grid-column:auto;display:flex;min-height:238px}
  .fp-app-shell .ch-report-card.owner .btn{align-self:flex-start}
}
@media(max-width:520px){
  .fp-app-shell .ch-report-period-controls{grid-template-columns:1fr}
  .fp-app-shell .ch-reports-note{align-items:flex-start;flex-direction:column}
}


/* Canonical text rhythm: prevent bold labels/headlines from touching following copy.
   Works across inline, flex and grid informational components without changing typography. */
.fp-app-shell .main strong + span::before,
.fp-app-shell .main strong + small::before,
.fp-app-shell .main b + span::before,
.fp-app-shell .main b + small::before{content:" "}
.fp-app-shell .main :where(div,section,article,p,li,header,footer):has(> strong + span),
.fp-app-shell .main :where(div,section,article,p,li,header,footer):has(> strong + small),
.fp-app-shell .main :where(div,section,article,p,li,header,footer):has(> b + span),
.fp-app-shell .main :where(div,section,article,p,li,header,footer):has(> b + small){column-gap:10px;row-gap:4px}
.fp-app-shell .ch-reports-note{
  display:grid!important;
  grid-template-columns:max-content minmax(0,1fr)!important;
  column-gap:16px!important;
  row-gap:4px!important;
  align-items:start!important
}
.fp-app-shell .ch-reports-note strong{white-space:normal!important}
.fp-app-shell .ch-reports-note span{min-width:0}
@media(max-width:620px){
  .fp-app-shell .ch-reports-note{grid-template-columns:1fr!important}
}



/* Caregiver decision lives in the comparison header; shown only for real differences. */
.fp-app-shell .wp-simple-status.issue{background:#fff1ed!important;border-color:#efc9bd!important;color:#8e3824!important}
.fp-app-shell .wp-header-review{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;width:100%;max-width:100%;min-width:0;box-sizing:border-box;margin-top:10px;padding-top:10px;border-top:1px solid rgba(15,64,54,.12)}
.fp-app-shell .wp-header-review-question{font-size:11px!important;color:var(--plentz-ink)}
.fp-app-shell .wp-header-review-decisions{display:flex;gap:8px;justify-content:flex-end}
.fp-app-shell .wp-header-review-choice{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:76px;height:34px;border:1px solid var(--plentz-line);border-radius:9px;background:#fff;padding:0 12px;font:inherit;font-size:12px!important;font-weight:800;cursor:pointer;white-space:nowrap}
.fp-app-shell .wp-header-review-choice span{font-size:14px!important;line-height:1}
.fp-app-shell .wp-header-review-choice b{font-size:12px!important;line-height:1}
.fp-app-shell .wp-header-review-choice.selected.ok{background:#e7f7ee;border-color:#87c8a4;color:#11683e}
.fp-app-shell .wp-header-review-choice.selected.issue{background:#fff0ec;border-color:#e4a28e;color:#943b26}
.fp-app-shell .wp-header-review-reason-toggle{grid-column:1;max-width:100%;background:transparent;border:0;padding:0;text-align:left;color:var(--plentz-muted);font:inherit;font-size:10px!important;font-weight:700;cursor:pointer;width:auto;white-space:normal;overflow-wrap:break-word}
.fp-app-shell .wp-header-review-reason{grid-column:1;min-width:0}
.fp-app-shell .wp-header-review-reason[hidden]{display:none!important}
.fp-app-shell .wp-header-review-note{width:100%;height:32px!important;min-height:32px!important;padding:5px 8px!important;border-radius:8px!important;font-size:11px!important;background:#fff!important}
.fp-app-shell .wp-header-review-save{grid-column:2;grid-row:2/4;align-self:center;min-width:54px;height:34px;border:1px solid var(--plentz-success);border-radius:9px;background:var(--plentz-success);color:#fff;padding:0 12px;font:inherit;font-size:12px!important;font-weight:800;cursor:pointer}
.fp-app-shell .wp-header-review-save:disabled{opacity:.65;cursor:default}
.fp-app-shell .wp-header-review-message{grid-column:1/-1;min-height:0;font-size:10px!important;font-weight:700;color:#a23d2b}
@media(max-width:760px){
  .fp-app-shell .wp-simple-title{grid-template-columns:1fr!important}
  .fp-app-shell .wp-simple-status{min-width:0;width:100%}
  .fp-app-shell .wp-header-review{grid-template-columns:1fr auto}
  .fp-app-shell .wp-header-review-decisions{justify-content:flex-start}
}


/* Progressive disclosure and table readability: summaries first, detail on demand. */
.fp-app-shell details>summary{cursor:pointer;user-select:none}
.fp-app-shell details>summary::marker{color:var(--plentz-success)}
.fp-app-shell .wp-hours-difference-audit,
.fp-app-shell .wp-compact-detail,
.fp-app-shell .wp-pay-audit,
.fp-app-shell .wp-review-group,
.fp-app-shell .ch-backup-history,
.fp-app-shell .ch-rule-editor-section{overflow:hidden}
.fp-app-shell .wp-hours-difference-audit>summary,
.fp-app-shell .wp-compact-detail>summary,
.fp-app-shell .wp-pay-audit>summary,
.fp-app-shell .wp-review-group>summary,
.fp-app-shell .ch-backup-history>summary,
.fp-app-shell .ch-rule-editor-section>summary{min-height:44px;padding:10px 12px}
.fp-app-shell .wp-hours-difference-audit[open] .table-wrap,
.fp-app-shell .wp-source-documents[open] .table-wrap{max-height:360px;overflow:auto}
.fp-app-shell .wp-source-table .num,
.fp-app-shell .wp-simple-table .num,
.fp-app-shell td[data-money],
.fp-app-shell td[data-hours]{white-space:nowrap}
.fp-app-shell .table-wrap{overflow-x:auto;overscroll-behavior-inline:contain}
@media(max-width:760px){
  .fp-app-shell .wp-hours-difference-audit[open] .table-wrap,
  .fp-app-shell .wp-source-documents[open] .table-wrap{max-height:300px}
}

.fp-app-shell .wp-period-state.issue{background:#fff1ed!important;color:#943b26!important;border-color:#efc9bd!important}
.fp-app-shell .wp-period-state.issue i{background:#c65a3a!important}

/* Single-focus reading mode: one opened task at a time, no visual stack behind it. */
.fp-app-shell .main.fp-reading-focus .fp-focus-hidden{display:none!important}
.fp-app-shell .main.fp-reading-focus .fp-focus-path{position:relative}
.fp-app-shell .main.fp-reading-focus{
  background:#f7faf8;
}
.fp-app-shell .main.fp-reading-focus .wp-period-detail-row.fp-focus-path>td{
  padding-top:14px!important;
}
.fp-app-shell .main.fp-reading-focus .wp-inline-detail{
  box-shadow:0 14px 42px rgba(20,55,47,.07);
}

/* =========================================================
   CAREGIVER INFORMATION HIERARCHY
   One summary first; secondary information on demand.
   ========================================================= */
.fp-app-shell .ch-clean-disclosure{
  padding:0!important;
  overflow:hidden;
}
.fp-app-shell .ch-clean-disclosure>summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:14px;
  align-items:center;
  padding:16px 18px;
}
.fp-app-shell .ch-clean-disclosure>summary::-webkit-details-marker{display:none}
.fp-app-shell .ch-clean-disclosure>summary h2,
.fp-app-shell .ch-clean-disclosure>summary h3{margin:2px 0 3px}
.fp-app-shell .ch-clean-disclosure>summary p,
.fp-app-shell .ch-clean-disclosure>summary span{margin:0}
.fp-app-shell .ch-clean-disclosure-body{
  padding:16px 18px 18px;
  border-top:1px solid var(--plentz-line,#e5ece9);
}
.fp-app-shell .ch-admin-details .ch-admin-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.fp-app-shell .ch-admin-details .ch-admin-panel{
  border:1px solid var(--plentz-line,#e5ece9);
  border-radius:12px;
  padding:15px;
  background:#fff;
}
.fp-app-shell .ch-client-rate-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.fp-app-shell .ch-leave-summary-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.fp-app-shell .wp-leave-secondary{
  margin-top:12px;
  border:1px solid var(--plentz-line,#e5ece9);
  border-radius:12px;
}
.fp-app-shell .wp-leave-secondary>summary{
  padding:14px 15px;
}
.fp-app-shell .wp-leave-secondary>summary>div{
  display:grid;
  gap:3px;
}
.fp-app-shell .wp-leave-secondary>summary>div>span{
  color:var(--plentz-muted,#70838a);
  font-size:11px!important;
}
.fp-app-shell .ch-report-grid-primary{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.fp-app-shell .ch-report-more{
  margin-top:14px;
}
.fp-app-shell .ch-report-more .ch-report-grid{
  margin:0;
}
.fp-app-shell .ch-report-more .ch-report-card{
  border:1px solid var(--plentz-line,#e5ece9);
  box-shadow:none;
}
.fp-app-shell .ch-reports-controls-compact{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
}
.fp-app-shell .ch-settings-primary{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.fp-app-shell .ch-settings-more{
  margin-top:14px;
}
.fp-app-shell .ch-settings-more-body{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.fp-app-shell .ch-settings-about-inline{
  display:grid;
  gap:3px;
  text-align:right;
  color:var(--plentz-muted,#70838a);
}
.fp-app-shell .ch-settings-about-inline span{font-weight:750;color:var(--plentz-ink,#103d35)}
.fp-app-shell .main>section,
.fp-app-shell .main>details{
  margin-bottom:14px;
}

/* Reduce repeated decorative labels without reducing readable body text. */
.fp-app-shell .wp-eyebrow,
.fp-app-shell .ch-rulebook-kicker{
  letter-spacing:.10em!important;
}

/* Tables remain readable instead of forcing the page to become wider. */
.fp-app-shell .table-wrap{
  max-width:100%;
  overflow-x:auto;
}
.fp-app-shell table{
  width:100%;
}
.fp-app-shell td,.fp-app-shell th{
  vertical-align:top;
}
.fp-app-shell td strong,
.fp-app-shell td.num,
.fp-app-shell .num{
  white-space:nowrap;
}

@media(max-width:980px){
  .fp-app-shell .ch-admin-details .ch-admin-grid,
  .fp-app-shell .ch-report-grid-primary,
  .fp-app-shell .ch-settings-primary,
  .fp-app-shell .ch-leave-summary-grid{
    grid-template-columns:1fr!important;
  }
  .fp-app-shell .ch-reports-controls-compact,
  .fp-app-shell .ch-settings-more-body{
    align-items:stretch;
    flex-direction:column;
  }
  .fp-app-shell .ch-settings-about-inline{text-align:left}
}
@media(max-width:760px){
  .fp-app-shell .ch-clean-disclosure>summary{
    grid-template-columns:1fr auto;
  }
  .fp-app-shell .ch-clean-disclosure>summary>div{
    grid-column:1/-1;
  }
  .fp-app-shell .ch-client-rate-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
}


/* Annual Leave history has one clear action only. */
.fp-app-shell .wp-leave-history-single-action{
  margin-top:12px;
  border:1px solid var(--plentz-line,#e5ece9);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.fp-app-shell .wp-leave-history-single-action>summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 15px;
}
.fp-app-shell .wp-leave-history-single-action>summary::-webkit-details-marker{display:none}
.fp-app-shell .wp-leave-history-single-action>summary>div{
  display:grid;
  gap:3px;
}
.fp-app-shell .wp-leave-history-single-action>summary>div>span{
  color:var(--plentz-muted,#70838a);
  font-size:11px!important;
}
.fp-app-shell .wp-leave-history-single-action>.wp-leave-history{
  padding:14px 15px;
  border-top:1px solid var(--plentz-line,#e5ece9);
}
.fp-app-shell .ch-rate-values span small{
  display:block;
  margin-top:2px;
  color:var(--plentz-muted,#70838a);
  font-size:10px!important;
  font-weight:500;
}
.fp-app-shell .wp-rate-card>small{
  display:block;
  margin-top:6px;
  color:var(--plentz-muted,#70838a);
  font-size:10px!important;
  line-height:1.35;
}

/* Report weekly hierarchy: summaries first, daily records grouped under their week. */
.report-week-table .report-week-head th{
  text-align:left!important;
  font-weight:800!important;
  padding-top:12px!important;
  padding-bottom:8px!important;
  border-top:1px solid var(--plentz-line,#dfe8e4)!important;
}
.report-week-table .report-week-day td{
  vertical-align:top;
}
.report-week-table .report-week-day td:first-child{
  white-space:nowrap;
  font-weight:650;
}

/* Persisted caregiver review: saved decisions are read-only until explicitly changed. */
.fp-app-shell .wp-header-review-saved{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:14px 15px;
  border-radius:12px;
}
.fp-app-shell .wp-header-review-saved.ok{
  background:#edf9f3;
  border:1px solid #bfe7d2;
}
.fp-app-shell .wp-header-review-saved.pending{
  background:#fff8e8;
  border:1px solid #efd89b;
}
.fp-app-shell .wp-header-review-saved-copy{display:grid;gap:3px;min-width:0}
.fp-app-shell .wp-header-review-saved-copy>strong{font-size:14px!important}
.fp-app-shell .wp-header-review-saved-copy>span,
.fp-app-shell .wp-header-review-saved-copy>small{color:var(--plentz-muted,#70838a)}
.fp-app-shell .wp-header-review-saved-copy>p{margin:6px 0 0;line-height:1.4}
.fp-app-shell .wp-header-review-change{
  flex:0 0 auto;
  border:1px solid var(--plentz-line,#dfe8e4);
  background:#fff;
  border-radius:10px;
  padding:9px 11px;
  font-weight:750;
  cursor:pointer;
}

/* Backup architecture: automatic device recovery + encrypted external file. */
.fp-app-shell .ch-backup-protection-block{
  margin-top:14px;
  padding:18px;
  border:1px solid var(--plentz-line,#dfe8e4);
  border-radius:14px;
  background:#fff;
}
.fp-app-shell .ch-backup-protection-block.encrypted.due{
  border-color:#e7c36c;
  background:#fffaf0;
}
.fp-app-shell .ch-backup-protection-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}
.fp-app-shell .ch-backup-protection-head h3{margin:2px 0 5px}
.fp-app-shell .ch-backup-protection-head p{margin:0;color:var(--plentz-muted,#70838a)}
.fp-app-shell .ch-backup-status-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1.35fr;
  gap:10px;
  margin-bottom:14px;
}
.fp-app-shell .ch-backup-status-grid article,
.fp-app-shell .ch-encrypted-status-row>div{
  display:grid;
  gap:4px;
  padding:13px 14px;
  border:1px solid var(--plentz-line,#dfe8e4);
  border-radius:11px;
  background:#fbfdfc;
}
.fp-app-shell .ch-backup-status-grid span,
.fp-app-shell .ch-encrypted-status-row span{font-size:11px!important;color:var(--plentz-muted,#70838a)}
.fp-app-shell .ch-backup-status-grid strong,
.fp-app-shell .ch-encrypted-status-row strong{font-size:13px!important}
.fp-app-shell .ch-backup-status-grid small,
.fp-app-shell .ch-encrypted-status-row small{font-size:10px!important;color:var(--plentz-muted,#70838a);line-height:1.4}
.fp-app-shell .ch-encrypted-status-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:14px;
}
.fp-app-shell .ch-backup-file-due-label{
  padding:7px 10px;
  border-radius:999px;
  background:#fff0c8;
  color:#8c5b00;
  font-size:11px!important;
  font-weight:800;
  white-space:nowrap;
}
.fp-app-shell .ch-portable-actions-focused{
  grid-template-columns:1.35fr 1fr 1fr;
}
.fp-app-shell .ch-portable-action.is-due{
  box-shadow:0 0 0 3px rgba(202,149,35,.12);
  animation:plentzBackupDuePulse 2.2s ease-in-out infinite;
}
.fp-app-shell .ch-backup-due-chip{
  display:flex;
  align-items:center;
  gap:7px;
  padding:8px 10px;
  border:1px solid #e6c36d;
  border-radius:10px;
  background:#fff8e4;
  color:#714d00;
  cursor:pointer;
  animation:plentzBackupDuePulse 2.2s ease-in-out infinite;
}
.fp-app-shell .ch-backup-due-chip small{font-size:10px!important;font-weight:600}
.fp-app-shell .ch-backup-due-dot{
  width:8px;height:8px;border-radius:50%;background:#d89400;display:inline-block;
}
.fp-app-shell .ch-backup-due-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
  padding:14px 16px;
  border:1px solid #e6c36d;
  border-radius:12px;
  background:#fff8e4;
}
.fp-app-shell .ch-backup-due-banner p{margin:4px 0 0;color:#755d27}
@keyframes plentzBackupDuePulse{
  0%,100%{box-shadow:0 0 0 0 rgba(202,149,35,0)}
  50%{box-shadow:0 0 0 5px rgba(202,149,35,.10)}
}
@media(max-width:900px){
  .fp-app-shell .ch-backup-status-grid,
  .fp-app-shell .ch-encrypted-status-row,
  .fp-app-shell .ch-portable-actions-focused{grid-template-columns:1fr}
  .fp-app-shell .ch-backup-protection-head,
  .fp-app-shell .ch-backup-due-banner{flex-direction:column;align-items:stretch}
}


/* =========================================================
   PLENTZ RESPONSIVE DATA & CONTENT FLOW CONTRACT
   Permanent global rules: no broken values, no strangled
   statuses, full use of available reading width.
   ========================================================= */

/* Every layout child may shrink correctly without forcing accidental clipping. */
.fp-app-shell :is(.main,.box,.panel,.card,section,details,article,div){min-width:0}

/* Reading copy uses the width that its parent actually provides. */
.fp-app-shell .ch-use-available-width,
.fp-app-shell .wp-detail-copy,
.fp-app-shell .wp-audit-rationale,
.fp-app-shell .wp-rule-note,
.fp-app-shell .ch-rule-note,
.fp-app-shell .wp-forecast-note{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.fp-app-shell .wp-detail-copy{
  padding-inline:14px!important;
}
.fp-app-shell :is(.wp-detail-copy,.wp-audit-rationale,.wp-rule-note,.ch-rule-note,.wp-forecast-note) p{
  width:100%!important;
  max-width:none!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

/* PLENTZ TABLE ARCHITECTURE
   The wrapper owns overflow. Compact tables fit the canvas.
   Wide tables keep natural width and scroll only inside their wrapper. */
.fp-app-shell .table-wrap{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow-x:auto!important;
  overflow-y:auto;
  scrollbar-gutter:auto;
  -webkit-overflow-scrolling:touch;
}
.fp-app-shell table.ch-table-compact{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  border-collapse:collapse;
}
.fp-app-shell table.ch-table-wide{
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  table-layout:auto!important;
  border-collapse:collapse;
}
.fp-app-shell table.ch-table-compact th,
.fp-app-shell table.ch-table-compact td,
.fp-app-shell table.ch-table-wide th,
.fp-app-shell table.ch-table-wide td{
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.fp-app-shell table.ch-table-compact th,
.fp-app-shell table.ch-table-compact td{
  min-width:0!important;
}

/* Monetary values, hours, dates/rates and compact statuses are atomic UI data.
   They are never allowed to split across lines. */
.fp-app-shell :is(td,th).ch-nowrap-value,
.fp-app-shell :is(td,th).ch-nowrap-status,
.fp-app-shell td.num,
.fp-app-shell td[data-money],
.fp-app-shell td[data-hours],
.fp-app-shell .wp-source-status,
.fp-app-shell .wp-rate-evidence,
.fp-app-shell .wp-period-state{
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  min-width:max-content;
  font-variant-numeric:tabular-nums;
}

/* Important payroll/data tables get deliberate semantic column widths. */
.fp-app-shell .wp-pay-reconciliation-section table{
  min-width:1080px!important;
}
.fp-app-shell .wp-pay-reconciliation-section table th:first-child,
.fp-app-shell .wp-pay-reconciliation-section table td:first-child{
  min-width:168px!important;
  white-space:nowrap!important;
}
.fp-app-shell .wp-pay-reconciliation-section table th:not(:first-child),
.fp-app-shell .wp-pay-reconciliation-section table td:not(:first-child){
  min-width:92px!important;
  white-space:nowrap!important;
}
.fp-app-shell .wp-pay-reconciliation-section table th:nth-last-child(-n+3),
.fp-app-shell .wp-pay-reconciliation-section table td:nth-last-child(-n+3){
  min-width:132px!important;
}

/* Long prose cells may flow at word boundaries and receive real reading width. */
.fp-app-shell td.ch-flow-text{
  min-width:180px;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  line-height:1.45;
}

/* Compact detail copy must not reserve an empty right-hand column. */
.fp-app-shell .wp-compact-detail[open] .wp-detail-copy{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box;
}

/* Cards/grids distribute free space, instead of constraining readable copy. */
.fp-app-shell :is(.wp-evidence-head,.wp-pay-detail-heading,.wp-technical-details-body,.ch-clean-disclosure-body)>*{
  min-width:0;
  max-width:100%;
}

/* On narrow devices keep the professional table structure and scroll only the
   data surface; never squeeze a money/status token to character width. */
@media(max-width:760px){
  .fp-app-shell .table-wrap{
    margin-inline:0!important;
    border-radius:10px!important;
  }
  }

/* Very wide screens should use the available application canvas. */
@media(min-width:1180px){
  .fp-app-shell .main{
    width:100%!important;
    max-width:none!important;
  }
  .fp-app-shell .wp-detail-copy,
  .fp-app-shell .wp-audit-rationale{
    padding-right:18px!important;
  }
}


/* =========================================================
   PLENTZ DISCLOSURE ACTION CONTRACT — BALANCED UX
   Silent expandable rows get a lightweight More / Less cue.
   Existing contextual actions are preserved.
   ========================================================= */
.fp-app-shell details>summary{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.fp-app-shell details>summary>*:not(.ch-disclosure-action){
  min-width:0;
}
.fp-app-shell details>summary .ch-disclosure-action{
  display:inline-flex!important;
  align-items:center;
  flex:0 0 auto!important;
  margin-left:auto!important;
  padding:2px 0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  color:#0b7b47!important;
  font-size:10.5px!important;
  line-height:1.2!important;
  font-weight:750!important;
  letter-spacing:.01em;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  position:relative;
  z-index:2;
}
.fp-app-shell details[open]>summary .ch-disclosure-action{
  color:#536e65!important;
}
.fp-app-shell details>summary .ch-disclosure-action::after{
  content:'›';
  margin-left:5px;
  font-size:13px;
  line-height:1;
  transition:transform .16s ease;
}
.fp-app-shell details[open]>summary .ch-disclosure-action::after{
  transform:rotate(90deg);
}
.fp-app-shell details>summary::after{
  display:none!important;
}

/* Existing contextual actions remain stronger than the generated cue,
   but still read as light controls rather than secondary buttons. */

/* Keep disclosure rows visually calm: one primary reading line, one action. */
.fp-app-shell details>summary{
  min-height:44px;
}
.fp-app-shell details>summary h2,
.fp-app-shell details>summary h3,
.fp-app-shell details>summary strong{
  margin-block:0;
}

@media(max-width:640px){
  .fp-app-shell details>summary{
    align-items:flex-start!important;
    flex-wrap:wrap!important;
  }
  .fp-app-shell details>summary .ch-disclosure-action{
    margin-left:auto!important;
  }
}

.fp-app-shell details>summary{
  justify-content:flex-start!important;
  align-items:center!important;
}
.fp-app-shell details>summary .ch-disclosure-action{
  order:2!important;
  margin-left:8px!important;
  margin-right:0!important;
  align-self:center!important;
}
.fp-app-shell details>summary .ch-disclosure-action::after{
  content:'›'!important;
}
.fp-app-shell details>summary .wp-payment-state{
  margin-left:auto!important;
}
@media(max-width:640px){
  .fp-app-shell details>summary .ch-disclosure-action{
    margin-left:6px!important;
  }
}

.fp-app-shell details>summary{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  overflow:hidden!important;
}
.fp-app-shell details>summary>*{
  min-width:0!important;
  max-width:100%;
}
.fp-app-shell details>summary .ch-disclosure-action{
  order:99!important;
  flex:0 0 auto!important;
  margin-left:auto!important;
  margin-right:0!important;
  align-self:center!important;
  white-space:nowrap!important;
}
.fp-app-shell .ch-rulebook-topic>summary>div:first-child{
  flex:1 1 auto!important;
}
.fp-app-shell .ch-rulebook-topic>summary>.ch-rule-status{
  flex:0 0 auto!important;
  margin-left:0!important;
  white-space:nowrap!important;
}
.fp-app-shell .wp-ph-calculation-audit>summary{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  column-gap:16px!important;
}
.fp-app-shell .wp-ph-calculation-audit>summary .wp-ph-summary-copy{
  min-width:0!important;
}
.fp-app-shell .wp-ph-calculation-audit>summary .wp-ph-summary-value{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:2px!important;
  min-width:max-content!important;
  white-space:nowrap!important;
}
.fp-app-shell .wp-ph-calculation-audit>summary .wp-ph-summary-value small{
  font-size:10px!important;
  line-height:1.2!important;
  color:#73827b!important;
}
.fp-app-shell .wp-ph-calculation-audit>summary .wp-ph-summary-value strong{
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:700!important;
}
.fp-app-shell .wp-ph-calculation-audit>summary .ch-disclosure-action{
  margin-left:0!important;
}

@media(max-width:700px){
  .fp-app-shell details>summary{
    flex-wrap:wrap!important;
    align-items:flex-start!important;
  }
  .fp-app-shell details>summary .ch-disclosure-action{
    margin-left:0!important;
  }
  .fp-app-shell .ch-rulebook-topic>summary .ch-disclosure-action{
    margin-left:auto!important;
  }
  .fp-app-shell .wp-ph-calculation-audit>summary{
    grid-template-columns:minmax(0,1fr) auto!important;
    row-gap:8px!important;
  }
  .fp-app-shell .wp-ph-calculation-audit>summary .wp-ph-summary-value{
    align-items:flex-end!important;
  }
  .fp-app-shell .wp-ph-calculation-audit>summary .ch-disclosure-action{
    grid-column:1/-1!important;
    justify-self:start!important;
  }
}


/* Single disclosure affordance: legacy action labels are removed in JS.
   Keep the canonical More visually consistent with Plentz. */
.fp-app-shell details>summary .ch-disclosure-action{
  color:#087f4f!important;
  background:transparent!important;
  border:0!important;
  white-space:nowrap!important;
}
.fp-app-shell .ch-admin-collapsible>summary>span:last-child:not(.ch-disclosure-action){
  color:inherit!important;
}

/* Public Holiday audit: title, calculated value and More stay in one bounded row. */
.fp-app-shell .wp-ph-calculation-audit>summary{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.fp-app-shell .wp-ph-calculation-audit>summary .wp-ph-summary-copy{
  min-width:0!important;
}
.fp-app-shell .wp-ph-calculation-audit>summary .wp-ph-summary-value{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:2px!important;
  white-space:nowrap!important;
}
.fp-app-shell .wp-ph-calculation-audit>summary .wp-ph-summary-value small{
  font-size:10px!important;
  color:#6f7f78!important;
}
.fp-app-shell .wp-ph-calculation-audit>summary .wp-ph-summary-value strong{
  font-size:14px!important;
}
.fp-app-shell .wp-ph-calculation-audit>summary .ch-disclosure-action{
  margin-left:0!important;
}



/* Compact source-documents table */
.fp-app-shell .wp-source-table.ch-table-compact{width:100%!important;min-width:0!important;table-layout:fixed!important}
.fp-app-shell .wp-source-table th:nth-child(1),.fp-app-shell .wp-source-table td:nth-child(1){width:29%!important;min-width:0!important}
.fp-app-shell .wp-source-table th:nth-child(2),.fp-app-shell .wp-source-table td:nth-child(2){width:27%!important;min-width:0!important}
.fp-app-shell .wp-source-table th:nth-child(3),.fp-app-shell .wp-source-table td:nth-child(3){width:13%!important;min-width:0!important;white-space:nowrap!important}
.fp-app-shell .wp-source-table th:nth-child(4),.fp-app-shell .wp-source-table td:nth-child(4){width:11%!important;min-width:0!important;white-space:nowrap!important}
.fp-app-shell .wp-source-table th:nth-child(5),.fp-app-shell .wp-source-table td:nth-child(5){width:20%!important;min-width:0!important}

/* Wide hours-audit table */
.fp-app-shell .wp-hours-audit-table.ch-table-balanced{min-width:0!important;width:100%!important}
.fp-app-shell .wp-hours-audit-table th,.fp-app-shell .wp-hours-audit-table td{padding:8px 9px!important;font-size:12px!important}
.fp-app-shell .wp-hours-audit-table th:nth-child(1),.fp-app-shell .wp-hours-audit-table td:nth-child(1){min-width:92px!important;white-space:nowrap!important}
.fp-app-shell .wp-hours-audit-table th:nth-child(2),.fp-app-shell .wp-hours-audit-table td:nth-child(2){min-width:140px!important}
.fp-app-shell .wp-hours-audit-table th:nth-child(3),.fp-app-shell .wp-hours-audit-table td:nth-child(3){min-width:105px!important;white-space:nowrap!important}
.fp-app-shell .wp-hours-audit-table th:nth-child(4),.fp-app-shell .wp-hours-audit-table td:nth-child(4){min-width:68px!important;white-space:nowrap!important}
.fp-app-shell .wp-hours-audit-table th:nth-child(5),.fp-app-shell .wp-hours-audit-table td:nth-child(5){min-width:118px!important}
.fp-app-shell .wp-hours-audit-table th:nth-child(6),.fp-app-shell .wp-hours-audit-table td:nth-child(6),
.fp-app-shell .wp-hours-audit-table th:nth-child(7),.fp-app-shell .wp-hours-audit-table td:nth-child(7){min-width:72px!important;text-align:right;white-space:nowrap!important}

.fp-app-shell table.ch-table-wide th,.fp-app-shell table.ch-table-wide td{padding-inline:10px!important}
.fp-app-shell .ch-travel-table.ch-table-balanced th,.fp-app-shell .ch-travel-table.ch-table-balanced td{padding-inline:8px!important}
.fp-app-shell .report-week-table.ch-table-wide th,.fp-app-shell .report-week-table.ch-table-wide td{padding-inline:9px!important}

.fp-app-shell table.ch-table-balanced{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  table-layout:auto!important;
  border-collapse:collapse!important;
}
.fp-app-shell table.ch-table-balanced th,
.fp-app-shell table.ch-table-balanced td{
  min-width:0!important;
  padding-left:9px!important;
  padding-right:9px!important;
  vertical-align:top;
}
.fp-app-shell table.ch-table-balanced .ch-nowrap-value,
.fp-app-shell table.ch-table-balanced .ch-nowrap-status{
  white-space:nowrap!important;
}

/* Journey table — single compact geometry contract. */
.fp-app-shell .ch-travel-table.ch-table-balanced{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.fp-app-shell .ch-travel-table.ch-table-balanced th,
.fp-app-shell .ch-travel-table.ch-table-balanced td{
  min-width:0!important;
  box-sizing:border-box!important;
  padding:7px 6px!important;
  font-size:11px!important;
  line-height:1.25!important;
  vertical-align:top!important;
  overflow:hidden!important;
}
.fp-app-shell .ch-travel-table.ch-table-balanced th{
  font-size:10px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
.fp-app-shell .ch-travel-table.ch-table-balanced th:nth-child(1),
.fp-app-shell .ch-travel-table.ch-table-balanced td:nth-child(1){width:10%!important;white-space:nowrap!important}
.fp-app-shell .ch-travel-table.ch-table-balanced th:nth-child(2),
.fp-app-shell .ch-travel-table.ch-table-balanced td:nth-child(2){width:29%!important}
.fp-app-shell .ch-travel-table.ch-table-balanced th:nth-child(3),
.fp-app-shell .ch-travel-table.ch-table-balanced td:nth-child(3){width:8%!important;white-space:nowrap!important}
.fp-app-shell .ch-travel-table.ch-table-balanced th:nth-child(4),
.fp-app-shell .ch-travel-table.ch-table-balanced td:nth-child(4){width:12%!important}
.fp-app-shell .ch-travel-table.ch-table-balanced th:nth-child(5),
.fp-app-shell .ch-travel-table.ch-table-balanced td:nth-child(5){width:9%!important;white-space:nowrap!important}
.fp-app-shell .ch-travel-table.ch-table-balanced th:nth-child(6),
.fp-app-shell .ch-travel-table.ch-table-balanced td:nth-child(6){width:9%!important;white-space:nowrap!important}
.fp-app-shell .ch-travel-table.ch-table-balanced th:nth-child(7),
.fp-app-shell .ch-travel-table.ch-table-balanced td:nth-child(7){width:23%!important}
.fp-app-shell .ch-travel-table.ch-table-balanced td:nth-child(2),
.fp-app-shell .ch-travel-table.ch-table-balanced td:nth-child(4),
.fp-app-shell .ch-travel-table.ch-table-balanced td:nth-child(7){
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
.fp-app-shell .ch-travel-table.ch-table-balanced td:nth-child(4) small,
.fp-app-shell .ch-travel-table.ch-table-balanced td:nth-child(7) small{
  display:block!important;
  margin-top:2px!important;
  font-size:9.5px!important;
  line-height:1.2!important;
}
.fp-app-shell .ch-travel-legend{
  margin-top:7px!important;
  padding-inline:2px!important;
  white-space:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  font-size:10.5px!important;
  line-height:1.3!important;
}

/* Hours audit: balanced on desktop, local scroll only when the device is narrow. */
.fp-app-shell .wp-hours-audit-table.ch-table-balanced{table-layout:auto!important}

@media(max-width:760px){
  .fp-app-shell table.ch-table-balanced{width:max-content!important;min-width:720px!important;max-width:none!important}
  .fp-app-shell .ch-travel-table.ch-table-balanced{table-layout:fixed!important;min-width:700px!important}
  .fp-app-shell .wp-hours-audit-table.ch-table-balanced{min-width:720px!important}
}

.fp-app-shell .ch-pay-recon-table.ch-table-balanced,
.fp-app-shell .ch-gross-shift-table.ch-table-balanced,
.fp-app-shell .ch-payroll-audit-table.ch-table-balanced{
  width:100%!important;max-width:100%!important;min-width:0!important;
  table-layout:fixed!important;border-collapse:collapse!important;
}
.fp-app-shell .ch-pay-recon-table th,.fp-app-shell .ch-pay-recon-table td,
.fp-app-shell .ch-gross-shift-table th,.fp-app-shell .ch-gross-shift-table td,
.fp-app-shell .ch-payroll-audit-table th,.fp-app-shell .ch-payroll-audit-table td{
  min-width:0!important;padding:9px 7px!important;font-size:11.5px!important;line-height:1.2!important;
}
.fp-app-shell .ch-pay-recon-table td:not(:first-child),
.fp-app-shell .ch-gross-shift-table td:nth-child(1),
.fp-app-shell .ch-gross-shift-table td:nth-child(2),
.fp-app-shell .ch-gross-shift-table td:nth-child(3),
.fp-app-shell .ch-gross-shift-table td:nth-child(4),
.fp-app-shell .ch-gross-shift-table td:nth-child(7),
.fp-app-shell .ch-gross-shift-table td:nth-child(8),
.fp-app-shell .ch-gross-shift-table td:nth-child(9),
.fp-app-shell .ch-gross-shift-table td:nth-child(10),
.fp-app-shell .ch-payroll-audit-table td:not(:first-child){white-space:nowrap!important}

/* Gross pay reconciliation */
.fp-app-shell .ch-pay-recon-table th:nth-child(1),.fp-app-shell .ch-pay-recon-table td:nth-child(1){width:16%!important;white-space:nowrap!important}
.fp-app-shell .ch-pay-recon-table th:nth-child(2),.fp-app-shell .ch-pay-recon-table td:nth-child(2){width:9%!important}
.fp-app-shell .ch-pay-recon-table th:nth-child(3),.fp-app-shell .ch-pay-recon-table td:nth-child(3){width:8%!important}
.fp-app-shell .ch-pay-recon-table th:nth-child(4),.fp-app-shell .ch-pay-recon-table td:nth-child(4){width:8%!important}
.fp-app-shell .ch-pay-recon-table th:nth-child(5),.fp-app-shell .ch-pay-recon-table td:nth-child(5){width:8%!important}
.fp-app-shell .ch-pay-recon-table th:nth-child(6),.fp-app-shell .ch-pay-recon-table td:nth-child(6){width:10%!important}
.fp-app-shell .ch-pay-recon-table th:nth-child(7),.fp-app-shell .ch-pay-recon-table td:nth-child(7){width:8%!important}
.fp-app-shell .ch-pay-recon-table th:nth-child(8),.fp-app-shell .ch-pay-recon-table td:nth-child(8){width:11%!important}
.fp-app-shell .ch-pay-recon-table th:nth-child(9),.fp-app-shell .ch-pay-recon-table td:nth-child(9){width:11%!important}
.fp-app-shell .ch-pay-recon-table th:nth-child(10),.fp-app-shell .ch-pay-recon-table td:nth-child(10){width:11%!important}


/* Gross Payslip shift detail — single authoritative geometry */
.fp-app-shell .ch-gross-shift-table.ch-table-balanced{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.fp-app-shell .ch-gross-shift-table th,
.fp-app-shell .ch-gross-shift-table td{
  box-sizing:border-box!important;
  overflow:hidden!important;
  text-overflow:ellipsis;
}
.fp-app-shell .ch-gross-shift-table th:nth-child(1),.fp-app-shell .ch-gross-shift-table td:nth-child(1){width:10%!important}
.fp-app-shell .ch-gross-shift-table th:nth-child(2),.fp-app-shell .ch-gross-shift-table td:nth-child(2){width:8%!important}
.fp-app-shell .ch-gross-shift-table th:nth-child(3),.fp-app-shell .ch-gross-shift-table td:nth-child(3){width:10%!important}
.fp-app-shell .ch-gross-shift-table th:nth-child(4),.fp-app-shell .ch-gross-shift-table td:nth-child(4){width:7%!important}
.fp-app-shell .ch-gross-shift-table th:nth-child(5),.fp-app-shell .ch-gross-shift-table td:nth-child(5){width:18%!important}
.fp-app-shell .ch-gross-shift-table th:nth-child(6),.fp-app-shell .ch-gross-shift-table td:nth-child(6){width:12%!important}
.fp-app-shell .ch-gross-shift-table th:nth-child(7),.fp-app-shell .ch-gross-shift-table td:nth-child(7){width:8%!important}
.fp-app-shell .ch-gross-shift-table th:nth-child(8),.fp-app-shell .ch-gross-shift-table td:nth-child(8){width:9%!important}
.fp-app-shell .ch-gross-shift-table th:nth-child(9),.fp-app-shell .ch-gross-shift-table td:nth-child(9){width:8%!important}
.fp-app-shell .ch-gross-shift-table th:nth-child(10),.fp-app-shell .ch-gross-shift-table td:nth-child(10){width:10%!important}

.fp-app-shell .ch-gross-shift-table .ch-cell-client,
.fp-app-shell .ch-gross-shift-table .ch-cell-type{
  min-width:0!important;
  max-width:0;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.fp-app-shell .ch-gross-shift-table td.num{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}

/* Detailed payroll audit */
.fp-app-shell .ch-payroll-audit-table th:nth-child(1),.fp-app-shell .ch-payroll-audit-table td:nth-child(1){width:20%!important}
.fp-app-shell .ch-payroll-audit-table th:nth-child(2),.fp-app-shell .ch-payroll-audit-table td:nth-child(2){width:13%!important}
.fp-app-shell .ch-payroll-audit-table th:nth-child(3),.fp-app-shell .ch-payroll-audit-table td:nth-child(3){width:13%!important}
.fp-app-shell .ch-payroll-audit-table th:nth-child(4),.fp-app-shell .ch-payroll-audit-table td:nth-child(4){width:10%!important}
.fp-app-shell .ch-payroll-audit-table th:nth-child(5),.fp-app-shell .ch-payroll-audit-table td:nth-child(5){width:10%!important}
.fp-app-shell .ch-payroll-audit-table th:nth-child(6),.fp-app-shell .ch-payroll-audit-table td:nth-child(6){width:10%!important}
.fp-app-shell .ch-payroll-audit-table th:nth-child(7),.fp-app-shell .ch-payroll-audit-table td:nth-child(7){width:12%!important}
.fp-app-shell .ch-payroll-audit-table th:nth-child(8),.fp-app-shell .ch-payroll-audit-table td:nth-child(8){width:12%!important}

@media(max-width:1100px){
  .fp-app-shell .ch-pay-recon-table.ch-table-balanced{
    width:max-content!important;min-width:980px!important;max-width:none!important;table-layout:fixed!important;
  }
  .fp-app-shell .ch-gross-shift-table.ch-table-balanced{
    width:max-content!important;min-width:1040px!important;max-width:none!important;table-layout:fixed!important;
  }
  .fp-app-shell .ch-payroll-audit-table.ch-table-balanced{
    width:max-content!important;min-width:760px!important;max-width:none!important;table-layout:fixed!important;
  }
}

.fp-app-shell .ch-table-legend{
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  margin:8px 0 0;
  padding:0 2px 2px;
  color:var(--muted,#6f8390);
  font-size:11.5px;
  line-height:1.35;
  white-space:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
}
.fp-app-shell .ch-table-legend strong,
.fp-app-shell .ch-table-legend b{color:var(--ink,#173746);font-weight:700}
@media (max-width:700px){
  .fp-app-shell .ch-table-legend{font-size:10.5px;white-space:nowrap}
}

.fp-app-shell table.ch-table-compact td,
.fp-app-shell table.ch-table-balanced td,
.fp-app-shell table.ch-table-wide td{
  box-sizing:border-box!important;
}
.fp-app-shell table.ch-table-compact td:not(.ch-flow-text),
.fp-app-shell table.ch-table-balanced td:not(.ch-flow-text),
.fp-app-shell table.ch-table-wide td:not(.ch-flow-text){
  overflow:hidden;
}

.fp-app-shell .wp-simple-compare .wp-simple-title{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-bottom:12px!important;
}
.fp-app-shell .wp-simple-compare .wp-simple-title>div{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.fp-app-shell .wp-simple-status.wp-simple-status-bar{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:0 0 16px!important;
  padding:11px 14px!important;
  border:1px solid var(--plentz-line,#dfe8e4)!important;
  border-radius:12px!important;
}
.fp-app-shell .wp-simple-status-bar .wp-simple-status-main{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex:0 1 auto!important;
  min-width:0!important;
  white-space:nowrap!important;
}
.fp-app-shell .wp-simple-status-bar .wp-simple-status-main small{
  margin:0!important;
  font-size:10px!important;
  color:var(--plentz-muted,#6f7f78)!important;
}
.fp-app-shell .wp-simple-status-bar .wp-simple-status-main strong{
  margin:0!important;
  font-size:13px!important;
  white-space:nowrap!important;
}
.fp-app-shell .wp-simple-status-bar .wp-simple-status-main span{
  min-width:0!important;
  font-size:12px!important;
  white-space:normal!important;
}
.fp-app-shell .wp-simple-status-bar .wp-header-review{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 0 14px!important;
  border-top:0!important;
  border-left:1px solid rgba(15,64,54,.12)!important;
}
.fp-app-shell .wp-simple-status-bar .wp-header-review-saved-copy{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
.fp-app-shell .wp-simple-status-bar .wp-header-review-saved-copy>span,
.fp-app-shell .wp-simple-status-bar .wp-header-review-saved-copy>small,
.fp-app-shell .wp-simple-status-bar .wp-header-review-saved-copy>p{
  margin:0!important;
  min-width:0!important;
  line-height:1.3!important;
}
.fp-app-shell .wp-simple-status-bar .wp-header-review-saved-copy>span{font-size:11.5px!important}
.fp-app-shell .wp-simple-status-bar .wp-header-review-saved-copy>small{
  font-size:10.5px!important;
  color:var(--plentz-muted,#6f7f78)!important;
  white-space:nowrap!important;
}
.fp-app-shell .wp-simple-status-bar .wp-header-review-saved-copy>p{
  font-size:10.5px!important;
  white-space:normal!important;
}
.fp-app-shell .wp-simple-status-bar .wp-header-review-change{
  flex:0 0 auto!important;
  margin-left:auto!important;
  white-space:nowrap!important;
}
.fp-app-shell .wp-simple-status-bar .wp-header-review:not(.wp-header-review-saved){
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
}
.fp-app-shell .wp-simple-status-bar .wp-header-review-question,
.fp-app-shell .wp-simple-status-bar .wp-header-review-decisions,
.fp-app-shell .wp-simple-status-bar .wp-header-review-reason-toggle,
.fp-app-shell .wp-simple-status-bar .wp-header-review-save{
  flex:0 0 auto!important;
}
.fp-app-shell .wp-simple-status-bar .wp-header-review-decisions{justify-content:flex-start!important}
.fp-app-shell .wp-simple-status-bar .wp-header-review-reason-toggle{width:auto!important}
.fp-app-shell .wp-simple-status-bar .wp-header-review-reason{
  flex:1 1 220px!important;
  min-width:160px!important;
}
.fp-app-shell .wp-simple-status-bar .wp-header-review-save{min-width:64px!important}
.fp-app-shell .wp-simple-status-bar .wp-header-review-message{flex:1 0 100%!important}

/* Common content + action headers: text owns the available width; action stays compact. */
.fp-app-shell .ch-client-rate-toolbar,
.fp-app-shell .ch-reports-controls-compact{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.fp-app-shell .ch-client-rate-toolbar>*:first-child,
.fp-app-shell .ch-reports-controls-compact>*:first-child{
  min-width:0!important;
  flex:1 1 auto!important;
}

@media(max-width:900px){
  .fp-app-shell .wp-simple-status.wp-simple-status-bar{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:8px!important;
  }
  .fp-app-shell .wp-simple-status-bar .wp-simple-status-main{
    width:100%!important;
    flex-wrap:wrap!important;
  }
  .fp-app-shell .wp-simple-status-bar .wp-header-review{
    width:100%!important;
    padding:9px 0 0!important;
    border-left:0!important;
    border-top:1px solid rgba(15,64,54,.12)!important;
  }
}
@media(max-width:620px){
  .fp-app-shell .wp-simple-status-bar .wp-header-review-saved-copy{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:3px!important;
  }
  .fp-app-shell .wp-simple-status-bar .wp-header-review-change{margin-left:0!important}
}

.fp-app-shell .wp-ph-calculation-audit.review-accepted .ch-rule-facts .review-accepted{
  background:#eef9f3!important;
  border-color:#cfeadd!important;
}
.fp-app-shell .wp-ph-calculation-audit.review-accepted .ch-rule-facts .review-accepted b{
  color:#087f4f!important;
}
.fp-app-shell .wp-ph-calculation-audit .ch-rule-note-accepted{
  background:#f2faf6!important;
  border-color:#d8eee2!important;
  color:#355f50!important;
}
.fp-app-shell .wp-ph-calculation-audit .ch-rule-note-pending{
  background:#fff8e8!important;
  border-color:#f0dfb5!important;
}

.fp-app-shell .ch-travel-rules-premium{overflow:hidden!important}
.fp-app-shell .ch-travel-rules-title{align-items:flex-start!important;margin-bottom:14px!important}
.fp-app-shell .ch-travel-rule-source{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;padding:10px 12px!important;margin-bottom:16px!important;border:1px solid #dfe9e4!important;border-radius:12px!important;background:#f7faf8!important;box-sizing:border-box!important}
.fp-app-shell .ch-travel-rule-source>span{flex:0 0 auto!important;padding:6px 10px!important;border-radius:999px!important;font-size:12px!important;font-weight:800!important;white-space:nowrap!important}
.fp-app-shell .ch-travel-rule-source>span.confirmed{background:#e7f6ee!important;color:#087a4c!important}.fp-app-shell .ch-travel-rule-source>span.provisional{background:#fff5df!important;color:#946414!important}
.fp-app-shell .ch-travel-rule-source>div{display:flex!important;align-items:baseline!important;gap:8px!important;min-width:0!important;flex:1 1 auto!important}.fp-app-shell .ch-travel-rule-source>div strong{font-size:12px!important;font-weight:750!important;color:#526a62!important}.fp-app-shell .ch-travel-rule-source>div span{min-width:0!important;font-size:13px!important;line-height:1.45!important;color:#526a62!important}
.fp-app-shell .ch-travel-rule-section-head{display:flex!important;align-items:baseline!important;gap:10px!important;margin:6px 0 10px!important}.fp-app-shell .ch-travel-rule-section-head>span{color:#087a4c!important;font-size:14px!important;font-weight:800!important}.fp-app-shell .ch-travel-rule-section-head>small{color:#71847b!important;font-size:12px!important}.fp-app-shell .ch-travel-rule-section-head.guidance{margin-top:20px!important;padding-top:16px!important;border-top:1px solid #e4ece8!important}
.fp-app-shell .ch-travel-rule-facts-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important}.fp-app-shell .ch-travel-rule-fact{min-width:0!important;padding:12px!important;border:1px solid #e0e9e5!important;border-radius:12px!important;background:#fff!important;box-sizing:border-box!important}.fp-app-shell .ch-travel-rule-fact.primary{background:#f2faf6!important;border-color:#cce8da!important}
.fp-app-shell .ch-travel-rule-fact>span{display:block!important;margin-bottom:6px!important;color:#60766c!important;font-size:12px!important;font-weight:700!important}.fp-app-shell .ch-travel-rule-fact>strong{display:block!important;color:#173f35!important;font-size:16px!important;line-height:1.3!important;overflow-wrap:break-word!important}.fp-app-shell .ch-travel-rule-fact>small{display:block!important;margin-top:6px!important;color:#74877e!important;font-size:11.5px!important;line-height:1.4!important}
.fp-app-shell .ch-travel-guidance-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.fp-app-shell .ch-travel-guidance-item{min-width:0!important;padding:12px 13px!important;border-left:3px solid #d7e8df!important;border-radius:0 9px 9px 0!important;background:#f8faf9!important}.fp-app-shell .ch-travel-guidance-item strong{display:block!important;margin-bottom:4px!important;color:#34574d!important;font-size:13px!important}.fp-app-shell .ch-travel-guidance-item p{margin:0!important;color:#63786f!important;font-size:12px!important;line-height:1.5!important}
.fp-app-shell .ch-travel-rule-boundary{display:flex!important;align-items:baseline!important;gap:8px!important;margin-top:16px!important;padding:10px 12px!important}
@media(max-width:1050px){.fp-app-shell .ch-travel-rule-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.fp-app-shell .ch-travel-rule-source{align-items:flex-start!important;flex-direction:column!important}.fp-app-shell .ch-travel-rule-source>div{align-items:flex-start!important;flex-direction:column!important;gap:2px!important}.fp-app-shell .ch-travel-rule-facts-grid,.fp-app-shell .ch-travel-guidance-grid{grid-template-columns:1fr!important}.fp-app-shell .ch-travel-rule-section-head,.fp-app-shell .ch-travel-rule-boundary{align-items:flex-start!important;flex-direction:column!important;gap:2px!important}}

:root{--plentz-blue:var(--plentz-brand);--plentz-blue-hover:var(--plentz-brand-hover);--plentz-soft-blue:var(--plentz-brand-soft)}
.fp-auth-shell .fp-auth-button,.fp-auth-shell button.fp-auth-button,.ch-device-setup .fp-auth-button,.ch-device-setup button.fp-auth-button,.ch-device-setup .btn.primary,.ch-device-setup button.btn.primary,.ch-backup-password-modal .btn.primary,.ch-backup-password-modal button.btn.primary,#chRestorePasswordContinue,#chBackupPasswordContinue,#chMigrationImport{background:var(--plentz-brand)!important;border-color:var(--plentz-brand)!important;color:#fff!important;box-shadow:0 7px 18px rgba(7,132,71,.16)!important}
.fp-auth-shell .fp-auth-button:hover,.fp-auth-shell button.fp-auth-button:hover,.ch-device-setup .fp-auth-button:hover,.ch-device-setup button.fp-auth-button:hover,.ch-device-setup .btn.primary:hover,.ch-device-setup button.btn.primary:hover,.ch-backup-password-modal .btn.primary:hover,.ch-backup-password-modal button.btn.primary:hover,#chRestorePasswordContinue:hover,#chBackupPasswordContinue:hover,#chMigrationImport:hover{background:var(--plentz-brand-hover)!important;border-color:var(--plentz-brand-hover)!important;color:#fff!important}
.fp-auth-shell input:focus,.fp-auth-shell select:focus,.fp-auth-shell textarea:focus,.ch-device-setup input:focus,.ch-device-setup select:focus,.ch-device-setup textarea:focus,.ch-backup-password-modal input:focus{border-color:var(--plentz-brand)!important;outline:0!important;box-shadow:0 0 0 4px rgba(7,132,71,.10)!important}
.fp-app-shell .ch-dashboard-greeting{margin:0 0 14px!important;padding:0 22px!important}.fp-app-shell .ch-dashboard-greeting strong{display:block!important;color:var(--plentz-brand-deep)!important;font-size:23px!important;font-weight:750!important;line-height:1.2!important;letter-spacing:-.02em!important}.fp-app-shell .ch-dashboard-greeting span{display:block!important;margin-top:5px!important;color:var(--plentz-muted)!important;font-size:15px!important;line-height:1.4!important}

.fp-app-shell .ch-backup-default-note{
  margin:8px 0 12px!important;
  padding:9px 11px!important;
  border:1px solid #d7eadf!important;
  border-radius:10px!important;
  background:#f3faf6!important;
  color:#4e6b60!important;
  font-size:10.8px!important;
  line-height:1.4!important;
}
.fp-app-shell .ch-backup-default-note strong{color:#087a4c!important}

/* PLENTZ 1.25.1 — PASSIVE CAREGIVER IDENTITY */
#fpGlobalUserArea .fp-user-identity{display:flex!important;align-items:center!important;gap:10px!important;min-height:44px!important;padding:7px 12px!important;border:1px solid var(--plentz-border)!important;border-radius:12px!important;background:#fff!important;color:var(--plentz-ink)!important;box-sizing:border-box!important;cursor:default!important;user-select:none!important}
#fpGlobalUserArea .fp-user-identity .fp-user-avatar{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;flex:0 0 32px!important;border-radius:50%!important;background:var(--plentz-brand)!important;color:#fff!important;font-size:12px!important;font-weight:800!important}
#fpGlobalUserArea .fp-user-identity .fp-user-copy{display:flex!important;flex-direction:column!important;min-width:0!important;line-height:1.15!important}
#fpGlobalUserArea .fp-user-identity .fp-user-copy strong{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--plentz-ink)!important;font-size:12px!important;font-weight:800!important}
#fpGlobalUserArea .fp-user-identity .fp-user-copy small{margin-top:3px!important;color:var(--plentz-muted)!important;font-size:9px!important}

/* PLENTZ 1.25.2 — EDITORIAL CLEANUP */
.fp-app-shell .wp-next-payslip-forecast .section-title{margin-bottom:8px!important}
.fp-app-shell .wp-next-payslip-forecast .wp-unpaid-period-head{margin-top:0!important}
.fp-app-shell .wp-next-payslip-forecast .wp-next-payslip-period{display:block!important;max-width:100%!important;color:var(--plentz-ink)!important;font-size:13px!important;font-weight:700!important;line-height:1.4!important;letter-spacing:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
.fp-app-shell .wp-next-payslip-forecast .wp-next-payslip-period span{display:inline!important;padding:0 6px!important;color:var(--plentz-muted)!important}
@media(max-width:520px){.fp-app-shell .wp-next-payslip-forecast .wp-next-payslip-period{font-size:12px!important}}

/* Caregiver photo and Dashboard welcome */
.fp-app-shell .ch-care-avatar{display:inline-flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;flex:0 0 auto!important;border-radius:50%!important;background:linear-gradient(145deg,#0a8d50,#087445)!important;color:#fff!important;font-weight:800!important}
.fp-app-shell .ch-care-avatar img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center!important}
.fp-app-shell .ch-care-avatar.profile{width:86px!important;height:86px!important;font-size:22px!important;box-shadow:0 0 0 5px #edf8f2,0 5px 16px rgba(7,95,69,.13)!important}
.fp-app-shell .ch-care-avatar.dashboard{width:68px!important;height:68px!important;font-size:18px!important;border:2px solid rgba(255,255,255,.94)!important;box-shadow:0 4px 16px rgba(0,0,0,.14)!important}
.fp-app-shell .ch-profile-photo-row{display:flex!important;align-items:center!important;gap:20px!important;margin:0 0 20px!important;padding:16px 18px!important;border:1px solid #dce8e2!important;border-radius:14px!important;background:#f8fbf9!important}
.fp-app-shell .ch-profile-photo-copy{min-width:0!important;flex:1 1 auto!important}
.fp-app-shell .ch-profile-photo-copy>strong{display:block!important;color:#173f35!important;font-size:14px!important;margin-bottom:4px!important}
.fp-app-shell .ch-profile-photo-copy>span{display:block!important;max-width:600px!important;color:#71838f!important;font-size:11px!important;line-height:1.45!important}
.fp-app-shell .ch-profile-photo-copy>div{display:flex!important;gap:8px!important;margin-top:11px!important}
.fp-app-shell .ch-dashboard-hero{padding:22px 26px!important;background:linear-gradient(105deg,#067746 0%,#0a8d50 62%,#4e8d4d 100%)!important;border:0!important;color:#fff!important;box-shadow:0 12px 28px rgba(5,87,52,.13)!important}
.fp-app-shell .ch-dashboard-hero-main{display:grid!important;grid-template-columns:minmax(220px,.9fr) minmax(360px,1.35fr) auto!important;align-items:center!important;gap:28px!important}
.fp-app-shell .ch-dashboard-hero .ch-page-context,.fp-app-shell .ch-dashboard-hero h1,.fp-app-shell .ch-dashboard-hero p{color:#fff!important}
.fp-app-shell .ch-dashboard-hero .ch-page-context{opacity:.9!important}.fp-app-shell .ch-dashboard-hero .ch-page-head-copy p{opacity:.82!important}
.fp-app-shell .ch-dashboard-hero .workspace-year small{color:rgba(255,255,255,.78)!important}
.fp-app-shell .ch-dashboard-greeting{display:flex!important;align-items:center!important;gap:16px!important;min-width:0!important;padding:0!important;margin:0!important}
.fp-app-shell .ch-dashboard-greeting strong{display:block!important;color:#fff!important;font-size:21px!important;font-weight:800!important;line-height:1.2!important;letter-spacing:-.02em!important}
.fp-app-shell .ch-dashboard-greeting span{display:block!important;margin-top:5px!important;color:rgba(255,255,255,.84)!important;font-size:12px!important;line-height:1.4!important}
#fpGlobalUserArea .fp-user-avatar img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;border-radius:50%!important}
.ch-photo-crop-backdrop{position:fixed!important;inset:0!important;z-index:5000!important;display:grid!important;place-items:center!important;padding:22px!important;background:rgba(8,29,23,.58)!important;backdrop-filter:blur(4px)!important}
.ch-photo-crop-dialog{width:min(560px,100%)!important;max-height:calc(100vh - 32px)!important;overflow:auto!important;padding:22px!important;border-radius:20px!important;background:#fff!important;box-shadow:0 28px 70px rgba(0,0,0,.24)!important;box-sizing:border-box!important}
.ch-photo-crop-head h2{margin:3px 0 4px!important;color:#123b31!important;font-size:22px!important}.ch-photo-crop-head p{margin:0 0 16px!important;color:#6d8089!important;font-size:12px!important;line-height:1.45!important}
.ch-photo-crop-stage{position:relative!important;width:min(100%,480px)!important;aspect-ratio:1!important;margin:0 auto!important;overflow:hidden!important;border-radius:16px!important;background:#eaf2ee!important;cursor:grab!important;touch-action:none!important}
.ch-photo-crop-stage canvas{display:block!important;width:100%!important;height:100%!important}.ch-photo-crop-stage:active{cursor:grabbing!important}
.ch-photo-crop-ring{position:absolute!important;inset:8%!important;border:3px solid rgba(255,255,255,.92)!important;border-radius:50%!important;box-shadow:0 0 0 999px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.18)!important;pointer-events:none!important}
.ch-photo-crop-controls{margin:16px 0 4px!important}.ch-photo-crop-controls label{display:grid!important;grid-template-columns:auto 1fr!important;gap:14px!important;align-items:center!important;color:#163d33!important;font-size:12px!important;font-weight:700!important}.ch-photo-crop-controls input[type="range"]{width:100%!important;accent-color:#078447!important}
.ch-photo-crop-actions{display:flex!important;justify-content:flex-end!important;gap:10px!important;margin-top:18px!important}
@media(max-width:980px){.fp-app-shell .ch-dashboard-hero-main{grid-template-columns:1fr auto!important}.fp-app-shell .ch-dashboard-greeting{grid-column:1/-1!important;grid-row:2!important}}
@media(max-width:700px){.fp-app-shell .ch-profile-photo-row{align-items:flex-start!important;gap:14px!important;padding:14px!important}.fp-app-shell .ch-care-avatar.profile{width:68px!important;height:68px!important}.fp-app-shell .ch-care-avatar.dashboard{width:56px!important;height:56px!important}.fp-app-shell .ch-dashboard-hero{padding:18px!important}.fp-app-shell .ch-dashboard-hero-main{grid-template-columns:1fr!important;gap:15px!important}.fp-app-shell .ch-dashboard-hero .ch-page-head-tools{grid-row:2!important;justify-self:start!important}.fp-app-shell .ch-dashboard-greeting{grid-column:1!important;grid-row:3!important}.fp-app-shell .ch-dashboard-greeting strong{font-size:19px!important}.fp-app-shell .ch-profile-photo-copy>div{flex-wrap:wrap!important}.ch-photo-crop-backdrop{padding:10px!important}.ch-photo-crop-dialog{padding:16px!important;border-radius:16px!important}}


/* Caregiver extra-call register */
.fp-app-shell .wp-extra-call-register{margin-top:18px;border:1px solid #dce9e2;border-radius:14px;background:#f9fcfa;overflow:hidden}
.fp-app-shell .wp-extra-call-register-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;background:#f1f8f4;border-bottom:1px solid #dce9e2}
.fp-app-shell .wp-extra-call-register-head>div:first-child{min-width:0}
.fp-app-shell .wp-extra-call-register-head strong{display:block;color:#173f35;font-size:13px}
.fp-app-shell .wp-extra-call-register-head span{display:block;margin-top:3px;color:#71838f;font-size:11px;line-height:1.4}
.fp-app-shell .wp-extra-call-register-total{display:grid!important;grid-template-columns:auto auto auto auto;align-items:baseline;gap:4px 7px;white-space:nowrap}
.fp-app-shell .wp-extra-call-register-total b{color:#087b49;font-size:14px}
.fp-app-shell .wp-extra-call-register-total span{margin:0!important;font-size:10px!important}
.fp-app-shell .wp-extra-call-list{display:block}
.fp-app-shell .wp-extra-call-item{display:grid;grid-template-columns:150px minmax(220px,1fr) minmax(270px,1.1fr);gap:14px;align-items:center;padding:12px 16px;border-bottom:1px solid #e8efeb}
.fp-app-shell .wp-extra-call-item:last-child{border-bottom:0}
.fp-app-shell .wp-extra-call-item strong{display:block;color:#173f35;font-size:12px}
.fp-app-shell .wp-extra-call-item span{display:block;margin-top:3px;color:#71838f;font-size:10.5px;line-height:1.35}
.fp-app-shell .wp-extra-call-status strong{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e6f7ee;color:#087b49}
.fp-app-shell .wp-extra-call-item.matched .wp-extra-call-status strong{background:#eef2f4;color:#516671}
.fp-app-shell .wp-extra-call-item.review .wp-extra-call-status strong{background:#fff4df;color:#9a6500}
.fp-app-shell .wp-extra-call-empty,.fp-app-shell .wp-extra-call-note{padding:13px 16px;color:#71838f;font-size:11px;line-height:1.45}
.fp-app-shell .wp-extra-call-note{border-top:1px solid #e8efeb;background:#fbfcfb}
@media(max-width:760px){
 .fp-app-shell .wp-extra-call-register-head{align-items:flex-start;flex-direction:column}
 .fp-app-shell .wp-extra-call-item{grid-template-columns:1fr;gap:8px}
 .fp-app-shell .wp-extra-call-register-total{grid-template-columns:auto auto auto auto}
}

.fp-app-shell .ch-profile-photo-status{align-self:flex-start!important;margin-top:0!important}
