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(--ts-control-height)}.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(--ts-gray-100);border-radius:var(--ts-radius-md);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]{background:var(--ts-gray-0);color:var(--ts-primary-700)}vaadin-tab[active]{transform:scale(.98);transition-duration:50ms}vaadin-tab[selected]:not([focus-ring]){box-shadow:var(--ts-shadow-xs)}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}}@media(max-width:740px){vaadin-login-overlay-wrapper::part(card){width:100%;max-width:100%;border-radius:1.5rem}vaadin-login-overlay-wrapper::part(overlay){padding:12px}vaadin-login-form-wrapper vaadin-button{width:100%;margin-left:0;margin-right:0;min-height:48px}}.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: var(--ts-control-height);--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}}vaadin-horizontal-layout:has(>vaadin-button[theme~=btn][theme~=primary]){column-gap:var(--ts-space-2)!important}[theme~=btn][theme~=primary][theme]{background:var(--ts-gray-0);color:var(--ts-primary-700);border:1px solid var(--ts-gray-300);border-radius:var(--ts-radius-md);margin:0;box-shadow:none;font-weight:600}[theme~=btn][theme~=primary][theme]:hover{background:var(--ts-gray-50)}[theme~=btn][theme~=primary][theme~=save]{background:var(--ts-primary-400);color:#fff;border-color:var(--ts-primary-400);font-weight:700}[theme~=btn][theme~=primary][theme~=save]:hover{background:var(--ts-primary-500);border-color:var(--ts-primary-500)}[theme~=btn][theme~=primary][theme~=delete],[theme~=btn][theme~=primary][theme~=cancel]{color:var(--ts-danger-700)}[theme~=btn][theme~=primary][theme~=delete]:hover,[theme~=btn][theme~=primary][theme~=cancel]:hover{background:var(--ts-danger-50);border-color:var(--ts-danger-400)}[theme~=btn][theme~=primary][disabled]{background:var(--ts-gray-100);color:var(--ts-gray-400);border-color:var(--ts-gray-200);opacity:1}vaadin-button:not([theme~=displacement])+vaadin-button[theme~=btn][theme~=primary][theme~=displacement]{margin-left:auto!important}vaadin-button[hidden]{display:none!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:0!important}.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:1px 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:2px;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}.calendar-room-view .event-inner .event-subtitle{margin-top:2px}.ts-cal-page-header{padding:20px 24px 0}.cal-header-bar{margin:14px 24px 12px!important;width:calc(100% - 48px)!important;max-width:calc(100% - 48px);box-sizing:border-box;border:1px solid var(--ts-border, #E3E0D8);border-bottom:1px solid var(--ts-border, #E3E0D8);border-radius:16px!important;padding:10px 12px!important;box-shadow:var(--ts-shadow-sm, 0 1px 2px rgba(23, 45, 40, .06), 0 2px 8px rgba(23, 45, 40, .04))}.cal-header-bar>vaadin-button{min-width:40px;height:40px;margin:0 4px 0 0!important;border-radius:10px!important;border:1px solid var(--ts-border, #E3E0D8);background:var(--ts-surface, #FFF)!important;color:var(--ts-primary-700, #17524F)!important;font-weight:700}.cal-header-bar .cal-date-badge{background:transparent!important;color:var(--ts-text, #1B2420)!important;font-family:var(--ts-font-display, "Newsreader", Georgia, serif)!important;font-size:24px!important;font-weight:500!important;letter-spacing:-.01em;padding:0 8px!important}.cal-header-bar vaadin-menu-bar.ts-seg{background:var(--ts-gray-100, #EFEDE7);border-radius:12px;padding:4px}.cal-header-bar vaadin-menu-bar.ts-seg::part(container){gap:2px}.cal-header-bar vaadin-menu-bar.ts-seg vaadin-menu-bar-button{margin:0;padding:6px 14px;border-radius:9px;background:transparent;color:var(--ts-text-3, #66726B);font-size:13px;font-weight:600;min-height:0}.cal-header-bar vaadin-menu-bar.ts-seg vaadin-menu-bar-button.ts-seg-on{background:var(--ts-surface, #FFF);color:var(--ts-primary-700, #17524F);font-weight:700;box-shadow:0 1px 2px #172d2814}.cal-body-panel{margin:0 24px 16px;width:calc(100% - 48px)!important;max-width:calc(100% - 48px);flex:1 1 auto;box-sizing:border-box;border:1px solid var(--ts-border, #E3E0D8);border-radius:16px}.cal-filter-sidebar{background:var(--ts-surface, #FFF);border-right:1px solid var(--ts-gray-100, #EFEDE7);border-radius:16px 0 0 16px}.ts-week-strip{display:none}@media(max-width:739px){.ts-cal-page-header{padding:16px 16px 0}.ts-cal-page-header .ts-page-actions{width:100%;justify-content:space-between}.ts-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:12px 16px 0;width:100%;box-sizing:border-box}.ts-week-day{all:unset;box-sizing:border-box;height:64px;border-radius:14px;background:var(--ts-surface, #FFF);color:var(--ts-text, #1B2420);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;font-family:var(--ts-font-family, "Figtree", sans-serif);-webkit-tap-highlight-color:transparent}.ts-week-day>span:first-child{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.85}.ts-week-day>span:last-child{font-size:18px;font-weight:700}.ts-week-day.ts-week-day-on{background:var(--ts-primary-600, #1F6F6A);color:#fff}.cal-header-bar{margin:12px 16px 8px!important;width:calc(100% - 32px)!important;max-width:calc(100% - 32px)}.cal-header-bar .cal-date-badge{font-size:18px!important}.cal-body-panel{margin:0 0 8px;width:100%!important;max-width:100%;border-radius:0;border-left:none;border-right:none}.fc-list{border:none!important}.fc-list-event{display:table-row}.fc-list-event td{border:none!important;padding:10px 8px!important}.fc-list-day-cushion{background:transparent!important;font-size:15px;font-weight:700}}.ts-cal-page-header{box-sizing:border-box;width:100%;flex-wrap:wrap;gap:12px}.ts-cal-page-header .ts-page-heading{flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.ts-cal-page-header .ts-page-actions{flex-wrap:wrap;gap:8px}.cal-header-bar vaadin-menu-bar.ts-seg vaadin-menu-bar-button{border:none!important;box-shadow:none;background:transparent!important;color:var(--ts-text-3, #66726B)!important}.cal-header-bar vaadin-menu-bar.ts-seg vaadin-menu-bar-button.ts-seg-on{background:var(--ts-surface, #FFF)!important;color:var(--ts-primary-700, #17524F)!important;box-shadow:0 1px 2px #172d2814}@media(max-width:739px){.ts-cal-page-header .ts-page-actions{flex-wrap:nowrap;gap:6px}.ts-cal-page-header .ts-page-actions vaadin-button{flex:1 1 0;min-width:0;--vaadin-button-padding: 0 8px;font-size:13px}.fc-list-table,.fc-list-table tbody{display:block!important;width:100%!important}.fc-list-table tr.fc-list-day,.fc-list-table tr.fc-list-day>th{display:block;width:100%;border:none!important;background:transparent!important}.fc-list-table tr.fc-list-event,.fc-list .fc-list-event{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;margin:6px 12px;padding:6px 12px;border-radius:14px;background:var(--ts-surface, #FFF);border:1px solid var(--ts-border, #E3E0D8);box-sizing:border-box;width:calc(100% - 24px)}.fc-list-table tr.fc-list-event>td,.fc-list .fc-list-event>td{display:block!important;padding:6px 0!important;border:none!important;width:auto!important}.fc-list-table tr.fc-list-event>td.fc-list-event-title{flex:1 1 auto;min-width:0;font-weight:700}.fc-list-table tr.fc-list-event>td.fc-list-event-time{order:0;font-family:var(--ts-font-mono, "JetBrains Mono", monospace);font-size:12px;color:var(--ts-text-3, #66726B);white-space:nowrap}}@media(max-width:739px){.fc-list-table tr.fc-list-event,.fc-list .fc-list-event{flex-wrap:wrap!important;background:var(--ts-bg, #F5F4F0)!important;border:1px solid var(--ts-border, #E3E0D8)!important;padding:8px 14px!important;row-gap:0}.fc-list-table tr.fc-list-event>td.fc-list-event-time{flex:0 0 100%!important;width:100%!important;padding-bottom:0!important;font-size:12px}.fc-list-table tr.fc-list-event>td.fc-list-event-graphic{flex:0 0 auto!important;padding:6px 0!important}.fc-list-table tr.fc-list-event>td.fc-list-event-title{flex:1 1 0!important;font-size:15px;line-height:1.3}}.ts-cal-page-header .ts-page-heading{flex:1 1 280px}.ts-cal-page-header .ts-page-actions{flex:0 0 auto;justify-content:flex-end}.cal-header-bar{min-width:0;height:auto!important;min-height:0;overflow:visible;flex-wrap:wrap!important}.cal-header-bar vaadin-menu-bar.ts-seg{flex:1 1 360px;min-width:0;max-width:100%}.cal-header-bar vaadin-menu-bar.ts-seg vaadin-menu-bar-item{background:transparent!important;color:inherit!important;padding:0;border-radius:inherit}.cal-header-bar vaadin-menu-bar.ts-seg vaadin-menu-bar-button:has(>vaadin-menu-bar-item.ts-seg-on),.cal-header-bar vaadin-menu-bar.ts-seg vaadin-menu-bar-button.ts-seg-on{background:var(--ts-surface, #FFF)!important;box-shadow:0 1px 2px #172d2814}.cal-header-bar vaadin-menu-bar.ts-seg vaadin-menu-bar-item.ts-seg-on{color:var(--ts-primary-700, #17524F)!important;font-weight:700}@media(max-width:739px){.ts-cal-page-header{padding:16px 16px 0}.ts-week-strip{padding:12px 16px 0}.cal-header-bar{margin:12px 16px 8px!important;width:calc(100% - 32px)!important}.cal-header-bar vaadin-menu-bar.ts-seg{flex:1 1 100%;width:100%;max-width:100%}}.cal-header-bar .ts-view-btn{margin-left:auto!important;height:40px;padding-inline:14px;border:1px solid var(--ts-border, #E3E0D8);border-radius:10px;background:var(--ts-surface, #FFF);color:var(--ts-primary-700, #17524F);font-size:14px;font-weight:700}.cal-header-bar .ts-seg-tabs{display:none}@media(min-width:1500px){.cal-header-bar .ts-seg-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;margin-left:auto;background:var(--ts-gray-100, #EFEDE7);border-radius:12px}.cal-header-bar .ts-view-btn{display:none}}.ts-seg-tab{all:unset;box-sizing:border-box;padding:7px 14px;border-radius:9px;color:var(--ts-text-3, #66726B);font-family:var(--ts-font-family, "Figtree", sans-serif);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.ts-seg-tab:hover{color:var(--ts-text, #1B2420)}.ts-seg-tab:focus-visible{outline:2px solid var(--ts-primary-400, #4F8F8B)}.ts-seg-tab.ts-seg-tab-on{background:var(--ts-surface, #FFF);color:var(--ts-primary-700, #17524F);font-weight:700;box-shadow:0 1px 2px #172d2814}@media(max-width:739px){.cal-header-bar{display:flex!important;flex-wrap:wrap!important;align-content:flex-start;row-gap:8px}.cal-header-bar .cal-date-badge{flex:1 1 auto;margin-inline-end:0!important}.cal-header-bar .ts-view-btn{flex:1 1 100%;width:100%!important;margin-left:0!important;justify-content:center}}.cal-header-bar,.ts-cal-page-header,.ts-week-strip{flex-shrink:0}.cal-header-bar{align-self:stretch;width:auto!important;max-width:none!important}.cal-body-panel{align-self:stretch;width:auto!important;max-width:none!important;min-height:0}.cal-header-bar .ts-view-btn{max-width:100%;flex:0 0 auto}@media(max-width:739px){.cal-header-bar{margin:12px 16px 8px!important}.cal-body-panel{margin:0 0 8px}.cal-header-bar .ts-view-btn{flex:1 1 100%}}.ts-ag{box-sizing:border-box;display:flex;flex-direction:column;gap:12px;width:100%;padding:16px 16px 120px;position:relative;color:var(--ts-text, #1B2420)}.ts-ag-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.ts-ag-heading{display:flex;flex-direction:column;min-width:0}.ts-ag-monthbtn{all:unset;display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--ts-text-3, #66726B);cursor:pointer}.ts-ag-monthbtn vaadin-icon{width:14px;height:14px}.ts-ag .ts-page-title{margin:0;font-size:32px}.ts-ag-tools{display:flex;gap:8px}.ts-ag-iconbtn{all:unset;box-sizing:border-box;width:44px;height:44px;border:1px solid var(--ts-border, #E3E0D8);border-radius:12px;background:var(--ts-surface, #FFF);color:var(--ts-text-2, #44504A);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.ts-ag-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.ts-ag-day{all:unset;box-sizing:border-box;height:64px;border-radius:14px;background:var(--ts-surface, #FFF);color:var(--ts-text, #1B2420);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;font-family:var(--ts-font-family, "Figtree", sans-serif);-webkit-tap-highlight-color:transparent}.ts-ag-day>span:nth-child(1){font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.85}.ts-ag-day>span:nth-child(2){font-size:18px;font-weight:700}.ts-ag-dot{width:5px;height:5px;border-radius:50%;background:var(--ts-primary-500, #2B8782)}.ts-ag-day-on{background:var(--ts-primary-600, #1F6F6A);color:#fff}.ts-ag-day-on .ts-ag-dot{background:#fff}.ts-ag-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.ts-ag-chips::-webkit-scrollbar{display:none}.ts-ag-chips .ts-chip{flex:none;height:36px}.ts-ag-dayrow{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ts-ag-daytitle{font-size:15px;font-weight:700}.ts-ag-daycount{font-size:13px;color:var(--ts-text-3, #66726B)}.ts-ag-list{display:flex;flex-direction:column;gap:8px}.ts-ag-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px;align-items:stretch}.ts-ag-time{font-family:var(--ts-font-mono, "JetBrains Mono", monospace);font-size:11px;color:var(--ts-text-3, #66726B);padding-top:12px}.ts-ag-card{--ts-ag-color: var(--ts-primary-500, #2B8782);display:flex;flex-direction:column;gap:3px;min-height:64px;padding:10px 14px;border-radius:14px;border-left:5px solid var(--ts-ag-color);background:color-mix(in srgb,var(--ts-ag-color) 16%,#FFFFFF);box-sizing:border-box;cursor:pointer}.ts-ag-top{display:flex;justify-content:space-between;gap:10px}.ts-ag-name{font-size:15px;font-weight:700;line-height:1.25;min-width:0}.ts-ag-end{flex:none;font-family:var(--ts-font-mono, "JetBrains Mono", monospace);font-size:11px;font-weight:700}.ts-ag-sub{font-size:13px}.ts-ag-where{font-size:12px;color:var(--ts-text-2, #44504A)}.ts-ag-tags{display:flex;flex-wrap:wrap;gap:4px}.ts-ag-tag{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;background:#ffffffb3}.ts-ag-note{font-size:12px;font-style:italic;color:var(--ts-text-2, #44504A);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ts-ag-card-pending{position:relative;overflow:hidden;background:color-mix(in srgb,var(--ts-ag-color) 30%,#FFFFFF)}.ts-ag-card-pending .ts-ag-top{margin:-10px -14px 4px;padding:8px 14px;background:var(--ts-ag-color);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.25)}.ts-ag-card-pending .ts-ag-top .ts-ag-ico{filter:brightness(0) invert(1) drop-shadow(0 1px 1px rgba(0,0,0,.25))}.ts-ag-card-cancelled{opacity:.6}.ts-ag-card-cancelled .ts-ag-name{text-decoration:line-through}.ts-ag-card-block{--ts-ag-color: var(--ts-gray-400, #A8ADAA);background:var(--ts-gray-100, #EFEDE7);cursor:pointer}.ts-ag-holiday{padding:10px 14px;border-radius:12px;background:var(--ts-warning-50, #FFF3DB);color:var(--ts-warning-700, #7A5000);font-size:13px;font-weight:700}.ts-ag-empty{padding:28px 8px;text-align:center;color:var(--ts-text-3, #66726B);font-size:14px}.ts-ag-now{display:flex;align-items:center;gap:8px;color:#c4572f;font-family:var(--ts-font-mono, "JetBrains Mono", monospace);font-size:11px;font-weight:700}.ts-ag-now>div{flex:1;height:2px;border-radius:1px;background:#c4572f}vaadin-button.ts-ag-fab{position:fixed;right:16px;bottom:84px;width:56px;height:56px;min-width:56px;padding:0;margin:0;border-radius:18px;background:var(--ts-primary-600, #1F6F6A);color:#fff;box-shadow:0 4px 8px #172d281a,0 14px 32px #172d2838;z-index:5}.ts-ag-search{--vaadin-input-field-height: 48px}vaadin-dialog-overlay.ts-ag-dialog::part(overlay){width:min(92vw,420px);border-radius:16px}.ts-ag-endbox{flex:none;display:flex;align-items:center;gap:6px}.ts-ag-icons,.ts-ag-tags{display:inline-flex;align-items:center;gap:4px}.ts-ag-ico{width:16px;height:16px;object-fit:contain}.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)}.ts-settings-view{padding:16px!important;background:transparent}.ts-settings-split{gap:16px}.ts-settings-split::part(splitter){background:transparent;min-width:16px}.ts-settings-split::part(handle){display:none}.ts-settings-split>.form-layout-stretch,.ts-settings-split>vaadin-vertical-layout:last-child{background:var(--ts-surface, #FFF);border:1px solid var(--ts-border, #E3E0D8);border-radius:16px!important;box-shadow:none!important;overflow:hidden}.ts-settings-footer{background:var(--ts-gray-50, #FAF9F6)!important;border-top:1px solid var(--ts-border, #E3E0D8);gap:8px}.ts-settings-view vaadin-grid.ts-table-card{border:1px solid var(--ts-border, #E3E0D8);border-radius:16px;overflow:hidden;background:var(--ts-surface, #FFF)}@media(max-width:800px){.ts-settings-view{padding:12px!important;overflow:auto}vaadin-split-layout.ts-settings-split{flex-direction:column!important;height:auto!important;gap:12px}vaadin-split-layout.ts-settings-split::part(splitter){display:none}vaadin-split-layout.ts-settings-split>*{width:100%!important;flex:0 0 auto!important;min-height:0}vaadin-split-layout.ts-settings-split vaadin-grid{height:360px}.ts-settings-footer{flex-wrap:wrap}.ts-settings-footer>vaadin-button{flex:1 1 0;min-width:0;width:auto}}.ts-settings-page{box-sizing:border-box;max-width:100%;padding:16px!important;overflow-x:hidden}h1.ts-settings-title{font-family:var(--ts-font-display, "Newsreader", serif);font-size:28px;line-height:1.2;margin:0 0 8px}.ts-settings-page vaadin-form-layout,.ts-settings-page vaadin-text-field,.ts-settings-page vaadin-text-area,.ts-settings-page vaadin-combo-box{max-width:100%}@media(max-width:800px){h1.ts-settings-title{font-size:22px}.ts-settings-page{padding:12px!important}vaadin-split-layout.ts-settings-split vaadin-grid{height:340px!important;min-height:340px!important}vaadin-split-layout.ts-settings-split-reverse>[slot=secondary]{order:-1}}.ts-report-header .ts-page-heading{display:flex;flex-direction:column;align-items:flex-start;gap:4px}vaadin-tabsheet.ts-priv-tabs>vaadin-tabs{height:auto}vaadin-tabsheet.ts-priv-tabs>vaadin-tabs::part(tabs){flex-wrap:wrap;overflow:visible;height:auto;gap:4px}vaadin-tabsheet.ts-priv-tabs>vaadin-tabs::part(back-button),vaadin-tabsheet.ts-priv-tabs>vaadin-tabs::part(forward-button){display:none}@media(max-width:800px){vaadin-split-layout.ts-settings-split>:not(:has(>vaadin-grid)){height:auto!important;min-height:0;flex:0 0 auto!important}}@media(max-width:800px){.ts-two-col{grid-template-columns:minmax(0,1fr)!important}footer:has(>.ts-settings-footer){position:sticky;bottom:0;z-index:3}.ts-settings-split>.form-layout-stretch,.ts-settings-split>vaadin-vertical-layout:last-child,.ts-settings-split>:not(:has(>vaadin-grid)){overflow:clip!important}.ts-settings-split>vaadin-vertical-layout>vaadin-scroller{flex:none!important;height:auto!important;min-height:0!important;overflow:visible!important}.ts-settings-view{height:auto!important;min-height:100%}.ts-settings-split>vaadin-vertical-layout>footer{flex:none}vaadin-split-layout.ts-settings-split vaadin-grid{height:340px!important;min-height:340px!important}}@media(max-width:800px){vaadin-horizontal-layout.ts-gcal{flex-wrap:wrap}vaadin-horizontal-layout.ts-gcal>vaadin-vertical-layout{flex:1 1 100%;min-width:0}vaadin-horizontal-layout.ts-gcal img{width:96px;height:96px}.ts-gcal-title{font-size:24px!important;line-height:1.2}}.ts-evt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;align-items:start;padding:8px;box-sizing:border-box}.ts-evt-grid>.ts-evt-span{grid-column:1 / -1}@media(max-width:640px){.ts-evt-grid{grid-template-columns:minmax(0,1fr)}}vaadin-horizontal-layout.ts-gcal{max-width:760px;margin:0 auto;gap:32px;justify-content:center;align-items:center}vaadin-horizontal-layout.ts-gcal>vaadin-vertical-layout{flex:0 1 auto;align-items:flex-start}.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){box-sizing:border-box;width:44px;height:26px;border-radius:13px;background-color:var(--ts-gray-300);box-shadow:none;border:none;margin:0;padding:0;cursor:pointer;transition:background-color var(--ts-transition-base)}vaadin-checkbox-group[theme~=toggle-button]>vaadin-checkbox::part(checkbox):after,vaadin-checkbox[theme~=toggle-button]::part(checkbox):after{box-sizing:border-box;content:"";width:20px;height:20px;border-radius:50%;background-color:#fff;border:none;top:3px;left:3px;transform:none;opacity:1;box-shadow:0 1px 3px #00000040;transition:transform var(--ts-transition-base)}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(18px)}vaadin-checkbox-group[theme~=toggle-button]>vaadin-checkbox[checked]::part(checkbox),vaadin-checkbox[theme~=toggle-button][checked]::part(checkbox){background-color:var(--ts-primary-400)}vaadin-checkbox-group[theme~=toggle-button]>vaadin-checkbox[checked][disabled]::part(checkbox),vaadin-checkbox[theme~=toggle-button][checked][disabled]::part(checkbox){background-color:var(--ts-primary-400);opacity:.35}vaadin-checkbox[theme~=toggle-button][disabled]:not([checked])::part(checkbox){opacity:.5}vaadin-checkbox[theme~=toggle-button][focus-ring]::part(checkbox){box-shadow:var(--ts-focus-ring)}vaadin-button[theme~=user-color-2],vaadin-menu-bar-button[theme~=user-color-2]{background-color:var(--ts-primary-400);color:var(--lumo-primary-contrast-color)}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:1px solid var(--ts-primary-200, #B6D9D4);background:var(--ts-primary-50, #EAF4F2);border-radius:var(--ts-radius-md, 12px)}.form-layout h2{color:var(--ts-primary-700, #245856);font-family:var(--ts-font-family, "Inter", sans-serif);font-weight:700;font-size:15px}.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;min-height:100dvh;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}@media(max-width:740px){.survey-scale-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr))}}.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:740px){.survey-scale-btn{min-width:0;height:48px;padding:0 8px;gap:6px;font-size:var(--lumo-font-size-m)}.survey-nps-btn{min-width:44px;height:48px}.survey-therapist-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.survey-public-page{overflow:visible;overflow-x:clip}.survey-form-card{overflow:clip}.survey-submit-footer{position:sticky;bottom:0;z-index:5;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 16px #00000014}.survey-submit-footer vaadin-button{width:100%}.survey-submit-footer vaadin-button::part(button){width:100%;min-height:52px;padding:0 20px}}@media(max-width:600px){.survey-public-page{padding:0}.survey-form-card{border-radius:0;box-shadow:none}.survey-header-card{padding:28px 20px!important}.survey-form-body{padding:20px 16px}.survey-form-card>vaadin-horizontal-layout{padding:12px 16px!important}.survey-section-card{padding-top:20px!important}.survey-section-title{font-size:20px}.survey-rating-group{padding:16px 14px}.survey-therapist-accordion::part(summary){padding:12px 14px}.survey-therapist-accordion::part(content){padding:12px 10px}}.sv-header{flex-wrap:wrap;row-gap:8px}.sv-card-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.sv-card-actions vaadin-button{min-height:40px}.sv-actions-menu{margin-inline-start:-8px}.sv-editor-toolbar{flex-wrap:wrap;row-gap:8px}.sv-tb-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-qrow{display:grid;grid-template-columns:44px minmax(240px,1fr) 128px auto;column-gap:var(--lumo-space-m);align-items:center;box-sizing:border-box}.sv-q-order{justify-self:center}.sv-q-title{min-width:0;line-height:1.55;overflow-wrap:anywhere}.sv-q-type{justify-self:start;white-space:nowrap}.sv-q-actions{display:flex;align-items:center}.sv-q-actions vaadin-button{width:36px;min-width:36px}@media(max-width:740px){.sv-filter-bar{padding:12px!important;gap:12px;align-items:stretch!important}.sv-filter-bar>vaadin-date-picker,.sv-filter-bar>vaadin-combo-box{flex:1 1 100%;min-width:0}.sv-filter-bar>vaadin-button{flex:1 1 40%}.sv-editor-toolbar{padding:8px 12px!important}.sv-tb-name{flex:1 1 0}.sv-tb-action{flex:1 1 calc(50% - 8px);min-height:var(--ts-control-height-touch, 48px)}.sv-step-tabs{flex:none;box-shadow:inset 0 -1px 0 var(--lumo-contrast-10pct)}.sv-step-tabs vaadin-tab{flex:1 1 0;justify-content:center;min-height:48px}.sv-editor .section-nav-btn{min-height:44px}.sv-qrow{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"order title" ".     type" ".     actions";row-gap:8px;padding:12px 8px}.sv-q-order{grid-area:order;align-self:start}.sv-q-title{grid-area:title;font-size:var(--lumo-font-size-m)}.sv-q-type{grid-area:type}.sv-q-actions{grid-area:actions;gap:4px}.sv-q-actions vaadin-button{width:44px;min-width:44px;height:44px}}html:has(.ts-confirm-page),body:has(.ts-confirm-page){overflow:auto!important;height:auto!important}.ts-confirm-page{min-height:100vh;min-height:100dvh;height:auto!important;box-sizing:border-box;padding:32px 16px 48px!important;background:var(--ts-bg);font-family:var(--ts-font, inherit);overflow:visible}.ts-confirm-card{width:100%;max-width:520px;box-sizing:border-box;background:var(--ts-surface);border:1px solid var(--ts-border);border-radius:20px;box-shadow:0 10px 30px #10171414;overflow:hidden;text-align:center;animation:ts-confirm-in .35s ease-out}@keyframes ts-confirm-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.ts-confirm-brand{padding:28px 24px 22px;background:linear-gradient(180deg,var(--ts-primary-50),var(--ts-surface));border-bottom:1px solid var(--ts-border)}.ts-confirm-logo{display:block;margin:0 auto 12px;max-width:150px;max-height:104px;object-fit:contain}.ts-confirm-eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ts-primary-400)}.ts-confirm-company{margin:6px 0 0;font-size:22px;line-height:1.25;font-weight:700;color:var(--ts-text)}.ts-confirm-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}.ts-confirm-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--ts-surface);border:1px solid var(--ts-border);color:var(--ts-primary-400);font-size:13px;font-weight:600;text-decoration:none}.ts-confirm-link vaadin-icon{width:14px;height:14px}.ts-confirm-details{display:flex;flex-direction:column;padding:8px 20px;text-align:left}.ts-confirm-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--ts-border)}.ts-confirm-row:last-child{border-bottom:0}.ts-confirm-ico{flex:none;box-sizing:border-box;width:36px;height:36px;padding:9px;border-radius:10px;background:var(--ts-primary-50);color:var(--ts-primary-400)}.ts-confirm-text{display:flex;flex-direction:column;min-width:0}.ts-confirm-label{font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ts-text-3)}.ts-confirm-value{font-size:15px;font-weight:600;color:var(--ts-text);overflow-wrap:anywhere}.ts-confirm-state{box-sizing:border-box;width:auto;margin:4px 20px 0;padding:18px 16px!important;border-radius:14px;background:var(--ts-soft);border:1px solid var(--ts-border)}.ts-confirm-state--confirmed{background:var(--ts-appt-confirmed-bg);border-color:transparent}.ts-confirm-state--cancelled{background:var(--ts-appt-cancelled-bg);border-color:transparent}.ts-confirm-state--expired{background:var(--ts-appt-pending-bg);border-color:transparent}.ts-confirm-state--confirmed .ts-confirm-state-title{color:var(--ts-appt-confirmed-fg)}.ts-confirm-state--cancelled .ts-confirm-state-title{color:var(--ts-appt-cancelled-fg)}.ts-confirm-state--expired .ts-confirm-state-title{color:var(--ts-appt-pending-fg)}.ts-confirm-state-title{margin:0 0 6px!important;font-size:18px;font-weight:700;color:var(--ts-text)}.ts-confirm-state-text{margin:0!important;font-size:14px!important;line-height:1.5;color:var(--ts-text-2)!important}.ts-confirm-actions{display:flex;box-sizing:border-box;width:100%;padding:20px 20px 8px;gap:10px}.ts-confirm-btn{flex:1 1 140px;height:48px;margin:0;border-radius:999px;font-size:15px;font-weight:700;cursor:pointer;transition:background .2s ease,transform .15s ease}.ts-confirm-calendars{display:flex;flex-direction:column;align-items:center;padding:0 20px 20px}.ts-confirm-calendar{width:auto;font-weight:600;color:var(--ts-primary-400)}.ts-confirm-card-error{padding:32px 24px;max-width:420px}.ts-confirm-card-error .ts-confirm-state-title{margin:12px 0 8px!important;font-size:20px}.ts-confirm-card-error .ts-confirm-state-text{margin-bottom:20px!important}@media(max-width:480px){.ts-confirm-page{padding:12px 12px 32px!important}.ts-confirm-card{border-radius:16px}.ts-confirm-btn{flex-basis:100%}}.ts-confirm-intro{margin:4px 20px 0!important}.ts-confirm-card-error>vaadin-icon{width:64px;height:64px;color:var(--ts-danger-600)}.ts-policy-page{box-sizing:border-box;max-width:100%;overflow-x:clip}.ts-policy-page img,.ts-policy-page table{max-width:100%}@media(max-width:740px){.ts-policy-page{padding:12px!important;height:auto!important}.ts-policy-actions{flex-direction:column!important;gap:10px!important}.ts-policy-actions vaadin-button{width:100%;min-height:48px}.ts-policy-page vaadin-custom-field{width:100%}}.ts-day-card{max-width:720px;text-align:left}.ts-day-card .ts-confirm-brand{text-align:center}.ts-day-therapist{display:block;margin-top:4px;font-size:14px;color:var(--ts-text-2)}.ts-day-counter{display:block;margin-top:14px;font-size:13px;font-weight:600;color:var(--ts-text)}.ts-day-bar{height:8px;margin-top:8px;border-radius:999px;background:var(--ts-border);overflow:hidden}.ts-day-bar-fill{height:100%;border-radius:999px;background:var(--ts-success-600, #43A047);transition:width .3s ease}.ts-day-list{display:flex;flex-direction:column}.ts-day-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;padding:16px 20px;border-bottom:1px solid var(--ts-border);border-left:4px solid transparent}.ts-day-item:last-child{border-bottom:0}.ts-day-item--pending{border-left-color:var(--ts-appt-pending-fg, #B7791F)}.ts-day-item--approved{border-left-color:var(--ts-appt-confirmed-fg, #1E7A4C);background:var(--ts-appt-confirmed-bg, transparent)}.ts-day-item--rejected{border-left-color:var(--ts-danger-600, #D32F2F);background:var(--ts-appt-cancelled-bg, transparent)}.ts-day-text{display:flex;flex-direction:column;gap:2px;min-width:0}.ts-day-time{font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--ts-primary-400)}.ts-day-name{font-size:16px;font-weight:600;color:var(--ts-text);overflow-wrap:anywhere}.ts-day-meta{font-size:13px;color:var(--ts-text-2)}.ts-day-actions{display:flex;gap:8px}.ts-day-btn{margin:0;border-radius:999px;cursor:pointer}.ts-day-pill{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:12px;font-size:13px;font-weight:700;line-height:1.2}.ts-day-pill vaadin-icon{width:20px;height:20px;flex:none}.ts-day-pill--approved{background:var(--ts-appt-confirmed-bg);color:var(--ts-appt-confirmed-fg)}.ts-day-pill--rejected{background:var(--ts-appt-cancelled-bg);color:var(--ts-appt-cancelled-fg)}.ts-day-when{display:block;font-size:11px;font-weight:500;opacity:.85}.ts-day-comment{grid-column:1 / -1;font-size:13px;color:var(--ts-text-2);overflow-wrap:anywhere}.ts-day-hint{margin:0;padding:14px 20px 18px;border-top:1px solid var(--ts-border);text-align:center}.ts-day-dialog-info{margin:0 0 12px;font-weight:600}@media(max-width:600px){.ts-day-item{grid-template-columns:minmax(0,1fr);padding:14px 16px}.ts-day-btn{min-height:48px}.ts-day-hint{padding:12px 16px 16px}.ts-day-actions{display:grid;grid-template-columns:1fr 1fr}.ts-day-pill{justify-self:start}}.calendar-therapist-approved .fc-list-event-title a:after,.calendar-therapist-rejected .fc-list-event-title a:after{margin-left:8px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.calendar-therapist-approved .fc-list-event-title a:after{content:"✓ Terapeuta";background:var(--ts-appt-confirmed-bg);color:var(--ts-appt-confirmed-fg)}.calendar-therapist-rejected .fc-list-event-title a:after{content:"✕ Rechazada por terapeuta";background:var(--ts-appt-cancelled-bg);color:var(--ts-appt-cancelled-fg)}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-surface-alt, #FAF9F6);border-top:1px solid var(--ts-gray-200, #E1E8EC);padding:var(--ts-space-3, 12px) var(--ts-space-5, 20px)}.appointment-footer-buttons{gap:0;align-items:center}vaadin-horizontal-layout.appointment-footer-buttons{background:transparent;border-top-color:transparent}.appointment-footer-buttons vaadin-button[theme~=btn][theme~=primary]{height:36px;min-width:140px}.appointment-footer-buttons vaadin-button:not([theme~=btn]){margin-left:var(--ts-space-2, 8px);width:40px;height:40px;border-radius:var(--ts-radius-full, 999px);padding:0}@media screen and (max-width:700px){.appointment-footer-buttons vaadin-button[theme~=btn][theme~=primary]{min-width:112px}}.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:var(--ts-primary-50, #EAF4F2);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)}.patient-footer-buttons{gap:0;align-items:center}vaadin-horizontal-layout.patient-footer-buttons{background:var(--ts-surface-alt);border-top-color:var(--ts-gray-200)}.patient-footer-buttons vaadin-button[theme~=btn][theme~=primary]{height:36px;min-width:140px}.patient-footer-buttons vaadin-button[theme~=displacement]{min-width:96px}@media screen and (max-width:700px){.patient-footer-buttons vaadin-button[theme~=btn][theme~=primary]{min-width:112px}.patient-footer-buttons vaadin-button[theme~=displacement]{min-width:88px}}.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.ts-patient-form.card-background-color{background-color:var(--ts-bg)}.form-layout.ts-patient-form vaadin-scroller{background:transparent}.ts-patient-page{display:flex;flex-direction:column;gap:20px;padding:20px 24px;box-sizing:border-box;min-width:0}.ts-form-header{display:flex;align-items:center;gap:18px;min-width:0}.ts-avatar-lg{flex:none;width:64px;height:64px;border-radius:50%;background:var(--ts-primary-100);color:var(--ts-primary-700);font-family:var(--ts-font-display);font-size:26px;font-weight:500;display:flex;align-items:center;justify-content:center}.ts-form-header-text{display:flex;flex-direction:column;gap:6px;min-width:0}h1.ts-form-title{margin:0;font-family:var(--ts-font-display);font-weight:500;font-size:36px;line-height:1.05;letter-spacing:-.02em;color:var(--ts-gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-form-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ts-form-age{font-size:13px;color:var(--ts-gray-500)}.ts-form-dot{color:var(--ts-gray-300)}.ts-form-badges{display:inline-flex;flex-wrap:wrap;gap:8px}.ts-form-badges .ts-badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--ts-radius-full);font-size:12px;font-weight:700}:is(.appointment-dialog,.ts-patient-form) vaadin-tabsheet.ts-underline-tabs::part(tabs-container){background:transparent;border-bottom:1px solid var(--ts-border);padding:0}:is(.appointment-dialog,.ts-patient-form) vaadin-tabsheet.ts-underline-tabs>vaadin-tabs{background:transparent;border-radius:0;box-shadow:none;min-height:0;margin:0}:is(.appointment-dialog,.ts-patient-form) vaadin-tabsheet.ts-underline-tabs>vaadin-tabs::part(tabs){padding:0;margin:0}:is(.appointment-dialog,.ts-patient-form) vaadin-tabsheet.ts-underline-tabs vaadin-tab{background:transparent;border-radius:0;padding:12px 16px;margin-bottom:-1px;border-bottom:3px solid transparent;color:var(--ts-gray-500);font-size:14px;font-weight:600;white-space:nowrap;box-shadow:none}:is(.appointment-dialog,.ts-patient-form) vaadin-tabsheet.ts-underline-tabs vaadin-tab:hover{color:var(--ts-primary-600)}:is(.appointment-dialog,.ts-patient-form) vaadin-tabsheet.ts-underline-tabs vaadin-tab[selected]{background:transparent;color:var(--ts-primary-700);font-weight:700;border-bottom-color:var(--ts-primary-400);box-shadow:none}:is(.appointment-dialog,.ts-patient-form) vaadin-tabsheet.ts-underline-tabs::part(content){padding:20px 0 0}.ts-card{display:flex;flex-direction:column;gap:18px;box-sizing:border-box;padding:24px;background:var(--ts-surface);border:1px solid var(--ts-border);border-radius:var(--ts-radius-lg);box-shadow:var(--ts-shadow-sm)}.ts-card.ts-card-compact{padding:20px;gap:14px}.ts-card.ts-card-flush{padding:0;gap:0;overflow:hidden}h2.ts-card-title{margin:0;font-size:16px;font-weight:700;color:var(--ts-gray-800)}.ts-patient-body{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px}.ts-patient-main{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:20px}.ts-patient-aside{flex:0 0 420px;max-width:100%;display:flex;flex-direction:column;gap:20px}.ts-summary-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ts-summary-tile{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:var(--ts-bg);border-radius:var(--ts-radius-md)}.ts-summary-title{font-size:13px;font-weight:600;color:var(--ts-gray-600)}.ts-summary-tile .ts-summary-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ts-gray-500)}.ts-summary-value{font-size:15px;font-weight:700}.ts-summary-balance{font-family:var(--ts-font-display);font-size:22px;font-weight:500}.ts-chip-static{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:var(--ts-radius-full);font-size:13px;font-weight:700;background:var(--ts-primary-100);color:var(--ts-primary-700)}.ts-card.ts-toggle-card{padding:8px 20px;gap:0}.ts-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;border-bottom:1px solid var(--ts-gray-100)}.ts-toggle-row:last-child{border-bottom:none}.ts-toggle-row>span{font-size:14px;font-weight:600;cursor:pointer}.ts-toggle-row>vaadin-checkbox{flex:none}.ts-dirty{display:inline-flex;align-items:center;gap:8px;margin-right:auto;font-size:13px;font-weight:600;color:var(--ts-warning-700)}.ts-dirty:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ts-accent)}.ts-patient-page,vaadin-tabsheet.ts-underline-tabs{min-width:0;max-width:100%;box-sizing:border-box}.ts-policy-status,.ts-policy-btn{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:var(--ts-radius-md);font-size:14px;font-weight:700}.ts-policy-btn{background:var(--ts-primary-400);color:#fff;cursor:pointer}.ts-policy-btn:hover{background:var(--ts-primary-500)}.ts-card-flush vaadin-grid vaadin-button{width:auto;min-width:0}.ts-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px}.ts-field-grid>*{width:100%;min-width:0;margin:0;box-sizing:border-box}.ts-price-form{gap:12px}.ts-price-hint,.ts-price-empty{color:var(--ts-gray-500);font-size:14px}.ts-price-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(200px,260px) auto;align-items:end;gap:16px;padding:14px 16px;background:var(--ts-bg);border:1px solid var(--ts-border);border-radius:var(--ts-radius-md)}.ts-price-who{display:flex;align-items:center;gap:12px;min-height:40px;min-width:0}.ts-price-name{font-weight:700}.ts-price-row vaadin-button{width:auto}.ts-card-flush>vaadin-grid{width:100%}.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:var(--ts-primary-50, #EAF4F2);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:0!important}.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:1px solid var(--ts-success-500, #4CAF50);border-radius:var(--ts-radius-sm, 10px);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:1px solid var(--ts-gray-300, #C8D4DA);border-radius:var(--ts-radius-sm, 10px);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:1px solid var(--ts-info-500, #4C8EDA);border-radius:var(--ts-radius-sm, 10px);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:1px solid var(--ts-warning-500, #F5A623);border-radius:var(--ts-radius-sm, 10px);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:1px solid var(--ts-danger-500, #E57373);border-radius:var(--ts-radius-sm, 10px);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:var(--ts-primary-50, #EAF4F2);border:1px solid var(--ts-primary-200, #B6D9D4);border-radius:var(--ts-radius-md, 12px);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, #FBEFD2);border:1px solid var(--ts-warning-200, #FFD987);border-radius:var(--ts-radius-sm, 10px);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)}.ts-billing-form{background:var(--ts-bg, #F5F4F0)}.form-layout .ts-bill-header{background:transparent;border-bottom:none;padding:8px 4px 4px}.form-layout h2.ts-bill-title{margin:0;font-family:var(--ts-font-display, "Newsreader", Georgia, serif);font-weight:500;font-size:34px;line-height:1.1;letter-spacing:-.02em;color:var(--ts-text, #1B2420)}.form-layout .card-section{background:var(--ts-surface, #FFF);border:1px solid var(--ts-border, #E3E0D8);border-radius:16px;padding:16px 20px;box-shadow:var(--ts-shadow-sm, 0 1px 2px rgba(23, 45, 40, .06), 0 2px 8px rgba(23, 45, 40, .04))}.form-layout .card-section:hover{border-color:var(--ts-border, #E3E0D8);box-shadow:var(--ts-shadow-sm, 0 1px 2px rgba(23, 45, 40, .06), 0 2px 8px rgba(23, 45, 40, .04))}.ts-bill-section-title{font-size:14px;font-weight:700;color:var(--ts-text, #1B2420)}.form-layout .form-layout-header{background:var(--ts-surface, #FFF);border:1px solid var(--ts-border, #E3E0D8);border-radius:16px;padding:16px 20px;box-sizing:border-box}.form-layout vaadin-grid.ts-bill-lines,.form-layout .lumo-border.lumo-border-color-contrast-10.lumo-border-radius-m{border:1px solid var(--ts-border, #E3E0D8)!important;border-radius:16px!important;background:var(--ts-surface, #FFF);box-shadow:var(--ts-shadow-sm, 0 1px 2px rgba(23, 45, 40, .06))}.form-layout vaadin-grid::part(header-cell){background:var(--ts-gray-50, #FAF9F6);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ts-text-3, #66726B)}.form-layout .amount-section-highlight.ts-bill-totals{background:var(--ts-surface, #FFF);border:1px solid var(--ts-border, #E3E0D8);border-radius:16px;box-shadow:var(--ts-shadow-sm, 0 1px 2px rgba(23, 45, 40, .06))}.ts-bill-totals vaadin-form-item::part(label){font-size:13px;color:var(--ts-text-3, #66726B)}.ts-bill-totals vaadin-text-field,.ts-bill-totals vaadin-number-field,.ts-bill-totals vaadin-big-decimal-field,.ts-bill-totals vaadin-combo-box{--vaadin-input-field-value-font-size: 15px}.ts-bill-totals vaadin-form-item:nth-of-type(3) vaadin-text-field::part(input-field),.ts-bill-totals vaadin-form-item:nth-of-type(3) input{font-family:var(--ts-font-display, "Newsreader", Georgia, serif);font-size:22px;font-weight:500}.form-layout .ts-bill-aside{background:var(--ts-surface, #FFF)!important;border:1px solid var(--ts-border, #E3E0D8)!important;border-radius:16px!important;box-shadow:var(--ts-shadow-md, 0 2px 4px rgba(23, 45, 40, .05), 0 10px 28px rgba(23, 45, 40, .08))}.ts-billing-form .footer-buttons{background:var(--ts-gray-50, #FAF9F6)!important;border-top:1px solid var(--ts-border, #E3E0D8)!important}.ts-bill-aside span[theme~=badge]{min-height:32px;padding-inline:14px;cursor:pointer}@media(max-width:1400px){.form-layout .ts-bill-aside{max-width:100%!important}}@media(max-width:800px){.form-layout h2.ts-bill-title{font-size:26px}.form-layout .card-section,.form-layout .form-layout-header{padding:12px}}.form-layout .ts-bill-head{display:flex;flex-direction:column;gap:8px;width:100%;box-sizing:border-box;padding:20px 22px 16px;background:var(--ts-surface, #FFF);border:1px solid var(--ts-border, #E3E0D8);border-radius:16px;box-shadow:var(--ts-shadow-md, 0 2px 4px rgba(23, 45, 40, .05), 0 10px 28px rgba(23, 45, 40, .08))}.ts-bill-head-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ts-bill-code{font-family:var(--ts-font-mono, "JetBrains Mono", monospace);font-size:13px;font-weight:500;color:var(--ts-primary-700, #17524F)}.ts-bill-head-top vaadin-icon{display:none}.ts-bill-head-top span[theme~=badge]{min-height:24px;padding-inline:10px;font-size:12px;font-weight:700}.form-layout h2.ts-bill-title{font-size:28px}.ts-bill-sub{font-size:13px;color:var(--ts-text-3, #66726B)}.ts-bill-head-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:4px;padding-top:12px;border-top:1px solid var(--ts-gray-100, #EFEDE7)}.ts-bill-head-actions vaadin-button{width:auto}.ts-bill-section-title{display:block;margin:8px 2px 0}.ts-billing-form vaadin-scroller>vaadin-horizontal-layout{max-width:1280px;margin-inline:auto}.ts-bill-aside vaadin-tab{padding-inline:10px;font-size:13px;min-width:0}.ts-bill-aside vaadin-tab vaadin-icon{display:none}.ts-bill-head-actions vaadin-menu-bar-button,.ts-bill-head-actions vaadin-menu-bar vaadin-menu-bar-button{font-size:13px;min-height:36px}.ts-bill-head-actions vaadin-menu-bar{--vaadin-menu-bar-button-padding: 0 12px}.ts-bill-aside vaadin-grid{min-height:220px}.ts-billing-form vaadin-scroller>vaadin-horizontal-layout{max-width:1360px;align-items:flex-start;gap:20px}.ts-billing-form .ts-bill-main-col{flex:999 1 560px;min-width:0}.ts-billing-form .ts-bill-aside-col{flex:1 1 400px;width:auto;max-width:460px;min-width:320px;box-sizing:border-box;margin-top:0}.ts-billing-form .ts-bill-aside{box-sizing:border-box;margin-top:8px}.ts-bill-head-top span.ts-badge{font-size:12px}.ts-find-filters{gap:14px}.ts-find-filters .ts-chips{display:flex;flex-wrap:wrap;gap:8px}.form-layout vaadin-details.ts-collapse{box-sizing:border-box;background:var(--ts-surface, #FFF);border:1px solid var(--ts-border, #E3E0D8);border-radius:16px;padding:4px 20px 8px;box-shadow:var(--ts-shadow-sm, 0 1px 2px rgba(23, 45, 40, .06), 0 2px 8px rgba(23, 45, 40, .04))}vaadin-details.ts-collapse::part(summary){padding:12px 0;font-size:14px;font-weight:700;color:var(--ts-text, #1B2420)}vaadin-details.ts-collapse::part(content){padding:0 0 8px}.ts-collapse .card-section{background:transparent;border:none;box-shadow:none;padding:0}.ts-collapse vaadin-grid.ts-bill-lines{margin:0}@media(max-width:800px){.form-layout vaadin-details.ts-collapse{padding:2px 12px 6px}.ts-bill-totals vaadin-form-layout{--vaadin-form-layout-column-spacing: 0}.ts-bill-totals vaadin-form-item{display:flex;flex-direction:column;align-items:stretch;width:100%}.ts-bill-totals vaadin-form-item>*{max-width:100%}.ts-bill-totals vaadin-form-item>vaadin-horizontal-layout,.ts-bill-totals vaadin-form-item>vaadin-big-decimal-field,.ts-bill-totals vaadin-form-item>vaadin-text-field,.ts-bill-totals vaadin-form-item>vaadin-number-field{width:100%}}.ts-collapse vaadin-horizontal-layout:has(>.ts-bill-totals){flex-wrap:wrap;gap:16px;width:100%;max-width:100%;box-sizing:border-box}.ts-collapse vaadin-horizontal-layout:has(>.ts-bill-totals)>vaadin-text-area{flex:1 1 240px;width:auto;min-width:0}.ts-collapse .ts-bill-totals{flex:1 1 320px;width:auto;max-width:100%;min-width:0;margin:0!important;box-sizing:border-box}.ts-collapse .ts-bill-totals vaadin-form-layout{width:100%;min-width:0}.ts-collapse .ts-bill-totals vaadin-form-item{min-width:0}.form-layout .amount-section-highlight.ts-bill-totals{background:transparent;border:none;box-shadow:none;padding:0}.ts-bill-totals .remove-margin-left-amount-layout,.ts-bill-totals vaadin-form-layout{box-sizing:border-box;width:100%;max-width:100%;margin:0!important;min-width:0}.ts-bill-totals .remove-margin-left-amount-layout{background:var(--ts-primary-50, #EAF4F2);border:1px solid var(--ts-primary-200, #B6D9D4);border-radius:12px;padding:12px 16px}.ts-bill-totals vaadin-form-item{--vaadin-form-item-label-width: 80px;width:100%;box-sizing:border-box}@media(min-width:801px){.ts-bill-totals vaadin-form-item>vaadin-horizontal-layout,.ts-bill-totals vaadin-form-item>vaadin-big-decimal-field,.ts-bill-totals vaadin-form-item>vaadin-number-field,.ts-bill-totals vaadin-form-item>vaadin-text-field{flex:1 1 0;min-width:0;width:auto}}.form-layout .ts-appt-head{background:var(--ts-surface, #FFF);border:1px solid var(--ts-border, #E3E0D8);border-radius:16px;padding:14px 20px;box-sizing:border-box;box-shadow:var(--ts-shadow-md, 0 2px 4px rgba(23, 45, 40, .05), 0 10px 28px rgba(23, 45, 40, .08))}.ts-appt-time{font-family:var(--ts-font-display, "Newsreader", Georgia, serif);font-size:20px;font-weight:500;letter-spacing:-.01em;color:var(--ts-text, #1B2420)}.form-layout .form-layout-header.invoice-header-accent{background:var(--ts-surface, #FFF);border:1px solid var(--ts-border, #E3E0D8);border-radius:16px;padding:14px 20px}.ts-bill-aside span[theme~=badge]{font-size:12px}@media(max-width:800px){.form-layout .ts-appt-head{padding:12px}.ts-appt-time{font-size:17px}}.ts-billing-form .form-layout-header{flex-wrap:wrap;gap:12px}.ts-billing-form .form-layout-header>vaadin-text-field:first-child{flex:1 1 280px;width:auto;min-width:0}.ts-collapse vaadin-button[theme~=tertiary],.ts-collapse vaadin-button[theme~=icon]{width:auto;min-width:0}.ts-collapse h3,.ts-bill-aside h3{margin:12px 0 0;font-size:14px;font-weight:700;font-family:var(--ts-font-family, "Figtree", sans-serif);color:var(--ts-text, #1B2420)}.ts-bill-aside h3{margin-top:8px}.appointment-footer-buttons{gap:6px}.appointment-footer-buttons vaadin-button{width:auto;min-width:6.25rem;--vaadin-button-padding: 0 10px}.ts-mcard [theme~=badge]{flex:0 0 auto;width:auto;max-width:max-content;align-self:flex-start}@media(max-width:800px){.form-layout .ts-appt-head{flex-wrap:wrap}.ts-appt-time{order:3;flex:1 1 100%;min-width:0;white-space:normal}.ts-billing-form .form-layout-header>vaadin-text-field:first-child{flex-basis:100%}.appointment-footer-buttons vaadin-button{min-width:0}}vaadin-button.ts-slot{width:auto;min-width:11rem;height:44px;padding-inline:16px;border:1px solid var(--ts-primary-300, #7FBDB7);border-radius:12px;background:var(--ts-primary-50, #EAF4F2);color:var(--ts-primary-700, #17524F);font-size:14px;font-weight:700}vaadin-button.ts-slot:hover{background:var(--ts-primary-100, #D5EAE7)}vaadin-avatar.avatar-over-700px{--vaadin-avatar-size: 96px;width:96px;height:96px;font-size:32px}.ts-bill-aside vaadin-tabsheet vaadin-vertical-layout>vaadin-checkbox,.ts-bill-aside vaadin-tabsheet vaadin-vertical-layout>vaadin-horizontal-layout:has(>vaadin-checkbox){padding:10px 2px;border-bottom:1px solid var(--ts-gray-100, #EFEDE7);width:100%;box-sizing:border-box}.ts-bill-aside vaadin-details{border:1px solid var(--ts-border, #E3E0D8);border-radius:12px;background:var(--ts-surface, #FFF)}@media(max-width:800px){vaadin-button.ts-slot{min-width:0;flex:1 1 40%}}@media(max-width:800px){.appointment-footer-buttons{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;padding:10px 12px!important}.appointment-footer-buttons>vaadin-button{width:100%!important;min-width:0!important;margin:0!important;--vaadin-button-padding: 0 4px;font-size:13px;white-space:nowrap}.appointment-footer-buttons>vaadin-button>vaadin-icon{display:none}.appointment-footer-buttons>vaadin-button[theme~=icon]>vaadin-icon{display:inline-block}}@media(min-width:801px)and (max-width:1600px){.appointment-footer-buttons>vaadin-button{min-width:5rem;--vaadin-button-padding: 0 8px}.appointment-footer-buttons>vaadin-button>vaadin-icon{display:none}.appointment-footer-buttons>vaadin-button[theme~=icon]>vaadin-icon{display:inline-block}}vaadin-avatar.avatar-over-700px::part(abbr){font-size:32px;line-height:1}@media(max-width:800px){vaadin-avatar.avatar-over-700px{--vaadin-avatar-size: 72px;width:72px;height:72px}vaadin-avatar.avatar-over-700px::part(abbr){font-size:24px}}.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-surface-alt, #FAF9F6)!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:var(--ts-primary-50, #EAF4F2);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, #FBE6E3);border:1px solid var(--ts-danger-400, #EF9A9A);border-radius:var(--ts-radius-sm, 10px);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:var(--ts-primary-400, #4F8F8B);transition:width var(--ts-transition-base, .2s ease)}.dashboard-progress-bar-fill.fill-warning{background:var(--ts-warning-400, #FFC03D)}.dashboard-progress-bar-fill.fill-danger{background:var(--ts-danger-400, #EF9A9A)}.dashboard-progress-bar-fill.fill-info{background:var(--ts-info-400, #79B8EF)}.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:1px solid var(--ts-danger-400, #EF9A9A)}.dashboard-period-alert.alert-amber{background:var(--ts-warning-50, #FFF3DB);color:var(--ts-warning-700, #A96600);border:1px solid var(--ts-warning-400, #FFC03D)}.dashboard-period-alert.alert-green{background:var(--ts-success-50, #E8F5E9);color:var(--ts-success-700, #2E7D32);border:1px 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:var(--ts-primary-50, #EAF4F2);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)}.ts-report-view{background:transparent}.ts-report-page{padding:24px!important}.ts-report-header{margin-bottom:4px}.ts-report-sub{margin:4px 0 0;color:var(--ts-text-muted, #5B6B66);font-size:14px}.ts-report-sidebar,.ts-report-search,.ts-report-row{background:var(--ts-surface, #FFF)!important;border:1px solid var(--ts-border, #E3E0D8);border-radius:16px!important;box-shadow:none!important}.ts-report-row{transition:border-color .15s ease,box-shadow .15s ease}.ts-report-row:hover{border-color:var(--ts-primary-300, #8DB5AE);box-shadow:var(--ts-shadow-md, 0 2px 4px rgba(23, 45, 40, .05), 0 10px 28px rgba(23, 45, 40, .08))!important}.ts-report-content{min-width:0}.ts-report-chips{display:none!important}@media(max-width:1100px){.ts-report-sidebar{display:none!important}.ts-report-chips{display:flex!important}}@media(max-width:800px){.ts-report-page{padding:12px!important}.ts-report-row{flex-wrap:wrap}.ts-report-row .report-run-btn{width:100%}}.ts-dash{max-width:100%;box-sizing:border-box}@media(max-width:740px){.ts-dash .ts-dash-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ts-dash .ts-dash-tabs vaadin-button{min-height:48px;margin:0}.ts-dash>header{padding:8px!important}.ts-dash vaadin-horizontal-layout:not(.ts-dash-tabs){flex-wrap:wrap!important;height:auto!important;align-content:flex-start}.ts-dash apex-charts-wrapper{display:block;min-height:300px}.ts-dash vaadin-horizontal-layout:not(.ts-dash-tabs)>*{flex:1 1 100%!important;width:100%!important;min-width:0!important;max-width:100%}.ts-dash vaadin-combo-box,.ts-dash vaadin-multi-select-combo-box,.ts-dash vaadin-date-picker{width:100%}.ts-dash vaadin-vertical-layout{padding-left:8px;padding-right:8px;min-width:0}.ts-dash vaadin-vertical-layout>*{max-width:100%}.ts-dash h2,.ts-dash h3{font-size:1.1rem;text-align:center}}.ts-dv2{display:flex;flex-direction:column;gap:var(--ts-space-3, 12px);padding:var(--ts-space-4, 16px);box-sizing:border-box;overflow-y:auto}.ts-dv2-scope{font-size:var(--lumo-font-size-s);color:var(--ts-gray-500, #66726B)}.ts-dv2-notice{padding:var(--ts-space-4, 16px);border:1px dashed var(--ts-border, #ddd);border-radius:var(--ts-radius-lg, 12px);color:var(--ts-gray-500, #66726B)}.ts-dv2-filters{display:flex;flex-wrap:wrap;gap:var(--ts-space-3, 12px);align-items:flex-end}.ts-dv2-filters>*{min-width:150px}.ts-dv2-body{min-width:0}.ts-dv2-panel{display:flex;flex-direction:column;gap:var(--ts-space-4, 16px)}.ts-dv2-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--ts-space-3, 12px)}.ts-dv2-kpi{display:flex;flex-direction:column;gap:2px;padding:var(--ts-space-3, 12px) var(--ts-space-4, 16px);background:var(--ts-surface, #fff);border:1px solid var(--ts-border, #e5e7e5);border-radius:var(--ts-radius-lg, 12px);min-width:0}.ts-dv2-kpi-label{font-size:var(--lumo-font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ts-gray-500, #66726B)}.ts-dv2-kpi-value{font-size:var(--lumo-font-size-xl);font-weight:700;color:var(--ts-gray-800, #1B2420);overflow-wrap:anywhere}.ts-dv2-kpi-delta{font-size:var(--lumo-font-size-xs);color:var(--ts-gray-500, #66726B)}.ts-dv2-kpi-delta.good{color:var(--ts-success-700, #1E7A4C)}.ts-dv2-kpi-delta.bad{color:#c4572f}.ts-dv2-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:var(--ts-space-4, 16px)}.ts-dv2-card{display:flex;flex-direction:column;gap:var(--ts-space-2, 8px);padding:var(--ts-space-4, 16px);background:var(--ts-surface, #fff);border:1px solid var(--ts-border, #e5e7e5);border-radius:var(--ts-radius-lg, 12px);min-width:0}.ts-dv2-card.ts-dv2-wide{grid-column:1 / -1}.ts-dv2-card-head h3{margin:0;font-size:var(--lumo-font-size-m);font-weight:600;color:var(--ts-gray-800, #1B2420)}.ts-dv2-sub{font-size:var(--lumo-font-size-xs);color:var(--ts-gray-500, #66726B)}.ts-chart-empty{display:flex;align-items:center;justify-content:center;color:var(--ts-gray-500, #66726B);font-size:var(--lumo-font-size-s)}.ts-heatmap{display:grid;gap:3px;width:100%;overflow-x:auto}.ts-heatmap-h,.ts-heatmap-d{font-size:var(--lumo-font-size-xxs);color:var(--ts-gray-500, #66726B);text-align:center;align-self:center}.ts-heatmap-c{display:flex;align-items:center;justify-content:center;min-height:30px;min-width:22px;border-radius:4px;background:var(--lumo-contrast-5pct, rgba(0, 0, 0, .04));font-size:var(--lumo-font-size-xxs);color:var(--ts-gray-800, #1B2420)}@media(max-width:740px){.ts-dv2{padding:var(--ts-space-3, 12px)}.ts-dv2-filters>*{flex:1 1 140px}.ts-dv2-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-dv2-card{padding:var(--ts-space-3, 12px)}}.ts-dv2-title-row{display:flex;align-items:center;gap:var(--lumo-space-xs);justify-content:space-between}.ts-dv2-info{margin:0;padding:0;min-width:0;color:var(--ts-gray-500, #66726B);width:auto;cursor:pointer}@media(max-width:800px){html:root{--ts-control-height: var(--ts-control-height-touch);--lumo-button-size: var(--ts-control-height-touch);--vaadin-input-field-value-font-size: 16px;--vaadin-input-field-label-font-size: 14px}[theme~=btn][theme~=primary][theme]{max-height:none;min-height:var(--ts-control-height-touch)}vaadin-dialog-overlay.appointment-dialog{padding:0!important}vaadin-dialog-overlay.appointment-dialog::part(overlay){width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;margin:0!important;border-radius:0}.form-layout-stretch{display:flex!important;flex-direction:column;height:100%;box-shadow:none}.form-layout-stretch>vaadin-scroller{flex:1 1 auto;min-height:0;height:auto}.form-layout-stretch>footer{flex:none}vaadin-dialog-overlay::part(overlay){max-width:100vw;max-height:100dvh}vaadin-grid::part(cell),vaadin-grid::part(header-cell){padding-inline:8px}vaadin-button[theme~=tertiary],vaadin-button[theme~=tertiary-inline]{width:auto;min-width:0}.form-layout .amount-section-highlight,.amount-section-highlight{margin-left:0!important;margin-inline-start:0!important;width:100%;box-sizing:border-box}.amount-section-highlight vaadin-form-item{--vaadin-form-item-label-width: 100%}.ts-page{padding:16px}h1.ts-page-title{font-size:32px}.ts-page-actions{width:100%;justify-content:flex-end}.ts-page-actions vaadin-button,.ts-filter-bar vaadin-button{min-height:var(--ts-control-height-touch)}.ts-filter-bar vaadin-text-field.ts-filter-search{flex-basis:100%}.ts-form-header{gap:12px}.ts-avatar-lg{width:48px;height:48px;font-size:20px}h1.ts-form-title{font-size:26px}.ts-card{padding:16px}.ts-patient-aside{flex-basis:100%;max-width:none}.ts-patient-page{padding:12px}.ts-price-row{grid-template-columns:1fr}.ts-dirty{grid-column:1 / -1}.patient-footer-buttons{gap:6px!important}.patient-footer-buttons vaadin-button{--vaadin-button-padding: 0 6px;font-size:13px}.patient-footer-buttons vaadin-button>vaadin-icon{display:none}.ts-price-row{width:100%;box-sizing:border-box}}@supports (padding: env(safe-area-inset-bottom)){.ts-bottom-nav{padding-bottom:calc(var(--ts-space-1) + env(safe-area-inset-bottom))}}@media(max-width:739px){vaadin-grid.ts-grid-cards{--lumo-base-color: transparent;border:none;border-radius:0;background:transparent}vaadin-grid.ts-grid-cards vaadin-grid-cell-content{padding:0}vaadin-grid.ts-grid-cards.ts-table-card{border:none;border-radius:0;box-shadow:none;background:transparent}vaadin-grid.ts-grid-cards::part(header-cell){display:none}vaadin-grid.ts-grid-cards::part(cell){background:transparent;border:none;padding:4px 0}}@media(max-width:800px){.ts-billing-form .form-layout-header{flex-wrap:wrap!important}.ts-billing-form .form-layout-header>vaadin-multi-select-combo-box,.ts-billing-form .form-layout-header>vaadin-combo-box{flex:1 1 100%;min-width:100%}}@media(max-width:800px){vaadin-horizontal-layout.footer-buttons.footer-buttons:not(.appointment-footer-buttons){display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-content:flex-start;gap:6px!important;padding:10px 12px!important}vaadin-horizontal-layout.footer-buttons.footer-buttons:not(.appointment-footer-buttons):after{content:"";order:1;flex:0 0 100%;height:0;margin-top:-6px}vaadin-horizontal-layout.footer-buttons.footer-buttons:not(.appointment-footer-buttons)>vaadin-button{order:0;flex:0 0 calc((100% - 12px) / 3)!important;height:44px!important;min-height:44px!important;max-height:44px!important;box-sizing:border-box;width:auto!important;min-width:0!important;margin:0!important;--vaadin-button-padding: 0 6px;font-size:13px;white-space:nowrap}vaadin-horizontal-layout.footer-buttons.footer-buttons:not(.appointment-footer-buttons)>vaadin-button[theme~=displacement]{order:2;flex:0 0 calc((100% - 18px)/4)!important}vaadin-horizontal-layout.footer-buttons.footer-buttons:not(.appointment-footer-buttons)>vaadin-button>vaadin-icon{display:none}vaadin-horizontal-layout.footer-buttons.footer-buttons:not(.appointment-footer-buttons)>vaadin-button[theme~=icon]{flex:0 0 44px!important}vaadin-horizontal-layout.footer-buttons.footer-buttons:not(.appointment-footer-buttons)>vaadin-button[theme~=icon]>vaadin-icon{display:inline-block}}@media(max-width:800px){.ts-legacy-list-page{margin:var(--lumo-space-xs)!important;max-width:100%}}html{--ts-primary-50: #EAF4F2;--ts-primary-100: #D5EAE7;--ts-primary-200: #B6D9D4;--ts-primary-300: #7FBDB7;--ts-primary-400: #1F6F6A;--ts-primary-500: #1A5E5A;--ts-primary-600: #154E4B;--ts-primary-700: #134744;--ts-primary-800: #0E2F2D;--ts-primary-900: #0A2220;--ts-primary-mid: #2B8782;--ts-accent: #C4572F;--ts-gray-0: #FFFFFF;--ts-gray-50: #F5F4F0;--ts-gray-100: #EFEDE7;--ts-gray-200: #E3E0D8;--ts-gray-300: #CFCBC0;--ts-gray-400: #98A39D;--ts-gray-500: #66726B;--ts-gray-600: #44504A;--ts-gray-700: #2F3A35;--ts-gray-800: #1B2420;--ts-gray-900: #101714;--ts-bg: var(--ts-gray-50);--ts-surface: var(--ts-gray-0);--ts-soft: var(--ts-gray-100);--ts-border: var(--ts-gray-200);--ts-border-strong: var(--ts-gray-300);--ts-text: var(--ts-gray-800);--ts-text-2: var(--ts-gray-600);--ts-text-3: var(--ts-gray-500);--ts-surface-alt: #FAF9F6;--ts-success-50: #E3F3EA;--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: #1E7A4C;--ts-warning-50: #FBEFD2;--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: #7A5000;--ts-danger-50: #FBE6E3;--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: #A8322D;--ts-info-50: #E2EEFA;--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: #1F5E9E;--ts-purple-50: #EEE9F8;--ts-purple-500: #7E57C2;--ts-purple-700: #5B3FA3;--ts-appt-confirmed-bg: #DDF0E5;--ts-appt-confirmed-fg: #14573A;--ts-appt-pending-bg: #FBEBC8;--ts-appt-pending-fg: #6E4700;--ts-appt-cancelled-bg: #F7DAD6;--ts-appt-cancelled-fg: #8C2A25;--ts-appt-virtual-bg: #DCEAF8;--ts-appt-virtual-fg: #194F86;--ts-appt-completed-bg: #E4E7E5;--ts-appt-completed-fg: #3F4A45;--ts-appt-noshow-bg: #FBDDCB;--ts-appt-noshow-fg: #8F3A12;--ts-appt-confirmed-from: #4CAF50;--ts-appt-confirmed-to: #4CAF50;--ts-appt-pending-from: #F5A623;--ts-appt-pending-to: #F5A623;--ts-appt-cancelled-from: #E57373;--ts-appt-cancelled-to: #E57373;--ts-appt-virtual-from: #4C8EDA;--ts-appt-virtual-to: #4C8EDA;--ts-appt-completed-from: #78909C;--ts-appt-completed-to: #78909C;--ts-appt-noshow-from: #FF7043;--ts-appt-noshow-to: #FF7043;--ts-radius-sm: 8px;--ts-radius-md: 12px;--ts-radius-input: 10px;--ts-radius-lg: 16px;--ts-radius-xl: 22px;--ts-radius-full: 999px;--ts-shadow-xs: 0 1px 2px rgba(23, 45, 40, .06);--ts-shadow-sm: 0 1px 2px rgba(23, 45, 40, .06), 0 2px 8px rgba(23, 45, 40, .04);--ts-shadow-md: 0 2px 4px rgba(23, 45, 40, .05), 0 10px 28px rgba(23, 45, 40, .08);--ts-shadow-lg: 0 4px 8px rgba(23, 45, 40, .06), 0 24px 56px rgba(23, 45, 40, .14);--ts-shadow-xl: 0 8px 16px rgba(23, 45, 40, .08), 0 32px 64px rgba(23, 45, 40, .16);--ts-focus-ring: 0 0 0 4px rgba(31, 111, 106, .16);--ts-focus-ring-danger: 0 0 0 4px rgba(168, 50, 45, .12);--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-control-height: 40px;--ts-control-height-touch: 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: "Figtree", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ts-font-display: "Newsreader", Georgia, "Times New Roman", serif;--ts-font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", ui-monospace, monospace;--ts-text-display-size: 40px;--ts-text-display-height: 1.1;--ts-text-display-spacing: -.02em;--ts-text-display-weight: 500;--ts-text-h1-size: 28px;--ts-text-h1-height: 1.2;--ts-text-h1-spacing: -.02em;--ts-text-h1-weight: 500;--ts-text-h2-size: 18px;--ts-text-h2-height: 1.4;--ts-text-h2-spacing: -.01em;--ts-text-h2-weight: 700;--ts-text-h3-size: 15px;--ts-text-h3-height: 1.5;--ts-text-h3-spacing: 0;--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: .06em;--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-kpi-size: 36px;--ts-text-kpi-height: 1.1;--ts-text-kpi-spacing: -.02em;--ts-text-kpi-weight: 500;--ts-text-mono-size: 13px;--ts-text-mono-height: 1.5;--ts-text-mono-spacing: 0;--ts-text-mono-weight: 400}.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-sm);overflow:hidden}.ts-panel-elevated{box-shadow:var(--ts-shadow-md)}.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:1px solid var(--ts-primary-200);background:var(--ts-primary-50);border-radius:var(--ts-radius-lg);box-shadow:var(--ts-shadow-sm)}.ts-panel-alert{border:1px solid var(--ts-danger-400);background:var(--ts-danger-50);border-radius:var(--ts-radius-lg);box-shadow:var(--ts-shadow-sm)}.ts-panel-warning{border:1px solid var(--ts-warning-200);background:var(--ts-warning-50);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:1px solid var(--ts-primary-200);border-radius:var(--ts-radius-md);padding:var(--ts-space-4)}.ts-kpi-warning{background:var(--ts-warning-50);border:1px solid var(--ts-warning-200);border-radius:var(--ts-radius-md);padding:var(--ts-space-4)}.ts-kpi-danger{background:var(--ts-danger-50);border:1px solid var(--ts-danger-400);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-family:var(--ts-font-display);font-size:30px;font-weight:500;letter-spacing:-.02em;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);font-size:13px;box-shadow:var(--ts-shadow-xs);cursor:pointer;transition:filter var(--ts-transition-base),transform var(--ts-transition-base);overflow:hidden}.ts-appt:hover{filter:brightness(.97);transform:translateY(-1px);box-shadow:var(--ts-shadow-sm)}.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:var(--ts-appt-confirmed-bg);color:var(--ts-appt-confirmed-fg)}.ts-appt-pending{background:var(--ts-appt-pending-bg);color:var(--ts-appt-pending-fg)}.ts-appt-cancelled{background:var(--ts-appt-cancelled-bg);color:var(--ts-appt-cancelled-fg)}.ts-appt-virtual{background:var(--ts-appt-virtual-bg);color:var(--ts-appt-virtual-fg)}.ts-appt-completed{background:var(--ts-appt-completed-bg);color:var(--ts-appt-completed-fg)}.ts-appt-noshow{background:var(--ts-appt-noshow-bg);color:var(--ts-appt-noshow-fg)}.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)}}@font-face{font-family:Figtree;font-style:normal;font-weight:400 700;font-display:swap;src:url(./figtree-latin-ext-C5tEHAKb.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:400 700;font-display:swap;src:url(./figtree-latin-CEHu_veL.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:500 600;font-display:swap;src:url(./newsreader-latin-ext-D-f043e1.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:500 600;font-display:swap;src:url(./newsreader-latin-DBQoWVJ5.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.ts-display,h2.ts-view-title{font-family:var(--ts-font-display);font-weight:500;letter-spacing:-.01em}h2.ts-view-title{font-size:1.5rem;line-height:1.2;color:var(--ts-gray-800)}@media(max-width:800px),(max-height:600px){h2.ts-view-title{font-size:1.125rem;min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}vaadin-avatar{--vaadin-avatar-outline-width: 1px;border-color:var(--ts-gray-300)}vaadin-app-layout::part(navbar){background:var(--ts-surface);border-bottom:1px solid var(--ts-border);box-shadow:none}vaadin-app-layout::part(drawer){background:var(--ts-surface);border-inline-end:1px solid var(--ts-border)}.ts-drawer-brand{display:flex;align-items:center;gap:10px;padding:var(--ts-space-4) var(--ts-space-4) var(--ts-space-2)}.ts-drawer-brand img{width:36px;height:36px;object-fit:contain}.ts-brand-name{font-family:var(--ts-font-display);font-size:22px;font-weight:500;letter-spacing:-.01em;color:var(--ts-gray-800)}vaadin-side-nav-item::part(content){border-radius:var(--ts-radius-md);font-size:14px;font-weight:600;color:var(--ts-gray-600)}vaadin-side-nav-item::part(content):hover{background:var(--ts-gray-50);color:var(--ts-gray-800)}vaadin-side-nav-item[current]::part(content){background:var(--ts-primary-100);color:var(--ts-primary-700);font-weight:700}vaadin-side-nav-item[slot=children]::part(content){font-weight:500}vaadin-side-nav-item[slot=children][current]::part(content){font-weight:700}.ts-bottom-nav{display:none}@media(max-width:800px),(max-height:600px){.ts-bottom-nav{display:grid}}.ts-bottom-nav{grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%;align-items:stretch;padding:0 var(--ts-space-2) var(--ts-space-1);box-sizing:border-box}.ts-bottom-nav a,.ts-bottom-nav button{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;font-family:var(--ts-font-family);font-size:11px;font-weight:700;color:var(--ts-gray-500);cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:transparent}.ts-bottom-nav .ts-bottom-nav-icon{width:52px;height:30px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;transition:background var(--ts-transition-base),color var(--ts-transition-base)}.ts-bottom-nav .ts-bottom-nav-icon svg,.ts-bottom-nav .ts-bottom-nav-icon vaadin-icon{width:20px;height:20px}.ts-bottom-nav a[highlight]{color:var(--ts-primary-700)}.ts-bottom-nav a[highlight] .ts-bottom-nav-icon{background:var(--ts-primary-100)}.ts-bottom-nav a:focus-visible,.ts-bottom-nav button:focus-visible{outline:2px solid var(--ts-primary-400);outline-offset:-2px;border-radius:var(--ts-radius-md)}vaadin-dialog-overlay::part(overlay){background:var(--ts-surface);border-radius:var(--ts-radius-xl);box-shadow:var(--ts-shadow-lg)}vaadin-dialog-overlay::part(backdrop){background:#17211d73}vaadin-dialog-overlay::part(title){font-family:var(--ts-font-display);font-size:1.5rem;font-weight:500;letter-spacing:-.01em;color:var(--ts-gray-800)}vaadin-dialog-overlay::part(footer){background:var(--ts-surface-alt);border-top:1px solid var(--ts-gray-100)}vaadin-notification-card::part(overlay){border-radius:var(--ts-radius-md);box-shadow:var(--ts-shadow-md);font-weight:600}[theme~=badge]{font-family:var(--ts-font-family);font-size:12px;font-weight:700;border-radius:var(--ts-radius-full)}.ts-badge{min-height:24px;box-sizing:border-box}vaadin-grid{--lumo-base-color: var(--ts-surface)}.ts-mcard{display:flex;flex-direction:column;gap:8px;width:100%;box-sizing:border-box;padding:14px 16px;background:var(--ts-surface);border:1px solid var(--ts-border);border-radius:var(--ts-radius-lg);box-shadow:var(--ts-shadow-sm);font-family:var(--ts-font-family);color:var(--ts-gray-800)}.ts-mcard-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.ts-mcard-end{flex:none;display:inline-flex;align-items:center}.ts-mcard-end>span,.ts-mcard-end>vaadin-vertical-layout,.ts-mcard-end>vaadin-horizontal-layout{width:auto;padding:0;margin:0}.ts-mcard-code{font-family:var(--ts-font-mono);font-size:13px;font-weight:500;color:var(--ts-primary-700)}.ts-mcard-title{flex:1 1 auto;min-width:0;font-size:16px;font-weight:700;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-mcard-muted{font-size:13px;color:var(--ts-gray-500);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-mcard-strong{flex:none;font-size:13px;font-weight:700;color:var(--ts-gray-800);font-variant-numeric:tabular-nums}.ts-page{background:transparent;box-sizing:border-box;padding:24px 32px 32px}vaadin-vertical-layout.ts-page-body{gap:16px;overflow:auto}.ts-page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;width:100%}.ts-page-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}h1.ts-page-title{margin:0;font-family:var(--ts-font-display);font-weight:500;font-size:40px;line-height:1.05;letter-spacing:-.02em;color:var(--ts-gray-800)}.ts-page-count{font-size:15px;font-weight:600;color:var(--ts-gray-500)}.ts-page-actions{display:flex;align-items:center;gap:10px}.ts-page-actions vaadin-button,.ts-filter-bar vaadin-button{width:auto;min-width:0}.ts-filter-card{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;padding:12px;background:var(--ts-surface);border:1px solid var(--ts-border);border-radius:var(--ts-radius-lg);box-shadow:var(--ts-shadow-sm)}.ts-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ts-filter-bar vaadin-text-field.ts-filter-search{flex:1 1 280px;min-width:0;padding:0;margin:0}vaadin-button.ts-filter-active{background:var(--ts-primary-50);color:var(--ts-primary-700)}.ts-filter-more{display:flex;flex-direction:column;gap:16px;padding-top:14px;border-top:1px solid var(--ts-border)}.ts-chip-groups{display:flex;flex-wrap:wrap;gap:16px 32px}.ts-chip-group{display:flex;flex-direction:column;gap:8px}.ts-chip-group-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ts-gray-500)}.ts-chips{display:flex;flex-wrap:wrap;gap:8px}.ts-chip{height:36px;padding:0 14px;border:1px solid var(--ts-gray-300);border-radius:var(--ts-radius-full);background:var(--ts-surface);color:var(--ts-gray-700);font:600 13px var(--ts-font-family);cursor:pointer;transition:background var(--ts-transition-fast),border-color var(--ts-transition-fast)}.ts-chip:hover{border-color:var(--ts-primary-300)}.ts-chip:focus-visible{outline:none;box-shadow:var(--ts-focus-ring)}.ts-chip.ts-chip-on{background:var(--ts-primary-50);border-color:var(--ts-primary-300);color:var(--ts-primary-700)}vaadin-grid.ts-table-card{background:var(--ts-surface);border:1px solid var(--ts-border);border-radius:var(--ts-radius-lg);box-shadow:var(--ts-shadow-sm);overflow:hidden}.ts-code{font-family:var(--ts-font-mono);font-size:13px;font-weight:500;color:var(--ts-primary-700)}.ts-initials{flex:none;width:38px;height:38px;border-radius:50%;background:var(--ts-gray-100);color:var(--ts-primary-700);font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.ts-prow{display:flex;align-items:center;gap:12px;min-width:0}.ts-prow-text,.ts-cell-2{display:flex;flex-direction:column;min-width:0;line-height:1.35}.ts-prow-name{font-weight:700}.ts-cell-sub{font-size:12px;color:var(--ts-gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-cell-text{color:var(--ts-gray-600)}.ts-mcard-who{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0}@media(max-width:600px){vaadin-app-layout:not([overlay]) .ts-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--ts-surface, #fff);border-top:1px solid var(--ts-border, #E3E0D8);padding-bottom:calc(var(--ts-space-1, 4px) + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 16px #172d280f}vaadin-app-layout:not([overlay])::part(content){padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));box-sizing:border-box}}html{--lumo-base-color: var(--ts-gray-50);--lumo-body-text-color: var(--ts-gray-800);--lumo-contrast: #1B2420;--lumo-contrast-10pct: rgba(27, 36, 32, .1);--lumo-contrast-20pct: rgba(27, 36, 32, .2);--lumo-contrast-30pct: rgba(27, 36, 32, .3);--lumo-contrast-40pct: rgba(27, 36, 32, .4);--lumo-contrast-50pct: rgba(27, 36, 32, .5);--lumo-contrast-5pct: rgba(27, 36, 32, .05);--lumo-contrast-60pct: rgba(27, 36, 32, .6);--lumo-contrast-70pct: rgba(27, 36, 32, .7);--lumo-contrast-80pct: rgba(27, 36, 32, .8);--lumo-contrast-90pct: rgba(27, 36, 32, .9);--lumo-disabled-text-color: rgba(27, 36, 32, .35);--lumo-error-color: var(--ts-danger-700);--lumo-error-color-10pct: rgba(168, 50, 45, .1);--lumo-error-color-50pct: rgba(168, 50, 45, .5);--lumo-error-contrast-color: #ffffff;--lumo-error-text-color: var(--ts-danger-700);--lumo-heading-text-color: var(--ts-gray-800);--lumo-primary-color: var(--ts-primary-400);--lumo-primary-color-10pct: rgba(31, 111, 106, .1);--lumo-primary-color-50pct: rgba(31, 111, 106, .5);--lumo-primary-contrast-color: #ffffff;--lumo-primary-text-color: var(--ts-primary-700);--lumo-secondary-text-color: var(--ts-gray-500);--lumo-success-color: var(--ts-success-700);--lumo-success-color-10pct: rgba(30, 122, 76, .1);--lumo-success-color-50pct: rgba(30, 122, 76, .5);--lumo-success-contrast-color: #ffffff;--lumo-success-text-color: var(--ts-success-700);--lumo-tertiary-text-color: var(--ts-gray-400);--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: var(--ts-warning-500);--lumo-warning-color-10pct: rgba(245, 166, 35, .14);--lumo-warning-text-color: var(--ts-warning-700);--lumo-warnng-contrast-color: #182739f0;--lumo-border-radius-s: .375rem;--lumo-border-radius-m: .75rem;--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(--ts-gray-300);--vaadin-button-background: #FFF;--vaadin-button-border: 1px solid var(--ts-gray-300);--lumo-font-family: var(--ts-font-family);--vaadin-input-field-border-radius: var(--ts-radius-input);--vaadin-input-field-value-font-size: 14px;--vaadin-input-field-label-font-size: 13px;--vaadin-input-field-label-font-weight: 600;--vaadin-input-field-label-color: var(--ts-gray-600);--vaadin-input-field-focused-label-color: var(--ts-primary-700);--vaadin-input-field-placeholder-color: var(--ts-gray-400);--vaadin-input-field-disabled-background: var(--ts-gray-100);--vaadin-input-field-disabled-value-color: var(--ts-gray-500);--vaadin-input-field-error-font-size: 12px;--vaadin-input-field-error-font-weight: 600;--vaadin-input-field-helper-font-size: 12px;--vaadin-focus-ring-color: var(--ts-primary-400);--lumo-button-size: var(--ts-control-height);--vaadin-button-border-radius: var(--ts-radius-md);--vaadin-button-font-weight: 600;--vaadin-button-font-size: 14px;--vaadin-button-text-color: var(--ts-primary-700);--vaadin-button-primary-font-weight: 700;--vaadin-button-tertiary-font-weight: 600;--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(--ts-gray-300)}.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}}
