/* Shared product rules for the CRM, coach workspace and client app. */
:root{
  --sp-space-1:4px;--sp-space-2:8px;--sp-space-3:12px;--sp-space-4:16px;
  --sp-space-5:20px;--sp-space-6:24px;--sp-space-8:32px;--sp-space-10:40px;--sp-space-12:48px;
  --sp-text-meta:12px;--sp-text-label:13px;--sp-text-body:14px;--sp-text-section:16px;
  --sp-text-page:24px;--sp-text-metric:28px;
  --sp-control-sm:28px;--sp-control:36px;--sp-control-lg:40px;--sp-row:48px;
  --sp-radius-sm:8px;--sp-radius:10px;--sp-radius-lg:14px;
  --sp-motion-fast:140ms;--sp-motion:220ms;--sp-ease:cubic-bezier(.2,.8,.2,1)
}
body[data-product]{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:var(--sp-text-body);font-weight:400;line-height:20px;text-rendering:optimizeLegibility}
body[data-product] input,body[data-product] select,body[data-product] textarea,body[data-product] button{font:inherit}
body[data-product] h1,body[data-product] #pageTitle,body[data-product] #page-title{font-size:var(--sp-text-page);font-weight:600;line-height:30px;letter-spacing:-.02em}
body[data-product] h2,body[data-product] .section-h h2{font-size:var(--sp-text-section);font-weight:600;line-height:22px;letter-spacing:-.01em}
body[data-product] h3,body[data-product] .panel-h h3,body[data-product] .card-title{font-size:var(--sp-text-body);font-weight:600;line-height:20px}
body[data-product] label,body[data-product] .label,body[data-product] .eyebrow{font-size:var(--sp-text-label);font-weight:500}
body[data-product] small,body[data-product] .muted,body[data-product] .sub,body[data-product] .meta{font-size:var(--sp-text-meta);line-height:18px}
body[data-product] .btn,body[data-product] button,body[data-product] [role="button"]{min-height:var(--sp-control);font-size:var(--sp-text-body);font-weight:500;border-radius:var(--sp-radius);transition:background-color var(--sp-motion-fast) var(--sp-ease),border-color var(--sp-motion-fast) var(--sp-ease),color var(--sp-motion-fast) var(--sp-ease),box-shadow var(--sp-motion-fast) var(--sp-ease),opacity var(--sp-motion-fast) var(--sp-ease),transform var(--sp-motion-fast) var(--sp-ease)}
body[data-product] .btn-sm,body[data-product] button.btn-sm{min-height:var(--sp-control-sm);font-size:var(--sp-text-label)}
body[data-product] input:not([type="checkbox"]):not([type="radio"]),body[data-product] select{min-height:var(--sp-control-lg);font-size:var(--sp-text-body);border-radius:var(--sp-radius)}
body[data-product] textarea{min-height:96px;font-size:var(--sp-text-body);line-height:20px;border-radius:var(--sp-radius)}
body[data-product] :is(button,a,input,select,textarea,[tabindex]):focus-visible{outline:0;box-shadow:0 0 0 3px rgba(94,140,255,.38)}
body[data-product] :is(button,input,select,textarea):disabled,body[data-product] [aria-disabled="true"]{cursor:not-allowed;opacity:.48}
body[data-product] [aria-busy="true"],body[data-product] [data-loading="true"]{cursor:wait}
body[data-product] .side-link,body[data-product] .nav-item{min-height:var(--sp-control-lg);border-radius:var(--sp-radius);font-size:var(--sp-text-body);font-weight:500}
body[data-product] .datatable th{height:var(--sp-control-lg);font-size:var(--sp-text-meta);font-weight:500}
body[data-product] .datatable td{height:var(--sp-row);font-size:var(--sp-text-body)}
body[data-product] :is(.card-surface,.stat,.panel,.settings-card,.tablewrap,.kcard,.tool-card,.sop-card,.bank-card,.native-idea-card,.brand-command-card,.chart-card,.lane,.goal-band,.client-card){border-radius:var(--sp-radius-lg)}
body[data-product="crm"]{--fs-micro:var(--sp-text-meta);--fs-xs:var(--sp-text-label);--fs-sm:var(--sp-text-body);--fs-md:var(--sp-text-body);--fs-lg:var(--sp-text-section);--fs-xl:20px;--fs-2xl:var(--sp-text-page);--fs-3xl:var(--sp-text-page);--control-h:var(--sp-control-lg);--row-h:var(--sp-row);--topbar-h:72px;--r-xs:var(--sp-radius-sm);--r-sm:var(--sp-radius);--r-md:var(--sp-radius);--r-lg:var(--sp-radius-lg);--r-xl:16px;--radius:var(--sp-radius-lg);font-weight:400}
body[data-product="crm"] .main{padding-inline:var(--sp-space-6)}
body[data-product="crm"] .topbar{min-height:var(--topbar-h);padding:var(--sp-space-3) 0;margin-bottom:var(--sp-space-6)}
body[data-product="crm"] .side-nav{gap:var(--sp-space-1);padding:var(--sp-space-3)}
body[data-product="crm"] .side-link{padding:var(--sp-space-2) var(--sp-space-3)}
body[data-product="crm"] :is(.card-surface,.panel,.settings-card,.chart-card,.lane,.goal-band){padding:var(--sp-space-5)}
body[data-product="crm"] :is(.stat .val,.kcard b,.content-kpi b,.metric-tile b,.sc-number){font-size:var(--sp-text-metric);font-weight:600;line-height:34px}
body[data-product="crm"] b,body[data-product="crm"] strong{font-weight:600}
body[data-product="crm"] .eyebrow,body[data-product="crm"] .datatable th,body[data-product="crm"] .stat .lbl{letter-spacing:.06em}
body[data-product="coach"] .content,body[data-product="client"] .content{padding:var(--sp-space-6)}
body[data-product="coach"] :is(.panel-h,.panel-b,.client-card),body[data-product="client"] :is(.panel-h,.panel-b,.client-card){padding:var(--sp-space-4) var(--sp-space-5)}
.product-switch{display:inline-flex;align-items:center;justify-content:center;min-height:var(--sp-control);padding:0 var(--sp-space-3);border:1px solid var(--border,rgba(255,255,255,.12));border-radius:var(--sp-radius);color:var(--text,#fff);background:var(--panel,rgba(255,255,255,.06));text-decoration:none;font-size:var(--sp-text-label);font-weight:500;white-space:nowrap;transition:background-color var(--sp-motion-fast) var(--sp-ease),border-color var(--sp-motion-fast) var(--sp-ease)}
.product-switch:hover{background:var(--panel-2,rgba(255,255,255,.1))}
@media(max-width:900px){body[data-product="crm"] .main,body[data-product="coach"] .content,body[data-product="client"] .content{padding-inline:var(--sp-space-4)}.product-switch{min-height:36px;padding-inline:10px}}
@media(prefers-reduced-motion:reduce){body[data-product] *,body[data-product] *::before,body[data-product] *::after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
