@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");
:root{
  --tfm-green:#7ED957;
  --tfm-green-dark:#1F7A3A;
  --tfm-black:#06110A;
  --tfm-ink:#121812;
  --tfm-soft:#F3F7F1;
}
.tfm-saas-body{font-family:Inter,system-ui,sans-serif;background:#f5f7f3!important;}
.tfm-saas-shell .vesta-sidebar{background:linear-gradient(180deg,#030805 0%,#06110A 55%,#020402 100%);border-right:1px solid rgba(126,217,87,.12)}
.tfm-saas-shell .vesta-sidebar__logo-mark{background:linear-gradient(135deg,var(--tfm-green),#43b929);color:#06110A;font-weight:900;border-radius:16px;box-shadow:0 18px 48px rgba(126,217,87,.24)}
.tfm-saas-shell .vesta-sidebar__brand-copy strong{color:#fff}.tfm-saas-shell .vesta-sidebar__brand-copy span{color:#9ecf90}
.tfm-saas-shell .vesta-sidebar__item.is-active{background:rgba(126,217,87,.14);color:var(--tfm-green)}
.tfm-saas-shell .vesta-sidebar__item:hover{background:rgba(126,217,87,.08)}
.tfm-saas-shell .vesta-topbar{background:rgba(255,255,255,.9);backdrop-filter:blur(16px)}
.tfm-saas-shell .vesta-button--primary{background:linear-gradient(135deg,var(--tfm-green),#49b82d);color:#07110B;border:0;font-weight:800;box-shadow:0 12px 26px rgba(80,190,52,.24)}
.tfm-vesta-page{max-width:none;padding:24px 28px 40px}.tfm-page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:20px}.tfm-page-heading span{display:block;color:#4aa02c;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.08em}.tfm-page-heading h1{font-size:34px;line-height:1.05;margin:6px 0 8px;color:#101510;letter-spacing:-.04em}.tfm-page-heading p{margin:0;color:#627064;max-width:760px}.tfm-hero-panel{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:22px;align-items:center;background:radial-gradient(circle at 78% 14%,rgba(126,217,87,.24),transparent 34%),linear-gradient(135deg,#06110A,#0d2a16);color:#fff;border-radius:28px;padding:32px;margin-bottom:20px;box-shadow:0 24px 80px rgba(6,17,10,.16);overflow:hidden}.tfm-hero-panel span{text-transform:uppercase;color:var(--tfm-green);font-size:12px;font-weight:900;letter-spacing:.12em}.tfm-hero-panel h2{font-size:38px;line-height:1;margin:8px 0 12px;letter-spacing:-.05em;max-width:780px}.tfm-hero-panel p{max-width:720px;color:#cfe5ca;margin:0}.tfm-hero-orb{width:136px;height:136px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--tfm-green),#4ebe2e);color:#07110B;font-weight:900;font-size:34px;box-shadow:0 20px 60px rgba(126,217,87,.28)}
.tfm-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.tfm-v-card{background:#fff;border:1px solid #e6eee2;border-radius:22px;padding:20px;box-shadow:0 16px 38px rgba(7,17,11,.05)}.tfm-v-card span{font-size:12px;color:#6b776d;font-weight:800;text-transform:uppercase}.tfm-v-card strong{display:block;font-size:28px;color:#101510;margin:8px 0 2px;letter-spacing:-.04em}.tfm-v-card small{color:#7b867c}.tfm-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.tfm-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #eef1ec}.tfm-row:last-child{border-bottom:0}.tfm-row strong{display:block;color:#151a15}.tfm-row small{display:block;color:#7a857b;margin-top:3px}.tfm-row span{font-weight:800;color:#2d7f19}.tfm-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tfm-mini-stats div{background:#f5f9f2;border-radius:16px;padding:14px}.tfm-mini-stats span{display:block;color:#7a867b;font-size:12px}.tfm-mini-stats b{font-size:22px;color:#142114}.tfm-bars{height:160px;background:linear-gradient(180deg,#f7faf5,#eef5eb);border-radius:18px;margin-top:16px;padding:18px;display:flex;align-items:flex-end;gap:10px;overflow:hidden}.tfm-bars span{display:block;flex:1;min-height:26px;border-radius:999px 999px 8px 8px;background:linear-gradient(180deg,var(--tfm-green),#2e8f19);position:relative}.tfm-bars-large{height:280px}.tfm-bars span em{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font-size:10px;color:#68766b;white-space:nowrap}.tfm-form label{display:block;font-weight:800;color:#1a231b;margin-bottom:12px}.tfm-form input,.tfm-form textarea,.tfm-form select{width:100%;border:1px solid #dfe8da;border-radius:14px;padding:12px 14px;background:#fff;margin-top:6px;min-height:44px}.tfm-form select[multiple]{min-height:110px}.tfm-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tfm-check{display:flex!important;align-items:center;gap:10px}.tfm-check input{width:auto;min-height:0;margin:0}.tfm-table{width:100%;border-collapse:collapse;font-size:14px}.tfm-table th{text-align:left;color:#607063;background:#f3f8f0;padding:12px;border-bottom:1px solid #e5eee0}.tfm-table td{padding:12px;border-bottom:1px solid #eef2eb;color:#273027;vertical-align:top}.tfm-table tr:hover td{background:#fbfdf9}.tfm-package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.tfm-package,.tfm-export{background:#fff;border:1px solid #e3eddf;border-radius:22px;padding:18px;box-shadow:0 12px 30px rgba(7,17,11,.04)}.tfm-package span,.tfm-video span,.tfm-meal small{color:#4aa02c;text-transform:uppercase;font-weight:900;font-size:11px;letter-spacing:.06em}.tfm-package h3{margin:8px 0 8px}.tfm-package strong{display:block;font-size:28px;margin-bottom:8px}.tfm-package p{color:#627064;min-height:42px}.tfm-package small{display:block;color:#7d887e;margin-bottom:14px}.tfm-video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.tfm-video{border:1px solid #e4ecdf;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 14px 34px rgba(7,17,11,.05)}.tfm-video img,.tfm-video__placeholder{width:100%;height:140px;object-fit:cover;background:linear-gradient(135deg,#07110B,#143A1F);color:var(--tfm-green);display:grid;place-items:center;font-weight:900}.tfm-video span,.tfm-video h4,.tfm-video p,.tfm-video a{margin-left:16px;margin-right:16px}.tfm-video span{display:block;margin-top:14px}.tfm-video h4{margin-top:8px;margin-bottom:6px}.tfm-video p{color:#657166;min-height:44px}.tfm-video a{margin-bottom:16px}.tfm-meal{background:#fbfdf9;border:1px solid #e4ecdf;border-radius:20px;padding:16px;margin-bottom:14px}.tfm-meal strong{font-size:18px;display:block}.tfm-meal p{color:#627064}.tfm-meal ul{padding-left:18px;margin-bottom:0}.tfm-profile{display:flex;align-items:center;gap:18px}.tfm-avatar{width:76px;height:76px;border-radius:24px;background:linear-gradient(135deg,var(--tfm-green),#4ebe2e);display:grid;place-items:center;font-size:30px;font-weight:900;color:#07110B}.tfm-empty{padding:34px;max-width:720px}.tfm-empty h3{font-size:28px;margin-top:0}
@media(max-width:900px){.tfm-vesta-page{padding:18px}.tfm-page-heading{display:block}.tfm-page-heading h1{font-size:28px}.tfm-hero-panel{grid-template-columns:1fr;padding:24px}.tfm-hero-panel h2{font-size:30px}.tfm-hero-orb{display:none}.tfm-kpis,.tfm-grid-2{grid-template-columns:1fr}.tfm-form-grid{grid-template-columns:1fr}.tfm-mini-stats{grid-template-columns:1fr}.tfm-table{display:block;overflow-x:auto;white-space:nowrap}}

/* v1.8.1 menu/module wiring polish */
.tfm-drawer-actions{display:grid;gap:12px}.tfm-drawer-action{display:block;padding:16px;border-radius:18px;background:rgba(126,217,87,.1);border:1px solid rgba(126,217,87,.18);text-decoration:none;color:inherit}.tfm-drawer-action strong{display:block;color:#fff;margin-bottom:4px}.tfm-drawer-action span{display:block;color:rgba(255,255,255,.68);font-size:13px}.tfm-subscription-status{display:grid;gap:8px}.tfm-subscription-status strong{font-size:24px}.tfm-subscription-status span{display:inline-flex;width:max-content;border-radius:999px;padding:6px 10px;background:rgba(126,217,87,.14);color:#4bb729;font-weight:800;text-transform:uppercase;font-size:11px}.tfm-row p{margin:6px 0 0;color:var(--vesta-muted,#6b7280);font-size:13px}


/* Transform with Danny: enforce Inter globally for all plugin-rendered UI. */
:root{--vesta-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--tfm-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;}
body.tfm-saas-body, body.vesta-app-body, body.vesta-auth-body,
.tfm-app, .tfm-app *, .tfm-saas, .tfm-saas *, .tfm-admin-wrap, .tfm-admin-wrap *,
.vesta-shell, .vesta-shell *, .vesta-app, .vesta-app *, .vesta-page, .vesta-page *,
.tfm-dashboard, .tfm-dashboard *, .tfm-panel, .tfm-panel *, .tfm-card, .tfm-card *{font-family:var(--tfm-font)!important;}
.tfm-app button,.tfm-app input,.tfm-app textarea,.tfm-app select,
.tfm-saas button,.tfm-saas input,.tfm-saas textarea,.tfm-saas select,
.tfm-admin-wrap button,.tfm-admin-wrap input,.tfm-admin-wrap textarea,.tfm-admin-wrap select,
.vesta-shell button,.vesta-shell input,.vesta-shell textarea,.vesta-shell select{font-family:var(--tfm-font)!important;}

/* v1.8.6 — Content typography compact pass
   Keep sidebar/topbar style, reduce only workspace content bulk. */
.tfm-vesta-page{
  font-size:14px!important;
  line-height:1.5!important;
  font-weight:400!important;
  letter-spacing:-0.01em;
}
.tfm-vesta-page p,
.tfm-vesta-page small,
.tfm-vesta-page li,
.tfm-vesta-page td,
.tfm-vesta-page th,
.tfm-vesta-page input,
.tfm-vesta-page textarea,
.tfm-vesta-page select{
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:400!important;
}
.tfm-vesta-page .tfm-page-heading span,
.tfm-vesta-page .tfm-hero-panel span,
.tfm-vesta-page .tfm-v-card span,
.tfm-vesta-page .tfm-package span,
.tfm-vesta-page .tfm-video span,
.tfm-vesta-page .tfm-meal small{
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
}
.tfm-vesta-page .tfm-page-heading h1{
  font-size:30px!important;
  line-height:1.12!important;
  font-weight:500!important;
  letter-spacing:-.04em!important;
  margin:4px 0 6px!important;
}
.tfm-vesta-page .tfm-page-heading p{
  font-size:16px!important;
  line-height:1.45!important;
  font-weight:400!important;
  max-width:780px!important;
}
.tfm-vesta-page .tfm-hero-panel{
  padding:26px 30px!important;
  border-radius:24px!important;
}
.tfm-vesta-page .tfm-hero-panel h2{
  font-size:32px!important;
  line-height:1.05!important;
  font-weight:500!important;
  letter-spacing:-.045em!important;
}
.tfm-vesta-page .tfm-hero-panel p{
  font-size:16px!important;
  line-height:1.45!important;
  font-weight:400!important;
}
.tfm-vesta-page .tfm-hero-orb{
  width:118px!important;
  height:118px!important;
  font-size:28px!important;
  font-weight:750!important;
}
.tfm-vesta-page .tfm-v-card{
  padding:18px 20px!important;
  border-radius:20px!important;
}
.tfm-vesta-page .tfm-v-card strong{
  font-size:24px!important;
  font-weight:500!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
}
.tfm-vesta-page .tfm-v-card small{
  font-size:13px!important;
  color:#7a857b!important;
}
.tfm-vesta-page .vesta-card__header h3,
.tfm-vesta-page .tfm-panel h3,
.tfm-vesta-page .tfm-package h3,
.tfm-vesta-page .tfm-video h4,
.tfm-vesta-page .tfm-meal strong{
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:500!important;
  letter-spacing:-.02em!important;
}
.tfm-vesta-page .vesta-card__header a,
.tfm-vesta-page .vesta-card__header button{
  font-size:14px!important;
  font-weight:500!important;
}
.tfm-vesta-page .tfm-row strong{
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.25!important;
}
.tfm-vesta-page .tfm-row small{
  font-size:13px!important;
  font-weight:400!important;
}
.tfm-vesta-page .tfm-row span{
  font-size:15px!important;
  font-weight:600!important;
}
.tfm-vesta-page .tfm-form label{
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:600!important;
  margin-bottom:10px!important;
}
.tfm-vesta-page .tfm-form input,
.tfm-vesta-page .tfm-form textarea,
.tfm-vesta-page .tfm-form select{
  min-height:42px!important;
  padding:10px 12px!important;
  border-radius:13px!important;
}
.tfm-vesta-page .vesta-button,
.tfm-vesta-page .tfm-primary,
.tfm-vesta-page button,
.tfm-vesta-page input[type="submit"]{
  font-size:14px!important;
  line-height:1.15!important;
  font-weight:650!important;
  min-height:40px!important;
  padding:10px 16px!important;
  border-radius:12px!important;
}
.tfm-vesta-page .tfm-package strong{
  font-size:24px!important;
  font-weight:500!important;
  letter-spacing:-.035em!important;
}
.tfm-vesta-page .tfm-package p,
.tfm-vesta-page .tfm-video p,
.tfm-vesta-page .tfm-meal p{
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.45!important;
}
.tfm-vesta-page .tfm-empty h3{
  font-size:22px!important;
  font-weight:500!important;
}
.tfm-vesta-page .tfm-table th{
  font-size:12px!important;
  font-weight:650!important;
}
.tfm-vesta-page .tfm-table td{
  font-size:13px!important;
}
@media(max-width:900px){
  .tfm-vesta-page .tfm-page-heading h1{font-size:26px!important;}
  .tfm-vesta-page .tfm-page-heading p{font-size:15px!important;}
  .tfm-vesta-page .tfm-hero-panel h2{font-size:27px!important;}
}
