html{--lumo-border-radius-m: 6px;--lumo-border-radius-l: 8px}.fee-cost-calendar-view .fee-calendar-content,.fee-cost-calendar-view .fee-calendar-pane{box-sizing:border-box;height:100%;min-height:0;width:100%}.fee-cost-calendar-view .fee-calendar-content{overflow:auto}.fee-cost-calendar-view .fee-calendar-tabs{flex:0 0 auto;width:100%}.fee-cost-calendar-view .fee-calendar-heading-stat,.fee-cost-calendar-view .fee-calendar-selected-day,.fee-cost-calendar-view .fee-calendar-state-help{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s)}.fee-cost-calendar-view .fee-calendar-monthly-pane,.fee-cost-calendar-view .fee-calendar-yearly-pane,.fee-cost-calendar-view .fee-calendar-reconciliation-pane{padding:var(--lumo-space-m)}.fee-cost-calendar-view .fee-calendar-monthly-pane{overflow-x:auto}.fee-cost-calendar-view .fee-calendar-period-controls{align-items:center;margin-bottom:var(--lumo-space-m);min-width:0;width:100%}.fee-cost-calendar-view .fee-calendar-period-label{margin:0;text-align:center}.fee-cost-calendar-view .fee-calendar-summary-grid{display:grid;gap:var(--lumo-space-s);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:var(--lumo-space-m);min-width:0}.fee-cost-calendar-view .fee-calendar-summary-card,.fee-cost-calendar-view .fee-calendar-year-card{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-20pct);border-radius:var(--lumo-border-radius-l);box-shadow:var(--lumo-box-shadow-xs);padding:var(--lumo-space-m)}.fee-cost-calendar-view .fee-calendar-summary-card h4,.fee-cost-calendar-view .fee-calendar-year-card h4{margin:0 0 var(--lumo-space-s)}.fee-cost-calendar-view .fee-calendar-summary-warning,.fee-cost-calendar-view .fee-calendar-state-warning{border-inline-start:4px solid var(--lumo-error-color);font-weight:700}.fee-cost-calendar-view .fee-calendar-yearly-pane .fee-calendar-summary-grid{min-width:0}.fee-cost-calendar-view .fee-calendar-state-badge.band-no-evidence{background:var(--lumo-error-color-10pct)}.fee-cost-calendar-view .fee-calendar-metric{display:flex;flex-direction:column;gap:2px;margin-top:var(--lumo-space-xs)}.fee-cost-calendar-view .fee-calendar-metric>span:first-child{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-xs);font-weight:700;letter-spacing:.02em;text-transform:uppercase}.fee-cost-calendar-view .fee-calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));min-width:840px}.fee-cost-calendar-view .fee-calendar-weekday{background:var(--lumo-contrast-5pct);border:1px solid var(--lumo-contrast-20pct);font-size:var(--lumo-font-size-s);font-weight:700;padding:var(--lumo-space-xs) var(--lumo-space-s);text-align:center}.fee-cost-calendar-view .fee-calendar-day{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-20pct);cursor:pointer;min-height:132px;overflow:hidden;padding:var(--lumo-space-xs)}.fee-cost-calendar-view .fee-calendar-day:hover,.fee-cost-calendar-view .fee-calendar-year-card:hover{background:var(--lumo-primary-color-10pct)}.fee-cost-calendar-view .fee-calendar-day:focus-visible,.fee-cost-calendar-view .fee-calendar-year-card:focus-visible{outline:3px solid var(--lumo-primary-color);outline-offset:-3px;position:relative;z-index:1}.fee-cost-calendar-view .fee-calendar-day-outside{background:var(--lumo-contrast-5pct);color:var(--lumo-secondary-text-color)}.fee-cost-calendar-view .fee-calendar-day-today .fee-calendar-day-number:after{content:" Today";font-size:var(--lumo-font-size-xs);font-weight:600}.fee-cost-calendar-view .fee-calendar-day-selected{box-shadow:inset 0 0 0 3px var(--lumo-primary-color)}.fee-cost-calendar-view .fee-calendar-day-number{display:block;font-weight:700;margin-bottom:var(--lumo-space-xs)}.fee-cost-calendar-view .fee-calendar-chip{border-radius:var(--lumo-border-radius-m);box-sizing:border-box;display:block;font-size:var(--lumo-font-size-xs);line-height:1.25;margin-top:3px;overflow:hidden;padding:3px 5px;text-overflow:ellipsis;white-space:nowrap;width:100%}.fee-cost-calendar-view .fee-calendar-projection-chip{background:var(--lumo-primary-color-10pct);border-inline-start:3px solid var(--lumo-primary-color)}.fee-cost-calendar-view .fee-calendar-projection-chip.status-cancelled{background:var(--lumo-contrast-10pct);border-inline-start-color:var(--lumo-contrast-50pct);text-decoration:line-through}.fee-cost-calendar-view .fee-calendar-actual-chip{background:var(--lumo-success-color-10pct);border-inline-start:3px solid var(--lumo-success-color);font-weight:600}.fee-cost-calendar-view .fee-calendar-unmatched-actual-chip{background:var(--lumo-warning-color-10pct);border-inline-start-color:var(--lumo-warning-color)}.fee-cost-calendar-view .fee-calendar-year-grid{display:grid;gap:var(--lumo-space-m);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.fee-cost-calendar-view .fee-calendar-year-card{cursor:pointer;min-height:190px}.fee-cost-calendar-view .fee-calendar-reconciliation-grid{height:440px;min-height:320px}.fee-cost-calendar-view .fee-calendar-reconciliation-pane{display:grid;gap:var(--lumo-space-l)}.fee-cost-calendar-view .fee-calendar-actual-section,.fee-cost-calendar-view .fee-calendar-projection-section{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-l);box-sizing:border-box;min-width:0;padding:var(--lumo-space-m)}.fee-cost-calendar-view .fee-calendar-actual-section h3,.fee-cost-calendar-view .fee-calendar-projection-section h3{margin:0 0 var(--lumo-space-s)}.fee-cost-calendar-view .fee-calendar-actual-help,.fee-cost-calendar-view .fee-calendar-actual-status{color:var(--lumo-secondary-text-color);display:block;font-size:var(--lumo-font-size-s);margin-bottom:var(--lumo-space-s)}.fee-cost-calendar-view .fee-calendar-actual-status{color:var(--lumo-body-text-color);font-weight:700}.fee-cost-calendar-view .fee-calendar-canonical-actual-grid{min-height:360px}.fee-calendar-match-evidence{background:var(--lumo-contrast-5pct);border-radius:var(--lumo-border-radius-m);box-sizing:border-box;display:block;overflow-wrap:anywhere;padding:var(--lumo-space-s);width:100%}.fee-cost-calendar-view .fee-calendar-state-badge{border:1px solid var(--lumo-contrast-20pct);border-radius:999px;display:inline-block;font-size:var(--lumo-font-size-xs);font-weight:700;padding:3px 8px;white-space:nowrap}.fee-cost-calendar-view .fee-calendar-state-badge.band-under,.fee-cost-calendar-view .fee-calendar-state-badge.band-over,.fee-cost-calendar-view .fee-calendar-state-badge.reconciliation-open{background:var(--lumo-warning-color-10pct)}.fee-cost-calendar-view .fee-calendar-state-badge.band-within,.fee-cost-calendar-view .fee-calendar-state-badge.reconciliation-reconciled{background:var(--lumo-success-color-10pct)}.fee-cost-calendar-view .fee-calendar-state-actions,.fee-calendar-reconcile-dialog .fee-calendar-state-actions{flex-wrap:wrap}.fee-cost-calendar-view .fee-calendar-actual-grid,.fee-calendar-reconcile-dialog .fee-calendar-actual-grid{min-height:160px}.fee-calendar-reconcile-dialog .fee-calendar-state-help{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s)}.fee-calendar-report-archive-dialog .fee-calendar-report-archive-help,.fee-calendar-report-archive-dialog .fee-calendar-report-archive-status,.fee-calendar-report-archive-dialog .fee-calendar-report-archive-empty{color:var(--lumo-secondary-text-color);display:block;font-size:var(--lumo-font-size-s);margin-bottom:var(--lumo-space-s)}.fee-calendar-report-archive-dialog .fee-calendar-report-archive-list{display:grid;gap:var(--lumo-space-s);max-height:min(62vh,640px);overflow:auto}.fee-calendar-report-archive-dialog .fee-calendar-report-archive-row{border:1px solid var(--lumo-contrast-20pct);border-radius:var(--lumo-border-radius-l);box-sizing:border-box;display:grid;gap:var(--lumo-space-xs);grid-template-columns:minmax(110px,.45fr) minmax(220px,1.2fr) minmax(120px,.55fr);padding:var(--lumo-space-m)}.fee-calendar-report-archive-dialog .fee-calendar-report-archive-revision{grid-column:1;margin:0}.fee-calendar-report-archive-dialog .fee-calendar-report-archive-detail{min-width:0;overflow-wrap:anywhere}.fee-calendar-report-archive-dialog .fee-calendar-report-archive-hash,.fee-calendar-report-archive-dialog .fee-calendar-report-archive-actions{grid-column:1 / -1}.fee-calendar-report-archive-dialog .fee-calendar-report-archive-hash{font-family:var(--lumo-font-family-monospace, monospace);font-size:var(--lumo-font-size-xs)}.fee-calendar-report-archive-dialog .fee-calendar-report-archive-actions{flex-wrap:wrap}@media(max-width:760px){.fee-cost-calendar-view .view-heading{align-items:flex-start;flex-wrap:wrap}.fee-cost-calendar-view .fee-calendar-tabs{overflow-x:auto}.fee-cost-calendar-view .fee-calendar-period-controls{align-items:stretch;flex-wrap:wrap}.fee-cost-calendar-view .fee-calendar-month-grid{grid-template-columns:repeat(7,minmax(100px,1fr));min-width:700px}.fee-cost-calendar-view .fee-calendar-selected-day{flex-basis:100%;text-align:center}.fee-cost-calendar-view .fee-calendar-report-archive-button{flex:1 1 100%}.fee-calendar-report-archive-dialog .fee-calendar-report-archive-row{grid-template-columns:1fr}.fee-calendar-report-archive-dialog .fee-calendar-report-archive-revision,.fee-calendar-report-archive-dialog .fee-calendar-report-archive-hash,.fee-calendar-report-archive-dialog .fee-calendar-report-archive-actions{grid-column:1}.fee-cost-calendar-view .fee-calendar-year-grid{grid-template-columns:1fr}}vaadin-app-layout::part(navbar){border-bottom:1px solid var(--lumo-contrast-10pct);box-shadow:none}vaadin-app-layout::part(drawer){background:var(--lumo-base-color);border-right:1px solid var(--lumo-contrast-10pct);box-shadow:1px 0 2px var(--lumo-contrast-5pct);width:260px}.app-nav{box-sizing:border-box;flex-wrap:nowrap;min-height:52px;overflow:hidden;padding:0 var(--lumo-space-m);gap:var(--lumo-space-s)}.app-title{color:var(--lumo-header-text-color);font-size:var(--lumo-font-size-l);font-weight:700;letter-spacing:0;margin:0;white-space:nowrap;flex:0 0 auto}.app-drawer-title{color:var(--lumo-header-text-color);font-size:var(--lumo-font-size-l);font-weight:700;letter-spacing:0;line-height:1.2;margin:0;padding:var(--lumo-space-m) var(--lumo-space-m) var(--lumo-space-s)}.app-side-nav{box-sizing:border-box;gap:2px;min-height:100%;padding:var(--lumo-space-xs);width:100%}.nav-link{border-radius:var(--lumo-border-radius-m);box-sizing:border-box;color:var(--lumo-secondary-text-color);display:flex;font-size:var(--lumo-font-size-s);font-weight:600;min-height:2.5rem;padding:0 var(--lumo-space-s);align-items:center;text-decoration:none;white-space:nowrap;width:100%}.nav-link[highlight],.nav-link:hover{background:var(--lumo-primary-color-10pct);color:var(--lumo-primary-text-color)}.nav-tree{width:100%}.nav-subtree{display:grid;gap:.125rem;padding:.125rem 0 .375rem 1rem}.nav-sub-link{font-size:var(--lumo-font-size-s);min-height:2rem;padding-block:.25rem}.projects-nav-menu{width:100%}.projects-nav-menu vaadin-menu-bar-button{border-radius:var(--lumo-border-radius-m);box-sizing:border-box;color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s);font-weight:600;justify-content:flex-start;min-height:2.5rem;padding:0 var(--lumo-space-s);width:100%}.projects-nav-menu.nav-menu-active vaadin-menu-bar-button,.projects-nav-menu vaadin-menu-bar-button:hover{background:var(--lumo-primary-color-10pct);color:var(--lumo-primary-text-color)}.app-user-badge{align-items:center;background:var(--lumo-contrast-5pct);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m);box-sizing:border-box;color:var(--lumo-secondary-text-color);display:inline-flex;flex:0 0 auto;font-size:var(--lumo-font-size-s);gap:var(--lumo-space-xs);max-width:min(280px,40vw);min-height:32px;padding:0 var(--lumo-space-s);white-space:nowrap}.app-user-label{flex:0 0 auto}.app-user-name{color:var(--lumo-header-text-color);font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis}@media(max-width:700px){.app-user-badge{max-width:58vw}.app-user-label{display:none}}.ops-view{background:var(--lumo-contrast-5pct);box-sizing:border-box;gap:var(--lumo-space-m);min-height:100%;overflow:auto;padding:var(--lumo-space-m)}.view-heading,.view-toolbar,.section-toolbar,.action-row{align-items:center;box-sizing:border-box;flex-wrap:wrap;gap:var(--lumo-space-s);width:100%}.view-heading{min-height:40px;margin-bottom:var(--lumo-space-xs)}.view-title,.section-title{color:var(--lumo-header-text-color);letter-spacing:0;margin:0}.view-title{font-size:var(--lumo-font-size-xl)}.section-title{font-size:var(--lumo-font-size-l)}.workspace{align-items:stretch;box-sizing:border-box;display:flex;flex:1 1 auto;gap:var(--lumo-space-m);min-height:0;overflow:hidden;width:100%}.inventory-workspace,.search-workspace{flex-direction:column;overflow:auto}.search-workspace .search-pane,.search-workspace .results-pane{flex:0 0 auto;max-height:none;max-width:none;overflow:visible;width:100%}.search-workspace .results-pane{min-height:480px}.search-workspace .search-results-pane{min-height:min(82vh,1040px);overflow:visible}.inventory-workspace .entry-pane,.inventory-workspace .results-pane{flex:0 0 auto;max-width:none;min-height:0;width:100%}.inventory-workspace .entry-pane{max-height:calc(100vh - 136px);overflow:auto}.inventory-workspace .results-pane{max-height:none;min-height:calc(100vh - 180px);overflow:visible}.entry-pane,.search-pane,.tool-pane{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-l);box-sizing:border-box;min-width:320px;max-height:calc(100vh - 136px);overflow:auto;padding:var(--lumo-space-m)}.entry-pane,.search-pane{flex:0 0 430px;max-width:460px}.results-pane{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-l);box-sizing:border-box;display:flex;flex:1 1 640px;flex-direction:column;gap:var(--lumo-space-s);max-height:calc(100vh - 136px);min-width:0;overflow:auto;padding:var(--lumo-space-m)}.admin-images-view{align-items:stretch}.admin-images-count{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s);white-space:nowrap}.admin-image-controls{justify-content:flex-end}.admin-image-filter-controls{justify-content:flex-start}.admin-image-search-field{flex:1 1 280px;max-width:460px;min-width:240px}.admin-image-filter-field{width:170px}.admin-image-sort-field{width:220px}.admin-image-page-field{width:110px}.admin-image-results-pane{min-height:0}.admin-image-browser{align-content:start;box-sizing:border-box;display:grid;gap:var(--lumo-space-m);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));min-height:100%;overflow:auto;width:100%}.admin-image-card{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-l);box-sizing:border-box;display:flex;flex-direction:column;min-height:320px;min-width:0;overflow:hidden}.wrong-image-card{border-color:var(--lumo-error-color-50pct);box-shadow:inset 0 0 0 1px var(--lumo-error-color-50pct)}.admin-image-card-link{aspect-ratio:4 / 3;background:var(--lumo-contrast-5pct);display:block;flex:0 0 auto;height:160px;overflow:hidden;text-decoration:none;width:100%}.admin-image-card-link:hover{box-shadow:inset 0 0 0 3px var(--lumo-primary-color-50pct)}.purchase-timeline-view{align-items:stretch}.purchase-timeline-pane{gap:var(--lumo-space-m);max-height:none;min-height:calc(100vh - 136px)}.purchase-sales-tab-layout{align-items:start;display:grid;gap:var(--lumo-space-l);grid-template-columns:minmax(210px,240px) minmax(0,1fr);min-width:0;width:100%}.purchase-sales-tab-column{align-self:stretch;background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-20pct);border-radius:8px;box-shadow:0 1px 2px var(--lumo-contrast-5pct),inset 0 0 0 1px var(--lumo-contrast-5pct);box-sizing:border-box;display:flex;flex-direction:column;gap:var(--lumo-space-xs);min-width:0;padding:var(--lumo-space-s);position:sticky;top:var(--lumo-space-m)}.purchase-sales-tab-heading{color:var(--lumo-secondary-text-color);display:block;font-size:var(--lumo-font-size-xs);font-weight:700;letter-spacing:0;line-height:1.2;padding:0 var(--lumo-space-xs) var(--lumo-space-xs);text-transform:uppercase}.purchase-sales-tabs{flex:0 0 auto;width:100%}.purchase-sales-tabs vaadin-tab{border-radius:8px;box-sizing:border-box;color:var(--lumo-body-text-color);justify-content:flex-start;margin:2px 0;min-height:2.75rem;padding:0 var(--lumo-space-s);width:100%}.purchase-sales-tabs vaadin-tab[aria-selected=true]{background:var(--lumo-primary-color-10pct);box-shadow:inset 3px 0 0 var(--lumo-primary-color);color:var(--lumo-primary-text-color);font-weight:700}.purchase-sales-tab-content{min-width:0;width:100%}.purchase-sales-tab-pane,.purchase-sales-results{display:flex;flex-direction:column;gap:var(--lumo-space-m);min-width:0;width:100%}.purchase-date-range-panel,.sales-date-range-panel{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-20pct);border-radius:var(--lumo-border-radius-m);box-sizing:border-box;display:flex;flex-direction:column;gap:var(--lumo-space-xs);margin-bottom:var(--lumo-space-m);min-width:0;padding:var(--lumo-space-m);width:100%}.purchase-date-range-heading,.sales-date-range-heading{color:var(--lumo-header-text-color);font-size:var(--lumo-font-size-m);font-weight:700}.purchase-date-range-help,.purchase-category-help,.purchase-date-range-status,.sales-date-range-help,.sales-date-range-status,.sales-currency-notice{color:var(--lumo-secondary-text-color);display:block;font-size:var(--lumo-font-size-s);line-height:1.45}.purchase-date-range-status,.sales-date-range-status{color:var(--lumo-body-text-color);font-weight:600}.sales-currency-notice{color:var(--lumo-error-text-color)}.purchase-date-range-controls,.sales-date-range-controls{align-items:end;display:flex;flex-wrap:wrap;gap:var(--lumo-space-s);min-width:0;width:100%}.purchase-date-range-fields,.purchase-date-range-actions,.sales-date-range-fields,.sales-date-range-actions{align-items:end;display:flex;flex-wrap:wrap;gap:var(--lumo-space-s);min-width:0}.purchase-date-range-fields,.sales-date-range-fields{flex:1 1 380px}.purchase-date-range-actions,.sales-date-range-actions{flex:0 1 auto}.purchase-date-range-field,.sales-date-range-field{flex:1 1 180px;max-width:260px;min-width:180px}.purchase-timeline-summary{display:grid;gap:var(--lumo-space-s);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));width:100%}.purchase-timeline-metric{background:var(--lumo-contrast-5pct);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m);box-sizing:border-box;min-height:72px;min-width:0;padding:var(--lumo-space-s)}.purchase-timeline-metric-label{color:var(--lumo-secondary-text-color);display:block;font-size:var(--lumo-font-size-xs);font-weight:600;letter-spacing:0;margin-bottom:var(--lumo-space-xs);text-transform:uppercase}.purchase-timeline-metric-value{color:var(--lumo-header-text-color);display:block;font-size:var(--lumo-font-size-l);font-weight:700;letter-spacing:0;overflow-wrap:anywhere}.purchase-timeline-chart{border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m);box-sizing:border-box;display:flex;flex:0 0 720px;flex-direction:column;gap:var(--lumo-space-xs);height:720px;max-height:720px;min-height:360px;overflow:auto;padding:var(--lumo-space-s);width:100%}.purchase-timeline-row{align-items:center;box-sizing:border-box;display:grid;gap:var(--lumo-space-s);grid-template-columns:92px minmax(120px,1fr) 110px 72px;min-height:30px;width:100%}.purchase-timeline-month,.purchase-timeline-cost,.purchase-timeline-count{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-xs);letter-spacing:0;white-space:nowrap}.purchase-timeline-cost{color:var(--lumo-body-text-color);font-weight:600;text-align:right}.purchase-timeline-track{background:var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-s);height:14px;min-width:0;overflow:hidden;width:100%}.purchase-timeline-bar{background:var(--lumo-primary-color);height:100%;min-width:0}.sales-timeline-bar{background:var(--lumo-success-color)}.profit-timeline-bar{background:var(--lumo-primary-color)}.profit-loss-bar{background:var(--lumo-error-color)}.purchase-timeline-empty{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s)}.purchase-timeline-grid-panel{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--lumo-space-xs);min-width:0;width:100%}.purchase-timeline-grid-toolbar{margin:0;padding:0}@media(max-width:700px){.purchase-sales-tab-layout{grid-template-columns:minmax(0,1fr)}.purchase-sales-tab-column{position:static}.purchase-date-range-fields,.purchase-date-range-actions,.purchase-date-range-field,.sales-date-range-fields,.sales-date-range-actions,.sales-date-range-field{max-width:none;width:100%}.purchase-date-range-actions>vaadin-button,.sales-date-range-actions>vaadin-button{flex:1 1 100%}.purchase-timeline-row{grid-template-columns:82px minmax(90px,1fr) 88px}.purchase-timeline-count{display:none}}.admin-image-card-image{display:block;height:100%;object-fit:cover;width:100%}@media(max-width:700px){.admin-image-search-field,.admin-image-filter-field,.admin-image-sort-field{flex:1 1 100%;max-width:none;width:100%}.admin-image-card-link{height:220px}.admin-image-card{min-height:380px}}.admin-image-card-body{box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;gap:var(--lumo-space-xs);min-width:0;padding:var(--lumo-space-s)}.admin-image-card-title,.admin-image-card-meta{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-image-card-title{color:var(--lumo-header-text-color);font-size:var(--lumo-font-size-m);font-weight:700;text-decoration:none}.admin-image-card-meta{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-xs)}.admin-image-card-actions{display:flex;flex-wrap:wrap;gap:var(--lumo-space-s);margin-top:auto;padding-top:var(--lumo-space-xs)}.image-status-pill{background:var(--lumo-contrast-5pct);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m);box-sizing:border-box;display:inline-block;font-size:var(--lumo-font-size-xs);font-weight:700;padding:2px var(--lumo-space-xs);width:fit-content}.wrong-image-status{background:var(--lumo-error-color-10pct);border-color:var(--lumo-error-color-50pct);color:var(--lumo-error-text-color)}.ai-generated-image-badge{background:var(--lumo-primary-color-10pct);border:1px solid var(--lumo-primary-color-50pct);border-radius:var(--lumo-border-radius-m);box-sizing:border-box;color:var(--lumo-primary-text-color);display:inline-block;font-size:var(--lumo-font-size-xs);font-weight:700;padding:2px var(--lumo-space-xs);width:fit-content}.admin-image-open-link{color:var(--lumo-primary-text-color);font-size:var(--lumo-font-size-s);font-weight:600;text-decoration:none}.admin-image-open-link:hover{text-decoration:underline}.admin-image-empty{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-m)}.admin-grants-view{align-items:stretch;box-sizing:border-box;max-width:100%;overflow-x:hidden;width:100%}.admin-grants-view .admin-grants-title{width:100%}.admin-grants-view .admin-grants-heading,.admin-grants-view .admin-grants-toolbar,.admin-grants-view .admin-grants-panes,.admin-grants-view .admin-grants-pane,.admin-grants-view .admin-grants-controls{box-sizing:border-box;width:100%;max-width:100%;min-width:0}.admin-grants-view .admin-grants-panes{display:flex;flex-direction:column;gap:var(--lumo-space-m)}.admin-grants-view .admin-grants-tabs{margin-bottom:var(--lumo-space-xs)}.admin-grants-view .admin-grants-tab-layout{display:grid;grid-template-columns:minmax(190px,220px) minmax(0,1fr);gap:var(--lumo-space-m);align-items:start;width:100%}.admin-grants-view .admin-grants-tab-column{box-sizing:border-box;border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-l);background:var(--lumo-base-color);min-width:0;padding:var(--lumo-space-xxs)}.admin-grants-view .admin-grants-tab-layout>vaadin-tabs,.admin-grants-view .admin-grants-tab-layout>.admin-grants-tab-column>vaadin-tabs{min-width:0;max-width:100%}.admin-grants-view .admin-grants-tabs vaadin-tab{justify-content:flex-start;min-height:2.5rem}.admin-grants-view .admin-grants-tabs vaadin-tab[aria-selected=true]{font-weight:600}.admin-grants-view .admin-grants-pane-container{box-sizing:border-box;min-width:0;width:100%;align-self:stretch}.admin-grants-view .admin-grants-pane{overflow-x:hidden}.admin-grants-view .admin-grants-controls{display:flex;flex-direction:column;gap:var(--lumo-space-s)}.admin-grants-view .admin-grants-control,.admin-grants-view vaadin-combo-box,.admin-grants-view vaadin-text-field,.admin-grants-view vaadin-checkbox{box-sizing:border-box;max-width:100%;width:100%}.admin-grants-view .admin-grants-help{color:var(--lumo-secondary-text-color);display:block;margin:var(--lumo-space-xs) 0 var(--lumo-space-s);overflow-wrap:anywhere}.admin-grants-view .admin-access-decision{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-10pct);border-left:4px solid var(--lumo-primary-color);border-radius:8px;box-sizing:border-box;display:grid;gap:var(--lumo-space-s);padding:var(--lumo-space-s);width:100%}.admin-grants-view .admin-access-decision-header{align-items:flex-start;display:flex;gap:var(--lumo-space-s);justify-content:space-between;min-width:0}.admin-grants-view .admin-access-decision-title-group{display:grid;gap:2px;min-width:0}.admin-grants-view .admin-access-decision-title{color:var(--lumo-header-text-color);font-size:var(--lumo-font-size-m);font-weight:700;line-height:1.25}.admin-grants-view .admin-access-decision-user{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s);line-height:1.25;overflow-wrap:anywhere}.admin-grants-view .admin-access-state{border:1px solid transparent;border-radius:8px;box-sizing:border-box;flex:0 0 auto;font-size:var(--lumo-font-size-xs);font-weight:700;line-height:1.2;max-width:12rem;overflow-wrap:anywhere;padding:4px var(--lumo-space-xs);text-align:center}.admin-grants-view .admin-access-state-ok{background:var(--lumo-success-color-10pct);border-color:var(--lumo-success-color-50pct);color:var(--lumo-success-text-color)}.admin-grants-view .admin-access-state-muted{background:var(--lumo-contrast-5pct);border-color:var(--lumo-contrast-20pct);color:var(--lumo-secondary-text-color)}.admin-grants-view .admin-access-state-empty{background:var(--lumo-error-color-10pct);border-color:var(--lumo-error-color-50pct);color:var(--lumo-error-text-color)}.admin-grants-view .admin-access-guidance{color:var(--lumo-body-text-color);display:block;font-size:var(--lumo-font-size-s);line-height:1.35;overflow-wrap:anywhere}.admin-grants-view .admin-access-metrics{display:grid;gap:var(--lumo-space-xs);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));min-width:0}.admin-grants-view .admin-access-metric{border:1px solid var(--lumo-contrast-10pct);border-radius:8px;box-sizing:border-box;display:grid;gap:2px;min-width:0;padding:var(--lumo-space-xs)}.admin-grants-view .admin-access-metric-label{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-xs);font-weight:700;line-height:1.2}.admin-grants-view .admin-access-metric-value{color:var(--lumo-body-text-color);font-size:var(--lumo-font-size-s);line-height:1.25;overflow-wrap:anywhere}.admin-grants-view .admin-grants-action-button{min-width:120px;min-height:2.2rem}.admin-grants-view .admin-grants-grid{box-sizing:border-box;max-width:100%;overflow-x:hidden;width:100%}.admin-grants-view .admin-access-workspace{min-height:0}.admin-grants-view .admin-access-workspace .search-pane,.admin-grants-view .admin-access-workspace .results-pane{max-height:none;max-width:none;width:100%}.admin-grants-view .admin-access-query-pane{flex:0 0 auto}.admin-grants-view .admin-item-results-pane{min-height:calc(100vh - 220px);overflow:visible}.admin-grants-view .admin-can-view-pane{min-height:320px}.admin-grants-view .admin-item-results-grid{height:min(70vh,900px);min-height:620px}.admin-grants-view .admin-can-view-grid{min-height:260px}.admin-grants-view .admin-grants-cell-text{display:inline-block;max-width:100%;overflow-wrap:anywhere;text-overflow:ellipsis;white-space:normal;word-break:break-word}.admin-grants-view vaadin-button:focus-visible,.admin-grants-view vaadin-combo-box:focus-visible,.admin-grants-view vaadin-text-field:focus-visible,.admin-grants-view vaadin-checkbox:focus-visible{outline:2px solid var(--lumo-primary-color);outline-offset:2px}.dense-form{width:100%}.dense-form vaadin-text-field,.dense-form vaadin-text-area,.dense-form vaadin-integer-field,.dense-form vaadin-number-field,.dense-form vaadin-date-picker,.dense-form vaadin-time-picker,.dense-form vaadin-combo-box,.dense-form vaadin-multi-select-combo-box,.dense-form vaadin-email-field,.dense-form vaadin-password-field,.dense-form vaadin-checkbox{width:100%}.search-assistant-response{font-size:var(--lumo-font-size-s)}.inventory-assistant-view{overflow:auto}.inventory-assistant-introduction,.inventory-assistant-model,.inventory-assistant-item-meta{color:var(--lumo-secondary-text-color)}.inventory-assistant-model{font-size:var(--lumo-font-size-xs)}.inventory-assistant-panel{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-l);box-sizing:border-box;display:grid;gap:var(--lumo-space-m);margin-bottom:var(--lumo-space-l);padding:var(--lumo-space-m);width:min(100%,980px)}.inventory-assistant-widget{flex:0 0 auto}.inventory-assistant-launcher{white-space:nowrap}.inventory-assistant-dialog::part(overlay){max-height:calc(100dvh - 2rem);max-width:calc(100vw - 2rem)}.inventory-assistant-dialog::part(content){box-sizing:border-box;min-height:0;overflow:hidden;padding:0}.inventory-assistant-dialog-panel{border:0;border-radius:0;grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;margin:0;min-height:0;overflow:hidden;padding:var(--lumo-space-m);width:100%}.inventory-assistant-page-context,.inventory-assistant-item-context{align-items:center;background:color-mix(in srgb,var(--lumo-primary-color-10pct) 65%,var(--lumo-base-color));border:1px solid var(--lumo-primary-color-50pct);border-radius:var(--lumo-border-radius-m);display:flex;flex-wrap:wrap;gap:var(--lumo-space-s);padding:var(--lumo-space-s) var(--lumo-space-m)}.inventory-assistant-page-context{display:flex;flex-wrap:wrap;gap:var(--lumo-space-s)}.inventory-assistant-item-label,.inventory-assistant-speaker{font-size:var(--lumo-font-size-xs);font-weight:700;letter-spacing:.025em;text-transform:uppercase}.inventory-assistant-item-value{font-weight:600}.inventory-assistant-item-meta{font-size:var(--lumo-font-size-s)}.inventory-assistant-transcript{background:color-mix(in srgb,var(--lumo-contrast-5pct) 55%,var(--lumo-base-color));border-radius:var(--lumo-border-radius-m);display:flex;flex-direction:column;gap:var(--lumo-space-s);max-height:52vh;min-height:260px;overflow:auto;padding:var(--lumo-space-m)}.inventory-assistant-transcript:focus-visible{outline:2px solid var(--lumo-primary-color);outline-offset:2px}.inventory-assistant-message{border-radius:var(--lumo-border-radius-l);box-sizing:border-box;display:grid;gap:var(--lumo-space-xs);max-width:min(82%,760px);padding:var(--lumo-space-s) var(--lumo-space-m)}.inventory-assistant-message-assistant{align-self:flex-start;background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-10pct)}.inventory-assistant-message-user{align-self:flex-end;background:var(--lumo-primary-color-10pct);border:1px solid var(--lumo-primary-color-50pct)}.inventory-assistant-message-error{align-self:flex-start;background:var(--lumo-error-color-10pct);border:1px solid var(--lumo-error-color-50pct)}.inventory-assistant-message-text{overflow-wrap:anywhere;white-space:pre-wrap}.inventory-assistant-composer{display:grid;gap:var(--lumo-space-s)}.inventory-assistant-status{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-xs);min-height:1.25rem}.inventory-assistant-quick-questions{display:flex;flex-wrap:wrap;gap:var(--lumo-space-xs)}@media(max-width:700px){.inventory-assistant-launcher{font-size:0;min-width:var(--lumo-size-m);padding-inline:var(--lumo-space-s)}.inventory-assistant-launcher vaadin-icon{font-size:var(--lumo-icon-size-s);margin:0}}@media(max-width:600px),(max-height:640px){.inventory-assistant-dialog{height:100dvh!important;inset:0!important;margin:0!important;width:100vw!important}.inventory-assistant-dialog::part(overlay){border-radius:0;height:100dvh;max-height:100dvh;max-width:100vw;width:100vw}.inventory-assistant-dialog-panel{padding:var(--lumo-space-s) max(var(--lumo-space-s),env(safe-area-inset-right)) max(var(--lumo-space-s),env(safe-area-inset-bottom)) max(var(--lumo-space-s),env(safe-area-inset-left))}.inventory-assistant-dialog-panel .inventory-assistant-transcript{min-height:0}}vaadin-text-field::part(input-field),vaadin-text-area::part(input-field),vaadin-integer-field::part(input-field),vaadin-number-field::part(input-field),vaadin-big-decimal-field::part(input-field),vaadin-date-picker::part(input-field),vaadin-time-picker::part(input-field),vaadin-combo-box::part(input-field),vaadin-multi-select-combo-box::part(input-field),vaadin-select::part(input-field),vaadin-email-field::part(input-field),vaadin-password-field::part(input-field){background:color-mix(in srgb,var(--lumo-contrast-10pct) 72%,var(--lumo-base-color));border:1px solid var(--lumo-contrast-30pct);box-shadow:0 0 0 1px var(--lumo-contrast-5pct),inset 0 0 0 1px var(--lumo-contrast-5pct);outline:1px solid transparent;outline-offset:-1px}vaadin-text-field:hover::part(input-field),vaadin-text-area:hover::part(input-field),vaadin-integer-field:hover::part(input-field),vaadin-number-field:hover::part(input-field),vaadin-big-decimal-field:hover::part(input-field),vaadin-date-picker:hover::part(input-field),vaadin-time-picker:hover::part(input-field),vaadin-combo-box:hover::part(input-field),vaadin-multi-select-combo-box:hover::part(input-field),vaadin-select:hover::part(input-field),vaadin-email-field:hover::part(input-field),vaadin-password-field:hover::part(input-field){border-color:var(--lumo-contrast-40pct);box-shadow:0 0 0 1px var(--lumo-contrast-10pct),inset 0 0 0 1px var(--lumo-contrast-5pct)}vaadin-text-field[focused]::part(input-field),vaadin-text-area[focused]::part(input-field),vaadin-integer-field[focused]::part(input-field),vaadin-number-field[focused]::part(input-field),vaadin-big-decimal-field[focused]::part(input-field),vaadin-date-picker[focused]::part(input-field),vaadin-time-picker[focused]::part(input-field),vaadin-combo-box[focused]::part(input-field),vaadin-multi-select-combo-box[focused]::part(input-field),vaadin-select[focused]::part(input-field),vaadin-email-field[focused]::part(input-field),vaadin-password-field[focused]::part(input-field){border-color:var(--lumo-primary-color);box-shadow:0 0 0 2px var(--lumo-primary-color-50pct),inset 0 0 0 1px var(--lumo-primary-color-10pct);outline-color:var(--lumo-primary-color-10pct)}vaadin-text-field[invalid]::part(input-field),vaadin-text-area[invalid]::part(input-field),vaadin-integer-field[invalid]::part(input-field),vaadin-number-field[invalid]::part(input-field),vaadin-big-decimal-field[invalid]::part(input-field),vaadin-date-picker[invalid]::part(input-field),vaadin-time-picker[invalid]::part(input-field),vaadin-combo-box[invalid]::part(input-field),vaadin-multi-select-combo-box[invalid]::part(input-field),vaadin-select[invalid]::part(input-field),vaadin-email-field[invalid]::part(input-field),vaadin-password-field[invalid]::part(input-field){border-color:var(--lumo-error-color);box-shadow:0 0 0 2px var(--lumo-error-color-10pct),inset 0 0 0 1px var(--lumo-error-color-10pct)}vaadin-text-field[readonly]::part(input-field),vaadin-text-area[readonly]::part(input-field),vaadin-integer-field[readonly]::part(input-field),vaadin-number-field[readonly]::part(input-field),vaadin-big-decimal-field[readonly]::part(input-field),vaadin-date-picker[readonly]::part(input-field),vaadin-time-picker[readonly]::part(input-field),vaadin-combo-box[readonly]::part(input-field),vaadin-multi-select-combo-box[readonly]::part(input-field),vaadin-select[readonly]::part(input-field),vaadin-email-field[readonly]::part(input-field),vaadin-password-field[readonly]::part(input-field){background:var(--lumo-contrast-5pct);border-color:var(--lumo-contrast-20pct);box-shadow:inset 0 0 0 1px var(--lumo-contrast-5pct)}vaadin-text-field[disabled]::part(input-field),vaadin-text-area[disabled]::part(input-field),vaadin-integer-field[disabled]::part(input-field),vaadin-number-field[disabled]::part(input-field),vaadin-big-decimal-field[disabled]::part(input-field),vaadin-date-picker[disabled]::part(input-field),vaadin-time-picker[disabled]::part(input-field),vaadin-combo-box[disabled]::part(input-field),vaadin-multi-select-combo-box[disabled]::part(input-field),vaadin-select[disabled]::part(input-field),vaadin-email-field[disabled]::part(input-field),vaadin-password-field[disabled]::part(input-field){border-color:var(--lumo-contrast-20pct);box-shadow:none}.inline-field-row{align-items:end;gap:var(--lumo-space-xs);width:100%}.inline-field-row vaadin-button{flex:0 0 auto}.entry-actions{background:color-mix(in srgb,var(--lumo-base-color) 94%,transparent);border-top:1px solid var(--lumo-contrast-10pct);bottom:calc(-1 * var(--lumo-space-m));margin:var(--lumo-space-s) calc(-1 * var(--lumo-space-m)) 0;padding:var(--lumo-space-s) var(--lumo-space-m);position:sticky;z-index:1}.entry-section{border-top:1px solid var(--lumo-contrast-10pct);margin-top:var(--lumo-space-s);padding-top:var(--lumo-space-xs);width:100%}.entry-section::part(summary){color:var(--lumo-secondary-text-color);font-weight:700;min-height:2.25rem}.entry-section[opened]::part(summary){color:var(--lumo-header-text-color)}.entry-section .dense-form{padding:var(--lumo-space-xs) 0 var(--lumo-space-s)}.media-strip{border-top:1px solid var(--lumo-contrast-10pct);gap:var(--lumo-space-s);margin-top:var(--lumo-space-s);padding-top:var(--lumo-space-s);width:100%}.inventory-toolbar{align-items:flex-start}.toolbar-actions{align-items:center;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:var(--lumo-space-s);justify-content:flex-end;min-width:0}.toolbar-actions>*{flex:0 0 auto}.camera-shell-hidden{display:none!important}.camera-overlay-open{overflow:hidden!important}.camera-shell-root{display:flex;flex-direction:column;gap:var(--lumo-space-s)}.camera-video-wrap{background:#000;border-radius:12px;overflow:hidden;position:relative;width:100%;min-height:220px}.camera-video-wrap video{width:100%;height:auto;aspect-ratio:16 / 9;display:block;object-fit:cover}.camera-controls{display:flex;gap:8px;flex-wrap:wrap}.camera-roi{position:absolute;left:50%;top:50%;width:68%;max-width:340px;aspect-ratio:4 / 3;border:2px dashed rgba(255,255,255,.95);border-radius:12px;transform:translate(-50%,-50%);pointer-events:none}.barcode-roi:before,.capture-roi:before{background:#00000073;color:#fff;content:"";font-size:11px;left:0;right:0;padding:4px;position:absolute;text-align:center;top:-24px}.capture-roi{border-color:#ffffffd9;border-style:dashed;border-width:2px}.barcode-roi{width:74%;max-width:420px}.camera-shell-root :where(.barcode-roi,.capture-roi){transition:width .18s ease,max-width .18s ease}barcode-scanner.camera-active,camera-capture.camera-active{position:fixed!important;inset:0!important;z-index:1200!important;margin:0!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;background:#000!important;border:0!important;border-radius:0!important;padding:0!important;overflow:auto}barcode-scanner.camera-active .camera-shell-root,camera-capture.camera-active .camera-shell-root{width:100%;height:100%;padding:var(--lumo-space-s);box-sizing:border-box}barcode-scanner.camera-active .camera-video-wrap,camera-capture.camera-active .camera-video-wrap{flex:1;min-height:0}barcode-scanner.camera-active .camera-video-wrap video,camera-capture.camera-active .camera-video-wrap video{aspect-ratio:auto;height:100%}barcode-scanner .barcode-roi:before{color:#fff;content:"Align barcode in this box";top:-24px}camera-capture .capture-roi:before{content:"Keep item inside this box for photo capture";top:-28px}barcode-scanner.camera-active .camera-shell-root{gap:var(--lumo-space-m)}barcode-scanner.camera-active .camera-controls,camera-capture.camera-active .camera-controls{margin-top:auto}barcode-scanner,camera-capture{box-sizing:border-box;display:block;width:100%}.preview-image{border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m);max-height:190px;object-fit:contain;width:100%}.inventory-image-gallery{display:grid;gap:var(--lumo-space-s);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));width:100%}.inventory-image-gallery>span:first-child{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-xs);font-weight:700;grid-column:1 / -1}.inventory-image-card{border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m);box-sizing:border-box;display:grid;gap:var(--lumo-space-xs);grid-template-rows:118px auto auto auto;min-width:0;padding:var(--lumo-space-s)}.inventory-image-card .item-thumbnail-image{border-radius:var(--lumo-border-radius-s);height:118px}.inventory-image-card span{overflow-wrap:anywhere}.upload-progress-bar{width:100%}.upload-progress-text{color:var(--lumo-secondary-text-color);display:block;font-size:var(--lumo-font-size-xs);max-width:360px;overflow-wrap:anywhere}.data-grid{border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m);overflow:hidden;width:100%}.grid-column-filter{min-width:112px;width:100%}.grid-column-filter::part(input-field){min-height:1.9rem}.grid-number-range-filter{min-width:168px}.grid-number-filter{min-width:80px}.grid-number-filter::part(input-field){min-height:1.9rem;padding-inline:var(--lumo-space-xs)}.grid-column-menu{flex:0 0 auto;min-width:104px}.manage-columns-dialog::part(content){min-height:0;overflow:hidden;padding:var(--lumo-space-m)}.manage-columns-workspace{box-sizing:border-box;display:grid;gap:var(--lumo-space-m);grid-template-columns:minmax(280px,.85fr) minmax(420px,1.15fr);min-height:0;overflow:hidden}.manage-columns-pane{border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m);box-sizing:border-box;min-height:0;min-width:0;padding:var(--lumo-space-m)}.manage-columns-pane h4{margin:0 0 var(--lumo-space-s)}.manage-columns-visibility-pane{overflow:auto}.manage-columns-visibility-pane .column-groups{padding-top:var(--lumo-space-s)}.manage-columns-order-pane{gap:var(--lumo-space-s);overflow:hidden}.manage-columns-help{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s)}.manage-columns-order-pane .selected-columns-order{min-height:220px}.manage-columns-move-controls{flex-wrap:wrap;width:100%}.inventory-grid,.search-grid{flex:1 1 auto;min-height:420px}.search-results-grid{height:min(76vh,960px);min-height:680px}.inventory-grid{height:min(72vh,920px);min-height:620px}.categories-grid{flex:1 1 auto;height:min(72vh,920px);min-height:620px}.selected-finops-pane{border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m);box-sizing:border-box;display:flex;flex-direction:column;gap:var(--lumo-space-s);padding:var(--lumo-space-s);width:100%}.finops-summary{display:grid;gap:var(--lumo-space-s);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));width:100%}.finops-metric{border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m);box-sizing:border-box;min-width:0;padding:var(--lumo-space-s)}.finops-metric-label{color:var(--lumo-secondary-text-color);display:block;font-size:var(--lumo-font-size-xs);font-weight:700;margin-bottom:var(--lumo-space-xxs)}.finops-metric-value{color:var(--lumo-header-text-color);display:block;font-size:var(--lumo-font-size-l);font-weight:700;overflow-wrap:anywhere}.finops-filter-form{width:100%}.selected-finops-grid{min-height:260px}.inventory-edit-dialog-content{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--lumo-space-s);max-height:min(76vh,880px);overflow:auto;padding:var(--lumo-space-xs) 0;width:100%}.grid-action-row{flex-wrap:nowrap;gap:var(--lumo-space-xs)}.grid-action-row vaadin-button{flex:0 0 auto}.project-finops-pane{display:flex;flex-direction:column;gap:var(--lumo-space-m)}.project-finops-section{display:flex;flex-direction:column;gap:var(--lumo-space-s);width:100%}.project-finops-category-grid{min-height:140px}.project-finops-grid{min-height:420px}.project-finops-item-title{background:color-mix(in srgb,var(--lumo-contrast-5pct) 55%,var(--lumo-base-color));border:1px solid var(--lumo-contrast-30pct);border-radius:var(--lumo-border-radius-m);box-shadow:0 0 0 1px var(--lumo-contrast-5pct),inset 0 0 0 1px var(--lumo-contrast-5pct);box-sizing:border-box;display:block;max-width:720px;min-height:2rem;overflow-wrap:anywhere;padding:4px var(--lumo-space-xs);white-space:normal}.inventory-grid::part(cell){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-thumbnail-link{align-items:center;border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m);box-sizing:border-box;display:inline-flex;height:48px;justify-content:center;overflow:hidden;text-decoration:none;width:64px}.item-thumbnail-button{background:var(--lumo-base-color);color:inherit;cursor:zoom-in;font:inherit;padding:0}.item-thumbnail-link:hover{border-color:var(--lumo-primary-color-50pct);box-shadow:0 0 0 2px var(--lumo-primary-color-10pct)}.item-thumbnail-button:focus-visible{border-color:var(--lumo-primary-color);box-shadow:0 0 0 2px var(--lumo-primary-color-50pct);outline:none}.item-thumbnail-image{display:block;height:100%;object-fit:cover;width:100%}.item-thumbnail-placeholder{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-xs);line-height:1.1;padding:0 var(--lumo-space-xs);text-align:center}.item-summary-link{color:var(--lumo-primary-text-color);display:inline-block;max-width:100%;min-width:0;overflow:hidden;text-decoration:none;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.item-summary-link:hover{text-decoration:underline}.item-summary-target{cursor:help}.item-summary-link.item-summary-target,.item-summary-button.item-summary-target{cursor:pointer}.item-hover-summary{box-sizing:border-box;display:grid;gap:var(--lumo-space-s);max-width:320px;min-width:260px}.item-hover-summary-with-image{grid-template-columns:88px minmax(0,1fr)}.item-hover-summary-image{background:var(--lumo-contrast-5pct);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m);height:88px;object-fit:cover;width:88px}.item-hover-summary-body{display:grid;gap:var(--lumo-space-xs);min-width:0}.item-hover-summary-title{color:var(--lumo-header-text-color);font-size:var(--lumo-font-size-m);font-weight:700;line-height:1.25;overflow-wrap:anywhere;text-decoration:none}.item-hover-summary-title:hover{text-decoration:underline}.item-hover-summary-fields{display:grid;gap:2px}.item-hover-summary-field{display:grid;gap:var(--lumo-space-xs);grid-template-columns:minmax(88px,.42fr) minmax(0,1fr);min-width:0}.item-hover-summary-label{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-xs);font-weight:700;line-height:1.25}.item-hover-summary-value{color:var(--lumo-body-text-color);font-size:var(--lumo-font-size-xs);line-height:1.25;min-width:0;overflow-wrap:anywhere}.item-hover-summary-note{border-top:1px solid var(--lumo-contrast-10pct);color:var(--lumo-secondary-text-color);display:block;font-size:var(--lumo-font-size-xs);line-height:1.3;margin-top:var(--lumo-space-xs);overflow-wrap:anywhere;padding-top:var(--lumo-space-xs)}.purchase-timeline-finance-record,.purchase-timeline-item-link{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-image-preview-dialog::part(content){max-height:92vh;max-width:min(92vw,940px);overflow:hidden;padding:0;width:min(92vw,940px)}.item-image-preview-body{box-sizing:border-box;display:grid;gap:var(--lumo-space-m);max-height:92vh;padding:var(--lumo-space-m)}.item-image-preview-header{display:grid;gap:var(--lumo-space-xs);min-width:0}.item-image-preview-title{font-size:var(--lumo-font-size-l);font-weight:700;line-height:1.25;overflow-wrap:anywhere}.item-image-preview-meta{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s);overflow-wrap:anywhere}.item-image-preview{border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m);box-sizing:border-box;max-height:min(70vh,720px);max-width:100%;object-fit:contain;width:100%}.item-image-preview-actions{justify-content:flex-end}.item-details-view{overflow:auto}.item-detail-top{align-items:stretch;display:grid;gap:var(--lumo-space-m);grid-template-columns:minmax(260px,420px) minmax(0,1fr);width:100%}.item-detail-top>.view-title,.item-detail-actions{grid-column:1 / -1}.item-detail-actions{display:flex;flex-wrap:wrap;gap:var(--lumo-space-s)}.item-detail-media,.item-detail-summary,.item-detail-sections{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-l);box-sizing:border-box;padding:var(--lumo-space-m)}.item-detail-receipt-list{display:grid;gap:var(--lumo-space-m)}.item-detail-receipt-card{border:1px solid var(--lumo-contrast-20pct);border-radius:var(--lumo-border-radius-m);display:grid;gap:var(--lumo-space-s);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));padding:var(--lumo-space-s)}@media(max-width:640px){.inventory-assistant-message{max-width:95%}}.item-detail-media{align-items:center;display:flex;justify-content:center;min-height:320px}.item-detail-image-gallery{display:grid;gap:var(--lumo-space-m);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));width:100%}.item-detail-image-card{display:grid;gap:var(--lumo-space-s);min-width:0}.item-detail-image-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--lumo-space-xs);justify-content:space-between;min-width:0}.item-detail-image-name{overflow-wrap:anywhere}.item-detail-image-primary{color:var(--lumo-primary-text-color);font-size:var(--lumo-font-size-xs);font-weight:700}.item-detail-image-download{font-size:var(--lumo-font-size-s)}.item-detail-image-actions{justify-content:flex-start}.item-detail-image{max-height:420px;max-width:100%;object-fit:contain;width:100%}.item-detail-no-image,.item-detail-empty{color:var(--lumo-secondary-text-color)}.item-detail-summary,.item-detail-section-content{display:grid;gap:var(--lumo-space-s);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.item-detail-sections{display:flex;flex-direction:column;gap:var(--lumo-space-s);width:100%}.item-detail-field{background:color-mix(in srgb,var(--lumo-contrast-5pct) 55%,var(--lumo-base-color));border:1px solid var(--lumo-contrast-30pct);border-radius:var(--lumo-border-radius-m);box-shadow:0 0 0 1px var(--lumo-contrast-5pct),inset 0 0 0 1px var(--lumo-contrast-5pct);box-sizing:border-box;min-width:0;min-height:3.25rem;padding:var(--lumo-space-s)}.item-detail-field:hover{border-color:var(--lumo-contrast-40pct);box-shadow:0 0 0 1px var(--lumo-contrast-10pct),inset 0 0 0 1px var(--lumo-contrast-5pct)}.item-detail-label{color:var(--lumo-secondary-text-color);display:block;font-size:var(--lumo-font-size-xs);font-weight:700;margin-bottom:var(--lumo-space-xxs)}.item-detail-value,.item-detail-notes{overflow-wrap:anywhere;white-space:pre-wrap}.item-detail-notes{background:color-mix(in srgb,var(--lumo-contrast-5pct) 55%,var(--lumo-base-color));border:1px solid var(--lumo-contrast-30pct);border-radius:var(--lumo-border-radius-m);box-shadow:0 0 0 1px var(--lumo-contrast-5pct),inset 0 0 0 1px var(--lumo-contrast-5pct);box-sizing:border-box;display:block;min-height:3.25rem;padding:var(--lumo-space-s);width:100%}.item-detail-pdf-content{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--lumo-space-s);grid-column:1 / -1;min-width:0;width:100%}.item-detail-pdf-viewer{background:var(--lumo-contrast-5pct);border:1px solid var(--lumo-contrast-20pct);border-radius:var(--lumo-border-radius-m);box-sizing:border-box;height:min(72vh,780px);min-height:520px;overflow:hidden;width:100%}.item-detail-pdf-frame{border:0;display:block;height:100%;width:100%}.item-detail-pdf-actions{display:flex;gap:var(--lumo-space-m);justify-content:flex-end}.purchase-review-pane{gap:var(--lumo-space-m)}.purchase-review-metrics{display:grid;gap:var(--lumo-space-s);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));width:100%}.purchase-review-metric{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-20pct);border-radius:8px;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--lumo-space-xs);min-width:0;padding:var(--lumo-space-s)}.purchase-review-metric-label,.purchase-review-field-label{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-xs);font-weight:700;letter-spacing:0;line-height:1.2}.purchase-review-metric-value{color:var(--lumo-header-text-color);font-size:var(--lumo-font-size-xl);font-weight:700;line-height:1.1}.purchase-review-layout{align-items:stretch;display:grid;gap:var(--lumo-space-m);grid-template-columns:minmax(420px,.95fr) minmax(520px,1.35fr);min-height:calc(100vh - 260px);min-width:0;width:100%}.purchase-review-grid,.purchase-review-detail{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-20pct);border-radius:8px;box-sizing:border-box;min-width:0}.purchase-review-detail{display:flex;flex-direction:column;gap:var(--lumo-space-m);overflow:auto;padding:var(--lumo-space-m)}.purchase-review-empty{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-m);padding:var(--lumo-space-l)}.purchase-review-detail-header,.purchase-review-actions,.purchase-review-audit{align-items:center;display:flex;flex-wrap:wrap;gap:var(--lumo-space-s);min-width:0}.purchase-review-detail-title{flex:1 1 320px;font-size:var(--lumo-font-size-l);line-height:1.25;margin:0;min-width:0}.purchase-review-compare{align-items:start;display:grid;gap:var(--lumo-space-m);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.purchase-review-panel{border:1px solid var(--lumo-contrast-20pct);border-radius:8px;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--lumo-space-s);min-width:0;padding:var(--lumo-space-s)}.purchase-review-panel h3,.purchase-review-diff-panel h3{font-size:var(--lumo-font-size-m);line-height:1.2;margin:0}.purchase-review-image,.purchase-review-image-placeholder,.purchase-review-pdf-viewer{background:var(--lumo-contrast-5pct);border:1px solid var(--lumo-contrast-20pct);border-radius:8px;box-sizing:border-box;width:100%}.purchase-review-image{aspect-ratio:4 / 3;display:block;object-fit:contain;padding:var(--lumo-space-s)}.purchase-review-image-gallery{display:grid;gap:var(--lumo-space-s);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));width:100%}.purchase-review-image-tile{background:var(--lumo-contrast-5pct);border:1px solid var(--lumo-contrast-20pct);border-radius:8px;box-sizing:border-box;color:inherit;display:flex;flex-direction:column;gap:var(--lumo-space-xs);min-width:0;padding:var(--lumo-space-xs);text-decoration:none}.purchase-review-image-tile-primary{border-color:var(--lumo-primary-color-50pct)}.purchase-review-image-tile .purchase-review-image{border:0;border-radius:6px;min-height:120px;padding:0}.purchase-review-image-label,.purchase-review-image-file{display:block;font-size:var(--lumo-font-size-xs);line-height:1.25;min-width:0;overflow-wrap:anywhere}.purchase-review-image-label{color:var(--lumo-primary-text-color);font-weight:700}.purchase-review-image-file{color:var(--lumo-secondary-text-color)}.purchase-review-image-placeholder{align-items:center;color:var(--lumo-secondary-text-color);display:flex;justify-content:center;min-height:220px;padding:var(--lumo-space-m)}.purchase-review-pdf-viewer{height:min(48vh,520px);min-height:360px;overflow:hidden}.purchase-review-pdf-frame{border:0;display:block;height:100%;width:100%}.purchase-review-field{background:var(--lumo-contrast-5pct);border:1px solid var(--lumo-contrast-10pct);border-radius:8px;box-sizing:border-box;display:flex;flex-direction:column;gap:2px;min-width:0;padding:var(--lumo-space-xs) var(--lumo-space-s)}.purchase-review-field-value{color:var(--lumo-body-text-color);font-size:var(--lumo-font-size-s);line-height:1.35;overflow-wrap:anywhere}.purchase-review-badge,.purchase-review-score{align-items:center;border-radius:999px;box-sizing:border-box;display:inline-flex;flex:0 0 auto;font-size:var(--lumo-font-size-xs);font-weight:700;justify-content:center;line-height:1;min-height:24px;padding:0 var(--lumo-space-s);white-space:nowrap}.purchase-review-badge-pending{background:var(--lumo-contrast-10pct);color:var(--lumo-secondary-text-color)}.purchase-review-badge-confirmed,.purchase-review-score-high{background:var(--lumo-success-color-10pct);color:var(--lumo-success-text-color)}.purchase-review-badge-review,.purchase-review-score-medium{background:var(--lumo-warning-color-10pct);color:var(--lumo-warning-text-color)}.purchase-review-badge-rejected,.purchase-review-score-low{background:var(--lumo-error-color-10pct);color:var(--lumo-error-text-color)}.purchase-review-diff-panel{display:flex;flex-direction:column;gap:var(--lumo-space-s);min-width:0}.purchase-review-diff-header{align-items:center;display:flex;gap:var(--lumo-space-s);justify-content:space-between;min-width:0}.purchase-review-diff-grid{border:1px solid var(--lumo-contrast-20pct);border-radius:8px;overflow:hidden}@media(max-width:1100px){.purchase-review-layout,.purchase-review-compare{grid-template-columns:1fr}}.admin-grid{align-items:stretch;box-sizing:border-box;display:grid;gap:var(--lumo-space-m);grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);min-height:0;overflow:hidden;width:100%}.admin-wide{grid-column:1 / -1}.admin-data-grid{height:300px;min-height:260px}vaadin-button[theme~=primary]{font-weight:700}vaadin-upload{max-width:100%}@media(max-width:980px){.manage-columns-dialog::part(content){overflow:auto}.manage-columns-workspace{grid-template-columns:1fr;min-height:680px;overflow:visible}.manage-columns-visibility-pane{max-height:300px}.manage-columns-order-pane{min-height:360px}.item-detail-top{grid-template-columns:1fr}.admin-grants-view{gap:var(--lumo-space-s);overflow-x:hidden;padding:var(--lumo-space-s)}.admin-grants-view .admin-grants-panes,.admin-grants-view .admin-grants-pane{width:100%}.admin-grants-view .admin-grants-tab-layout{grid-template-columns:1fr}.admin-grants-view .admin-grants-tab-column,.admin-grants-view .admin-grants-tabs,.admin-grants-view .admin-grants-action-button{width:100%}.admin-grants-view .admin-grants-cell-text{max-width:28ch}.admin-grants-view .admin-item-results-pane{min-height:520px}.admin-grants-view .admin-item-results-grid{height:64vh;min-height:460px}.ops-view{height:auto;min-height:100%;overflow:auto;padding:var(--lumo-space-s)}.workspace{flex-direction:column;overflow:visible}.entry-pane,.search-pane,.results-pane,.tool-pane{flex:0 0 auto;max-height:none;max-width:none;overflow:visible;width:100%}.inventory-grid,.search-grid{min-height:360px}.search-results-grid{height:72vh;min-height:520px}.inventory-grid{height:68vh;min-height:440px}.admin-grid{grid-template-columns:1fr;overflow:visible}.admin-wide{grid-column:auto}.app-nav{gap:var(--lumo-space-xs);min-height:48px;padding:0 var(--lumo-space-s)}.app-title{font-size:var(--lumo-font-size-m)}.nav-link{font-size:var(--lumo-font-size-xs);padding:var(--lumo-space-xs)}.projects-nav-menu vaadin-menu-bar-button{font-size:var(--lumo-font-size-xs)}}@media(max-width:420px){.admin-grants-view .admin-grants-title{font-size:var(--lumo-font-size-l)}.admin-grants-view .admin-grants-action-button{width:100%;max-width:100%}.admin-grants-view .admin-grants-cell-text{max-width:20ch}}
