:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#263b32;background:#f7f8f2;font-synthesis:none;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #dce2d9;background:#fff;color:#314b3e;border-radius:10px;padding:10px 14px;transition:background .15s}button:hover:not(:disabled){background:#edf3e8}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #477357;outline-offset:3px}button:disabled{cursor:default;opacity:.55}a{color:inherit}.demo-bar{background:#f5e9cb;color:#6b572b;text-align:center;padding:8px 15px;font-size:.76rem}.site-header{max-width:1240px;margin:auto;padding:28px 40px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px;font-weight:700;text-decoration:none;font-size:1.15rem}.brand-mark{display:grid;place-items:center;background:#e3eddc;border-radius:15px;width:48px;height:48px;font:italic 700 30px Georgia,serif}.brand small{display:block;font-size:.73rem;font-weight:400;color:#738175;margin-top:4px}.header-actions{display:flex;gap:14px;align-items:center;position:relative}.roles{display:flex;background:#eaece4;padding:4px;border-radius:12px;gap:3px}.roles button{background:transparent;border-color:transparent;padding:8px 12px;font-size:.85rem}.roles button.active{background:#fff;box-shadow:0 2px 6px #263b3210}.roles span{font-size:.65rem;margin-left:4px;color:#6f806d}.menu-button{font-size:1.2rem}.menu{position:absolute;top:55px;right:0;width:215px;padding:8px;background:#fff;border:1px solid #dce2d9;border-radius:12px;z-index:4;box-shadow:0 12px 32px #263b3215}.menu button{display:block;width:100%;text-align:left;border:0}main{max-width:1240px;padding:15px 40px 50px;margin:auto}.intro{padding:20px 0 24px}.eyebrow{font-size:.67rem;letter-spacing:.18em;color:#809175;font-weight:700;margin:0 0 14px}h1{font:400 clamp(2rem,4.2vw,3.5rem)/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.04em;margin:0 0 16px}h2{font-size:1.2rem;font-weight:600;margin:0}h3{font-size:1rem;margin:0 0 15px}.intro>p:last-child{color:#778274;line-height:1.7;margin:0;max-width:680px}.rules-strip{display:flex;gap:30px;margin:0 0 26px;color:#72806e;font-size:.83rem;flex-wrap:wrap}.rules-strip strong{color:#415b43;font-weight:600}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,1fr);gap:24px;align-items:start}.calendar-card,.day-panel,.settings-card,.history-card{background:#fff;border:1px solid #e1e6db;border-radius:20px;padding:26px}.calendar-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.calendar-heading h2{text-transform:capitalize}.calendar-heading>div{display:flex;gap:7px}.calendar-heading button{padding:6px 13px;font-size:1.2rem}.weekdays,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekdays{padding:0 0 13px;color:#879081;font-size:.75rem;text-align:center}.day{height:73px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px solid transparent;background:#f1f2ed;color:#92978b;border-radius:10px;padding:5px;position:relative}.day span{font-size:1rem}.day small{font-size:.58rem}.day.available{background:#e6f1dc;color:#3f623b}.day.reserved:not(.available){background:#fff1bb;color:#604b0d}.day.outside{background:#fafbf8;color:#d3d8ce}.day.selected{border:2px solid #4a6b4f;box-shadow:0 0 0 2px #fff inset}.day.today span{text-decoration:underline;text-underline-offset:5px}.legend{display:flex;gap:16px;flex-wrap:wrap;border-top:1px solid #edf0e8;margin-top:25px;padding-top:20px;font-size:.7rem;color:#89917e}.legend span{display:flex;align-items:center;gap:7px}.legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.green{background:#b6d29b}.red{background:#c76b5b}.gray{background:#d7dacd}.day-panel{padding:25px}.day-panel>h2{text-transform:capitalize;font-family:Georgia,serif;font-weight:400;font-size:1.5rem;margin-bottom:22px}.slot{border:1px solid #dfe8d8;border-left:3px solid #b4cf9d;background:#fcfef9;border-radius:11px;padding:16px;margin:12px 0}.slot.booked{border-color:#d7b64d;background:#fff4cd;border-left-color:#bd9321}.slot-title{display:flex;flex-direction:column;gap:8px}.slot-title strong{font-size:1.2rem;font-weight:500}.status{font-size:.72rem;color:#7f8a72}.slot-actions{display:flex;gap:7px;margin-top:13px;flex-wrap:wrap}.slot-actions button{font-size:.74rem;padding:8px 10px}.primary{background:#42664c;color:#fff;border-color:#42664c}.primary:hover:not(:disabled){background:#33563d}.empty{text-align:center;background:#f7f9f1;padding:22px 13px;border-radius:12px;color:#89927e;line-height:1.5}.empty>span{font-size:2rem;color:#a9bd91}.empty p{margin:9px 0}.empty small{font-size:.78rem}.note-label{margin-top:20px;font-size:.75rem;color:#7d8876}.create-form{border-top:1px solid #e9ede2;padding-top:23px;margin-top:23px}.create-form>button{width:100%;margin-top:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:flex;flex-direction:column;gap:8px;font-size:.8rem;color:#5f735f}input,select,textarea{display:block;width:100%;padding:11px 10px;border:1px solid #dce2d5;background:#fff;color:#314b3e;border-radius:8px;min-width:0}textarea{resize:vertical;margin-bottom:4px}.notice{padding:14px 18px;border-radius:10px;line-height:1.6;margin:8px 0}.error{background:#f8e6df;color:#8f432f}.success{background:#e5efdf;color:#3f623b}.cancellation{font-size:.76rem;color:#965640}.pending-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#f1ead9;padding:16px;border-radius:12px;margin-bottom:22px;font-size:.8rem}.pending-strip>span{color:#8e8268}.pending-strip button{font-size:.75rem}.settings-card{display:grid;grid-template-columns:1fr 1fr;gap:25px;max-width:750px}.settings-card button{grid-column:1/-1}.settings-card small{font-size:.7rem;line-height:1.5;color:#89917e}.history-card{max-width:750px}.history-card>label{max-width:250px}.history-item{border-top:1px solid #e6eadf;padding:20px 0;margin-top:20px}.history-item small{color:#87917d}.history-item h3{margin:10px 0}.history-item p{color:#687a64;white-space:pre-wrap;overflow-wrap:anywhere}footer{text-align:center;color:#9ba48f;font-size:.74rem;padding:15px 25px 30px}footer span{padding:0 9px}@media(max-width:900px){.calendar-layout{grid-template-columns:1fr}.day-panel{max-width:none}.day{height:76px}.site-header,main{padding-left:22px;padding-right:22px}}@media(max-width:520px){.site-header{padding:20px 14px;align-items:flex-start;gap:15px}.brand{font-size:.9rem;gap:8px}.brand-mark{height:38px;width:38px}.brand small{font-size:.6rem;max-width:100px}.header-actions{gap:6px}.roles button{font-size:.72rem;padding:7px 8px}.roles span{display:none}.menu-button{padding:6px 10px}main{padding:0 14px 30px}.intro{padding-top:15px}.rules-strip{gap:12px;font-size:.73rem}.calendar-card{padding:16px 12px;border-radius:15px}.weekdays,.days{gap:4px}.day{height:59px;border-radius:7px}.day small{font-size:.5rem}.calendar-heading{margin-bottom:18px}.legend{font-size:.61rem;gap:10px}.settings-card{grid-template-columns:1fr;padding:22px}.calendar-layout{gap:15px}.day-panel{border-radius:15px}}.zone-selector{max-width:480px;margin-bottom:22px;font-size:.75rem}.zone-selector select{max-width:320px}.zone-selector small{line-height:1.6;color:#7b8875}.local-time,.time-explanation{font-size:.73rem;line-height:1.6;color:#71816b;overflow-wrap:anywhere}.time-explanation{margin-bottom:16px}.communication{border-top:1px solid #e3e8dc;margin-top:24px;padding-top:22px}.conversation-entry{background:#eef6e9;border:1px solid #d7e6ce;border-radius:10px;padding:12px;margin:12px 0;overflow-wrap:anywhere}.conversation-entry.private-note{background:#f5f3eb;border-color:#e5dfcf}.conversation-entry small{font-size:.7rem;line-height:1.6;color:#68765e}.conversation-entry p{white-space:pre-wrap;line-height:1.6;margin:8px 0 0}.note-form{display:grid;gap:14px;margin-top:16px}html{scroll-padding-top:16px}button,input,select{min-height:44px}input,select,textarea{font-size:16px}main,.calendar-layout>*,.header-actions,.brand>span:last-child{min-width:0}p,small,label,.notice,.weekly-quota{overflow-wrap:anywhere}.calendar-heading button,.menu-button{min-width:44px;min-height:44px}.calendar-options{margin:0 0 20px;max-width:480px}.calendar-options summary,.day-notes summary{cursor:pointer;min-height:44px;padding:12px 0;color:#415b43;font-weight:600;font-size:.85rem}.calendar-options .zone-selector{margin:10px 0}.day-notes{margin-top:24px;border-top:1px solid #e3e8dc}.day-notes .communication{border-top:0;margin-top:0;padding-top:8px}.day-notes .communication>h3{display:none}.mobile-day-link,.mobile-calendar-link{display:none}@media(max-width:900px){.mobile-day-link{display:block;text-align:center;text-decoration:none;border-radius:10px;margin-top:16px;padding:13px 10px;min-height:48px;line-height:1.5}.mobile-calendar-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:12px;font-size:.85rem}.day-panel{scroll-margin-top:12px}.slot-actions button{min-height:48px;font-size:.9rem;padding:12px 14px}}@media(max-width:600px){:root{font-size:16px}.site-header{padding:14px 12px;align-items:center;flex-wrap:wrap;gap:12px}.brand{font-size:1rem}.brand small{font-size:.68rem;max-width:none}.brand-mark{flex-shrink:0}.header-actions{gap:8px;margin-left:auto}.roles{flex-wrap:wrap}.roles button{min-height:44px}.header-actions>button{padding:10px}main{padding:0 12px 30px}.intro{padding:12px 0 18px}.intro h1{font-size:2.1rem;margin-bottom:12px}.intro>p:last-child{font-size:.9rem;line-height:1.5}.eyebrow{margin-bottom:10px}.rules-strip{gap:8px 16px;font-size:.8rem;margin-bottom:12px}.rules-strip>span:last-child{flex-basis:100%;font-size:.73rem}.calendar-options{margin-bottom:10px}.calendar-card{padding:14px 8px}.calendar-heading{gap:8px;margin-bottom:14px}.calendar-heading h2{font-size:1.15rem}.calendar-heading>div{gap:4px}.weekdays,.days{gap:3px}.weekdays{font-size:.72rem}.day{height:52px;min-height:48px;padding:3px 0;gap:4px}.day span{font-size:1rem}.day small{font-size:.55rem}.calendar-card>.time-explanation{font-size:.75rem}.legend{font-size:.7rem;gap:10px;margin-top:14px;padding-top:14px}.legend span:last-child{flex-basis:100%}.day-panel,.history-card,.settings-card{padding:18px 14px;border-radius:15px}.day-panel>h2{font-size:1.4rem;margin-bottom:16px}.weekly-quota{font-size:.85rem;line-height:1.6}.slot{padding:14px 12px}.slot-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.slot-actions p{grid-column:1/-1}.status{font-size:.85rem}.create-form{margin-top:20px;padding-top:20px}.create-form>p{font-size:.85rem;line-height:1.6}.create-form>button,.note-form>button{min-height:48px}.form-row{gap:10px}.settings-card{grid-template-columns:1fr;gap:20px}.settings-card small,.time-explanation,.conversation-entry small{font-size:.78rem}.history-card>label{max-width:none}.history-card form>button{width:100%;margin-top:12px}.menu{top:calc(100% + 8px);width:min(260px,calc(100vw - 24px))}.menu button{min-height:48px;font-size:1rem}footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}}@media(max-width:359px){.brand{font-size:.9rem}.brand small{font-size:.62rem}.brand-mark{width:32px;height:36px}.header-actions{gap:4px}.header-actions>button{padding:8px}.calendar-heading h2{font-size:1.05rem}.form-row{grid-template-columns:1fr}}.case-switcher{max-width:1240px;margin:0 auto;padding:16px 40px;background:#eef3e8;border-bottom:1px solid #dce4d5}.case-switcher>label{max-width:600px}.case-switcher .calendar-options{max-width:none}.case-switcher select{width:100%}@media(max-width:600px){.case-switcher{padding:12px}.case-switcher .history-card{margin-top:12px}}:root{color:#24382d}.app-header{border-bottom:1px solid #dce3d9;padding-top:16px;padding-bottom:16px;gap:20px}.primary-nav{display:flex;gap:8px;flex:1}.primary-nav a,.profile-link,.case-tabs a,.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:10px;text-decoration:none}.primary-nav a.active,.profile-link.active,.case-tabs a.active{background:#e2eddf;color:#254e3c;font-weight:650}.profile-link{font-size:.9rem}.button-link{border:1px solid #b8c6b9;background:#fff}.workspace-context,.case-heading{max-width:1240px;margin:auto;padding:20px 40px 0}.workspace-context{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.workspace-context label{max-width:420px;flex:1;flex-direction:row;align-items:center;white-space:nowrap}.workspace-context select{width:auto;flex:1}.role-label{font-size:.85rem;color:#526356}.case-heading h1{font:600 1.8rem/1.3 system-ui,sans-serif;letter-spacing:0;margin:16px 0 6px}.case-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 4px}.case-tabs a{border:1px solid #ccd7c7;font-size:.9rem}.case-list{display:grid;gap:16px;margin:0 0 24px}.case-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:none}.case-summary p{margin-bottom:0}.section-heading{margin-top:28px}.calendar-intro{padding-top:12px}.calendar-intro h1,.intro h1{font:600 1.9rem/1.25 system-ui,sans-serif;letter-spacing:-.025em}.intro>p:last-child,.rules-strip,.eyebrow,.time-explanation,.local-time,.legend,.settings-card small,.status,.empty,.history-item small,.weekdays{color:#52634e}.day{color:#495747}.day.reserved:not(.available){color:#604b0d}.day small{font-size:.64rem;line-height:1.2;max-width:100%;overflow-wrap:anywhere}.day{height:82px}.day.available.reserved{box-shadow:inset 0 -5px #d7aa32}.day.selected{outline:2px solid #4a6b4f;outline-offset:1px}.next-visit{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#e9f0e3;border:1px solid #ccdabc;border-radius:14px;padding:14px 18px;margin:0 0 16px}.next-visit p{margin:4px 0 0}.quota-options{font-size:.85rem;margin-bottom:16px}.quota-options summary{cursor:pointer;min-height:44px;padding:10px 0;text-decoration:underline}.rule-editor{display:flex;flex-direction:column;gap:20px;max-width:850px}.rule-editor fieldset{margin:0;padding:16px;border:1px solid #ccd7c7;border-radius:12px;min-width:0}.rule-editor legend{font-size:1.05rem;font-weight:650;padding:0 6px}.rule-editor label+label,.rule-editor .form-row{margin-top:16px}.rule-editor .form-row label{margin:0}.rules-save{background:#eef3e8;border-radius:12px;padding:18px}.rules-save .time-explanation{display:block;margin:10px 0 0}.settings-card small{font-size:.8rem}.rule-editor p{line-height:1.6}.skip-link{position:fixed;top:-100px;left:12px;z-index:10;background:#fff;padding:12px}.skip-link:focus{top:12px}dialog{border:1px solid #b8c6b9;border-radius:18px;padding:24px;max-width:min(540px,calc(100vw - 24px));color:#24382d}dialog::backdrop{background:#182c2466}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap}.navigation-notice{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:10;background:#fff1cd;max-width:90vw}app-calendar-workspace{display:block}body{padding-bottom:16px}@media(max-width:900px){.workspace-context,.case-heading{padding-left:22px;padding-right:22px}.app-header{gap:10px}.primary-nav a{padding:10px}}@media(max-width:650px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.app-header{padding:12px 16px;flex-wrap:wrap}.primary-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #ccd7c7;justify-content:space-around;padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:6px;z-index:5}.primary-nav a{flex:1;font-size:.9rem;min-height:48px}.profile-link{margin-left:auto;font-size:.85rem;padding:8px}.workspace-context,.case-heading{padding:14px 12px 0}.workspace-context{gap:6px}.workspace-context label{flex-basis:100%;max-width:none;font-size:.78rem}.role-label{font-size:.78rem}.intro h1{font-size:1.65rem}.calendar-intro{padding-bottom:12px}.rules-strip{gap:6px 14px}.next-visit{font-size:.85rem;padding:12px}.case-tabs{gap:6px}.case-tabs a{font-size:.82rem;padding:8px 10px}.case-heading h1{font-size:1.5rem}.case-summary{align-items:flex-start;padding:18px 14px}.case-summary h2{font-size:1.1rem}.case-summary p{font-size:.85rem}.case-summary .button-link{font-size:.85rem;padding:8px 10px;flex-shrink:0}.day{height:66px;gap:3px}.day small{font-size:.6rem;min-height:20px}.calendar-heading{margin-bottom:16px}.rule-editor fieldset{padding:12px}.rules-save{padding:14px}.dialog-actions{flex-direction:column}.dialog-actions button{width:100%}}.case-rules-summary{display:grid;grid-template-columns:1fr 1fr;gap:18px}.case-rules-summary dt{font-size:.85rem;color:#52634e}.case-rules-summary dd{margin:4px 0 0;font-weight:600}@media(max-width:520px){.case-rules-summary{grid-template-columns:1fr}}.history-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.history-filters label:first-child{grid-column:1/-1;max-width:260px}.history-count{font-size:.85rem;color:#52634e}@media(max-width:600px){.history-filters{grid-template-columns:1fr}.history-filters label:first-child{max-width:none}}.yellow{background:#d7aa32}.day.cancelled:not(.available):not(.reserved){background:#f8ded7;color:#7e3026}.day.cancelled.available,.day.cancelled.reserved{border-bottom:5px solid #b65a49}.slot.cancelled,.conversation-entry.cancellation-reason{background:#fff0ed;border-color:#d9a397;border-left:4px solid #b65a49;color:#722e24}.conversation-entry.cancellation-reason strong{display:block;margin-bottom:8px}.conversation-entry.cancellation-reason small{display:block;color:#7e382d}.slot-feedback{scroll-margin-top:16px;scroll-margin-bottom:calc(100px + env(safe-area-inset-bottom));margin-bottom:0;font-size:.9rem}.slot-feedback:focus{outline:2px solid #477357;outline-offset:3px}.conversation-entry.direct-assignment,.history-item.direct-assignment{background:#fff4cd;border:1px solid #d7b64d;border-left:4px solid #bd9321;color:#55420c}.history-item.direct-assignment{padding:16px;border-radius:10px}.conversation-entry.direct-assignment strong{display:block;margin-bottom:8px}.conversation-entry.direct-assignment small,.history-item.direct-assignment small,.history-item.direct-assignment p{color:#665019}.conversation-entry.direct-assignment small{display:block}.note-form fieldset{min-width:0;border:1px solid #ccd9ca;border-radius:10px;padding:12px}.note-form .plan-child-choice{display:flex;flex-direction:row;align-items:center;gap:10px;margin:10px 0}.plan-child-choice input{width:20px;height:20px;flex:0 0 20px;margin:0}.plan-child-choice span{overflow-wrap:anywhere}.plan-rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}
