:root{--primary:#c2410c;--on-primary:#fff;--primary-text:#c2410c;--primary-decorative:#f97316;--accent:#15803d;--background:#fafaf9;--on-background:#1c1917;--surface:#fff;--on-surface:#1c1917;--muted:#f1f5f9;--on-muted:#475569;--border:#e2e8f0;--error:#dc2626;--on-error:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--on-background);background:var(--background);font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--primary:#f97316;--on-primary:#0f172a;--primary-text:#fb923c;--accent:#22c55e;--background:#1f2937;--on-background:#f8fafc;--surface:#313742;--on-surface:#f8fafc;--muted:#37414f;--on-muted:#cbd5e1;--border:#374151;--error:#ef4444;--on-error:#000}}*,:before,:after{box-sizing:border-box}body{background:var(--background);min-height:100vh;margin:0}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius:8px;--focus:0 0 0 3px color-mix(in srgb, var(--primary-decorative) 55%, transparent)}h1{margin:0 0 var(--space-4);font-size:28px;line-height:1.2}h2{margin:0 0 var(--space-3);font-size:20px;line-height:1.3}p{margin:0 0 var(--space-3)}.muted{color:var(--on-muted);font-size:14px}.page{max-width:1040px;padding:var(--space-6) var(--space-4) var(--space-8);margin:0 auto}.page-wide{max-width:1400px}.narrow{max-width:420px;margin:var(--space-8) auto;padding:0 var(--space-4)}.card{background:var(--surface);color:var(--on-surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6)}.btn{font:inherit;cursor:pointer;min-height:40px;padding:0 var(--space-4);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--on-surface);align-items:center;gap:var(--space-2);font-weight:600;text-decoration:none;transition:background-color .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--muted)}.btn:focus-visible,.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.link:focus-visible,.nav-link:focus-visible{box-shadow:var(--focus);outline:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:color-mix(in srgb, var(--primary) 88%, black)}.btn-danger{color:var(--error);border-color:color-mix(in srgb, var(--error) 45%, var(--border))}.btn-text{color:var(--primary-text);padding:0 var(--space-2);background:0 0;border-color:#0000}.btn-text:hover{background:var(--muted)}.link{color:var(--primary-text);border-radius:4px;font-weight:600}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field label{font-size:14px;font-weight:600}.field input,.field select,.field textarea{font:inherit;min-height:44px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--on-surface)}.field input[aria-invalid=true]{border-color:var(--error)}.field textarea{padding:var(--space-2) var(--space-3);resize:vertical;line-height:inherit}.field select:disabled,.field input:disabled{background:var(--muted);color:var(--on-muted)}.field .hint{color:var(--on-muted);font-size:13px}.field .error,.form-error{color:var(--error);font-size:14px}.form-error{margin-bottom:var(--space-4)}.app-header{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface);display:flex;position:sticky;top:0}.app-header .brand{color:var(--on-surface);font-weight:700;text-decoration:none}.app-header .brand span{color:var(--primary-text)}.app-header>.row{gap:var(--space-6)}.app-nav{gap:var(--space-1);display:flex}.nav-link{min-height:40px;padding:0 var(--space-3);border-radius:var(--radius);color:var(--on-muted);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.nav-link:hover{background:var(--muted);color:var(--on-surface)}.nav-link.active{color:var(--primary-text);background:var(--muted)}.row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.spacer{flex:1}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.after-card{margin-top:var(--space-4)}.page-title{margin-bottom:var(--space-4)}.page-title h1{margin:0}.form-page{gap:var(--space-3);flex-direction:column;max-width:520px;display:flex}.empty{text-align:center}.client-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.client-row{align-items:center;gap:var(--space-4);padding:var(--space-4);grid-template-columns:minmax(180px,1fr) auto auto;display:grid}.client-main{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.client-status{gap:var(--space-2);flex-wrap:wrap;display:flex}.tag{padding:2px var(--space-2);background:var(--muted);color:var(--on-muted);white-space:nowrap;border-radius:999px;font-size:13px}.tag-ok{color:var(--accent);font-weight:600}@media (width<=760px){.client-row{grid-template-columns:1fr}}.editor{gap:var(--space-3);flex-direction:column;display:flex}.editor-head p{margin:var(--space-1) 0 0}.notice{color:var(--accent);min-height:1.45em;margin:0;font-weight:600}.btn-small{min-height:32px;padding:0 var(--space-2);white-space:nowrap;font-size:14px}.day-tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.day-tab{font:inherit;cursor:pointer;min-height:36px;padding:0 var(--space-4);border:1px solid var(--border);background:var(--surface);color:var(--on-surface);border-radius:999px;font-size:14px}.day-tab.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}.day-tab.add{color:var(--primary-text);border-style:dashed}.day-tab:focus-visible{box-shadow:var(--focus);outline:none}.day{gap:var(--space-3);flex-direction:column;display:flex}.day-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.day-number{font-size:20px;font-weight:700}.day-title,.category-name,.exercise input{font:inherit;min-height:36px;padding:0 var(--space-2);color:var(--on-surface);background:0 0;border:1px solid #0000;border-radius:6px;min-width:0}.day-title{flex:220px;font-size:18px}.day-title:hover,.category-name:hover,.exercise input:hover{border-color:var(--border)}.day-title:focus,.category-name:focus,.exercise input:focus{border-color:var(--primary-decorative);background:var(--background);outline:none}.day-title::placeholder,.category-name::placeholder,.exercise input::placeholder{color:var(--on-muted);opacity:.6}.section{flex-direction:column;gap:2px;display:flex}.section.category{border-left:3px solid var(--primary-decorative);padding-left:var(--space-3)}.section-head{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.category-name{color:var(--primary-text);flex:200px;font-weight:700}.entry{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border);grid-template-columns:1fr 240px;padding:2px 0;display:grid;position:relative}.entry.superset{border-left:2px solid var(--on-muted);padding-left:var(--space-2);margin:var(--space-1) 0}.superset-label{color:var(--on-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.exercise{gap:var(--space-1);grid-template-columns:minmax(160px,2fr) minmax(80px,1fr) minmax(64px,.8fr) minmax(120px,2fr);display:grid}.exercises{flex-direction:column;min-width:0;display:flex}.entry-actions{justify-content:flex-end;gap:var(--space-1);display:flex}.entry-actions .btn-text,.section-head .btn-text,.day-head .btn-text{color:var(--on-muted);font-weight:500}.entry-actions .btn-text:hover,.section-head .btn-text:hover,.day-head .btn-text:hover{color:var(--on-surface)}.add{align-self:flex-start}.day-add{padding-top:var(--space-2);border-top:1px solid var(--border)}@media (width<=760px){.entry{grid-template-columns:1fr}.exercise{grid-template-columns:1fr 1fr}.exercise .f-name,.exercise .f-notes{grid-column:1/-1}}.dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--on-surface);max-width:480px;padding:var(--space-6)}.dialog::backdrop{background:#00000073}.dialog-actions{margin-top:var(--space-4);justify-content:flex-end}.calendar-toolbar{gap:var(--space-2)}.calendar-week{text-align:right;min-width:15em}.btn-icon{justify-content:center;width:40px;padding:0;font-size:22px;line-height:1}.calendar-hint{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.calendar-scroll{--hour-height:64px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-height:max(360px,100dvh - 200px);overflow:auto}.calendar{min-width:760px}.calendar-head,.calendar-body{grid-template-columns:56px 1fr;display:grid}.calendar-head{border-bottom:1px solid var(--border);z-index:5;background:var(--surface);grid-template-columns:56px repeat(7,minmax(0,1fr));position:sticky;top:0}.calendar-day{padding:var(--space-2) 0;flex-direction:column;align-items:center;gap:2px;display:flex}.calendar-weekday{text-transform:uppercase;letter-spacing:.04em;color:var(--on-muted);font-size:12px;font-weight:600}.calendar-date{font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;min-width:34px;height:34px;font-size:20px;font-weight:600;line-height:1;display:inline-flex}.calendar-day.today .calendar-weekday{color:var(--primary-text)}.calendar-day.today .calendar-date{background:var(--primary);color:var(--on-primary)}.calendar-hours{flex-direction:column;display:flex}.calendar-hour{height:var(--hour-height);padding-right:var(--space-2);text-align:right;color:var(--on-muted);font-variant-numeric:tabular-nums;font-size:12px}.calendar-hour>span{position:relative;top:-.7em}.calendar-hour:first-child>span{visibility:hidden}.slot:first-child{border-top:0}.calendar-columns{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-column{border-left:1px solid var(--border);flex-direction:column;display:flex;position:relative}.calendar-column.today{background:color-mix(in srgb, var(--primary-decorative) 5%, transparent)}.now-line{z-index:2;background:var(--primary-decorative);pointer-events:none;height:2px;position:absolute;left:0;right:0}.now-line:before{content:"";background:var(--primary-decorative);border-radius:999px;width:10px;height:10px;position:absolute;top:-4px;left:-5px}.slot{height:var(--hour-height);border:0;border-top:1px solid var(--border);cursor:pointer;background:0 0;border-radius:0;flex:none}.slot.past{background:color-mix(in srgb, var(--background) 60%, transparent)}.slot{font:inherit;position:relative}.slot:hover{background:color-mix(in srgb, var(--primary-decorative) 10%, transparent)}.slot:after{content:attr(data-label);top:var(--space-1);left:var(--space-2);color:var(--primary-text);opacity:0;font-size:13px;font-weight:600;transition:opacity .12s;position:absolute}.slot:hover:after,.slot:focus-visible:after{opacity:1}.slot:focus-visible{box-shadow:inset var(--focus);outline:none}.appointment{z-index:1;text-align:left;font:inherit;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;padding:3px var(--space-2);border:0;border-left:3px solid var(--primary-decorative);background:color-mix(in srgb, var(--primary-decorative) 16%, var(--surface));color:var(--on-surface);border-radius:6px;flex-direction:column;align-items:flex-start;gap:1px;transition:background-color .12s,opacity .12s;display:flex;position:absolute;overflow:hidden}.appointment:hover{background:color-mix(in srgb, var(--primary-decorative) 26%, var(--surface))}.appointment:focus-visible{box-shadow:var(--focus);z-index:4;outline:none}.appointment.ended{opacity:.6}.appointment.compact{align-content:center;column-gap:var(--space-1);grid-template-columns:auto minmax(0,1fr);row-gap:0;padding-top:1px;padding-bottom:1px;line-height:1.2;display:grid}.appointment.compact .appointment-time{font-size:11px}.appointment.compact .appointment-client{font-size:12px}.appointment.compact .appointment-note{white-space:nowrap;grid-column:1/-1;font-size:11px;display:block}.appointment.dragging{opacity:.35}.appointment.preview{z-index:3;pointer-events:none;cursor:grabbing;border:2px dashed var(--primary-decorative);background:color-mix(in srgb, var(--primary-decorative) 22%, var(--surface));border-left-width:3px;left:2px;right:2px}.appointment-time{font-variant-numeric:tabular-nums;color:var(--on-muted);white-space:nowrap;font-size:12px}.appointment-client,.appointment-note{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.appointment-client{font-size:13px;font-weight:600}.appointment-note{color:var(--on-surface);white-space:normal;-webkit-box-orient:vertical;font-size:12px;line-height:1.25;display:-webkit-box}.calendar-help{margin-top:var(--space-2)}.snackbar{left:50%;bottom:var(--space-6);z-index:10;align-items:center;gap:var(--space-3);max-width:calc(100vw - 2 * var(--space-4));padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--on-background);color:var(--background);display:flex;position:fixed;transform:translate(-50%);box-shadow:0 4px 16px #00000040}.snackbar .btn-text{color:var(--primary-decorative)}.when{margin:0 0 var(--space-4);border:0;min-width:0;padding:0}.when legend{margin-bottom:var(--space-1);padding:0;font-size:14px;font-weight:600}.when-summary{margin-bottom:var(--space-3);font-size:18px;font-weight:700}.when-fields{gap:var(--space-3);grid-template-columns:1.4fr 1fr 1fr;display:grid}.when-fields .field{min-width:0;margin-bottom:0}.when-fields input,.when-fields select{width:100%}.dialog:has(.when){width:min(520px, calc(100vw - 2 * var(--space-4)));max-width:none}@media (width<=520px){.when-fields{grid-template-columns:1fr 1fr}.when-fields .field:first-child{grid-column:1/-1}}.appointment-form .field:last-child{margin-bottom:0}.settings-page{gap:var(--space-4);flex-direction:column;max-width:760px;display:flex}.settings-page h1{margin:0}.settings-card h2{margin-bottom:var(--space-2)}.settings-card h3{margin:0 0 var(--space-2);font-size:16px}.settings-card>.muted,.settings-card form>.muted{margin-bottom:var(--space-4)}.settings-subform{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border)}.settings-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.settings-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid .field{min-width:0}.settings-plan{align-items:center;gap:var(--space-2);font-size:18px;display:flex}.nav-profile{text-overflow:ellipsis;white-space:nowrap;max-width:220px;line-height:40px;display:inline-block;overflow:hidden}.client-name{color:var(--on-surface);font-weight:700;text-decoration:none}.client-name:hover{color:var(--primary-text);text-decoration:underline}.client-name:focus-visible{box-shadow:var(--focus);border-radius:4px;outline:none}.client-summary{gap:var(--space-3) var(--space-4);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.client-summary h1{margin:0;font-size:24px}.client-summary .row{grid-column:1/-1}.interview-date{max-width:220px}.field textarea.autosize{field-sizing:content;min-height:4.5em}.form-actions{background:var(--surface);padding:var(--space-3) 0;margin-bottom:calc(-1 * var(--space-6));position:sticky;bottom:0}@media (width<=760px){.settings-grid,.settings-grid.two,.client-summary{grid-template-columns:1fr}}
