/* Screen-only layout: customer PDF and print layout remain independent. */
@media screen {
:root{--ui-ink:#173e32;--ui-muted:#61716a;--ui-line:#dce4df;--ui-soft:#f4f7f4;--ui-radius:16px}
body{background:#f2f5f2;color:#233d32;line-height:1.55}
main{padding:24px 32px 36px}main>header{height:52px;margin-bottom:16px;font-size:12px}main>.demo{font-size:12px;padding:10px 14px;margin-bottom:24px;border-radius:9px;background:#e9efdf}#app{max-width:1440px;margin:auto}main>footer{max-width:1440px;margin:32px auto 0}
aside .brand{padding:24px 24px 16px}aside .brand-crop{max-width:150px;margin:auto}#nav{display:grid;gap:6px;padding:8px 16px}#nav button{margin:0;border-radius:10px;min-height:48px;padding:12px 14px;text-align:left;font-size:14px}#nav button[data-page="sessions"]{margin-top:18px}aside .sidefoot{font-size:12px}
#app h1,dialog:not(.report-dialog) h1{font-size:26px;line-height:1.3;letter-spacing:-.03em;margin:6px 0 10px}#app h2,dialog:not(.report-dialog) h2{font-size:17px;line-height:1.4;margin:0 0 14px}#app h3{font-size:15px}#app p{line-height:1.65}#app .muted{color:var(--ui-muted);font-size:12px}#app .eyebrow{font-size:11px;letter-spacing:.08em}#app .title{margin-bottom:24px}#app .title p{margin:6px 0 0}#app .panel,#app .card{border:1px solid var(--ui-line);border-radius:var(--ui-radius);padding:22px;box-shadow:0 2px 3px #183a2b03}#app .panelhead{gap:12px;margin-bottom:16px}#app .panelhead h2{margin:0}#app .space{margin-top:20px}#app .grid{gap:20px;margin:20px 0}#app .cards{gap:14px;margin:20px 0}#app .card .value{font-size:28px;line-height:1.3;margin:12px 0 8px}#app .card label{font-size:12px;color:var(--ui-muted)}#app .note{line-height:1.5}#app .notice{border-radius:12px;padding:16px 18px;line-height:1.7;font-size:12px}
#app :is(input,select,textarea),dialog:not(.report-dialog) :is(input,select,textarea){border-color:#cdd9d1;border-radius:10px;font-size:15px;line-height:1.5}#app :is(input,select):not([type=checkbox]):not([type=radio]),dialog:not(.report-dialog) :is(input,select):not([type=checkbox]):not([type=radio]){min-height:46px;padding:10px 14px}#app select,dialog:not(.report-dialog) select{appearance:none;padding-right:42px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23526c60' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}#app :is(.primary,.secondary),dialog:not(.report-dialog) :is(.primary,.secondary){min-height:44px;border-radius:10px;padding:10px 16px;font-size:14px;line-height:1.4;font-weight:600}#app .secondary{background:#fff;border-color:#cdd9d1}#app .actions{gap:10px}#app button:focus-visible,dialog button:focus-visible{outline:2px solid #84252d;outline-offset:3px}
#app .filters{gap:12px;margin:0 0 12px;align-items:center}#app .period{padding:14px 18px;background:white;border:1px solid var(--ui-line);border-radius:12px}#app .periodlabel{margin:10px 0;color:var(--ui-muted);font-size:12px}#app .customer-filters{background:white;border:1px solid var(--ui-line);border-radius:16px;padding:18px;margin:20px 0}#app .customer-filters .filters:first-child{display:grid;grid-template-columns:minmax(240px,2fr) repeat(4,minmax(120px,1fr))}#app .customer-filters input,#app .customer-filters select{width:100%;min-width:0}#app .customer-filters .filters:nth-child(2){display:flex;align-items:center}#app .customer-filters #activityFilter{width:190px}#app .customer-filters>.link{font-size:12px}#app th{text-align:left;font-size:12px;padding:13px 14px;background:#f4f7f4;color:#64766b;white-space:nowrap}#app td{padding:16px 14px;font-size:14px;line-height:1.6;border-color:#e8eeea}#app .sub{font-size:11px;line-height:1.6;margin-top:4px}#app tbody tr:hover{background:#f7faf7}#app .activity-summary{gap:12px;margin:20px 0}#app .activity-summary>button{border-radius:12px;padding:18px}#app .follow-card{padding:14px 0}
/* Session: compact customer context, then a single working area. */
#app .studio-top{display:grid;grid-template-columns:1fr auto;gap:14px 24px;padding:20px 24px;background:white;border:1px solid var(--ui-line);border-radius:16px;margin-bottom:14px}#app .studio-top h1{margin:4px 0}#app .studio-top p{font-size:12px}#app .studio-toolbar{grid-column:1/-1;display:flex;align-items:end;gap:16px;margin:0;padding-top:14px;border-top:1px solid #e7ece8}#app .studio-toolbar label{font-size:12px;gap:6px}#app #studioSave{margin-left:auto;align-self:center;font-size:11px}#app #studioDossier{margin:0 0 18px;padding:16px 22px;background:#edf3eb;box-shadow:none}#app #studioDossier .panelhead{margin-bottom:10px}#app #studioDossier h2{font-size:14px}#app #studioDossier .goal-preview{gap:10px;margin:0}#app #studioDossier .goal-preview>div{padding:10px 14px;background:#ffffffaa;border-radius:10px}#app #studioDossier .goal-preview p{margin:4px 0;font-size:12px}#app #studioDossier .actions{margin-top:12px}#app #studioDossier .actions button{min-height:38px;padding:8px 12px;font-size:12px}#app #studioDossier [data-new-private]{background:white;color:var(--ui-ink);border:1px solid #cdd9d1}#app .studio-tabs{margin:18px 0;padding:4px;background:#e4ebe4;border:0;border-radius:12px;gap:4px}#app .studio-tabs button{flex:1;min-height:44px;padding:10px 14px;font-size:14px;background:transparent;border-radius:9px}#app .studio-tabs button.active{background:white;color:#173e32;box-shadow:0 2px 5px #173e3210;font-weight:700}#app .workout-metrics{padding:16px 22px;border-radius:14px;gap:16px}#app .workout-metrics strong{font-size:26px;margin:4px 0 0}#app .rest-timer{flex-direction:row;gap:14px;font-size:13px}#app .exercise-search{padding:20px 22px;margin:16px 0;background:#fff;border-color:var(--ui-line);border-radius:16px}#app .exercise-search h2{margin-bottom:12px}#app .studio-quick{gap:10px;margin:0 0 14px}#app .studio-quick .muted{order:10;width:100%;font-size:11px}#app .exercise-search label{font-size:12px;gap:7px}#app #exerciseResults{margin-top:10px;gap:8px}#app .exercise-choice{border-radius:10px;padding:10px 14px;min-height:42px;font-size:13px;background:#f3f7f0}#app #exerciseResults p{margin:4px 0}#app #studioWorkout .exercise-editor{padding:20px 22px;margin:16px 0;border-color:var(--ui-line);border-radius:16px}#app .exercise-heading{padding-bottom:14px;border-bottom:1px solid #edf0ec;gap:10px}#app .exercise-heading label{font-size:12px;font-weight:600}#app .workout-set{padding:10px 0;margin:0;border-bottom:1px solid #edf0ec;gap:12px}#app .workout-set label{font-size:12px;gap:6px}#app .workout-set input{background:#f8faf7;font-variant-numeric:tabular-nums}#app .workout-set:has(.set-done input:checked){background:#f0f6e9;border-radius:10px}#app .add-set{margin-top:14px}#app .customer-message{margin-top:18px}#app .customer-message summary{font-weight:600;cursor:pointer;min-height:30px}#app .customer-message summary small{font-size:11px;font-weight:400;color:#61716a;margin-left:12px}#app .customer-message .trainer-comment{margin-top:18px;font-size:13px}#app .studio-bottom{padding:12px 16px;border-color:#d3ded5;background:#ffffffef;box-shadow:0 -4px 20px #173e3207;border-radius:14px;backdrop-filter:blur(12px)}
dialog:not(.report-dialog){border-radius:18px;padding:28px;color:#233d32}dialog:not(.report-dialog) .formgrid{gap:20px}dialog:not(.report-dialog) .form-section{padding:18px;margin:18px 0;border-radius:12px;border-color:#dce4df;gap:18px}dialog:not(.report-dialog) label{font-size:13px;gap:8px}dialog:not(.report-dialog) .actions{gap:10px}dialog:not(.report-dialog) .check-label{display:flex!important;flex-direction:row!important;justify-content:flex-start;align-items:center;gap:10px}dialog:not(.report-dialog) .check-label input{flex:0 0 22px;margin:0}dialog:not(.report-dialog) .detailgrid{gap:12px}dialog:not(.report-dialog) .detailgrid>div{padding:12px;background:#f5f8f3;border-radius:10px}dialog:not(.report-dialog) .library-row{padding:14px 0;gap:12px}dialog:not(.report-dialog) .library-row small{line-height:1.6;margin-top:5px}dialog:not(.report-dialog) .library-row-actions{gap:6px}dialog:not(.report-dialog) .library-row-actions button{padding:8px 10px}dialog:not(.report-dialog) .dossier-tabs{gap:6px}
.time-source{display:none!important}.time-trigger{min-width:126px;text-align:center;font-variant-numeric:tabular-nums;font-size:17px!important}.time-picker{width:350px!important;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 32px);padding:22px!important}.time-picker .panelhead{display:flex;align-items:center;justify-content:space-between;gap:12px}.time-picker h2{margin:0!important}.time-picker p{font-size:12px}.time-wheels{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:18px 0 22px}.wheel-group{text-align:center}.wheel-group>b{font-size:12px;color:#61716a}.wheel-frame{position:relative;margin-top:8px;background:#f4f7f0;border-radius:12px;overflow:hidden}.wheel-frame:before{content:'';position:absolute;left:6px;right:6px;top:48px;height:48px;border-radius:8px;background:#dce9d1;pointer-events:none}.time-wheel{position:relative;height:144px;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;padding:48px 0;box-sizing:border-box;scrollbar-width:none;touch-action:pan-y}.time-wheel::-webkit-scrollbar{display:none}.wheel-item{display:block;width:100%;height:48px;min-height:48px!important;padding:0!important;border:0;background:transparent;font:500 24px/48px system-ui;color:#7b8c7d;scroll-snap-align:center;flex:none}.wheel-item[aria-selected=true]{color:#173e32;font-weight:750}.time-apply{width:100%}.plan-history{padding:12px 0;border-bottom:1px solid #e0e7df}.plan-history small{display:block;color:#61716a}
@media(min-width:1101px){#app[data-view=studio]{max-width:1160px}#app .studio-top{grid-template-columns:1fr auto auto;align-items:center}#app .studio-toolbar{grid-column:auto;border:0;padding:0;margin-left:10px}#app #studioSave{max-width:100px}#app .studio-top #studioOther{grid-column:3;grid-row:1}#app .studio-toolbar{grid-column:2;grid-row:1}#app #studioDossier{display:grid;grid-template-columns:1fr auto;gap:6px 20px}#app #studioDossier .panelhead{grid-column:1/-1}#app #studioDossier .actions{align-self:center;margin:0}#app #studioDossier h3,#app #studioDossier>p{grid-column:1/-1}}
@media(max-width:1250px){#app .customer-filters .filters:first-child{grid-template-columns:repeat(2,minmax(0,1fr))}#app .customer-filters #search{grid-column:1/-1}#app .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px),(any-pointer:coarse){main{padding:18px 24px 100px;margin-left:0}main>header{height:44px}aside .brand{padding:10px}#nav{padding:12px}#app .studio-bottom{bottom:80px}.time-picker{width:350px!important}#app .grid{grid-template-columns:1fr}}
@media(max-width:650px){main{padding:12px 14px 100px}main>.demo{font-size:11px;margin-bottom:18px}#app h1,dialog:not(.report-dialog) h1{font-size:23px}#app .panel,#app .card{padding:16px}#app .cards{gap:10px}#app .card .value{font-size:23px}#app .studio-top{padding:16px;gap:12px}#app .studio-top h1{font-size:22px}#app .studio-top #studioOther{font-size:12px;padding:8px 12px}#app .studio-toolbar{gap:12px;align-items:end}#app .studio-toolbar label{flex:1;min-width:0}#app .studio-toolbar input,#app .studio-toolbar .time-trigger{width:100%;min-width:0}#app #studioSave{width:100%;margin-left:0}#app #studioDossier{padding:14px 16px}#app #studioDossier .panelhead{align-items:center}#app #studioDossier .panelhead button{font-size:12px;min-height:38px;padding:8px 10px}#app #studioDossier .actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}#app #studioDossier .actions button{padding:8px 6px;font-size:11px}#app .studio-tabs{gap:2px}#app .studio-tabs button{font-size:12px;padding:10px 4px}#app .workout-metrics{padding:14px 16px}#app .rest-timer{width:auto;border:0;padding:0;flex-direction:column;gap:4px}#app .exercise-search,#app #studioWorkout .exercise-editor{padding:16px}#app .studio-quick button{flex:1;font-size:12px;padding:8px 10px}#app .studio-quick .muted{width:100%}#app .workout-set{padding:12px 8px;gap:8px;margin-bottom:10px}#app .workout-set label{font-size:11px}#app .studio-bottom{padding:10px;gap:8px;bottom:80px}#app .studio-bottom button{font-size:12px;padding:10px 12px}#app .customer-filters{padding:14px}#app td{padding:12px;font-size:13px}dialog:not(.report-dialog){padding:20px 16px}.time-picker{padding:20px!important}}
}
@media screen {
#nav{padding:8px 0}#nav button{width:100%;white-space:nowrap;font-size:13px;padding:12px 10px}
#app #studioDossier h3{margin:4px 0 0;font-size:12px}#app #studioDossier>p{margin:0;font-size:12px}#app #studioDossier .goal-preview{grid-template-columns:1fr}
@media(min-width:1101px){#app #studioDossier .actions{grid-column:2;grid-row:2}#app #studioDossier .goal-preview{grid-column:1;grid-row:2}}
}
@media screen{.customer-basic{margin:16px 0;padding:14px 16px;border:1px solid #dce4df;border-radius:12px}.customer-basic>summary{font-weight:600;cursor:pointer;min-height:24px}.customer-basic .detailgrid{margin-top:16px}.customer-basic .notice{margin:12px 0 0}.plan-scheduled{color:#547c37!important}#modal>.actions{margin:18px 0;flex-wrap:wrap}}
@media screen{#app .menu-builder{margin:16px 0;border:1px solid #d1dfca;border-radius:12px;background:#fff}#app .menu-builder>summary{padding:14px 18px;min-height:48px;font-size:14px;font-weight:650;cursor:pointer;color:#244b37}#app .menu-builder .exercise-search{margin:0;border:0;padding-top:4px}#app .menu-builder .exercise-search h2{display:none}#app .follow-reminder{grid-column:1/-1;font-size:12px;margin:4px 0 0}#app .follow-reminder summary{min-height:24px;cursor:pointer;font-weight:600}#app .follow-reminder p{margin:6px 0}#app .customer-message:not([open]){padding:14px 18px}}
@media screen and (min-width:700px){#app #studioDossier{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px}#app #studioDossier .panelhead{grid-column:1/-1}#app #studioDossier .goal-preview{grid-column:1;grid-row:2}#app #studioDossier .actions{grid-column:2;grid-row:2;align-self:center;margin:0}}
@media screen and (max-width:1100px){aside:not(.menu-open){padding:10px 22px}aside .brand-crop{width:88px;height:68px}aside .brand{padding:0}main>header{height:34px;margin-bottom:10px}#app .studio-top{padding:16px 20px;gap:10px}#app .studio-toolbar{padding-top:10px}#app #studioDossier{padding:14px 18px}#app #studioDossier .panelhead{margin-bottom:4px}}
@media screen and (max-width:1100px){aside .brand-crop{height:auto}}
@media screen and (min-width:1251px){#app .customer-filters .filters:first-child{grid-template-columns:repeat(4,minmax(0,1fr))}#app .customer-filters #search{grid-column:1/-1}}
@media screen{dialog.time-picker{height:fit-content!important;min-height:0!important;margin:auto!important;inset:0!important}}

@media screen{#modal .library-row-actions .exercise-added,#app .exercise-choice.exercise-added{background:#d9edba;color:#244829;border:1px solid #a3c778;opacity:1;box-shadow:inset 0 0 0 1px #ffffff80;cursor:default}#modal .library-row.exercise-row-added{background:#f1f7e9;border-radius:10px;padding-left:10px;padding-right:10px}.library-row-actions [data-use-exercise]{min-width:104px;white-space:nowrap}}

@media screen{.exercise-footer{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:14px}.exercise-footer .all-complete{background:#d9edba;color:#244829;border:1px solid #a3c778;opacity:1}}

/* Session reminders are actionable, visible even before expansion. */
#studioDossier .follow-reminder{margin:20px 0 0;padding:16px;border:1px solid #dcc17d;border-left:5px solid #b28428;border-radius:14px;background:#fff9e9;color:#483c22}
#studioDossier .follow-reminder summary{font-size:16px;font-weight:750;cursor:pointer;min-height:28px}
.follow-count{display:inline-block;margin-left:12px;padding:3px 10px;border-radius:20px;background:#72551e;color:#fff;font-size:12px}
.follow-hint{font-size:12px;color:#72613c;margin:8px 0 12px}.follow-list{display:grid;gap:8px}
#studioDossier .follow-item{width:100%;min-height:64px;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;background:#fff;border:1px solid #e8ddc1;border-radius:10px;padding:12px 16px;color:#233b2e;cursor:pointer}
.follow-item small{display:block;color:#736b57;font-size:12px;margin-bottom:5px}.follow-item strong{display:block;overflow-wrap:anywhere;font-size:15px}.follow-arrow{font-size:22px;color:#88651f}
#studioDossier .follow-item:hover{background:#fffdf5;border-color:#b28428}#studioDossier .follow-item:focus-visible{outline:2px solid #84252d;outline-offset:2px}
.report-goal.celebration{background:#faf4df;border-left:4px solid #b28428}.achievement-label{color:#72551e;font-weight:bold}
