:where(:root),:where(:host){--vaadin-app-layout-drawer-width: 16.5rem}vaadin-app-layout.jmix-main-view-app-layout:not([primary-section="navbar"]){--vaadin-app-layout-navbar-padding-top: var(--aura-app-layout-inset);--vaadin-app-layout-navbar-padding-inline-start: var(--aura-app-layout-inset);--vaadin-app-layout-navbar-padding-inline-end: var(--aura-app-layout-inset);--vaadin-app-layout-navbar-padding-bottom: 0;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[drawer-opened]:not([primary-section="navbar"]){--vaadin-app-layout-navbar-padding-inline-start: 0}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-bottom-width: 0.0625rem;border-start-start-radius: var(--_app-layout-radius);border-start-end-radius: var(--_app-layout-radius);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: 0.0625rem 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-section{display: flex;flex-direction: column;align-items: stretch;max-height: 100%;min-height: 100%}.jmix-main-view-navigation{display: flex;flex-direction: column;flex-grow: 1;overflow: auto}.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%;white-space: normal;overflow-wrap: anywhere}.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%;white-space: normal;overflow-wrap: anywhere}.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{color: var(--title-color);font-size: var(--title-size);box-sizing: border-box}.jmix-initial-layout-logo{--logo-size: calc(2.5 * var(--title-size));width: var(--logo-size);height: var(--logo-size)}:root{--qlcv-vang-co: #ffcd00;--qlcv-font-so-lieu: "JetBrains Mono",ui-monospace,Consolas,monospace;--qlcv-font-tieu-de: Lora,Georgia,"Times New Roman",serif;--qlcv-text-xs: 0.75rem;--qlcv-text-s: 0.8125rem;--qlcv-text-m: 0.9375rem;--qlcv-text-l: 1.125rem;--qlcv-text-xl: 1.625rem;--qlcv-text-2xl: 2.125rem;--qlcv-space-2xs: 0.125rem;--qlcv-space-xs: 0.25rem;--qlcv-space-s: 0.5rem;--qlcv-space-m: 0.75rem;--qlcv-space-l: 1rem;--qlcv-space-xl: 1.5rem;--qlcv-space-2xl: 3rem;--vaadin-radius-s: 0.125rem;--vaadin-radius-m: 0.125rem;--vaadin-radius-l: 0.25rem;--qlcv-radius-s: var(--vaadin-radius-s);--qlcv-radius-m: var(--vaadin-radius-m);--qlcv-radius-l: var(--vaadin-radius-l);--qlcv-radius-pill: 999rem;--qlcv-motion-fast: 120ms;--qlcv-motion-base: 200ms}:root{--aura-background-color-light: #f8f5ee;--aura-background-color-dark: #161310;--aura-app-background: var(--aura-background-color);--qlcv-the: light-dark(#fffdf8,#1f1b17);--qlcv-ke: light-dark(#d9cfbd,#3a332c);--qlcv-ke-nhat: light-dark(#e8e0d1,#2d2722);--qlcv-ho: light-dark(#f1ece2,#262019);--qlcv-muc: light-dark(#231c16,#efe9e1);--qlcv-muc-phu: light-dark(#5d5246,#b3a898);--qlcv-muc-mo: light-dark(#7a6c5c,#8f8476);--vaadin-text-color: var(--qlcv-muc);--vaadin-text-color-secondary: var(--qlcv-muc-phu);--vaadin-text-color-disabled: var(--qlcv-muc-mo);--aura-accent-color-light: #7a1118;--aura-accent-color-dark: #9b1b22;--aura-accent-contrast-color-dark: #ffffff;--qlcv-brand-solid: light-dark(#7a1118,#9b1b22);--qlcv-brand-go: light-dark(#3d0709,#4f0c10);--qlcv-brand-ho: light-dark(#8c1a21,#ad242b);--qlcv-brand-700: light-dark(#6e0f14,#e8c98a);--qlcv-nut-phu: light-dark(#ebe4d7,#2e2822);--qlcv-nut-phu-ho: light-dark(#e2d8c6,#3a332c);--qlcv-nut-phu-go: light-dark(#b3a58c,#0e0c0a);--qlcv-son-mai: light-dark(#6e0f14,#4f0c10);--qlcv-son-mai-chu: light-dark(#f6e7c8,#f6e7c8);--qlcv-chi-vang: light-dark(#e2c275,#e2c275);--qlcv-vang-nhat: light-dark(#ffe7a8,#ffe7a8);--qlcv-on-brand: #ffffff;--qlcv-co-do-nhat: light-dark(#fdeaeb,rgba(238,28,37,0.15));--qlcv-co-do-dam: light-dark(#c4161c,#ff6b6b);--qlcv-co-vang-nhat: light-dark(#fff8db,rgba(245,158,11,0.15));--qlcv-co-vang-dam: light-dark(#7a5b00,#fcd34d);--qlcv-status-chua-cham: light-dark(#7e8083,#7e8083);--qlcv-status-chua-to: light-dark(#7e8083,#7e8083);--qlcv-status-chua-nhat: light-dark(#eae9e5,#34312f);--qlcv-status-chua-dam: light-dark(#5c5d60,#a2a4a8);--qlcv-status-chua-tren: light-dark(#231c16,#231c16);--qlcv-status-choxl-cham: light-dark(#009bd8,#7dcffd);--qlcv-status-choxl-to: light-dark(#1ba8e5,#7dcffd);--qlcv-status-choxl-nhat: light-dark(#dbeff5,#34434a);--qlcv-status-choxl-dam: light-dark(#00649d,#7dcffd);--qlcv-status-choxl-tren: light-dark(#231c16,#231c16);--qlcv-status-dang-cham: light-dark(#1d60ad,#5b8bff);--qlcv-status-dang-to: light-dark(#1d60ad,#5b8bff);--qlcv-status-dang-nhat: light-dark(#dbe4ec,#2c344a);--qlcv-status-dang-dam: light-dark(#165aa7,#72a5ff);--qlcv-status-dang-tren: light-dark(#ffffff,#231c16);--qlcv-status-cho-cham: light-dark(#a58100,#ffdc51);--qlcv-status-cho-to: light-dark(#fdc010,#ffdc51);--qlcv-status-cho-nhat: light-dark(#fff3d3,#504524);--qlcv-status-cho-dam: light-dark(#8f5600,#ffdc51);--qlcv-status-cho-tren: light-dark(#231c16,#231c16);--qlcv-status-tra-cham: light-dark(#c65802,#f68d0e);--qlcv-status-tra-to: light-dark(#df8117,#f68d0e);--qlcv-status-tra-nhat: light-dark(#fae9d4,#4e3415);--qlcv-status-tra-dam: light-dark(#9c4400,#fd931e);--qlcv-status-tra-tren: light-dark(#231c16,#231c16);--qlcv-status-xong-cham: light-dark(#0c6e21,#64c18e);--qlcv-status-xong-to: light-dark(#0c6e21,#64c18e);--qlcv-status-xong-nhat: light-dark(#d8e6d6,#2e4031);--qlcv-status-xong-dam: light-dark(#00681a,#64c18e);--qlcv-status-xong-tren: light-dark(#ffffff,#231c16);--qlcv-status-tuchoi-cham: light-dark(#c2262e,#e24b3b);--qlcv-status-tuchoi-to: light-dark(#c2262e,#e24b3b);--qlcv-status-tuchoi-nhat: light-dark(#f5dbd8,#4a261f);--qlcv-status-tuchoi-dam: light-dark(#b41122,#ff7a66);--qlcv-status-tuchoi-tren: light-dark(#ffffff,#231c16);--qlcv-status-dung-cham: light-dark(#383533,#e8e4df);--qlcv-status-dung-to: light-dark(#383533,#e8e4df);--qlcv-status-dung-nhat: light-dark(#dfddd8,#4b4743);--qlcv-status-dung-dam: light-dark(#383533,#e8e4df);--qlcv-status-dung-tren: light-dark(#ffffff,#231c16);--qlcv-tien-do-xong: light-dark(#4f46e5,#a5b4fc);--qlcv-status-draft: var(--qlcv-status-chua-to);--qlcv-status-pending-process: var(--qlcv-status-choxl-to);--qlcv-status-in-progress: var(--qlcv-status-dang-to);--qlcv-status-pending-review: var(--qlcv-status-cho-to);--qlcv-status-returned: var(--qlcv-status-tra-to);--qlcv-status-completed: var(--qlcv-status-xong-to);--qlcv-status-closed: var(--qlcv-status-xong-to);--qlcv-status-rejected: var(--qlcv-status-tuchoi-to);--qlcv-status-cancelled: var(--qlcv-status-dung-to);--qlcv-hd-sua: var(--qlcv-muc);--qlcv-hd-xem: var(--qlcv-muc);--qlcv-hd-duyet: var(--qlcv-muc);--qlcv-hd-xoa: var(--qlcv-co-do-dam);--qlcv-hd-trung-tinh: var(--vaadin-text-color-secondary);--qlcv-bieu-do-1: light-dark(#4338ca,#6366f1);--qlcv-bieu-do-2: light-dark(#0891b2,#0ea5b7);--qlcv-bieu-do-3: light-dark(#c026d3,#d946ef);--qlcv-bieu-do-4: light-dark(#059669,#22a06b);--qlcv-bieu-do-khac: light-dark(#868c95,#6b7280);--qlcv-tre-1: light-dark(#e8777d,#8f2a2e);--qlcv-tre-2: light-dark(#d63a43,#c93a40);--qlcv-tre-3: light-dark(#b0111a,#f0676d);--qlcv-tre-4: light-dark(#6f0a10,#ffb3b6);--qlcv-uu-tien-1: light-dark(#a4aab3,#4c5159);--qlcv-uu-tien-2: light-dark(#7b818a,#6f757e);--qlcv-uu-tien-3: light-dark(#565b63,#9aa0a8);--qlcv-uu-tien-4: light-dark(#2f3338,#cfd3d8);--qlcv-sidebar-nen: var(--qlcv-son-mai);--qlcv-sidebar-chu: #f3e2c2;--qlcv-sidebar-chu-phu: #d9b877;--qlcv-sidebar-chu-manh: #ffffff;--qlcv-sidebar-ho-nen: color-mix(in oklab,var(--qlcv-sidebar-nen),white 7%);--qlcv-sidebar-chon-nen: color-mix(in oklab,var(--qlcv-sidebar-nen),var(--qlcv-chi-vang) 16%);--qlcv-hoa-van: light-dark(rgba(110,15,20,0.07),rgba(226,194,117,0.08));--qlcv-hoa-van-dam: light-dark(rgba(110,15,20,0.2),rgba(226,194,117,0.22));--qlcv-link: light-dark(#0a4ba8,#93b8fb);--qlcv-focus: light-dark(#ffcd00,#ffcd00);--qlcv-focus-vien: light-dark(#0b0c0c,#0b0c0c);--vaadin-focus-ring-width: 0.1875rem;--qlcv-chon-nen: light-dark(#e6eefc,rgba(96,165,250,0.2));--qlcv-chon-chu: light-dark(#0a4ba8,#93b8fb);--qlcv-chon-vach: light-dark(#1d4ed8,#60a5fa);--qlcv-av-nen: light-dark(#ebe4d7,#3a332c);--qlcv-av-chu: light-dark(#4a3f33,#e8dccb);--qlcv-ke-thua-nen: light-dark(#dbe7fb,rgba(96,165,250,0.22));--vaadin-focus-ring-color: var(--qlcv-focus);--qlcv-dem-nen: light-dark(#c4161c,#ff6b6b);--qlcv-dem-chu: light-dark(#ffffff,#2a0a0c);--qlcv-tile-nen: light-dark(#efe4d0,#2e2620);--qlcv-tile-chu: light-dark(#6e0f14,#e2c275);--qlcv-uu-tien-khan: var(--qlcv-co-do-dam);--qlcv-uu-tien-cao: light-dark(#c65802,#f68d0e);--qlcv-uu-tien-thap: var(--qlcv-muc-mo)}@font-face{font-family: "Be Vietnam Pro";font-style: normal;font-weight: 400;font-display: swap;src: url('fonts/be-vietnam-pro-latin-400-normal.woff2') format("woff2");unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: "Be Vietnam Pro";font-style: normal;font-weight: 400;font-display: swap;src: url('fonts/be-vietnam-pro-latin-ext-400-normal.woff2') format("woff2");unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: "Be Vietnam Pro";font-style: normal;font-weight: 400;font-display: swap;src: url('fonts/be-vietnam-pro-vietnamese-400-normal.woff2') format("woff2");unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family: "Be Vietnam Pro";font-style: normal;font-weight: 500;font-display: swap;src: url('fonts/be-vietnam-pro-latin-500-normal.woff2') format("woff2");unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: "Be Vietnam Pro";font-style: normal;font-weight: 500;font-display: swap;src: url('fonts/be-vietnam-pro-latin-ext-500-normal.woff2') format("woff2");unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: "Be Vietnam Pro";font-style: normal;font-weight: 500;font-display: swap;src: url('fonts/be-vietnam-pro-vietnamese-500-normal.woff2') format("woff2");unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family: "Be Vietnam Pro";font-style: normal;font-weight: 600;font-display: swap;src: url('fonts/be-vietnam-pro-latin-600-normal.woff2') format("woff2");unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: "Be Vietnam Pro";font-style: normal;font-weight: 600;font-display: swap;src: url('fonts/be-vietnam-pro-latin-ext-600-normal.woff2') format("woff2");unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: "Be Vietnam Pro";font-style: normal;font-weight: 600;font-display: swap;src: url('fonts/be-vietnam-pro-vietnamese-600-normal.woff2') format("woff2");unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family: "Be Vietnam Pro";font-style: normal;font-weight: 700;font-display: swap;src: url('fonts/be-vietnam-pro-latin-700-normal.woff2') format("woff2");unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: "Be Vietnam Pro";font-style: normal;font-weight: 700;font-display: swap;src: url('fonts/be-vietnam-pro-latin-ext-700-normal.woff2') format("woff2");unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: "Be Vietnam Pro";font-style: normal;font-weight: 700;font-display: swap;src: url('fonts/be-vietnam-pro-vietnamese-700-normal.woff2') format("woff2");unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family: "JetBrains Mono";font-style: normal;font-weight: 100 800;font-display: swap;src: url('fonts/jetbrains-mono-latin-wght-normal.woff2') format("woff2");unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: "JetBrains Mono";font-style: normal;font-weight: 100 800;font-display: swap;src: url('fonts/jetbrains-mono-latin-ext-wght-normal.woff2') format("woff2");unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: "JetBrains Mono";font-style: normal;font-weight: 100 800;font-display: swap;src: url('fonts/jetbrains-mono-vietnamese-wght-normal.woff2') format("woff2");unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family: "Lora";font-style: normal;font-weight: 500;font-display: swap;src: url('fonts/lora-latin-500-normal.woff2') format("woff2");unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: "Lora";font-style: normal;font-weight: 500;font-display: swap;src: url('fonts/lora-latin-ext-500-normal.woff2') format("woff2");unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: "Lora";font-style: normal;font-weight: 500;font-display: swap;src: url('fonts/lora-vietnamese-500-normal.woff2') format("woff2");unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family: "Lora";font-style: normal;font-weight: 600;font-display: swap;src: url('fonts/lora-latin-600-normal.woff2') format("woff2");unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: "Lora";font-style: normal;font-weight: 600;font-display: swap;src: url('fonts/lora-latin-ext-600-normal.woff2') format("woff2");unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: "Lora";font-style: normal;font-weight: 600;font-display: swap;src: url('fonts/lora-vietnamese-600-normal.woff2') format("woff2");unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}html{--aura-font-family: "Be Vietnam Pro",system-ui,"Segoe UI",Roboto,sans-serif;--aura-base-font-size: 15;font-size: clamp(0.9375rem,0.4375rem + 0.4688vw,1.125rem)}:root,vaadin-app-layout>:not([slot]),vaadin-dialog,vaadin-confirm-dialog,vaadin-notification-card{--vaadin-border-color: var(--qlcv-ke);--vaadin-border-color-secondary: var(--qlcv-ke-nhat)}:is(vaadin-button,vaadin-upload-button,vaadin-menu-bar-button):not( [theme~="primary"],[theme~="tertiary"],[theme~="error"] ){--vaadin-button-background: var(--qlcv-nut-phu);--vaadin-button-border-color: transparent;--vaadin-button-text-color: var(--qlcv-muc);--vaadin-button-shadow: 0 0.125rem 0 var(--qlcv-nut-phu-go)}:is(vaadin-button,vaadin-upload-button,vaadin-menu-bar-button):not( [theme~="primary"],[theme~="tertiary"],[theme~="error"],[disabled] ):hover{--vaadin-button-background: var(--qlcv-nut-phu-ho)}:is(vaadin-button,vaadin-upload-button,vaadin-menu-bar-button)[theme~="primary"]{--vaadin-button-shadow: 0 0.125rem 0 var(--qlcv-brand-go)}:is(vaadin-button,vaadin-upload-button,vaadin-menu-bar-button)[theme~="primary"]:not([disabled]):hover{--vaadin-button-background: var(--qlcv-brand-ho)}:is( vaadin-button,vaadin-upload-button,vaadin-menu-bar-button,vaadin-drawer-toggle,vaadin-tab,vaadin-details-summary )[focus-ring]{outline: var(--vaadin-focus-ring-width) solid var(--qlcv-focus);outline-offset: 0;box-shadow: 0 0 0 calc(var(--vaadin-focus-ring-width) + 0.125rem) var(--qlcv-focus-vien)}:is(vaadin-checkbox,vaadin-radio-button)[focus-ring]::part(checkbox),:is(vaadin-checkbox,vaadin-radio-button)[focus-ring]::part(radio){outline: var(--vaadin-focus-ring-width) solid var(--qlcv-focus);outline-offset: 0;box-shadow: 0 0 0 calc(var(--vaadin-focus-ring-width) + 0.125rem) var(--qlcv-focus-vien)}:root{--vaadin-input-field-border-width: 0.125rem;--vaadin-input-field-border-color: var(--qlcv-muc);--vaadin-input-field-background: var(--qlcv-the);--vaadin-input-field-label-font-weight: 700;--vaadin-input-field-label-color: var(--qlcv-muc)}[focus-ring]::part(input-field){outline-offset: 0;box-shadow: inset 0 0 0 0.0625rem var(--qlcv-muc)}vaadin-grid{--vaadin-grid-header-font-weight: 700;--vaadin-grid-header-text-color: var(--qlcv-muc);--vaadin-grid-border-color: var(--qlcv-ke);--vaadin-grid-row-hover-background-color: var(--qlcv-ho);--vaadin-grid-row-selected-background-color: var(--qlcv-chon-nen);--vaadin-grid-background: var(--qlcv-the)}vaadin-grid::part(last-header-row-cell){border-block-end: 0.125rem solid var(--qlcv-muc)}vaadin-grid::part(body-cell){border-block-start-color: var(--qlcv-ke-nhat)}.qlcv-fixed-row{flex: none}[class*="qlcv-"]{box-sizing: border-box}.qlcv-so-lieu{font-family: var(--qlcv-font-so-lieu);font-variant-numeric: tabular-nums;letter-spacing: -0.01em}vaadin-vertical-layout[id="cv_Directive.detail"],vaadin-vertical-layout[id="cv_Task.detail"],vaadin-vertical-layout[id="cv_WorkPlan.detail"]{overflow-x: hidden}vaadin-vertical-layout[id="cv_Directive.detail"]>*,vaadin-vertical-layout[id="cv_Task.detail"]>*,vaadin-vertical-layout[id="cv_WorkPlan.detail"]>*{flex: none}.qlcv-cell-link,.qlcv-cell-sub{display: block;white-space: normal;overflow-wrap: anywhere}.qlcv-brand{display: flex;flex-direction: column;align-items: center;gap: 0.375rem;padding: 1.25rem 0.75rem 0.75rem;text-align: center}.qlcv-brand-logo{width: 3.25rem;height: 3.25rem;margin-bottom: 0.25rem;flex-shrink: 0;object-fit: contain}.qlcv-brand-parent{font-size: 0.6875rem;line-height: 1.35;color: var(--qlcv-sidebar-chu);text-wrap: balance}.qlcv-brand-agency{font-size: var(--qlcv-text-s);font-weight: 700;line-height: 1.3;color: var(--qlcv-sidebar-chu-manh);text-wrap: balance}.qlcv-brand-rule{inline-size: 3rem;block-size: 0.0625rem;margin: 0.375rem 0 0.125rem;background: var(--qlcv-chi-vang)}.qlcv-brand-title{font-family: var(--qlcv-font-tieu-de);font-size: 1.0625rem;font-weight: 600;line-height: 1.2;color: var(--qlcv-sidebar-chu-manh)}.qlcv-sidebar-foot{flex: none;padding: 0.75rem}.qlcv-sidebar-foot vaadin-button[theme~="tertiary"].qlcv-sidebar-swap{inline-size: 100%;block-size: auto;min-block-size: 2.5rem;justify-content: flex-start;white-space: normal;text-align: start;--vaadin-button-text-color: var(--qlcv-sidebar-chu);border: 0.0625rem solid color-mix(in oklab,var(--qlcv-chi-vang) 35%,transparent)}.qlcv-sidebar-swap vaadin-icon{color: var(--qlcv-sidebar-chu-phu)}.qlcv-sidebar-foot vaadin-button[theme~="tertiary"].qlcv-sidebar-swap:hover{--vaadin-button-text-color: var(--qlcv-sidebar-chu-manh);background: var(--qlcv-sidebar-ho-nen)}.qlcv-top-date{font-family: var(--qlcv-font-tieu-de);font-size: var(--qlcv-text-m);color: var(--qlcv-muc-phu);white-space: nowrap}@media (max-width: 48em){.qlcv-top-date{display: none}}vaadin-app-layout{--vaadin-app-layout-drawer-background: var(--qlcv-sidebar-nen)}vaadin-app-layout.jmix-main-view-app-layout{padding-bottom: max(var(--aura-app-layout-inset),var(--vaadin-app-layout-navbar-offset-bottom,0))}vaadin-app-layout>:not([slot]){--vaadin-text-color: var(--qlcv-muc);--vaadin-text-color-secondary: var(--qlcv-muc-phu);--vaadin-text-color-disabled: var(--qlcv-muc-mo)}vaadin-app-layout::part(drawer){background: var(--qlcv-sidebar-nen);overflow-x: clip}.jmix-list-menu{color: var(--qlcv-sidebar-chu)}.jmix-list-menu .jmix-menubar-item .menubar-summary{font-size: var(--qlcv-text-xs);letter-spacing: 0.03em;color: var(--qlcv-sidebar-chu-phu)}.jmix-list-menu .jmix-menubar-item vaadin-details-summary::part(toggle){color: var(--qlcv-sidebar-chu-phu)}.jmix-list-menu .jmix-menubar-item vaadin-details-summary:focus-visible{outline: 0.125rem solid var(--qlcv-vang-co);outline-offset: -0.125rem;border-radius: var(--vaadin-radius-m)}.jmix-list-menu .jmix-menubar-item vaadin-details-summary:hover{background-color: var(--qlcv-sidebar-ho-nen);border-radius: var(--vaadin-radius-m)}.jmix-list-menu a.jmix-menu-item{border-radius: var(--vaadin-radius-m);border-inline-start: 0.1875rem solid transparent;transition: background-color 120ms ease-out}.jmix-list-menu a.jmix-menu-item:hover{background-color: var(--qlcv-sidebar-ho-nen);color: var(--qlcv-sidebar-chu-manh)}.jmix-list-menu a.jmix-menu-item:active{background-color: var(--qlcv-sidebar-chon-nen)}.jmix-list-menu a.jmix-menu-item[highlight]{color: var(--qlcv-sidebar-chu-manh);background-color: var(--qlcv-sidebar-chon-nen);border-inline-start-color: var(--qlcv-vang-co);border-start-start-radius: 0;border-end-start-radius: 0}.jmix-list-menu a.jmix-menu-item:focus-visible{outline: 0.125rem solid var(--qlcv-vang-co);outline-offset: -0.125rem}.jmix-list-menu a.jmix-menu-item vaadin-icon{inline-size: 1.125rem;block-size: 1.125rem;margin-inline-end: var(--qlcv-space-s);flex-shrink: 0;color: var(--qlcv-sidebar-chu-phu)}.jmix-list-menu a.jmix-menu-item[highlight] vaadin-icon{opacity: 1;color: var(--qlcv-vang-co)}.qlcv-theme-switcher + .jmix-main-view-user-menu{margin-inline-start: 0}.qlcv-notification-button{margin-inline-start: auto;position: relative;overflow: visible}.qlcv-notification-unread-badge::part(label){position: absolute;inset-block-start: -0.125rem;inset-inline-end: -0.125rem;box-sizing: border-box;min-inline-size: 1.125rem;block-size: 1.125rem;padding-inline: 0.25rem;text-align: center;pointer-events: none;border-radius: var(--qlcv-radius-pill);background: var(--qlcv-dem-nen);color: var(--qlcv-dem-chu);font-size: 0.6875rem;font-weight: 600;font-variant-numeric: tabular-nums;line-height: 1.125rem;box-shadow: 0 0 0 0.125rem var(--vaadin-background-color)}@media (max-width: 30rem){.jmix-main-view-header .user-menu-button-content>.user-menu-text{display: none}.jmix-main-view-header{gap: var(--qlcv-space-xs);padding-inline: var(--qlcv-space-s)}}.jmix-initial-layout{position: relative;overflow: hidden}.jmix-initial-layout::before{content: "";position: absolute;inline-size: 84vmin;block-size: 84vmin;inset-inline-start: -30vmin;inset-block-end: -32vmin;background-color: var(--qlcv-hoa-van);mask-image: url('images/trong-dong.webp');-webkit-mask-image: url('images/trong-dong.webp');mask-repeat: no-repeat;-webkit-mask-repeat: no-repeat;mask-size: contain;-webkit-mask-size: contain;pointer-events: none}.jmix-initial-layout .jmix-initial-layout-content{position: relative;flex-direction: column-reverse;align-items: center;justify-content: center;gap: var(--qlcv-space-l)}.jmix-initial-layout .jmix-initial-layout-title{font-family: var(--qlcv-font-tieu-de);font-weight: 600;color: var(--qlcv-brand-700);line-height: 1.2;text-align: center}.jmix-initial-layout .jmix-initial-layout-logo{--logo-size: 5.5rem}.jmix-generic-filter-controls-layout vaadin-menu-bar-button[theme~="success"]{--vaadin-button-background: transparent;--vaadin-button-text-color: var(--vaadin-text-color);--vaadin-button-border-color: var(--vaadin-border-color);--vaadin-button-border-width: 0.0625rem}.jmix-generic-filter-controls-layout vaadin-menu-bar-button[theme~="success"]:hover{--vaadin-button-background: var(--qlcv-ho)}vaadin-button[theme~="error"]:not([theme~="primary"]){--vaadin-button-background: transparent;--vaadin-button-border-width: 0;--vaadin-button-text-color: var(--vaadin-text-color-secondary)}vaadin-button[theme~="error"]:not([theme~="primary"]):hover{--vaadin-button-background: var(--qlcv-ho);--vaadin-button-text-color: var(--qlcv-co-do-dam)}vaadin-menu-bar-button[theme~="tertiary"]{--vaadin-button-text-color: var(--qlcv-muc)}vaadin-button[theme~="tertiary"]:not([theme~="primary"]){--vaadin-button-text-color: var(--vaadin-text-color-secondary);--vaadin-button-background: transparent}vaadin-button[theme~="tertiary"]:not([theme~="primary"]):hover{--vaadin-button-text-color: var(--vaadin-text-color)}.qlcv-action-button{color: var(--vaadin-text-color-secondary)}.qlcv-action-open{color: var(--qlcv-link)}.qlcv-action-open::part(label){text-decoration: underline;text-underline-offset: 0.1875rem}.qlcv-action-open:hover::part(label){text-decoration-thickness: 0.125rem}.qlcv-action-approve{color: var(--qlcv-hd-duyet)}.qlcv-action-approve:hover{background: var(--qlcv-ho)}.qlcv-action-edit{color: var(--qlcv-hd-sua)}.qlcv-badge{display: inline-flex;align-items: center;gap: 0.3125rem;padding: 0.125rem 0.5rem;border-radius: var(--qlcv-radius-s);font-size: var(--qlcv-text-s);font-weight: 700;white-space: nowrap;line-height: 1.5;align-self: flex-start}.qlcv-badge::before{inline-size: 0.9375rem;block-size: 0.9375rem;flex-shrink: 0;background-color: currentColor;-webkit-mask-position: center;mask-position: center;-webkit-mask-size: contain;mask-size: contain;-webkit-mask-repeat: no-repeat;mask-repeat: no-repeat}.qlcv-badge-dot{box-shadow: inset 0 0 0 0.0625rem currentColor}.qlcv-badge-draft{background: var(--qlcv-status-chua-nhat);color: var(--qlcv-status-chua-dam)}.qlcv-badge-draft::before{content: "";background-color: var(--qlcv-status-chua-cham);-webkit-mask-image: url('icons/dashed.svg');mask-image: url('icons/dashed.svg')}.qlcv-badge-pending{background: var(--qlcv-status-choxl-nhat);color: var(--qlcv-status-choxl-dam)}.qlcv-badge-pending::before{content: "";background-color: var(--qlcv-status-choxl-cham);-webkit-mask-image: url('icons/circle.svg');mask-image: url('icons/circle.svg')}.qlcv-badge-progress{background: var(--qlcv-status-dang-nhat);color: var(--qlcv-status-dang-dam)}.qlcv-badge-progress::before{content: "";background-color: var(--qlcv-status-dang-cham);-webkit-mask-image: url('icons/half.svg');mask-image: url('icons/half.svg')}.qlcv-badge-waiting{background: var(--qlcv-status-cho-nhat);color: var(--qlcv-status-cho-dam)}.qlcv-badge-waiting::before{content: "";background-color: var(--qlcv-status-cho-cham);-webkit-mask-image: url('icons/hourglass.svg');mask-image: url('icons/hourglass.svg')}.qlcv-badge-returned{background: var(--qlcv-status-tra-nhat);color: var(--qlcv-status-tra-dam)}.qlcv-badge-returned::before{content: "";background-color: var(--qlcv-status-tra-cham);-webkit-mask-image: url('icons/undo.svg');mask-image: url('icons/undo.svg')}.qlcv-badge-done{background: var(--qlcv-status-xong-nhat);color: var(--qlcv-status-xong-dam)}.qlcv-badge-done::before{content: "";background-color: var(--qlcv-status-xong-cham);-webkit-mask-image: url('icons/check-circle.svg');mask-image: url('icons/check-circle.svg')}.qlcv-badge-rejected{background: var(--qlcv-status-tuchoi-nhat);color: var(--qlcv-status-tuchoi-dam)}.qlcv-badge-rejected::before{content: "";background-color: var(--qlcv-status-tuchoi-cham);-webkit-mask-image: url('icons/ban.svg');mask-image: url('icons/ban.svg')}.qlcv-badge-stopped{background: var(--qlcv-status-dung-nhat);color: var(--qlcv-status-dung-dam)}.qlcv-badge-stopped::before{content: "";background-color: var(--qlcv-status-dung-cham);-webkit-mask-image: url('icons/pause.svg');mask-image: url('icons/pause.svg')}.qlcv-badge-neutral{background: transparent;color: var(--vaadin-text-color-secondary);box-shadow: inset 0 0 0 0.0625rem var(--vaadin-border-color)}.qlcv-badge-congestion{background: transparent;color: var(--qlcv-co-vang-dam);box-shadow: inset 0 0 0 0.0625rem currentColor}.qlcv-badge-congestion::before{content: "";-webkit-mask-image: url('icons/stack.svg');mask-image: url('icons/stack.svg')}.qlcv-badge-due-overdue,.qlcv-badge-due-today{background: transparent;color: var(--qlcv-co-do-dam)}.qlcv-badge-due-soon{background: transparent;color: var(--qlcv-co-vang-dam)}.qlcv-badge-due-overdue::before{content: "";-webkit-mask-image: url('icons/clock-alert.svg');mask-image: url('icons/clock-alert.svg')}.qlcv-badge-due-today::before{content: "";-webkit-mask-image: url('icons/today.svg');mask-image: url('icons/today.svg')}.qlcv-badge-due-soon::before{content: "";-webkit-mask-image: url('icons/clock.svg');mask-image: url('icons/clock.svg')}.qlcv-priority-chip{background: none;color: var(--qlcv-muc);font-weight: 600;box-shadow: inset 0 0 0 0.0625rem var(--qlcv-ke)}.qlcv-priority-chip::before{content: "";-webkit-mask-image: url('icons/flag.svg');mask-image: url('icons/flag.svg')}.qlcv-priority-chip-urgent::before{background-color: var(--qlcv-uu-tien-khan)}.qlcv-priority-chip-high::before{background-color: var(--qlcv-uu-tien-cao)}.qlcv-priority-chip-low::before{background-color: var(--qlcv-uu-tien-thap)}.qlcv-mode-toggle{padding: var(--qlcv-space-xs) 0}.qlcv-mode-toggle vaadin-radio-button{padding: var(--qlcv-space-xs) var(--qlcv-space-m);border: 0.0625rem solid var(--vaadin-border-color);border-radius: var(--qlcv-radius-pill);background: var(--vaadin-background-color);font-size: var(--qlcv-text-m);white-space: nowrap;cursor: pointer}.qlcv-mode-toggle vaadin-radio-button::part(radio){display: none}.qlcv-mode-toggle vaadin-radio-button:hover{border-color: var(--vaadin-text-color)}.qlcv-mode-toggle vaadin-radio-button[checked]{background: var(--qlcv-chon-nen);border-color: var(--qlcv-chon-vach);color: var(--qlcv-chon-chu);font-weight: 600}.qlcv-meta-chip{display: inline-flex;align-items: center;gap: var(--qlcv-space-2xs);padding: var(--qlcv-space-2xs) var(--qlcv-space-s);border: 0.0625rem solid var(--qlcv-ke);border-radius: var(--qlcv-radius-s);background: transparent;color: var(--vaadin-text-color-secondary);font-size: var(--qlcv-text-xs);line-height: 1.5;white-space: nowrap;max-inline-size: 100%}.qlcv-meta-chip-label{color: var(--vaadin-text-color-secondary)}.qlcv-meta-chip-value{color: var(--vaadin-text-color);font-weight: 600;white-space: normal;overflow-wrap: anywhere}.qlcv-list-card,.qlcv-detail-header,.qlcv-round,.qlcv-pagination,.qlcv-section-card,.qlcv-two-column-side,.qlcv-plans-card{border: 0.0625rem solid var(--qlcv-ke);border-radius: var(--qlcv-radius-l);background: var(--qlcv-the)}.qlcv-card .qlcv-card,.qlcv-section-card .qlcv-section-card,.qlcv-section-card .qlcv-document-card,.qlcv-two-column-side .qlcv-section-card{border: 0;padding: 0;border-radius: 0}.qlcv-list-card{padding: 0;overflow: hidden;display: flex;flex-direction: column;flex: 1 1 auto;min-height: 0;min-width: 0}.qlcv-list-card>.qlcv-filter-bar,.qlcv-list-card>.qlcv-view-bar{flex: none}.qlcv-list-card>vaadin-grid,.qlcv-inbox-pane>vaadin-grid{flex: 1 1 auto;min-height: 12rem;height: auto}.qlcv-section-card{display: flex;flex-direction: column;gap: var(--qlcv-space-m);padding: var(--qlcv-space-l);width: 100%}.qlcv-two-column{display: grid;grid-template-columns: minmax(0,1.7fr) minmax(0,1fr);gap: var(--qlcv-space-xl);align-items: start}@media (max-width: 64rem){.qlcv-two-column{grid-template-columns: minmax(0,1fr)}}.qlcv-two-column-main,.qlcv-two-column-side{display: flex;flex-direction: column;gap: var(--qlcv-space-m);min-inline-size: 0}.qlcv-two-column-side{padding: var(--qlcv-space-l)}.qlcv-detail-header{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: var(--qlcv-space-m);padding: var(--qlcv-space-m);margin-bottom: var(--qlcv-space-m)}.qlcv-detail-header-text{display: flex;flex-direction: column;gap: var(--qlcv-space-2xs);flex: 1 1 0;min-width: 0}.qlcv-detail-title-row{display: flex;align-items: center;flex-wrap: wrap;gap: var(--qlcv-space-s)}.qlcv-detail-code{font-size: var(--qlcv-text-xs);font-weight: 600;color: var(--vaadin-text-color-secondary)}.qlcv-detail-summary{font-family: var(--qlcv-font-tieu-de);font-size: var(--qlcv-text-xl);font-weight: 600;line-height: 1.25;margin: 0;color: var(--vaadin-text-color)}.qlcv-header-meta{display: flex;flex-wrap: wrap;align-items: center;gap: var(--qlcv-space-xs);padding-top: 0}.qlcv-page-header{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: var(--qlcv-space-m);width: 100%}.qlcv-page-header:not(:has(>.qlcv-page-header-main,>.qlcv-back-button)){justify-content: flex-end}.qlcv-page-header-main{display: flex;align-items: center;gap: var(--qlcv-space-m);min-width: 0}.qlcv-page-header>vaadin-horizontal-layout,.qlcv-detail-header>vaadin-horizontal-layout{flex-wrap: wrap;justify-content: flex-end;row-gap: var(--qlcv-space-xs);min-width: 0}.qlcv-page-header-icon{display: inline-flex;align-items: center;justify-content: center;width: 2.5rem;height: 2.5rem;flex-shrink: 0;border-radius: var(--qlcv-radius-m);background: var(--qlcv-tile-nen);color: var(--qlcv-tile-chu)}.qlcv-page-header-icon svg,.qlcv-page-header-icon vaadin-icon{width: 1rem;height: 1rem}.qlcv-back-button{color: var(--vaadin-text-color-secondary)}.qlcv-back-button:hover{color: var(--vaadin-text-color)}.qlcv-view-bar{display: flex;flex-wrap: wrap;align-items: center;gap: var(--qlcv-space-xs) var(--qlcv-space-m);padding: var(--qlcv-space-xs) var(--qlcv-space-m) 0;border-bottom: 0.0625rem solid var(--vaadin-border-color)}.qlcv-view-switch{align-self: flex-end;gap: var(--qlcv-space-xs);margin-block-end: -0.0625rem;margin-inline-end: auto}.qlcv-view-bar .qlcv-view-switch>.qlcv-view-tab{--vaadin-button-text-color: var(--vaadin-text-color-secondary);--vaadin-button-font-weight: 500;min-block-size: 2.5rem;padding-inline: var(--qlcv-space-m);border-width: 0 0 0.125rem;border-style: solid;border-color: transparent;border-radius: var(--qlcv-radius-s) var(--qlcv-radius-s) 0 0}.qlcv-view-bar .qlcv-view-switch>.qlcv-view-tab>vaadin-icon{inline-size: 1rem;block-size: 1rem}.qlcv-view-bar .qlcv-view-switch>.qlcv-view-tab:hover{--vaadin-button-text-color: var(--vaadin-text-color);border-bottom-color: var(--vaadin-border-color)}.qlcv-view-bar .qlcv-view-switch>.qlcv-view-tab:active{border-bottom-color: var(--qlcv-chon-vach)}.qlcv-view-bar .qlcv-view-switch>.qlcv-view-tab[disabled]{--vaadin-button-text-color: var(--vaadin-text-color-disabled);border-bottom-color: transparent;cursor: var(--vaadin-disabled-cursor)}.qlcv-view-bar .qlcv-view-switch>.qlcv-view-tab.qlcv-view-switch-active{--vaadin-button-text-color: var(--qlcv-muc);--vaadin-button-font-weight: 600;border-bottom-color: var(--qlcv-chon-vach)}.qlcv-view-count{font-size: var(--qlcv-text-xs);color: var(--vaadin-text-color-secondary)}vaadin-tab.qlcv-tab-has-data::after{content: "";display: inline-block;width: 0.375rem;height: 0.375rem;border-radius: 50%;background: var(--vaadin-text-color-secondary);margin-inline-start: var(--qlcv-space-xs);vertical-align: middle;flex-shrink: 0}jmix-tabsheet::part(tabs-container){padding-block-end: 0;border-block-end: 0.0625rem solid var(--vaadin-border-color)}jmix-tabsheet>vaadin-tabs[slot="tabs"]{--vaadin-tabs-background: transparent;--vaadin-tabs-padding: 0;--vaadin-tabs-border-radius: 0}jmix-tabsheet>vaadin-tabs>vaadin-tab{--vaadin-tab-background: transparent;--vaadin-tab-text-color: var(--vaadin-text-color-secondary);--vaadin-tab-border-radius: 0;--vaadin-tab-font-weight: 600;border: 0;border-block-end: 0.1875rem solid transparent}jmix-tabsheet>vaadin-tabs>vaadin-tab:not([disabled],[selected]):hover{--vaadin-tab-text-color: var(--vaadin-text-color);border-block-end-color: var(--vaadin-border-color)}jmix-tabsheet>vaadin-tabs>vaadin-tab[selected]{--vaadin-tab-background: transparent;--vaadin-tab-text-color: var(--qlcv-muc);border-block-end-color: var(--qlcv-chon-vach);box-shadow: none}jmix-tabsheet>vaadin-tabs>vaadin-tab[active]:not([disabled]){--vaadin-tab-background: var(--vaadin-background-container)}jmix-tabsheet>vaadin-tabs>vaadin-tab:is([focus-ring],:focus-visible){outline: var(--vaadin-focus-ring-width) solid var(--qlcv-focus);outline-offset: calc(var(--vaadin-focus-ring-width) * -1);box-shadow: inset 0 0 0 calc(var(--vaadin-focus-ring-width) + 0.125rem) var(--qlcv-focus-vien)}jmix-tabsheet>vaadin-tabs>vaadin-tab[disabled]{--vaadin-tab-text-color: var(--vaadin-text-color-disabled);opacity: 1;cursor: var(--vaadin-disabled-cursor)}jmix-tabsheet::part(content){border: none;background: transparent;border-radius: 0}.qlcv-section-card .qlcv-document-card{border: none;border-radius: 0;padding: 0}.qlcv-cell{display: flex;flex-direction: column;gap: var(--qlcv-space-2xs);padding-block: var(--qlcv-space-xs);line-height: 1.35}.qlcv-cell-main{font-size: var(--qlcv-text-m);color: var(--vaadin-text-color)}.qlcv-cell-code{font-weight: 600}.qlcv-cell-link{font-weight: 600;color: var(--qlcv-link);cursor: pointer;text-decoration: underline;text-decoration-thickness: 0.0625rem;text-decoration-color: color-mix(in srgb,var(--qlcv-link) 40%,transparent);text-underline-offset: 0.125rem}.qlcv-cell-link:hover{text-decoration-thickness: 0.125rem;text-decoration-color: currentColor;text-underline-offset: 0.1875rem}.qlcv-cell-sub{font-size: var(--qlcv-text-xs);color: var(--vaadin-text-color-secondary)}.qlcv-action-view:hover{color: var(--qlcv-link)}.qlcv-action-remove:hover{color: var(--qlcv-co-do-dam)}.qlcv-action-more:hover{color: var(--vaadin-text-color)}.qlcv-task-tile-badges{display: flex;flex-wrap: wrap;align-items: center;gap: var(--qlcv-space-xs);min-width: 0}.qlcv-task-tile-badges .qlcv-badge{white-space: normal}.qlcv-cell-seq{font-size: var(--qlcv-text-xs);color: var(--vaadin-text-color-secondary)}.qlcv-cell-actions{display: flex;align-items: center;gap: var(--qlcv-space-xs)}.qlcv-cell-actions .qlcv-action-remove{color: var(--vaadin-text-color-secondary)}.qlcv-cell-actions .qlcv-action-remove:hover{color: var(--qlcv-co-do-dam)}vaadin-grid::part(selected-row-cell){background: var(--qlcv-chon-nen)}vaadin-grid::part(first-column-cell selected-row-cell){box-shadow: inset 0.1875rem 0 0 var(--qlcv-chon-vach)}vaadin-grid::part(body-row):hover{background: var(--qlcv-ho)}vaadin-grid-cell-content:empty::after{content: "—";color: var(--vaadin-text-color-secondary)}vaadin-grid-cell-content{white-space: normal;overflow-wrap: anywhere}vaadin-grid::part(body-cell){align-items: flex-start}vaadin-grid-cell-content .qlcv-badge{white-space: normal}.qlcv-filter-bar{display: flex;flex-wrap: wrap;align-items: end;align-self: stretch;gap: var(--qlcv-space-s);padding: var(--qlcv-space-m);border-bottom: 0.0625rem solid var(--vaadin-border-color);background: var(--vaadin-background-container,transparent)}.qlcv-filter-search{width: 15rem;max-width: 100%}.qlcv-filter-select{width: 11rem;max-width: 100%}.qlcv-filter-reset{margin-inline-start: auto}.qlcv-filter-toggle{white-space: nowrap;flex-shrink: 0}vaadin-button.jmix-simple-pagination-navigation-button{--vaadin-button-background: transparent;--vaadin-button-shadow: none;--vaadin-button-text-color: var(--qlcv-muc-phu);min-width: 2.125rem;height: 2.125rem;padding-inline: var(--qlcv-space-s);margin: 0;border-radius: var(--qlcv-radius-s)}vaadin-button.jmix-simple-pagination-navigation-button:not([disabled]):hover{--vaadin-button-background: var(--qlcv-ho);--vaadin-button-text-color: var(--qlcv-muc)}vaadin-button.jmix-simple-pagination-navigation-button[disabled]{--vaadin-button-text-color: var(--vaadin-text-color-disabled);cursor: var(--vaadin-disabled-cursor)}.jmix-simple-pagination-status-bar{font-size: var(--qlcv-text-xs);font-variant-numeric: tabular-nums;color: var(--vaadin-text-color-secondary)}.jmix-simple-pagination-total-count{color: var(--vaadin-text-color);font-weight: 600}.jmix-items-per-page{--jmix-items-per-page-select-width: 5.5rem;font-size: var(--qlcv-text-xs);color: var(--vaadin-text-color-secondary)}.qlcv-pagination{flex: none;flex-wrap: wrap;row-gap: var(--qlcv-space-xs);width: 100%;margin-top: var(--qlcv-space-s);padding: var(--qlcv-space-s)}.qlcv-list-card>.qlcv-pagination{margin-top: 0;border: 0;border-top: 0.0625rem solid var(--vaadin-border-color-secondary);border-radius: 0 0 var(--qlcv-radius-l) var(--qlcv-radius-l);box-shadow: none}.qlcv-pagination .jmix-items-per-page{margin-inline-start: auto}.qlcv-pagination-pages{display: flex;align-items: center;gap: var(--qlcv-space-2xs)}vaadin-button.qlcv-pagination-page{--vaadin-button-text-color: var(--qlcv-muc);min-width: 2.125rem;height: 2.125rem;padding: 0;border-radius: var(--qlcv-radius-s)}vaadin-button.qlcv-pagination-page:not([aria-current]):hover{--vaadin-button-background: var(--qlcv-ho)}.qlcv-pagination-page[aria-current="page"]{background: var(--qlcv-chon-nen);color: var(--qlcv-chon-chu);font-weight: 700;box-shadow: inset 0 -0.1875rem 0 var(--qlcv-chon-vach);cursor: default}.qlcv-pagination-gap{padding-inline: var(--qlcv-space-2xs);color: var(--vaadin-text-color-secondary)}.qlcv-pagination-compact{display: none;color: var(--vaadin-text-color-secondary)}@media (max-width: 30rem){.qlcv-pagination-pages{display: none}.qlcv-pagination-compact{display: inline}}.qlcv-empty-title{font-size: var(--qlcv-text-m);font-weight: 600;color: var(--vaadin-text-color)}.qlcv-empty-text{font-size: var(--qlcv-text-m);max-width: 32rem}.qlcv-empty-state{display: flex;flex-direction: column;align-items: center;justify-content: center;margin: auto;gap: var(--qlcv-space-l);padding: var(--qlcv-space-2xl) var(--qlcv-space-l);font-size: var(--qlcv-text-m);color: var(--vaadin-text-color-secondary);text-align: center}.qlcv-empty-state::before{content: "";inline-size: 6.5rem;block-size: 6.5rem;background-color: var(--qlcv-hoa-van-dam);mask-image: url('images/chim-lac.webp');-webkit-mask-image: url('images/chim-lac.webp');mask-repeat: no-repeat;-webkit-mask-repeat: no-repeat;mask-size: contain;-webkit-mask-size: contain}.qlcv-two-column .qlcv-empty-state,.qlcv-empty-state-section{margin: 0;padding: var(--qlcv-space-m) 0;max-inline-size: 60ch;align-items: flex-start;text-align: start;gap: var(--qlcv-space-2xs)}.qlcv-two-column .qlcv-empty-state::before,.qlcv-empty-state-section::before{display: none}.qlcv-empty-state:not([hidden])~vaadin-grid{display: none}.qlcv-detail-content{display: flex;flex-direction: column;gap: var(--qlcv-space-xs);margin-top: var(--qlcv-space-l)}.qlcv-section-heading{display: flex;align-items: center;gap: var(--qlcv-space-s);align-self: stretch;margin: var(--qlcv-space-l) 0 var(--qlcv-space-s);padding-top: var(--qlcv-space-s);border-top: 0.0625rem solid var(--vaadin-border-color);font-size: var(--qlcv-text-m);font-weight: 700;line-height: 1.5;letter-spacing: 0;color: var(--vaadin-text-color)}.qlcv-section-heading:first-child{margin-top: 0;padding-top: 0;border-top: 0;font-family: var(--qlcv-font-tieu-de);font-size: var(--qlcv-text-l);font-weight: 600}.qlcv-detail-content>.qlcv-section-heading:first-child{padding-top: var(--qlcv-space-s);border-top: 0.0625rem solid var(--vaadin-border-color)}.qlcv-action-header{display: flex;align-items: center;justify-content: space-between;gap: var(--qlcv-space-m);padding-bottom: var(--qlcv-space-s);border-bottom: 0.0625rem solid var(--vaadin-border-color);margin-bottom: var(--qlcv-space-m)}.qlcv-action-header-title{font-size: var(--qlcv-text-m);font-weight: 600;color: var(--vaadin-text-color);margin: 0}.qlcv-section-action{margin-inline-start: auto}.qlcv-dialog-draft-button{margin-inline-end: auto}.qlcv-section-icon{display: inline-flex;align-items: center;justify-content: center;flex-shrink: 0;color: var(--vaadin-text-color-secondary)}.qlcv-section-icon vaadin-icon{width: 1rem;height: 1rem}vaadin-form-layout vaadin-text-area[readonly]::part(input-field){resize: none;overflow: visible;height: auto;min-height: 0}vaadin-form-layout[id="form"]{max-inline-size: 64rem}.qlcv-two-column-side vaadin-form-layout{max-inline-size: none}vaadin-form-layout [readonly]::part(input-field){background: none;border-color: transparent;padding-inline: 0}vaadin-form-layout [readonly]::part(required-indicator){display: none}vaadin-form-layout vaadin-multi-select-combo-box[readonly]::part(toggle-button){display: none}vaadin-form-layout [readonly]>input[slot="input"],vaadin-form-layout [readonly]>textarea[slot="textarea"]{padding-inline-start: 0}vaadin-form-layout [readonly]:not([has-value])::part(input-field){position: relative}vaadin-form-layout [readonly]:not([has-value])::part(input-field)::after{content: "—";position: absolute;inset-inline-start: 0;color: var(--vaadin-text-color-secondary)}vaadin-form-layout [readonly]:not([focus-ring])::part(input-field){outline: none}vaadin-form-layout [readonly][focus-ring]::part(input-field){outline: 0.125rem solid var(--qlcv-focus);outline-offset: 0.0625rem;border-radius: var(--qlcv-radius-s)}vaadin-dialog::part(title),vaadin-confirm-dialog::part(header){font-family: var(--qlcv-font-tieu-de);font-size: var(--qlcv-text-l);font-weight: 600}vaadin-dialog::part(overlay),vaadin-confirm-dialog::part(overlay){background: var(--qlcv-the);border-top: 0.3125rem solid var(--qlcv-son-mai);backdrop-filter: none;-webkit-backdrop-filter: none}vaadin-button.ok-button vaadin-icon,vaadin-button.cancel-button vaadin-icon,vaadin-button.yes-button vaadin-icon,vaadin-button.no-button vaadin-icon,vaadin-button.close-button vaadin-icon{display: none}.qlcv-dialog-subtitle{margin: 0;font-size: var(--qlcv-text-m);color: var(--vaadin-text-color-secondary)}.qlcv-warning-box{display: flex;flex-direction: column;gap: var(--qlcv-space-xs);padding: var(--qlcv-space-m);border: 0.0625rem solid var(--qlcv-co-vang-dam);border-radius: var(--qlcv-radius-m);background: var(--qlcv-co-vang-nhat)}.qlcv-warning-title{font-size: var(--qlcv-text-xs);font-weight: 700;color: var(--qlcv-co-vang-dam)}.qlcv-warning-item{font-size: var(--qlcv-text-xs);color: var(--qlcv-co-vang-dam)}.qlcv-stats-box{display: flex;flex-wrap: wrap;gap: var(--qlcv-space-xs) var(--qlcv-space-xl);padding: var(--qlcv-space-s) var(--qlcv-space-m);border-radius: var(--qlcv-radius-m);background: var(--vaadin-background-container,transparent)}.qlcv-request-box{flex-direction: column;align-items: flex-start;gap: var(--qlcv-space-xs)}.qlcv-stats-item{font-size: var(--qlcv-text-xs);color: var(--vaadin-text-color-secondary)}.qlcv-predecessor-confirm ul{margin-block: var(--qlcv-space-s) 0;padding-inline-start: var(--qlcv-space-xl)}.qlcv-dialog-actions{position: sticky;bottom: -0.0625rem;z-index: 1;background: var(--vaadin-background-color);border-top: 0.0625rem solid var(--vaadin-border-color-secondary);padding-block: var(--qlcv-space-m);margin-inline: calc(var(--vaadin-padding-m) * -1);padding-inline: var(--vaadin-padding-m);box-sizing: content-box;flex-shrink: 0}vaadin-notification-card[slot] .jmix-closeable-layout{padding-inline-end: var(--qlcv-space-xl)}.qlcv-notification-list:has(>.qlcv-empty-text:only-child){align-items: center;justify-content: center}.qlcv-notification-list{display: flex;flex-direction: column;gap: var(--qlcv-space-s);overflow-y: auto;padding: var(--qlcv-space-s) var(--qlcv-space-xs);background: var(--vaadin-background-container);border-radius: var(--qlcv-radius-m)}.qlcv-notification-row{display: flex;flex-direction: column;gap: var(--qlcv-space-2xs);padding: var(--qlcv-space-m);border-radius: var(--qlcv-radius-m);background: var(--vaadin-background-color);cursor: pointer}.qlcv-notification-row:hover{background: var(--qlcv-ho)}.qlcv-notification-unread{background: var(--qlcv-chon-nen);border-inline-start: 0.1875rem solid var(--qlcv-chon-vach)}.qlcv-notification-title{font-weight: 600}.qlcv-notification-kind{font-size: var(--qlcv-text-xs);font-weight: 600;color: var(--qlcv-muc-phu)}.qlcv-chat-dialog{display: flex;flex-direction: column;gap: var(--qlcv-space-s);width: 100%}.qlcv-chat-composer{gap: var(--qlcv-space-s);width: 100%}.qlcv-chat-header{display: flex;flex-direction: column;gap: var(--qlcv-space-2xs);padding-bottom: var(--qlcv-space-s);border-bottom: 0.0625rem solid var(--vaadin-border-color)}.qlcv-chat-list{display: flex;flex-direction: column;gap: var(--qlcv-space-s);overflow-y: auto;padding: var(--qlcv-space-s) var(--qlcv-space-xs);background: var(--vaadin-background-container);border: 0.0625rem solid var(--vaadin-border-color);border-radius: var(--qlcv-radius-s)}.qlcv-chat-list:empty{display: none}.qlcv-chat-list:not(:empty) + .qlcv-empty-state{display: none}.qlcv-chat-row{display: flex;flex-direction: row;align-items: flex-end;gap: var(--qlcv-space-xs);max-width: 85%}.qlcv-chat-row-me{flex-direction: row-reverse;margin-inline-start: auto}.qlcv-chat-avatar{flex: 0 0 2rem;width: 2rem;height: 2rem;border-radius: 50%;background: var(--qlcv-av-nen);color: var(--qlcv-av-chu);font-size: var(--qlcv-text-xs);font-weight: 600;display: flex;align-items: center;justify-content: center;text-transform: uppercase;user-select: none}.qlcv-chat-row-me .qlcv-chat-avatar{background: var(--qlcv-av-nen);color: var(--qlcv-av-chu)}.qlcv-chat-right{display: flex;flex-direction: column;align-items: flex-start;gap: var(--qlcv-space-2xs);min-width: 0}.qlcv-chat-row-me .qlcv-chat-right{align-items: flex-end}.qlcv-chat-meta,.qlcv-chat-footer{display: flex;align-items: center;gap: var(--qlcv-space-s)}.qlcv-chat-quote,.qlcv-chat-reply-bar{padding: var(--qlcv-space-2xs) var(--qlcv-space-s);border-inline-start: 0.1875rem solid var(--vaadin-border-color);background: var(--vaadin-background-container);border-radius: 0 var(--qlcv-radius-s) var(--qlcv-radius-s) 0}.qlcv-chat-quote{max-width: 100%}.qlcv-chat-quote-text,.qlcv-chat-reply-bar-text{display: block;max-width: 28em;font-size: var(--qlcv-text-xs);color: var(--vaadin-text-color-secondary);white-space: normal;overflow-wrap: anywhere}.qlcv-chat-bubble{padding: var(--qlcv-space-s) var(--qlcv-space-m);border: 0.0625rem solid var(--vaadin-border-color);border-radius: var(--qlcv-radius-m);background: var(--vaadin-background-color)}.qlcv-chat-row-me .qlcv-chat-bubble{background: var(--qlcv-chon-nen);border-color: var(--qlcv-chon-vach)}.qlcv-chat-text{font-size: var(--qlcv-text-m);color: var(--vaadin-text-color);white-space: pre-wrap;overflow-wrap: anywhere}.qlcv-chat-time{font-size: var(--qlcv-text-xs);color: var(--vaadin-text-color-secondary)}.qlcv-chat-reply-btn{font-size: var(--qlcv-text-xs);color: var(--qlcv-link);cursor: pointer;opacity: 0.8}.qlcv-chat-reply-btn:hover,.qlcv-chat-reply-btn:focus-visible{opacity: 1}@media (min-width: 40rem){.qlcv-chat-row{max-width: 85%}}.qlcv-timeline{display: flex;flex-direction: column;gap: var(--qlcv-space-m);padding-left: var(--qlcv-space-l);border-left: 0.125rem solid var(--vaadin-border-color)}.qlcv-timeline-item{position: relative;display: flex;flex-direction: column;gap: var(--qlcv-space-2xs)}.qlcv-timeline-item::before{content: "";position: absolute;left: -1.3125rem;top: 0.4rem;width: 0.5rem;height: 0.5rem;border-radius: var(--qlcv-radius-pill);background: var(--vaadin-text-color-secondary)}#documentsEmpty,#documentExisting{flex: none;width: 100%}.qlcv-document-card{display: flex;flex-direction: column;gap: var(--qlcv-space-m);width: 100%;padding: var(--qlcv-space-l);border: 0.0625rem solid var(--vaadin-border-color);border-radius: var(--qlcv-radius-m)}.qlcv-document-card.qlcv-document-fullscreen{position: fixed;inset: var(--qlcv-space-m);z-index: 1000;width: auto;height: auto;background: var(--vaadin-background-color);box-shadow: var(--aura-shadow-m);overflow: auto;overscroll-behavior: contain}.qlcv-document-card.qlcv-document-fullscreen .qlcv-document-preview{flex: 1 1 auto;height: auto;min-height: 0}.qlcv-document-preview{display: flex;flex: none;height: 70vh;min-height: 20rem;justify-content: center}.qlcv-document-image{max-width: 100%;max-height: 100%;margin: auto;border: 0.0625rem solid var(--vaadin-border-color);border-radius: var(--qlcv-radius-s)}.qlcv-document-pdf{width: 100%;height: 100%;border: 0.0625rem solid var(--vaadin-border-color);border-radius: var(--qlcv-radius-s)}.qlcv-document-row{display: flex;align-items: center;gap: var(--qlcv-space-m);width: 100%;flex: 0 0 auto}.qlcv-document-row>vaadin-icon{width: 1.5rem;height: 1.5rem;flex-shrink: 0;color: var(--vaadin-text-color-secondary)}#documentFileInfo{display: flex;flex-direction: column;gap: var(--qlcv-space-2xs);flex-grow: 1;min-width: 0}.qlcv-attachment-info{display: flex;flex-direction: column;gap: var(--qlcv-space-xs);flex: 1 1 auto;min-width: 0}#attachmentEmpty,#attachmentExisting{flex: none;width: 100%}#attachmentRows{display: flex;flex-direction: column;gap: var(--qlcv-space-s);width: 100%}.qlcv-kanban{display: flex;flex-direction: column;flex: 1 1 0;min-height: 0;min-width: 0;overflow-y: auto}.qlcv-kanban>div{display: flex;flex-direction: column;flex: 1 1 auto;min-height: 0}.qlcv-calendar-block{display: contents}.qlcv-calendar{display: flex;flex-direction: column;flex: 1 1 0;min-height: 0;min-width: 0;overflow-y: auto}.qlcv-calendar>div{display: flex;flex-direction: column;flex: 1 1 auto}qlcv-plan-list{display: block;inline-size: 100%;container-type: inline-size}qlcv-plan-list button{margin: 0;padding: 0;border: 0;background: none;font: inherit;color: inherit;cursor: pointer}qlcv-plan-list button:disabled{cursor: not-allowed}.qlcv-plans-icon{inline-size: 1rem;block-size: 1rem;flex-shrink: 0}.qlcv-plans-header{display: flex;flex-wrap: wrap;align-items: flex-start;justify-content: space-between;gap: var(--qlcv-space-m);margin-block-end: var(--qlcv-space-l)}.qlcv-plans-heading{display: flex;align-items: flex-start;gap: var(--qlcv-space-m);min-inline-size: 0}.qlcv-plans-heading-icon{display: inline-flex;padding-block-start: var(--qlcv-space-2xs);color: var(--vaadin-text-color-secondary)}.qlcv-plans-heading-icon .qlcv-plans-icon{inline-size: 1.5rem;block-size: 1.5rem}.qlcv-plans-title{margin: 0;font-size: var(--qlcv-text-l);font-weight: 700;line-height: 1.3;color: var(--vaadin-text-color)}.qlcv-plans-subtitle{margin: 0;font-size: var(--qlcv-text-xs);color: var(--vaadin-text-color-secondary)}.qlcv-plans-toolbar{display: flex;flex-wrap: wrap;align-items: center;gap: var(--qlcv-space-m)}.qlcv-plans-create{display: inline-flex;align-items: center;gap: var(--qlcv-space-xs);min-block-size: 2.25rem;padding-inline: var(--qlcv-space-l);border-radius: var(--qlcv-radius-m);background: var(--qlcv-brand-solid);color: var(--qlcv-on-brand);font-size: var(--qlcv-text-m);font-weight: 600;white-space: nowrap;transition: background-color 120ms ease}.qlcv-plans-create:hover:not(:disabled){background: color-mix(in srgb,var(--qlcv-brand-solid) 85%,var(--vaadin-text-color))}.qlcv-plans-create:disabled{background: var(--vaadin-background-container-strong);color: var(--vaadin-text-color-disabled)}.qlcv-plans-modes{display: inline-flex;gap: var(--qlcv-space-xs)}.qlcv-plans-mode{display: inline-flex;align-items: center;gap: var(--qlcv-space-xs);min-block-size: 2.25rem;padding-inline: var(--qlcv-space-m);border: 0.0625rem solid var(--vaadin-border-color);border-radius: var(--qlcv-radius-m);background: var(--vaadin-background-color);color: var(--vaadin-text-color-secondary);font-size: var(--qlcv-text-m);font-weight: 500;white-space: nowrap}.qlcv-plans-mode:hover{background: var(--vaadin-background-container);color: var(--vaadin-text-color)}.qlcv-plans-mode-active,.qlcv-plans-mode-active:hover{border-color: var(--qlcv-chon-vach);background: var(--qlcv-chon-nen);color: var(--qlcv-chon-chu);font-weight: 600}.qlcv-plans-icon-button{display: inline-flex;align-items: center;justify-content: center;inline-size: 2rem;block-size: 2rem;flex-shrink: 0;border-radius: var(--qlcv-radius-m);color: var(--vaadin-text-color-secondary)}.qlcv-plans-icon-button:hover{background: var(--vaadin-background-container);color: var(--vaadin-text-color)}.qlcv-plans-icon-button:active{background: var(--vaadin-background-container-strong)}.qlcv-plans-more[aria-expanded="true"]{background: var(--qlcv-chon-nen);color: var(--qlcv-chon-chu)}.qlcv-plans-chevron,.qlcv-plans-chevron:hover{color: var(--qlcv-chon-chu)}.qlcv-plans-card{position: relative;cursor: pointer;transition: box-shadow 150ms ease}.qlcv-plans-card:hover{box-shadow: var(--aura-shadow-s)}.qlcv-plans-card:active:not(:has(button:active)){background: var(--vaadin-background-container)}.qlcv-plans-name-heading{margin: 0;min-inline-size: 0;font-size: var(--qlcv-text-m);font-weight: 700;line-height: 1.4}.qlcv-plans-name{display: block;max-inline-size: 100%;text-align: start;color: var(--vaadin-text-color);white-space: normal;overflow-wrap: anywhere}.qlcv-plans-name:hover{text-decoration: underline;text-decoration-thickness: 0.0625rem;text-underline-offset: 0.1875rem}.qlcv-plans-name:active{text-decoration-thickness: 0.125rem}.qlcv-plans-name:focus-visible{outline: none}.qlcv-plans-chips{display: flex;flex-wrap: wrap;align-items: center;gap: var(--qlcv-space-s)}.qlcv-plans-chip{padding: var(--qlcv-space-2xs) var(--qlcv-space-s);border-radius: var(--qlcv-radius-s);background: var(--qlcv-chon-nen);color: var(--vaadin-text-color-secondary);font-size: var(--qlcv-text-xs);line-height: 1.5;white-space: nowrap}.qlcv-plans-code{font-family: var(--qlcv-font-so-lieu)}.qlcv-plans-range{font-variant-numeric: tabular-nums}.qlcv-plans-meta{display: flex;flex-wrap: wrap;align-items: center;gap: var(--qlcv-space-l);font-size: var(--qlcv-text-xs);color: var(--vaadin-text-color-secondary)}.qlcv-plans-meta-item{display: inline-flex;align-items: center;gap: var(--qlcv-space-xs);font-variant-numeric: tabular-nums}.qlcv-plans-progress{display: flex;align-items: center;gap: var(--qlcv-space-s);min-inline-size: 0}.qlcv-plans-progress-track{flex: 1 1 auto;block-size: 0.375rem;border-radius: var(--qlcv-radius-pill);background: var(--vaadin-background-container-strong);overflow: hidden}.qlcv-plans-progress-fill{block-size: 100%;border-radius: inherit;background: var(--vaadin-text-color)}.qlcv-plans-progress-value{min-inline-size: 2.75rem;text-align: end;font-size: var(--qlcv-text-m);font-weight: 600;font-variant-numeric: tabular-nums;color: var(--vaadin-text-color-secondary)}.qlcv-plans-actions{display: flex;align-items: center;gap: var(--qlcv-space-xs)}.qlcv-plans-menu-anchor{position: relative;flex-shrink: 0}.qlcv-plans-menu{position: absolute;inset-block-start: calc(100% + var(--qlcv-space-xs));inset-inline-end: 0;z-index: 2;display: flex;flex-direction: column;min-inline-size: 11rem;padding: var(--qlcv-space-xs);border: 0.0625rem solid var(--vaadin-border-color);border-radius: var(--qlcv-radius-m);background: var(--vaadin-background-color);box-shadow: var(--aura-shadow-m);cursor: default}.qlcv-plans-menu-item{display: flex;align-items: center;gap: var(--qlcv-space-s);padding: var(--qlcv-space-s) var(--qlcv-space-m);border-radius: var(--qlcv-radius-s);font-size: var(--qlcv-text-m);text-align: start;white-space: nowrap;color: var(--vaadin-text-color)}.qlcv-plans-menu-item:hover{background: var(--qlcv-ho)}.qlcv-plans-menu-item:active{background: var(--vaadin-background-container-strong)}.qlcv-plans-menu-item:focus-visible{outline: 0.125rem solid var(--qlcv-focus);outline-offset: -0.125rem}.qlcv-plans-menu-danger{color: var(--qlcv-co-do-dam)}.qlcv-plans-timeline{position: relative;padding-block: var(--qlcv-space-l);padding-inline-start: 3rem}.qlcv-plans-timeline::before{content: "";position: absolute;inset-block: 0.5rem 0.75rem;inset-inline-start: calc(1rem - 0.0625rem);border-inline-start: 0.125rem solid var(--vaadin-border-color)}.qlcv-plans-rail-start,.qlcv-plans-rail-end{position: absolute;inset-inline-start: 1rem;translate: -50% 0;border-radius: var(--qlcv-radius-pill)}.qlcv-plans-rail-start{inset-block-start: 0;inline-size: 0.5rem;block-size: 0.5rem;background: var(--vaadin-border-color)}.qlcv-plans-rail-end{inset-block-end: 0;inline-size: 0.75rem;block-size: 0.75rem;border: 0.125rem solid var(--vaadin-border-color)}.qlcv-plans-timeline-list{display: flex;flex-direction: column;gap: var(--qlcv-space-m);margin: 0;padding: 0;list-style: none}.qlcv-plans-timeline-item{position: relative}.qlcv-plans-number{position: absolute;inset-block-start: 50%;inset-inline-start: -3rem;translate: 0 -50%;display: inline-flex;align-items: center;justify-content: center;inline-size: 2rem;block-size: 2rem;border-radius: var(--qlcv-radius-pill);background: var(--qlcv-brand-solid);color: var(--qlcv-on-brand);font-size: var(--qlcv-text-m);font-weight: 700;font-variant-numeric: tabular-nums}.qlcv-plans-card-row{display: grid;grid-template-columns: 7.5rem minmax(0,1fr) minmax(10rem,22rem) auto;grid-template-areas: "dates main progress actions";align-items: center;column-gap: var(--qlcv-space-l);row-gap: var(--qlcv-space-s);padding: var(--qlcv-space-l) var(--qlcv-space-m) var(--qlcv-space-l) var(--qlcv-space-l)}.qlcv-plans-card-row .qlcv-plans-dates{grid-area: dates}.qlcv-plans-card-row .qlcv-plans-main{grid-area: main}.qlcv-plans-card-row .qlcv-plans-progress{grid-area: progress}.qlcv-plans-card-row .qlcv-plans-actions{grid-area: actions}.qlcv-plans-dates{display: flex;flex-direction: column;gap: var(--qlcv-space-s);font-size: var(--qlcv-text-xs);font-variant-numeric: tabular-nums;color: var(--vaadin-text-color-secondary)}.qlcv-plans-dates-sep{display: none}.qlcv-plans-main{display: flex;flex-direction: column;gap: var(--qlcv-space-s);min-inline-size: 0}@container (max-width: 48rem){.qlcv-plans-card-row{grid-template-columns: minmax(0,1fr) auto;grid-template-areas: "dates actions" "main main" "progress progress"}.qlcv-plans-card-row .qlcv-plans-dates{flex-direction: row;gap: var(--qlcv-space-xs)}.qlcv-plans-dates-sep{display: inline}}.qlcv-plans-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(min(20rem,100%),1fr));gap: var(--qlcv-space-m);margin: 0;padding: 0;list-style: none}.qlcv-plans-grid-item{min-inline-size: 0}.qlcv-plans-card-tile{display: flex;flex-direction: column;gap: var(--qlcv-space-s);block-size: 100%;padding: var(--qlcv-space-m) var(--qlcv-space-s) var(--qlcv-space-l) var(--qlcv-space-l)}.qlcv-plans-tile-header{display: flex;align-items: center;gap: var(--qlcv-space-s)}.qlcv-plans-tile-header .qlcv-plans-name-heading{flex: 1 1 auto}.qlcv-plans-tile-number{display: inline-flex;align-items: center;justify-content: center;inline-size: 1.5rem;block-size: 1.5rem;flex-shrink: 0;border-radius: var(--qlcv-radius-pill);background: var(--qlcv-brand-solid);color: var(--qlcv-on-brand);font-size: var(--qlcv-text-xs);font-weight: 700;font-variant-numeric: tabular-nums}.qlcv-plans-card-tile .qlcv-plans-progress{margin-block-start: auto}.qlcv-plans-mode:disabled,.qlcv-plans-icon-button:disabled,.qlcv-plans-menu-item:disabled,.qlcv-plans-name:disabled{background: none;color: var(--vaadin-text-color-disabled)}.qlcv-view-bar .qlcv-view-switch>.qlcv-view-tab:focus-visible,.qlcv-plans-create:focus-visible,.qlcv-plans-mode:focus-visible,.qlcv-plans-icon-button:focus-visible,.qlcv-plans-card:has(.qlcv-plans-name:focus-visible){outline: 0.125rem solid var(--qlcv-focus);outline-offset: 0.125rem}.qlcv-notification-row:active,.qlcv-cell-link:active,.qlcv-plans-create:active:not(:disabled),.qlcv-plans-mode:active{transform: translateY(0.0625rem)}.qlcv-document-row button.qlcv-cell-link,.qlcv-attachment-info button.qlcv-cell-link{align-self: flex-start;padding-inline: 0}vaadin-text-field[readonly]::part(input-field),vaadin-text-area[readonly]::part(input-field){min-height: 0}vaadin-time-picker[readonly]::part(input-field){text-decoration: none}vaadin-avatar{text-transform: uppercase}vaadin-vertical-layout.jmix-login-main-layout{position: relative;display: grid;grid-template-columns: minmax(0,1fr) auto;align-items: center;gap: 3rem;block-size: 100dvh;padding: 0 10vw;background: var(--qlcv-son-mai);overflow: hidden !important}.jmix-login-main-layout::before{content: "";position: absolute;inline-size: 72rem;block-size: 72rem;inset-inline-end: -29rem;top: 50%;transform: translateY(-50%);background-color: color-mix(in oklab,var(--qlcv-chi-vang) 30%,transparent);mask: url('images/trong-dong.webp') center / contain no-repeat;-webkit-mask: url('images/trong-dong.webp') center / contain no-repeat;pointer-events: none}.qlcv-login-brand{position: relative;z-index: 1;align-items: flex-start;gap: 0.5rem;color: var(--qlcv-son-mai-chu)}.qlcv-login-logo{inline-size: 7.5rem;block-size: 7.5rem;margin-bottom: 1.125rem;object-fit: contain}.qlcv-login-parent{font-size: var(--qlcv-text-s);line-height: 1.4;color: var(--qlcv-sidebar-chu)}.qlcv-login-rule{inline-size: 3.5rem;block-size: 0.0625rem;margin: 0.625rem 0 0.375rem;background: var(--qlcv-chi-vang)}.qlcv-login-title{margin: 0;font-family: var(--qlcv-font-tieu-de);font-size: 3.25rem;font-weight: 600;line-height: 1.15;color: var(--qlcv-vang-nhat)}.qlcv-login-drum{--s: min(43.75rem,65vh);position: absolute;z-index: -1;inline-size: var(--s);block-size: var(--s);left: calc(-10vw - var(--s) * 0.39);top: calc(100% + 2.25rem);background-color: color-mix(in oklab,var(--qlcv-chi-vang) 38%,transparent);mask: url('images/trong-dong.webp') center / contain no-repeat;-webkit-mask: url('images/trong-dong.webp') center / contain no-repeat;pointer-events: none}.qlcv-login-card{position: relative;z-index: 1}.jmix-login-main-layout jmix-login-form::part(form){--vaadin-login-form-border-radius: var(--qlcv-radius-l);--vaadin-login-form-background: var(--qlcv-the);inline-size: 27.5rem;max-inline-size: calc(100vw - 2rem);box-sizing: border-box;padding: 1.75rem 2rem;border: 0.0625rem solid var(--qlcv-ke);border-top: 0.3125rem solid var(--qlcv-chi-vang);box-shadow: none}.jmix-login-main-layout jmix-login-form::part(form-title){font-family: var(--qlcv-font-tieu-de);font-size: 1.75rem;font-weight: 600;color: var(--qlcv-muc)}.jmix-login-main-layout jmix-login-form vaadin-button[theme~="submit"]{min-block-size: 3rem;font-size: var(--qlcv-text-m)}.qlcv-login-theme{position: absolute;z-index: 2;top: 2.1875rem;inset-inline-end: 2rem}@media (max-width: 56em){vaadin-vertical-layout.jmix-login-main-layout{grid-template-columns: minmax(0,1fr);justify-items: center;align-content: center;gap: 1.5rem;padding: 1rem}.qlcv-login-brand{align-items: center;text-align: center}.qlcv-login-logo{inline-size: 4.5rem;block-size: 4.5rem;margin-bottom: 0.5rem}.qlcv-login-title{font-size: 2rem}.qlcv-login-drum{display: none}}.qlcv-side-info-list{display: flex;flex-direction: column;gap: 0}.qlcv-side-info-row{display: flex;align-items: flex-start;gap: var(--qlcv-space-m);padding: var(--qlcv-space-m) 0;border-bottom: 0.0625rem solid var(--vaadin-border-color)}.qlcv-side-info-row:last-child{border-bottom: none}.qlcv-side-info-icon{display: inline-flex;align-items: center;justify-content: center;width: 1.75rem;height: 1.75rem;flex-shrink: 0;color: var(--qlcv-muc-mo);margin-top: 0.1rem}.qlcv-side-info-icon vaadin-icon{width: 0.875rem;height: 0.875rem}.qlcv-side-info-content{display: flex;flex-direction: column;gap: var(--qlcv-space-2xs);min-width: 0}.qlcv-side-info-label{font-size: var(--qlcv-text-xs);color: var(--vaadin-text-color-secondary);line-height: 1.4}.qlcv-side-info-value{font-size: var(--qlcv-text-m);font-weight: 500;color: var(--vaadin-text-color);line-height: 1.4;overflow-wrap: anywhere}.qlcv-extract-row{display: grid;grid-template-columns: auto minmax(0,1fr) auto;gap: var(--qlcv-space-s);align-items: start;padding-block: var(--qlcv-space-s);border-block-end: 0.0625rem solid var(--vaadin-border-color)}.qlcv-extract-row-fields{display: flex;flex-direction: column;gap: var(--qlcv-space-xs)}.qlcv-extract-row-line{display: flex;flex-wrap: wrap;gap: var(--qlcv-space-s)}.qlcv-extract-row-line vaadin-combo-box{flex: 0 1 17rem}.qlcv-extract-row-error{color: var(--qlcv-co-do-dam);font-size: var(--qlcv-text-xs)}.qlcv-task-card .qlcv-filter-search{flex: 1 1 12rem}.qlcv-access-row{display: flex;flex-wrap: wrap;align-items: center;gap: var(--qlcv-space-s);padding-top: var(--qlcv-space-s)}.qlcv-access-row>vaadin-button{max-width: 100%;min-width: 0;white-space: normal}.qlcv-card-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(16rem,1fr));gap: var(--qlcv-space-m);margin-bottom: var(--qlcv-space-s)}.qlcv-info-card{display: flex;flex-direction: column;gap: var(--qlcv-space-2xs);padding-inline-start: var(--qlcv-space-m);border-inline-start: 0.125rem solid var(--vaadin-border-color)}.qlcv-card-caption{font-size: var(--qlcv-text-xs);color: var(--vaadin-text-color-secondary)}.qlcv-card-value{font-size: var(--qlcv-text-m);font-weight: 500;color: var(--vaadin-text-color);white-space: pre-wrap;overflow-wrap: anywhere}.qlcv-team-list{display: flex;flex-direction: column;gap: var(--qlcv-space-xs);width: 100%}.qlcv-team-row{display: flex;align-items: baseline;flex-wrap: wrap;gap: var(--qlcv-space-s)}.qlcv-team-role{flex: 0 0 6.5rem;font-size: var(--qlcv-text-xs);font-weight: 700;letter-spacing: 0.04em;color: var(--vaadin-text-color-secondary)}.qlcv-team-names{display: flex;flex-wrap: wrap;align-items: baseline;gap: var(--qlcv-space-xs) var(--qlcv-space-m);min-width: 0}.qlcv-team-name{font-size: var(--qlcv-text-m);color: var(--vaadin-text-color)}.qlcv-team-more{min-width: 0;height: auto;padding: 0 var(--qlcv-space-xs);font-size: var(--qlcv-text-xs);color: var(--qlcv-link)}.qlcv-rounds{display: flex;flex-direction: column;gap: var(--qlcv-space-s);width: 100%}.qlcv-work-items{display: flex;flex-direction: column;width: 100%}.qlcv-work-item{display: flex;flex-wrap: wrap;align-items: center;gap: var(--qlcv-space-s) var(--qlcv-space-m);padding: var(--qlcv-space-s) 0;border-top: 0.0625rem solid var(--vaadin-border-color)}.qlcv-work-item:first-child{border-top: none}.qlcv-work-item-main{display: flex;flex-direction: column;gap: var(--qlcv-space-2xs);flex: 1 1 16rem;min-width: 0}.qlcv-work-item-actions{display: flex;align-items: center;gap: var(--qlcv-space-xs)}.qlcv-round{width: 100%}.qlcv-round-summary{display: flex;flex-wrap: wrap;align-items: center;gap: var(--qlcv-space-s);min-width: 0}.qlcv-round-no{font-size: var(--qlcv-text-xs);font-weight: 700;letter-spacing: 0.06em;color: var(--vaadin-text-color-secondary)}.qlcv-round-who{font-size: var(--qlcv-text-m);font-weight: 600;color: var(--vaadin-text-color)}.qlcv-round-body{display: flex;flex-direction: column;gap: var(--qlcv-space-m);width: 100%}.qlcv-round-submission{display: flex;flex-direction: column;gap: var(--qlcv-space-xs);padding-inline-start: var(--qlcv-space-m);border-inline-start: 0.125rem solid var(--vaadin-border-color)}.qlcv-round-line{display: flex;flex-wrap: wrap;align-items: center;gap: var(--qlcv-space-s);min-width: 0}.qlcv-round-review{display: flex;flex-wrap: wrap;align-items: center;gap: var(--qlcv-space-s);padding-inline-start: var(--qlcv-space-m)}.qlcv-cell-empty{font-size: var(--qlcv-text-xs);color: var(--vaadin-text-color-secondary)}.qlcv-task-card .qlcv-cell-actions .qlcv-action-view{min-inline-size: 6.25rem;justify-content: center}#progressLogsDataGrid vaadin-grid-cell-content{white-space: normal;overflow-wrap: anywhere;line-height: 1.5;padding-block: var(--qlcv-space-xs)}#progressLogsDataGrid [column-id="time"] vaadin-grid-cell-content{font-family: var(--qlcv-font-so-lieu,monospace);font-size: var(--qlcv-text-xs);color: var(--vaadin-text-color-secondary)}#progressLogsDataGrid [column-id="user"] vaadin-grid-cell-content{font-weight: 600;font-size: var(--qlcv-text-m)}#progressBox,#reviewBox{background: var(--vaadin-background-color);border: 0.0625rem solid var(--vaadin-border-color);border-radius: var(--vaadin-radius-l);padding: var(--qlcv-space-l)}#progressBox vaadin-button[theme~="primary"],#reviewBox vaadin-button[theme~="primary"]{--vaadin-button-padding: 0.25rem 0.875rem;font-size: var(--qlcv-text-m)}#generalTasksDataGrid{margin-top: var(--qlcv-space-s)}#tasksInGeneralCaption{margin-top: var(--qlcv-space-xl);padding-top: var(--qlcv-space-l);border-top: 0.0625rem solid var(--vaadin-border-color)}.qlcv-access-row vaadin-button[theme~="icon"]{--vaadin-button-height: 2rem;--vaadin-button-padding: 0 0.5rem;color: var(--vaadin-text-color-secondary)}.qlcv-access-row vaadin-button[theme~="icon"]:hover{color: var(--vaadin-text-color)}#createTaskButton{font-size: var(--qlcv-text-m)}#progressBox,#reviewBox{background: transparent;border: none;border-radius: 0;padding: 0}.qlcv-dependency{display: flex;flex-direction: column;gap: var(--qlcv-space-m)}.qlcv-dependency-section{display: flex;flex-direction: column;gap: var(--qlcv-space-xs)}.qlcv-dependency-successors:has(>.qlcv-dependency-list:empty){display: none}.qlcv-dependency-heading{font-size: var(--qlcv-text-xs);font-weight: 700;letter-spacing: 0.04em;color: var(--vaadin-text-color-secondary)}.qlcv-dependency-list{display: flex;flex-direction: column;gap: var(--qlcv-space-s)}.qlcv-dependency-list:not(:empty) + .qlcv-dependency-empty{display: none}.qlcv-dependency-row{display: flex;align-items: flex-start;gap: var(--qlcv-space-s)}.qlcv-dependency-info{display: flex;flex-direction: column;align-items: flex-start;gap: var(--qlcv-space-2xs);flex: 1 1 auto;min-width: 0}.qlcv-dependency-meta{display: flex;flex-wrap: wrap;align-items: center;gap: var(--qlcv-space-s)}.qlcv-dependency-code{font-size: var(--qlcv-text-xs);color: var(--vaadin-text-color-secondary)}.qlcv-dependency-row .qlcv-dependency-info>.qlcv-dependency-name{--vaadin-button-text-color: var(--qlcv-link);--vaadin-button-padding: 0;--vaadin-button-height: auto;min-width: 0;max-width: 100%;font-size: var(--qlcv-text-m);text-align: start}.qlcv-dependency-name::part(label){white-space: normal;overflow-wrap: anywhere}.qlcv-dependency-name:hover::part(label){text-decoration: underline;text-underline-offset: 0.125rem}.qlcv-dependency-add{align-self: flex-start}.qlcv-dependency-warning:not([hidden]){display: flex;align-items: center;gap: var(--qlcv-space-xs);padding: var(--qlcv-space-xs) var(--qlcv-space-s);border-radius: var(--qlcv-radius-s);background: var(--qlcv-co-vang-nhat);color: var(--qlcv-co-vang-dam);font-size: var(--qlcv-text-xs);font-weight: 600}.qlcv-dependency-warning vaadin-icon{flex: none;inline-size: 0.875rem;block-size: 0.875rem}.qlcv-staged-upload{display: contents}jmix-tabsheet.qlcv-inbox-tabs{flex: 1 1 auto;min-height: 0}.qlcv-inbox-pane{gap: var(--qlcv-space-s);min-height: 0}.qlcv-gantt-container{display: block;width: 100%;min-width: 0}qlcv-gantt{display: block;width: 100%;min-width: 0}.qlcv-workspace-layout{padding: 0;gap: 0}qlcv-workspace-app *,.qlcv-web-host *{box-sizing: border-box}qlcv-workspace-app,.qlcv-web-host{--bg: var(--aura-background-color);--surface: var(--qlcv-the);--hover: var(--qlcv-ho);--log: var(--vaadin-background-container);--line: var(--qlcv-ke);--line-soft: var(--qlcv-ke-nhat);--card-line: var(--qlcv-ke);--card-shadow: none;--ink: var(--vaadin-text-color);--ink-2: var(--vaadin-text-color-secondary);--ink-3: var(--vaadin-text-color-secondary);--ink-4: var(--vaadin-text-color-disabled);--accent: var(--qlcv-chon-chu);--accent-solid: var(--qlcv-brand-solid);--accent-edge: var(--qlcv-brand-go);--accent-hover: var(--qlcv-brand-ho);--btn2: var(--qlcv-nut-phu);--btn2-hover: var(--qlcv-nut-phu-ho);--btn2-edge: var(--qlcv-nut-phu-go);--sel-line: var(--qlcv-chon-vach);--av-bg: var(--qlcv-av-nen);--av-ink: var(--qlcv-av-chu);--lacquer: var(--qlcv-son-mai);--lacquer-ink: var(--qlcv-son-mai-chu);--gold: var(--qlcv-chi-vang);--serif: var(--qlcv-font-tieu-de);--on-accent: var(--qlcv-on-brand);--accent-soft: var(--qlcv-chon-nen);--sel-bg: var(--qlcv-chon-nen);--sel-ink: var(--qlcv-chon-chu);--mark-bg: var(--qlcv-ke-thua-nen);--red: var(--qlcv-co-do-dam);--red-soft: var(--qlcv-co-do-nhat);--amber: var(--qlcv-co-vang-dam);--amber-soft: var(--qlcv-co-vang-nhat);--dash-done: var(--qlcv-tien-do-xong);--fam-chua: var(--qlcv-status-chua-dam);--fam-chua-bg: var(--qlcv-status-chua-nhat);--fam-chua-dot: var(--qlcv-status-chua-cham);--fam-chua-to: var(--qlcv-status-chua-to);--fam-chua-tren: var(--qlcv-status-chua-tren);--fam-choxl: var(--qlcv-status-choxl-dam);--fam-choxl-bg: var(--qlcv-status-choxl-nhat);--fam-choxl-dot: var(--qlcv-status-choxl-cham);--fam-choxl-to: var(--qlcv-status-choxl-to);--fam-choxl-tren: var(--qlcv-status-choxl-tren);--fam-dang: var(--qlcv-status-dang-dam);--fam-dang-bg: var(--qlcv-status-dang-nhat);--fam-dang-dot: var(--qlcv-status-dang-cham);--fam-dang-to: var(--qlcv-status-dang-to);--fam-dang-tren: var(--qlcv-status-dang-tren);--fam-cho: var(--qlcv-status-cho-dam);--fam-cho-bg: var(--qlcv-status-cho-nhat);--fam-cho-dot: var(--qlcv-status-cho-cham);--fam-cho-to: var(--qlcv-status-cho-to);--fam-cho-tren: var(--qlcv-status-cho-tren);--fam-tra: var(--qlcv-status-tra-dam);--fam-tra-bg: var(--qlcv-status-tra-nhat);--fam-tra-dot: var(--qlcv-status-tra-cham);--fam-tra-to: var(--qlcv-status-tra-to);--fam-tra-tren: var(--qlcv-status-tra-tren);--fam-xong: var(--qlcv-status-xong-dam);--fam-xong-bg: var(--qlcv-status-xong-nhat);--fam-xong-dot: var(--qlcv-status-xong-cham);--fam-xong-to: var(--qlcv-status-xong-to);--fam-xong-tren: var(--qlcv-status-xong-tren);--fam-tuchoi: var(--qlcv-status-tuchoi-dam);--fam-tuchoi-bg: var(--qlcv-status-tuchoi-nhat);--fam-tuchoi-dot: var(--qlcv-status-tuchoi-cham);--fam-tuchoi-to: var(--qlcv-status-tuchoi-to);--fam-tuchoi-tren: var(--qlcv-status-tuchoi-tren);--fam-dung: var(--qlcv-status-dung-dam);--fam-dung-bg: var(--qlcv-status-dung-nhat);--fam-dung-dot: var(--qlcv-status-dung-cham);--fam-dung-to: var(--qlcv-status-dung-to);--fam-dung-tren: var(--qlcv-status-dung-tren);--green: var(--qlcv-status-xong-dam);--gray-soft: var(--qlcv-ho);--act-edit: var(--qlcv-hd-sua);--act-view: var(--qlcv-hd-xem);--act-approve: var(--qlcv-hd-duyet);--act-delete: var(--qlcv-hd-xoa);--act-neutral: var(--qlcv-hd-trung-tinh);--link: var(--qlcv-link);--focus: var(--qlcv-focus);--focus-edge: var(--qlcv-focus-vien);--flag-yellow: var(--qlcv-vang-co);--hh: 3.875rem;--font: var(--aura-font-family,"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif)}qlcv-workspace-app{display: block;height: 100%;overflow: auto;margin: 0;background: var(--bg);color: var(--ink);font: var(--qlcv-text-m) / 1.5 var(--font);-webkit-font-smoothing: antialiased}qlcv-workspace-app button,qlcv-workspace-app input,qlcv-workspace-app select,qlcv-workspace-app textarea{font: inherit;color: inherit}:is(qlcv-workspace-app,.qlcv-web-host) button{cursor: pointer}qlcv-workspace-app :focus-visible{outline: 0.1875rem solid var(--focus);outline-offset: 0;box-shadow: 0 0 0 0.3125rem var(--focus-edge)}:is(qlcv-workspace-app,.qlcv-web-host) .i{width: 1rem;height: 1rem;stroke: currentColor;fill: none;stroke-width: 1.75;stroke-linecap: round;stroke-linejoin: round;flex: none;display: block}qlcv-workspace-app .muted{color: var(--ink-3)}:is(qlcv-workspace-app,.qlcv-web-host) .num{font-variant-numeric: tabular-nums}qlcv-workspace-app [hidden]{display: none !important}:is(qlcv-workspace-app,.qlcv-web-host) .sr-only{position: absolute;width: 0.0625rem;height: 0.0625rem;padding: 0;margin: -0.0625rem;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}@media (prefers-reduced-motion: reduce){qlcv-workspace-app *{animation: none !important;transition: none !important}}qlcv-workspace-app .ushell{display: grid;grid-template-columns: 4.5rem minmax(0,1fr);min-height: 100%}qlcv-workspace-app .ucol{min-width: 0}qlcv-workspace-app .rail{position: sticky;top: 0;z-index: 35;align-self: start;block-size: 100dvh;display: flex;flex-direction: column;align-items: center;gap: 0.25rem;padding: 0.875rem 0 0.75rem;background: var(--lacquer)}qlcv-workspace-app .rail-huy{inline-size: 2.625rem;block-size: 2.625rem;object-fit: contain;margin-bottom: 0.625rem;padding-bottom: 0.625rem;box-sizing: content-box;border-bottom: 0.0625rem solid color-mix(in oklab,var(--gold) 70%,transparent)}qlcv-workspace-app .rail-foot{margin-top: auto;display: flex;flex-direction: column;align-items: center;gap: 0.25rem}qlcv-workspace-app .rsep{inline-size: 1.75rem;block-size: 0.0625rem;margin: 0.375rem 0;background: color-mix(in oklab,var(--gold) 30%,transparent)}qlcv-workspace-app .ri{position: relative;inline-size: 3rem;block-size: 2.75rem;display: grid;place-items: center;border: 0;border-radius: var(--qlcv-radius-m);background: transparent;color: var(--qlcv-sidebar-chu-phu)}qlcv-workspace-app .ri .i{inline-size: 1.375rem;block-size: 1.375rem}qlcv-workspace-app .ri:hover{background: var(--qlcv-sidebar-ho-nen);color: var(--lacquer-ink)}qlcv-workspace-app .ri:active{background: var(--qlcv-sidebar-chon-nen)}qlcv-workspace-app .ri.on{background: var(--qlcv-sidebar-chon-nen);color: var(--flag-yellow)}qlcv-workspace-app .ri.on::before{content: "";position: absolute;inset-inline-start: -0.75rem;inset-block: 0.5rem;inline-size: 0.1875rem;background: var(--flag-yellow)}qlcv-workspace-app .ri:focus-visible{outline: 0.125rem solid var(--flag-yellow);outline-offset: 0.0625rem;box-shadow: none}qlcv-workspace-app .rdot{position: absolute;top: 0.5625rem;right: 0.625rem;inline-size: 0.5rem;block-size: 0.5rem;border-radius: 50%;background: var(--flag-yellow);box-shadow: 0 0 0 0.125rem var(--lacquer)}qlcv-workspace-app .ri:is(:hover,:focus-visible)::after{content: attr(data-tip);position: absolute;inset-inline-start: calc(100% + 0.75rem);top: 50%;transform: translateY(-50%);padding: 0.3125rem 0.625rem;border-radius: var(--qlcv-radius-s);background: var(--ink);color: var(--bg);font-size: var(--qlcv-text-s);white-space: nowrap;pointer-events: none;z-index: 40}qlcv-workspace-app header.top{position: sticky;top: 0;z-index: 30;background: var(--bg);border-bottom: 0.0625rem solid var(--line)}qlcv-workspace-app .uid{display: flex;flex-direction: column;flex: none;padding-inline-end: 1rem;margin-inline-end: 0.375rem;border-inline-end: 0.0625rem solid var(--line)}qlcv-workspace-app .uid b{font: 600 var(--qlcv-text-l) / 1.2 var(--serif)}qlcv-workspace-app .uid small{font-size: var(--qlcv-text-xs);color: var(--ink-2)}qlcv-workspace-app .bar{position: relative;padding: 0.625rem 1.5rem;min-height: 3.5rem;display: flex;align-items: center;flex-wrap: wrap;gap: 0.5rem 0.625rem}qlcv-workspace-app .brand{display: inline-flex;align-items: center;gap: 0.5rem;flex: none}qlcv-workspace-app .brand-logo{width: 1.875rem;height: 1.875rem;flex-shrink: 0;object-fit: contain}qlcv-workspace-app .brand-text{font-size: var(--qlcv-text-m);font-weight: 700;color: var(--ink);white-space: nowrap}:is(qlcv-workspace-app,.qlcv-web-host) .seg{display: inline-flex;background: var(--surface);border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);flex: none}:is(qlcv-workspace-app,.qlcv-web-host) .seg button{border: 0;background: transparent;width: 2.375rem;height: 2.125rem;color: var(--ink-2);display: grid;place-items: center}:is(qlcv-workspace-app,.qlcv-web-host) .seg button + button{border-inline-start: 0.0625rem solid var(--line)}:is(qlcv-workspace-app,.qlcv-web-host) .seg button:hover{background: var(--hover);color: var(--ink)}:is(qlcv-workspace-app,.qlcv-web-host) .seg button.on{background: var(--sel-bg);color: var(--sel-ink);box-shadow: inset 0 -0.1875rem 0 var(--sel-line);font-weight: 600}:is(qlcv-workspace-app,.qlcv-web-host) .seg button.wtext{width: auto;min-width: 2rem;display: inline-flex;gap: 0.3125rem;padding: 0 0.5rem;font-size: var(--qlcv-text-xs);font-weight: 600}qlcv-workspace-app .search{position: relative;display: block;width: 13.75rem}qlcv-workspace-app .search input{width: 100%;height: 2rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0 0.625rem 0 2rem;background: var(--surface);outline: none}qlcv-workspace-app .search input:focus{border-color: var(--focus);box-shadow: 0 0 0 0.1875rem var(--accent-soft)}qlcv-workspace-app .search .i{position: absolute;left: 0.625rem;top: 0.5rem;color: var(--ink-3)}qlcv-workspace-app .spacer{flex: 1}:is(qlcv-workspace-app,.qlcv-web-host) .ib{width: 2rem;height: 2rem;border: 0;background: transparent;border-radius: var(--qlcv-radius-m);color: var(--ink-3);display: grid;place-items: center;flex: none;position: relative}:is(qlcv-workspace-app,.qlcv-web-host) .ib:hover{background: var(--gray-soft);color: var(--ink)}:is(qlcv-workspace-app,.qlcv-web-host) .ib.sm{width: 1.5rem;height: 1.5rem}:is(qlcv-workspace-app,.qlcv-web-host) .ib.sm .i{width: 0.875rem;height: 0.875rem}:is(qlcv-workspace-app,.qlcv-web-host) .ib.resort{color: var(--act-neutral)}:is(qlcv-workspace-app,.qlcv-web-host) .ib.ic-edit{color: var(--act-edit)}:is(qlcv-workspace-app,.qlcv-web-host) .ib.ic-add-task,:is(qlcv-workspace-app,.qlcv-web-host) .ib.ic-progress{color: var(--act-view)}:is(qlcv-workspace-app,.qlcv-web-host) .ib.ic-ai,:is(qlcv-workspace-app,.qlcv-web-host) .ib.ic-review,:is(qlcv-workspace-app,.qlcv-web-host) .ib.ic-link{color: var(--act-approve)}:is(qlcv-workspace-app,.qlcv-web-host) .ib.ic-delete{color: var(--act-delete)}:is(qlcv-workspace-app,.qlcv-web-host) .ib.ic-detail{color: var(--link)}:is(qlcv-workspace-app,.qlcv-web-host) .ib.on,:is(qlcv-workspace-app,.qlcv-web-host) .ib.follow-on{background: var(--sel-bg);color: var(--sel-ink)}:is(qlcv-workspace-app,.qlcv-web-host) .ib.ic-add{background: var(--accent-solid);color: var(--on-accent);box-shadow: 0 0.125rem 0 var(--accent-edge)}:is(qlcv-workspace-app,.qlcv-web-host) .ib.ic-add:hover{background: var(--accent-hover);color: var(--on-accent)}:is(qlcv-workspace-app,.qlcv-web-host) .ib:disabled{color: var(--ink-4);cursor: not-allowed;background: transparent}:is(qlcv-workspace-app,.qlcv-web-host) .ib.danger{color: var(--act-delete)}:is(qlcv-workspace-app,.qlcv-web-host) .ib.primary{background: var(--accent-solid);color: var(--on-accent);box-shadow: 0 0.125rem 0 var(--accent-edge)}:is(qlcv-workspace-app,.qlcv-web-host) .ib.primary:hover{background: var(--accent-hover);color: var(--on-accent)}:is(qlcv-workspace-app,.qlcv-web-host) .avatar{width: 1.75rem;height: 1.75rem;border-radius: 50%;display: grid;place-items: center;font-size: var(--qlcv-text-xs);font-weight: 700;background: var(--av-bg);color: var(--av-ink);flex: none}:is(qlcv-workspace-app,.qlcv-web-host) .avatar.has-img{overflow: hidden}:is(qlcv-workspace-app,.qlcv-web-host) .avatar img{width: 100%;height: 100%;object-fit: cover}qlcv-workspace-app .pn{color: var(--ink);font-weight: 500;display: inline-flex;align-items: center;gap: 0.25rem;white-space: nowrap;flex: none}qlcv-workspace-app .pn .i{width: 1rem;height: 1rem;color: var(--ink-3)}qlcv-workspace-app .pn .rt{margin-right: 0}qlcv-workspace-app .pn.plain{color: var(--ink-3)}qlcv-workspace-app .pn.none{color: var(--ink-3)}qlcv-workspace-app .hs{width: 1.125rem;height: 1.125rem;display: grid;place-items: center;flex: none;color: var(--hc)}qlcv-workspace-app .hs i{width: 0.5625rem;height: 0.5625rem;border-radius: 50%;background: var(--hc)}qlcv-workspace-app .hs .i{width: 1rem;height: 1rem}qlcv-workspace-app .hs.hollow i{background: var(--surface);box-shadow: inset 0 0 0 0.0938rem var(--hc)}qlcv-workspace-app .hs.strong .i{stroke-width: 2.6}@keyframes qlcv-ws-ballspin{to{transform: rotate(360deg)}}qlcv-workspace-app .stepdot{display: inline-grid;place-items: center;color: var(--sd);flex: none}qlcv-workspace-app .stepdot .i{width: 1.125rem;height: 1.125rem}qlcv-workspace-app .rt{display: inline-flex;align-items: center;height: 1.125rem;padding: 0 0.25rem;margin-right: 0.25rem;border-radius: var(--qlcv-radius-s);background: var(--gray-soft);color: var(--ink-2);font-size: var(--qlcv-text-xs);font-weight: 600}qlcv-workspace-app .chips{display: flex;flex-wrap: wrap;gap: 0.375rem;align-items: center}qlcv-workspace-app .chip{flex: none;display: inline-flex;align-items: stretch;background: var(--surface);min-height: 1.5rem;border-radius: var(--qlcv-radius-s);font-size: var(--qlcv-text-xs);overflow: hidden;border: 0.0625rem solid var(--line);max-width: 100%}qlcv-workspace-app .chip .p{padding: 0 0.5rem;font-weight: 600;color: var(--ink);background: var(--surface);display: flex;align-items: center;min-width: 0;white-space: nowrap}qlcv-workspace-app .chip .s{padding: 0 0.5rem;display: flex;align-items: center;font-weight: 500;background: var(--sb);color: var(--sc);white-space: nowrap}qlcv-workspace-app .chip.dim{opacity: 0.55}qlcv-workspace-app .chip .pt{max-width: 15rem;padding-block: 0.125rem;line-height: 1.35;white-space: normal;overflow-wrap: anywhere}qlcv-workspace-app .chip.pick{align-items: center;padding-left: 0.5rem;background: var(--surface);color: var(--ink);white-space: nowrap}qlcv-workspace-app .chip.pick .x{border: 0;background: none;height: 100%;padding: 0 0.375rem;color: var(--ink-3);cursor: pointer}qlcv-workspace-app .chip.pick .x:hover{color: var(--act-delete)}qlcv-workspace-app .tag{display: inline-flex;align-items: center;gap: 0.25rem;min-height: 1.375rem;padding: 0.125rem 0.4375rem;border-radius: var(--qlcv-radius-s);background: var(--gray-soft);color: var(--ink-2);font-size: var(--qlcv-text-xs);font-weight: 600;max-width: 17.5rem;min-width: 0;flex: none}qlcv-workspace-app .tag .i{width: 0.75rem;height: 0.75rem;color: var(--ink-3)}qlcv-workspace-app .tag .tx{white-space: normal;overflow-wrap: anywhere}qlcv-workspace-app .prog{display: flex;align-items: center;gap: 0.5625rem}qlcv-workspace-app .bar-t{flex: 1;height: 0.375rem;border-radius: var(--qlcv-radius-pill);background: var(--gray-soft);overflow: hidden;min-width: 3.75rem}qlcv-workspace-app .bar-t i{display: block;height: 100%;border-radius: inherit;background: var(--ink-2);transition: width 0.3s}qlcv-workspace-app .prog .pct{font-size: var(--qlcv-text-xs);color: var(--ink-3);font-variant-numeric: tabular-nums;white-space: nowrap}qlcv-workspace-app .mini{border: 0;background: transparent;height: 1.375rem;padding: 0 0.375rem;border-radius: var(--qlcv-radius-s);color: var(--ink-2);font-size: var(--qlcv-text-xs);font-weight: 600;display: inline-flex;align-items: center;gap: 0.25rem;white-space: nowrap}qlcv-workspace-app .mini:hover{background: var(--gray-soft);color: var(--ink)}qlcv-workspace-app .mini .i{width: 0.75rem;height: 0.75rem}qlcv-workspace-app .mini.ic-edit{color: var(--act-edit)}:is(qlcv-workspace-app,.qlcv-web-host) .btn{display: inline-flex;align-items: center;gap: 0.375rem;height: 2.25rem;padding: 0 0.75rem;border: 0.0625rem solid transparent;background: var(--btn2);box-shadow: 0 0.125rem 0 var(--btn2-edge);border-radius: var(--qlcv-radius-m);color: var(--ink);font-weight: 500;white-space: nowrap;cursor: pointer;transition: background var(--qlcv-motion-fast)}:is(qlcv-workspace-app,.qlcv-web-host) .btn:hover{background: var(--btn2-hover);color: var(--ink)}:is(qlcv-workspace-app,.qlcv-web-host) .btn.primary{background: var(--accent-solid);box-shadow: 0 0.125rem 0 var(--accent-edge);color: var(--on-accent);font-weight: 600}:is(qlcv-workspace-app,.qlcv-web-host) .btn.primary:hover{background: var(--accent-hover);color: var(--on-accent)}:is(qlcv-workspace-app,.qlcv-web-host) .btn:disabled{color: var(--ink-4);border-color: var(--line-soft);background: var(--surface);box-shadow: none;cursor: not-allowed}:is(qlcv-workspace-app,.qlcv-web-host) .btn.primary:disabled{background: var(--gray-soft);border-color: var(--line)}:is(qlcv-workspace-app,.qlcv-web-host) .btn .i{width: 1rem;height: 1rem}:is(qlcv-workspace-app,.qlcv-web-host) .btn.sm2{height: 1.75rem;padding: 0 0.625rem;font-size: var(--qlcv-text-xs)}:is(qlcv-workspace-app,.qlcv-web-host) .btn.danger{color: var(--act-delete)}qlcv-workspace-app .badge{display: inline-flex;align-items: center;gap: 0.3125rem;min-height: 1.5rem;padding: 0 0.5rem;border-radius: var(--qlcv-radius-s);font-size: var(--qlcv-text-s);font-weight: 700;white-space: nowrap;flex: none}qlcv-workspace-app .badge .i{width: 0.9375rem;height: 0.9375rem}qlcv-workspace-app .b-pause,qlcv-workspace-app .b-cancel{background: var(--fam-dung-bg);color: var(--fam-dung)}qlcv-workspace-app .b-closed{background: var(--fam-xong-bg);color: var(--fam-xong)}qlcv-workspace-app .b-urgent,qlcv-workspace-app .b-high{background: none;box-shadow: inset 0 0 0 0.0625rem var(--line);color: var(--ink)}qlcv-workspace-app .b-urgent .i{color: var(--qlcv-uu-tien-khan)}qlcv-workspace-app .b-high .i{color: var(--qlcv-uu-tien-cao)}qlcv-workspace-app .b-ioffice{background: var(--gray-soft);color: var(--ink-2)}qlcv-workspace-app .b-status{background: var(--sb);color: var(--sc)}qlcv-workspace-app .empty{background: var(--surface);border: 0.0625rem solid var(--card-line);border-radius: var(--qlcv-radius-l);padding: 2.25rem;display: grid;place-items: center;gap: 0.625rem;color: var(--ink-2);text-align: center}qlcv-workspace-app .empty-motif{inline-size: 6.5rem;block-size: 6.5rem;background-color: var(--qlcv-hoa-van-dam);mask: url('images/chim-lac.webp') center / contain no-repeat;-webkit-mask: url('images/chim-lac.webp') center / contain no-repeat}qlcv-workspace-app .empty-t{color: var(--ink-2);font-size: var(--qlcv-text-m);max-width: 40ch}qlcv-workspace-app .file{display: inline-flex;align-items: center;gap: 0.25rem;min-height: 1.375rem;padding: 0.125rem 0.375rem;border-radius: var(--qlcv-radius-s);background: var(--gray-soft);color: var(--ink-2);font-size: var(--qlcv-text-xs);text-decoration: none;max-width: 16.25rem;border: 0}qlcv-workspace-app .file span{white-space: normal;overflow-wrap: anywhere}qlcv-workspace-app .file .i{width: 0.75rem;height: 0.75rem;flex: none}qlcv-workspace-app .file button{border: 0;background: transparent;padding: 0;display: grid;place-items: center;color: var(--ink-3)}qlcv-workspace-app button.file:hover,qlcv-workspace-app a.file:hover{background: var(--sel-bg);color: var(--link)}qlcv-workspace-app .file.busy{opacity: 0.6}qlcv-workspace-app .nfiles{display: flex;flex-wrap: wrap;gap: 0.25rem;margin-top: 0.25rem}qlcv-workspace-app .toast{position: fixed;left: 50%;bottom: 1.625rem;transform: translate(-50%,1.25rem);background: var(--ink);color: var(--surface);padding: 0.625rem 1rem;border-radius: var(--qlcv-radius-m);font-size: var(--qlcv-text-m);opacity: 0;pointer-events: none;transition: 0.2s;z-index: 70;display: flex;gap: 0.5rem;align-items: center;max-width: min(35rem,92vw);box-shadow: var(--aura-shadow-m)}qlcv-workspace-app .toast.on{opacity: 1;transform: translate(-50%,0)}qlcv-workspace-app .toast .i{width: 1rem;height: 1rem}qlcv-workspace-app .scrim{position: fixed;inset: 0 0 0 4.5rem;background: color-mix(in srgb,var(--ink) 30%,transparent);opacity: 0;pointer-events: none;transition: opacity 0.2s;z-index: 40}qlcv-workspace-app .scrim.on{opacity: 1;pointer-events: auto}qlcv-workspace-app .drawer{position: fixed;top: 0;right: 0;bottom: 0;width: min(42.5rem,calc(100vw - 4.5rem));background: var(--surface);border-inline-start: 0.3125rem solid var(--lacquer);z-index: 41;transform: translateX(102%);transition: transform 0.26s cubic-bezier(0.2,0.8,0.2,1);display: flex;flex-direction: column;box-shadow: var(--aura-shadow-m);outline: none}qlcv-workspace-app .drawer.on{transform: none}qlcv-workspace-app .drawer.wide{width: min(calc(100vw - 4.5rem),max(66.25rem,66vw))}qlcv-workspace-app .drawer:not(.on){visibility: hidden;transition: transform 0.26s cubic-bezier(0.2,0.8,0.2,1),visibility 0s 0.26s}qlcv-workspace-app .dr-h{padding: 0.8125rem 1rem 0.8125rem 1.375rem;border-bottom: 0.0625rem solid var(--line);display: flex;align-items: center;gap: 0.625rem}qlcv-workspace-app .dr-h h2{margin: 0;font-family: var(--serif);font-size: var(--qlcv-text-l);font-weight: 600;flex: 1;min-width: 0;line-height: 1.35}qlcv-workspace-app .dr-h.has-sub{align-items: flex-start}qlcv-workspace-app .dr-t{flex: 1;min-width: 0}qlcv-workspace-app .dr-h .sub{color: var(--ink-3);font-size: var(--qlcv-text-xs);margin-top: 0.1875rem;display: flex;gap: 0.25rem 0.625rem;flex-wrap: wrap}qlcv-workspace-app .dr-h .stepdot{margin-top: 0.4375rem}qlcv-workspace-app .dr-h .ctx-tag{width: 1.75rem;height: 1.75rem;border-radius: var(--qlcv-radius-m)}qlcv-workspace-app .dr-b{flex: 1;overflow: auto;padding: 0 1.375rem 2.5rem}qlcv-workspace-app .dr-f{padding: 0.75rem 1.375rem;border-top: 0.0625rem solid var(--line);display: flex;justify-content: flex-end;gap: 0.5rem}qlcv-workspace-app .sec{padding: 1rem 0;border-bottom: 0.0625rem solid var(--line-soft)}qlcv-workspace-app .sec:last-child{border-bottom: 0}:is(qlcv-workspace-app,.qlcv-web-host) .sech{color: var(--ink);margin: 0.125rem 0 0.5rem;display: flex;align-items: center;gap: 0.5rem;font-size: var(--qlcv-text-m);font-weight: 700}:is(qlcv-workspace-app,.qlcv-web-host) .sech .i{width: 1rem;height: 1rem;color: var(--ink-3)}:is(qlcv-workspace-app,.qlcv-web-host) .sech .grow{flex: 1}qlcv-workspace-app .kvi{display: grid;grid-template-columns: 8.125rem minmax(0,1fr);gap: 0.5625rem 0.875rem;align-items: baseline;max-width: 64rem}qlcv-workspace-app .kvi>.k{color: var(--ink-3)}qlcv-workspace-app .kvi>.v{min-width: 0}@media (min-width: 68.75em){qlcv-workspace-app .drawer.wide .kvi{grid-template-columns: 8.125rem minmax(0,1fr) 8.125rem minmax(0,1fr);column-gap: 1.75rem;max-width: none}}qlcv-workspace-app :is(button,select,a,summary,[role="button"],tr,.row,.crow,.task,.file){transition: background-color var(--qlcv-motion-fast) ease,color var(--qlcv-motion-fast) ease,border-color var(--qlcv-motion-fast) ease}qlcv-workspace-app .tabs{display: flex;gap: 0.125rem;border-bottom: 0.0625rem solid var(--line);padding: 0.375rem 1rem 0 1.375rem;overflow-x: auto;overflow-y: hidden;flex: none}qlcv-workspace-app .tab{border: 0;background: transparent;height: 2.25rem;padding: 0 0.625rem;font-weight: 600;font-size: var(--qlcv-text-m);color: var(--ink-3);border-radius: var(--qlcv-radius-s) var(--qlcv-radius-s) 0 0;border-bottom: 0.125rem solid transparent;margin-bottom: -0.0625rem;white-space: nowrap;display: inline-flex;gap: 0.375rem;align-items: center}qlcv-workspace-app .tab:hover{color: var(--ink)}qlcv-workspace-app .tab.on{color: var(--accent);border-bottom-color: var(--accent)}qlcv-workspace-app .tab .i{width: 1rem;height: 1rem}qlcv-workspace-app .addrow{display: flex;gap: 0.5rem;margin-top: 0.625rem;flex-wrap: wrap}qlcv-workspace-app .addrow input,qlcv-workspace-app .addrow select{height: 2rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0 1.625rem 0 0.5rem;outline: none;background-color: var(--surface)}qlcv-workspace-app .addrow .grow{flex: 1;min-width: 8.75rem}qlcv-workspace-app .panel{background: var(--log);border: 0.0625rem solid var(--line-soft);border-radius: var(--qlcv-radius-m);padding: 0.75rem;margin: 0.625rem 0;display: flex;flex-direction: column;gap: 0.625rem}qlcv-workspace-app .btnrow{display: flex;gap: 0.375rem;align-items: center;flex-wrap: wrap}qlcv-workspace-app .btnrow select,qlcv-workspace-app .btnrow input{height: 1.875rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0 0.5rem;background-color: var(--surface);outline: none}qlcv-workspace-app .btnrow select{padding-inline-end: 1.625rem}qlcv-workspace-app .btnrow input[type="text"]{flex: 1;min-width: 10rem}:is(qlcv-workspace-app,.qlcv-web-host) .hint2{font-size: var(--qlcv-text-xs);color: var(--ink-3);display: flex;gap: 0.375rem;align-items: center;margin: 0.5rem 0}:is(qlcv-workspace-app,.qlcv-web-host) .hint2 .i{width: 0.8125rem;height: 0.8125rem;flex: none}:is(qlcv-workspace-app,.qlcv-web-host) .hint2.err{color: var(--act-delete)}qlcv-workspace-app .lock-note{display: flex;gap: 0.375rem;align-items: center;font-size: var(--qlcv-text-xs);color: var(--ink-3);margin: 0.625rem 0}qlcv-workspace-app .lock-note .i{width: 0.8125rem;height: 0.8125rem}qlcv-workspace-app input.bad,qlcv-workspace-app select.bad,qlcv-workspace-app textarea.bad{border-color: var(--red);box-shadow: 0 0 0 0.1875rem var(--red-soft)}qlcv-workspace-app .linkbox{display: flex;gap: 0.5rem;align-items: center;margin-top: 0.875rem;color: var(--ink-3)}qlcv-workspace-app .linkbox input{flex: 1;height: 2rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0 0.5rem;font-size: var(--qlcv-text-xs);color: var(--ink-2)}:is(qlcv-workspace-app,.qlcv-web-host) .loading{padding: 2.5rem;display: grid;place-items: center;color: var(--ink-3)}qlcv-workspace-app .linkbtn{border: 0;background: transparent;padding: 0;color: var(--link);text-align: left;cursor: pointer;font: inherit}qlcv-workspace-app .linkbtn:hover{text-decoration: underline}qlcv-workspace-app .shake{animation: qlcv-ws-shake 0.32s}@keyframes qlcv-ws-shake{25%{transform: translateX(-0.25rem)}50%{transform: translateX(0.25rem)}75%{transform: translateX(-0.125rem)}}qlcv-workspace-app .me{position: relative;display: flex;align-items: center;gap: 0.375rem}qlcv-workspace-app .mebtn{border: 0;background: transparent;display: flex;align-items: center;gap: 0.375rem;font-weight: 600;padding: 0.125rem 0.375rem 0.125rem 0.125rem;border-radius: var(--qlcv-radius-m);color: var(--ink)}qlcv-workspace-app .mebtn:hover{background: var(--gray-soft)}qlcv-workspace-app .memenu{position: absolute;right: 0;top: calc(100% + 0.375rem);width: 15.625rem;background: var(--surface);border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);box-shadow: var(--aura-shadow-m);padding: 0.375rem;z-index: 60}qlcv-workspace-app .mm-h{display: flex;flex-direction: column;padding: 0.5rem 0.625rem 0.625rem;border-bottom: 0.0625rem solid var(--line-soft);font-size: var(--qlcv-text-xs);margin-bottom: 0.25rem}qlcv-workspace-app .mm-h b{font-size: var(--qlcv-text-m)}qlcv-workspace-app .mm-i{width: 100%;border: 0;background: transparent;display: flex;align-items: center;gap: 0.5rem;height: 2.125rem;padding: 0 0.625rem;border-radius: var(--qlcv-radius-s);font-weight: 500;color: var(--ink-2)}qlcv-workspace-app .mm-i:hover{background: var(--gray-soft);color: var(--ink)}qlcv-workspace-app .mm-i .i{width: 1rem;height: 1rem}qlcv-workspace-app .theme-list{width: 12rem}qlcv-workspace-app .mm-i[aria-checked="true"]{color: var(--sel-ink);font-weight: 600}qlcv-workspace-app main.page{padding: 0.875rem 1.5rem 5.625rem}@media (max-width: 56.25em){qlcv-workspace-app header.top{position: static}qlcv-workspace-app .bar{padding: 0.5rem 0.75rem}qlcv-workspace-app .search{order: 10;flex: 1 1 100%;width: auto}qlcv-workspace-app .spacer{display: none}qlcv-workspace-app main.page{padding: 0.625rem 0.75rem 3.75rem}qlcv-workspace-app .kvi{grid-template-columns: 1fr;gap: 0.125rem 0}qlcv-workspace-app .kvi>.v{margin-bottom: 0.5rem}qlcv-workspace-app .hide-sm{display: none !important}}qlcv-workspace-app vaadin-date-picker.dtf input[slot="input"]{flex: 1 1 auto;width: 100%;min-width: 0;height: auto;padding: 0;border: 0;border-radius: 0;background: none;box-shadow: none;outline: none}qlcv-workspace-app vaadin-date-picker.dtf{--vaadin-field-default-width: 10rem;min-width: 0;padding: 0}qlcv-workspace-app .ctx vaadin-date-picker.dtf,qlcv-workspace-app .inlineform vaadin-date-picker.dtf{--vaadin-field-default-width: 8.5rem;--vaadin-input-field-value-font-size: var(--qlcv-text-xs)}qlcv-workspace-app .ctx vaadin-date-picker.dtf::part(input-field),qlcv-workspace-app .inlineform vaadin-date-picker.dtf::part(input-field){min-height: 1.625rem;padding-block: 0}:is(qlcv-workspace-app,.qlcv-web-host) .pager{display: flex;flex-wrap: wrap;align-items: center;gap: 0.5rem 0.75rem;margin-top: 0.75rem;padding-top: 0.75rem;border-top: 0.0625rem solid var(--line-soft);font-size: var(--qlcv-text-s)}:is(qlcv-workspace-app,.qlcv-web-host) .pager-pages{display: flex;flex-wrap: wrap;align-items: center;gap: 0.125rem}:is(qlcv-workspace-app,.qlcv-web-host) :is(.pager-step,.pager-num){display: inline-flex;align-items: center;justify-content: center;gap: 0.25rem;min-width: 2rem;height: 2rem;padding: 0 0.5rem;border: 0;border-radius: var(--qlcv-radius-s);background: transparent;color: var(--ink);font: inherit;font-weight: 600;cursor: pointer;transition: background var(--qlcv-motion-fast)}:is(qlcv-workspace-app,.qlcv-web-host) .pager-step .i{width: 1rem;height: 1rem}:is(qlcv-workspace-app,.qlcv-web-host) :is(.pager-step,.pager-num):hover:not(:disabled){background: var(--gray-soft)}:is(qlcv-workspace-app,.qlcv-web-host) :is(.pager-step,.pager-num):active:not(:disabled){background: var(--sel-bg)}:is(qlcv-workspace-app,.qlcv-web-host) :is(.pager-step,.pager-num):focus-visible{outline: 0.1875rem solid var(--focus);outline-offset: 0;box-shadow: 0 0 0 0.3125rem var(--focus-edge)}:is(qlcv-workspace-app,.qlcv-web-host) .pager-num.on{background: var(--sel-bg);color: var(--sel-ink);box-shadow: inset 0 -0.1875rem 0 var(--sel-line)}:is(qlcv-workspace-app,.qlcv-web-host) .pager-step:disabled{color: var(--ink-4);cursor: not-allowed}:is(qlcv-workspace-app,.qlcv-web-host) .pager-gap{padding: 0 0.25rem;color: var(--ink-3)}:is(qlcv-workspace-app,.qlcv-web-host) .pager-size{display: inline-flex;align-items: center;gap: 0.375rem;color: var(--ink-2)}:is(qlcv-workspace-app,.qlcv-web-host) .pager-size select{height: 2rem;padding-inline-start: 0.5rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-s);background-color: var(--surface);color: var(--ink);font: inherit}:is(qlcv-workspace-app,.qlcv-web-host) .pager-range{color: var(--ink-2)}qlcv-workspace-app .list-top{scroll-margin-top: calc(var(--hh) + 0.5rem)}:is(qlcv-workspace-app,.qlcv-web-host) select{appearance: none;-webkit-appearance: none;padding-inline-end: 1.625rem;background-image: url('icons/chev.svg');background-repeat: no-repeat;background-position: right 0.5rem center;background-size: 0.875rem}:is(qlcv-workspace-app,.qlcv-web-host) select:hover:not(:disabled){border-color: var(--ink-4)}:is(qlcv-workspace-app,.qlcv-web-host) select:focus-visible{border-color: var(--focus);outline: 0.125rem solid var(--focus);outline-offset: 0.0625rem}:is(qlcv-workspace-app,.qlcv-web-host) select:disabled{color: var(--ink-4);border-color: var(--line-soft);cursor: not-allowed}qlcv-workspace-app .bar2{position: sticky;top: var(--hh);z-index: 20;display: flex;align-items: center;flex-wrap: wrap;gap: 0.5rem;margin: 0 -1.5rem 0.75rem;padding: 0.5rem 1.5rem;background: var(--bg)}qlcv-workspace-app .tab.has-data{font-weight: 700}qlcv-workspace-app .bell{display: inline-flex;flex: none}qlcv-workspace-app .bell-count{position: absolute;top: -0.125rem;inset-inline-end: -0.125rem;min-width: 1.125rem;height: 1.125rem;padding: 0 0.25rem;border-radius: var(--qlcv-radius-pill);background: var(--red);color: var(--surface);font-size: var(--qlcv-text-xs);font-weight: 600;line-height: 1.125rem;text-align: center;box-shadow: 0 0 0 0.125rem var(--surface);pointer-events: none}qlcv-workspace-app .bell-count:empty{display: none}@media (max-width: 56.25em){qlcv-workspace-app .counters{order: 13;flex-basis: 100%}qlcv-workspace-app .bar2{position: static;margin: 0 -0.75rem 0.75rem;padding: 0.5rem 0.75rem}}@media (max-width: 35em){qlcv-workspace-app .scrim{inset: 0}qlcv-workspace-app .drawer,qlcv-workspace-app .drawer.wide{width: 100vw}qlcv-workspace-app .uid{display: none}qlcv-workspace-app .ushell{grid-template-columns: minmax(0,1fr)}qlcv-workspace-app .rail{position: static;block-size: auto;flex-direction: row;overflow-x: auto;padding: 0.375rem 0.5rem}qlcv-workspace-app .rail-huy{inline-size: 2rem;block-size: 2rem;margin: 0 0.5rem 0 0;padding: 0 0.5rem 0 0;border-bottom: 0;border-inline-end: 0.0625rem solid color-mix(in oklab,var(--gold) 70%,transparent)}qlcv-workspace-app .rail-foot{margin: 0 0 0 auto;flex-direction: row}qlcv-workspace-app .rsep,qlcv-workspace-app .ri::after,qlcv-workspace-app .ri.on::before{display: none}qlcv-workspace-app .bar{padding: 0.5rem 0.625rem;gap: 0.375rem}qlcv-workspace-app .live-off .tx{display: none}qlcv-workspace-app .search{flex: 1 1 12rem}qlcv-workspace-app .counters{order: 11;flex-basis: auto}qlcv-workspace-app .dr-h{flex-wrap: wrap;row-gap: 0.5rem;padding: 0.75rem 0.75rem 0.75rem 1rem}qlcv-workspace-app .dr-h>*{order: 2}qlcv-workspace-app .dr-h>:is(.ctx-tag,.stepdot,.ic-back,h2,.dr-t){order: 0}qlcv-workspace-app .dr-h>.ic-close{order: 1}qlcv-workspace-app .dr-h>:is(h2,.dr-t){flex-basis: calc(100% - 5.625rem)}}qlcv-workspace-app .fprev{border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-l);background: var(--bg);overflow: hidden;margin-bottom: 0.625rem}qlcv-workspace-app .fprev-frame{display: block;width: 100%;height: 60vh;border: 0;background: var(--surface)}qlcv-workspace-app .sec-fill{display: flex;flex-direction: column;min-height: 100%;padding-bottom: 0}qlcv-workspace-app .dr-b:has(.sec-fill){padding-bottom: 0.75rem}qlcv-workspace-app .sec-fill .fprev{flex: 1;display: flex;margin-bottom: 0}qlcv-workspace-app .sec-fill .fprev-frame{flex: 1;height: auto}qlcv-workspace-app .sec-fill .fprev-img{max-height: none;object-fit: contain}qlcv-workspace-app .fprev-img{display: block;width: 100%;max-height: 60vh;object-fit: contain;background: var(--surface)}qlcv-workspace-app .fprev-none{display: flex;flex-direction: column;align-items: center;gap: 0.625rem;padding: 2.25rem 1.5rem;text-align: center;color: var(--ink-3);font-size: var(--qlcv-text-xs)}qlcv-workspace-app .fprev-none .i{width: 1.75rem;height: 1.75rem}qlcv-workspace-app .counters{display: flex;gap: 0.5rem;flex-wrap: wrap}qlcv-workspace-app .counters .ct{position: relative;border: 0.0625rem solid color-mix(in srgb,var(--c) 35%,transparent);background: none;height: 1.875rem;min-width: 1.875rem;padding: 0 0.5rem;justify-content: center;border-radius: var(--qlcv-radius-pill);font-size: var(--qlcv-text-xs);font-weight: 600;color: var(--c);display: inline-flex;align-items: center;gap: 0.3125rem;white-space: nowrap;transition: background 0.15s,border-color 0.15s}qlcv-workspace-app .counters .ct:hover{background: color-mix(in srgb,var(--c) 10%,transparent);border-color: var(--c)}qlcv-workspace-app .counters .ct.on{background: color-mix(in srgb,var(--c) 14%,transparent);border-color: var(--c);box-shadow: inset 0 0 0 0.0625rem var(--c)}qlcv-workspace-app .ct-count{position: absolute;top: -0.375rem;inset-inline-end: -0.375rem;min-width: 1.125rem;height: 1.125rem;padding: 0 0.25rem;border-radius: var(--qlcv-radius-pill);background: var(--c);color: var(--surface);font-size: var(--qlcv-text-xs);font-weight: 600;line-height: 1.125rem;text-align: center;box-shadow: 0 0 0 0.125rem var(--surface);pointer-events: none}qlcv-workspace-app .ct-count:empty{display: none}qlcv-workspace-app .fbtn .cnt{position: absolute;top: 0.125rem;right: 0.125rem;width: 0.4375rem;height: 0.4375rem;border-radius: 50%;background: var(--ink);box-shadow: 0 0 0 0.125rem var(--surface)}qlcv-workspace-app .fbtn.on{background: var(--sel-bg);color: var(--sel-ink)}qlcv-workspace-app .fchips{display: flex;gap: 0.25rem;flex-wrap: wrap;align-items: center}qlcv-workspace-app .fchip{display: inline-flex;align-items: center;gap: 0.3125rem;height: 1.625rem;padding: 0 0.375rem 0 0.5625rem;border-radius: var(--qlcv-radius-pill);background: var(--gray-soft);color: var(--ink-2);font-size: var(--qlcv-text-xs);font-weight: 500;white-space: nowrap}qlcv-workspace-app .fchip .i{width: 0.75rem;height: 0.75rem}qlcv-workspace-app .fchip button{border: 0;background: transparent;color: var(--ink-3);width: 1.125rem;height: 1.125rem;display: grid;place-items: center;border-radius: var(--qlcv-radius-s);padding: 0}qlcv-workspace-app .fchip button:hover{background: var(--surface);color: var(--ink)}qlcv-workspace-app .pop{position: absolute;z-index: 50;background: var(--surface);border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-l);box-shadow: var(--aura-shadow-m);padding: 0.875rem 1rem;width: 21.25rem}qlcv-workspace-app .pop .prow2{display: grid;grid-template-columns: 1.375rem 1fr;gap: 0.5rem;align-items: center;margin-bottom: 0.375rem}qlcv-workspace-app .pop .prow2>.i{color: var(--ink-3)}qlcv-workspace-app .pop select,qlcv-workspace-app .pop input{height: 2rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0 0.5rem;background-color: var(--surface);width: 100%;outline: none}qlcv-workspace-app .pop select{padding-inline-end: 1.625rem}qlcv-workspace-app .pop select:focus,qlcv-workspace-app .pop input:focus{border-color: var(--focus)}qlcv-workspace-app .pop .sep{height: 0.0625rem;background: var(--line-soft);margin: 0.625rem 0}qlcv-workspace-app .saved{display: flex;flex-direction: column;gap: 0.125rem}qlcv-workspace-app .saved .sv{display: flex;align-items: center;gap: 0.5rem;height: 2rem;padding: 0 0.25rem 0 0.5rem;border-radius: var(--qlcv-radius-s);cursor: pointer}qlcv-workspace-app .saved .sv:hover{background: var(--gray-soft)}qlcv-workspace-app .saved .sv>.i{width: 0.8125rem;height: 0.8125rem;color: var(--ink-3)}qlcv-workspace-app .saved .sv span{flex: 1}qlcv-workspace-app .saved .sv-apply{flex: 1;min-width: 0;height: 100%;display: flex;align-items: center;gap: 0.5rem;border: 0;background: transparent;padding: 0;text-align: left;color: inherit;font: inherit;cursor: pointer}qlcv-workspace-app .saved .sv-apply .i{width: 0.8125rem;height: 0.8125rem;color: var(--ink-3)}qlcv-workspace-app .savebar{display: flex;gap: 0.375rem;margin-top: 0.5rem}qlcv-workspace-app .savebar input{flex: 1}qlcv-workspace-app .group-h{position: sticky;top: calc(var(--hh) + var(--bar2h,2.75rem));z-index: 6;background: var(--bg);padding: 0.75rem 0.125rem 0.5rem;display: flex;align-items: center;gap: 0.5rem;font-weight: 600;color: var(--sc)}qlcv-workspace-app .group-h .gdot{width: 0.625rem;height: 0.625rem;border-radius: var(--qlcv-radius-s);background: var(--sc)}qlcv-workspace-app .live-off{display: inline-flex;align-items: center;gap: 0.3125rem;font-size: var(--qlcv-text-xs);color: var(--ink-2);font-weight: 500}qlcv-workspace-app .live-off .i{width: 0.8125rem;height: 0.8125rem}@media (max-width: 56.25em){qlcv-workspace-app .fchips{order: 12;flex-basis: 100%}qlcv-workspace-app .group-h{top: 0}}qlcv-workspace-app .dashboard{padding: 1rem 0;display: flex;flex-direction: column;gap: 1rem}qlcv-workspace-app .dash-h{display: flex;align-items: flex-start;gap: 1rem;flex-wrap: wrap}qlcv-workspace-app .dash-h h2{margin: 0;flex: 1;min-width: 0;font-family: var(--serif);font-size: var(--qlcv-text-xl);font-weight: 600;color: var(--ink)}qlcv-workspace-app .dash-h .sub{display: block;margin-top: 0.125rem;font-size: var(--qlcv-text-xs);font-weight: 400;color: var(--ink-3)}qlcv-workspace-app .dash-date{flex: none;display: inline-flex;align-items: center;gap: 0.5rem;padding: 0.5rem 0.875rem;border: 0.0625rem solid var(--card-line);border-radius: var(--qlcv-radius-l);background: var(--surface);box-shadow: var(--card-shadow);font-size: var(--qlcv-text-xs);color: var(--ink-2)}qlcv-workspace-app .dash-date .i{width: 1rem;height: 1rem;color: var(--ink-3)}qlcv-workspace-app .kpis{display: grid;grid-template-columns: repeat(4,1fr);gap: 0.75rem}qlcv-workspace-app .kpi{background: var(--surface);border: 0.0625rem solid var(--card-line);border-top: 0.3125rem solid var(--kpi-fg);border-radius: var(--qlcv-radius-m);box-shadow: var(--card-shadow);padding: 0.875rem 1rem;display: flex;align-items: flex-start;gap: 0.75rem}qlcv-workspace-app .kpi-tile{flex: none;display: grid;place-items: center;color: var(--kpi-fg)}qlcv-workspace-app .kpi-tile .i{width: 1.75rem;height: 1.75rem}qlcv-workspace-app .kpi-text{display: flex;flex-direction: column;gap: 0.125rem;min-width: 0}qlcv-workspace-app .kpi-tim{--kpi-fg: var(--fam-cho)}qlcv-workspace-app .kpi-luc{--kpi-fg: var(--fam-xong)}qlcv-workspace-app .kpi-lam{--kpi-fg: var(--fam-dang)}qlcv-workspace-app .kpi-do{--kpi-fg: var(--red)}qlcv-workspace-app .kpi .kpi-val{font-family: var(--serif);font-size: var(--qlcv-text-2xl);font-weight: 600;font-variant-numeric: tabular-nums;line-height: 1.25;color: var(--ink)}qlcv-workspace-app .kpi .kpi-lbl{font-size: var(--qlcv-text-xs);font-weight: 500;color: var(--ink-2)}qlcv-workspace-app .kpi .kpi-sub{font-size: var(--qlcv-text-xs);color: var(--ink-3)}qlcv-workspace-app .kpi-do .kpi-val{color: var(--red)}qlcv-workspace-app .kpi-do.calm{--kpi-fg: var(--ink-2)}qlcv-workspace-app .kpi-do.calm .kpi-val{color: var(--ink)}qlcv-workspace-app .kpi-luc .kpi-val{color: var(--fam-xong)}qlcv-workspace-app .panels{display: grid;grid-template-columns: 1fr 1fr;align-items: start;gap: 0.75rem}qlcv-workspace-app .panel{background: var(--surface);border: 0.0625rem solid var(--card-line);border-radius: var(--qlcv-radius-l);box-shadow: var(--card-shadow);padding: 1rem 1.25rem}qlcv-workspace-app .panel-h{display: flex;align-items: center;gap: 0.625rem;margin-bottom: 0.5rem}qlcv-workspace-app .panel-h h3{margin: 0;flex: 1;min-width: 0;line-height: 1.35}qlcv-workspace-app .panel-filter{flex: none;height: 1.875rem;max-width: 11rem;padding-inline-start: 0.625rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);background-color: var(--surface);color: var(--ink);font: inherit;font-size: var(--qlcv-text-xs);cursor: pointer}qlcv-workspace-app .lnk{flex: none;display: inline-flex;align-items: center;gap: 0.25rem;border: 0;background: none;padding: 0.25rem 0.375rem;margin-right: -0.375rem;border-radius: var(--qlcv-radius-s);color: var(--link);font: inherit;font-size: var(--qlcv-text-xs);font-weight: 600;cursor: pointer}qlcv-workspace-app .lnk .i{width: 0.875rem;height: 0.875rem}qlcv-workspace-app .lnk:hover{background: var(--gray-soft)}qlcv-workspace-app .lnk:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: 0.0625rem}qlcv-workspace-app .panel h3{margin: 0 0 0.5rem;display: flex;align-items: center;gap: 0.5rem;font-family: var(--serif);font-size: var(--qlcv-text-l);font-weight: 600;color: var(--ink)}qlcv-workspace-app .panel h3 .i{width: 1rem;height: 1rem;flex: none;color: var(--ink-2)}qlcv-workspace-app .stack-legend{display: flex;flex-wrap: wrap;gap: 0.25rem 0.875rem;margin-bottom: 0.625rem;font-size: var(--qlcv-text-xs);color: var(--ink-2)}qlcv-workspace-app .stack-legend span{display: inline-flex;align-items: center;gap: 0.375rem}qlcv-workspace-app .stack-legend i{width: 0.625rem;height: 0.625rem;border-radius: var(--qlcv-radius-pill);flex: none}qlcv-workspace-app .stack-legend i.s-rest{background: var(--gray-soft);box-shadow: inset 0 0 0 0.0625rem var(--line)}qlcv-workspace-app .panel-body{display: flex;flex-direction: column;gap: 0.5rem;max-height: 21.25rem;overflow-y: auto}qlcv-workspace-app .panel-empty{color: var(--ink-2);font-size: var(--qlcv-text-m);margin: 0;max-width: 60ch}qlcv-workspace-app .brow{display: grid;grid-template-columns: minmax(5.5rem,1fr) 2fr 3.25rem 3.25rem;gap: 0.625rem;align-items: center;min-height: 1.75rem}qlcv-workspace-app .brow.has-ava{grid-template-columns: auto minmax(4.5rem,1fr) 2fr 3.25rem 3.25rem;gap: 0.5rem 0.625rem}qlcv-workspace-app .pct{justify-self: end;min-width: 2.75rem;text-align: center;padding: 0.125rem 0.5rem;border-radius: var(--qlcv-radius-pill);font-size: var(--qlcv-text-xs);font-weight: 600;font-variant-numeric: tabular-nums}qlcv-workspace-app .pct-high{background: var(--fam-xong-bg);color: var(--fam-xong)}qlcv-workspace-app .pct-mid{background: var(--amber-soft);color: var(--amber)}qlcv-workspace-app .pct-low{background: var(--red-soft);color: var(--red)}qlcv-workspace-app .pct-zero{background: var(--gray-soft);color: var(--ink-3)}qlcv-workspace-app .brow-lbl{font-size: var(--qlcv-text-m);color: var(--ink);white-space: normal;overflow-wrap: anywhere}qlcv-workspace-app .brow-val{font-size: var(--qlcv-text-xs);color: var(--ink-2);text-align: right;white-space: nowrap;font-variant-numeric: tabular-nums}qlcv-workspace-app .stack{display: flex;height: 0.625rem;border-radius: var(--qlcv-radius-pill);overflow: hidden;background: var(--gray-soft);box-shadow: inset 0 0 0 0.0625rem var(--line)}qlcv-workspace-app .stack.empty{opacity: 0.4}qlcv-workspace-app .stack .s-done,qlcv-workspace-app .stack-legend i.s-done{background: var(--dash-done)}qlcv-workspace-app .stack .s-late,qlcv-workspace-app .stack-legend i.s-late{background: var(--red)}qlcv-workspace-app .ltable-wrap{overflow-x: auto}qlcv-workspace-app .ltable{width: 100%;border-collapse: collapse;font-size: var(--qlcv-text-m)}qlcv-workspace-app .ltable th{text-align: start;font-weight: 600;font-size: var(--qlcv-text-xs);color: var(--ink-2);padding: 0.5rem 0.625rem;border-bottom: 0.0625rem solid var(--line);white-space: nowrap}qlcv-workspace-app .ltable td{padding: 0.625rem;border-bottom: 0.0625rem solid var(--line-soft);vertical-align: middle}qlcv-workspace-app .ltable tbody tr:last-child td{border-bottom: 0}qlcv-workspace-app .ltable tbody tr:hover{background: var(--gray-soft)}qlcv-workspace-app .ltable .c-no{width: 2.5rem;color: var(--ink-3)}qlcv-workspace-app .ltable .c-act{width: 4rem;text-align: center}qlcv-workspace-app .ltable .due{white-space: nowrap}:is(qlcv-workspace-app,.qlcv-web-host) .lnk-cell{border: 0;background: none;padding: 0;font: inherit;color: var(--link);text-align: start;cursor: pointer;border-radius: var(--qlcv-radius-s)}:is(qlcv-workspace-app,.qlcv-web-host) .lnk-cell:hover{text-decoration: underline}:is(qlcv-workspace-app,.qlcv-web-host) .lnk-cell:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: 0.125rem}qlcv-workspace-app .ltable .who{display: inline-flex;align-items: center;gap: 0.375rem;white-space: nowrap}qlcv-workspace-app .b-over{background: var(--red-soft);color: var(--red);white-space: nowrap}qlcv-workspace-app .rowmenu{position: relative;display: inline-block}qlcv-workspace-app .rowmenu .menu{position: absolute;right: 0;top: calc(100% + 0.25rem);z-index: 30;min-width: 11rem;padding: 0.25rem;display: flex;flex-direction: column;background: var(--surface);border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-l);box-shadow: var(--aura-shadow-m)}qlcv-workspace-app .rowmenu .menu button{display: flex;align-items: center;gap: 0.5rem;height: 2rem;padding: 0 0.625rem;border: 0;border-radius: var(--qlcv-radius-s);background: none;color: var(--ink);font: inherit;font-size: var(--qlcv-text-m);text-align: start;cursor: pointer}qlcv-workspace-app .rowmenu .menu button .i{width: 1rem;height: 1rem;color: var(--ink-3)}qlcv-workspace-app .rowmenu .menu button:hover{background: var(--gray-soft)}qlcv-workspace-app .rowmenu .menu button:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: -0.125rem}@media (max-width: 56.25em){qlcv-workspace-app .kpis{grid-template-columns: repeat(2,1fr)}qlcv-workspace-app .panels{grid-template-columns: 1fr}qlcv-workspace-app .brow{grid-template-columns: minmax(4.5rem,1fr) 2fr 3rem 3rem}qlcv-workspace-app .brow.has-ava{grid-template-columns: auto minmax(3.75rem,1fr) 2fr 3rem 3rem}}@media (max-width: 35em){qlcv-workspace-app .dash-h h2{flex-basis: 100%}qlcv-workspace-app .dash-h .sub{line-height: 1.4}qlcv-workspace-app .brow{grid-template-columns: minmax(0,1fr) 3rem 3rem;row-gap: 0.25rem}qlcv-workspace-app .brow>.brow-lbl{grid-column: 1 / -1}qlcv-workspace-app .brow.has-ava{grid-template-columns: auto minmax(0,1fr) 3rem 3rem}qlcv-workspace-app .brow.has-ava>.brow-lbl{grid-column: 2 / -1}qlcv-workspace-app .brow.has-ava>.stack{grid-column: 2}}qlcv-workspace-app .page:has(>.kanban),qlcv-workspace-app .page:has(>.mc-view){display: flex;flex-direction: column;min-height: calc(100% - var(--hh))}qlcv-workspace-app .row{display: grid;grid-template-columns: minmax(0,1.05fr) minmax(0,1fr);background: var(--surface);border: 0.0625rem solid var(--card-line);border-radius: var(--qlcv-radius-m);margin-bottom: 0.875rem;overflow: hidden;box-shadow: var(--card-shadow);position: relative}qlcv-workspace-app .info{padding: 0.75rem 0.875rem;display: flex;flex-direction: column;gap: 0.5625rem;min-width: 0}qlcv-workspace-app .hd{display: flex;align-items: flex-start;gap: 0.5rem}qlcv-workspace-app .hd .stepdot{margin-top: 0.375rem}qlcv-workspace-app .hd h3{margin: 0;font-family: var(--serif);font-size: var(--qlcv-text-l);font-weight: 600;line-height: 1.3;flex: 1;min-width: 0;letter-spacing: -0.005em}qlcv-workspace-app .hd .sumbtn,qlcv-workspace-app .task .nm>.t{border: 0;padding: 0;background: none;font: inherit;color: inherit;text-align: start;border-radius: var(--qlcv-radius-s);cursor: pointer}qlcv-workspace-app .hd .sumbtn{display: block;width: 100%;white-space: normal}qlcv-workspace-app .hd .sumbtn:hover,qlcv-workspace-app .task .nm>.t:hover{color: var(--link);text-decoration: underline;text-underline-offset: 0.125rem}qlcv-workspace-app .hd .sumbtn:focus-visible,qlcv-workspace-app .task .nm>.t:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: 0.125rem}qlcv-workspace-app .hd .sumbtn:active,qlcv-workspace-app .task .nm>.t:active{color: var(--link);background: var(--sel-bg)}qlcv-workspace-app .hd .sumbtn:disabled,qlcv-workspace-app .task .nm>.t:disabled{color: var(--ink-4);text-decoration: none;cursor: not-allowed}qlcv-workspace-app .tools{display: flex;gap: 0.0625rem;margin: -0.125rem -0.25rem 0 0}qlcv-workspace-app .tools .ib{color: var(--ink-3)}qlcv-workspace-app .tools .ib:hover{color: var(--ink)}qlcv-workspace-app .line{display: flex;align-items: center;gap: 0.375rem 0.875rem;flex-wrap: wrap;min-width: 0}qlcv-workspace-app .line.chips{gap: 0.375rem}qlcv-workspace-app .line.plans{gap: 0.375rem}qlcv-workspace-app .line.plans>.i{width: 0.875rem;height: 0.875rem;color: var(--ink-4);flex: none}qlcv-workspace-app .plan-btn{cursor: pointer;transition: border-color 0.12s,box-shadow 0.12s}qlcv-workspace-app .plan-btn:hover{border-color: var(--sc)}qlcv-workspace-app .plan-btn.on{border-color: var(--sc);box-shadow: 0 0 0 0.0625rem var(--sc)}qlcv-workspace-app .plan-btn:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: 0.125rem}qlcv-workspace-app .plan-btn:active{background: var(--sel-bg)}qlcv-workspace-app .all-tasks{border-style: dashed;gap: 0.25rem;color: var(--ink-2)}qlcv-workspace-app .all-tasks .i{width: 0.875rem;height: 0.875rem;flex: none}qlcv-workspace-app .all-tasks.on{border-style: solid;color: var(--ink)}qlcv-workspace-app .people{font-size: var(--qlcv-text-m)}qlcv-workspace-app .row.flash,qlcv-workspace-app .crow.flash{animation: qlcv-ws-flash 1.6s ease-out}@keyframes qlcv-ws-flash{0%{box-shadow: 0 0 0 0.1875rem var(--accent-soft),0 0 0 0.25rem var(--sel-ink)}100%{box-shadow: var(--card-shadow)}}qlcv-workspace-app .sig{margin-left: auto;display: flex;gap: 0.75rem;align-items: center;font-size: var(--qlcv-text-xs);color: var(--ink-3);font-variant-numeric: tabular-nums}qlcv-workspace-app .sig span{display: inline-flex;gap: 0.25rem;align-items: center;white-space: nowrap}qlcv-workspace-app .sig .i{width: 0.8125rem;height: 0.8125rem}qlcv-workspace-app .sig .red{color: var(--red);font-weight: 600}qlcv-workspace-app .sig .amber{color: var(--amber);font-weight: 600}qlcv-workspace-app .sig .accent{color: var(--ink);font-weight: 600}qlcv-workspace-app .sig .muted{color: var(--ink-4)}qlcv-workspace-app .row.remote,qlcv-workspace-app .crow.remote{animation: qlcv-ws-remote 2.2s ease-out}@keyframes qlcv-ws-remote{0%{box-shadow: 0 0 0 0.1875rem var(--amber-soft),0 0 0 0.25rem var(--amber)}100%{box-shadow: var(--card-shadow)}}qlcv-workspace-app .row.ended .info{background: var(--log)}qlcv-workspace-app .hint-empty{font-size: var(--qlcv-text-xs);color: var(--ink-4);padding: 0.25rem 0 0.125rem}qlcv-workspace-app .rwrap{position: relative}qlcv-workspace-app .rwrap>.crow{padding-inline-end: 3rem}qlcv-workspace-app .rwrap>.row{padding-inline-end: 2.75rem}qlcv-workspace-app .rwrap>.row-toggle{position: absolute;top: 0.375rem;inset-inline-end: 0.375rem;z-index: 2}qlcv-workspace-app .rwrap>.row-toggle .i{transition: transform var(--qlcv-motion-base)}qlcv-workspace-app .rwrap>.row-toggle[aria-expanded="true"] .i{transform: rotate(180deg)}qlcv-workspace-app .crow{display: grid;grid-template-columns: minmax(13.75rem,1.5fr) minmax(8.125rem,0.8fr) minmax(12.5rem,1.3fr) minmax(11.25rem,1.3fr) 6rem;gap: 1rem;align-items: center;background: var(--surface);border: 0.0625rem solid var(--card-line);border-radius: var(--qlcv-radius-m);padding: 0.5rem 0.75rem;margin-bottom: 0.5rem;cursor: pointer;box-shadow: var(--card-shadow)}qlcv-workspace-app .crow:hover{border-color: var(--ink-4);box-shadow: var(--aura-shadow-s)}qlcv-workspace-app .crow .c1{display: flex;align-items: center;gap: 0.4375rem;min-width: 0}qlcv-workspace-app .crow .c1 .nm{font-weight: 600;white-space: normal;overflow-wrap: anywhere}qlcv-workspace-app .crow .c2{display: flex;min-width: 0;overflow: hidden}qlcv-workspace-app .crow .chips{flex-wrap: nowrap;overflow: hidden;-webkit-mask-image: linear-gradient(to right,#000 85%,transparent);mask-image: linear-gradient(to right,#000 85%,transparent)}qlcv-workspace-app .crow .ct2,qlcv-workspace-app .crow .cn{display: flex;align-items: baseline;gap: 0.5rem;min-width: 0;white-space: nowrap}qlcv-workspace-app .crow .ct2 .t,qlcv-workspace-app .crow .cn .tx{min-width: 0;white-space: normal;overflow-wrap: anywhere}qlcv-workspace-app .crow .ct2 .dt{color: var(--ink-3);font-variant-numeric: tabular-nums;font-size: var(--qlcv-text-xs)}qlcv-workspace-app .crow .ct2.over .dt,qlcv-workspace-app .crow .ct2.over .t{color: var(--red)}qlcv-workspace-app .crow .ct2.today .dt,qlcv-workspace-app .crow .ct2.today .t{color: var(--red)}qlcv-workspace-app .crow .ct2.over .dt,qlcv-workspace-app .crow .ct2.today .dt{font-weight: 600}qlcv-workspace-app .crow .cn .tx{color: var(--ink-3)}qlcv-workspace-app .crow .c5{display: flex;align-items: center;justify-content: flex-end;gap: 0.5rem;color: var(--ink-3);font-size: var(--qlcv-text-xs)}qlcv-workspace-app .crow .c5 .w{display: inline-flex;align-items: center;gap: 0.1875rem;color: var(--amber);font-weight: 600;font-size: var(--qlcv-text-xs)}qlcv-workspace-app .crow .c5 .w .i{width: 0.8125rem;height: 0.8125rem}qlcv-workspace-app .crow .c5 .nbadge{height: 1.125rem;min-width: 1.125rem;font-size: var(--qlcv-text-xs);cursor: inherit}qlcv-workspace-app .stage-block + .stage-block{margin-top: 0.625rem}qlcv-workspace-app .sb-h{display: flex;align-items: center;gap: 0.5rem;font-size: var(--qlcv-text-m);font-weight: 600;color: var(--sc);padding: 0.25rem 0}qlcv-workspace-app .sb-h .gdot{width: 0.5rem;height: 0.5rem;border-radius: var(--qlcv-radius-s);background: var(--sc)}qlcv-workspace-app .sb-h .muted{font-weight: 500;font-variant-numeric: tabular-nums}qlcv-workspace-app .ck{display: grid;grid-template-columns: 1.125rem minmax(0,1fr) auto;gap: 0.625rem;padding: 0.5625rem 0;align-items: start;border-top: 0.0625rem solid var(--line-soft)}qlcv-workspace-app .ck[role="button"]{cursor: pointer}qlcv-workspace-app .ck[role="button"]:hover{background: var(--log)}qlcv-workspace-app .ck .ci{margin-top: 0.125rem;color: var(--ink-4)}qlcv-workspace-app .ck.done .ci{color: var(--fam-xong)}qlcv-workspace-app .ck.over .ci,qlcv-workspace-app .ck.over .cn .t{color: var(--red)}qlcv-workspace-app .ck.today .cn .t{color: var(--red)}qlcv-workspace-app .ck .cn{font-weight: 500;display: flex;align-items: center;gap: 0;flex-wrap: wrap}qlcv-workspace-app .ck.done .cn .t,qlcv-workspace-app .ck.skipped .cn .t{color: var(--ink-3)}qlcv-workspace-app .ck.done .cn .t{text-decoration: line-through;text-decoration-color: var(--ink-4)}qlcv-workspace-app .ck.skipped .cn .t{text-decoration: line-through}qlcv-workspace-app .ck .cs{font-size: var(--qlcv-text-xs);color: var(--ink-3);margin-top: 0.1875rem;display: flex;flex-wrap: wrap;gap: 0.125rem 0.75rem;align-items: center}qlcv-workspace-app .ck .cs span{display: inline-flex;gap: 0.25rem;align-items: center}qlcv-workspace-app .ck .cs .i{width: 0.75rem;height: 0.75rem}qlcv-workspace-app .ck .cr{display: flex;align-items: center;gap: 0.375rem;font-size: var(--qlcv-text-xs);white-space: nowrap;font-variant-numeric: tabular-nums;color: var(--ink-3)}qlcv-workspace-app .ck.over .cr .d{color: var(--red);font-weight: 600}qlcv-workspace-app .ck.today .cr .d{color: var(--red);font-weight: 600}qlcv-workspace-app .ck.waiting .ci{color: var(--ink-2)}qlcv-workspace-app .doclist{display: flex;flex-wrap: wrap;gap: 0.375rem}qlcv-workspace-app .doclist-pick{margin-bottom: 0.625rem}qlcv-workspace-app .doclist-pick .file.on{background: var(--sel-bg);color: var(--sel-ink);border-color: var(--sel-ink);font-weight: 600}qlcv-workspace-app .nf-form{display: flex;flex-direction: column;gap: 0}qlcv-workspace-app .nf-name{width: 100%;border: 0;border-bottom: 0.0625rem solid var(--line);outline: none;font-size: var(--qlcv-text-l);font-weight: 600;padding: 1rem 0 0.75rem;background: transparent;resize: none;line-height: 1.4}qlcv-workspace-app .nf-name:focus{border-bottom-color: var(--accent)}qlcv-workspace-app .nf-name.bad{border-bottom-color: var(--red);box-shadow: none}qlcv-workspace-app .nf-row{display: grid;grid-template-columns: 1.375rem minmax(0,1fr);gap: 0.75rem;padding: 0.75rem 0;border-bottom: 0.0625rem solid var(--line-soft);align-items: start}qlcv-workspace-app .nf-row>.ico{color: var(--ink-3);padding-top: 0.4375rem}qlcv-workspace-app .nf-row.bad>.ico{color: var(--red)}qlcv-workspace-app .nf-row .lbl{font-size: var(--qlcv-text-xs);color: var(--ink-3);margin-bottom: 0.25rem}qlcv-workspace-app .prt{display: flex;gap: 0.5rem;flex-wrap: wrap}qlcv-workspace-app .prt input,qlcv-workspace-app .nf-row input[type="date"],qlcv-workspace-app .nf-row textarea,qlcv-workspace-app .prt select,qlcv-workspace-app .nf-sel,qlcv-workspace-app .lt-period select,qlcv-workspace-app .split-row select,qlcv-workspace-app .wrow select{height: 2.125rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0 0.625rem;background-color: var(--surface);outline: none}qlcv-workspace-app .prt input{flex: 1;min-width: 10rem}qlcv-workspace-app .prt select,qlcv-workspace-app .nf-sel,qlcv-workspace-app .lt-period select,qlcv-workspace-app .split-row select,qlcv-workspace-app .wrow select{padding-inline-end: 1.75rem}qlcv-workspace-app .nf-sel{min-width: 13.75rem;max-width: 100%}qlcv-workspace-app .nf-row textarea{width: 100%;height: auto;padding: 0.5rem 0.625rem;resize: vertical;line-height: 1.55}qlcv-workspace-app .prt input:focus,qlcv-workspace-app .nf-row input:focus,qlcv-workspace-app .nf-row textarea:focus,qlcv-workspace-app .prt select:focus,qlcv-workspace-app .nf-sel:focus,qlcv-workspace-app .lt-period select:focus,qlcv-workspace-app .split-row select:focus,qlcv-workspace-app .wrow select:focus{border-color: var(--focus)}@media (max-width: 67.5em){qlcv-workspace-app .row{grid-template-columns: 1fr}qlcv-workspace-app .crow{grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto}qlcv-workspace-app .crow .cn{display: none}}@media (max-width: 56.25em){qlcv-workspace-app .hd{flex-wrap: wrap}qlcv-workspace-app .hd h3{flex: 1 1 calc(100% - 1.875rem)}qlcv-workspace-app .hd .tools{margin-left: auto}qlcv-workspace-app .sig{margin-left: 0}qlcv-workspace-app .crow{grid-template-columns: 1fr auto}}qlcv-workspace-app .row.unseen .hd h3,qlcv-workspace-app .crow.unseen .nm{font-weight: 800}qlcv-workspace-app .load-more{display: flex;justify-content: center;padding: 0.75rem 0 1.5rem}qlcv-workspace-app .lt-head{display: flex;flex-wrap: wrap;align-items: center;gap: 0.75rem 1rem;margin-bottom: 0.75rem}qlcv-workspace-app .lt-total{display: flex;flex-direction: column;line-height: 1.2}qlcv-workspace-app .lt-total b{font-size: var(--qlcv-text-l);font-variant-numeric: tabular-nums}qlcv-workspace-app .lt-total span{color: var(--ink-3);font-size: var(--qlcv-text-xs)}qlcv-workspace-app .lt-period{display: flex;align-items: center;gap: 0.375rem;color: var(--ink-3);min-width: 0;max-width: 100%}qlcv-workspace-app .lt-period select{min-width: 0;flex: 1 1 auto}qlcv-workspace-app .lt-line{margin: 0 0 0.5rem 0.375rem;padding: 0 0 0 0.875rem;border-left: 0.125rem solid var(--line);list-style: none}qlcv-workspace-app .lt-line li{position: relative;display: flex;flex-wrap: wrap;align-items: center;gap: 0.375rem 0.75rem;padding: 0.5rem 0}qlcv-workspace-app .lt-dot{position: absolute;left: -1.3125rem;top: 0.875rem;width: 0.625rem;height: 0.625rem;border: 0.125rem solid var(--ink-3);border-radius: var(--qlcv-radius-pill);background: var(--surface)}qlcv-workspace-app .lt-main{display: flex;flex: 1 1 16rem;flex-direction: column;min-width: 0}qlcv-workspace-app .lt-name{padding: 0;border: 0;background: none;color: var(--link);font: inherit;font-weight: 500;text-align: left;cursor: pointer}qlcv-workspace-app .lt-name:hover{text-decoration: underline}qlcv-workspace-app .lt-name:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: 0.125rem}qlcv-workspace-app .lt-pct{display: flex;align-items: center;gap: 0.375rem;width: 9rem;font-size: var(--qlcv-text-xs);font-variant-numeric: tabular-nums}qlcv-workspace-app .plan-blk{padding: 0.5rem 0 0.625rem;border-top: 0.0625rem solid var(--line-soft)}qlcv-workspace-app .plan-blk:first-of-type{border-top: 0}qlcv-workspace-app .plan-blk .sb-h .chip{margin-left: auto}qlcv-workspace-app .plan-meta{font-size: var(--qlcv-text-xs);color: var(--ink-3);display: flex;gap: 0.25rem 0.75rem;flex-wrap: wrap;margin: 0 0 0.25rem 1rem;font-variant-numeric: tabular-nums}qlcv-workspace-app .plan-meta span{display: inline-flex;gap: 0.25rem;align-items: center}qlcv-workspace-app .plan-meta .i{width: 0.75rem;height: 0.75rem}qlcv-workspace-app .plan-meta .err{color: var(--red);font-weight: 600}qlcv-workspace-app .inlineform{display: flex;gap: 0.375rem;align-items: center;flex-wrap: wrap;margin: 0.375rem 0 0.25rem 1rem}qlcv-workspace-app .inlineform>.i{color: var(--ink-3);width: 0.875rem;height: 0.875rem}qlcv-workspace-app .inlineform input[type="text"]{flex: 1;min-width: 10rem;height: 1.875rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0 0.5rem;outline: none}qlcv-workspace-app .inlineform input[type="date"]{height: 1.875rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0 0.375rem;outline: none}qlcv-workspace-app .inlineform input:focus{border-color: var(--focus)}qlcv-workspace-app .plan-acts{margin: 0.375rem 0 0 1rem}qlcv-workspace-app .plan-gantt{padding-top: 0.75rem}qlcv-workspace-app .form-grid .dlg-err.full{grid-column: 1 / -1}qlcv-workspace-app .plan-form>.full{grid-column: 1 / -1}qlcv-workspace-app .plan-form .pf-range{display: flex;align-items: center;gap: 0.5rem}qlcv-workspace-app .plan-form .pf-sections-head{display: flex;align-items: center;gap: 0.5rem;color: var(--ink-3);font-size: var(--qlcv-text-xs)}qlcv-workspace-app .plan-form .pf-tasks{display: flex;flex-direction: column;gap: 0.125rem;padding-top: 0.5rem;border-top: 0.0625rem solid var(--line-soft)}qlcv-workspace-app .plan-form .pf-tasks-h{color: var(--ink-3);font-size: var(--qlcv-text-xs);margin-bottom: 0.25rem}qlcv-workspace-app .plan-form .pf-task{display: flex;align-items: center;gap: 0.5rem;padding: 0.25rem 0;cursor: pointer}qlcv-workspace-app .plan-form .pf-task input{height: auto;width: auto;padding: 0}qlcv-workspace-app .plan-form .pf-task-sub{color: var(--ink-3);font-size: var(--qlcv-text-xs)}qlcv-workspace-app .plan-form .pf-task-after{display: block}qlcv-workspace-app .plan-tasks{margin: 0.25rem 0 0 1rem;display: flex;flex-direction: column;gap: 0.125rem}qlcv-workspace-app .plan-tasks .inlineform{margin-left: 0}qlcv-workspace-app .plan-acts .grow{flex: 1}qlcv-workspace-app .plan-blk .sb-h .tstatus{margin-left: auto}qlcv-workspace-app .plan-status{height: 1.75rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0 0.375rem;font-size: var(--qlcv-text-xs);background: var(--surface);color: var(--ink-2)}qlcv-workspace-app .plan-status:hover:not(:disabled){color: var(--ink);border-color: var(--ink-4)}qlcv-workspace-app .plan-status:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: 0.0625rem}qlcv-workspace-app .plan-status:disabled{color: var(--ink-4);border-color: var(--line-soft);cursor: not-allowed}qlcv-workspace-app .tasks{display: flex;flex-direction: column;margin-top: -0.125rem}qlcv-workspace-app .task{display: grid;grid-template-columns: 1.125rem minmax(0,1fr) auto auto;align-items: center;gap: 0.5rem;min-height: 1.875rem;position: relative}qlcv-workspace-app .chk{width: 1.0625rem;height: 1.0625rem;border-radius: 50%;border: 0.0938rem solid var(--ink-4);background: var(--surface);display: grid;place-items: center;padding: 0;color: transparent}qlcv-workspace-app .chk .i{width: 0.625rem;height: 0.625rem;stroke-width: 3.2}qlcv-workspace-app .chk:hover:not(:disabled){border-color: var(--fam-xong);background: var(--fam-xong);color: var(--surface)}qlcv-workspace-app .chk:disabled{cursor: not-allowed}@media (pointer: coarse){qlcv-workspace-app .chk{position: relative}qlcv-workspace-app .chk::after{content: "";position: absolute;inset: -0.25rem}}qlcv-workspace-app .task .nm{min-width: 0;display: flex;align-items: center;gap: 0.375rem;white-space: nowrap;padding-right: 0.125rem}qlcv-workspace-app .task .nm>.t{min-width: 0;white-space: normal;overflow-wrap: anywhere}qlcv-workspace-app .task.mine .t{font-weight: 600}qlcv-workspace-app .task.over .t,qlcv-workspace-app .task.over .due{color: var(--red)}qlcv-workspace-app .task.over .chk{border-color: var(--red)}qlcv-workspace-app .task.today .t,qlcv-workspace-app .task.today .due{color: var(--red)}qlcv-workspace-app .task.today .chk{border-color: var(--red)}qlcv-workspace-app .task.over .due,qlcv-workspace-app .task.today .due{font-weight: 600}qlcv-workspace-app .task.soon .due{color: var(--amber)}qlcv-workspace-app .task.done .chk{background: var(--fam-xong-bg);border-color: var(--fam-xong);color: var(--fam-xong);cursor: default}qlcv-workspace-app .task.done .t{text-decoration: line-through;text-decoration-color: var(--ink-4);color: var(--ink-3)}qlcv-workspace-app .task.done .due{color: var(--fam-xong);cursor: default}qlcv-workspace-app .task.active{background: var(--sel-bg);margin: 0 -0.5rem;padding: 0 0.5rem;border-radius: var(--qlcv-radius-s)}qlcv-workspace-app .task.frozen .t,qlcv-workspace-app .task.frozen .due{color: var(--ink-3) !important;font-weight: 400 !important}qlcv-workspace-app .task.frozen .chk{border-color: var(--ink-4) !important}qlcv-workspace-app .task.wait .chk{border-style: dashed}qlcv-workspace-app .task.wait .due{color: var(--ink-4)}qlcv-workspace-app .due{border: 0;background: transparent;padding: 0.125rem 0.375rem;border-radius: var(--qlcv-radius-s);font-size: var(--qlcv-text-xs);color: var(--ink-3);white-space: nowrap;font-variant-numeric: tabular-nums}qlcv-workspace-app .task .due{min-width: 2.75rem;text-align: right}qlcv-workspace-app .task .tm{display: inline-flex;align-items: center;gap: 0.1875rem;flex: none;font-size: var(--qlcv-text-xs);color: var(--ink-2);font-weight: 600;background: var(--gray-soft);border-radius: var(--qlcv-radius-s);padding: 0 0.3125rem}qlcv-workspace-app .task .tm .i{width: 0.6875rem;height: 0.6875rem}qlcv-workspace-app .task .tm.hot{background: var(--fam-cho-bg);color: var(--fam-cho)}qlcv-workspace-app .task .tm.warn{background: var(--amber-soft);color: var(--amber)}qlcv-workspace-app .tt{display: flex;gap: 0;flex: none;margin-left: auto;padding-left: 0.75rem}qlcv-workspace-app .tt .ib{width: 1.5rem;height: 1.5rem}qlcv-workspace-app .tt .ib .i{width: 0.8125rem;height: 0.8125rem}qlcv-workspace-app .who-col{min-width: 0;max-width: 10rem;font-size: var(--qlcv-text-xs);white-space: normal;overflow-wrap: anywhere}qlcv-workspace-app .who-col .who{font-size: var(--qlcv-text-xs)}qlcv-workspace-app .task.mine .who-col .who{font-weight: 600}qlcv-workspace-app .task.done .who-col .who{opacity: 0.6}qlcv-workspace-app .who-col .muted{font-size: var(--qlcv-text-xs);color: var(--ink-4)}qlcv-workspace-app .th-code{font-size: var(--qlcv-text-xs);font-weight: 700;color: var(--ink-3);letter-spacing: 0.02em}qlcv-workspace-app .tdr-one{background: var(--surface);border: 0.0625rem solid var(--card-line);border-radius: var(--qlcv-radius-l);box-shadow: var(--card-shadow);padding: 0.25rem 1rem 0.75rem}qlcv-workspace-app .tdr-one .sec:last-child{border-bottom: 0}qlcv-workspace-app .tsum{display: flex;flex-wrap: wrap;gap: 0.5rem;padding: 0.75rem 0 0.25rem}qlcv-workspace-app .tsum-i{display: inline-flex;align-items: baseline;gap: 0.375rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-pill);padding: 0.25rem 0.75rem;min-width: 0}qlcv-workspace-app .tsum-i>.k{color: var(--ink-3);font-size: var(--qlcv-text-xs);white-space: nowrap}qlcv-workspace-app .tsum-i>.v{font-weight: 600;min-width: 0;white-space: normal;overflow-wrap: anywhere}qlcv-workspace-app .tsum-sub{font-size: var(--qlcv-text-xs);white-space: nowrap}qlcv-workspace-app .prose{white-space: pre-wrap;word-break: break-word;line-height: 1.65}qlcv-workspace-app .kv2{display: grid;grid-template-columns: 1.375rem 8.125rem minmax(0,1fr);gap: 0.625rem 0.625rem;align-items: start;font-size: var(--qlcv-text-m)}qlcv-workspace-app .kv2>.i{color: var(--ink-3);margin-top: 0.125rem}qlcv-workspace-app .kv2>.k{color: var(--ink-3)}qlcv-workspace-app .kv2>.v{min-width: 0}qlcv-workspace-app .kv2 .role{display: inline-flex;gap: 0.3125rem;align-items: center;margin-right: 0.75rem}qlcv-workspace-app .kv2 .role small{color: var(--ink-4);font-size: var(--qlcv-text-xs);font-weight: 600}qlcv-workspace-app .subm{border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0.625rem 0.75rem;margin-top: 0.625rem;background: var(--surface)}qlcv-workspace-app .subm-h{display: flex;align-items: center;gap: 0.5rem;flex-wrap: wrap;font-size: var(--qlcv-text-m)}qlcv-workspace-app .subm-h b{font-weight: 600}qlcv-workspace-app .subm .note{margin-top: 0.25rem;white-space: pre-wrap}qlcv-workspace-app .verdict{margin-top: 0.5rem;padding: 0.375rem 0.625rem;border-radius: var(--qlcv-radius-m);font-size: var(--qlcv-text-xs);display: flex;gap: 0.375rem;align-items: flex-start}qlcv-workspace-app .verdict .i{width: 0.875rem;height: 0.875rem;margin-top: 0.125rem}qlcv-workspace-app .verdict.passed{background: var(--fam-xong-bg);color: var(--fam-xong)}qlcv-workspace-app .verdict.returned{background: var(--fam-tra-bg);color: var(--fam-tra)}qlcv-workspace-app .deps{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 1.5rem}qlcv-workspace-app .dep-row{display: grid;grid-template-columns: 1.125rem minmax(0,1fr) auto;gap: 0.5rem;align-items: center;padding: 0.4375rem 0;border-top: 0.0625rem solid var(--line-soft)}qlcv-workspace-app .dep-row .ci{color: var(--ink-4)}qlcv-workspace-app .dep-row .ci.done{color: var(--fam-xong)}qlcv-workspace-app .dep-row .locked{color: var(--ink-3);font-style: italic}qlcv-workspace-app .tstatus{display: inline-flex;align-items: center;height: 1.375rem;padding: 0 0.5rem;border-radius: var(--qlcv-radius-pill);font-size: var(--qlcv-text-xs);font-weight: 600;background: var(--sb);color: var(--sc);white-space: nowrap}qlcv-workspace-app .form-grid{display: grid;grid-template-columns: 8.125rem minmax(0,1fr);gap: 0.625rem 0.75rem;align-items: center}qlcv-workspace-app .form-grid>label{color: var(--ink-3);font-size: var(--qlcv-text-xs)}qlcv-workspace-app .form-grid input,qlcv-workspace-app .form-grid select,qlcv-workspace-app .form-grid textarea{height: 2.125rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0 0.625rem;background-color: var(--surface);outline: none;width: 100%}qlcv-workspace-app .form-grid select{padding-inline-end: 1.75rem}qlcv-workspace-app .form-grid textarea{height: auto;padding: 0.5rem 0.625rem;resize: vertical;line-height: 1.5}qlcv-workspace-app .form-grid input:focus,qlcv-workspace-app .form-grid select:focus,qlcv-workspace-app .form-grid textarea:focus{border-color: var(--focus)}@media (max-width: 56.25em){qlcv-workspace-app .task{grid-template-columns: 1.125rem minmax(0,1fr) auto}qlcv-workspace-app .who-col{grid-column: 2;justify-self: start}qlcv-workspace-app .task .due{grid-column: 3;grid-row: 1}qlcv-workspace-app .tt{padding-left: 0}qlcv-workspace-app .deps{grid-template-columns: 1fr}qlcv-workspace-app .kv2{grid-template-columns: 1.375rem minmax(0,1fr)}qlcv-workspace-app .kv2>.k{display: none}qlcv-workspace-app .form-grid{grid-template-columns: 1fr}}@media (max-width: 30rem){qlcv-workspace-app .task .nm:has(>.tm){flex-wrap: wrap;row-gap: 0.125rem}qlcv-workspace-app .task .nm:has(>.tm)>.t{flex: 1 1 100%}}qlcv-workspace-app .split-panel{display: flex;flex-direction: column;gap: 0.25rem;padding: 0.5rem 0;border-top: 0.0625rem solid var(--line-soft)}qlcv-workspace-app .split-row{display: flex;align-items: flex-start;gap: 0.625rem;padding: 0.375rem 0}qlcv-workspace-app .split-row .split-main{display: flex;flex: 1 1 auto;flex-direction: column;gap: 0.125rem;min-width: 0}qlcv-workspace-app .split-row select{flex: 0 0 13rem;max-width: 45%}qlcv-workspace-app .witem{display: flex;flex-wrap: wrap;align-items: center;gap: 0.5rem 0.75rem;padding: 0.5rem 0;border-top: 0.0625rem solid var(--line-soft)}qlcv-workspace-app .witem:first-of-type{border-top: none}qlcv-workspace-app .witem-main{display: flex;flex-direction: column;gap: 0.125rem;flex: 1 1 14rem;min-width: 0}qlcv-workspace-app .witem-tools{display: flex;align-items: center;flex-wrap: wrap;gap: 0.375rem}qlcv-workspace-app .subform{display: flex;flex-direction: column;gap: 0.5rem;padding: 0.75rem;margin: 0.5rem 0;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-l)}qlcv-workspace-app .subform input[type="text"],qlcv-workspace-app .subform textarea,qlcv-workspace-app .subform select{border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0.375rem 0.5rem;background-color: var(--surface);font: inherit}qlcv-workspace-app .subform textarea{min-height: 4.5em;resize: vertical}qlcv-workspace-app .subform :is(input,textarea,select):focus-visible{outline: 0.125rem solid var(--qlcv-focus);outline-offset: 0.125rem}qlcv-workspace-app .wrow{display: flex;flex-wrap: wrap;gap: 0.5rem;align-items: center}qlcv-workspace-app .notes{position: relative;display: flex;flex-direction: column;background: var(--log);border-left: 0.0625rem solid var(--line-soft);min-height: 14.375rem;min-width: 0}qlcv-workspace-app .nhead{display: flex;align-items: center;gap: 0.5rem;padding: 0.5625rem 0.75rem 0.5rem 1.125rem;border-bottom: 0.0625rem solid var(--line-soft);min-height: 2.625rem;font-size: var(--qlcv-text-xs);color: var(--ink-3)}qlcv-workspace-app .nhead .t{font-weight: 600;color: var(--ink-2)}qlcv-workspace-app .ntools{display: flex;align-items: center;gap: 0.25rem;margin-left: auto}qlcv-workspace-app .nbadge{min-width: 1.25rem;height: 1.25rem;border-radius: var(--qlcv-radius-pill);background: var(--sel-bg);color: var(--sel-ink);font-size: var(--qlcv-text-xs);font-weight: 700;border: 0;padding: 0 0.375rem}qlcv-workspace-app .nbadge:hover{background: var(--ink)}qlcv-workspace-app .mbadge{width: 1.25rem;height: 1.25rem;border-radius: var(--qlcv-radius-pill);background: var(--sel-bg);color: var(--sel-ink);display: grid;place-items: center}qlcv-workspace-app .mbadge .i{width: 0.8125rem;height: 0.8125rem}qlcv-workspace-app .nlist{flex: 1 1 0;min-height: 0;overflow: hidden;display: flex;flex-direction: column;justify-content: flex-end;padding: 0.375rem 1.125rem 0.5rem}qlcv-workspace-app .nlist.clipped{-webkit-mask-image: linear-gradient(to bottom,transparent 0,#000 2.5rem);mask-image: linear-gradient(to bottom,transparent 0,#000 2.5rem)}qlcv-workspace-app .nlist.expanded{flex: none;justify-content: flex-start;overflow: visible}qlcv-workspace-app .notes .nlist.expanded{max-height: calc(100vh - var(--hh) - var(--bar2h,2.75rem) - 10rem);min-height: 13.75rem;overflow-y: auto;overscroll-behavior: contain}qlcv-workspace-app .nempty{color: var(--ink-4);font-size: var(--qlcv-text-xs);padding: 1.5rem 0 0.375rem}qlcv-workspace-app .day{display: flex;align-items: center;gap: 0.625rem;color: var(--ink-3);font-size: var(--qlcv-text-xs);margin: 0.5rem 0 0.125rem;font-weight: 500}qlcv-workspace-app .day::after{content: "";flex: 1;height: 0.0625rem;background: var(--line)}qlcv-workspace-app .entry{position: relative;padding: 0.25rem 0 0.25rem 1.25rem}qlcv-workspace-app .entry::before{content: "";position: absolute;left: 0.25rem;top: 0;bottom: 0;width: 0.0625rem;background: var(--line)}qlcv-workspace-app .entry .pin{position: absolute;left: 0;top: 0.625rem;width: 0.5625rem;height: 0.5625rem;border-radius: 50%;background: var(--ink-4);box-shadow: 0 0 0 0.1875rem var(--log)}qlcv-workspace-app .entry.auto .pin{left: 0.0938rem;top: 0.6875rem;width: 0.375rem;height: 0.375rem;background: var(--ink-4)}qlcv-workspace-app .entry.new .pin{box-shadow: 0 0 0 0.1875rem var(--log),0 0 0 0.2812rem var(--accent)}qlcv-workspace-app .entry .eh{display: flex;align-items: center;gap: 0.375rem;font-size: var(--qlcv-text-xs);min-width: 0}qlcv-workspace-app .entry .eh .pn{font-weight: 600}qlcv-workspace-app .entry time{color: var(--ink-3);font-size: var(--qlcv-text-xs);font-variant-numeric: tabular-nums}qlcv-workspace-app .nt-ic{color: var(--ink-3);display: inline-grid}qlcv-workspace-app .nt-ic .i{width: 0.8125rem;height: 0.8125rem}qlcv-workspace-app .entry .et{white-space: pre-wrap;word-break: break-word;margin-top: 0.0625rem;line-height: 1.5}qlcv-workspace-app .entry .quote{border-left: 0.125rem solid var(--ink-4);padding: 0.125rem 0 0.125rem 0.5rem;margin-top: 0.25rem;color: var(--ink-3);font-size: var(--qlcv-text-xs);font-style: italic}qlcv-workspace-app .entry.auto{font-size: var(--qlcv-text-xs);color: var(--ink-3);padding-right: 1.625rem}qlcv-workspace-app .entry.auto .ai{display: inline-block;vertical-align: -0.125rem;margin-right: 0.3125rem;color: var(--ink-4)}qlcv-workspace-app .entry.auto .ai .i{width: 0.8125rem;height: 0.8125rem}qlcv-workspace-app .entry.auto time{margin-right: 0.375rem}qlcv-workspace-app .entry.auto b{font-weight: 600;color: var(--ink-2);margin-right: 0.25rem}@keyframes qlcv-ws-just{0%{background: var(--amber-soft)}100%{background: transparent}}qlcv-workspace-app .mention{color: var(--link);font-weight: 600}qlcv-workspace-app .echip{display: inline-flex;align-items: center;height: 1.125rem;padding: 0 0.25rem;margin-right: 0.3125rem;border: 0;border-radius: var(--qlcv-radius-s);background: var(--gray-soft);color: var(--link);font-size: var(--qlcv-text-xs);font-weight: 700;letter-spacing: 0.02em;vertical-align: 0.0625rem;cursor: pointer}qlcv-workspace-app .echip:hover{background: var(--sel-bg);text-decoration: underline}qlcv-workspace-app .entry .eh .pinbtn{margin-left: auto;width: 1.375rem;height: 1.375rem;color: var(--ink-4)}qlcv-workspace-app .entry.auto .pinbtn{position: absolute;right: 0;top: 0.125rem;width: 1.375rem;height: 1.375rem;color: var(--ink-4)}qlcv-workspace-app .entry .pinbtn.on{color: var(--ink-2)}qlcv-workspace-app .entry .pinbtn:hover{background: var(--gray-soft);color: var(--ink)}qlcv-workspace-app .pinned{padding: 0.375rem 1.125rem;border-bottom: 0.0625rem solid var(--line-soft);background: var(--log)}qlcv-workspace-app .pinned .entry{padding: 0.1875rem 0 0.1875rem 1.25rem}qlcv-workspace-app .pinned .entry::before{display: none}qlcv-workspace-app .pinned .entry .pin{background: var(--accent)}qlcv-workspace-app .pinned .entry.new .pin{box-shadow: 0 0 0 0.1875rem var(--log)}qlcv-workspace-app .pinned .pinbtn{color: var(--ink-2);background: transparent}qlcv-workspace-app .pinned .pinbtn:hover{background: var(--gray-soft);color: var(--ink)}qlcv-workspace-app .composer{position: relative;margin: 0 0.75rem 0.75rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);background: var(--surface);transition: border-color 0.15s,box-shadow 0.15s}qlcv-workspace-app .composer:focus-within{border-color: var(--focus);box-shadow: 0 0 0 0.1875rem var(--accent-soft)}qlcv-workspace-app .composer.has-ctx{border-color: var(--ink)}qlcv-workspace-app .composer.err{border-color: var(--red);box-shadow: 0 0 0 0.1875rem var(--red-soft)}qlcv-workspace-app .composer.shake{animation: qlcv-ws-shake 0.32s}qlcv-workspace-app .ctx{display: flex;align-items: center;flex-wrap: wrap;gap: 0.375rem 0.5rem;padding: 0.375rem;border-bottom: 0.0625rem solid var(--line-soft);background: var(--log);border-radius: 0.5625rem 0.5625rem 0 0;font-size: var(--qlcv-text-xs)}qlcv-workspace-app .ctx-tag{width: 1.5rem;height: 1.5rem;border-radius: var(--qlcv-radius-s);display: grid;place-items: center;color: var(--surface);background: var(--tc);flex: none}qlcv-workspace-app .ctx-tag .i{width: 0.875rem;height: 0.875rem}qlcv-workspace-app .ctx-name{font-weight: 600;max-width: 100%;white-space: normal;overflow-wrap: anywhere}qlcv-workspace-app .ctx-sub{color: var(--ink-3);display: inline-flex;align-items: center;gap: 0.25rem}qlcv-workspace-app .ctx-sub .i{width: 0.8125rem;height: 0.8125rem}qlcv-workspace-app .ctx .x{margin-left: auto;border: 0;background: transparent;color: var(--ink-3);width: 1.5rem;height: 1.5rem;border-radius: var(--qlcv-radius-s);display: grid;place-items: center}qlcv-workspace-app .ctx .x:hover{background: var(--gray-soft);color: var(--ink)}qlcv-workspace-app .ctx .x .i{width: 0.875rem;height: 0.875rem}qlcv-workspace-app .ctx input[type="date"],qlcv-workspace-app .ctx select,qlcv-workspace-app .ctx input[type="text"].sm{height: 1.625rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-s);padding: 0 0.375rem;background-color: var(--surface);font-size: var(--qlcv-text-xs);outline: none;font-weight: 500}qlcv-workspace-app .ctx select{max-width: 14.375rem;padding-inline-end: 1.375rem;background-size: 0.75rem;background-position: right 0.3125rem center}qlcv-workspace-app .ctx input:focus,qlcv-workspace-app .ctx select:focus{border-color: var(--focus)}qlcv-workspace-app .ctx .fld{display: inline-flex;align-items: center;gap: 0.25rem;color: var(--ink-3)}qlcv-workspace-app .ctx .fld .i{width: 0.8125rem;height: 0.8125rem}qlcv-workspace-app .ctx .fld.bad select,qlcv-workspace-app .ctx .fld.bad input{border-color: var(--red);box-shadow: 0 0 0 0.125rem var(--red-soft)}qlcv-workspace-app .ctx .fld.picked select{border-color: var(--accent);color: var(--accent)}qlcv-workspace-app .ctx .hint{flex-basis: 100%;color: var(--amber);font-size: var(--qlcv-text-xs);display: flex;align-items: center;gap: 0.3125rem;padding-left: 0.125rem;flex-wrap: wrap}qlcv-workspace-app .ctx .hint .i{width: 0.8125rem;height: 0.8125rem}qlcv-workspace-app .ctx .hint.err{color: var(--red)}qlcv-workspace-app .ctx .hint .btn{margin-left: auto}qlcv-workspace-app .pbox{display: inline-flex;align-items: center;gap: 0.3125rem;padding: 0 0.5rem 0 0.3125rem;height: 1.5rem;border-radius: var(--qlcv-radius-s);background: var(--sb);color: var(--sc);font-weight: 600;cursor: pointer}qlcv-workspace-app .pbox input{margin: 0;accent-color: var(--sc)}qlcv-workspace-app .hpick{border: 0.0625rem solid transparent;background: transparent;width: 1.875rem;height: 1.75rem;border-radius: var(--qlcv-radius-s);display: grid;place-items: center;padding: 0}qlcv-workspace-app .hpick:hover{background: var(--surface);border-color: var(--line)}qlcv-workspace-app .hpick.on{background: var(--surface);border-color: var(--ink);box-shadow: inset 0 0 0 0.0625rem var(--ink)}qlcv-workspace-app .hpick:disabled{opacity: 0.3;cursor: not-allowed}qlcv-workspace-app .choice{flex-basis: 100%;display: flex;gap: 0.375rem;flex-wrap: wrap}qlcv-workspace-app .radio{display: inline-flex;align-items: center;gap: 0.3125rem;height: 1.625rem;padding: 0 0.5625rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);background: var(--surface);cursor: pointer;font-weight: 500;font-size: var(--qlcv-text-xs);white-space: nowrap}qlcv-workspace-app .radio input{margin: 0;accent-color: var(--ink)}qlcv-workspace-app .radio .i{width: 0.8125rem;height: 0.8125rem}qlcv-workspace-app .radio.on{border-color: var(--ink);box-shadow: inset 0 0 0 0.0625rem var(--ink)}qlcv-workspace-app .cmain{display: flex;align-items: flex-end;flex-wrap: nowrap;gap: 0.125rem;padding: 0.25rem}qlcv-workspace-app .cmain textarea{flex: 1 1 4rem;min-width: 0;border: 0;outline: none;resize: none;padding: 0.3125rem 0.5rem;background: transparent;min-height: 1.875rem;max-height: 7.5rem;line-height: 1.5}qlcv-workspace-app .cbar{display: flex;align-items: center;flex-wrap: nowrap;gap: 0.125rem;min-width: 0}qlcv-workspace-app .types{display: none;flex-wrap: nowrap;gap: 0;min-width: 0;overflow-x: auto;overflow-y: hidden;overscroll-behavior-x: contain;scrollbar-width: none;padding-bottom: 0.0625rem}qlcv-workspace-app .types::-webkit-scrollbar{display: none}qlcv-workspace-app .types .tchip:focus-visible{outline-offset: -0.125rem}qlcv-workspace-app .composer:focus-within .types,qlcv-workspace-app .types.keep{display: flex}qlcv-workspace-app .tchip{flex: none;border: 0;background: transparent;width: 1.625rem;height: 1.75rem;border-radius: var(--qlcv-radius-s);color: var(--ink-4);display: grid;place-items: center}qlcv-workspace-app .tchip .i{width: 0.9375rem;height: 0.9375rem}qlcv-workspace-app .tchip:hover{color: var(--ink-2)}qlcv-workspace-app .send{width: 1.875rem;height: 1.875rem;border: 0;border-radius: var(--qlcv-radius-m);background: var(--sb,var(--ink));color: var(--surface);display: grid;place-items: center;flex: none;transition: background-color var(--qlcv-motion-fast) ease,color var(--qlcv-motion-fast) ease}qlcv-workspace-app .send .i{width: 0.9375rem;height: 0.9375rem}qlcv-workspace-app .send.idle{background: var(--gray-soft);color: var(--ink-3)}qlcv-workspace-app .send:hover:not(:disabled){background: color-mix(in srgb,var(--sb,var(--ink)) 86%,var(--ink))}qlcv-workspace-app .send.idle:hover{background: var(--sel-bg);color: var(--ink)}qlcv-workspace-app .send:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: 0.125rem}qlcv-workspace-app .send:disabled{cursor: progress}qlcv-workspace-app .below{display: flex;align-items: center;gap: 0.375rem;padding: 0 0.75rem 0.375rem;color: var(--ink-3)}qlcv-workspace-app .below .i{width: 0.8125rem;height: 0.8125rem}qlcv-workspace-app .below input{flex: 1;height: 1.625rem;border: 0;border-top: 0.0625rem dashed var(--line);outline: none;font-size: var(--qlcv-text-xs);color: var(--ink-2);padding: 0;background: transparent}qlcv-workspace-app .below.bad{color: var(--red)}qlcv-workspace-app .below.bad input{border-top: 0.0625rem solid var(--red)}qlcv-workspace-app .below.bad input::placeholder{color: var(--red)}qlcv-workspace-app .cerr{display: flex;align-items: flex-start;gap: 0.375rem;margin: 0;padding: 0 0.75rem 0.5rem;font-size: var(--qlcv-text-xs);color: var(--red)}qlcv-workspace-app .cerr .i{width: 0.8125rem;height: 0.8125rem;margin-top: 0.125rem}qlcv-workspace-app .cbanner{margin: 0 0.75rem 0.375rem;padding: 0.375rem 0.375rem 0.375rem 0.625rem;border-radius: var(--qlcv-radius-m);background: var(--amber-soft);color: var(--amber);font-size: var(--qlcv-text-xs);display: flex;gap: 0.375rem;align-items: center;font-weight: 500}qlcv-workspace-app .cbanner .i{width: 0.875rem;height: 0.875rem;flex: none}qlcv-workspace-app .cbanner .x{margin-left: auto;border: 0;background: transparent;color: inherit;width: 1.375rem;height: 1.375rem;display: grid;place-items: center;border-radius: var(--qlcv-radius-s)}qlcv-workspace-app .cbanner .x .i{width: 0.8125rem;height: 0.8125rem}qlcv-workspace-app .files{display: flex;flex-wrap: wrap;gap: 0.25rem;padding: 0.375rem 0.5rem 0}qlcv-workspace-app .mpick{position: absolute;left: 0.5rem;bottom: calc(100% + 0.25rem);z-index: 20;width: min(18.75rem,calc(100% - 1rem));background: var(--surface);border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);box-shadow: var(--aura-shadow-m);padding: 0.25rem;list-style: none;margin: 0}qlcv-workspace-app .mpick li{display: flex;align-items: center;gap: 0.5rem;padding: 0.3125rem 0.5rem;border-radius: var(--qlcv-radius-m);cursor: pointer;font-size: var(--qlcv-text-m)}qlcv-workspace-app .mpick li.on,qlcv-workspace-app .mpick li:hover{background: var(--gray-soft)}qlcv-workspace-app .mpick li small{color: var(--ink-3);margin-left: auto;font-size: var(--qlcv-text-xs);max-width: 7.5rem;white-space: normal;overflow-wrap: anywhere}qlcv-workspace-app .entry .eh .replybtn{margin-left: 0.125rem;opacity: 0.55}qlcv-workspace-app .entry .eh .replybtn:hover,qlcv-workspace-app .entry .eh .replybtn:focus-visible{opacity: 1}qlcv-workspace-app .replybar{display: flex;align-items: center;gap: 0.375rem;padding: 0.25rem 0.5rem;margin-bottom: 0.25rem;border-left: 0.1875rem solid var(--ink-4);border-radius: var(--qlcv-radius-s);background: var(--gray-soft);font-size: var(--qlcv-text-xs);color: var(--ink-2)}qlcv-workspace-app .replybar .rb-t{flex: 1;min-width: 0;white-space: normal;overflow-wrap: anywhere}qlcv-workspace-app .replybar .x{border: 0;background: transparent;color: var(--ink-3);display: grid;place-items: center;border-radius: var(--qlcv-radius-s);padding: 0.125rem}qlcv-workspace-app .replybar .x:hover{color: var(--ink);background: var(--surface)}qlcv-workspace-app .replybar .x:focus-visible{outline: 0.125rem solid var(--focus)}qlcv-workspace-app .dr-b .nlist{padding: 0;margin-top: 0;display: block;mask-image: none;-webkit-mask-image: none;overflow: visible}@media (max-width: 56.25em){qlcv-workspace-app .notes{border-left: 0;border-top: 0.0625rem solid var(--line-soft);min-height: 0}qlcv-workspace-app .nlist{flex: none;max-height: 10.625rem}}qlcv-workspace-app .bellpop{position: absolute;top: calc(100% + 0.125rem);inset-inline-end: 1.5rem;z-index: 60;width: min(32rem,calc(100% - 3rem));max-height: min(40rem,78vh);overflow: auto;background: var(--surface);border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-l);box-shadow: var(--aura-shadow-m)}qlcv-workspace-app .bellpop .ib-h{position: sticky;top: 0;z-index: 1;display: flex;align-items: center;gap: 0.375rem;padding: 0.375rem 0.5rem 0.375rem 0.375rem;min-height: 2.75rem;background: var(--surface);border-bottom: 0.0625rem solid var(--line-soft)}qlcv-workspace-app .itab{border: 0;background: transparent;height: 2rem;padding: 0 0.625rem;border-radius: var(--qlcv-radius-m);display: inline-flex;align-items: center;gap: 0.375rem;font-weight: 600;color: var(--ink-3);white-space: nowrap}qlcv-workspace-app .itab .i{width: 0.9375rem;height: 0.9375rem}qlcv-workspace-app .itab:hover{color: var(--ink);background: var(--gray-soft)}qlcv-workspace-app .itab.on{color: var(--ink);background: var(--gray-soft)}qlcv-workspace-app .ib-b{padding: 0 0.75rem 0.75rem}qlcv-workspace-app .nf-bar{position: sticky;top: 2.75rem;z-index: 1;display: flex;align-items: center;gap: 0.5rem;padding: 0.5rem 0.75rem;background: var(--surface);border-bottom: 0.0625rem solid var(--line-soft)}qlcv-workspace-app .nf-readall{font-size: var(--qlcv-text-s);white-space: nowrap}qlcv-workspace-app .nf-day{margin: 0.75rem 0 0.25rem;font-size: var(--qlcv-text-xs);font-weight: 700;color: var(--ink-3)}qlcv-workspace-app .ni{display: grid;grid-template-columns: 1.25rem minmax(0,1fr) 1.5rem;gap: 0.625rem;align-items: start;padding: 0.625rem 0.5rem;border-bottom: 0.0625rem solid var(--line-soft)}qlcv-workspace-app .nf-group .ni:last-child{border-bottom: 0}qlcv-workspace-app .ni.unread{box-shadow: inset 0.1875rem 0 0 var(--sel-line)}qlcv-workspace-app .ni .ico{display: grid;place-items: center;padding-top: 0.125rem;color: var(--ink-3)}qlcv-workspace-app .ni .ico .i{width: 1.125rem;height: 1.125rem}qlcv-workspace-app .ni .ico.t-alarm{color: var(--red)}qlcv-workspace-app .ni .ico.t-soon{color: var(--amber)}qlcv-workspace-app .ni .ico.t-act{color: var(--ink)}qlcv-workspace-app .ni .ico.t-done{color: var(--fam-xong-dot)}qlcv-workspace-app .ni .ico.t-talk{color: var(--link)}qlcv-workspace-app .ni .tx{display: flex;flex-direction: column;gap: 0.125rem;min-width: 0;cursor: pointer;border: 0;background: transparent;text-align: left;padding: 0.125rem 0.25rem;margin: -0.125rem -0.25rem;border-radius: var(--qlcv-radius-s);color: inherit}qlcv-workspace-app .ni .tx:hover{background: var(--gray-soft)}qlcv-workspace-app .ni .tx:hover .ns{text-decoration: underline}qlcv-workspace-app .ni .tx:focus-visible,qlcv-workspace-app .ni .nread:focus-visible,qlcv-workspace-app .bellpop .itab:focus-visible{outline: 0.1875rem solid var(--focus);outline-offset: -0.1875rem}qlcv-workspace-app .ni .tx:active,qlcv-workspace-app .bellpop .itab:active{background: var(--sel-bg)}qlcv-workspace-app .ni .nk{display: flex;align-items: baseline;gap: 0.5rem;font-size: var(--qlcv-text-s);color: var(--ink-2)}qlcv-workspace-app .ni .nk-t{flex: 1;min-width: 0;overflow-wrap: anywhere}qlcv-workspace-app .ni.unread .nk-t{font-weight: 700;color: var(--ink)}qlcv-workspace-app .ni time{flex: none;font-size: var(--qlcv-text-xs);color: var(--ink-3);white-space: nowrap}qlcv-workspace-app .ni .ns{font-weight: 600;font-size: var(--qlcv-text-m);color: var(--ink);overflow-wrap: anywhere}qlcv-workspace-app .ni.read .ns{font-weight: 500}qlcv-workspace-app .ni .nd{font-size: var(--qlcv-text-s);color: var(--ink-2);white-space: normal;overflow-wrap: anywhere}qlcv-workspace-app .ni .nc{font-size: var(--qlcv-text-xs);color: var(--ink-3)}qlcv-workspace-app .nread{width: 1.5rem;height: 1.5rem;margin-top: 0.125rem;padding: 0;border: 0;border-radius: 50%;background: transparent;display: grid;place-items: center;cursor: pointer}qlcv-workspace-app .nread::before{content: "";width: 0.625rem;height: 0.625rem;border-radius: 50%;box-shadow: inset 0 0 0 0.125rem var(--line)}qlcv-workspace-app .ni.unread .nread::before{background: var(--sel-line);box-shadow: none}qlcv-workspace-app .nread:hover{background: var(--gray-soft)}qlcv-workspace-app .ib-b .more-notif{margin: 0.625rem 0 0.125rem 1.875rem}qlcv-workspace-app .digest2{padding: 0.75rem 0.25rem 0.25rem}qlcv-workspace-app .dh2{font-family: var(--serif);font-weight: 600;font-size: var(--qlcv-text-l);color: var(--ink)}qlcv-workspace-app .dsum{margin: 0.25rem 0 0.5rem;font-size: var(--qlcv-text-s);font-weight: 600;color: var(--red)}qlcv-workspace-app .dsum.calm{color: var(--ink-2);font-weight: 500}qlcv-workspace-app .dsec{margin-top: 0.875rem}qlcv-workspace-app .dsec h5{display: flex;align-items: center;gap: 0.375rem;margin: 0 0 0.25rem;padding-bottom: 0.375rem;border-bottom: 0.125rem solid var(--ink);font-size: var(--qlcv-text-s);font-weight: 700;color: var(--ink)}qlcv-workspace-app .dsec h5 .i{width: 1rem;height: 1rem}qlcv-workspace-app .dsec.over h5 .i{color: var(--red)}qlcv-workspace-app .dsec.due h5 .i{color: var(--amber)}qlcv-workspace-app .dsec.wait h5 .i{color: var(--fam-cho-dot)}qlcv-workspace-app .dsec.warn h5 .i{color: var(--amber)}qlcv-workspace-app .drow{display: grid;grid-template-columns: minmax(0,1fr) auto;gap: 0.25rem 0.75rem;align-items: start;padding: 0.5rem 0;border-bottom: 0.0625rem solid var(--line-soft)}qlcv-workspace-app .drow:last-of-type{border-bottom: 0}qlcv-workspace-app .dr-main{display: flex;flex-direction: column;gap: 0.125rem;min-width: 0;padding: 0.125rem 0.25rem;margin: -0.125rem -0.25rem;border: 0;border-radius: var(--qlcv-radius-s);background: transparent;text-align: left;color: inherit}qlcv-workspace-app .dr-main:not(:disabled){cursor: pointer}qlcv-workspace-app .dr-main:not(:disabled):hover{background: var(--gray-soft)}qlcv-workspace-app .dr-main:not(:disabled):hover .dr-name{text-decoration: underline}qlcv-workspace-app .dr-main:focus-visible{outline: 0.1875rem solid var(--focus);outline-offset: -0.1875rem}qlcv-workspace-app .dr-name{font-weight: 600;color: var(--ink);overflow-wrap: anywhere}qlcv-workspace-app .dr-ctx{font-size: var(--qlcv-text-s);color: var(--ink-2);overflow-wrap: anywhere}qlcv-workspace-app .dr-side{padding-top: 0.125rem}qlcv-workspace-app .dr-act{grid-column: 1;justify-self: start}qlcv-workspace-app .dr-more{margin: 0.25rem 0 0;font-size: var(--qlcv-text-xs);color: var(--ink-3)}@media (max-width: 56.25em){qlcv-workspace-app .bellpop{inset-inline-end: 0.75rem;width: calc(100% - 1.5rem);max-height: 80vh}qlcv-workspace-app .bellpop .ib-h{flex-wrap: wrap}qlcv-workspace-app .nf-bar{position: static;flex-wrap: wrap}qlcv-workspace-app .drow{grid-template-columns: minmax(0,1fr)}}qlcv-workspace-app .audit{font-size: var(--qlcv-text-xs);margin-top: 0.5rem}qlcv-workspace-app .audit .ar{display: grid;grid-template-columns: 7.5rem 10.625rem 1fr;gap: 0.625rem;padding: 0.4375rem 0;border-bottom: 0.0625rem solid var(--line-soft)}@media (max-width: 56.25em){qlcv-workspace-app .audit .ar{grid-template-columns: 1fr}}qlcv-workspace-app .profile{max-width: 48rem}qlcv-workspace-app .profile-avatar{display: flex;flex-wrap: wrap;align-items: center;gap: 0.75rem 1rem}qlcv-workspace-app .profile .btnrow{margin-top: 0.75rem}qlcv-workspace-app .askbox{display: flex;align-items: center;gap: 0.5rem;padding: 0.625rem 0.875rem;background: var(--gray-soft);border-radius: var(--qlcv-radius-m);margin-bottom: 1rem}qlcv-workspace-app .askbox input{flex: 1;border: none;background: transparent;font-size: var(--qlcv-text-m);color: var(--ink);outline: none}qlcv-workspace-app .askbox input::placeholder{color: var(--ink-3)}qlcv-workspace-app .sugg{display: flex;flex-direction: column;gap: 0.375rem}qlcv-workspace-app .sugg-label{font-size: var(--qlcv-text-xs);color: var(--ink-2);font-weight: 600;margin-bottom: 0.125rem}qlcv-workspace-app .sugg-btn{display: block;width: 100%;text-align: left;padding: 0.5rem 0.75rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);background: var(--surface);font-size: var(--qlcv-text-m);color: var(--ink-2);cursor: pointer;transition: background 0.15s,border-color 0.15s}qlcv-workspace-app .sugg-btn:hover{background: var(--gray-soft);border-color: var(--ink-4)}qlcv-workspace-app .ans{display: flex;gap: 0.625rem;padding: 0.875rem;background: var(--log);border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);margin-bottom: 1rem}qlcv-workspace-app .ans>.i{flex-shrink: 0;color: var(--act-approve);width: 1.25rem;height: 1.25rem;margin-top: 0.0625rem}qlcv-workspace-app .ans-text{font-size: var(--qlcv-text-m);line-height: 1.6;color: var(--ink)}qlcv-workspace-app .ans-text.md-preview p{margin: 0 0 0.5rem}qlcv-workspace-app .ans-text.md-preview p:last-child{margin-bottom: 0}qlcv-workspace-app .ans-text.md-preview ol,qlcv-workspace-app .ans-text.md-preview ul{margin: 0.25rem 0 0.5rem;padding-left: 1.25rem}qlcv-workspace-app .ans-text.md-preview li{margin-bottom: 0.25rem}qlcv-workspace-app .ans-text.md-preview strong{font-weight: 600}qlcv-workspace-app .ans-text.md-preview h1,qlcv-workspace-app .ans-text.md-preview h2,qlcv-workspace-app .ans-text.md-preview h3{font-size: var(--qlcv-text-m);font-weight: 600;margin: 0.75rem 0 0.25rem}qlcv-workspace-app .ask-turn + .ask-turn{margin-top: 1.25rem;padding-top: 1rem;border-top: 0.0625rem solid var(--line-soft)}qlcv-workspace-app .ask-q{margin: 0 0 0.5rem;font-size: var(--qlcv-text-m);font-weight: 600;color: var(--ink)}qlcv-workspace-app .ask-foot{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.5rem;margin-top: 1rem;padding-top: 0.75rem;border-top: 0.0625rem solid var(--line-soft)}qlcv-workspace-app .hit-list{display: flex;flex-direction: column;gap: 0.25rem}qlcv-workspace-app .hit-label{font-size: var(--qlcv-text-xs);color: var(--ink-2);font-weight: 600;margin-bottom: 0.25rem}qlcv-workspace-app .hit-row{display: flex;align-items: center;gap: 0.5rem}qlcv-workspace-app .hit-row .hit{flex: 1;min-width: 0}qlcv-workspace-app .hit{display: flex;align-items: center;gap: 0.5rem;padding: 0.5rem 0.75rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);background: var(--surface);font-size: var(--qlcv-text-m);color: var(--ink-2);cursor: pointer;text-align: left;transition: background 0.15s}qlcv-workspace-app .hit:hover{background: var(--gray-soft)}qlcv-workspace-app .hit>.i{flex-shrink: 0;color: var(--ink-3);width: 1rem;height: 1rem}qlcv-workspace-app .extract-start,qlcv-workspace-app .extract-actions{display: flex;flex-wrap: wrap;gap: 0.5rem}qlcv-workspace-app .extract-actions{margin: 0.5rem 0 0.25rem}qlcv-workspace-app .extract-source{display: flex;flex-direction: column;gap: 0.25rem}qlcv-workspace-app .extract-source .lbl{font-size: var(--qlcv-text-xs);color: var(--ink-3)}qlcv-workspace-app .extract-source textarea{width: 100%;padding: 0.5rem 0.625rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);font-size: var(--qlcv-text-m);line-height: 1.55;resize: vertical;outline: none}qlcv-workspace-app .extract-source textarea:focus{border-color: var(--focus)}qlcv-workspace-app .prop-edit{display: grid;grid-template-columns: auto minmax(0,1fr) auto;gap: 0.625rem;align-items: start;padding: 0.75rem 0;border-bottom: 0.0625rem solid var(--line-soft)}qlcv-workspace-app .prop-edit>input[type="checkbox"]{margin-top: 0.625rem}qlcv-workspace-app .prop-edit.bad{background: var(--red-soft)}qlcv-workspace-app .prop-fields{display: flex;flex-direction: column;gap: 0.375rem}qlcv-workspace-app .prop-fields>input,qlcv-workspace-app .prop-fields .prt input{height: 2.125rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0 0.625rem;background: var(--surface);outline: none}qlcv-workspace-app .prop-fields input:focus{border-color: var(--focus)}qlcv-workspace-app .prop-fields .prop-name{font-weight: 600}qlcv-workspace-app .prop-edit .xr-after{display: flex;align-items: flex-start;gap: 0.375rem;font-size: var(--qlcv-text-xs);color: var(--ink-3);white-space: normal}qlcv-workspace-app .prop-edit .xr-after .i{width: 0.875rem;height: 0.875rem;margin-top: 0.125rem}qlcv-workspace-app .prop-edit .quote{margin: 0;padding: 0.375rem 0.625rem;background: var(--log);border-left: 0.1875rem solid var(--line);border-radius: 0 0.5rem 0.5rem 0;font-size: var(--qlcv-text-xs);font-style: italic;color: var(--ink-2);line-height: 1.5}qlcv-workspace-app .extract-foot{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.5rem;padding-top: 0.75rem}@keyframes ai-spin{to{transform: rotate(360deg)}}qlcv-workspace-app .spin{animation: ai-spin 1s linear infinite}qlcv-workspace-app .dr-icon{color: var(--ink-2);width: 1.375rem;height: 1.375rem}qlcv-workspace-app .ai-manual{display: flex;flex-wrap: wrap;align-items: center;gap: 0.5rem;padding: 0.625rem 0.75rem;margin: 0.5rem 0 0.75rem;border: 0.0625rem dashed var(--line);border-radius: var(--qlcv-radius-m);background: var(--gray-soft);font-size: var(--qlcv-text-m);color: var(--ink-2)}qlcv-workspace-app .ai-manual>span{flex: 1 1 16rem}qlcv-workspace-app .group-search{margin: 0.625rem 0 0.375rem}qlcv-workspace-app .group-pick{max-height: 16.25rem;overflow: auto;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);margin-bottom: 0.625rem}qlcv-workspace-app .group-pick-row{display: flex;gap: 0.5rem;align-items: flex-start;padding: 0.375rem 0.625rem;font-size: var(--qlcv-text-m);cursor: pointer}qlcv-workspace-app .group-pick-row:hover,qlcv-workspace-app .group-pick-row.on{background: var(--gray-soft)}qlcv-workspace-app .group-pick-row input{margin-top: 0.125rem}qlcv-workspace-app .group-suggestion,qlcv-workspace-app .group-card{display: flex;flex-direction: column;gap: 0.375rem;padding: 0.625rem 0.75rem;margin-bottom: 0.5rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m)}qlcv-workspace-app .group-suggestion .prop-name,qlcv-workspace-app .group-card .prop-name{height: 2rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0 0.625rem;font-weight: 600;outline: none}qlcv-workspace-app .group-card-head{display: flex;flex-wrap: wrap;align-items: baseline;gap: 0.5rem}qlcv-workspace-app .group-members{display: flex;flex-wrap: wrap;gap: 0.375rem}qlcv-workspace-app .group-chip{display: inline-flex;align-items: center;max-width: 100%;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-pill);background: var(--surface);font-size: var(--qlcv-text-xs)}qlcv-workspace-app .group-chip button{border: 0;background: transparent;color: var(--ink-2);cursor: pointer;padding: 0.1875rem 0.375rem}qlcv-workspace-app .group-chip .group-chip-open{padding-left: 0.625rem;max-width: 26rem;white-space: normal;overflow-wrap: anywhere}qlcv-workspace-app .group-chip button:hover{color: var(--ink)}qlcv-workspace-app .group-chip button:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: -0.125rem}qlcv-workspace-app .group-chip .i{width: 0.75rem;height: 0.75rem}qlcv-workspace-app .report-start{display: flex;flex-wrap: wrap;gap: 0.5rem}qlcv-workspace-app .report-row{display: flex;align-items: center;gap: 0.625rem;width: 100%;padding: 0.625rem 0.25rem;border: 0;border-bottom: 0.0625rem solid var(--line-soft);background: transparent;text-align: left;cursor: pointer;color: var(--ink)}qlcv-workspace-app .report-row:hover{background: var(--gray-soft)}qlcv-workspace-app .report-row:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: -0.125rem}qlcv-workspace-app .report-row>.i{flex: none;width: 1rem;height: 1rem;color: var(--ink-3)}qlcv-workspace-app .report-row-main{display: flex;flex-direction: column;gap: 0.125rem;flex: 1;min-width: 0}qlcv-workspace-app .report-row-sub{font-size: var(--qlcv-text-xs);color: var(--ink-3)}qlcv-workspace-app .report-status{flex: none;font-size: var(--qlcv-text-xs);font-weight: 600;padding: 0.125rem 0.5rem;border-radius: var(--qlcv-radius-pill);background: var(--gray-soft);color: var(--ink-2)}qlcv-workspace-app .report-status.final{background: var(--fam-xong-bg);color: var(--fam-xong)}qlcv-workspace-app .report-editor,qlcv-workspace-app .report-preview{width: 100%;min-height: 22.5rem;padding: 0.75rem 0.875rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);font-size: var(--qlcv-text-m);line-height: 1.6;color: var(--ink)}qlcv-workspace-app .report-editor{background: var(--log);font-family: "JetBrains Mono","Consolas",monospace;font-size: var(--qlcv-text-m);resize: vertical;outline: none}qlcv-workspace-app .report-editor:focus{border-color: var(--focus)}qlcv-workspace-app .report-preview{background: var(--surface);overflow: auto}qlcv-workspace-app .report-preview h2{font-size: var(--qlcv-text-m);margin: 0.875rem 0 0.375rem}qlcv-workspace-app .report-preview .rp-head{display: grid;grid-template-columns: 2fr 3fr;gap: 0.75rem;margin-bottom: 0.75rem;text-align: center;font-size: var(--qlcv-text-xs)}qlcv-workspace-app .report-preview .rp-head>div,qlcv-workspace-app .report-preview .rp-title{display: flex;flex-direction: column;align-items: center}qlcv-workspace-app .report-preview .rp-title{margin-bottom: 0.75rem}qlcv-workspace-app .report-preview .rp-mark{padding: 0 0.125rem;border-radius: var(--qlcv-radius-s);background: var(--mark-bg);color: inherit}qlcv-workspace-app .report-preview .rp-note{margin-top: 0.75rem;color: var(--ink-3);font-size: var(--qlcv-text-xs)}qlcv-workspace-app .report-preview table{width: 100%;margin: 0.375rem 0 0.625rem;border-collapse: collapse;font-size: var(--qlcv-text-xs)}qlcv-workspace-app .report-preview th,qlcv-workspace-app .report-preview td{padding: 0.25rem 0.5rem;border: 0.0625rem solid var(--line);text-align: center}qlcv-workspace-app .report-preview th:first-child,qlcv-workspace-app .report-preview td:first-child{text-align: left}qlcv-workspace-app .report-foot{flex-wrap: wrap}qlcv-workspace-app .report-foot .grow{flex: 1}qlcv-workspace-app .ioffice-sim{padding: 0.0625rem 0.5rem;border-radius: var(--qlcv-radius-pill);background: var(--gray-soft);color: var(--ink-2);font-weight: 600}qlcv-workspace-app .iof-line{display: flex;align-items: center;gap: 0.375rem;margin-bottom: 0.5rem}qlcv-workspace-app .iof-dismiss{flex: none}qlcv-workspace-app .iof-row{display: flex;align-items: flex-start;gap: 0.625rem;flex: 1;min-width: 0;text-align: start;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);background: var(--surface);padding: 0.625rem 0.75rem;font: inherit;color: inherit}qlcv-workspace-app .iof-row:not(:disabled):hover{border-color: var(--ink-3);background: var(--gray-soft)}qlcv-workspace-app .iof-row:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: 0.125rem}qlcv-workspace-app .iof-row:not(:disabled):active{background: var(--sel-bg)}qlcv-workspace-app .iof-row:disabled{color: var(--ink-4);cursor: not-allowed}qlcv-workspace-app .iof-row>.i{margin-top: 0.125rem;color: var(--ink-3);flex: none}qlcv-workspace-app .iof-text{display: flex;flex-direction: column;gap: 0.125rem;flex: 1;min-width: 0}qlcv-workspace-app .iof-sum{font-weight: 600}qlcv-workspace-app .iof-state{flex: none;align-self: flex-start;padding: 0.0625rem 0.5rem;border-radius: var(--qlcv-radius-pill);font-size: var(--qlcv-text-xs);font-weight: 600;white-space: nowrap}qlcv-workspace-app .iof-state.is-new{background: var(--fam-dang-bg);color: var(--fam-dang)}qlcv-workspace-app .iof-state.is-pending{background: var(--fam-cho-bg);color: var(--fam-cho)}qlcv-workspace-app .iof-state.is-approved{background: var(--fam-xong-bg);color: var(--fam-xong)}qlcv-workspace-app .iof-state.is-skipped{background: var(--gray-soft);color: var(--ink-3)}qlcv-workspace-app .iof-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 0.625rem;margin-top: 0.625rem}qlcv-workspace-app .iof-grid>label{display: flex;flex-direction: column;gap: 0.25rem;min-width: 0}qlcv-workspace-app .iof-grid>label>span{font-size: var(--qlcv-text-xs);color: var(--ink-3)}qlcv-workspace-app .iof-grid input,qlcv-workspace-app .iof-grid select{height: 2.125rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0 0.625rem;background: var(--surface);outline: none}qlcv-workspace-app .iof-grid input:focus,qlcv-workspace-app .iof-grid select:focus{border-color: var(--focus)}qlcv-workspace-app .iof-prio{margin: 0.625rem 0 0.25rem}@media (max-width: 40em){qlcv-workspace-app .iof-grid{grid-template-columns: 1fr}}qlcv-workspace-app .iof-filters{position: sticky;top: 0;z-index: 2;display: flex;flex-wrap: wrap;gap: 0.375rem;padding: 0.625rem 0;background: var(--surface)}qlcv-workspace-app .iof-filter{border: 0.0625rem solid var(--line);background: var(--surface);color: var(--ink-2);border-radius: var(--qlcv-radius-pill);padding: 0.25rem 0.75rem;font: inherit;font-size: var(--qlcv-text-xs);font-weight: 600;cursor: pointer}qlcv-workspace-app .iof-filter:hover:not(:disabled){border-color: var(--ink-3);background: var(--gray-soft)}qlcv-workspace-app .iof-filter:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: 0.125rem}qlcv-workspace-app .iof-filter.on{background: var(--sel-bg);color: var(--sel-ink);border-color: var(--sel-ink)}qlcv-workspace-app .iof-filter:disabled{color: var(--ink-4);cursor: not-allowed}qlcv-workspace-app .iof-head .ib.ic-back{color: var(--link);flex: none}qlcv-workspace-app .dlg-scrim{position: fixed;inset: 0;z-index: 65;display: grid;place-items: center;padding: 1rem;background: color-mix(in srgb,var(--ink) 35%,transparent)}qlcv-workspace-app .dlg{width: min(30rem,100%);max-height: calc(100vh - 2rem);display: flex;flex-direction: column;background: var(--surface);border: 0.0625rem solid var(--card-line);border-radius: var(--qlcv-radius-l);box-shadow: var(--aura-shadow-m)}qlcv-workspace-app .dlg.wide{width: min(47.5rem,100%)}qlcv-workspace-app .dlg:focus-visible{outline: none}qlcv-workspace-app .dlg-h{display: flex;align-items: center;gap: 0.5rem;padding: 0.875rem 1rem 0.5rem}qlcv-workspace-app .dlg-h h3{flex: 1;margin: 0;font-size: var(--qlcv-text-l);font-weight: 700}qlcv-workspace-app .dlg-b{padding: 0.25rem 1rem 0.75rem;overflow: auto}qlcv-workspace-app .dlg-f{display: flex;justify-content: flex-end;gap: 0.5rem;padding: 0.75rem 1rem;border-top: 0.0625rem solid var(--line-soft)}qlcv-workspace-app .dlg-hint{margin: 0 0 0.625rem;color: var(--ink-2)}qlcv-workspace-app .dlg-label{display: block;margin-bottom: 0.25rem;font-size: var(--qlcv-text-xs);font-weight: 600;color: var(--ink-2)}qlcv-workspace-app .dlg-text{width: 100%;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0.5rem 0.625rem;resize: vertical}qlcv-workspace-app .dlg-text.bad{border-color: var(--red)}qlcv-workspace-app .dlg-err{margin-top: 0.25rem;font-size: var(--qlcv-text-xs);color: var(--red)}qlcv-workspace-app .dlg-list{margin: 0.5rem 0 0;padding-left: 1.125rem}:is(qlcv-workspace-app,.qlcv-web-host) .btn.danger.solid{background: var(--red);border-color: var(--red);color: var(--surface)}:is(qlcv-workspace-app,.qlcv-web-host) .btn.danger.solid:hover{background: var(--accent);border-color: var(--accent)}:is(qlcv-workspace-app,.qlcv-web-host) .btn:active:not(:disabled){background: var(--gray-soft)}:is(qlcv-workspace-app,.qlcv-web-host) .btn.primary:active:not(:disabled),:is(qlcv-workspace-app,.qlcv-web-host) .btn.danger.solid:active:not(:disabled){filter: brightness(0.9)}:is(qlcv-workspace-app,.qlcv-web-host) .btn[aria-busy="true"]{cursor: progress}qlcv-workspace-app .cap-note{display: flex;align-items: center;gap: 0.375rem;margin: 0 0 0.625rem;font-size: var(--qlcv-text-xs);color: var(--amber)}qlcv-workspace-app .qadd{position: fixed;z-index: 60;width: 22rem;max-width: calc(100vw - 1rem);background: var(--surface);border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-l);box-shadow: var(--aura-shadow-m);padding: 0.625rem 0.875rem 0.75rem;display: flex;flex-direction: column;gap: 0.5rem}qlcv-workspace-app .qadd-h{display: flex;align-items: center;gap: 0.5rem}qlcv-workspace-app .qadd-date{flex: 1;font-size: var(--qlcv-text-xs);color: var(--ink-3);font-variant-numeric: tabular-nums}qlcv-workspace-app .qadd-name{border: 0;border-bottom: 0.125rem solid var(--line);background: transparent;font-size: var(--qlcv-text-l);font-weight: 600;padding: 0.125rem 0 0.375rem;outline: none;color: var(--ink)}qlcv-workspace-app .qadd-name:focus{border-bottom-color: var(--focus)}qlcv-workspace-app .qadd-name.bad{border-bottom-color: var(--red)}qlcv-workspace-app .qadd-row{display: flex;align-items: center;gap: 0.625rem;min-width: 0}qlcv-workspace-app .qadd-row>.i{color: var(--ink-3);flex: none}qlcv-workspace-app .qadd-row input,qlcv-workspace-app .qadd-row select{flex: 1;min-width: 0;height: 2rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);padding: 0 0.625rem;background-color: var(--surface);outline: none}qlcv-workspace-app .qadd-row select{padding-inline-end: 1.625rem}qlcv-workspace-app .qadd-row input:focus,qlcv-workspace-app .qadd-row select:focus{border-color: var(--focus)}qlcv-workspace-app .qadd-more{align-self: flex-start;display: inline-flex;align-items: center;gap: 0.375rem;border: 0;background: none;padding: 0.125rem 0;font: inherit;font-size: var(--qlcv-text-xs);font-weight: 600;color: var(--link);cursor: pointer}qlcv-workspace-app .qadd-more:hover{text-decoration: underline;text-underline-offset: 0.125rem}qlcv-workspace-app .qadd-more:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: 0.125rem}qlcv-workspace-app .qadd-f{display: flex;align-items: center;gap: 0.5rem;margin-top: 0.125rem}qlcv-workspace-app .qadd-hint{flex: 1;font-size: var(--qlcv-text-xs);color: var(--ink-3)}qlcv-workspace-app .qadd-note{flex: 1;min-width: 0;font-size: var(--qlcv-text-xs);color: var(--ink-3)}:is(qlcv-workspace-app,.qlcv-web-host) .kg{--kg-side-w: clamp(22rem,34vw,34rem);--kg-head-h: 3.5rem;--kg-row-h: 2.5rem;position: relative;overflow: auto;border: 0.0625rem solid var(--card-line);border-radius: var(--qlcv-radius-l);background: var(--surface);box-shadow: var(--aura-shadow-xs);overscroll-behavior: contain}:is(qlcv-workspace-app,.qlcv-web-host) .kg-inner{position: relative;width: calc(var(--kg-side-w) + var(--kg-timeline))}:is(qlcv-workspace-app,.qlcv-web-host) .kg-side{position: sticky;left: 0;z-index: 4;background: var(--surface);border-right: 0.0625rem solid var(--line);min-width: 0}:is(qlcv-workspace-app,.qlcv-web-host) .kg-head{position: sticky;top: 0;z-index: 5;display: grid;grid-template-columns: var(--kg-side-w) var(--kg-timeline);background: var(--surface);border-bottom: 0.0625rem solid var(--line)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-head .kg-side{z-index: 6;display: flex;align-items: flex-end}:is(qlcv-workspace-app,.qlcv-web-host) .kg-scale{position: relative;height: var(--kg-head-h)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-scale-top,:is(qlcv-workspace-app,.qlcv-web-host) .kg-scale-bottom{position: relative;height: 50%}:is(qlcv-workspace-app,.qlcv-web-host) .kg-scale-top{border-bottom: 0.0625rem solid var(--line-soft)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-scale-cell{position: absolute;top: 0;bottom: 0;padding: 0.25rem 0.375rem;border-left: 0.0625rem solid var(--line-soft);font-size: var(--qlcv-text-xs);font-variant-numeric: tabular-nums;color: var(--ink-3);white-space: nowrap}:is(qlcv-workspace-app,.qlcv-web-host) .kg-scale-top .kg-scale-cell{font-weight: 600;color: var(--ink-2)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-scale-label{position: sticky;left: calc(var(--kg-side-w) + 0.375rem)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-daily .kg-scale-bottom .kg-scale-cell{display: flex;flex-direction: column;align-items: center;padding: 0.0625rem 0;line-height: 1.1}:is(qlcv-workspace-app,.qlcv-web-host) .kg-scale-sub{color: var(--ink-3)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-scale-cell.is-weekend{background: var(--log)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-today-tag{position: absolute;top: 0.3125rem;z-index: 1;transform: translateX(-50%);padding: 0 0.375rem;border-radius: var(--qlcv-radius-pill);background: var(--accent-solid);color: var(--on-accent);font-size: var(--qlcv-text-xs);font-weight: 600;white-space: nowrap}:is(qlcv-workspace-app,.qlcv-web-host) .kg-body{position: relative}:is(qlcv-workspace-app,.qlcv-web-host) .kg-grid{position: absolute;top: 0;bottom: 0;left: var(--kg-side-w);width: var(--kg-timeline);pointer-events: none}:is(qlcv-workspace-app,.qlcv-web-host) .kg-grid-col{position: absolute;top: 0;bottom: 0;border-left: 0.0625rem solid var(--line-soft)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-grid-col.is-weekend{background: var(--log)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-today{position: absolute;top: 0;bottom: 0;z-index: 2;border-left: 0.125rem dashed var(--accent-solid)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-row{position: relative;display: grid;grid-template-columns: var(--kg-side-w) var(--kg-timeline);min-height: var(--kg-row-h);border-bottom: 0.0625rem solid var(--line-soft)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-row:hover>.kg-side{background: linear-gradient(var(--gray-soft),var(--gray-soft)),var(--surface)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-track{position: relative;min-height: var(--kg-row-h)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-row.is-directive{border-top: 0.0625rem solid var(--line)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-row.is-directive>.kg-side{background: linear-gradient(var(--log),var(--log)),var(--surface)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-cells{display: grid;grid-template-columns: minmax(0,1fr) 6.25rem;gap: 0.5rem;align-items: start;padding: 0.5rem 0.625rem 0.5rem calc(0.625rem + var(--depth,0) * 1.125rem);font-size: var(--qlcv-text-m);line-height: 1.4}:is(qlcv-workspace-app,.qlcv-web-host) .kg-cells.is-one{grid-template-columns: minmax(0,1fr)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-head .kg-cells{width: 100%;padding-left: 0.625rem;font-size: var(--qlcv-text-xs);font-weight: 600;color: var(--ink-2)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-name{display: flex;gap: 0.375rem;align-items: flex-start;min-width: 0}:is(qlcv-workspace-app,.qlcv-web-host) .kg-name-text{min-width: 0;white-space: normal;overflow-wrap: anywhere;text-align: left}:is(qlcv-workspace-app,.qlcv-web-host) button.kg-name-text{border: 0;padding: 0;background: none;color: var(--link);font: inherit;cursor: pointer}:is(qlcv-workspace-app,.qlcv-web-host) button.kg-name-text:hover{text-decoration: underline}:is(qlcv-workspace-app,.qlcv-web-host) button.kg-name-text:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: 0.125rem}:is(qlcv-workspace-app,.qlcv-web-host) .kg-row.is-directive .kg-name-text{font-weight: 700}:is(qlcv-workspace-app,.qlcv-web-host) .kg-row.is-plan .kg-name-text{font-weight: 600}:is(qlcv-workspace-app,.qlcv-web-host) .kg-row.is-work .kg-cells{font-size: var(--qlcv-text-xs);color: var(--ink-2)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-sub{display: block;font-size: var(--qlcv-text-xs);font-weight: 400;color: var(--ink-3)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-code{font-family: var(--qlcv-font-so-lieu);font-weight: 600}:is(qlcv-workspace-app,.qlcv-web-host) .kg-due{font-size: var(--qlcv-text-xs);font-variant-numeric: tabular-nums}:is(qlcv-workspace-app,.qlcv-web-host) .kg-due .kg-late{display: block;color: var(--red);font-weight: 600}:is(qlcv-workspace-app,.qlcv-web-host) .kg-due .kg-soon{display: block;color: var(--amber);font-weight: 600}:is(qlcv-workspace-app,.qlcv-web-host) .kg-caret{flex: none;width: 1.25rem;height: 1.25rem;margin-top: 0;display: grid;place-items: center;border: 0;border-radius: var(--qlcv-radius-s);background: none;color: var(--ink-3);cursor: pointer;transition: transform var(--qlcv-motion-base)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-caret[aria-expanded="false"]{transform: rotate(-90deg)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-caret:hover{background: var(--gray-soft);color: var(--ink)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-caret:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: 0.0625rem}:is(qlcv-workspace-app,.qlcv-web-host) .kg-caret .i{width: 0.875rem;height: 0.875rem}:is(qlcv-workspace-app,.qlcv-web-host) .kg-caret-space{flex: none;width: 1.25rem}:is(qlcv-workspace-app,.qlcv-web-host) .kg-alarm{flex: none;width: 0.4375rem;height: 0.4375rem;margin-top: 0.4375rem;border-radius: 50%;background: var(--red)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar{position: absolute;top: 50%;z-index: 1;height: 1rem;transform: translateY(-50%)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar-body{position: relative;display: block;width: 100%;height: 100%;padding: 0;border: 0;border-radius: 0.25rem;background: transparent;cursor: pointer;overflow: hidden}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar.is-dragging{z-index: 3}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar.is-editable .kg-bar-body{cursor: grab}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar.is-dragging .kg-bar-body{cursor: grabbing}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar-body:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: 0.125rem}:is(qlcv-workspace-app,.qlcv-web-host) .kg-handle{position: absolute;top: -0.25rem;bottom: -0.25rem;width: 0.625rem;cursor: col-resize;touch-action: none}:is(qlcv-workspace-app,.qlcv-web-host) .kg-handle-start{left: -0.375rem}:is(qlcv-workspace-app,.qlcv-web-host) .kg-handle-end{right: -0.375rem}:is(qlcv-workspace-app,.qlcv-web-host) .kg-handle::after{content: "";position: absolute;top: 0.1875rem;bottom: 0.1875rem;left: 0.25rem;width: 0.125rem;border-radius: 0.125rem;background: var(--ink-2);opacity: 0;transition: opacity var(--qlcv-motion-fast)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar:hover .kg-handle::after,:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar.is-dragging .kg-handle::after{opacity: 1}:is(qlcv-workspace-app,.qlcv-web-host) .kg-drag-tip{position: absolute;bottom: calc(100% + 0.375rem);left: 0;z-index: 7;padding: 0.125rem 0.375rem;border-radius: var(--qlcv-radius-s);background: var(--ink);color: var(--surface);font-size: var(--qlcv-text-xs);font-variant-numeric: tabular-nums;white-space: nowrap}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar.is-directive{height: 0.625rem}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar.is-directive .kg-bar-body{border-radius: 0.3125rem;background: color-mix(in oklab,var(--gold) 40%,var(--surface))}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar.is-directive .kg-fill{border-radius: 0.3125rem 0 0 0.3125rem;background: var(--accent-solid)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar.is-plan{--plan-vien: color-mix(in oklab,var(--gold) 92%,var(--ink));height: 0.9375rem}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar.is-plan .kg-bar-body{border-radius: var(--qlcv-radius-l);background: color-mix(in oklab,var(--gold) 14%,var(--surface));box-shadow: inset 0 0 0 0.09375rem var(--plan-vien),inset 0 -0.125rem 0 var(--plan-vien)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar.is-plan:hover .kg-bar-body{background: color-mix(in oklab,var(--gold) 24%,var(--surface))}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar.is-plan.is-draft .kg-bar-body{border: 0.125rem dashed var(--plan-vien);background: transparent;box-shadow: none}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar.is-task .kg-bar-body{background: var(--surface);box-shadow: inset 0 0 0 0.09375rem var(--sd)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-fill{position: absolute;top: 0;bottom: 0;left: 0;width: var(--pct,0%);background: var(--st);pointer-events: none}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar.is-work{height: 0.3125rem}:is(qlcv-workspace-app,.qlcv-web-host) .kg-bar.is-work .kg-bar-body{border-radius: 0.1875rem;background: var(--ink-4)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-label{position: absolute;top: 50%;z-index: 3;text-shadow: 0 0 0.125rem var(--surface),0 0 0.25rem var(--surface);transform: translateY(-50%);font-size: var(--qlcv-text-xs);color: var(--ink);white-space: nowrap;pointer-events: none}:is(qlcv-workspace-app,.qlcv-web-host) .kg-label.is-who{color: var(--ink-2);font-weight: 600;pointer-events: auto}:is(qlcv-workspace-app,.qlcv-web-host) .kg-label.is-left{transform: translate(-100%,-50%)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-tail{position: absolute;top: 50%;height: 1rem;transform: translateY(-50%);border: 0.0625rem solid var(--red);background: repeating-linear-gradient(45deg,var(--red) 0 0.0938rem,var(--red-soft) 0.0938rem 0.375rem);pointer-events: none}:is(qlcv-workspace-app,.qlcv-web-host) .kg-cap{position: absolute;top: 50%;z-index: 2;width: 0.1875rem;height: 1.375rem;transform: translate(-50%,-50%);border-radius: 0.0625rem;background: var(--red);pointer-events: none}:is(qlcv-workspace-app,.qlcv-web-host) .kg-cap.is-soon{background: var(--amber)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-mark{position: absolute;top: 50%;z-index: 3;width: 0.25rem;height: 1.25rem;transform: translate(-50%,-50%);border-radius: 0.125rem;background: var(--accent-solid)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-mark.is-late{background: var(--red)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-tick{position: absolute;bottom: 0.3125rem;width: 0.1875rem;height: 0.5rem;transform: translateX(-50%);background: var(--ink-3)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-tick.is-alarm{background: var(--red)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-empty-note{position: absolute;top: 50%;left: 0.5rem;transform: translateY(-50%);font-size: var(--qlcv-text-xs);color: var(--ink-3);white-space: nowrap}:is(qlcv-workspace-app,.qlcv-web-host) .kg-links{position: absolute;top: 0;left: 0;z-index: 2;width: 100%;height: 100%;overflow: visible;pointer-events: none}:is(qlcv-workspace-app,.qlcv-web-host) .kg-link{fill: none;stroke: var(--ink-2);stroke-width: 1.2}:is(qlcv-workspace-app,.qlcv-web-host) .kg-arrowhead{fill: var(--ink-2)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-toolbar{display: flex;flex-wrap: wrap;align-items: center;gap: 0.5rem 0.75rem;margin-bottom: 0.625rem}:is(qlcv-workspace-app,.qlcv-web-host) .kg-toolbar-end{margin-left: auto}:is(qlcv-workspace-app,.qlcv-web-host) .kg-search{width: 14rem;max-width: 100%;height: 1.875rem;padding: 0 0.625rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-m);background: var(--surface);color: var(--ink);font: inherit;font-size: var(--qlcv-text-xs)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-search:hover{border-color: var(--ink-4)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-search:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: 0.0625rem}:is(qlcv-workspace-app,.qlcv-web-host) .kg-row.is-hint .kg-name-text{color: var(--ink-3)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-legend{display: flex;flex-wrap: wrap;align-items: center;gap: 0.375rem 0.875rem;margin-top: 0.625rem;font-size: var(--qlcv-text-xs);color: var(--ink-2)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-legend span{display: inline-flex;align-items: center;gap: 0.375rem}:is(qlcv-workspace-app,.qlcv-web-host) .kg-legend i{display: inline-block;width: 1.125rem;height: 0.625rem;border-radius: 0.125rem;background: var(--sc)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-legend i.is-late{border: 0.0625rem solid var(--red);background: repeating-linear-gradient(45deg,var(--red) 0 0.0938rem,var(--red-soft) 0.0938rem 0.375rem)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-legend i.is-link{height: 0.125rem;background: var(--ink-2)}qlcv-workspace-app .page:has(>.kg-view){display: flex;flex-direction: column;height: calc(100dvh - var(--hh));padding-bottom: 0.875rem}qlcv-workspace-app .kg-view{flex: 1 1 auto;min-height: 0;display: flex;flex-direction: column}:is(qlcv-workspace-app,.qlcv-web-host) .kg.is-lanes{--kg-side-w: clamp(11rem,15vw,15rem)}qlcv-workspace-app .kg-view>.kg{flex: 1 1 auto;min-height: 20rem}:is(qlcv-workspace-app,.qlcv-web-host) .kg.is-inline{max-height: 75vh}@media (max-width: 35em){qlcv-workspace-app .page:has(>.kg-view){height: auto}}@media (max-width: 47.5em){:is(qlcv-workspace-app,.qlcv-web-host) .kg{--kg-side-w: 13rem}:is(qlcv-workspace-app,.qlcv-web-host) .kg-cells{grid-template-columns: minmax(0,1fr)}:is(qlcv-workspace-app,.qlcv-web-host) .kg-col-extra{display: none}}:is(qlcv-workspace-app,.qlcv-web-host) .kanban{display: flex;flex: 1 0 auto;gap: 0.625rem;padding: 1rem 0;overflow-x: auto;min-height: 18.75rem;align-items: stretch}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-col{flex: 1 1 0;min-width: 13rem;border-top: 0.3125rem solid var(--st);display: flex;flex-direction: column;transition: background-color var(--qlcv-motion-fast),box-shadow var(--qlcv-motion-fast)}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-col.drag-over{background: var(--sel-bg);box-shadow: inset 0 0 0 0.125rem var(--sel-line)}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-col-head{display: flex;align-items: center;gap: 0.5rem;padding: 0.5rem 0.25rem 0.625rem;font-size: var(--qlcv-text-m);font-weight: 700;color: var(--ink);user-select: none}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-col-head .kch-icon{width: 1.125rem;height: 1.125rem;color: var(--sd)}:is(qlcv-workspace-app,.qlcv-web-host) .kch-toggle{display: flex;align-items: center;gap: 0.5rem;inline-size: 100%;padding: 0.125rem 0.25rem;border: 0;border-radius: var(--qlcv-radius-s);background: transparent;font: inherit;color: inherit;text-align: start}:is(qlcv-workspace-app,.qlcv-web-host) .kch-toggle:hover{background: var(--hover)}:is(qlcv-workspace-app,.qlcv-web-host) .kch-toggle .kch-fold{margin-inline-start: auto;color: var(--ink-2)}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-col.is-folded{flex: 0 0 3rem;min-width: 3rem;background: var(--hover)}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-col.is-folded .kanban-col-head{justify-content: center}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-col.is-folded .kch-toggle{writing-mode: vertical-rl;inline-size: auto;padding: 0.5rem 0.25rem}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-col.is-folded .kch-toggle .kch-fold{margin-inline-start: 0.25rem}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-col.is-folded .kanban-col-body{display: none}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-col-body{display: flex;flex-direction: column;gap: 0.5rem;padding: 0 0 0.625rem;min-height: 2.5rem}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-card{background: var(--surface);border: 0.0625rem solid var(--line);border-left: 0.1875rem solid var(--sd,var(--line));border-radius: var(--qlcv-radius-s);padding: 0.625rem 0.75rem;cursor: grab;display: flex;flex-direction: column;gap: 0.3125rem;touch-action: manipulation;transition: box-shadow var(--qlcv-motion-fast)}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-card:hover{border-color: var(--ink-3);border-left-color: var(--sd,var(--line))}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-card:focus-visible{outline: 0.1875rem solid var(--focus);outline-offset: 0;box-shadow: 0 0 0 0.3125rem var(--focus-edge)}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-card:active{background: var(--sel-bg)}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-card.dragging{opacity: 0.4}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-card.is-overlay{cursor: grabbing;box-shadow: var(--aura-shadow-m)}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-card .kc-name{font-size: var(--qlcv-text-m);font-weight: 500;color: var(--ink);line-height: 1.4;white-space: normal;overflow-wrap: anywhere}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-card .kc-code{font-size: var(--qlcv-text-xs);color: var(--ink-3);white-space: normal;overflow-wrap: anywhere}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-card .kc-meta{display: flex;align-items: center;gap: 0.375rem;margin-top: 0.125rem}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-card .kc-due{font-size: var(--qlcv-text-xs);color: var(--ink-3);font-variant-numeric: tabular-nums}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-card .kc-due:is(.over,.today){color: var(--red);font-weight: 600}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-card .kc-due.soon{color: var(--amber)}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-card .kc-meta .avatar{margin-left: auto}:is(qlcv-workspace-app,.qlcv-web-host) .kanban-empty{padding: 0.375rem 0.25rem;font-size: var(--qlcv-text-xs);color: var(--ink-3)}@media (max-width: 56.25em){:is(qlcv-workspace-app,.qlcv-web-host) .kanban{flex-direction: column}}:is(qlcv-workspace-app,.qlcv-web-host) .mc{display: grid;grid-template-columns: 15rem minmax(0,1fr);gap: 1rem;flex: 1 0 auto;min-height: 32rem}qlcv-workspace-app .mc-view{display: flex;flex-direction: column;flex: 1 0 auto;padding: 1rem 0 0}:is(qlcv-workspace-app,.qlcv-web-host) .mc-side{display: flex;flex-direction: column;gap: 0.875rem;min-width: 0}:is(qlcv-workspace-app,.qlcv-web-host) .mc-side-sec{display: flex;flex-direction: column;gap: 0.125rem}:is(qlcv-workspace-app,.qlcv-web-host) .mc-side-h{margin: 0 0 0.25rem;padding-top: 0.75rem;border-top: 0.0625rem solid var(--line-soft);font-size: var(--qlcv-text-m);font-weight: 700;color: var(--ink)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-fam{display: flex;align-items: center;gap: 0.5rem;padding: 0.25rem 0.375rem;border-radius: var(--qlcv-radius-m);font-size: var(--qlcv-text-m);color: var(--ink);cursor: pointer;transition: background var(--qlcv-motion-fast)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-fam:hover{background: var(--gray-soft)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-fam:has(input:focus-visible){outline: 0.125rem solid var(--focus);outline-offset: 0.0625rem}:is(qlcv-workspace-app,.qlcv-web-host) .mc-fam input{flex: none;width: 1rem;height: 1rem;margin: 0;accent-color: var(--sc)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-fam-n{font-size: var(--qlcv-text-xs);color: var(--ink-3)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-legend span{display: flex;align-items: center;gap: 0.5rem;padding: 0.125rem 0.375rem;font-size: var(--qlcv-text-xs);color: var(--ink-2)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-cap{flex: none;width: 0.25rem;height: 0.875rem;border-radius: 0.0625rem;background: var(--red)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-cap.soon{background: var(--amber)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-months{padding: 0.625rem;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-l);background: var(--surface)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-months-head{display: flex;align-items: center;justify-content: space-between;margin-bottom: 0.5rem}:is(qlcv-workspace-app,.qlcv-web-host) .mc-months-year{font-family: var(--serif);font-size: var(--qlcv-text-l);font-weight: 600;color: var(--ink)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-months-grid{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 0.25rem}:is(qlcv-workspace-app,.qlcv-web-host) .mc-month{position: relative;min-height: 2.25rem;padding: 0.25rem;border: 0.0625rem solid var(--line-soft);border-radius: var(--qlcv-radius-m);background: var(--surface);color: var(--ink);font: inherit;font-size: var(--qlcv-text-m);font-weight: 600;cursor: pointer;transition: background var(--qlcv-motion-fast),border-color var(--qlcv-motion-fast)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-month:hover{background: var(--gray-soft);border-color: var(--line)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-month:active{background: var(--sel-bg)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-month:focus-visible{outline: 0.1875rem solid var(--focus);outline-offset: 0;box-shadow: 0 0 0 0.3125rem var(--focus-edge)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-month[aria-pressed="true"]{border-color: var(--sel-line);background: var(--sel-bg);color: var(--sel-ink);box-shadow: inset 0 -0.1875rem 0 var(--sel-line)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-month.is-now::after{content: "";position: absolute;top: 0.25rem;right: 0.25rem;width: 0.4375rem;height: 0.4375rem;border-radius: 50%;background: var(--accent-solid)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-main{display: flex;flex-direction: column;gap: 0.625rem;min-width: 0}:is(qlcv-workspace-app,.qlcv-web-host) .mc-toolbar{display: flex;flex-wrap: wrap;align-items: center;gap: 0.5rem 0.75rem}:is(qlcv-workspace-app,.qlcv-web-host) .mc-nav{display: flex;align-items: center;gap: 0.25rem}:is(qlcv-workspace-app,.qlcv-web-host) .mc-title{margin: 0;font-family: var(--serif);font-size: var(--qlcv-text-l);font-weight: 600;color: var(--ink)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-grid{display: flex;flex-direction: column;flex: 1 1 auto;border: 0.0625rem solid var(--line);border-radius: var(--qlcv-radius-l);background: var(--surface);box-shadow: var(--aura-shadow-xs);overflow: hidden}:is(qlcv-workspace-app,.qlcv-web-host) .mc-head{display: grid;grid-template-columns: 2rem repeat(7,minmax(0,1fr));border-bottom: 0.0625rem solid var(--line)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-wd{padding: 0.5rem;font-size: var(--qlcv-text-s);font-weight: 700;color: var(--ink);text-align: center}:is(qlcv-workspace-app,.qlcv-web-host) .mc-week{display: grid;grid-template-columns: 2rem minmax(0,1fr);flex: 1 0 auto;min-height: 7rem;border-bottom: 0.0625rem solid var(--line-soft)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-week:last-child{border-bottom: 0}:is(qlcv-workspace-app,.qlcv-web-host) .mc-wkno{padding-top: 0.375rem;border-right: 0.0625rem solid var(--line);background: var(--log);font-size: var(--qlcv-text-s);font-weight: 700;font-variant-numeric: tabular-nums;color: var(--ink-2);text-align: center}:is(qlcv-workspace-app,.qlcv-web-host) .mc-head .mc-wkno{align-self: stretch;display: flex;align-items: center;justify-content: center;padding: 0;font-size: var(--qlcv-text-xs);font-weight: 600}:is(qlcv-workspace-app,.qlcv-web-host) .mc-days{position: relative;min-width: 0}:is(qlcv-workspace-app,.qlcv-web-host) .mc-bg{position: absolute;inset: 0;display: grid;grid-template-columns: repeat(7,minmax(0,1fr))}:is(qlcv-workspace-app,.qlcv-web-host) .mc-cell{position: relative;border-left: 0.0625rem solid var(--line-soft)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-cell:first-child{border-left: 0}:is(qlcv-workspace-app,.qlcv-web-host) .mc-cell.is-weekend{background: color-mix(in srgb,var(--log) 55%,transparent)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-cell.is-out{background: var(--log)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-cell.is-adding{background: var(--sel-bg)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-add{position: absolute;inset: 0;display: flex;align-items: flex-end;justify-content: flex-end;width: 100%;padding: 0.375rem;border: 0;background: transparent;color: transparent;cursor: pointer}:is(qlcv-workspace-app,.qlcv-web-host) .mc-add .i{width: 1rem;height: 1rem}:is(qlcv-workspace-app,.qlcv-web-host) .mc-cell:hover .mc-add{color: var(--ink-3)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-add:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: -0.125rem;color: var(--ink-3)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-fg{position: relative;display: grid;grid-template-columns: repeat(7,minmax(0,1fr));grid-auto-rows: min-content;row-gap: 0.125rem;padding-bottom: 1.75rem;pointer-events: none}:is(qlcv-workspace-app,.qlcv-web-host) .mc-num{grid-row: 1;padding: 0.3125rem 0.5rem 0.25rem;font-size: var(--qlcv-text-m);font-weight: 700;font-variant-numeric: tabular-nums;line-height: 1.3;color: var(--ink);text-align: right}:is(qlcv-workspace-app,.qlcv-web-host) .mc-num.is-out{font-weight: 500;color: var(--ink-3)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-num.is-today span{display: inline-block;min-width: 1.5rem;padding: 0 0.375rem;border-radius: var(--qlcv-radius-pill);background: var(--accent-solid);color: var(--on-accent);font-weight: 700;text-align: center}:is(qlcv-workspace-app,.qlcv-web-host) .mc-bar{min-width: 0;margin: 0 0.25rem;padding: 0.0625rem 0.5rem;border: 0;border-radius: var(--qlcv-radius-s);background: var(--st);color: var(--so);font: inherit;font-size: var(--qlcv-text-xs);font-weight: 600;line-height: 1.4;text-align: left;white-space: normal;overflow-wrap: anywhere;cursor: pointer;pointer-events: auto;transition: background var(--qlcv-motion-fast)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-bar:hover{background: color-mix(in oklab,var(--st) 85%,var(--ink))}:is(qlcv-workspace-app,.qlcv-web-host) .mc-bar:focus-visible{outline: 0.1875rem solid var(--focus);outline-offset: 0;box-shadow: 0 0 0 0.3125rem var(--focus-edge)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-bar:active{background: color-mix(in oklab,var(--st) 70%,var(--ink))}:is(qlcv-workspace-app,.qlcv-web-host) .mc-bar.cont-l{margin-left: 0;border-top-left-radius: 0;border-bottom-left-radius: 0}:is(qlcv-workspace-app,.qlcv-web-host) .mc-bar.cont-r{margin-right: 0;border-top-right-radius: 0;border-bottom-right-radius: 0}:is(qlcv-workspace-app,.qlcv-web-host) .mc-more{justify-self: start;margin: 0 0.25rem;padding: 0.0625rem 0.25rem;border: 0;border-radius: var(--qlcv-radius-s);background: transparent;color: var(--link);font: inherit;font-size: var(--qlcv-text-xs);font-weight: 600;text-decoration: underline;cursor: pointer;pointer-events: auto}:is(qlcv-workspace-app,.qlcv-web-host) .mc-more:hover{background: var(--gray-soft)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-more:focus-visible{outline: 0.1875rem solid var(--focus);outline-offset: 0}:is(qlcv-workspace-app,.qlcv-web-host) .mc-more.is-less{justify-self: end}:is(qlcv-workspace-app,.qlcv-web-host) .mc-bar:is(.over,.today){box-shadow: inset -0.25rem 0 0 var(--red)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-bar.soon{box-shadow: inset -0.25rem 0 0 var(--amber)}@media (max-width: 56.25em){:is(qlcv-workspace-app,.qlcv-web-host) .mc{grid-template-columns: minmax(0,1fr)}:is(qlcv-workspace-app,.qlcv-web-host) .mc-months-grid{grid-template-columns: repeat(6,minmax(0,1fr))}}qlcv-workspace-app .dash-charts{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1.2fr);align-items: start;gap: 0.75rem}qlcv-workspace-app .dash-late{display: flex;flex-direction: column}qlcv-workspace-app .dash-donuts{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));align-items: start;gap: 0.75rem}:is(qlcv-workspace-app,.qlcv-web-host) .chart-empty{margin: 0;font-size: var(--qlcv-text-m);color: var(--ink-3)}:is(qlcv-workspace-app,.qlcv-web-host) .donut{display: grid;grid-template-columns: 8.5rem minmax(0,1fr);align-items: center;gap: 1rem}:is(qlcv-workspace-app,.qlcv-web-host) .donut-svg{width: 8.5rem;height: 8.5rem}:is(qlcv-workspace-app,.qlcv-web-host) .donut-seg{transition: opacity var(--qlcv-motion-fast)}:is(qlcv-workspace-app,.qlcv-web-host) .donut-seg.is-dim{opacity: 0.3}:is(qlcv-workspace-app,.qlcv-web-host) .donut-val{font-size: 1.25rem;font-weight: 700;fill: var(--ink);text-anchor: middle;dominant-baseline: middle}:is(qlcv-workspace-app,.qlcv-web-host) .donut-unit{font-size: 0.5312rem;fill: var(--ink-3);text-anchor: middle;dominant-baseline: middle}:is(qlcv-workspace-app,.qlcv-web-host) .donut-legend{display: flex;flex-direction: column;gap: 0.125rem;margin: 0;padding: 0;list-style: none}:is(qlcv-workspace-app,.qlcv-web-host) .donut-key{display: flex;align-items: center;gap: 0.5rem;width: 100%;padding: 0.25rem 0.375rem;border: 0;border-radius: var(--qlcv-radius-m);background: none;font: inherit;font-size: var(--qlcv-text-xs);color: var(--ink);text-align: left;white-space: normal;cursor: default;transition: background var(--qlcv-motion-fast)}:is(qlcv-workspace-app,.qlcv-web-host) .donut-key:is(:hover,.is-active){background: var(--gray-soft)}:is(qlcv-workspace-app,.qlcv-web-host) .donut-key:focus-visible{outline: 0.125rem solid var(--focus);outline-offset: 0.0625rem}:is(qlcv-workspace-app,.qlcv-web-host) .donut-key .grow{flex: 1 1 auto;min-width: 0}:is(qlcv-workspace-app,.qlcv-web-host) .donut-swatch{flex: none;width: 0.625rem;height: 0.625rem;border-radius: 0.125rem}:is(qlcv-workspace-app,.qlcv-web-host) .donut-key .num{font-weight: 600;font-variant-numeric: tabular-nums}:is(qlcv-workspace-app,.qlcv-web-host) .donut-key .donut-pct{min-width: 2.75rem;font-weight: 400;color: var(--ink-3);text-align: right}:is(qlcv-workspace-app,.qlcv-web-host) .hbars{display: flex;flex-direction: column;gap: 0.375rem;margin: 0;padding: 0;list-style: none}:is(qlcv-workspace-app,.qlcv-web-host) .hbar{display: grid;grid-template-columns: 8.5rem minmax(0,1fr) 2.5rem;align-items: center;gap: 0.625rem;font-size: var(--qlcv-text-xs)}:is(qlcv-workspace-app,.qlcv-web-host) .hbar-lbl{color: var(--ink-2);white-space: normal}:is(qlcv-workspace-app,.qlcv-web-host) .hbar-track{height: 1rem}:is(qlcv-workspace-app,.qlcv-web-host) .hbar-fill{display: block;height: 100%;min-width: 0.125rem;border-radius: 0 0.25rem 0.25rem 0}:is(qlcv-workspace-app,.qlcv-web-host) .hbar-val{font-weight: 600;font-variant-numeric: tabular-nums;color: var(--ink)}@media (max-width: 68.75em){qlcv-workspace-app .dash-charts,qlcv-workspace-app .dash-donuts{grid-template-columns: minmax(0,1fr)}}