
/* =========================================================
   FTPT v4.3.0 — FINAL PREMIUM COMPACT DESIGN SYSTEM
   Loaded last on Admin + Worker Portal.
   Goal: larger readable typography, tighter cards, denser
   information hierarchy, consistent enterprise UI.
   ========================================================= */

:root{
  --ftpt-ui-text:#101828;
  --ftpt-ui-muted:#667085;
  --ftpt-ui-border:#e4e7ec;
  --ftpt-ui-soft:#f8fafc;
  --ftpt-ui-radius:12px;
  --ftpt-ui-radius-lg:16px;
  --ftpt-ui-shadow:0 4px 14px rgba(16,24,40,.045);
}

/* GLOBAL TYPOGRAPHY */
.ftpt-wrap,
.ftpt-portal,
.ftpt-auth{
  color:var(--ftpt-ui-text);
  font-size:14px;
  line-height:1.45;
}
.ftpt-wrap h1,.ftpt-portal h1{font-size:28px!important;line-height:1.15!important}
.ftpt-wrap h2,.ftpt-portal h2{font-size:20px!important;line-height:1.25!important}
.ftpt-wrap h3,.ftpt-portal h3{font-size:16px!important;line-height:1.3!important}
.ftpt-wrap p,.ftpt-portal p{font-size:13px!important;line-height:1.5!important}
.ftpt-eyebrow{
  font-size:11px!important;
  line-height:1.2!important;
  letter-spacing:.095em!important;
}
.ftpt-wrap small,.ftpt-portal small{font-size:11px!important;line-height:1.35!important}
.ftpt-badge{
  font-size:11px!important;
  padding:5px 9px!important;
}

/* WP ADMIN BUTTONS / FORM CONTROLS */
.ftpt-wrap .button,
.ftpt-wrap .button-primary,
.ftpt-wrap .button-secondary{
  min-height:36px!important;
  padding:5px 13px!important;
  border-radius:8px!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:24px!important;
}
.ftpt-wrap .button-large{
  min-height:40px!important;
  padding:7px 16px!important;
  font-size:13px!important;
}
.ftpt-wrap input[type=text],
.ftpt-wrap input[type=email],
.ftpt-wrap input[type=search],
.ftpt-wrap input[type=number],
.ftpt-wrap input[type=date],
.ftpt-wrap input[type=password],
.ftpt-wrap select,
.ftpt-wrap textarea{
  min-height:38px!important;
  border-radius:8px!important;
  border-color:#d0d5dd!important;
  font-size:13px!important;
  padding:7px 10px!important;
  box-shadow:none!important;
}
.ftpt-wrap textarea{min-height:88px!important;line-height:1.45!important}

/* SHARED CARDS — LESS EMPTY SPACE */
.ftpt-card,
.ftpt-panel,
.ftpt-task-card,
.ftpt-notice,
.ftpt-success,
.ftpt-error{
  border-radius:var(--ftpt-ui-radius)!important;
  padding:14px!important;
  box-shadow:var(--ftpt-ui-shadow)!important;
}
.ftpt-wrap .ftpt-panel{margin:12px 0!important}

/* HERO COMPACTNESS */
.ftpt-dashboard-hero,
.ftpt-workers-hero,
.ftpt-kyc-hero,
.ftpt-finance-hero,
.ftpt-reviews-hero,
.ftpt-reports-hero,
.ftpt-tasks-hero,
.ftpt-activity-hero,
.ftpt-settings-hero{
  padding:20px 22px!important;
  margin:14px 0 12px!important;
  border-radius:16px!important;
}
.ftpt-finance-hero h1,
.ftpt-reviews-hero h1,
.ftpt-reports-hero h1,
.ftpt-tasks-hero h1,
.ftpt-activity-hero h1{
  font-size:27px!important;
}
.ftpt-finance-hero p,
.ftpt-reviews-hero p,
.ftpt-reports-hero p,
.ftpt-tasks-hero p,
.ftpt-activity-hero p{
  font-size:12px!important;
}

