:root{color-scheme:light;--ink:#17211d;--ink-soft:#59655f;--canvas:#f5f6f2;--surface:#ffffff;--surface-soft:#eef1eb;--line:#dde2da;--primary:#1d5c46;--primary-dark:#154735;--primary-soft:#dfece5;--sage:#8da394;--amber:#b56f24;--red:#a64e48;--blue:#456e8b;--shadow:0 18px 50px rgba(39,54,47,.08);--radius:18px;--radius-sm:11px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body,html{background:var(--canvas)}body{margin:0;min-height:100vh;min-height:100dvh;color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.25rem);font-weight:500;letter-spacing:-.035em}h2{font-size:1.08rem}.muted{color:var(--ink-soft)}.capitalize:first-letter,.eyebrow{text-transform:uppercase}.eyebrow{color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.16em}.button,.eyebrow{display:inline-flex}.button{min-height:43px;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:1px solid var(--primary);border-radius:999px;background:var(--primary);color:white;font-weight:750;cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.button:hover{transform:translateY(-1px);background:var(--primary-dark);box-shadow:0 9px 20px rgba(29,92,70,.18)}.button:disabled{opacity:.55;cursor:wait;transform:none}.button--secondary{background:var(--surface);color:var(--primary)}.button--ghost{background:transparent;color:var(--ink);border-color:var(--line);box-shadow:none}.button--small{font-size:.8rem}.text-link{color:var(--primary);font-weight:700;font-size:.85rem}.icon-button{flex:0 0 auto;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);cursor:pointer}.icon-button:hover{color:var(--primary);border-color:var(--primary)}.notice{margin:0 0 20px;padding:13px 16px;border:1px solid #bcd4c5;border-radius:var(--radius-sm);background:#edf6f0;color:var(--primary-dark);line-height:1.5;overflow-wrap:anywhere}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);outline:none;background:var(--surface);color:var(--ink);transition:border-color .15s,box-shadow .15s}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}input[type=checkbox]{width:17px;min-height:17px;accent-color:var(--primary)}input[readonly]{background:var(--surface-soft);color:var(--ink-soft)}label{display:grid;grid-gap:7px;gap:7px;color:#36433d;font-size:.83rem;font-weight:700}fieldset{margin:4px 0;padding:18px;border:1px solid var(--line);border-radius:var(--radius-sm)}legend{padding:0 7px;font-size:.84rem;font-weight:800}.form-stack{display:grid;grid-gap:16px;gap:16px}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.field-row--three{grid-template-columns:repeat(3,minmax(0,1fr))}.check-label{display:flex;align-items:center;gap:8px}.app-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:244px minmax(0,1fr)}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100dvh;z-index:40;display:flex;flex-direction:column;justify-content:space-between;padding:calc(22px + env(safe-area-inset-top)) 16px calc(22px + env(safe-area-inset-bottom));background:#183f31}.sidebar__brand{display:flex;align-items:center;gap:11px;padding:2px 8px 24px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-symbol{width:39px;height:39px;display:inline-grid;place-items:center;border-radius:12px 4px 12px 4px;background:#dce8df;color:var(--primary-dark);font-family:Georgia,serif;font-size:1.5rem;font-weight:700}.sidebar__brand>span:last-child{display:grid}.sidebar__brand strong{font-family:Georgia,serif;font-size:1.35rem;font-weight:500}.sidebar__brand small{color:#a9c2b5;font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.sidebar__nav{display:grid;grid-gap:5px;gap:5px;padding-top:20px}.sidebar__item{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:10px;color:#c8dbd1;font-size:.9rem;font-weight:650;transition:.16s ease}.sidebar__item>span{width:21px;color:#a7c8b7;font-size:1.05rem;text-align:center}.sidebar__item.active,.sidebar__item:hover{background:rgba(255,255,255,.1);color:white}.sidebar__item.active{box-shadow:inset 3px 0 #a9c9b7}.sidebar__account{display:grid;grid-template-columns:38px 1fr 36px;align-items:center;grid-gap:9px;gap:9px;padding:14px 7px 2px;border-top:1px solid rgba(255,255,255,.12)}.sidebar__account>div{min-width:0;display:grid}.sidebar__account strong{overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.sidebar__account small{margin-top:2px;color:#a9c2b5;font-size:.69rem}.sidebar__account .icon-button{border-color:rgba(255,255,255,.15);background:transparent;color:white}.avatar{width:36px;height:36px;display:inline-grid;place-items:center;border-radius:50%;background:#dce8df;color:var(--primary-dark);font-size:.72rem;font-weight:800;font-style:normal}.avatar--large{width:52px;height:52px;font-size:.85rem}.shell-content{min-width:0}.topbar{min-height:calc(74px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:env(safe-area-inset-top) max(34px,env(safe-area-inset-right)) 0 max(34px,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:rgba(245,246,242,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar p{margin:3px 0 0;font-size:.86rem}.connection-status{display:flex;align-items:center;gap:7px;color:var(--ink-soft);font-size:.75rem}.connection-status i{width:7px;height:7px;border-radius:50%;background:#3c996e;box-shadow:0 0 0 4px #dcece3}.connection-status--offline{color:var(--red)}.connection-status--offline i{background:var(--red);box-shadow:0 0 0 4px #f4e1df}.mobile-menu{border:0;background:none;font-size:1.35rem}.page-shell main{width:min(1380px,100%);margin:0 auto;padding:38px max(34px,env(safe-area-inset-right)) calc(70px + env(safe-area-inset-bottom)) max(34px,env(safe-area-inset-left))}.shell-notice{margin:16px 34px 0;padding:12px 15px;border:1px solid #e2b7b3;border-radius:var(--radius-sm);background:#fff5f4;color:var(--red);font-size:.84rem}.pwa-status{position:fixed;z-index:220;left:50%;display:flex;align-items:center;justify-content:center;gap:10px;width:min(620px,calc(100% - 28px));padding:12px 16px;border-radius:12px;box-shadow:0 12px 35px rgba(20,40,30,.2);font-size:.84rem;line-height:1.4;transform:translateX(-50%)}.pwa-status--offline{top:max(12px,env(safe-area-inset-top));border:1px solid #e3b994;background:#fff8ec;color:#7c4b18}.pwa-status--update{border:1px solid #bcd4c5;background:#edf6f0;color:var(--primary-dark)}.pwa-status--update,.pwa-status--warning{bottom:max(14px,env(safe-area-inset-bottom))}.pwa-status--warning{border:1px solid #e3b994;background:#fff8ec;color:#7c4b18}.pwa-status button{padding:5px 10px;border:1px solid;border-radius:999px;background:transparent;color:inherit;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}.page-header{min-height:92px;display:flex;justify-content:space-between;gap:24px;margin-bottom:26px}.page-header p{margin-bottom:0}.header-actions,.page-actions{display:flex;gap:10px}.page-actions{flex-wrap:wrap;justify-content:flex-end}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.metric-card{min-height:145px;display:flex;flex-direction:column;justify-content:space-between;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 8px 30px rgba(44,59,51,.035)}.metric-card>span{color:var(--ink-soft);font-size:.78rem;font-weight:750}.metric-card strong{font-family:Georgia,serif;font-size:2.4rem;font-weight:500}.metric-card small{display:flex;align-items:center;gap:8px;color:var(--ink-soft)}.metric-card--primary{background:var(--primary);color:white;border-color:var(--primary)}.metric-card--primary small,.metric-card--primary>span{color:#cfdfd6}.progress{height:6px;overflow:hidden;border-radius:999px;background:var(--surface-soft)}.progress i{display:block;height:100%;border-radius:inherit;background:var(--primary)}.dashboard-grid{grid-template-columns:minmax(0,1.8fr) minmax(270px,.7fr)}.dashboard-grid,.dashboard-side{display:grid;grid-gap:18px;gap:18px}.dashboard-side{align-content:start}.data-panel,.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.panel{padding:22px}.panel__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.panel__header h2{margin-bottom:4px}.panel__header p{margin:0;color:var(--ink-soft);font-size:.8rem}.appointment-list{display:grid}.appointment-row{min-height:76px;display:grid;grid-template-columns:58px 3px minmax(160px,1fr) auto 40px;align-items:center;grid-gap:14px;gap:14px;border-top:1px solid #edf0eb}.appointment-row time{font-size:.88rem;font-weight:800}.appointment-row__line{width:3px;height:38px;border-radius:999px;background:var(--sage)}.status-confirmed .appointment-row__line{background:var(--primary)}.status-pending .appointment-row__line{background:var(--amber)}.status-completed .appointment-row__line{background:var(--blue)}.status-cancelled .appointment-row__line,.status-no_show .appointment-row__line{background:var(--red)}.appointment-row__body{min-width:0;display:grid;grid-gap:4px;gap:4px}.appointment-row__body span{overflow:hidden;color:var(--ink-soft);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.row-actions,.table-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.summary-row{justify-content:space-between;padding:12px 0;border-top:1px solid #edf0eb}.summary-row,.summary-row span{display:flex;align-items:center}.summary-row span{gap:9px;color:var(--ink-soft);font-size:.84rem}.summary-row strong{font-family:Georgia,serif;font-size:1.25rem}.demo-card{background:var(--primary-soft);border-color:#cbded2;box-shadow:none}.demo-card h2{margin:12px 0 8px;font-family:Georgia,serif;font-size:1.4rem}.demo-card p{color:var(--ink-soft);font-size:.85rem;line-height:1.55}.status-dot{width:8px;height:8px;display:inline-block;border-radius:50%;background:var(--sage)}.status-dot.completed,.status-dot.confirmed{background:#3f8d68}.status-dot.pending{background:#d3954f}.status-dot.cancelled,.status-dot.no_show{background:#b55a52}.badge{width:-moz-fit-content;width:fit-content;display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:var(--surface-soft);color:#59655f;font-size:.68rem;font-weight:800;font-style:normal;white-space:nowrap}.badge--completed,.badge--confirmed{background:#e0efe6;color:#26704e}.badge--pending{background:#f8ead8;color:#996021}.badge--cancelled,.badge--no_show{background:#f4e1df;color:#994841}.badge--rescheduled{background:#e4e8ef;color:#536780}.empty-state{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.empty-state>span{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:1.4rem}.empty-state h3{margin:14px 0 6px}.empty-state p{color:var(--ink-soft)}.agenda-toolbar,.list-toolbar{display:flex;align-items:center;gap:13px;margin-bottom:16px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.agenda-toolbar>select{width:230px;margin-left:auto}.segmented{display:flex;padding:3px;border-radius:10px;background:var(--surface-soft)}.segmented button{min-height:35px;padding:6px 14px;border:0;border-radius:8px;background:transparent;color:var(--ink-soft);cursor:pointer}.segmented button.active{background:var(--surface);color:var(--ink);box-shadow:0 2px 8px rgba(30,44,36,.08)}.date-nav{display:flex;align-items:center;gap:6px}.calendar-board{display:grid;grid-gap:12px;gap:12px;overflow-x:auto}.calendar-board--week{grid-template-columns:repeat(7,minmax(210px,1fr));padding-bottom:8px}.calendar-day{min-height:480px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.calendar-day>header{display:flex;align-items:center;justify-content:space-between;padding:14px 15px;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:.78rem;font-weight:800;text-transform:capitalize}.calendar-day>header strong{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft);color:var(--ink)}.calendar-day__body{display:grid;align-content:start;grid-gap:9px;gap:9px;padding:11px}.calendar-event{padding:13px;border:1px solid #d9e5dd;border-left:4px solid var(--primary);border-radius:11px;background:#f5faf7}.calendar-event.event--pending{border-left-color:var(--amber);background:#fffaf3}.calendar-event.event--cancelled,.calendar-event.event--no_show{opacity:.66;border-left-color:var(--red);background:#fff8f7}.calendar-event.event--completed{border-left-color:var(--blue);background:#f5f8fb}.calendar-block{padding:13px;border:1px dashed #c8b97f;border-left:4px solid #8d7936;border-radius:11px;background:#fffdf4}.calendar-block>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-block time{font-size:.76rem;font-weight:850}.calendar-block h3{margin:13px 0 4px;font-size:.92rem}.calendar-block small{color:var(--ink-soft);font-size:.7rem}.calendar-event>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-event time{font-size:.76rem;font-weight:850}.calendar-event h3{margin:13px 0 4px;font-size:.92rem}.calendar-event p{margin-bottom:4px;color:var(--ink-soft);font-size:.78rem}.calendar-event small{color:var(--ink-soft);font-size:.7rem}.event-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px;padding-top:9px;border-top:1px solid rgba(29,92,70,.12)}.event-actions button{padding:4px 7px;border:0;background:transparent;color:var(--primary);font-size:.66rem;font-weight:800;cursor:pointer}.calendar-empty{min-height:220px;display:grid;place-content:center;color:#9aa39e;text-align:center}.search-field{position:relative;flex:1 1;max-width:520px}.search-field>span{position:absolute;left:13px;top:10px;z-index:1;font-size:1.1rem}.search-field input{padding-left:38px}.list-toolbar>span:last-child{margin-left:auto;color:var(--ink-soft);font-size:.78rem}.data-table{min-width:760px}.data-table__head,.data-table__row{display:grid;align-items:center;grid-gap:18px;gap:18px;padding:13px 20px}.data-table__head{background:#f0f2ee;color:var(--ink-soft);font-size:.69rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.data-table__row{min-height:76px;border-top:1px solid #edf0eb;font-size:.82rem}.data-table--patients .data-table__head,.data-table--patients .data-table__row{grid-template-columns:1.4fr 1fr .55fr .7fr 120px}.data-table--users .data-table__head,.data-table--users .data-table__row{grid-template-columns:1.4fr .9fr .55fr .7fr 110px}.data-table__row>span:not(.person-cell){display:grid;grid-gap:3px;gap:3px}.data-table__row small{color:var(--ink-soft)}.person-cell{display:grid;grid-template-columns:40px 1fr;grid-column-gap:11px;column-gap:11px;align-items:center;min-width:0}.person-cell>i{grid-row:span 2;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:.7rem;font-style:normal;font-weight:850}.person-cell b,.person-cell small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));grid-gap:16px;gap:16px}.professional-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.professional-card>header{display:flex;align-items:flex-start;justify-content:space-between}.professional-card h2{margin:17px 0 5px;font-size:1.05rem}.professional-card>p{min-height:38px;color:var(--ink-soft);font-size:.78rem;line-height:1.5}.professional-card__meta{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:17px 0}.professional-card__meta span{display:grid;grid-gap:3px;gap:3px;padding:10px;border-radius:10px;background:var(--surface-soft)}.professional-card__meta small{color:var(--ink-soft);font-size:.65rem}.professional-card__meta strong{font-family:Georgia,serif;font-size:1.25rem}.week-pills{display:flex;gap:6px}.week-pills i{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft);color:#9aa39e;font-size:.65rem;font-style:normal;font-weight:800}.week-pills i.active{background:var(--primary);color:white}.professional-card footer{display:flex;align-items:center;gap:8px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.professional-card footer .button{flex:1 1}.card--inactive{opacity:.58}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.check-card{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px}.check-card>span{display:grid;grid-gap:2px;gap:2px}.check-card small{color:var(--ink-soft);font-weight:500}.hours-list,.hours-row{display:grid}.hours-row{min-height:48px;grid-template-columns:100px 95px auto 95px 55px 95px 95px;align-items:center;grid-gap:7px;gap:7px;border-bottom:1px solid var(--line)}.hours-row input[type=time]{min-height:36px;padding:6px}.hours-row>small,.hours-row>span{color:var(--ink-soft);font-size:.7rem;text-align:center}.service-list{display:grid;grid-gap:10px;gap:10px}.service-row{display:grid;grid-template-columns:42px minmax(180px,1.7fr) repeat(4,minmax(80px,.55fr)) auto 80px;align-items:center;grid-gap:15px;gap:15px;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.service-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--primary-soft);color:var(--primary);font-size:1.2rem}.service-row h2{margin-bottom:4px;font-size:.93rem}.service-row p{margin:0;overflow:hidden;color:var(--ink-soft);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.service-row>span:not(.service-icon):not(.badge){display:grid;grid-gap:3px;gap:3px}.service-row small{color:var(--ink-soft);font-size:.63rem}.service-row strong{font-size:.78rem}.permission-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-top:16px}.permission-grid article{padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.permission-grid p{margin:6px 0 0;color:var(--ink-soft);font-size:.73rem;line-height:1.45}.settings-grid{display:grid;grid-template-columns:1fr 1.15fr;grid-gap:18px;gap:18px;align-items:start}.clinic-hours{display:grid;margin-bottom:18px}.clinic-hours>div{min-height:53px;display:grid;grid-template-columns:1fr 110px auto 110px;align-items:center;grid-gap:8px;gap:8px;border-bottom:1px solid var(--line)}.clinic-hours input[type=time]{min-height:38px}.clinic-hours small{color:var(--ink-soft)}.integration-stage-notice{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px;padding:15px 17px;border:1px solid var(--line);border-radius:14px}.integration-stage-notice>svg{flex:0 0 auto;margin-top:2px}.integration-stage-notice p{margin:3px 0 0;font-size:.78rem;line-height:1.55}.integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px;align-items:stretch}.integration-card{display:flex;flex-direction:column;min-width:0}.integration-card__header{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;grid-gap:13px;gap:13px}.integration-card__header h2{margin:3px 0 0;font-size:1.12rem}.integration-card__icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px}.integration-card__description{min-height:44px;margin:18px 0;font-size:.81rem;line-height:1.6}.integration-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1px;gap:1px;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:13px}.integration-details>div{min-width:0;padding:12px 13px}.integration-details dt{margin-bottom:4px;font-size:.65rem;font-weight:750;letter-spacing:.035em;text-transform:uppercase}.integration-details dd{margin:0;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:.73rem;line-height:1.4}.integration-error,.integration-foundation-note{display:flex;align-items:flex-start;gap:9px;margin-top:13px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;font-size:.74rem;line-height:1.5}.integration-error svg,.integration-foundation-note svg{flex:0 0 auto;margin-top:1px}.integration-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:auto;padding-top:18px}.integration-card__actions .button{width:100%;padding-inline:12px}.integration-sync-options{display:grid;grid-gap:8px;gap:8px;padding:14px}.integration-sync-options legend{padding-inline:5px}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:rgba(20,30,25,.46);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{max-height:calc(100vh - 36px);overflow-y:auto;padding:24px;border-radius:20px;background:var(--surface);box-shadow:0 30px 80px rgba(20,40,30,.25)}.modal--wide{width:min(900px,100%)}.modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.modal>header h2{margin:6px 0 0;font-family:Georgia,serif;font-size:1.65rem;font-weight:500}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.history-list{display:grid;grid-gap:8px;gap:8px}.history-list article{display:grid;grid-template-columns:120px 1fr auto;grid-gap:4px 12px;gap:4px 12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:11px}.history-list time{grid-row:span 2}.history-list span,.history-list time{color:var(--ink-soft);font-size:.72rem}.history-list .badge{grid-column:3;grid-row:1/span 2}.app-loading{min-height:100vh;display:grid;place-content:center;justify-items:center;grid-gap:12px;gap:12px;background:var(--canvas)}.loading-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:15px 5px 15px 5px;background:var(--primary);color:white;font-family:Georgia,serif;font-size:1.8rem;animation:breathe 1.5s infinite}.app-loading p{color:var(--ink-soft)}.skeleton-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.skeleton-grid i{height:145px;border-radius:var(--radius);background:linear-gradient(90deg,#eaede7 25%,#f6f7f4 50%,#eaede7 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}@keyframes breathe{50%{transform:scale(.94);opacity:.8}}.landing{min-height:100vh;overflow:hidden;background:#f5f2ea}.landing__nav{width:min(1180px,calc(100% - 40px));height:82px;justify-content:space-between;margin:auto}.landing__brand,.landing__nav{display:flex;align-items:center}.landing__brand strong{font-family:Georgia,serif;font-size:1.3rem;font-weight:500}.landing__brand em{color:var(--primary);font-size:.72rem;font-family:Inter,sans-serif;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.landing__hero{width:min(1180px,calc(100% - 40px));min-height:650px;display:grid;grid-template-columns:1.05fr .85fr;align-items:center;grid-gap:80px;gap:80px;margin:auto}.landing__hero h1{max-width:680px;margin:17px 0 20px;font-size:clamp(3.2rem,6vw,6.2rem)}.landing__hero>div:first-child>p{max-width:610px;color:var(--ink-soft);font-size:1.05rem;line-height:1.75}.landing__actions{display:flex;align-items:center;gap:18px;margin-top:30px}.landing__actions>span{color:var(--ink-soft);font-size:.75rem}.landing__preview{position:relative;padding:24px;border:1px solid #d6dbd2;border-radius:30px 8px 30px 8px;background:rgba(255,255,255,.84);box-shadow:30px 40px 80px rgba(54,73,61,.16);transform:rotate(1.5deg)}.landing__preview:before{content:"";position:absolute;inset:-90px -80px auto auto;z-index:-1;width:270px;height:270px;border-radius:50%;background:#dce8df}.preview__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.preview__top span{font-family:Georgia,serif;font-size:1.15rem}.preview__top strong{color:var(--primary);font-size:.7rem;text-transform:uppercase}.preview__appointment{display:grid;grid-template-columns:54px 1fr auto;align-items:center;grid-gap:13px;gap:13px;padding:16px 0;border-top:1px solid var(--line)}.preview__appointment>strong{font-size:.82rem}.preview__appointment>span{display:grid;grid-gap:4px;gap:4px}.preview__appointment b{font-size:.86rem}.preview__appointment small{color:var(--ink-soft)}.preview__metric{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;margin-top:18px;padding:17px;border-radius:14px;background:var(--primary);color:white}.preview__metric>span{font-size:.75rem}.preview__metric>div{grid-column:1/-1;height:5px;border-radius:99px;background:rgba(255,255,255,.2)}.preview__metric>div i{width:78%;height:100%;display:block;border-radius:inherit;background:#dce8df}.landing__features{width:min(1180px,calc(100% - 40px));display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;margin:0 auto 70px;overflow:hidden;border:1px solid #dfe0d8;border-radius:16px;background:#dfe0d8}.landing__features article{padding:24px;background:rgba(255,255,255,.64)}.landing__features article>span{color:var(--primary);font-family:Georgia,serif;font-size:.8rem}.landing__features h2{margin:13px 0 7px}.landing__features p{margin:0;color:var(--ink-soft);font-size:.8rem;line-height:1.5}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.8fr) 1.2fr;background:#f7f6f1}.auth-aside{min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding:44px clamp(30px,5vw,80px);overflow:hidden;background:#183f31;color:white}.auth-aside .brand-symbol{background:#f0f3eb}.auth-aside .eyebrow,.auth-aside .landing__brand em{color:#a9c9b7}.auth-aside h1{margin:20px 0;color:#f4f1e8;font-size:clamp(2.7rem,5vw,5.1rem);line-height:1}.auth-aside p{max-width:500px;color:#b8cfc3;line-height:1.7}.auth-aside>small{color:#91ac9e}.auth-card-wrap{display:grid;place-items:center;padding:35px}.auth-card{width:min(520px,100%);display:grid;grid-gap:17px;gap:17px;padding:35px;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:var(--shadow)}.auth-card h2{margin:8px 0;font-family:Georgia,serif;font-size:2.25rem;font-weight:500}.auth-card>div:first-child p,.auth-links{color:var(--ink-soft)}.auth-links{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.8rem}.link-button{padding:0;border:0;background:transparent;color:var(--primary);font-weight:750;cursor:pointer}.hero{display:grid;grid-gap:16px;gap:16px;margin-bottom:25px}.hero__eyebrow{color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.14em}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px;gap:16px}.card{padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.chat-box{min-height:180px;padding:15px;border-radius:12px;background:var(--surface-soft)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.stat-pill{display:grid;background:var(--surface-soft)}.message,.stat-pill{padding:12px;border-radius:10px}.message{background:var(--primary-soft);color:var(--primary)}.brand__logo{width:120px}@media (max-width:1120px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:42px minmax(180px,1.5fr) repeat(2,.6fr) auto 70px}.service-row>span:nth-of-type(4),.service-row>span:nth-of-type(5){display:none}.hours-row{grid-template-columns:90px 90px auto 90px}.hours-row input:nth-of-type(4),.hours-row input:nth-of-type(5),.hours-row>small{display:none}}@media (max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;width:255px;transform:translateX(-105%);transition:transform .2s ease;box-shadow:15px 0 40px rgba(0,0,0,.2)}.sidebar--open{transform:translateX(0)}.sidebar-backdrop{position:fixed;inset:0;z-index:35;border:0;background:rgba(0,0,0,.28)}.mobile-menu{display:block}.topbar{min-height:calc(66px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left))}.topbar>div{flex:1 1}.connection-status{display:none}.page-shell main{padding:27px max(18px,env(safe-area-inset-right)) calc(60px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.shell-notice{margin:14px 18px 0}.landing__hero{grid-template-columns:1fr;gap:30px;padding:60px 0}.landing__preview{max-width:580px}.auth-page,.landing__features{grid-template-columns:1fr}.auth-aside{min-height:360px;padding:28px}.auth-aside h1{font-size:3rem}.auth-aside>small{display:none}.integration-grid,.settings-grid{grid-template-columns:1fr}.permission-grid{grid-template-columns:repeat(2,1fr)}.data-panel{overflow-x:auto}}@media (max-width:600px){h1{font-size:2.1rem}.page-header{align-items:flex-start;flex-direction:column;margin-bottom:20px}.page-actions,.page-header .button{width:100%}.metric-grid,.skeleton-grid{grid-template-columns:repeat(2,1fr)}.metric-card{min-height:125px;padding:16px}.metric-card strong{font-size:2rem}.dashboard-side{grid-template-columns:1fr}.appointment-row{grid-template-columns:50px 3px minmax(0,1fr) auto;gap:9px}.appointment-row .badge{display:none}.row-actions{grid-column:4;grid-row:1}.agenda-toolbar,.list-toolbar{align-items:stretch;flex-wrap:wrap}.agenda-toolbar>select{width:100%;margin-left:0}.list-toolbar .search-field{flex-basis:100%}.list-toolbar>span:last-child{margin-left:0}.field-row,.field-row--three,.option-grid{grid-template-columns:1fr}.service-row{grid-template-columns:38px 1fr auto}.service-row>.table-actions,.service-row>span:not(.service-icon):not(.badge){display:none}.hours-row{grid-template-columns:75px 1fr auto 1fr}.hours-row input:nth-of-type(4),.hours-row input:nth-of-type(5),.hours-row>small{display:none}.clinic-hours>div{grid-template-columns:1fr 90px auto 90px}.integration-card__header{grid-template-columns:42px minmax(0,1fr)}.integration-card__header .badge{grid-column:1/-1}.integration-details{grid-template-columns:1fr}.modal{padding:19px}.modal-actions{flex-direction:column-reverse}.modal-actions .button{width:100%}.landing__nav{height:68px}.landing__hero h1{font-size:3.25rem}.landing__actions{align-items:flex-start;flex-direction:column}.auth-card-wrap{padding:18px}.auth-card{padding:24px 19px}.auth-links{align-items:flex-start;flex-direction:column}.permission-grid{grid-template-columns:1fr}.pwa-status{align-items:flex-start;flex-direction:column}.pwa-status button{width:100%}}@media (display-mode:standalone){body{overscroll-behavior-y:none}}:root[data-display-mode=standalone] body{overscroll-behavior-y:none}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}:root,:root[data-theme=light]{color-scheme:light;--color-canvas:#f6f7f5;--color-surface:#ffffff;--color-surface-raised:#ffffff;--color-surface-subtle:#f1f3f0;--color-surface-hover:#eaeeea;--color-surface-active:#e1e7e2;--color-text:#171b18;--color-text-secondary:#5f6861;--color-text-tertiary:#89918b;--color-text-inverse:#ffffff;--color-border:#e1e5e1;--color-border-strong:#cdd4ce;--color-brand:#176b50;--color-brand-hover:#10543e;--color-brand-soft:#e7f2ed;--color-brand-border:#c5dfd2;--color-success:#167455;--color-success-soft:#e5f4ed;--color-warning:#9a5c16;--color-warning-soft:#fff2dd;--color-danger:#b0443e;--color-danger-soft:#fcebea;--color-info:#356a8a;--color-info-soft:#e8f1f7;--color-focus:#2b8c69;--color-overlay:rgba(12,18,15,.5);--shadow-xs:0 1px 2px rgba(15,24,19,.04);--shadow-sm:0 5px 16px rgba(15,24,19,.055),0 1px 3px rgba(15,24,19,.035);--shadow-md:0 18px 45px rgba(15,24,19,.09),0 3px 10px rgba(15,24,19,.04);--shadow-dialog:0 28px 90px rgba(9,16,12,.22)}:root[data-theme=dark]{color-scheme:dark;--color-canvas:#0b0e0d;--color-surface:#111513;--color-surface-raised:#161b18;--color-surface-subtle:#191f1c;--color-surface-hover:#202722;--color-surface-active:#28312b;--color-text:#f1f4f1;--color-text-secondary:#adb6af;--color-text-tertiary:#79837c;--color-text-inverse:#07110c;--color-border:#282f2a;--color-border-strong:#39423c;--color-brand:#6ac79f;--color-brand-hover:#83d6b0;--color-brand-soft:rgba(72,157,119,.16);--color-brand-border:rgba(103,196,155,.3);--color-success:#68c79c;--color-success-soft:rgba(39,139,99,.16);--color-warning:#e3a85e;--color-warning-soft:rgba(181,111,36,.16);--color-danger:#ed8a83;--color-danger-soft:rgba(176,68,62,.17);--color-info:#82b5d3;--color-info-soft:rgba(53,106,138,.18);--color-focus:#78d1aa;--color-overlay:rgba(0,0,0,.7);--shadow-xs:0 1px 2px rgba(0,0,0,.2);--shadow-sm:0 6px 20px rgba(0,0,0,.2);--shadow-md:0 20px 55px rgba(0,0,0,.32);--shadow-dialog:0 35px 100px rgba(0,0,0,.58)}:root{--font-sans:Inter,"SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-xs:8px;--radius-sm:10px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--duration-fast:120ms;--duration-normal:180ms;--duration-slow:220ms;--ease-standard:cubic-bezier(.2,.8,.2,1);--sidebar-width:248px;--topbar-height:64px;--content-max:1440px;--z-sidebar:40;--z-overlay:100;--z-toast:220;--ink:var(--color-text);--ink-soft:var(--color-text-secondary);--canvas:var(--color-canvas);--surface:var(--color-surface);--surface-soft:var(--color-surface-subtle);--line:var(--color-border);--primary:var(--color-brand);--primary-dark:var(--color-brand-hover);--primary-soft:var(--color-brand-soft);--sage:var(--color-text-tertiary);--amber:var(--color-warning);--red:var(--color-danger);--blue:var(--color-info);--shadow:var(--shadow-sm);--radius:var(--radius-lg)}html{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body,html{background:var(--color-canvas);font-family:var(--font-sans)}body{color:var(--color-text);font-size:14px;line-height:1.55;transition:background-color var(--duration-normal) var(--ease-standard),color var(--duration-normal) var(--ease-standard)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}::selection{background:var(--color-brand-soft);color:var(--color-text)}button,input,select,textarea{font-family:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus{outline:none}:focus-visible{outline:3px solid color-mix(in srgb,var(--color-focus) 38%,transparent);outline-offset:2px}h1,h2,h3,h4{color:var(--color-text);font-family:var(--font-sans);letter-spacing:-.025em}h1{margin-bottom:var(--space-2);font-size:clamp(2rem,3.2vw,2.65rem);line-height:1.08}h1,h2{font-weight:700}h2{font-size:1rem;letter-spacing:-.012em}h3{font-size:.94rem;font-weight:700}p{color:inherit}.muted{color:var(--color-text-secondary)}.eyebrow,.hero__eyebrow{color:var(--color-brand);font-size:.68rem;font-weight:700;letter-spacing:.12em}.button,button.button{min-height:42px;border:1px solid var(--color-brand);border-radius:var(--radius-sm);background:var(--color-brand);color:var(--color-text-inverse);font-size:.84rem;font-weight:650;letter-spacing:-.005em;box-shadow:var(--shadow-xs);transition:border-color var(--duration-fast),background-color var(--duration-fast),color var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast)}.button:hover:not(:disabled){background:var(--color-brand-hover);border-color:var(--color-brand-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.button:active:not(:disabled){box-shadow:none;transform:translateY(0)}.button:disabled{opacity:.48;cursor:not-allowed}.button--secondary{border-color:var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-brand);box-shadow:none}.button--secondary:hover:not(:disabled){border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-hover)}.button--ghost{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs)}.button--ghost:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-hover);color:var(--color-text);box-shadow:none}.button--danger{border-color:var(--color-danger);background:var(--color-danger);color:#fff}.button--danger:hover:not(:disabled){border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 84%,#000)}.button--small{min-height:34px;padding:6px 11px;border-radius:var(--radius-xs);font-size:.76rem}.icon-button{width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);box-shadow:var(--shadow-xs);transition:border-color var(--duration-fast),background-color var(--duration-fast),color var(--duration-fast),transform var(--duration-fast)}.icon-button:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover);color:var(--color-text);transform:translateY(-1px)}.icon-button svg{display:block}.link-button,.text-link{color:var(--color-brand);font-weight:650}.link-button:hover,.text-link:hover{color:var(--color-brand-hover);text-decoration:underline;text-underline-offset:3px}input,select,textarea{min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:.86rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.02),var(--shadow-xs);transition:border-color var(--duration-fast),background-color var(--duration-fast),box-shadow var(--duration-fast)}input:hover,select:hover,textarea:hover{border-color:var(--color-border-strong)}input:focus,select:focus,textarea:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-focus) 17%,transparent)}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary);opacity:1}input[readonly]{background:var(--color-surface-subtle);color:var(--color-text-secondary)}input[type=checkbox]{min-height:18px;border-radius:5px;accent-color:var(--color-brand);box-shadow:none}input[type=file]{padding:8px}input[type=file]::-webkit-file-upload-button{margin-right:10px;padding:6px 10px;border:1px solid var(--color-border);border-radius:7px;background:var(--color-surface-subtle);color:var(--color-text);font:inherit}input[type=file]::file-selector-button{margin-right:10px;padding:6px 10px;border:1px solid var(--color-border);border-radius:7px;background:var(--color-surface-subtle);color:var(--color-text);font:inherit}label{color:var(--color-text-secondary);font-size:.78rem;font-weight:620}label>small{color:var(--color-text-tertiary);font-weight:450}fieldset{border-color:var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface-subtle) 55%,transparent)}legend{color:var(--color-text);font-size:.78rem}hr{width:100%;border:0;border-top:1px solid var(--color-border)}.notice{display:flex;align-items:flex-start;gap:10px;margin-bottom:var(--space-5);padding:12px 14px;border:1px solid var(--color-brand-border);border-radius:var(--radius-md);background:var(--color-brand-soft);color:var(--color-text);font-size:.82rem;box-shadow:var(--shadow-xs);animation:notice-in var(--duration-slow) var(--ease-standard)}.notice svg{flex:0 0 auto;margin-top:1px;color:var(--color-brand)}.notice--success{border-color:color-mix(in srgb,var(--color-success) 35%,var(--color-border));background:var(--color-success-soft)}.notice--success svg{color:var(--color-success)}.notice--danger{border-color:color-mix(in srgb,var(--color-danger) 35%,var(--color-border));background:var(--color-danger-soft)}.notice--danger svg,.shell-notice{color:var(--color-danger)}.shell-notice{margin:14px 32px 0;border-color:color-mix(in srgb,var(--color-danger) 32%,var(--color-border));background:var(--color-danger-soft)}.pwa-status{border-color:var(--color-border);background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-md)}.pwa-status--offline{border-color:color-mix(in srgb,var(--color-warning) 40%,var(--color-border));background:var(--color-warning-soft);color:var(--color-warning)}.pwa-status--update{border-color:var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-brand)}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr);background:var(--color-canvas)}.sidebar{z-index:var(--z-sidebar);width:var(--sidebar-width);padding:calc(20px + env(safe-area-inset-top)) 14px calc(16px + env(safe-area-inset-bottom));border-right:1px solid rgba(255,255,255,.07);background:#10261f;color:#f4f8f5}:root[data-theme=dark] .sidebar{background:#0b1210;border-right-color:var(--color-border)}.sidebar__brand{gap:10px;margin:0 4px;padding:0 8px 20px;border-bottom-color:rgba(255,255,255,.1)}.brand-symbol{width:36px;height:36px;border-radius:11px 4px 11px 4px;background:#e9f3ee;color:#144c39;font-family:var(--font-sans);font-size:1.15rem;font-weight:800;box-shadow:0 5px 16px rgba(0,0,0,.16)}.sidebar__brand strong{font-family:var(--font-sans);font-size:1rem;font-weight:700;letter-spacing:-.02em}.sidebar__brand small{color:#91aa9f;font-size:.58rem;letter-spacing:.16em}.sidebar__nav{gap:18px;padding-top:18px}.sidebar__group{display:grid;grid-gap:3px;gap:3px}.sidebar__group-label{padding:0 11px 6px;color:#799287;font-size:.61rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.sidebar__item{position:relative;gap:10px;min-height:40px;padding:9px 11px;border:1px solid transparent;border-radius:var(--radius-sm);color:#b9ccc3;font-size:.82rem;font-weight:560}.sidebar__item svg{color:#88a398;transition:color var(--duration-fast)}.sidebar__item:hover{border-color:rgba(255,255,255,.06);background:rgba(255,255,255,.055);color:#fff}.sidebar__item.active{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.095);color:#fff;box-shadow:inset 2px 0 #80c2a3}.sidebar__item.active svg{color:#9ed2b9}.sidebar__account{margin:0 3px;padding:14px 6px 2px;border-top-color:rgba(255,255,255,.1)}.sidebar__account strong{color:#f6faf8;font-size:.78rem}.sidebar__account small{color:#8fa99d}.sidebar__account .icon-button{border-color:rgba(255,255,255,.09);background:rgba(255,255,255,.04);color:#c7d8d0;box-shadow:none}.sidebar__account .icon-button:hover{background:rgba(255,255,255,.1);color:#fff}.avatar{background:var(--color-brand-soft);color:var(--color-brand);font-family:var(--font-sans);font-weight:750}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;min-height:calc(var(--topbar-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(32px,env(safe-area-inset-right)) 0 max(32px,env(safe-area-inset-left));border-bottom-color:var(--color-border);background:color-mix(in srgb,var(--color-canvas) 88%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3)}.topbar__actions,.topbar__leading{display:flex;align-items:center;gap:10px}.breadcrumbs{display:flex;align-items:center;gap:7px;color:var(--color-text-tertiary);font-size:.76rem;font-weight:560}.breadcrumbs a:hover,.breadcrumbs span[aria-current=page]{color:var(--color-text)}.connection-status{gap:6px;padding:6px 9px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-success);font-size:.69rem;font-weight:620}.connection-status--offline{color:var(--color-danger)}.theme-toggle{border-radius:var(--radius-pill)}.mobile-menu{display:none}.page-shell main{width:min(var(--content-max),100%);padding:36px max(32px,env(safe-area-inset-right)) calc(72px + env(safe-area-inset-bottom)) max(32px,env(safe-area-inset-left));animation:page-in var(--duration-slow) var(--ease-standard)}.page-header{min-height:84px;align-items:flex-end;margin-bottom:24px}.page-header>div:first-child{min-width:0}.page-header p{color:var(--color-text-secondary);font-size:.84rem}.header-actions,.page-actions{gap:8px}.calendar-day,.card,.data-panel,.metric-card,.panel,.professional-card,.service-row{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-xs)}.data-panel,.panel{border-radius:var(--radius-lg)}.panel{padding:20px}.panel__header{margin-bottom:16px}.panel__header h2{margin-bottom:3px}.panel__header p{color:var(--color-text-tertiary)}.metric-grid{gap:12px}.metric-card{min-height:138px;padding:18px;border-radius:var(--radius-lg)}.metric-card>span{color:var(--color-text-secondary);font-size:.72rem}.metric-card strong{font-family:var(--font-sans);font-size:2rem;font-weight:700;letter-spacing:-.045em}.metric-card small{color:var(--color-text-tertiary)}.metric-card--primary{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.metric-card--primary small,.metric-card--primary>span{color:color-mix(in srgb,var(--color-text-inverse) 76%,transparent)}.progress{background:var(--color-surface-subtle)}.progress i{background:var(--color-brand)}.appointment-row{border-top-color:var(--color-border)}.appointment-row__body span{color:var(--color-text-secondary)}.summary-row{border-top-color:var(--color-border)}.summary-row span{color:var(--color-text-secondary)}.summary-row strong{font-family:var(--font-sans);font-size:1.05rem;font-weight:700}.demo-card{border-color:var(--color-brand-border);background:var(--color-brand-soft)}.demo-card h2{font-family:var(--font-sans);font-size:1.08rem}.badge,.demo-card p{color:var(--color-text-secondary)}.badge{border:1px solid var(--color-border);background:var(--color-surface-subtle);font-size:.63rem;font-weight:700;letter-spacing:.015em}.badge--completed,.badge--confirmed{border-color:color-mix(in srgb,var(--color-success) 28%,transparent);background:var(--color-success-soft);color:var(--color-success)}.badge--pending{border-color:color-mix(in srgb,var(--color-warning) 28%,transparent);background:var(--color-warning-soft);color:var(--color-warning)}.badge--cancelled,.badge--no_show{border-color:color-mix(in srgb,var(--color-danger) 28%,transparent);background:var(--color-danger-soft);color:var(--color-danger)}.badge--rescheduled{border-color:color-mix(in srgb,var(--color-info) 28%,transparent);background:var(--color-info-soft);color:var(--color-info)}.status-dot.completed,.status-dot.confirmed{background:var(--color-success)}.status-dot.pending{background:var(--color-warning)}.status-dot.cancelled,.status-dot.no_show{background:var(--color-danger)}.empty-state{min-height:250px}.empty-state>span{background:var(--color-brand-soft);color:var(--color-brand)}.empty-state p{max-width:380px;color:var(--color-text-secondary)}.centered-state{min-height:55vh;display:grid;place-content:center;justify-items:center;grid-gap:12px;gap:12px;text-align:center}.app-loading,.centered-state{color:var(--color-text-secondary)}.app-loading{background:var(--color-canvas)}.loading-mark{border-radius:15px 5px;background:var(--color-brand);color:var(--color-text-inverse);font-family:var(--font-sans);font-size:1.35rem;font-weight:800;box-shadow:var(--shadow-md)}.skeleton-grid>i{border:1px solid var(--color-border);background:linear-gradient(100deg,var(--color-surface-subtle) 20%,var(--color-surface-hover) 40%,var(--color-surface-subtle) 60%);background-size:200% 100%}.skeleton-stack{display:grid;grid-gap:10px;gap:10px;width:100%}.skeleton-line{display:block;width:100%;height:14px;border-radius:var(--radius-xs);background:linear-gradient(100deg,var(--color-surface-subtle) 20%,var(--color-surface-hover) 40%,var(--color-surface-subtle) 60%);background-size:200% 100%;animation:shimmer 1.5s ease infinite}.skeleton-line:last-child{width:68%}.agenda-toolbar,.list-toolbar{padding:10px;border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-xs)}.segmented{background:var(--color-surface-subtle)}.segmented button{color:var(--color-text-secondary);font-size:.76rem;font-weight:620}.segmented button:hover{color:var(--color-text)}.segmented button.active{background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-xs)}.list-toolbar>span:last-child,.search-field>span{color:var(--color-text-tertiary)}.data-panel{overflow:hidden}.data-table__head{border-bottom:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-tertiary);font-size:.63rem;letter-spacing:.075em}.data-table__row{border-top-color:var(--color-border);transition:background-color var(--duration-fast)}.data-table__row:hover{background:color-mix(in srgb,var(--color-surface-subtle) 62%,transparent)}.data-table__row small{color:var(--color-text-secondary)}.person-cell>i{background:var(--color-brand-soft);color:var(--color-brand)}.service-list{gap:9px}.service-row{border-radius:var(--radius-md);transition:border-color var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast)}.service-row:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.service-icon{border:1px solid var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-brand)}.service-row p,.service-row small{color:var(--color-text-secondary)}.professional-card{border-radius:var(--radius-lg);transition:border-color var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast)}.professional-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.professional-card>p,.professional-card>small{color:var(--color-text-secondary)}.professional-card__meta span{border:1px solid var(--color-border);background:var(--color-surface-subtle)}.professional-card__meta small{color:var(--color-text-tertiary)}.professional-card__meta strong{font-family:var(--font-sans);font-size:1.12rem}.week-pills i{background:var(--color-surface-subtle);color:var(--color-text-tertiary)}.week-pills i.active{background:var(--color-brand);color:var(--color-text-inverse)}.professional-card footer{border-top-color:var(--color-border)}.check-card{border-color:var(--color-border);background:var(--color-surface);transition:border-color var(--duration-fast),background-color var(--duration-fast)}.check-card:hover{border-color:var(--color-brand-border);background:var(--color-brand-soft)}.check-card small{color:var(--color-text-tertiary)}.clinic-hours>div,.hours-row{border-bottom-color:var(--color-border)}.hours-row>small,.hours-row>span{color:var(--color-text-tertiary)}.permission-grid article{border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-xs)}.permission-grid p{color:var(--color-text-secondary)}.integration-stage-notice{border-color:var(--color-brand-border);background:var(--color-brand-soft);box-shadow:var(--shadow-xs)}.integration-stage-notice>svg{color:var(--color-brand)}.integration-card__description,.integration-stage-notice p{color:var(--color-text-secondary)}.integration-card{transition:border-color var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast)}.integration-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.integration-card__icon{border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-secondary)}.integration-card__icon--whatsapp{border-color:var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-brand)}.integration-card__icon--google{border-color:color-mix(in srgb,var(--color-info) 30%,var(--color-border));background:var(--color-info-soft);color:var(--color-info)}.integration-details{border-color:var(--color-border);background:var(--color-border)}.integration-details>div{background:var(--color-surface-subtle)}.integration-details dt{color:var(--color-text-tertiary)}.integration-details dd{color:var(--color-text)}.integration-details__empty{color:var(--color-text-tertiary)!important;font-family:var(--font-sans)!important}.integration-error{border-color:color-mix(in srgb,var(--color-danger) 32%,var(--color-border));background:var(--color-danger-soft);color:var(--color-danger)}.integration-foundation-note{color:var(--color-text-secondary)}.integration-foundation-note,.integration-sync-options{border-color:var(--color-border);background:var(--color-surface-subtle)}.calendar-board{scrollbar-color:var(--color-border-strong) transparent}.calendar-day{border-radius:var(--radius-lg);overflow:hidden}.calendar-day>header{border-bottom-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-secondary)}.calendar-day>header strong{color:var(--color-text);box-shadow:var(--shadow-xs)}.calendar-day>header strong,.calendar-day__body{background:var(--color-surface)}.calendar-event{border-color:color-mix(in srgb,var(--color-success) 24%,var(--color-border));border-left-color:var(--color-success);background:var(--color-success-soft)}.calendar-event.event--pending{border-color:color-mix(in srgb,var(--color-warning) 24%,var(--color-border));border-left-color:var(--color-warning);background:var(--color-warning-soft)}.calendar-event.event--cancelled,.calendar-event.event--no_show{border-color:color-mix(in srgb,var(--color-danger) 24%,var(--color-border));border-left-color:var(--color-danger);background:var(--color-danger-soft)}.calendar-event.event--completed{border-color:color-mix(in srgb,var(--color-info) 24%,var(--color-border));border-left-color:var(--color-info);background:var(--color-info-soft)}.calendar-block{border-color:color-mix(in srgb,var(--color-warning) 45%,var(--color-border));border-left-color:var(--color-warning);background:var(--color-warning-soft)}.calendar-block small,.calendar-event p,.calendar-event small{color:var(--color-text-secondary)}.event-actions{border-top-color:color-mix(in srgb,currentColor 12%,transparent)}.event-actions button{color:var(--color-brand);border-radius:6px}.event-actions button:hover{background:color-mix(in srgb,var(--color-brand) 10%,transparent)}.calendar-empty{color:var(--color-text-tertiary)}.modal-backdrop{z-index:var(--z-overlay);padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:var(--color-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:backdrop-in var(--duration-normal) var(--ease-standard)}.modal{width:min(560px,100%);max-height:min(820px,calc(100dvh - 36px));padding:22px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-dialog);animation:dialog-in var(--duration-slow) var(--ease-standard)}.modal--wide{width:min(920px,100%)}.modal>header,.modal__header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.modal>header h2,.modal__header h2{margin:4px 0 0;font-size:1.18rem}.modal__header p{margin:7px 0 0;font-size:.8rem}.modal-actions{padding-top:18px;border-top:1px solid var(--color-border)}.history-list article{border-color:var(--color-border);background:var(--color-surface)}.history-list article span,.history-list article time{color:var(--color-text-secondary)}.landing{background:var(--color-canvas)}.landing__nav{max-width:1200px;height:76px}.auth-aside__top,.landing__nav-actions{display:flex;align-items:center;gap:10px}.auth-aside__top{justify-content:space-between;width:100%}.landing__brand{gap:10px}.landing__brand strong{font-size:.95rem;letter-spacing:-.02em}.landing__brand em{color:var(--color-brand);font-style:normal}.landing__hero{max-width:1200px;min-height:670px;gap:clamp(40px,7vw,96px)}.landing__hero h1{max-width:690px;font-size:clamp(3.25rem,6vw,5.7rem);font-weight:720;letter-spacing:-.065em;line-height:.96}.landing__hero>div:first-child>p{color:var(--color-text-secondary);font-size:1rem}.landing__actions>span{color:var(--color-text-tertiary)}.landing__preview{border-color:var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-raised);box-shadow:var(--shadow-md);transform:rotate(.5deg)}.landing__preview:before{background:var(--color-brand-soft);opacity:.8}.preview__top{color:var(--color-text-secondary)}.preview__appointment{border-top-color:var(--color-border)}.preview__appointment small{color:var(--color-text-secondary)}.preview__metric{background:var(--color-brand);color:var(--color-text-inverse)}.preview__metric>div{background:color-mix(in srgb,var(--color-text-inverse) 20%,transparent)}.preview__metric>div i{background:color-mix(in srgb,var(--color-text-inverse) 78%,transparent)}.landing__features{border-color:var(--color-border);background:var(--color-border)}.landing__features article{background:var(--color-surface)}.landing__features article>span{color:var(--color-brand)}.landing__features p{color:var(--color-text-secondary)}.auth-page{background:var(--color-canvas)}.auth-aside{background:#10261f}:root[data-theme=dark] .auth-aside{background:#0b1210}.auth-aside p{color:#afc4ba}.auth-aside .theme-toggle{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#f5faf7;box-shadow:none}.auth-aside .theme-toggle:hover{background:rgba(255,255,255,.12);color:#fff}.auth-card-wrap{background:radial-gradient(circle at 75% 15%,var(--color-brand-soft),transparent 34%)}.auth-card{border-color:var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-raised);box-shadow:var(--shadow-md)}.auth-card>div:first-child p{color:var(--color-text-secondary)}.link-button--back{display:inline-flex;align-items:center;gap:6px}.grid{gap:14px}.detail-grid{margin-top:24px}.linked-agent{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.linked-agent:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.card{border-radius:var(--radius-lg)}.card h3,.card h4{margin-bottom:10px}.card p{color:var(--color-text-secondary);line-height:1.65}.chat-box{border:1px solid var(--color-border);background:var(--color-surface-subtle)}.chat-panel{display:grid;grid-gap:14px;gap:14px}.chat-panel>label{margin-bottom:-6px}.chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:10px;gap:10px}.chat-composer textarea{min-height:76px}.chat-composer .button{min-height:44px}.message{display:flex;align-items:center;gap:8px;border:1px solid var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-text)}.wizard-steps{display:flex;flex-wrap:wrap;gap:8px}.wizard-step{min-height:36px;padding:7px 12px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-secondary);font-weight:620}.wizard-step.active{border-color:var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-brand)}.wizard-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.wizard-results{display:grid;grid-gap:12px;gap:12px}.wizard-panel{max-width:980px}.wizard-panel hr{width:100%;margin:4px 0;border:0;border-top:1px solid var(--color-border)}.chat-messages,.wizard-agent-form{display:grid;grid-gap:12px;gap:12px}.chat-messages{min-height:240px;align-content:start;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.chat-message{width:min(78%,620px);padding:11px 13px;border:1px solid var(--color-border);border-radius:4px var(--radius-md) var(--radius-md);background:var(--color-surface-raised)}.chat-message--user{justify-self:end;border-color:var(--color-brand-border);border-radius:var(--radius-md) 4px var(--radius-md) var(--radius-md);background:var(--color-brand-soft)}.chat-message strong{display:block;margin-bottom:3px;color:var(--color-text-tertiary);font-size:.67rem;text-transform:uppercase;letter-spacing:.06em}.chat-message p{margin:0;color:var(--color-text)}@media (max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{width:min(280px,calc(100vw - 42px))}.mobile-menu{display:inline-grid}.topbar{min-height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.page-shell main{padding:26px max(18px,env(safe-area-inset-right)) calc(64px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.connection-status{display:none}.shell-notice{margin:12px 18px 0}}@media (max-width:600px){h1{font-size:1.9rem}.page-header{align-items:stretch;gap:16px}.page-actions,.page-actions .button,.page-header .button,.page-header>div:first-child{width:100%}.metric-grid{gap:9px}.metric-card{min-height:116px;padding:14px}.metric-card strong{font-size:1.7rem}.modal{max-height:calc(100dvh - 20px);padding:18px;border-radius:16px}.landing__hero h1{font-size:clamp(3rem,15vw,4rem)}.landing__preview{transform:none}.pwa-status{width:calc(100% - 20px)}.breadcrumbs{max-width:210px;overflow:hidden;white-space:nowrap}.breadcrumbs span{overflow:hidden;text-overflow:ellipsis}.calendar-day{min-height:360px}.calendar-empty{min-height:260px}.chat-message{width:92%}.chat-composer{grid-template-columns:1fr}.landing__nav-actions .button{width:auto}}@media (prefers-contrast:more){:root{--color-border:var(--color-border-strong)}.button,.icon-button,input,select,textarea{border-width:2px}}@media (forced-colors:active){.badge,.button,.icon-button,.sidebar__item.active{forced-color-adjust:auto}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes notice-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}