body[theme=light] .login-card{box-shadow:var(--lumo-box-shadow-m);background-color:var(--lumo-base-color);border:1px solid var(--lumo-contrast-10pct)}body[theme=light] .line-separator{border:1px inset}body[theme=light] .card{box-shadow:var(--lumo-box-shadow-m);background-color:var(--lumo-base-color);border:1px solid var(--lumo-contrast-10pct);border-radius:5px}body[theme=light] .card .card-header{background-color:var(--lumo-contrast-30pct);border-bottom:1px solid var(--lumo-contrast-10pct)}body[theme=light] .panel{height:170px;border:1px inset var(--lumo-contrast-20pct);border-radius:var(--lumo-border-radius-m);background-color:#000000eb;box-shadow:var(--lumo-box-shadow-s)}body[theme=dark] .login-card{box-shadow:var(--lumo-box-shadow-m);background-color:var(--lumo-base-color);border:1px solid var(--lumo-contrast-10pct)}body[theme=dark] .line-separator{border:1px inset var(--lumo-contrast-10pct)}body[theme=dark] .card{box-shadow:var(--lumo-box-shadow-m);background-color:var(--lumo-base-color);border:1px solid var(--lumo-contrast-5pct);border-radius:5px}body[theme=dark] .card .card-header{background-color:var(--lumo-contrast-5pct);border-bottom:1px solid var(--lumo-contrast-5pct)}body[theme=dark] .panel{height:170px;border:1px solid var(--lumo-contrast-20pct);border-radius:var(--lumo-border-radius-m);background-color:#ffffffd6;box-shadow:var(--lumo-box-shadow-s)}.hide-nav-on-mobile{display:flex}.mobile-only{display:none}.desktop-only{display:flex}@media (max-width: 900px){.hide-nav-on-mobile{display:none!important}.mobile-only{display:flex!important}.desktop-only{display:none!important}:root{--bottom-tabs-height: 64px}vaadin-app-layout::part(content){padding-bottom:calc(var(--bottom-tabs-height) + env(safe-area-inset-bottom))}.bottom-tabs{position:fixed;z-index:100;left:0;right:0;bottom:0;height:var(--bottom-tabs-height);box-shadow:0 -2px 8px #0000001f;background:var(--lumo-base-color);align-items:center;justify-content:center;padding:0 var(--lumo-space-m)}.fab{position:fixed;z-index:200;right:16px;bottom:calc(var(--bottom-tabs-height) + 16px + env(safe-area-inset-bottom));border-radius:999px;height:48px;min-width:48px;box-shadow:var(--lumo-box-shadow-m)}}.avatar-bar{margin-right:var(--lumo-space-m)}.avatar-bar vaadin-avatar{cursor:pointer}.host-dashboard{box-sizing:border-box}.host-dashboard .hd-header{padding:var(--lumo-space-m)}.host-dashboard .hd-charts{display:grid;grid-template-columns:3fr 2fr;gap:var(--lumo-space-m);padding:var(--lumo-space-m)}.host-dashboard .hd-card{min-width:0}.host-dashboard .chart{height:340px}@media (max-width: 900px){.host-dashboard .hd-charts{grid-template-columns:1fr;padding:var(--lumo-space-m);padding-bottom:calc(var(--bottom-tabs-height) + var(--lumo-space-m) + env(safe-area-inset-bottom))}.host-dashboard .chart{height:260px}}.visitor-toolbar{display:flex;align-items:center;gap:var(--lumo-space-m);width:100%;padding:var(--lumo-space-m);padding-bottom:var(--lumo-space-s);margin:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;white-space:nowrap;flex-shrink:0}.toolbar-field-grow{flex:1 1 auto;min-width:0}.toolbar-compact{flex:0 0 auto;width:max-content}.visitor-toolbar vaadin-select,.visitor-toolbar vaadin-text-field,.visitor-toolbar vaadin-button{min-width:0}.refresh-icon-btn{padding-left:var(--lumo-space-s);padding-right:var(--lumo-space-s)}.visitor-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--lumo-space-s);padding:var(--lumo-space-m);border-bottom:1px solid var(--lumo-contrast-10pct);background:var(--lumo-base-color)}.visitor-left{display:flex;flex-direction:column;align-items:center;gap:var(--lumo-space-xs);min-width:64px;margin-right:var(--lumo-space-s)}.visitor-avatar{width:64px;height:64px}.visitor-when-date,.visitor-when-time{padding-right:4px;font-size:var(--lumo-font-size-s);color:var(--lumo-secondary-text-color);line-height:1.1;text-align:center;white-space:nowrap}.visitor-info{min-width:0}.visitor-name{font-weight:700;margin:0;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visitor-badges{display:flex;flex-wrap:wrap;column-gap:var(--lumo-space-s);row-gap:var(--lumo-space-xs);margin:0 0 var(--lumo-space-xs) 0}.visitor-actions{display:flex;align-items:center;justify-content:flex-end}.visitor-fab{position:fixed;z-index:200;right:16px;bottom:calc(var(--bottom-tabs-height, 0px) + 16px + env(safe-area-inset-bottom));border-radius:999px;height:56px;min-width:56px;box-shadow:var(--lumo-box-shadow-m)}@media (max-width: 900px){.visitor-avatar{width:56px;height:56px}.visitor-left{min-width:56px}.visitor-list-host{padding-bottom:calc(64px + var(--lumo-space-m) + env(safe-area-inset-bottom))}}:root{--dash-chart-height: 340px}@media (max-width: 1200px){:root{--dash-chart-height: 300px}}@media (max-width: 900px){:root{--dash-chart-height: 260px}}.dash-chart-container{height:var(--dash-chart-height);width:100%;min-height:0}.dash-chart{height:100%;width:100%}.dash-chart-header{width:100%;height:40px;display:flex;align-items:center}.dash-card,.dash-flex-fix{min-height:0}@media (max-width: 900px){.highcharts-tooltip text{font-size:12px!important}}.party-toolbar{display:flex;align-items:center;gap:var(--lumo-space-m);width:100%;padding:var(--lumo-space-m);padding-bottom:var(--lumo-space-s);margin:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;white-space:nowrap;flex-shrink:0}.party-toolbar .toolbar-field-grow{flex:1 1 auto;min-width:0}.party-toolbar .toolbar-compact{flex:0 0 auto;width:max-content}.party-toolbar vaadin-text-field,.party-toolbar vaadin-button{min-width:0}.party-refresh-icon{padding-left:var(--lumo-space-s);padding-right:var(--lumo-space-s)}.mobile-only{display:none!important}.hide-on-mobile{display:inline-flex!important}@media (max-width: 900px){.mobile-only{display:inline-flex!important}.hide-on-mobile{display:none!important}}.party-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--lumo-space-s);padding:var(--lumo-space-m);border-bottom:1px solid var(--lumo-contrast-10pct);background:var(--lumo-base-color)}.party-left{display:flex;flex-direction:column;align-items:center;gap:var(--lumo-space-xs);min-width:64px;margin-right:var(--lumo-space-s)}.party-avatar{width:64px;height:64px}.party-when-date,.party-when-time{font-size:var(--lumo-font-size-s);color:var(--lumo-secondary-text-color);line-height:1.1;text-align:center;white-space:nowrap}.party-when-date{padding-right:4px}.party-info{min-width:0}.party-name{text-wrap:auto;font-weight:700;margin:0 0 var(--lumo-space-xs) 0;line-height:1.15;overflow:hidden;text-overflow:ellipsis}.party-desc{text-wrap:auto;color:var(--lumo-secondary-text-color);margin:0;overflow:hidden;text-overflow:ellipsis}.party-actions{display:flex;align-items:center;justify-content:flex-end}.party-fab{position:fixed;z-index:200;right:16px;bottom:calc(var(--bottom-tabs-height, 0px) + 16px + env(safe-area-inset-bottom));border-radius:999px;height:56px;min-width:56px;box-shadow:var(--lumo-box-shadow-m)}vaadin-context-menu-overlay,vaadin-overlay[theme~=context-menu]{z-index:1100!important}@media (max-width: 900px){.party-avatar{width:56px;height:56px}.party-left{min-width:56px}}.visitor-row{padding:12px;border:1px solid var(--lumo-contrast-10pct);border-radius:8px;margin-bottom:10px;background:var(--lumo-base-color);box-shadow:var(--lumo-box-shadow-xs)}.visitor-name{font-weight:600;font-size:var(--lumo-font-size-m)}.visitor-detail{font-size:var(--lumo-font-size-s);color:var(--lumo-secondary-text-color)}.separator{display:flex;align-items:center;text-align:center;margin:12px 0}.separator:before,.separator:after{content:"";flex:1;border-bottom:1px solid #ccc}.separator:not(:empty):before{margin-right:.5em}.separator:not(:empty):after{margin-left:.5em}@media (max-width: 600px){.visitor-row{padding:10px}.visitor-detail{display:block;margin-top:4px}.party-when-date,.party-when-time{font-size:var(--lumo-font-size-xs)!important}}@media (max-width: 900px){.party-list-host{padding-bottom:calc(64px + var(--lumo-space-m) + env(safe-area-inset-bottom))}}.access-transaction-item{padding:10px 12px;border-bottom:1px solid var(--lumo-contrast-10pct)}.transaction-secondary{color:var(--lumo-secondary-text-color);font-size:14px}.transaction-date{font-size:12px}.transaction-type{color:#7d7d7d;font-size:11px}@media (max-width: 900px){.sm-screen-bottom-padding{padding-bottom:calc(64px + var(--lumo-space-m) + env(safe-area-inset-bottom))}}@media (max-width: 900px){vaadin-dialog-overlay[theme~=responsive-sheet] .host-profile-tabsheet vaadin-tabs{display:none!important}vaadin-dialog-overlay[theme~=responsive-sheet]::part(content){box-sizing:border-box;overflow:auto;overflow-x:hidden}vaadin-dialog-overlay[theme~=responsive-sheet] ::slotted(*){min-inline-size:0!important;max-width:100%!important}vaadin-dialog-overlay[theme~=responsive-sheet] ::slotted(img),vaadin-dialog-overlay[theme~=responsive-sheet] ::slotted(vaadin-upload),vaadin-dialog-overlay[theme~=responsive-sheet] ::slotted(vaadin-form-layout),vaadin-dialog-overlay[theme~=responsive-sheet] ::slotted(vaadin-horizontal-layout),vaadin-dialog-overlay[theme~=responsive-sheet] ::slotted(vaadin-vertical-layout){min-inline-size:0!important;max-width:100%!important}vaadin-dialog-overlay[theme~=responsive-sheet] ::slotted(img){width:100%;height:auto}.mobile-hidden{display:none!important}.responsive-dialog{max-width:100vw;max-height:100vh}.responsive-dialog::part(overlay){width:100%;height:100%}}@media (min-width: 901px){.dialog-tab-switcher{display:none!important}.responsive-dialog{max-width:75%;max-height:85%}.responsive-dialog::part(overlay){width:100%;height:100%}.responsive-dialog-sm::part(overlay){width:400px}}:root{--lumo-font-size-m: .85rem;--lumo-space-m: .6rem;--lumo-size-m: 2rem}html{--vaadin-app-layout-drawer-width: 19em}:host(.host-dashboard){height:100%;min-height:0}:host(.host-dashboard) .charts-row{min-height:0;min-width:0;overflow:hidden}:host(.host-dashboard) .chart-card{display:flex;flex-direction:column;min-width:0;min-height:0}:host(.host-dashboard) .chart-card>*{flex:1 1 auto;min-height:0;min-width:0;overflow:hidden}vaadin-app-layout::part(drawer){overflow-y:hidden!important}.CrudFormMainLayout{overflow-y:auto!important;height:100%!important;align-content:center}.CrudFormMainLayout .CrudFormMainViewContainer{border-top-right-radius:5px!important;border-top-left-radius:5px!important;background:#fafafa!important;height:100%!important;overflow-y:auto!important;margin-left:auto;margin-right:auto;padding:25px 12px}.CrudFormMainLayout .CrudFormMainViewContainer .CrudFormTabMenuLayout{border-bottom:1px solid rgba(125,125,125,.2)}.CrudFormMainLayout .CrudFormMainViewContainer .CrudFormTabMenuLayout .CrudFormTabMenuButton{border-radius:0!important;background:inherit!important;border:none!important;border-right:1px solid rgba(125,125,125,.2);box-shadow:none!important;padding:25px 22px!important}.CrudFormMainLayout .CrudFormMainViewContainer .CrudFormTabMenuLayout .CrudFormActiveTabButton{background:#f2f2f2!important;border-top:2px solid #BD1918!important}.CrudFormMainLayout .CrudFormMainViewContainer .CrudFormFieldMainContainer{padding-bottom:10px!important}.CrudFormMainLayout .CrudFormMainViewContainer .CrudFormFieldMainContainer .CrudFormFieldContainer{padding:5px 25px!important}.CrudFormMainLayout .CrudFormMainViewContainer .CrudFormFieldMainContainer .CrudFormFieldContainer .v-caption-CrudFormField .v-captiontext>img{margin-left:10px!important}.CrudFormMainLayout .CrudFormMainViewContainer .CrudFormFieldMainContainer .CrudFormFieldContainer .CrudFormField{background:inherit!important}.CrudFormMainLayout .CrudFormMainViewContainer .CrudFormFieldMainContainer .CrudFormFieldContainer .v-label-CrudFormField{white-space:normal!important}.CrudFormMainLayout .CrudFormMainViewContainer .CrudFormButtonContainer{text-align:center!important;padding:15px 25px!important}.CrudFormMainLayout .CrudFormMainViewContainer .CrudFormButtonContainer .CrudFormSaveButton,.CrudFormMainLayout .CrudFormMainViewContainer .CrudFormButtonContainer .CrudFormDeleteButton{background:#bd1918!important;border:1px solid #BD1918!important;box-shadow:none!important;color:#fff!important;font-size:16px!important;padding-left:40px!important;padding-right:40px!important;height:45px!important;margin-right:10px!important;font-weight:700!important;margin-top:18px}.CrudFormMainLayout .CrudFormMainViewContainer .CrudFormButtonContainer .CrudFormCancelButton{background:inherit!important;border:1px solid rgba(125,125,125,.2);color:#474747!important;font-size:16px!important;padding-left:40px!important;padding-right:40px!important;height:45px!important;border-radius:20px!important;margin-left:10px!important;font-weight:700!important;margin-top:18px}.CrudFormMainLayout .CrudFormMainViewContainer .CrudFormButtonContainer .CrudFormButton{background:#d8d8d87d!important;border:1px solid rgba(216,216,216,.49019607843137253)!important;color:#474747!important;font-size:16px!important;padding-left:40px!important;padding-right:40px!important;height:45px!important;margin-left:10px!important;box-shadow:none!important;font-weight:700!important;margin-top:18px}.CrudFormMainLayout .CrudFormMainViewContainer,.CrudFormMainLayout .first{border-top-left-radius:5px!important}.CrudFormMainLayout .CrudFormMainViewContainer.Registration{max-width:500px!important;margin-top:100px!important;border:1px solid lightgray!important;background:#fafafa!important;box-shadow:0 4px 30px -2px #7d7d7d33!important;height:auto!important}vaadin-side-nav-item{text-transform:capitalize}.view-title{text-wrap:nowrap}.form-dialog::part(overlay){width:100%;max-width:100%}vaadin-button{cursor:pointer}.custom-label{color:var(--vaadin-input-field-label-color)}.tc-background-green{background-color:green!important;color:#fff!important}.tc-background-yellow{background-color:#ff0!important}.tc-background-red{background-color:red!important;color:#fff!important}.tc-background-orange{background-color:#ff8c00!important}.text-field-tfwb{border:none!important;background:#fff;-webkit-border-image:none!important;padding:0!important}.tc-hiddenfield{visibility:hidden}.tc-line-through{text-decoration:line-through}.base-dialog::part(footer){padding:6px 10px}vaadin-context-menu-item:focus{outline:none;box-shadow:none}vaadin-date-time-picker.date-only-time-hidden vaadin-time-picker{display:none!important}.avatar-border{border:1px solid var(--lumo-contrast-5pct)}.avatar-camera-btn{position:absolute;right:-6px;bottom:-6px;border-radius:50%;box-shadow:0 1px 4px #0000004d}.sectioned-card{padding-left:0;padding-right:0;background:none}.sectioned-card::part(header){border-bottom:2px solid var(--lumo-contrast-20pct);padding-bottom:var(--lumo-space-m);padding-left:var(--lumo-space-s);padding-right:var(--lumo-space-s)}.sectioned-card::part(content){padding-left:var(--lumo-space-s);padding-right:var(--lumo-space-s)}.mobile-uploader vaadin-upload-file-list{display:none}@media (min-width: 600px){.form-dialog::part(overlay){width:80%;max-width:80%}}@media (min-width: 900px){.form-dialog::part(overlay){width:70%;max-width:70%}}@media (min-width: 350px){.medium-dialog::part(overlay){width:100%;max-width:100%}.host-header-site-name{align-items:center;font-size:.8rem}}@media (max-width: 600px){.cam-btn-desktop{display:none}.cam-btn-mobile{display:inline-flex}.host-header-site-name{align-items:center;font-size:1rem}}@media (min-width: 600px){.medium-dialog::part(overlay){width:70%;max-width:70%}.cam-btn-desktop{display:inline-flex}.cam-btn-mobile{display:none}.host-header-site-name{align-items:center;font-size:1.2rem}}@media (min-width: 900px){.medium-dialog::part(overlay){width:60%;max-width:60%}.host-header-site-name{align-items:center;font-size:1.3rem}}@media (min-width: 1100px){.host-header-site-name{align-items:center;font-size:1.5rem}}.visitor-history-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--lumo-space-m);padding:var(--lumo-space-m);border-bottom:1px solid var(--lumo-contrast-10pct)}.vh-left{min-width:0;white-space:normal;word-break:break-word;font-weight:600}.vh-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:2px}.vh-date,.vh-by{font-size:var(--lumo-font-size-s);color:var(--lumo-secondary-text-color)}@media (max-width: 900px){.visitor-history-item{grid-template-columns:1fr}.vh-right{align-items:flex-start}}
