/* Plentz Design System — App 89.89.74
   Consistent visual foundation for all workspaces and operational modules. */
:root{
  --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-gold:#FFC107;
  --fp-danger:#b84646;
  --fp-success:#0C9B6C;
  
  
  
  
  
  
  
  
  
  
  
  
  --fp-transition:160ms cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
html{background:#edf3f3}
body{background:linear-gradient(135deg,#eef4f4 0%,#f8fbfb 50%,#edf4f4 100%);font-feature-settings:"tnum" 1,"ss01" 1;}
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(37,99,235,.22)!important;outline-offset:2px}

.fp-app-shell{border:1px solid rgba(8,47,61,.12)!important;border-radius:18px!important;overflow:hidden!important;background:var(--fp-surface)!important;box-shadow:var(--fp-shadow-lg)!important}
.fp-global-header{height:66px!important;min-height:66px!important;padding:0 18px!important;border-bottom:1px solid var(--fp-line)!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px)}
.fp-header-identity{width:238px!important;min-width:238px!important;padding-right:18px!important;border-right:1px solid var(--fp-line)!important}
.fp-header-identity strong{font-size:15px!important;letter-spacing:-.02em}
.fp-header-identity span{font-size:10px!important;color:var(--fp-muted)!important}
.fp-header-mark,.brand-mark{background:linear-gradient(145deg,var(--fp-teal),var(--fp-navy))!important;box-shadow:0 8px 20px rgba(37,99,235,.18)!important}
.fp-header-tools{gap:13px!important}
.fp-header-year,.fp-global-user-area{border-left:1px solid var(--fp-line)!important;padding-left:14px!important}
.fp-header-year span{font-size:10px!important;letter-spacing:.04em!important;color:var(--fp-muted)!important}
.fp-header-year select{min-height:39px!important;border:1px solid var(--fp-line)!important;border-radius:11px!important;background:#fff!important;font-weight:700!important;color:var(--fp-text)!important}

.app{background:var(--fp-canvas)!important}
.side{width:238px!important;min-width:238px!important;background:linear-gradient(180deg,#073645 0%,#082f3d 62%,#062a36 100%)!important;border-right:0!important;padding:18px 14px 16px!important}
.side>.logo{display:none!important}
.nav{gap:6px!important}
.nav button{position:relative;min-height:45px!important;padding:0 14px 0 16px!important;border-radius:11px!important;color:rgba(255,255,255,.84)!important;font-weight:650!important;font-size:13px!important;letter-spacing:-.01em!important;transition:background var(--fp-transition),transform var(--fp-transition),color var(--fp-transition)!important}
.nav button:hover{background:rgba(255,255,255,.085)!important;color:#fff!important;transform:translateX(2px)}
.nav button.active{background:linear-gradient(100deg,#0d8790,#087986)!important;color:#fff!important;box-shadow:0 10px 22px rgba(2,24,32,.2)!important}
.nav button.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 4px 4px 0;background:#e7bd51}
.nav-exit{margin-top:14px!important;padding-top:14px!important;border-top:1px solid rgba(255,255,255,.13)!important}
.nav-exit button{background:rgba(0,0,0,.08)!important}
.side .context{margin-top:auto!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.055)!important;border-radius:13px!important;padding:13px!important}

.main{padding:26px 30px 38px!important;max-width:none!important;background:linear-gradient(180deg,#f6fafa 0,#f1f6f6 100%)!important}
.head{margin-bottom:20px!important}
.head .kicker,.kicker,.home-eyebrow,.wp-eyebrow{color:var(--fp-teal)!important;font-weight:800!important;letter-spacing:.13em!important;font-size:10px!important}
.head h1,.head h2{color:var(--fp-text)!important;letter-spacing:-.035em!important;line-height:1.08!important}
.head p,.muted{color:var(--fp-muted)!important}

/* Global surface language */
.box,.card,.panel,.status-card,.action-panel,.menu-hero,.admin-group,.clean-details,.workflow-note,.drop-zone,.metric,.stat,.summary-card,.client-directory-card,.client-workspace-shell,.client-main-card,.client-side-card,.home-recent-card,.home-summary-card,.home-health-card,.home-kpi-grid article,.home-clean-actions article,.wp-exec-stats article,.wp-main-periods,.wp-insight-strip{border:1px solid var(--fp-line)!important;border-radius:var(--fp-radius)!important;background:var(--fp-surface)!important;box-shadow:var(--fp-shadow-sm)!important}
.box,.panel,.action-panel{padding:22px!important}
.section-title{gap:16px!important;margin-bottom:18px!important;}
.section-title h2{margin:0!important;letter-spacing:-.025em!important;color:var(--fp-text)!important}
.section-title p{margin-top:5px!important;color:var(--fp-muted)!important}

.btn{border:1px solid var(--fp-line-strong)!important;background:#fff!important;color:var(--fp-text)!important;font-weight:750!important;box-shadow:none!important;transition:transform var(--fp-transition),box-shadow var(--fp-transition),border-color var(--fp-transition),background var(--fp-transition)!important;}
.btn:hover{transform:translateY(-1px);border-color:#a9c9cd!important;box-shadow:0 7px 18px rgba(16,42,58,.08)!important}
.btn.primary{border-color:transparent!important;color:#fff!important;box-shadow:0 8px 18px rgba(37,99,235,.18)!important;}
.btn.primary:hover{box-shadow:0 11px 24px rgba(37,99,235,.24)!important}
.btn.mini{min-height:32px!important;padding:0 11px!important;font-size:12px!important}
.round{border:1px solid var(--fp-line)!important;background:#fff!important;color:var(--fp-text)!important}

input,select,textarea{border:1px solid var(--fp-line-strong)!important;background:#fff!important;color:var(--fp-text)!important;transition:border-color var(--fp-transition),box-shadow var(--fp-transition)!important;}
input:hover,select:hover,textarea:hover{border-color:#a9c9cd!important}
input:focus,select:focus,textarea:focus{border-color:var(--fp-teal-2)!important;box-shadow:0 0 0 4px rgba(7,132,71,.10)!important}
label{color:var(--fp-text)!important;font-weight:680!important;}
label small,.finance-note{color:var(--fp-muted)!important}

/* Tables: less spreadsheet-like, more product-like */
table{border-collapse:separate!important;border-spacing:0!important;border:1px solid var(--fp-line)!important;border-radius:14px!important;overflow:hidden!important;background:#fff!important;box-shadow:var(--fp-shadow-sm)!important}
thead th{background:#f0f7f7!important;color:#425d69!important;text-transform:uppercase!important;letter-spacing:.055em!important;font-size:10px!important;border-bottom:1px solid var(--fp-line)!important;padding:13px 14px!important}
tbody td{border-bottom:1px solid #eaf0f0!important;padding:14px!important;color:var(--fp-text)!important}
tbody tr:last-child td{border-bottom:0!important}
tbody tr:hover td{background:#f8fcfc!important}

/* Home: keep the approved composition, improve polish and density */
.home-dashboard-clean{max-width:1460px;margin:0 auto}
.home-top-layout{gap:18px!important;align-items:stretch!important}
.home-welcome-panel{padding:26px 28px!important;border:1px solid var(--fp-line)!important;border-radius:var(--fp-radius-lg)!important;background:linear-gradient(145deg,#fff 0%,#fbfefe 68%,#eef9f8 100%)!important;box-shadow:var(--fp-shadow)!important}
.home-welcome-panel h1{font-size:clamp(29px,2.6vw,42px)!important;letter-spacing:-.045em!important;color:var(--fp-text)!important;margin:10px 0 7px!important}
.home-welcome-panel>p{font-size:15px!important;color:var(--fp-muted)!important}
.home-kpi-grid{gap:0!important;margin-top:26px!important;border:1px solid var(--fp-line)!important;border-radius:14px!important;overflow:hidden!important;background:#fff!important}
.home-kpi-grid article{border:0!important;border-right:1px solid var(--fp-line)!important;border-radius:0!important;box-shadow:none!important;padding:18px!important;min-height:112px!important}
.home-kpi-grid article:last-child{border-right:0!important}
.home-kpi-grid article>span,.home-clean-actions article>span,.health-status>span,.health-row>span{background:var(--fp-mint)!important;color:var(--fp-teal)!important;border:1px solid #d7ecea!important}
.home-kpi-grid strong{font-size:25px!important;letter-spacing:-.035em!important}
.home-kpi-grid small{font-size:11px!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:#566d79!important}
.home-kpi-grid em{font-style:normal!important;color:var(--fp-muted)!important;font-size:11px!important}
.home-protection-strip{margin-top:15px!important;border:1px solid #d3e9e7!important;background:linear-gradient(90deg,#f0f9f8,#fbfefe)!important;border-radius:13px!important}
.home-protection-strip button{color:var(--fp-teal)!important;font-weight:800!important}
.home-health-card{width:300px!important;padding:22px!important;background:linear-gradient(180deg,#fff,#f8fcfc)!important}
.home-health-card h2{font-size:16px!important;letter-spacing:-.02em!important}
.health-status{padding-bottom:17px!important;margin-bottom:6px!important;border-bottom:1px solid var(--fp-line)!important}
.health-row{padding:13px 0!important;border-bottom:1px solid #e9f0f0!important}
.health-row:last-child{border-bottom:0!important}
.home-clean-heading{margin:26px 2px 12px!important}
.home-clean-heading h2{font-size:22px!important;letter-spacing:-.03em!important}
.home-clean-actions{gap:12px!important}
.home-clean-actions article{min-height:116px!important;padding:18px!important;cursor:pointer!important;transition:transform var(--fp-transition),box-shadow var(--fp-transition),border-color var(--fp-transition)!important}
.home-clean-actions article:hover{transform:translateY(-3px)!important;border-color:#bcd8da!important;box-shadow:var(--fp-shadow)!important}
.home-clean-actions strong{font-size:14px!important}
.home-clean-actions small{color:var(--fp-muted)!important;line-height:1.45!important}
.home-bottom-grid{gap:14px!important;margin-top:14px!important}
.home-recent-card,.home-summary-card{padding:20px!important}
.home-activity-item,.home-workspace-item{border-bottom:1px solid #e9f0f0!important;padding:12px 0!important}
.home-activity-item:last-child,.home-workspace-item:last-child{border-bottom:0!important}

/* Clients: spacious cards and clearer hierarchy */
.client-directory-grid{gap:16px!important}
.client-directory-card{padding:20px!important;min-height:230px!important;transition:transform var(--fp-transition),box-shadow var(--fp-transition),border-color var(--fp-transition)!important}
.client-directory-card:hover{transform:translateY(-3px)!important;border-color:#b7d5d7!important;box-shadow:var(--fp-shadow)!important}
.client-directory-card h2,.client-directory-card h3{letter-spacing:-.025em!important}
.client-directory-toolbar{padding:14px!important;border:1px solid var(--fp-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:var(--fp-shadow-sm)!important}
.client-directory-stats{gap:12px!important}
.client-directory-stats article{border:1px solid var(--fp-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:var(--fp-shadow-sm)!important}
.client-workspace-shell{overflow:hidden!important}
.client-workspace-header{background:linear-gradient(135deg,#fff,#f2faf9)!important;border-bottom:1px solid var(--fp-line)!important}
.client-detail-tabs{background:#fff!important;border-bottom:1px solid var(--fp-line)!important}
.client-detail-tab{min-height:46px!important;color:#536a76!important;font-weight:750!important}
.client-detail-tab.active{color:var(--fp-teal)!important}
.client-detail-tab.active:after{background:linear-gradient(90deg,var(--fp-gold),#efd27a)!important;height:3px!important}

/* Menu/page hero language */
.menu-hero{padding:24px 26px!important;background:linear-gradient(125deg,#083846 0%,#096d76 72%,#0b838a 100%)!important;color:#fff!important;border:0!important;box-shadow:var(--fp-shadow)!important}
.menu-hero h2,.menu-hero p,.menu-hero span,.menu-hero small{color:#fff!important}
.menu-hero p{opacity:.82!important;max-width:720px!important}
.menu-hero-badge{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:13px!important}

/* Smart Inbox */
.workflow-note{padding:15px 18px!important;background:#f0f9f8!important;color:#45616d!important;border-color:#d4e9e7!important}
.smart-preview,.ocr-live-status{border-radius:11px!important}
.smart-review-reasons{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}
.smart-review-reasons span{border:1px solid var(--fp-line);border-radius:999px;padding:7px 10px;font-size:12px;background:var(--fp-surface-soft);color:#536a76}

/* Work & Pay */


.wp-exec-stats{gap:12px!important}
.wp-exec-stats article{padding:19px!important}
.wp-exec-stats article.attention{border-color:#efd6ae!important;background:#fffaf2!important}
.wp-insight-strip{padding:16px 18px!important}

/* Admin */
.admin-simple{gap:12px!important}
.status-card{padding:18px!important;min-height:132px!important}
.status-card.primary-status{background:linear-gradient(145deg,#083846,#096f78)!important;color:#fff!important;border:0!important}
.status-card.primary-status small,.status-card.primary-status strong,.status-card.primary-status span{color:#fff!important}
.admin-group-grid{gap:14px!important}
.admin-group{padding:18px!important}
.admin-link{border:1px solid transparent!important;border-radius:11px!important;padding:12px!important;transition:background var(--fp-transition),border-color var(--fp-transition)!important}
.admin-link:hover{background:#f1f9f8!important;border-color:#d8eaea!important}
.clean-details{overflow:hidden!important}
.clean-details summary{padding:17px 19px!important;font-weight:800!important;background:#fff!important}
.clean-details[open] summary{border-bottom:1px solid var(--fp-line)!important;background:#f7fbfb!important}
.details-body{padding:20px!important}

/* Reports and dashboards */
.report-summary-grid,.metrics,.stats-grid{gap:12px!important}
.report-summary-grid>* ,.metrics>* ,.stats-grid>*{border:1px solid var(--fp-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:var(--fp-shadow-sm)!important}
canvas{max-width:100%}

/* Modals */
.modal{backdrop-filter:blur(8px)!important;background:rgba(4,24,32,.48)!important}
.modal-card{border:1px solid rgba(255,255,255,.24)!important;border-radius:22px!important;box-shadow:0 30px 90px rgba(0,0,0,.24)!important}
.modal-head{border-bottom:1px solid var(--fp-line)!important;padding-bottom:16px!important}
.drop-zone{border-style:dashed!important;background:#f8fcfc!important}

/* Subtle motion without distraction */
@media (prefers-reduced-motion:no-preference){
  .box,.client-directory-card,.home-clean-actions article,.btn,.nav button{transition-duration:var(--fp-transition)!important}
  .main>*{animation:fpPageIn .22s ease-out both}
  @keyframes fpPageIn{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}
}

@media(max-width:1180px){
  .side,.fp-header-identity{width:210px!important;min-width:210px!important}
  .main{padding:22px!important}
  .home-top-layout{grid-template-columns:1fr!important}
  .home-health-card{width:auto!important;display:grid!important;grid-template-columns:1.3fr repeat(3,1fr)!important;gap:10px!important}
  .home-health-card h2{grid-column:1/-1!important}
  .health-status,.health-row{border:0!important;padding:10px!important;margin:0!important}
}
@media(max-width:820px){
  .fp-global-header{padding:0 10px!important}
  .fp-header-identity{width:auto!important;min-width:0!important;border-right:0!important}
  .fp-header-identity span{display:none!important}
  .fp-header-tools{gap:7px!important}
  .fp-header-year span{display:none!important}
  .app{display:block!important}
  .side{position:relative!important;width:100%!important;min-width:0!important;padding:10px!important}
  .nav{display:flex!important;overflow-x:auto!important;gap:7px!important}
  .nav button{white-space:nowrap!important;min-width:max-content!important}
  .nav-exit,.side .context{display:none!important}
  .main{padding:16px!important}
  .home-kpi-grid{grid-template-columns:1fr 1fr!important}
  .home-kpi-grid article:nth-child(2){border-right:0!important}
  .home-kpi-grid article:nth-child(-n/**/+2){border-bottom:1px solid var(--fp-line)!important}
  .home-health-card{display:block!important}
  .home-clean-actions{grid-template-columns:1fr 1fr!important}
  .home-bottom-grid{grid-template-columns:1fr!important}
}
@media(max-width:540px){
  .fp-global-user-area{display:none!important}
  .home-kpi-grid,.home-clean-actions{grid-template-columns:1fr!important}
  .home-kpi-grid article{border-right:0!important;border-bottom:1px solid var(--fp-line)!important}
  .home-kpi-grid article:last-child{border-bottom:0!important}
  .main{padding:12px!important}
  .box,.panel,.action-panel{padding:16px!important}
}

:root{
  /* Official brand and semantic palette */
  --fp-primary-900:#063543;
  --fp-primary-800:#084957;
  --fp-primary-700:#076b73;
  --fp-primary-600:#078447;
  --fp-primary-500:#11969c;
  --fp-primary-100:#dff3f2;
  --fp-primary-050:#f1f9f8;
  --fp-neutral-950:#102a3a;
  --fp-neutral-700:#526a77;
  --fp-neutral-600:#687b88;
  --fp-neutral-300:#c9dadd;
  --fp-neutral-200:#dce7e8;
  --fp-neutral-100:#eef4f4;
  --fp-neutral-050:#f7fafa;
  --fp-white:#ffffff;
  --fp-success-700:#257a55;
  --fp-success-100:#e5f4ec;
  --fp-warning-700:#94621c;
  --fp-warning-100:#fff3d8;
  --fp-danger-700:#b84646;
  --fp-danger-100:#fdeaea;
  --fp-info-700:#256a8a;
  --fp-info-100:#e7f2f7;

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

  /* Shared geometry */
  --fp-control-h-sm:34px;
  --fp-control-h:42px;
  --fp-control-h-lg:48px;
  --fp-radius-xs:8px;
  --fp-radius-sm:10px;
  --fp-radius:14px;
  --fp-radius-lg:20px;
  --fp-radius-pill:999px;

  /* Only three official elevation levels */
  --fp-shadow-sm:0 3px 10px rgba(16,42,58,.055);
  --fp-shadow:0 10px 26px rgba(16,42,58,.075);
  --fp-shadow-lg:0 22px 54px rgba(8,47,61,.12);

  /* 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:38px;
  --fp-leading-tight:1.18;
  --fp-leading-normal:1.5;
}

body{font-size:var(--fp-font-sm);line-height:var(--fp-leading-normal);color:var(--fp-neutral-950);}
h1{font-size:clamp(30px,3vw,var(--fp-font-2xl));line-height:var(--fp-leading-tight);font-weight:720;letter-spacing:-.04em}
h2{font-size:var(--fp-font-xl);line-height:1.24;font-weight:720;letter-spacing:-.032em}
h3{font-size:var(--fp-font-lg);line-height:1.3;font-weight:700;letter-spacing:-.022em}
p{line-height:var(--fp-leading-normal)}
small,.caption{font-size:var(--fp-font-xs);line-height:1.4}

/* The four official button variants */
.btn{height:var(--fp-control-h);min-height:var(--fp-control-h)!important;padding:0 var(--fp-space-2)!important;border-radius:var(--fp-radius-sm)!important;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;}
.btn.primary{background:linear-gradient(100deg,var(--fp-primary-600),var(--fp-primary-500))!important;}
.btn.secondary{background:var(--fp-primary-050)!important;color:var(--fp-primary-700)!important;border-color:#bcdadb!important}
.btn.ghost{background:transparent!important;border-color:transparent!important;color:var(--fp-primary-700)!important}
.btn.ghost:hover{background:var(--fp-primary-050)!important;border-color:var(--fp-primary-100)!important}
.btn.danger{background:var(--fp-danger-100)!important;color:var(--fp-danger-700)!important;border-color:#efc8c8!important}
.btn:disabled{opacity:.52;cursor:not-allowed;transform:none!important;box-shadow:none!important}

/* Shared form language */
input,select,textarea{min-height:var(--fp-control-h);padding:10px 12px!important;border-radius:var(--fp-radius-sm)!important;}
textarea{min-height:112px}
label{gap:8px!important;font-size:var(--fp-font-xs)!important;letter-spacing:.01em;}

/* Official reusable card types */
.fp-card,.fp-card-summary,.fp-card-information,.fp-card-action{background:var(--fp-white);border:1px solid var(--fp-neutral-200);border-radius:var(--fp-radius);box-shadow:var(--fp-shadow-sm)}
.fp-card-summary{padding:var(--fp-space-2);min-height:104px}
.fp-card-information{padding:var(--fp-space-3)}
.fp-card-action{padding:var(--fp-space-2);cursor:pointer;transition:transform var(--fp-transition),box-shadow var(--fp-transition),border-color var(--fp-transition)}
.fp-card-action:hover{transform:translateY(-2px);border-color:#b8d5d7;box-shadow:var(--fp-shadow)}

/* Status vocabulary */
.fp-status{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:var(--fp-radius-pill);font-size:var(--fp-font-xs);font-weight:750}
.fp-status.success{background:var(--fp-success-100);color:var(--fp-success-700)}
.fp-status.warning{background:var(--fp-warning-100);color:var(--fp-warning-700)}
.fp-status.danger{background:var(--fp-danger-100);color:var(--fp-danger-700)}
.fp-status.info{background:var(--fp-info-100);color:var(--fp-info-700)}

/* Consistent section rhythm */
.main>section+section,.main>.box+.box,.main>.panel+.panel{margin-top:var(--fp-space-3)}
.section-title{align-items:flex-end!important;}
.section-title>div:first-child{min-width:0}

/* Consistent empty states and dividers */
.empty{padding:var(--fp-space-4)!important;border-color:var(--fp-neutral-300)!important;background:var(--fp-neutral-050)!important}
.fp-divider{height:1px;background:var(--fp-neutral-200);border:0;margin:var(--fp-space-3) 0}

/* Accessibility and motion consistency */
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
