:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#233d36;background:#f6f7f3;font-size:16px;line-height:1.5;--green:#214e40;--muted:#63736b;--line:#dce3db;--accent:#e5eee0}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ac7924;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:2.2rem;font-weight:550;letter-spacing:-1px;line-height:1.2;margin-bottom:12px}h2{font-size:1.25rem;font-weight:600}h3{font-size:1.05rem}small{display:block;font-size:.8rem;color:var(--muted)}.sidebar{position:fixed;inset:0 auto 0 0;width:258px;padding:34px 22px 24px;background:#fdfefb;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:650;line-height:1.3}.brand small{font-size:.7rem;margin-top:5px}.monogram{font-size:1rem;letter-spacing:-1px;background:var(--green);color:white;padding:15px 8px;border-radius:9px}.nav-label{font-size:.7rem;letter-spacing:1.8px;color:var(--muted);margin:52px 14px 14px}nav{display:grid;gap:6px}nav a{display:flex;gap:14px;align-items:center;text-decoration:none;padding:12px 14px;border-radius:7px;color:#5d6d64}nav a[aria-current=page]{color:var(--green);background:var(--accent);font-weight:650}nav svg{width:19px;height:19px}.sidebar-bottom{margin-top:auto}.setup-link{border-top:1px solid var(--line);padding:24px 8px;display:block;font-size:.85rem;text-decoration:none}.setup-link span{float:right}.instructor{border-top:1px solid var(--line);padding-top:24px;display:flex;align-items:center;gap:10px;margin-bottom:0;font-size:.85rem}.instructor small{font-size:.65rem}.avatar{display:inline-grid;place-items:center;width:40px;height:40px;flex-shrink:0;background:#eaf0e5;border-radius:50%;font-size:.8rem;color:var(--green);font-weight:650}.content{margin-left:258px}.topbar{height:76px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:.9rem;background:#fdfefb}.demo-pill{font-size:.65rem;letter-spacing:1px;border:1px solid #cdd9c4;border-radius:4px;padding:4px 9px}.demo-notice{font-size:.78rem;color:#666d50;background:#f0f1e3;padding:9px 42px}main{padding:38px 42px;max-width:1460px;min-height:calc(100vh - 200px)}.eyebrow{font-size:.72rem;letter-spacing:1.7px;color:var(--muted);text-transform:uppercase;margin-bottom:13px}.sub{color:var(--muted);max-width:720px}.heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}.date-block{font-size:.85rem;padding-top:8px;color:var(--muted);white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:30px}.stat{padding:22px 26px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{font-size:1.9rem;font-weight:500;display:block;line-height:1.3}.stat span{font-size:.83rem;color:var(--muted)}.columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:26px}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:22px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.panel-heading h2{margin:0}.text-link{font-size:.83rem;color:var(--green);text-underline-offset:4px}.lesson-row{display:flex;align-items:center;gap:17px;padding:21px 0;border-top:1px solid var(--line)}.lesson-row:first-child{border-top:0}.lesson-row .time{font-size:.9rem;min-width:56px}.lesson-row .details{flex:1}.lesson-row h3{margin:0 0 4px}.lesson-row p{font-size:.82rem;color:var(--muted);margin:0}.badge{font-size:.7rem;border-radius:4px;background:#edf1e9;color:#425840;padding:4px 8px;display:inline-block}.badge.warm{background:#fbf0d9;color:#74561e}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;text-decoration:none;border:1px solid #cbd7cc;padding:10px 15px;border-radius:6px;background:white;color:var(--green);font-size:.86rem;font-weight:550;min-height:42px}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn:hover{filter:brightness(.95)}.next-card{background:#eef2e6;border:1px solid #d9e1cd}.next-card .eyebrow{color:#617442}.next-card h2{font-size:1.4rem}.next-card p{font-size:.9rem;color:#54624c}.next-card .btn{margin-top:10px}.empty{padding:28px 8px;color:var(--muted)}.stack{display:grid;gap:16px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px}input,textarea,select{width:100%;background:#fff;border:1px solid #bdcbbb;border-radius:6px;padding:11px 12px;color:#263d32}textarea{min-height:140px;resize:vertical;line-height:1.6}label{display:block;font-size:.9rem;font-weight:550;margin-bottom:8px}.field{margin-bottom:22px}.toolbar input{max-width:340px}.toolbar input[type=date]{max-width:180px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.client-card h2{margin-top:18px;margin-bottom:6px}.client-card p{font-size:.88rem;min-height:44px}.client-card .btn{width:100%;margin-top:10px}.back{display:inline-block;margin-bottom:22px;font-size:.85rem;text-underline-offset:4px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:26px}.step{border:1px solid var(--line);padding:15px 10px;border-radius:7px;background:#fff;color:var(--muted);font-size:.85rem;text-align:left}.step span{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid #b8c6b8;border-radius:50%;margin-right:8px;font-size:.75rem}.step[aria-current=step]{background:var(--green);color:#fff;border-color:var(--green)}.step[aria-current=step] span{border-color:#9aae99}.step-content h2{font-size:1.5rem}.step-content .sub{font-size:.9rem}.callout{background:#f4f6ef;border-left:3px solid #98ac82;padding:16px 18px;margin:20px 0;font-size:.9rem}.actions{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:22px;margin-top:26px}.check{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);padding:14px;border-radius:6px;margin-bottom:10px;font-weight:400}.check input{width:18px;height:18px;margin:4px 0 0;accent-color:var(--green)}.check strong{display:block;font-size:.9rem}.check small{margin-top:3px}.resource{border-top:1px solid var(--line);padding:16px 0}.resource h3{margin-bottom:6px}.resource p{font-size:.85rem;color:var(--muted);margin-bottom:0}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:24px}.day{padding:12px 4px;background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--muted)}.day strong{display:block;font-size:1.2rem}.day[aria-pressed=true]{background:var(--green);color:white}.setup-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:25px}.setup-nav{display:grid;align-content:start;gap:5px}.setup-nav button{text-align:left;border:0;border-radius:6px;padding:12px;background:transparent;color:var(--muted);font-size:.9rem}.setup-nav button[aria-current=page]{background:var(--accent);color:var(--green);font-weight:600}.hint{font-size:.8rem;color:var(--muted);margin-top:8px}.report{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.success{background:#e8f1e6;padding:18px;border-radius:7px;color:#31542d;margin-bottom:20px}footer{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:.7rem;padding:20px 42px;border-top:1px solid var(--line)}#notice:not(:empty){position:fixed;bottom:24px;right:24px;background:#233d36;color:white;padding:14px 22px;border-radius:8px;max-width:calc(100vw - 48px);box-shadow:0 4px 20px #0002;z-index:3}.skip{position:fixed;top:-70px;left:20px;background:#fff;padding:10px;z-index:10}.skip:focus{top:10px}.error{color:#983e25}.message{background:#f3f6ef;padding:18px;border-radius:8px}.message small{margin-bottom:8px}button svg{width:18px;height:18px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){main{padding-top:48px}}@media(max-width:1100px){.sidebar{width:218px;padding:30px 16px}.content{margin-left:218px}main{padding:28px}.topbar,.demo-notice{padding-left:28px;padding-right:28px}.columns{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}.lesson-row .btn{white-space:nowrap}.step span{display:none}}@media(max-width:700px){.sidebar{position:static;width:auto;padding:18px 18px 12px;display:block}.brand small,.nav-label,.instructor{display:none}.brand{font-size:.95rem}.monogram{padding:9px 6px}nav{display:flex;gap:4px;overflow:auto;margin-top:18px}nav a{padding:10px 9px;font-size:.8rem;flex:1;justify-content:center}nav svg{display:none}.sidebar-bottom{margin:0}.setup-link{padding:13px 8px 0;margin-top:12px;font-size:.75rem}.content{margin:0}.topbar{height:52px;padding:0 20px}.demo-notice{padding:10px 20px;font-size:.72rem}main{padding:25px 18px}h1{font-size:1.85rem}.heading{display:block;margin-bottom:23px}.date-block{display:none}.stats{margin-bottom:22px}.stat{padding:15px 12px}.stat strong{font-size:1.5rem}.stat span{font-size:.72rem}.panel{padding:18px}.lesson-row{flex-wrap:wrap;gap:10px}.lesson-row .details{min-width:155px}.lesson-row .btn{margin-left:66px}.grid{grid-template-columns:1fr}.steps{gap:4px}.step{font-size:.75rem;padding:12px 6px;text-align:center}.setup-grid{grid-template-columns:1fr}.setup-nav{grid-template-columns:1fr 1fr}.setup-nav button{font-size:.8rem}.actions{align-items:stretch;flex-wrap:wrap}.actions .btn{flex:1}.week{gap:4px}.day{font-size:.7rem}.day strong{font-size:1rem}footer{padding:18px;display:block}footer span{display:block;margin-top:4px}}
/* Independent presentation for the unchanged donor message renderer. */
.message-row{display:flex;margin:18px 0}.message-row.mine{justify-content:flex-end}.message-stack{max-width:100%;min-width:0}.message-bubble{background:#f3f6ef;padding:18px;border-radius:8px;overflow-wrap:anywhere;white-space:pre-wrap}.message-time{color:var(--muted);font-size:.8rem;margin-top:6px}.message-attachment-link{border:1px solid var(--line);background:white;padding:8px;border-radius:4px}
/* v0.3 extends the established GEX palette, cards and controls. */
.sidebar{height:100dvh;overflow-y:auto}.setup-link[aria-current]{background:var(--accent);border-radius:6px;font-weight:650}#menu-toggle{display:none}.full-workspace{max-width:none}.client-banner{display:flex;gap:14px;align-items:center;padding:18px 22px;border:1px solid var(--line);border-radius:9px;background:white}.client-banner .text-link{margin-left:auto}.context-nav{display:flex;flex-wrap:wrap;gap:3px;margin:16px 0 30px;border-bottom:1px solid var(--line);padding-bottom:10px}.context-nav a{font-size:.85rem;padding:9px 12px}.calendar-toolbar,.calendar-key{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.calendar-toolbar h2{margin:0}.calendar-toolbar .toolbar{margin-bottom:15px}.segmented{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.segmented button{border:0;padding:10px 18px;background:white;color:var(--green)}.segmented button[aria-pressed=true]{background:var(--green);color:white}.calendar-key{font-size:.8rem;margin:0 0 16px;justify-content:flex-start}.calendar-key a{margin-left:auto}.personal-key{color:#866222}.calendar-scroll{border:1px solid var(--line);border-radius:9px;background:white;overflow:auto;max-height:650px}.calendar-board{display:grid;min-width:880px}.calendar-board.week{grid-template-columns:65px repeat(7,minmax(110px,1fr))}.calendar-board.month{grid-template-columns:repeat(7,minmax(110px,1fr))}.calendar-day{min-width:0;border-left:1px solid var(--line)}.day-heading{height:70px;display:flex;align-items:center;justify-content:center;gap:6px;background:#fbfcf8;border-bottom:1px solid var(--line);font-size:.78rem;position:sticky;top:0;z-index:2}.day-heading strong{font-size:1.1rem}.day-create{border:0;border-radius:50%;background:transparent;color:var(--green);font-size:1.3rem;min-width:26px;min-height:32px}.is-today .day-heading{background:var(--accent)}.week .day-events{height:1920px;display:grid;grid-template-rows:repeat(1440,minmax(0,1fr));background:repeating-linear-gradient(to bottom,transparent 0,transparent 79px,var(--line) 79px,var(--line) 80px)}.calendar-item{display:block;text-align:left;text-decoration:none;min-width:0;border:1px solid #bdceba;background:#e5eee0;color:var(--green);border-radius:5px;padding:5px 6px;font-size:.72rem;line-height:1.3;overflow:hidden;overflow-wrap:anywhere}.calendar-item small{font-size:.68rem;margin-top:3px;color:inherit}.calendar-item.event{background:#f7edd8;color:#715823;border-color:#decba3}.week .calendar-item{margin:0 3px;grid-column:1;z-index:1}.hour-label{height:80px;text-align:center;font-size:.68rem;color:var(--muted);padding-top:2px}.month .calendar-day{min-height:150px;border-bottom:1px solid var(--line)}.month .day-heading{height:38px;position:static}.month .day-events{padding:5px;display:grid;gap:5px}.other-month{background:#f5f6f1}.other-month .day-heading{color:#818a80}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.wide{grid-column:1/-1}dialog{border:1px solid var(--line);border-radius:12px;background:#fdfefb;color:#233d36;max-width:680px;width:calc(100% - 32px);max-height:90dvh;overflow:auto;padding:28px}dialog::backdrop{background:#173b3066}.day-checks{display:flex;flex-wrap:wrap;gap:14px;padding:12px 0}.day-checks label{display:flex;gap:5px;align-items:center;font-size:.8rem}.day-checks input{width:18px;height:18px}fieldset{border:1px solid var(--line);border-radius:7px;margin:0 0 22px;padding:14px}.attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.attachment-slot{border:1px solid var(--line);padding:14px;border-radius:7px}.attachment-card{margin:12px 0;overflow-wrap:anywhere}.attachment-card img,.attachment-card video{width:100%;max-height:230px;object-fit:contain;border-radius:6px;background:#e5eee0}.media-placeholder{background:#edf1e9;min-height:105px;display:grid;place-content:center;text-align:center;margin-bottom:12px;border-radius:7px;color:var(--green)}.file-label{font-size:.8rem;font-weight:400;margin-top:12px}.file-label input{font-size:.72rem;padding:8px;max-width:100%;margin-top:7px}.attachment-card strong{font-size:.85rem}.setup-nav button{min-height:44px}main{min-width:0}main>nav.context-nav{overflow:visible}
@media(max-width:700px){.sidebar{position:fixed;width:250px;inset:0 auto 0 0;z-index:5;transform:translateX(-100%);transition:transform .15s;background:#fdfefb;display:flex;padding:26px 18px}.nav-open .sidebar{transform:none;box-shadow:12px 0 40px #0003}.sidebar .nav-label,.sidebar .instructor{display:block}.sidebar .instructor{display:flex}.sidebar nav{display:grid;overflow:visible;margin:0}.sidebar nav a{justify-content:flex-start;font-size:.95rem}.sidebar nav svg{display:block}.sidebar-bottom{margin-top:auto}.topbar{position:sticky;top:0;z-index:4;gap:10px;font-size:.8rem}#menu-toggle{display:inline-flex;padding:6px 10px;font-size:.8rem}.nav-open #menu-toggle{position:fixed;left:258px;top:10px;background:white}.demo-pill{font-size:.55rem}.calendar-scroll{max-height:600px}.context-nav{flex-wrap:nowrap;overflow-x:auto!important}.context-nav a{white-space:nowrap}.client-banner{padding:14px}.client-banner .text-link{font-size:.75rem}.form-grid{grid-template-columns:1fr}.attachment-grid{grid-template-columns:1fr}.calendar-toolbar h2{font-size:1rem}.calendar-key a{margin-left:0}.calendar-toolbar .toolbar{gap:6px}.calendar-toolbar input[type=date]{max-width:160px}}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}

.hidden,[hidden]{display:none!important}input[type=checkbox]{accent-color:var(--green)}
/* All-day personal blocks remain behind lesson cards. */
.week .calendar-item.event[data-duration="1440"]{z-index:0}

/* Keep the approved hourly scale; minor lines follow booking start intervals. */
.week.interval-15 .day-events{background:repeating-linear-gradient(to bottom,transparent 0,transparent 19px,#e9ece7 19px,#e9ece7 20px)}
.week.interval-30 .day-events{background:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,#e9ece7 39px,#e9ece7 40px)}
.calendar-item.buffer{background:#e4e6e5;border-color:#bdc3bf;color:#525c56;font-size:.65rem;padding:2px 5px}.buffer-key{color:#69736c}

/* Calendar controls retain the existing palette and 80px hourly scale. */
.interval-label{height:40px;text-align:center;font-size:.68rem;color:var(--muted);padding-top:2px}
.interval-15 .interval-label{height:20px}
.week .calendar-slot{grid-column:1;min-width:0;margin:0 3px;padding:0 5px;border:0;border-radius:0;background:transparent;text-align:left;font:inherit;font-size:.65rem;color:var(--muted);cursor:pointer;overflow:hidden}
.week .calendar-slot:hover,.week .calendar-slot:focus-visible{background:var(--accent);outline:1px solid var(--green);outline-offset:-1px}

.week .calendar-slot.outside-schedule{background:#eef0ee;color:#69736c}.week .calendar-slot.outside-schedule:hover,.week .calendar-slot.outside-schedule:focus-visible{background:var(--accent)}
.day-date{display:flex;flex-direction:column;align-items:center;line-height:1.15}.day-date small{font-size:.65rem;color:var(--muted)}

.day-label{font-size:.75rem;line-height:1.3;text-align:center}.calendar-legend{display:inline-flex;align-items:center;gap:6px}.calendar-swatch{display:inline-block;width:13px;height:13px;border:1px solid #88918b;border-radius:3px}
.appearance-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.appearance-row input[type=color]{width:58px;height:42px;padding:3px}.appearance-row input[data-colour-hex]{width:110px}.appearance-sample{padding:10px 14px}

.week .day-events{position:relative}.calendar-now-line{position:absolute;left:0;right:0;height:2px;background:#1672d4;z-index:3;pointer-events:none}.calendar-now-line::before{content:'';position:absolute;width:6px;height:6px;border-radius:50%;background:#1672d4;left:0;top:-2px}.week .calendar-item.all-day-segment{z-index:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.all-day-note{position:absolute;top:0;left:3px;right:3px;font-size:.65rem;z-index:1}
.calendar-date-picker{position:relative;display:inline-flex;align-items:center;margin:0;font-size:.85rem;min-height:42px;border:1px solid var(--line);padding:8px 12px;border-radius:6px}.calendar-date-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.calendar-date-picker:focus-within{outline:2px solid var(--green)}
.weekly-block-item{border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:12px}.personal-event-form .form-grid{display:flex;flex-direction:column}.personal-event-form #event-end{width:100%}
.week .day-heading{z-index:4}

/* Services & Rates shares the compact GEX setup language used by saved locations. */
.services-manager{container-type:inline-size;min-width:0}.services-manager h2{margin:0 0 4px;color:var(--green)}.services-manager>.sub{font-size:.85rem;margin:0 0 10px}
.services-manager form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;align-items:end;padding:10px 0 12px;min-width:0}
.services-manager form label{display:flex;flex-direction:column;gap:4px;margin:0;font-size:.82rem;min-width:0}
.services-manager form input,.services-manager form select,.services-manager form textarea{width:100%;min-width:0;max-width:100%;min-height:36px;padding:7px 9px}
.services-manager form textarea{min-height:58px;resize:vertical}.service-category-field,.service-name-field,.service-details-field,.service-custom-category{grid-column:1/-1}.service-name-field small{font-size:.72rem;font-weight:400}.service-details-field .optional-label{display:inline;font-size:.76rem;font-weight:400}
.services-manager .service-custom-length{grid-column:1/-1}
.service-form-actions{grid-column:1/-1;display:flex;gap:8px}.service-form-actions .btn{min-height:36px;padding:7px 13px}
.services-manager .error{grid-column:1/-1;margin:0}.services-manager .error:empty{display:none}
.saved-services-box{border:1px solid var(--line);border-radius:7px;overflow:hidden}.saved-services-box h3{font-size:.9rem;margin:0;padding:7px 10px;background:#f4f6ef}
.service-catalogue{container-type:inline-size}.service-category-list{padding:6px 8px;background:#f9fbf7}.service-category+.service-category{margin-top:22px;padding-top:6px;border-top:1px solid var(--line)}.service-category>h4{color:#fff;background:#000;border:1px solid var(--line);border-radius:5px;font-size:.82rem;font-weight:700;margin:0 0 5px;padding:5px 8px}.service-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.service-card{min-width:0;border:1px solid var(--line);border-radius:6px;background:#fff;padding:8px 9px;box-shadow:0 1px 2px #214e400b}.service-card:focus-within{border-color:var(--green);box-shadow:0 0 0 2px var(--accent)}
.service-card h4{font-size:.86rem;line-height:1.25;color:var(--green);margin:0 0 5px;overflow-wrap:anywhere}.service-card-facts{display:flex;gap:5px 12px;flex-wrap:wrap;margin-bottom:6px}.service-card-facts p{margin:0;min-width:0}.service-card-facts span{display:block;color:var(--muted);font-size:.66rem}.service-card-facts strong{display:block;font-size:.76rem;font-weight:600;overflow-wrap:anywhere}
.service-card-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.service-card-actions .btn{min-height:27px;padding:3px 7px;font-size:.7rem;line-height:1.15}.service-admin-actions{display:flex;gap:4px;flex-wrap:wrap}.service-admin-actions .btn{color:var(--green);background:#fdfefb;border-color:var(--line)}.service-admin-actions .btn:hover{background:var(--accent);border-color:var(--green)}.service-empty{margin:0;padding:6px;color:var(--muted);font-size:.82rem}
.service-tax-note{margin:0;padding:7px 10px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}
.service-catalogue:not(.service-admin-catalogue) .service-tax-note{font-size:.85rem;font-weight:650;color:var(--green);background:var(--accent)}
#service-detail-dialog{max-width:430px;padding:18px;border-color:var(--line)}#service-detail-dialog .panel-heading{margin-bottom:10px;gap:12px}#service-detail-dialog h2{font-size:1.05rem;margin:0;overflow-wrap:anywhere;color:var(--green)}#service-detail-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem}
@container(max-width:660px){.service-cards{grid-template-columns:1fr}}
@container(max-width:440px){.services-manager form{grid-template-columns:1fr}.service-category-field,.service-name-field,.services-manager .service-custom-length,.service-details-field,.service-custom-category{grid-column:1}}

/* Scope compact form tuning to the create dialog, never the calendar grid. */
#create-dialog{max-width:440px;max-height:85dvh;padding:14px}
#create-dialog h2{font-size:1.05rem;margin:0}#create-dialog .panel-heading{margin-bottom:8px}
#create-dialog .form-grid{gap:0 12px}#create-dialog .field{margin-bottom:7px}
#create-dialog label{font-size:.8rem;margin-bottom:3px}
#create-dialog input:not([type=checkbox]),#create-dialog select{padding:5px 8px;min-height:32px;font-size:.85rem}
#create-dialog .hint{margin:4px 0;font-size:.72rem;line-height:1.35}
#create-dialog .check{margin:5px 0;padding:6px 8px;gap:8px;align-items:center}
#create-dialog .check input{margin:0;flex-shrink:0}
#create-dialog textarea{min-height:42px;height:42px;padding:5px 8px;font-size:.85rem}
#create-dialog .actions{margin-top:8px;padding-top:10px;gap:8px}
#create-dialog .btn{padding:5px 10px;min-height:32px;font-size:.8rem}
#create-dialog .error:empty{display:none}

/* Scheduling Administration only; approved calendar grid/type styles stay unchanged. */
.scheduling-admin .schedule-week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.scheduling-admin .schedule-week-card{border:1px solid var(--line);border-radius:8px;padding:12px;min-width:0}
.scheduling-admin h3{font-size:.95rem;margin:0 0 6px}.scheduling-admin label{font-size:.8rem;margin-bottom:5px}
.scheduling-admin input:not([type=checkbox]),.scheduling-admin select{padding:6px 8px;font-size:.82rem;min-height:32px}
.scheduling-admin .btn{font-size:.75rem;padding:5px 8px;min-height:32px}.schedule-card-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.schedule-date-link{display:block;width:100%;border:0;border-top:1px solid var(--line);padding:6px 0;background:transparent;text-align:left;color:inherit}
.schedule-date-link strong{font-size:.8rem}.schedule-date-link small{font-size:.7rem}.schedule-week-days{margin-top:8px}
.scheduling-admin details{margin:8px 0}.scheduling-admin summary{font-size:.82rem;cursor:pointer;color:var(--green)}
.schedule-editor{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.schedule-day-row{border-bottom:1px solid var(--line);padding:8px 0}
.schedule-toggle{display:flex;align-items:center;gap:7px}.schedule-toggle input,.schedule-copy-days input{width:16px;height:16px}
.schedule-cluster-toggle{grid-column:1/-1;align-items:flex-start}.schedule-cluster-toggle input{flex:none;margin-top:3px}.schedule-cluster-toggle strong{display:block;white-space:nowrap;font-size:.8rem}.schedule-cluster-toggle small{display:block;font-size:.7rem;font-weight:400}
.schedule-location-actions{display:flex;align-items:center;gap:12px;grid-column:1/-1;margin-top:-4px}.schedule-location-actions .text-link{padding:2px 0}
#teaching-locations{scroll-margin-top:16px}#teaching-locations form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line)}#teaching-locations form label{flex:1 1 190px;min-width:150px}
.schedule-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.schedule-block{border:1px solid var(--line);padding:10px;border-radius:6px;margin:8px 0}
.schedule-copy-days{display:flex;gap:8px;flex-wrap:wrap}.schedule-copy-days label{display:flex;gap:4px;align-items:center}
@media(max-width:900px){.scheduling-admin .schedule-week-grid{grid-template-columns:1fr}.schedule-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Issue #2: guidance and actions; existing calendar time geometry is unchanged. */
.schedule-orientation{border:1px solid var(--line);border-radius:8px;padding:14px;margin:10px 0 18px;background:#fbfcf8;font-size:.85rem}.schedule-orientation h3{font-size:1rem}.calendar-date-action{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0}.schedule-marker{color:var(--green);font-size:1rem}.month-availability{border:0;background:transparent;color:var(--muted);font-size:.68rem;text-align:left;padding:3px;cursor:pointer}.calendar-date-actions{padding:14px;margin-bottom:14px}.calendar-date-actions h2{font-size:1rem}.calendar-date-actions p{margin:7px 0}
.scheduling-admin button.text-link{border:0;background:transparent;color:var(--green);font:inherit;font-size:.8rem;text-decoration:underline;cursor:pointer;padding:4px 0}

.calendar-board.week.day{grid-template-columns:65px minmax(200px,1fr);min-width:280px}

/* Guided Scheduling Setup uses the existing GEX workspace palette. */
.guided-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.guided-choice-grid .panel{display:flex;flex-direction:column;align-items:flex-start}.guided-choice-grid .btn{margin-top:auto}.guided-hal textarea{min-height:100px}.guided-form{max-width:980px}.guided-form h2{margin:28px 0 10px}.guided-form h2:first-child{margin-top:0}.guided-days,.guided-location-actions{display:flex;gap:10px;flex-wrap:wrap}.guided-days label,.guided-different{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:6px;padding:8px 10px}.guided-days input,.guided-different input,.guided-choice input{width:auto;accent-color:var(--green)}.guided-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;margin:14px 0}.guided-fields label{min-width:0}.guided-choice{display:flex;align-items:center;gap:14px;grid-column:1/-1}.guided-choice legend{font-weight:600}.guided-choice label{display:flex;align-items:center;gap:6px}.guided-choice small{margin-left:auto}.guided-day-override{border-top:1px solid var(--line);padding:14px 0}.guided-day-override .guided-fields{padding-left:12px}.guided-review ul{padding-left:22px;line-height:1.9}.guided-review li{margin:7px 0}.guided-location-actions{margin:8px 0 18px}#guided-location-entry{max-width:400px;padding:16px;background:#f4f6ef;border-radius:7px}
@media(max-width:900px){.guided-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.guided-choice-grid,.guided-fields{grid-template-columns:1fr}.guided-choice{flex-wrap:wrap}.guided-day-override .guided-fields{padding-left:0}}

/* Issue #3 client directory and profile; Calendar layout is unchanged. */
.client-directory-panel{padding:16px 20px}.client-directory-panel .panel-heading{margin-bottom:6px}
.client-directory{max-height:min(58vh,640px);overflow-y:scroll;scrollbar-gutter:stable;border-top:1px solid var(--line)}
.client-directory-row{display:grid;grid-template-columns:32px minmax(130px,1fr) minmax(160px,1.4fr) 16px;align-items:center;gap:12px;min-height:49px;padding:7px 10px;border-bottom:1px solid var(--line);text-decoration:none;font-size:.86rem}
.client-directory-row:hover,.client-directory-row:focus-visible{background:#f3f7ef}.client-directory-row .avatar{width:30px;height:30px;font-size:.66rem}.client-directory-row strong{font-weight:600}.client-directory-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.78rem}
.client-profile-details{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:0 0 18px}.client-profile-details div{border-top:1px solid var(--line);padding-top:8px}.client-profile-details dt{font-size:.72rem;color:var(--muted)}.client-profile-details dd{margin:0;font-size:.87rem}
@media(max-width:700px){.client-directory-row{grid-template-columns:30px 1fr 16px}.client-directory-detail{display:none}.client-profile-details{grid-template-columns:1fr 1fr}}
/* Guided scheduling: two readable rows, with room for full location names. */
.guided-fields{grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) minmax(260px,1.6fr);gap:16px 20px;align-items:start}.guided-fields label{display:flex;flex-direction:column;gap:7px;font-size:14px;line-height:1.45}.guided-fields select{width:100%;min-width:0}.guided-custom{grid-column:1/-1}.guided-choice{flex-wrap:wrap;margin:22px 0 12px}.guided-choice small{flex-basis:100%;margin-left:0}.teaching-location-manager{scroll-margin-top:20px}.teaching-location-manager form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,1.6fr);gap:12px 20px;padding:18px 0;border-bottom:1px solid var(--line)}.teaching-location-manager form label{display:flex;flex-direction:column;gap:7px}.teaching-location-manager form .actions,.teaching-location-manager form>button{grid-column:1/-1;justify-self:start}.teaching-location-manager>button{margin-top:15px}.guided-day-fields>section{padding:10px 0}.guided-days label[hidden],.guided-custom[hidden]{display:none}
@media(max-width:1250px){.guided-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-location-field{grid-column:1/-1}}
@media(max-width:700px){.guided-fields{grid-template-columns:1fr}.guided-location-field{grid-column:auto}.guided-choice{gap:10px}.guided-form{padding:18px}.guided-fields select{font-size:16px}.teaching-location-manager form{grid-template-columns:1fr}}

@media(max-width:1000px){.setup-grid:has(.guided-form){grid-template-columns:minmax(0,1fr)}.setup-grid:has(.guided-form) .setup-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* One location editor, compact saved records, and readable scheduling settings. */
.saved-teaching-locations{list-style:none;padding:0;margin:0}.saved-teaching-locations li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border-top:1px solid var(--line)}.saved-teaching-locations li:first-child{border-top:0}.saved-teaching-locations strong,.saved-teaching-locations span{display:block;overflow-wrap:anywhere}.saved-teaching-locations strong{font-size:.86rem}.saved-teaching-locations span{font-size:.78rem;color:var(--muted)}.location-list-actions{display:flex;gap:6px;flex-shrink:0}.location-list-actions .btn{min-height:30px;padding:4px 9px;font-size:.76rem}.teaching-location-manager h2{margin:0 0 4px}.teaching-location-manager>p:not(.error){margin:0;color:var(--muted);font-size:.85rem}.teaching-location-manager form{gap:8px 12px;padding:10px 0 8px;border:0}.teaching-location-manager form label{gap:4px;margin:0;font-size:.82rem}.teaching-location-manager form input{padding:8px 10px}.teaching-location-manager form>button{min-height:36px;padding:7px 13px}.teaching-location-manager .error:empty{display:none}.teaching-location-manager .error{margin:0 0 8px}.saved-locations-box{border:1px solid var(--line);border-radius:7px;overflow:hidden}.saved-locations-box h3{font-size:.9rem;margin:0;padding:7px 10px;background:#f4f6ef}.guided-location-assignment{max-width:650px}.guided-location-assignment label{display:block}.guided-cluster-status{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:.85rem}.guided-cluster-status li{padding:8px;border:1px solid var(--line);border-radius:6px}.guided-cluster-status li[hidden]{display:none}.guided-choice>.hint{flex-basis:100%;margin-bottom:0}.guided-fields:has([name="common-start"]){grid-template-columns:repeat(6,minmax(0,1fr))}.guided-fields:has([name="common-start"])>label{grid-column:span 2}.guided-fields:has([name="common-start"])>label:has(select[name$="buffer"]),.guided-fields:has([name="common-start"])>label:has(select[name$="interval"]){grid-column:span 3}.guided-fields:has([name="common-start"])>.guided-custom{grid-column:1/-1}.guided-day-fields .guided-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-day-fields .guided-location-field{grid-column:1/-1}#guided-block-day{max-width:320px;margin-bottom:12px}
@media(max-width:700px){.saved-teaching-locations li{align-items:flex-start;flex-direction:column;gap:8px}.guided-cluster-status{grid-template-columns:1fr}.guided-fields:has([name="common-start"]),.guided-day-fields .guided-fields{grid-template-columns:1fr}.guided-fields:has([name="common-start"])>label,.guided-fields:has([name="common-start"])>label:has(select){grid-column:1/-1}}
@media(max-width:700px){.guided-fields:has([name="common-start"])>label:has(select[name$="buffer"]),.guided-fields:has([name="common-start"])>label:has(select[name$="interval"]){grid-column:1/-1}}
.setup-scheduling-content,.guided-form,.saved-teaching-days{min-width:0}.guided-day-builder{border:1px solid var(--line);border-radius:7px;padding:14px;background:#fff;scroll-margin-top:16px}.guided-day-builder>label:first-child{max-width:300px}.guided-day-builder .guided-fields{margin:8px 0;gap:8px 12px}.guided-day-builder .guided-fields label{gap:4px;margin:0;font-size:.82rem}.guided-day-builder .guided-fields select,.guided-day-builder .guided-fields input,.guided-day-builder>label:first-child select{padding:8px 10px}.guided-day-builder>.hint{margin:5px 0 8px}.guided-period-cluster{display:flex;align-items:center;gap:16px;border:0;padding:0;margin:8px 0 0}.guided-period-cluster legend{font-size:.85rem;font-weight:600;margin-bottom:4px}.guided-period-cluster label,.guided-period-add{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:.83rem}.guided-period-cluster input,.guided-period-add input{width:auto;accent-color:var(--green)}.guided-day-builder .error:empty{display:none}.guided-day-builder .error{margin:6px 0}.guided-day-builder>button{min-height:36px;padding:7px 13px}.saved-teaching-days{margin-top:12px}.saved-teaching-days-scroll{max-width:100%;overflow-x:auto}.saved-teaching-days table{border-collapse:collapse;width:max-content;min-width:100%;font-size:.78rem;white-space:nowrap}.saved-teaching-days th,.saved-teaching-days td{text-align:left;padding:7px 8px;border-top:1px solid var(--line)}.saved-teaching-days th{font-weight:600;color:var(--muted);background:#fafbf8}.saved-teaching-days td:nth-child(3){white-space:normal;min-width:130px}.saved-teaching-days tr[hidden]{display:none}.saved-teaching-days .location-list-actions .btn{min-height:28px;padding:3px 7px}
.saved-teaching-days th:last-child,.saved-teaching-days td:last-child{position:sticky;right:0;background:#fff;box-shadow:-1px 0 var(--line)}.saved-teaching-days th:last-child{background:#fafbf8}
/* Compact guided questionnaire and calendar review. */
.guided-form{max-width:980px}.guided-form.guided-step,.guided-form .guided-step{padding:0}.guided-form .guided-step+ .guided-step{border-top:1px solid var(--line);margin-top:15px;padding-top:12px}.guided-form .guided-step h2{font-size:1.12rem;margin:0 0 10px}.guided-form .guided-days{gap:6px}.guided-form .guided-days label{padding:6px 9px;font-size:.82rem}.guided-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;align-items:end}.guided-entry-grid label{min-width:0;display:flex;flex-direction:column;gap:4px;font-size:.82rem}.guided-entry-grid select,.guided-entry-grid input{width:100%;min-width:0;padding:8px 10px}.guided-entry-grid .guided-custom[hidden],.guided-entry-grid .guided-window[hidden]{display:none}.guided-day-builder{padding:12px}.guided-day-builder>p.hint{margin:0 0 8px}.guided-day-builder .guided-entry-grid+p.hint{margin:7px 0 3px}.guided-day-builder .guided-entry-grid+p.hint+p.hint{margin:0 0 9px}.saved-teaching-days{margin-top:10px}.guided-review{min-width:0}.guided-calendar-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:7px;margin:12px 0}.guided-calendar{display:grid;grid-template-columns:76px repeat(7,minmax(115px,1fr));min-width:max(810px,100%)}.guided-calendar-time,.guided-calendar-day{border-right:1px solid var(--line)}.guided-calendar-time>strong,.guided-calendar-day>strong{display:block;height:35px;padding:8px;background:#f4f6ef;font-size:.8rem}.guided-calendar-time span{display:block;height:54px;padding:4px 6px;border-top:1px solid var(--line);color:var(--muted);font-size:.69rem}.guided-calendar-track{height:calc(var(--preview-hours)*54px);position:relative;background:repeating-linear-gradient(to bottom,#fff 0,#fff 53px,var(--line) 53px,var(--line) 54px)}.guided-calendar-period{position:absolute;left:4px;right:4px;overflow:hidden;padding:6px;background:#dbead4;border:1px solid #9bc08b;border-radius:5px;color:#183d25;font-size:.72rem}.guided-calendar-period b,.guided-calendar-period small{display:block}.guided-calendar-period small{margin-top:4px;overflow-wrap:anywhere}.guided-duration{max-width:680px}.guided-duration label{display:block;max-width:330px}.guided-duration select{display:block;width:100%;margin-top:5px}
@media(max-width:700px){.guided-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-form .guided-step h2{font-size:1.04rem}}
@media(max-width:440px){.guided-entry-grid{grid-template-columns:1fr}}
.guided-field-definitions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 14px;margin:9px 0 10px;padding-top:8px;border-top:1px solid var(--line);color:var(--muted);font-size:.73rem;line-height:1.35}.guided-field-definitions p{margin:0}.guided-field-definitions strong{color:#233d36;font-weight:650}.guided-flexibility{max-width:64ch;margin:8px 0 14px;font-size:.84rem;line-height:1.45}
@media(max-width:700px){.guided-field-definitions{grid-template-columns:1fr}}
.setup-scheduling-content>.guided-form.guided-step{padding:14px}.guided-choice-grid:has(>section:only-child){grid-template-columns:minmax(0,1fr);max-width:620px}

/* Guided Scheduling uses the original GEX-OS identity used by the public entry. */
.guided-choice-grid,.guided-hal,.guided-form,.guided-review{
  --guided-deep:#154d2a;
  --guided-green:#1f6b3a;
  --guided-soft:#e8f3ec;
  --guided-line:#d9e2dc;
  --guided-ink:#17221b;
  --guided-muted:#526358;
  color:var(--guided-ink);
}
main:has(.guided-choice-grid,.guided-form,.guided-review):focus{outline:none}
main:has(.guided-choice-grid,.guided-form,.guided-review) .setup-nav button[aria-current=page],
body:has(.guided-choice-grid,.guided-form,.guided-review) .setup-link[aria-current]{background:#e8f3ec;color:#154d2a}
.guided-choice-grid .panel,.guided-hal,.guided-form,.guided-review{border-color:var(--guided-line)}
.guided-choice-grid h2,.guided-hal h2,.guided-form h2,.guided-review h2,
.guided-form h3,.guided-review h3{color:var(--guided-deep)}
.guided-choice-grid .badge{background:var(--guided-soft);color:var(--guided-deep);border:1px solid #bcd8c5}
.guided-choice-grid .btn,.guided-hal .btn,.guided-form .btn,.guided-review .btn{
  border-color:#b9cbbd;color:var(--guided-deep);background:#fff;
}
.guided-choice-grid .btn.primary,.guided-hal .btn.primary,.guided-form .btn.primary,.guided-review .btn.primary{
  border-color:var(--guided-green);background:var(--guided-green);color:#fff;
}
.guided-choice-grid .btn:hover,.guided-hal .btn:hover,.guided-form .btn:hover,.guided-review .btn:hover{background:var(--guided-soft);filter:none}
.guided-choice-grid .btn.primary:hover,.guided-hal .btn.primary:hover,.guided-form .btn.primary:hover,.guided-review .btn.primary:hover{background:var(--guided-deep);border-color:var(--guided-deep);color:#fff}
.guided-hal textarea,.guided-form input,.guided-form select{border-color:#bdc9c0;color:var(--guided-ink);accent-color:var(--guided-green)}
.guided-hal textarea:focus,.guided-form input:focus,.guided-form select:focus{border-color:var(--guided-green)}
.guided-choice-grid :focus-visible,.guided-hal :focus-visible,.guided-form :focus-visible,.guided-review :focus-visible{outline-color:var(--guided-green)}
.guided-form .hint,.guided-review .hint,.guided-hal .hint{color:var(--guided-muted)}
.guided-form .teaching-location-manager form,.guided-form .guided-day-builder,.guided-form .saved-locations-box,
.guided-form .saved-teaching-days,.guided-review .guided-calendar-scroll{border-color:var(--guided-line)}
.guided-form .guided-day-builder{box-shadow:inset 3px 0 var(--guided-green)}
.guided-form .guided-day-builder[data-edit-index]{background:#f6faf7}
.guided-form .saved-locations-box h3,.guided-form .saved-teaching-days h3,
.guided-form .saved-teaching-days th,.guided-review .guided-calendar-time>strong,
.guided-review .guided-calendar-day>strong{background:var(--guided-soft);color:var(--guided-deep)}
.guided-form .saved-teaching-days th,.guided-form .saved-teaching-days td,
.guided-form .saved-teaching-locations li,.guided-review .guided-calendar-time,
.guided-review .guided-calendar-day,.guided-review .guided-calendar-time span{border-color:var(--guided-line)}
.guided-form .saved-teaching-days tbody tr:hover{background:#f6faf7}
.guided-form .guided-field-definitions{border-color:var(--guided-line);color:var(--guided-muted)}
.guided-form .guided-field-definitions strong{color:var(--guided-deep)}
.guided-review .guided-calendar-track{background:repeating-linear-gradient(to bottom,#fff 0,#fff 53px,var(--guided-line) 53px,var(--guided-line) 54px)}
.guided-review .guided-calendar-period{background:var(--guided-soft);border-color:#bcd8c5;color:var(--guided-deep)}
.guided-review .guided-calendar-period small{color:var(--guided-deep)}
.guided-review .guided-flexibility{border-left:3px solid var(--guided-green);padding-left:10px;color:var(--guided-deep)}

/* Keep every Independent workspace in the original GEX-OS palette. */
:root{--green:#1f6b3a;--gex-deep:#154d2a;--muted:#526358;--line:#d9e2dc;--accent:#e8f3ec;color:#17221b;background:#f6f8f6}
body{background:#f6f8f6;color:#17221b}
main:focus{outline:none}
.sidebar,.topbar{background:var(--gex-deep);color:#fff;border-color:#1f6b3a}
.sidebar .brand,.sidebar .brand small,.sidebar .nav-label,.sidebar .instructor,.sidebar .instructor small{color:#e8f3ec}
.sidebar .monogram{background:var(--green);border:1px solid #ffffff55;color:#fff}
.sidebar img.monogram{display:block;width:48px;height:48px;flex:none;padding:0;object-fit:cover;border-radius:9px}
.sidebar nav a,.sidebar .setup-link{color:#e8f3ec}
.sidebar nav a:hover,.sidebar .setup-link:hover{background:#1f6b3a;color:#fff}
.sidebar nav a[aria-current=page],.sidebar .setup-link[aria-current]{background:var(--accent);color:var(--gex-deep)}
.sidebar .avatar{background:#e8f3ec;color:var(--gex-deep)}
.topbar .demo-pill{border-color:#bcd8c5;color:#e8f3ec}
.demo-notice{background:#e8f3ec;color:#154d2a;border-bottom:1px solid #bcd8c5}
.eyebrow{color:var(--gex-deep)}
body:not(.public-mode) h1,body:not(.public-mode) h2,body:not(.public-mode) h3{color:var(--gex-deep)}
.panel,.stats,.client-banner,.calendar-scroll,.calendar-date-actions,
.scheduling-admin .schedule-week-card,.schedule-editor,.schedule-block,
.attachment-slot,.message-attachment-link{background-color:#fff;border-color:var(--line)}
.btn{border-color:#b9cbbd;color:var(--gex-deep);background:#fff}
.btn.primary{background:var(--green);border-color:var(--green);color:#fff}
.btn:hover{background:#e8f3ec;filter:none}
.btn.primary:hover{background:var(--gex-deep);border-color:var(--gex-deep);color:#fff}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--green)}
input,textarea,select{border-color:#bdc9c0;color:#17221b;accent-color:var(--green)}
.setup-nav button{color:var(--muted)}
.setup-nav button:hover,.context-nav a:hover{background:#f0f7f2;color:var(--gex-deep)}
.setup-nav button[aria-current=page],.context-nav a[aria-current=page]{background:var(--accent);color:var(--gex-deep)}
.text-link,.back,.calendar-key a,.schedule-date-link{color:var(--gex-deep)}
.badge,.demo-pill{background:#e8f3ec;color:var(--gex-deep);border-color:#bcd8c5}
.topbar .demo-pill{background:transparent;color:#e8f3ec}
.badge.warm{background:#fbf0d9;color:#74561e}
.success,.message,.callout,.next-card{background:#e8f3ec;color:var(--gex-deep);border-color:#bcd8c5}
.callout{border-left-color:var(--green)}
body:not(.public-mode) table th{background:#e8f3ec;color:var(--gex-deep)}
body:not(.public-mode) table th,body:not(.public-mode) table td{border-color:var(--line)}
.client-directory-row:hover,.client-directory-row:focus-visible{background:#f0f7f2}
.day-heading{background:#f6f8f6}
.message-bubble,.media-placeholder{background:#e8f3ec;color:var(--gex-deep)}
dialog{background:#fff;color:#17221b;border-color:var(--line)}
.segmented button[aria-pressed=true],.day[aria-pressed=true],.step[aria-current=step]{background:var(--green);border-color:var(--green);color:#fff}
#notice:not(:empty){background:var(--gex-deep);color:#fff}

.welcome-manager form textarea{min-height:110px}.welcome-snippet{font-size:.76rem;color:var(--muted);margin:0 0 7px;overflow-wrap:anywhere}.welcome-manager #welcome-preview{max-width:520px;width:calc(100% - 32px);padding:18px;border-color:var(--line)}#welcome-preview-title{font-size:1.05rem;margin:0;overflow-wrap:anywhere}#welcome-preview-message{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem}

/* Compact Report Design checklist and read-only GEX report previews. */
.report-design-manager{min-width:0;container-type:inline-size}.report-design-manager h2{margin:0 0 4px;color:var(--green)}.report-design-manager>.sub{font-size:.85rem;margin-bottom:10px}.report-design-manager .hint{font-size:.76rem;margin:7px 0 12px}.report-design-manager form label{display:flex;flex-direction:column;gap:4px;margin:0;font-size:.82rem;min-width:0}.report-design-manager form input,.report-design-manager form textarea{min-width:0;width:100%;padding:7px 9px}.report-design-manager form .btn{min-height:34px;padding:6px 10px;font-size:.78rem}#report-name-form{display:flex;gap:8px;align-items:end}#report-name-form label{flex:1}#report-name-form button{flex-shrink:0}.report-preview-actions{display:flex;gap:8px;flex-wrap:wrap}.report-preview-actions .btn{font-size:.8rem;min-height:34px;padding:6px 10px}.report-section-box{border:1px solid var(--line);border-radius:6px;overflow:hidden;margin:10px 0}.setup-group-header{background:#000;color:#fff;font-size:.82rem;font-weight:700;padding:5px 8px;margin:0}.report-section-list{padding:0;margin:0;list-style:none}.report-section-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-top:1px solid var(--line);background:#fff}.report-include{display:flex;align-items:center;gap:8px;margin:0;font-size:.8rem;min-width:0}.report-include input{width:auto;flex-shrink:0}.report-include strong{overflow-wrap:anywhere}.report-include small{font-size:.68rem}.report-section-actions{display:flex;gap:4px;flex-shrink:0;flex-wrap:wrap}.report-section-actions .btn{min-height:26px;padding:3px 6px;font-size:.68rem}#report-custom-form{display:grid;gap:8px;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:6px}#report-custom-form .actions{margin:0;gap:8px}.report-design-manager>.error:empty{display:none}.report-design-manager>.error{font-size:.8rem;margin-top:8px}#report-preview-dialog{width:calc(100% - 24px);max-width:760px;max-height:90vh;overflow:auto;padding:18px;border-color:var(--line)}#report-preview-dialog>.panel-heading{margin-bottom:12px}#report-preview-title{font-size:1.05rem}.report-paper{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}.report-paper-brand{display:flex;gap:14px;align-items:center;background:var(--green);color:#fff;padding:20px}.report-paper-brand img{object-fit:contain;border-radius:6px;background:#fff}.report-paper-brand h3{margin:3px 0 0;color:#fff;font-size:1.2rem}.report-paper-brand strong{font-size:.85rem;overflow-wrap:anywhere}.report-paper-intro{padding:14px 22px;border-bottom:1px solid var(--line);background:var(--accent)}.report-paper-intro p{margin:0 0 4px;font-size:.85rem}.report-preview-label{font-weight:700;color:var(--green)}.report-paper-section{padding:12px 22px;border-bottom:1px solid var(--line)}.report-paper-section h4{color:var(--green);margin:0 0 5px;font-size:.9rem;overflow-wrap:anywhere}.report-paper-section p{font-size:.85rem;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.report-paper-footer{font-size:.72rem;color:var(--green);padding:12px 22px;background:var(--accent);border:0}.report-empty{padding:20px;font-size:.85rem}
@container(max-width:440px){#report-name-form{flex-direction:column;align-items:stretch}.report-section-list li{flex-wrap:wrap}.report-section-actions{margin-left:22px}.report-include{flex:1 1 100%}}
body:not(.public-mode) .report-paper-brand h3,body:not(.public-mode) .setup-group-header{color:#fff}
/* Report metadata flows across rows; narrative remains full width in saved order. */
.report-paper{container-type:inline-size}.report-business-logo{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid #ffffff99;border-radius:5px;color:#fff;font-size:.78rem;font-weight:700}.report-paper-brand{padding:12px 16px;gap:10px}.report-paper-brand h3{font-size:1.05rem}.report-paper-intro{padding:9px 16px}.report-paper-intro p{font-size:.78rem;margin-bottom:2px}.report-paper-intro small{font-size:.67rem}.report-metadata-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line);background:#f9fbf7}.report-metadata-grid .report-paper-section{padding:8px 12px;border:0;min-width:0}.report-metadata-grid h4{font-size:.72rem;margin-bottom:3px}.report-metadata-grid p{font-size:.74rem;line-height:1.35}.report-paper>.report-paper-section{padding:9px 16px}.report-paper>.report-paper-section h4{font-size:.83rem;margin-bottom:3px}.report-paper>.report-paper-section p{font-size:.8rem;line-height:1.4}.report-paper-footer{padding:8px 16px;font-size:.67rem}
@container(max-width:520px){.report-metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:240px){.report-metadata-grid{grid-template-columns:1fr}}
/* Reference-report treatment: compact metadata and GEX-green narrative bars. */
.report-paper>.report-paper-section{padding:0;border:0}.report-paper>.report-paper-section h4{background:var(--green);color:#fff;padding:4px 10px;margin:0;font-size:.8rem}.report-paper>.report-paper-section p{padding:7px 10px;margin:0 10px 6px;border:1px solid var(--line);border-top:0;font-size:.76rem;line-height:1.35}.report-metadata-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.report-metadata-grid .report-paper-section{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 9px}
@container(max-width:600px){.report-metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:240px){.report-metadata-grid{grid-template-columns:1fr}}

/* GEX admin fields stay in GEX colours; business colour variables are scoped to outputs. */
.profile-manager{min-width:0;container-type:inline-size}.profile-manager h2{margin:0 0 4px}.profile-manager>.sub{font-size:.85rem;margin-bottom:10px}.profile-form-group{border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:14px}.profile-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:10px}.profile-field-grid label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;margin:0;min-width:0}.profile-field-grid input,.profile-field-grid textarea{width:100%;min-width:0;padding:7px 9px;font-size:.8rem}.profile-wide{grid-column:1/-1}.profile-field-grid .hint{font-size:.73rem;margin:0}.profile-colour-row{display:flex;gap:6px}.profile-colour-row input[type=color]{width:45px;height:35px;padding:3px;flex-shrink:0}.profile-upload{min-width:0}.profile-upload input{font-size:.7rem;padding:5px 0;max-width:100%}.profile-upload .btn{min-height:26px;padding:3px 6px;font-size:.7rem}.profile-field-grid label small{display:inline;font-size:.7rem}.profile-preview-box{margin:0 0 12px;border:1px solid var(--line);border-radius:6px;overflow:hidden;padding-bottom:8px}.profile-preview-box>.btn,.profile-preview-box>.hint{margin:8px 10px 0}.profile-manager .hint{font-size:.75rem}.profile-manager .error:empty{display:none}#client-profile-preview{width:calc(100% - 24px);max-width:700px;max-height:90vh;padding:16px;overflow:auto;border-color:var(--line)}#profile-thumbnail{padding:8px;max-width:450px}.client-identity{--client-primary:#1f6b3a;--client-accent:#e5eee0;--client-on-primary:#fff;--client-on-accent:#000;border:1px solid #dce3db;border-radius:6px;overflow:hidden;background:#fff;color:#202020;margin-bottom:12px}.client-brand-heading{display:flex;align-items:center;gap:12px;padding:14px;background:var(--client-primary);color:var(--client-on-primary);min-width:0}.client-brand-heading strong{font-size:1rem;overflow-wrap:anywhere}.client-brand-heading p{font-size:.8rem;margin:3px 0 0;overflow-wrap:anywhere}.client-business-logo,.client-association-logo{width:64px;height:52px;object-fit:contain;border-radius:4px;background:#fff;flex-shrink:0}.client-association-logo{margin-left:auto}.client-logo-placeholder{display:grid;place-items:center;width:44px;height:44px;font-size:.7rem;border:1px solid currentColor;border-radius:4px;flex-shrink:0}.client-profile-content{padding:14px}.client-instructor-heading{display:flex;align-items:center;gap:10px}.client-instructor-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0}.client-instructor-heading h3{margin:0 0 3px;font-size:1rem}.client-instructor-heading p{font-size:.8rem;margin:0}.client-profile-content p{font-size:.85rem;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.client-profile-content h4{font-size:.85rem;margin:12px 0 4px}.client-public-contact{padding:8px 12px;margin:10px -2px 0;background:var(--client-accent);color:var(--client-on-accent);border-radius:4px}.client-public-contact a{display:block;overflow-wrap:anywhere;font-size:.8rem}.client-public-contact h4{margin-top:0}.client-identity-thumbnail{margin-bottom:0}.client-identity-thumbnail .client-brand-heading{padding:9px;gap:8px}.client-identity-thumbnail .client-brand-heading strong{font-size:.8rem}.client-identity-thumbnail .client-business-logo,.client-identity-thumbnail .client-association-logo{width:44px;height:35px}.client-identity-thumbnail .client-profile-content{padding:9px}.client-identity-thumbnail .client-instructor-photo{width:44px;height:44px}.client-identity-thumbnail .client-instructor-heading h3{font-size:.85rem}.client-identity-thumbnail .client-bio{font-size:.75rem;margin-bottom:0}body:not(.public-mode) .client-identity h3{color:inherit}.report-paper[data-business-brand] .client-brand-heading{padding:10px 14px}.report-paper[data-business-brand] .report-document-title{font-size:1rem;margin:0;padding:5px 14px;background:var(--client-primary);color:var(--client-on-primary)}.report-paper[data-business-brand] .report-paper-intro,.report-paper[data-business-brand] .report-paper-footer{background:var(--client-accent);color:var(--client-on-accent)}.report-paper[data-business-brand] .report-preview-label{color:inherit}.report-paper[data-business-brand]>.report-paper-section h4{background:var(--client-primary);color:var(--client-on-primary)}.report-paper[data-business-brand] .report-metadata-grid h4{color:#202020}.business-public-page{--client-primary:#1f6b3a;--client-accent:#e5eee0;--client-on-primary:#fff;--client-on-accent:#000}.business-public-navigation{display:flex;justify-content:flex-end;margin-bottom:10px}.business-public-page .public-kicker,.business-public-page h1,.business-public-page .service-card h4{color:var(--client-primary)}.business-public-page .service-card .primary{background:var(--client-primary);border-color:var(--client-primary);color:var(--client-on-primary)}.business-public-page .service-tax-note{background:var(--client-accent);color:var(--client-on-accent)}.business-public-page .saved-services-box>h3{background:var(--client-accent);color:var(--client-on-accent)}.client-letter{white-space:pre-wrap}
@container(max-width:440px){.profile-field-grid{grid-template-columns:1fr}.profile-wide{grid-column:1}.client-brand-heading{flex-wrap:wrap}.client-association-logo{margin-left:0}}

.notification-manager{min-width:0}.notification-manager .sub{margin-bottom:12px}.notification-group{margin:0 0 16px}.notification-group .setup-group-header{margin:0 0 5px}.notification-row{display:grid;grid-template-columns:minmax(0,1fr) 100px;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid #e5eee0}.notification-row strong{font-size:.85rem}.notification-row small,.notification-choice small{display:block;font-size:.75rem;font-weight:400;color:#526052;line-height:1.4;margin:3px 0}.notification-choice{font-size:.8rem;margin:0;min-width:0}.notification-choice select{width:100%;margin:4px 0 0;padding:6px 8px}.notification-row .notification-choice{font-size:0}.notification-row .notification-choice select{font-size:.8rem}.notification-delivery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:5px}.notification-group [data-reminder-timing],.notification-group [data-summary-timing]{max-width:230px;padding:7px 0}.notification-sample{border:1px solid #c8d8c5;border-radius:5px;padding:10px 12px;margin:10px 0;background:#fff}.notification-sample>small{color:#526052;font-size:.75rem}.notification-sample h3{margin:6px 0;color:#1f6b3a}.notification-sample p{white-space:pre-wrap;font-size:.85rem;margin:0;line-height:1.5}#notification-preview{width:min(620px,calc(100vw - 24px));max-height:85vh;overflow:auto}@media(max-width:600px){.notification-delivery{grid-template-columns:1fr}.notification-row{gap:8px;grid-template-columns:minmax(0,1fr) 80px}}

.teaching-library-manager #teaching-library-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teaching-library-manager label{margin:0;min-width:0}.teaching-library-manager input,.teaching-library-manager select,.teaching-library-manager textarea{width:100%;min-width:0}.teaching-library-manager small{display:block;font-size:.75rem;overflow-wrap:anywhere}.teaching-library-manager .service-form-actions,.teaching-library-manager #teaching-error{grid-column:1/-1}.certified-library-preview{margin-top:20px}.certified-library-preview summary{font-size:.85rem;cursor:pointer}.teaching-text-preview{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:.9rem}#teaching-preview{width:min(680px,calc(100vw - 24px));max-height:85vh;overflow:auto}#teaching-preview video{width:100%;max-height:55vh}@media(max-width:600px){.teaching-library-manager #teaching-library-form{grid-template-columns:1fr}}
.teaching-library-manager #teaching-library-form .service-name-field,.teaching-library-manager #teaching-library-form .service-details-field{grid-column:1/-1}

.onboarding-welcome{max-width:720px;margin:0 auto}.onboarding-welcome ol{line-height:1.8;padding-left:22px}.onboarding-progress{padding:14px 16px;margin-bottom:18px;border:1px solid #c8d8c5;border-radius:6px;background:#e5eee0}.onboarding-progress .panel-heading{gap:10px}.onboarding-progress ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px;padding-left:20px;margin:12px 0;font-size:.8rem}.onboarding-progress li{padding-left:2px}.onboarding-progress li small{display:block;color:#526052;font-size:.7rem}.onboarding-progress a[aria-current="step"]{font-weight:700}.onboarding-progress .hint{margin:6px 0 0}.onboarding-client-preview{max-width:850px;margin:12px auto}.onboarding-client-preview .client-identity{margin:0 0 12px}.onboarding-client-preview .saved-services-box{margin-top:10px}@media(max-width:700px){.onboarding-progress ol{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-progress .panel-heading{align-items:flex-start;flex-wrap:wrap}}

.public-mode .support-intake{max-width:900px;margin:24px auto;padding:20px}.support-intake textarea{min-height:90px}@media(max-width:700px){.public-mode .support-intake{margin:12px}}