/* KPI SYSTEM */
.ftpt-dashboard-kpis,
.ftpt-workers-kpis,
.ftpt-kyc-kpis,
.ftpt-finance-kpis,
.ftpt-reviews-kpis,
.ftpt-reports-kpis,
.ftpt-tasks-kpis,
.ftpt-activity-kpis{
  gap:8px!important;
  margin-bottom:10px!important;
}
.ftpt-dashboard-kpi,
.ftpt-worker-kpi,
.ftpt-kyc-kpi,
.ftpt-finance-kpi,
.ftpt-review-kpi,
.ftpt-report-kpi,
.ftpt-task-kpi,
.ftpt-activity-kpi{
  padding:11px 12px!important;
  border-radius:11px!important;
  min-height:0!important;
}
.ftpt-dashboard-kpi span,
.ftpt-worker-kpi span,
.ftpt-kyc-kpi span,
.ftpt-finance-kpi span,
.ftpt-review-kpi span,
.ftpt-report-kpi span,
.ftpt-task-kpi span,
.ftpt-activity-kpi span{
  font-size:10px!important;
}
.ftpt-dashboard-kpi strong,
.ftpt-worker-kpi strong,
.ftpt-kyc-kpi strong,
.ftpt-finance-kpi>strong,
.ftpt-review-kpi strong,
.ftpt-report-kpi strong,
.ftpt-task-kpi strong,
.ftpt-activity-kpi strong{
  font-size:22px!important;
  line-height:1.1!important;
  margin-top:5px!important;
}
.ftpt-finance-kpi b,
.ftpt-dashboard-kpi small,
.ftpt-worker-kpi small,
.ftpt-kyc-kpi small,
.ftpt-review-kpi small,
.ftpt-report-kpi small,
.ftpt-task-kpi small,
.ftpt-activity-kpi small{
  font-size:10px!important;
}

/* TOOLBARS */
.ftpt-workers-toolbar,
.ftpt-kyc-toolbar,
.ftpt-finance-toolbar,
.ftpt-reviews-toolbar,
.ftpt-reports-toolbar,
.ftpt-tasks-toolbar,
.ftpt-activity-toolbar{
  margin-bottom:9px!important;
  gap:7px!important;
}
.ftpt-workers-toolbar form,
.ftpt-kyc-toolbar form,
.ftpt-finance-toolbar form,
.ftpt-reviews-toolbar form,
.ftpt-reports-toolbar form,
.ftpt-tasks-toolbar form,
.ftpt-activity-toolbar form{
  gap:6px!important;
}

/* ===========================
   REVIEWS — SCREENSHOT ISSUE
   =========================== */
.ftpt-review-feed{gap:9px!important}
.ftpt-review-record{
  border-radius:14px!important;
  box-shadow:var(--ftpt-ui-shadow)!important;
}
.ftpt-review-record-head{
  padding:13px 16px!important;
}
.ftpt-review-record-head h2{
  font-size:18px!important;
  margin:2px 0!important;
}
.ftpt-review-record-head p{
  font-size:11px!important;
}
.ftpt-review-head-right>strong{
  font-size:18px!important;
  margin-top:4px!important;
}
.ftpt-review-record-body{
  grid-template-columns:minmax(0,1fr) 330px!important;
}
.ftpt-review-evidence{
  padding:14px 16px!important;
}
.ftpt-review-decision{
  padding:14px 16px!important;
}
.ftpt-review-section-head h3{
  font-size:16px!important;
}
.ftpt-review-proof-grid{
  grid-template-columns:repeat(4,minmax(130px,190px))!important;
  gap:7px!important;
  margin-top:8px!important;
}
.ftpt-review-proof{
  border-radius:10px!important;
  max-width:190px!important;
}
.ftpt-review-proof-thumb{
  height:68px!important;
  font-size:10px!important;
}
.ftpt-review-proof strong{
  font-size:11px!important;
  padding:7px 9px!important;
}
.ftpt-review-notes{
  margin-top:9px!important;
  padding:10px 11px!important;
  border-radius:10px!important;
}
.ftpt-review-notes p{
  font-size:12px!important;
  margin-top:4px!important;
}
.ftpt-review-context{
  gap:6px!important;
  margin-bottom:10px!important;
}
.ftpt-review-context>div{
  padding:8px 9px!important;
  border-radius:9px!important;
}
.ftpt-review-context span{
  font-size:9px!important;
}
.ftpt-review-context strong{
  font-size:12px!important;
}
.ftpt-review-decision-box{
  padding-top:10px!important;
}
.ftpt-review-decision-box h3{
  font-size:17px!important;
}
.ftpt-review-decision-box>p{
  font-size:11px!important;
  margin-bottom:9px!important;
}
.ftpt-review-approve-form{margin-bottom:8px!important}
.ftpt-review-reject-form{
  padding-top:8px!important;
}
.ftpt-review-reject-form label{
  font-size:10px!important;
}
.ftpt-review-reject-form textarea{
  min-height:72px!important;
  margin:4px 0 6px!important;
}

