:root{
  /* Global geometry */
  --fp-shell-max: 1760px;
  --fp-shell-gutter: clamp(12px,1.6vw,28px);
  --fp-sidebar-width: 240px;
  --fp-header-height: 72px;
  --fp-content-pad-x: clamp(18px,2.2vw,36px);
  --fp-content-pad-y: clamp(20px,2vw,32px);
  --fp-page-gap: 24px;
  --fp-section-gap: 24px;
  --fp-control-height: 42px;
  --fp-control-height-sm: 34px;
  --fp-control-height-lg: 48px;
  --fp-modal-width: 920px;

  /* Official spacing scale */
  --fp-space-1: 8px;
  --fp-space-2: 16px;
  --fp-space-3: 24px;
  --fp-space-4: 32px;
  --fp-space-5: 48px;
  --fp-space-6: 64px;

  /* Official type scale */
  --fp-font-xs: 12px;
  --fp-font-sm: 14px;
  --fp-font-md: 16px;
  --fp-font-lg: 20px;
  --fp-font-xl: 28px;
  --fp-font-2xl: clamp(32px,3vw,42px);
  --fp-line-body: 1.55;

  /* Official radii */
  --fp-radius-xs: 8px;
  --fp-radius-sm: 10px;
  --fp-radius-md: 14px;
  --fp-radius: 16px;
  --fp-radius-lg: 22px;
  --fp-radius-xl: 28px;

  /* Harmonised colours */
  --fp-navy:#062B35;
  --fp-navy-2:#083F4C;
  --fp-teal:#078447;
  --fp-teal-2:#10B981;
  --fp-mint:#E8FAF4;
  --fp-mint-2:#F7F8FA;
  --fp-canvas:#F7F8FA;
  --fp-surface:#ffffff;
  --fp-surface-soft:#F9FBFC;
  --fp-text:#062B35;
  --fp-muted:#70828A;
  --fp-line:#DCE5E8;
  --fp-line-strong:#C9D6DA;
  --fp-success:#0C9B6C;
  --fp-warning:#9A6A00;
  --fp-danger:#b84646;
  --fp-info:#078447;
}

html,body{min-width:320px;min-height:100%;}
body{margin:0;font-size:var(--fp-font-sm);line-height:var(--fp-line-body);overflow-x:hidden;}
#app{width:100%;}
#fallback{font:600 var(--fp-font-sm)/1.5 "Segoe UI",Inter,Arial,sans-serif;color:var(--fp-text);}

/* One framing rule for the complete application */
.fp-app-shell{
  width:min(calc(100% - (var(--fp-shell-gutter) * 2)),var(--fp-shell-max))!important;
  min-height:calc(100vh - (var(--fp-shell-gutter) * 2))!important;
  margin:var(--fp-shell-gutter) auto!important;
  display:grid!important;
  grid-template-rows:var(--fp-header-height) minmax(0,1fr)!important;
  border-radius:var(--fp-radius-lg)!important;
}
.fp-global-header{
  height:var(--fp-header-height)!important;
  min-height:var(--fp-header-height)!important;
  display:grid!important;
  grid-template-columns:var(--fp-sidebar-width) minmax(0,1fr)!important;
  align-items:stretch!important;
  padding:0!important;
}
.fp-header-identity{
  width:auto!important;min-width:0!important;height:100%!important;
  padding:0 var(--fp-space-2)!important;
  display:flex!important;align-items:center!important;gap:12px!important;
  overflow:hidden!important;
}
.fp-header-identity>div:last-child{min-width:0!important;}
.fp-header-identity strong,.fp-header-identity span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fp-header-tools{
  min-width:0!important;height:100%!important;padding:0 var(--fp-space-2)!important;
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
  gap:var(--fp-space-2)!important;
}
.fp-global-text-slot,.fp-header-year,.fp-global-user-area{min-width:0!important;}
.fp-header-year{display:flex!important;align-items:center!important;gap:10px!important;}
.fp-header-year select{height:var(--fp-control-height)!important;min-height:var(--fp-control-height)!important;}

