:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#243c33;background:#f7f8f4;font-size:15px;line-height:1.55;--green: #245a44;--muted: #65756d;--line: #dce3dc}*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:.2em}button,input,select,textarea{font:inherit}button,.button{border:1px solid #9aaea0;border-radius:9px;background:#fff;color:#243c33;padding:.7rem 1rem;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:#edf3eb}button:disabled{cursor:wait;opacity:.6}button.primary,.button.primary{background:var(--green);color:#fff;border-color:var(--green)}button.primary:hover{background:#163f2e}button.quiet{background:transparent;border-color:transparent;text-align:left;padding-left:0}:focus-visible{outline:3px solid #558db7;outline-offset:3px}input:not([type=checkbox]),select,textarea{width:100%;padding:.7rem .8rem;border:1px solid #aabbb0;border-radius:8px;background:#fff;color:#243c33;min-height:44px}textarea{min-height:120px;resize:vertical}label{display:block;margin:1.1rem 0 .35rem;font-weight:600}label.checkbox{display:flex;align-items:center;gap:.5rem;font-weight:400;margin:1.25rem 0}input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.2;letter-spacing:-.045em;font-weight:650;margin-bottom:.7rem}h2{font-size:1.25rem;letter-spacing:-.02em}h3{font-size:1rem}.muted,dt{color:var(--muted)}.small{font-size:.86rem}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:#4f7561;font-weight:650;font-size:.72rem;margin-bottom:.65rem}.wide{width:100%}.skip-link{position:fixed;top:-100px;left:10px;background:#fff;padding:12px;z-index:100}.skip-link:focus{top:10px}.brand{display:flex;align-items:center;gap:.75rem;font-size:1.3rem;font-weight:750;color:#244d3b;line-height:1.2;text-decoration:none}.brand small{display:block;font-size:.68rem;font-weight:500;color:#627968;letter-spacing:.04em;margin-top:.3rem}.brand-mark{width:42px;height:46px;border-radius:14px 14px 18px 4px;display:grid;place-items:center;background:#245a44;color:#fff;font-size:1.6rem;font-weight:450}.app-layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100dvh}.sidebar{min-width:0;padding:2rem 1.3rem;background:#edf2e8;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2.6rem}.sidebar nav{display:grid;gap:.35rem}.sidebar nav a{display:block;border-radius:9px;padding:.65rem .9rem;color:#4f6455;text-decoration:none;font-weight:550}.sidebar nav a:hover{background:#e1eadd}.sidebar nav a.active{background:#d4e4ce;color:#163c2a}.sidebar-footer{margin-top:auto;display:grid;gap:.7rem;color:var(--muted)}.workspace{padding:2.75rem clamp(1.2rem,4vw,4rem);width:100%;max-width:1600px}.page-heading{margin-bottom:2rem}.panel{padding:1.5rem;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:1.2rem}.details{display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:0}.details dt{font-size:.8rem}.details dd{margin:.25rem 0 0;font-weight:550}.guest-layout{min-height:100dvh;padding:3rem 1.3rem;background:radial-gradient(ellipse at top left,#e5eedf,transparent 60%),#f7f8f4}.guest-brand{width:max-content;margin:0 auto 2.8rem}.login-card{max-width:455px;margin:auto;background:#fff;padding:2rem;border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 70px #193a2310}.login-card form{margin:1.5rem 0}.notice{padding:.85rem 1rem;border-radius:10px;border:1px solid #d4c797;background:#fff8df}.notice.error{color:#7e302e;background:#fff0eb;border-color:#e4bdb1}.guest-layout>.notice{max-width:455px;margin:auto}@media(max-width:760px){.app-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.sidebar{padding:1rem;gap:1rem;border-right:none;border-bottom:1px solid var(--line)}.sidebar nav{display:flex;overflow-x:auto}.sidebar nav a{white-space:nowrap}.sidebar-footer{display:flex;justify-content:space-between;align-items:center}.workspace{padding:1.5rem 1rem}.login-card{padding:1.5rem}.guest-layout{padding-top:2rem}}.toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin-bottom:1.5rem}.toolbar>div{flex:1;min-width:130px}.toolbar label{margin-top:0;font-size:.85rem}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:.78rem;color:var(--muted);font-weight:600;background:#f0f4ed}th,td{padding:1rem;border-bottom:1px solid var(--line)}:where(tr:last-child) td{border-bottom:0}button.text-button{padding:0;background:none;border:none;color:var(--green);text-decoration:underline;text-align:left}.empty{text-align:center;color:var(--muted);padding:2.5rem 1rem}.pagination,.section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin:1rem 0 1.5rem}.section-heading{margin-top:0}.section-heading h2{margin-bottom:0}.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.pagination .actions{margin-top:0}.form-grid,.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}fieldset{margin:1.5rem 0;border:1px solid var(--line);border-radius:10px}fieldset .checkbox{margin:.5rem 0}.danger{color:#87372f;border-color:#d7a29c}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.badge{background:#eaf0e5;color:#37533f;padding:.25rem .65rem;border-radius:20px;font-size:.8rem}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem}.metrics strong{font-size:2.5rem;line-height:1;font-weight:650}.spaced{margin-top:1.5rem;margin-bottom:0}.rich-toolbar{display:flex;flex-wrap:wrap;gap:.3rem;padding:.5rem;background:#f1f4f2;border:1px solid #dce4df;border-radius:.5rem .5rem 0 0}.rich-toolbar button{padding:.25rem .5rem;font-size:.8rem}.rich-editor{min-height:8rem;border:1px solid #dce4df;padding:1rem;outline-offset:2px;overflow-wrap:anywhere;background:#fff}.rich-editor table,.document-preview table{border-collapse:collapse;width:100%}.rich-editor td,.rich-editor th,.document-preview td,.document-preview th{border:1px solid #bbc7c0;padding:.4rem}.document-preview footer{border-top:1px solid #dce4df;margin-top:2rem;padding-top:1rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.photo-grid img{max-width:100%;height:200px;object-fit:contain}.crop-preview{position:relative;max-width:600px;margin:1rem 0;line-height:0}.crop-preview img{width:100%;height:auto}.crop-selection{position:absolute;border:3px solid white;outline:2px solid #3c7661;pointer-events:none;box-sizing:border-box}.pre-wrap{white-space:pre-wrap}ins{background:#d5f1df;text-decoration:none}del{background:#f9dbdf}.sidebar{gap:1.8rem}.sidebar .nav-group{margin:0}.sidebar .nav-group h2{margin:1.3rem .9rem .35rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#647765}.sidebar nav a{padding:.45rem .9rem;font-size:.88rem}.back-link{display:inline-block;margin-bottom:1.25rem}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:1.5rem;align-items:start}.form-aside{background:#edf3ed}.form-sections>section+section{border-top:1px solid var(--line);margin-top:2rem;padding-top:2rem}.step-number{display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;margin-right:.5rem;border-radius:50%;background:#e4eee1;color:#34523c;font-size:.9rem}.sale-total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.4rem 0;margin:1rem 0;border-top:1px solid #cddccc;border-bottom:1px solid #cddccc}.sale-total strong{font-size:1.85rem}.cancel-link{display:block;text-align:center;margin-top:.6rem}.quantity-field{max-width:230px;margin-top:1.5rem}.quantity-control{display:grid;grid-template-columns:44px minmax(60px,1fr) 44px;gap:.4rem}.quantity-control button{padding:.5rem}.quantity-control input{text-align:center}.autocomplete{position:relative;min-width:0}.autocomplete-input{position:relative}.autocomplete-input input{padding-right:3rem}.clear-choice{position:absolute;right:3px;top:3px;border:0;padding:.3rem .8rem;background:transparent;font-size:1.3rem}.suggestions{position:absolute;z-index:20;top:5.4rem;left:0;right:0;background:#fff;border:1px solid #aabbb0;border-radius:12px;box-shadow:0 10px 25px #243c331a;max-height:290px;overflow-y:auto}.suggestions [role=option]{display:flex;flex-direction:column;align-items:start;gap:.2rem;width:100%;text-align:left;border:0;border-radius:0;padding:.8rem 1rem}.suggestions [role=option] small{color:var(--muted)}.suggestions [role=option][aria-selected=true],.suggestions [role=option]:hover{background:#edf3e9}.suggestions p{padding:1rem;margin:0}.choice-summary{margin:.65rem 0 .3rem;padding:.6rem .8rem;border-radius:9px;background:#eaf2e6;overflow-wrap:anywhere}.autocomplete>.small{margin:.5rem 0 0}.event-editor{max-width:1000px}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-times{grid-template-columns:repeat(3,minmax(0,1fr))}.shift-card{background:#f8faf7;padding:1.25rem}.shift-card legend{padding:0 .5rem;font-weight:600;overflow-wrap:anywhere}.soft-empty{border:1px dashed #c3d2c3;border-radius:12px;background:#f7faf4;margin-bottom:1rem}.soft-empty p:last-child{margin-bottom:0}.add-shift{border-style:dashed;background:#f1f6ed}.form-footer{margin:1.5rem 0}@media(min-width:761px){.sidebar{position:sticky;top:0;height:100dvh;overflow-y:auto}.sale-summary{position:sticky;top:2rem}}@media(max-width:1000px){.editor-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.sidebar nav{max-height:180px;overflow:auto;gap:1rem}.sidebar .nav-group{flex:0 0 auto}.sidebar .nav-group h2{margin-top:.4rem}.two-columns,.shift-times{grid-template-columns:minmax(0,1fr)}.panel{padding:1.15rem}}.mobile-menu{display:none}@media(max-width:760px){.sidebar{position:relative}.mobile-menu{display:block;position:absolute;top:1rem;right:1rem}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:60dvh}.sidebar nav:not(.menu-open){display:none}.sidebar nav a{white-space:normal}.sidebar .nav-group{min-width:0}}.document-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:1.5rem}.document-heading>button{align-self:flex-start}.document-writing,.document-side{min-width:0}.document-writing>div>:where(.panel+.panel){margin-top:1.5rem}.document-side{position:sticky;top:1.5rem;display:grid;gap:1rem;max-height:calc(100dvh - 3rem);overflow-y:auto}.document-side .panel{padding:1.25rem}.document-side :where(h2){font-size:1.05rem}.document-save{background:#edf4ec}.document-save-state{padding:.65rem 0;border-top:1px solid #cadcca;color:#42604b}.document-content>.section-heading{flex-wrap:wrap}.document-part{min-width:0;margin:1.8rem 0;padding:1.25rem;background:#f8faf6;border-color:#d5dfcf}.document-part legend{padding:0 .5rem;color:#48634e}.document-section{min-width:0;border-top:1px solid #d8e1d7;padding-top:1.5rem;margin-top:1.5rem}.document-content-label{margin:1rem 0 .5rem;font-weight:600}.document-reorder{margin:.75rem 0 1.2rem;gap:.4rem;flex-wrap:wrap}.document-reorder button{font-size:.8rem;padding:.45rem .65rem}.document-part .rich-editor{min-height:12rem;border-radius:0 0 .5rem .5rem}.document-outline button{display:flex;gap:.6rem;width:100%;text-align:left;border:0;background:transparent;padding:.7rem .3rem;overflow-wrap:anywhere}.document-outline button:hover{background:#eef4e9}.document-outline :where(small){display:block;color:#65776a;margin-top:.2rem}.document-settings summary{cursor:pointer;font-weight:600}.document-settings>div{margin-top:1.5rem}.document-delete{padding:.5rem 1rem}.document-delete summary{cursor:pointer;color:#7b4e40;font-size:.85rem}.document-paper{min-height:28rem;max-width:900px;padding:clamp(1.25rem,4vw,3rem);overflow-wrap:anywhere;box-shadow:0 5px 22px #314d3c09}.document-paper :where(h2){margin-top:1.8rem}.document-paper :where(h2):first-child{margin-top:0}.document-paper h3{margin-top:1.4rem}.document-paper table,.document-writing .rich-editor table{table-layout:fixed}.document-paper img,.document-writing .rich-editor img{max-width:100%;height:auto}.document-paper pre,.document-writing .rich-editor pre{white-space:pre-wrap}.document-removal{width:min(90vw,32rem);border:1px solid #d5dfcf;border-radius:1rem;padding:1.5rem;color:#253f33}.document-removal::backdrop{background:#193e3155}.document-exports{flex-wrap:wrap}@media(max-width:1100px){.document-layout{grid-template-columns:minmax(0,1fr)}.document-side{position:static;max-height:none;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media(max-width:600px){.document-side{grid-template-columns:minmax(0,1fr)}.document-part{padding:.8rem}.document-writing .panel{padding:1rem}.document-outline{order:-1}.document-part .rich-editor{min-height:10rem;padding:.75rem}.document-exports{align-items:stretch}.document-exports .button{width:100%;text-align:center}}.attendance-list{list-style:none;padding:0}.attendance-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line, #e5e7eb)}.attendance-list li span{overflow-wrap:anywhere;min-width:0}.coaching-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem}.coaching-group-grid .panel{margin:0}.coaching-tabs{margin:1.5rem 0;padding-bottom:1rem;border-bottom:1px solid var(--border, #d5dfda)}.coaching-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:.5rem 1rem;margin:1rem 0}.coaching-choices .checkbox{min-height:44px;margin:0;padding:.5rem;background:var(--surface, #fff);border-radius:.4rem}.coaching-step{display:grid;grid-template-columns:90px 90px 1fr auto;gap:.75rem;align-items:start;margin:1rem 0;padding-bottom:1rem;border-bottom:1px solid #d5dfda}.coaching-step>*{min-width:0}.coaching-step button{align-self:center}@media(max-width:600px){.coaching-step{grid-template-columns:1fr 1fr}.coaching-step-content{grid-column:1 / -1}.coaching-step button{grid-column:1 / -1;justify-self:start}.coaching-tabs>button{flex:1 1 auto}}.session-create,.stock-editor{margin-top:1.5rem}.session-create fieldset,.stock-editor fieldset{border:0;margin:0;padding:0;min-width:0}.session-slot-summary{background:var(--surface-soft, #edf3e9);border-radius:10px;padding:1rem;margin:1rem 0}.stock-balance{font-size:2rem;font-variant-numeric:tabular-nums}
