body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#faf7f2;background:var(--color-background);color:#323e54;color:var(--color-text-primary);font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family-base);margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--font-display:"Cormorant",Georgia,"Times New Roman",serif;--font-family-base:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--font-family-mono:"JetBrains Mono","Monaco","Menlo","Courier New",monospace;--font-size-xs:12px;--font-size-sm:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.625;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(50,62,84,.06);--shadow-md:0 2px 6px rgba(50,62,84,.07),0 8px 24px rgba(50,62,84,.06);--shadow-lg:0 6px 16px rgba(50,62,84,.1),0 16px 40px rgba(50,62,84,.08);--shadow-focus:0 0 0 3px rgba(130,154,191,.35);--transition-fast:all 0.15s ease;--transition-base:all 0.2s ease;--transition-slow:all 0.3s ease;--color-primary-rgb:94,120,164;--color-black-rgb:27,34,51;--color-shadow-rgb:50,62,84;--color-success-rgb:62,122,102;--color-error-rgb:180,82,74;--color-warning-rgb:181,118,58;--color-connecting:#d4971a;--color-connecting-rgb:212,151,26;--color-primary:#5e78a4;--color-primary-dark:#4a638c;--color-cornflower:#829abf;--color-periwinkle:#b1b6d4;--color-primary-soft:#e8ecf3;--color-glass:#a7c2bc;--color-glass-soft:#dce8e3;--color-glass-deep:#3e7a66;--color-sand:#e4dbcc;--color-sand-soft:#f1eade;--color-background:#faf7f2;--color-surface:#fff;--color-surface-alt:#f4efe7;--color-text-primary:#323e54;--color-text-secondary:#62708a;--color-text-tertiary:#9aa0ac;--color-border:rgba(50,62,84,.12);--color-border-strong:rgba(50,62,84,.2);--color-divider:rgba(50,62,84,.1);--color-button-primary:#5e78a4;--color-button-secondary:#fff;--color-error:#b4524a;--color-error-background:#f4dedb;--color-success:#3e7a66;--color-warning:#b5763a;--color-bubble-sent:#5e78a4;--color-bubble-received:#fff;--color-bubble-trainer:#e6e3f2;--color-input-background:#fff;--color-input-border:rgba(50,62,84,.18);--color-input-placeholder:#a6abb6;--color-white:#fff;--color-black:#1b2233;--color-danger:#b4524a;--color-danger-dark:#9a453e;--color-badge-client-bg:#e8ecf3;--color-badge-client-text:#4a638c;--color-badge-business-bg:#dce8e3;--color-badge-business-text:#3e7a66;--color-badge-admin-bg:#e6e3f2;--color-badge-admin-text:#5a5494;--color-feedback-error-bg:#f4dedb;--color-feedback-error-text:#b4524a}.App{background:var(--color-background);color:var(--color-text-primary);display:flex;flex-direction:column;font-family:var(--font-family-base);min-height:100vh}.nav-bar{background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);justify-content:space-between;padding:12px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:5}.nav-bar,.nav-bar-left{align-items:center;display:flex}.nav-bar-left{gap:12px}.logo-button{align-items:center;background:none;border:none;cursor:pointer;display:flex;padding:0;transition:opacity .2s}.logo-button:hover{opacity:.8}.nav-logo{display:block;height:40px;width:auto}.nav-bar-right{align-items:center;column-gap:12px;display:flex;flex-wrap:wrap;justify-content:flex-end;row-gap:8px}@media (max-width:900px){.nav-bar-right{column-gap:8px}.nav-bar-right .nav-button{font-size:13px;padding:8px 12px}}.nav-button{background:var(--color-button-secondary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.nav-button.active{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.3);color:var(--color-white)}.nav-button:hover:not(:disabled){border-color:var(--color-primary);transform:translateY(-1px)}.main-content{background:var(--color-background);flex:1 1}.admin-menu-container{margin:40px auto;max-width:1000px;padding:20px}.admin-menu-container h1{color:var(--color-text-primary);margin-bottom:30px}.admin-menu-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.admin-menu-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:12px;cursor:pointer;padding:30px;text-align:left;transition:all .2s}.admin-menu-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px rgba(var(--color-shadow-rgb),.1);transform:translateY(-2px)}.admin-menu-card h2{color:var(--color-text-primary);font-size:20px;margin:0 0 10px}.admin-menu-card p{color:var(--color-text-secondary);font-size:14px;margin:0}.auth-container{align-items:center;background:var(--color-background);display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-md);max-width:480px;padding:40px;width:100%}.auth-logo-wrap{margin-bottom:24px;text-align:center}.auth-logo{height:64px;width:auto}.auth-tagline{color:var(--color-text-secondary);font-size:14px;margin:8px 0 0}.auth-card h2{color:var(--color-text-primary);font-size:28px;margin:0 0 8px;text-align:center}.auth-card p{color:var(--color-text-secondary);font-size:14px;margin:0 0 32px;text-align:center}.profile-container{margin:40px auto;max-width:600px;padding:0 20px}.profile-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;margin-bottom:20px;padding:32px}.profile-header{border-bottom:2px solid var(--color-border);margin-bottom:32px;padding-bottom:24px;text-align:center}.profile-header h2{color:var(--color-text-primary);font-size:24px;margin:0 0 8px}.profile-badges{display:flex;gap:8px;justify-content:center;margin-top:12px}.profile-info{grid-gap:20px;display:grid;gap:20px;margin-bottom:24px}.profile-field{display:flex;flex-direction:column;gap:8px}.profile-field label{color:var(--color-text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.profile-field .value{color:var(--color-text-primary);font-size:16px;padding:12px 0}.profile-field input{border:2px solid var(--color-border);border-radius:8px;font-family:inherit;font-size:15px;padding:12px 16px;transition:border-color .2s}.profile-field input:focus{border-color:var(--color-primary);outline:none}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px}.form-group input{border:2px solid var(--color-border);border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:15px;padding:12px 16px;transition:border-color .2s;width:100%}.form-group input:focus{border-color:var(--color-primary);outline:none}.button-group{display:flex;gap:12px;margin-top:24px}.btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-secondary{background:var(--color-button-secondary);border:2px solid var(--color-border);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-dark)}.btn:disabled{cursor:not-allowed;opacity:.5}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:6px 12px;text-transform:uppercase}.badge-client{background:var(--color-badge-client-bg);color:var(--color-badge-client-text)}.badge-business{background:var(--color-badge-business-bg);color:var(--color-badge-business-text)}.badge-admin{background:var(--color-badge-admin-bg);color:var(--color-badge-admin-text)}.badge-active{background:var(--color-badge-business-bg);color:var(--color-badge-business-text)}.badge-inactive,.error-message{background:var(--color-feedback-error-bg);color:var(--color-feedback-error-text)}.error-message,.success-message{font-size:14px;padding:12px 16px}.success-message{background:var(--color-badge-business-bg);color:var(--color-badge-business-text)}.switch-link{border-top:1px solid var(--color-border);margin-top:24px;padding-top:24px;text-align:center}.switch-link button{background:none;border:none;color:var(--color-primary);cursor:pointer;font-weight:600;text-decoration:underline}.switch-link button:hover{opacity:.8}.auth-subtext{color:var(--color-text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:24px}.auth-dev-notice{align-items:flex-start;background:#fffbe6;border:1px solid #ffe58f;border-radius:8px;color:#7c5800;display:flex;font-size:.875rem;gap:10px;line-height:1.5;margin-bottom:20px;padding:12px 14px}.auth-dev-notice__icon{flex-shrink:0;font-size:1.1rem}@media (max-width:600px){.auth-card,.profile-card{padding:24px}.button-group{flex-direction:column}.btn{width:100%}}.ui-badge{border-radius:var(--radius-full);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.4px;line-height:1.2;padding:var(--space-1) var(--space-3);text-transform:uppercase;white-space:nowrap}.ui-badge--client{background:var(--color-badge-client-bg);color:var(--color-badge-client-text)}.ui-badge--business{background:var(--color-badge-business-bg);color:var(--color-badge-business-text)}.ui-badge--admin{background:var(--color-badge-admin-bg);color:var(--color-badge-admin-text)}.ui-badge--active{background:var(--color-badge-business-bg);color:var(--color-badge-business-text)}.ui-badge--inactive{background:var(--color-feedback-error-bg);color:var(--color-feedback-error-text)}.ui-badge--primary{background:var(--color-primary-soft);color:var(--color-primary-dark)}.ui-badge--warning{background:rgba(var(--color-warning-rgb),.15);color:var(--color-warning)}.ui-badge--success{background:var(--color-badge-business-bg);color:var(--color-badge-business-text)}.ui-badge--neutral{background:var(--color-button-secondary);color:var(--color-text-secondary)}.ui-button{align-items:center;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-family-base);font-weight:var(--font-weight-semibold);gap:var(--space-2);justify-content:center;line-height:1;text-decoration:none;transition:var(--transition-base);-webkit-user-select:none;user-select:none;white-space:nowrap}.ui-button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.ui-button--loading,.ui-button:disabled{cursor:not-allowed;opacity:.6}.ui-button--sm{font-size:var(--font-size-sm);min-height:32px;padding:var(--space-2) var(--space-3)}.ui-button--md{font-size:var(--font-size-sm);min-height:40px;padding:var(--space-3) var(--space-5)}.ui-button--lg{font-size:var(--font-size-md);min-height:48px;padding:var(--space-4) var(--space-6)}.ui-button--full-width{width:100%}.ui-button--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.ui-button--primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.ui-button--primary:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)}.ui-button--secondary{background:var(--color-button-secondary);border-color:var(--color-border);color:var(--color-text-primary)}.ui-button--secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.ui-button--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-white)}.ui-button--danger:hover:not(:disabled){background:var(--color-danger-dark);border-color:var(--color-danger-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.ui-button--ghost{background:transparent;border-color:transparent;color:var(--color-primary);min-height:auto;padding-left:var(--space-2);padding-right:var(--space-2)}.ui-button--ghost:hover:not(:disabled){background:var(--color-button-secondary);text-decoration:underline}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-sizing:border-box;color:var(--color-text-primary);display:block;font-family:var(--font-family-base);padding:var(--space-5);text-align:left;width:100%}button.ui-card{cursor:default;font:inherit}.ui-card--interactive{cursor:pointer;transition:var(--transition-base)}.ui-card--interactive:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.ui-card--interactive:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.ui-card--interactive:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.ui-empty-state{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--space-12) var(--space-5);text-align:center}.ui-empty-state__icon{font-size:var(--font-size-3xl);margin-bottom:var(--space-4);opacity:.6}.ui-empty-state__title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-2) 0}.ui-empty-state__message{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0 0 var(--space-5) 0;max-width:420px}.ui-empty-state__action{margin-top:var(--space-2)}.ui-form-field{display:flex;flex-direction:column;font-family:var(--font-family-base);gap:var(--space-2);margin-bottom:var(--space-4)}.ui-form-field__label{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.ui-form-field__required{color:var(--color-feedback-error-text);font-weight:var(--font-weight-bold)}.ui-form-field__control{display:flex;flex-direction:column}.ui-form-field__control input,.ui-form-field__control select,.ui-form-field__control textarea{background:var(--color-input-background);border:1px solid var(--color-input-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);padding:var(--space-3) var(--space-4);transition:var(--transition-fast);width:100%}.ui-form-field__control input:focus,.ui-form-field__control select:focus,.ui-form-field__control textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.ui-form-field__control input:disabled,.ui-form-field__control select:disabled,.ui-form-field__control textarea:disabled{background:var(--color-button-secondary);color:var(--color-text-secondary);cursor:not-allowed}.ui-form-field__control textarea{line-height:var(--line-height-normal);min-height:80px;resize:vertical}.ui-form-field__hint{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin:0}.ui-form-field__error{color:var(--color-feedback-error-text);font-size:var(--font-size-xs);margin:0}.ui-form-field--error .ui-form-field__control input,.ui-form-field--error .ui-form-field__control select,.ui-form-field--error .ui-form-field__control textarea{border-color:var(--color-feedback-error-text)}.ui-modal__backdrop{align-items:center;animation:ui-modal-backdrop-in .15s ease-out;background:rgba(var(--color-black-rgb),.45);display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:100}@keyframes ui-modal-backdrop-in{0%{opacity:0}to{opacity:1}}.ui-modal{animation:ui-modal-in .2s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;font-family:var(--font-family-base);max-height:calc(100vh - var(--space-12));width:100%}@keyframes ui-modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ui-modal--sm{max-width:420px}.ui-modal--md{max-width:560px}.ui-modal--lg{max-width:800px}.ui-modal__header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-5) var(--space-6)}.ui-modal__title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.ui-modal__close{background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-lg);line-height:1;padding:var(--space-1) var(--space-2);transition:var(--transition-fast)}.ui-modal__close:hover{background:var(--color-button-secondary);color:var(--color-text-primary)}.ui-modal__body{color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-sm);line-height:var(--line-height-normal);overflow-y:auto;padding:var(--space-5) var(--space-6)}.ui-modal__actions{align-items:center;background:var(--color-background);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);border-top:1px solid var(--color-border);column-gap:var(--space-3);display:flex;flex-wrap:wrap;justify-content:flex-end;padding:var(--space-4) var(--space-6);row-gap:var(--space-2)}.ui-modal__actions>.ui-button--ghost{margin-right:auto}.ui-page-header{align-items:flex-start;border-bottom:1px solid var(--color-border);display:flex;font-family:var(--font-family-base);gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-5)}.ui-page-header__left{display:flex;flex:1 1;flex-direction:column;gap:var(--space-3);min-width:0}.ui-page-header__back{align-self:flex-start;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--space-1) var(--space-2);transition:var(--transition-fast)}.ui-page-header__back:hover{background:var(--color-button-secondary)}.ui-page-header__back:focus-visible{box-shadow:var(--shadow-focus);outline:none}.ui-page-header__titles{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.ui-page-header__title{color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:600;letter-spacing:-.3px;line-height:1.15;margin:0}.ui-page-header__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0}.ui-page-header__action{flex-shrink:0}@media (max-width:600px){.ui-page-header{align-items:stretch;flex-direction:column}.ui-page-header__action{width:100%}}.ui-tabs{border-bottom:1px solid var(--color-border);display:flex;font-family:var(--font-family-base);gap:var(--space-2);margin-bottom:var(--space-5)}.ui-tabs__tab{align-items:center;background:none;border:none;border-bottom:3px solid transparent;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--space-2);margin-bottom:-1px;padding:var(--space-3) var(--space-4);transition:var(--transition-fast)}.ui-tabs__tab:hover:not(.ui-tabs__tab--active){color:var(--color-text-primary)}.ui-tabs__tab:focus-visible{border-radius:var(--radius-sm);box-shadow:var(--shadow-focus);outline:none}.ui-tabs__tab--active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.ui-tabs__count{background:var(--color-primary-soft);border-radius:var(--radius-full);color:var(--color-primary);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:18px;min-width:20px;padding:0 var(--space-2);text-align:center}.ui-tabs__tab:not(.ui-tabs__tab--active) .ui-tabs__count{background:var(--color-surface-alt);color:var(--color-text-secondary)}.conversation-list{margin:0 auto;max-width:700px;padding:var(--space-5)}.conversation-list__loading{color:var(--color-text-secondary);padding:var(--space-10);text-align:center}.conversation-list__items{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.conversation-list__card{align-items:center;cursor:pointer;display:flex!important;flex-direction:row!important;gap:var(--space-4);text-align:left}.conversation-list__card-icon{align-items:center;color:var(--color-primary);display:flex;flex-shrink:0}.conversation-list__card-body{display:flex;flex:1 1;flex-direction:column;gap:var(--space-1)}.conversation-list__card-title{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.conversation-list__card-date{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.conversation-list__card-arrow{color:var(--color-text-secondary);flex-shrink:0;font-size:var(--font-size-lg)}.chat-container{background:var(--color-background);color:var(--color-text-primary);display:flex;flex-direction:column;font-family:var(--font-family-base);height:100vh}.chat-header{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.back-button{padding:8px 12px}.chat-header-info h2{color:var(--color-text-primary);font-size:18px;margin:0}.participants-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.participant-badge{border:1px solid var(--color-border);padding:4px 8px}.connection-status,.participant-badge{background:var(--color-button-secondary);border-radius:12px;color:var(--color-text-secondary);font-size:12px}.connection-status{border:1px solid var(--color-border);padding:8px 12px}.connection-status.authenticated{border-color:rgba(var(--color-success-rgb),.4);color:var(--color-success)}.connection-status.connecting{border-color:rgba(var(--color-connecting-rgb),.4);color:var(--color-connecting)}.connection-status.disconnected{border-color:rgba(var(--color-error-rgb),.4);color:var(--color-error)}.messages-container{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:16px}.message{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;color:var(--color-text-primary);max-width:80%;padding:12px 14px}.message.own-message{background:var(--color-bubble-sent);border-color:var(--color-bubble-sent);color:var(--color-white);margin-left:auto}.message.other-message{background:var(--color-bubble-received);border-color:var(--color-border);margin-right:auto}.message.ai-message{background:var(--color-bubble-trainer);border-color:var(--color-bubble-trainer);margin-right:auto}.message-header{align-items:center;color:var(--color-text-secondary);display:flex;font-size:12px;justify-content:space-between;margin-bottom:6px}.message-username{font-weight:600}.message-timestamp{color:var(--color-text-tertiary)}.message-content{font-size:14px;line-height:1.5;white-space:pre-wrap}.typing-indicator{background:var(--color-button-secondary);border:1px dashed var(--color-border);border-radius:10px;color:var(--color-text-secondary);font-size:13px;padding:8px 10px;width:-webkit-fit-content;width:fit-content}.message-input-container{background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;gap:10px;padding:12px 16px}.message-input-container textarea{background:var(--color-input-background);border:1px solid var(--color-input-border);border-radius:10px;color:var(--color-text-primary);flex:1 1;font-family:inherit;font-size:14px;padding:10px 12px;resize:none}.message-input-container textarea:disabled{background:var(--color-button-secondary);color:var(--color-text-secondary)}.send-button{background:var(--color-primary);border:none;border-radius:10px;color:var(--color-white);cursor:pointer;font-weight:600;min-width:80px;padding:12px 16px}.send-button:disabled{cursor:not-allowed;opacity:.6}.back-button:disabled,.send-button:disabled{filter:grayscale(.2)}.admin-container{margin:0 auto;max-width:1200px;padding:20px}.admin-header{align-items:center;border-bottom:2px solid var(--color-border);display:flex;gap:20px;margin-bottom:30px;padding-bottom:20px}.admin-header h1{color:var(--color-text-primary);margin:0}.admin-content{background:var(--color-surface);border-radius:12px;padding:24px}.admin-content,.back-button{border:1px solid var(--color-border)}.back-button{background:var(--color-button-secondary);border-radius:8px;color:var(--color-text-primary);cursor:pointer;font-weight:600;padding:8px 16px}.back-button:hover{border-color:var(--color-primary)}.primary-button{background:var(--color-primary);border:none;border-radius:8px;color:var(--color-white);cursor:pointer;font-weight:600;padding:10px 20px}.primary-button:hover{opacity:.9}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:20px;text-align:center}.stat-card h3{color:var(--color-text-secondary);font-size:14px;font-weight:600;margin:0 0 10px;text-transform:uppercase}.stat-value{color:var(--color-primary);font-size:32px;font-weight:700;margin:0}.users-table{margin-top:20px}.tabs-container{border-bottom:2px solid var(--color-border);display:flex;gap:10px;margin-bottom:20px}.tab-button{background:none;border:none;border-bottom:3px solid transparent;color:var(--color-text-secondary);cursor:pointer;font-weight:600;padding:12px 20px;transition:all .2s}.tab-button.active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.tab-badge{background:var(--color-primary);border-radius:12px;color:#fff;display:inline-block;font-size:12px;margin-left:6px;padding:2px 8px}.users-table{border-collapse:collapse;margin-top:0;width:100%}.users-table th{border-bottom:2px solid var(--color-border);color:var(--color-text-secondary);font-size:14px;font-weight:600;padding:12px;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid var(--color-border);padding:12px}.user-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;text-transform:uppercase}.user-badge.client{background:#e3f2fd;color:#1976d2}.user-badge.business{background:#e8f5e9;color:#388e3c}.user-badge.admin{background:#f3e5f5;color:#7b1fa2}.user-badge.active{background:#e8f5e9;color:#388e3c}.user-badge.inactive{background:#ffebee;color:#c62828}.action-button{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;margin-right:8px;padding:6px 12px}.action-button.approve{background:#4caf50;color:#fff}.action-button.approve:hover{background:#45a049}.action-button.deactivate{background:#f44336;color:#fff}.action-button.deactivate:hover{background:#da190b}.action-button.reactivate{background:#2196f3;color:#fff}.action-button.reactivate:hover{background:#1976d2}.action-button:disabled{cursor:not-allowed;opacity:.5}.empty-state{color:var(--color-text-secondary);padding:40px;text-align:center}.error-message{background:#ffebee;color:#c62828}.error-message,.success-message{border-radius:8px;margin-bottom:20px;padding:12px}.success-message{background:#e8f5e9;color:#388e3c}.invite-form-container{background:var(--color-background);border:2px solid var(--color-border);border-radius:12px;margin-bottom:24px;padding:24px}.invite-form-container h3{color:var(--color-text-primary);margin:0 0 20px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.form-group{display:flex;flex-direction:column}.form-group label{color:var(--color-text-primary);font-size:14px;font-weight:600;margin-bottom:6px}.form-group input,.form-group textarea{border:2px solid var(--color-border);border-radius:8px;font-family:inherit;font-size:14px;padding:10px 12px}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:none}.form-group textarea{resize:vertical}.invite-code-display{background:var(--color-background);border:1px solid var(--color-border);border-radius:4px;color:var(--color-primary);display:inline-block;font-family:Monaco,Courier New,monospace;font-size:13px;font-weight:600;padding:4px 8px}.modal-overlay{align-items:center;background:rgba(var(--color-black-rgb),.4);display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:20}.modal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 10px 30px rgba(var(--color-shadow-rgb),.12);max-width:520px;padding:24px;width:100%}.modal-card h2{color:var(--color-text-primary);font-size:20px;margin:0 0 16px}.modal-card select{border:2px solid var(--color-border);border-radius:8px;font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.home-container{margin:0 auto;max-width:1200px;padding:40px 20px}.home-header{margin-bottom:40px;text-align:center}.home-header h1{color:var(--color-text-primary);font-family:var(--font-display);font-size:32px;font-weight:600;line-height:1.15;margin:0 0 10px}.home-header h1 .accent-name{color:var(--color-primary);font-style:italic}.home-subtitle{color:var(--color-text-secondary);font-size:18px;margin:0}.home-cards-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:40px}.home-card{align-items:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:16px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:180px;padding:32px;position:relative;text-align:center;transition:all .3s}.home-card:hover:not(.home-card-disabled){border-color:var(--color-primary);box-shadow:0 8px 16px rgba(var(--color-shadow-rgb),.1);transform:translateY(-4px)}.home-card-icon{align-items:center;color:var(--color-primary);display:inline-flex;justify-content:center;margin-bottom:16px}.home-card-disabled .home-card-icon{color:var(--color-text-tertiary)}.home-card h2{color:var(--color-text-primary);font-family:var(--font-display);font-size:20px;font-weight:600;line-height:1.15;margin:0 0 8px}.home-card p{color:var(--color-text-secondary);font-size:14px;line-height:1.5;margin:0}.home-card-admin{background:linear-gradient(135deg,var(--color-primary-soft) 0,rgba(232,236,243,.6) 100%);border-color:var(--color-primary)}.home-card-admin:hover{background:linear-gradient(135deg,rgba(232,236,243,.9) 0,var(--color-primary-soft) 100%);border-color:var(--color-primary)}.home-card-disabled{cursor:not-allowed;opacity:.6}.home-card-disabled:hover{border-color:var(--color-border);box-shadow:none;transform:none}.coming-soon-badge{background:var(--color-primary);border-radius:12px;color:#fff;font-size:11px;font-weight:600;padding:4px 12px;position:absolute;right:12px;text-transform:uppercase;top:12px}@media (max-width:768px){.home-container{padding:20px}.home-header h1{font-size:24px}.home-subtitle{font-size:16px}.home-cards-grid{gap:16px;grid-template-columns:1fr}.home-card{min-height:140px;padding:24px}.home-card-icon svg{height:28px;width:28px}}.landing{background:var(--color-background);color:var(--color-text-primary);display:flex;flex-direction:column;min-height:100vh}.landing__header{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-4) var(--space-8)}.landing__logo{display:block;height:40px;width:auto}.landing__login-btn{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--space-2) var(--space-5);transition:opacity .15s}.landing__login-btn:hover{opacity:.88}.landing__main{grid-gap:var(--space-10);align-items:start;display:grid;flex:1 1;gap:var(--space-10);grid-template-columns:1fr 1fr;margin:0 auto;max-width:1100px;padding:var(--space-10) var(--space-8);width:100%}.landing__left{display:flex;flex-direction:column;gap:var(--space-5)}.landing__brand-sub{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.1em;margin:0;text-transform:uppercase}.landing__tagline{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:1.2;margin:0}.landing__mission{color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:var(--line-height-relaxed);margin:0}.landing__social{display:flex;flex-wrap:wrap;gap:var(--space-5)}.landing__social-link{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none}.landing__social-link:hover{text-decoration:underline}.landing__services{display:flex;flex-direction:column;gap:var(--space-5);padding-top:var(--space-2)}.landing__service{display:flex;flex-direction:column;gap:var(--space-2)}.landing__service-title{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.landing__service-desc{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0}.landing__app-cta{align-self:flex-start;background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-top:var(--space-1);padding:0}.landing__app-cta:hover{text-decoration:underline}.landing__footer{display:flex;flex-direction:column;gap:var(--space-1);margin-top:auto;padding-top:var(--space-8)}.landing__copyright,.landing__footer-links{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin:0}.landing__footer-soon{color:var(--color-text-secondary)}.landing__footer-sep{margin:0 var(--space-1)}.landing__right{display:flex;flex-direction:column;gap:var(--space-6);padding-top:var(--space-8)}.landing__profile{align-items:center;display:flex;gap:var(--space-4)}.landing__avatar{align-items:center;background:var(--color-primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);height:56px;justify-content:center;width:56px}.landing__profile-name{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-1) 0}.landing__profile-title{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.landing__bio{display:flex;flex-direction:column;gap:var(--space-4)}.landing__bio p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0}.landing__disclaimer{border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-xs)!important;font-style:italic;padding-top:var(--space-3)}.landing__early-access{border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-5)}.landing__early-title{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0}.landing__early-desc{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0}.landing__early-link{color:var(--color-primary);font-weight:var(--font-weight-semibold);text-decoration:none}.landing__early-link:hover{text-decoration:underline}@media (max-width:720px){.landing__header{padding:var(--space-4) var(--space-5)}.landing__main{gap:var(--space-8);grid-template-columns:1fr;padding:var(--space-6) var(--space-5)}.landing__tagline{font-size:var(--font-size-2xl)}}.exercise-form{display:flex;flex-direction:column}.exercise-form__snapshot-hint{background:var(--color-button-secondary);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal);margin:0 0 var(--space-5) 0;padding:var(--space-3) var(--space-4)}.exercise-form__row{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.exercise-form__tag-input{font-family:var(--font-family-mono);letter-spacing:.05em;text-transform:uppercase}.exercise-form__tempo{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0 0 var(--space-4) 0;padding:var(--space-4) var(--space-5) var(--space-2)}.exercise-form__tempo legend{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:0 var(--space-2)}.exercise-form__tempo-hint{color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal);margin:0 0 var(--space-3) 0}.exercise-form__tempo-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(4,1fr)}.exercise-form__actions{border-top:1px solid var(--color-border);display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-4);padding-top:var(--space-4)}@media (max-width:600px){.exercise-form__row,.exercise-form__tempo-grid{grid-template-columns:1fr 1fr}}.exercise-library{margin:0 auto;max-width:1200px;padding:var(--space-5) var(--space-5) var(--space-10)}.exercise-library__filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-5) 0 var(--space-4)}.exercise-library__chip{background:var(--color-button-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--space-2) var(--space-4);transition:var(--transition-fast)}.exercise-library__chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.exercise-library__chip:focus-visible{box-shadow:var(--shadow-focus);outline:none}.exercise-library__chip.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.exercise-library__loading{color:var(--color-text-secondary);padding:var(--space-10);text-align:center}.exercise-library__load-error{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.exercise-library__table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.exercise-library__table{border-collapse:collapse;font-family:var(--font-family-base);width:100%}.exercise-library__table thead th{background:var(--color-button-secondary);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.5px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0}.exercise-library__table tbody td,.exercise-library__table thead th{border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-4)}.exercise-library__table tbody td{color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);vertical-align:top}.exercise-library__table tbody tr:last-child td{border-bottom:none}.exercise-library__row--clickable{cursor:pointer;transition:var(--transition-fast)}.exercise-library__row--clickable:hover{background:var(--color-button-secondary)}.exercise-library__cell-name{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.exercise-library__cell-description{color:var(--color-text-secondary);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);margin-top:var(--space-1);max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exercise-library__tag{background:var(--color-button-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary-dark);font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.05em;padding:2px var(--space-2)}.exercise-library__tempo{color:var(--color-text-primary);font-family:var(--font-family-mono);font-size:var(--font-size-sm)}.exercise-library__date{font-size:var(--font-size-xs)}.exercise-library__dash,.exercise-library__date{color:var(--color-text-tertiary)}.exercise-library__actions{text-align:right;white-space:nowrap}.exercise-library__actions .ui-button{margin-left:var(--space-1)}.exercise-library__delete-body{color:var(--color-text-primary);font-size:var(--font-size-md);line-height:var(--line-height-normal);margin:0 0 var(--space-3) 0}.exercise-library__delete-hint{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0}.block-list{margin:0 auto;max-width:1200px;padding:var(--space-5) var(--space-5) var(--space-10)}.block-list__filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-5) 0 var(--space-4)}.block-list__chip{background:var(--color-button-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--space-2) var(--space-4);transition:var(--transition-fast)}.block-list__chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.block-list__chip:focus-visible{box-shadow:var(--shadow-focus);outline:none}.block-list__chip.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.block-list__loading{color:var(--color-text-secondary);padding:var(--space-10);text-align:center}.block-list__load-error{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.block-list__table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.block-list__table{border-collapse:collapse;font-family:var(--font-family-base);width:100%}.block-list__table thead th{background:var(--color-button-secondary);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.5px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0}.block-list__table tbody td,.block-list__table thead th{border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-4)}.block-list__table tbody td{color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);vertical-align:top}.block-list__table tbody tr:last-child td{border-bottom:none}.block-list__row--clickable{cursor:pointer;transition:var(--transition-fast)}.block-list__row--clickable:hover{background:var(--color-button-secondary)}.block-list__cell-name{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.block-list__cell-subtle{color:var(--color-text-tertiary);display:block;font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);margin-top:var(--space-1)}.block-list__exercise-count{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.block-list__cycles,.block-list__exercise-count{font-family:var(--font-family-mono);font-size:var(--font-size-sm)}.block-list__cycles{color:var(--color-text-secondary)}.block-list__date{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.exercise-picker__toolbar{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4)}.exercise-picker__filters{display:flex;flex:1 1;flex-wrap:wrap;gap:var(--space-2)}.exercise-picker__chip{background:var(--color-button-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--space-1) var(--space-3);transition:var(--transition-fast)}.exercise-picker__chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.exercise-picker__chip.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.exercise-picker__search{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);width:100%}.exercise-picker__search:focus{border-color:var(--color-primary);outline:none}.exercise-picker__empty,.exercise-picker__loading{color:var(--color-text-secondary);padding:var(--space-6);text-align:center}.exercise-picker__list{border:1px solid var(--color-border);border-radius:var(--radius-md);list-style:none;margin:0;max-height:50vh;overflow-y:auto;padding:0}.exercise-picker__row{align-items:center;border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);transition:var(--transition-fast)}.exercise-picker__row:last-child{border-bottom:none}.exercise-picker__row:hover:not(.is-excluded){background:var(--color-button-secondary)}.exercise-picker__row.is-selected{background:var(--color-badge-client-bg)}.exercise-picker__row.is-excluded{cursor:not-allowed;opacity:.5}.exercise-picker__checkbox{cursor:pointer;flex-shrink:0;height:18px;width:18px}.exercise-picker__name{color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.exercise-picker__excluded-tag{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);margin-left:var(--space-2)}.exercise-picker__tag{background:var(--color-button-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary-dark);font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px var(--space-2)}.exercise-picker__region{color:var(--color-text-secondary);font-size:var(--font-size-xs);letter-spacing:.5px;text-transform:uppercase}.block-editor{margin:0 auto;max-width:1100px;padding:var(--space-5) var(--space-5) var(--space-10)}.block-editor__loading{color:var(--color-text-secondary);padding:var(--space-10);text-align:center}.block-editor__snapshot-hint{background:var(--color-button-secondary);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal);margin:var(--space-4) 0;padding:var(--space-3) var(--space-4)}.block-editor__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-5);padding:var(--space-5)}.block-editor__section-title{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--space-3);margin:0 0 var(--space-4) 0}.block-editor__section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.block-editor__section-header .block-editor__section-title{margin:0}.block-editor__fields{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.block-editor__fields .ui-form-field{margin-bottom:0}@media (max-width:700px){.block-editor__fields{grid-template-columns:1fr}}.block-editor__empty-exercises{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--space-8);text-align:center}.block-editor__exercises{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.block-editor__exercise-row{grid-gap:var(--space-3);align-items:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-3);grid-template-columns:auto auto 1fr auto auto auto auto;padding:var(--space-3)}.block-editor__drag-handle{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:grab;display:flex;font-size:var(--font-size-lg);justify-content:center;line-height:1;min-height:44px;min-width:44px;padding:var(--space-2);touch-action:none;transition:var(--transition-fast);-webkit-user-select:none;user-select:none}.block-editor__drag-handle:hover{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.block-editor__drag-handle:active{cursor:grabbing}.block-editor__drag-handle:focus-visible{box-shadow:var(--shadow-focus);outline:none}.block-editor__order-num{color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:24px;text-align:center}.block-editor__exercise-info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.block-editor__exercise-name{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-editor__exercise-tag{align-self:flex-start;background:var(--color-button-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary-dark);font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:1px var(--space-2)}.block-editor__qty{display:flex;gap:var(--space-1)}.block-editor__qty input{width:70px}.block-editor__qty input,.block-editor__qty select{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-2)}.block-editor__qty select{background:var(--color-input-background)}.block-editor__tempo{display:flex;flex-direction:column;gap:2px}.block-editor__rest-label,.block-editor__tempo-label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.5px;text-transform:uppercase}.block-editor__tempo-inputs{display:flex;gap:2px}.block-editor__tempo-inputs input{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-1);text-align:center;width:38px}.block-editor__rest{display:flex;flex-direction:column;gap:2px}.block-editor__rest input{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:var(--font-size-sm);padding:var(--space-2);text-align:right;width:60px}.block-editor__rest-unit{display:none}.block-editor__exercise-row>.ui-button{flex-shrink:0}@media (max-width:900px){.block-editor__exercise-row{gap:var(--space-2);grid-template-columns:1fr}}.block-editor__delete-body{color:var(--color-text-primary);font-size:var(--font-size-md);line-height:var(--line-height-normal);margin:0 0 var(--space-3) 0}.block-editor__delete-hint{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0}.client-roster{margin:0 auto;max-width:880px;padding:var(--space-5) var(--space-5) var(--space-10)}.client-roster__loading{color:var(--color-text-secondary);padding:var(--space-10);text-align:center}.client-roster__error{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4)}.client-roster__list{display:flex;flex-direction:column;gap:var(--space-3);list-style:none;margin:var(--space-5) 0 0 0;padding:0}.client-roster__card{grid-gap:var(--space-4);align-items:center;display:grid;gap:var(--space-4);grid-template-columns:auto 1fr auto;padding:var(--space-4)}.client-roster__avatar{align-items:center;background:var(--color-primary);border-radius:var(--radius-full);color:var(--color-white);display:flex;flex-shrink:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);height:48px;justify-content:center;letter-spacing:.5px;width:48px}.client-roster__info{min-width:0}.client-roster__name{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-roster__username{color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-xs);margin-top:2px}.client-roster__since{color:var(--color-text-tertiary);font-size:var(--font-size-xs);margin-top:4px}.client-roster__chevron{align-items:center;color:var(--color-text-tertiary);display:flex;margin-right:var(--space-2)}.assign-modal__intro{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0 0 var(--space-4) 0}.assign-modal__inline-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font:inherit;padding:0;text-decoration:underline}.assign-modal__inline-link:hover{color:var(--color-primary-dark)}.assign-modal__empty,.assign-modal__loading{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--space-6);text-align:center}.assign-modal__list{border:1px solid var(--color-border);border-radius:var(--radius-md);list-style:none;margin:0;max-height:40vh;overflow-y:auto;padding:0}.assign-modal__row{align-items:flex-start;border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);transition:var(--transition-fast)}.assign-modal__row:last-child{border-bottom:none}.assign-modal__row:hover{background:var(--color-button-secondary)}.assign-modal__row.is-selected{background:var(--color-badge-client-bg)}.assign-modal__radio{accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;height:18px;margin-top:2px;width:18px}.assign-modal__row-body{display:flex;flex:1 1;flex-direction:column;gap:var(--space-1);min-width:0}.assign-modal__row-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.assign-modal__row-name{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.assign-modal__row-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-secondary);display:-webkit-box;font-size:var(--font-size-xs);line-height:var(--line-height-normal);overflow:hidden}.assign-modal__row-summary{color:var(--color-text-tertiary);font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.assign-modal__schedule{border-top:1px solid var(--color-border);margin-top:var(--space-5);padding-top:var(--space-4)}.assign-modal__evergreen-toggle{align-items:flex-start;color:var(--color-text-primary);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--space-2);margin-bottom:var(--space-4)}.assign-modal__evergreen-toggle input[type=checkbox]{cursor:pointer;flex-shrink:0;height:16px;margin-top:2px;width:16px}.assign-modal__evergreen-hint{color:var(--color-text-secondary);font-weight:var(--font-weight-regular)}.assign-modal__schedule-title{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.5px;margin:0 0 var(--space-3) 0;text-transform:uppercase}.assign-modal__schedule-fields{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.assign-modal__schedule-fields .ui-form-field{margin-bottom:var(--space-3)}@media (max-width:600px){.assign-modal__schedule-fields{grid-template-columns:1fr}}.client-detail{margin:0 auto;max-width:880px;padding:var(--space-5) var(--space-5) var(--space-10)}.client-detail__error{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4)}.client-detail__loading{color:var(--color-text-secondary);padding:var(--space-10);text-align:center}.client-detail__list{display:flex;flex-direction:column;gap:var(--space-3);list-style:none;margin:var(--space-5) 0 0 0;padding:0}.client-detail__card{grid-gap:var(--space-4);align-items:flex-start;display:grid;gap:var(--space-4);grid-template-columns:1fr auto}.client-detail__card--library{grid-template-columns:auto 1fr auto}.client-detail__card-name{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.client-detail__card-when{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--space-1)}.client-detail__card-notes{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-tertiary);display:-webkit-box;font-size:var(--font-size-xs);font-style:italic;margin-top:var(--space-2);overflow:hidden;text-overflow:ellipsis}.client-detail__library-icon{color:var(--color-primary);flex-shrink:0;margin-top:3px}.client-detail__remove-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;display:flex;padding:var(--space-1);transition:var(--transition-fast)}.client-detail__remove-btn:hover:not(:disabled){background:var(--color-button-secondary);color:#dc2626;color:var(--color-error,#dc2626)}.client-detail__remove-btn:disabled{cursor:not-allowed;opacity:.4}.workout-list{margin:0 auto;max-width:1200px;padding:var(--space-5) var(--space-5) var(--space-10)}.workout-list__filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-5) 0 var(--space-4)}.workout-list__chip{background:var(--color-button-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--space-2) var(--space-4);transition:var(--transition-fast)}.workout-list__chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.workout-list__chip:focus-visible{box-shadow:var(--shadow-focus);outline:none}.workout-list__chip.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.workout-list__loading{color:var(--color-text-secondary);padding:var(--space-10);text-align:center}.workout-list__error{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4)}.workout-list__grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));list-style:none;margin:0;padding:0}.workout-list__card{display:flex;flex-direction:column;gap:var(--space-3);min-height:140px}.workout-list__card-header{align-items:flex-start;display:flex;gap:var(--space-3);justify-content:space-between}.workout-list__card-name{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}.workout-list__card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-secondary);display:-webkit-box;font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0;overflow:hidden}.workout-list__card-footer{align-items:baseline;border-top:1px solid var(--color-border);display:flex;gap:var(--space-3);justify-content:space-between;margin-top:auto;padding-top:var(--space-3)}.workout-list__card-summary{color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.workout-list__card-date{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.workout-list__card-actions{align-items:center;display:flex;flex-shrink:0;gap:var(--space-3)}.workout-list__duplicate-btn{align-items:center;background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:var(--font-size-xs);gap:4px;padding:3px 8px;transition:color .15s,border-color .15s,background .15s;white-space:nowrap}.workout-list__duplicate-btn:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.workout-list__duplicate-btn:disabled{cursor:not-allowed;opacity:.5}.block-picker__toolbar{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4)}.block-picker__filters{display:flex;flex:1 1;flex-wrap:wrap;gap:var(--space-2)}.block-picker__chip{background:var(--color-button-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--space-1) var(--space-3);transition:var(--transition-fast)}.block-picker__chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.block-picker__chip.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.block-picker__search{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);width:100%}.block-picker__search:focus{border-color:var(--color-primary);outline:none}.block-picker__empty,.block-picker__loading{color:var(--color-text-secondary);padding:var(--space-6);text-align:center}.block-picker__list{border:1px solid var(--color-border);border-radius:var(--radius-md);list-style:none;margin:0;max-height:50vh;overflow-y:auto;padding:0}.block-picker__row{align-items:center;border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);transition:var(--transition-fast)}.block-picker__row:last-child{border-bottom:none}.block-picker__row:hover:not(.is-excluded){background:var(--color-button-secondary)}.block-picker__row.is-selected{background:var(--color-badge-client-bg)}.block-picker__row.is-excluded{cursor:not-allowed;opacity:.5}.block-picker__checkbox{cursor:pointer;flex-shrink:0;height:18px;width:18px}.block-picker__name{color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.block-picker__excluded-tag{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);margin-left:var(--space-2)}.block-picker__count{color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.workout-editor{margin:0 auto;max-width:1200px;padding:var(--space-5) var(--space-5) var(--space-10)}.workout-editor__loading{color:var(--color-text-secondary);padding:var(--space-10);text-align:center}.workout-editor__client-banner,.workout-editor__snapshot-hint{background:var(--color-button-secondary);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:var(--space-4) 0;padding:var(--space-3) var(--space-4)}.workout-editor__client-banner strong{color:var(--color-text-primary)}.workout-editor__client-username{color:var(--color-text-tertiary);font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.workout-editor__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-5);padding:var(--space-5)}.workout-editor__section-title{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--space-3);margin:0 0 var(--space-4) 0}.workout-editor__section-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4)}.workout-editor__section-header .workout-editor__section-title{margin:0}.workout-editor__add-buttons{display:flex;gap:var(--space-2)}.workout-editor__fields{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.workout-editor__fields .ui-form-field{margin-bottom:var(--space-4)}@media (max-width:700px){.workout-editor__fields{grid-template-columns:1fr}}.workout-editor__empty{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--space-8);text-align:center}.workout-editor__items{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.workout-editor__item-row{grid-gap:var(--space-3);align-items:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-3);grid-template-columns:auto auto auto 1fr auto auto auto auto auto;padding:var(--space-3)}.workout-editor__item-row:has(.workout-editor__block-info){grid-template-columns:auto auto auto 1fr auto}.workout-editor__drag-handle{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:grab;display:flex;font-size:var(--font-size-lg);justify-content:center;line-height:1;min-height:44px;min-width:44px;padding:var(--space-2);touch-action:none;transition:var(--transition-fast);-webkit-user-select:none;user-select:none}.workout-editor__drag-handle:hover{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.workout-editor__drag-handle:active{cursor:grabbing}.workout-editor__drag-handle:focus-visible{box-shadow:var(--shadow-focus);outline:none}.workout-editor__order-num{color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:24px;text-align:center}.workout-editor__block-info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.workout-editor__block-name{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.workout-editor__block-meta{color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.workout-editor__expand-btn{background:none;border:none;color:var(--color-primary);cursor:pointer;font-family:inherit;font-size:var(--font-size-xs);padding:0;text-decoration:underline}.workout-editor__block-exercises{display:flex;flex-direction:column;gap:var(--space-1);list-style:decimal;margin:var(--space-2) 0 0 var(--space-5);padding:0}.workout-editor__block-exercises li{align-items:center;color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:var(--font-size-xs);gap:var(--space-2)}.workout-editor__be-name{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.workout-editor__be-tag{background:var(--color-button-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary-dark);font-size:var(--font-size-xs);padding:1px var(--space-1)}.workout-editor__be-meta,.workout-editor__be-tag{font-family:var(--font-family-mono)}.workout-editor__exercise-info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.workout-editor__exercise-name{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workout-editor__exercise-tag{align-self:flex-start;background:var(--color-button-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary-dark);font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:1px var(--space-2)}.workout-editor__qty{display:flex;gap:var(--space-1)}.workout-editor__qty input{width:70px}.workout-editor__qty input,.workout-editor__qty select{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-sm);padding:var(--space-2)}.workout-editor__qty select{background:var(--color-input-background)}.workout-editor__cycles,.workout-editor__rest,.workout-editor__tempo{display:flex;flex-direction:column;gap:2px}.workout-editor__small-label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.5px;text-transform:uppercase}.workout-editor__cycles input{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:var(--font-size-sm);padding:var(--space-2);text-align:center;width:56px}.workout-editor__tempo-inputs{display:flex;gap:2px}.workout-editor__tempo-inputs input{padding:var(--space-2) var(--space-1);text-align:center;width:38px}.workout-editor__rest input,.workout-editor__tempo-inputs input{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:var(--font-size-sm)}.workout-editor__rest input{padding:var(--space-2);text-align:right;width:60px}@media (max-width:1100px){.workout-editor__item-row{gap:var(--space-2);grid-template-columns:1fr}.workout-editor__item-row:has(.workout-editor__block-info){grid-template-columns:1fr}}.workout-editor__library-toggle{align-items:flex-start;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3)}.workout-editor__library-toggle input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;margin-top:2px;width:18px}.workout-editor__library-toggle>span{display:flex;flex-direction:column;gap:var(--space-1)}.workout-editor__library-hint{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular)}.workout-editor__delete-body{color:var(--color-text-primary);font-size:var(--font-size-md);line-height:var(--line-height-normal);margin:0 0 var(--space-3) 0}.workout-editor__delete-hint{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0}.timer-bar{align-items:center;background:var(--color-surface);border-top:1px solid var(--color-border);bottom:0;box-shadow:0 -2px 8px rgba(var(--color-shadow-rgb),.06);display:flex;font-family:var(--font-family-base);gap:var(--space-3);left:0;padding:var(--space-3) var(--space-5) max(var(--space-3),env(safe-area-inset-bottom)) var(--space-5);position:fixed;right:0;z-index:30}.timer-bar__label{color:var(--color-text-secondary);letter-spacing:.5px;text-transform:uppercase}.timer-bar__btn,.timer-bar__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.timer-bar__btn{background:var(--color-button-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-family:var(--font-family-base);min-height:40px;min-width:56px;padding:var(--space-2) var(--space-4);transition:var(--transition-fast)}.timer-bar__btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.timer-bar__btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.timer-bar__btn--preset{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timer-bar__btn--cancel{background:var(--color-feedback-error-bg);border-color:var(--color-feedback-error-bg);color:var(--color-feedback-error-text)}.timer-bar__btn--cancel:hover{background:var(--color-feedback-error-text);border-color:var(--color-feedback-error-text);color:var(--color-white)}.timer-bar__btn--extend{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.timer-bar__btn--extend:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-white)}.timer-bar.is-running{background:var(--color-primary-soft);border-top-color:var(--color-cornflower)}.timer-bar__display{align-items:center;display:flex;flex:1 1;gap:var(--space-3)}.timer-bar__clock{font-feature-settings:"tnum";align-items:center;color:var(--color-primary);display:inline-flex;font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-bold);gap:var(--space-2);min-width:110px}.timer-bar__progress{background:var(--color-border);border-radius:var(--radius-full);flex:1 1;height:8px;overflow:hidden}.timer-bar__progress-fill{background:var(--color-primary);height:100%;transition:width 1s linear}@media (max-width:600px){.timer-bar{flex-wrap:wrap;gap:var(--space-2)}.timer-bar,.timer-bar__btn{padding:var(--space-2) var(--space-3)}.timer-bar__btn{min-width:48px}}.assignment-detail{margin:0 auto;max-width:900px;padding:var(--space-5) var(--space-5) var(--space-10);padding-bottom:120px}.assignment-detail__loading{color:var(--color-text-secondary);padding:var(--space-10);text-align:center}.assignment-detail__summary{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-5)}.assignment-detail__summary-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3)}.assignment-detail__when{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.assignment-detail__by{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.assignment-detail__description,.assignment-detail__trainer-notes{color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0}.assignment-detail__trainer-notes{background:var(--color-primary-soft);border-left:3px solid var(--color-cornflower);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.assignment-detail__section-title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-3) 0}.assignment-detail__session-card{margin-top:var(--space-5);overflow:hidden;padding:0}.assignment-detail__sections{display:flex;flex-direction:column}.assignment-detail__section-group{border-bottom:1px solid var(--color-border);padding:var(--space-4) var(--space-5)}.assignment-detail__section-group:last-child{border-bottom:none}.assignment-detail__section-header{align-items:center;display:flex;gap:var(--space-3);margin-bottom:var(--space-2)}.assignment-detail__section-header:after{background:var(--color-border);content:"";flex:1 1;height:1px}.assignment-detail__section-label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.assignment-detail__block-meta{color:var(--color-text-tertiary);font-size:var(--font-size-xs);margin-bottom:var(--space-3)}.assignment-detail__table-head,.assignment-detail__table-row{grid-gap:var(--space-3);align-items:start;display:grid;gap:var(--space-3);grid-template-columns:1fr 3.5rem 4.5rem 3rem}.assignment-detail__table-head{border-bottom:1px solid var(--color-border);margin-bottom:var(--space-1);padding-bottom:var(--space-2)}.assignment-detail__table-head span{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.06em;text-transform:uppercase}.assignment-detail__table-row{border-bottom:1px solid var(--color-border);padding:var(--space-3) 0}.assignment-detail__table-row:last-child{border-bottom:none}.assignment-detail__col-name{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.assignment-detail__ex-name{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.assignment-detail__cues{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-style:italic;line-height:var(--line-height-normal)}.assignment-detail__col-reps,.assignment-detail__col-rest,.assignment-detail__col-tempo{color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-sm);padding-top:1px;white-space:nowrap}.assignment-detail__col-reps{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.assignment-detail__notes-section{margin-top:var(--space-5)}.assignment-detail__notes-section .ui-form-field{margin-bottom:0}.assignment-detail__status-section{margin-top:var(--space-5)}.assignment-detail__status-buttons{display:flex;flex-wrap:wrap;gap:var(--space-3)}.assignment-detail__timer-spacer{height:var(--space-5)}.stats-dash{margin:0 auto;max-width:1000px;padding:var(--space-5) var(--space-5) var(--space-10)}.stats-dash__header{margin-bottom:var(--space-5)}.stats-dash__greeting{color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:600;line-height:1.15;margin:0 0 var(--space-2) 0}.stats-dash__greeting .accent-name{color:var(--color-primary);font-style:italic}.stats-dash__sub{color:var(--color-text-secondary);font-size:var(--font-size-md);margin:0}.stats-dash__error{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4)}.stats-dash__loading{color:var(--color-text-secondary);padding:var(--space-10);text-align:center}.stats-dash__grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:var(--space-5)}.stats-dash__tile{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5)}.stats-dash__tile-value{font-feature-settings:"tnum";color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--font-size-3xl);font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.stats-dash__tile-label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.5px;text-transform:uppercase}.stats-dash__tile--emphasis .stats-dash__tile-value{color:var(--color-primary)}.stats-dash__streak-value{align-items:baseline;display:inline-flex;gap:var(--space-2)}.stats-dash__streak-icon{color:var(--color-warning)}.stats-dash__tile--regions{grid-column:span 1}.stats-dash__regions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.stats-dash__regions-empty{color:var(--color-text-tertiary);font-family:var(--font-family-mono)}.stats-dash__section{margin-top:var(--space-8)}.stats-dash__section-title{color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;line-height:1.15;margin:0 0 var(--space-3) 0}.stats-dash__next{grid-gap:var(--space-4);align-items:center;background:linear-gradient(135deg,var(--color-primary-soft) 0,transparent 100%);border-color:var(--color-primary);display:grid;gap:var(--space-4);grid-template-columns:1fr auto;padding:var(--space-5)}.stats-dash__next-body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.stats-dash__next-name{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.stats-dash__next-when{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.stats-dash__next-notes{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic;margin-top:var(--space-2)}.stats-dash__chevron{align-items:center;color:var(--color-text-tertiary);display:flex}.stats-dash__recent{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.stats-dash__recent-row{grid-gap:var(--space-3);align-items:center;display:grid;gap:var(--space-3);grid-template-columns:1fr auto;padding:var(--space-3) var(--space-4)}.stats-dash__recent-name{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.stats-dash__recent-meta{align-items:center;display:flex;gap:var(--space-3)}.stats-dash__recent-date{color:var(--color-text-tertiary);font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.stats-dash__library-icon{color:var(--color-primary);flex-shrink:0}.stats-dash__library-notes{color:var(--color-text-secondary);font-size:var(--font-size-xs);grid-column:1/-1;margin-top:calc(var(--space-1)*-1)}
/*# sourceMappingURL=main.e623c388.css.map*/