@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap');html{--aura-accent-color-dark: #4ADE80;--aura-accent-color-light: #008236;--aura-background-color-dark: #1c1917;--aura-background-color-light: #f5f5f4;--aura-base-radius: 4;--aura-font-family: 'Manrope',var(--aura-font-family-system);--aura-notification-color-scheme: dark;--aura-orange: #ea7a12;--aura-surface-level: -0.5}vaadin-side-nav-item:not([current])>vaadin-icon{color: var(--aura-accent-text-color)}vaadin-side-nav-item[current]::part(content){--vaadin-side-nav-item-background: var(--vaadin-background-container);--vaadin-side-nav-item-border-color: transparent}vaadin-side-nav::part(label){text-transform: uppercase;font-size: var(--aura-font-size-xs);color: var(--vaadin-text-color);letter-spacing: 0.03em}:is(vaadin-button,vaadin-menu-bar-button,vaadin-upload-button):not([theme~="primary"],[theme~="tertiary"]){--aura-accent-color-light: var(--aura-neutral);--aura-accent-color-dark: var(--aura-neutral);--vaadin-button-background: var(--vaadin-background-container);--vaadin-button-border-color: transparent;--vaadin-button-shadow: none}vaadin-card,vaadin-dashboard-widget{--aura-surface-level: 4}html{--aura-font-weight-regular: 500;--aura-font-weight-medium: 600;--aura-font-weight-semibold: 700;--vaadin-button-font-weight: 600;--vaadin-input-field-value-font-weight: 500;--vaadin-checkbox-font-weight: 600;--vaadin-radio-button-font-weight: 600;--vaadin-message-name-font-weight: 600;--vaadin-grid-header-font-weight: 600}.app-header{padding-inline: var(--vaadin-padding-m,1rem);flex: 1 1 auto;min-width: 0;box-sizing: border-box}.app-title{display: flex;flex-direction: column;gap: var(--vaadin-gap-xs);padding: var(--vaadin-padding-m) var(--vaadin-padding-m) var(--vaadin-padding-s)}.app-logo{width: 11rem;height: auto}.app-title-text{font-size: var(--aura-font-size-s);font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--vaadin-text-color-secondary)}.header-user{font-size: 0.875rem;font-weight: 600}.view-header{padding: var(--vaadin-padding-m) var(--vaadin-padding-l) 0;box-sizing: border-box}.view-title{font-size: 1.375rem;margin: 0}.view-count{color: var(--vaadin-text-color-secondary);font-size: 0.875rem}.filter-bar{gap: var(--vaadin-gap-m);padding: var(--vaadin-padding-s) var(--vaadin-padding-l) var(--vaadin-padding-m);border-bottom: 1px solid var(--vaadin-border-color-secondary)}.filter-bar>vaadin-date-picker{width: 9.5rem}.filter-bar>vaadin-integer-field{width: 8rem}.period-box>span{font-size: 0.8125rem;font-weight: 500;color: var(--vaadin-text-color-secondary);padding-bottom: var(--vaadin-padding-xs)}.period-buttons{gap: 2px}.error-icon{color: var(--aura-red,#d33);--vaadin-icon-size: 1rem}.kv{display: grid;grid-template-columns: max-content 1fr;gap: var(--vaadin-gap-xs) var(--vaadin-gap-l);font-size: 0.875rem;width: 100%}.kv-label{color: var(--vaadin-text-color-secondary)}.kv-value{word-break: break-word}.view-header-bordered{padding-bottom: var(--vaadin-padding-m);border-bottom: 1px solid var(--vaadin-border-color-secondary)}.flag-on{color: var(--aura-green,#2a8a4a);--vaadin-icon-size: 1rem}.flag-off{color: var(--vaadin-text-color-disabled);--vaadin-icon-size: 1rem}.record-editor{border-left: 1px solid var(--vaadin-border-color-secondary);height: 100%;overflow: auto;box-sizing: border-box}.record-editor-title{margin: 0;font-size: 1.125rem}.record-checkbox{align-self: end}.record-textarea{width: 100%}.record-editor-actions{position: sticky;bottom: 0;width: 100%;padding: var(--vaadin-padding-s) 0;background: var(--vaadin-background-color);border-top: 1px solid var(--vaadin-border-color-secondary)}.flag-list{gap: var(--vaadin-gap-xs)}.auth-card{display: flex;flex-direction: column;align-items: center;gap: var(--vaadin-gap-s);width: min(22rem,100%);box-sizing: border-box;padding: var(--vaadin-padding-xl);border-radius: var(--vaadin-radius-l);background: var(--vaadin-background-color);border: 1px solid var(--vaadin-border-color-secondary);box-shadow: 0 8px 32px rgb(0 0 0 / 0.08);text-align: center}.auth-card-wide{width: min(26rem,100%)}.auth-card>vaadin-icon{--vaadin-icon-size: 2rem;color: var(--aura-accent-color,currentColor)}.auth-card h2{margin: 0;font-size: 1.25rem}.auth-card p{margin: 0;color: var(--vaadin-text-color-secondary);font-size: 0.875rem}.auth-code input{text-align: center;font-size: 1.5rem;letter-spacing: 0.4em}.auth-qr{width: 220px;height: 220px;border-radius: var(--vaadin-radius-m);background: white}.auth-key{font-size: 0.9375rem;letter-spacing: 0.05em;padding: var(--vaadin-padding-xs) var(--vaadin-padding-s);border-radius: var(--vaadin-radius-s);background: var(--vaadin-background-container);user-select: all}.auth-card p.auth-error{color: var(--aura-red,#d33);min-height: 1.2em}.page-card{display: flex;flex-direction: column;gap: var(--vaadin-gap-m);width: min(38rem,100%);box-sizing: border-box;margin-top: var(--vaadin-padding-l);padding: var(--vaadin-padding-xl);border-radius: var(--vaadin-radius-l);background: var(--vaadin-background-color);border: 1px solid var(--vaadin-border-color-secondary)}.page-card h2{margin: 0;font-size: 1.25rem}.page-card-intro{margin: 0;color: var(--vaadin-text-color-secondary);font-size: 0.875rem}.auth-card-page{margin-top: var(--vaadin-padding-xl)}.filter-chip{font-size: 0.8125rem;padding: 2px 10px;border-radius: 999px;background: var(--vaadin-background-container-strong)}.filter-toggle{display: none}@media (max-width: 768px){.filter-toggle{display: inline-flex}.filter-bar:not(.filters-open){display: none !important}.filter-bar.filters-open>*{width: 100%}.filter-bar.filters-open .period-buttons{flex-wrap: wrap;gap: var(--vaadin-gap-xs)}.view-header{padding-inline: var(--vaadin-padding-m)}}.nav-not-migrated::part(content){opacity: 0.55}.header-language{width: 6.5rem}.logo>img{display: block;width: 100%;height: auto}.logo>.logo-dark{display: none}html[data-color-mode="dark"] .logo>.logo-light{display: none}html[data-color-mode="dark"] .logo>.logo-dark{display: block}@media (prefers-color-scheme: dark){html[data-color-mode="system"] .logo>.logo-light{display: none}html[data-color-mode="system"] .logo>.logo-dark{display: block}}vaadin-context-menu-item.color-mode-item>span{display: inline-flex;align-items: center;gap: var(--vaadin-gap-s)}.login-view{background: radial-gradient(60rem 40rem at 10% 0%,color-mix(in srgb,var(--aura-accent-color) 14%,transparent),transparent 70%),radial-gradient(50rem 35rem at 100% 100%,color-mix(in srgb,var(--aura-orange) 14%,transparent),transparent 70%)}.login-card{display: flex;flex-direction: column;align-items: center;padding: var(--vaadin-padding-xl) var(--vaadin-padding-l) var(--vaadin-padding-m);border-radius: var(--vaadin-radius-l);background: var(--vaadin-background-color);box-shadow: 0 1.5rem 4rem -1rem rgb(0 0 0 / 0.18)}.login-logo{width: 16rem;max-width: 80vw;height: auto}.login-subtitle{margin: var(--vaadin-gap-s) 0 0;font-size: var(--aura-font-size-s);font-weight: 700;letter-spacing: 0.12em;text-transform: uppercase;color: var(--vaadin-text-color-secondary)}.login-card vaadin-login-form{--vaadin-login-form-background: transparent}.home-view{padding: var(--vaadin-padding-l)}.login-card [slot="form-title"]{display: none}.booking-grid::part(booking-current){--vaadin-grid-row-background-color: color-mix(in srgb,var(--aura-green) 14%,transparent);--vaadin-grid-row-odd-background-color: color-mix(in srgb,var(--aura-green) 14%,transparent)}.booking-grid::part(booking-next){--vaadin-grid-row-background-color: color-mix(in srgb,var(--aura-green) 6%,transparent);--vaadin-grid-row-odd-background-color: color-mix(in srgb,var(--aura-green) 6%,transparent)}.booking-grid::part(booking-void){color: var(--vaadin-text-color-secondary)}.state-dot{display: inline-block;width: 0.9rem;height: 0.9rem;border-radius: 50%;box-shadow: 0 0 0 2px var(--vaadin-background-color),0 0 0 3px var(--vaadin-border-color-secondary)}.state-current{background: var(--aura-green)}.state-future{background: color-mix(in srgb,var(--aura-green) 35%,white)}.state-urgent{background: var(--aura-red)}.state-past,.state-completed{background: #a8a29e}.state-cancelled{background: #c084fc}.state-black{background: #1c1917;box-shadow: 0 0 0 2px var(--vaadin-background-color),0 0 0 3px light-dark(var(--vaadin-border-color-secondary),var(--vaadin-text-color-secondary))}.state-other{background: var(--aura-orange)}.date-cell{display: flex;flex-direction: column;line-height: 1.2;padding: 2px 6px;border-radius: var(--vaadin-radius-m);width: fit-content}.date-main{font-weight: 700}.date-weekday{font-size: var(--aura-font-size-xs);color: var(--vaadin-text-color-secondary)}.date-today{background: var(--aura-green);color: white}.date-today .date-weekday{color: rgb(255 255 255 / 0.85)}.date-tomorrow{background: color-mix(in srgb,var(--aura-green) 18%,transparent)}.guest-cell{display: flex;flex-direction: column;line-height: 1.25;white-space: normal}.guest-name{font-weight: 700}.guest-country{gap: 6px;align-items: center;font-size: var(--aura-font-size-s);color: var(--vaadin-text-color-secondary)}.flag{height: 0.85rem;width: auto;border-radius: 2px;box-shadow: 0 0 0 1px rgb(0 0 0 / 0.08)}.guest-urgent{display: inline-flex;gap: 4px;align-items: center;margin-top: 2px;font-size: var(--aura-font-size-s);font-weight: 600;color: var(--aura-red);--vaadin-icon-size: 0.9rem}.source-logo{height: 1.6rem;width: auto;max-width: 3.5rem;object-fit: contain}.room-symbol{height: 1.5rem;width: auto;padding: 2px;border-radius: var(--vaadin-radius-s);background: light-dark(transparent,#e7e5e4)}.area-chips{gap: 4px;flex-wrap: wrap}.area-chip{display: inline-flex;align-items: center;justify-content: center;width: 2rem;height: 1.75rem;border-radius: var(--vaadin-radius-m);--vaadin-icon-size: 1rem;text-decoration: none;transition: transform 0.1s ease}.area-chip:hover{transform: translateY(-1px)}.chip-empty{color: var(--vaadin-text-color-disabled);border: 1px dashed var(--vaadin-border-color-secondary)}.chip-has{color: var(--aura-accent-text-color);background: color-mix(in srgb,var(--aura-accent-color) 12%,transparent)}.chip-active{color: white;background: var(--aura-green)}.chip-required{color: white;background: var(--aura-red)}.state-badge{padding: 2px 10px;border-radius: 999px;font-size: var(--aura-font-size-s);font-weight: 700;background: var(--vaadin-background-container)}.state-badge-booked{background: color-mix(in srgb,var(--aura-green) 18%,transparent);color: var(--aura-accent-text-color)}.state-badge-cancelled{background: light-dark(#f3e8ff,#3b0764);color: light-dark(#7e22ce,#e9d5ff)}.state-badge-black{background: #1c1917;color: white;box-shadow: inset 0 0 0 1px var(--vaadin-border-color-secondary)}.booking-tabs{width: 100%}.booking-form-page{max-width: 62rem;padding: var(--vaadin-padding-m) var(--vaadin-padding-l) var(--vaadin-padding-xl)}.booking-form .form-section{border-top: 1px solid var(--vaadin-border-color-secondary)}.field-with-action{display: flex;align-items: flex-end;gap: var(--vaadin-gap-xs)}.field-with-action>vaadin-combo-box{flex: 1}.labelled-value{display: flex;flex-direction: column;gap: 6px}.field-label{font-size: var(--aura-font-size-s);font-weight: 600;color: var(--vaadin-text-color-secondary)}.nights-badge{font-size: 1.25rem;font-weight: 700;padding-top: 2px}.record-audit{font-size: var(--aura-font-size-xs);color: var(--vaadin-text-color-secondary)}.booking-detail{overflow: hidden}.booking-tabs{padding-inline: var(--vaadin-padding-m);border-bottom: 1px solid var(--vaadin-border-color-secondary)}.tab-content{display: flex;flex-direction: column;overflow: hidden}.tab-content>*{flex: 1;min-height: 0}.link-button{display: inline-flex;align-items: center;gap: 6px;padding: 4px 10px;border-radius: var(--vaadin-radius-m);background: var(--vaadin-background-container);color: var(--vaadin-text-color);font-weight: 600;text-decoration: none;--vaadin-icon-size: 1rem}.link-button:hover{background: color-mix(in srgb,var(--aura-accent-color) 12%,transparent)}.callout-warning{display: flex;gap: 8px;align-items: center;margin: var(--vaadin-padding-s) var(--vaadin-padding-l);padding: var(--vaadin-padding-s) var(--vaadin-padding-m);border-radius: var(--vaadin-radius-m);background: color-mix(in srgb,var(--aura-orange) 14%,transparent);color: var(--vaadin-text-color);font-weight: 600}.amount-open{color: var(--aura-red);font-weight: 700}.amount-settled{color: var(--aura-accent-text-color);font-weight: 700}.invoice-lines{margin: 0 var(--vaadin-padding-l) var(--vaadin-padding-m)}.minibar-totals{font-weight: 700}.minibar-title{margin: var(--vaadin-padding-m) 0 var(--vaadin-padding-xs);font-size: 1rem}.minibar-grid::part(minibar-charged){--vaadin-grid-row-background-color: color-mix(in srgb,var(--aura-accent-color) 7%,transparent);--vaadin-grid-row-odd-background-color: color-mix(in srgb,var(--aura-accent-color) 7%,transparent)}.minibar-number input{text-align: right}.minibar-na{color: var(--vaadin-text-color-disabled)}.card-grid{box-sizing: border-box;display: grid;grid-template-columns: repeat(auto-fill,minmax(min(22rem,100%),1fr));gap: var(--vaadin-gap-l);padding: var(--vaadin-padding-l);overflow: auto}.info-card{display: flex;flex-direction: column;gap: var(--vaadin-gap-s);padding: var(--vaadin-padding-l);border-radius: var(--vaadin-radius-l);background: var(--vaadin-background-color);box-shadow: 0 1px 3px rgb(0 0 0 / 0.08),0 0 0 1px var(--vaadin-border-color-secondary)}.info-card h3{margin: 0}.balance-table{display: grid;grid-template-columns: 1fr auto;gap: 4px var(--vaadin-gap-l);margin: var(--vaadin-gap-s) 0;font-size: var(--aura-font-size-s)}.kv-amount{text-align: right;font-variant-numeric: tabular-nums}.kv-amount.minus{color: var(--aura-red)}.balance-total{padding-top: 6px;border-top: 1px solid var(--vaadin-border-color-secondary);font-size: 1.05rem;font-weight: 800;text-align: right}.balance-total:first-of-type{text-align: left}.period-summary{font-weight: 700}.file-field{display: flex;flex-direction: column;gap: 4px}.file-field-row{display: flex;align-items: center;gap: var(--vaadin-gap-s);flex-wrap: wrap}.file-field-info{font-size: var(--aura-font-size-s);color: var(--vaadin-text-color-secondary)}.file-field-preview{max-height: 3rem;max-width: 8rem;border-radius: var(--vaadin-radius-s);box-shadow: 0 0 0 1px var(--vaadin-border-color-secondary)}.alert-content{padding: var(--vaadin-padding-l)}.alert-group-title{margin: var(--vaadin-padding-m) 0 var(--vaadin-padding-xs);font-size: 1rem}.alert-cards{display: grid;grid-template-columns: repeat(auto-fill,minmax(min(19rem,100%),1fr));gap: var(--vaadin-gap-m);width: 100%}.alert-card{display: flex;flex-direction: column;gap: 6px;padding: var(--vaadin-padding-m);border-radius: var(--vaadin-radius-l);background: var(--vaadin-background-color);box-shadow: 0 0 0 1px var(--vaadin-border-color-secondary);border-left: 4px solid var(--vaadin-border-color)}.alert-card.alert-task{border-left-color: var(--aura-accent-color)}.alert-card.alert-pendency{border-left-color: var(--aura-orange)}.alert-card.alert-taxes{border-left-color: var(--aura-red)}.alert-card-title{font-weight: 800}.alert-card-meta{display: inline-flex;gap: 6px;align-items: center;font-size: var(--aura-font-size-s);color: var(--vaadin-text-color-secondary);--vaadin-icon-size: 0.9rem}.alert-card-details{margin: 0;font-size: var(--aura-font-size-s);white-space: pre-line;color: var(--vaadin-text-color-secondary)}.due-badge{font-size: var(--aura-font-size-s);font-weight: 600}.due-overdue{color: var(--aura-red);font-weight: 800}.due-today{color: var(--aura-accent-text-color);font-weight: 800}.due-later{color: var(--vaadin-text-color-secondary)}.cell-secondary{font-size: var(--aura-font-size-s);color: var(--vaadin-text-color-secondary);white-space: normal}.cell-meta{display: inline-flex;gap: 4px;align-items: center;font-size: var(--aura-font-size-xs);color: var(--aura-accent-text-color);--vaadin-icon-size: 0.85rem}.pendency-new{background: color-mix(in srgb,var(--aura-orange) 18%,transparent)}.pendency-in-progress{background: color-mix(in srgb,var(--aura-blue,#3b82f6) 16%,transparent)}.pendency-fix-date-defined{background: color-mix(in srgb,var(--aura-green) 18%,transparent)}.pendency-solved{background: var(--vaadin-background-container);color: var(--vaadin-text-color-secondary)}.doc-section{width: 100%;margin-bottom: var(--vaadin-padding-l)}vaadin-grid::part(implausible){--vaadin-grid-row-background-color: color-mix(in srgb,var(--aura-red) 14%,transparent);--vaadin-grid-row-odd-background-color: color-mix(in srgb,var(--aura-red) 14%,transparent)}.report-body{max-width: 72rem;padding: var(--vaadin-padding-m,1rem);gap: var(--vaadin-gap-m,0.75rem)}.bar-chart{display: flex;align-items: stretch;gap: 0.5rem;width: 100%;height: 16rem;padding: 1rem;box-sizing: border-box;border: 1px solid var(--vaadin-border-color-subtle);border-radius: var(--vaadin-radius-l);background: var(--vaadin-background-container)}.bar-column{flex: 1 1 0;min-width: 0;display: flex;flex-direction: column;align-items: center;gap: 0.25rem}.bar-track{position: relative;flex: 1 1 auto;width: 100%;max-width: 3rem}.bar-value,.bar-previous{position: absolute;bottom: 0;border-radius: var(--vaadin-radius-s) var(--vaadin-radius-s) 0 0}.bar-value{left: 15%;right: 15%;background: var(--aura-accent-color)}.bar-previous{left: 0;right: 0;background: color-mix(in srgb,var(--aura-accent-color) 22%,transparent)}.bar-text{font-size: var(--aura-font-size-xs);font-weight: var(--aura-font-weight-semibold);color: var(--vaadin-text-color);white-space: nowrap}.bar-label{font-size: var(--aura-font-size-xs);color: var(--vaadin-text-color-secondary)}@media (max-width: 40rem){.bar-chart{gap: 0.15rem;padding: 0.5rem}.bar-text{font-size: 0.6rem}}.listrik-cards{display: grid;grid-template-columns: repeat(auto-fill,minmax(min(17rem,100%),1fr));box-sizing: border-box;gap: var(--vaadin-gap-m);padding: var(--vaadin-padding-m);flex-shrink: 0}.listrik-card{gap: 2px;padding: var(--vaadin-padding-m)}.listrik-card .balance-table{margin: 2px 0}.listrik-estimate{font-size: var(--aura-font-size-xl);font-weight: var(--aura-font-weight-semibold);color: var(--aura-accent-text-color);margin-top: var(--vaadin-gap-s)}.listrik-stats{max-width: 80rem}.listrik-stats-title{margin: var(--vaadin-gap-m) 0 0;font-size: var(--aura-font-size-m)}vaadin-grid .token-cell,vaadin-grid::part(token-cell){font-family: ui-monospace,"Cascadia Mono",Consolas,monospace;letter-spacing: 0.02em}.order-badge{padding: 1px 8px;border-radius: 999px;font-size: var(--aura-font-size-s);font-weight: 700;color: var(--aura-orange-text,var(--aura-orange));background: color-mix(in srgb,var(--aura-orange) 16%,transparent)}.minibar-number.inventory-low{--vaadin-input-field-background: color-mix(in srgb,var(--aura-red) 14%,transparent);--vaadin-input-field-value-color: var(--aura-red)}vaadin-grid::part(weekend-row){--vaadin-grid-row-background-color: var(--vaadin-background-container);font-weight: 600}.sheet-chip{padding: 1px 8px;border-radius: var(--vaadin-radius-s);white-space: nowrap}.sheet-guest{background: color-mix(in srgb,var(--aura-accent-color) 14%,transparent)}.sheet-change{background: color-mix(in srgb,var(--aura-orange) 22%,transparent)}.sheet-owner{background: var(--vaadin-text-color);color: var(--vaadin-background-color)}.review-panel{max-width: 44rem}.review-row{display: grid;grid-template-columns: 9rem 6rem auto 6rem;align-items: center;gap: var(--vaadin-gap-s)}.review-label{font-weight: 600}.review-scale{font-size: var(--aura-font-size-s);color: var(--vaadin-text-color-secondary)}.review-row .review-scale:nth-of-type(2){text-align: right}.review-stars{display: flex}.review-star-on{color: var(--aura-yellow,#eab308)}.review-star-off{color: var(--vaadin-text-color-disabled)}@media (max-width: 40rem){.review-row{grid-template-columns: 1fr}}.airport-cards{box-sizing: border-box;display: grid;grid-template-columns: repeat(auto-fill,minmax(min(24rem,100%),1fr));gap: var(--vaadin-gap-m);width: 100%}.food-panel{max-width: 64rem}.food-card{width: 100%;box-sizing: border-box}.food-card h3{font-size: var(--aura-font-size-m)}.food-sum{font-weight: var(--aura-font-weight-semibold)}.food-text{margin: 0;white-space: pre-line;color: var(--vaadin-text-color-secondary);font-size: var(--aura-font-size-s)}.guest-urgent{cursor: pointer}.urgent-dialog-text{white-space: pre-line}.home-header{display: flex;align-items: baseline;gap: var(--vaadin-gap-m);flex-wrap: wrap}.home-cards{box-sizing: border-box;display: grid;grid-template-columns: repeat(auto-fill,minmax(min(20rem,100%),1fr));gap: var(--vaadin-gap-l);padding: var(--vaadin-padding-l);align-items: start}.home-card-title{display: flex;align-items: center;gap: var(--vaadin-gap-s);font-size: var(--aura-font-size-m);--vaadin-icon-size: 1.1rem}.home-card-title vaadin-icon{color: var(--aura-accent-text-color)}.home-stay{display: flex;flex-direction: column;padding: 6px 8px;margin: 0 -8px;border-radius: var(--vaadin-radius-m);color: inherit;text-decoration: none}.home-stay:hover{background: var(--vaadin-background-container)}.home-stay-name{font-weight: var(--aura-font-weight-semibold)}.home-stay-owner{color: var(--vaadin-text-color-secondary)}.home-stay-info{font-size: var(--aura-font-size-s);color: var(--vaadin-text-color-secondary)}.home-number{font-size: 2.4rem;font-weight: 800;line-height: 1}.home-link{font-size: var(--aura-font-size-s)}.rights-screen{display: flex;flex-direction: column;line-height: 1.25}.listrik-stale{display: flex;align-items: center;gap: 6px;margin-top: var(--vaadin-gap-s);font-weight: 600;--vaadin-icon-size: 1rem}.shortcut-title{margin: 0 0 var(--vaadin-gap-s);font-size: var(--aura-font-size-l);font-weight: var(--aura-font-weight-regular)}.shortcut-grid{display: grid;grid-template-columns: repeat(3,minmax(min(6.5rem,100%),1fr));border-top: 1px solid var(--vaadin-border-color-subtle)}.shortcut-tile{display: flex;flex-direction: column;align-items: center;gap: 6px;padding: 14px 10px;cursor: pointer;border-bottom: 1px solid var(--vaadin-border-color-subtle);border-right: 1px solid var(--vaadin-border-color-subtle);border-radius: 0;color: var(--vaadin-text-color);user-select: none}.shortcut-tile:hover,.shortcut-tile:focus-visible{background: color-mix(in srgb,var(--aura-accent-color) 10%,transparent);outline: none}.shortcut-icon{display: flex;align-items: center;justify-content: center;width: 44px;height: 44px;border-radius: 50%;background: var(--vaadin-background-container);color: var(--aura-accent-text-color);--vaadin-icon-size: 1.3rem}.home-shortcuts{grid-column: 1 / -1;grid-template-columns: repeat(auto-fit,minmax(min(7.5rem,100%),1fr));border: 1px solid var(--vaadin-border-color-subtle);border-radius: var(--vaadin-radius-l);background: var(--vaadin-background-color);overflow: hidden}.home-shortcuts .shortcut-tile{border-bottom: none}.home-shortcuts .shortcut-tile:last-child{border-right: none}@media (max-width: 40rem){.home-shortcuts{grid-template-columns: repeat(3,1fr)}.home-shortcuts .shortcut-tile{border-bottom: 1px solid var(--vaadin-border-color-subtle)}}@media (max-width: 40rem){.header-user{display: none}.app-header{padding-inline: var(--vaadin-padding-xs,0.25rem);gap: var(--vaadin-gap-xs,0.25rem)}.header-language{width: 4.75rem}.header-language>vaadin-icon[slot="prefix"]{display: none}.header-logout::part(label){display: none}.view-header{padding-inline: var(--vaadin-padding-m)}.card-grid,.home-cards,.listrik-cards{padding: var(--vaadin-padding-m);gap: var(--vaadin-gap-m)}}.expense-review{display: flex;container-type: inline-size;overflow: hidden}.expense-review>vaadin-grid{flex: 1 1 0;min-width: 0;height: 100%}.expense-review>.receipt-pane{flex: 0 0 42%;max-width: 44rem;border-left: 1px solid var(--vaadin-border-color-secondary)}@container (max-width: 760px){.expense-review>.receipt-pane{display: none}}.receipt-pane{display: flex;flex-direction: column;gap: var(--vaadin-gap-s);min-height: 0;height: 100%;box-sizing: border-box;padding: var(--vaadin-padding-s) var(--vaadin-padding-m) var(--vaadin-padding-m)}.receipt-nav{display: flex;align-items: center;gap: var(--vaadin-gap-xs)}.receipt-position{flex: 1;text-align: center;font-size: var(--aura-font-size-s);color: var(--vaadin-text-color-secondary)}.receipt-facts{display: flex;flex-direction: column;gap: 2px}.receipt-amount{font-size: 1.5rem;font-weight: 800}.receipt-meta{font-size: var(--aura-font-size-s);color: var(--vaadin-text-color-secondary)}.receipt-description{font-weight: 600}.receipt-status,.receipt-actions{display: flex;flex-wrap: wrap;align-items: center;gap: var(--vaadin-gap-s)}.receipt-note{flex-basis: 100%;padding: var(--vaadin-padding-xs) var(--vaadin-padding-s);border-radius: var(--vaadin-radius-m);background: color-mix(in srgb,var(--aura-red) 12%,transparent);font-weight: 600}.receipt-image{flex: 1;min-height: 12rem;display: flex;align-items: center;justify-content: center;overflow: hidden;border-radius: var(--vaadin-radius-m);background: var(--vaadin-background-container);container-type: size}.receipt-zoom{display: flex;align-items: center;justify-content: center;width: 100%;height: 100%;cursor: zoom-in}.receipt-zoom img{max-width: 100%;max-height: 100%;object-fit: contain;transition: transform 0.15s}.receipt-zoom img[data-rotation="90"],.receipt-zoom img[data-rotation="270"]{max-width: 100cqh;max-height: 100cqw}.receipt-zoom img[data-rotation="90"]{transform: rotate(90deg)}.receipt-zoom img[data-rotation="180"]{transform: rotate(180deg)}.receipt-zoom img[data-rotation="270"]{transform: rotate(270deg)}.receipt-empty{color: var(--vaadin-text-color-secondary)}.review-badge{padding: 2px 10px;border-radius: 999px;font-size: var(--aura-font-size-s);font-weight: 700;white-space: nowrap}.review-open{background: color-mix(in srgb,var(--aura-orange) 18%,transparent)}.review-accepted{background: color-mix(in srgb,var(--aura-green) 18%,transparent)}.review-rejected{background: color-mix(in srgb,var(--aura-red) 16%,transparent)}.review-icon{--vaadin-icon-size: 1.1rem}.review-icon-open{color: var(--vaadin-text-color-disabled,#aaa)}.review-icon-accepted{color: var(--aura-green)}.review-icon-rejected{color: var(--aura-red)}vaadin-grid::part(expense-rejected){--vaadin-grid-row-background-color: color-mix(in srgb,var(--aura-red) 10%,transparent);--vaadin-grid-row-odd-background-color: color-mix(in srgb,var(--aura-red) 10%,transparent)}.receipt-dialog .receipt-pane{padding: 0}.quick-info{display: grid;grid-template-columns: repeat(auto-fill,minmax(min(15rem,100%),1fr));gap: var(--vaadin-gap-m);padding: var(--vaadin-padding-m) var(--vaadin-padding-l);background: var(--vaadin-background-container);border-bottom: 1px solid var(--vaadin-border-color-subtle);white-space: normal;cursor: default}.quick-section{display: flex;flex-direction: column;gap: 4px;min-width: 0;font-size: var(--aura-font-size-s)}.quick-section h4{display: flex;align-items: center;gap: 6px;margin: 0 0 2px;font-size: var(--aura-font-size-s);color: var(--vaadin-text-color-secondary);text-transform: uppercase;letter-spacing: 0.03em;--vaadin-icon-size: 0.95rem}.quick-notes{grid-column: 1 / -1}.quick-text{white-space: pre-line;overflow-wrap: anywhere}.quick-urgent{display: flex;gap: 6px;align-items: flex-start;color: var(--aura-red);font-weight: 700;--vaadin-icon-size: 1rem}.quick-table{display: grid;grid-template-columns: auto auto auto;gap: 2px 14px;justify-content: start}.quick-yes{color: var(--aura-red);font-weight: 800}.quick-muted{color: var(--vaadin-text-color-secondary)}.quick-row{display: flex;flex-wrap: wrap;align-items: center;gap: 6px 8px}.quick-button{display: inline-flex;align-items: center;gap: 6px;align-self: flex-start;max-width: 100%;box-sizing: border-box;padding: 4px 12px;border: 1px solid var(--vaadin-border-color);border-radius: var(--vaadin-radius-m);background: var(--aura-surface-color-solid);color: var(--aura-accent-text-color);font-weight: 600;text-decoration: none;overflow-wrap: anywhere;cursor: pointer;box-shadow: 0 1px 2px rgb(0 0 0 / 0.06);transition: background-color 0.15s,border-color 0.15s,box-shadow 0.15s;--aura-surface-level: 4;--aura-surface-opacity: 1;--vaadin-icon-size: 0.95rem}.quick-button:hover{background: color-mix(in srgb,var(--aura-accent-color) 14%,var(--aura-surface-color-solid));border-color: var(--aura-accent-color);box-shadow: 0 2px 6px rgb(0 0 0 / 0.14)}.quick-button:active{transform: translateY(1px);box-shadow: none}.quick-button:focus-visible{outline: 2px solid var(--vaadin-focus-ring-color);outline-offset: 1px}.quick-section vaadin-button{align-self: flex-start;--vaadin-button-background: var(--aura-surface-color-solid);--vaadin-button-border-color: var(--vaadin-border-color);--vaadin-button-text-color: var(--aura-accent-text-color);--vaadin-button-shadow: 0 1px 2px rgb(0 0 0 / 0.06);transition: background-color 0.15s,border-color 0.15s}.quick-section vaadin-button:hover{--vaadin-button-background: color-mix(in srgb,var(--aura-accent-color) 14%,var(--aura-surface-color-solid));--vaadin-button-border-color: var(--aura-accent-color);--vaadin-button-shadow: 0 2px 6px rgb(0 0 0 / 0.14)}.expand-button{--vaadin-icon-size: 0.9rem}