.app{
  min-width:0!important;min-height:0!important;
  display:grid!important;grid-template-columns:var(--fp-sidebar-width) minmax(0,1fr)!important;
}
.side{
  width:auto!important;min-width:0!important;min-height:0!important;
  padding:var(--fp-space-2)!important;
  overflow:hidden auto!important;
}
.main{
  width:100%!important;min-width:0!important;max-width:none!important;
  padding:var(--fp-content-pad-y) var(--fp-content-pad-x) calc(var(--fp-content-pad-y) + 8px)!important;
  overflow-x:hidden!important;
}
.main>*,.main section,.main article,.main div{min-width:0;}

/* Global page rhythm */
.head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--fp-space-3)!important;flex-wrap:wrap;}
.head h1{font-size:var(--fp-font-2xl)!important;}
.head h2,.section-title h2{font-size:var(--fp-font-xl)!important;}
h1,h2,h3,h4,p{overflow-wrap:anywhere;}
h1,h2,h3,h4{margin-top:0;}
p{line-height:var(--fp-line-body);}
.section-title{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;flex-wrap:wrap!important;}
.grid,.metrics,.stats-grid,.report-summary-grid,.admin-group-grid,.client-cards,.cards{width:100%;min-width:0;}

/* Controls use one size scale throughout all modules */
button,.btn,input,select,textarea{max-width:100%;}
.btn,button:not(.round):not(.fp-user-trigger):not(.nav button){min-height:var(--fp-control-height);}
.btn.mini{min-height:var(--fp-control-height-sm)!important;}
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select{min-height:var(--fp-control-height)!important;padding:0 12px!important;}
textarea{min-height:112px!important;padding:12px!important;resize:vertical;}
label{display:grid;gap:8px;min-width:0;}
.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important;gap:var(--fp-space-2)!important;}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;}

/* Global surface and spacing harmonisation */
.box,.card,.panel,.status-card,.action-panel,.menu-hero,.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{
  max-width:100%!important;
}
.box+.box,.panel+.panel,section+section{margin-top:var(--fp-section-gap);}
.box,.panel,.action-panel,.admin-group,.status-card,.chart-panel,.lock-panel,.ocr-preflight{padding:var(--fp-space-3)!important;}

/* Tables stay within the layout instead of stretching the page */
.table-wrap{width:100%!important;max-width:100%!important;overflow:auto!important;-webkit-overflow-scrolling:touch;}
table{width:100%!important;max-width:100%!important;}
th,td{vertical-align:middle;}

/* Media, charts and document previews cannot leave the frame */
img,svg,canvas,video,iframe{max-width:100%;}
img{height:auto;}
.fp-native-pdf-view iframe{width:100%!important;min-height:min(620px,68vh)!important;}
.approved-document-visual{max-width:100%!important;overflow:auto!important;}

/* Modal framing */
.modal{padding:var(--fp-space-2)!important;overflow:auto!important;}
.modal-card{width:min(100%,var(--fp-modal-width))!important;max-width:var(--fp-modal-width)!important;max-height:calc(100vh - 32px)!important;overflow:auto!important;margin:auto!important;padding:var(--fp-space-3)!important;}
.modal-head{display:flex;justify-content:space-between;gap:var(--fp-space-2);align-items:flex-start;}