/* TASKS */
.ftpt-task-list{gap:8px!important}
.ftpt-task-record{
  grid-template-columns:minmax(0,1fr) 245px!important;
  border-radius:13px!important;
}
.ftpt-task-record-main{padding:13px 15px!important}
.ftpt-task-record-actions{padding:13px!important}
.ftpt-task-record-head h2{font-size:17px!important}
.ftpt-task-record-head p{font-size:11px!important}
.ftpt-task-info-grid{
  gap:6px!important;
  margin-top:8px!important;
}
.ftpt-task-info-grid>div{
  padding:7px 8px!important;
  border-radius:8px!important;
}
.ftpt-task-info-grid span{font-size:9px!important}
.ftpt-task-info-grid strong{font-size:11px!important}
.ftpt-task-description{
  margin-top:8px!important;
  padding-top:8px!important;
}
.ftpt-task-description p{font-size:12px!important}

/* PAYMENTS */
.ftpt-finance-feed{gap:9px!important}
.ftpt-finance-record{border-radius:14px!important}
.ftpt-finance-record-head{padding:13px 16px!important}
.ftpt-finance-record-head h2{font-size:18px!important}
.ftpt-finance-total>strong{font-size:21px!important}
.ftpt-finance-record-body{
  grid-template-columns:minmax(0,1fr) 320px!important;
}
.ftpt-finance-payout-card{padding:14px 16px!important}
.ftpt-finance-action-panel{padding:14px 16px!important}
.ftpt-finance-account-grid{
  gap:6px!important;
  margin-top:8px!important;
}
.ftpt-finance-account-grid>div{
  padding:8px!important;
  border-radius:9px!important;
}
.ftpt-finance-account-grid small{font-size:9px!important}
.ftpt-finance-account-grid strong{font-size:11px!important}
.ftpt-action-state{margin-bottom:9px!important}
.ftpt-action-state h3{font-size:16px!important}
.ftpt-action-state p{font-size:11px!important}

/* WORKERS */
.ftpt-workers-table th,
.ftpt-workers-table td{
  padding:9px 10px!important;
  font-size:12px!important;
}
.ftpt-worker-person strong{font-size:12px!important}
.ftpt-worker-person small{font-size:10px!important}
.ftpt-worker-avatar{
  width:34px!important;
  height:34px!important;
}

/* KYC */
.ftpt-kyc-table th,
.ftpt-kyc-table td{
  padding:9px 10px!important;
  font-size:12px!important;
}
.ftpt-kyc-detail-grid{
  gap:7px!important;
}
.ftpt-kyc-detail-grid>div{
  padding:9px!important;
}

/* REPORTS */
.ftpt-reports-panel{
  padding:14px!important;
  border-radius:14px!important;
  margin-bottom:9px!important;
}
.ftpt-reports-panel-head{
  margin-bottom:9px!important;
}
.ftpt-reports-panel-head h2{font-size:17px!important}
.ftpt-report-table th{
  padding:8px 9px!important;
  font-size:10px!important;
}
.ftpt-report-table td{
  padding:8px 9px!important;
  font-size:11px!important;
}
.ftpt-report-status-list{gap:6px!important}
.ftpt-report-health{gap:7px!important}
.ftpt-report-health-card{padding:9px!important}

/* ACTIVITIES */
.ftpt-activity-panel{
  padding:14px!important;
  border-radius:14px!important;
}
.ftpt-activity-event{
  grid-template-columns:24px minmax(0,1fr)!important;
}
.ftpt-activity-event-card{
  padding:9px 0 11px!important;
}
.ftpt-activity-event-head h3{
  font-size:13px!important;
}
.ftpt-activity-event-card>p{
  font-size:12px!important;
  margin:5px 0!important;
}
.ftpt-activity-event-meta span{
  font-size:10px!important;
}

/* SETTINGS */
.ftpt-settings-card,
.ftpt-settings-section,
.ftpt-settings-panel{
  border-radius:12px!important;
}
.ftpt-settings-grid{gap:9px!important}

