/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#173a35;--muted:#6c817d;--paper:#fbfaf5;--panel:#fff;--line:#e5e9e2;--mint:#dff1df;--mint-strong:#94c99d;--forest:#285d53;--apricot:#f4c3a1;--lemon:#f5e8a7;--lilac:#d8d1ef;--blue:#cce5ea;--danger:#a94a45;--shadow:0 14px 50px #22413914}*{box-sizing:border-box}html{background:var(--paper)}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{color:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #8ac4b8}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,.brand,.metric-grid strong,.welcome-bubble strong{letter-spacing:-.025em;font-family:ui-rounded,SF Pro Rounded,Avenir Next,system-ui,sans-serif}.boot{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:18px;display:grid}.logo-mark{background:var(--forest);color:#fff;letter-spacing:-5px;border-radius:14px 18px 13px 20px;place-items:center;width:43px;height:43px;padding-right:4px;font-size:21px;font-weight:900;display:grid;transform:rotate(-3deg);box-shadow:inset 0 -4px #00000014}.logo-mark span{color:var(--lemon)}.brand{align-items:center;gap:12px;font-size:21px;font-weight:850;display:flex}.eyebrow{color:#759189;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800;display:block}.auth-shell{grid-template-columns:minmax(420px,1.1fr) minmax(420px,.9fr);min-height:100vh;display:grid}.auth-story{background:var(--forest);color:#fff;flex-direction:column;justify-content:space-between;min-height:100vh;padding:50px 7vw;display:flex;position:relative;overflow:hidden}.auth-story:before{content:"";border:80px solid #ffffff0d;border-radius:47% 53% 65% 35%;width:460px;height:460px;position:absolute;top:10%;right:-160px;transform:rotate(25deg)}.brand-light .logo-mark{color:var(--forest);background:#fff}.auth-copy{z-index:1;max-width:650px;position:relative}.auth-copy .eyebrow{color:var(--lemon)}.auth-copy h1{margin-bottom:28px;font-size:clamp(45px,5.5vw,80px);line-height:.98}.auth-copy p{color:#d4e5e0;max-width:590px;font-size:19px;line-height:1.65}.play-shapes{gap:14px;display:flex;position:relative}.play-shapes i{background:var(--apricot);border-radius:50% 50% 38% 62%;width:54px;height:54px;display:block;transform:rotate(20deg)}.play-shapes i:nth-child(2){background:var(--lemon);border-radius:12px;transform:rotate(12deg)}.play-shapes i:nth-child(3){background:var(--lilac);border-radius:50% 20%;transform:rotate(-20deg)}.auth-panel{background:#f6f3ea;place-items:center;padding:52px;display:grid}.auth-card{border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);background:#fff;border-radius:30px;padding:42px}.auth-card>.language-switch{margin-bottom:14px}.auth-card h2{margin-bottom:10px;font-size:31px}.auth-card>p{color:var(--muted);line-height:1.55}.auth-card label,.form-grid label{gap:7px;margin-top:17px;font-size:13px;font-weight:750;display:grid}.auth-card small,.form-grid small{color:var(--muted);font-size:11px;font-weight:500}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #dbe2dc;border-radius:12px;padding:12px 13px;transition:border .15s,box-shadow .15s}.date-picker{display:block}.date-picker-trigger{width:100%;color:var(--ink);text-align:left;background:#fff;border:1px solid #dbe2dc;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px 13px;font-weight:400;display:flex}.date-picker-trigger:hover{border-color:#afc3ba}.date-picker-trigger:focus-visible{outline-offset:2px;outline:3px solid #8ac4b8}.date-picker-trigger:disabled{cursor:default;opacity:.7}.date-picker-placeholder{color:#777}.date-picker-content{z-index:80;border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px;box-shadow:0 18px 55px #08201b33}.date-picker-content .rdp-root{--rdp-accent-color:var(--forest);--rdp-accent-background-color:var(--mint);margin:0}.date-picker-content .rdp-month_caption{font-size:13px}.date-picker-content .rdp-day_button{border-radius:9px;font-size:11px}.date-picker-content .rdp-selected .rdp-day_button{border-color:var(--forest);background:var(--forest);color:#fff}.date-picker-arrow{fill:#fff}.date-picker-time{border-top:1px solid var(--line);align-items:end;gap:10px;margin-top:8px;padding-top:12px;display:flex}.date-picker-time label{flex:1;gap:5px;margin:0;font-size:11px;font-weight:750;display:grid}.date-picker-time input{padding:9px 10px}.date-picker-time .button{min-height:39px}.date-picker-clear{margin:8px auto 0;display:block}textarea{resize:vertical;line-height:1.5}input:hover,select:hover,textarea:hover{border-color:#afc3ba}.app-select-trigger{width:100%;color:var(--ink);text-align:left;background:#fff;border:1px solid #dbe2dc;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px 13px;display:flex}.app-select-trigger:hover{border-color:#afc3ba}.app-select-trigger:focus-visible{outline-offset:2px;outline:3px solid #8ac4b8}.app-select-trigger[data-disabled]{cursor:default;opacity:.55}.app-select-content{z-index:70;min-width:var(--radix-select-trigger-width);max-height:var(--radix-select-content-available-height);border:1px solid var(--line);background:#fff;border-radius:12px;padding:5px;overflow:hidden;box-shadow:0 16px 45px #08201b2e}.app-select-viewport{padding:1px}.app-select-item{-webkit-user-select:none;user-select:none;border-radius:8px;outline:none;align-items:center;min-height:36px;padding:7px 10px 7px 30px;font-size:12px;display:flex;position:relative}.app-select-item[data-highlighted]{background:var(--mint)}.app-select-item[data-disabled]{opacity:.45}.app-select-item>span:first-child{position:absolute;left:10px}.app-select-scroll{height:24px;color:var(--muted);place-items:center;display:grid}.button{border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:10px 17px;font-size:13px;font-weight:800;transition:transform .15s,background .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.55;transform:none}.button-primary{background:var(--forest);color:#fff;box-shadow:0 7px 16px #285d5329}.button-primary:hover{background:#1d5046}.button-danger{background:var(--danger);color:#fff}.button-soft{color:var(--forest);background:#edf3ef}.button-full{width:100%;margin-top:20px}.text-button{color:var(--forest);background:0 0;border:0;padding:5px;font-size:12px;font-weight:800}.auth-card>.text-button{margin:15px auto 0;display:block}.form-error,.banner{color:var(--danger);background:#fff0ef;border-radius:12px;padding:12px 14px;font-size:13px}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:#edf1e9;border-right:1px solid #dde4dc;flex-direction:column;height:100vh;padding:30px 20px 22px;display:flex;position:sticky;top:0}.sidebar .brand{padding:0 8px 30px}.sidebar nav{gap:5px;display:grid}.sidebar nav button{color:#5c716c;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;width:100%;padding:11px 13px;font-size:13px;font-weight:720;display:flex}.sidebar nav button>span{color:#78918b;text-align:center;width:20px;font-size:18px}.sidebar nav button:hover{background:#ffffff8f}.sidebar nav button.active{color:var(--ink);background:#fff;box-shadow:0 8px 22px #2850460f}.sidebar nav button.active>span{color:var(--forest)}.sidebar-note{background:#dbeadc;border-radius:18px;margin-top:auto;padding:17px}.sidebar-note .spark{color:#bd8e31;background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;margin-bottom:9px;display:grid}.sidebar-note strong{font-size:12px}.sidebar-note p{color:#657b72;margin:5px 0 0;font-size:11px;line-height:1.5}.profile{text-align:left;background:0 0;border:0;align-items:center;gap:9px;width:100%;margin-top:15px;padding:10px 5px;display:flex}.profile>span:first-child{background:var(--apricot);border-radius:12px;flex:0 0 34px;place-items:center;height:34px;font-size:11px;font-weight:900;display:grid}.profile>span:last-child{min-width:0;display:grid}.profile strong,.profile small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile strong{font-size:11px}.profile small{color:var(--muted);font-size:10px}.workspace{min-width:0}.topbar{z-index:8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbfaf5e6;border-bottom:1px solid #dee4dbbf;justify-content:space-between;align-items:center;gap:20px;min-height:102px;padding:22px 40px;display:flex;position:sticky;top:0}.topbar .eyebrow{margin-bottom:3px}.topbar h1{margin:0;font-size:27px}.top-actions,.button-pair{gap:8px;display:flex}.page-content{padding:30px 40px 60px}.banner{justify-content:space-between;margin:18px 40px 0;display:flex}.banner button{color:inherit;background:0 0;border:0;font-weight:800}.loading-grid{grid-template-columns:repeat(3,1fr);gap:18px;padding:30px 40px;display:grid}.loading-grid i{background:linear-gradient(90deg,#eef0eb,#fafaf7,#eef0eb) 0 0/200%;border-radius:22px;height:170px;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200%}}.welcome-strip{background:#ddead9;border-radius:26px;justify-content:space-between;align-items:center;min-height:198px;padding:34px 38px;display:flex;position:relative;overflow:hidden}.welcome-strip:after{content:"";border:40px solid #ffffff47;border-radius:50% 40% 70% 30%;width:220px;height:220px;position:absolute;right:80px}.welcome-strip>div:first-child{z-index:1;max-width:640px;position:relative}.welcome-strip h2{margin-bottom:8px;font-size:clamp(28px,3vw,40px)}.welcome-strip p{color:#58736a;margin:0}.welcome-bubble{z-index:1;background:#fffdf3;border-radius:48% 52% 56% 44%;place-content:center;justify-items:center;width:116px;height:116px;display:grid;position:relative;transform:rotate(3deg)}.welcome-bubble>*{transform:rotate(-3deg)}.welcome-bubble span,.welcome-bubble small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.welcome-bubble strong{font-size:36px;line-height:1}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:17px 0;display:grid}.metric-grid button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:18px;gap:5px;min-width:0;padding:18px 20px;display:grid;box-shadow:0 8px 28px #2c4b4209}.metric-grid button:hover{border-color:#b9cec0}.metric-grid span,.metric-grid small{color:var(--muted);font-size:11px}.metric-grid strong{min-width:0;font-size:clamp(19px,1.6vw,25px)}.metric-grid strong span{max-width:100%;color:inherit;font-size:inherit;overflow-wrap:anywhere;display:block}.action-strip{background:#fff8df;border:1px solid #eadfb8;border-radius:18px;gap:3px;margin:0 0 17px;padding:15px 18px;display:grid}.action-strip .eyebrow{color:#8a7131;margin:0}.action-strip>div{flex-wrap:wrap;gap:8px;display:flex}.action-strip button{background:#ffffffb8;border:0;border-radius:11px;align-items:center;gap:8px;padding:8px 10px;font-size:11px;font-weight:750;display:flex}.action-strip button span{background:var(--lemon);border-radius:8px;place-items:center;min-width:22px;height:22px;font-weight:900;display:grid}.action-strip button b{color:#987d33}.dashboard-columns{grid-template-columns:1.18fr .82fr;gap:17px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:22px;padding:23px;box-shadow:0 8px 30px #27463e09}.panel-head,.section-lead{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.panel-head{margin-bottom:16px}.panel-head h2,.section-lead h2{margin-bottom:3px;font-size:21px}.section-lead{align-items:center;margin-bottom:22px}.section-lead p{color:var(--muted);margin:4px 0 0;font-size:13px}.guide-page{gap:18px;display:grid}.guide-hero{background:var(--mint);border-radius:26px;grid-template-columns:1.5fr 1fr;gap:28px;padding:34px 38px;display:grid}.guide-hero h2{max-width:740px;margin-bottom:10px;font-size:clamp(28px,3vw,40px)}.guide-hero p,.guide-section p{color:#58736a;margin-bottom:0;line-height:1.6}.guide-hero aside{background:#ffffffad;border-radius:18px;align-self:center;padding:20px}.guide-hero aside p{margin-top:7px;font-size:12px}.guide-section>h2{margin-bottom:20px}.tutorial-list{counter-reset:guide-step;grid-template-columns:repeat(2,1fr);gap:11px;margin:0;padding:0;list-style:none;display:grid}.tutorial-list li{border:1px solid var(--line);counter-increment:guide-step;border-radius:16px;align-content:center;gap:5px;min-height:92px;padding:16px 18px 16px 54px;display:grid;position:relative}.tutorial-list li:before{content:counter(guide-step);background:var(--lemon);border-radius:10px;place-items:center;width:26px;height:26px;font-size:11px;font-weight:900;display:grid;position:absolute;top:17px;left:16px}.tutorial-list span,.workflow-grid p{color:var(--muted);font-size:11px;line-height:1.55}.workflow-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.workflow-grid article{background:#f7f8f4;border-radius:16px;padding:17px}.workflow-grid h3{margin-bottom:6px;font-size:14px}.faq-list{gap:9px;display:grid}.faq-list details{border:1px solid var(--line);border-radius:14px;padding:14px 16px}.faq-list summary{cursor:pointer;font-size:13px;font-weight:800}.faq-list p{margin-top:10px;font-size:12px}.appointment-list article{border-top:1px solid #edf0eb;grid-template-columns:58px 1fr auto;align-items:center;gap:13px;padding:13px 0;display:grid}.appointment-list time{display:grid}.appointment-list time strong{font-size:13px}.appointment-list time span,.appointment-list p{color:var(--muted);font-size:11px}.appointment-list h3,.appointment-list p{margin:0}.appointment-list h3{font-size:14px}.plan-peek article{border-top:1px solid #edf0eb;grid-template-columns:14px 1fr;gap:12px;padding:13px 0;display:grid}.plan-peek h3{margin:2px 0 3px;font-size:13px}.plan-peek p,.plan-peek small{color:var(--muted);margin:0;font-size:10px;line-height:1.45}.plan-dot{background:var(--apricot);border-radius:12px;width:11px;height:38px}.dot-2{background:var(--lilac)}.dot-3{background:var(--blue)}.status{color:#60736e;letter-spacing:.04em;text-transform:capitalize;background:#edf1ee;border-radius:999px;width:fit-content;padding:4px 8px;font-size:9px;font-weight:850;display:inline-flex}.status-active,.status-paid,.status-signed,.status-received,.status-completed{color:#396c42;background:#dff0df}.status-overdue,.status-cancelled,.status-withdrawn{color:#964b46;background:#f8dfdc}.status-pending,.status-draft,.status-waitlist{color:#806b25;background:#f7edc7}.status-scheduled,.status-sent,.status-enquiry{color:#406c74;background:#ddecef}.table-panel{padding:0;overflow:hidden}.data-table{min-width:780px}.table-row{border-top:1px solid #edf0eb;grid-template-columns:1.1fr 1.5fr 1fr .7fr .8fr;align-items:center;gap:14px;padding:15px 20px;font-size:12px;display:grid}.table-row>span{gap:3px;min-width:0;display:grid}.table-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-row select{padding:7px 9px;font-size:10px}.table-row .row-actions{align-items:center;gap:6px;display:flex}.table-head-row{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:#f7f8f4;border:0;font-size:10px;font-weight:800}.client-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.client-card{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:48px 1fr;gap:13px;padding:20px;display:grid;position:relative}.client-edit{color:var(--forest);background:0 0;border:0;padding:4px;font-size:10px;font-weight:850;position:absolute;top:55px;right:15px}.avatar{background:var(--apricot);border-radius:17px;place-items:center;width:48px;height:48px;font-weight:900;display:grid}.avatar-1{background:var(--mint)}.avatar-2{background:var(--lilac)}.avatar-3{background:var(--blue)}.client-main>div{justify-content:space-between;gap:6px;display:flex}.client-main h3{margin:1px 0 5px;font-size:15px}.client-main p{color:var(--muted);margin:0;font-size:11px}.client-card dl{border-top:1px solid #edf0eb;grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 0;padding-top:13px;display:grid}.client-card dt{color:var(--muted);text-transform:uppercase;margin-bottom:3px;font-size:9px}.client-card dd{margin:0;font-size:11px}.client-card .due-text{color:#964b46;font-weight:700}.client-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;margin-top:2px;display:flex}.client-actions .button{flex:120px}.child-overview{gap:18px;display:grid}.child-overview-header{grid-template-columns:48px 1fr auto;align-items:center;gap:14px;display:grid}.child-overview-header h2,.child-overview-header p{margin:0}.child-overview-header h2{font-size:20px}.child-overview-header p{color:var(--muted);margin-top:4px;font-size:11px}.child-overview-header>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.child-overview-metrics{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.child-overview-metrics article{background:#f4f7f2;border-radius:16px;gap:5px;padding:15px;display:grid}.child-overview-metrics span,.child-overview-metrics small{color:var(--muted);font-size:10px}.child-overview-metrics strong{font-family:ui-rounded,SF Pro Rounded,Avenir Next,system-ui,sans-serif;font-size:18px}.child-overview-columns{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.child-overview-columns>section{border:1px solid var(--line);border-radius:16px;padding:15px}.child-overview-columns h3{margin-bottom:8px;font-size:14px}.child-overview-columns article{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:8px;padding:9px 0;display:grid}.child-overview-columns article>div{gap:3px;min-width:0;display:grid}.child-overview-columns strong,.child-overview-columns small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.child-overview-columns strong{font-size:11px}.child-overview-columns small,.child-overview-columns p{color:var(--muted);font-size:9px}.caregiver-message-form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.caregiver-message-form>label{gap:7px;font-size:13px;font-weight:750;display:grid}.caregiver-message-form>.caregiver-message-context,.caregiver-message-form>.message-content,.caregiver-message-form>.caregiver-picker,.caregiver-message-form>.caregiver-recipients,.caregiver-message-form>.privacy-note,.caregiver-message-form>.form-error,.caregiver-message-form>.form-actions{grid-column:1/-1}.caregiver-message-context{color:var(--muted);margin:0;font-size:11px}.caregiver-picker{border:1px solid var(--line);border-radius:14px;max-height:230px;margin:0;padding:12px;overflow-y:auto}.caregiver-picker legend{padding:0 5px;font-size:11px;font-weight:800}.caregiver-picker label{border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.caregiver-picker label:hover{background:#f4f7f2}.caregiver-picker input{width:auto}.caregiver-picker span{gap:2px;display:grid}.caregiver-picker strong{font-size:11px}.caregiver-picker small{color:var(--muted);font-size:9px}.caregiver-recipients{background:#f4f7f2;border-radius:14px;flex-wrap:wrap;gap:6px;padding:12px;display:flex}.caregiver-recipients .eyebrow,.caregiver-recipients p{flex:0 0 100%;margin:0}.caregiver-recipients>span:not(.eyebrow){color:var(--muted);background:#fff;border-radius:999px;padding:6px 9px;font-size:9px}.caregiver-recipients p{color:var(--muted);font-size:10px}.caregiver-recipients .due-text{color:var(--danger)}.domain-row{gap:7px;margin-bottom:17px;display:flex;overflow-x:auto}.domain-row button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;flex:none;padding:7px 12px;font-size:10px}.domain-row button:hover{border-color:#afc3ba}.domain-row button.active{border-color:var(--forest);background:var(--forest);color:#fff}.template-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.template-card{background:#e3eee0;border-radius:22px;flex-direction:column;min-height:270px;padding:22px;display:flex;position:relative;overflow:hidden}.template-card:after{content:"";border:22px solid #fff6;border-radius:50%;width:110px;height:110px;position:absolute;top:-44px;right:-44px}.template-1{background:#f4e3d4}.template-2{background:#e7e1f2}.template-3{background:#dcebee}.template-4{background:#f2ebc8}.template-top{color:#5d746d;text-transform:uppercase;letter-spacing:.07em;justify-content:space-between;font-size:10px;font-weight:800;display:flex}.template-card h3{margin:25px 0 9px;font-size:20px}.template-card>p{color:#586e68;font-size:12px;line-height:1.55}.evidence{color:#62756f;align-items:center;gap:7px;margin-top:auto;font-size:9px;display:flex}.evidence i{background:var(--forest);border-radius:50%;width:7px;height:7px}.card-actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:17px;display:grid}.lesson-preview{gap:20px;display:grid}.lesson-intro,.lesson-columns{grid-template-columns:1fr 1fr;gap:18px;display:grid}.lesson-intro>div:first-child>p{color:var(--muted);font-size:16px;line-height:1.6}.clinical-boundary{background:#fff3d8;border-radius:16px;padding:17px}.clinical-boundary strong{font-size:12px}.clinical-boundary p{color:#776943;margin:6px 0 0;font-size:11px;line-height:1.55}.timeline{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.timeline article{background:#f4f6f1;border-radius:13px;grid-template-columns:32px 1fr;gap:8px;padding:12px;display:grid}.timeline article>span{background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:10px;font-weight:900;display:grid}.timeline h4{margin:0 0 3px;font-size:11px}.timeline p,.lesson-columns p,.lesson-columns li{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.lesson-columns>div{background:#f8f8f4;border-radius:15px;padding:16px}.lesson-columns h3{font-size:14px}.lesson-columns li{margin-bottom:7px}.home-card{border-left:5px solid var(--mint-strong);background:#edf5eb;border-radius:10px;padding:15px 17px}.home-card span{text-transform:uppercase;font-size:10px;font-weight:900}.home-card p{color:#567067;margin:5px 0 0;font-size:12px}.lesson-preview details{font-size:11px}.lesson-preview details a{color:var(--forest);margin-top:8px;display:block}.notes-layout{grid-template-columns:1.2fr .8fr;gap:16px;display:grid}.goal-panel{margin-bottom:16px}.goal-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px;display:grid}.goal-grid article{border:1px solid var(--line);background:#fbfcf8;border-radius:16px;align-content:start;gap:8px;padding:16px;display:grid}.goal-grid article>div{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.goal-grid h3,.goal-grid p{margin:0}.goal-grid h3{font-size:14px}.goal-grid p{color:var(--muted);font-size:11px;line-height:1.5}.goal-grid small{color:var(--muted);font-size:9px}.goal-grid .text-button{justify-self:start}.note-list>article{border-top:1px solid #edf0eb;grid-template-columns:48px 1fr auto;align-items:start;gap:13px;padding:15px 0;display:grid}.note-date{background:#eef3ec;border-radius:13px;justify-items:center;padding:8px;display:grid}.note-date strong{font-size:18px}.note-date span{color:var(--muted);text-transform:uppercase;font-size:9px}.note-body>div{align-items:center;gap:8px;display:flex}.note-body h3{margin:0;font-size:14px}.note-body p{margin:5px 0;font-size:12px}.note-body small,.note-body em{color:var(--muted);font-size:10px;display:block}.note-body em{color:#486c63;margin-top:7px}.note-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.note-actions .button{min-height:34px;padding:7px 10px;font-size:10px}.note-pagination{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-top:14px;display:flex}.note-pagination span{color:var(--muted);font-size:10px}.note-pagination .button{min-height:34px;padding:7px 10px}.progress-row{border-top:1px solid #edf0eb;grid-template-columns:1fr 130px;align-items:end;gap:10px;padding:14px 0;display:grid}.progress-row>div:first-child{display:grid}.progress-row strong{font-size:12px}.progress-row small{color:var(--muted);font-size:9px}.bars{border-bottom:1px solid #dce3dd;align-items:end;gap:5px;height:42px;display:flex}.bars i{background:var(--mint-strong);border-radius:4px 4px 0 0;flex:1;min-height:5px}.fine-print{color:var(--muted);margin:16px 0 0;font-size:10px;line-height:1.55}.finance-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.finance-summary article{background:var(--forest);color:#fff;border-radius:18px;gap:5px;padding:18px 20px;display:grid}.finance-summary article:nth-child(2){color:var(--ink);background:#e7e0d4}.finance-summary article:nth-child(3){background:var(--mint);color:var(--ink)}.finance-summary span{opacity:.75;font-size:10px}.finance-summary strong{font-size:23px}.unbilled-panel{margin-bottom:16px}.finance-columns{grid-template-columns:1fr 1fr;gap:16px;display:grid}.compact-list article{border-top:1px solid #edf0eb;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:13px 0;font-size:11px;display:grid}.compact-list article>div{display:grid}.compact-list span{color:var(--muted);font-size:9px}.compact-list select{width:100px;padding:7px;font-size:9px}.compact-list .invoice-actions{align-items:center;gap:5px;display:flex}.expense-history{border-top:1px solid var(--line);gap:10px;padding-top:14px;display:grid}.expense-history article{background:#f5f6f2;border-radius:12px;padding:12px}.expense-history header{justify-content:space-between;gap:12px;display:flex}.expense-history time,.expense-history small{color:var(--muted);font-size:9px}.expense-history p{margin:5px 0;font-size:11px}.invoice-lines{border:1px solid var(--line);border-radius:16px;margin-top:17px;padding:15px}.invoice-lines-head,.invoice-service-add{justify-content:space-between;align-items:center;gap:10px;display:flex}.invoice-lines-head>div{gap:4px;display:grid}.invoice-lines-head strong{font-size:16px}.invoice-service-add{margin-top:12px}.invoice-service-add select{flex:1}.invoice-line{border-top:1px solid var(--line);grid-template-columns:minmax(160px,1fr) 85px 120px auto;align-items:end;gap:9px;margin-top:12px;padding-top:12px;display:grid}.invoice-line label{margin-top:0}.invoice-line .text-button{margin-bottom:9px}.invoice-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px;display:flex}.invoice-toolbar p{color:var(--muted);margin:0;font-size:10px}.invoice-print{border:1px solid var(--line);background:#fff;border-radius:18px;padding:38px}.invoice-print>header{border-bottom:2px solid var(--ink);justify-content:space-between;gap:30px;padding-bottom:30px;display:flex}.invoice-print h1{margin-bottom:7px;font-size:27px}.invoice-print p{white-space:pre-line;color:var(--muted);margin:3px 0;font-size:10px}.invoice-print small{color:var(--muted);font-size:9px}.invoice-print>header>div:last-child{align-content:start;justify-items:end;gap:8px;display:grid}.invoice-print>header>div:last-child strong{font-size:18px}.invoice-meta{grid-template-columns:1fr auto auto;gap:28px;padding:25px 0;display:grid}.invoice-meta div{gap:5px;display:grid}.invoice-meta span{color:var(--muted);text-transform:uppercase;font-size:9px}.invoice-meta strong{font-size:11px}.invoice-print table{border-collapse:collapse;width:100%;font-size:11px}.invoice-print th,.invoice-print td{border-bottom:1px solid var(--line);text-align:right;padding:12px 8px}.invoice-print th:first-child,.invoice-print td:first-child{text-align:left}.invoice-print tfoot th{border-bottom:0;font-size:14px}.invoice-note{background:#f5f6f2;border-radius:12px;margin-top:18px;padding:13px}.invoice-note strong{font-size:10px}.invoice-print>footer{border-top:1px solid var(--line);color:var(--muted);margin-top:28px;padding-top:17px;font-size:10px}.communication-summary,.staff-profile-grid,.report-currency-grid,.room-report{gap:12px;display:grid}.communication-summary{grid-template-columns:repeat(4,1fr);margin:16px 0}.communication-summary article{border:1px solid var(--line);background:#fff;border-radius:16px;gap:8px;padding:16px;display:grid}.communication-summary span{color:var(--muted);font-size:10px}.communication-summary strong{font-size:24px}.communication-list>article{border-top:1px solid var(--line);gap:10px;padding:17px 0;display:grid}.communication-list>article:first-child{border-top:0}.communication-list>article.message-unread{background:#f0f6ef;border-radius:14px;margin:0 -10px;padding:17px 10px}.communication-list header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.communication-list h3{margin:3px 0;font-size:15px}.communication-list small{color:var(--muted);font-size:10px}.communication-list details p{white-space:pre-wrap;line-height:1.55}.communication-list details dl{flex-wrap:wrap;gap:16px;display:flex}.communication-list details dl div{gap:2px;display:grid}.communication-list dt{color:var(--muted);font-size:9px}.communication-list dd{margin:0;font-size:10px}.row-actions{justify-content:flex-end;display:flex}.staff-profile-grid{grid-template-columns:repeat(3,1fr);margin:16px 0}.staff-profile header,.staff-profile dl,.operations-list article,.report-currency-grid article>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.staff-profile h3{margin:0 0 3px}.staff-profile small,.operations-list small,.operations-list span{color:var(--muted);font-size:10px;display:block}.staff-profile dl{margin:17px 0}.staff-profile dl div{gap:3px;display:grid}.staff-profile dt{color:var(--muted);font-size:9px}.staff-profile dd{margin:0;font-size:16px;font-weight:800}.staff-profile details summary,.operations-list details summary{cursor:pointer;color:var(--forest);font-size:11px;font-weight:800}.working-hours{gap:7px;margin:12px 0;display:grid}.working-hours>div{grid-template-columns:1fr 90px 90px;align-items:center;gap:6px;display:grid}.working-hours label{margin:0}.working-hours input{padding:7px}.operations-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.compact-form{gap:8px;margin-bottom:14px;display:grid}.compact-form label{margin:0}.operations-list article{border-top:1px solid var(--line);padding:12px 0}.operations-list article>div{min-width:0}.operations-list p{color:var(--muted);font-size:11px}.report-filters{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:end;gap:10px;margin:16px 0;padding:14px;display:flex}.report-filters label{flex:1;margin:0}.report-section{margin-top:22px}.report-currency-grid{grid-template-columns:repeat(2,1fr)}.report-currency-grid article>header h3{margin:0}.report-currency-grid article>header strong{font-size:20px}.report-totals{grid-template-columns:1fr 1fr;gap:10px;display:grid}.report-totals div{gap:2px;display:grid}.report-totals dt{color:var(--muted);font-size:9px}.report-totals dd{margin:0;font-size:16px;font-weight:800}.report-bars{gap:8px;margin-top:14px;display:grid}.report-bars>div{grid-template-columns:80px 1fr auto;align-items:center;gap:8px;font-size:9px;display:grid}.report-bars i{background:var(--mint-strong);border-radius:999px;height:7px}.report-bars i.negative{background:var(--danger)}.report-table-wrap{overflow-x:auto}.report-table{border-collapse:collapse;width:100%;font-size:10px}.report-table th,.report-table td{border-bottom:1px solid var(--line);text-align:right;padding:10px 7px}.report-table th:first-child,.report-table td:first-child{text-align:left}.report-table td small{color:var(--muted);display:block}.room-report{grid-template-columns:repeat(3,1fr);margin-top:12px}.room-report article{gap:5px;display:grid}.settings-grid{grid-template-columns:1fr 300px;gap:16px;display:grid}.settings-side{align-content:start;gap:14px;display:grid}.settings-side .danger{color:var(--danger);justify-self:start}.practice-readonly{gap:14px;margin:0;display:grid}.practice-readonly div{border-bottom:1px solid var(--line);gap:3px;padding-bottom:12px;display:grid}.practice-readonly dt{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.practice-readonly dd{margin:0;font-size:13px}.service-panel{margin-top:16px}.service-list article{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1fr) auto auto auto auto;align-items:center;gap:14px;padding:13px 0;font-size:11px;display:grid}.service-list article>div{gap:3px;display:grid}.service-list article>div span{color:var(--muted);font-size:10px}.audit-panel{margin-top:16px}.audit-panel .panel-head>small{color:var(--muted);font-size:10px}.audit-list{display:grid}.audit-list article{border-top:1px solid var(--line);grid-template-columns:150px 1fr;gap:15px;padding:12px 0;display:grid}.audit-list time{color:var(--muted);font-size:10px}.audit-list article>div{gap:3px;display:grid}.audit-list strong{text-transform:capitalize;font-size:11px}.audit-list span{color:var(--muted);font-family:ui-monospace,monospace;font-size:9px}.form-grid{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.span-2{grid-column:1/-1}.check{align-items:center;gap:8px;display:flex!important}.check input{width:17px}.form-actions{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.automation-settings{border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr 1fr;gap:7px 14px;margin-top:16px;padding:14px;display:grid}.automation-settings legend{padding:0 5px;font-size:11px;font-weight:800}.automation-settings label{margin:0}.automation-settings>small{color:var(--muted);grid-column:1/-1}.privacy-note{color:#5d746c;background:#eef4ee;border-radius:12px;margin:15px 0 0;padding:11px;font-size:10px}.attachment-field{border:1px solid var(--line);background:#f8faf7;border-radius:14px;margin-top:17px;padding:13px}.attachment-field label{margin-top:0}.attachment-list{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.attachment-list a{color:var(--forest);background:#e7efea;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:750}.template-editor{border:1px solid var(--line);border-radius:16px;margin-top:17px;padding:15px}.template-editor>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.template-editor>header>div{gap:4px;display:grid}.template-editor>header strong{font-size:16px}.template-editor>header small{color:var(--muted);font-size:10px}.template-step-row,.template-measure-row{border-top:1px solid var(--line);align-items:end;gap:9px;margin-top:12px;padding-top:12px;display:grid}.template-step-row{grid-template-columns:85px minmax(160px,1fr) auto}.template-measure-row{grid-template-columns:minmax(120px,.4fr) minmax(220px,1fr) auto}.template-step-row label,.template-measure-row label{margin-top:0}.template-guidance{grid-column:1/-1}.template-step-row .text-button,.template-measure-row .text-button{margin-bottom:9px}.empty{text-align:center;align-content:center;justify-items:center;min-height:210px;padding:25px;display:grid}.empty h3{margin:10px 0 5px;font-size:17px}.empty p{max-width:390px;color:var(--muted);font-size:11px;line-height:1.55}.empty .button{margin-top:7px}.empty-orbit{border:1px solid #bfcec2;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.empty-orbit span{background:var(--apricot);border-radius:45% 55% 30% 70%;width:18px;height:18px}.modal-backdrop{z-index:49;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#132a2573;position:fixed;inset:0}.modal{z-index:50;width:min(560px,100% - 50px);max-height:calc(100dvh - 50px);color:var(--ink);background:#fff;border:0;border-radius:25px;margin:auto;padding:26px;position:fixed;inset:0;overflow:auto;box-shadow:0 30px 100px #08201b40}.modal-wide{width:min(900px,100% - 50px)}.modal-head{justify-content:space-between;align-items:start;margin-bottom:18px;display:flex}.modal-head h2{margin:0;font-size:24px}.icon-button{background:#f1f3ef;border:0;border-radius:50%;width:35px;height:35px;font-size:22px}.toast{z-index:80;background:var(--ink);color:#fff;box-shadow:var(--shadow);border-radius:13px;padding:13px 18px;font-size:12px;position:fixed;bottom:28px;right:28px}.share-result{text-align:center;justify-items:center;display:grid}.share-result h3{margin:12px 0 5px}.share-result p{max-width:440px;color:var(--muted);line-height:1.55}.share-result input{margin-top:8px;font-family:ui-monospace,monospace;font-size:11px}.share-history{background:#f6f7f3;border-radius:16px;margin-bottom:12px;padding:15px}.share-history article{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px 0;display:grid}.share-history article>div{gap:3px;display:grid}.share-history strong{font-size:11px}.share-history article span:not(.status){color:var(--muted);font-size:9px}.danger{color:var(--danger)}.team-list{background:#f6f7f3;border-radius:15px;padding:14px}.team-list article{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:9px;padding:9px 0;display:grid}.team-list article>div{gap:2px;display:grid}.team-list strong{font-size:11px}.team-list article>div span{color:var(--muted);font-size:9px}.contact-history{background:#f6f7f3;border-radius:15px;max-height:260px;margin-bottom:16px;padding:14px;overflow:auto}.contact-history article{border-top:1px solid var(--line);padding:10px 0}.contact-history article header{justify-content:space-between;gap:12px;display:flex}.contact-history article time,.contact-history article small{color:var(--muted);font-size:9px}.contact-history article p{white-space:pre-wrap;margin:5px 0 2px}.team-create{border-top:1px solid var(--line);margin-top:20px;padding-top:5px}.family-shell{background:#e9f1e7;place-items:start center;min-height:100vh;padding:46px 20px;display:grid}.family-card{width:min(760px,100%);box-shadow:var(--shadow);background:#fff;border-radius:28px;overflow:hidden}.family-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:24px 30px;display:flex}.family-hero{background:var(--forest);color:#fff;padding:44px 48px}.family-hero .eyebrow{color:var(--lemon)}.family-hero h1{max-width:560px;margin-bottom:13px;font-size:clamp(34px,6vw,56px);line-height:1.03}.family-hero p{color:#d7e6e1;max-width:580px;margin:0;line-height:1.55}.family-section{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr;gap:17px;margin:0 32px;padding:29px 16px;display:grid}.family-section h2{margin-bottom:8px;font-size:19px}.family-section p{color:#546d66;white-space:pre-line;margin:0;font-size:15px;line-height:1.7}.family-number{background:var(--mint);border-radius:14px;place-items:center;width:36px;height:36px;font-size:13px;font-weight:900;display:grid}.family-practice{background:#fff2df;border:0;border-radius:20px;margin:18px 32px}.family-practice .family-number{background:var(--apricot)}.family-footer{margin:0 48px;padding:30px 0 38px}.family-footer strong{font-size:14px}.family-footer p{color:var(--muted);margin:6px 0 17px;font-size:12px;line-height:1.6}.family-footer small{color:#82938f;font-size:10px}.family-state{text-align:center;place-content:center;justify-items:center;min-height:420px;padding:40px;display:grid}.family-state h1{margin:18px 0 7px}.family-state p,.family-state small{color:var(--muted)}.family-portal-shell{background:#e9f1e7;min-height:100vh;padding:28px}.family-portal-wrap{background:var(--paper);width:min(1040px,100%);box-shadow:var(--shadow);border-radius:28px;margin:0 auto;overflow:hidden}.family-portal-header{background:#fff;justify-content:space-between;align-items:center;gap:18px;padding:20px 28px;display:flex}.family-portal-actions{align-items:center;gap:12px;display:flex}.language-switch{border:1px solid var(--line);background:#f6f7f3;border-radius:999px;padding:3px;display:flex}.language-switch button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800}.language-switch button.active{background:var(--forest);color:#fff}.family-portal-hero{background:var(--forest);color:#fff;padding:42px 48px}.family-portal-hero .eyebrow{color:var(--lemon)}.family-portal-hero h1{margin:8px 0;font-size:clamp(32px,5vw,50px)}.family-portal-hero p{color:#d7e6e1;margin:0}.family-password{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:repeat(3,1fr) auto auto;align-items:end;gap:10px;padding:18px 28px;display:grid}.family-password label{margin:0}.family-password p{color:var(--muted);grid-column:1/-1;margin:0;font-size:11px}.family-child{padding:28px}.family-child+.family-child{border-top:8px solid #e9f1e7}.family-child-title{align-items:center;gap:12px;margin-bottom:18px;display:flex}.family-child-title>span{background:var(--apricot);border-radius:15px;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.family-child-title small{color:var(--muted);text-transform:uppercase}.family-child-title h2{margin:2px 0 0}.family-portal-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.family-portal-panel,.family-home-plans{border:1px solid var(--line);background:#fff;border-radius:20px;padding:20px}.family-portal-panel h3,.family-home-plans h3{font-size:17px}.family-appointment{border-top:1px solid var(--line);grid-template-columns:70px 1fr;align-items:center;gap:12px;padding:13px 0;display:grid}.family-appointment time,.family-appointment div{gap:3px;display:grid}.family-appointment span,.family-invoice span:not(.status){color:var(--muted);font-size:10px}.family-appointment small{color:var(--coral);font-size:10px}.family-appointment .text-button{justify-self:start;padding:3px 0;font-size:10px}.family-request{background:var(--mint);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.family-request div{gap:3px;display:grid}.family-request span{color:var(--muted);font-size:10px}.family-request-form{border-top:1px solid var(--line);gap:10px;margin-top:16px;padding-top:16px;display:grid}.family-request-form h4,.family-request-form label{margin:0}.family-request-form small{color:var(--muted)}.family-portal-message{margin:16px 28px 0}.request-panel{margin-bottom:18px}.request-list{gap:10px;display:grid}.request-list article{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:14px 0;display:flex}.request-list article>div:first-child{gap:4px;display:grid}.request-list span,.request-list p{color:var(--muted);margin:0;font-size:11px}.calendar-panel{padding:0;overflow:hidden}.calendar-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:20px 23px;display:flex}.calendar-toolbar .eyebrow{margin-bottom:3px}.calendar-toolbar h3{margin:0;font-size:17px}.calendar-toolbar .button{min-width:42px;padding:9px 12px}.calendar-scroll{overflow-x:auto}.week-calendar{background:#f7f8f4;grid-template-columns:repeat(7,minmax(0,1fr));min-width:1050px;display:grid}.calendar-day{border-right:1px solid var(--line);background:#fff;min-height:450px}.calendar-day:last-child{border-right:0}.calendar-day>header{border-bottom:1px solid var(--line);background:#f7f8f4;grid-template-columns:1fr auto;gap:2px;padding:13px 12px;display:grid}.calendar-day>header strong{text-transform:uppercase;font-size:11px}.calendar-day>header span{color:var(--muted);grid-column:1;font-size:9px}.calendar-day>header button{color:var(--forest);cursor:pointer;background:#fff;border:0;border-radius:8px;grid-area:1/2/3;align-self:center;padding:5px 7px}.calendar-today>header{background:var(--mint)}.calendar-events{align-content:start;gap:8px;padding:8px;display:grid}.calendar-empty-day{color:#a2afa9;text-align:center;padding:12px 4px;font-size:10px}.calendar-event{border:1px solid #dbe7de;border-left:4px solid var(--mint-strong);background:#f2f8f1;border-radius:12px;padding:10px;overflow:hidden}.calendar-event.event-cancelled,.calendar-event.event-no-show{opacity:.78;background:#fff5f3;border-left-color:#d99a94}.calendar-event.event-completed{background:#edf7ed;border-left-color:#7db68a}.calendar-event-time{justify-content:space-between;align-items:center;gap:4px;display:flex}.calendar-event-time strong{font-size:12px}.calendar-event .status{padding:3px 5px;font-size:7px}.calendar-event h4{margin:9px 0 2px;font-size:12px}.calendar-event p,.calendar-event small{color:var(--muted);margin:0;font-size:9px;line-height:1.4;display:block}.calendar-event select{border-radius:8px;margin-top:9px;padding:6px 7px;font-size:9px}.calendar-event-actions{flex-wrap:wrap;gap:1px 4px;margin-top:6px;display:flex}.calendar-event-actions .text-button{text-align:left;padding:4px 2px;font-size:9px}.family-invoice{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:7px;padding:13px 0;display:grid}.family-invoice>div{gap:3px;display:grid}.family-invoice .status{grid-column:2;justify-self:end}.family-invoice>.text-button{grid-column:1;justify-self:start}.family-pay{grid-column:1/-1;margin-top:4px}.family-home-plans{margin-top:16px}.family-home-plans>article{border-top:1px solid var(--line);grid-template-columns:42px 1fr;gap:13px;padding:18px 0;display:grid}.family-plan-mark{background:var(--mint);border-radius:14px;place-items:center;width:38px;height:38px;display:grid}.family-home-plans h4{margin:0 0 8px}.family-home-plans p{color:#546d66;line-height:1.6}.family-home-plans small,.family-muted{color:var(--muted);font-size:11px}.family-practice-box{background:#fff2df;border-radius:15px;margin:13px 0;padding:15px}.family-practice-box p{margin:5px 0 0}.family-portal-footer{background:#fff;justify-content:space-between;gap:20px;padding:24px 28px;font-size:11px;display:flex}.family-portal-footer span{color:var(--muted)}.family-portal-state{text-align:center;place-content:center;justify-items:center;min-height:380px;padding:40px;display:grid}@media (width<=1100px){.client-grid,.template-grid,.goal-grid,.child-overview-metrics{grid-template-columns:repeat(2,1fr)}.child-overview-columns{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-columns,.notes-layout,.finance-columns,.staff-profile-grid{grid-template-columns:1fr}}@media (width<=780px){.auth-shell{grid-template-columns:1fr}.auth-story{min-height:330px;padding:30px}.auth-copy h1{font-size:44px}.auth-copy p{font-size:14px}.play-shapes{display:none}.auth-panel{padding:22px}.auth-card{padding:27px}.app-shell{display:block}.sidebar{z-index:30;border:0;border-top:1px solid var(--line);width:100%;height:68px;padding:7px 10px;display:block;position:fixed;inset:auto 0 0}.sidebar .brand,.sidebar-note,.profile{display:none}.sidebar nav{justify-content:space-around;display:flex;overflow-x:auto}.sidebar nav button{text-align:center;flex:0 0 58px;justify-items:center;gap:1px;padding:6px 2px;font-size:8px;display:grid}.sidebar nav button>span{font-size:16px}.topbar{min-height:80px;padding:15px 18px}.topbar h1{font-size:21px}.top-actions .button-soft{display:none}.top-actions .button{font-size:0}.top-actions .button:after{content:"+ Book";font-size:11px}.page-content{padding:20px 16px 95px}.banner{margin:12px 16px 0}.welcome-strip{padding:25px}.welcome-bubble{width:86px;height:86px}.welcome-strip:after{display:none}.metric-grid,.client-grid,.template-grid,.goal-grid,.finance-summary,.settings-grid,.child-overview-metrics,.communication-summary,.operations-grid,.report-currency-grid,.room-report,.guide-hero,.tutorial-list,.workflow-grid{grid-template-columns:1fr}.child-overview-header{grid-template-columns:48px 1fr}.child-overview-header>div:last-child{grid-column:1/-1;justify-content:flex-start}.section-lead{flex-wrap:wrap;align-items:flex-start}.section-lead>.button,.section-lead .button-pair{flex:none}.button-pair{flex-wrap:wrap}.table-panel{overflow-x:auto}.lesson-intro,.lesson-columns,.timeline{grid-template-columns:1fr}.note-list>article{grid-template-columns:42px 1fr}.note-actions{grid-column:2;justify-content:flex-start}.service-list article{grid-template-columns:1fr auto}.service-list article>div{grid-column:1/-1}.audit-list article{grid-template-columns:1fr;gap:4px}.share-history article{grid-template-columns:1fr auto}.share-history article>div{grid-column:1/-1}.request-list article{flex-direction:column;align-items:flex-start}.request-list .button-pair{width:100%}.calendar-toolbar{flex-direction:column;align-items:flex-start}.calendar-toolbar .button-pair{width:100%}.calendar-toolbar .button-pair .button:nth-child(2){flex:1}.invoice-line{grid-template-columns:1fr 1fr}.invoice-line label:first-child{grid-column:1/-1}.invoice-line .text-button{justify-self:start;margin-bottom:0}.template-editor>header{flex-direction:column;align-items:flex-start}.template-step-row,.template-measure-row{grid-template-columns:1fr}.template-guidance{grid-column:auto}.template-step-row .text-button,.template-measure-row .text-button{justify-self:start;margin-bottom:0}.invoice-print{padding:22px}.invoice-print>header,.invoice-toolbar{flex-direction:column;align-items:flex-start}.invoice-print>header>div:last-child{justify-items:start}.invoice-meta{grid-template-columns:1fr;gap:13px}.modal{border-radius:24px 24px 12px 12px;width:calc(100% - 16px);max-height:92dvh;margin:auto 8px 8px;padding:21px}.modal-wide{width:calc(100% - 16px)}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.report-filters{flex-direction:column;align-items:stretch}.working-hours>div{grid-template-columns:1fr 80px 80px}.automation-settings{grid-template-columns:1fr}.automation-settings>small{grid-column:auto}.caregiver-message-form{grid-template-columns:1fr}.caregiver-message-form>*{grid-column:auto!important}.family-portal-shell{padding:0}.family-portal-wrap{border-radius:0}.family-portal-header,.family-portal-actions{align-items:flex-start}.family-portal-header{padding:16px}.family-portal-header>.brand>span{display:none}.family-portal-actions{flex-wrap:wrap;justify-content:flex-end}.family-portal-hero{padding:34px 22px}.family-password,.family-portal-grid{grid-template-columns:1fr}.family-password{padding:18px}.family-child{padding:20px 16px}.family-portal-footer{flex-direction:column}.toast{text-align:center;bottom:82px;left:16px;right:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}@media print{@page{margin:12mm}body,.family-shell{background:#fff}.family-shell{padding:0;display:block}.family-card{width:100%;box-shadow:none;border-radius:0}.print-hide{display:none!important}.family-hero{-webkit-print-color-adjust:exact;print-color-adjust:exact}.app-shell *,.family-portal-shell *{visibility:hidden}.invoice-print,.invoice-print *{visibility:visible}.invoice-print{border:0;border-radius:0;width:100%;padding:0;position:fixed;inset:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
