
:root{
 --tf-bg:#f7f7f3;--tf-card:#fff;--tf-text:#162238;--tf-muted:#6b7280;
 --tf-border:#e4e7ec;--tf-radius:18px;--tf-shadow:0 12px 30px rgba(17,24,39,.06);
}
body.tribal-portal-mode{background:var(--tf-bg)!important;color:var(--tf-text)!important}
.tf-app-content{max-width:1360px!important;padding:34px 38px!important}
.tf-app-content h1{font-size:34px!important;line-height:1.1!important;margin:0 0 8px!important}
.tf-app-content h2{font-size:25px!important;line-height:1.2!important;margin:0 0 12px!important}
.tf-app-content h3{line-height:1.25!important}
.tf-app-content p{line-height:1.55!important}
.tf-app-content small,.tf-app-content .tribal-muted{color:var(--tf-muted)!important}
.tf-app-content a{ text-underline-offset:2px }

.tf-app-content input[type=text],.tf-app-content input[type=email],
.tf-app-content input[type=password],.tf-app-content input[type=number],
.tf-app-content input[type=date],.tf-app-content input[type=time],
.tf-app-content select,.tf-app-content textarea{
 min-height:44px!important;border:1px solid var(--tf-border)!important;border-radius:12px!important;
 padding:10px 12px!important;background:#fff!important;box-sizing:border-box!important;font-size:14px!important
}
.tf-app-content textarea{min-height:120px!important}
.tf-app-content button,.tf-app-content .tribal-btn{
 min-height:42px!important;border-radius:11px!important;padding:10px 16px!important;font-weight:700!important
}
.tf-app-content .tribal-card,.tf-app-content .tf-empty-state{
 background:var(--tf-card)!important;border:1px solid var(--tf-border)!important;
 border-radius:var(--tf-radius)!important;box-shadow:var(--tf-shadow)!important
}

/* client profile */
.tf-app-content .tribal-client-profile,
.tf-app-content .tribal-client-wrap,
.tf-app-content .client-profile{max-width:1180px!important;margin:0 auto!important}
.tf-app-content .tribal-client-tabs,
.tf-app-content .client-tabs{
 display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin:20px 0 24px!important
}
.tf-app-content .tribal-client-tabs a,
.tf-app-content .client-tabs a{
 display:inline-flex!important;align-items:center!important;min-height:38px!important;padding:8px 12px!important;
 border:1px solid var(--tf-border)!important;border-radius:10px!important;background:#fff!important;
 text-decoration:none!important;color:var(--tf-text)!important;font-weight:650!important
}

/* generic tab links that currently appear as plain text */
.tf-app-content a[href*="tab="],.tf-app-content a[href*="view=client"]{
 margin-right:7px!important
}

/* compact large membership editor */
.tf-app-content .tribal-memberships,
.tf-app-content .memberships-admin{max-width:1180px!important;margin:0 auto!important}
.tf-app-content .tribal-memberships form,
.tf-app-content .memberships-admin form{
 border:1px solid var(--tf-border)!important;border-radius:14px!important;padding:14px!important;
 margin:0 0 12px!important;background:#fff!important;box-shadow:none!important
}
.tf-app-content .tribal-memberships form input,
.tf-app-content .tribal-memberships form select,
.tf-app-content .memberships-admin form input,
.tf-app-content .memberships-admin form select{margin-bottom:7px!important}

/* forms/onboarding */
.tf-app-content fieldset{
 border:1px solid var(--tf-border)!important;border-radius:14px!important;padding:18px!important;margin:16px 0!important
}
.tf-app-content fieldset label{display:block!important;margin:10px 0!important;line-height:1.45!important}
.tf-app-content input[type=checkbox]{margin-right:8px!important}
.tf-app-content form{max-width:100%!important}
.tf-app-content form > label{display:block;margin:10px 0 6px!important}

/* tables */
.tf-app-content table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;
 background:#fff!important;border:1px solid var(--tf-border)!important;border-radius:16px!important;overflow:hidden!important}
.tf-app-content th{padding:12px 14px!important;text-align:left!important;font-size:12px!important;text-transform:uppercase!important;
 letter-spacing:.04em!important;color:var(--tf-muted)!important;background:#fafafa!important}
.tf-app-content td{padding:13px 14px!important;border-top:1px solid var(--tf-border)!important;vertical-align:middle!important}

/* remove giant empty feel */
.tf-app-content .tf-empty-state{padding:32px!important;text-align:center!important}

/* mobile */
@media(max-width:800px){
 .tf-app-content{padding:18px!important}
 .tf-app-content h1{font-size:28px!important}
 .tf-app-content table{display:block!important;overflow-x:auto!important}
}
