html{--vanphu-orange: #f07a24;--vanphu-charcoal: #1e1e1e;--vanphu-beige-light: #fff5e8;--vanphu-beige: #eae4da;--vanphu-orange-bright: #f8892b;--vanphu-orange-deep: #cf6417;--vanphu-orange-label: #f0902e;--vanphu-orange-soft: #fdf0e6;--vanphu-gold: #e4ad4e;--vanphu-gold-hover: #f2bd62;--vanphu-gold-pressed: #c58c31;--vanphu-gold-soft: #fbf2df;--vanphu-font-family: "Inter","Segoe UI",Arial,sans-serif;--vanphu-sidebar-top: #313232;--vanphu-sidebar-mid: #2b2c2c;--vanphu-sidebar-low: #2d2c2a;--vanphu-sidebar-foot: #272726;--vanphu-sidebar-hover: rgba(255,255,255,0.06);--vanphu-sidebar-rule: rgba(255,255,255,0.08);--vanphu-sidebar-label: rgba(255,255,255,0.86);--vanphu-sidebar-icon: rgba(255,255,255,0.6);--vanphu-primary: var(--vanphu-orange);--vanphu-primary-strong: var(--vanphu-orange-deep);--vanphu-primary-soft: var(--vanphu-orange-soft);--vanphu-sidebar: var(--vanphu-sidebar-mid);--vanphu-page-background: var(--vanphu-beige-light);--vanphu-card-background: #ffffff;--vanphu-card-subtle: #fdfbf8;--vanphu-card-border: var(--vanphu-beige);--vanphu-divider: #f1ece5;--vanphu-text: var(--vanphu-charcoal);--vanphu-text-soft: #726b62;--vanphu-text-muted: #9a8f82;--vanphu-success: #00a642;--vanphu-success-soft: #e2f6ea;--vanphu-info: #0d5cb6;--vanphu-warning: #e6a700;--vanphu-warning-soft: #fdf4dd;--vanphu-danger: #b42318;--vanphu-danger-soft: #fdeceb;--vanphu-radius-field: 9px;--vanphu-radius-card: 16px;--vanphu-shadow-card: 0 8px 24px rgba(44,36,29,0.055);--aura-font-family: var(--vanphu-font-family);--vaadin-font-family: var(--vanphu-font-family);--lumo-font-family: var(--vanphu-font-family);font-family: var(--vanphu-font-family);--vanphu-overlay: rgba(30,30,30,0.92)}jmix-main-view{--aura-font-family: var(--vanphu-font-family);--vaadin-font-family: var(--vanphu-font-family);--aura-base-radius: var(--vanphu-radius-field);--aura-accent-color-light: var(--vanphu-primary);--aura-accent-color-dark: #ef914b;--aura-accent-color: var(--vanphu-primary);--aura-accent-surface: var(--vanphu-primary-soft);--aura-accent-text-color: var(--vanphu-primary-strong);--aura-accent-border-color: var(--vanphu-primary);--aura-accent-contrast-color: #ffffff;--aura-app-background: var(--vanphu-page-background);--vaadin-text-color: var(--vanphu-text);--vaadin-text-color-secondary: var(--vanphu-text-soft);--vaadin-text-color-disabled: var(--vanphu-text-muted);--vaadin-border-color: var(--vanphu-card-border);--vaadin-border-color-secondary: var(--vanphu-divider);--vaadin-focus-ring-color: var(--vanphu-primary);--vaadin-grid-row-border-width: 0;--vaadin-grid-column-border-width: 0;font-family: var(--vanphu-font-family)}jmix-main-view vaadin-button:has(vaadin-icon)::part(label){display: none}jmix-main-view vaadin-button:has(vaadin-icon){--vaadin-button-gap: 0}:where(:root),:where(:host){--vaadin-app-layout-drawer-width: 256px}vaadin-app-layout.jmix-main-view-app-layout:not([primary-section="navbar"]){--vaadin-app-layout-navbar-padding-top: 0px;--vaadin-app-layout-navbar-padding-inline-start: 0px;--vaadin-app-layout-navbar-padding-inline-end: 0px;--vaadin-app-layout-navbar-padding-bottom: 0px;transition: padding-bottom var(--vaadin-app-layout-transition-duration),padding-inline-start var(--vaadin-app-layout-transition-duration),padding-inline-end var(--vaadin-app-layout-transition-duration)}vaadin-app-layout.jmix-main-view-app-layout{padding-left: 0 !important;padding-right: 0 !important;padding-bottom: 0 !important}vaadin-app-layout.jmix-main-view-app-layout::part(drawer){padding: 0}vaadin-app-layout.jmix-main-view-app-layout[drawer-opened]:not( [primary-section="navbar"] ){--vaadin-app-layout-navbar-padding-inline-start: 0px}vaadin-app-layout.jmix-main-view-app-layout:not( [primary-section="navbar"] )::part(navbar){transition: inset-inline-start var(--vaadin-app-layout-transition-duration),padding var(--vaadin-app-layout-transition-duration)}vaadin-app-layout.jmix-main-view-app-layout[has-navbar]:not( [primary-section="navbar"] )>:nth-child(1 of :not([slot]):not(jmix-timer)):nth-last-child( 1 of :not([slot]):not(jmix-timer) ){border-top-width: 0;border-start-start-radius: 0;border-start-end-radius: 0}vaadin-app-layout.jmix-main-view-app-layout[has-navbar][has-drawer][drawer-opened]:not( [overlay] ):not([primary-section="navbar"])>:nth-child(1 of :not([slot]):not(jmix-timer)):nth-last-child( 1 of :not([slot]):not(jmix-timer) ){border-start-start-radius: 0}vaadin-app-layout.jmix-main-view-app-layout:not([primary-section="navbar"]) .jmix-main-view-header{background: linear-gradient(var(--aura-surface-color),var(--aura-surface-color)),var(--aura-app-background);background-clip: padding-box;background-origin: border-box;border: var(--aura-app-layout-border-width) solid var(--vaadin-border-color-secondary);border-top-width: min( var(--aura-app-layout-inset),var(--aura-app-layout-border-width) );border-inline-width: min( var(--aura-app-layout-inset),var(--aura-app-layout-border-width) );border-top-width: 0;border-inline-width: 0;border-bottom-width: 1px;border-start-start-radius: 0;border-start-end-radius: 0;padding: var(--vaadin-padding-s) var(--vaadin-padding-m)}vaadin-app-layout.jmix-main-view-app-layout:not( [primary-section="navbar"] )::part(navbar-bottom){border-top: 1px solid var(--vaadin-border-color-secondary)}vaadin-app-layout.jmix-main-view-app-layout[has-drawer][drawer-opened]:not( [overlay] ):not([primary-section="navbar"])>.jmix-main-view-header{border-inline-start-width: var(--aura-app-layout-border-width)}.jmix-main-view-header{display: flex;align-items: center;width: 100%;box-sizing: border-box;gap: var(--vaadin-gap-m)}.jmix-main-view-title{font-size: var(--aura-font-size-xl)}.jmix-main-view-section{display: flex;flex-direction: column;align-items: stretch;max-height: 100%;min-height: 100%}.jmix-main-view-application-title{display: flex;align-items: center;margin: 0;padding: var(--vaadin-padding-m);font-size: var(--aura-font-size-l)}.jmix-main-view-application-title-base-link{color: var(--vaadin-text-color);text-decoration: none}.jmix-main-view-navigation{display: flex;flex-direction: column;flex-grow: 1;overflow: auto}.jmix-main-view-footer{display: flex;align-items: center;gap: var(--vaadin-gap-m);padding: var(--vaadin-padding-m);padding-bottom: max( 0px,var(--aura-app-layout-inset) - var(--vaadin-padding-m) );border-top: 1px solid var(--vaadin-border-color-secondary)}.jmix-main-view-footer .jmix-user-indicator{flex-grow: 1}.jmix-main-view-user-menu{margin-inline-start: auto}.user-menu-button-content,.user-menu-header-content{display: grid;grid-template: "avatar text" "avatar subtext";grid-template-columns: auto 1fr;column-gap: var(--vaadin-gap-s);width: max-content;box-sizing: border-box;color: var(--vaadin-text-color);padding: var(--vaadin-padding-xs) var(--vaadin-padding-s)}.user-menu-header-content{width: 100%;padding-inline-end: var(--vaadin-padding-l)}.user-menu-button-content>.user-menu-avatar,.user-menu-header-content>.user-menu-avatar{grid-area: avatar;align-self: center}.user-menu-button-content>.user-menu-text{grid-row: text / subtext}.jmix-main-view-user-menu[theme~="substituted"] .user-menu-button-content>.user-menu-text{grid-row: text}.user-menu-header-content>.user-menu-text{grid-area: text;color: var(--vaadin-text-color);font-weight: 700;font-size: var(--aura-font-size-m)}.user-menu-header-content>.user-menu-text-subtext{grid-row: text / subtext}.user-menu-button-content>.user-menu-text,.user-menu-header-content>.user-menu-text{align-self: center;text-align: start;width: 100%;overflow: hidden;text-overflow: ellipsis}.user-menu-button-content>.user-menu-subtext,.user-menu-header-content>.user-menu-subtext{grid-area: subtext;align-self: center;text-align: start;color: var(--vaadin-text-color-secondary);font-size: var(--aura-font-size-xs);width: 100%;overflow: hidden;text-overflow: ellipsis}.jmix-main-view-user-menu:not([theme~="substituted"]) .user-menu-button-content>.user-menu-subtext{display: none}.jmix-initial-layout{--title-size: round(var(--aura-font-size-m) * 2.5,0.0625rem);--title-color: var(--vaadin-text-color-secondary);width: 100%;height: 100%;align-items: center;justify-content: center;container-type: inline-size;container-name: jmix-initial-layout}.jmix-initial-layout-content{display: flex;justify-content: space-between;width: 100%;max-width: 50rem;padding: var(--vaadin-padding-xl);box-sizing: border-box}.jmix-initial-layout-title{position: relative;color: var(--title-color);font-size: var(--title-size);line-height: calc(4 * var(--title-size));box-sizing: border-box}.jmix-initial-layout-title:after{position: absolute;width: 100%;height: 0.3rem;content: "";background: var(--title-color);top: 0;left: 0}.jmix-initial-layout-logo{--logo-size: calc(2.5 * var(--title-size));width: var(--logo-size);height: var(--logo-size)}@container jmix-initial-layout (max-width: 45rem){.jmix-initial-layout-content{flex-direction: column-reverse;align-items: center;gap: var(--vaadin-gap-l)}.jmix-initial-layout-title{padding-top: var(--vaadin-padding-m);line-height: var(--aura-line-height-m);text-align: center}}.jmix-main-view-navigation>.jmix-menu-filter-field{margin: var(--vaadin-padding-s) var(--vaadin-padding-m)}.jmix-main-view-navigation>.jmix-search-field{display: flex;margin: auto var(--vaadin-padding-m) var(--vaadin-padding-s) var(--vaadin-padding-m)}vaadin-app-layout.jmix-main-view-app-layout{--vaadin-app-layout-navbar-padding-top: 0;--vaadin-app-layout-navbar-padding-inline-start: 0;--vaadin-app-layout-navbar-padding-inline-end: 0;--vaadin-app-layout-navbar-padding-bottom: 0;color: var(--vanphu-text);background: var(--vanphu-page-background)}vaadin-app-layout.jmix-main-view-app-layout::part(navbar){min-height: 64px;background: var(--vanphu-card-background);border-bottom: 1px solid var(--vanphu-divider);box-shadow: none}vaadin-app-layout.jmix-main-view-app-layout>:not([slot]):not(jmix-timer){background: var(--vanphu-page-background)}vaadin-app-layout.jmix-main-view-app-layout::part(content){overflow-x: hidden;overflow-y: auto}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]{flex: 0 0 auto;min-height: calc(100% + 1px) !important;height: auto !important;overflow: visible !important}.jmix-main-view-header{box-sizing: border-box;min-height: 64px;gap: 14px;padding: 0 28px !important;background: var(--vanphu-card-background) !important;border: 0 !important;border-bottom: 1px solid var(--vanphu-divider) !important;border-radius: 0 !important}.jmix-main-view-drawer-toggle{min-width: 40px;min-height: 40px;color: var(--vanphu-text-soft);background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: 10px}.jmix-main-view-title{margin: 0;color: var(--vanphu-text);font-size: 22px;font-weight: var(--aura-font-weight-semibold);letter-spacing: -0.015em}.jmix-main-view-header>.jmix-search-field{margin-inline-start: auto;margin-inline-end: var(--vaadin-padding-m)}.jmix-main-view-user-menu{margin-inline-start: auto;color: var(--vanphu-text)}.user-menu-button-content{min-height: 40px;padding: 4px 8px;color: var(--vanphu-text)}.user-menu-button-content>.user-menu-avatar{--vaadin-avatar-background: var(--vanphu-primary-soft);--vaadin-avatar-text-color: var(--vanphu-primary-strong);--vaadin-avatar-border-color: transparent}vaadin-app-layout.jmix-main-view-app-layout vaadin-button[theme~="primary"]{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}vaadin-app-layout.jmix-main-view-app-layout vaadin-button[theme~="primary"]:hover{--vaadin-button-background: var(--vanphu-primary-strong)}.jmix-initial-layout{background: var(--vanphu-page-background)}.jmix-initial-layout-content{justify-content: center;align-items: center;max-width: 720px;padding: 40px;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card);box-shadow: var(--vanphu-shadow-card)}.jmix-initial-layout-title{display: none}.jmix-initial-layout-logo{width: min(100%,22rem);height: auto;object-fit: contain}@media (max-width: 800px){.jmix-main-view-header{padding: 0 14px !important}.jmix-main-view-title{font-size: 18px}}:where(:root),:where(:host){--vaadin-app-layout-drawer-width: 260px}vaadin-app-layout.jmix-main-view-app-layout{--vaadin-app-layout-drawer-width: 260px}vaadin-app-layout.jmix-main-view-app-layout::part(drawer){color-scheme: dark;color: #ffffff;background: var(--vanphu-sidebar-mid);border: 0;border-inline-end: 1px solid rgba(240,122,36,0.2);box-shadow: none}.jmix-main-view-section{min-height: 100%;color: #ffffff;background: linear-gradient( 180deg,var(--vanphu-sidebar-top) 0%,var(--vanphu-sidebar-mid) 42%,var(--vanphu-sidebar-low) 84%,var(--vanphu-sidebar-foot) 100% );--vaadin-text-color: #ffffff;--vaadin-text-color-secondary: var(--vanphu-sidebar-label);--vaadin-text-color-disabled: rgba(255,255,255,0.38);--vaadin-border-color: rgba(255,255,255,0.14);--vaadin-border-color-secondary: var(--vanphu-sidebar-rule)}.jmix-main-view-application-title{display: flex;align-items: center;box-sizing: border-box;height: 64px;min-height: 64px;margin: 0;padding: 0 20px;border-bottom: 1px solid var(--vanphu-sidebar-rule)}.jmix-main-view-application-title-base-link{display: block;flex: 0 0 auto;width: min(100%,186px);height: 30px;overflow: hidden;color: transparent;font-size: 0;text-decoration: none;background: url('images/vanphu-logo-white.png') left center / contain no-repeat}.jmix-main-view-application-title-base-link::before{display: none;content: none}.jmix-main-view-navigation{display: flex;flex-direction: column;flex-grow: 1;overflow: auto;padding: 4px 0 14px;scrollbar-width: thin;scrollbar-color: rgba(255,255,255,0.16) transparent}.jmix-main-view-navigation::-webkit-scrollbar{width: 6px}.jmix-main-view-navigation::-webkit-scrollbar-thumb{background: rgba(255,255,255,0.14);border-radius: 3px}.jmix-main-view-navigation::-webkit-scrollbar-thumb:hover{background: rgba(255,255,255,0.24)}.jmix-main-view-section .jmix-list-menu{box-sizing: border-box;padding: 0 12px;margin: 0;overflow: visible;color: var(--vanphu-sidebar-label)}.jmix-main-view-section .jmix-list-menu .jmix-menubar-item,.jmix-main-view-section .jmix-list-menu .menubar-list li{padding: 0;margin: 0}.jmix-main-view-section .jmix-list-menu>li{padding: 0;margin: 0}.jmix-main-view-section .jmix-list-menu a.jmix-menu-item.vp-section-link{min-height: 0;margin: 16px 0 2px;padding: 5px 12px;background: none;border-radius: 8px}.jmix-main-view-section .jmix-list-menu a.jmix-menu-item.vp-section-link:hover{background: rgba(240,122,36,0.1)}.jmix-main-view-section .jmix-list-menu a.jmix-menu-item.vp-section-link .prefix-component,.jmix-main-view-section .jmix-list-menu a.jmix-menu-item.vp-section-link vaadin-icon{display: none}.jmix-main-view-section .jmix-list-menu a.jmix-menu-item.vp-section-link .link-text{color: var(--vanphu-orange-label);font-size: 11px;font-weight: 700;letter-spacing: 0.1em;text-transform: uppercase;white-space: normal;line-height: 1.9;overflow: visible}.jmix-main-view-section .jmix-list-menu a.jmix-menu-item.vp-section-link:hover .link-text{color: var(--vanphu-orange-bright)}.jmix-main-view-section .jmix-list-menu a.jmix-menu-item.vp-section-link[highlight]{background: rgba(240,122,36,0.14);box-shadow: none}.jmix-main-view-section .jmix-list-menu a.jmix-menu-item.vp-section-link[highlight] .link-text{color: var(--vanphu-orange-bright)}.jmix-main-view-section .jmix-list-menu .menubar-list{margin-inline-start: 0;padding: 0}.jmix-main-view-section .jmix-list-menu .jmix-menubar-item>vaadin-details-summary::part(content){overflow: visible}.jmix-main-view-section .jmix-list-menu .jmix-menubar-summary-icon-container{overflow: visible}.jmix-main-view-section .jmix-list-menu .vp-section>vaadin-details-summary{display: flex;align-items: center;justify-content: space-between;gap: 8px;min-height: 0;margin: 16px 0 2px;padding: 5px 12px;background: none;border-radius: 8px;cursor: pointer;transition: background-color 140ms ease;--vaadin-icon-size: 13px}.jmix-main-view-section .jmix-list-menu .vp-section>vaadin-details-summary:hover{background: rgba(240,122,36,0.1)}.jmix-main-view-section .jmix-list-menu .vp-section>vaadin-details-summary::part(toggle){margin-inline-start: 0;color: var(--vanphu-orange-label);opacity: 0.6;transition: opacity 140ms ease}.jmix-main-view-section .jmix-list-menu .vp-section>vaadin-details-summary:hover::part(toggle){opacity: 1}.jmix-main-view-section .jmix-list-menu .vp-section>vaadin-details-summary .prefix-component{display: none}.jmix-main-view-section .jmix-list-menu .vp-section>vaadin-details-summary .menubar-summary{color: var(--vanphu-orange-label);font-size: 11px;font-weight: 700;letter-spacing: 0.1em;text-transform: uppercase;white-space: normal;line-height: 1.9;overflow: visible}.jmix-main-view-section .jmix-list-menu .vp-section>vaadin-details-summary:hover .menubar-summary{color: var(--vanphu-orange-bright)}.jmix-main-view-navigation>.jmix-list-menu>li:first-child>.vp-section>vaadin-details-summary{margin-top: 6px}.jmix-main-view-section .jmix-list-menu a.jmix-menu-item,.jmix-main-view-section .jmix-list-menu .jmix-menubar-item:not(.vp-section)>vaadin-details-summary{display: flex;align-items: center;gap: 14px;box-sizing: border-box;min-height: 42px;margin: 2px 0;padding: 9px 12px 9px 14px;color: var(--vanphu-sidebar-label);border-radius: 10px;transition: background-color 140ms ease,color 140ms ease}.jmix-main-view-section .jmix-list-menu a.jmix-menu-item .link-text,.jmix-main-view-section .jmix-list-menu .menubar-summary{font-size: 13.5px;font-weight: 500;line-height: 1.45;overflow: visible;white-space: normal;text-overflow: clip}.jmix-main-view-section .jmix-list-menu .menubar-summary{font-weight: 500}.jmix-main-view-section .jmix-list-menu .prefix-component{flex: 0 0 auto;align-self: flex-start;width: 18px;height: 18px;margin-top: 1px;color: var(--vanphu-sidebar-icon);transition: color 140ms ease;--vaadin-icon-size: 18px}.jmix-main-view-section .jmix-list-menu .jmix-menubar-item:not(.vp-section)>vaadin-details-summary::part(toggle){color: rgba(255,255,255,0.4);margin-inline-start: 8px;transition: color 140ms ease}.jmix-main-view-section .jmix-list-menu a.jmix-menu-item:hover,.jmix-main-view-section .jmix-list-menu .jmix-menubar-item:not(.vp-section)>vaadin-details-summary:hover{color: #ffffff;background: var(--vanphu-sidebar-hover)}.jmix-main-view-section .jmix-list-menu a.jmix-menu-item:hover .prefix-component,.jmix-main-view-section .jmix-list-menu .jmix-menubar-item:not(.vp-section)>vaadin-details-summary:hover .prefix-component,.jmix-main-view-section .jmix-list-menu .jmix-menubar-item:not(.vp-section)>vaadin-details-summary:hover::part(toggle){color: rgba(255,255,255,0.9)}.jmix-main-view-section .jmix-list-menu .jmix-menubar-item:not(.vp-section)[opened]>vaadin-details-summary{color: #ffffff}.jmix-main-view-section .jmix-list-menu a.jmix-menu-item[highlight]{min-height: 46px;padding-block: 12px;color: #ffffff;background: linear-gradient( 90deg,var(--vanphu-orange) 0%,var(--vanphu-orange) 10%,rgba(240,122,36,0.66) 46%,rgba(240,122,36,0.34) 68%,rgba(240,122,36,0) 100% );box-shadow: 0 6px 18px -12px rgba(240,122,36,0.9)}.jmix-main-view-section .jmix-list-menu a.jmix-menu-item[highlight]:hover{background: linear-gradient( 90deg,var(--vanphu-orange-bright) 0%,var(--vanphu-orange-bright) 10%,rgba(248,137,43,0.7) 46%,rgba(248,137,43,0.36) 68%,rgba(248,137,43,0) 100% )}.jmix-main-view-section .jmix-list-menu a.jmix-menu-item[highlight] .link-text{color: #ffffff;font-weight: 600}.jmix-main-view-section .jmix-list-menu a.jmix-menu-item[highlight] .prefix-component{color: #ffffff}@supports selector(:focus-visible){.jmix-main-view-section .jmix-list-menu a.jmix-menu-item:focus-visible,.jmix-main-view-section .jmix-list-menu .jmix-menubar-item>vaadin-details-summary:focus-visible{outline: 2px solid var(--vanphu-orange);outline-offset: -2px;border-radius: 10px}}.jmix-main-view-section .jmix-list-menu .menubar-list .menubar-list a.jmix-menu-item,.jmix-main-view-section .jmix-list-menu .menubar-list .menubar-list .jmix-menubar-item>vaadin-details-summary{padding-inline-start: 26px}.jmix-main-view-section .jmix-list-menu .menubar-list .menubar-list .menubar-list a.jmix-menu-item,.jmix-main-view-section .jmix-list-menu .menubar-list .menubar-list .menubar-list .jmix-menubar-item>vaadin-details-summary{padding-inline-start: 38px}.vp-drawer-footer{position: relative;display: flex;align-items: center;justify-content: flex-end;gap: 12px;box-sizing: border-box;flex: 0 0 auto;padding: 13px 20px 16px;border-top: 1px solid var(--vanphu-sidebar-rule);background: var(--vanphu-sidebar-foot)}.vp-drawer-footer::before{content: "";position: absolute;inset-inline: 0;bottom: 100%;height: 108px;z-index: 0;pointer-events: none;background-image: radial-gradient( 120% 95% at 92% 104%,rgba(240,122,36,0.16),rgba(240,122,36,0) 55% ),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='108' viewBox='0 0 260 108' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='162' y1='110' x2='264' y2='74'%3E%3Cstop offset='0' stop-color='%23f07a24' stop-opacity='0'/%3E%3Cstop offset='.18' stop-color='%23f07a24' stop-opacity='.24'/%3E%3Cstop offset='.5' stop-color='%23ffa055' stop-opacity='.95'/%3E%3Cstop offset='.78' stop-color='%23f07a24' stop-opacity='.66'/%3E%3Cstop offset='1' stop-color='%23f07a24' stop-opacity='.4'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='144' y1='110' x2='264' y2='56'%3E%3Cstop offset='0' stop-color='%23f07a24' stop-opacity='0'/%3E%3Cstop offset='.18' stop-color='%23f07a24' stop-opacity='.17'/%3E%3Cstop offset='.5' stop-color='%23f89148' stop-opacity='.68'/%3E%3Cstop offset='.78' stop-color='%23f07a24' stop-opacity='.48'/%3E%3Cstop offset='1' stop-color='%23f07a24' stop-opacity='.29'/%3E%3C/linearGradient%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='124' y1='110' x2='264' y2='36'%3E%3Cstop offset='0' stop-color='%23f07a24' stop-opacity='0'/%3E%3Cstop offset='.18' stop-color='%23f07a24' stop-opacity='.11'/%3E%3Cstop offset='.5' stop-color='%23f07a24' stop-opacity='.44'/%3E%3Cstop offset='.78' stop-color='%23f07a24' stop-opacity='.31'/%3E%3Cstop offset='1' stop-color='%23f07a24' stop-opacity='.18'/%3E%3C/linearGradient%3E%3ClinearGradient id='d' gradientUnits='userSpaceOnUse' x1='102' y1='110' x2='264' y2='14'%3E%3Cstop offset='0' stop-color='%23f07a24' stop-opacity='0'/%3E%3Cstop offset='.18' stop-color='%23f07a24' stop-opacity='.07'/%3E%3Cstop offset='.5' stop-color='%23f07a24' stop-opacity='.26'/%3E%3Cstop offset='.78' stop-color='%23f07a24' stop-opacity='.18'/%3E%3Cstop offset='1' stop-color='%23f07a24' stop-opacity='.11'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M102 110C176 109 228 72 264 14' stroke='url(%23d)' stroke-width='1'/%3E%3Cpath d='M124 110C190 109 234 86 264 36' stroke='url(%23c)' stroke-width='1.2'/%3E%3Cpath d='M144 110C202 109 240 96 264 56' stroke='url(%23b)' stroke-width='1.4'/%3E%3Cpath d='M162 110C214 109 246 104 264 74' stroke='url(%23a)' stroke-width='1.7'/%3E%3C/g%3E%3C/svg%3E");background-position: right bottom,right bottom;background-size: 100% 108px,100% 108px;background-repeat: no-repeat,no-repeat;-webkit-mask-image: linear-gradient( 180deg,transparent 0%,rgba(0,0,0,0.45) 38%,#000 74% );mask-image: linear-gradient( 180deg,transparent 0%,rgba(0,0,0,0.45) 38%,#000 74% )}.vp-drawer-collapse{--vaadin-button-background: var(--vanphu-orange-label);--vaadin-button-border-color: var(--vanphu-orange-label);--vaadin-button-border-width: 1px;--vaadin-button-text-color: #ffffff;--vaadin-button-shadow: none;--vaadin-icon-size: 14px;box-sizing: border-box;flex: 0 0 auto;min-width: 26px;width: 26px;height: 26px;min-height: 26px;padding: 0;color: #ffffff;background: var(--vanphu-orange-label);border: 1px solid var(--vanphu-orange-label);border-radius: 9px;cursor: pointer;transition: background-color 140ms ease,border-color 140ms ease,color 140ms ease}.vp-drawer-collapse::part(icon){mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M12.5 3.5 8 8l4.5 4.5M7.5 3.5 3 8l4.5 4.5'/%3E%3C/svg%3E") 50% / 14px 14px no-repeat}.vp-drawer-collapse:hover{--vaadin-button-background: var(--vanphu-orange-bright);--vaadin-button-border-color: var(--vanphu-orange-bright);--vaadin-button-text-color: #ffffff;color: #ffffff;background: var(--vanphu-orange-bright);border-color: var(--vanphu-orange-bright)}.vp-drawer-collapse:active{--vaadin-button-background: var(--vanphu-orange-deep);--vaadin-button-border-color: var(--vanphu-orange-deep);--vaadin-button-text-color: #ffffff;color: #ffffff;background: var(--vanphu-orange-deep);border-color: var(--vanphu-orange-deep)}.vp-drawer-collapse-label{position: relative;color: rgba(255,255,255,0.72);font-size: 12.5px;font-weight: 500;line-height: 1}@media (max-width: 800px){:where(:root),:where(:host){--vaadin-app-layout-drawer-width: min(84vw,260px)}}.jmix-main-view-top-menu-app-layout{--vaadin-app-layout-navbar-padding-bottom: 0px}vaadin-app-layout.jmix-main-view-top-menu-app-layout::part(navbar){min-height: 0;border-bottom: 0}.jmix-main-view-top-menu-navigation-bar-box{padding: 0;width: 100%}.jmix-main-view-top-menu-view-header-box{width: 100%;border-top: 1px solid var(--vaadin-border-color-secondary)}.jmix-main-view-top-menu-navigation{display: flex;flex-grow: 1;overflow: auto}.jmix-main-view-top-menu-header{display: flex;align-items: center;width: 100%;box-sizing: border-box;gap: var(--vaadin-gap-m)}.jmix-main-view-top-menu-logo-container{display: flex;margin: 0 var(--vaadin-padding-m)}.jmix-main-view-top-menu-logo{--logo-size: round(var(--aura-base-size) * 2.5 * 1px,1px);width: var(--logo-size);height: var(--logo-size)}.jmix-main-view-top-menu-user-box{align-self: flex-end;align-items: center;margin: 0 var(--vaadin-padding-m);max-width: 20em}.jmix-main-view-top-menu-view-title{font-size: var(--aura-font-size-xl);margin: var(--vaadin-padding-s) var(--vaadin-padding-m)}.jmix-login-main-layout{--vanphu-navy: #071d39;--vanphu-navy-deep: #04162d;--vanphu-field-border: rgba(235,241,249,0.46);--aura-accent-color-light: var(--vanphu-gold);--aura-accent-color-dark: var(--vanphu-gold-hover);--aura-accent-color: var(--vanphu-gold);--aura-accent-text-color: var(--vanphu-gold);--aura-accent-border-color: var(--vanphu-gold);--aura-accent-contrast-color: var(--vanphu-navy-deep);--vaadin-focus-ring-color: var(--vanphu-gold);--vaadin-focus-ring-width: 2px;box-sizing: border-box;min-height: 100vh;min-height: 100dvh;padding: 2rem;overflow: hidden;background-color: var(--vanphu-navy);background-image: linear-gradient(180deg,rgba(4,22,45,0.12),rgba(4,22,45,0.28)),url('images/login-bg-vanphu-towers.png');background-position: center;background-repeat: no-repeat;background-size: 100% 100%;align-items: center !important;justify-content: center}.vanphu-login-card{box-sizing: border-box;width: min(24rem,calc(100vw - 2rem));padding: 1.5rem;color: #ffffff;color-scheme: dark;background: rgba(7,29,57,0.91);border: 1px solid var(--vanphu-gold);border-radius: 28px;box-shadow: 0 24px 60px rgba(0,0,0,0.38);-webkit-backdrop-filter: blur(12px);backdrop-filter: blur(12px)}.jmix-login-main-layout jmix-login-form{width: 100%;--vaadin-login-form-padding: 0;--vaadin-login-form-background: transparent;--vaadin-login-form-width: 100%;--vaadin-login-form-gap: 0.75rem;--vaadin-login-form-title-color: var(--vanphu-gold);--vaadin-login-form-title-font-size: clamp(1.5rem,2.5vw,2rem);--vaadin-login-form-title-font-weight: var(--aura-font-weight-semibold);--vaadin-input-field-background: rgba(2,20,43,0.56);--vaadin-input-field-border-color: var(--vanphu-field-border);--vaadin-input-field-border-radius: 12px;--vaadin-input-field-border-width: 1px;--vaadin-input-field-padding: 0 1rem;--vaadin-input-field-placeholder-color: rgba(255,255,255,0.72);--vaadin-input-field-value-color: #ffffff;--vaadin-input-field-label-color: #ffffff;--vaadin-input-field-label-font-weight: var(--aura-font-weight-medium)}.jmix-login-main-layout jmix-login-form::part(form){padding: 0;background: transparent;border: 0;box-shadow: none}.jmix-login-main-layout jmix-login-form::part(form-title){margin: 0 0 0.5rem;padding-bottom: 0.5rem;text-align: center;border-bottom: 2px solid var(--vanphu-gold)}.jmix-login-main-layout jmix-login-form vaadin-text-field::part(input-field),.jmix-login-main-layout jmix-login-form vaadin-password-field::part(input-field){min-height: 42px}.jmix-login-main-layout jmix-login-form vaadin-text-field[focus-ring],.jmix-login-main-layout jmix-login-form vaadin-password-field[focus-ring]{filter: drop-shadow(0 0 8px rgba(228,173,78,0.35))}.jmix-login-main-layout jmix-login-form vaadin-checkbox{display: flex;align-items: center;min-height: 2.75rem;color: #ffffff}.jmix-login-main-layout jmix-login-form [slot='submit']{min-height: 42px;margin-top: 0.25rem;--vaadin-button-background: var(--vanphu-gold);--vaadin-button-border-color: transparent;--vaadin-button-border-radius: 12px;--vaadin-button-height: 42px;--vaadin-button-shadow: none;--vaadin-button-text-color: var(--vanphu-navy-deep);--vaadin-button-font-size: 1rem;--vaadin-button-font-weight: var(--aura-font-weight-semibold)}.jmix-login-main-layout jmix-login-form [slot='submit']:hover{--vaadin-button-background: var(--vanphu-gold-hover)}@media (max-width: 640px){.jmix-login-main-layout{padding: 1rem;background-size: cover}.vanphu-login-card{padding: 1.25rem;border-radius: 22px}}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]{box-sizing: border-box;gap: 16px;padding: 24px 14px 32px;color: var(--vanphu-text);background: var(--vanphu-page-background);border: none !important;--vaadin-input-field-background: #ffffff;--vaadin-input-field-border-width: 1px;--vaadin-grid-background: #ffffff}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>jmix-tabsheet{flex-grow: 1}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>jmix-tabsheet::part(content){display: flex;flex-direction: column}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>jmix-tabsheet>:not(vaadin-tabs):not([slot="suffix"]){flex-grow: 1;flex-shrink: 0}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>jmix-tabsheet>:not(vaadin-tabs)>:last-child{flex-grow: 1}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>vaadin-form-layout,vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>vaadin-grid,vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>vaadin-tree-grid{box-sizing: border-box;width: 100%;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card);box-shadow: var(--vanphu-shadow-card)}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>vaadin-form-layout{padding: 22px 24px 24px}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]:has(>vaadin-grid)>vaadin-horizontal-layout:first-child,vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]:has(>vaadin-tree-grid)>vaadin-horizontal-layout:first-child{box-sizing: border-box;width: 100%;min-height: 68px;padding: 13px;align-items: center;gap: 8px;flex-wrap: wrap;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card);box-shadow: var(--vanphu-shadow-card)}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]:not(:has(>vaadin-form-layout))>vaadin-horizontal-layout:has(+ :is(vaadin-grid,vaadin-tree-grid)),vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]:has(>vaadin-form-layout)>vaadin-horizontal-layout:last-child{width: 100%;justify-content: flex-end}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>vaadin-horizontal-layout>vaadin-checkbox[id="showLockedField"]{margin-inline-end: auto}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>vaadin-horizontal-layout{box-sizing: border-box;max-width: 100%;align-items: center;gap: 8px;flex-wrap: wrap}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>vaadin-horizontal-layout:last-child{width: 100%;padding-top: 16px;border-top: 1px solid var(--vanphu-card-border)}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>h4{margin: 8px 0 0;padding: 18px 22px 0;color: var(--vanphu-text);font-size: 17px;font-weight: var(--aura-font-weight-semibold)}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] vaadin-button{min-height: 40px;--vaadin-button-font-weight: var(--aura-font-weight-semibold);--vaadin-button-shadow: none}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>vaadin-horizontal-layout:has(+ :is(vaadin-grid,vaadin-tree-grid))>vaadin-button{box-sizing: border-box;inline-size: 40px;min-inline-size: 40px;block-size: 40px;padding: 0;align-items: center;justify-content: center;--vaadin-button-padding: 0}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>vaadin-horizontal-layout:has(+ :is(vaadin-grid,vaadin-tree-grid))>vaadin-button vaadin-icon{flex: none;margin: 0}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>vaadin-horizontal-layout:has(+ :is(vaadin-grid,vaadin-tree-grid))>vaadin-button:not([theme~="icon"])::part(label){position: absolute;inline-size: 1px;block-size: 1px;overflow: hidden;clip-path: inset(50%);white-space: nowrap}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] vaadin-button:is([id="createButton"],[id="saveAndCloseButton"],[id="saveButton"],[theme~="primary"]){--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] vaadin-button:is([id="createButton"],[id="saveAndCloseButton"],[id="saveButton"],[theme~="primary"]):hover{--vaadin-button-background: var(--vanphu-primary-strong);--vaadin-button-border-color: var(--vanphu-primary-strong)}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] vaadin-button[id="removeButton"]{--vaadin-button-background: #ffffff;--vaadin-button-border-color: #efc7c2;--vaadin-button-text-color: var(--vanphu-danger)}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] :is( vaadin-text-field,vaadin-text-area,vaadin-password-field,vaadin-combo-box,vaadin-date-picker,vaadin-time-picker,vaadin-integer-field,vaadin-number-field,vaadin-big-decimal-field,jmix-big-decimal-field,jmix-combo-box-picker,jmix-entity-picker,jmix-value-picker )::part(input-field){background: #ffffff;border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-field);box-shadow: none}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] :is( vaadin-text-field,vaadin-text-area,vaadin-password-field,vaadin-combo-box,vaadin-date-picker,vaadin-time-picker,vaadin-integer-field,vaadin-number-field,vaadin-big-decimal-field,jmix-big-decimal-field,jmix-combo-box-picker,jmix-entity-picker,jmix-value-picker )::part(label){color: var(--vanphu-text-soft);font-size: 12px;font-weight: var(--aura-font-weight-semibold)}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] :is( vaadin-text-field,vaadin-text-area,vaadin-password-field,vaadin-combo-box,vaadin-date-picker,vaadin-time-picker,vaadin-integer-field,vaadin-number-field,vaadin-big-decimal-field,jmix-big-decimal-field,jmix-combo-box-picker,jmix-entity-picker,jmix-value-picker )[focused]::part(input-field){border-color: var(--vanphu-primary);box-shadow: 0 0 0 3px rgba(230,126,46,0.13)}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] vaadin-checkbox{color: var(--vanphu-text-soft);font-size: 13px}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] vaadin-grid,vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] vaadin-tree-grid{overflow: hidden;color: var(--vanphu-text)}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] :is(vaadin-grid,vaadin-tree-grid)::part(header-cell){min-height: 42px;color: var(--vanphu-text-soft);font-size: 12px;font-weight: var(--aura-font-weight-semibold);background: #f6f0e9;border-bottom: 0}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] :is(vaadin-grid,vaadin-tree-grid)::part(body-cell){min-height: 54px;color: var(--vanphu-text);font-size: 13px;font-weight: 600;background: #ffffff;border-bottom: 1px solid var(--vanphu-divider)}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] :is(vaadin-grid,vaadin-tree-grid)::part(selected-row-cell){background: var(--vanphu-primary-soft)}.list-scope-any{color: var(--vanphu-text-muted);font-weight: 400}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] vaadin-tabs{width: 100%;--vaadin-tabs-background: transparent;--vaadin-tabs-gap: 20px;--vaadin-tabs-padding: 0;border-bottom: 1px solid var(--vanphu-card-border)}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] vaadin-tab{min-height: 46px;--vaadin-tab-text-color: var(--vanphu-text-soft);--vaadin-tab-font-weight: var(--aura-font-weight-medium);--vaadin-tab-background: transparent;--vaadin-tab-border-width: 0 0 2px;--vaadin-tab-border-color: transparent}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] vaadin-tab[selected]{color: var(--vanphu-primary);border-bottom: 2px solid var(--vanphu-primary)}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>[id="pagination"]{align-self: flex-end;margin-inline-start: auto;color: var(--vanphu-text-soft)}@media (max-width: 900px){vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]{padding: 18px}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>vaadin-form-layout{padding: 18px}}@media (max-width: 640px){vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]{gap: 12px;padding: 12px}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]:has(>vaadin-grid)>vaadin-horizontal-layout:first-child,vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]:has(>vaadin-tree-grid)>vaadin-horizontal-layout:first-child{min-height: 66px;padding: 12px;border-radius: 12px}}vaadin-checkbox[checked]::part(checkbox),vaadin-checkbox[indeterminate]::part(checkbox){background: var(--vanphu-primary) !important;background-image: none !important;border-color: transparent !important}vaadin-checkbox[checked]:hover::part(checkbox),vaadin-checkbox[indeterminate]:hover::part(checkbox){background: var(--vanphu-primary-strong) !important}vaadin-checkbox::part(checkbox){outline-color: var(--vanphu-primary)}vaadin-checkbox[disabled][checked]::part(checkbox){background: color-mix(in srgb,var(--vanphu-primary) 42%,#ffffff) !important}vaadin-dialog vaadin-button[theme~="primary"]{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}vaadin-dialog vaadin-button[theme~="primary"]:hover{--vaadin-button-background: var(--vanphu-primary-strong)}vaadin-grid::part(resize-handle){background: var(--vanphu-primary) !important}vaadin-combo-box-overlay::part(loader){border-top-color: var(--vanphu-primary) !important;border-right-color: var(--vanphu-primary) !important}.list-action-toolbar vaadin-button:not([theme~="primary"]),.pd-card-toolbar vaadin-button:not([theme~="primary"]){--vaadin-button-background: var(--vanphu-gold-soft);--vaadin-button-border-color: var(--vanphu-gold);--vaadin-button-text-color: var(--vanphu-gold-pressed);color: var(--vanphu-gold-pressed)}.list-action-toolbar vaadin-button:not([theme~="primary"]):hover,.pd-card-toolbar vaadin-button:not([theme~="primary"]):hover{--vaadin-button-background: var(--vanphu-gold);--vaadin-button-border-color: var(--vanphu-gold-pressed);--vaadin-button-text-color: #ffffff;color: #ffffff}.list-action-toolbar vaadin-button:not([theme~="primary"]):active,.pd-card-toolbar vaadin-button:not([theme~="primary"]):active{--vaadin-button-background: var(--vanphu-gold-pressed);--vaadin-button-border-color: var(--vanphu-gold-pressed)}jmix-value-picker-button,jmix-entity-picker vaadin-button[aria-label*="Xóa"],jmix-combo-box-picker vaadin-button[aria-label*="Xóa"],jmix-value-picker vaadin-button[aria-label*="Xóa"]{color: var(--vanphu-gold-pressed) !important}jmix-value-picker-button:hover,jmix-entity-picker vaadin-button[aria-label*="Xóa"]:hover,jmix-combo-box-picker vaadin-button[aria-label*="Xóa"]:hover,jmix-value-picker vaadin-button[aria-label*="Xóa"]:hover{color: var(--vanphu-gold-pressed) !important}vaadin-button[theme~="icon"]:has(.jmix-font-icon-search),vaadin-button[theme~="icon"]:has(vaadin-icon[icon$=":search"]){--vaadin-button-background: var(--vanphu-gold-soft);--vaadin-button-border-color: var(--vanphu-gold);--vaadin-button-text-color: var(--vanphu-gold-pressed);color: var(--vanphu-gold-pressed)}vaadin-button[theme~="icon"]:has(.jmix-font-icon-search):hover,vaadin-button[theme~="icon"]:has(vaadin-icon[icon$=":search"]):hover{--vaadin-button-background: var(--vanphu-gold);--vaadin-button-border-color: var(--vanphu-gold-pressed);--vaadin-button-text-color: #ffffff;color: #ffffff}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"].property-list-view{box-sizing: border-box;min-height: 100%;height: 100% !important;gap: 12px !important;padding: 16px 14px 24px !important;background: var(--vanphu-page-background)}.property-statistics{display: grid !important;grid-template-columns: repeat(4,minmax(0,1fr));gap: 14px;max-height: 8rem;overflow: hidden;opacity: 1;transform: translateY(0);transform-origin: top center;transition: max-height 360ms cubic-bezier(0.4,0,0.2,1),opacity 220ms ease,transform 300ms cubic-bezier(0.4,0,0.2,1);will-change: max-height,opacity,transform}.property-statistics.property-statistics--hidden{max-height: 0;opacity: 0;transform: translateY(-10px);pointer-events: none}.property-stat-card{box-sizing: border-box;min-width: 0;padding: 16px 18px;background: #ffffff;border: 1px solid #ebe8e3;border-radius: 12px;box-shadow: 0 4px 14px rgba(35,42,52,0.04);opacity: 1;transform: translateY(0);transition: opacity 180ms ease,transform 280ms cubic-bezier(0.4,0,0.2,1)}.property-statistics--hidden .property-stat-card{opacity: 0;transform: translateY(-6px)}.property-stat-card>vaadin-horizontal-layout{width: 100%;gap: 14px}.property-stat-card vaadin-vertical-layout{min-width: 0;gap: 2px}.property-stat-icon{display: flex;flex: 0 0 52px;width: 52px;height: 52px;align-items: center;justify-content: center;border-radius: 16px}.property-stat-icon vaadin-icon{width: 25px;height: 25px}.property-stat-card--total .property-stat-icon{color: #f47b2a;background: #fff0e8}.property-stat-card--operating .property-stat-icon{color: #17a45b;background: #eaf8f0}.property-stat-card--pending .property-stat-icon{color: #246fe5;background: #eaf2ff}.property-stat-card--approved .property-stat-icon{color: #8247e5;background: #f2eaff}.property-stat-label{overflow: hidden;color: #666d78;font-size: 12px;line-height: 1.35;text-overflow: ellipsis;white-space: nowrap}.property-stat-value{color: #1f2937;font-size: 22px;font-weight: 700;line-height: 1.2}.property-stat-caption,.property-stat-percent{color: #8a929e;font-size: 11px;line-height: 1.35}.property-stat-card--operating .property-stat-percent{color: #17a45b}.property-stat-card--pending .property-stat-percent{color: #246fe5}.property-stat-card--approved .property-stat-percent{color: #8247e5}.property-filter-card,.property-table-card{box-sizing: border-box;background: #ffffff;border: 1px solid #ebe8e3;border-radius: 12px;box-shadow: 0 4px 14px rgba(35,42,52,0.035)}.property-filter-card{padding: 10px 18px}.property-card-title{color: #252b35;font-size: 14px;font-weight: 700;line-height: 1.4}.property-filter-row{gap: 12px;align-items: center}.property-filter-row :is(vaadin-select,vaadin-text-field)::part(label){padding-bottom: 5px;color: #5f6672;font-size: 12px;font-weight: 500}.property-filter-row :is(vaadin-select,vaadin-text-field)::part(input-field){min-height: 38px;background: #ffffff;border: 1px solid #dfe3e8;border-radius: 7px}.property-filter-row vaadin-button{min-height: 38px;margin: 0 0 1px;border-radius: 7px}.property-clear-button{min-width: 40px;width: 40px;padding: 0;--vaadin-button-background: #ffffff;--vaadin-button-border-color: #dfe3e8;--vaadin-button-text-color: #4e5662}.property-filter-row .property-create-button{margin-inline-start: auto}.property-table-card{flex: 1 1 auto;min-height: 0;min-width: 0;max-width: 100%;overflow: hidden}.property-table-toolbar{box-sizing: border-box;min-height: 58px;gap: 14px;padding: 10px 14px;border-bottom: 1px solid #edf0f3}.property-table-heading,.property-table-actions{gap: 10px}.property-table-actions{margin-inline-start: auto}.property-table-total{color: #8a929e;font-size: 11px}.property-table-hint{color: #a9b0bb;font-size: 11px;font-style: italic}.property-table-toolbar vaadin-button{min-height: 36px;margin: 0;border-radius: 7px}.property-column-button{--vaadin-button-background: #ffffff;--vaadin-button-border-color: #dfe3e8;--vaadin-button-text-color: #4b5563}.property-settings-button{box-sizing: border-box;width: 38px;min-width: 38px;height: 38px;min-height: 38px !important;padding: 0;align-items: center;justify-content: center;--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-color: color-mix(in srgb,var(--vanphu-primary) 42%,transparent);--vaadin-button-text-color: var(--vanphu-primary-strong);--vaadin-button-padding: 0}.property-settings-button:hover{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.property-settings-button vaadin-icon{margin: 0}.property-create-button{box-sizing: border-box;width: 38px;min-width: 38px;height: 38px;min-height: 38px !important;padding: 0;align-items: center;justify-content: center;--vaadin-button-background: #ed7b2b;--vaadin-button-border-color: #ed7b2b;--vaadin-button-text-color: #ffffff;--vaadin-button-padding: 0;--vaadin-button-gap: 0}.property-create-button vaadin-icon{margin: 0}.property-create-button:hover{--vaadin-button-background: #dc691d;--vaadin-button-border-color: #dc691d}.property-data-grid{flex: 1 1 auto;min-height: 7rem;min-width: 0;max-width: 100%;border: 0;border-radius: 0;box-shadow: none;--vaadin-grid-background: #ffffff;--vaadin-grid-row-selected-background-color: #fff2e6}.property-data-grid::part(header-cell){min-height: 44px;color: #48566a;font-size: 11px;font-weight: 700;background: #f7f8fa;border-bottom: 1px solid #e7ebef}.property-data-grid::part(body-cell){min-height: 54px;font-size: 12px;border-bottom: 1px solid #edf0f3;cursor: pointer}.property-data-grid vaadin-grid-tree-toggle[leaf]::part(toggle){display: none}.property-code-cell{color: #f07a2a;font-weight: 700}.property-status-badge{display: inline-flex;max-width: 100%;min-height: 22px;box-sizing: border-box;align-items: center;padding: 3px 9px;overflow: hidden;border-radius: 999px;font-size: 10px;font-weight: 600;line-height: 1.3;text-overflow: ellipsis;white-space: nowrap}.property-status-badge--success{color: #12874b;background: #e9f8ef}.property-status-badge--warning{color: #b86909;background: #fff4dd}.property-status-badge--danger{color: #ca3434;background: #fdecec}.property-status-badge--neutral{color: #667085;background: #f0f2f5}.property-pagination-row{box-sizing: border-box;min-height: 56px;min-width: 0;max-width: 100%;justify-content: flex-end;padding: 8px 14px;border-top: 1px solid #edf0f3}.property-pagination-row jmix-simple-pagination{margin-inline-start: auto}.property-master-detail{box-sizing: border-box;width: 100%;flex: 1 1 auto;min-height: 100%}.property-master-detail::part(sidePanel){margin-inline-start: 1.25%;background: #ffffff;border-inline-start: 0;border-start-start-radius: 18px;border-end-start-radius: 18px;overflow: hidden;box-shadow: none}.property-master-detail::part(content),.property-master-detail>[slot="contentSlot"]{min-width: 0;max-width: 100%}.property-master-detail[side-panel-opened]::part(content){flex: 0 1 calc(100% - clamp(30em,35%,48%) - 1.25%) !important;width: calc(100% - clamp(30em,35%,48%) - 1.25%) !important;max-width: calc(100% - clamp(30em,35%,48%) - 1.25%) !important}.property-master-pane{box-sizing: border-box;min-width: 0;max-width: 100%;height: 100%;min-height: 0;gap: 12px}.property-detail-pane{box-sizing: border-box;width: 100%;height: 100%;min-height: 0;overflow: hidden;background: #ffffff}.property-detail-header{box-sizing: border-box;flex: 0 0 auto;gap: 6px;padding: 14px 16px 12px;background: linear-gradient(90deg,rgba(237,240,243,0) 0%,#edf0f3 16%,#edf0f3 84%,rgba(237,240,243,0) 100%) bottom left / 100% 1px no-repeat,linear-gradient(180deg,#fff8f2 0%,#ffffff 100%);border-bottom: 0}.property-detail-top-row{gap: 8px}.property-detail-code{flex: 1;min-width: 0;overflow: hidden;color: #ed7b2b;font-size: 16px;font-weight: 700;line-height: 1.3;text-overflow: ellipsis;white-space: nowrap}.property-detail-close,.property-detail-open{box-sizing: border-box;flex: 0 0 34px;width: 34px;min-width: 34px;height: 34px;min-height: 34px !important;padding: 0;align-items: center;justify-content: center;border-radius: var(--vanphu-radius-field);--vaadin-button-padding: 0;--vaadin-button-gap: 0}.property-detail-close vaadin-icon,.property-detail-open vaadin-icon{margin: 0}.property-detail-open{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff;color: #ffffff}.property-detail-open:hover{--vaadin-button-background: var(--vanphu-primary-strong);--vaadin-button-border-color: var(--vanphu-primary-strong)}.property-detail-close{--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft);color: var(--vanphu-text-soft)}.property-detail-close:hover{--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: var(--vanphu-primary-strong);color: var(--vanphu-primary-strong)}.property-detail-name{color: #252b35;font-size: 13px;font-weight: 600;line-height: 1.45}.property-detail-badges{gap: 6px;flex-wrap: wrap;padding-top: 4px}.property-detail-body{box-sizing: border-box;flex: 1 1 auto;min-height: 0;overflow-y: auto;padding: 2px 16px 8px}.property-detail-section{padding: 12px 0 6px;border-bottom: 1px solid #f2f4f6}.property-detail-section:last-of-type{border-bottom: 0}.property-detail-section-title{padding-bottom: 4px;color: #8a929e;font-size: 10px;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase}.property-detail-row{gap: 10px;align-items: baseline;padding: 5px 0}.property-detail-label{flex: 0 0 43%;color: #6b7280;font-size: 12px;line-height: 1.5}.property-detail-value{flex: 1;min-width: 0;color: #252b35;font-size: 12px;font-weight: 600;line-height: 1.5;overflow-wrap: anywhere}.property-settings-menu-item{min-width: 150px;gap: 10px;color: #313845}.property-settings-menu-icon{width: 18px;height: 18px;color: #536071}@media (prefers-reduced-motion: reduce){.property-statistics,.property-master-detail{transition-duration: 1ms}}@media (max-width: 600px),(max-height: 600px){.property-master-detail.property-master-detail--open{min-height: 0}.property-master-detail[side-panel-opened]::part(content){flex-basis: 100% !important;width: 100% !important;max-width: 100% !important}.property-master-detail::part(sidePanel){margin-inline-start: 0}}@media (max-width: 1280px){.property-statistics{grid-template-columns: repeat(2,minmax(0,1fr));max-height: 15rem}.property-filter-row{flex-wrap: wrap}.property-filter-row vaadin-text-field{width: min(26rem,calc(100% - 104px)) !important}}@media (max-width: 820px){.property-list-view{padding: 12px !important}.property-statistics{grid-template-columns: 1fr;max-height: 30rem}.property-filter-row vaadin-text-field,.property-filter-row vaadin-select{flex: 1 1 100%;width: 100% !important}.property-table-toolbar{align-items: flex-start;flex-direction: column}.property-table-hint{display: none}.property-table-actions{width: 100%;margin-inline-start: 0}.property-create-button{margin-inline-start: auto}}@media (max-width: 560px){.property-column-button{width: 38px;min-width: 38px;padding: 0;font-size: 0}.property-column-button vaadin-icon{margin: 0}}.master-detail{box-sizing: border-box;width: 100%;min-height: 20rem}.master-detail::part(sidePanel){overflow: hidden;margin-inline-start: 1.25%;background: var(--vanphu-card-background);border-inline-start: 0;border-start-start-radius: var(--vanphu-radius-card);border-end-start-radius: var(--vanphu-radius-card);box-shadow: none}.master-detail::part(content),.master-detail>[slot="contentSlot"]{min-width: 0;max-width: 100%}.master-detail>[slot="contentSlot"] :is(vaadin-grid,vaadin-tree-grid){min-width: 0;max-width: 100%}.master-detail[side-panel-opened]::part(content){flex: 0 1 calc(100% - clamp(30em,35%,48%) - 1.25%) !important;width: calc(100% - clamp(30em,35%,48%) - 1.25%) !important;max-width: calc(100% - clamp(30em,35%,48%) - 1.25%) !important}.master-detail [id="masterPane"]{box-sizing: border-box;display: flex;flex-direction: column;gap: 12px;width: 100%;height: 100%;min-height: 0}.master-detail [id="masterPane"]>:is(vaadin-grid,vaadin-tree-grid){flex: 1 1 auto;min-height: 0}.master-detail [id="masterPane"]>[id="pagination"]{box-sizing: border-box;display: flex;flex: 0 0 auto;align-items: center;justify-content: flex-end;width: 100%;min-height: 52px;padding: 8px 14px;background: var(--vanphu-card-background);border-top: 1px solid var(--vanphu-divider)}@media (max-width: 600px),(max-height: 600px){.master-detail[side-panel-opened]::part(content){flex-basis: 100% !important;width: 100% !important;max-width: 100% !important}.master-detail::part(sidePanel){margin-inline-start: 0}}.master-detail-header{box-sizing: border-box;flex: 0 0 auto;align-items: center;gap: 8px;padding: 14px 16px 12px;background: linear-gradient( 90deg,transparent 0%,var(--vanphu-divider) 16%,var(--vanphu-divider) 84%,transparent 100% ) bottom left / 100% 1px no-repeat,linear-gradient(180deg,var(--vanphu-primary-soft) 0%,var(--vanphu-card-background) 100%);border-bottom: 0}.master-detail-title{flex: 1;min-width: 0;overflow: hidden;color: var(--vanphu-primary);font-size: 16px;font-weight: 700;line-height: 1.3;text-overflow: ellipsis;white-space: nowrap}.master-detail-close,.master-detail-open{box-sizing: border-box;flex: 0 0 34px;width: 34px;min-width: 34px;height: 34px;min-height: 34px !important;padding: 0;align-items: center;justify-content: center;border-radius: var(--vanphu-radius-field);--vaadin-button-padding: 0;--vaadin-button-gap: 0}.master-detail-close vaadin-icon,.master-detail-open vaadin-icon{margin: 0}.master-detail-open{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff;color: #ffffff}.master-detail-open:hover{--vaadin-button-background: var(--vanphu-primary-strong);--vaadin-button-border-color: var(--vanphu-primary-strong)}.master-detail-close{--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft);color: var(--vanphu-text-soft)}.master-detail-close:hover{--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: var(--vanphu-primary-strong);color: var(--vanphu-primary-strong)}.master-detail-body{box-sizing: border-box;flex: 1 1 auto;min-height: 0;overflow-y: auto;padding: 2px 16px 10px}.master-detail-row{gap: 10px;align-items: baseline;padding: 9px 0;border-bottom: 1px solid var(--vanphu-divider)}.master-detail-row:last-of-type{border-bottom: 0}.master-detail-label{flex: 0 0 43%;color: var(--vanphu-text-soft);font-size: 12px;line-height: 1.5}.master-detail-value{flex: 1;min-width: 0;color: var(--vanphu-text);font-size: 12px;font-weight: 600;line-height: 1.5;overflow-wrap: anywhere}.list-empty-state{box-sizing: border-box;min-width: 14rem;align-items: center;justify-content: center;gap: 4px;padding: 28px 20px;color: var(--vanphu-text-muted);text-align: center}.list-empty-state-icon{width: 28px;height: 28px;color: var(--vanphu-text-muted);opacity: 0.7}.list-empty-state-title{color: var(--vanphu-text-soft);font-size: 15px;font-weight: 600;line-height: 1.3}.list-empty-state-description{color: var(--vanphu-text-muted);font-size: 13px;font-weight: 400;line-height: 1.4}.list-view-shell{min-height: 0;height: 100%;gap: 8px;padding: 8px 24px 12px;background: var(--vanphu-page-background)}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"].list-view-shell{min-height: 100%;height: 100% !important;gap: 8px;padding: 8px 14px 12px}.list-action-toolbar{box-sizing: border-box;display: flex;width: 100%;min-height: 60px;align-items: center;flex-wrap: nowrap !important;flex-shrink: 0;justify-content: flex-end;gap: 8px;padding: 10px 14px;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: 12px}.list-action-toolbar .list-quick-search-controls{flex: 0 1 27rem;margin-inline-end: auto !important;align-items: center;gap: 8px}.list-action-toolbar .list-quick-search-field{flex: 1 1 auto}.list-action-toolbar .list-filter-controls{flex: 1 1 auto;min-width: 0;margin-inline-end: auto !important;align-items: center;gap: 8px}.list-action-toolbar .list-filter-controls .list-quick-search-field{flex: 1 1 28rem;min-width: 15rem}.list-action-toolbar .list-filter-select{flex: 0 1 12rem;width: 12rem;min-width: 10rem}.list-action-toolbar .list-quick-search-controls:has(+ .list-filter-select){margin-inline-end: 0 !important}.list-action-toolbar .list-quick-search-controls + .list-filter-select{margin-inline-end: auto}.list-action-toolbar .list-filter-controls>.list-quick-search-field,.list-action-toolbar .list-filter-controls>.list-filter-select{height: 40px;min-height: 40px;max-height: 40px;align-self: center}.list-action-toolbar vaadin-select.list-filter-select::part(input-field){height: 40px;min-height: 40px}.list-action-toolbar .list-filter-entity::part(input-field){height: 40px;min-height: 40px;border-color: var(--vanphu-card-border);box-shadow: none}.list-action-toolbar .list-quick-search-field::part(input-field){height: 40px;min-height: 40px;border-color: var(--vanphu-card-border);box-shadow: none}.list-action-toolbar .list-quick-search-button{color: var(--vanphu-gold-pressed);background: var(--vanphu-gold-soft);border: 1px solid var(--vanphu-gold)}.list-action-toolbar .list-quick-search-button:hover{color: #ffffff;background: var(--vanphu-gold);border-color: var(--vanphu-gold-pressed)}.list-action-toolbar vaadin-button.list-quick-search-reset:not([theme~="primary"]){color: var(--vanphu-primary-strong);background: var(--vanphu-primary-soft);border: 1px solid color-mix(in srgb,var(--vanphu-primary) 42%,transparent)}.list-action-toolbar vaadin-button.list-quick-search-reset:not([theme~="primary"]):hover{color: #ffffff;background: var(--vanphu-primary);border-color: var(--vanphu-primary)}.list-view-shell .master-detail{flex: 1 1 auto;min-height: 20rem;overflow: hidden;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: 14px}.list-view-shell .master-detail::part(content){border-radius: 14px}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"].list-view-shell>vaadin-grid{box-sizing: border-box;flex: 1 1 auto;overflow: hidden;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-bottom: none;border-radius: 0;border-start-start-radius: 14px;border-start-end-radius: 14px;box-shadow: none}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"].list-view-shell>vaadin-grid.list-grid--page-sized,.list-view-shell .master-detail [id="masterPane"]>vaadin-grid.list-grid--page-sized{flex: 0 0 auto;height: calc(2px + var(--list-grid-header-height,42px) + var(--list-page-rows,10) * var(--list-grid-row-height,54px))}.list-view-shell>[id="pagination"]{box-sizing: border-box;display: flex;flex: 0 0 auto;align-items: center;justify-content: flex-end;width: 100%;min-height: 52px;margin-block: 0;margin-top: -8px;padding: 8px 14px;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-top: 1px solid var(--vanphu-divider);border-end-start-radius: 14px;border-end-end-radius: 14px}.list-action-toolbar vaadin-button{min-width: 40px;width: 40px;height: 40px;padding: 0;font-size: 0}.list-action-toolbar vaadin-button vaadin-icon{width: 18px;height: 18px;font-size: 18px}.list-summary{display: grid !important;width: 100%;grid-template-columns: repeat(4,minmax(0,1fr));gap: 14px;max-height: 8rem;overflow: hidden;flex-shrink: 0;transition: max-height 180ms ease,opacity 180ms ease,margin 180ms ease}.list-summary.list-summary--hidden{max-height: 0;opacity: 0;margin: 0}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"].list-view-shell>.list-summary{min-height: 0;padding: 0;background: transparent;border: none;border-radius: 0;box-shadow: none}.vp-bool-badge{display: inline-flex;align-items: center;padding: 4px 12px;border-radius: 999px;font-size: 12.5px;font-weight: var(--aura-font-weight-semibold);line-height: 1.3;white-space: nowrap}.vp-bool-badge--on{color: var(--vanphu-success);background: var(--vanphu-success-soft)}.vp-bool-badge--off{color: var(--vanphu-text-soft);background: var(--vanphu-divider)}.list-summary-card{display: flex;align-items: center;gap: 14px;min-height: 86px;padding: 14px 18px;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card);box-shadow: var(--vanphu-shadow-card)}.list-summary-icon{display: inline-flex;align-items: center;justify-content: center;width: 44px;height: 44px;flex: 0 0 auto;color: var(--vanphu-primary);background: var(--vanphu-primary-soft);border-radius: 12px}.list-summary-icon vaadin-icon{width: 20px;height: 20px}.list-summary-label{color: var(--vanphu-text-soft);font-size: var(--aura-font-size-s)}.list-summary-value{color: var(--vanphu-text);font-size: var(--aura-font-size-xl);font-weight: var(--aura-font-weight-semibold)}.list-summary-subtitle{color: var(--vanphu-text-muted);font-size: 12px}.list-settings-menu-item{min-width: 156px;gap: 10px;align-items: center}.list-settings-menu-icon{width: 18px;height: 18px;color: var(--vanphu-primary-strong)}.list-column-dialog{--aura-accent-color-light: var(--vanphu-primary);--aura-accent-color-dark: var(--vanphu-orange-bright);--aura-accent-color: var(--vanphu-primary);--aura-accent-surface: var(--vanphu-primary-soft);--aura-accent-text-color: var(--vanphu-primary-strong);--aura-accent-border-color: var(--vanphu-primary);--aura-accent-contrast-color: #ffffff;--vaadin-focus-ring-color: var(--vanphu-primary)}.list-column-dialog::part(overlay){overflow: hidden;background: var(--vanphu-card-background);border: 0;border-radius: 18px;box-shadow: 0 24px 64px rgba(30,30,30,0.18)}.list-column-dialog [slot="title"]{display: none}.list-column-dialog::part(header){min-height: 0;height: 0;padding: 0 20px;overflow: visible}.list-column-dialog [slot="header-content"] vaadin-button{box-sizing: border-box;width: 34px;min-width: 34px;height: 34px;border-radius: 50%;transform: translateY(38px);color: var(--vanphu-text-soft);--vaadin-button-background: var(--vanphu-divider);--vaadin-button-border-color: transparent;--vaadin-button-shadow: none}.list-column-dialog [slot="header-content"] vaadin-button:hover{color: var(--vanphu-primary-strong);--vaadin-button-background: var(--vanphu-primary-soft)}.list-column-dialog::part(content){padding: 0}.list-column-dialog::part(footer){gap: 10px;padding: 14px 24px 18px;border-top: 1px solid var(--vanphu-divider)}.list-column-dialog vaadin-button::part(label){display: inline-flex}.list-column-dialog-content{box-sizing: border-box;gap: 16px;padding: 18px 24px 20px}.list-column-dialog-header{gap: 14px}.list-column-dialog-icon{box-sizing: border-box;width: 40px;height: 40px;padding: 9px;flex: 0 0 auto;background: var(--vanphu-primary-soft);border: 1px solid color-mix(in srgb,var(--vanphu-primary) 28%,transparent);border-radius: 12px;color: var(--vanphu-primary)}.list-column-dialog-heading{gap: 4px;min-width: 0}.list-column-dialog-title{margin: 0;color: var(--vanphu-text);font-size: 17px;font-weight: 700;line-height: 1.25}.list-column-dialog-subtitle{color: var(--vanphu-text-soft);font-size: 12.5px;line-height: 1.45}.list-column-dialog-card{box-sizing: border-box;padding: 12px;background: var(--vanphu-card-subtle);border: 1px solid var(--vanphu-card-border);border-radius: 14px}.list-column-dialog-card-label{padding: 0 2px 8px;color: var(--vanphu-text-soft);font-size: 12px;font-weight: 600}.list-column-dialog-list{max-height: min(46vh,26rem);overflow-y: auto;padding-right: 4px}.list-column-configuration-grid{background: transparent;border: 0}.list-column-configuration-grid::part(header-cell){height: 0;min-height: 0;padding: 0;background: transparent;border: 0}.list-column-configuration-grid::part(body-cell){padding: 0;background: transparent;border: 0}.list-column-configuration-grid vaadin-grid-cell-content{padding: 5px 0}.list-column-configuration-row{box-sizing: border-box;gap: 12px;min-height: 50px;padding: 0 14px;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-divider);border-radius: 12px;cursor: grab;transition: background 0.15s ease,border-color 0.15s ease,box-shadow 0.15s ease}.list-column-configuration-row:hover{background: linear-gradient(90deg,var(--vanphu-primary-soft) 0%,var(--vanphu-card-background) 78%);border-color: color-mix(in srgb,var(--vanphu-primary) 35%,transparent);box-shadow: 0 4px 14px color-mix(in srgb,var(--vanphu-primary) 12%,transparent)}.list-column-configuration-row:active{cursor: grabbing}.list-column-grip{flex: 0 0 10px;width: 10px;height: 16px;background-image: radial-gradient(currentColor 1.4px,transparent 1.5px);background-size: 5px 5px;background-position: 0 1px;color: var(--vanphu-text-muted)}.list-column-checkbox{flex: 1;min-width: 0;color: var(--vanphu-text)}.list-column-row-lines{flex: 0 0 16px;width: 16px;height: 12px;background-image: repeating-linear-gradient( to bottom,currentColor 0,currentColor 2px,transparent 2px,transparent 5px );color: var(--vanphu-text-muted);opacity: 0.7}.list-column-dialog-cancel,.list-column-dialog-apply{min-width: 116px;min-height: 40px;border-radius: var(--vanphu-radius-field);--vaadin-button-font-weight: var(--aura-font-weight-semibold);--vaadin-button-shadow: none;--vaadin-button-gap: 8px}.list-column-dialog-cancel{--vaadin-button-background: var(--vanphu-card-background);--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft)}.list-column-dialog-cancel:hover{--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-text-muted);--vaadin-button-text-color: var(--vanphu-text)}.list-column-dialog-apply{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.list-column-dialog-apply:hover{--vaadin-button-background: var(--vanphu-orange-bright);--vaadin-button-border-color: var(--vanphu-orange-bright)}.list-column-dialog-apply[disabled]{--vaadin-button-background: var(--vanphu-divider);--vaadin-button-border-color: var(--vanphu-divider);--vaadin-button-text-color: var(--vanphu-text-muted)}@media (max-width: 700px){.list-view-shell{padding: 12px 16px 20px}.list-summary{grid-template-columns: 1fr}.list-action-toolbar .list-quick-search-controls{width: min(100%,27rem) !important;flex: 1 1 14rem}.list-action-toolbar .list-quick-search-field{min-width: 0}.list-action-toolbar .list-filter-controls{flex: 1 1 100%;flex-wrap: wrap}.list-action-toolbar .list-filter-controls .list-quick-search-field,.list-action-toolbar .list-filter-select{flex: 1 1 14rem;width: auto;min-width: 0}.list-action-toolbar{flex-wrap: wrap !important}}@media (max-width: 1280px){.list-summary{grid-template-columns: repeat(2,minmax(0,1fr));max-height: 15rem}}@media (prefers-reduced-motion: reduce){.list-summary{transition-duration: 1ms}}.list-view-shell .master-detail{background: transparent;border: none;border-radius: 0;overflow: visible}.list-view-shell .master-detail::part(content){border-radius: 0}.list-view-shell .master-detail [id="masterPane"]{gap: 8px}.list-view-shell .master-detail [id="masterPane"]>vaadin-grid,.list-view-shell .master-detail [id="masterPane"]>vaadin-tree-grid{flex: 1 1 auto;overflow: hidden;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-bottom: none;border-radius: 14px 14px 0 0;box-shadow: none}.list-view-shell .master-detail [id="masterPane"]>[id="pagination"]{margin-top: -8px;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-top: 1px solid var(--vanphu-divider);border-radius: 0 0 14px 14px}.list-summary-card:nth-child(1) .list-summary-icon{color: #f47b2a;background: #fff0e8}.list-summary-card:nth-child(2) .list-summary-icon{color: #17a45b;background: #eaf8f0}.list-summary-card:nth-child(3) .list-summary-icon{color: #246fe5;background: #eaf2ff}.list-summary-card:nth-child(4) .list-summary-icon{color: #8247e5;background: #f2eaff}.vp-filter-reset.vp-filter-reset{--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-width: 1px;--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: var(--vanphu-primary-strong);color: var(--vanphu-primary-strong)}.vp-filter-reset.vp-filter-reset:hover{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff;color: #ffffff}.vp-filter-reset.vp-filter-reset:active{--vaadin-button-background: var(--vanphu-primary-strong);--vaadin-button-border-color: var(--vanphu-primary-strong);--vaadin-button-text-color: #ffffff;color: #ffffff}.legal-document-list-view{gap: 12px}.legal-document-list-view .list-summary{gap: 12px}.legal-document-list-view .list-summary-card{min-height: 74px;padding: 12px 16px;border-radius: 12px;box-shadow: none}.legal-document-list-view .list-summary-card:first-child{border-color: var(--vanphu-primary);box-shadow: inset 0 0 0 1px var(--vanphu-primary)}.legal-document-list-view .list-summary-card>vaadin-vertical-layout{width: 100%}.legal-document-list-view .list-summary-label{font-size: 12px}.legal-document-list-view .list-summary-value::after{content: " hồ sơ";font-size: 13px;font-weight: var(--aura-font-weight-regular)}.legal-document-list-view .list-action-toolbar .list-quick-search-field{flex-basis: 22rem}.legal-document-list-view .list-action-toolbar vaadin-button{width: auto;min-width: 40px;height: 36px;padding: 0 12px;font-size: var(--aura-font-size-s)}.legal-document-list-view .list-action-toolbar vaadin-button vaadin-icon{width: 16px;height: 16px;margin-inline-end: 0}.legal-document-list-view .list-action-toolbar .legal-document-secondary-action,.legal-document-list-view .list-action-toolbar>vaadin-button:first-child{display: none}.legal-document-data-grid::part(header-cell){min-height: 42px;color: var(--vanphu-text-soft);background: #f5f0ea;font-size: 12px;font-weight: var(--aura-font-weight-semibold)}.legal-document-data-grid::part(header-cell):first-child{border-radius: 8px 0 0 8px}.legal-document-data-grid::part(header-cell):last-child{border-radius: 0 8px 8px 0}.legal-document-data-grid::part(body-cell){min-height: 52px;padding-inline: 14px;border-bottom: 1px solid var(--vanphu-divider);font-size: 13px}.legal-document-data-grid::part(row):nth-child(even)>::part(body-cell){background: #fdfbf8}.legal-document-data-grid::part(row):hover>::part(body-cell){background: var(--vanphu-primary-soft)}.legal-document-status{display: inline-flex;align-items: center;min-height: 24px;padding: 0 10px;border-radius: 999px;font-size: 12px;font-weight: var(--aura-font-weight-semibold);white-space: nowrap}.legal-document-status--active{color: var(--vanphu-success);background: var(--vanphu-success-soft)}.legal-document-status--pending{color: #a96b00;background: #fff1d6}.legal-document-status--expired{color: var(--vanphu-danger);background: #fde9e7}.legal-document-status--other{color: var(--vanphu-text-soft);background: #eeeae5}.legal-document-property-code{color: var(--vanphu-primary-strong);font-weight: var(--aura-font-weight-semibold)}.legal-document-expiry--soon{color: #a96b00;font-weight: var(--aura-font-weight-semibold)}.legal-document-expiry--expired{color: var(--vanphu-danger);font-weight: var(--aura-font-weight-semibold)}@media (max-width: 900px){.legal-document-list-view .list-action-toolbar{flex-wrap: wrap}.legal-document-list-view .list-action-toolbar .list-quick-search-field{flex: 1 1 100%}}.legal-document-detail-view{gap: 14px;padding: 14px}.ld-page-header{gap: 14px;padding: 4px 2px 2px}.ld-record-header{flex: 1 1 420px;min-width: 0;padding: 4px 0}.ld-record-title{display: flex;align-items: center;gap: 9px;flex-wrap: wrap}.ld-record-name{font-size: 1.35rem;font-weight: 700;letter-spacing: -0.02em;color: var(--vanphu-text)}.ld-record-subtitle{display: block;margin-top: 5px;font-size: 0.85rem;color: var(--vanphu-text-muted)}.ld-header-actions{flex: 0 0 auto;flex-wrap: wrap;justify-content: flex-end;gap: 8px}.ld-back-action{--vaadin-button-background: #ffffff;--vaadin-button-border-color: color-mix(in srgb,var(--vanphu-primary) 42%,transparent);--vaadin-button-text-color: var(--vanphu-primary-strong)}.ld-back-action:hover{--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-color: var(--vanphu-primary)}.ld-main-grid{gap: 14px;align-items: stretch;flex-wrap: nowrap}.ld-main-grid>.pd-card{align-self: stretch;display: flex;flex-direction: column}.ld-info-card{flex: 1.2 1 0;min-width: 0}.ld-type-card{flex: 0.8 1 0;min-width: 0}.ld-editable-info,.ld-readonly-info{flex: 1 1 auto;display: flex;flex-direction: column;justify-content: space-between}.ld-card-header{gap: 12px;padding-bottom: 12px;border-bottom: 1px solid var(--vanphu-divider)}.ld-card-header .pd-card-title,.ld-attachments-section .pd-card-title{color: var(--vanphu-primary)}.ld-info-card vaadin-form-layout{row-gap: 10px;column-gap: 18px}.ld-summary-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 0;padding: 4px 0 2px}.ld-readonly-info,.ld-readonly-info .ld-readonly-group,.ld-readonly-info .ld-summary-grid{box-sizing: border-box;width: 100%}.ld-summary-item{display: flex;flex-direction: column;gap: 4px;min-width: 0;padding: 12px 18px 12px 0;border-bottom: 1px solid var(--vanphu-divider)}.ld-summary-item:nth-child(even){padding-right: 0;padding-left: 18px;border-left: 1px solid var(--vanphu-divider)}.ld-summary-label{color: var(--vanphu-text-muted);font-size: 0.8rem;font-weight: 500;letter-spacing: 0;line-height: 1.4}.ld-summary-value{color: var(--vanphu-text);font-size: 0.9rem;font-weight: 650;line-height: 1.4;overflow-wrap: anywhere}.ld-detail-empty{display: block;padding: 16px 0 10px;color: var(--vanphu-text-muted);font-size: 0.82rem}.ld-composition-action{margin-top: 14px;padding-top: 2px}.ld-composition-action vaadin-form-item{margin: 0}.ld-attachments-section{min-width: 0;margin-top: 4px}.ld-attachments-section>.pd-card-title{padding-bottom: 6px}.ld-attachments-section{position: relative}.ld-attachments-section .vp-attachment-toolbar{position: absolute;top: 6px;right: 0;width: auto;gap: 8px}.ld-attachments-section .vp-image-empty-state{margin-top: 22px}.ld-attachments-section .vp-attachment-images-section .vp-attachment-section-header{display: none}.ld-attachments-section .vp-attachment-images-section .vp-attachment-section-title{display: none}.ld-attachments-section .vp-tile{width: 132px;height: 132px}.ld-attachments-section .vp-attachment-documents-grid{height: 150px;min-height: 0}@media (max-width: 720px){.legal-document-detail-view{padding: 10px}.ld-page-header{align-items: stretch}.ld-main-grid{flex-wrap: wrap}.ld-info-card,.ld-type-card{flex-basis: 100%}.ld-header-actions{justify-content: flex-start}.ld-card-header{align-items: flex-start;flex-direction: column}.ld-summary-grid{grid-template-columns: 1fr}.ld-summary-item,.ld-summary-item:nth-child(even){padding: 11px 0;border-left: 0}}.ld-group-label{display: block;margin: 14px 0 2px;font-size: 0.72rem;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--vanphu-primary)}.ld-group-label:first-of-type{margin-top: 4px}.ld-record-reject{margin-top: 4px;color: var(--vanphu-danger);font-size: 12.5px;font-weight: 600}.rl-detail-view{gap: 16px}.rl-card-icon{width: 18px;height: 18px;flex: 0 0 auto;color: var(--vanphu-primary)}.rl-back.rl-back{margin-left: auto}.rl-flags{gap: 24px;align-self: end;padding-bottom: 8px}.rl-actions{gap: 10px;justify-content: flex-end}.rl-actions vaadin-button{min-width: 124px;min-height: 38px;border-radius: var(--vanphu-radius-field);--vaadin-button-font-weight: var(--aura-font-weight-semibold);--vaadin-button-shadow: none;--vaadin-button-gap: 8px}.rl-actions vaadin-button::part(label){display: inline-flex}.rl-save{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.rl-save:hover{--vaadin-button-background: var(--vanphu-orange-bright);--vaadin-button-border-color: var(--vanphu-orange-bright)}.rl-cancel{--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft)}.rl-cancel:hover{--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-text-muted);--vaadin-button-text-color: var(--vanphu-text)}.contract-detail-view{background: var(--vanphu-page-background)}.contract-detail-view.contract-detail-view{padding-inline: 14px !important}.ct-document-header{margin-bottom: 0;overflow: hidden;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card);box-shadow: var(--vanphu-shadow-card)}.ct-record-header{padding: 16px 20px 13px}.ct-record-summary{align-items: center;gap: 16px}.ct-document-icon{box-sizing: border-box;display: inline-flex;flex: 0 0 56px;width: 56px;height: 56px;align-items: center;justify-content: center;color: var(--vanphu-info);background: color-mix(in srgb,var(--vanphu-info) 10%,white);border-radius: 10px}.ct-document-icon vaadin-icon{width: 34px;height: 34px}.ct-record-identity{min-width: 0}.ct-record-title{display: flex;align-items: center;gap: 10px;flex-wrap: wrap}.ct-record-name{font-size: 1.5rem;font-weight: 700;letter-spacing: -0.022em;font-variant-numeric: tabular-nums;color: var(--vanphu-text)}.ct-record-subtitle{display: block;margin-top: 4px;font-size: 0.875rem;color: var(--vanphu-text-soft)}.ct-meta-strip{box-sizing: border-box;align-items: flex-start;gap: 0;padding: 12px 20px 14px;margin: 0;border-top: 1px solid var(--vanphu-divider)}.ct-meta-item{flex: 1 1 150px;min-width: 132px;padding: 0 16px;border-right: 1px solid var(--vanphu-divider);text-align: center}.ct-meta-item:last-child{padding-right: 0;border-right: 0}.ct-meta-label{display: block;font-size: 0.68rem;font-weight: 600;letter-spacing: 0.05em;text-transform: uppercase;color: var(--vanphu-text-muted)}.ct-meta-value{display: block;margin-top: 3px;font-size: 0.88rem;font-weight: 500;color: var(--vanphu-text);overflow: hidden;text-overflow: ellipsis}.contract-detail-view .pd-kpi{border-top: 3px solid var(--vanphu-primary);box-shadow: var(--vanphu-shadow-card)}.ct-card{background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card);box-shadow: var(--vanphu-shadow-card);padding: 16px 18px 18px;margin-bottom: 16px}.ct-card-title{display: flex;align-items: center;gap: 9px;margin: 0 0 10px;font-size: 14px;font-weight: 700;letter-spacing: 0.03em;text-transform: uppercase;color: var(--vanphu-text)}.ct-card-title::before{content: "";flex: 0 0 auto;width: 4px;height: 15px;border-radius: 999px;background: linear-gradient(180deg,var(--vanphu-primary),var(--vanphu-primary-strong))}.contract-detail-view .ct-addendum-changes{margin-top: 12px;padding-top: 10px;border-top: 1px dashed var(--vanphu-divider);gap: 4px}.contract-detail-view .ct-addendum-changes-title{margin-bottom: 4px;font-size: 12px;font-weight: 700;letter-spacing: 0.03em;text-transform: uppercase;color: var(--vanphu-text-soft)}.contract-detail-view .ct-addendum-change{position: relative;padding-left: 14px;font-size: 13px;line-height: 1.5;color: var(--vanphu-text)}.contract-detail-view .ct-addendum-change::before{content: "";position: absolute;left: 0;top: 0.55em;width: 6px;height: 6px;border-radius: 50%;background: var(--vanphu-primary)}.contract-detail-view .ct-addendum-change--added::before{background: var(--vanphu-success,var(--vanphu-info))}.contract-detail-view .ct-addendum-change--removed::before{background: var(--vanphu-danger)}.ct-card-heading{gap: 12px}.ct-card-heading .ct-card-title{flex: 1 1 auto;margin: 0}.ct-card-actions{flex: 0 0 auto;width: auto;margin-left: auto}.ct-grid-actions{align-self: flex-end;flex: 0 0 auto;width: auto;margin-left: auto}.ct-conflict-summary{box-sizing: border-box;gap: 10px;margin-bottom: 12px;padding: 10px 14px;color: var(--vanphu-text);font-size: 13px;background: var(--vanphu-gold-soft);border: 1px solid var(--vanphu-gold);border-left: 4px solid var(--vanphu-gold);border-radius: var(--vanphu-radius-field)}.ct-conflict-summary--danger{background: color-mix(in srgb,var(--vanphu-danger) 9%,#ffffff);border-color: var(--vanphu-danger)}.ct-conflict-summary-icon{flex: 0 0 auto;width: 17px;height: 17px;margin-top: 1px}.ct-conflict-summary-title{font-weight: 700}.contract-detail-view .ct-charge-breakdown{margin-top: 12px;padding: 12px 4px;border: 1px solid var(--vanphu-divider);border-radius: 8px}.contract-detail-view .ct-charge-breakdown .ct-meta-item--total .ct-meta-value{font-size: 1rem;font-weight: 700}#rentAdjustmentsPagination{align-self: flex-end;margin-inline-start: auto}#attachmentBlock{position: relative;gap: 10px}.contract-detail-view .vp-attachment-documents-grid::part(cell){text-align: center}.contract-detail-view .vp-attachment-documents-grid::part(first-column-cell){text-align: left}#attachmentBlock .vp-attachment-toolbar{position: absolute;top: 10px;right: 18px;width: auto !important}.ct-info-row{gap: 16px;align-items: stretch}.ct-info-row>.ct-card{display: flex;flex-direction: column;flex: 1 1 520px;min-width: 0;margin-bottom: 16px}.contract-detail-view .ct-info-row:has(#form:not([hidden]))>.ct-card{flex: 1 1 100%}.contract-detail-view #termsForm>vaadin-checkbox{align-self: end;padding-bottom: 8px}.contract-detail-view .ct-flags-stack{gap: 6px;align-self: center;margin-top: 20px}.contract-detail-view .ct-flags-stack vaadin-checkbox{font-size: 13px}.contract-detail-view .ct-form-subtitle{display: flex;align-items: center;gap: 7px;margin: 8px 0 0;color: var(--vanphu-text-soft);font-size: 11px;font-weight: 600;letter-spacing: 0.05em;text-transform: uppercase}.contract-detail-view .ct-form-subtitle::before{content: "";width: 2px;height: 11px;flex: 0 0 auto;background: var(--vanphu-primary);border-radius: 2px}.contract-detail-view :is(#form,#termsForm) vaadin-text-area{min-height: 0}.contract-detail-view :is(#form,#termsForm) vaadin-text-area::part(input-field){min-height: 0}.contract-detail-view .ct-info-row .pd-readonly-grid{flex: 1 1 auto;align-content: space-between}.contract-detail-view .pd-detail-card--info .pd-readonly-grid{column-gap: 24px}.contract-detail-view .pd-detail-card--info .pd-readonly-field{grid-template-columns: minmax(0,min(156px,45%)) minmax(0,1fr);gap: 6px;padding: 2px 0}.contract-detail-view .pd-detail-card--info .pd-readonly-label{font-size: 11px;line-height: 1.3}.contract-detail-view .pd-detail-card--info .pd-readonly-value{font-size: 13px;line-height: 1.3}.contract-detail-view .ct-info-row>.ct-card{padding: 14px 16px 14px}.contract-detail-view .ct-info-row .ct-card-title{margin-bottom: 8px}.ct-header-top{gap: 12px;padding: 16px 20px 0}.ct-header-top .ct-record-header{flex: 1 1 0;min-width: 0;padding: 0 0 13px}.ct-actions{display: flex;flex: 0 0 auto;justify-content: flex-end;flex-wrap: nowrap;gap: 10px;padding: 0;background: transparent;border: none;box-shadow: none}.ct-actions vaadin-button vaadin-icon{display: none}.contract-detail-view vaadin-grid>vaadin-grid-cell-content{white-space: normal;overflow-wrap: break-word;line-height: 1.35}.ct-actions vaadin-button::part(label){display: inline-flex}.ct-action-cancel{--vaadin-button-background: var(--vanphu-card-background);--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft)}.ct-action-cancel:hover{--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: var(--vanphu-primary-strong)}.ct-action-cancel:active{--vaadin-button-background: color-mix(in srgb,var(--vanphu-primary) 18%,#ffffff);--vaadin-button-border-color: var(--vanphu-primary-strong)}.ct-action-back{--vaadin-button-background: #ffffff;--vaadin-button-border-color: color-mix(in srgb,var(--vanphu-primary) 42%,transparent);--vaadin-button-text-color: var(--vanphu-primary-strong)}.ct-action-back:hover{--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-color: var(--vanphu-primary)}.ct-action-save{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}@media (max-width: 760px){.ct-record-header,.ct-meta-strip{padding-inline: 14px}.ct-meta-item{flex-basis: 45%;padding: 8px 12px;border-right: 0}}.contract-detail-view vaadin-tabs{border-bottom: 1px solid var(--vanphu-card-border)}.contract-detail-view vaadin-tab{font-weight: 600;color: var(--vanphu-text-muted)}.contract-detail-view vaadin-tab[selected]{color: var(--vanphu-primary-strong)}.contract-detail-view vaadin-tab[selected]{background: var(--vanphu-primary-soft);border-radius: 10px 10px 0 0}.ct-card-hint{display: block;margin: -4px 0 12px;font-size: 0.8rem;line-height: 1.45;color: var(--vanphu-text-muted)}.contract-detail-view .pd-history-event{width: 100%;gap: 12px;padding: 10px 4px;border-bottom: 1px solid var(--vanphu-divider)}.contract-detail-view .pd-history-event:last-child{border-bottom: none}.contract-detail-view .pd-history-event-meta{flex: 0 0 auto;font-variant-numeric: tabular-nums}.pd-history-dot--signed{background: var(--vanphu-primary)}.pd-history-event--expected .pd-history-dot{background: transparent;box-shadow: inset 0 0 0 2px var(--vanphu-text-muted)}.pd-history-event--expected .pd-history-event-title{color: var(--vanphu-text-soft);font-weight: 500}.ct-kv--wide{grid-column: 1 / -1}.ct-kv-value--empty{color: var(--vanphu-text-muted);font-weight: 400}.contract-detail-view .pd-readonly-field:has(>.ct-kv-hint){flex-wrap: wrap}.ct-kv-hint{flex-basis: 100%;grid-column: 1 / -1;display: block;margin-top: 2px;font-size: 0.75rem;line-height: 1.4;color: var(--vanphu-text-muted);text-align: left}.contract-detail-view.contract-detail-view jmix-tabsheet::part(tabs-container){padding: 4px 8px}.contract-detail-view.contract-detail-view jmix-tabsheet>vaadin-tabs>vaadin-tab{box-sizing: border-box;min-height: 36px;padding-block: 4px;font-size: 13px}.ct-record-reject{margin-top: 4px;color: var(--vanphu-danger);font-size: 12.5px;font-weight: 600}.ct-timing-row{align-items: stretch;gap: 24px}.ct-timing-col{flex: 1 1 0;min-width: 0;gap: 16px}.ct-timing-note{flex: 2 1 0;min-width: 0}.cd-dialog{--cd-auto-border: color-mix(in srgb,var(--vanphu-primary) 45%,transparent);--cd-warn-line: var(--vanphu-gold);--cd-warn-fill: var(--vanphu-gold-soft);--cd-warn-ink: color-mix(in srgb,var(--vanphu-gold-pressed) 62%,var(--vanphu-charcoal));--cd-ok-fill: var(--vanphu-success-soft);--cd-ok-ink: color-mix(in srgb,var(--vanphu-success) 70%,var(--vanphu-charcoal));--cd-bad-fill: color-mix(in srgb,var(--vanphu-danger) 9%,#ffffff)}.cd-auto::part(input-field){background: color-mix(in srgb,var(--vanphu-beige-light) 42%,#ffffff);border-color: var(--cd-auto-border)}.cd-readonly::part(input-field){background: var(--vanphu-card-subtle);border-color: transparent;color: var(--vanphu-text-soft);cursor: default}.cd-discount{align-items: stretch;gap: 0}.cd-discount>vaadin-text-field::part(input-field){border-start-end-radius: 0;border-end-end-radius: 0}.cd-discount>vaadin-combo-box::part(input-field){border-start-start-radius: 0;border-end-start-radius: 0}.cd-discount>vaadin-combo-box{margin-inline-start: -1px}.cd-discount>vaadin-text-field::part(helper-text){white-space: nowrap}.cd-discount vaadin-combo-box{flex: 0 0 88px;width: 88px}.cd-totals{box-sizing: border-box;gap: 20px;margin: 0;padding: 16px 20px;background: linear-gradient( 180deg,color-mix(in srgb,var(--vanphu-orange-soft) 45%,#ffffff) 0%,var(--vanphu-beige-light) 100% );border: 1.5px solid var(--cd-auto-border);border-radius: var(--vanphu-radius-card)}.cd-total{flex: 1 1 0;min-width: 0;gap: 2px;align-items: center;justify-content: center;text-align: center}.cd-total-k{color: var(--vanphu-text-muted);font-size: 11.5px;font-weight: 700;letter-spacing: 0.07em;text-transform: uppercase}.cd-total-v{color: var(--vanphu-text);font-size: 21px;font-weight: 700;letter-spacing: -0.015em;font-variant-numeric: tabular-nums}.cd-total--main .cd-total-v{color: var(--vanphu-primary-strong);font-size: 25px}.cd-total-sub{color: var(--vanphu-text-muted);font-size: 11.5px}.cd-ref{box-sizing: border-box;overflow: hidden;border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card)}.cd-bottom{align-items: stretch}.cd-bottom>.cd-totals,.cd-bottom>.cd-ref-wrap{align-self: stretch}.cd-ref-wrap{display: flex;flex-direction: column}.cd-ref-top{box-sizing: border-box;gap: 10px;padding: 12px 16px;background: var(--vanphu-card-subtle);border-bottom: 1px solid var(--vanphu-card-border)}.cd-ref-src{margin-left: auto;color: var(--vanphu-text-muted);font-size: 12.5px;text-align: right}.cd-ref-btn{min-height: 32px;border-radius: var(--vanphu-radius-field);--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft);--vaadin-button-shadow: none;--vaadin-button-gap: 6px}.cd-ref-btn:hover{--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: var(--vanphu-primary-strong)}.cd-dialog vaadin-button::part(label){display: inline-flex}.cd-badge{flex: 0 0 auto;padding: 4px 11px;border-radius: 20px;background: var(--cd-ok-fill);color: var(--cd-ok-ink);font-size: 12px;font-weight: 700}.cd-badge--out{background: var(--cd-bad-fill);color: var(--vanphu-danger)}.cd-ref-body{box-sizing: border-box;gap: 16px;padding: 14px 16px}.cd-ref-i{flex: 1 1 0;min-width: 0;gap: 2px}.cd-ref-i:nth-child(2){align-items: center;text-align: center}.cd-ref-i:nth-child(3){align-items: flex-end;text-align: right}.cd-ref-k{color: var(--vanphu-text-muted);font-size: 11.5px;font-weight: 600}.cd-ref-v{color: var(--vanphu-text);font-size: 14.5px;font-weight: 600;font-variant-numeric: tabular-nums}.cd-callout{box-sizing: border-box;gap: 11px;margin-top: 14px;padding: 11px 14px;background: var(--cd-warn-fill);border: 1px solid var(--cd-warn-line);border-left: 4px solid var(--cd-warn-line);border-radius: var(--vanphu-radius-field)}.cd-callout-icon{width: 17px;height: 17px;flex: 0 0 auto;margin-top: 1px;color: var(--cd-warn-ink)}.cd-callout-body{min-width: 0;gap: 1px}.cd-callout-title{color: var(--cd-warn-ink);font-size: 13px;font-weight: 700}.cd-callout-text{color: var(--cd-warn-ink);font-size: 13px}.cd-callout--muted{background: var(--vanphu-card-subtle);border-color: var(--vanphu-card-border)}.cd-callout--muted .cd-callout-icon,.cd-callout--muted .cd-callout-title,.cd-callout--muted .cd-callout-text{color: var(--vanphu-text-soft)}.cd-callout--danger{background: var(--cd-bad-fill);border-color: var(--vanphu-danger)}.cd-callout--danger .cd-callout-icon,.cd-callout--danger .cd-callout-title,.cd-callout--danger .cd-callout-text{color: color-mix(in srgb,var(--vanphu-danger) 80%,var(--vanphu-charcoal))}.cd-exc{box-sizing: border-box;gap: 12px;padding: 15px 18px;background: color-mix(in srgb,var(--cd-warn-fill) 55%,#ffffff);border: 1px dashed var(--cd-warn-line);border-radius: var(--vanphu-radius-card)}.cd-dialog .vp-dialog-footer{position: sticky;bottom: 0;z-index: 1;background: var(--vanphu-card-background)}.cd-dialog .vp-dialog-section-header{margin-top: 13px;padding-bottom: 4px}.cd-dialog .pd-card-header + .vp-dialog-section-header{margin-top: 6px}.cd-dialog vaadin-form-layout{--vaadin-form-layout-row-spacing: 12px}.cd-totals{padding: 12px 18px}.cd-total-v{font-size: 19px}.cd-total--main .cd-total-v{font-size: 22px}.cd-ref-top{padding: 9px 14px}.cd-ref-body{padding: 10px 14px}.cd-callout{margin-top: 10px;padding: 9px 12px}.cd-exc{padding: 12px 16px}.cd-dialog vaadin-text-area::part(input-field){min-height: 58px}.cd-dialog .pd-card{padding: 14px 18px 16px}.cd-cols{gap: 22px}.cd-cols>.cd-col{flex: 1 1 0;min-width: 0}.cd-bottom{gap: 16px;margin-top: 14px}.cd-bottom>.cd-totals{width: auto;flex: 1 1 auto}.cd-ref-wrap{flex: 0 0 38em;min-width: 0}.cd-ref-wrap>.cd-ref{flex: 1 1 auto}.cd-dialog .cd-ref-top{flex-wrap: wrap;row-gap: 8px}.cd-dialog #noteTextField{min-height: 7.5em}.cd-dialog .vp-read-kv-grid{grid-template-columns: minmax(0,1fr)}.cd-dialog .vp-read-kv:nth-child(odd){border-right: none}.cd-dialog .vp-read-kv:nth-last-child(2){border-bottom: 1px solid var(--vanphu-divider)}.cd-dialog .cd-cols>.cd-col{align-self: stretch;display: flex;flex-direction: column}.cd-dialog .cd-col>.vp-read-body{display: flex;flex: 1 1 auto;flex-direction: column}.cd-dialog .cd-col>.vp-read-body>.vp-read-kv-grid{display: flex;flex: 1 1 auto;flex-direction: column}.cd-dialog .cd-col>.vp-read-body>.vp-read-kv-grid>.vp-read-kv:last-child{flex: 1 1 auto}.cd-dialog .vp-read-kv:nth-last-child(-n + 2){border-bottom: 1px solid var(--vanphu-divider)}.cd-dialog .vp-read-kv:last-child{border-bottom: none}.cd-read-hero-card{box-sizing: border-box;display: flex;align-items: center;gap: 14px;width: 100%;margin: 2px 0 6px;padding: 14px 18px;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: 14px}.cd-read-hero-glyph{display: flex;flex: 0 0 auto;align-items: center;justify-content: center;width: 46px;height: 46px;background: var(--vanphu-primary-soft);border-radius: 12px;color: var(--vanphu-primary)}.cd-read-hero-glyph vaadin-icon{width: 20px;height: 20px}.cd-read-hero-texts{display: flex;flex: 1 1 auto;flex-direction: column;gap: 2px;min-width: 0}.cd-read-hero-title{font-size: 16px;font-weight: 700;color: var(--vanphu-text)}.cd-read-hero-sub{font-size: 12.5px;color: var(--vanphu-text-soft)}.cd-read-hero-badges{display: flex;flex: 0 0 auto;gap: 8px;align-items: center}.cd-badge--warn{background: var(--cd-warn-fill);color: var(--cd-warn-ink)}.vp-read-kv-multi{display: flex;flex: 1 1 auto;gap: 8px;min-width: 0}.vp-read-kv-multi .vp-read-kv-mini{display: flex;flex: 1 1 0;flex-direction: column;gap: 2px;min-width: 0}.cd-line-nav{margin-right: auto;gap: 8px}.cd-line-nav-button{min-width: 0;padding-inline: 12px;--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft);--vaadin-button-shadow: none}.cd-line-nav-button:hover:not([disabled]){--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: var(--vanphu-primary-strong)}.cd-line-nav-button[disabled]{opacity: 0.45}.cd-line-pos{color: var(--vanphu-text-muted);font-size: 12.5px;font-variant-numeric: tabular-nums;white-space: nowrap}[jmix-role="jmix-view-layout"]#pms_OverviewDashboard{padding: 0 !important;background: var(--vanphu-card-subtle) !important;border: 0 !important}.overview-page{gap: 14px}.overview-kpi-row>.report-kpi-card{flex: 1 1 0;min-width: 0}.overview-kpi-row,.overview-insight-row,.overview-ranking-row,.overview-activity-row{gap: 14px}.overview-card{box-sizing: border-box;gap: 10px;padding: 16px 18px;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card);box-shadow: var(--vanphu-shadow-card)}.overview-card__title{font-size: 13px;font-weight: 700;letter-spacing: 0.02em;text-transform: uppercase;color: var(--vanphu-text)}.overview-card__meta{font-size: 12px;color: var(--vanphu-text-soft)}.overview-chart{min-width: 0}.overview-todo{gap: 12px;width: 100%;padding: 4px 0}.overview-todo__count{display: inline-flex;flex: 0 0 auto;align-items: center;justify-content: center;min-width: 34px;height: 34px;border-radius: 10px;font-size: 14px;font-weight: 700}.overview-todo__count--gold{background: var(--vanphu-gold-soft);color: var(--vanphu-gold-pressed)}.overview-todo__count--red{background: var(--vanphu-danger-soft);color: var(--vanphu-danger)}.overview-todo__count--blue{background: color-mix(in srgb,var(--vanphu-info) 12%,#ffffff);color: var(--vanphu-info)}.overview-todo__title{font-size: 13px;font-weight: 600;color: var(--vanphu-text)}.overview-todo__meta{font-size: 11px;color: var(--vanphu-text-muted)}.overview-overdue{gap: 10px;padding: 5px 0 5px 46px;cursor: pointer;border-bottom: 1px solid var(--vanphu-divider)}.overview-overdue:hover .overview-overdue__title{color: var(--vanphu-primary)}.overview-overdue__title{font-size: 12.5px;font-weight: 600;color: var(--vanphu-text)}.overview-overdue__meta{font-size: 11px;color: var(--vanphu-text-muted)}.overview-overdue__days{flex: 0 0 auto;padding: 2px 8px;border-radius: 999px;font-size: 11.5px;font-weight: 700;font-variant-numeric: tabular-nums}.overview-overdue__days--gold{background: var(--vanphu-gold-soft);color: var(--vanphu-gold-pressed)}.overview-overdue__days--red{background: var(--vanphu-danger-soft);color: var(--vanphu-danger)}.overview-overdue__more{padding: 4px 0 2px 46px;font-size: 11px;color: var(--vanphu-text-muted)}.overview-project{justify-content: flex-start}.overview-project__header{gap: 12px}.overview-project__heading{gap: 10px;min-width: 0}.overview-project__tile{display: inline-flex;flex: 0 0 auto;align-items: center;justify-content: center;width: 30px;height: 30px;background: var(--vanphu-primary-soft);border-radius: 9px;color: var(--vanphu-primary-strong)}.overview-project__tile vaadin-icon{width: 16px;height: 16px}.overview-project__meta--warn{color: var(--vanphu-danger)}.overview-project__badges{display: flex;flex: 0 0 auto;flex-wrap: wrap;gap: 8px}.overview-project__badge{display: inline-flex;align-items: center;gap: 6px;padding: 5px 11px;border-radius: 999px;font-size: 12px;font-weight: 600;white-space: nowrap}.overview-project__badge vaadin-icon{width: 14px;height: 14px}.overview-project__badge--below{background: var(--vanphu-danger-soft);color: var(--vanphu-danger)}.overview-project__badge--on{background: var(--vanphu-success-soft);color: var(--vanphu-success)}.overview-project__badge--none{background: var(--vanphu-gold-soft);color: var(--vanphu-gold)}.overview-project__row{box-sizing: border-box;width: 100%;gap: 8px;padding: 11px 13px;background: var(--vanphu-card-subtle);border: 1px solid var(--vanphu-divider);border-radius: 12px}.overview-project__row:hover{border-color: var(--vanphu-card-border);background: var(--vanphu-card-background)}.overview-project__head{gap: 10px}.overview-project__row-tile{display: inline-flex;flex: 0 0 auto;align-items: center;justify-content: center;width: 30px;height: 30px;border-radius: 9px}.overview-project__row-tile vaadin-icon{width: 15px;height: 15px}.overview-project__row-tile--below{background: var(--vanphu-danger-soft);color: var(--vanphu-danger)}.overview-project__row-tile--on{background: var(--vanphu-success-soft);color: var(--vanphu-success)}.overview-project__row-tile--none{background: var(--vanphu-gold-soft);color: var(--vanphu-gold)}.overview-project__name{overflow: hidden;font-size: 13.5px;font-weight: 600;color: var(--vanphu-text);text-overflow: ellipsis;white-space: nowrap}.overview-project__vacant{flex: 0 0 auto;font-size: 12px;color: var(--vanphu-text-soft);white-space: nowrap}.overview-project__rate{flex: 0 0 auto;font-size: 15px;font-weight: 800;font-variant-numeric: tabular-nums}.overview-project__rate--below{color: var(--vanphu-danger)}.overview-project__rate--on{color: var(--vanphu-primary-strong)}.overview-project__rate--none{color: var(--vanphu-text-soft)}.overview-project__track{position: relative;width: 100%;height: 8px;background: var(--vanphu-divider);border-radius: 4px}.overview-project__fill{height: 100%;border-radius: 4px}.overview-project__fill--below{background: var(--vanphu-danger)}.overview-project__fill--on{background: var(--vanphu-primary)}.overview-project__fill--none{background: var(--vanphu-beige)}.overview-project__target{position: absolute;top: -3px;width: 2px;height: 14px;background: var(--vanphu-charcoal);border-radius: 1px;transform: translateX(-50%)}.overview-share__body{display: flex;flex-direction: column;justify-content: center;gap: 16px;width: 100%;min-height: 0}.overview-share__bar{display: flex;width: 100%;height: 18px;overflow: hidden;border-radius: 9px}.overview-share__seg{min-width: 0}.overview-share__seg--leased{background: var(--vanphu-primary)}.overview-share__seg--deposited{background: var(--vanphu-gold)}.overview-share__seg--vacant{background: var(--vanphu-beige)}.overview-share__legend{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 12px}@media (max-width: 520px){.overview-share__legend{grid-template-columns: minmax(0,1fr)}}.overview-share__item{display: flex;flex-direction: column;gap: 4px;box-sizing: border-box;padding: 11px 13px;background: var(--vanphu-card-subtle);border: 1px solid var(--vanphu-divider);border-radius: 12px;min-width: 0}.overview-share__item-head{display: flex;align-items: center;gap: 7px}.overview-share__area{font-size: 12px;color: var(--vanphu-text-soft);font-variant-numeric: tabular-nums}.overview-share__dot{width: 10px;height: 10px;border-radius: 50%}.overview-share__dot--leased{background: var(--vanphu-primary)}.overview-share__dot--deposited{background: var(--vanphu-gold)}.overview-share__dot--vacant{background: var(--vanphu-beige)}.overview-share__label{font-size: 12.5px;color: var(--vanphu-text)}.overview-share__value{font-size: 22px;font-weight: 700;line-height: 1.15;color: var(--vanphu-text);font-variant-numeric: tabular-nums}.overview-rank{gap: 10px;width: 100%}.overview-rank__no{display: inline-flex;flex: 0 0 auto;align-items: center;justify-content: center;width: 22px;height: 22px;border-radius: 6px;font-size: 11px;font-weight: 700}.overview-rank__no--hot{background: var(--vanphu-primary-soft);color: var(--vanphu-primary-strong)}.overview-rank__no--cold{background: var(--vanphu-divider);color: var(--vanphu-text-soft)}.overview-rank__name{flex: 0 0 9em;overflow: hidden;font-size: 12.5px;font-weight: 500;color: var(--vanphu-text);text-overflow: ellipsis;white-space: nowrap}.overview-rank__track{position: relative;height: 10px;background: var(--vanphu-divider);border-radius: 5px}.overview-rank__fill{height: 100%;border-radius: 5px}.overview-rank__fill--1{background: var(--vanphu-gold)}.overview-rank__fill--2{background: var(--vanphu-beige)}.overview-rank__fill--3{background: var(--vanphu-orange-deep)}.overview-rank__fill--4,.overview-rank__fill--5{background: var(--vanphu-info)}.overview-rank__value{flex: 0 0 6.5em;font-size: 12.5px;font-weight: 700;color: var(--vanphu-text);text-align: right}.overview-activity{gap: 10px;width: 100%;padding: 5px 0;border-bottom: 1px solid var(--vanphu-divider)}.overview-activity:last-child{border-bottom: none}.overview-activity__dot{width: 9px;height: 9px;flex: 0 0 auto;border-radius: 50%}.overview-activity__dot--green{background: var(--vanphu-success)}.overview-activity__dot--gold{background: var(--vanphu-gold)}.overview-activity__dot--red{background: var(--vanphu-danger)}.overview-activity__dot--gray{background: var(--vanphu-text-muted)}.overview-activity__text{overflow: hidden;font-size: 12.5px;color: var(--vanphu-text);text-overflow: ellipsis;white-space: nowrap}.overview-activity__when{flex: 0 0 auto;font-size: 11.5px;color: var(--vanphu-text-muted)}.overview-shortcut__chips{display: flex;flex-wrap: wrap;gap: 10px}.overview-shortcut__chip{display: inline-flex;align-items: center;gap: 7px;padding: 8px 14px;background: var(--vanphu-card-subtle);border: 1px solid var(--vanphu-beige);border-radius: 10px;font-size: 12.5px;font-weight: 500;color: var(--vanphu-text);cursor: pointer}.overview-shortcut__chip:hover{border-color: var(--vanphu-primary);color: var(--vanphu-primary-strong)}.overview-shortcut__icon{width: 15px;height: 15px;flex: 0 0 auto;color: var(--vanphu-primary)}.overview-shortcut__chip:hover .overview-shortcut__icon{color: var(--vanphu-primary-strong)}.overview-insight-row,.overview-ranking-row,.overview-activity-row{align-items: stretch}.overview-insight-row>*,.overview-ranking-row>*,.overview-activity-row>*{align-self: stretch}.overview-insight-row>.overview-card{min-height: 18rem}.overview-insight-row>*,.overview-ranking-row>*,.overview-activity-row>*{flex: 1 1 0;min-width: 0}.overview-card__header{gap: 12px}.overview-card__chip{display: inline-flex;flex: 0 0 auto;align-items: center;gap: 6px;padding: 5px 11px;background: var(--vanphu-primary-soft);border-radius: 999px;font-size: 11.5px;font-weight: 600;color: var(--vanphu-primary-strong);white-space: nowrap;cursor: pointer}.overview-card__chip vaadin-icon{width: 13px;height: 13px}.overview-card__chip:hover{background: var(--vanphu-gold-soft);color: var(--vanphu-gold-pressed)}.overview-card__chip:focus-visible{outline: 2px solid var(--vanphu-primary);outline-offset: 2px}.overview-revenue{justify-content: flex-start}.overview-revenue__period{flex: 0 0 auto;padding: 4px 10px;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: 999px;font-size: 11.5px;color: var(--vanphu-text-soft);white-space: nowrap}.overview-revenue__headline{gap: 10px;margin-top: 2px}.overview-revenue__value{font-size: 26px;font-weight: 700;line-height: 1.15;color: var(--vanphu-text)}.overview-revenue__delta{padding: 3px 9px;border-radius: 999px;font-size: 12px;font-weight: 700;white-space: nowrap}.overview-revenue__delta--up{background: var(--vanphu-success-soft);color: var(--vanphu-success)}.overview-revenue__delta--down{background: var(--vanphu-danger-soft);color: var(--vanphu-danger)}.overview-revenue__chart{display: flex;box-sizing: border-box;width: 100%;align-items: flex-end;gap: 8px;height: 104px;margin-top: 6px;padding-bottom: 2px;border-bottom: 1px solid var(--vanphu-divider)}.overview-revenue__column{display: flex;flex: 1 1 0;min-width: 0;flex-direction: column;align-items: center;justify-content: flex-end;gap: 5px;height: 100%}.overview-revenue__bar-track{display: flex;flex: 1 1 auto;align-items: flex-end;width: 100%;min-height: 0}.overview-revenue__bar{width: 100%;border-radius: 5px 5px 0 0}.overview-revenue__bar--past{background: color-mix(in srgb,var(--vanphu-primary) 38%,#ffffff)}.overview-revenue__bar--current{background: var(--vanphu-primary)}.overview-revenue__label{font-size: 11px;color: var(--vanphu-text-muted)}.overview-revenue__label--current{font-weight: 700;color: var(--vanphu-primary-strong)}.overview-revenue__footer{gap: 12px;margin-top: 10px}.overview-revenue__stat{flex: 1 1 0;min-width: 0;gap: 2px}.overview-revenue__stat-label{font-size: 11px;color: var(--vanphu-text-muted)}.overview-revenue__stat-value{font-size: 13px;font-weight: 700;color: var(--vanphu-text)}.overview-project__badge--unassigned{background: var(--vanphu-card-background);border: 1px solid var(--vanphu-gold);color: var(--vanphu-gold-pressed)}.overview-project__note{margin-top: 2px;font-size: 11px}.deposit-reservation--expired{color: var(--vanphu-danger);font-weight: var(--aura-font-weight-semibold)}.pd-record-header{box-sizing: border-box;gap: 14px;padding: 2px 4px 12px}.pd-header-row{gap: 20px;align-items: stretch}.pd-header-title{gap: 10px}.pd-cover{position: relative;flex: 0 0 auto;box-sizing: border-box;width: 176px;height: 118px;overflow: hidden;background: var(--vanphu-card-subtle);border: 1px solid var(--vanphu-card-border);border-radius: 10px}.pd-cover-image{display: block;width: 100%;height: 100%;object-fit: cover;cursor: zoom-in}.pd-cover-empty{display: flex;align-items: center;justify-content: center;width: 100%;height: 100%;padding: 0 10px;color: var(--vanphu-text-muted);font-size: 12.5px;text-align: center}.pd-cover-chip{position: absolute;left: 8px;bottom: 8px;padding: 2px 9px;border-radius: 6px;color: #ffffff;background: rgba(30,30,30,0.74);font-size: 11.5px;font-weight: 600}.pd-header-code{color: var(--vanphu-text-soft);font-size: 20px;font-weight: 600;letter-spacing: -0.01em}.pd-header-code::after{content: "·";margin-inline-start: 10px;color: var(--vanphu-text-muted)}.pd-header-name{color: var(--vanphu-text);font-size: 20px;font-weight: 700;letter-spacing: -0.015em}.pd-header-meta{gap: 36px;flex-wrap: wrap;padding-top: 12px}.pd-meta-item{gap: 3px;min-width: 120px}.pd-meta-label{color: var(--vanphu-text-muted);font-size: 11.5px;font-weight: 500}.pd-meta-value{color: var(--vanphu-text);font-size: 14px;font-weight: 600}.pd-badge{padding: 3px 11px;border-radius: 999px;font-size: 12px;font-weight: 600;white-space: nowrap}.pd-badge--approved{color: var(--vanphu-success);background: var(--vanphu-success-soft)}.pd-badge--pending{color: #8a6300;background: #fdf0d5}.pd-badge--rejected{color: var(--vanphu-danger);background: #ffeeee}.pd-badge--draft{color: var(--vanphu-text-soft);background: var(--vanphu-divider)}.pd-badge--occupied{color: var(--vanphu-success);background: var(--vanphu-success-soft)}.pd-badge--expiring{color: #8a6300;background: #fdf0d5}.pd-badge--reserved{color: #8a6300;background: #fdf0d5}.pd-badge--scheduled{color: var(--vanphu-info);background: #e4eefb}.pd-badge--vacant{color: var(--vanphu-text-soft);background: var(--vanphu-divider)}.property-detail-view.property-detail-view{height: auto;min-height: 100%;padding-inline: 14px !important;overflow: visible}.property-detail-view .pd-tabsheet{flex: 1 0 auto;height: auto !important;max-height: none !important;overflow: visible}.property-detail-view .pd-tabsheet::part(content){height: auto !important;max-height: none !important;overflow: visible !important;--vaadin-scroller-padding-block: 8px;--vaadin-scroller-padding-inline: 10px}.property-detail-view .pd-tabsheet [slot="content"]{height: auto !important;max-height: none !important;overflow: visible !important}.pd-tabsheet::part(tabs-container){width: 100%;padding: 4px 8px}.pd-tabsheet vaadin-tabs{width: 100%;flex: 1 1 auto}.pd-tabsheet vaadin-tabs::part(tabs){width: 100%}.pd-tabsheet vaadin-tab{flex: 1 1 0;justify-content: center;text-align: center}.property-detail-view.property-detail-view .pd-tabsheet>vaadin-tabs>vaadin-tab{box-sizing: border-box;min-height: 36px;padding-block: 4px;font-size: 13px}.pd-tab{gap: 14px;padding-top: 4px}.pd-row{gap: 14px;align-items: flex-start}.pd-col-full{flex: 1 1 100%;min-width: 0}.pd-col-half{flex: 1 1 420px;min-width: 0}.pd-row--equal{align-items: stretch}.pd-row--equal>*{align-self: stretch}.pd-card{box-sizing: border-box;gap: 10px;padding: 18px 20px;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card);box-shadow: var(--vanphu-shadow-card)}.pd-card-title{margin: 0;padding-bottom: 2px;color: var(--vanphu-text);font-size: 15px;font-weight: 600;text-transform: uppercase}.pd-card-hint{margin: -4px 0 2px;color: var(--vanphu-text-muted);font-size: 13px;line-height: 1.45}.pd-header-stats{flex: 0 1 360px;align-content: stretch;overflow: hidden;border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-field)}.pd-header-stat{box-sizing: border-box;flex: 1 1 50%;gap: 3px;min-width: 145px;padding: 13px 15px}.pd-header-stat:nth-child(odd){border-inline-end: 1px solid var(--vanphu-divider)}.pd-header-stat:nth-child(-n + 2){border-block-end: 1px solid var(--vanphu-divider)}.pd-header-stat-label{color: var(--vanphu-text-muted);font-size: 10.5px;font-weight: 500}.pd-header-stat-value{color: var(--vanphu-primary);font-size: 17px;font-weight: 700}.pd-readonly-overview{width: 100%}.pd-readonly-card{gap: 14px}.pd-detail-card{min-width: 0}.pd-detail-card--info{flex: 1.55 1 480px}.pd-detail-card--amenities{flex: 0.6 1 200px}.pd-detail-card--media{flex: 1 1 320px}.pd-detail-card--info .pd-readonly-grid{grid-template-columns: repeat(2,minmax(0,1fr));column-gap: 32px}.pd-detail-card--info .pd-readonly-field{display: grid;grid-template-columns: 120px minmax(0,1fr);gap: 8px;align-items: start;padding: 5px 0;border-bottom: 0}.pd-detail-card--info .pd-readonly-label,.pd-detail-card--info .pd-readonly-value{line-height: 1.35}.pd-readonly-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(150px,1fr));gap: 0;align-items: stretch}.pd-readonly-field{flex: 1 1 170px;min-width: 0;gap: 4px;padding: 11px 20px 11px 0;border-bottom: 1px solid var(--vanphu-divider)}.pd-readonly-label{color: var(--vanphu-text-muted);font-size: 11.5px;font-weight: 500;line-height: 1.35}.pd-readonly-value{display: block;max-width: 100%;color: var(--vanphu-text);font-size: 14px;font-weight: 600;line-height: 1.45;overflow-wrap: anywhere;white-space: normal}.pd-readonly-field:has(.pd-readonly-label[title]) .pd-readonly-value{white-space: normal}.pd-readonly-section{display: flex;flex-direction: column;gap: 7px;width: 100%;padding-top: 13px}.pd-readonly-section-label{color: var(--vanphu-text);font-size: 12px;font-weight: 700}.pd-readonly-description{color: color-mix(in srgb,var(--vanphu-text) 78%,var(--vanphu-text-soft));font-size: 12.5px;font-weight: 500;line-height: 1.55;white-space: normal}.pd-amenity-list{display: flex;flex-wrap: wrap;gap: 7px}.pd-amenity-chip{padding: 5px 9px;color: var(--vanphu-primary-strong);background: var(--vanphu-primary-soft);border: 1px solid color-mix(in srgb,var(--vanphu-primary) 18%,transparent);border-radius: 999px;font-size: 11.5px;font-weight: 600}.pd-amenity-chip{display: inline-flex;gap: 6px;align-items: center}.pd-amenity-chip vaadin-icon{width: 13px;height: 13px;flex: 0 0 auto}.pd-detail-card--amenities .pd-amenity-list{flex-direction: column;gap: 0}.pd-detail-card--amenities .pd-amenity-chip{width: 100%;box-sizing: border-box;padding: 9px 2px;background: transparent;border: 0;border-bottom: 1px solid var(--vanphu-divider);border-radius: 0;font-size: 13px}.pd-detail-card--amenities .pd-amenity-chip vaadin-icon{width: 15px;height: 15px}.pd-detail-card--amenities .pd-amenity-chip:last-child{border-bottom: 0}.pd-detail-card--media>.pd-readonly-section:first-of-type{padding-top: 0}.pd-readonly-images{min-width: 0}.pd-history-timeline{gap: 14px;min-height: 360px}.pd-history-event{position: relative;gap: 12px;padding-left: 4px}.pd-history-event:not(:last-child)::before{content: "";position: absolute;top: 22px;bottom: -16px;left: 9px;width: 1px;background: var(--vanphu-divider)}.pd-history-dot{flex: 0 0 auto;width: 12px;height: 12px;margin-top: 4px;border-radius: 50%;background: var(--vanphu-primary)}.pd-history-dot--adjustment{background: var(--aura-orange)}.pd-history-dot--updated{background: var(--aura-blue)}.pd-history-dot--created{background: var(--aura-neutral)}.pd-history-event{display: flex;align-items: flex-start}.pd-history-event-content{display: flex;flex-direction: column;flex: 1 1 auto;gap: 2px;min-width: 0}.pd-history-event-title{color: var(--vanphu-text);font-size: 13.5px;font-weight: 600}.pd-history-event-detail{color: var(--vanphu-text-soft);font-size: 12px}.pd-history-event-meta{color: var(--vanphu-text-muted);font-size: 11.5px;white-space: nowrap}.pd-history-legend{gap: 8px;align-items: center}.pd-history-legend .pd-history-dot{width: 10px;height: 10px;margin: 0}.pd-history-legend-label{color: var(--vanphu-text-soft);font-size: 12.5px}.pd-kpi-row{gap: 14px;align-items: stretch}.pd-kpi-row:empty{display: none}.pd-kpi{box-sizing: border-box;flex: 1 1 180px;min-width: 160px;gap: 6px;padding: 16px 18px;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card);box-shadow: var(--vanphu-shadow-card)}.pd-kpi-label{color: var(--vanphu-text-muted);font-size: 12px;font-weight: 500}.pd-kpi-value{color: var(--vanphu-primary);font-size: 22px;font-weight: 700;letter-spacing: -0.02em}.pd-card-heading{gap: 12px;min-height: 30px}.pd-card-heading>.pd-card-title{flex: 1 1 auto;font-size: 18px;line-height: 36px;padding-bottom: 0}.pd-card-heading-note{flex: 0 1 auto;color: var(--vanphu-text-muted);font-size: 11.5px;text-align: right}.pd-card-actions{flex: 0 0 auto;margin-left: auto}.pd-card-toolbar{flex: 0 0 auto;width: auto;margin-left: auto;gap: 8px}.pd-card-toolbar vaadin-button{min-width: 36px;width: 36px;height: 36px;padding: 0;font-size: 0;border-radius: var(--vanphu-radius-field)}.pd-card-toolbar vaadin-button vaadin-icon{width: 17px;height: 17px;font-size: 17px}.pd-legal-table-card .pd-card-heading>.pd-card-title{flex: 0 0 auto;white-space: nowrap}.pd-legal-kpi{position: relative;overflow: hidden;min-height: 112px}.pd-legal-kpi .pd-kpi-value{color: var(--vanphu-text);font-size: 25px;line-height: 1}.pd-legal-kpi-unit{color: var(--vanphu-text-muted);font-size: 11px}.pd-legal-kpi-icon{display: inline-flex;align-items: center;justify-content: center;width: 34px;height: 34px;border-radius: 9px;color: var(--vanphu-primary);background: var(--vanphu-primary-soft)}.pd-legal-kpi-icon vaadin-icon{width: 18px;height: 18px}.pd-legal-kpi--valid .pd-legal-kpi-icon{color: var(--vanphu-success);background: color-mix(in srgb,var(--vanphu-success) 13%,transparent)}.pd-legal-kpi--expiring .pd-legal-kpi-icon,.pd-legal-kpi--missing .pd-legal-kpi-icon{color: var(--vanphu-primary-strong);background: var(--vanphu-primary-soft)}.pd-legal-overview-card,.pd-land-dossier-card,.pd-legal-table-card{gap: 12px}.pd-legal-overview-grid{align-items: stretch}.pd-legal-overview-grid>.pd-legal-info-panel{flex: 1 1 400px;min-width: 0;align-self: stretch;gap: 0;padding: 14px 16px;border: 1px solid var(--vanphu-divider);border-radius: var(--vanphu-radius-field);background: var(--vanphu-card-subtle)}.pd-legal-info-heading{gap: 8px;margin-bottom: 7px;color: var(--vanphu-text);font-size: 12.5px;font-weight: 700}.pd-legal-info-heading vaadin-icon{width: 15px;height: 15px;color: var(--vanphu-primary)}.pd-legal-info-panel>.pd-readonly-field{display: grid;flex: 0 0 auto;grid-template-columns: minmax(120px,0.8fr) minmax(0,1.2fr);gap: 12px;width: 100%;padding: 6px 0;border: 0}.pd-legal-info-panel>.pd-readonly-field .pd-readonly-label,.pd-legal-info-panel>.pd-readonly-field .pd-readonly-value{font-size: 12px;line-height: 1.4}.pd-dossier-flags-title{color: var(--vanphu-primary-strong);font-size: 12px;font-weight: 700}.pd-legal-flags-form{padding-bottom: 8px;border-bottom: 1px solid var(--vanphu-divider)}.pd-land-dossier-grid{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 8px}.pd-land-dossier-grid>.pd-readonly-section{box-sizing: border-box;min-width: 0;padding: 12px 14px;border: 1px solid var(--vanphu-divider);border-radius: var(--vanphu-radius-field)}.pd-land-dossier-grid>.pd-readonly-section:last-child{grid-column: 1 / -1}.pd-land-dossier-grid .pd-readonly-grid{grid-template-columns: 1fr}.pd-land-dossier-grid .pd-readonly-field{display: grid;grid-template-columns: minmax(110px,0.9fr) minmax(0,1.1fr);gap: 10px;padding: 5px 0;border: 0}.pd-land-dossier-grid .pd-readonly-label,.pd-land-dossier-grid .pd-readonly-value{font-size: 11.5px;line-height: 1.4}.pd-land-dossier-grid .pd-readonly-section-label{color: var(--vanphu-primary-strong)}.pd-legal-tables-row>.pd-legal-table-card{flex: 1 1 390px;min-width: 0}.pd-legal-table-card .pd-footer-note{margin-top: auto}.pd-legal-grid{font-size: 12px}.pd-legal-table-card .pd-table--required{grid-template-columns: minmax(128px,1.65fr) minmax(58px,0.55fr) minmax(82px,0.9fr) minmax(92px,1fr)}.pd-legal-table-card .pd-table-cell{padding: 11px 7px;font-size: 11.5px}@media (max-width: 1100px){.pd-legal-overview-grid>.pd-legal-info-panel,.pd-legal-tables-row>.pd-legal-table-card{flex: 1 1 360px}}@media (max-width: 860px){.pd-legal-overview-grid>.pd-legal-info-panel,.pd-legal-tables-row>.pd-legal-table-card{flex: 1 1 100%}.pd-land-dossier-grid{grid-template-columns: 1fr}.pd-land-dossier-grid>.pd-readonly-section:last-child{grid-column: auto}.pd-card-heading-note{display: none}}@media (max-width: 560px){.pd-legal-info-panel>.pd-readonly-field,.pd-land-dossier-grid .pd-readonly-field{grid-template-columns: 1fr;gap: 2px}}.pd-stat-row{gap: 12px;padding: 9px 0;border-bottom: 1px solid var(--vanphu-divider)}.pd-stat-row:last-of-type{border-bottom: 0}.pd-stat-label{color: var(--vanphu-text-soft);font-size: 13px}.pd-stat-value{color: var(--vanphu-text);font-size: 13.5px;font-weight: 600;text-align: end}.pd-big{box-sizing: border-box;gap: 2px;width: 100%;padding: 16px 18px;margin-bottom: 6px;background: var(--vanphu-primary-soft);border-radius: var(--vanphu-radius-field);text-align: center}.pd-big-value{color: var(--vanphu-primary-strong);font-size: 30px;font-weight: 700;letter-spacing: -0.02em}.pd-big-caption{color: var(--vanphu-text-soft);font-size: 12px}.attachment-upload-status{color: var(--vanphu-text-soft);font-size: 13px}@media (max-width: 1100px){.pd-row>*{flex: 1 1 100%}}.pd-legend-row>*{display: flex;flex-wrap: wrap;gap: 18px}.pd-header-icon{display: inline-flex;align-items: center;justify-content: center;width: 40px;height: 40px;border-radius: 10px;color: var(--vanphu-primary);background: var(--vanphu-primary-soft)}.pd-header-icon vaadin-icon{width: 22px;height: 22px}.pd-header-subtitle{padding-left: 52px;color: var(--vanphu-text-soft);font-size: 12.5px}.pd-header-reject{padding-left: 52px;margin-top: 2px;color: var(--vanphu-danger);font-size: 12.5px;font-weight: 600}.pd-header-actions{align-items: center;flex: 0 0 auto}.pd-detail-actions{display: flex;justify-content: flex-end;padding: 2px 0 6px}.pd-detail-actions__buttons{align-items: center}.pd-detail-actions__back{--vaadin-button-background: #ffffff;--vaadin-button-border-color: color-mix(in srgb,var(--vanphu-primary) 42%,transparent);--vaadin-button-text-color: var(--vanphu-primary-strong)}.pd-detail-actions__back:hover{--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-color: var(--vanphu-primary)}.pd-badge--operation{color: var(--vanphu-success);background: var(--vanphu-success-soft)}.pd-badge--cover{position: absolute;right: 6px;bottom: 26px;color: var(--vanphu-primary-strong);background: var(--vanphu-primary-soft);font-size: 10.5px}.pd-wrap-headers>vaadin-grid-cell-content{white-space: normal;overflow-wrap: break-word;line-height: 1.35}.pd-hero{margin-bottom: 0}#recordHero.pd-hero{flex: 0 0 auto;height: auto !important;min-height: 386px;overflow: visible}#recordHero.pd-hero:has(.pd-hero-form:not([hidden])){height: auto !important;overflow: visible}.pd-hero-main .pd-hero-form{flex: 0 0 auto}.pd-hero-row{gap: 26px;align-items: stretch;flex-wrap: wrap}.pd-hero-main{flex: 1 1 460px;min-width: 0}.pd-hero-main .pd-header-row{padding-bottom: 6px}.pd-hero-main .pd-hero-info,.pd-hero-main .pd-hero-form{width: 100%}.pd-hero-main .pd-hero-info{align-content: start}.pd-hero-sidebar{flex: 0 1 470px;align-self: stretch;min-width: 300px;max-width: 560px}.pd-hero-sidebar .pd-detail-actions{flex: 0 0 46px;min-height: 46px;padding: 0 0 8px}.pd-hero-sidebar .pd-hero-metrics{flex: 0 0 290px;max-width: none;min-height: 0;padding: 12px 14px}.pd-hero-sidebar .pd-hero-metric{padding: 0 14px 10px}.pd-hero-sidebar .pd-hero-metric:nth-child(n + 3){padding-top: 10px;padding-bottom: 0}.pd-hero-row .pd-cover{align-self: flex-start;width: 210px;height: 350px;min-height: 350px}.pd-hero-row .pd-cover-image{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover}.pd-hero-row .pd-cover-empty{display: flex;align-items: center;justify-content: center;height: 100%;min-height: 350px}.pd-hero-info{display: grid;grid-auto-flow: column;grid-template-rows: repeat(5,auto);grid-template-columns: repeat(2,minmax(0,1fr));gap: 18px 32px;flex: 1 1 360px;min-width: 0;align-content: center}.pd-hero-field{display: flex;gap: 10px;align-items: flex-start;min-width: 0}@media (min-width: 1750px){.pd-hero-row .pd-cover{width: 280px}.pd-hero-main{padding-left: 56px}.pd-hero-info{column-gap: 40px;flex: 0 0 auto}}@media (min-width: 1900px){.pd-hero-row .pd-cover{width: 320px}.pd-hero-main{padding-left: 88px}.pd-hero-info{column-gap: 48px}}@media (min-width: 1101px) and (max-width: 1749.98px){#recordHero.pd-hero{height: auto !important;min-height: 386px;overflow: visible}.pd-hero-row{gap: 20px}.pd-hero-row .pd-cover{width: 180px}.pd-hero-main{flex: 1 1 0%}.pd-hero-info{flex: 0 0 auto}.pd-hero-sidebar{flex: 0 0 430px;min-width: 0;max-width: 430px}.pd-header-name{font-size: 18px}}.pd-hero-icon{display: inline-flex;align-items: center;justify-content: center;flex: 0 0 auto;width: 22px;height: 22px;margin-top: 2px;border-radius: 6px;color: var(--vanphu-text-muted);background: var(--vanphu-divider)}.pd-hero-icon vaadin-icon{width: 13px;height: 13px}.pd-hero-field:nth-child(5n + 1) .pd-hero-icon{color: var(--vanphu-primary);background: var(--vanphu-primary-soft)}.pd-hero-field:nth-child(5n + 2) .pd-hero-icon{color: var(--vanphu-info);background: color-mix(in srgb,var(--vanphu-info) 14%,transparent)}.pd-hero-field:nth-child(5n + 3) .pd-hero-icon{color: var(--vanphu-success);background: var(--vanphu-success-soft)}.pd-hero-field:nth-child(5n + 4) .pd-hero-icon{color: var(--vanphu-warning);background: color-mix(in srgb,var(--vanphu-warning) 15%,transparent)}.pd-hero-field:nth-child(5n) .pd-hero-icon{color: var(--vanphu-primary-strong);background: color-mix(in srgb,var(--vanphu-primary) 13%,transparent)}.pd-hero-text{display: flex;flex-direction: column;gap: 3px;min-width: 0}.pd-hero-label{color: var(--vanphu-text-muted);font-size: 11.5px}.pd-hero-value{display: block;max-width: 100%;color: var(--vanphu-text);font-size: 13.5px;font-weight: 600;overflow-wrap: anywhere;white-space: normal}.pd-hero-metrics{display: grid;grid-template-columns: repeat(2,minmax(150px,1fr));gap: 0;box-sizing: border-box;flex: 0 1 470px;max-width: 560px;padding: 16px 18px;background: var(--vanphu-card-subtle);border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card)}.pd-hero-metric{display: flex;flex-direction: column;gap: 4px;min-width: 0;padding: 0 18px 14px}.pd-hero-metric:nth-child(odd){border-right: 1px solid var(--vanphu-divider)}.pd-hero-metric:nth-child(n + 3){padding-top: 14px;padding-bottom: 0;border-top: 1px solid var(--vanphu-divider)}.pd-hero-sidebar .pd-hero-metrics{gap: 10px;padding: 0;background: transparent;border: none}.pd-hero-sidebar .pd-hero-metric,.pd-hero-sidebar .pd-hero-metric:nth-child(odd),.pd-hero-sidebar .pd-hero-metric:nth-child(n + 3){position: relative;display: flex;justify-content: center;box-sizing: border-box;padding: 14px 48px 12px 14px;border: 1px solid var(--vanphu-card-border);border-radius: 10px;background: #ffffff}.pd-hero-metric-icon{position: absolute;top: 12px;right: 12px;display: inline-flex;align-items: center;justify-content: center;width: 32px;height: 32px;border-radius: 999px;z-index: 1;color: var(--vanphu-primary);background: var(--vanphu-primary-soft)}.pd-hero-metric-icon vaadin-icon,.pd-hero-metric-icon iron-icon{width: 16px;height: 16px}.pd-hero-sidebar .pd-hero-metric-label{font-size: 11.5px;text-transform: none}.pd-hero-sidebar .pd-hero-metric-value{color: var(--vanphu-primary-strong);font-size: 19px;letter-spacing: -0.025em}.pd-hero-metric-label{color: var(--vanphu-text-muted);font-size: 10.5px;font-weight: 600;letter-spacing: 0.04em;text-transform: uppercase}.pd-hero-metric-value{color: var(--vanphu-primary-strong);font-size: 17px;font-weight: 700;letter-spacing: -0.015em}.pd-minibar{overflow: hidden;width: 100%;height: 5px;border-radius: 999px;background: var(--vanphu-divider)}.pd-minibar-fill{height: 100%;border-radius: 999px;background: var(--vanphu-primary)}.pd-image-strip{display: flex;gap: 12px;overflow-x: auto;padding-bottom: 6px}.pd-image-item{position: relative;display: flex;flex: 0 0 auto;flex-direction: column;gap: 6px;width: 132px}.pd-image-thumb{width: 132px;height: 88px;border-radius: 8px;cursor: pointer;object-fit: cover}.pd-image-caption{display: block;max-width: 100%;overflow: hidden;color: var(--vanphu-text-soft);font-size: 11.5px;text-overflow: ellipsis;white-space: nowrap}.pd-table{display: grid;width: 100%;margin-top: 4px}.pd-table--product{grid-template-columns: minmax(90px,1.5fr) minmax(52px,0.7fr) minmax(78px,1fr) minmax(88px,1.1fr)}.pd-table--required{grid-template-columns: minmax(140px,2fr) minmax(64px,0.6fr) minmax(96px,1.1fr) minmax(104px,1fr)}.pd-table--floor{grid-template-columns: minmax(92px,1fr) minmax(68px,1fr) minmax(68px,1fr) minmax(54px,0.8fr) minmax(92px,1.2fr)}.pd-table--documents{grid-template-columns: minmax(200px,2.2fr) minmax(140px,1.1fr) minmax(150px,1.2fr) minmax(150px,1.25fr) minmax(140px,1fr) 84px}.pd-table--documents .pd-table-cell--num{padding-right: 56px}.pd-table-cell{display: block;overflow: hidden;padding: 13px 10px;border-bottom: 1px solid var(--vanphu-divider);color: var(--vanphu-text);font-size: 12.5px;text-overflow: ellipsis;white-space: nowrap}vaadin-grid-cell-content .pd-table-cell{border-bottom: none}.pd-table-cell--head{background: var(--vanphu-card-subtle);color: var(--vanphu-text-muted);font-size: 11.5px;font-weight: 600}.pd-table-cell--num{text-align: right}.pd-table-cell--total{border-top: 1px solid var(--vanphu-card-border);border-bottom: none;background: var(--vanphu-card-subtle);font-weight: 700}.pd-table-cell--bar{display: flex;align-items: center;gap: 8px}.pd-table-cell--status{display: flex;align-items: center;overflow: visible}.pd-table-status{display: inline-block;overflow: hidden;max-width: 100%;padding: 4px 8px;border-radius: 999px;font-size: 11px;font-weight: 650;line-height: 1.25;text-overflow: ellipsis;white-space: nowrap}.pd-table-status--success{color: var(--vanphu-success);background: var(--vanphu-success-soft)}.pd-table-status--warning{color: #9a6700;background: color-mix(in srgb,var(--vanphu-warning) 15%,transparent)}.pd-table-status--muted{color: var(--vanphu-text-soft);background: var(--vanphu-card-subtle);border: 1px solid var(--vanphu-divider)}.pd-table-percent{flex: 0 0 auto;min-width: 42px;color: var(--vanphu-success);font-size: 12.5px;font-weight: 600;text-align: right}.pd-summary-empty{padding: 14px 2px;color: var(--vanphu-text-muted);font-size: 12.5px}.pd-card-link{align-self: flex-start;margin-top: 6px;padding: 0;color: var(--vanphu-primary-strong);font-size: 12.5px;font-weight: 600}.pd-footer-note{padding: 10px 4px 2px;color: var(--vanphu-text-muted);font-size: 12px}.pd-documents-card{min-width: 0}.pd-table-cell--file{display: flex;align-items: center;gap: 10px;min-width: 0}.pd-table-cell--rowlink{cursor: pointer}.pd-file-badge{flex: 0 0 auto;display: inline-flex;align-items: center;justify-content: center;width: 38px;padding: 4px 0;border-radius: 5px;color: #fff;font-size: 9.5px;font-weight: 700;letter-spacing: 0.04em;line-height: 1.1}.pd-file-badge--pdf{background: #b3382f}.pd-file-badge--sheet{background: #1f7a54}.pd-file-badge--doc{background: #2c5aa8}.pd-file-badge--draw{background: #7a4bb8}.pd-file-badge--archive{background: #8a6d3b}.pd-file-badge--other{background: var(--vanphu-text-soft)}.pd-file-name{overflow: hidden;min-width: 0;font-weight: 500;text-overflow: ellipsis;white-space: nowrap}.pd-table-cell--fileactions{display: flex;align-items: center;justify-content: flex-end;gap: 4px;overflow: visible;padding-right: 2px}.pd-table-cell--documents-empty{grid-column: 1 / -1;padding-block: 22px;color: var(--vanphu-text-muted);text-align: center;white-space: normal}.pd-file-action{display: inline-flex;align-items: center;justify-content: center;width: 30px;height: 30px;min-width: 30px;margin: 0;padding: 0;border-radius: 6px;color: var(--vanphu-primary-strong);cursor: pointer}.pd-file-action:hover{background: var(--vanphu-primary-soft)}.pd-file-action vaadin-icon,.pd-file-action iron-icon{width: 15px;height: 15px}.pd-file-action--danger{color: var(--vanphu-danger,#b3382f)}.pd-file-count{padding: 10px 2px 2px;color: var(--vanphu-text-muted);font-size: 12px}@media (max-width: 900px){.pd-documents-card .pd-table--documents{min-width: 720px}.pd-documents-card{overflow-x: auto}}@media (max-width: 640px){.pd-detail-card--info .pd-readonly-grid{grid-template-columns: 1fr}}.pd-hero-form{flex: 1 1 400px;min-width: 0;align-self: center}.pd-image-item--editable .pd-image-thumb{cursor: pointer}.pd-image-cover-mark{position: absolute;top: 6px;left: 6px;display: inline-flex;align-items: center;justify-content: center;width: 20px;height: 20px;border-radius: 999px;color: #ffffff;background: var(--vanphu-primary)}.pd-image-cover-mark vaadin-icon{width: 11px;height: 11px}.pd-image-remove{position: absolute;top: 4px;right: 4px;min-width: 22px;width: 22px;height: 22px;padding: 0;margin: 0;border-radius: 6px;color: var(--vanphu-text-soft);background: rgba(255,255,255,0.92);box-shadow: 0 1px 3px rgba(30,30,30,0.2);cursor: pointer}.pd-image-remove:hover{color: var(--vanphu-danger)}.pd-dropzone{display: flex;flex-direction: column;align-items: center;gap: 6px;box-sizing: border-box;width: 100%;margin-top: 12px;padding: 16px;border: 1px dashed var(--vanphu-card-border);border-radius: 10px}.pd-dropzone-row{display: flex;align-items: center;gap: 10px}.pd-dropzone-label{color: var(--vanphu-text-soft);font-size: 12.5px}.pd-dropzone-hint{color: var(--vanphu-text-muted);font-size: 11.5px}.pd-layers{margin-top: 2px}.pd-layers vaadin-tab{font-size: 13px;padding: 6px 14px}.pd-layer{gap: 14px;display: flex;flex-direction: column}.pd-table-total{padding: 8px 2px 2px;font-size: 12.5px;font-weight: 600;color: var(--vanphu-text-muted)}.pd-filter-bar{gap: 10px;align-items: flex-end;padding: 4px 0 10px}.pd-filter-bar vaadin-combo-box{width: 190px;min-width: 150px}#productFilterBar{flex-wrap: nowrap;align-items: center}#productButtonsPanel{order: 1;flex: 0 0 auto;width: auto;align-items: center;margin: 0 0 0 auto}#productFilterBar>vaadin-text-field{flex: 1 1 0;min-width: 260px}#productFloorFilter{flex: 0 0 160px}#productCategoryFilter{flex: 0 0 185px}#productStatusFilter{flex: 0 0 200px}#legalDocumentFilterBar{flex-wrap: nowrap;align-items: center}#legalDocumentFilterBar>vaadin-text-field{flex: 1 1 0;min-width: 360px}#legalDocumentTypeFilter,#legalDocumentStatusFilter{flex: 0 0 190px}#applyLegalDocumentFilterButton{flex: 0 0 auto}#legalDocumentFilterBar #legalButtonsPanel{flex: 0 0 auto;width: auto;margin-left: 0}@media (max-width: 1240px){#productFilterBar{flex-wrap: wrap}#productFilterBar>vaadin-text-field{flex: 1 1 360px}#productFloorFilter,#productCategoryFilter,#productStatusFilter{flex: 1 1 180px}#legalDocumentFilterBar{flex-wrap: wrap}#legalDocumentFilterBar>vaadin-text-field,#legalDocumentTypeFilter,#legalDocumentStatusFilter{flex: 1 1 180px}}.pd-structure-tree{border: 0;font-size: 13px}.pd-structure-node{display: flex;align-items: center;gap: 8px;min-width: 0}.pd-structure-label{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.pd-structure-count{margin-left: auto;padding: 0 7px;border-radius: 999px;background: var(--vanphu-divider);color: var(--vanphu-text-soft);font-size: 11px;font-weight: 600}.pd-structure-dot{width: 8px;height: 8px;border-radius: 50%;flex: none}.pd-structure-dot--occupied{background: var(--vanphu-success)}.pd-structure-dot--reserved{background: #d0a02a}.pd-structure-dot--expiring{background: #d0a02a}.pd-structure-dot--scheduled{background: var(--vanphu-info)}.pd-structure-dot--vacant{background: var(--vanphu-text-muted);opacity: 0.5}.pd-legend{gap: 6px 14px;align-items: center;padding-top: 4px;font-size: 11.5px;color: var(--vanphu-text-soft)}.pd-legend-item{display: inline-flex;align-items: center;gap: 6px}.pd-cell-stack{display: flex;flex-direction: column;gap: 1px;min-width: 0}.pd-cell-title{font-weight: 500;color: var(--vanphu-text);overflow: hidden;text-overflow: ellipsis}.pd-cell-subtitle{font-size: 0.78rem;color: var(--vanphu-text-muted);overflow: hidden;text-overflow: ellipsis}.pd-lease-contract-card{gap: 0;padding: 0;overflow: hidden}.pd-lease-card-header{box-sizing: border-box;justify-content: space-between;gap: 24px;padding: 16px 18px 14px;border-bottom: 1px solid var(--vanphu-divider)}.pd-lease-card-heading{min-width: 0;flex: 1 1 auto;gap: 3px}.pd-lease-card-heading .pd-card-title,.pd-lease-card-heading .pd-card-hint{margin: 0}.pd-lease-toolbar{flex: 0 0 auto;gap: 10px;align-items: center}.pd-lease-toolbar-label{flex: 0 0 auto;color: var(--vanphu-text-soft);font-size: 12.5px;white-space: nowrap}.pd-lease-toolbar vaadin-date-picker{width: 170px}.pd-lease-toolbar vaadin-button{min-height: 38px;margin-bottom: 1px}.pd-doctree{--pd-doctree-columns: 36px minmax(260px,1.65fr) minmax(170px,0.8fr) minmax(170px,0.75fr) minmax(170px,0.78fr);width: 100%}.pd-doctree-group{display: block;padding: 11px 18px 8px;font-size: 0.72rem;font-weight: 750;letter-spacing: 0.065em;text-transform: uppercase;color: var(--vanphu-primary-strong);background: color-mix(in srgb,var(--vanphu-primary-soft) 58%,#ffffff)}.pd-doctree-columns,.pd-doctree-row{box-sizing: border-box;display: grid;grid-template-columns: var(--pd-doctree-columns);column-gap: 16px;width: 100%}.pd-doctree-columns{align-items: center;min-height: 34px;padding: 7px 18px;color: var(--vanphu-text-muted);background: var(--vanphu-card-subtle);border-top: 1px solid var(--vanphu-divider);border-bottom: 1px solid var(--vanphu-divider);font-size: 0.68rem;font-weight: 700;letter-spacing: 0.045em;text-transform: uppercase}.pd-doctree-columns>:nth-child(3),.pd-doctree-columns>:nth-child(4),.pd-doctree-columns>:nth-child(5){text-align: center}.pd-doctree-contract,.pd-doctree-children{display: block;width: 100%}.pd-doctree-row{position: relative;align-items: center;min-height: 66px;padding: 10px 18px;background: var(--vanphu-card-background);border-bottom: 1px solid var(--vanphu-divider);cursor: pointer;transition: background 140ms ease,box-shadow 140ms ease}.pd-doctree-row:hover,.pd-doctree-row:focus-visible{outline: none;background: var(--vanphu-card-subtle);box-shadow: inset 3px 0 0 color-mix(in srgb,var(--vanphu-primary) 45%,transparent)}.pd-doctree-row--parent{min-height: 72px;background: color-mix(in srgb,var(--vanphu-primary-soft) 42%,#ffffff);box-shadow: inset 3px 0 0 var(--vanphu-primary)}.pd-doctree-row--child{min-height: 64px;padding-left: 38px}.pd-doctree-row--child::before{content: "";position: absolute;left: 25px;top: 0;bottom: 0;width: 1px;background: color-mix(in srgb,var(--vanphu-primary) 25%,var(--vanphu-divider))}.pd-doctree-row--child::after{content: "";position: absolute;left: 25px;top: 50%;width: 12px;height: 1px;background: color-mix(in srgb,var(--vanphu-primary) 25%,var(--vanphu-divider))}.pd-doctree-toggle{width: 30px;min-width: 30px;height: 30px;padding: 0;color: var(--vanphu-primary-strong);border-radius: 50%;--vaadin-button-background: color-mix(in srgb,var(--vanphu-primary-soft) 78%,#ffffff)}.pd-doctree-toggle:hover{--vaadin-button-background: var(--vanphu-primary-soft)}.pd-doctree-icon{text-align: center;color: var(--vanphu-primary);font-size: 0.9rem}.pd-doctree-row--child .pd-doctree-icon{color: var(--vanphu-text-muted);font-size: 0.72rem}.pd-doctree-text{display: flex;flex-direction: column;min-width: 0;gap: 3px}.pd-doctree-code-line{display: flex;align-items: center;flex-wrap: wrap;gap: 7px;min-width: 0}.pd-doctree-code{font-weight: 700;font-size: 0.86rem;font-family: ui-monospace,Consolas,monospace;color: var(--vanphu-text)}.pd-doctree-child-count{display: inline-flex;padding: 2px 7px;border-radius: 999px;color: var(--vanphu-primary-strong);background: var(--vanphu-primary-soft);font-family: "Inter","Segoe UI",Arial,sans-serif;font-size: 0.68rem;font-weight: 650}.pd-doctree-title{display: block;max-width: 100%;font-size: 0.79rem;line-height: 1.35;color: var(--vanphu-text-muted);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.pd-doctree-when,.pd-doctree-amount{min-width: 0;font-size: 0.8rem;line-height: 1.4;color: var(--vanphu-text-muted);white-space: normal;font-variant-numeric: tabular-nums}.pd-doctree-amount{justify-self: center;text-align: center;font-size: 0.84rem;font-weight: 700;color: var(--vanphu-text)}.pd-doctree-row>.pd-badge{justify-self: end;text-align: center}.pd-doctree-notes{gap: 3px;padding: 10px 18px 12px;background: var(--vanphu-card-subtle)}.pd-doctree-notes .pd-footer-note{padding: 0;border: 0;font-size: 0.72rem;line-height: 1.45}@media (max-width: 1100px){.pd-doctree{--pd-doctree-columns: 34px minmax(220px,1.4fr) minmax(145px,0.8fr) minmax(145px,0.72fr) minmax(150px,0.75fr)}}@media (max-width: 900px){.pd-lease-card-header{align-items: stretch;flex-direction: column;gap: 12px}.pd-lease-toolbar{justify-content: flex-end}.pd-doctree-columns{display: none}.pd-doctree-row{grid-template-columns: 34px minmax(0,1fr) auto;row-gap: 6px}.pd-doctree-when,.pd-doctree-amount{grid-column: 2;justify-self: start;text-align: left}.pd-doctree-row>.pd-badge{grid-column: 3;grid-row: 1 / span 3}}.pd-history-deal{display: flex;flex-direction: column;gap: 1px;padding: 10px 0 6px;margin-top: 6px;border-top: 1px solid var(--vanphu-divider)}.pd-history-dot--reserved{background: var(--vanphu-info)}.pd-history-dot--scheduled{background: var(--vanphu-warning)}.pd-history-dot--closing{background: var(--vanphu-danger)}.pd-doctree-row--current{background: var(--vanphu-primary-soft);box-shadow: inset 3px 0 0 var(--vanphu-primary)}.pd-doctree-row>.pd-doctree-when{justify-self: center;text-align: center}.pd-doctree-row>.pd-badge{justify-self: center}.pd-zone-summary{gap: 10px;margin: 4px 0 12px}.pd-zone-summary__item{flex: 1 1 190px;padding: 10px 14px;border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-field);background: var(--vanphu-card-subtle);border-left: 3px solid var(--vanphu-divider)}.pd-zone-summary__item--ok{border-left-color: var(--vanphu-success);background: var(--vanphu-success-soft)}.pd-zone-summary__item--warn{border-left-color: var(--vanphu-warning);background: var(--vanphu-warning-soft)}.pd-zone-summary__label{display: block;font-size: 0.75rem;color: var(--vanphu-text-muted);text-transform: uppercase;letter-spacing: 0.03em}.pd-zone-summary__value{display: block;margin-top: 2px;font-weight: 600;color: var(--vanphu-text)}.pd-hero-metric-hint{display: block;margin-top: 2px;font-size: 0.75rem;line-height: 1.3;color: var(--vanphu-text-muted)}.zone-bulk-dialog__body{gap: 24px;align-items: stretch}.zone-bulk-dialog__form{flex: 1 1 0;min-width: 18em}.zone-bulk-dialog__preview-card{flex: 0 1 17rem;min-width: 17rem;padding: 20px 16px;border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card);background: var(--vanphu-card-subtle)}.zone-bulk-dialog__preview-title{display: block;margin-bottom: 6px;font-size: 0.75rem;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--vanphu-primary)}.zone-bulk-dialog__preview-row{display: flex;align-items: flex-start;gap: 10px;padding: 10px 0;border-top: 1px solid var(--vanphu-divider)}.zone-bulk-dialog__preview-icon{display: inline-flex;flex: 0 0 auto;margin-top: 2px;color: var(--vanphu-text-muted)}.zone-bulk-dialog__preview-icon vaadin-icon{width: 16px;height: 16px}.zone-bulk-dialog__preview-text{min-width: 0}.zone-bulk-dialog__preview-label{display: block;font-size: 0.8125rem;color: var(--vanphu-text-muted)}.zone-bulk-dialog__preview-value{display: block;margin-top: 1px;font-weight: 600;overflow-wrap: anywhere;color: var(--vanphu-text)}.zone-bulk-dialog__preview-row--total{margin-top: 6px;padding: 12px;border-top: 0;border-radius: var(--vanphu-radius-field);background: var(--vanphu-primary-soft)}.zone-bulk-dialog__preview-row--total .zone-bulk-dialog__preview-value{font-size: 1.125rem;color: var(--vanphu-primary-strong)}.zone-bulk-dialog__preview-message{display: block;padding: 12px 0;font-size: 0.875rem;line-height: 1.45;color: var(--vanphu-text-muted)}.zone-bulk-dialog__preview-message--error{color: var(--vanphu-danger);font-weight: 600}.zone-bulk-dialog__note{gap: 8px;margin-top: 14px;padding: 10px 12px;border-radius: var(--vanphu-radius-field);background: var(--vanphu-primary-soft);font-size: 0.8125rem;line-height: 1.4;color: var(--vanphu-text-soft)}.zone-bulk-dialog__note-icon{flex: 0 0 auto;width: 16px;height: 16px;color: var(--vanphu-primary)}.zone-bulk-dialog__actions{margin-top: 12px;padding-top: 12px;border-top: 1px solid var(--vanphu-divider)}vaadin-dialog:has(.zone-bulk-dialog)::part(header){display: none}.zone-bulk-dialog__header{gap: 14px;margin-top: 0;margin-bottom: 18px}.zone-bulk-dialog__header-icon{display: inline-flex;align-items: center;justify-content: center;flex: 0 0 auto;width: 56px;height: 56px;border-radius: 12px;background: var(--vanphu-primary-soft);color: var(--vanphu-primary)}.zone-bulk-dialog__header-icon vaadin-icon{width: 26px;height: 26px}.zone-bulk-dialog__header-title{margin: 0 0 4px;font-size: 1.75rem;font-weight: 700;line-height: 1.2;color: var(--vanphu-text)}.zone-bulk-dialog__header-subtitle{display: block;font-size: 1rem;line-height: 1.45;color: var(--vanphu-text-muted)}.zone-bulk-dialog__header-close{box-sizing: border-box;flex: 0 0 auto;width: 34px;min-width: 34px;height: 34px;min-height: 34px;margin-left: auto;padding: 0;border-radius: 10px;color: var(--vanphu-text-soft);--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-shadow: none;--vaadin-button-padding: 0}.zone-bulk-dialog__header-close:hover{color: var(--vanphu-primary-strong);--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-primary)}.zone-bulk-dialog vaadin-form-layout{--vaadin-form-layout-column-spacing: 18px;--vaadin-form-layout-row-spacing: 12px}.zone-bulk-dialog :is(vaadin-text-field,vaadin-combo-box,vaadin-number-field,vaadin-integer-field,vaadin-big-decimal-field,jmix-combo-box-picker,jmix-big-decimal-field,jmix-integer-field)::part(input-field){min-height: 52px}.zone-detail{gap: 0}.zone-detail__subtitle{color: var(--vanphu-text-muted);font-size: 0.875rem;line-height: 1.45}.zone-detail__section{margin-top: 8px;padding-bottom: 8px}.zone-detail vaadin-form-layout{--vaadin-form-layout-column-spacing: 28px;--vaadin-form-layout-row-spacing: 12px}.zone-detail :is(vaadin-text-field,vaadin-combo-box,vaadin-number-field,vaadin-integer-field,vaadin-big-decimal-field,jmix-combo-box-picker,jmix-entity-picker,jmix-big-decimal-field,jmix-integer-field)::part(input-field){min-height: 48px;height: 48px}.zone-detail vaadin-text-area::part(input-field){min-height: 48px}.zone-detail__section-title{display: block;width: 100%;box-sizing: border-box;padding-bottom: 4px;margin-bottom: 8px;font-size: 0.75rem;font-weight: 700;letter-spacing: 0.06em;color: var(--vanphu-primary)}.zone-detail__unit{padding-right: 2px;color: var(--vanphu-text-muted);font-size: 0.875rem}.zone-detail__actions{margin-top: 12px;padding-top: 12px;border-top: 1px solid var(--vanphu-divider)}.zone-detail__primary-actions{margin-left: auto}vaadin-dialog:has(.zone-detail)::part(header){display: none}.zone-detail__header{align-items: center;margin-top: 0;margin-bottom: 0}.zone-detail__header-text{min-width: 0}.zone-detail__header-title{margin: 0 0 4px;font-size: 1.375rem;font-weight: 700;line-height: 1.2;color: var(--vanphu-text)}.zone-detail__header-close{box-sizing: border-box;flex: 0 0 auto;width: 34px;min-width: 34px;height: 34px;min-height: 34px;margin-left: auto;padding: 0;border-radius: 10px;color: var(--vanphu-text-soft);--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-shadow: none;--vaadin-button-padding: 0}.zone-detail__header-close:hover{color: var(--vanphu-primary-strong);--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-primary)}.zone-detail__keep-adding{margin-right: 4px}.zone-detail__clear{padding-left: 16px;border-left: 1px solid var(--vanphu-divider);border-radius: 0}.zone-detail__header-icon{display: inline-flex;align-items: center;justify-content: center;flex: 0 0 auto;width: 56px;height: 56px;margin-right: 14px;border-radius: 12px;background: var(--vanphu-primary-soft);color: var(--vanphu-primary)}.zone-detail__header-icon vaadin-icon{width: 26px;height: 26px}.zone-detail__read{margin-top: 6px}.zone-detail .zone-detail__read-close{height: 40px;min-height: 40px;padding: 0 18px;border-radius: var(--vanphu-radius-field);color: var(--vanphu-text-soft);font-weight: 600;--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft);--vaadin-button-shadow: none}.zone-detail .zone-detail__read-close:hover{color: var(--vanphu-primary-strong);--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: var(--vanphu-primary-strong)}vaadin-dialog:has(.zone-detail__read:not([hidden]))::part(overlay){width: 46rem;max-width: calc(100vw - 3.5rem)}.ps-dialog{gap: 12px}.ps-title-row{align-items: baseline;flex-wrap: wrap;gap: 10px}.ps-code{color: var(--vanphu-primary-strong);font-family: monospace;font-size: 16px;font-weight: 700}.ps-name{color: var(--vanphu-text);font-size: 16px;font-weight: 600}.ps-row{gap: 18px;align-items: flex-start;padding-top: 12px}.ps-cover-col{flex: 0 0 208px;min-width: 0}.ps-facts-col{display: flex;flex: 1 1 320px;flex-wrap: wrap;gap: 0 24px;min-width: 0}.ps-fact-col{flex: 1 1 220px;min-width: 0}.ps-cover-image{display: block;width: 100%;aspect-ratio: 4 / 3;object-fit: cover;border: 1px solid var(--vanphu-card-border);border-radius: 9px}.ps-fact{display: grid;grid-template-columns: 128px minmax(0,1fr);gap: 12px;padding: 7px 0;border-bottom: 1px solid var(--vanphu-divider)}.ps-fact:last-child{border-bottom: 0}.ps-fact-label{color: var(--vanphu-text-muted);font-size: 12px}.ps-fact-value{color: var(--vanphu-text);font-size: 13.5px;font-weight: 500;overflow-wrap: anywhere}.ps-pane{gap: 10px;padding-top: 12px}.ps-table{display: grid;grid-template-columns: repeat(5,minmax(0,1fr));border: 1px solid var(--vanphu-card-border);border-radius: 9px;overflow: hidden}.ps-table-cell{padding: 8px 12px;border-bottom: 1px solid var(--vanphu-divider);color: var(--vanphu-text);font-size: 13px;overflow-wrap: anywhere}.ps-table-head{background: var(--vanphu-card-subtle);color: var(--vanphu-text-muted);font-size: 11px;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase}.ps-strip{display: grid;grid-template-columns: repeat(auto-fill,minmax(150px,1fr));gap: 10px}.ps-strip-image{display: block;width: 100%;aspect-ratio: 4 / 3;object-fit: cover;border: 1px solid var(--vanphu-card-border);border-radius: 7px}.ps-note{color: var(--vanphu-text);font-size: 13.5px;line-height: 1.6;white-space: pre-wrap}.ps-empty{padding: 18px 0;color: var(--vanphu-text-muted);font-size: 13px}.ps-footer{gap: 8px;justify-content: flex-end;padding-top: 4px}.vp-attachment-root,.vp-attachment-section{gap: 8px;min-width: 0}.vp-attachment-section:not([hidden]) + .vp-attachment-section{margin-top: 18px}.vp-attachment-section-header{min-height: 32px;gap: 12px}.vp-attachment-section-header:not(:has(>:not([hidden]))){display: none}.vp-attachment-section-title{margin: 0;color: var(--vanphu-text);font-size: 14px;font-weight: 700}.vp-attachment-section-header .buttons-panel{display: flex;width: auto !important;gap: 6px;margin-left: auto !important;justify-content: flex-end;align-self: flex-end}.vp-attachment-documents-grid{min-height: 0}.vp-gallery{box-sizing: border-box;flex-wrap: wrap;gap: 12px;width: 100%;padding: 4px 0 8px}.vp-gallery-empty{display: inline-flex;align-items: center;justify-content: center;gap: 7px;color: var(--vanphu-text-muted);font-size: 13px;line-height: 1.5;padding: 10px 0}.vp-gallery-empty vaadin-icon{width: 16px;height: 16px;color: var(--vanphu-primary);opacity: 0.75}.vp-image-empty-state{box-sizing: border-box;display: flex;flex: 1 1 100%;flex-direction: column;align-items: center;justify-content: center;min-height: 132px;gap: 8px;padding: 14px;border: 1px dashed var(--vanphu-card-border);border-radius: var(--vanphu-radius-field);background: var(--vanphu-card-subtle);text-align: center}.vp-image-empty-state .vp-gallery-empty{padding: 0}.vp-image-empty-upload{width: 40px;min-width: 40px;height: 40px;min-height: 40px !important;padding: 0}.vp-documents-empty-state{min-height: 72px}.vp-tile{position: relative;box-sizing: border-box;flex: 0 0 auto;width: 112px;height: 112px;overflow: hidden;background: var(--vanphu-card-subtle);border: 1px solid var(--vanphu-divider);border-radius: var(--vanphu-radius-card);transition: border-color 140ms ease,box-shadow 140ms ease}.vp-tile:hover{border-color: var(--vanphu-primary);box-shadow: var(--vanphu-shadow-card)}.vp-tile-image{display: block;width: 100%;height: 100%;object-fit: cover;cursor: zoom-in}.vp-tile-badge{position: absolute;top: 6px;left: 6px;display: flex;align-items: center;justify-content: center;width: 22px;height: 22px;border-radius: 50%;background: var(--vanphu-primary);color: #ffffff;box-shadow: var(--vanphu-shadow-card);pointer-events: none}.vp-tile-badge vaadin-icon{width: 12px;height: 12px}.vp-tile-overlay{position: absolute;right: 0;bottom: 0;left: 0;display: flex;gap: 0;align-items: center;justify-content: flex-end;padding: 2px;background: linear-gradient(180deg,transparent 0%,var(--vanphu-overlay) 100%);opacity: 0;transition: opacity 140ms ease}.vp-tile:hover .vp-tile-overlay,.vp-tile:focus-within .vp-tile-overlay{opacity: 1}.vp-tile-action{box-sizing: border-box;width: 26px;min-width: 26px;height: 26px;min-height: 26px !important;margin: 0;padding: 0;color: var(--vanphu-sidebar-label);background: transparent;--vaadin-button-padding: 0}.vp-tile-action vaadin-icon{width: 14px;height: 14px}.vp-tile-action:hover{color: #ffffff}vaadin-dialog:has(.vp-upload-dialog){--aura-accent-color-light: var(--vanphu-primary);--aura-accent-color-dark: var(--vanphu-orange-bright);--aura-accent-color: var(--vanphu-primary);--aura-accent-surface: var(--vanphu-primary-soft);--aura-accent-text-color: var(--vanphu-primary-strong);--aura-accent-border-color: var(--vanphu-primary);--aura-accent-contrast-color: #ffffff;--vaadin-focus-ring-color: var(--vanphu-primary)}vaadin-dialog:has(.vp-upload-dialog) [slot="title"]{display: none}vaadin-dialog:has(.vp-upload-dialog)::part(header){padding: 12px 24px 0}vaadin-dialog:has(.vp-upload-dialog)::part(content){padding: 0}vaadin-dialog:has(.vp-upload-dialog) [slot="header-content"] vaadin-button{box-sizing: border-box;width: 34px;height: 34px;min-width: 34px;border-radius: 10px;color: var(--vanphu-text-soft);--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-shadow: none}vaadin-dialog:has(.vp-upload-dialog) [slot="header-content"] vaadin-button:hover{color: var(--vanphu-primary-strong);--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-primary)}vaadin-dialog:has(.vp-upload-dialog) :is(vaadin-combo-box,jmix-combo-box-picker,jmix-entity-picker)::part(toggle-button){color: var(--vanphu-primary-strong)}.vp-upload-dialog{box-sizing: border-box;padding: 20px 28px 24px}.vp-upload-header{gap: 14px;padding-bottom: 20px}.vp-upload-header-icon{box-sizing: border-box;width: 38px;height: 38px;padding: 9px;flex: 0 0 auto;background: var(--vanphu-primary-soft);border-radius: 12px;color: var(--vanphu-primary-strong)}.vp-upload-heading{gap: 2px}.vp-upload-title{margin: 0;color: var(--vanphu-text);font-size: 17px;font-weight: 700;line-height: 1.25}.vp-upload-category{padding-top: 0}.vp-upload-category::part(label){font-size: 13px;font-weight: 600;color: var(--vanphu-text)}.vp-upload-category::part(helper-text){color: var(--vanphu-text-soft);font-size: 12.5px;line-height: 1.5}.vp-upload-slot{padding-top: 4px}.vp-upload-dropzone{box-sizing: border-box;min-height: 184px;padding: 26px 20px;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 10px;background: var(--vanphu-card-subtle);border: 2px dashed var(--vanphu-card-border);border-radius: 14px}.vp-upload-dropzone::part(primary-buttons){flex-direction: column-reverse;align-items: center;justify-content: center;gap: 12px;width: 100%}.vp-upload-dropzone::part(drop-label){flex-direction: column;align-items: center;gap: 10px;margin: 0;padding: 0}.vp-upload-dropzone[dragover]{background: var(--vanphu-primary-soft);border-color: var(--vanphu-primary)}.vp-upload-dropzone[disabled]{opacity: 0.7}.vp-upload-dropzone-icon{width: 46px;height: 46px;color: var(--vanphu-primary)}.vp-upload-dropzone-label{display: flex;flex-direction: column;align-items: center;gap: 6px;text-align: center}.vp-upload-dropzone-title{color: var(--vanphu-text);font-size: 15px;font-weight: 600}.vp-upload-dropzone-hint{color: var(--vanphu-text-muted);font-size: 12.5px}.vp-upload-choose{min-height: 36px;padding: 0 18px;border-radius: var(--vanphu-radius-field);--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff;--vaadin-button-font-weight: var(--aura-font-weight-semibold);--vaadin-button-shadow: none;--vaadin-button-gap: 8px}.vp-upload-choose:hover{--vaadin-button-background: var(--vanphu-orange-bright);--vaadin-button-border-color: var(--vanphu-orange-bright)}.vp-upload-choose:active{--vaadin-button-background: var(--vanphu-primary-strong);--vaadin-button-border-color: var(--vanphu-primary-strong)}.vp-upload-statusbar{gap: 12px;margin-top: 16px;padding: 12px 14px;background: var(--vanphu-card-subtle);border: 1px solid var(--vanphu-divider);border-radius: 12px}.vp-upload-status-icon{box-sizing: border-box;width: 30px;height: 30px;padding: 7px;flex: 0 0 auto;background: var(--vanphu-primary-soft);border-radius: 10px;color: var(--vanphu-primary-strong)}.vp-upload-status-text{flex: 1 1 auto;gap: 2px;min-width: 0}.vp-upload-status-count{color: var(--vanphu-text);font-size: 14px;font-weight: 600}.vp-upload-status-hint{color: var(--vanphu-text-muted);font-size: 12.5px}.vp-upload-status-error{color: var(--vanphu-danger);font-weight: 600}.vp-upload-clear{flex: 0 0 auto;min-height: 32px;padding: 0 12px;border-radius: var(--vanphu-radius-field);--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft);--vaadin-button-shadow: none;--vaadin-button-gap: 6px}.vp-upload-clear:hover{--vaadin-button-border-color: var(--vanphu-danger);--vaadin-button-text-color: var(--vanphu-danger)}.vp-upload-actions{gap: 10px;justify-content: flex-end;margin-top: 20px;padding-top: 18px;border-top: 1px solid var(--vanphu-divider)}.vp-upload-actions vaadin-button{min-width: 96px;min-height: 38px;border-radius: var(--vanphu-radius-field);--vaadin-button-font-weight: var(--aura-font-weight-semibold);--vaadin-button-shadow: none;--vaadin-button-gap: 8px}.vp-upload-dialog vaadin-button::part(label){display: inline-flex}.vp-upload-cancel{--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft)}.vp-upload-cancel vaadin-icon{display: none}.vp-upload-cancel:hover{--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-text-muted);--vaadin-button-text-color: var(--vanphu-text)}.vp-upload-finish{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.vp-upload-finish:hover{--vaadin-button-background: var(--vanphu-orange-bright);--vaadin-button-border-color: var(--vanphu-orange-bright)}.vp-upload-finish[disabled]{--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-color: var(--vanphu-primary-soft);--vaadin-button-text-color: var(--vanphu-text-muted)}vaadin-dialog:has(.vp-attach-dialog){--aura-accent-color-light: var(--vanphu-primary);--aura-accent-color-dark: var(--vanphu-orange-bright);--aura-accent-color: var(--vanphu-primary);--aura-accent-surface: var(--vanphu-primary-soft);--aura-accent-text-color: var(--vanphu-primary-strong);--aura-accent-border-color: var(--vanphu-primary);--aura-accent-contrast-color: #ffffff;--vaadin-focus-ring-color: var(--vanphu-primary)}vaadin-dialog:has(.vp-attach-dialog) [slot="title"]{display: none}vaadin-dialog:has(.vp-attach-dialog)::part(header){display: none}.vp-attach-header-close{box-sizing: border-box;width: 34px;height: 34px;min-width: 34px;min-height: 34px;padding: 0;flex: 0 0 auto;margin-left: auto;border-radius: 10px;color: var(--vanphu-text-soft);--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-shadow: none;--vaadin-button-padding: 0}.vp-attach-header-close:hover{color: var(--vanphu-primary-strong);--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-primary)}vaadin-dialog:has(.vp-attach-dialog)::part(content){padding: 0}vaadin-dialog:has(.vp-attach-dialog) [slot="header-content"] vaadin-button{box-sizing: border-box;width: 34px;height: 34px;min-width: 34px;border-radius: 10px;color: var(--vanphu-text-soft);--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-shadow: none}vaadin-dialog:has(.vp-attach-dialog) [slot="header-content"] vaadin-button:hover{color: var(--vanphu-primary-strong);--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-primary)}.vp-attach-dialog{box-sizing: border-box;padding: 14px 28px 24px}.vp-attach-header{gap: 14px;padding-bottom: 18px}.vp-attach-header-icon{box-sizing: border-box;width: 38px;height: 38px;padding: 9px;flex: 0 0 auto;background: var(--vanphu-primary-soft);border-radius: 12px;color: var(--vanphu-primary)}.vp-attach-title{margin: 0;color: var(--vanphu-text);font-size: 17px;font-weight: 700;line-height: 1.25}.vp-attach-form::part(label){font-size: 13px;font-weight: 600}.vp-attach-mime::part(value){font-size: 12.5px}.vp-attach-readonly::part(input-field){cursor: default}.vp-attach-copy{min-width: 24px;width: 24px;height: 24px;min-height: 24px;padding: 0;margin-inline-start: 4px;border-radius: 6px;--vaadin-button-background: transparent;--vaadin-button-border-color: transparent;--vaadin-button-text-color: var(--vanphu-text-muted);--vaadin-button-shadow: none}.vp-attach-copy:hover{--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-text-color: var(--vanphu-primary-strong)}.vp-attach-copy vaadin-icon{width: 15px;height: 15px}.vp-attach-file-box{gap: 6px}vaadin-form-item:has(.vp-attach-file-box)::part(label){margin-bottom: 0}vaadin-form-item:has(.vp-attach-file-box) [slot="label"]::after{content: " *";color: var(--vanphu-danger)}.vp-attach-file-card{box-sizing: border-box;gap: 12px;padding: 8px 12px;background: var(--vanphu-card-subtle);border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-field)}.vp-attach-file-kind{box-sizing: border-box;display: inline-flex;align-items: center;justify-content: center;flex: 0 0 auto;min-width: 44px;padding: 6px 8px;background: var(--vanphu-primary-soft);border-radius: 8px;color: var(--vanphu-primary-strong);font-size: 11px;font-weight: 700;letter-spacing: 0.04em}.vp-attach-file-text{flex: 1 1 auto;min-width: 0;gap: 2px}.vp-attach-file-name{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;color: var(--vanphu-text);font-weight: 600}.vp-attach-file-size{color: var(--vanphu-text-muted);font-size: 12.5px}.vp-attach-file-remove{box-sizing: border-box;width: 32px;height: 32px;min-width: 32px;flex: 0 0 auto;padding: 0;border-radius: 8px;--vaadin-button-background: transparent;--vaadin-button-border-color: transparent;--vaadin-button-text-color: var(--vanphu-text-muted);--vaadin-button-shadow: none}.vp-attach-file-remove:hover{--vaadin-button-background: transparent;--vaadin-button-text-color: var(--vanphu-danger)}.vp-attach-upload{--vaadin-button-height: 32px;--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: var(--vanphu-primary-strong);--vaadin-button-font-weight: var(--aura-font-weight-semibold);--vaadin-button-shadow: none}.vp-attach-upload::part(helper-text){padding-left: 2px;color: var(--vanphu-text-muted);font-size: 12.5px}.vp-attach-actions{gap: 10px;justify-content: flex-end;margin-top: 20px;padding-top: 18px;border-top: 1px solid var(--vanphu-divider)}.vp-attach-actions vaadin-button{min-width: 112px;min-height: 38px;border-radius: var(--vanphu-radius-field);--vaadin-button-font-weight: var(--aura-font-weight-semibold);--vaadin-button-shadow: none;--vaadin-button-gap: 8px}.vp-attach-dialog vaadin-button::part(label){display: inline-flex}.vp-attach-dialog :is(.vp-attach-copy,.vp-attach-file-remove)::part(label){display: none}.vp-attach-cancel{--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-color: color-mix(in srgb,var(--vanphu-primary) 42%,transparent);--vaadin-button-text-color: var(--vanphu-primary-strong)}.vp-attach-cancel:hover{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.vp-attach-cancel:active{--vaadin-button-background: var(--vanphu-primary-strong);--vaadin-button-border-color: var(--vanphu-primary-strong);--vaadin-button-text-color: #ffffff}.vp-attach-save{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.vp-attach-save:hover{--vaadin-button-background: var(--vanphu-orange-bright);--vaadin-button-border-color: var(--vanphu-orange-bright)}.vp-read-body{gap: 0}.vp-read-body>*{width: 100%;box-sizing: border-box}.vp-read-hero{box-sizing: border-box;gap: 16px;padding: 16px 18px;margin-bottom: 4px;border: 1px solid var(--vanphu-card-border);border-radius: 14px;background: var(--vanphu-card-background)}.vp-read-hero-glyph{box-sizing: border-box;display: flex;flex: 0 0 auto;flex-direction: column;align-items: center;justify-content: center;gap: 2px;width: 64px;height: 64px;background: var(--vanphu-primary-soft);border-radius: 14px;color: var(--vanphu-primary);font-size: 10px;font-weight: 700;letter-spacing: 0.04em}.vp-read-hero-glyph vaadin-icon{width: 22px;height: 22px}.vp-read-hero-texts{flex: 1 1 auto;min-width: 0;gap: 6px}.vp-read-hero-name{display: block;overflow: hidden;color: var(--vanphu-text);font-size: 17px;font-weight: 700;white-space: nowrap;text-overflow: ellipsis}.vp-read-hero-facts{align-items: center;gap: 10px;color: var(--vanphu-text-soft);font-size: 12.5px}.vp-read-hero-badge{padding: 2px 9px;background: var(--vanphu-primary-soft);border-radius: 999px;color: var(--vanphu-primary-strong);font-size: 11px;font-weight: 700;letter-spacing: 0.04em}.vp-read-hero-size::before{content: "•";margin-right: 10px;color: var(--vanphu-card-border)}.vp-read-hero-state{display: inline-flex;align-items: center;gap: 5px}.vp-read-hero-state vaadin-icon{width: 15px;height: 15px}.vp-read-hero-state--ok{color: var(--vanphu-success)}.vp-read-hero-state--missing{color: var(--vanphu-danger)}.vp-read-hero-download{flex: 0 0 auto;height: 40px;min-height: 40px;border-radius: var(--vanphu-radius-field);font-weight: 650;--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-color: transparent;--vaadin-button-text-color: var(--vanphu-primary-strong)}.vp-read-hero-download:hover{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.vp-read-kv-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));margin-top: 12px;border: 1px solid var(--vanphu-card-border);border-radius: 14px;overflow: hidden;background: var(--vanphu-card-background)}.vp-read-kv{display: flex;align-items: flex-start;gap: 12px;min-width: 0;padding: 14px 16px;border-bottom: 1px solid var(--vanphu-divider)}.vp-read-kv:nth-child(odd){border-right: 1px solid var(--vanphu-divider)}.vp-read-kv:nth-last-child(-n + 2){border-bottom: none}.vp-read-kv-icon{box-sizing: border-box;display: inline-flex;flex: 0 0 auto;align-items: center;justify-content: center;width: 34px;height: 34px;border-radius: 10px}.vp-read-kv-icon vaadin-icon{width: 16px;height: 16px}.vp-read-kv-icon--tag{background: var(--vanphu-gold-soft);color: var(--vanphu-gold)}.vp-read-kv-icon--hash,.vp-read-kv-icon--order{background: color-mix(in srgb,var(--vanphu-warning) 14%,transparent);color: var(--vanphu-warning)}.vp-read-kv-icon--file{background: var(--vanphu-success-soft);color: var(--vanphu-success)}.vp-read-kv-icon--code{background: color-mix(in srgb,var(--vanphu-info) 12%,transparent);color: var(--vanphu-info)}.vp-read-kv-icon--size{background: color-mix(in srgb,var(--vanphu-info) 12%,transparent);color: var(--vanphu-info)}.vp-read-kv-icon--folder{background: var(--vanphu-primary-soft);color: var(--vanphu-primary)}.vp-read-kv-icon--shield{background: var(--vanphu-success-soft);color: var(--vanphu-success)}.vp-read-kv-texts{display: flex;flex-direction: column;gap: 3px;min-width: 0}.vp-read-kv-label{color: var(--vanphu-text-muted);font-size: 12px}.vp-read-kv-value{display: block;overflow: hidden;color: var(--vanphu-text);font-size: 13.5px;font-weight: 600;white-space: nowrap;text-overflow: ellipsis}.vp-read-highlight{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));margin-bottom: 12px;border-radius: 14px;overflow: hidden;background: var(--vanphu-primary-soft)}.vp-read-highlight .vp-read-kv{border-bottom: none}.vp-read-highlight .vp-read-kv:first-child{border-right: 1px solid color-mix(in srgb,var(--vanphu-primary) 20%,transparent)}.vp-read-highlight .vp-read-kv-value{font-size: 15px}.vp-read-badge{display: inline-flex;align-items: center;align-self: flex-start;padding: 3px 12px;border-radius: 999px;background: var(--vanphu-success-soft);color: var(--vanphu-success);font-size: 12.5px;font-weight: 600}.vp-read-note-block{margin-top: 12px;border: 1px solid var(--vanphu-card-border);border-bottom: 1px solid var(--vanphu-card-border);border-radius: 14px;background: var(--vanphu-card-subtle)}.vp-read-note-block .vp-read-kv-value{font-weight: 500;white-space: pre-wrap}.vp-read-kv--wide{grid-column: 1 / -1;border-right: none !important}.vp-read-kv-hint{color: var(--vanphu-text-muted);font-size: 11.5px}.vp-preview-dialog::part(overlay){box-sizing: border-box;width: 640px;max-width: calc(100vw - 32px);padding: 16px 24px 20px;border-radius: var(--vanphu-radius-card);box-shadow: var(--vanphu-shadow-card);background: var(--vanphu-card-background)}.vp-preview-dialog::part(content){padding: 0;overflow-x: hidden}.vp-preview-header{gap: 12px;padding-bottom: 14px}.vp-preview-icon{box-sizing: border-box;display: inline-flex;align-items: center;justify-content: center;flex: 0 0 auto;width: 36px;height: 36px;background: var(--vanphu-primary-soft);border-radius: 12px;color: var(--vanphu-primary)}.vp-preview-icon vaadin-icon{width: 18px;height: 18px}.vp-preview-title{flex: 1 1 auto;min-width: 0;color: var(--vanphu-text);font-size: 16px;font-weight: 700}.vp-preview-close{box-sizing: border-box;width: 34px;height: 34px;min-width: 34px;min-height: 34px;padding: 0;flex: 0 0 auto;border-radius: 10px;color: var(--vanphu-text-soft);--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-shadow: none;--vaadin-button-padding: 0}.vp-preview-close:hover{color: var(--vanphu-primary-strong);--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-primary)}.vp-preview-footer{padding-top: 16px}.vp-preview-close-bottom{height: 38px;min-height: 38px;border-radius: var(--vanphu-radius-field);font-weight: 650;--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text)}.vp-preview-close-bottom:hover{--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: var(--vanphu-primary-strong)}.vp-read-kv-grid--rows{display: block;border: 0;border-radius: 0;background: transparent}.vp-read-kv-grid--rows .vp-read-kv--row{align-items: center;border: 0;border-radius: 12px;background: var(--vanphu-divider)}.vp-read-kv-grid--rows .vp-read-kv--row + .vp-read-kv--row{margin-top: 8px}.vp-read-kv--row .vp-read-kv-label{flex: 1 1 auto;color: var(--vanphu-text);font-size: 14px;font-weight: 600}.vp-read-kv--row .vp-read-kv-value{flex: 0 0 auto;max-width: 55%;text-align: right;font-size: 14px;font-weight: 600}.vp-read-section-title{display: flex;align-items: center;gap: 8px;margin: 18px 0 10px;color: var(--vanphu-primary);font-size: 0.75rem;font-weight: 700;letter-spacing: 0.06em}.vp-read-body>.vp-read-section-title:first-child{margin-top: 4px}.vp-read-section-title::before{content: "";flex: 0 0 auto;width: 3px;height: 14px;border-radius: 2px;background: var(--vanphu-primary)}.vp-read-note{display: flex;align-items: center;gap: 10px;margin-top: 14px;padding: 12px 14px;border-radius: 12px;background: var(--vanphu-primary-soft);color: var(--vanphu-text-soft);font-size: 13px;line-height: 1.45}.vp-read-note vaadin-icon{flex: 0 0 auto;width: 16px;height: 16px;color: var(--vanphu-primary)}vaadin-dialog.vp-lightbox,vaadin-dialog:has(.vp-lightbox-dialog){--aura-accent-color-light: var(--vanphu-primary);--aura-accent-color-dark: var(--vanphu-orange-bright);--aura-accent-color: var(--vanphu-primary);--aura-accent-surface: var(--vanphu-primary-soft);--aura-accent-text-color: var(--vanphu-primary-strong);--aura-accent-border-color: var(--vanphu-primary);--aura-accent-contrast-color: #ffffff;--vaadin-focus-ring-color: var(--vanphu-primary)}vaadin-dialog:has(.vp-lightbox-dialog) [slot="title"],vaadin-dialog:has(.vp-lightbox-dialog) [slot="header-content"]{display: none}vaadin-dialog:has(.vp-lightbox-dialog)::part(header){padding: 0}vaadin-dialog:has(.vp-lightbox-dialog)::part(content){padding: 0}.vp-lightbox-dialog{box-sizing: border-box;padding: 18px 20px 20px}.vp-lightbox-header{gap: 12px;padding-bottom: 14px}.vp-lightbox-header-icon{box-sizing: border-box;width: 36px;height: 36px;padding: 8px;flex: 0 0 auto;background: var(--vanphu-primary-soft);border-radius: 10px;color: var(--vanphu-primary)}.vp-lightbox-title{flex: 1 1 auto;min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;color: var(--vanphu-text);font-size: 16px;font-weight: 700}.vp-lightbox-close{box-sizing: border-box;width: 34px;height: 34px;min-width: 34px;flex: 0 0 auto;border-radius: 10px;color: var(--vanphu-text-soft);--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-shadow: none}.vp-lightbox-close:hover{color: var(--vanphu-primary-strong);--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-primary)}.vp-lightbox-stage{position: relative;overflow: hidden;border-radius: 14px;background: var(--vanphu-card-subtle)}.vp-lightbox-image-slot{width: 100%}.vp-lightbox-image{display: block;width: 100%;max-height: 62vh;object-fit: contain;border-radius: 14px}.vp-lightbox-image{cursor: zoom-in;transition: transform 0.18s ease-out}.vp-lightbox-image--zoomed{transform: scale(2.4);cursor: zoom-out}.vp-lightbox-counter{position: absolute;top: 14px;left: 14px;z-index: 2;padding: 5px 12px;border-radius: 999px;background: rgba(0,0,0,0.55);color: #ffffff;font-size: 13px;font-weight: 600}.vp-lightbox-tools{position: absolute;top: 12px;right: 12px;z-index: 2;gap: 8px}.vp-lightbox-tool,.vp-lightbox-nav{box-sizing: border-box;min-width: 0;border-radius: 999px;opacity: 0.55;transition: opacity 0.15s ease-out,background-color 0.15s ease-out;backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px);--vaadin-button-background: rgba(255,255,255,0.72);--vaadin-button-border-color: rgba(255,255,255,0.55);--vaadin-button-text-color: var(--vanphu-text);--vaadin-button-shadow: none}.vp-lightbox-tool{width: 38px;height: 38px}.vp-lightbox-stage:hover .vp-lightbox-tool,.vp-lightbox-stage:hover .vp-lightbox-nav{opacity: 0.9}.vp-lightbox-tool:hover,.vp-lightbox-nav:hover{opacity: 1;--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: var(--vanphu-primary-strong)}.vp-lightbox-tool:focus-visible,.vp-lightbox-nav:focus-visible{opacity: 1}.vp-lightbox-nav{position: absolute;top: 50%;z-index: 2;width: 44px;height: 44px;transform: translateY(-50%)}.vp-lightbox-nav--previous{left: 14px}.vp-lightbox-nav--next{right: 14px}.vp-lightbox-nav[disabled]{display: none}.vp-lightbox-thumbs{box-sizing: border-box;gap: 10px;margin-top: 14px;padding: 10px;overflow-x: auto;border: 1px solid var(--vanphu-card-border);border-radius: 12px}.vp-lightbox-thumb{flex: 0 0 auto;width: 96px;height: 62px;object-fit: cover;border: 2px solid transparent;border-radius: 8px;cursor: pointer}.vp-lightbox-thumb:hover{border-color: var(--vanphu-card-border)}.vp-lightbox-thumb--active{border-color: var(--vanphu-primary)}.vp-lightbox-actions{justify-content: flex-end;margin-top: 16px}.vp-lightbox-done{min-width: 112px;min-height: 38px;border-radius: var(--vanphu-radius-field);--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff;--vaadin-button-font-weight: var(--aura-font-weight-semibold);--vaadin-button-shadow: none;--vaadin-button-gap: 8px}.vp-lightbox-done:hover{--vaadin-button-background: var(--vanphu-orange-bright);--vaadin-button-border-color: var(--vanphu-orange-bright)}.vp-lightbox-dialog vaadin-button::part(label){display: inline-flex}vaadin-dialog-overlay:fullscreen::part(overlay){width: 100vw;max-width: 100vw;height: 100vh;max-height: 100vh;border-radius: 0}vaadin-dialog-overlay:fullscreen .vp-lightbox-image{max-height: 78vh}vaadin-dialog-overlay:has(.vp-lightbox-root--full)::part(overlay){width: calc(100vw - 2rem);max-width: calc(100vw - 2rem);height: calc(100vh - 2rem);max-height: calc(100vh - 2rem)}.vp-lightbox-root--full .vp-lightbox-image{max-height: 74vh}.pd-card-header{gap: 8px;margin: 0 0 2px}.pd-card-icon{width: 18px;height: 18px;color: var(--vanphu-primary)}.pd-card-number{display: flex;flex: 0 0 auto;align-items: center;justify-content: center;width: 28px;height: 28px;background: var(--vanphu-primary);border-radius: 50%;color: #ffffff;font-size: 14px;font-weight: 700;line-height: 1}.pd-card-header .pd-card-title{padding-bottom: 0}.ls-row{gap: 14px;align-items: stretch}.ls-row>*{align-self: stretch}.ls-cell{display: flex;flex-direction: column;gap: 14px;flex: 1 1 460px;min-width: 0}.ls-cell>.pd-card:last-child{flex: 1 1 auto}.ls-actions{gap: 8px}.ls-header-action{margin-inline-start: auto}.ls-grid-footer{margin-top: auto;padding-top: 8px;border-top: 1px solid var(--vanphu-divider)}.ls-grid-total{color: var(--vanphu-text-soft);font-size: 12.5px}.ls-attachments-card .vp-tile{width: 92px;height: 92px}.ls-attachments-card{position: relative}.ls-attachments-card .vp-attachment-toolbar{position: absolute;top: 10px;right: 16px;width: auto}.ls-attachments-card .vp-attachment-images-section .vp-attachment-section-title{display: none}.ls-attachments-card .vp-attachment-documents-grid{height: 120px;min-height: 0}.pd-status-label{color: var(--vanphu-text-soft);font-size: 13px;font-weight: 500}.pd-hint-box{box-sizing: border-box;gap: 6px;padding: 12px 16px;background: var(--vanphu-primary-soft);border-radius: var(--vanphu-radius-field)}.pd-hint-header{gap: 8px;margin-bottom: 2px}.pd-hint-icon{width: 16px;height: 16px;flex: 0 0 auto;color: var(--vanphu-primary)}.pd-hint-title{color: var(--vanphu-text);font-size: 13.5px;font-weight: 600}.pd-hint-item{position: relative;padding-left: 16px;color: var(--vanphu-text-soft);font-size: 12.5px}.pd-hint-item::before{content: "•";position: absolute;left: 4px}.prd-hero{padding: 12px 16px}.product-detail-view .prd-hero:not(.prd-hero--compact){height: auto !important;min-height: 374px;overflow: visible}@media (min-width: 1101px) and (max-width: 1749.98px){.product-detail-view .prd-hero:not(.prd-hero--compact){height: auto !important;min-height: 374px;overflow: visible}}.prd-record-header{padding: 2px 0 12px;border-bottom: 1px solid var(--vanphu-divider);margin-bottom: 12px}.prd-record-title{display: flex;align-items: center;gap: 9px;flex-wrap: wrap}.prd-record-name{font-size: 1.3rem;font-weight: 700;letter-spacing: -0.02em;color: var(--vanphu-text)}.prd-record-subtitle{display: block;overflow: hidden;max-width: 100%;margin-top: 5px;font-size: 0.85rem;color: var(--vanphu-text-muted);white-space: nowrap;text-overflow: ellipsis}.product-detail-view{box-sizing: border-box;width: 100%;gap: 14px;padding: 18px 20px 28px}.product-detail-view.product-detail-view{max-width: none;margin: 0;padding-inline: 14px !important}.prd-header-actions{flex: 0 0 auto}.prd-header-action{min-height: 38px;border-radius: var(--vanphu-radius-field);font-weight: 650}.prd-header-action--secondary{--vaadin-button-background: #ffffff;--vaadin-button-border-color: color-mix(in srgb,var(--vanphu-primary) 42%,transparent);--vaadin-button-text-color: var(--vanphu-primary-strong)}.prd-header-action--secondary:hover{--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-color: var(--vanphu-primary)}.product-detail-view>.pd-card,.product-detail-view .prd-readonly-card,.product-detail-view .prd-lower-card,.product-detail-view .prd-image-attachments-card{padding: 15px 18px;gap: 8px}.product-detail-view .prd-record-header{margin: 0;padding: 0 0 6px;border-bottom: none}.prd-readonly-layout,.prd-edit-layout{gap: 12px}.prd-table{display: grid;grid-template-columns: minmax(130px,1.15fr) minmax(120px,1fr) minmax(150px,1.2fr) minmax(80px,0.7fr) minmax(120px,1fr) minmax(72px,0.6fr) minmax(140px,1.1fr) minmax(140px,1.05fr);border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card);overflow-x: auto}.prd-table-head,.prd-table-row{display: contents}.prd-table-head .prd-table-cell{white-space: normal;line-height: 1.25;font-size: 0.7rem;font-weight: 700;letter-spacing: 0.05em;text-transform: uppercase;color: var(--vanphu-text-muted);background: var(--vanphu-card-subtle);border-bottom: 1px solid var(--vanphu-card-border)}.prd-table-row .prd-table-cell{font-size: 0.85rem;border-bottom: 1px solid var(--vanphu-divider)}.prd-table-row--current .prd-table-cell{background: var(--vanphu-primary-soft);font-weight: 600}.prd-table-row--current .prd-table-cell:first-child{box-shadow: inset 3px 0 0 var(--vanphu-primary)}.prd-table-cell{padding: 9px 12px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;align-self: stretch;align-content: center}.prd-table-cell--num{text-align: right;font-variant-numeric: tabular-nums}#activeDocumentBox .prd-table-cell,#activeDocumentBox .prd-table-cell--num{text-align: center}#activeDocumentBox .prd-table-cell:nth-child(8n + 1){text-align: left}.prd-table-note{grid-column: 1 / -1;padding: 9px 12px;font-size: 0.78rem;color: var(--vanphu-text-muted);border-top: 1px dashed var(--vanphu-card-border);white-space: normal}.prd-policy-unresolved{display: block;margin-bottom: 4px;font-weight: 600;color: var(--vanphu-danger,#c0392b);white-space: normal}.prd-area-broken::part(input-field){background: var(--vanphu-danger-soft,#fdecea);box-shadow: inset 0 0 0 1px var(--vanphu-danger,#c0392b)}.prd-area-broken::part(helper-text){color: var(--vanphu-danger,#c0392b)}.prd-kpi-note{display: block;margin-top: 4px;font-size: 0.75rem;color: var(--vanphu-text-muted);line-height: 1.35}.prd-block-head{display: flex;justify-content: space-between;align-items: center;gap: 12px;flex-wrap: wrap}.prd-table--policy{grid-template-columns: repeat(5,minmax(96px,1fr))}.product-detail-view .prd-space-context-grid{grid-template-columns: repeat(5,minmax(0,1fr))}.prd-space-context-header{gap: 16px}.prd-space-context-header .pd-card-title{padding-bottom: 0}.prd-context-action{flex: 0 0 auto;margin-left: auto;min-height: 34px;padding: 0 14px;border-radius: var(--vanphu-radius-field);font-weight: 600;--vaadin-button-background: #ffffff;--vaadin-button-border-color: color-mix(in srgb,var(--vanphu-primary) 42%,transparent);--vaadin-button-text-color: var(--vanphu-primary-strong)}.prd-context-action:hover{--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-color: var(--vanphu-primary)}.prd-readonly-row{display: flex;gap: 14px;align-items: stretch;flex-wrap: nowrap !important}.prd-readonly-row>.prd-readonly-card{width: calc(50% - 7px) !important;min-width: 0;flex: 1 1 calc(50% - 7px);align-self: stretch}.prd-readonly-card .prd-readonly-grid{display: grid;width: 100%;box-sizing: border-box;grid-template-columns: repeat(3,minmax(0,1fr));column-gap: 28px}@media (max-width: 1500px){.prd-readonly-card .prd-readonly-grid{grid-template-columns: repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.prd-readonly-card .prd-readonly-grid{grid-template-columns: 1fr}}.prd-document-status{display: inline-flex;width: fit-content;padding: 3px 8px;border-radius: 999px;font-size: 0.75rem;font-weight: 650;line-height: 1.3;white-space: nowrap}.prd-document-status--current{color: var(--vanphu-success);background: var(--vanphu-success-soft)}.prd-document-status--scheduled{color: #2763a6;background: #e7f1ff}.prd-document-status--superseded{color: var(--vanphu-text-soft);background: #eeeae5}.prd-document-status--deposit{color: #a96b00;background: #fff1d6}.prd-lower-row{display: flex;gap: 14px;align-items: stretch;flex-wrap: nowrap !important}.prd-lower-row>.prd-price-policy-card{width: calc(50% - 7px) !important;min-width: 0;flex: 1 1 calc(50% - 7px)}.prd-lower-row>.prd-document-attachments-card{width: calc(50% - 7px) !important;min-width: 0;flex: 1 1 calc(50% - 7px)}.prd-document-attachments-card,.prd-image-attachments-card{position: relative}.prd-document-attachments-card .vp-attachment-toolbar,.prd-image-attachments-card .vp-attachment-toolbar{position: absolute;top: 8px;right: 16px;width: auto !important}.prd-document-attachments-card>.pd-card-title,.prd-image-attachments-card>.pd-card-title{padding-right: 130px}@media (max-width: 900px){.product-detail-view .prd-space-context-grid{grid-template-columns: repeat(3,minmax(0,1fr))}.prd-readonly-row{flex-direction: column}.prd-readonly-row>.prd-readonly-card{width: 100% !important;flex-basis: auto}.prd-lower-row{flex-direction: column}.prd-lower-row>.prd-price-policy-card,.prd-lower-row>.prd-document-attachments-card{width: 100% !important;flex-basis: auto}}@media (max-width: 640px){.product-detail-view{padding: 12px 10px 20px}.product-detail-view .prd-space-context-grid{grid-template-columns: repeat(2,minmax(0,1fr))}}.prd-edit-layout .pd-card-title{font-size: 13px;padding-bottom: 0}.prd-edit-layout vaadin-form-layout{--vaadin-form-layout-column-spacing: 14px;--vaadin-form-layout-row-spacing: 6px}.prd-edit-layout vaadin-form-item::part(label){font-size: 12px;font-weight: 500;padding-bottom: 1px}.prd-edit-layout :is(vaadin-text-field,vaadin-text-area,vaadin-combo-box,vaadin-date-picker,vaadin-integer-field,vaadin-big-decimal-field,jmix-combo-box-picker,jmix-entity-picker,jmix-big-decimal-field,jmix-integer-field){--vaadin-field-default-width: 100%;padding-top: 0;padding-bottom: 0;font-size: 13px}.prd-edit-layout :is(vaadin-text-field,vaadin-combo-box,vaadin-date-picker,vaadin-integer-field,vaadin-big-decimal-field,jmix-combo-box-picker,jmix-entity-picker,jmix-big-decimal-field,jmix-integer-field)::part(input-field){min-height: 32px;height: 32px;border-radius: var(--vanphu-radius-field)}.prd-edit-layout vaadin-text-area::part(input-field){min-height: 32px;height: 32px;border-radius: var(--vanphu-radius-field)}.prd-edit-layout .prd-flags-stack.prd-flags-stack--row{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));column-gap: 14px;align-self: stretch;align-items: end;padding-bottom: 8px}.prd-edit-layout vaadin-checkbox{font-size: 13px;padding-top: 4px}.prd-edit-layout .prd-flags-stack{gap: 2px;align-self: stretch;justify-content: flex-end}.prd-edit-layout .prd-flags-stack vaadin-checkbox{padding-top: 0}.prd-edit-layout vaadin-button[theme~="icon"],.prd-edit-layout jmix-value-picker-button,.prd-edit-layout [slot="actions"] vaadin-button{min-width: 22px;width: 22px;height: 22px;min-height: 22px;padding: 0;margin-inline-start: 2px;--vaadin-button-background: transparent;--vaadin-button-border-color: transparent;--vaadin-button-text-color: var(--vanphu-text-muted);--vaadin-button-shadow: none}.prd-edit-layout vaadin-button[theme~="icon"]:hover,.prd-edit-layout jmix-value-picker-button:hover,.prd-edit-layout [slot="actions"] vaadin-button:hover{--vaadin-button-background: transparent;--vaadin-button-text-color: var(--vanphu-danger)}.prd-edit-layout :is(vaadin-button[theme~="icon"],jmix-value-picker-button) vaadin-icon{width: 14px;height: 14px}.prd-edit-layout vaadin-form-item ::part(helper-text){font-size: 11.5px;color: var(--vanphu-text-muted);padding-top: 1px}.product-detail-view .vp-attachment-documents-grid::part(cell){text-align: center}.product-detail-view .vp-attachment-documents-grid::part(first-column-cell){text-align: left}.prd-table-row--clickable .prd-table-cell{cursor: pointer}.product-create-view .pd-status-label{color: var(--vanphu-text-soft);font-size: 13px;font-weight: 500}.product-create-view .prd-record-header{margin: 0;padding: 0 0 12px;border-bottom: none}.product-create-view .prd-record-title{display: flex;align-items: center;gap: 9px;flex-wrap: wrap}.product-create-view .prd-record-name{font-size: 1.3rem;font-weight: 700;letter-spacing: -0.02em;color: var(--vanphu-text)}.product-create-view .prd-record-subtitle{display: block;margin-top: 5px;font-size: 0.85rem;color: var(--vanphu-text-muted)}.product-create-view{box-sizing: border-box;width: 100%;gap: 14px;padding: 18px 20px 28px}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"].product-create-view>vaadin-horizontal-layout.prd-header-row{flex-wrap: nowrap;align-items: center;gap: 16px}.product-create-view .prd-header-row>.prd-record-header{flex: 1 1 0%;min-width: 0}.product-create-view .prd-header-actions{margin-left: auto;flex: 0 0 auto}@media (max-width: 700px){vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"].product-create-view>vaadin-horizontal-layout.prd-header-row{flex-wrap: wrap}}.product-create-view .prd-header-action{min-height: 38px;border-radius: var(--vanphu-radius-field);font-weight: 650}.product-create-view .prd-header-action--secondary{--vaadin-button-background: #ffffff;--vaadin-button-border-color: color-mix(in srgb,var(--vanphu-primary) 42%,transparent);--vaadin-button-text-color: var(--vanphu-primary-strong)}.product-create-view .prd-header-action--secondary:hover{--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-color: var(--vanphu-primary)}.product-create-view>.pd-card,.product-create-view .prd-readonly-card,.product-create-view .prd-lower-card,.product-create-view .prd-image-attachments-card{padding: 15px 18px;gap: 8px}.product-create-view .pd-kpi-row{gap: 12px}.product-create-view .pd-kpi{padding: 14px 16px}.product-create-view .prd-readonly-layout,.product-create-view .prd-edit-layout{gap: 12px}.product-create-view .prd-table{display: grid;grid-template-columns: minmax(120px,1.1fr) minmax(100px,0.85fr) minmax(140px,1.3fr) minmax(64px,0.5fr) minmax(104px,0.8fr) minmax(64px,0.45fr) minmax(124px,0.95fr) minmax(168px,1.25fr);border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card);overflow-x: auto}.product-create-view .prd-table-head,.product-create-view .prd-table-row{display: contents}.product-create-view .prd-table-head .prd-table-cell{white-space: normal;line-height: 1.25;font-size: 0.7rem;font-weight: 700;letter-spacing: 0.05em;text-transform: uppercase;color: var(--vanphu-text-muted);background: var(--vanphu-card-subtle);border-bottom: 1px solid var(--vanphu-card-border)}.product-create-view .prd-table-row .prd-table-cell{font-size: 0.85rem;border-bottom: 1px solid var(--vanphu-divider)}.product-create-view .prd-table-row--current .prd-table-cell{background: var(--vanphu-primary-soft);font-weight: 600}.product-create-view .prd-table-row--current .prd-table-cell:first-child{box-shadow: inset 3px 0 0 var(--vanphu-primary)}.product-create-view .prd-table-cell{padding: 9px 12px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;align-content: center}.product-create-view .prd-table-cell--num{text-align: right;font-variant-numeric: tabular-nums}.product-create-view .prd-table-note{grid-column: 1 / -1;padding: 9px 12px;font-size: 0.78rem;color: var(--vanphu-text-muted);border-top: 1px dashed var(--vanphu-card-border);white-space: normal}.product-create-view .pd-kpi .pd-kpi-label,.product-create-view .pd-kpi .pd-kpi-value{display: block}.product-create-view .pd-kpi .pd-kpi-value{margin-top: 2px}.product-create-view .prd-kpi-note{display: block;margin-top: 4px;font-size: 0.75rem;color: var(--vanphu-text-muted);line-height: 1.35}.product-create-view .prd-block-head{display: flex;justify-content: space-between;align-items: flex-end;gap: 12px;flex-wrap: wrap}.product-create-view .prd-table--policy{grid-template-columns: repeat(5,minmax(96px,1fr))}.product-create-view .prd-space-context-grid{grid-template-columns: repeat(5,minmax(0,1fr))}.product-create-view .prd-space-context-header{gap: 16px}.product-create-view .prd-space-context-header .pd-card-title{padding-bottom: 0}.product-create-view .prd-context-action{flex: 0 0 auto;margin-left: auto;min-height: 34px;padding: 0 14px;border-radius: var(--vanphu-radius-field);font-weight: 600;--vaadin-button-background: #ffffff;--vaadin-button-border-color: color-mix(in srgb,var(--vanphu-primary) 42%,transparent);--vaadin-button-text-color: var(--vanphu-primary-strong)}.product-create-view .prd-context-action:hover{--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-color: var(--vanphu-primary)}.product-create-view .prd-readonly-row{display: flex;gap: 14px;align-items: stretch;flex-wrap: nowrap !important}.product-create-view .prd-readonly-row>.prd-readonly-card{width: calc(50% - 7px) !important;min-width: 0;flex: 1 1 calc(50% - 7px);align-self: stretch}.product-create-view .prd-readonly-card .prd-readonly-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));column-gap: 30px}.product-create-view .prd-document-status{display: inline-flex;width: fit-content;padding: 3px 8px;border-radius: 999px;font-size: 0.75rem;font-weight: 650;line-height: 1.3;white-space: nowrap}.product-create-view .prd-document-status--current{color: var(--vanphu-success);background: var(--vanphu-success-soft)}.product-create-view .prd-document-status--scheduled{color: #2763a6;background: #e7f1ff}.product-create-view .prd-document-status--superseded{color: var(--vanphu-text-soft);background: #eeeae5}.product-create-view .prd-document-status--deposit{color: #a96b00;background: #fff1d6}.product-create-view .prd-lower-row{display: flex;gap: 14px;align-items: stretch;flex-wrap: nowrap !important}.product-create-view .prd-lower-row>.prd-price-policy-card{width: calc(50% - 7px) !important;min-width: 0;flex: 1 1 calc(50% - 7px)}.product-create-view .prd-lower-row>.prd-document-attachments-card{width: calc(50% - 7px) !important;min-width: 0;flex: 1 1 calc(50% - 7px)}@media (max-width: 900px){.product-create-view .prd-space-context-grid{grid-template-columns: repeat(3,minmax(0,1fr))}.product-create-view .prd-readonly-row{flex-direction: column}.product-create-view .prd-readonly-row>.prd-readonly-card{width: 100% !important;flex-basis: auto}.product-create-view .prd-lower-row{flex-direction: column}.product-create-view .prd-lower-row>.prd-price-policy-card,.product-create-view .prd-lower-row>.prd-document-attachments-card{width: 100% !important;flex-basis: auto}}@media (max-width: 640px){.product-create-view{padding: 12px 10px 20px}.product-create-view .prd-space-context-grid{grid-template-columns: repeat(2,minmax(0,1fr))}}vaadin-dialog:has(.vp-dialog-header){--aura-accent-color-light: var(--vanphu-primary);--aura-accent-color-dark: #ef914b;--aura-accent-color: var(--vanphu-primary);--aura-accent-surface: var(--vanphu-primary-soft);--aura-accent-text-color: var(--vanphu-primary-strong);--aura-accent-border-color: var(--vanphu-primary);--aura-accent-contrast-color: #ffffff;--vaadin-focus-ring-color: var(--vanphu-primary)}vaadin-dialog:has(.vp-dialog-header) [slot="title"]{display: none}vaadin-dialog:has(.vp-dialog-header)::part(header){padding: 6px 10px 0}vaadin-dialog:has(.vp-dialog-header) [slot="header-content"] vaadin-button{color: var(--vanphu-primary)}vaadin-dialog:has(.vp-dialog-header) :is(vaadin-combo-box,jmix-combo-box-picker,jmix-entity-picker)::part(toggle-button){color: var(--vanphu-primary)}.vp-dialog-header{width: 100%;gap: 10px;padding-bottom: 10px}.vp-dialog-header::after{content: "";flex: 1 1 auto;height: 1px;margin-left: 14px;background: var(--vanphu-divider)}.vp-dialog-icon{box-sizing: border-box;width: 34px;height: 34px;padding: 8px;flex: 0 0 auto;background: var(--vanphu-primary);border-radius: 50%;color: #ffffff}.vp-dialog-title{color: var(--vanphu-primary);text-transform: uppercase;letter-spacing: 0.02em}.vp-dialog-active{width: 100%;margin-top: 6px;padding-top: 14px;border-top: 1px solid var(--vanphu-divider)}.vp-dialog-section-header{gap: 8px;margin-top: 20px;padding-bottom: 6px;border-bottom: 1px solid var(--vanphu-divider)}.vp-dialog-section-icon{width: 15px;height: 15px;flex: 0 0 auto;color: var(--vanphu-primary)}.vp-dialog-section-title{color: var(--vanphu-primary);font-size: 12px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.05em}.vp-dialog-footer{width: 100%;justify-content: flex-end;gap: 10px}.vp-dialog-footer vaadin-button{min-width: 96px;min-height: 40px;border-radius: var(--vanphu-radius-field);--vaadin-button-font-weight: var(--aura-font-weight-semibold);--vaadin-button-shadow: none}.vp-dialog-footer vaadin-button vaadin-icon{display: none}.vp-dialog-footer vaadin-button::part(label){display: inline-flex}.vp-dialog-cancel{--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: var(--vanphu-primary)}.vp-dialog-cancel:hover{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.vp-dialog-confirm{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.vp-dialog-confirm:hover{--vaadin-button-background: var(--vanphu-primary-strong);--vaadin-button-border-color: var(--vanphu-primary-strong)}.detail-view--read-only :is(#saveAndCloseButton,#closeButton){display: none}.app-error-dialog::part(overlay){box-sizing: border-box;width: 560px;max-width: calc(100vw - 32px);padding: 16px 30px 32px;border-radius: var(--vanphu-radius-card);box-shadow: var(--vanphu-shadow-card);background: var(--vanphu-card-background)}.app-error-dialog::part(content){padding: 0;overflow-x: hidden}.app-error-close-row{display: flex;justify-content: flex-end;margin: 0}.app-error-close{box-sizing: border-box;width: 34px;min-width: 34px;height: 34px;min-height: 34px !important;padding: 0;align-items: center;justify-content: center;border-radius: var(--vanphu-radius-field);--vaadin-button-padding: 0;--vaadin-button-gap: 0;--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft);color: var(--vanphu-text-soft)}.app-error-close:hover{--vaadin-button-background: var(--vanphu-danger-soft);--vaadin-button-border-color: var(--vanphu-danger);--vaadin-button-text-color: var(--vanphu-danger);color: var(--vanphu-danger)}.app-error-icon-row{display: flex;justify-content: center;padding: 6px 0 20px}.app-error-icon{display: inline-flex;align-items: center;justify-content: center;width: 80px;height: 80px;border: 3px solid var(--vanphu-danger);border-radius: 999px;color: var(--vanphu-danger);box-shadow: 0 0 0 10px var(--vanphu-danger-soft)}.app-error-icon vaadin-icon{width: 38px;height: 38px}.app-error-title{display: block;text-align: center;color: var(--vanphu-text);font-size: 24px;font-weight: 700;letter-spacing: -0.01em}.app-error-detail{display: flex;gap: 12px;align-items: flex-start;box-sizing: border-box;margin-top: 22px;padding: 16px 18px;border: 1px solid color-mix(in srgb,var(--vanphu-danger) 28%,transparent);border-radius: var(--vanphu-radius-field);background: var(--vanphu-danger-soft)}.app-error-detail-icon{display: inline-flex;flex: 0 0 auto;align-items: center;justify-content: center;margin-top: 2px;color: var(--vanphu-danger)}.app-error-detail-icon vaadin-icon{width: 20px;height: 20px}.app-error-detail-body{display: flex;flex-direction: column;gap: 4px;min-width: 0}.app-error-detail-label{color: var(--vanphu-danger);font-size: 14px;font-weight: 700}.app-error-detail-text{color: var(--vanphu-text);font-size: 14.5px;line-height: 1.5;overflow-wrap: anywhere}.vp-confirm-dialog{--aura-accent-color-light: var(--vanphu-primary);--aura-accent-color-dark: #ef914b;--aura-accent-color: var(--vanphu-primary);--aura-accent-surface: var(--vanphu-primary-soft);--aura-accent-text-color: var(--vanphu-primary-strong);--aura-accent-border-color: var(--vanphu-primary);--aura-accent-contrast-color: #ffffff;--vaadin-focus-ring-color: var(--vanphu-primary)}.vp-confirm-dialog::part(overlay){box-sizing: border-box;width: 420px;max-width: calc(100vw - 32px);padding: 26px 28px 22px;border-radius: var(--vanphu-radius-card);box-shadow: var(--vanphu-shadow-card);background: var(--vanphu-card-background)}.vp-confirm-dialog::part(header){display: none}.vp-confirm-dialog::part(content){padding: 0;overflow-x: hidden}.vp-confirm-dialog::part(footer){justify-content: center;gap: 10px;padding: 18px 0 0}.vp-confirm{display: flex;flex-direction: column;align-items: center;text-align: center}.vp-confirm-icon-row{display: flex;justify-content: center;padding: 0 0 16px}.vp-confirm-icon{display: inline-flex;align-items: center;justify-content: center;width: 64px;height: 64px;border-radius: 999px}.vp-confirm-icon--warning{color: var(--vanphu-warning);background: color-mix(in srgb,var(--vanphu-warning) 16%,transparent)}.vp-confirm-icon--danger{color: var(--vanphu-danger);background: color-mix(in srgb,var(--vanphu-danger) 12%,transparent)}.vp-confirm-icon vaadin-icon{width: 30px;height: 30px}.vp-confirm-title{display: block;color: var(--vanphu-text);font-size: 20px;font-weight: 700;letter-spacing: -0.01em}.vp-confirm-message{display: block;margin-top: 8px;color: var(--vanphu-text-soft);font-size: 14px;line-height: 1.5}.vp-confirm-dialog [slot="footer"] vaadin-button{height: 36px;min-height: 36px;border-radius: var(--vanphu-radius-field);font-weight: 600}.vp-confirm-dialog [slot="footer"] vaadin-button:not([theme~="primary"]){--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text)}.vp-confirm-dialog [slot="footer"] vaadin-button:not([theme~="primary"]):hover{--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: var(--vanphu-primary-strong)}.ra-dialog vaadin-big-decimal-field [slot="suffix"],.ra-dialog jmix-big-decimal-field [slot="suffix"]{padding-inline-start: 6px;color: var(--vanphu-text-muted);font-size: 12.5px;white-space: nowrap}.ra-dialog [slot="actions"] vaadin-button,.ra-dialog jmix-value-picker-button{min-width: 22px;width: 22px;height: 22px;min-height: 22px;padding: 0;margin-inline-start: 2px;--vaadin-button-background: transparent;--vaadin-button-border-color: transparent;--vaadin-button-text-color: var(--vanphu-text-muted);--vaadin-button-shadow: none}.ra-dialog [slot="actions"] vaadin-button:hover,.ra-dialog jmix-value-picker-button:hover{--vaadin-button-background: transparent;--vaadin-button-text-color: var(--vanphu-danger)}.ra-dialog :is([slot="actions"] vaadin-button,jmix-value-picker-button) vaadin-icon{width: 14px;height: 14px}.ra-dialog vaadin-text-area::part(input-field){min-height: 76px}.tn-detail-view{gap: 16px}.tn-card{box-sizing: border-box;padding: 16px 18px 18px}.tn-card-header{gap: 10px;margin-bottom: 14px;padding-bottom: 12px;border-bottom: 1px solid var(--vanphu-divider)}.tn-card-icon{width: 18px;height: 18px;flex: 0 0 auto;color: var(--vanphu-primary)}.tn-card-title{flex: 1 1 auto;min-width: 0;margin: 0;color: var(--vanphu-primary);font-size: 14px;font-weight: 700;letter-spacing: 0.03em;text-transform: uppercase}.tn-detail-view vaadin-form-layout{--vaadin-form-layout-row-spacing: 12px;--vaadin-form-layout-column-spacing: 24px}.tn-compact-area::part(input-field){min-height: 36px}.tn-active{align-self: end;padding-bottom: 8px}.tn-toolbar{gap: 8px;flex: 0 0 auto;margin-left: auto}.tn-actions vaadin-button::part(label){display: inline-flex}.tn-toolbar vaadin-button{box-sizing: border-box;width: 36px;height: 36px;min-width: 36px;min-height: 36px;padding: 0;border-radius: var(--vanphu-radius-field);--vaadin-button-shadow: none}.tn-actions vaadin-button{min-height: 36px;border-radius: var(--vanphu-radius-field);--vaadin-button-font-weight: var(--aura-font-weight-semibold);--vaadin-button-shadow: none;--vaadin-button-gap: 8px}.tn-btn-primary{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.tn-btn-primary:hover{--vaadin-button-background: var(--vanphu-orange-bright);--vaadin-button-border-color: var(--vanphu-orange-bright)}.tn-btn-ghost{--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft)}.tn-btn-ghost:hover{--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: var(--vanphu-primary-strong)}.tn-btn-danger{--vaadin-button-text-color: var(--vanphu-danger)}.tn-btn-danger:hover{--vaadin-button-border-color: var(--vanphu-danger);--vaadin-button-text-color: var(--vanphu-danger)}.tn-empty{gap: 4px;padding: 18px 0}.tn-empty-icon{width: 34px;height: 34px;margin-bottom: 4px;color: var(--vanphu-text-muted)}.tn-empty-title{color: var(--vanphu-text);font-size: 14px;font-weight: 600}.tn-empty-hint{color: var(--vanphu-text-muted);font-size: 12.5px}.tn-actions{gap: 10px;justify-content: flex-end;margin-top: 16px;padding-top: 14px;border-top: 1px solid var(--vanphu-divider)}.tn-actions vaadin-button{min-width: 118px}.tn-cancel{--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft)}.tn-cancel:hover{--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-text-muted);--vaadin-button-text-color: var(--vanphu-text)}.tn-save{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.tn-save:hover{--vaadin-button-background: var(--vanphu-orange-bright);--vaadin-button-border-color: var(--vanphu-orange-bright)}vaadin-dialog:has(.tcd-dialog){--aura-accent-color-light: var(--vanphu-primary);--aura-accent-color-dark: var(--vanphu-orange-bright);--aura-accent-color: var(--vanphu-primary);--aura-accent-surface: var(--vanphu-primary-soft);--aura-accent-text-color: var(--vanphu-primary-strong);--aura-accent-border-color: var(--vanphu-primary);--aura-accent-contrast-color: #ffffff;--vaadin-focus-ring-color: var(--vanphu-primary)}vaadin-dialog:has(.tcd-dialog) [slot="title"]{display: none}vaadin-dialog:has(.tcd-dialog)::part(header){padding: 0 22px;min-height: 0;height: 0;overflow: visible}vaadin-dialog:has(.tcd-dialog) [slot="header-content"] vaadin-button{transform: translateY(36px)}vaadin-dialog:has(.tcd-dialog)::part(content){padding: 0}vaadin-dialog:has(.tcd-dialog) [slot="header-content"] vaadin-button{box-sizing: border-box;width: 34px;height: 34px;min-width: 34px;border-radius: 10px;color: var(--vanphu-text-soft);--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-shadow: none}vaadin-dialog:has(.tcd-dialog) [slot="header-content"] vaadin-button:hover{color: var(--vanphu-primary-strong);--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-primary)}vaadin-dialog:has(.tcd-dialog) :is(vaadin-combo-box,jmix-combo-box-picker,jmix-entity-picker)::part(toggle-button){color: var(--vanphu-primary)}.tcd-dialog{box-sizing: border-box;padding: 16px 24px 20px}.tcd-header{gap: 14px;padding-bottom: 16px}.tcd-header-icon{box-sizing: border-box;width: 40px;height: 40px;padding: 9px;flex: 0 0 auto;background: var(--vanphu-primary-soft);border: 1px solid color-mix(in srgb,var(--vanphu-primary) 28%,transparent);border-radius: 12px;color: var(--vanphu-primary)}.tcd-heading{gap: 4px;min-width: 0}.tcd-title{margin: 0;color: var(--vanphu-text);font-size: 17px;font-weight: 700;line-height: 1.25}.tcd-subtitle{color: var(--vanphu-text-soft);font-size: 12.5px;line-height: 1.45}.tcd-fields{box-sizing: border-box;padding: 18px 20px 20px;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: 12px}.tcd-form{--vaadin-form-layout-column-spacing: 24px;--vaadin-form-layout-row-spacing: 14px}.tcd-check-cell{gap: 4px;align-self: start;padding-top: 26px}.tcd-check-hint{padding-left: 26px;color: var(--vanphu-text-soft);font-size: 12px;line-height: 1.4}.tcd-actions{gap: 10px;justify-content: flex-end;margin-top: 18px}.tcd-actions vaadin-button{min-width: 116px;min-height: 40px;border-radius: var(--vanphu-radius-field);--vaadin-button-font-weight: var(--aura-font-weight-semibold);--vaadin-button-shadow: none;--vaadin-button-gap: 8px}.tcd-dialog vaadin-button::part(label){display: inline-flex}.tcd-cancel{--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft)}.tcd-cancel:hover{--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-text-muted);--vaadin-button-text-color: var(--vanphu-text)}.tcd-save{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.tcd-save:hover{--vaadin-button-background: var(--vanphu-orange-bright);--vaadin-button-border-color: var(--vanphu-orange-bright)}.dpa-detail-view{gap: 16px}.dpa-card{box-sizing: border-box;padding: 18px 22px 22px;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card);box-shadow: var(--vanphu-shadow-card)}.dpa-card--tabs{padding: 10px 22px 20px}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>.dpa-card--tabs{display: flex;flex-direction: column;flex-grow: 1}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>.dpa-card--tabs>jmix-tabsheet{flex-grow: 1}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>.dpa-card--tabs>jmix-tabsheet::part(content){display: flex;flex-direction: column}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>.dpa-card--tabs>jmix-tabsheet>:not(vaadin-tabs){flex-grow: 1;flex-shrink: 0}.dpa-card-header{gap: 10px;padding-bottom: 14px}.dpa-card-title{display: flex;align-items: center;gap: 10px;margin: 0;flex: 1 1 auto;color: var(--vanphu-text);font-size: 14px;font-weight: 700;letter-spacing: 0.04em;text-transform: uppercase}.dpa-card-title::before{content: "";width: 4px;height: 18px;flex: 0 0 auto;background: var(--vanphu-primary);border-radius: 2px}.dpa-form{--vaadin-form-layout-column-spacing: 28px;--vaadin-form-layout-row-spacing: 16px}.dpa-unit{padding: 0 10px;align-self: stretch;display: flex;align-items: center;background: var(--vanphu-card-subtle);border-left: 1px solid var(--vanphu-card-border);color: var(--vanphu-text-soft);font-size: 12.5px;font-weight: 600}.dpa-tabs vaadin-tab{font-weight: 600}.dpa-tab-icon{width: 17px;height: 17px;margin-right: 8px;flex: 0 0 auto;color: var(--vanphu-text-muted)}vaadin-tab[selected] .dpa-tab-icon{color: var(--vanphu-primary)}.dpa-tabs::part(tabs-container){padding: 4px 8px 0}.dpa-tabs::part(content){--vaadin-scroller-padding-block: 0px}.dpa-tab-body{box-sizing: border-box;margin-top: 10px;padding: 20px 20px 22px;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: 12px}.dpa-grid-header{gap: 12px;padding-bottom: 12px}.dpa-grid-hint{flex: 1 1 auto;min-width: 0;color: var(--vanphu-text-soft);font-size: 12.5px;line-height: 1.45}.dpa-toolbar{gap: 8px;flex: 0 0 auto;margin-left: auto}.dpa-toolbar vaadin-button{box-sizing: border-box;width: 36px;height: 36px;min-width: 36px;min-height: 36px;padding: 0;border-radius: var(--vanphu-radius-field);--vaadin-button-shadow: none}.dpa-btn-primary{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.dpa-btn-primary:hover{--vaadin-button-background: var(--vanphu-orange-bright);--vaadin-button-border-color: var(--vanphu-orange-bright)}.dpa-btn-ghost{--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft)}.dpa-btn-ghost:hover{--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: var(--vanphu-primary-strong)}.dpa-btn-danger{--vaadin-button-text-color: var(--vanphu-danger)}.dpa-btn-danger:hover{--vaadin-button-border-color: var(--vanphu-danger);--vaadin-button-text-color: var(--vanphu-danger)}.dpa-empty{gap: 4px;padding: 18px 0}.dpa-empty-icon{width: 34px;height: 34px;margin-bottom: 4px;color: var(--vanphu-text-muted)}.dpa-empty-title{color: var(--vanphu-text);font-size: 14px;font-weight: 600}.dpa-empty-hint{color: var(--vanphu-text-muted);font-size: 12.5px}.dpa-actions{gap: 10px;justify-content: flex-end}.dpa-actions vaadin-button{min-width: 118px;min-height: 40px;border-radius: var(--vanphu-radius-field);--vaadin-button-font-weight: var(--aura-font-weight-semibold);--vaadin-button-shadow: none}.dpa-actions vaadin-button vaadin-icon{display: none}.dpa-actions vaadin-button::part(label){display: inline-flex}.dpa-cancel{--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft)}.dpa-cancel:hover{--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-text-muted);--vaadin-button-text-color: var(--vanphu-text)}.dpa-save{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.dpa-save:hover{--vaadin-button-background: var(--vanphu-orange-bright);--vaadin-button-border-color: var(--vanphu-orange-bright)}.dpad-dialog vaadin-checkbox{align-self: start;padding-top: 26px}.dpad-dialog vaadin-text-area::part(input-field){min-height: 62px}.dpad-dialog vaadin-text-field::part(input-field){padding-inline-end: 0}.lp-periods-header{flex-wrap: nowrap}.lp-periods-header>.pd-card-title{flex: 0 1 auto;white-space: nowrap}.lp-periods-header>.lp-periods-actions{flex: 0 0 auto;width: auto;margin-left: auto}.lp-period-dialog .lp-section{margin-top: 18px;padding-top: 14px;padding-bottom: 0;border-top: 1px solid var(--vanphu-divider);border-bottom: 0}.lp-period-dialog .lp-section--first{margin-top: 4px;padding-top: 0;border-top: 0}.lp-period-dialog .vp-dialog-footer vaadin-button vaadin-icon{display: inline-flex}.pp-card{box-sizing: border-box;padding: 18px 20px 20px}.pp-section{gap: 8px;margin-bottom: 12px}.pp-section~.pp-section,.pp-card vaadin-form-layout + .pp-section{margin-top: 20px;padding-top: 16px;border-top: 1px solid var(--vanphu-divider)}.pp-section-icon{width: 16px;height: 16px;flex: 0 0 auto;color: var(--vanphu-primary)}.pp-section-title{color: var(--vanphu-primary);font-size: 13px;font-weight: 700;letter-spacing: 0.04em;text-transform: uppercase}.pp-active{align-self: end;padding-bottom: 8px}.pp-scope-area::part(input-field){min-height: 96px}.pp-scope-summary{padding: 10px 12px;border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-field);background: var(--vanphu-card-subtle);color: var(--vanphu-text);font-size: 0.88rem;line-height: 1.5;overflow-wrap: anywhere}.pp-scope-warning{margin-top: 6px;padding: 8px 12px;border: 1px solid color-mix(in srgb,var(--vanphu-warning) 45%,transparent);border-radius: var(--vanphu-radius-field);background: var(--vanphu-warning-soft);color: var(--vanphu-text);font-size: 0.84rem;font-weight: 600}.pp-actions{gap: 10px;justify-content: flex-end;margin-top: 6px}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"]>.pp-actions:last-child{padding-top: 8px}.pp-actions vaadin-button{min-height: 38px;border-radius: var(--vanphu-radius-field);--vaadin-button-font-weight: var(--aura-font-weight-semibold);--vaadin-button-shadow: none;--vaadin-button-gap: 8px}.pp-actions vaadin-button::part(label){display: inline-flex}.pp-save{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.pp-save:hover{--vaadin-button-background: var(--vanphu-orange-bright);--vaadin-button-border-color: var(--vanphu-orange-bright)}.pp-cancel{--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft)}.pp-cancel:hover{--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-text-muted);--vaadin-button-text-color: var(--vanphu-text)}.pp-tabs::part(tabs-container){align-items: center;padding-top: 0;padding-bottom: 2px}vaadin-app-layout.jmix-main-view-app-layout [jmix-role="jmix-view-layout"] .pp-tabs>vaadin-tabs>vaadin-tab{box-sizing: border-box;min-height: 30px;padding-block: 4px;font-size: 13px}.pp-tabs::part(content){--vaadin-scroller-padding-block: 6px}.pp-tabs [slot="suffix"]{margin-inline-end: 10px}.pp-tabs vaadin-grid>vaadin-grid-cell-content{white-space: normal;overflow-wrap: break-word;line-height: 1.35}.pp-hint{gap: 8px;align-items: flex-start;margin-bottom: 14px;color: var(--vanphu-text-soft);font-size: 13px;line-height: 1.45}.pp-hint-icon{width: 16px;height: 16px;flex: 0 0 auto;margin-top: 1px;color: var(--vanphu-primary)}.pp-toolbar{width: 100%;justify-content: flex-end;gap: 8px;margin-bottom: 14px}.pp-reject{padding: 8px 12px;border: 1px solid color-mix(in srgb,var(--vanphu-danger) 35%,transparent);border-radius: var(--vanphu-radius-field);background: var(--vanphu-danger-soft);color: var(--vanphu-danger);font-size: 0.84rem;font-weight: 600}.pp-tab-suffix{gap: 8px}vaadin-dialog:has(.ppd-dialog){--aura-accent-color-light: var(--vanphu-primary);--aura-accent-color-dark: var(--vanphu-orange-bright);--aura-accent-color: var(--vanphu-primary);--aura-accent-surface: var(--vanphu-primary-soft);--aura-accent-text-color: var(--vanphu-primary-strong);--aura-accent-border-color: var(--vanphu-primary);--aura-accent-contrast-color: #ffffff;--vaadin-focus-ring-color: var(--vanphu-primary)}vaadin-dialog:has(.ppd-dialog) [slot="title"]{display: none}vaadin-dialog:has(.ppd-dialog)::part(header){position: absolute;top: 14px;right: 22px;z-index: 1;padding: 0;min-height: 0}vaadin-dialog:has(.ppd-dialog)::part(content){padding: 0}vaadin-dialog:has(.ppd-dialog) [slot="header-content"] vaadin-button{box-sizing: border-box;width: 34px;height: 34px;min-width: 34px;border-radius: 10px;color: var(--vanphu-text-soft);--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-shadow: none}vaadin-dialog:has(.ppd-dialog) [slot="header-content"] vaadin-button:hover{color: var(--vanphu-primary-strong);--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-primary)}.ppd-dialog{box-sizing: border-box;padding: 12px 26px 22px}.ppd-header{gap: 14px;padding-bottom: 14px;padding-right: 48px}.ppd-header-icon{box-sizing: border-box;width: 38px;height: 38px;padding: 9px;flex: 0 0 auto;background: var(--vanphu-primary);border-radius: 10px;color: #ffffff}.ppd-heading{gap: 4px;min-width: 0}.ppd-title{margin: 0;color: var(--vanphu-text);font-size: 17px;font-weight: 700;line-height: 1.25}.ppd-subtitle{color: var(--vanphu-text-soft);font-size: 12.5px;line-height: 1.45}.ppd-section{margin-top: 18px;padding-top: 14px;border-top: 1px solid var(--vanphu-divider);color: var(--vanphu-primary);font-size: 12px;font-weight: 700;letter-spacing: 0.05em;text-transform: uppercase}.ppd-section--first{margin-top: 6px;padding-top: 0;border-top: 0}.ppd-form{margin-top: 10px;--vaadin-form-layout-column-spacing: 24px;--vaadin-form-layout-row-spacing: 12px}.ppd-form::part(label){font-size: 13px;font-weight: 600}.ppd-form [slot="actions"] vaadin-button,.ppd-form jmix-value-picker-button{min-width: 22px;width: 22px;height: 22px;min-height: 22px;padding: 0;margin-inline-start: 2px;--vaadin-button-background: transparent;--vaadin-button-border-color: transparent;--vaadin-button-text-color: var(--vanphu-text-muted);--vaadin-button-shadow: none}.ppd-form [slot="actions"] vaadin-button:hover,.ppd-form jmix-value-picker-button:hover{--vaadin-button-background: transparent;--vaadin-button-text-color: var(--vanphu-danger)}.ppd-form :is([slot="actions"] vaadin-button,jmix-value-picker-button) vaadin-icon{width: 14px;height: 14px}.ppd-active{align-self: start;padding-top: 26px}.ppd-actions{gap: 10px;justify-content: flex-end;margin-top: 18px;padding-top: 16px;border-top: 1px solid var(--vanphu-divider)}.ppd-actions vaadin-button{min-width: 108px;min-height: 38px;border-radius: var(--vanphu-radius-field);--vaadin-button-font-weight: var(--aura-font-weight-semibold);--vaadin-button-shadow: none;--vaadin-button-gap: 8px}.ppd-dialog vaadin-button::part(label){display: inline-flex}.ppd-cancel{--vaadin-button-background: #ffffff;--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-text-color: var(--vanphu-text-soft)}.ppd-cancel:hover{--vaadin-button-background: var(--vanphu-card-subtle);--vaadin-button-border-color: var(--vanphu-text-muted);--vaadin-button-text-color: var(--vanphu-text)}.ppd-save{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.ppd-save:hover{--vaadin-button-background: var(--vanphu-orange-bright);--vaadin-button-border-color: var(--vanphu-orange-bright)}.ppd-check{align-self: start;padding-top: 6px}.vp-profile{width: 100%;gap: 0.9rem}.vp-profile-card{background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: 12px;box-shadow: 0 1px 2px rgba(30,30,30,0.04)}.vp-profile-banner{background: #fdf6e3;border: 1px solid #f0e2b6;border-radius: 10px;padding: 0.6rem 0.9rem;color: #8a6d1a;font-size: 0.85rem}.vp-profile-banner-icon{color: #c9a227;width: 1rem;height: 1rem}.vp-profile-header{padding: 1.4rem 1.6rem;gap: 1.1rem}.vp-profile-avatar-wrap{position: relative;width: 72px;height: 72px;flex-shrink: 0}.vp-profile-avatar{width: 72px;height: 72px;border-radius: 50%;background: var(--vanphu-orange-soft);color: var(--vanphu-orange);display: flex;align-items: center;justify-content: center;font-size: 1.6rem;font-weight: 600;overflow: hidden}.vp-profile-avatar--image{background: transparent;cursor: pointer}.vp-profile-avatar-image{width: 100%;height: 100%;object-fit: cover;border-radius: 50%}.vp-profile-camera{position: absolute;right: -4px;bottom: -4px;width: 28px;min-width: 28px;height: 28px;padding: 0;border-radius: 50%;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);color: var(--vanphu-text-soft);box-shadow: 0 1px 3px rgba(30,30,30,0.12)}.vp-profile-camera vaadin-icon{width: 14px;height: 14px}.vp-profile-avatar-menu{display: flex;flex-direction: column;gap: 0.4rem;padding: 0.35rem;min-width: 12rem}.vp-profile-identity{gap: 0.25rem;flex: 1 1 0;min-width: 0}.vp-profile-name-row{gap: 0.55rem;flex-wrap: wrap}.vp-profile-name{font-size: 1.28rem;font-weight: 600;color: var(--vanphu-text)}.vp-profile-subtitle{color: var(--vanphu-text-soft);font-size: 0.85rem}.vp-profile-header-actions{gap: 0.6rem;margin-left: auto;flex-shrink: 0}.vp-profile-outline-btn{border: 1px solid var(--vanphu-card-border);border-radius: 9px;color: var(--vanphu-text);background: var(--vanphu-card-background);padding: 0 0.9rem}.vp-profile-outline-btn::part(label){display: inline-flex}.vp-badge{display: inline-flex;align-items: center;padding: 0.1rem 0.6rem;border-radius: 999px;font-size: 0.74rem;font-weight: 500;line-height: 1.5;white-space: nowrap}.vp-badge--role{background: var(--vanphu-orange-soft);color: var(--vanphu-orange-deep)}.vp-badge--success{background: var(--vanphu-success-soft);color: var(--vanphu-success)}.vp-badge--neutral{background: #f1efec;color: var(--vanphu-text-soft)}.vp-profile-columns{gap: 1rem;align-items: stretch;flex-wrap: wrap}#pms_ProfileView>.vp-profile-columns:last-child{border-top: none;padding-top: 0}.vp-profile-column{flex: 1 1 24rem;min-width: 0}.vp-profile-card-title{gap: 0.55rem;padding: 1.1rem 1.4rem 0.2rem;box-sizing: border-box}.vp-profile-card-title h4{margin: 0;font-size: 1.02rem;font-weight: 600;color: var(--vanphu-text)}.vp-profile-section-icon{color: var(--vanphu-orange);width: 1.1rem;height: 1.1rem}.vp-profile-grid{display: grid;grid-template-columns: 1fr;padding: 0.4rem 1.4rem 0.9rem;width: 100%;box-sizing: border-box}.vp-profile-cell{display: flex;align-items: center;gap: 0.85rem;padding: 0.7rem 0;border-bottom: 1px solid var(--vanphu-divider)}.vp-profile-cell--full{grid-column: 1 / -1}.vp-profile-grid .vp-profile-cell:last-child{border-bottom: none}.vp-profile-cell-icon{width: 34px;height: 34px;border-radius: 9px;background: var(--vanphu-orange-soft);color: var(--vanphu-orange);display: flex;align-items: center;justify-content: center;flex-shrink: 0}.vp-profile-cell-icon vaadin-icon{width: 16px;height: 16px}.vp-profile-cell-text{display: flex;align-items: baseline;gap: 1.2rem;min-width: 0}.vp-profile-cell-label{color: var(--vanphu-text-soft);font-size: 0.82rem;min-width: 8.5rem}.vp-profile-cell-value{color: var(--vanphu-text);font-size: 0.92rem;font-weight: 500;overflow-wrap: anywhere}.vp-profile-role-badges{display: inline-flex;gap: 0.45rem;flex-wrap: wrap}.vp-profile-form{padding: 0.9rem 1.4rem 0.2rem;box-sizing: border-box}.vp-profile-edit-actions{justify-content: flex-end;padding: 0.6rem 1.4rem 1rem;box-sizing: border-box}vaadin-dialog:has(.vp-cpw){--aura-accent-color-light: var(--vanphu-primary);--aura-accent-color: var(--vanphu-primary);--aura-accent-surface: var(--vanphu-primary-soft);--aura-accent-text-color: var(--vanphu-primary-strong);--aura-accent-border-color: var(--vanphu-primary);--aura-accent-contrast-color: #ffffff;--vaadin-focus-ring-color: var(--vanphu-primary)}.vp-cpw{gap: 0.7rem}.vp-cpw vaadin-password-field::part(label){color: var(--vanphu-text);font-weight: 600}.vp-cpw-note{gap: 0.65rem;background: var(--vanphu-orange-soft);border-radius: 10px;padding: 0.7rem 0.85rem;color: var(--vanphu-text);font-size: 0.85rem;box-sizing: border-box}.vp-cpw-note-icon{color: var(--vanphu-orange);width: 1.9rem;height: 1.9rem;padding: 0.4rem;background: #ffffff;border-radius: 9px;box-shadow: 0 1px 2px rgba(30,30,30,0.08);flex-shrink: 0;box-sizing: border-box}.vp-cpw-rules{background: var(--vanphu-success-soft);border: 1px solid #cdeeda;border-radius: 10px;padding: 0.7rem 0.9rem;gap: 0.4rem}.vp-cpw-rules-header{color: var(--vanphu-text);font-size: 0.82rem;font-weight: 500}.vp-cpw-rules-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 0.3rem 1rem;margin-top: 0.35rem}.vp-cpw-rule{display: flex;align-items: center;gap: 0.4rem;font-size: 0.8rem;color: var(--vanphu-text-soft)}.vp-cpw-rule vaadin-icon{width: 0.85rem;height: 0.85rem;color: #9ccfae}.vp-cpw-rule--ok{color: var(--vanphu-text)}.vp-cpw-rule--ok vaadin-icon{color: var(--vanphu-success)}.vp-cpw-actions{justify-content: flex-end;align-items: stretch;padding-top: 0.2rem;gap: 0.6rem}.vp-cpw-actions vaadin-button{min-height: 40px;height: 40px;box-sizing: border-box;border-radius: var(--vanphu-radius-field);--vaadin-button-shadow: none}.vp-cpw-actions vaadin-button[theme~="primary"]{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.vp-cpw-actions vaadin-button[theme~="primary"]:hover{--vaadin-button-background: var(--vanphu-primary-strong);--vaadin-button-border-color: var(--vanphu-primary-strong)}.report-page{box-sizing: border-box;gap: 20px !important;min-height: 100%;padding: 28px 32px 32px;background: var(--vanphu-card-subtle)}.report-page__header{box-sizing: border-box;min-height: 70px;gap: 24px}.report-page__heading-copy{gap: 3px !important;min-width: 0}.report-page__title{color: var(--vanphu-text);font-size: 28px;font-weight: 750;line-height: 1.2;margin: 0}.report-page__subtitle{color: var(--vanphu-text-soft);font-size: 13px;line-height: 1.4}.report-page__note{align-self: flex-start;box-sizing: border-box;margin-top: 4px;padding: 3px 8px;color: var(--vanphu-orange-deep);background: var(--vanphu-orange-soft);border-radius: 999px;font-size: 10px;line-height: 1.35}.report-page__export{flex: 0 0 auto;min-width: 9.5rem;color: var(--aura-accent-contrast-color);background: var(--vanphu-orange);border: 1px solid var(--vanphu-orange-deep);border-radius: 8px;box-shadow: none;font-size: 12px;font-weight: 700;--vaadin-button-background: var(--vanphu-orange);--vaadin-button-border-color: var(--vanphu-orange-deep);--vaadin-button-text-color: var(--aura-accent-contrast-color)}jmix-main-view .report-page__export::part(label),jmix-main-view .report-detail-button::part(label){display: inline-flex !important}jmix-main-view .report-page__export,jmix-main-view .report-detail-button{--vaadin-button-gap: 0.45rem}.report-filter-bar{align-items: end;box-sizing: border-box;gap: 12px;min-height: 76px;padding: 12px 14px;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: 12px;box-shadow: 0 5px 14px -4px rgba(30,30,30,0.06)}.report-filter-bar :is(vaadin-date-picker,vaadin-combo-box)::part(label){padding-bottom: 4px;color: var(--vanphu-text-soft);font-size: 10px;font-weight: 650}.report-filter-bar :is(vaadin-date-picker,vaadin-combo-box)::part(input-field){min-height: 42px;background: #ffffff;border: 1px solid #d9d2c8;border-radius: 8px;box-shadow: none}.report-filter-bar vaadin-button[theme~="primary"]{min-width: 8.5rem;color: var(--vanphu-charcoal);background: var(--vanphu-orange-soft);border: 1px solid var(--vanphu-orange);border-radius: 8px;--vaadin-button-background: var(--vanphu-orange-soft);--vaadin-button-border-color: var(--vanphu-orange);--vaadin-button-text-color: var(--vanphu-charcoal)}.report-page__export:hover,.report-detail-button:hover,.report-drilldown__footer vaadin-button:hover{background: var(--vanphu-orange-bright);--vaadin-button-background: var(--vanphu-orange-bright)}.report-filter-bar vaadin-button[theme~="primary"]:hover{background: color-mix(in srgb,var(--vanphu-orange) 16%,white);--vaadin-button-background: color-mix(in srgb,var(--vanphu-orange) 16%,white)}.report-page__export:active,.report-detail-button:active,.report-drilldown__footer vaadin-button:active{background: var(--vanphu-orange-deep);--vaadin-button-background: var(--vanphu-orange-deep)}.report-filter-bar vaadin-button[theme~="primary"]:active{background: color-mix(in srgb,var(--vanphu-orange) 24%,white);--vaadin-button-background: color-mix(in srgb,var(--vanphu-orange) 24%,white)}.report-kpi-strip{display: grid !important;grid-template-columns: repeat(4,minmax(0,1fr));gap: 14px}.report-kpi-card{position: relative;box-sizing: border-box;gap: 2px !important;min-width: 0;min-height: 112px;overflow: hidden;padding: 20px 18px 16px !important;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: 12px;box-shadow: 0 5px 14px -4px rgba(30,30,30,0.06)}.report-kpi-card::before{position: absolute;top: 0;right: 0;left: 0;height: 4px;content: "";background: var(--vanphu-orange)}.report-kpi-card--2::before{background: #3e7c59}.report-kpi-card--3::before{background: #d59a28}.report-kpi-card--4::before{background: #b6574e}.report-kpi-card__label{overflow: hidden;color: var(--vanphu-text-soft);font-size: 11px;font-weight: 650;line-height: 1.3;text-overflow: ellipsis;white-space: nowrap}.report-kpi-card__value{color: var(--vanphu-text);font-size: 24px;font-weight: 750;line-height: 1.25}.report-kpi-card__meta{margin-top: 2px;color: var(--vanphu-text-muted);font-size: 10px}.report-insights{display: grid !important;grid-template-columns: minmax(0,2fr) minmax(19rem,1fr);gap: 16px;align-items: stretch}.report-chart-card,.report-data-card{box-sizing: border-box;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: 12px;box-shadow: 0 5px 14px -4px rgba(30,30,30,0.06);overflow: hidden}.report-chart-card{min-width: 0}.report-data-card{min-height: 22rem}.report-section-header{box-sizing: border-box;min-height: 58px;padding: 12px 18px;border-bottom: 1px solid var(--vanphu-divider)}.report-section-title{color: var(--vanphu-text);font-size: 16px;font-weight: 700;line-height: 1.3;margin: 0}.report-section-actions{gap: 8px}.report-detail-button{color: var(--aura-accent-contrast-color);background: var(--vanphu-orange);border: 1px solid var(--vanphu-orange-deep);border-radius: 8px;font-size: 11px;font-weight: 700;--vaadin-button-background: var(--vanphu-orange);--vaadin-button-border-color: var(--vanphu-orange-deep);--vaadin-button-text-color: var(--aura-accent-contrast-color)}.report-grid{border: 0;border-radius: 0;box-shadow: none;overflow: hidden}.report-grid::part(header-cell){color: var(--vanphu-text-soft);background: var(--vanphu-beige-light);border-bottom: 1px solid var(--vanphu-card-border);font-size: 11px;font-weight: 700}.report-grid::part(cell){border-bottom: 1px solid var(--vanphu-divider);font-size: 11px}.report-grid::part(row):hover{background: var(--vanphu-orange-soft)}.report-drilldown{box-sizing: border-box;gap: 16px !important;padding: 20px 24px 24px;background: var(--vanphu-card-subtle)}.report-drilldown__header{min-height: 56px}.report-drilldown__title{color: var(--vanphu-text);font-size: 22px;font-weight: 750;margin: 0}.report-drilldown__subtitle{color: var(--vanphu-text-soft);font-size: 12px}.report-drilldown__summary{display: grid !important;grid-template-columns: repeat(3,minmax(0,1fr));gap: 12px}.report-drilldown__card{box-sizing: border-box;gap: 3px !important;padding: 12px 14px !important;background: var(--vanphu-beige-light);border: 1px solid var(--vanphu-card-border);border-radius: 10px}.report-drilldown__footer{justify-content: flex-end}.report-drilldown__footer vaadin-button{color: var(--aura-accent-contrast-color);background: var(--vanphu-orange);border: 1px solid var(--vanphu-orange-deep);border-radius: 8px;font-weight: 700;--vaadin-button-background: var(--vanphu-orange);--vaadin-button-border-color: var(--vanphu-orange-deep);--vaadin-button-text-color: var(--aura-accent-contrast-color)}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report){gap: 14px !important;padding: 20px 28px 28px;background: var(--vanphu-card-subtle)}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-page__header{min-height: 54px}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-page__title{font-size: 24px}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-filter-bar{min-height: 70px;padding: 10px 12px}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-filter-bar>vaadin-button{flex: 0 0 auto;min-height: 42px}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-filter-bar>:is(vaadin-combo-box,vaadin-date-picker){flex: 1 1 0;min-width: 11rem}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-kpi-strip{gap: 12px}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .operation-kpi-card{gap: 13px !important;min-height: 94px;padding: 13px 14px !important}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .operation-kpi-card::before{display: none}.operation-kpi-card__icon{display: inline-flex;flex: 0 0 auto;align-items: center;justify-content: center;box-sizing: border-box;width: 46px;height: 46px;color: var(--vanphu-orange);background: var(--vanphu-orange-soft);border: 1px solid var(--vanphu-orange);border-radius: 11px}.operation-kpi-card__icon vaadin-icon{width: 22px;height: 22px}.report-kpi-card--2 .operation-kpi-card__icon{color: #218a50;background: #edf9f1;border-color: #b6e5c6}.report-kpi-card--3 .operation-kpi-card__icon{color: #c78618;background: #fff8e9;border-color: #ecd49e}.report-kpi-card--4 .operation-kpi-card__icon{color: #c84b4b;background: #fff1f1;border-color: #f0bcbc}.operation-kpi-card__copy{gap: 1px !important;min-width: 0}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-kpi-card__value{font-size: 21px}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-kpi-card__meta{overflow: hidden;color: var(--vanphu-orange-deep);text-overflow: ellipsis;white-space: nowrap}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-kpi-card--2 .report-kpi-card__meta{color: #218a50}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-kpi-card--4 .report-kpi-card__meta{color: #c84b4b}:is(.operation-dashboard,.legal-dashboard){background: var(--vanphu-card-subtle)}:is(.operation-dashboard,.legal-dashboard) .report-page__export{color: var(--aura-accent-contrast-color);background: var(--vanphu-orange);border-color: var(--vanphu-orange-deep);--vaadin-button-background: var(--vanphu-orange);--vaadin-button-border-color: var(--vanphu-orange-deep);--vaadin-button-text-color: var(--aura-accent-contrast-color)}:is(.operation-dashboard,.legal-dashboard) .report-filter-bar vaadin-button[theme~="primary"]{color: var(--vanphu-charcoal);background: var(--vanphu-orange-soft);border-color: var(--vanphu-orange);--vaadin-button-background: var(--vanphu-orange-soft);--vaadin-button-border-color: var(--vanphu-orange);--vaadin-button-text-color: var(--vanphu-charcoal)}:is(.operation-dashboard,.legal-dashboard) .report-page__export:hover{background: var(--vanphu-orange-bright);--vaadin-button-background: var(--vanphu-orange-bright)}:is(.operation-dashboard,.legal-dashboard) .report-page__export:active{background: var(--vanphu-orange-deep);--vaadin-button-background: var(--vanphu-orange-deep)}:is(.operation-dashboard,.legal-dashboard) .report-kpi-card--1 .operation-kpi-card__icon{color: var(--vanphu-orange);background: var(--vanphu-orange-soft);border-color: var(--vanphu-orange)}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-insights{grid-template-columns: minmax(0,1.62fr) minmax(18rem,0.96fr);gap: 12px}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-chart-card,:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-data-card,:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-filter-bar,:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-kpi-card{box-shadow: 0 5px 14px -4px rgba(30,30,30,0.08)}.operation-dashboard__project-card{min-height: 0}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-section-header{min-height: 48px;padding: 9px 14px}.operation-dashboard__detail-link,.legal-dashboard__detail-link{color: var(--vanphu-orange-deep);background: transparent;border: 0;font-size: 10px;font-weight: 700;--vaadin-button-background: transparent;--vaadin-button-text-color: var(--vanphu-orange-deep)}.operation-dashboard__detail-link:hover,.legal-dashboard__detail-link:hover{color: var(--vanphu-orange-deep);background: var(--vanphu-orange-soft);--vaadin-button-background: var(--vanphu-orange-soft)}.operation-dashboard__detail-link vaadin-icon,.legal-dashboard__detail-link vaadin-icon{order: 2;width: 12px;height: 12px}.operation-project-grid::part(header-cell){min-height: 32px;background: var(--vanphu-beige-light);font-size: 10px}.operation-project-grid::part(cell){min-height: 42px;padding-top: 3px;padding-bottom: 3px}.operation-project__identity{gap: 9px !important;min-width: 0}.operation-project__thumbnail{display: inline-flex;flex: 0 0 auto;align-items: center;justify-content: center;box-sizing: border-box;width: 50px;height: 30px;object-fit: cover;color: #b27818;background: var(--vanphu-gold-soft);border: 1px solid var(--vanphu-card-border);border-radius: 4px}.operation-project__thumbnail--empty vaadin-icon{width: 17px;height: 17px}.operation-project__name{overflow: hidden;color: var(--vanphu-text);font-size: 11px;font-weight: 700;line-height: 1.2;text-overflow: ellipsis;white-space: nowrap}.operation-project__meta{color: var(--vanphu-text-muted);font-size: 9px;line-height: 1.2}.operation-project__occupancy{gap: 9px !important;min-width: 8rem}.operation-project__occupancy-value{min-width: 3rem;color: #218a50;font-size: 10px;font-weight: 750}.operation-project__progress{min-width: 4.5rem;height: 6px}.operation-project__progress::part(bar){background: #e8ece9;border-radius: 999px}.operation-project__progress::part(value){background: #38ae67;border-radius: 999px}.operation-project-grid__contracts{color: #c84b4b;font-weight: 700}.legal-dashboard__alert-card{min-height: 0}.legal-alert-grid::part(header-cell){min-height: 32px;background: var(--vanphu-beige-light);font-size: 10px}.legal-alert-grid::part(cell){min-height: 42px;padding-top: 3px;padding-bottom: 3px}.legal-alert__identity{gap: 9px !important;min-width: 0}.legal-alert__thumbnail{display: inline-flex;flex: 0 0 auto;align-items: center;justify-content: center;box-sizing: border-box;width: 50px;height: 30px;object-fit: cover;background: linear-gradient(135deg,#fbf2df,#f2e5cb);border: 1px solid var(--vanphu-card-border);border-radius: 4px}.legal-alert__thumbnail--empty{background: linear-gradient(135deg,#fbf2df,#ead7b5)}.legal-alert__project{overflow: hidden;color: var(--vanphu-text);font-size: 11px;font-weight: 700;line-height: 1.2;text-overflow: ellipsis;white-space: nowrap}.legal-alert__property{overflow: hidden;color: var(--vanphu-text-muted);font-size: 9px;line-height: 1.2;text-overflow: ellipsis;white-space: nowrap}.legal-alert__status{display: inline-flex;align-items: center;min-height: 20px;box-sizing: border-box;padding: 3px 8px;border-radius: 999px;font-size: 9px;font-weight: 700;white-space: nowrap}.legal-alert__status--expired{color: #b23d3d;background: #fff0f0}.legal-alert__status--missing{color: #a66b10;background: #fff7e5}.legal-alert__status--expiring{color: #bd5d22;background: #fff0e7}.legal-alert__status--valid{color: #218a50;background: #edf9f1}.legal-alert__status--optional{color: #5c6f80;background: #eef2f5}.legal-alert__arrow{width: 13px;height: 13px;color: var(--vanphu-text-soft)}.tenancy-report .report-page__header{min-height: 68px}.portfolio-report .report-page__header{min-height: 68px}.portfolio-report .report-data-card{min-height: 0}.portfolio-report .report-grid::part(header-cell){min-height: 32px;background: linear-gradient(90deg,#fbf2df,#fffaf1);font-size: 10px}.portfolio-report .report-grid::part(cell){min-height: 42px;padding-top: 3px;padding-bottom: 3px;font-size: 10px}.report-grid__group{display: flex;align-items: center;gap: 6px;font-size: 11px;font-weight: 800;letter-spacing: 0.02em;color: var(--vanphu-primary-strong);white-space: nowrap}.report-grid__group vaadin-icon{width: 13px;height: 13px}.report-grid--grouped::part(cell){border-left: 1px solid var(--vanphu-divider)}.report-grid--grouped::part(group-start){border-left: 1px solid var(--vanphu-card-border)}.report-grid--grouped vaadin-grid-sorter{width: 100%;justify-content: center}.tenancy-report__data-card{min-height: 0}.tenancy-report-grid::part(header-cell){min-height: 32px;background: linear-gradient(90deg,#fbf2df,#fffaf1);font-size: 10px}.tenancy-report-grid::part(cell){min-height: 42px;padding-top: 3px;padding-bottom: 3px}.tenancy-property__identity{gap: 9px !important;min-width: 0}.tenancy-property__thumbnail{display: inline-flex;flex: 0 0 auto;align-items: center;justify-content: center;box-sizing: border-box;width: 50px;height: 30px;object-fit: cover;background: linear-gradient(135deg,#fbf2df,#f2e5cb);border: 1px solid var(--vanphu-card-border);border-radius: 4px}.tenancy-property__thumbnail--empty{background: linear-gradient(135deg,#fbf2df,#ead7b5)}.tenancy-property__name{overflow: hidden;color: var(--vanphu-text);font-size: 10px;font-weight: 700;line-height: 1.2;text-overflow: ellipsis;white-space: nowrap}.tenancy-property__meta{overflow: hidden;color: var(--vanphu-text-muted);font-size: 8px;line-height: 1.2;text-overflow: ellipsis;white-space: nowrap}.tenancy-status{display: inline-flex;align-items: center;min-height: 20px;box-sizing: border-box;padding: 3px 8px;border-radius: 999px;font-size: 9px;font-weight: 700;white-space: nowrap}.tenancy-status--active{color: #218a50;background: #edf9f1}.tenancy-status--expiring{color: #bd5d22;background: #fff0e7}.movement-property__identity{gap: 9px !important;min-width: 0}.movement-property__thumbnail{display: inline-flex;flex: 0 0 auto;box-sizing: border-box;width: 50px;height: 30px;object-fit: cover;background: linear-gradient(135deg,#fbf2df,#f2e5cb);border: 1px solid var(--vanphu-card-border);border-radius: 4px}.movement-property__thumbnail--empty{background: linear-gradient(135deg,#fbf2df,#ead7b5)}.movement-property__name{overflow: hidden;color: var(--vanphu-text);font-size: 10px;font-weight: 700;line-height: 1.2;text-overflow: ellipsis;white-space: nowrap}.movement-property__meta{overflow: hidden;color: var(--vanphu-text-muted);font-size: 8px;line-height: 1.2;text-overflow: ellipsis;white-space: nowrap}.movement-retention{color: #218a50;font-weight: 700}.summary-project__identity{gap: 9px !important;min-width: 0}.summary-project__thumbnail{display: inline-flex;flex: 0 0 auto;box-sizing: border-box;width: 50px;height: 30px;object-fit: cover;background: linear-gradient(135deg,#fbf2df,#f2e5cb);border: 1px solid var(--vanphu-card-border);border-radius: 4px}.summary-project__thumbnail--empty{background: linear-gradient(135deg,#fbf2df,#ead7b5)}.summary-project__name{overflow: hidden;color: var(--vanphu-text);font-size: 10px;font-weight: 700;line-height: 1.2;text-overflow: ellipsis;white-space: nowrap}.summary-project__meta{color: var(--vanphu-text-muted);font-size: 8px;line-height: 1.2}@media (max-width: 1180px){.report-kpi-strip{grid-template-columns: repeat(2,minmax(0,1fr))}.report-insights{grid-template-columns: 1fr}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-insights{grid-template-columns: 1fr}}@media (max-width: 760px){.report-page{gap: 14px !important;padding: 18px 14px 24px}.report-page__header{flex-wrap: wrap}.report-page__title{font-size: 23px}.report-page__export{width: 100%}.report-filter-bar>*{width: min(100%,16rem) !important}.report-kpi-strip{grid-template-columns: 1fr}.report-drilldown__summary{grid-template-columns: 1fr}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report){padding: 18px 14px 24px}:is(.operation-dashboard,.legal-dashboard,.tenancy-report,.portfolio-report) .report-filter-bar>*{width: 100% !important}}[jmix-role="jmix-view-layout"]#pms_OperationDashboard,[jmix-role="jmix-view-layout"]#pms_LegalDashboard,[jmix-role="jmix-view-layout"]#pms_TenancyReport,[jmix-role="jmix-view-layout"]#pms_VacantAreaReport,[jmix-role="jmix-view-layout"]#pms_TenantMovementReport,[jmix-role="jmix-view-layout"]#pms_ProjectReport,[jmix-role="jmix-view-layout"]#pms_LandAreaByTypeReport,[jmix-role="jmix-view-layout"]#pms_LandAreaByRegionReport,[jmix-role="jmix-view-layout"]#pms_LeasedAreaByLegalStatusReport,[jmix-role="jmix-view-layout"]#pms_LegalStatusByOwnerReport{padding: 0 !important;background: var(--vanphu-card-subtle) !important;border: none !important}.ap-pill{display: inline-flex;align-items: center;gap: 6px;padding: 3px 10px;border-radius: 999px;font-size: 0.78rem;font-weight: 600;line-height: 1.5;white-space: nowrap;background: var(--vanphu-divider);color: var(--vanphu-text-soft)}.ap-pill::before{content: "";width: 6px;height: 6px;border-radius: 50%;background: currentColor}.ap-pill--pending{background: var(--vanphu-warning-soft);color: color-mix(in srgb,var(--vanphu-warning) 70%,var(--vanphu-text))}.ap-pill--approved{background: var(--vanphu-success-soft);color: var(--vanphu-success)}.ap-pill--rejected{background: var(--vanphu-danger-soft);color: var(--vanphu-danger)}.approval-inbox{gap: 14px;padding: 14px}.ai-chips{gap: 8px}.ai-chip{--vaadin-button-background: var(--vanphu-card-background);--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-border-width: 1px;--vaadin-button-text-color: var(--vanphu-text-soft);border-radius: 999px}.ai-chip.is-active{--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: var(--vanphu-primary-strong);font-weight: 600}.ai-chip-count{min-width: 22px;padding: 0 7px;border-radius: 999px;background: var(--vanphu-divider);color: var(--vanphu-text-soft);font-size: 0.74rem;font-weight: 700;text-align: center;font-variant-numeric: tabular-nums}.ai-chip.is-active .ai-chip-count{background: var(--vanphu-primary);color: #ffffff}.ai-chip-count.is-zero{opacity: 0.55}.ai-toolbar{gap: 10px}.ai-segment{border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-field);overflow: hidden;background: var(--vanphu-card-background)}.ai-segment-btn{--vaadin-button-background: transparent;--vaadin-button-border-width: 0;--vaadin-button-text-color: var(--vanphu-text-soft);border-radius: 0;margin: 0}.ai-segment-btn.is-active{--vaadin-button-background: var(--vanphu-text);--vaadin-button-text-color: #ffffff;font-weight: 600}.ai-search{width: 280px;max-width: 100%}.ai-body{gap: 14px;flex-wrap: nowrap;flex-grow: 1;min-height: 360px}.ai-list,.ai-panel{min-width: 0;background: var(--vanphu-card-background);border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card)}.ai-list{flex: 1.15 1 0;overflow: hidden}.ai-panel{flex: 1 1 0;padding: 16px 18px;gap: 14px}.ai-panel,.ai-section{align-items: stretch}.ai-grid{flex-grow: 1;min-height: 0;border: 0}.ai-cell-name{display: block;font-weight: 600;color: var(--vanphu-text)}.ai-cell-sub{display: block;font-size: 0.78rem;color: var(--vanphu-text-muted)}.ai-empty,.ai-muted{color: var(--vanphu-text-muted);font-size: 0.88rem}.ai-empty{display: block;padding: 40px 16px;text-align: center}.ai-panel-head{display: flex;align-items: flex-start;justify-content: space-between;gap: 12px;padding-bottom: 12px;border-bottom: 1px solid var(--vanphu-divider)}.ai-panel-name{display: block;font-size: 1.08rem;font-weight: 700;letter-spacing: -0.01em;color: var(--vanphu-text)}.ai-panel-code{display: block;margin-top: 2px;font-size: 0.8rem;color: var(--vanphu-text-muted)}.ai-section{gap: 6px}.ai-section + .ai-section{padding-top: 12px;border-top: 1px solid var(--vanphu-divider)}.ai-section-title{display: flex;align-items: center;gap: 8px;font-size: 0.7rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--vanphu-text-muted)}.ai-section-title::before{content: "";flex: 0 0 3px;height: 12px;border-radius: 2px;background: var(--vanphu-primary)}.ai-kv{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 8px 16px}.ai-kv-label{display: block;font-size: 0.74rem;color: var(--vanphu-text-muted)}.ai-kv-value{display: block;font-size: 0.88rem;font-weight: 600;color: var(--vanphu-text);overflow-wrap: anywhere}.ai-check{display: flex;align-items: baseline;gap: 8px;font-size: 0.86rem;color: var(--vanphu-text)}.ai-check-mark{flex: 0 0 14px;width: 14px;text-align: center;font-weight: 700}.ai-check--ok .ai-check-mark{color: var(--vanphu-success)}.ai-check--warning .ai-check-mark{color: color-mix(in srgb,var(--vanphu-warning) 80%,var(--vanphu-text))}.ai-check--blocking{color: var(--vanphu-danger)}.ai-check-note{font-size: 0.8rem;color: var(--vanphu-text-muted)}.ai-history{gap: 10px;padding-left: 12px;border-left: 2px solid var(--vanphu-divider)}.ai-history-item{display: flex;flex-direction: column;gap: 2px;font-size: 0.84rem;color: var(--vanphu-text-soft)}.ai-history-action{font-weight: 600;color: var(--vanphu-text)}.ai-history-meta{font-size: 0.78rem;color: var(--vanphu-text-muted)}.ai-history-changes{white-space: pre-line;margin-top: 4px;padding: 6px 8px;border: 1px solid var(--vanphu-divider);border-radius: 8px;background: var(--vanphu-card-subtle);font-size: 0.8rem}.ai-history-file{align-self: flex-start}.ai-audit{font-size: 0.78rem;color: var(--vanphu-text-muted)}.ai-actions{display: flex;flex-wrap: wrap;justify-content: flex-end;gap: 8px;margin-top: auto;padding-top: 12px;border-top: 1px solid var(--vanphu-divider)}.ai-actions .ai-open{margin-right: auto}.ai-actions vaadin-button:not([theme~="primary"]){--vaadin-button-background: var(--vanphu-card-background);--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-border-width: 1px;--vaadin-button-text-color: var(--vanphu-text)}.ai-actions vaadin-button.ai-open{--vaadin-button-border-width: 0;--vaadin-button-background: transparent;--vaadin-button-text-color: var(--vanphu-text-soft)}.ai-actions vaadin-button.ai-action--danger{--vaadin-button-border-color: color-mix(in srgb,var(--vanphu-danger) 35%,transparent);--vaadin-button-text-color: var(--vanphu-danger)}@media (max-width: 1100px){.ai-body{flex-wrap: wrap;flex-grow: 0;min-height: 0}.ai-list,.ai-panel{flex-basis: 100%}.ai-grid{flex-grow: 0;height: 420px}}@media (max-width: 560px){.ai-kv{grid-template-columns: minmax(0,1fr)}}.apb{gap: 14px;flex-wrap: wrap;padding: 10px 14px;border: 1px solid var(--vanphu-card-border);border-radius: var(--vanphu-radius-card);background: var(--vanphu-card-background)}.apb[data-status="pending"]{background: var(--vanphu-warning-soft);border-color: color-mix(in srgb,var(--vanphu-warning) 45%,transparent)}.apb[data-status="approved"]{background: var(--vanphu-success-soft);border-color: color-mix(in srgb,var(--vanphu-success) 35%,transparent)}.apb[data-status="rejected"]{background: var(--vanphu-danger-soft);border-color: color-mix(in srgb,var(--vanphu-danger) 35%,transparent)}.apb-text{flex: 1 1 280px;min-width: 0}.apb-headline{font-size: 0.92rem;font-weight: 700;color: var(--vanphu-text)}.apb-detail{font-size: 0.82rem;color: var(--vanphu-text-soft);overflow-wrap: anywhere}.apb-actions{gap: 8px;flex-wrap: wrap}.apb--compact{width: auto;gap: 0;padding: 0;border: 0;background: transparent;flex-wrap: nowrap}.apb--compact[data-status="pending"],.apb--compact[data-status="approved"],.apb--compact[data-status="rejected"]{background: transparent;border-color: transparent}.apb--compact .apb-action{--vaadin-button-background: var(--vanphu-card-background);--vaadin-button-border-color: var(--vanphu-card-border);--vaadin-button-border-width: 1px;--vaadin-button-text-color: var(--vanphu-text)}.apb--compact .apb-action--primary{--vaadin-button-border-color: color-mix(in srgb,var(--vanphu-primary) 55%,transparent);--vaadin-button-text-color: var(--vanphu-primary-strong);font-weight: 600}.apb--compact .apb-action--danger{--vaadin-button-border-color: color-mix(in srgb,var(--vanphu-danger) 35%,transparent);--vaadin-button-text-color: var(--vanphu-danger)}.apb--compact .apb-history{min-width: 0;width: var(--lumo-size-m);padding: 0;--vaadin-button-text-color: var(--vanphu-text-soft)}.apd-dialog{gap: 14px;padding-inline: 16px;padding-block: 0 12px;box-sizing: border-box}.apd-subtitle{font-size: 0.85rem;color: var(--vanphu-text-muted)}.apd-body{gap: 14px}.apd-section{gap: 8px}.apd-section-title{font-size: 0.72rem;font-weight: 700;letter-spacing: 0.07em;text-transform: uppercase;color: var(--vanphu-primary)}.apd-hint{font-size: 0.82rem;color: var(--vanphu-text-soft)}.apd-hint-warning{font-size: 0.82rem;color: var(--vanphu-danger)}.apd-changes{display: flex;flex-direction: column;gap: 6px;max-height: 220px;overflow: auto;padding: 8px 10px;border: 1px solid var(--vanphu-divider);border-radius: 10px;background: var(--vanphu-card-subtle)}.apd-change-label{display: block;font-size: 0.8rem;color: var(--vanphu-text-muted)}.apd-change-values{display: block;font-size: 0.88rem;font-weight: 600;color: var(--vanphu-text);overflow-wrap: anywhere}.apd-upload-box{gap: 8px}.apd-upload{padding: 8px;border: 1.5px dashed color-mix(in srgb,var(--vanphu-primary) 55%,transparent);border-radius: 10px;background: var(--vanphu-primary-soft)}.apd-upload-drop{font-size: 0.84rem;color: var(--vanphu-text-soft)}.apd-error{padding: 8px 10px;border-radius: 8px;background: var(--vanphu-danger-soft);color: var(--vanphu-danger);font-size: 0.86rem}.apd-footer{gap: 8px;padding-top: 4px}.apd-confirm-danger{--vaadin-button-background: var(--vanphu-danger);--vaadin-button-border-color: var(--vanphu-danger);--vaadin-button-text-color: #ffffff}.overview-draft-toggle{margin-top: 4px}.vp-back-square{box-sizing: border-box;width: 40px;height: 40px;min-width: 40px;min-height: 40px;flex: 0 0 auto;padding: 0;border-radius: var(--vanphu-radius-field);--vaadin-button-padding: 0;--vaadin-button-min-width: 40px;--vaadin-button-height: 40px;--vaadin-button-shadow: none}.vp-back-square.vp-back-square{--vaadin-button-background: var(--vanphu-primary-soft);--vaadin-button-border-width: 1px;--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: var(--vanphu-primary-strong)}.vp-back-square.vp-back-square:hover{--vaadin-button-background: var(--vanphu-primary);--vaadin-button-border-color: var(--vanphu-primary);--vaadin-button-text-color: #ffffff}.vp-back-square.vp-back-square:active{--vaadin-button-background: var(--vanphu-primary-strong);--vaadin-button-border-color: var(--vanphu-primary-strong);--vaadin-button-text-color: #ffffff}.vp-back-square.vp-back-square::part(label){display: inline-flex;align-items: center;justify-content: center;font-size: 0;line-height: 0}.vp-back-square.vp-back-square vaadin-icon{display: inline-flex;width: 18px;height: 18px}:is(.pd-detail-actions,.ct-actions,.ld-header-actions,.prd-header-actions,.tn-card-header,.dpa-card-header,.pp-page-actions):has(.vp-back-square){gap: 8px}