:root{color:#17191c;background:#f4f0e8;font-family:Aptos,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell,.login-shell,.public-shell,.dashboard-shell{margin-inline:auto;min-height:100vh;padding:28px;width:min(100%,976px)}.login-shell,.public-shell{align-items:center;display:flex;justify-content:center}.login-panel,.public-panel,.next-panel,.missed-panel,.reminder-panel,.progression-panel,.settings-panel,.workout-detail,.workout-card-button,.exercise-row,.progression-row{background:#fffdf8;border:1px solid #d8d0c2;border-radius:8px}.login-panel{box-shadow:0 16px 36px #1414141f;max-width:420px;padding:24px;width:100%}.public-panel{max-width:520px;padding:28px;width:100%}.public-history-shell{align-items:stretch;display:block;max-width:1040px}.public-history-header{margin-bottom:20px}.public-month-label{align-items:center;display:flex;min-height:36px}.public-history-layout{display:grid;gap:18px;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr)}.public-calendar-panel,.public-detail-panel{background:#fffdf8;border:1px solid #d8d0c2;border-radius:8px;padding:16px}.public-calendar-grid{display:grid;gap:8px;grid-template-columns:repeat(7,minmax(0,1fr))}.public-day-button{background:#f4f0e8;border:1px solid #d8d0c2;border-radius:7px;color:#17191c;min-height:54px;padding:8px 6px;text-align:left}.public-day-button.selected{background:#17191c;border-color:#17191c;color:#fff}.public-day-button strong,.public-day-button small{display:block}.public-day-button small{color:inherit;font-size:12px;font-weight:800;margin-top:4px}.public-session{background:#fffdf8}.public-note{color:#4f554d;margin:12px 0 0}.dashboard-shell{max-width:920px}.dashboard-header,.header-actions,.action-row{align-items:center;display:flex;gap:16px;justify-content:space-between}.header-actions{flex-wrap:wrap;justify-content:flex-end}.eyebrow,.label{color:#646159;display:block;font-size:12px;font-weight:800;letter-spacing:0;margin:0 0 7px;text-transform:uppercase}h1{font-family:Georgia,Times New Roman,serif;font-size:42px;line-height:1;margin:0}h2{margin:24px 0 10px}.lede,.status-note{color:#4f554d;line-height:1.45;margin:10px 0 0}.date-field{display:grid;gap:7px;margin-top:16px;max-width:220px}.date-field span{color:#4f554d;font-size:14px;font-weight:800}.date-field input{border:1px solid #d8d0c2;border-radius:7px;min-height:40px;padding:8px 10px}.login-form{display:grid;gap:14px;margin-top:22px}.login-form label{display:grid;gap:7px}.login-form input:not([type=checkbox]){border:1px solid #d8d0c2;border-radius:7px;min-height:40px;padding:8px 10px}.check-label{align-items:center;display:flex!important;flex-direction:row}.login-form button,.action-row button{background:#d95040;border:1px solid #d95040;border-radius:7px;color:#fff;font-weight:800;min-height:42px;padding:9px 14px}.password-field{display:block;position:relative}.password-field input{padding-right:46px;width:100%}.password-toggle{align-items:center;background:transparent;border:0;border-radius:6px;color:#646159;display:inline-flex;height:34px;justify-content:center;padding:0;position:absolute;right:4px;top:50%;transform:translateY(-50%);width:38px}.admin-form .password-toggle{background:transparent;border:0;border-radius:6px;color:#646159;min-height:38px;min-width:38px;padding:0}.password-toggle:hover{color:#17191c}.password-toggle:focus-visible{color:#17191c;outline:2px solid #d95040;outline-offset:2px}.password-toggle svg{fill:none;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;width:20px}.secondary-button{background:#fffdf8;border:1px solid #d8d0c2;border-radius:7px;color:#17191c;font-weight:800;min-height:42px;padding:9px 14px}.compact-button{min-height:36px;padding:7px 11px}.error-text{color:#9c2f26;font-weight:800}.sync-pill{background:#17191c;border-radius:999px;color:#fff;font-size:13px;font-weight:800;padding:7px 11px}.sync-button{border:1px solid #17191c}.sync-button:hover{background:#2b8066;border-color:#2b8066}.next-panel{border-left:5px solid #2b8066;margin-top:22px;padding:16px}.next-panel strong,.next-panel small{display:block}.next-panel small{color:#646159;margin-top:5px}.reminder-panel{border-left:5px solid #17191c;margin-top:16px;padding:16px}.reminder-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.reminder-row strong{display:block}.missed-panel{border-left:5px solid #9c2f26;margin-top:16px;padding:16px}.missed-panel h2{margin:0}.workout-grid,.exercise-list,.pending-list,.missed-list{display:grid;gap:10px}.missed-list{margin-top:12px}.missed-card-button em{color:#9c2f26}.pending-panel{margin-top:16px}.progression-panel{border-left:5px solid #d95040;margin-top:16px;padding:16px}.progression-panel h2{margin:0}.progression-copy{color:#4f554d;line-height:1.45;margin:10px 0 14px}.progression-list{display:grid;gap:10px}.progression-row{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) 112px;padding:12px}.progression-row strong,.progression-row small{display:block}.progression-row small{color:#646159;margin-top:4px}.progression-row input{border:1px solid #d8d0c2;border-radius:7px;min-height:38px;min-width:0;padding:7px 9px;width:100%}.progression-actions{margin-top:14px}.section-heading{align-items:center;display:flex;gap:12px;justify-content:space-between}.section-heading h2{margin-bottom:10px}.section-heading span{color:#646159;font-weight:800}.section-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.pending-row{align-items:center;background:#fffdf8;border:1px solid #d8d0c2;border-radius:8px;display:flex;justify-content:space-between;padding:12px 14px}.pending-row strong,.pending-row small{display:block}.pending-row small{color:#646159;margin-top:4px}.pending-row em{color:#9c2f26;font-style:normal;font-weight:800}.history-filters{align-items:end;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}.history-filters label{display:grid;gap:6px}.history-filters span{color:#646159;font-size:12px;font-weight:800;text-transform:uppercase}.history-filters input,.history-filters select{background:#fffdf8;border:1px solid #d8d0c2;border-radius:7px;min-height:40px;padding:8px 10px;width:100%}.history-days{display:grid;gap:18px;margin-top:20px}.history-day h2{margin-top:0}.history-session-list,.history-exercises{display:grid;gap:10px}.history-session{background:#fffdf8;border:1px solid #d8d0c2;border-radius:8px;padding:14px}.history-session-heading{align-items:center;display:flex;gap:12px;justify-content:space-between}.history-session-heading strong,.history-session-heading small{display:block}.history-session-heading small,.history-session-heading em,.history-exercises small{color:#646159}.history-session-heading em{font-style:normal;font-weight:800}.history-exercises{list-style:none;margin:12px 0 0;padding:0}.history-exercises li{display:flex;gap:10px;justify-content:space-between}.settings-panel{display:grid;gap:16px;margin-top:18px;padding:18px}.settings-list{border-top:1px solid #d8d0c2;display:grid;gap:2px;padding-top:10px}.settings-toggle{align-items:center;color:#17191c;display:flex;gap:12px;justify-content:space-between;padding:10px 0}.settings-toggle input{height:18px;width:18px}.settings-toggle input:disabled+span{color:#8f877b}.settings-toggle span{display:grid;gap:4px}.settings-toggle small{color:#646159}.plan-layout{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);margin-top:18px}.plan-column,.plan-day-list,.plan-template-list,.plan-slot-list,.plan-exercise-list{display:grid;gap:12px}.plan-panel,.plan-preview,.plan-preview-item{background:#fffdf8;border:1px solid #d8d0c2;border-radius:8px}.plan-panel{min-width:0;padding:14px}.plan-panel-heading{align-items:start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.plan-title-field{flex:1;min-width:240px}.plan-field-grid,.plan-slot-row,.plan-exercise-row{display:grid;gap:10px}.plan-field-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-slot-row{align-items:end;border-top:1px solid #e3dccc;grid-template-columns:minmax(150px,1.2fr) minmax(112px,.7fr) minmax(190px,1.4fr) minmax(110px,auto);padding-top:12px}.plan-exercise-row{align-items:end;border-top:1px solid #e3dccc;grid-template-columns:minmax(220px,2fr) minmax(80px,.6fr) minmax(90px,.7fr) minmax(120px,.8fr);padding-top:12px}.plan-slot-row button,.plan-exercise-row button{justify-self:start;min-width:82px}.plan-field-grid label,.plan-panel-heading label,.plan-slot-row label,.plan-exercise-row label{display:grid;gap:6px}.plan-field-grid span,.plan-panel-heading span,.plan-slot-row span,.plan-exercise-row span{color:#646159;font-size:12px;font-weight:800;text-transform:uppercase}.plan-field-grid input,.plan-field-grid select,.plan-panel-heading input,.plan-slot-row input,.plan-slot-row select,.plan-exercise-row input{background:#fffdf8;border:1px solid #d8d0c2;border-radius:7px;min-height:40px;min-width:0;padding:8px 10px;width:100%}.plan-required{align-items:center;gap:8px;min-height:40px}.plan-required input{min-height:auto;width:auto}.plan-static-value{align-items:center;background:#f4f0e8;border:1px solid #d8d0c2;border-radius:7px;display:flex;min-height:40px;padding:8px 10px}.plan-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.plan-actions button:first-child{background:#d95040;border:1px solid #d95040;border-radius:7px;color:#fff;font-weight:800;min-height:42px;padding:9px 14px}.plan-preview{margin-top:18px;padding:16px}.plan-preview-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.plan-preview-item{padding:12px}.plan-preview-item ul{display:grid;gap:8px;list-style:none;margin:10px 0 0;padding:0}.plan-preview-item li{display:grid;gap:3px}.plan-preview-item small{color:#646159}.admin-shell{max-width:1120px}.admin-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.admin-tabs button{background:#fffdf8;border:1px solid #d8d0c2;border-radius:7px;color:#17191c;font-weight:800;min-height:40px;padding:8px 13px}.admin-tabs button.selected,.admin-user-list>button.selected,.admin-user-card.selected{background:#17191c;border-color:#17191c;color:#fff}.admin-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.library-grid{grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr)}.admin-panel{background:#fffdf8;border:1px solid #d8d0c2;border-radius:8px;min-width:0;padding:16px}.library-editor-panel{align-self:start}.admin-panel h2{margin-top:0}.admin-form,.admin-user-list,.admin-plan-editor{display:grid;gap:12px}.admin-search-form{margin-bottom:12px}.library-meta-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:18px}.admin-form label{display:grid;gap:6px}.admin-form span{color:#646159;font-size:12px;font-weight:800;text-transform:uppercase}.admin-form input,.admin-form select{background:#fffdf8;border:1px solid #d8d0c2;border-radius:7px;min-height:40px;min-width:0;padding:8px 10px;width:100%}.admin-form button{background:#d95040;border:1px solid #d95040;border-radius:7px;color:#fff;font-weight:800;min-height:42px;padding:9px 14px}.admin-summary{background:#f4f0e8;border:1px solid #d8d0c2;border-radius:8px;display:grid;gap:4px;padding:12px}.admin-summary small{color:#646159}.admin-user-list>button,.admin-user-card{align-items:center;background:#fffdf8;border:1px solid #d8d0c2;border-radius:8px;color:#17191c;display:flex;gap:12px;justify-content:space-between;min-height:58px;padding:12px;text-align:left;width:100%}.admin-user-select-button{align-items:center;background:transparent;border:0;color:inherit;display:flex;flex:1;gap:12px;justify-content:space-between;min-height:0;min-width:0;padding:0;text-align:left}.admin-user-delete-button{align-items:center;background:transparent;border:0;border-radius:6px;color:inherit;display:inline-flex;flex:0 0 auto;height:36px;justify-content:center;padding:0;width:36px}.admin-user-delete-button:hover:not(:disabled){background:#9c2f261f;color:#9c2f26}.admin-user-card.selected .admin-user-delete-button:hover:not(:disabled){background:#fffdf829;color:#fffdf8}.admin-user-delete-button svg{fill:none;height:19px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;width:19px}.admin-card-actions{align-items:center;display:flex;flex:0 0 auto;gap:4px}.admin-icon-button{align-items:center;background:transparent;border:0;border-radius:6px;color:inherit;display:inline-flex;height:36px;justify-content:center;padding:0;width:36px}.admin-icon-button:hover:not(:disabled){background:#fffdf829}.admin-library-card:not(.selected) .admin-icon-button:hover:not(:disabled){background:#17191c14}.admin-icon-button.danger-icon-button:hover:not(:disabled){color:#9c2f26}.admin-icon-button svg{fill:none;height:19px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;width:19px}.modal-backdrop{align-items:center;background:#17191c6b;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px;position:fixed;z-index:20}.modal-panel{background:#fffdf8;border:1px solid #d8d0c2;border-radius:8px;box-shadow:0 20px 48px #17191c42;display:grid;gap:16px;max-width:420px;padding:18px;width:min(100%,420px)}.modal-panel h2{margin:0}.modal-copy{color:#4f554d;line-height:1.45;margin:10px 0 0}.modal-panel label{display:grid;gap:6px}.modal-panel label span{color:#646159;font-size:12px;font-weight:800;text-transform:uppercase}.modal-panel input{background:#fffdf8;border:1px solid #d8d0c2;border-radius:7px;min-height:40px;min-width:0;padding:8px 10px;width:100%}.modal-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end}.danger-button{background:#9c2f26;border:1px solid #9c2f26;border-radius:7px;color:#fff;font-weight:800;min-height:42px;padding:9px 14px}.danger-button:disabled{background:#e6dfd3;border-color:#c8bdad;color:#777066}.admin-user-list strong,.admin-user-list small{display:block}.admin-user-list small{color:inherit;margin-top:4px}.admin-user-list em{color:inherit;font-style:normal;font-weight:800}.admin-plan-editor .section-heading{margin-top:18px}.primary-toggle{align-items:flex-start;justify-content:flex-start}.success-text{color:#2b8066;font-weight:800;margin:0}.workout-card-button{align-items:center;color:inherit;display:flex;justify-content:space-between;padding:14px;text-align:left}.workout-card-button strong,.workout-card-button small{display:block}.workout-card-button small{color:#646159;margin-top:4px}.workout-card-button em{color:#2b8066;font-style:normal;font-weight:800}.empty-state{border:1px dashed #d8d0c2;border-radius:8px;color:#646159;margin:0;padding:14px}.detail-header{display:flex;margin-bottom:18px}.workout-detail{padding:18px}.exercise-list{margin-top:16px}.exercise-row{align-items:center;display:grid;gap:12px;grid-template-columns:auto 1fr;padding:14px}.exercise-row strong,.exercise-row small{display:block}.exercise-row small{color:#646159;margin-top:4px}.action-row{justify-content:flex-start;margin-top:18px}.action-row .secondary-button{background:#fffdf8;border-color:#d8d0c2;color:#17191c}.action-row button:disabled,.action-row .secondary-button:disabled{background:#e6dfd3;border-color:#c8bdad;color:#777066;cursor:not-allowed}@media(max-width:720px){.dashboard-header,.header-actions,.action-row,.history-session-heading,.history-exercises li,.plan-panel-heading,.modal-actions,.plan-actions{align-items:stretch;flex-direction:column}.history-filters,.progression-row,.public-history-layout,.plan-layout,.admin-grid,.library-grid,.library-meta-form,.plan-field-grid.two-columns,.plan-slot-row,.plan-exercise-row,.plan-preview-grid{grid-template-columns:1fr}}