/* MODALS / DRAWERS */
.ftpt-detail-drawer aside,
.ftpt-payment-drawer aside{
  width:min(680px,94vw)!important;
}
.ftpt-detail-body,
.ftpt-payment-drawer .ftpt-detail-body{
  padding:16px!important;
}
.ftpt-task-modal-card{
  width:min(780px,95vw)!important;
  padding:18px!important;
  border-radius:15px!important;
}
.ftpt-task-modal-card h2{font-size:21px!important}
.ftpt-payment-full-grid{
  gap:7px!important;
  margin-top:11px!important;
}
.ftpt-payment-full-grid>div{
  padding:9px!important;
  border-radius:9px!important;
}
.ftpt-payment-full-grid small{font-size:9px!important}
.ftpt-payment-full-grid strong{font-size:12px!important}

/* ===========================
   WORKER PORTAL POLISH
   =========================== */
.ftpt-auth,
.ftpt-portal{
  max-width:1080px!important;
  margin:18px auto!important;
}
.ftpt-portal-header{
  padding:18px 20px!important;
  border-radius:14px!important;
}
.ftpt-portal-header h2{
  font-size:22px!important;
}
.ftpt-portal-header p{
  font-size:12px!important;
}
.ftpt-portal-nav{
  gap:6px!important;
  margin-top:10px!important;
  flex-wrap:wrap!important;
}
.ftpt-portal-nav a{
  padding:6px 10px!important;
  font-size:12px!important;
}
.ftpt-section{
  margin-top:16px!important;
}
.ftpt-section-head{
  margin-bottom:8px!important;
}
.ftpt-section-head h2{
  font-size:19px!important;
}
.ftpt-portal .ftpt-grid{
  gap:9px!important;
  margin:12px 0!important;
}
.ftpt-portal .ftpt-card{
  padding:12px!important;
  border-radius:11px!important;
}
.ftpt-portal .ftpt-card strong{
  font-size:22px!important;
}
.ftpt-portal .ftpt-card span{
  font-size:12px!important;
}
.ftpt-task-card{
  padding:13px!important;
  margin:9px 0!important;
  border-radius:12px!important;
}
.ftpt-task-head h3{
  font-size:17px!important;
}
.ftpt-task-meta{
  gap:6px!important;
  margin:9px 0!important;
}
.ftpt-task-meta span{
  padding:7px 8px!important;
  font-size:11px!important;
}
.ftpt-button,
.ftpt-link-button{
  border-radius:8px!important;
  min-height:36px!important;
  padding:8px 12px!important;
  font-size:12px!important;
  align-items:center!important;
}
.ftpt-form{
  gap:9px!important;
}
.ftpt-form input,
.ftpt-form textarea,
.ftpt-form select{
  padding:8px 10px!important;
  min-height:38px!important;
  border-radius:8px!important;
  font-size:13px!important;
}
.ftpt-profile-section-title{
  margin:8px 0 4px!important;
}
.ftpt-profile-section-title strong{
  font-size:15px!important;
}
.ftpt-kyc-upload-grid{
  gap:8px!important;
}
.ftpt-upload-preview{
  margin-top:6px!important;
}

/* MOBILE */
@media(max-width:1100px){
  .ftpt-review-record-body,
  .ftpt-finance-record-body{
    grid-template-columns:1fr!important;
  }
  .ftpt-review-decision,
  .ftpt-finance-action-panel{
    border-left:0!important;
    border-top:1px solid var(--ftpt-ui-border)!important;
  }
  .ftpt-review-proof-grid{
    grid-template-columns:repeat(3,minmax(120px,1fr))!important;
  }
}
@media(max-width:760px){
  .ftpt-wrap,.ftpt-portal{font-size:13px!important}
  .ftpt-wrap h1,.ftpt-portal h1{font-size:24px!important}
  .ftpt-wrap h2,.ftpt-portal h2{font-size:19px!important}
  .ftpt-dashboard-hero,
  .ftpt-workers-hero,
  .ftpt-kyc-hero,
  .ftpt-finance-hero,
  .ftpt-reviews-hero,
  .ftpt-reports-hero,
  .ftpt-tasks-hero,
  .ftpt-activity-hero,
  .ftpt-settings-hero{
    padding:16px!important;
  }
  .ftpt-review-proof-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .ftpt-review-proof{max-width:none!important}
  .ftpt-tasks-kpis,
  .ftpt-finance-kpis,
  .ftpt-reports-kpis,
  .ftpt-activity-kpis{
    grid-template-columns:repeat(2,1fr)!important;
  }
}


