/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-font-weight:initial;--tw-outline-style:solid}}}@layer theme{:host,:root{--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-semibold:600;--radius-sm:.25rem;--radius-md:.375rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer base,components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.block{display:block}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-md{border-radius:var(--radius-md)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.disabled\:pointer-events-none:disabled{pointer-events:none}}:root,[data-theme=light]{color-scheme:light;--background:#f7f7f7;--foreground:#171717;--card:#fff;--card-foreground:#171717;--popover:#fff;--popover-foreground:#171717;--primary:#171717;--primary-foreground:#fff;--primary-hover:#333;--secondary:#ededed;--secondary-foreground:#262626;--muted:#f1f1f1;--muted-foreground:#525252;--accent:#f1f1f1;--accent-foreground:#262626;--destructive:#b42318;--destructive-foreground:#fff;--destructive-surface:#fff0ee;--success:#19643b;--success-foreground:#fff;--success-surface:#eaf5ed;--warning:#805000;--warning-foreground:#fff;--warning-surface:#fff4d6;--info:#174c8c;--info-foreground:#fff;--info-surface:#eaf2ff;--border:#dedede;--input:#737373;--ring:#2563eb;--radius:.75rem;--radius-sm:.5rem;--radius-md:.625rem;--radius-lg:.75rem;--radius-xl:1rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--text-xs:.8125rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--control-size:3rem;--icon-size:1.25rem}:where(button,input,select,textarea){font:inherit}:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ring);outline-offset:3px}:where(button,a,input,select,textarea,summary){scroll-margin-block:6rem}.athlete-shell .ui-button,.trainer-shell .ui-button,.ui-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-size);min-width:var(--control-size);border-radius:var(--radius-md);height:auto;font:inherit;text-align:center;white-space:normal;overflow-wrap:anywhere;cursor:pointer;border:1px solid #0000;padding:.75rem 1rem;font-size:.9375rem;font-weight:650;line-height:1.4;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.athlete-shell .ui-button-primary,.trainer-shell .ui-button-primary,.ui-button-primary{background:var(--primary);color:var(--primary-foreground)}.ui-button-primary:hover:not(:disabled){background:var(--primary-hover)}.athlete-shell .ui-button-secondary,.trainer-shell .ui-button-secondary,.ui-button-secondary{background:var(--secondary);color:var(--secondary-foreground)}.athlete-shell .ui-button-outline,.trainer-shell .ui-button-outline,.ui-button-outline{background:var(--card);color:var(--foreground);border-color:var(--input)}.athlete-shell .ui-button-ghost,.trainer-shell .ui-button-ghost,.ui-button-ghost{color:var(--foreground);background:0 0}.athlete-shell .ui-button-destructive,.trainer-shell .ui-button-destructive,.ui-button-destructive{background:var(--destructive-surface);color:var(--destructive);border-color:var(--destructive)}.ui-button:is(.ui-button-secondary,.ui-button-outline,.ui-button-ghost):hover:not(:disabled){background:var(--muted)}.ui-button:active:not(:disabled){filter:brightness(.92)}.ui-button:disabled{opacity:.65;cursor:not-allowed}.ui-button-sm{padding-inline:.75rem}.ui-button-icon{width:var(--control-size);flex-shrink:0;padding:.75rem}.ui-button svg{width:var(--icon-size);height:var(--icon-size);flex-shrink:0}.athlete-shell .ui-input,.trainer-shell .ui-input,.ui-input{width:100%;min-width:0;min-height:var(--control-size);border:1px solid var(--input);border-radius:var(--radius-md);background:var(--card);color:var(--foreground);font:inherit;padding:.75rem;line-height:1.5}.ui-input::placeholder{color:var(--muted-foreground);opacity:1}.ui-input[aria-invalid=true]{border-color:var(--destructive)}.ui-textarea{resize:vertical;min-height:7rem}.ui-label{font-size:.9375rem;font-weight:600}.ui-badge{border:1px solid #0000;border-radius:.375rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.8125rem;font-weight:650;line-height:1.4;display:inline-flex}.ui-badge-default{background:var(--primary);color:var(--primary-foreground)}.ui-badge-outline,.ui-badge-secondary{background:var(--secondary);color:var(--secondary-foreground)}.ui-badge-outline{border-color:var(--input);background:0 0}.ui-alert{border:1px solid var(--border);border-radius:var(--radius-md);overflow-wrap:anywhere;padding:1rem;font-size:.9375rem;line-height:1.5}.ui-alert-default{background:var(--muted);color:var(--foreground)}.ui-alert-title{font:inherit;margin:0 0 .25rem;font-weight:650}.ui-alert-description>:first-child{margin-top:0}.ui-alert-description>:last-child{margin-bottom:0}.ui-alert-success,.ui-badge-success{background:var(--success-surface);color:var(--success)}.ui-alert-warning,.ui-badge-warning{background:var(--warning-surface);color:var(--warning)}.ui-alert-destructive,.ui-badge-destructive{background:var(--destructive-surface);color:var(--destructive)}.ui-alert-info,.ui-badge-info{background:var(--info-surface);color:var(--info)}.ui-alert-success{border-color:var(--success)}.ui-alert-warning{border-color:var(--warning)}.ui-alert-destructive{border-color:var(--destructive)}.ui-alert-info{border-color:var(--info)}.skip-link{z-index:100;background:var(--primary);color:var(--primary-foreground);border-radius:var(--radius-sm);padding:.75rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.ui-confirm{border:1px solid var(--destructive);border-radius:var(--radius-md);background:var(--card);gap:.75rem;padding:1rem;display:grid}.ui-confirm p{margin:0}.ui-confirm-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{background:var(--background);color:var(--foreground);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--background);min-height:100vh;margin:0}button,input{font:inherit}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.card{background:var(--card);border:1px solid var(--border);width:min(100%,460px);box-shadow:none;border-radius:20px;padding:28px}.card.wide{width:100%}.eyebrow{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}h1{margin:0 0 20px;font-size:clamp(30px,6vw,46px);line-height:1}h2{margin-top:0}.stack{gap:16px;display:grid}label{gap:8px;font-size:14px;font-weight:600;display:grid}input{border:1px solid var(--input);background:var(--card);border-radius:12px;width:100%;padding:13px 14px}input:focus{border-color:var(--foreground);box-shadow:0 0 0 3px #10121414}button{background:var(--primary);color:var(--primary-foreground);cursor:pointer;border:0;border-radius:12px;padding:13px 16px;font-weight:700}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:var(--card);color:var(--foreground);border:1px solid var(--input)}.muted{color:var(--muted-foreground);line-height:1.5}.error,.muted{font-size:13px}.error{color:var(--destructive)}.qr{width:220px;max-width:100%;margin:8px auto 18px}.qr,.secret{display:block}.secret{overflow-wrap:anywhere;background:var(--muted);border-radius:8px;margin-top:10px;padding:10px}.check-row{grid-template-columns:20px 1fr;align-items:start;gap:10px}.check-row input{width:18px;height:18px;margin-top:1px}.dashboard-shell{max-width:1100px;margin:0 auto;padding:42px 24px}.dashboard-header{justify-content:space-between;align-items:start;gap:20px;margin-bottom:36px;display:flex}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.metric{background:var(--card);border:1px solid var(--border);border-radius:18px;gap:14px;padding:20px;display:grid}.metric span{color:var(--muted-foreground)}.metric strong{font-size:30px}@media (max-width:700px){.dashboard-grid{grid-template-columns:1fr}.dashboard-header{flex-direction:column;align-items:stretch}}select{border:1px solid var(--input);background:var(--card);width:100%;color:var(--foreground);font:inherit;border-radius:12px;padding:13px 14px}.app-shell{background:var(--background);grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--primary);height:100vh;color:var(--primary-foreground);flex-direction:column;gap:28px;padding:26px 20px;display:flex;position:sticky;top:0}.sidebar .eyebrow{color:#989ea5}.workspace-title{overflow-wrap:anywhere;font-size:18px;font-weight:750;line-height:1.2}.sidebar-nav{gap:4px;display:grid}.sidebar-nav a{color:#c9cdd2;border-radius:10px;padding:10px 12px;font-size:14px;text-decoration:none}.sidebar-nav a:hover{color:var(--primary-foreground);background:#ffffff14}.sidebar-footer{margin-top:auto}.sidebar-footer button{width:100%;color:var(--primary-foreground);background:0 0;border-color:#34383d}.app-content{min-width:0}.dashboard-page{max-width:1180px;margin:0 auto;padding:42px 34px 64px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px;display:flex}.page-header h1{margin-bottom:12px}.page-header .muted{max-width:680px;margin:0}.primary-link{background:var(--primary);min-height:48px;color:var(--primary-foreground);white-space:normal;border-radius:12px;justify-content:center;align-items:center;padding:0 16px;display:inline-flex}.primary-link,.text-link{font-weight:700;text-decoration:none}.text-link{color:var(--foreground)}.dashboard-card{justify-content:space-between;align-items:center;gap:24px;display:flex}.split-layout{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);align-items:start;gap:18px;display:grid}.program-form{gap:14px;width:100%;max-width:520px;display:grid}.program-list{gap:10px;display:grid}.empty-state,.program-row{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px}.program-row{justify-content:space-between;align-items:center;gap:18px;display:flex}.program-row h3{margin:8px 0 0;font-size:18px}.program-row form{align-items:center;gap:8px;min-width:240px;display:flex}.program-row select{padding:9px 10px}button.small{padding:10px 12px}.program-meta{flex-wrap:wrap;gap:6px;display:flex}.badge{background:var(--muted);min-height:24px;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:750;display:inline-flex}.status-published{background:var(--success-surface);color:var(--success)}.status-archived{background:var(--muted);color:var(--muted-foreground)}.empty-state{align-content:center;min-height:180px;display:grid}.empty-state h2{margin-bottom:6px}.details-list{width:100%;margin:0;display:grid}.details-list div{border-bottom:1px solid var(--border);grid-template-columns:140px 1fr;gap:18px;padding:14px 0;display:grid}.details-list div:last-child{border-bottom:0}.details-list dt{color:var(--muted-foreground)}.details-list dd{margin:0;font-weight:650}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:18px;position:static}.sidebar-nav{padding-bottom:4px;display:flex;overflow-x:auto}.sidebar-nav a{white-space:normal}.sidebar-footer{display:none}.split-layout{grid-template-columns:1fr}}@media (max-width:700px){.dashboard-page{padding:28px 18px 48px}.dashboard-card,.page-header{flex-direction:column}.dashboard-card{align-items:flex-start}.program-row{flex-direction:column;align-items:stretch}.program-row form{width:100%;min-width:0}}.back-link{color:var(--muted-foreground);margin-bottom:18px;font-size:14px;text-decoration:none;display:inline-block}.program-name-link{color:inherit;text-decoration:none}.program-name-link:hover{text-decoration:underline}.builder-create-row{margin-bottom:18px}.inline-create-form{align-items:flex-end;gap:10px;display:flex}.inline-create-form input{min-width:220px}.inline-create-form.compact{align-items:center}.inline-create-form.block-form{flex-direction:column;align-items:stretch;margin-top:14px}.inline-create-form textarea{border:1px solid var(--input);background:var(--card);width:100%;min-height:92px;color:var(--foreground);font:inherit;resize:vertical;border-radius:12px;padding:13px 14px}.builder-stack,.content-blocks,.day-stack{gap:12px;display:grid}.week-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:20px}.week-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.week-header h2{margin-bottom:0}.day-card{background:var(--muted);border:1px solid var(--border);border-radius:14px;padding:16px}.day-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.day-title span{color:var(--muted-foreground);font-size:12px}.content-block{background:var(--card);border:1px solid var(--border);white-space:pre-wrap;border-radius:10px;padding:12px 14px;line-height:1.5}@media (max-width:700px){.inline-create-form,.week-header{flex-direction:column;align-items:stretch}.inline-create-form input{min-width:0}}.vertical-card{flex-direction:column;align-items:stretch}.program-form textarea{border:1px solid var(--input);background:var(--card);width:100%;min-height:110px;color:var(--foreground);font:inherit;resize:vertical;border-radius:12px;padding:13px 14px}.clamp-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:520px;margin:8px 0 0;display:-webkit-box;overflow:hidden}.form-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.form-columns,.workout-list{gap:10px;display:grid}.workout-item-row{background:var(--card);border:1px solid var(--border);border-radius:14px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.position-number{background:var(--muted);border-radius:9px;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:grid}.workout-item-main p{color:var(--muted-foreground);margin:5px 0 0;font-size:13px}@media (max-width:700px){.form-columns{grid-template-columns:1fr}.workout-item-row{grid-template-columns:30px 1fr}.workout-item-row form{grid-column:2}}.form-columns.four{grid-template-columns:repeat(4,minmax(0,1fr))}.attach-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.compact-attach{margin-top:0!important}.block-workout{border-left:4px solid var(--foreground);font-weight:650}.block-nutrition{border-left:4px solid var(--accent-foreground);font-weight:650}@media (max-width:700px){.attach-grid,.form-columns.four{grid-template-columns:1fr}}fieldset{border:0;gap:14px;min-width:0;margin:0;padding:0;display:grid}.program-row .action-form{min-width:0;max-width:420px;display:grid}.google-login-card h1{margin-bottom:0}.google-login-card .google-login-intro{color:var(--muted-foreground);margin:0 0 8px;line-height:1.55}.google-login-card .error{margin:0;line-height:1.5}.google-login-card .google-sign-in{background:var(--card);color:#1f1f1f;border:1px solid #747775;border-radius:999px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:48px;font-family:Arial,sans-serif;font-size:14px;font-weight:600;display:flex}.google-login-card .google-sign-in svg{flex:none}.google-login-card .google-sign-in:hover:not(:disabled){background:#f8faff;box-shadow:0 1px 3px #3c404333}.google-login-card .google-sign-in:focus-visible{outline-offset:3px;outline:3px solid #1a73e8}.google-login-card .google-sign-in:disabled{opacity:.7}:where(input:not([type=hidden]):not([type=radio]):not([type=checkbox]),select,textarea,button,summary){min-height:var(--control-size)}:where(input,select,textarea){color:var(--foreground)}:where(p,h1,h2,h3,dt,dd){overflow-wrap:anywhere}:where(input,textarea)::placeholder{color:var(--muted-foreground);opacity:1}html{scroll-padding-block:5rem}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}