/* FPS administration: white workspace, visual resources and weekly planning. */
#fps-preview[data-mode=admin] .fp-phone{max-width:none;min-height:100vh;grid-template-columns:216px minmax(0,1fr);background:#fff;box-shadow:none;border:0;border-radius:0}
#fps-preview[data-mode=admin] .fp-workspace{padding:32px 36px;min-width:0;grid-column:2;grid-row:2}
#fps-preview[data-mode=admin] header{padding:18px 30px;grid-column:1/-1;background:#fff}
#fps-preview[data-mode=admin] nav{grid-column:1;grid-row:2;background:#fff;border-right:1px solid #eceef1;padding:26px 14px;align-content:start;position:sticky;top:0;height:calc(100vh - 110px);gap:6px;display:flex;flex-direction:column}
#fps-preview[data-mode=admin] nav button{text-align:left;border:0;background:#fff;border-radius:10px;padding:15px 18px;color:#6c7280;font-size:14px}
#fps-preview[data-mode=admin] nav button[aria-current=page]{background:#fff1f1;color:#c83239;font-weight:600}
#fps-preview[data-mode=admin] .fp-section-heading{font-size:10px;margin-bottom:25px;color:#a0a5ad}
#fps-preview[data-mode=admin] h2{font-size:30px;letter-spacing:-.8px;margin:8px 0 12px}
#fps-preview .fp-page-intro{font-size:14px;color:#818793;max-width:800px;margin-bottom:24px}
#fps-preview .fp-resource-tabs{display:flex;gap:12px;border-bottom:1px solid #eceef1;margin:25px 0;padding-bottom:14px;flex-wrap:wrap}
#fps-preview .fp-resource-tabs button{border:0;background:#fff;font-weight:500}
#fps-preview .fp-resource-tabs button[aria-current=page]{color:#c63239;background:#fff1f1}
#fps-preview .fp-resource-tabs small{font-size:10px;margin-left:8px;color:#818793}
#fps-preview .fp-library-filters{display:flex;gap:14px;flex:1;align-items:end;flex-wrap:wrap}
#fps-preview .fp-library-filters label:first-child{flex:2;min-width:180px}
#fps-preview .fp-library-filters label{flex:1;min-width:125px}
#fps-preview .fp-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
#fps-preview .fp-resource-card{border:1px solid #e6e8ed;border-radius:15px;overflow:hidden;background:#fff}
#fps-preview .fp-media{aspect-ratio:16/9;background:#f5f6f8;display:flex;position:relative;align-items:center;justify-content:center;overflow:hidden;color:#ad6970}
#fps-preview .fp-media img{width:100%;height:100%;object-fit:cover;display:block}
#fps-preview .fp-media-empty{flex-direction:column;gap:12px;background:linear-gradient(135deg,#fff3f3,#f8f9fb)}
#fps-preview .fp-media-empty svg{width:38px;height:38px}
#fps-preview .fp-media-empty small{font-size:10px;color:#aaa0a3}
#fps-preview .fp-play{position:absolute;background:#ffffffed;color:#cf3e46;right:12px;bottom:12px;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:12px}
#fps-preview .fp-resource-body{padding:18px}
#fps-preview .fp-resource-body h3{font-size:16px;margin:9px 0 14px}
#fps-preview .fp-labels{display:flex;gap:6px;flex-wrap:wrap}
#fps-preview .fp-labels span{background:#f6f7f9;border-radius:5px;font-size:10px;padding:5px 7px;color:#767d8b}
#fps-preview .fp-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}
#fps-preview .fp-editor-heading .fp-main{width:auto;white-space:nowrap}
#fps-preview .fp-inline-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
#fps-preview .fp-inline-actions button{min-height:36px;padding:7px 10px;font-size:12px}
#fps-preview .fp-editor-meta{border:1px solid #e8eaee;border-radius:12px;padding:20px;margin:20px 0 25px}
#fps-preview .fp-builder{display:grid;grid-template-columns:290px minmax(0,1fr);gap:24px;align-items:start}
#fps-preview .fp-builder-library{border:1px solid #e8eaee;border-radius:14px;padding:18px;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;background:#fff}
#fps-preview .fp-builder-library>label{display:block;margin:16px 0}
#fps-preview .fp-picker-exercise{display:flex;gap:10px;align-items:center;border-bottom:1px solid #eff0f3;padding:14px 0}
#fps-preview .fp-picker-exercise .fp-media{width:60px;height:50px;border-radius:7px;flex-shrink:0}
#fps-preview .fp-picker-exercise .fp-media small,#fps-preview .fp-builder-entry .fp-media small{display:none}
#fps-preview .fp-picker-exercise .fp-media svg{width:27px;height:27px}
#fps-preview .fp-picker-exercise>div{flex:1;min-width:0}
#fps-preview .fp-picker-exercise strong{font-size:12px;display:block}
#fps-preview .fp-picker-exercise small{font-size:10px;display:block;color:#8b919c;margin-top:5px}
#fps-preview .fp-picker-exercise button{padding:6px;min-width:32px;min-height:32px;color:#c83c43}
#fps-preview .fp-builder-block{border:1px solid #e5e8ec;border-radius:14px;margin-bottom:20px;overflow:hidden}
#fps-preview .fp-block-heading{display:flex;align-items:center;gap:12px;background:#fafbfc;padding:14px 18px;border-bottom:1px solid #e8eaee}
#fps-preview .fp-block-index{background:#ffe8e9;color:#b83d44;min-width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:600}
#fps-preview .fp-block-heading input{margin:0;border:0;background:transparent;font-weight:600;flex:1;min-width:0}
#fps-preview .fp-builder-entry{padding:20px;border-bottom:1px solid #eceef2;background:#fff}
#fps-preview .fp-builder-entry-top{display:flex;gap:13px;align-items:center;margin-bottom:15px}
#fps-preview .fp-builder-entry-top>.fp-media{width:72px;height:56px;border-radius:8px;flex-shrink:0}
#fps-preview .fp-builder-entry-top>div:nth-child(2){flex:1;min-width:0}
#fps-preview .fp-builder-entry h3{font-size:15px;margin-bottom:5px}
#fps-preview .fp-dose-grid{display:grid;grid-template-columns:60px 1.4fr 1fr 60px 1fr;gap:9px}
#fps-preview .fp-dose-grid input{font-size:13px;padding:10px 8px}
#fps-preview .fp-builder-entry details{margin-top:10px}
#fps-preview .fp-builder-entry details .fp-fields{margin-top:10px}
#fps-preview .fp-block-empty{padding:15px 20px;color:#9a9faa;font-size:12px}
#fps-preview .fp-add-to-block{border:0;border-radius:0;width:100%;color:#c6464b;background:#fff8f8;text-align:left}
#fps-preview .fp-add-block{border:1px dashed #d6dae0;border-radius:12px;padding:18px;display:flex;align-items:end;gap:15px}
#fps-preview .fp-add-block label{flex:1}
#fps-preview .fp-preview-banner{padding:15px 20px;background:#fff3f3;border-radius:12px;display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}
#fps-preview .fp-exercise-row>.fp-media{width:90px;height:65px;border-radius:8px;flex-shrink:0}
#fps-preview .fp-program-week{padding:24px 0;border-bottom:1px solid #e7eaee;margin-bottom:10px}
#fps-preview .fp-week-grid{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));gap:12px;overflow-x:auto;padding:20px 0 10px}
#fps-preview .fp-week-column{min-width:0}
#fps-preview .fp-week-day{border-radius:8px;background:#f5f6f8;padding:12px;font-size:12px;margin-bottom:10px}
#fps-preview .fp-week-day small{font-size:10px;display:block;color:#959ba6;margin-top:4px}
#fps-preview .fp-schedule-card{padding:12px;border-radius:10px;background:#fff4e7;border:1px solid #ffdfb5;margin-bottom:9px}
#fps-preview .fp-schedule-card[data-type=Tatami]{background:#fff0f2;border-color:#ffccd2}
#fps-preview .fp-schedule-card[data-type=Cardio],#fps-preview .fp-schedule-card[data-type=Caminata]{background:#edf8f7;border-color:#bde5df}
#fps-preview .fp-schedule-card small{display:block;font-size:9px;color:#a96b35;text-transform:uppercase;margin-bottom:6px}
#fps-preview .fp-schedule-card strong{font-size:12px;line-height:1.5;display:block}
#fps-preview .fp-schedule-card>span{display:block;font-size:10px;color:#868084;margin-top:8px}
#fps-preview .fp-schedule-card .fp-inline-actions{margin-top:9px;justify-content:space-between}
#fps-preview .fp-schedule-card button{font-size:10px;padding:5px 7px;min-height:28px;background:#ffffffa8;border:0}
#fps-preview .fp-day-add{display:block;width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;margin:12px auto;font-size:20px}
#fps-preview .fp-schedule-form{border:1px solid #edafb3;background:#fffafa;border-radius:16px;padding:24px;margin-top:25px}
#fps-preview .fp-schedule-form h3{margin-bottom:15px}
#fps-preview .fp-phase-card{border:1px solid #e7eaee;border-radius:16px;padding:24px;background:#fff}
#fps-preview .fp-phase-card h3{margin:18px 0 10px;font-size:21px}
#fps-preview .fp-phase-summary{display:grid;gap:12px;margin:20px 0}
#fps-preview .fp-phase-summary span{font-size:10px;color:#8e95a1}
#fps-preview .fp-phase-summary strong{display:block;margin-top:5px;font-size:13px;color:#525c6c;font-weight:500}
#fps-preview .fp-client-list{margin-top:25px}
#fps-preview .fp-client-row{width:100%;display:flex;align-items:center;gap:18px;padding:18px;text-align:left;margin-bottom:10px;border-radius:12px}
#fps-preview .fp-avatar{width:42px;height:42px;background:#fff0f1;color:#bb3d45;display:grid;place-items:center;border-radius:50%;flex-shrink:0;font-size:13px}
#fps-preview .fp-client-info{flex:1;min-width:0}
#fps-preview .fp-client-info small,#fps-preview .fp-client-progress small{display:block;margin-top:6px;color:#9a9faa;font-size:11px;overflow-wrap:anywhere}
#fps-preview .fp-client-progress{font-size:12px}
#fps-preview .fp-client-row>svg{width:18px;height:18px}
#fps-preview button:disabled{opacity:.45;cursor:default}
#fps-preview button:focus-visible,#fps-preview input:focus-visible,#fps-preview select:focus-visible{outline:2px solid #d74950;outline-offset:3px}
@media(min-width:1550px){#fps-preview .fp-library-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){#fps-preview .fp-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#fps-preview .fp-builder{grid-template-columns:230px minmax(0,1fr)}#fps-preview .fp-dose-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#fps-preview .fp-editor-heading{align-items:start;flex-wrap:wrap}}
@media(max-width:850px){#fps-preview[data-mode=admin] .fp-phone{grid-template-columns:170px minmax(0,1fr)}#fps-preview[data-mode=admin] .fp-workspace{padding:25px 20px}#fps-preview .fp-builder{grid-template-columns:1fr}#fps-preview .fp-builder-library{position:static;max-height:380px}#fps-preview .fp-client-row{flex-wrap:wrap}#fps-preview .fp-client-progress{width:100%}}
@media(max-width:650px){#fps-preview[data-mode=admin] .fp-phone{display:flex;flex-direction:column}#fps-preview[data-mode=admin] .fp-workspace{padding:20px 16px 90px}#fps-preview[data-mode=admin] nav{position:fixed;bottom:0;top:auto;left:0;right:0;height:auto;border:0;border-top:1px solid #e8eaee;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:9px 3px calc(9px + env(safe-area-inset-bottom));z-index:15}#fps-preview[data-mode=admin] nav button{padding:12px 2px;font-size:10px;text-align:center}#fps-preview[data-mode=admin] header{padding:14px 16px}#fps-preview .fp-library-grid{grid-template-columns:1fr 1fr;gap:10px}#fps-preview .fp-resource-body{padding:12px}#fps-preview .fp-resource-body h3{font-size:14px}#fps-preview .fp-resource-body .fp-actions{gap:5px}#fps-preview .fp-resource-body .fp-actions button{padding:6px;font-size:10px;min-height:36px}#fps-preview .fp-dose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#fps-preview .fp-builder-entry-top{flex-wrap:wrap}#fps-preview .fp-builder-entry-top .fp-inline-actions{margin-left:auto}#fps-preview .fp-block-heading{padding:10px;gap:5px}#fps-preview .fp-editor-heading>.fp-inline-actions{flex-wrap:wrap}#fps-preview .fp-editor-heading .fp-main{width:auto}#fps-preview .fp-add-block{flex-wrap:wrap}#fps-preview .fp-phase-card{padding:20px}#fps-preview .fp-week-grid{grid-template-columns:repeat(7,155px)}#fps-preview .fp-schedule-form{padding:18px}#fps-preview .fp-library-filters{width:100%}}
#fps-preview .fp-assignment-check{border:1px solid #e6e8ec;border-radius:12px;padding:18px;margin:20px 0;background:#fffafa}
#fps-preview .fp-assignment-check h3{font-size:15px;margin-bottom:12px}
#fps-preview .fp-assignment-check .fp-line{font-size:13px;line-height:1.6}
#fps-preview .fp-assignment-check button{margin:8px 0 0 8px;min-height:34px;font-size:11px;padding:7px 10px}
/* Orientation and truthful save feedback. */
#fps-preview[data-mode=admin] nav button{display:flex;align-items:center;gap:11px}
#fps-preview[data-mode=admin] nav button>svg{width:20px;height:20px;flex-shrink:0;color:#969da7}
#fps-preview[data-mode=admin] nav button>span{display:block}
#fps-preview[data-mode=admin] nav button small{display:block;font-size:10px;font-weight:400;color:#9ca2ac;margin-top:5px}
#fps-preview[data-mode=admin] nav button[aria-current=page]>svg{color:#c83239}
#fps-preview .fp-admin-orientation{display:flex;align-items:center;gap:10px;margin-bottom:17px;font-size:12px;color:#8a929d}
#fps-preview .fp-admin-orientation button{border:0;background:#fff;padding:5px 0;display:flex;align-items:center;gap:7px;min-height:32px;font-size:12px}
#fps-preview .fp-admin-orientation svg{width:15px;height:15px}
#fps-preview .fp-admin-orientation small{margin-left:auto;font-size:10px;color:#949ca8}
#fps-preview .fp-admin-steps{display:flex;gap:7px;flex-wrap:wrap;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #eff0f3}
#fps-preview .fp-admin-steps button{display:flex;align-items:center;gap:7px;min-height:32px;padding:6px 10px;font-size:11px;border:0;background:#f8f9fa;color:#9299a4}
#fps-preview .fp-admin-steps button>span{font-size:10px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#eef0f3}
#fps-preview .fp-admin-steps button[aria-current=step]{background:#fff0f0;color:#bd373e}
#fps-preview .fp-admin-steps button[aria-current=step]>span{background:#dc3d43;color:#fff}
#fps-preview .fp-admin-welcome{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:32px}
#fps-preview .fp-admin-welcome .fp-main{width:auto;white-space:nowrap}
#fps-preview .fp-admin-welcome p{color:#858d99;font-size:14px;max-width:600px}
#fps-preview .fp-dashboard-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin:20px 0 30px}
#fps-preview .fp-dashboard-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:20px;text-align:left;border-radius:14px;min-width:0}
#fps-preview .fp-dashboard-card strong{font-size:15px;color:#383f4b}
#fps-preview .fp-dashboard-card>span:not(.fp-step-number){font-size:12px;line-height:1.5;color:#8a929f}
#fps-preview .fp-step-number{width:30px;height:30px;border-radius:9px;background:#fff0f1;color:#c23c43;display:grid;place-items:center;font-size:12px;font-weight:600}
#fps-preview .fp-dashboard-card small{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:auto;font-size:10px;color:#a6abb3}
#fps-preview .fp-dashboard-card small svg{width:16px;height:16px}
#fps-preview .fp-dashboard-next{padding:22px;border:1px solid #e9ecef;border-radius:14px;margin-bottom:28px;background:#fff}
#fps-preview .fp-dashboard-next p{font-size:13px}
#fps-preview .fp-dashboard-review{border:1px solid #e9ecef;border-radius:14px;padding:22px}
#fps-preview .fp-dashboard-review h3{margin-bottom:16px}
#fps-preview .fp-review-row{display:flex;width:100%;align-items:center;gap:15px;text-align:left;border:0;border-bottom:1px solid #eff1f4;border-radius:0;padding:15px 0}
#fps-preview .fp-review-row>span:first-child{flex:1}
#fps-preview .fp-review-row strong{font-size:13px;font-weight:500;display:block}
#fps-preview .fp-review-row small{font-size:11px;color:#959daa;display:block;margin-top:5px}
#fps-preview .fp-review-row>svg{width:18px;height:18px;color:#adb3bc}
#fps-preview .fp-status.needs-review{background:#fff6e9;color:#a77733}
#fps-preview #fp-cloud-status{display:flex;align-items:center;gap:6px}
#fps-preview #fp-cloud-status[data-state=saving]{color:#82704c}
#fps-preview .fp-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:fp-spin .8s linear infinite;flex-shrink:0;vertical-align:middle}
#fps-preview .fp-notification{position:fixed;top:22px;right:24px;z-index:80;display:flex;align-items:flex-start;gap:12px;padding:18px;max-width:440px;min-width:280px;background:#fff;border:1px solid #cfe5d8;border-left:4px solid #45976b;border-radius:14px;box-shadow:0 12px 40px #25382f22;animation:fp-notice-in .25s ease-out}
#fps-preview .fp-notification.error{border-color:#efc5c7;border-left-color:#d74950}
#fps-preview .fp-notice-symbol{width:32px;height:32px;background:#edf8f1;color:#45976b;border-radius:50%;display:grid;place-items:center;flex-shrink:0;animation:fp-check-pop .35s ease-out}
#fps-preview .fp-notice-symbol svg{width:20px;height:20px}
#fps-preview .fp-notification.error .fp-notice-symbol{background:#fff0f1;color:#c74950}
#fps-preview .fp-notification>div{flex:1}
#fps-preview .fp-notification strong{font-size:13px;color:#354b3e}
#fps-preview .fp-notification.error strong{color:#b84349}
#fps-preview .fp-notification p{font-size:12px;line-height:1.5;color:#838b93;margin:7px 0 0;overflow-wrap:anywhere}
#fps-preview .fp-notification>#fp-close-notice{border:0;padding:0;min-height:26px;min-width:26px;font-size:20px;color:#a0a6af;background:transparent}
#fps-preview .fp-notification #fp-notice-retry{margin-top:12px;padding:7px 10px;min-height:34px;font-size:11px;color:#c34950}
@keyframes fp-spin{to{transform:rotate(360deg)}}
@keyframes fp-notice-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@keyframes fp-check-pop{from{transform:scale(.65)}to{transform:scale(1)}}
@media(max-width:1200px){#fps-preview .fp-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){#fps-preview[data-mode=admin] nav{grid-template-columns:repeat(6,minmax(0,1fr))}#fps-preview[data-mode=admin] nav button{flex-direction:column;gap:6px;font-size:9px;padding:8px 1px}#fps-preview[data-mode=admin] nav button small{display:none}#fps-preview[data-mode=admin] nav button>svg{width:18px;height:18px}#fps-preview .fp-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#fps-preview .fp-dashboard-card{padding:16px;gap:12px}#fps-preview .fp-admin-welcome{flex-wrap:wrap}#fps-preview .fp-admin-orientation small{display:none}#fps-preview .fp-admin-steps{gap:5px}#fps-preview .fp-admin-steps button{font-size:10px;padding:5px 7px}#fps-preview .fp-notification{top:12px;left:12px;right:12px;max-width:none;min-width:0}#fps-preview .fp-dashboard-review{padding:17px}#fps-preview .fp-status{white-space:normal;text-align:center}}
@media(prefers-reduced-motion:reduce){#fps-preview .fp-spinner,#fps-preview .fp-notification,#fps-preview .fp-notice-symbol{animation:none}}