/* Authentication uses the same palette, spacing and framing */
.fp-auth-shell{padding:var(--fp-shell-gutter)!important;gap:0!important;background:linear-gradient(145deg,#edf4f4,#f9fbfb)!important;}
.fp-auth-panel,.fp-auth-visual{min-height:calc(100vh - (var(--fp-shell-gutter) * 2))!important;}
.fp-auth-panel{padding:clamp(24px,4vw,56px)!important;}
.fp-auth-card{width:min(400px,100%)!important;}
.fp-auth-input{height:var(--fp-control-height-lg)!important;}
.fp-auth-button{height:var(--fp-control-height-lg)!important;}

/* Colour audit: neutral surfaces dominate; brand colour is reserved for actions/status */
.main,.box,.card,.panel,.modal-card,.admin-group,.clean-details{color:var(--fp-text);}
.finance-note,.muted,small{color:var(--fp-muted);}
.allocation-warning,.warning,.attention{border-color:#ead7b8!important;background:#fffaf2!important;color:#704b14!important;}
.error,.danger,.form-error{color:var(--fp-danger)!important;}
.success{color:var(--fp-success)!important;}

/* Responsive layout: same system, adapted rather than replaced */
@media(max-width:1180px){
  :root{--fp-sidebar-width:216px;--fp-content-pad-x:22px;}
  .fp-header-tools{gap:10px!important;}
}
@media(max-width:900px){
  :root{--fp-header-height:68px;}
  .fp-app-shell{width:calc(100% - 16px)!important;margin:8px auto!important;min-height:calc(100vh - 16px)!important;}
  .fp-global-header{grid-template-columns:minmax(180px,1fr) auto!important;}
  .app{display:block!important;}
  .side{width:100%!important;position:relative!important;overflow:hidden!important;padding:10px!important;}
  .nav{display:flex!important;gap:8px!important;overflow-x:auto!important;padding-bottom:2px!important;scrollbar-width:thin;}
  .nav button{flex:0 0 auto!important;white-space:nowrap!important;}
  .nav-exit,.side .context{display:none!important;}
  .main{padding:20px!important;}
  .fp-header-year span,.fp-header-identity span{display:none!important;}
}
@media(max-width:680px){
  :root{--fp-content-pad-x:16px;--fp-content-pad-y:16px;}
  .fp-global-header{grid-template-columns:minmax(0,1fr) auto!important;}
  .fp-header-identity{padding:0 10px!important;border-right:0!important;}
  .fp-header-tools{padding:0 10px!important;gap:6px!important;}
  .fp-global-text-slot{display:none!important;}
  .fp-user-copy{display:none!important;}
  .main{padding:16px!important;}
  .head h1{font-size:30px!important;}
  .head h2,.section-title h2{font-size:24px!important;}
  .box,.panel,.action-panel,.admin-group,.status-card,.chart-panel,.lock-panel,.ocr-preflight{padding:18px!important;}
  .modal{padding:8px!important;}
  .modal-card{max-height:calc(100vh - 16px)!important;padding:18px!important;border-radius:16px!important;}
  .modal-actions>.btn{flex:1 1 150px;}
  .fp-auth-shell{padding:0!important;}
  .fp-auth-panel{min-height:100vh!important;border-radius:0!important;}
}
@media(max-width:440px){
  .fp-header-year{border-left:0!important;padding-left:0!important;}
  .fp-header-year select{width:76px!important;}
  .fp-header-mark{width:38px!important;height:38px!important;}
  .grid{grid-template-columns:1fr!important;}
  .home-kpi-grid,.home-clean-actions{grid-template-columns:1fr!important;}
}


:root{
  --plentz-deep:#062B35;
  --plentz-petrol:#083F4C;
  --plentz-blue:#078447;
  --plentz-blue-hover:#066F3D;
  --plentz-emerald:#10B981;
  --plentz-gold:#FFC107;
  --plentz-ivory:#F7F8FA;
  --plentz-surface:#FFFFFF;
  --plentz-text:#102E37;
  --plentz-muted:#667B82;
  --plentz-line:#DCE5E8;
  --plentz-soft-blue:#EEF4FF;
  --plentz-soft-green:#EAF8F3;
  --plentz-soft-gold:#FFF8E2;
  --plentz-danger:#B42318;
  --plentz-radius:16px;
  --plentz-radius-lg:22px;
  --plentz-shadow:0 10px 28px rgba(6,43,53,.07);
  --plentz-shadow-hover:0 14px 34px rgba(6,43,53,.10);
  --plentz-content:1180px;
  --plentz-control-h:44px;
  --plentz-control-h-sm:36px;
}

/* Application frame */
html,body{background:var(--plentz-ivory);color:var(--plentz-text);}
.fp-app-shell{min-height:100vh;background:var(--plentz-ivory);}
.app{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:calc(100vh - 64px);}
.main{min-width:0;width:100%;padding:34px clamp(24px,4vw,52px) 56px;}
.main>*{width:min(100%,var(--plentz-content));margin-left:auto;margin-right:auto}
.fp-global-header{height:64px;}
.side{width:264px;background:linear-gradient(180deg,var(--plentz-deep),#073541 62%,#062B35);padding:22px 16px 18px;display:flex;flex-direction:column;gap:18px;box-shadow:8px 0 24px rgba(6,43,53,.05);}
.ch-brand-lockup{min-height:58px;padding:2px 8px 12px;border-bottom:1px solid rgba(255,255,255,.10)}
.ch-brand-logo{width:38px;height:38px;object-fit:contain}
.ch-brand-lockup strong{font-size:20px;line-height:1.1;color:#fff}
.ch-brand-lockup span{font-size:10px;letter-spacing:.04em;color:#B8CCD1}
.ch-employer-context{padding:13px 12px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.055)}
.ch-employer-context>span{font-size:9px;letter-spacing:.14em;color:#95B1B8;font-weight:800}
.ch-employer-context select{width:100%;min-height:38px;margin-top:6px;border:0;border-radius:9px;background:rgba(255,255,255,.10);color:#fff;padding:0 10px;font-weight:700}
.ch-employer-context small{display:block;margin-top:7px;color:#A9C0C6;line-height:1.35}
.nav{display:flex;flex-direction:column;gap:5px}
.nav button{width:100%;min-height:44px;border:0;border-radius:11px;background:transparent;color:#C8D8DC;padding:0 12px;display:flex;align-items:center;gap:11px;font-size:13px;font-weight:700;text-align:left;transition:.18s ease}
.nav button:hover{background:rgba(255,255,255,.075);color:#fff}
.nav button.active{background:var(--plentz-blue);color:#fff;box-shadow:0 8px 18px rgba(7,132,71,.22)}
.nav button.ch-menu-logout{margin-top:10px;border-top:1px solid rgba(255,255,255,.08);border-radius:0;padding-top:10px}
.ch-side-foot{margin-top:auto;padding:12px;border-radius:13px;background:rgba(255,255,255,.055);color:#D6E3E6}
.ch-side-foot strong{font-size:11px}.ch-side-foot small{color:#9DB7BD}
.ch-legal-mini{padding:0 8px}.ch-legal-mini a{color:#AFC5CA}.ch-legal-mini small{color:#7999A1}

/* Universal page heading */
.ch-page-head{padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid var(--plentz-line)}
.ch-page-head-copy{max-width:760px}
.ch-page-context,.wp-eyebrow{font-size:10px!important;line-height:1.2;letter-spacing:.13em;font-weight:850;text-transform:uppercase;color:var(--plentz-blue)}
.ch-page-head h1{font-size:clamp(30px,3vw,42px);line-height:1.05;letter-spacing:-.045em;margin:5px 0 8px;color:var(--plentz-deep)}
.ch-page-head p{font-size:15px;line-height:1.55;color:var(--plentz-muted);max-width:720px;margin:0}

/* Universal surfaces */
.box,.admin-setup-block,.wp-evidence-section,.wp-period-reconciliation{
  border:1px solid var(--plentz-line)!important;
  border-radius:var(--plentz-radius-lg)!important;
  background:var(--plentz-surface)!important;
  box-shadow:var(--plentz-shadow)!important;
}
.box{padding:24px!important;margin-bottom:20px!important}
.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;}
.section-title h2,.box h2{font-size:21px;line-height:1.18;letter-spacing:-.026em;color:var(--plentz-deep);margin:3px 0 4px}
.section-title p,.muted{color:var(--plentz-muted);font-size:13px;line-height:1.5}
.status-card,.wp-stat-card,.wp-metric-card{border:1px solid var(--plentz-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important}
details.box>summary{padding:0;cursor:pointer;list-style:none}
details.box>summary::-webkit-details-marker{display:none}

/* Buttons — one official system */
.btn,
button.btn,
.fp-auth-button,
.wp-pay-upload-button,
.ch-use-detected{
  min-height:var(--plentz-control-h);
  border-radius:11px!important;
  font-family:inherit;
  font-size:12px!important;
  line-height:1.1;
  font-weight:800!important;
  letter-spacing:0;
  border:1px solid #C9D6DA!important;
  background:#fff!important;
  color:var(--plentz-deep)!important;
  padding:0 16px!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-shadow:none!important;
  transition:.16s ease;
}
.btn:hover,button.btn:hover{border-color:#9FB2B8!important;background:#F8FAFB!important;transform:translateY(-1px)}
.btn.primary,button.btn.primary,.fp-auth-button{
  background:var(--plentz-blue)!important;
  color:#fff!important;
  border-color:var(--plentz-blue)!important;
}
.btn.primary:hover,button.btn.primary:hover,.fp-auth-button:hover{background:var(--plentz-blue-hover)!important;border-color:var(--plentz-blue-hover)!important}
.btn.mini,button.btn.mini{min-height:var(--plentz-control-h-sm);padding:0 12px!important;font-size:11px!important;border-radius:9px!important}
button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important}
.wp-remove-call,.modal-close-x{min-height:auto!important}
button.danger,.btn.danger,[data-danger]{background:#fff!important;color:var(--plentz-danger)!important;border-color:#F0C9C5!important}

/* Form controls */
input:not([type="checkbox"]):not([type="radio"]),
select,textarea{
  min-height:var(--plentz-control-h);
  border:1px solid #C8D5D9!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--plentz-text)!important;
  font-family:inherit!important;
  font-size:13px!important;
  padding:10px 12px!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(7,132,71,.12)!important;border-color:var(--plentz-blue)!important}
label{color:#36515A;font-size:12px;font-weight:700;}
label small{font-weight:500;color:var(--plentz-muted);line-height:1.4}

/* DASHBOARD */
.fp-view-dashboard .ch-page-head{margin-bottom:20px}
.fp-view-dashboard .main>.box:first-of-type{background:linear-gradient(135deg,#fff,#FAFCFD)!important}
.fp-view-dashboard .wp-dashboard-summary,
.fp-view-dashboard .wp-summary-grid,
.fp-view-dashboard .admin-simple{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fp-view-dashboard .status-card{padding:17px!important;min-height:110px}
.fp-view-dashboard .status-card strong{font-size:24px;letter-spacing:-.035em;color:var(--plentz-deep)}
.fp-view-dashboard .status-card small{font-size:10px;color:var(--plentz-muted)}
.fp-view-dashboard .attention{background:var(--plentz-soft-gold)!important;border-color:#F3D98A!important}
.fp-view-dashboard .ok{background:var(--plentz-soft-green)!important;border-color:#BDE7D6!important}
.fp-view-dashboard .wp-period-table th{background:#F3F7F8;color:#526970;font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.fp-view-dashboard .wp-period-table td{vertical-align:middle}


/* ENTER & IMPORT */




.fp-view-entry .workspace-year{min-width:116px;color:#D7E3E6}
.fp-view-entry .workspace-year select{background:#fff!important;color:var(--plentz-deep)!important}
.fp-view-entry .wp-entry-card{position:relative;padding:24px!important}
.fp-view-entry .wp-entry-step{width:30px;height:30px;border-radius:10px;background:var(--plentz-blue);color:#fff;display:inline-grid;place-items:center;font-size:12px;font-weight:900;margin-right:10px}
.fp-view-entry .wp-daily-hours-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.65fr) auto;gap:12px;align-items:end}
.fp-view-entry .wp-daily-hours-form label{display:flex;flex-direction:column;gap:6px}
.fp-view-entry .wp-daily-actions{display:flex;gap:8px}
.fp-view-entry .wp-daily-result{margin-top:14px;padding:13px 15px;border-radius:12px;background:#F3F7F8;border:1px solid var(--plentz-line);font-size:12px}
.fp-view-entry .wp-entry-import-action{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fp-view-entry .wp-pay-upload-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fp-view-entry .wp-pay-upload-button{height:auto!important;min-height:92px!important;justify-content:flex-start!important;text-align:left!important;padding:15px!important}
.fp-view-entry .wp-pay-upload-button>em{margin-left:auto;color:var(--plentz-blue);font-style:normal}
.fp-view-entry .wp-pay-upload-icon{flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:var(--plentz-soft-blue);color:var(--plentz-blue);display:grid;place-items:center}

/* PROFILE */
.fp-view-profile .ch-profile-card{padding:0!important;overflow:hidden}
.fp-view-profile .ch-profile-welcome{padding:20px 24px;background:linear-gradient(135deg,var(--plentz-deep),var(--plentz-petrol));color:#fff;border:0!important}
.fp-view-profile .ch-profile-welcome>span{background:var(--plentz-blue)!important;color:#fff!important}
.fp-view-profile .ch-profile-welcome p{color:#C7D9DD!important}
.fp-view-profile .ch-profile-form{padding:24px}
.fp-view-profile .ch-profile-section{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--plentz-line)}
.fp-view-profile .ch-profile-section:last-of-type{border-bottom:0;margin-bottom:0}
.fp-view-profile .ch-profile-section h2{font-size:20px;margin:4px 0 16px}
.fp-view-profile .ch-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fp-view-profile .ch-profile-grid label{display:flex;flex-direction:column;gap:6px}
.fp-view-profile .ch-transport-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fp-view-profile .ch-transport-options>label{min-height:74px;border:1px solid var(--plentz-line);border-radius:13px;padding:12px;background:#fff;display:flex;align-items:flex-start;gap:10px}
.fp-view-profile .ch-transport-options>label:has(input:checked){border-color:#94B3FF;background:var(--plentz-soft-blue)}
.fp-view-profile .ch-profile-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}

/* EMPLOYER SETUP */
.fp-view-admin .admin-setup-block{padding:24px!important;margin-bottom:20px!important}
.fp-view-admin .admin-simple{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fp-view-admin .status-card{padding:16px!important}
.fp-view-admin .status-card strong{font-size:20px;color:var(--plentz-deep)}
.fp-view-admin .wp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.fp-view-admin .wp-form-grid label{display:flex;flex-direction:column;gap:6px}
.fp-view-admin .span-2{grid-column:1/-1}
.fp-view-admin details{overflow:hidden}
.fp-view-admin details>summary{min-height:54px;display:flex;align-items:center}

/* BACKUP */
.fp-view-backup .box{max-width:900px}
.fp-view-backup .backup-hero{background:linear-gradient(135deg,var(--plentz-deep),var(--plentz-petrol))!important;color:#fff!important}
.fp-view-backup .backup-hero h2{color:#fff!important}
.fp-view-backup .backup-hero .muted{color:#C8DADC!important}
.fp-view-backup .ch-backup-actions,.fp-view-backup .backup-actions{display:flex;gap:10px;flex-wrap:wrap}
.fp-view-backup .ch-backup-card,.fp-view-backup .backup-card{border:1px solid var(--plentz-line)!important;border-radius:14px!important;background:#fff!important;padding:18px!important}

/* TRAVEL — subviews share the same visual grammar */
[data-plentz-view="dashboard"] .wp-travel,
.wp-travel-shell,.wp-travel-overview,.wp-travel-journeys,.wp-travel-payments,.wp-travel-rules{--travel-accent:var(--plentz-emerald)}
.wp-travel-nav,.wp-subnav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px}
.wp-subnav-btn{min-height:64px!important;border:1px solid var(--plentz-line)!important;border-radius:12px!important;background:#fff!important;color:var(--plentz-text)!important;padding:10px 12px!important;text-align:left!important}
.wp-subnav-btn strong{display:block;font-size:12px}.wp-subnav-btn span{display:block;margin-top:3px;color:var(--plentz-muted);font-size:10px;line-height:1.3}
.wp-subnav-btn.active{background:var(--plentz-soft-green)!important;border-color:#A9DDC9!important;color:#087957!important}
.wp-travel-grid,.wp-mileage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.wp-travel-grid article,.wp-mileage-grid article{border:1px solid var(--plentz-line);border-radius:14px;background:#fff;padding:16px}

/* Tables */
.table-wrap{border:1px solid var(--plentz-line);border-radius:14px;overflow:auto;background:#fff;}
table{width:100%;border-collapse:collapse;}
th{background:#F3F7F8;color:#50666D;font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;padding:11px 12px;border-bottom:1px solid var(--plentz-line);white-space:nowrap}
td{padding:12px;border-bottom:1px solid #E8EEF0;font-size:12px;color:#29464E}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td{background:#FAFCFD}

/* Modal */
.fp-modal-backdrop{background:rgba(5,35,43,.48)!important;backdrop-filter:blur(4px)}
.fp-modal{border-radius:20px!important;border:1px solid var(--plentz-line)!important;box-shadow:0 30px 80px rgba(5,35,43,.24)!important}
.wp-form-header{padding:20px 22px!important;border-bottom:1px solid var(--plentz-line)}
.wp-form-body{padding:22px!important}
.wp-form-footer{padding:16px 22px!important;border-top:1px solid var(--plentz-line);display:flex;justify-content:flex-end;gap:9px}

/* Empty/error states */
.main .box:has(h2:first-child){position:relative}
.main .box h2:first-child+ p{max-width:720px}
.wp-register-note,.form-error,.ch-profile-error{border-radius:11px!important}

/* Mobile/tablet */
@media(max-width:1100px){
  .app{grid-template-columns:232px minmax(0,1fr)}
  .side{width:232px}
  .main{padding:28px 24px 48px}
  .fp-view-dashboard .wp-dashboard-summary,.fp-view-dashboard .wp-summary-grid,.fp-view-dashboard .admin-simple,
  .fp-view-admin .admin-simple{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .app{display:block}
  .side{display:none!important}
  .main{padding:24px 18px 86px}
  .ch-page-head{padding-top:4px}
  .ch-page-head h1{font-size:32px}
  .fp-view-entry .wp-daily-hours-form{grid-template-columns:1fr 1fr}
  .fp-view-entry .wp-daily-actions{grid-column:1/-1}
  .fp-view-profile .ch-profile-grid,.fp-view-profile .ch-transport-options,
  .fp-view-admin .wp-form-grid{grid-template-columns:1fr 1fr}
  .wp-travel-nav,.wp-subnav{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .main{padding:18px 12px 82px}
  .box{padding:18px!important;border-radius:16px!important}
  .ch-page-head{margin-bottom:16px;padding-bottom:16px}
  .ch-page-head h1{font-size:28px;margin-top:4px}
  .ch-page-head p{font-size:13px}
  .section-title{display:block}.section-title>*+*{margin-top:10px}
  .fp-view-dashboard .wp-dashboard-summary,.fp-view-dashboard .wp-summary-grid,.fp-view-dashboard .admin-simple,
  .fp-view-admin .admin-simple,.wp-travel-grid,.wp-mileage-grid{grid-template-columns:1fr}
  
  .fp-view-entry .workspace-year{display:block;margin-top:14px}
  .fp-view-entry .wp-daily-hours-form{grid-template-columns:1fr}
  .fp-view-entry .wp-daily-actions{display:grid;grid-template-columns:1fr}
  .fp-view-entry .wp-daily-actions .btn{width:100%}
  .fp-view-entry .wp-pay-upload-buttons{grid-template-columns:1fr}
  .fp-view-profile .ch-profile-form{padding:18px}
  .fp-view-profile .ch-profile-grid,.fp-view-profile .ch-transport-options,
  .fp-view-admin .wp-form-grid{grid-template-columns:1fr}
  .fp-view-profile .ch-profile-actions,.wp-form-footer{flex-direction:column-reverse}
  .fp-view-profile .ch-profile-actions .btn,.wp-form-footer .btn{width:100%}
  .wp-travel-nav,.wp-subnav{grid-template-columns:1fr}
  .btn,button.btn{min-height:44px}
  .table-wrap{border-radius:12px}
}

.ch-data-recovery{max-width:860px!important;padding:28px!important}
.ch-data-recovery code{font-family:inherit;font-weight:850;color:var(--plentz-blue)}
.ch-recovery-actions{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}
