vaadin-scroller[slot=drawer]{padding:var(--lumo-space-s)}[slot=drawer]:is(header,footer){display:flex;align-items:center;gap:var(--lumo-space-s);padding:var(--lumo-space-s) var(--lumo-space-m);min-height:var(--lumo-size-xl);box-sizing:border-box}[slot=drawer]:is(header,footer):is(:empty){display:none}decimal-field{padding:0}vaadin-grid,vaadin-upload,vaadin-checkbox,vaadin-combo-box,vaadin-text-area,vaadin-text-field,vaadin-date-picker,vaadin-time-picker,vaadin-email-field,vaadin-custom-field,vaadin-number-field,vaadin-integer-field,vaadin-password-field,vaadin-multi-select-combo-box{padding:.5rem .1rem .1rem;font-size:var(--lumo-font-size-s);--lumo-text-field-size: var(--lumo-size-s)}.selection-toolbar.selection-toolbar{--blur-radius: 20px;display:flex!important;align-items:center;gap:var(--lumo-space-s);position:fixed;bottom:var(--lumo-space-l);left:50%;translate:-50%;background:var(--lumo-base-color-80pct);padding:var(--lumo-space-s);-webkit-backdrop-filter:blur(var(--blur-radius));backdrop-filter:blur(var(--blur-radius));border-radius:var(--lumo-border-radius-l);box-shadow:inset 0 .5px 0 0 var(--lumo-tint-5pct),inset 0 0 0 .5px var(--lumo-tint-10pct),var(--lumo-box-shadow-l);transition:visibility .2s,translate .2s;white-space:nowrap;max-width:calc(100vw - var(--lumo-space-s) * 2)}.selection-toolbar[hidden]{visibility:hidden;translate:-50% 200%;transition-delay:.2s}.selection-toolbar>:not(vaadin-button,vaadin-menu-bar){margin-inline:var(--lumo-space-s)}.selection-toolbar vaadin-menu-bar{min-width:0;flex:1}vaadin-menu-bar.separate-buttons::part(container){gap:var(--lumo-space-xs)}vaadin-menu-bar.separate-buttons vaadin-menu-bar-button{border-radius:var(--lumo-border-radius-m)}.comments-card{border:1px solid #ddd;border-radius:8px;padding:15px;margin-bottom:10px;background-color:#fff}.comments-card header{display:flex;justify-content:space-between;align-items:center}.comments-card .content{margin-top:10px}.comments-card footer{margin-top:15px;text-align:right}vaadin-login-overlay-wrapper::part(brand){padding:0!important}vaadin-login-overlay-wrapper::part(description){margin:10px!important}vaadin-login-form-wrapper::part(footer){font-weight:600}vaadin-tabs{background:var(--lumo-contrast-10pct);border-radius:calc(var(--lumo-border-radius-s) + 3px);min-height:var(--lumo-size-m);box-shadow:none}vaadin-tabs::part(tabs){padding:3px;min-height:inherit;box-sizing:border-box;margin:.3rem}vaadin-tabsheet{box-sizing:border-box}vaadin-tabsheet::part(tabs-container){box-shadow:none;padding:0 0 1rem}vaadin-tabsheet::part(content){padding:0;padding-bottom:var(--view-content-inset-bottom)}vaadin-tabsheet>vaadin-tabs{margin:0}vaadin-tabsheet[theme~=bordered]{border-color:var(--lumo-contrast-10pct);border-top-left-radius:calc(var(--lumo-border-radius-s) + var(--lumo-space-s));border-top-right-radius:calc(var(--lumo-border-radius-s) + var(--lumo-space-s))}vaadin-tabsheet[overflow~=top]::part(content){border-top:1px solid var(--lumo-contrast-10pct)}vaadin-tabsheet:not([theme~=bordered])[overflow~=bottom]::part(content){border-bottom:1px solid var(--lumo-contrast-10pct)}vaadin-tab:before,vaadin-tab:after{display:none}vaadin-tab{font-weight:600;border-radius:var(--lumo-border-radius-m);transition:color .16s,background-color .16s,box-shadow 60ms,transform .2s,-webkit-backdrop-filter .2s,backdrop-filter .2s;padding:var(--lumo-space-xs) var(--lumo-space-m)}vaadin-tab[selected]{color:var(--lumo-primary-color-50pct);-webkit-backdrop-filter:brightness(1.06)}vaadin-tab[active]{transform:scale(.98);transition-duration:50ms}vaadin-tab[selected]:not([focus-ring]){box-shadow:0 0 0 1px var(--lumo-shade-5pct),0 1px 1px 0 var(--lumo-shade-5pct)}html .theme-button{background-color:#f2ecd9}html .theme-icon{content:url(images/dark.png);max-width:20px;max-height:20px}html .theme-logo{content:url(icons/icon-dark.png);max-width:40px;max-height:40px}html .button-search{align-items:center;--vaadin-button-background: #f5f8fd;--vaadin-button-border: 1px solid #e0e9f4;--vaadin-button-border-radius: .5em;--vaadin-button-text-color: #576b85;cursor:pointer;display:flex;flex-shrink:1;font:inherit;font-size:.875em;gap:.3em;line-height:1.4em;margin:0;min-width:7.5rem;padding:.25em;width:150px}[theme~=dark] .theme-button{background-color:#2f4859}[theme~=dark] .theme-icon{content:url(images/light.png);max-width:20px;max-height:20px}[theme~=dark] .theme-logo{content:url(icons/icon-light.png);max-width:40px;max-height:40px}[theme~=dark] .button-search{align-items:center;--vaadin-button-background: #1b2633;--vaadin-button-border: 1px solid #3f4d62;--vaadin-button-border-radius: .5em;--vaadin-button-text-color: #a2b4cb;cursor:pointer;display:flex;flex-shrink:1;font:inherit;font-size:.875em;gap:.3em;line-height:1.4em;margin:0;min-width:7.5rem;padding:.25em;width:150px}vaadin-dialog-overlay[theme=dialog-search]::part(content){padding:10px}.blue-underline{color:var(--lumo-primary-color);text-decoration:underline;padding-bottom:2px}.confirmation-contact-button:hover{transform:translateY(-3px)}:root{--border-radius: 20px}.container{display:flex;flex-wrap:wrap;margin:0;padding:0}.close{display:inline-flex;align-items:center;color:#e31937;background-color:#fff;height:35px;width:35px;cursor:pointer;border-radius:var(--border-radius);margin:0;padding:0}.field{display:inline-flex;align-items:center;border-radius:var(--border-radius);height:26px;font-size:var(--lumo-font-size-s)}.input-field{font-size:var(--lumo-font-size-s);outline:none;margin:0;padding:0}.input-field::placeholder{color:#1e90ff}.input-field input{background-color:#fff;color:#1e90ff}vaadin-combo-box.input-field::part(input-field){background-color:#fff}.input-field .vaadin-combo-box-container [part=toggle-button]{display:none!important}vaadin-login-overlay-wrapper::part(overlay),.singup-view{background-image:url(/images/login-bg.png);-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover}vaadin-login-form-wrapper vaadin-button{width:15rem;margin:var(--lumo-space-s) auto}vaadin-login-overlay-wrapper::part(brand){background:#fff!important}vaadin-login-overlay-wrapper::part(description){display:none}vaadin-login-overlay-wrapper::part(card){width:30rem;border-radius:2.5rem}vaadin-login-form-wrapper::part(form){padding-top:0;padding-bottom:0}@media only screen and (max-width:1023px)and (orientation:landscape){vaadin-login-overlay-wrapper::part(card){border-radius:0}}.change-password{display:flex;align-items:center;justify-content:center}section{max-width:100%;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;border-radius:var(--lumo-border-radius-l);box-shadow:var(--lumo-box-shadow-s);margin:var(--lumo-space-s);height:auto;width:calc(var(--lumo-size-m) * 10);background:var(--lumo-base-color) linear-gradient(var(--lumo-tint-5pct),var(--lumo-tint-5pct))}section #brand{box-sizing:border-box;overflow:hidden;flex-grow:1;flex-shrink:0;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--lumo-space-l) var(--lumo-space-xl) var(--lumo-space-l) var(--lumo-space-l);background-color:var(--lumo-primary-color);color:var(--lumo-primary-contrast-color);min-height:calc(var(--lumo-size-m) * 5)}section #brand h1{color:inherit;margin:0;font-size:var(--lumo-font-size-xxxl)}section #brand p{line-height:var(--lumo-line-height-s);color:var(--lumo-tint-70pct);margin-bottom:0;display:block;margin-block-start:1em;margin-block-end:1em;margin-inline-start:0;margin-inline-end:0}section #form{padding:var(--lumo-space-l);flex:1;display:flex;flex-direction:column;box-sizing:border-box}section #form h2{margin-top:calc(var(--lumo-font-size-xxxl) - var(--lumo-font-size-xxl));color:var(--lumo-header-text-color);line-height:var(--lumo-line-height-xs);margin-block:0;display:block;font-size:1.5em;margin-block-start:.83em;margin-block-end:.83em;margin-inline-start:0px;margin-inline-end:0px;font-weight:700}schedule-container{width:100%!important}schedule-container .tables{overflow-x:auto}schedule-container vaadin-grid{min-width:160px}schedule-container .header{max-width:150px}schedule-date-container{width:100%!important}schedule-date-container .tables{overflow-x:auto}:root{--alph-font-weight: 800;--alph-min-width: 100px;--alph-max-height: 35px;--alph-padding: 8px }.button-layout{margin-top:var(--lumo-space-s)}[theme~=btn][theme~=primary]{font-weight:var(--alph-font-weight);min-width:var(--alph-min-width);max-height:var(--alph-max-height);padding:var(--alph-padding)}[theme~=btn][theme~=primary][theme~=save]{background-color:var(--lumo-primary-color);color:var(--lumo-primary-contrast-color)}[theme~=btn][theme~=primary][theme~=new]{background-color:var(--lumo-primary-contrast-color);color:var(--lumo-primary-text-color)}[theme~=btn][theme~=primary][theme~=delete]{background-color:var(--lumo-error-color);color:var(--lumo-primary-contrast-color)}[theme~=btn][theme~=primary][theme~=print]{background-color:var(--lumo-contrast);color:var(--lumo-primary-contrast-color)}[theme~=btn][theme~=primary][theme~=find]{background-color:var(--lumo-user-color-2);color:var(--lumo-primary-contrast-color)}[theme~=btn][theme~=primary][theme~=cancel]{background-color:var(--lumo-primary-contrast-color);color:var(--lumo-error-color)}[theme~=btn][theme~=primary][theme~=displacement]{background-color:var(--lumo-secondary-text-color);color:var(--lumo-primary-contrast-color)}[theme~=btn][theme~=primary][disabled]{background-color:var(--lumo-contrast-30pct);color:var(--lumo-base-color);pointer-events:none}@media screen and (max-width:800px){[theme~=btn][theme~=primary][theme~=find]{margin-inline-end:unset!important}}:root{--alph-text-decoration-thickness: 15%;--alph-text-decoration-line: none;--alph-font-size: medium;--alph-font-weight: 400;--alph-padding-left: 5px;--alph-padding-righr: 5px}.fc-event{padding:0!important;border:none!important}.calendar-virtual-not-bill-group .fc-event-inner .fc-event-time:before{padding-right:var(--alph-padding-righr);content:url(/icons/calendar/virtual.png) url(/icons/calendar/not-bill.png) url(/icons/calendar/group.png)}.calendar-virtual-not-bill .fc-event-inner .fc-event-time:before{padding-right:var(--alph-padding-righr);content:url(/icons/calendar/virtual.png) url(/icons/calendar/not-bill.png)}.calendar-virtual-group .fc-event-inner .fc-event-time:before{padding-right:var(--alph-padding-righr);content:url(/icons/calendar/virtual.png) url(/icons/calendar/group.png)}.calendar-not-bill-group .fc-event-inner .fc-event-time:before{padding-right:var(--alph-padding-righr);content:url(/icons/calendar/not-bill.png) url(/icons/calendar/group.png)}.calendar-virtual .fc-event-inner .fc-event-time:before{padding-right:var(--alph-padding-righr);content:url(/icons/calendar/virtual.png)}.calendar-not-bill .fc-event-inner .fc-event-time:before{padding-right:var(--alph-padding-righr);content:url(/icons/calendar/not-bill.png)}.calendar-group .fc-event-inner .fc-event-time:before{padding-right:var(--alph-padding-righr);content:url(/icons/calendar/group.png)}.calendar-cancelled{text-decoration-line:line-through!important;text-decoration-color:#ff1a1a!important;text-decoration-thickness:var(--alph-text-decoration-thickness)!important;font-weight:var(--alph-font-weight);font-size:var(--alph-font-size)}.calendar-cancelled .fc-event-inner{padding-left:var(--alph-padding-left);opacity:.5!important;background:#fff!important;color:#000;font-style:italic}.calendar-cancelled .fc-event-inner .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/close.png)}.calendar-cancelled-invoice .fc-event-inner .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/close.png) url(/icons/calendar/invoice.png)}.calendar-cancelled-payment .fc-event-inner .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/close.png) url(/icons/calendar/invoice.png) url(/icons/calendar/payment.png)}.calendar-cancelled-half-payment .fc-event-inner .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/close.png) url(/icons/calendar/invoice.png) url(/icons/calendar/half-payment.png)}.calendar-pending{text-decoration-line:var(--alph-text-decoration-line)!important;text-decoration-thickness:var(--alph-text-decoration-thickness)!important;font-weight:var(--alph-font-weight);font-size:var(--alph-font-size)}.calendar-pending .fc-event-inner{padding:0;text-decoration:inherit;content:""}.calendar-pending .fc-event-inner .fc-event-time{color:#fff!important;padding-left:var(--alph-padding-left)}.calendar-pending .fc-event-inner .fc-event-title-outer{opacity:.7!important;background:#fff!important;color:#000}.calendar-pending .fc-event-inner .fc-event-title{padding-left:var(--alph-padding-left)}.calendar-pending .fc-event-inner .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/waiting.png)}.calendar-pending-invoice .fc-event-inner .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/waiting.png) url(/icons/calendar/invoice.png)}.calendar-pending-payment .fc-event-inner .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/waiting.png) url(/icons/calendar/invoice.png) url(/icons/calendar/payment.png)}.calendar-pending-half-payment .fc-event-inner .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/waiting.png) url(/icons/calendar/invoice.png) url(/icons/calendar/half-payment.png)}.calendar-finished{font-weight:var(--alph-font-weight);font-size:var(--alph-font-size)}.calendar-finished .fc-event-inner{padding-left:var(--alph-padding-left);opacity:.5!important;background:#fff!important;color:#000;font-style:italic}.calendar-finished .fc-event-inner .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/clock.png)}.calendar-finished-invoice .fc-event-inner .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/clock.png) url(/icons/calendar/invoice.png)}.calendar-finished-payment .fc-event-inner .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/clock.png) url(/icons/calendar/invoice.png) url(/icons/calendar/payment.png)}.calendar-finished-half-payment .fc-event-inner .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/clock.png) url(/icons/calendar/invoice.png) url(/icons/calendar/half-payment.png)}.calendar-confirmed{font-size:var(--alph-font-size);font-weight:var(--alph-font-weight)}.calendar-confirmed .fc-event-inner{padding-left:var(--alph-padding-left)}.calendar-confirmed .fc-event-inner .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/check.png)}.calendar-confirmed-invoice .fc-event-inner .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/check.png) url(/icons/calendar/invoice.png)}.calendar-confirmed-payment .fc-event-inner .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/check.png) url(/icons/calendar/invoice.png) url(/icons/calendar/payment.png)}.calendar-confirmed-half-payment .fc-event-inner .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/check.png) url(/icons/calendar/invoice.png) url(/icons/calendar/half-payment.png)}.event-inner{color:#fff;font-size:var(--alph-font-size)!important;font-weight:var(--alph-font-weight)!important;width:100%;padding:10px}.event-inner .event-time{font-size:smaller!important;font-weight:400!important}.event-inner .event-subtitle{font-size:smaller!important;font-weight:600!important;text-wrap:balance}.event-inner .event-title{font-size:small!important;font-weight:500!important;padding:5px 0;text-wrap:balance}.calendar-confirmed{padding:0}.calendar-virtual-not-bill-group .event-inner .event-icon:before{content:url(/icons/calendar/virtual.png) url(/icons/calendar/not-bill.png) url(/icons/calendar/group.png)}.calendar-virtual-not-bill .event-inner .event-icon:before{content:url(/icons/calendar/virtual.png) url(/icons/calendar/not-bill.png)}.calendar-virtual-group .event-inner .event-icon:before{content:url(/icons/calendar/virtual.png) url(/icons/calendar/group.png)}.calendar-not-bill-group .event-inner .event-icon:before{content:url(/icons/calendar/not-bill.png) url(/icons/calendar/group.png)}.calendar-virtual .event-inner .event-icon:before{content:url(/icons/calendar/virtual.png)}.calendar-not-bill .event-inner .event-icon:before{content:url(/icons/calendar/not-bill.png)}.calendar-group .event-inner .event-icon:before{content:url(/icons/calendar/group.png)}.calendar-confirmed .event-inner .event-icon:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/check.png)}.calendar-confirmed-invoice .event-inner .event-icon:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/check.png) url(/icons/calendar/invoice.png)}.calendar-confirmed-payment .event-inner .event-icon:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/check.png) url(/icons/calendar/invoice.png) url(/icons/calendar/payment.png)}.calendar-confirmed-half-payment .event-inner .event-icon:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/check.png) url(/icons/calendar/invoice.png) url(/icons/calendar/half-payment.png)}.calendar-finished{padding:0}.calendar-finished .event-inner{opacity:.5!important;background:#fff!important;color:#000;font-style:italic}.calendar-finished .event-inner .event-icon:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/clock.png)}.calendar-finished-invoice .event-inner .event-icon:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/clock.png) url(/icons/calendar/invoice.png)}.calendar-finished-payment .event-inner .event-icon:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/clock.png) url(/icons/calendar/invoice.png) url(/icons/calendar/payment.png)}.calendar-finished-half-payment .event-inner .event-icon:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/clock.png) url(/icons/calendar/invoice.png) url(/icons/calendar/half-payment.png)}.calendar-pending{padding:0}.calendar-pending .event-inner{color:#fff;padding:0}.calendar-pending .event-inner .event-time{padding-top:10px;color:#fff!important;padding-left:10px}.calendar-pending .event-inner .event-title{padding-left:10px;opacity:.7!important;background:#fff!important;color:#000}.calendar-pending .event-inner .event-subtitle{padding-bottom:10px;padding-left:10px!important;opacity:.7!important;background:#fff!important;color:#000}.calendar-pending .event-inner .event-icon:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/waiting.png)}.calendar-pending-invoice .event-inner .event-icon:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/waiting.png) url(/icons/calendar/invoice.png)}.calendar-pending-payment .event-inner .event-icon:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/waiting.png) url(/icons/calendar/invoice.png) url(/icons/calendar/payment.png)}.calendar-pending-half-payment .event-inner .event-icon:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/waiting.png) url(/icons/calendar/invoice.png) url(/icons/calendar/half-payment.png)}.cal-header-bar{background:var(--ts-gray-0, #FFFFFF)!important;border-bottom:1px solid var(--ts-gray-200, #E1E8EC);padding:var(--ts-space-3, 12px) var(--ts-space-5, 20px)!important;border-radius:var(--ts-radius-lg, 20px) var(--ts-radius-lg, 20px) 0 0;gap:var(--ts-space-2, 8px)!important}.cal-date-badge{background:var(--ts-primary-100, #D9E8E6)!important;color:var(--ts-primary-700, #245856)!important;font-family:var(--ts-font-family, "Inter", sans-serif)!important;font-size:14px!important;font-weight:700!important;border-radius:var(--ts-radius-md, 14px)!important;padding:var(--ts-space-1, 4px) var(--ts-space-4, 16px)!important;border:none!important;letter-spacing:-.01em}.cal-holiday-badge{background:var(--ts-warning-50, #FFF3DB)!important;color:var(--ts-warning-700, #A96600)!important;font-family:var(--ts-font-family, "Inter", sans-serif)!important;font-size:13px!important;font-weight:600!important;border-radius:var(--ts-radius-md, 14px)!important;padding:var(--ts-space-1, 4px) var(--ts-space-4, 16px)!important;border:1px solid var(--ts-warning-500, #F5A623)!important;margin-bottom:var(--ts-space-2, 8px)}.cal-body-panel{background:var(--ts-gray-0, #FFFFFF);border-radius:var(--ts-radius-lg, 20px);box-shadow:var(--ts-shadow-sm, 0 4px 12px rgba(22, 44, 58, .06));overflow:hidden}.cal-filter-sidebar{border-right:1px solid var(--ts-gray-200, #E1E8EC);padding:var(--ts-space-4, 16px)!important;background:var(--ts-gray-50, #F7F9FB);border-radius:var(--ts-radius-lg, 20px) 0 0 var(--ts-radius-lg, 20px);min-width:240px}.calendar-virtual-not-bill-group .fc-event-main .fc-event-time:before{padding-right:var(--alph-padding-righr);content:url(/icons/calendar/virtual.png) url(/icons/calendar/not-bill.png) url(/icons/calendar/group.png)}.calendar-virtual-not-bill .fc-event-main .fc-event-time:before{padding-right:var(--alph-padding-righr);content:url(/icons/calendar/virtual.png) url(/icons/calendar/not-bill.png)}.calendar-virtual-group .fc-event-main .fc-event-time:before{padding-right:var(--alph-padding-righr);content:url(/icons/calendar/virtual.png) url(/icons/calendar/group.png)}.calendar-not-bill-group .fc-event-main .fc-event-time:before{padding-right:var(--alph-padding-righr);content:url(/icons/calendar/not-bill.png) url(/icons/calendar/group.png)}.calendar-virtual .fc-event-main .fc-event-time:before{padding-right:var(--alph-padding-righr);content:url(/icons/calendar/virtual.png)}.calendar-not-bill .fc-event-main .fc-event-time:before{padding-right:var(--alph-padding-righr);content:url(/icons/calendar/not-bill.png)}.calendar-group .fc-event-main .fc-event-time:before{padding-right:var(--alph-padding-righr);content:url(/icons/calendar/group.png)}.calendar-cancelled .fc-event-main{padding-left:var(--alph-padding-left);opacity:.5!important;background:#fff!important;color:#000;font-style:italic}.calendar-cancelled .fc-event-main .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/close.png)}.calendar-cancelled-invoice .fc-event-main .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/close.png) url(/icons/calendar/invoice.png)}.calendar-cancelled-payment .fc-event-main .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/close.png) url(/icons/calendar/invoice.png) url(/icons/calendar/payment.png)}.calendar-cancelled-half-payment .fc-event-main .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/close.png) url(/icons/calendar/invoice.png) url(/icons/calendar/half-payment.png)}.calendar-pending .fc-event-main{padding:0;text-decoration:inherit}.calendar-pending .fc-event-main .fc-event-time{color:#fff!important;padding-left:var(--alph-padding-left)}.calendar-pending .fc-event-main .fc-event-title-container{opacity:.7!important;background:#fff!important;color:#000}.calendar-pending .fc-event-main .fc-event-title{padding-left:var(--alph-padding-left)}.calendar-pending .fc-event-main .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/waiting.png)}.calendar-pending-invoice .fc-event-main .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/waiting.png) url(/icons/calendar/invoice.png)}.calendar-pending-payment .fc-event-main .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/waiting.png) url(/icons/calendar/invoice.png) url(/icons/calendar/payment.png)}.calendar-pending-half-payment .fc-event-main .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/waiting.png) url(/icons/calendar/invoice.png) url(/icons/calendar/half-payment.png)}.calendar-finished .fc-event-main{padding-left:var(--alph-padding-left);opacity:.5!important;background:#fff!important;color:#000;font-style:italic}.calendar-finished .fc-event-main .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/clock.png)}.calendar-finished-invoice .fc-event-main .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/clock.png) url(/icons/calendar/invoice.png)}.calendar-finished-payment .fc-event-main .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/clock.png) url(/icons/calendar/invoice.png) url(/icons/calendar/payment.png)}.calendar-finished-half-payment .fc-event-main .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/clock.png) url(/icons/calendar/invoice.png) url(/icons/calendar/half-payment.png)}.calendar-confirmed .fc-event-main{padding-left:var(--alph-padding-left)}.calendar-confirmed .fc-event-main .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/check.png)}.calendar-confirmed-invoice .fc-event-main .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/check.png) url(/icons/calendar/invoice.png)}.calendar-confirmed-payment .fc-event-main .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/check.png) url(/icons/calendar/invoice.png) url(/icons/calendar/payment.png)}.calendar-confirmed-half-payment .fc-event-main .fc-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/check.png) url(/icons/calendar/invoice.png) url(/icons/calendar/half-payment.png)}.calendar-cancelled .fc-list-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/close.png)}.calendar-pending .fc-list-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/waiting.png)}.calendar-finished .fc-list-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/clock.png)}.calendar-confirmed .fc-list-event-time:after{padding-left:var(--alph-padding-left);content:url(/icons/calendar/check.png)}.fc-timegrid-now-indicator-line{border-color:var(--ts-danger-500, #E57373)!important;border-width:2px!important}.fc-timegrid-now-indicator-arrow{border-top-color:var(--ts-danger-500, #E57373)!important;border-bottom-color:var(--ts-danger-500, #E57373)!important}.fc-toolbar-title{font-family:var(--ts-font-family, "Inter", sans-serif)!important;font-size:18px!important;font-weight:700!important;color:var(--ts-gray-800, #1D2939)!important}.fc-button{background:var(--ts-primary-400, #4F8F8B)!important;border-color:var(--ts-primary-400, #4F8F8B)!important;border-radius:var(--ts-radius-sm, 10px)!important;font-family:var(--ts-font-family, "Inter", sans-serif)!important;font-weight:600!important;font-size:13px!important;transition:background var(--ts-transition-fast, .1s ease)!important}.fc-button:hover{background:var(--ts-primary-500, #3D7874)!important;border-color:var(--ts-primary-500, #3D7874)!important}.fc-button-active,.fc-button:active{background:var(--ts-primary-600, #32736F)!important;border-color:var(--ts-primary-600, #32736F)!important}.fc-col-header-cell{background:var(--ts-gray-50, #F7F9FB)!important;border-color:var(--ts-gray-200, #E1E8EC)!important}.fc-col-header-cell-cushion{font-family:var(--ts-font-family, "Inter", sans-serif)!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:var(--ts-gray-500, #667085)!important;text-decoration:none!important;padding:8px 12px!important}.fc-timegrid-slot-label-cushion{font-family:var(--ts-font-family, "Inter", sans-serif)!important;font-size:11px!important;font-weight:600!important;color:var(--ts-gray-400, #98A2B3)!important}.fc-list-day-cushion{background:var(--ts-gray-100, #F1F5F6)!important;font-family:var(--ts-font-family, "Inter", sans-serif)!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:var(--ts-gray-700, #344054)!important}.fc-list-event:hover td{background:var(--ts-primary-50, #EEF5F5)!important}.fc-list-event-title,.fc-list-event-time{font-family:var(--ts-font-family, "Inter", sans-serif)!important}.calendar-room-view vaadin-grid::part(current-hour){position:relative}.calendar-room-view vaadin-grid::part(current-hour):after{content:"";position:absolute;left:0;right:0;top:var(--ts-now-top, 0%);border-top:2px solid var(--ts-danger-500, #E57373);pointer-events:none}.form-view{display:block;margin:0 auto;max-width:1024px;padding:0 var(--lumo-space-l)}.form-view h3{margin-bottom:var(--lumo-space-xs);margin-top:var(--lumo-space-l)}.master-detail-view{display:flex;flex-direction:column;height:100%}.master-detail-view vaadin-split-layout{width:100%;height:100%}.master-detail-view vaadin-grid{height:100%}.master-detail-view .editor-layout{display:flex;flex-direction:column;width:400px;background:var(--ts-gray-0, #FFFFFF);border-left:1px solid var(--ts-gray-200, #E1E8EC)}.master-detail-view .editor{flex-grow:1;padding:var(--ts-space-5, 20px)}.master-detail-view .editor vaadin-checkbox{padding-top:var(--ts-space-3, 12px)}.master-detail-view .button-layout{width:100%;flex-wrap:wrap;background-color:var(--ts-gray-50, #F7F9FB);border-top:1px solid var(--ts-gray-200, #E1E8EC);padding:var(--ts-space-3, 12px) var(--ts-space-5, 20px);gap:var(--ts-space-3, 12px)}.master-detail-view .grid-wrapper{width:100%}vaadin-checkbox[theme~=toggle-button]{margin:0;padding:0}vaadin-checkbox[theme~=toggle-button]::part(checkbox),vaadin-checkbox[theme~=toggle-button]>input{grid-column:1}vaadin-checkbox-group[theme~=toggle-button]>vaadin-checkbox::part(checkbox),vaadin-checkbox[theme~=toggle-button]::part(checkbox){width:calc(3em - 12px);height:1.5em;border-radius:.75em;background-color:var(--lumo-contrast-40pct);margin:0;cursor:pointer;padding-bottom:.2em}vaadin-checkbox-group[theme~=toggle-button]>vaadin-checkbox::part(checkbox):after,vaadin-checkbox[theme~=toggle-button]::part(checkbox):after{width:calc(1.2em - 4px);height:calc(1.2em - 4px);border-radius:50%;background-color:var(--lumo-primary-contrast-color);border:none;top:2px;left:2px;transform:none;opacity:1;transition:transform .2s ease}vaadin-checkbox-group[theme~=toggle-button]>vaadin-checkbox[disabled]::part(checkbox):after,vaadin-checkbox[theme~=toggle-button][disabled]::part(checkbox):after{color:transparent!important}vaadin-checkbox-group[theme~=toggle-button]>vaadin-checkbox[checked]::part(checkbox):after,vaadin-checkbox[theme~=toggle-button][checked]::part(checkbox):after{transform:translate(calc(100% - 8px))}vaadin-checkbox-group[theme~=toggle-button]>vaadin-checkbox[checked]::part(checkbox),vaadin-checkbox[theme~=toggle-button][checked]::part(checkbox){background-color:var(--lumo-primary-color)}vaadin-checkbox-group[theme~=toggle-button]>vaadin-checkbox[checked][disabled]::part(checkbox),vaadin-checkbox[theme~=toggle-button][checked][disabled]::part(checkbox){background-color:var(--lumo-primary-color);opacity:.3}vaadin-button[theme~=user-color-2],vaadin-menu-bar-button[theme~=user-color-2],span[theme~=user-color-2]{background-color:var(--lumo-user-color-2);color:var(--lumo-primary-contrast-color)}span[theme~=holiday]{background-color:var(--lumo-user-holiday);color:var(--lumo-primary-contrast-color)}.form-layout .form-layout-header vaadin-checkbox,.form-layout .form-layout-header vaadin-text-field,.form-layout .form-layout-header vaadin-multi-select-combo-box{width:80%}.form-layout .form-layout-header vaadin-horizontal-layout{width:20%}@media screen and (max-width:1400px){.form-layout .form-layout-header vaadin-checkbox,.form-layout .form-layout-header vaadin-text-field,.form-layout .form-layout-header vaadin-multi-select-combo-box{width:100%;margin-right:0}.form-layout .form-layout-header vaadin-horizontal-layout{width:100%}}@media screen and (max-width:1400px){.form-layout .form-layout-header{flex-wrap:wrap;min-width:100%}}@media screen and (max-width:1400px){.form-layout .form-layout-stretch{display:block;border-radius:0;box-shadow:none;padding:0}}@media screen and (max-width:1400px){.form-layout footer vaadin-horizontal-layout{padding:var(--ts-space-2, 8px);justify-content:center}.form-layout footer vaadin-horizontal-layout vaadin-button{margin:0}}@media screen and (max-width:1400px){.form-layout{padding:0}}.form-layout .amount-section-highlight{border-left:4px solid var(--ts-primary-400, #4F8F8B);background:linear-gradient(90deg,var(--ts-primary-50, #EEF5F5) 0%,transparent 100%);border-radius:0 var(--ts-radius-sm, 10px) var(--ts-radius-sm, 10px) 0}.form-layout h2{color:var(--ts-primary-700, #245856);font-family:var(--ts-font-family, "Inter", sans-serif);font-weight:700;font-size:15px;position:relative;padding-left:var(--ts-space-4, 16px)}.form-layout h2:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:70%;background-color:var(--ts-primary-400, #4F8F8B);border-radius:2px}.form-layout .invoice-header-accent{border-bottom:2px solid var(--ts-primary-200, #B0CFC9);background-color:var(--ts-gray-0, #FFFFFF)}.form-layout .card-section{transition:all var(--ts-transition-base, .2s ease);border:1px solid transparent;background-color:var(--ts-gray-0, #FFFFFF);border-radius:var(--ts-radius-md, 14px)}.form-layout .card-section:hover{box-shadow:var(--ts-shadow-sm, 0 4px 12px rgba(22, 44, 58, .06));border-color:var(--ts-primary-100, #D9E8E6)}.form-layout .sidebar-panel{transition:box-shadow var(--ts-transition-base, .2s ease);border-radius:var(--ts-radius-md, 14px)}.form-layout .sidebar-panel:hover{box-shadow:var(--ts-shadow-md, 0 8px 24px rgba(22, 44, 58, .08))}.form-layout vaadin-grid{border-radius:var(--ts-radius-md, 14px);overflow:hidden;transition:box-shadow var(--ts-transition-base, .2s ease)}.form-layout vaadin-grid:hover{box-shadow:var(--ts-shadow-sm, 0 4px 12px rgba(22, 44, 58, .06))}.form-layout .footer-buttons vaadin-button{transition:transform var(--ts-transition-fast, .1s ease),box-shadow var(--ts-transition-fast, .1s ease)}.form-layout .footer-buttons vaadin-button:hover{transform:translateY(-1px);box-shadow:var(--ts-shadow-sm, 0 4px 12px rgba(22, 44, 58, .06))}.form-layout vaadin-tab[selected]{border-bottom:3px solid var(--ts-primary-400, #4F8F8B)}.form-layout vaadin-text-field:focus-within,.form-layout vaadin-combo-box:focus-within,.form-layout vaadin-date-picker:focus-within,.form-layout vaadin-text-area:focus-within,.form-layout vaadin-multi-select-combo-box:focus-within{--vaadin-input-field-border-color: var(--ts-primary-400, #4F8F8B)}.form-layout span[theme~=badge]{transition:transform var(--ts-transition-fast, .1s ease)}.form-layout span[theme~=badge]:hover{transform:scale(1.04)}#notifications-heading{font-size:var(--lumo-font-size-l)}.notification-icon{transition:transform .3s ease,box-shadow .3s ease}.notification-icon:hover{transform:translateY(-3px);color:var(--lumo-user-color-2)}.notification-trash:hover .notification-icon{transform:translateY(-5px);color:var(--lumo-error-color)}vaadin-tabsheet.notifications{max-height:700px}vaadin-tabsheet.notifications vaadin-tabs::part(tabs){margin-left:var(--lumo-space-xs)}vaadin-tabsheet.notifications vaadin-message-list vaadin-message{padding:var(--lumo-space-s) 0 var(--lumo-space-m) 0;margin:0 var(--lumo-space-m);font-size:var(--lumo-font-size-s);border-bottom:1px solid var(--lumo-contrast-10pct)}vaadin-tabsheet.notifications vaadin-message-list vaadin-message::part(name){font-weight:600;margin-right:auto}vaadin-tabsheet.notifications vaadin-message-list vaadin-message::part(time){font-size:var(--lumo-font-size-xxs)}vaadin-tabsheet.notifications vaadin-message-list vaadin-message::part(message){font-size:var(--lumo-font-size-s);line-height:var(--lumo-line-height-xs);color:var(--lumo-secondary-text-color)}vaadin-tabsheet.notifications .no-notifications-msg{padding:var(--lumo-space-m);color:var(--lumo-secondary-text-color)}.userMenuHeader{background:var(--lumo-contrast-5pct);padding:var(--lumo-space-s);padding-inline-end:var(--lumo-space-l);margin:2px;align-items:center;gap:var(--lumo-space-s);line-height:var(--lumo-line-height-s)}.userMenuHeader .userMenuNickname{font-size:var(--lumo-font-size-s);color:var(--lumo-secondary-text-color)}.userMenuLinks{padding-bottom:var(--lumo-space-xs);align-items:stretch}.userMenuLinks a{padding:var(--lumo-space-xs) var(--lumo-space-m);color:var(--lumo-body-text-color);text-decoration:none}.userMenuLinks a:hover{background:var(--lumo-contrast-5pct)}:root{--survey-primary: #3f7f7a;--survey-primary-dark: #2f625e;--survey-secondary-bg: #f3faf9;--survey-border: #d9e5e3;--survey-muted: #607d8b;--survey-radius: 16px}html:has(.survey-public-page),body:has(.survey-public-page){overflow:auto!important;height:auto!important}.survey-public-page{background:linear-gradient(135deg,#eef8f7,#fff);min-height:100vh;width:100%;padding:var(--lumo-space-l) var(--lumo-space-m);box-sizing:border-box;overflow-y:auto;overflow-x:hidden}.survey-form-card{max-width:980px;margin:0 auto;background:#fff;border-radius:var(--survey-radius);box-shadow:0 12px 35px #00000014;overflow:hidden}.survey-header-card{background:var(--survey-primary);color:#fff;padding:36px;text-align:center;border-radius:0;margin-bottom:0}.survey-header-card h1{margin:0 0 10px;font-size:clamp(22px,4vw,32px);font-weight:700;color:#fff;line-height:1.2}.survey-header-card p{margin:0;opacity:.95;font-size:var(--lumo-font-size-m);color:#fff}.survey-form-body{padding:32px}.survey-section-card{background:transparent;border-radius:0;padding:0 0 28px;margin-bottom:8px;box-shadow:none;border-bottom:1px solid var(--survey-border)}.survey-section-card:last-child{border-bottom:none;padding-bottom:0}.survey-section-title{font-size:22px;color:var(--survey-primary-dark);font-weight:700;margin:0 0 6px}.survey-section-description{color:var(--survey-muted);font-size:var(--lumo-font-size-s);margin:0 0 20px}.survey-therapist-accordion{border:1px solid var(--survey-border)!important;border-radius:var(--survey-radius)!important;margin-bottom:16px;background:#fff;overflow:hidden}.survey-therapist-accordion::part(summary){background:var(--survey-secondary-bg);padding:16px 20px;align-items:center}.survey-therapist-accordion::part(summary-icon){color:var(--survey-primary)}.survey-therapist-accordion::part(content){padding:20px 24px}.survey-therapist-accordion vaadin-details-summary{background-color:var(--lumo-primary-color)}.survey-therapist-name{font-size:var(--lumo-font-size-m);font-weight:700;color:#fff;line-height:1.3}.survey-therapist-specialty{font-size:var(--lumo-font-size-xs);color:#fff;opacity:.7;line-height:1.3;margin-top:2px}.survey-question-block{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--lumo-contrast-10pct)}.survey-question-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.survey-question-title{font-size:var(--lumo-font-size-m);font-weight:600;margin:0 0 var(--lumo-space-s);color:var(--lumo-body-text-color)}.survey-question-required{color:var(--lumo-error-color);margin-left:2px}.survey-rating-group{background:var(--survey-secondary-bg);padding:20px;border-radius:14px;margin-bottom:20px}.survey-rating-group-title{font-size:var(--lumo-font-size-m);font-weight:700;color:var(--survey-primary-dark);margin:0 0 16px}.survey-scale-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.survey-scale-btn{min-width:62px;height:40px;padding:0 14px;border-radius:8px;border:1.5px solid var(--survey-border);background:#fff;color:var(--lumo-body-text-color);font-size:var(--lumo-font-size-s);font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:7px;user-select:none;-webkit-user-select:none}.survey-scale-btn:before{content:"";display:inline-block;width:13px;height:13px;border-radius:50%;border:1.5px solid #b0bec5;flex-shrink:0;transition:all .15s ease}.survey-scale-btn:hover{border-color:var(--survey-primary);background:var(--survey-secondary-bg);color:var(--survey-primary-dark)}.survey-scale-btn:hover:before{border-color:var(--survey-primary)}.survey-scale-btn.selected{background:var(--survey-primary);border-color:var(--survey-primary);color:#fff;box-shadow:0 2px 8px #3f7f7a40}.survey-scale-btn.selected:before{background:#fff;border-color:#fff}.survey-nps-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.survey-nps-btn{min-width:44px;height:44px;padding:0 10px;border-radius:10px;border:1px solid var(--survey-border);background:#fff;cursor:pointer;font-size:var(--lumo-font-size-s);font-weight:600;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.survey-nps-btn.detractor{border-color:#ef9a9a}.survey-nps-btn.passive{border-color:#ffe082}.survey-nps-btn.promoter{border-color:#a5d6a7}.survey-nps-btn.selected.detractor{background:#e53935;border-color:#e53935;color:#fff}.survey-nps-btn.selected.passive{background:#f9a825;border-color:#f9a825;color:#fff}.survey-nps-btn.selected.promoter{background:#43a047;border-color:#43a047;color:#fff}.survey-nps-labels{display:flex;justify-content:space-between;margin-top:6px;font-size:var(--lumo-font-size-xs);color:var(--survey-muted)}.survey-therapist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;width:100%;margin-top:16px}.survey-therapist-card{border:1.5px solid var(--survey-border);border-radius:14px;background:#fff;padding:18px 14px 14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;position:relative;-webkit-user-select:none;user-select:none}.survey-therapist-card:hover{border-color:var(--survey-primary);background:var(--survey-secondary-bg)}.survey-therapist-card.selected{border-color:var(--survey-primary);background:var(--survey-secondary-bg);box-shadow:0 0 0 2px var(--survey-primary)}.survey-therapist-card:after{content:"";position:absolute;top:10px;right:10px;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--survey-border);background:#fff;transition:all .15s ease}.survey-therapist-card.selected:after{background:var(--survey-primary);border-color:var(--survey-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px}.survey-therapist-card-name{font-size:var(--lumo-font-size-s);font-weight:700;color:var(--survey-primary-dark);line-height:1.3;margin-top:4px}.survey-therapist-card-specialty{font-size:var(--lumo-font-size-xs);color:var(--survey-muted);line-height:1.3}.survey-submit-footer{text-align:center;padding:28px 32px;border-top:1px solid var(--survey-border);background:#fff}.survey-submit-footer vaadin-button::part(button){background:var(--survey-primary);color:#fff;border:none;padding:14px 36px;border-radius:999px;font-size:var(--lumo-font-size-m);font-weight:600;cursor:pointer}.survey-submit-footer vaadin-button::part(button):hover{background:var(--survey-primary-dark)}.survey-screen-center{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;gap:var(--lumo-space-m);padding:var(--lumo-space-xl);background:linear-gradient(135deg,#eef8f7,#fff)}.survey-screen-icon{font-size:4rem;line-height:1}@media(max-width:600px){.survey-public-page{padding:0}.survey-form-card{border-radius:0;box-shadow:none}.survey-header-card{padding:28px 20px}.survey-form-body{padding:20px 16px}.survey-scale-btn{min-width:52px;height:36px;padding:0 10px;gap:5px;font-size:var(--lumo-font-size-xs)}.survey-nps-btn{min-width:36px;height:36px;padding:0 6px;font-size:var(--lumo-font-size-s)}}vaadin-dialog-overlay.appointment-dialog::part(overlay){border-radius:var(--ts-radius-xl, 24px);box-shadow:var(--ts-shadow-xl, 0 32px 64px rgba(22, 44, 58, .14));overflow:hidden;animation:appt-dialog-in .28s var(--ts-transition-slow, cubic-bezier(.4, 0, .2, 1)) both}@keyframes appt-dialog-in{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.form-layout .form-layout-header{background:var(--ts-gray-0, #FFFFFF);border-bottom:1px solid var(--ts-gray-200, #E1E8EC);padding:var(--ts-space-3, 12px) var(--ts-space-5, 20px);gap:var(--ts-space-2, 8px);align-items:center;min-height:56px}.form-layout .form-layout-header span[theme~=badge]{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--ts-radius-full, 999px);padding:3px var(--ts-space-3, 12px)}.form-layout .form-layout-header span[theme~=badge][theme~=success]{background:var(--ts-success-50, #E8F5E9);color:var(--ts-success-700, #2E7D32);border:1px solid var(--ts-success-500, #4CAF50)}.form-layout .form-layout-header span[theme~=badge][theme~=error]{background:var(--ts-danger-50, #FDECEC);color:var(--ts-danger-700, #B94242);border:1px solid var(--ts-danger-500, #E57373)}.form-layout .form-layout-header span[theme~=badge][theme~=contrast]{background:var(--ts-gray-100, #F1F5F6);color:var(--ts-gray-700, #344054);border:1px solid var(--ts-gray-300, #C8D4DA)}.form-layout .form-layout-header span[theme~=badge][theme~=primary]{background:var(--ts-primary-100, #D9E8E6);color:var(--ts-primary-700, #245856);border:1px solid var(--ts-primary-300, #77B8B3)}.form-layout .form-layout-header span[theme~=badge][theme~=warning]{background:var(--ts-warning-50, #FFF3DB);color:var(--ts-warning-700, #A96600);border:1px solid var(--ts-warning-500, #F5A623)}.form-layout .form-layout-header .appointment-time-range{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;font-weight:600;color:var(--ts-gray-600, #475467);letter-spacing:-.01em}.form-layout vaadin-grid::part(header-cell){background:var(--ts-gray-50, #F7F9FB);border-bottom:2px solid var(--ts-primary-200, #B0CFC9);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-500, #667085)}.form-layout vaadin-grid::part(row):hover{background:var(--ts-primary-50, #EEF5F5);cursor:pointer}.form-layout vaadin-grid::part(selected-row){background:var(--ts-primary-100, #D9E8E6)}.form-layout vaadin-grid::part(cell){font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-800, #1D2939);border-color:var(--ts-gray-200, #E1E8EC)}.form-layout vaadin-tabsheet::part(tabs-container){background:var(--ts-gray-50, #F7F9FB);border-bottom:1px solid var(--ts-gray-200, #E1E8EC)}.form-layout vaadin-tab{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;font-weight:600;color:var(--ts-gray-500, #667085);transition:color var(--ts-transition-fast, .1s ease)}.form-layout vaadin-tab:hover{color:var(--ts-primary-600, #32736F)}.form-layout vaadin-tab[selected]{color:var(--ts-primary-700, #245856);font-weight:700}.form-layout vaadin-form-layout{font-family:var(--ts-font-family, "Inter", sans-serif)}.form-layout vaadin-scroller{background:var(--ts-gray-0, #FFFFFF)}.form-layout footer{background:var(--ts-gray-50, #F7F9FB);border-top:1px solid var(--ts-gray-200, #E1E8EC);padding:var(--ts-space-3, 12px) var(--ts-space-5, 20px)}.form-layout span.therapist-color-tag{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;font-weight:700;border-radius:var(--ts-radius-full, 999px);padding:2px var(--ts-space-3, 12px);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.form-layout vaadin-details::part(summary){font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;font-weight:600;color:var(--ts-primary-700, #245856);border-radius:var(--ts-radius-sm, 10px);transition:background var(--ts-transition-fast, .1s ease);padding:var(--ts-space-2, 8px) var(--ts-space-3, 12px)}.form-layout vaadin-details::part(summary):hover{background:var(--ts-primary-50, #EEF5F5)}.form-layout vaadin-details[opened]::part(summary){background:var(--ts-primary-100, #D9E8E6);color:var(--ts-primary-800, #1A3E3C)}.appt-confirm-grid vaadin-grid::part(header-cell){background:var(--ts-gray-50, #F7F9FB);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-500, #667085);border-bottom:2px solid var(--ts-primary-200, #B0CFC9)}.appt-confirm-grid vaadin-grid::part(row):hover{background:var(--ts-primary-50, #EEF5F5)}span[theme~=badge][theme~=success]:not([theme~=primary]){background:var(--ts-success-50, #E8F5E9)!important;color:var(--ts-success-700, #2E7D32)!important}span[theme~=badge][theme~=error][theme~=primary]{background:var(--ts-danger-50, #FDECEC)!important;color:var(--ts-danger-700, #B94242)!important}span[theme~=badge][theme~=error]:not([theme~=primary]){background:var(--ts-warning-50, #FFF3DB)!important;color:var(--ts-warning-700, #A96600)!important}span[theme~=badge][theme~=contrast]:not([theme~=primary]){background:var(--ts-gray-100, #F1F5F6)!important;color:var(--ts-gray-700, #344054)!important}span[theme~=badge][theme~=contrast][theme~=primary]{background:var(--ts-info-50, #EAF3FF)!important;color:var(--ts-info-700, #2768AE)!important}span[theme~=badge]:not([theme~=success]):not([theme~=error]):not([theme~=contrast]):not([theme~=primary]):not([theme~=warning]){background:var(--ts-gray-100, #F1F5F6)!important;color:var(--ts-gray-600, #475467)!important}span[theme~=badge][theme~=success][theme~=primary]{background:var(--ts-success-50, #E8F5E9)!important;color:var(--ts-success-700, #2E7D32)!important}span[theme~=badge][theme~=primary]:not([theme~=success]):not([theme~=error]):not([theme~=contrast]){background:var(--ts-primary-100, #D9E8E6)!important;color:var(--ts-primary-700, #245856)!important}span[theme~=badge][theme~=warning]{background:var(--ts-warning-50, #FFF3DB)!important;color:var(--ts-warning-700, #A96600)!important}.event-main{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ts-radius-sm, 10px);transition:transform var(--ts-transition-fast, .1s ease);cursor:pointer}.event-main:hover{transform:scale(1.08)}.event-main .event-icon{width:16px;height:16px;flex-shrink:0}.event-main.calendar-confirmed{background:var(--ts-success-50, #E8F5E9);color:var(--ts-success-700, #2E7D32);border:1px solid var(--ts-success-200, #A5D6A7)}.event-main.calendar-pending{background:var(--ts-warning-50, #FFF3DB);color:var(--ts-warning-700, #A96600);border:1px solid var(--ts-warning-200, #FFD987)}.event-main.calendar-finished{background:var(--ts-gray-100, #F1F5F6);color:var(--ts-gray-600, #475467);border:1px solid var(--ts-gray-200, #E1E8EC)}.event-main.calendar-cancelled,.event-main.calendar-cancelled-late{background:var(--ts-danger-50, #FDECEC);color:var(--ts-danger-700, #B94242);border:1px solid var(--ts-danger-200, #FFABAB)}.patient-list-view{background:var(--ts-gray-0, #FFFFFF);border-radius:var(--ts-radius-lg, 20px);box-shadow:var(--ts-shadow-sm, 0 4px 12px rgba(22, 44, 58, .06));overflow:hidden}.card-background-color vaadin-grid::part(header-cell){background:var(--ts-gray-50, #F7F9FB);border-bottom:2px solid var(--ts-primary-200, #B0CFC9);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-500, #667085)}.card-background-color vaadin-grid::part(row):hover{background:var(--ts-primary-50, #EEF5F5);cursor:pointer}.card-background-color vaadin-grid::part(selected-row){background:var(--ts-primary-100, #D9E8E6)}.card-background-color vaadin-grid::part(cell){font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-800, #1D2939);border-color:var(--ts-gray-200, #E1E8EC)}.card-background-color span[theme~=badge]{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;letter-spacing:.04em;border-radius:var(--ts-radius-full, 999px)}.patient-profile-header{background:linear-gradient(135deg,var(--ts-primary-50, #EEF5F5) 0%,var(--ts-gray-0, #FFFFFF) 100%);border-bottom:1px solid var(--ts-gray-200, #E1E8EC);padding:var(--ts-space-5, 20px) var(--ts-space-6, 24px);gap:var(--ts-space-4, 16px);border-radius:var(--ts-radius-xl, 24px) var(--ts-radius-xl, 24px) 0 0}.patient-profile-header vaadin-avatar{width:56px;height:56px;font-size:18px;font-weight:700;border-radius:var(--ts-radius-full, 999px);border:3px solid var(--ts-primary-200, #B0CFC9);flex-shrink:0}.patient-profile-header .patient-name{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:20px;font-weight:800;color:var(--ts-gray-900, #101828);letter-spacing:-.02em;line-height:1.2}.patient-profile-header .patient-meta{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-500, #667085);font-weight:500;line-height:1.4}.patient-balance-positive{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:15px;font-weight:800;color:var(--ts-danger-700, #B94242);letter-spacing:-.02em}.patient-balance-zero{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:15px;font-weight:800;color:var(--ts-success-700, #2E7D32);letter-spacing:-.02em}.patient-balance-credit{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:15px;font-weight:800;color:var(--ts-info-700, #2768AE);letter-spacing:-.02em}.patient-menu-bar vaadin-menu-bar-button{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;font-weight:600;color:var(--ts-gray-600, #475467);border-radius:var(--ts-radius-sm, 10px);transition:color var(--ts-transition-fast, .1s ease),background var(--ts-transition-fast, .1s ease)}.patient-menu-bar vaadin-menu-bar-button:hover{background:var(--ts-primary-50, #EEF5F5);color:var(--ts-primary-700, #245856)}.patient-menu-bar vaadin-menu-bar-button[highlighted]{background:var(--ts-primary-100, #D9E8E6)!important;color:var(--ts-primary-800, #1A3E3C)!important;font-weight:700}.appointment-dialog vaadin-tabsheet vaadin-tab{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;font-weight:600;color:var(--ts-gray-500, #667085);transition:color var(--ts-transition-fast, .1s ease);padding:var(--ts-space-2, 8px) var(--ts-space-3, 12px)}.appointment-dialog vaadin-tabsheet vaadin-tab:hover{color:var(--ts-primary-600, #32736F)}.appointment-dialog vaadin-tabsheet vaadin-tab[selected]{color:var(--ts-primary-700, #245856);font-weight:700;border-bottom:3px solid var(--ts-primary-400, #4F8F8B)}.appointment-dialog vaadin-tabsheet::part(tabs-container){background:var(--ts-gray-50, #F7F9FB);border-bottom:1px solid var(--ts-gray-200, #E1E8EC)}.appointment-dialog vaadin-grid::part(header-cell){background:var(--ts-gray-50, #F7F9FB);border-bottom:2px solid var(--ts-primary-200, #B0CFC9);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-500, #667085)}.appointment-dialog vaadin-grid::part(row):hover{background:var(--ts-primary-50, #EEF5F5);cursor:pointer}.appointment-dialog vaadin-grid::part(selected-row){background:var(--ts-primary-100, #D9E8E6)}.appointment-dialog vaadin-grid::part(cell){font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-800, #1D2939);border-color:var(--ts-gray-200, #E1E8EC)}.appointment-dialog vaadin-grid::part(odd-row-cell){background:var(--ts-gray-50, #F7F9FB)}.appointment-dialog vaadin-form-layout{font-family:var(--ts-font-family, "Inter", sans-serif)}.appointment-dialog vaadin-text-field:focus-within,.appointment-dialog vaadin-combo-box:focus-within,.appointment-dialog vaadin-date-picker:focus-within,.appointment-dialog vaadin-text-area:focus-within,.appointment-dialog vaadin-multi-select-combo-box:focus-within,.appointment-dialog vaadin-email-field:focus-within{--vaadin-input-field-border-color: var(--ts-primary-400, #4F8F8B)}.patient-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ts-space-4, 16px);padding:var(--ts-space-4, 16px) 0}@media(max-width:800px){.patient-kpi-row{grid-template-columns:1fr}}.patient-timeline{padding:var(--ts-space-4, 16px) 0}.patient-timeline-month{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ts-gray-400, #98A2B3);padding:var(--ts-space-4, 16px) 0 var(--ts-space-2, 8px);display:flex;align-items:center;gap:var(--ts-space-3, 12px)}.patient-timeline-month:after{content:"";flex:1;height:1px;background:var(--ts-gray-200, #E1E8EC)}.patient-timeline-item{display:flex;align-items:flex-start;gap:var(--ts-space-3, 12px);padding:var(--ts-space-2, 8px) 0;font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-700, #344054);border-left:2px solid var(--ts-gray-200, #E1E8EC);padding-left:var(--ts-space-4, 16px);margin-left:var(--ts-space-3, 12px);position:relative}.patient-timeline-item:before{content:"";position:absolute;left:-5px;top:10px;width:8px;height:8px;border-radius:50%;background:var(--ts-primary-300, #77B8B3);border:2px solid var(--ts-gray-0, #FFFFFF);box-shadow:0 0 0 2px var(--ts-primary-200, #B0CFC9)}.patient-timeline-item-date{font-size:11px;color:var(--ts-gray-400, #98A2B3);font-weight:600;min-width:50px;flex-shrink:0}.patient-timeline-item-icon{flex-shrink:0;width:20px;text-align:center}.patient-notes-area{background:var(--ts-warning-50, #FFF3DB);border:1px solid var(--ts-warning-500, #F5A623);border-radius:var(--ts-radius-md, 14px);padding:var(--ts-space-4, 16px);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-warning-700, #A96600);font-style:italic}vaadin-avatar-group{--vaadin-avatar-size: 28px;font-size:11px;font-weight:700}.patient-status-active{background:var(--ts-success-50, #E8F5E9);color:var(--ts-success-700, #2E7D32);border:1px solid var(--ts-success-500, #4CAF50);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--ts-radius-full, 999px);padding:2px var(--ts-space-3, 12px)}.patient-status-inactive{background:var(--ts-gray-100, #F1F5F6);color:var(--ts-gray-600, #475467);border:1px solid var(--ts-gray-300, #C8D4DA);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--ts-radius-full, 999px);padding:2px var(--ts-space-3, 12px)}.patient-status-waiting{background:var(--ts-warning-50, #FFF3DB);color:var(--ts-warning-700, #A96600);border:1px solid var(--ts-warning-500, #F5A623);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--ts-radius-full, 999px);padding:2px var(--ts-space-3, 12px)}.patient-status-discharged{background:var(--ts-info-50, #EAF3FF);color:var(--ts-info-700, #2768AE);border:1px solid var(--ts-info-500, #4C8EDA);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--ts-radius-full, 999px);padding:2px var(--ts-space-3, 12px)}.form-layout .lumo-box-shadow-xs.lumo-border-radius-l,.form-layout-stretch{box-shadow:var(--ts-shadow-sm, 0 4px 12px rgba(22, 44, 58, .06));border-radius:var(--ts-radius-lg, 20px);background:var(--ts-gray-0, #FFFFFF);overflow:hidden}.form-layout .flex-wrap-layout.lumo-background-contrast-5{background:var(--ts-gray-50, #F7F9FB)!important;border-radius:var(--ts-radius-md, 14px)}.form-layout .lumo-background-contrast-10{background:var(--ts-gray-100, #F1F5F6)!important;border-top:1px solid var(--ts-gray-200, #E1E8EC)}.form-layout vaadin-grid::part(odd-row-cell){background:var(--ts-gray-50, #F7F9FB)}.therapist-profile-header{background:linear-gradient(135deg,var(--ts-primary-50, #EEF5F5) 0%,var(--ts-gray-0, #FFFFFF) 100%);border-bottom:1px solid var(--ts-gray-200, #E1E8EC);padding:var(--ts-space-5, 20px) var(--ts-space-6, 24px);gap:var(--ts-space-4, 16px);border-radius:var(--ts-radius-xl, 24px) var(--ts-radius-xl, 24px) 0 0}.therapist-profile-header vaadin-avatar{width:56px;height:56px;font-size:18px;font-weight:700;border-radius:var(--ts-radius-full, 999px);border:3px solid var(--ts-primary-200, #B0CFC9);flex-shrink:0}.therapist-profile-header .therapist-name{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:20px;font-weight:800;color:var(--ts-gray-900, #101828);letter-spacing:-.02em;line-height:1.2}.therapist-profile-header .therapist-meta{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-500, #667085);font-weight:500;line-height:1.4}.therapist-stats-bar{display:flex;align-items:center;gap:var(--ts-space-5, 20px);padding:var(--ts-space-3, 12px) var(--ts-space-6, 24px);background:var(--ts-gray-50, #F7F9FB);border-bottom:1px solid var(--ts-gray-200, #E1E8EC);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-600, #475467)}.therapist-stats-bar .stat-value{font-size:18px;font-weight:800;color:var(--ts-primary-700, #245856);letter-spacing:-.03em;line-height:1}.therapist-stats-bar .stat-label{font-size:11px;color:var(--ts-gray-400, #98A2B3);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.therapist-stats-bar .stat-divider{width:1px;height:28px;background:var(--ts-gray-200, #E1E8EC)}.therapist-status-active{background:var(--ts-success-50, #E8F5E9);color:var(--ts-success-700, #2E7D32);border:1px solid var(--ts-success-500, #4CAF50);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--ts-radius-full, 999px);padding:2px var(--ts-space-3, 12px)}.therapist-status-inactive{background:var(--ts-gray-100, #F1F5F6);color:var(--ts-gray-600, #475467);border:1px solid var(--ts-gray-300, #C8D4DA);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--ts-radius-full, 999px);padding:2px var(--ts-space-3, 12px)}.calendar-room-view{background:var(--ts-gray-0, #FFFFFF)}.calendar-room-view vaadin-grid{box-shadow:var(--ts-shadow-sm, 0 4px 12px rgba(22, 44, 58, .06));border-radius:var(--ts-radius-md, 14px);overflow:hidden}.calendar-room-view vaadin-grid::part(header-cell){background:var(--ts-gray-50, #F7F9FB);border-bottom:2px solid var(--ts-primary-200, #B0CFC9);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-500, #667085)}.calendar-room-view vaadin-grid::part(row):hover{background:var(--ts-primary-50, #EEF5F5)}.calendar-room-view vaadin-grid::part(cell){font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-800, #1D2939);border-color:var(--ts-gray-200, #E1E8EC);padding:var(--ts-space-2, 8px)}.calendar-room-view .cal-time-slot{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;font-weight:600;color:var(--ts-gray-400, #98A2B3);letter-spacing:.02em}.therapist-card{background:var(--ts-gray-0, #FFFFFF);border:1px solid var(--ts-gray-200, #E1E8EC);border-radius:var(--ts-radius-lg, 20px);padding:var(--ts-space-5, 20px);display:flex;flex-direction:column;gap:var(--ts-space-3, 12px);transition:box-shadow var(--ts-transition-base, .2s ease),border-color var(--ts-transition-base, .2s ease);cursor:pointer}.therapist-card:hover{box-shadow:var(--ts-shadow-md, 0 8px 24px rgba(22, 44, 58, .08));border-color:var(--ts-primary-200, #B0CFC9)}.therapist-card vaadin-avatar{width:48px;height:48px;font-weight:700;border-radius:var(--ts-radius-full, 999px);border:2px solid var(--ts-primary-200, #B0CFC9)}.therapist-card .therapist-card-name{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:15px;font-weight:700;color:var(--ts-gray-900, #101828);letter-spacing:-.01em}.therapist-card .therapist-card-specialty{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;color:var(--ts-gray-500, #667085);font-weight:500}.therapist-card .therapist-card-citas{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;font-weight:600;color:var(--ts-primary-700, #245856)}.availability-block-available{background:var(--ts-success-50, #E8F5E9);border-left:3px solid var(--ts-success-500, #4CAF50);border-radius:0 var(--ts-radius-sm, 10px) var(--ts-radius-sm, 10px) 0;padding:var(--ts-space-2, 8px) var(--ts-space-3, 12px);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;font-weight:600;color:var(--ts-success-700, #2E7D32)}.availability-block-unavailable{background:var(--ts-gray-100, #F1F5F6);border-left:3px solid var(--ts-gray-300, #C8D4DA);border-radius:0 var(--ts-radius-sm, 10px) var(--ts-radius-sm, 10px) 0;padding:var(--ts-space-2, 8px) var(--ts-space-3, 12px);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;font-weight:600;color:var(--ts-gray-600, #475467)}.availability-block-virtual{background:var(--ts-info-50, #EAF3FF);border-left:3px solid var(--ts-info-500, #4C8EDA);border-radius:0 var(--ts-radius-sm, 10px) var(--ts-radius-sm, 10px) 0;padding:var(--ts-space-2, 8px) var(--ts-space-3, 12px);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;font-weight:600;color:var(--ts-info-700, #2768AE)}.availability-block-exception{background:var(--ts-warning-50, #FFF3DB);border-left:3px solid var(--ts-warning-500, #F5A623);border-radius:0 var(--ts-radius-sm, 10px) var(--ts-radius-sm, 10px) 0;padding:var(--ts-space-2, 8px) var(--ts-space-3, 12px);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;font-weight:600;color:var(--ts-warning-700, #A96600)}.availability-block-vacation{background:var(--ts-danger-50, #FDECEC);border-left:3px solid var(--ts-danger-500, #E57373);border-radius:0 var(--ts-radius-sm, 10px) var(--ts-radius-sm, 10px) 0;padding:var(--ts-space-2, 8px) var(--ts-space-3, 12px);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;font-weight:600;color:var(--ts-danger-700, #B94242)}.availability-day-header{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ts-gray-500, #667085);padding:var(--ts-space-3, 12px) 0 var(--ts-space-2, 8px);border-bottom:1px solid var(--ts-gray-200, #E1E8EC);margin-bottom:var(--ts-space-2, 8px)}.availability-exceptions-panel{background:var(--ts-warning-50, #FFF3DB);border:1px solid var(--ts-warning-200, #FFD987);border-radius:var(--ts-radius-md, 14px);padding:var(--ts-space-3, 12px) var(--ts-space-4, 16px)}.availability-exceptions-panel .exception-item{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-warning-700, #A96600);padding:var(--ts-space-1, 4px) 0}.therapist-metrics-header{background:var(--ts-gray-50, #F7F9FB);border-bottom:1px solid var(--ts-gray-200, #E1E8EC);padding:var(--ts-space-4, 16px) var(--ts-space-5, 20px);display:flex;align-items:center;gap:var(--ts-space-3, 12px);font-family:var(--ts-font-family, "Inter", sans-serif)}.therapist-satisfaction-score{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:36px;font-weight:800;color:var(--ts-primary-700, #245856);letter-spacing:-.04em;line-height:1}.therapist-satisfaction-label{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;color:var(--ts-gray-500, #667085);font-weight:500}.therapist-eval-row{display:flex;align-items:center;gap:var(--ts-space-4, 16px);padding:var(--ts-space-3, 12px) 0;border-bottom:1px solid var(--ts-gray-100, #F1F5F6);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-700, #344054)}.therapist-eval-score{font-size:15px;font-weight:800;color:var(--ts-primary-700, #245856);letter-spacing:-.02em;min-width:40px;text-align:right}.therapist-eval-section{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-400, #98A2B3)}.calendar-room-view h3{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:16px;font-weight:700;color:var(--ts-gray-900, #101828);letter-spacing:-.02em;margin:0}.cal-slot-free{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;color:var(--ts-gray-300, #C8D4DA);font-style:italic;text-align:center;padding:var(--ts-space-2, 8px);border:1px dashed var(--ts-gray-200, #E1E8EC);border-radius:var(--ts-radius-sm, 10px);background:var(--ts-gray-50, #F7F9FB)}.cal-slot-blocked{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;color:var(--ts-gray-500, #667085);background:repeating-linear-gradient(-45deg,var(--ts-gray-50, #F7F9FB),var(--ts-gray-50, #F7F9FB) 4px,var(--ts-gray-100, #F1F5F6) 4px,var(--ts-gray-100, #F1F5F6) 8px);border-radius:var(--ts-radius-sm, 10px);padding:var(--ts-space-2, 8px) var(--ts-space-3, 12px);font-weight:500}.form-layout .lumo-border.lumo-border-color-contrast-10.lumo-border-radius-m,.form-layout vaadin-grid.lumo-border{border:1px solid var(--ts-gray-200, #E1E8EC)!important;border-radius:var(--ts-radius-md, 14px)!important;overflow:hidden}.form-layout .lumo-border-top.lumo-border-color-contrast-10,.form-layout vaadin-grid.lumo-border-top{border-top:2px solid var(--ts-gray-200, #E1E8EC)!important}.form-layout .amount-section-highlight,.form-layout .remove-margin-left-amount-layout{background:linear-gradient(90deg,var(--ts-primary-50, #EEF5F5) 0%,transparent 100%);border-left:4px solid var(--ts-primary-400, #4F8F8B);border-radius:0 var(--ts-radius-md, 14px) var(--ts-radius-md, 14px) 0;padding:var(--ts-space-3, 12px) var(--ts-space-4, 16px)}.form-layout .invoice-total-label{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;font-weight:600;color:var(--ts-gray-600, #475467)}.form-layout .invoice-total-value{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:22px;font-weight:800;color:var(--ts-gray-900, #101828);letter-spacing:-.03em}.form-layout .invoice-balance-pending{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:16px;font-weight:800;color:var(--ts-danger-700, #B94242);letter-spacing:-.02em}.form-layout .lumo-background-contrast-5{background:var(--ts-gray-50, #F7F9FB)!important;border:1px solid var(--ts-gray-200, #E1E8EC)!important;border-radius:var(--ts-radius-md, 14px)!important}.form-view vaadin-grid::part(header-cell){background:var(--ts-gray-50, #F7F9FB);border-bottom:2px solid var(--ts-primary-200, #B0CFC9);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-500, #667085)}.form-view vaadin-grid::part(row):hover{background:var(--ts-primary-50, #EEF5F5);cursor:pointer}.form-view vaadin-grid::part(selected-row){background:var(--ts-primary-100, #D9E8E6)}.form-view vaadin-grid::part(cell){font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-800, #1D2939);border-color:var(--ts-gray-200, #E1E8EC)}.form-view vaadin-grid::part(odd-row-cell){background:var(--ts-gray-50, #F7F9FB)}.form-view{font-family:var(--ts-font-family, "Inter", sans-serif)}.form-view vaadin-grid.lumo-border-top{border-top:2px solid var(--ts-gray-200, #E1E8EC)}.invoice-status-open,span.invoice-status-open{background:var(--ts-success-50, #E8F5E9);color:var(--ts-success-700, #2E7D32);border:1px solid var(--ts-success-300, #81C784);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--ts-radius-full, 999px);padding:2px var(--ts-space-3, 12px)}.invoice-status-partial,span.invoice-status-partial{background:var(--ts-warning-50, #FFF3DB);color:var(--ts-warning-700, #A96600);border:1px solid var(--ts-warning-300, #FFCD58);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--ts-radius-full, 999px);padding:2px var(--ts-space-3, 12px)}.invoice-status-paid,span.invoice-status-paid{background:var(--ts-gray-100, #F1F5F6);color:var(--ts-gray-600, #475467);border:1px solid var(--ts-gray-300, #C8D4DA);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--ts-radius-full, 999px);padding:2px var(--ts-space-3, 12px)}.invoice-status-overdue,span.invoice-status-overdue{background:var(--ts-danger-50, #FDECEC);color:var(--ts-danger-700, #B94242);border:1px solid var(--ts-danger-400, #EF9A9A);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--ts-radius-full, 999px);padding:2px var(--ts-space-3, 12px)}.invoice-status-cancelled,span.invoice-status-cancelled{background:var(--ts-danger-50, #FDECEC);color:var(--ts-danger-500, #E57373);border:1px solid var(--ts-danger-200, #FFABAB);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--ts-radius-full, 999px);padding:2px var(--ts-space-3, 12px)}.patient-balance-amber{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:15px;font-weight:800;color:var(--ts-warning-700, #A96600);letter-spacing:-.02em}.quick-payment-dialog{font-family:var(--ts-font-family, "Inter", sans-serif)}.quick-payment-invoice-summary{background:var(--ts-gray-50, #F7F9FB);border:1px solid var(--ts-gray-200, #E1E8EC);border-radius:var(--ts-radius-md, 14px);padding:var(--ts-space-4, 16px);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-700, #344054)}.quick-payment-invoice-summary .summary-pending{font-size:15px;font-weight:800;color:var(--ts-danger-700, #B94242);letter-spacing:-.02em}.quick-payment-invoice-summary .summary-paid{font-size:13px;font-weight:600;color:var(--ts-success-700, #2E7D32)}.quick-payment-credit-btn{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;font-weight:600;color:var(--ts-primary-700, #245856);text-decoration:underline;cursor:pointer;background:none;border:none;padding:0}.quick-payment-credit-btn:hover{color:var(--ts-primary-500, #4AAEAB)}.billing-kpi-bar{display:flex;gap:var(--ts-space-4, 16px);padding:var(--ts-space-3, 12px) 0;flex-wrap:wrap}.billing-kpi-card{background:var(--ts-gray-0, #FFFFFF);border:1px solid var(--ts-gray-200, #E1E8EC);border-radius:var(--ts-radius-md, 14px);padding:var(--ts-space-4, 16px) var(--ts-space-5, 20px);flex:1;min-width:160px;transition:box-shadow var(--ts-transition-base, .2s ease)}.billing-kpi-card:hover{box-shadow:var(--ts-shadow-sm, 0 4px 12px rgba(22, 44, 58, .06))}.billing-kpi-card .kpi-amount{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:22px;font-weight:800;color:var(--ts-gray-900, #101828);letter-spacing:-.03em;line-height:1.1}.billing-kpi-card .kpi-amount.kpi-overdue{color:var(--ts-danger-700, #B94242)}.billing-kpi-card .kpi-amount.kpi-collected{color:var(--ts-success-700, #2E7D32)}.billing-kpi-card .kpi-label{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-400, #98A2B3);margin-top:var(--ts-space-1, 4px)}.billing-kpi-card .kpi-sublabel{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;font-weight:500;color:var(--ts-gray-500, #667085)}.payments-summary-bar{background:var(--ts-primary-50, #EEF5F5);border:1px solid var(--ts-primary-200, #B0CFC9);border-radius:var(--ts-radius-md, 14px);padding:var(--ts-space-3, 12px) var(--ts-space-5, 20px);display:flex;align-items:center;gap:var(--ts-space-5, 20px);flex-wrap:wrap;font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-primary-800, #1A3E3C)}.payments-summary-bar .summary-total{font-size:18px;font-weight:800;color:var(--ts-primary-700, #245856);letter-spacing:-.02em}.payments-summary-bar .summary-divider{width:1px;height:20px;background:var(--ts-primary-200, #B0CFC9)}.payment-method-chip{display:inline-flex;align-items:center;gap:var(--ts-space-1, 4px);background:var(--ts-gray-0, #FFFFFF);border:1px solid var(--ts-gray-200, #E1E8EC);border-radius:var(--ts-radius-full, 999px);padding:3px var(--ts-space-3, 12px);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:600;color:var(--ts-gray-600, #475467)}.payment-account-balance{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:15px;font-weight:800;color:var(--ts-info-700, #2768AE);letter-spacing:-.02em}.payment-account-zero{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;font-weight:500;color:var(--ts-gray-400, #98A2B3);font-style:italic}.payment-account-header{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ts-gray-500, #667085);padding:var(--ts-space-3, 12px) 0 var(--ts-space-2, 8px);border-bottom:1px solid var(--ts-gray-200, #E1E8EC)}.conciliation-period-header{background:var(--ts-gray-50, #F7F9FB);border-bottom:1px solid var(--ts-gray-200, #E1E8EC);padding:var(--ts-space-4, 16px) var(--ts-space-5, 20px);display:flex;align-items:center;justify-content:space-between;font-family:var(--ts-font-family, "Inter", sans-serif)}.conciliation-period-title{font-size:17px;font-weight:800;color:var(--ts-gray-900, #101828);letter-spacing:-.02em}.conciliation-alert{background:var(--ts-warning-50, #FFF3DB);border-left:4px solid var(--ts-warning-500, #F5A623);border-radius:0 var(--ts-radius-sm, 10px) var(--ts-radius-sm, 10px) 0;padding:var(--ts-space-3, 12px) var(--ts-space-4, 16px);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-warning-700, #A96600);font-weight:500;margin-bottom:var(--ts-space-2, 8px)}.conciliation-alert.alert-info{background:var(--ts-info-50, #EAF3FF);border-left-color:var(--ts-info-500, #4C8EDA);color:var(--ts-info-700, #2768AE)}.conciliation-table vaadin-grid::part(header-cell){background:var(--ts-gray-50, #F7F9FB);border-bottom:2px solid var(--ts-primary-200, #B0CFC9);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-500, #667085)}.conciliation-table vaadin-grid::part(row):hover{background:var(--ts-primary-50, #EEF5F5)}.conciliation-table vaadin-grid::part(cell){font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-800, #1D2939);border-color:var(--ts-gray-200, #E1E8EC)}.conciliation-pending-cell{color:var(--ts-danger-700, #B94242);font-weight:700}.patient-balance-panel{background:var(--ts-gray-50, #F7F9FB);border:1px solid var(--ts-gray-200, #E1E8EC);border-radius:var(--ts-radius-md, 14px);padding:var(--ts-space-4, 16px);font-family:var(--ts-font-family, "Inter", sans-serif)}.patient-balance-panel.balance-ok{border-color:var(--ts-success-200, #A5D6A7);background:var(--ts-success-50, #E8F5E9)}.patient-balance-panel.balance-credit{border-color:var(--ts-info-200, #90CAF9);background:var(--ts-info-50, #EAF3FF)}.patient-balance-panel.balance-amber{border-color:var(--ts-warning-300, #FFCD58);background:var(--ts-warning-50, #FFF3DB)}.patient-balance-panel.balance-danger{border-color:var(--ts-danger-200, #FFABAB);background:var(--ts-danger-50, #FDECEC)}.patient-balance-panel .open-invoice-row{display:flex;align-items:center;justify-content:space-between;padding:var(--ts-space-2, 8px) 0;border-bottom:1px solid var(--ts-gray-100, #F1F5F6);font-size:13px;color:var(--ts-gray-700, #344054);gap:var(--ts-space-3, 12px)}.patient-balance-panel .open-invoice-row .invoice-ref{font-weight:700;color:var(--ts-primary-700, #245856)}.patient-balance-panel .open-invoice-row .invoice-pending{font-weight:800;color:var(--ts-danger-700, #B94242)}.lumo-border-top.lumo-border-color-contrast-10{border-top:2px solid var(--ts-gray-200, #E1E8EC)!important}.lumo-max-width-screen-xl vaadin-grid::part(header-cell){background:var(--ts-gray-50, #F7F9FB);border-bottom:2px solid var(--ts-primary-200, #B0CFC9);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-500, #667085)}.lumo-max-width-screen-xl vaadin-grid::part(row):hover{background:var(--ts-primary-50, #EEF5F5);cursor:pointer}.lumo-max-width-screen-xl vaadin-grid::part(selected-row){background:var(--ts-primary-100, #D9E8E6)}.lumo-max-width-screen-xl vaadin-grid::part(cell){font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-800, #1D2939);border-color:var(--ts-gray-200, #E1E8EC)}.lumo-max-width-screen-xl vaadin-grid::part(odd-row-cell){background:var(--ts-gray-50, #F7F9FB)}.lumo-border-radius-l.lumo-padding-l{border-radius:var(--ts-radius-lg, 20px)!important;padding:var(--ts-space-5, 20px)!important;background:var(--ts-gray-0, #FFFFFF)}.lumo-box-shadow-xs.lumo-border-radius-l{box-shadow:var(--ts-shadow-sm, 0 4px 12px rgba(22, 44, 58, .06))!important;border-radius:var(--ts-radius-lg, 20px)!important;background:var(--ts-gray-0, #FFFFFF);overflow:hidden}.lumo-background-contrast-10{background:var(--ts-gray-100, #F1F5F6)!important;border-top:1px solid var(--ts-gray-200, #E1E8EC)}.conciliation-status-draft{background:var(--ts-warning-50, #FFF3DB);color:var(--ts-warning-700, #A96600);border:1px solid var(--ts-warning-300, #FFCD58);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--ts-radius-full, 999px);padding:2px var(--ts-space-3, 12px)}.conciliation-status-confirmed{background:var(--ts-success-50, #E8F5E9);color:var(--ts-success-700, #2E7D32);border:1px solid var(--ts-success-300, #81C784);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--ts-radius-full, 999px);padding:2px var(--ts-space-3, 12px)}.conciliation-form-grid vaadin-grid::part(header-cell){background:var(--ts-gray-50, #F7F9FB);border-bottom:2px solid var(--ts-primary-200, #B0CFC9);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-500, #667085)}.conciliation-form-grid vaadin-grid::part(row):hover{background:var(--ts-primary-50, #EEF5F5)}.conciliation-form-grid vaadin-grid::part(cell){font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-800, #1D2939);border-color:var(--ts-gray-200, #E1E8EC)}.conciliation-line-included{font-weight:600;color:var(--ts-gray-900, #101828)}.conciliation-line-excluded{color:var(--ts-gray-400, #98A2B3);text-decoration:line-through}.conciliation-header{background:linear-gradient(135deg,var(--ts-primary-50, #EEF5F5) 0%,var(--ts-gray-0, #FFFFFF) 100%);border-bottom:1px solid var(--ts-gray-200, #E1E8EC);padding:var(--ts-space-4, 16px) var(--ts-space-5, 20px);gap:var(--ts-space-3, 12px);border-radius:var(--ts-radius-lg, 20px) var(--ts-radius-lg, 20px) 0 0}.conciliation-header .conciliation-title{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:16px;font-weight:800;color:var(--ts-gray-900, #101828);letter-spacing:-.02em}.conciliation-header .conciliation-period{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;font-weight:600;color:var(--ts-gray-500, #667085);text-transform:uppercase;letter-spacing:.06em}.conciliation-totals{background:var(--ts-gray-50, #F7F9FB);border-top:1px solid var(--ts-gray-200, #E1E8EC);padding:var(--ts-space-4, 16px) var(--ts-space-5, 20px);display:flex;gap:var(--ts-space-5, 20px);flex-wrap:wrap;font-family:var(--ts-font-family, "Inter", sans-serif)}.conciliation-totals .total-item{display:flex;flex-direction:column;gap:var(--ts-space-1, 4px)}.conciliation-totals .total-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-400, #98A2B3)}.conciliation-totals .total-value{font-size:20px;font-weight:800;color:var(--ts-gray-900, #101828);letter-spacing:-.03em}.conciliation-totals .total-value.total-reconciled{color:var(--ts-success-700, #2E7D32)}.conciliation-totals .total-value.total-pending{color:var(--ts-danger-700, #B94242)}.conciliation-therapist-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;align-items:center;padding:var(--ts-space-3, 12px) var(--ts-space-4, 16px);border-bottom:1px solid var(--ts-gray-100, #F1F5F6);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-700, #344054);transition:background var(--ts-transition-fast, .1s ease)}.conciliation-therapist-row:hover{background:var(--ts-primary-50, #EEF5F5)}.conciliation-therapist-row .therapist-name-cell{font-weight:600;color:var(--ts-gray-900, #101828)}.conciliation-therapist-row .amount-cell{text-align:right;font-feature-settings:"tnum"}.conciliation-therapist-row .pending-cell{text-align:right;font-weight:700;color:var(--ts-danger-700, #B94242);font-feature-settings:"tnum"}.conciliation-alert-orphan{background:var(--ts-danger-50, #FDECEC);border-left:4px solid var(--ts-danger-500, #E57373);border-radius:0 var(--ts-radius-sm, 10px) var(--ts-radius-sm, 10px) 0;padding:var(--ts-space-2, 8px) var(--ts-space-4, 16px);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-danger-700, #B94242);font-weight:500;margin-bottom:var(--ts-space-2, 8px)}.lumo-max-width-screen-xl vaadin-button{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;font-weight:600;border-radius:var(--ts-radius-sm, 10px)}.lumo-max-width-screen-xl vaadin-text-field,.lumo-max-width-screen-xl vaadin-combo-box,.lumo-max-width-screen-xl vaadin-date-picker{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px}.lumo-max-width-screen-xl vaadin-text-field:focus-within,.lumo-max-width-screen-xl vaadin-combo-box:focus-within,.lumo-max-width-screen-xl vaadin-date-picker:focus-within{--vaadin-input-field-border-color: var(--ts-primary-400, #4F8F8B)}.conciliation-balance-cell{font-family:var(--ts-font-family, "Inter", sans-serif);font-weight:700;font-feature-settings:"tnum";text-align:right}.conciliation-balance-cell.balance-pending{color:var(--ts-danger-700, #B94242)}.conciliation-balance-cell.balance-ok{color:var(--ts-success-700, #2E7D32)}.conciliation-balance-cell.balance-zero{color:var(--ts-gray-400, #98A2B3)}.dashboard-view-root>header,.vaadin-vertical-layout>header{background:var(--ts-gray-0, #FFFFFF);border-bottom:1px solid var(--ts-gray-200, #E1E8EC)!important;padding:var(--ts-space-3, 12px) var(--ts-space-5, 20px)!important}.dashboard-view-root>header vaadin-button,.vaadin-vertical-layout>header vaadin-button{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;font-weight:600;border-radius:var(--ts-radius-sm, 10px)}.lumo-border-radius-m.lumo-box-shadow-s{border-radius:var(--ts-radius-md, 14px)!important;box-shadow:var(--ts-shadow-sm, 0 4px 12px rgba(22, 44, 58, .06))!important;background:var(--ts-gray-0, #FFFFFF);border:1px solid var(--ts-gray-200, #E1E8EC);transition:box-shadow var(--ts-transition-base, .2s ease)}.lumo-border-radius-m.lumo-box-shadow-s:hover{box-shadow:var(--ts-shadow-md, 0 8px 24px rgba(22, 44, 58, .08))!important}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--ts-space-4, 16px);padding:var(--ts-space-4, 16px) 0}.dashboard-kpi-card{background:var(--ts-gray-0, #FFFFFF);border:1px solid var(--ts-gray-200, #E1E8EC);border-radius:var(--ts-radius-md, 14px);padding:var(--ts-space-4, 16px) var(--ts-space-5, 20px);display:flex;flex-direction:column;gap:var(--ts-space-2, 8px);transition:box-shadow var(--ts-transition-base, .2s ease),border-color var(--ts-transition-base, .2s ease)}.dashboard-kpi-card:hover{box-shadow:var(--ts-shadow-sm, 0 4px 12px rgba(22, 44, 58, .06));border-color:var(--ts-primary-200, #B0CFC9)}.dashboard-kpi-card .kpi-value{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:28px;font-weight:800;color:var(--ts-gray-900, #101828);letter-spacing:-.04em;line-height:1}.dashboard-kpi-card .kpi-value.kpi-primary{color:var(--ts-primary-700, #245856)}.dashboard-kpi-card .kpi-value.kpi-success{color:var(--ts-success-700, #2E7D32)}.dashboard-kpi-card .kpi-value.kpi-warning{color:var(--ts-warning-700, #A96600)}.dashboard-kpi-card .kpi-value.kpi-danger{color:var(--ts-danger-700, #B94242)}.dashboard-kpi-card .kpi-title{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-400, #98A2B3)}.dashboard-kpi-card .kpi-delta{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:2px}.dashboard-kpi-card .kpi-delta.delta-up{color:var(--ts-success-700, #2E7D32)}.dashboard-kpi-card .kpi-delta.delta-down{color:var(--ts-danger-700, #B94242)}.dashboard-actions-section{background:var(--ts-gray-0, #FFFFFF);border:1px solid var(--ts-gray-200, #E1E8EC);border-radius:var(--ts-radius-md, 14px);overflow:hidden}.dashboard-actions-header{background:var(--ts-gray-50, #F7F9FB);border-bottom:1px solid var(--ts-gray-200, #E1E8EC);padding:var(--ts-space-3, 12px) var(--ts-space-4, 16px);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ts-gray-500, #667085)}.dashboard-action-item{display:flex;align-items:flex-start;gap:var(--ts-space-3, 12px);padding:var(--ts-space-3, 12px) var(--ts-space-4, 16px);border-bottom:1px solid var(--ts-gray-100, #F1F5F6);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-700, #344054);transition:background var(--ts-transition-fast, .1s ease)}.dashboard-action-item:last-child{border-bottom:none}.dashboard-action-item:hover{background:var(--ts-primary-50, #EEF5F5)}.dashboard-action-item .action-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}.dashboard-action-item .action-indicator.urgent{background:var(--ts-danger-500, #E57373);box-shadow:0 0 0 3px var(--ts-danger-100, #FFE5E5)}.dashboard-action-item .action-indicator.warning{background:var(--ts-warning-500, #F5A623);box-shadow:0 0 0 3px var(--ts-warning-100, #FFF0C2)}.dashboard-action-item .action-indicator.info{background:var(--ts-info-500, #4C8EDA);box-shadow:0 0 0 3px var(--ts-info-100, #D6E8FF)}.dashboard-arrivals-section{background:var(--ts-gray-0, #FFFFFF);border:1px solid var(--ts-gray-200, #E1E8EC);border-radius:var(--ts-radius-md, 14px);overflow:hidden}.dashboard-arrival-item{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:var(--ts-space-3, 12px);padding:var(--ts-space-3, 12px) var(--ts-space-4, 16px);border-bottom:1px solid var(--ts-gray-100, #F1F5F6);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-700, #344054);transition:background var(--ts-transition-fast, .1s ease)}.dashboard-arrival-item:last-child{border-bottom:none}.dashboard-arrival-item:hover{background:var(--ts-primary-50, #EEF5F5)}.dashboard-arrival-item .arrival-time{font-size:13px;font-weight:800;color:var(--ts-primary-700, #245856);letter-spacing:-.01em;font-feature-settings:"tnum"}.dashboard-arrival-item .arrival-patient{font-weight:600;color:var(--ts-gray-900, #101828)}.dashboard-arrival-item .arrival-meta{font-size:12px;color:var(--ts-gray-500, #667085);font-weight:400}.dashboard-ranking-item{display:grid;grid-template-columns:28px 1fr auto auto;align-items:center;gap:var(--ts-space-3, 12px);padding:var(--ts-space-3, 12px) var(--ts-space-4, 16px);border-bottom:1px solid var(--ts-gray-100, #F1F5F6);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-700, #344054);transition:background var(--ts-transition-fast, .1s ease)}.dashboard-ranking-item:hover{background:var(--ts-primary-50, #EEF5F5)}.dashboard-ranking-item .rank-number{font-size:11px;font-weight:800;color:var(--ts-gray-400, #98A2B3);text-align:center}.dashboard-ranking-item:first-child .rank-number{color:var(--ts-warning-600, #CC8A00)}.dashboard-ranking-item .rank-therapist{font-weight:600;color:var(--ts-gray-900, #101828)}.dashboard-ranking-item .rank-sessions{font-size:13px;font-weight:700;color:var(--ts-primary-700, #245856);text-align:right;font-feature-settings:"tnum"}.dashboard-ranking-item .rank-satisfaction{font-size:12px;font-weight:600;color:var(--ts-warning-600, #CC8A00);text-align:right}.dashboard-progress-bar-row{display:grid;grid-template-columns:120px 1fr 80px;align-items:center;gap:var(--ts-space-3, 12px);padding:var(--ts-space-2, 8px) 0;font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;color:var(--ts-gray-600, #475467)}.dashboard-progress-bar-track{height:8px;background:var(--ts-gray-100, #F1F5F6);border-radius:var(--ts-radius-full, 999px);overflow:hidden}.dashboard-progress-bar-fill{height:100%;border-radius:var(--ts-radius-full, 999px);background:linear-gradient(90deg,var(--ts-primary-400, #4F8F8B),var(--ts-primary-600, #32736F));transition:width var(--ts-transition-base, .2s ease)}.dashboard-progress-bar-fill.fill-warning{background:linear-gradient(90deg,var(--ts-warning-400, #FFC03D),var(--ts-warning-600, #CC8A00))}.dashboard-progress-bar-fill.fill-danger{background:linear-gradient(90deg,var(--ts-danger-400, #EF9A9A),var(--ts-danger-600, #CF4A4A))}.dashboard-progress-bar-fill.fill-info{background:linear-gradient(90deg,var(--ts-info-400, #79B8EF),var(--ts-info-600, #2D6DB3))}.dashboard-progress-bar-pct{font-weight:700;color:var(--ts-gray-700, #344054);text-align:right;font-feature-settings:"tnum"}.dashboard-period-alert{display:flex;align-items:flex-start;gap:var(--ts-space-2, 8px);padding:var(--ts-space-2, 8px) var(--ts-space-3, 12px);border-radius:var(--ts-radius-sm, 10px);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;font-weight:500;margin-bottom:var(--ts-space-1, 4px)}.dashboard-period-alert.alert-red{background:var(--ts-danger-50, #FDECEC);color:var(--ts-danger-700, #B94242);border-left:3px solid var(--ts-danger-400, #EF9A9A)}.dashboard-period-alert.alert-amber{background:var(--ts-warning-50, #FFF3DB);color:var(--ts-warning-700, #A96600);border-left:3px solid var(--ts-warning-400, #FFC03D)}.dashboard-period-alert.alert-green{background:var(--ts-success-50, #E8F5E9);color:var(--ts-success-700, #2E7D32);border-left:3px solid var(--ts-success-400, #66BB6A)}.lumo-width-full.lumo-text-alignment-center.lumo-font-size-l{font-family:var(--ts-font-family, "Inter", sans-serif)!important;font-size:24px!important;font-weight:800!important;color:var(--ts-primary-700, #245856)!important;letter-spacing:-.02em}.dashboard-occupancy-table{width:100%;font-family:var(--ts-font-family, "Inter", sans-serif);border-collapse:collapse}.dashboard-occupancy-table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-400, #98A2B3);padding:var(--ts-space-2, 8px) var(--ts-space-3, 12px);text-align:left;border-bottom:2px solid var(--ts-gray-200, #E1E8EC);background:var(--ts-gray-50, #F7F9FB)}.dashboard-occupancy-table td{font-size:13px;color:var(--ts-gray-700, #344054);padding:var(--ts-space-3, 12px);border-bottom:1px solid var(--ts-gray-100, #F1F5F6)}.dashboard-occupancy-table tr:hover td{background:var(--ts-primary-50, #EEF5F5)}.occupancy-pct-high{color:var(--ts-success-700, #2E7D32);font-weight:700}.occupancy-pct-mid{color:var(--ts-primary-700, #245856);font-weight:700}.occupancy-pct-low{color:var(--ts-warning-700, #A96600);font-weight:700}.dashboard-cashflow-panel{background:linear-gradient(135deg,var(--ts-primary-50, #EEF5F5) 0%,var(--ts-gray-0, #FFFFFF) 100%);border:1px solid var(--ts-primary-200, #B0CFC9);border-radius:var(--ts-radius-md, 14px);padding:var(--ts-space-4, 16px) var(--ts-space-5, 20px);display:flex;align-items:center;gap:var(--ts-space-6, 24px);flex-wrap:wrap}.dashboard-cashflow-panel .cf-item{display:flex;flex-direction:column;gap:var(--ts-space-1, 4px)}.dashboard-cashflow-panel .cf-label{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-500, #667085)}.dashboard-cashflow-panel .cf-value{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:24px;font-weight:800;color:var(--ts-success-700, #2E7D32);letter-spacing:-.03em}.dashboard-cashflow-panel .cf-value.cf-pending{color:var(--ts-warning-700, #A96600)}.dashboard-cashflow-panel .cf-divider{width:1px;height:40px;background:var(--ts-primary-200, #B0CFC9)}.dashboard-aging-row{display:flex;align-items:center;gap:var(--ts-space-3, 12px);padding:var(--ts-space-2, 8px) 0;font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-700, #344054)}.dashboard-aging-row .aging-period{min-width:80px;font-weight:600;color:var(--ts-gray-600, #475467)}.dashboard-aging-row .aging-amount{min-width:80px;font-weight:700;font-feature-settings:"tnum";text-align:right}.dashboard-aging-row .aging-amount.aging-risk{color:var(--ts-danger-700, #B94242)}.dashboard-debtor-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:var(--ts-space-3, 12px);padding:var(--ts-space-3, 12px) var(--ts-space-4, 16px);border-bottom:1px solid var(--ts-gray-100, #F1F5F6);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-700, #344054)}.dashboard-debtor-row:hover{background:var(--ts-primary-50, #EEF5F5)}.dashboard-debtor-row .debtor-name{font-weight:600;color:var(--ts-gray-900, #101828)}.dashboard-debtor-row .debtor-amount{font-weight:800;color:var(--ts-danger-700, #B94242);font-feature-settings:"tnum"}.dashboard-debtor-row .debtor-days{font-size:11px;font-weight:600;color:var(--ts-gray-400, #98A2B3)}.dashboard-greeting{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:22px;font-weight:800;color:var(--ts-gray-900, #101828);letter-spacing:-.03em;line-height:1.2}.dashboard-greeting .greeting-date{font-size:13px;font-weight:400;color:var(--ts-gray-500, #667085);letter-spacing:0}.lumo-border-radius-l.lumo-box-shadow-s.lumo-background-base{background:var(--ts-gray-0, #FFFFFF)!important;border:1px solid var(--ts-gray-200, #E1E8EC)}.report-count-badge{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;min-width:20px;text-align:center;border-radius:var(--ts-radius-full, 999px);padding:2px 7px;background:var(--ts-gray-100, #F1F5F6);color:var(--ts-gray-500, #667085)}.lumo-box-shadow-xs.lumo-border-radius-l.lumo-background-base{background:var(--ts-gray-0, #FFFFFF)!important;border:1px solid var(--ts-gray-200, #E1E8EC);transition:box-shadow var(--ts-transition-base, .2s ease),border-color var(--ts-transition-base, .2s ease)}.lumo-box-shadow-xs.lumo-border-radius-l.lumo-background-base:hover{box-shadow:var(--ts-shadow-md, 0 8px 24px rgba(22, 44, 58, .08))!important;border-color:var(--ts-primary-200, #B0CFC9)}.report-icon-box{width:36px;height:36px;flex-shrink:0;background:var(--ts-primary-50, #EEF5F5)!important;border-radius:var(--ts-radius-sm, 10px)!important;color:var(--ts-primary-700, #245856)}.report-icon-box vaadin-icon{color:var(--ts-primary-600, #32736F);width:18px;height:18px}.report-run-btn{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:12px;font-weight:600;flex-shrink:0;border-radius:var(--ts-radius-sm, 10px);color:var(--ts-primary-700, #245856);border:1px solid var(--ts-primary-200, #B0CFC9);transition:background var(--ts-transition-fast, .1s ease),border-color var(--ts-transition-fast, .1s ease)}.report-run-btn:hover{background:var(--ts-primary-50, #EEF5F5)!important;border-color:var(--ts-primary-400, #4F8F8B)}.report-dialog-footer{font-family:var(--ts-font-family, "Inter", sans-serif)}.master-detail-view .full-width{width:100%}.dashboard-chart-container{background:var(--ts-gray-0, #FFFFFF);border:1px solid var(--ts-gray-200, #E1E8EC);border-radius:var(--ts-radius-md, 14px);padding:var(--ts-space-4, 16px);overflow:hidden}.dashboard-chart-title{font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ts-gray-500, #667085);margin-bottom:var(--ts-space-3, 12px)}.lumo-border-radius-m vaadin-grid::part(header-cell),.lumo-box-shadow-s vaadin-grid::part(header-cell){background:var(--ts-gray-50, #F7F9FB);border-bottom:2px solid var(--ts-primary-200, #B0CFC9);font-family:var(--ts-font-family, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-500, #667085)}.lumo-border-radius-m vaadin-grid::part(row):hover,.lumo-box-shadow-s vaadin-grid::part(row):hover{background:var(--ts-primary-50, #EEF5F5);cursor:pointer}.lumo-border-radius-m vaadin-grid::part(cell),.lumo-box-shadow-s vaadin-grid::part(cell){font-family:var(--ts-font-family, "Inter", sans-serif);font-size:13px;color:var(--ts-gray-800, #1D2939);border-color:var(--ts-gray-200, #E1E8EC)}html{--ts-primary-50: #EEF5F5;--ts-primary-100: #D9E8E6;--ts-primary-200: #B0CFC9;--ts-primary-300: #77B8B3;--ts-primary-400: #4F8F8B;--ts-primary-500: #3D7874;--ts-primary-600: #32736F;--ts-primary-700: #245856;--ts-primary-800: #1A3E3C;--ts-primary-900: #112928;--ts-gray-0: #FFFFFF;--ts-gray-50: #F7F9FB;--ts-gray-100: #F1F5F6;--ts-gray-200: #E1E8EC;--ts-gray-300: #C8D4DA;--ts-gray-400: #98A2B3;--ts-gray-500: #667085;--ts-gray-600: #475467;--ts-gray-700: #344054;--ts-gray-800: #1D2939;--ts-gray-900: #101828;--ts-success-50: #E8F5E9;--ts-success-100: #C8E6C9;--ts-success-200: #A5D6A7;--ts-success-300: #81C784;--ts-success-400: #66BB6A;--ts-success-500: #4CAF50;--ts-success-600: #43A047;--ts-success-700: #2E7D32;--ts-warning-50: #FFF3DB;--ts-warning-100: #FFF0C2;--ts-warning-200: #FFD987;--ts-warning-300: #FFCD58;--ts-warning-400: #FFC03D;--ts-warning-500: #F5A623;--ts-warning-600: #CC8A00;--ts-warning-700: #A96600;--ts-danger-50: #FDECEC;--ts-danger-100: #FFE5E5;--ts-danger-200: #FFABAB;--ts-danger-300: #FF8A8A;--ts-danger-400: #EF9A9A;--ts-danger-500: #E57373;--ts-danger-600: #CF4A4A;--ts-danger-700: #B94242;--ts-info-50: #EAF3FF;--ts-info-100: #D6E8FF;--ts-info-200: #90CAF9;--ts-info-300: #64B5F6;--ts-info-400: #79B8EF;--ts-info-500: #4C8EDA;--ts-info-600: #2D6DB3;--ts-info-700: #2768AE;--ts-purple-50: #F3F0FA;--ts-purple-500: #7E57C2;--ts-purple-700: #5E35B1;--ts-appt-confirmed-from: #4CAF50;--ts-appt-confirmed-to: #3C8B40;--ts-appt-pending-from: #F5A623;--ts-appt-pending-to: #CF8414;--ts-appt-cancelled-from: #E57373;--ts-appt-cancelled-to: #BF4D4D;--ts-appt-virtual-from: #4C8EDA;--ts-appt-virtual-to: #2768AE;--ts-appt-completed-from: #78909C;--ts-appt-completed-to: #546E7A;--ts-appt-noshow-from: #FF7043;--ts-appt-noshow-to: #D84315;--ts-radius-sm: 10px;--ts-radius-md: 14px;--ts-radius-lg: 20px;--ts-radius-xl: 24px;--ts-radius-full: 999px;--ts-shadow-sm: 0 4px 12px rgba(22, 44, 58, .06);--ts-shadow-md: 0 8px 24px rgba(22, 44, 58, .08);--ts-shadow-lg: 0 18px 45px rgba(22, 44, 58, .1);--ts-shadow-xl: 0 32px 64px rgba(22, 44, 58, .14);--ts-space-1: 4px;--ts-space-2: 8px;--ts-space-3: 12px;--ts-space-4: 16px;--ts-space-5: 20px;--ts-space-6: 24px;--ts-space-7: 28px;--ts-space-8: 32px;--ts-space-10: 40px;--ts-space-12: 48px;--ts-transition-fast: .1s ease;--ts-transition-base: .2s ease;--ts-transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--ts-transition-bounce: .4s cubic-bezier(.34, 1.56, .64, 1);--ts-font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ts-font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--ts-text-display-size: 30px;--ts-text-display-height: 1.2;--ts-text-display-spacing: -.04em;--ts-text-display-weight: 800;--ts-text-h1-size: 24px;--ts-text-h1-height: 1.3;--ts-text-h1-spacing: -.03em;--ts-text-h1-weight: 700;--ts-text-h2-size: 18px;--ts-text-h2-height: 1.4;--ts-text-h2-spacing: -.02em;--ts-text-h2-weight: 700;--ts-text-h3-size: 15px;--ts-text-h3-height: 1.5;--ts-text-h3-spacing: -.01em;--ts-text-h3-weight: 600;--ts-text-body-lg-size: 15px;--ts-text-body-lg-height: 1.6;--ts-text-body-lg-spacing: 0;--ts-text-body-lg-weight: 400;--ts-text-body-size: 14px;--ts-text-body-height: 1.5;--ts-text-body-spacing: 0;--ts-text-body-weight: 400;--ts-text-body-sm-size: 13px;--ts-text-body-sm-height: 1.5;--ts-text-body-sm-spacing: 0;--ts-text-body-sm-weight: 400;--ts-text-label-size: 12px;--ts-text-label-height: 1.4;--ts-text-label-spacing: .04em;--ts-text-label-weight: 700;--ts-text-caption-size: 11px;--ts-text-caption-height: 1.4;--ts-text-caption-spacing: .02em;--ts-text-caption-weight: 500;--ts-text-mono-size: 13px;--ts-text-mono-height: 1.5;--ts-text-mono-spacing: 0;--ts-text-mono-weight: 400;--ts-shadow-xs: 0 2px 6px rgba(22, 44, 58, .06)}.ts-panel{background:var(--ts-gray-0);border:1px solid var(--ts-gray-200);border-radius:var(--ts-radius-lg);box-shadow:var(--ts-shadow-lg);overflow:hidden}.ts-panel-elevated{box-shadow:var(--ts-shadow-xl)}.ts-panel-soft{background:var(--ts-gray-100);box-shadow:none;border:1px solid var(--ts-gray-200);border-radius:var(--ts-radius-lg);overflow:hidden}.ts-panel-accent{border-left:5px solid var(--ts-primary-400);background:linear-gradient(to right,var(--ts-primary-50),var(--ts-gray-0));border-radius:var(--ts-radius-lg);box-shadow:var(--ts-shadow-sm)}.ts-panel-alert{border-left:5px solid var(--ts-danger-500);background:linear-gradient(to right,var(--ts-danger-50),var(--ts-gray-0));border-radius:var(--ts-radius-lg);box-shadow:var(--ts-shadow-sm)}.ts-panel-warning{border-left:5px solid var(--ts-warning-500);background:linear-gradient(to right,var(--ts-warning-50),var(--ts-gray-0));border-radius:var(--ts-radius-lg);box-shadow:var(--ts-shadow-sm)}.ts-panel-header{padding:var(--ts-space-5) var(--ts-space-5);border-bottom:1px solid var(--ts-gray-200);display:flex;align-items:center;justify-content:space-between;gap:var(--ts-space-3)}.ts-panel-content{padding:var(--ts-space-5)}.ts-panel-footer{padding:var(--ts-space-4) var(--ts-space-5);border-top:1px solid var(--ts-gray-200);display:flex;align-items:center;gap:var(--ts-space-3)}.ts-badge{display:inline-flex;align-items:center;gap:var(--ts-space-1);padding:5px 10px;border-radius:var(--ts-radius-full);font-size:12px;font-weight:700;white-space:nowrap;line-height:1}.ts-badge-success{background:var(--ts-success-50);color:var(--ts-success-700)}.ts-badge-warning{background:var(--ts-warning-50);color:var(--ts-warning-700)}.ts-badge-danger{background:var(--ts-danger-50);color:var(--ts-danger-700)}.ts-badge-info{background:var(--ts-info-50);color:var(--ts-info-700)}.ts-badge-soft{background:var(--ts-gray-100);color:var(--ts-gray-600)}.ts-badge-primary{background:var(--ts-primary-100);color:var(--ts-primary-700)}.ts-badge-purple{background:var(--ts-purple-50);color:var(--ts-purple-700)}.ts-kpi{background:var(--ts-gray-100);border-radius:var(--ts-radius-lg);padding:var(--ts-space-4);display:flex;flex-direction:column;gap:var(--ts-space-2)}.ts-kpi-accent{background:var(--ts-primary-50);border-left:4px solid var(--ts-primary-400);border-radius:var(--ts-radius-md);padding:var(--ts-space-4)}.ts-kpi-warning{background:var(--ts-warning-50);border-left:4px solid var(--ts-warning-500);border-radius:var(--ts-radius-md);padding:var(--ts-space-4)}.ts-kpi-danger{background:var(--ts-danger-50);border-left:4px solid var(--ts-danger-500);border-radius:var(--ts-radius-md);padding:var(--ts-space-4)}.ts-kpi-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-gray-500)}.ts-kpi-value{font-size:24px;font-weight:800;letter-spacing:-.03em;color:var(--ts-gray-800);line-height:1.2}.ts-kpi-trend{font-size:12px;font-weight:600;color:var(--ts-gray-500)}.ts-kpi-trend-up{color:var(--ts-success-700)}.ts-kpi-trend-down{color:var(--ts-danger-700)}.ts-skeleton{background:linear-gradient(90deg,var(--ts-gray-100) 25%,var(--ts-gray-200) 37%,var(--ts-gray-100) 63%);background-size:400% 100%;animation:ts-shimmer 1.4s ease infinite;border-radius:var(--ts-radius-sm)}@keyframes ts-shimmer{0%{background-position:100% 50%}to{background-position:0% 50%}}.ts-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--ts-space-10) var(--ts-space-6);gap:var(--ts-space-4)}.ts-empty-state-icon{font-size:56px;color:var(--ts-gray-300);line-height:1}.ts-empty-state-title{font-size:16px;font-weight:700;color:var(--ts-gray-700);margin:0}.ts-empty-state-description{font-size:14px;color:var(--ts-gray-500);margin:0;max-width:320px}.ts-appt{border-radius:var(--ts-radius-md);padding:var(--ts-space-3);color:#fff;font-size:13px;box-shadow:var(--ts-shadow-md);cursor:pointer;transition:filter var(--ts-transition-base),transform var(--ts-transition-base);overflow:hidden}.ts-appt:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:var(--ts-shadow-lg)}.ts-appt-name{font-weight:800;font-size:14px;display:block;margin-bottom:2px}.ts-appt-note{font-size:12px;opacity:.9;display:block}.ts-appt-confirmed{background:linear-gradient(135deg,var(--ts-appt-confirmed-from),var(--ts-appt-confirmed-to))}.ts-appt-pending{background:linear-gradient(135deg,var(--ts-appt-pending-from),var(--ts-appt-pending-to))}.ts-appt-cancelled{background:linear-gradient(135deg,var(--ts-appt-cancelled-from),var(--ts-appt-cancelled-to))}.ts-appt-virtual{background:linear-gradient(135deg,var(--ts-appt-virtual-from),var(--ts-appt-virtual-to))}.ts-appt-completed{background:linear-gradient(135deg,var(--ts-appt-completed-from),var(--ts-appt-completed-to))}.ts-appt-noshow{background:linear-gradient(135deg,var(--ts-appt-noshow-from),var(--ts-appt-noshow-to))}.ts-tabs{background:var(--ts-gray-100);border-radius:var(--ts-radius-lg);padding:6px;gap:var(--ts-space-2);flex-shrink:0}.ts-section-divider{border:none;border-top:1px solid var(--ts-gray-200);margin:var(--ts-space-5) 0}.ts-text-display{font-size:30px;font-weight:800;letter-spacing:-.04em;line-height:1.2}.ts-text-h1{font-size:24px;font-weight:700;letter-spacing:-.03em;line-height:1.3}.ts-text-h2{font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.4}.ts-text-h3{font-size:15px;font-weight:600;letter-spacing:-.01em;line-height:1.5}.ts-text-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.ts-text-muted{color:var(--ts-gray-500)}.ts-text-secondary{color:var(--ts-gray-600)}.ts-text-primary{color:var(--ts-primary-700)}.ts-text-danger{color:var(--ts-danger-700)}.ts-text-success{color:var(--ts-success-700)}.ts-text-warning{color:var(--ts-warning-700)}.ts-text-mono{font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:13px}.ts-grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--ts-space-5)}.ts-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ts-space-4)}.ts-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--ts-space-3)}@media(max-width:1200px){.ts-grid-2{grid-template-columns:1fr}.ts-grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.ts-grid-2,.ts-grid-3,.ts-grid-4{grid-template-columns:1fr}}.ts-avatar-initials{width:48px;height:48px;border-radius:50%;background:var(--ts-primary-100);color:var(--ts-primary-700);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;flex-shrink:0}.ts-avatar-sm{width:36px;height:36px;font-size:13px}.ts-avatar-lg{width:64px;height:64px;font-size:22px}.ts-timeline-item{display:flex;gap:var(--ts-space-4);padding:var(--ts-space-3) 0;border-bottom:1px solid var(--ts-gray-200);align-items:flex-start}.ts-timeline-item:last-child{border-bottom:none}.ts-timeline-icon{font-size:18px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--ts-gray-100);border-radius:50%;flex-shrink:0;margin-top:2px}.ts-timeline-title{font-size:14px;font-weight:600;color:var(--ts-gray-800);margin:0 0 2px}.ts-timeline-meta{font-size:12px;color:var(--ts-gray-500);margin:0}.ts-timeline-group-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ts-gray-400);padding:var(--ts-space-4) 0 var(--ts-space-2)}.ts-balance-ok{color:var(--ts-success-700);font-weight:800}.ts-balance-credit{color:var(--ts-info-700);font-weight:800}.ts-balance-low{color:var(--ts-warning-700);font-weight:800}.ts-balance-high{color:var(--ts-danger-700);font-weight:800}.ts-profile-header{display:flex;align-items:center;gap:var(--ts-space-4);padding:var(--ts-space-5)}.ts-profile-name{font-size:22px;font-weight:800;letter-spacing:-.03em;color:var(--ts-gray-900);margin:0}.ts-profile-meta{font-size:13px;color:var(--ts-gray-500);margin:4px 0 0}.ts-btn-sm{font-size:12px!important;padding:6px 12px!important;border-radius:var(--ts-radius-sm)!important}.ts-spinner{width:20px;height:20px;border:2px solid var(--ts-gray-200);border-top-color:var(--ts-primary-400);border-radius:50%;animation:ts-spin .6s linear infinite}@keyframes ts-spin{to{transform:rotate(360deg)}}html{--lumo-base-color: #F5F5F5;--lumo-body-text-color: #2A2E35;--lumo-contrast: #192434;--lumo-contrast-10pct: #2A40501a;--lumo-contrast-20pct: #1c375a29;--lumo-contrast-30pct: #1c345442;--lumo-contrast-40pct: #1c324f61;--lumo-contrast-50pct: #2A405085;--lumo-contrast-5pct: #193b670d;--lumo-contrast-60pct: #1c2e4599;--lumo-contrast-70pct: #1b2b41b0;--lumo-contrast-80pct: #1a293dd4;--lumo-contrast-90pct: #18273af0;--lumo-disabled-text-color: #1c345442;--lumo-error-color: #E57368;--lumo-error-color-10pct: #d952311a;--lumo-error-color-50pct: #d9523180;--lumo-error-contrast-color: #ffffff;--lumo-error-text-color: #921f18;--lumo-heading-text-color: #192434;--lumo-primary-color: #4AAEAB;--lumo-primary-color-10pct: #4a9a9621;--lumo-primary-color-50pct: #4a9a96c2;--lumo-primary-contrast-color: #ffffff;--lumo-primary-text-color: #378184;--lumo-secondary-text-color: #1b2b41b0;--lumo-success-color: #3BB273;--lumo-success-color-10pct: #1688461a;--lumo-success-color-50pct: #16884680;--lumo-success-contrast-color: #ffffff;--lumo-success-text-color: #0a7637;--lumo-tertiary-text-color: #1c304a85;--lumo-user-color-0: #E57399;--lumo-user-color-1: #8C65CC;--lumo-user-color-2: #5CA1C7;--lumo-user-color-3: #D9904E;--lumo-user-color-4: #bf16f3;--lumo-user-color-5: #084391;--lumo-user-color-6: #078836;--lumo-user-holiday: #FF1A1A;--lumo-warning-color: #f4b400;--lumo-warning-color-10pct: #ffcc0040;--lumo-warning-text-color: #985211;--lumo-warnng-contrast-color: #182739f0;--lumo-border-radius-s: .25rem;--lumo-border-radius-m: .5rem;--lumo-border-radius-l: 1rem;--vaadin-input-field-background: #FFF;--vaadin-input-field-hover-highlight: var(--lumo-contrast-30pct);--vaadin-input-field-border-width: 1px;--vaadin-input-field-border-color: var(--lumo-contrast-30pct);--vaadin-button-background: #FFF;--vaadin-button-border: 1px solid var(--lumo-primary-color-50pct);--light-background-color: #FFF;--lumo-space-xxl: 48px}.card-background-color{background-color:var(--light-background-color)}vaadin-button{width:8.75rem}header{background-color:var(--light-background-color)}header nav a[highlight]{background-color:#fff0;color:var(--lumo-primary-color)}header nav a:hover{--lumo-header-text-color: var(--lumo-primary-color-50pct)}header nav a[highlight] span{font-weight:600}vaadin-upload::part(primary-buttons){display:flex;align-items:center;justify-content:center;height:100%}vaadin-avatar{border-radius:2rem;border-color:var(--lumo-contrast)}.content-max-width{max-width:862px}.column-gap{column-gap:62px}.mt-xxl{margin-top:var(--lumo-space-xxl)}@media(min-width:800px){.two-columns-when-over-800px{grid-column:span 2}}@media(min-width:800px){.column-max-width-when-over-800px{max-width:400px}}@media(min-width:600px){.flex-over-600px{display:flex}}@media screen and (max-width:1400px){.flex-wrap-layout{flex-wrap:wrap;min-width:100%}}vaadin-dialog-overlay.not-available-dialog::part(overlay){width:1024px}vaadin-dialog-overlay.appointment-dialog::part(content){padding:0}@media screen and (max-width:1400px){vaadin-dialog-overlay::part(content){padding:var(--lumo-space-s)}}@media screen and (max-width:1400px){.remove-margin-left-amount-layout{margin-left:0}}.avatar-over-700px{height:200px;width:200px}@media screen and (max-width:700px){.avatar-over-700px{height:100px;width:100px}}
