:root{--ecogas-green: #94bd48;--ecogas-green-dark: #6e9630;--ecogas-green-soft: #edf7e5;--ecogas-mint: #d9f1dd;--ecogas-border: #edf1ec;--ecogas-sidebar: #f7f9f5;--ecogas-text: #424746;--ecogas-muted: #737b79;--ecogas-danger: #c53d4c;--ecogas-danger-dark: #8f2530;--ecogas-danger-soft: #fff0f2;--ecogas-surface-muted: #f4f7f5}body{background: #f7f9f6;color: var(--ecogas-text);--aura-app-layout-radius: var(--vaadin-radius-s);--aura-app-background: var(--ecogas-sidebar)}mark.search-highlight{background: #ffdf80;color: #303433;border-radius: 0.15rem}.search-match-context{display: block;color: var(--ecogas-muted);font-size: var(--vaadin-font-size-s)}.login-view{position: relative;box-sizing: border-box;min-height: 100%;overflow: hidden;background: radial-gradient(circle at 25% 52%,rgba(198,229,111,0.48),transparent 25rem),radial-gradient(circle at 76% 72%,rgba(98,202,127,0.38),transparent 28rem),linear-gradient(135deg,#ffffff 15%,#fbfdf7 58%,#f2fff4 100%)}.login-view::before{position: absolute;inset: 0;content: "";opacity: 0.18;background-image: linear-gradient(115deg,transparent 45%,#dbe9ce 45.2%,transparent 45.5%);pointer-events: none}.login-content{position: relative;z-index: 1;width: min(36rem,calc(100vw - 2rem))}.ecogas-logo{display: block;box-sizing: border-box;width: min(32rem,100%);height: auto;margin: 0 auto 1.35rem}.login-card{box-sizing: border-box;width: min(21rem,calc(100vw - 2rem));margin-inline: auto;padding: 1.2rem 1.35rem 1.45rem;border: 1px solid rgba(255,255,255,0.78);border-radius: 0.75rem;background: rgba(255,255,255,0.73);box-shadow: 0 1rem 3rem rgba(65,86,53,0.13);backdrop-filter: blur(13px);text-align: left}.login-card h1{margin: 0 0 0.35rem;color: #303433;font-size: 1.35rem}.login-card vaadin-login-form{width: 100%;text-align: left}.login-card vaadin-login-form-wrapper{padding: 0;background: transparent}.login-card vaadin-text-field,.login-card vaadin-password-field{text-align: left}.login-card vaadin-text-field::part(label),.login-card vaadin-password-field::part(label){align-self: flex-start;width: 100%;text-align: left}.remember-me-field{display: flex;align-items: center;box-sizing: border-box;gap: 0.5rem;margin: 0.35rem 0 0.85rem;color: var(--ecogas-muted);font-size: 0.92rem;text-align: left;cursor: pointer}.remember-me-field input{block-size: 1rem;inline-size: 1rem;margin: 0;accent-color: var(--ecogas-green)}.login-card vaadin-button[theme~="primary"]{justify-content: center;background: var(--ecogas-green);color: white;text-align: center}.login-card vaadin-button[theme~="primary"]:hover{background: var(--ecogas-green-dark)}.main-layout{}vaadin-app-layout{padding-right: 0;padding-bottom: 0}vaadin-app-layout::part(content){}vaadin-app-layout::part(drawer){width: 16.25rem;border: 0;background: rgba(248,250,247,0.92)}vaadin-app-layout::part(navbar){border: 0;background: transparent;box-shadow: none}.app-sidebar{box-sizing: border-box;min-height: 100%;padding: 2rem .5rem 1rem;background: linear-gradient(180deg,rgba(248,250,247,0.94),rgba(250,252,249,0.84))}.sidebar-logo{width: 9.2rem;height: auto;margin: 0.2rem 0 2.1rem}.sidebar-section{width: 100%;margin-bottom: 1.9rem}.sidebar-support-nav{margin-top: auto;margin-bottom: 0.35rem}.sidebar-section::part(label){padding: 0.35rem 0.55rem 0.5rem;color: #8b9691;font-size: 0.72rem;font-weight: 400}vaadin-side-nav-item{min-height: 2rem;color: #3f4744;font-size: 0.85rem}vaadin-side-nav-item::part(link){min-height: 2rem;border: 0;border-radius: 0;background: transparent;box-shadow: none}vaadin-side-nav-item::part(content){gap: 0.7rem;min-height: 2rem;padding: 0 0.55rem;border-radius: 0.35rem}vaadin-side-nav-item::part(prefix){color: #596461}vaadin-side-nav-item vaadin-icon{width: 0.95rem;height: 0.95rem}vaadin-side-nav-item[current]::part(link),vaadin-side-nav-item:hover::part(link){color: #1f4d34;background: transparent;box-shadow: none}vaadin-side-nav-item[current]::part(content),vaadin-side-nav-item:hover::part(content){background: var(--ecogas-green-soft)}vaadin-side-nav-item[current]::part(prefix),vaadin-side-nav-item:hover::part(prefix){color: #245b39}.sidebar-support-nav vaadin-side-nav-item{color: #98a09c}.sidebar-issue-count{display: inline-flex;align-items: center;justify-content: center;box-sizing: border-box;min-width: 1.35rem;min-height: 1.35rem;padding: 0 0.35rem;border-radius: 999px;color: #1f4d34;background: #edf7e5;font-size: 0.75rem;font-weight: 700;line-height: 1}.app-topbar{align-items: center;justify-content: flex-end;box-sizing: border-box;flex: 1 1 0;width: 100%;min-width: 0}.app-drawer-toggle{color: #234a36;background: transparent}.topbar-search{width: 9rem}.topbar-search::part(input-field),.date-badge,.status-badge,.topbar-icon-button{border-radius: 0.25rem}.topbar-search::part(input-field){min-height: 2rem;background: rgba(255,255,255,0.82);box-shadow: inset 0 0 0 1px var(--ecogas-border)}.topbar-icon-button{width: 2rem;height: 2rem;color: #234a36;background: rgba(240,247,241,0.76)}.topbar-avatar{width: 2rem;height: 2rem;color: #ffffff;font-size: 0.72rem}.home-view{box-sizing: border-box;width: min(100%,59rem);padding: 0 3rem 3rem 1.25rem}.dashboard-hero{display: grid;grid-template-columns: minmax(18rem,1fr) minmax(18rem,0.86fr);gap: 1.35rem;margin-top: 0.65rem}.dashboard-title{padding: 1rem 0 0.8rem 1.45rem}.dashboard-title h1{margin: 0;color: var(--ecogas-green);font-size: 2rem;line-height: 1.1}.dashboard-title span{color: var(--ecogas-muted);font-size: 0.95rem}.dashboard-panel{overflow: hidden;border: 1px solid rgba(239,244,238,0.8);border-radius: 0.45rem;background: rgba(255,255,255,0.78);box-shadow: 0 1rem 2.8rem rgba(58,91,70,0.08)}.dashboard-hero .dashboard-panel:first-of-type{grid-column: 1}.dashboard-hero .dashboard-panel:last-of-type{grid-column: 2;grid-row: 1 / span 2;align-self: end}.panel-title{margin: 0;padding: 0.75rem 1rem;background: #f4f5f5;color: #222827;font-size: 0.86rem;line-height: 1.1}.project-row,.task-row{display: grid;align-items: center;min-height: 2.65rem;padding: 0 1rem;font-size: 0.82rem}.project-row{grid-template-columns: 1.25rem minmax(0,1fr) auto;gap: 0.55rem}.project-row vaadin-icon{width: 0.9rem;height: 0.9rem;color: #50605a}.status-badge,.project-badge,.date-badge{display: inline-flex;align-items: center;width: max-content;min-height: 1.25rem;padding: 0 0.4rem;font-size: 0.72rem;line-height: 1;white-space: nowrap}.project-badge{color: #245b39;background: var(--ecogas-green-soft)}.status-muted,.date-badge{color: #4d5552;background: #f3f4f5}.status-success{color: #1e7040;background: #dff5e7}.status-danger{color: #ba3b48;background: #ffecef}.activity-row{display: grid;gap: 0.35rem;padding: 0.48rem 1rem;color: #6e7773;font-size: 0.78rem}.activity-row + .activity-row,.task-row + .task-row{border-top: 1px solid rgba(239,244,238,0.75)}.task-panel{margin-top: 1.45rem}.task-row{grid-template-columns: 1.4rem minmax(11rem,1fr) 6rem 7rem 6.8rem 1.7rem 1.7rem;gap: 0.8rem;min-height: 3.15rem}.task-row vaadin-icon{width: 0.9rem;height: 0.9rem;color: #0e5133}.task-handle{color: #789086}.task-copy{display: grid;gap: 0.28rem}.people-stack{display: flex;align-items: center}.avatar-chip{display: inline-flex;align-items: center;justify-content: center;width: 1.55rem;height: 1.55rem;margin-left: -0.28rem;border: 1px solid rgba(255,255,255,0.95);border-radius: 999px;color: #ffffff;font-size: 0.63rem;font-weight: 700}.avatar-chip:first-child{margin-left: 0}.avatar-pink{background: #ea3f9a}.avatar-violet{background: #5d27c8}.avatar-gray{color: #7b8380;background: #edf0ef}.placeholder-view{box-sizing: border-box;width: min(100%,59rem);min-height: calc(100vh - 4rem);padding: 1.8rem 3rem 3rem 1.25rem}.warehouse-view{display: flex;flex-direction: column;box-sizing: border-box;width: 100%;min-height: calc(100vh - 4rem);padding: 1.2rem 2rem 2rem 1.25rem}.warehouse-header{min-height: 4.2rem;margin-bottom: 1rem}.warehouse-title h1{margin: 0;color: #26312d;font-size: 1.65rem;line-height: 1.2}.warehouse-subtitle{color: var(--ecogas-muted);font-size: 0.88rem}.warehouse-content{flex: 1 1 auto;gap: 1rem;min-height: 34rem}.warehouse-category-panel,.warehouse-item-panel{box-sizing: border-box;min-height: 100%;border: 1px solid rgba(239,244,238,0.9);border-radius: 0.45rem;background: rgba(255,255,255,0.82);box-shadow: 0 1rem 2.8rem rgba(58,91,70,0.07);overflow: hidden}.warehouse-panel-toolbar,.warehouse-filter-bar,.contract-filter-bar,.sales-filter-bar,.users-filter-bar{box-sizing: border-box;min-height: 3.15rem;padding: 0.55rem 0.75rem;border-bottom: 1px solid rgba(239,244,238,0.9);background: #f8faf7}.warehouse-panel-label{min-width: 0;overflow: hidden;color: #27332f;font-size: 0.9rem;font-weight: 600;text-overflow: ellipsis;white-space: nowrap}.warehouse-search,.contract-search,.sales-search,.users-search{max-width: 38rem}.warehouse-category-actions,.warehouse-row-actions{align-items: center;gap: 0}.warehouse-category-actions{flex: 0 0 auto}.warehouse-category-actions vaadin-button{width: 2.25rem;min-width: 2.25rem;margin-inline-start: 0}.warehouse-category-panel vaadin-grid,.warehouse-item-panel vaadin-grid{border: 0}.warehouse-combobox-action{gap: 0.35rem;width: 100%}.warehouse-combobox-action vaadin-button{flex: 0 0 auto;width: 2.25rem;min-width: 2.25rem}.warehouse-item-form{gap: 1.15rem;width: 100%}.warehouse-item-form-section{gap: 0.55rem;width: 100%}.warehouse-item-form-section-title{margin: 0;color: #27332f;font-size: 0.95rem;font-weight: 650;line-height: 1.35}.warehouse-price-suffix{color: var(--ecogas-muted);font-size: 0.88rem}.issue-view{display: flex;flex-direction: column;box-sizing: border-box;width: 100%;min-height: calc(100vh - 4rem);padding: 1.2rem 2rem 2rem 1.25rem}.issue-content{flex: 1 1 auto;min-height: 34rem}.issue-panel{box-sizing: border-box;min-height: 100%;border: 1px solid rgba(239,244,238,0.9);border-radius: 0.45rem;background: rgba(255,255,255,0.82);box-shadow: 0 1rem 2.8rem rgba(58,91,70,0.07);overflow: hidden}.issue-panel vaadin-grid{border: 0}.issue-status-filter{width: 12rem;margin-left: auto}.issue-status-badge{display: inline-flex;align-items: center;min-height: 1.55rem;padding: 0 0.55rem;border-radius: 0.35rem;font-size: 0.78rem;font-weight: 700;line-height: 1}.issue-status-open{color: #8a5414;background: #fff2d8}.issue-status-resolved{color: #1e7040;background: #dff5e7}.issue-detail{gap: 0.9rem}.issue-detail-meta{gap: 0.75rem;flex-wrap: wrap}.issue-description{box-sizing: border-box;width: 100%;min-height: 7rem;padding: 0.85rem 1rem;border: 1px solid rgba(239,244,238,0.9);border-radius: 0.45rem;color: #27332f;background: #f8faf7;line-height: 1.45;white-space: pre-wrap}.issue-comment-grid{width: 100%;max-height: 16rem;border: 1px solid rgba(239,244,238,0.9);border-radius: 0.45rem}.issue-row-actions{gap: 0.35rem}.issue-comment-count{display: inline-flex;align-items: center;justify-content: center;box-sizing: border-box;min-width: 1.35rem;min-height: 1.35rem;padding: 0 0.35rem;border-radius: 999px;color: #27332f;background: #edf7e5;font-size: 0.75rem;font-weight: 700;line-height: 1}.issue-comment-text{white-space: pre-wrap;overflow-wrap: anywhere;line-height: 1.45}.dictionaries-view{display: flex;flex-direction: column;box-sizing: border-box;width: min(100%,58rem);min-height: calc(100vh - 4rem);padding: 1.2rem 2rem 2rem 1.25rem}.sales-view,.contract-view,.users-view{display: flex;flex-direction: column;box-sizing: border-box;width: 100%;min-width: 0;min-height: calc(100vh - 4rem);padding: 1.2rem 2rem 2rem 1.25rem}.roles-view{display: flex;flex-direction: column;box-sizing: border-box;width: min(100%,72rem);min-height: calc(100vh - 4rem);padding: 1.2rem 2rem 2rem 1.25rem}.sales-header,.contract-header,.users-header,.roles-header{min-height: 4.2rem;margin-bottom: 1rem}.sales-header h1,.contract-title h1,.users-title h1,.roles-title h1{margin: 0;color: #26312d;font-size: 1.65rem;line-height: 1.2}.contract-subtitle,.users-subtitle,.roles-subtitle{color: var(--ecogas-muted);font-size: 0.88rem}.dictionaries-content,.material-types-panel{min-height: 28rem}.sales-content,.contract-content,.users-content{flex: 1 1 auto;min-height: 34rem}.roles-content{flex: 1 1 auto;min-height: 34rem}.dictionaries-content{border: 1px solid rgba(239,244,238,0.9);border-radius: 0.45rem;background: rgba(255,255,255,0.82);box-shadow: 0 1rem 2.8rem rgba(58,91,70,0.07);overflow: hidden}.sales-content,.contract-content,.users-content,.roles-content{border: 1px solid rgba(239,244,238,0.9);border-radius: 0.45rem;background: rgba(255,255,255,0.82);box-shadow: 0 1rem 2.8rem rgba(58,91,70,0.07);overflow: hidden}.material-types-toolbar{box-sizing: border-box;min-height: 3.15rem;padding: 0.55rem 0.75rem;border-bottom: 1px solid rgba(239,244,238,0.9);background: #f8faf7}.material-types-panel vaadin-grid{border: 0}.sales-content vaadin-grid,.contract-content vaadin-grid,.users-content vaadin-grid,.roles-content vaadin-grid{border: 0}.warehouse-item-panel vaadin-grid,.sales-content vaadin-grid,.contract-content vaadin-grid,.users-content vaadin-grid{--vaadin-grid-row-height: 3.5rem}.sales-content vaadin-grid::part(body-cell),.contract-content vaadin-grid::part(body-cell),.users-content vaadin-grid::part(body-cell){box-sizing: border-box;min-height: 47px;height: 47px}.contract-combobox-action{min-width: 0}.contract-combobox-action vaadin-combo-box{min-width: 0}.users-row-actions,.roles-row-actions{align-items: center;gap: 0}.delete-confirmation-content{gap: 0.65rem;width: 100%}.delete-confirmation-target{box-sizing: border-box;display: block;width: 100%;padding: 0.65rem 0.8rem;border-left: 3px solid var(--ecogas-danger);background: var(--ecogas-danger-soft);color: var(--ecogas-danger-dark);font-weight: 600;overflow-wrap: anywhere}.delete-confirmation-note{color: var(--ecogas-muted)}.material-in-use-dialog::part(overlay){border-radius: 0.5rem;box-shadow: 0 1.25rem 3rem rgba(21,32,27,0.24);overflow: hidden}.material-in-use-dialog::part(header){padding: 0;border-bottom: 1px solid var(--ecogas-border);background: #ffffff}.material-in-use-dialog::part(content){padding: 1.25rem 1.5rem}.material-in-use-dialog::part(footer){padding: 0.8rem 1.5rem;border-top: 1px solid var(--ecogas-border);background: #ffffff}.material-in-use-header{box-sizing: border-box;gap: 0.85rem;width: 100%;padding: 1rem 1.5rem;background: #ffffff}.material-in-use-header-icon{display: flex;flex: 0 0 auto;align-items: center;justify-content: center;width: 2.5rem;height: 2.5rem;border-radius: 50%;background: var(--ecogas-danger-soft);color: var(--ecogas-danger)}.material-in-use-header-icon vaadin-icon{width: 1.25rem;height: 1.25rem}.material-in-use-header-text{gap: 0.1rem;min-width: 0}.material-in-use-title{color: var(--ecogas-text);font-size: 1.15rem;font-weight: 700;line-height: 1.25}.material-in-use-subtitle{color: var(--ecogas-muted);font-size: 0.82rem}.material-in-use-content{gap: 1rem;width: 100%}.material-in-use-summary{box-sizing: border-box;gap: 1rem;width: 100%;padding: 0.8rem 1rem;border: 1px solid var(--ecogas-border);border-left: 4px solid var(--ecogas-danger);border-radius: 0.35rem;background: var(--ecogas-surface-muted)}.material-in-use-summary-label{color: var(--ecogas-muted);font-size: 0.75rem;font-weight: 600;text-transform: uppercase}.material-in-use-summary-value{color: var(--ecogas-text);font-weight: 700;overflow-wrap: anywhere;text-align: right}.material-in-use-section-header{gap: 0.5rem;width: 100%;margin-top: 0.15rem}.material-in-use-section-title{font-weight: 600}.material-in-use-count{display: inline-flex;align-items: center;justify-content: center;min-width: 1.6rem;height: 1.6rem;padding-inline: 0.4rem;border-radius: 0.8rem;background: #e6eae7;color: var(--ecogas-text);font-size: 0.8rem;font-weight: 700}.material-in-use-items{display: flex;flex-wrap: wrap;gap: 0.45rem;box-sizing: border-box;width: 100%;max-height: 11rem;padding: 0 0.25rem 0 0;overflow-y: auto}.material-in-use-item{display: inline-flex;align-items: center;max-width: 100%;padding: 0.4rem 0.65rem;border: 1px solid #dce2de;border-radius: 0.25rem;background: var(--ecogas-surface-muted);color: var(--ecogas-text);overflow-wrap: anywhere}.material-in-use-guidance{box-sizing: border-box;gap: 0.65rem;width: 100%;padding: 0.75rem 0.85rem;border: 1px solid #d8e5c4;border-radius: 0.35rem;background: #f4f8ee;color: #55762c;font-weight: 600}.material-in-use-guidance vaadin-icon{flex: 0 0 auto;width: 1.2rem;height: 1.2rem}@media (max-width: 600px){.login-view{padding: 1rem}.home-view{padding: 1rem}}@media (max-width: 900px){.home-view,.placeholder-view{padding-inline: 1rem}.dashboard-hero{grid-template-columns: 1fr}.dashboard-hero .dashboard-panel:last-of-type{grid-column: 1;grid-row: auto}.task-row{grid-template-columns: 1.2rem minmax(9rem,1fr) auto;gap: 0.55rem}.task-row .status-badge,.people-stack,.task-row>vaadin-icon:nth-last-child(-n + 2){display: none}.warehouse-view{padding-inline: 1rem}.dictionaries-view{width: 100%;padding-inline: 1rem}.warehouse-content{flex-direction: column}.warehouse-category-panel{width: 100% !important;min-height: 14rem}}.contact-name-company-id-row,.contact-company-id-row,.contact-address-row,.contact-communication-row{min-width: 0;flex-wrap: wrap}.contact-name-company-id-row{flex-wrap: nowrap}.contact-name-company-id-row>vaadin-text-field{flex: 1 1 18rem;min-width: 0}.contact-name-company-id-row>.contact-company-id-row{flex: 0 0 auto;width: auto}.contact-address-row vaadin-text-field:first-child{flex: 1 1 18rem;min-width: 0}.contact-address-row vaadin-text-field:nth-child(2){flex: 1 1 11rem;min-width: 0}.contact-company-id-row vaadin-text-field{flex: 0 1 9rem;max-width: 100%;min-width: 0}.contact-company-id-row vaadin-button{flex: 0 0 auto;max-width: 100%}.contact-communication-row vaadin-text-field:first-child{flex: 1 1 16rem;min-width: 0}.contact-communication-row vaadin-text-field:last-child{flex: 0 0 auto;max-width: 100%;min-width: 0}.contact-address-row vaadin-text-field:last-child{flex: 0 0 auto;max-width: 100%;min-width: 0}.contact-person-divider{width: 100%;margin: 0.75rem 0 0.65rem;border: 0;border-top: 1px solid rgba(212,221,214,0.95)}.contact-person-heading{width: 100%;margin: 0 0 0.15rem;color: #4d5954;font-size: 0.9rem;font-weight: 600;line-height: 1.2}.contact-company-id-field{width: 9rem}.contact-postal-code-field{width: 7rem}.contact-phone-field{width: 13rem}vaadin-text-field::part(required-indicator),vaadin-password-field::part(required-indicator),vaadin-combo-box::part(required-indicator),vaadin-multi-select-combo-box::part(required-indicator),vaadin-number-field::part(required-indicator),vaadin-date-picker::part(required-indicator),vaadin-text-area::part(required-indicator){color: #c62828}.record-detail-view{box-sizing: border-box;width: min(100%,76rem);min-width: 0;padding: 1.4rem 2rem 2rem 1.25rem}.contract-detail-view{width: 100%}.contract-detail-tabs{margin-bottom: 1rem}.contract-edit-action{flex-shrink: 0;margin: 0}.contact-detail-view{width: 100%}.contact-detail-overview{display: grid;grid-template-columns: minmax(0,2fr) minmax(20rem,1fr);gap: 1rem;margin-bottom: 1rem}.contact-detail-overview .record-detail-section{margin-bottom: 0}.contract-detail-overview{display: grid;grid-template-columns: minmax(0,2fr) minmax(20rem,1fr);gap: 1rem;margin-bottom: 1rem}.contract-detail-overview .record-detail-section{margin-bottom: 0}.contract-detail-terms .record-detail-fields{grid-template-columns: repeat(2,minmax(0,1fr))}.record-detail-back{display: inline-block;margin-bottom: 1.3rem}.record-detail-header{gap: 1.5rem;margin-bottom: 1.6rem}.record-detail-header h1{margin: 0;color: #26312d;font-size: 1.65rem;line-height: 1.3;overflow-wrap: anywhere}.record-detail-header>vaadin-vertical-layout{flex: 1 1 0;min-width: 0}.record-detail-header vaadin-button{flex-shrink: 0}.record-detail-subtitle,.record-detail-label{color: var(--ecogas-muted);font-size: 0.88rem}.record-detail-section{padding: 1.25rem 1.5rem;margin-bottom: 1rem;border: 1px solid rgba(239,244,238,0.9);border-radius: 0.45rem;background: rgba(255,255,255,0.9);box-shadow: 0 0.4rem 1.4rem rgba(58,91,70,0.04)}.record-detail-section h2{margin: 0 0 1.1rem;font-size: 1.05rem;color: #26312d}.record-detail-fields{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(100%,17rem),1fr));row-gap: 1.25rem;column-gap: 2rem}.record-detail-field{display: flex;flex-direction: column;gap: 0.35rem;min-width: 0}.record-detail-value{white-space: pre-wrap;overflow-wrap: anywhere;line-height: 1.55}@media (max-width: 600px){.record-detail-view,.contract-tree-view{padding: 1rem}.record-detail-section{padding: 1rem}.record-detail-header{align-items: flex-start}.record-detail-header h1{font-size: 1.35rem}.contract-detail-terms .record-detail-fields{grid-template-columns: 1fr}}@media (max-width: 900px){.contract-detail-overview{grid-template-columns: 1fr}.contact-detail-overview{grid-template-columns: 1fr}}html{--vaadin-user-color-1: #2563eb;--vaadin-user-color-2: #7c3aed;--vaadin-user-color-3: #0f766e;--vaadin-user-color-4: #be185d;--vaadin-user-color-5: #b45309;--vaadin-user-color-6: #4338ca;--vaadin-user-color-7: #15803d;--vaadin-user-color-8: #b91c1c;--vaadin-user-color-9: #0369a1;--vaadin-user-color-10: #a21caf;--vaadin-user-color-11: #4d7c0f;--vaadin-user-color-12: #475569}.user-avatar{--vaadin-avatar-background: var(--vaadin-avatar-user-color);--vaadin-avatar-text-color: white;flex-shrink: 0}.user-avatar:not([img])::part(abbr){display: none}.user-avatar:not([img])::after{content: attr(abbr);position: absolute;z-index: 1;inset: 0;display: flex;align-items: center;justify-content: center;color: #fff;font-size: 0.8em;font-weight: 600;line-height: 1}.user-identity{gap: 0.6rem}.topbar-profile-button{padding: 0;min-width: 2.5rem;height: 2.5rem;border-radius: 50%}.profile-settings-view{width: min(100%,68rem)}.profile-settings-grid{display: grid;grid-template-columns: minmax(0,1fr);align-items: start;gap: 1.25rem}.profile-settings-grid .record-detail-section{margin-bottom: 0;min-width: 0}.profile-settings-grid .record-detail-fields{display: flex;flex-direction: column;gap: 1.15rem}.profile-deactivate-action{margin-top: 1.25rem}.profile-avatar-preview{padding: 0.75rem 0}.profile-avatar-preview .user-identity{flex-direction: column;align-items: center;gap: 0.9rem;text-align: center;font-weight: 600;overflow-wrap: anywhere}.profile-avatar-preview .user-avatar{width: 5.5rem;height: 5.5rem;font-size: 1.5rem}.profile-settings-hint{color: var(--ecogas-muted);font-size: 0.85rem;line-height: 1.5}.profile-avatar-actions{display: flex;flex-direction: column;align-items: center;gap: 0.3rem}.profile-avatar-actions vaadin-upload{border: 0;padding: 0}.profile-upload-button{border: 1px solid var(--vaadin-input-field-border-color,#d7e1d8);border-radius: 0.45rem}.profile-name-fields{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 1rem}.profile-email-field{display: flex;flex-direction: column;gap: 0.5rem}.profile-card-footer{display: flex;justify-content: flex-end;align-items: center;flex-wrap: wrap;gap: 0.6rem;border-top: 1px solid #edf1ed;padding-top: 1rem;margin-top: 0.3rem}.profile-password-footer{justify-content: space-between}@media (max-width: 600px){.profile-name-fields{grid-template-columns: 1fr}.profile-card-footer vaadin-button{flex: 1}}.profile-editor .record-detail-fields{display: flex;flex-direction: column;gap: 1.15rem}.profile-editor .profile-avatar-actions{max-width: 18rem;width: 100%;align-self: center}.profile-personal-layout{display: grid;grid-template-columns: 5.5rem minmax(0,1fr);align-items: center;gap: 2rem}.profile-personal-layout>.user-avatar{width: 5.5rem;height: 5.5rem;font-size: 1.5rem}.profile-personal-fields{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 1.25rem 2rem}.profile-personal-email{grid-column: 1 / -1}@media (max-width: 600px){.profile-personal-layout{gap: 1rem}.profile-personal-fields{grid-template-columns: 1fr}}.record-detail-actions{flex: 0 0 auto;flex-wrap: wrap;justify-content: flex-end;gap: 0.5rem}.record-detail-actions vaadin-button{white-space: nowrap}.contract-tree-panel{overflow: hidden;border: 1px solid #edf1ed;border-radius: 0.45rem;background: white}vaadin-confirm-dialog.contract-tree-takeover-dialog>[slot="confirm-button"]{flex: 0 0 auto;min-width: max-content;white-space: nowrap}.contract-tree-toolbar{flex-wrap: wrap;box-sizing: border-box;padding: 0.55rem 0.75rem;border-bottom: 1px solid #edf1ed;background: #f8faf7;gap: 1rem}.contract-tree-actions{flex-wrap: wrap;gap: 0.5rem}.contract-tree-toolbar>vaadin-text-field{flex-basis: 16rem;min-width: min(100%,16rem)}.contract-tree-toolbar>vaadin-button{flex-shrink: 0}.contract-tree-grid-container>vaadin-tree-grid{border: 0}.contract-tree-access-notice{display: block;padding: 0.75rem;color: var(--ecogas-muted)}.contract-tree-type{display: flex;align-items: center;gap: 0.5rem}.contract-tree-lock{width: 0.9rem;height: 0.9rem;color: var(--ecogas-muted);cursor: help}.contract-material-picker{margin-top: 1rem;gap: 0.75rem}.contract-tree-row-actions{display: flex;align-items: center}.contract-tree-row-actions-toggle{--vaadin-button-height: 1.5rem;--vaadin-button-margin: 0;width: 2.25rem;min-width: 2.25rem;padding: 0}.contract-tree-action-icon{width: 1rem;height: 1rem;margin-inline-end: 0.5rem}vaadin-context-menu-item.contract-tree-delete-action,.contract-tree-delete-action .contract-tree-action-label,.contract-tree-delete-action .contract-tree-action-icon{color: var(--ecogas-danger)}.contract-tree-material-stock{color: var(--ecogas-muted);font-size: 0.88rem}.contract-tree-name{display: inline-flex;align-items: center;gap: 0.45rem;max-width: 100%}.contract-tree-name-text{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.contract-tree-stock-badge{flex-shrink: 0;padding: 0.1rem 0.4rem;border-radius: 0.3rem;background: #fff3e0;color: #9a4d08;font-size: 0.72rem;line-height: 1.4;white-space: nowrap;cursor: help}.contract-tree-type-badge{display: inline-flex;align-items: center;padding: 0.15rem 0.5rem;border-radius: 0.35rem;font-size: 0.76rem;font-weight: 600;line-height: 1.4;white-space: nowrap}.contract-tree-type-object{color: #24578c;background: #eaf2fc}.contract-tree-type-location{color: #6a4591;background: #f2ebfa}.contract-tree-type-branch{color: #276848;background: #e9f5ed}.contract-tree-type-material{color: #54616d;background: #eef1f4}.material-specifications-panel{margin-top: 1.5rem;padding: 1rem;border: 1px solid #edf1ed;border-radius: 0.45rem;background: white}.material-specifications-panel>vaadin-horizontal-layout{align-items: center;justify-content: space-between;flex-wrap: wrap}.material-specifications-panel h3{margin: 0}.material-specifications-panel>span{display: block;margin: 0.75rem 0;color: var(--ecogas-muted)}.material-specifications-panel>vaadin-grid{margin-top: 0.75rem}.material-specification-refresh-action{display: inline-flex;margin: 1rem 1rem 1rem 0}.contract-tree-grid-container{height: 65vh;min-height: 14rem;overflow: hidden}.contract-detail-view .contract-tree-grid-container{height: clamp(16rem,42vh,28rem)}.contract-tree-resize-handle{display: flex;align-items: center;justify-content: center;height: 0.8rem;border-top: 1px solid #edf1ed;background: #f8faf7;cursor: ns-resize;touch-action: none;user-select: none}.contract-tree-resize-handle::after{content: "";width: 2.5rem;height: 3px;border-radius: 2px;background: var(--ecogas-muted)}.contract-tree-resize-handle:hover,.contract-tree-resize-handle:focus-visible{background: #edf1ed;outline: 2px solid var(--ecogas-muted);outline-offset: -2px}.material-specification-notice{display: block}.material-specification-items-heading{margin: 1rem 0}.material-specification-items-grid{--vaadin-grid-cell-padding: 0.25rem 0.75rem}.material-specification-items-grid vaadin-details{margin: 0;min-width: 0;max-width: 100%;--vaadin-details-summary-height: 1lh;--vaadin-details-summary-padding: 0}.material-specification-items-grid vaadin-details::part(content){box-sizing: border-box;max-width: 100%;overflow-x: auto}.material-specification-source-label{white-space: nowrap;overflow-wrap: normal}