/* =========================================================
   v4.3.1 — Reviews Compact Card Height Fix
   ========================================================= */
.ftpt-review-record{
  height:auto!important;
  min-height:0!important;
}
.ftpt-review-record-body{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 310px!important;
  align-items:start!important;
  height:auto!important;
  min-height:0!important;
}
.ftpt-review-evidence,
.ftpt-review-decision{
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
}
.ftpt-review-evidence{
  padding:12px 14px!important;
}
.ftpt-review-decision{
  padding:12px 14px!important;
}
.ftpt-review-proof-grid{
  grid-template-columns:repeat(auto-fit,minmax(120px,160px))!important;
  align-items:start!important;
  justify-content:start!important;
  gap:6px!important;
  margin-top:7px!important;
}
.ftpt-review-proof{
  width:100%!important;
  max-width:160px!important;
  min-height:0!important;
}
.ftpt-review-proof-thumb{
  height:54px!important;
}
.ftpt-review-proof strong{
  padding:6px 8px!important;
}
.ftpt-review-notes{
  margin-top:7px!important;
  padding:8px 10px!important;
}
.ftpt-review-context{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:5px!important;
  margin-bottom:8px!important;
}
.ftpt-review-context>div{
  padding:7px 8px!important;
}
.ftpt-review-decision-box{
  padding-top:8px!important;
}
.ftpt-review-decision-box>p{
  margin:3px 0 7px!important;
}
.ftpt-review-approve-form{
  margin-bottom:6px!important;
}
.ftpt-review-reject-form{
  padding-top:6px!important;
}
.ftpt-review-reject-form textarea{
  min-height:60px!important;
  height:60px!important;
  resize:vertical!important;
}
.ftpt-review-record-head{
  padding:11px 14px!important;
}
.ftpt-review-feed{
  gap:8px!important;
}

/* Prevent generic flex/grid stretch rules from making review cards tall */
.ftpt-review-record-body > *{
  align-self:start!important;
}
.ftpt-review-record-body:after{
  display:none!important;
}

@media(max-width:1100px){
  .ftpt-review-record-body{
    grid-template-columns:1fr!important;
  }
  .ftpt-review-decision{
    border-left:0!important;
    border-top:1px solid var(--ftpt-ui-border)!important;
  }
  .ftpt-review-proof-grid{
    grid-template-columns:repeat(auto-fit,minmax(120px,150px))!important;
  }
}
@media(max-width:650px){
  .ftpt-review-proof-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .ftpt-review-proof{
    max-width:none!important;
  }
}


/* v4.4.0 — High-contrast readability pass */
.ftpt-wrap .notice,
.ftpt-wrap .notice p,
.ftpt-wrap .updated,
.ftpt-wrap .updated p,
.ftpt-wrap .error,
.ftpt-wrap .error p,
.ftpt-wrap .ftpt-notice,
.ftpt-wrap .ftpt-notice p,
.ftpt-wrap .ftpt-error,
.ftpt-wrap .ftpt-error p,
.ftpt-wrap .ftpt-success,
.ftpt-wrap .ftpt-success p{
  color:#1d2939!important;
  opacity:1!important;
}
.ftpt-wrap .notice-error,
.ftpt-wrap .error,
.ftpt-wrap .ftpt-error{
  background:#fff4f3!important;
  border-color:#f04438!important;
}
.ftpt-wrap .notice-success,
.ftpt-wrap .updated,
.ftpt-wrap .ftpt-success{
  background:#ecfdf3!important;
  border-color:#12b76a!important;
}
.ftpt-wrap label,
.ftpt-wrap th,
.ftpt-wrap td,
.ftpt-wrap small,
.ftpt-wrap .description,
.ftpt-wrap [class*="-meta"],
.ftpt-wrap [class*="-note"]{
  opacity:1!important;
}
.ftpt-wrap .description,
.ftpt-wrap small{
  color:#475467!important;
}

.ftpt-danger-button{color:#b42318!important;border-color:#fda29b!important;background:#fff!important}

.ftpt-project-worker-rule{font-size:11px!important;color:#475467!important;margin:3px 0 9px!important}
