@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/bevietnampro/v12/QdVMSTAyLFyeg_IDWvOJmVES_HScJ286Rb0bcw.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:300;font-display:swap;src:url(https://fonts.gstatic.com/s/bevietnampro/v12/QdVMSTAyLFyeg_IDWvOJmVES_HScJ287Rb0bcw.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:300;font-display:swap;src:url(https://fonts.gstatic.com/s/bevietnampro/v12/QdVMSTAyLFyeg_IDWvOJmVES_HScJ281Rb0.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(https://fonts.gstatic.com/s/bevietnampro/v12/QdVPSTAyLFyeg_IDWvOJmVES_Hw4BXoKZA.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:400;font-display:swap;src:url(https://fonts.gstatic.com/s/bevietnampro/v12/QdVPSTAyLFyeg_IDWvOJmVES_Hw5BXoKZA.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(https://fonts.gstatic.com/s/bevietnampro/v12/QdVPSTAyLFyeg_IDWvOJmVES_Hw3BXo.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(https://fonts.gstatic.com/s/bevietnampro/v12/QdVMSTAyLFyeg_IDWvOJmVES_HTEJm86Rb0bcw.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(https://fonts.gstatic.com/s/bevietnampro/v12/QdVMSTAyLFyeg_IDWvOJmVES_HTEJm87Rb0bcw.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(https://fonts.gstatic.com/s/bevietnampro/v12/QdVMSTAyLFyeg_IDWvOJmVES_HTEJm81Rb0.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(https://fonts.gstatic.com/s/bevietnampro/v12/QdVMSTAyLFyeg_IDWvOJmVES_HToIW86Rb0bcw.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(https://fonts.gstatic.com/s/bevietnampro/v12/QdVMSTAyLFyeg_IDWvOJmVES_HToIW87Rb0bcw.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(https://fonts.gstatic.com/s/bevietnampro/v12/QdVMSTAyLFyeg_IDWvOJmVES_HToIW81Rb0.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(https://fonts.gstatic.com/s/bevietnampro/v12/QdVMSTAyLFyeg_IDWvOJmVES_HSMIG86Rb0bcw.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(https://fonts.gstatic.com/s/bevietnampro/v12/QdVMSTAyLFyeg_IDWvOJmVES_HSMIG87Rb0bcw.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(https://fonts.gstatic.com/s/bevietnampro/v12/QdVMSTAyLFyeg_IDWvOJmVES_HSMIG81Rb0.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:800;font-display:swap;src:url(https://fonts.gstatic.com/s/bevietnampro/v12/QdVMSTAyLFyeg_IDWvOJmVES_HSQI286Rb0bcw.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:800;font-display:swap;src:url(https://fonts.gstatic.com/s/bevietnampro/v12/QdVMSTAyLFyeg_IDWvOJmVES_HSQI287Rb0bcw.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:800;font-display:swap;src:url(https://fonts.gstatic.com/s/bevietnampro/v12/QdVMSTAyLFyeg_IDWvOJmVES_HSQI281Rb0.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}@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white: #fff;--spacing: .25rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--animate-spin: spin 1s linear infinite;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.\@container{container-type:inline-size}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media(width>=40rem){.container{max-width:40rem}}@media(width>=48rem){.container{max-width:48rem}}@media(width>=64rem){.container{max-width:64rem}}@media(width>=80rem){.container{max-width:80rem}}@media(width>=96rem){.container{max-width:96rem}}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mr-2{margin-right:calc(var(--spacing) * 2)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.w-fit{width:fit-content}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.rounded{border-radius:.25rem}.rounded-full{border-radius:calc(infinity * 1px)}.border{border-style:var(--tw-border-style);border-width:1px}.object-cover{object-fit:cover}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-wrap{text-wrap:wrap}.text-clip{text-overflow:clip}.text-muted{color:var(--muted)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.ring-2{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-white{--tw-ring-color: var(--color-white)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}@property --tw-animation-delay{syntax: "*"; inherits: false; initial-value: 0s;}@property --tw-animation-direction{syntax: "*"; inherits: false; initial-value: normal;}@property --tw-animation-duration{syntax: "*"; inherits: false;}@property --tw-animation-fill-mode{syntax: "*"; inherits: false; initial-value: none;}@property --tw-animation-iteration-count{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-enter-blur{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-enter-opacity{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-enter-rotate{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-enter-scale{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-enter-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-enter-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-exit-blur{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-exit-opacity{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-exit-rotate{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-exit-scale{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-exit-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-exit-translate-y{syntax: "*"; inherits: false; initial-value: 0;}:root{--font-size: 16px;--app-text-scale: 1;--app-control-height: 44px;--app-compact-control-height: 36px;--app-row-height: 48px;--app-card-padding-y: 16px;--app-card-padding-x: 18px;--fs-10: 10px;--fs-10-5: 10.5px;--fs-11: 11px;--fs-11-5: 11.5px;--fs-12: 12px;--fs-12-5: 12.5px;--fs-13: 13px;--fs-13-5: 13.5px;--fs-14: 14px;--fs-14-5: 14.5px;--fs-15: 15px;--fs-17: 17px;--fs-18: 18px;--fs-20: 20px;--fs-22: 22px;--fs-24: 24px;--fs-30: 30px;--text-2xs: var(--fs-11);--text-xs: var(--fs-12);--text-sm: var(--fs-13-5);--text-base: var(--fs-14);--text-lg: var(--fs-18);--text-xl: var(--fs-20);--text-2xl: var(--fs-24);--kpi-value-size: var(--fs-30);--page-title-size: var(--fs-24);--icon-tile-34: 34px;--doc-badge-size: 38px;--gov-blue-50: #EEF4FB;--gov-blue-100: #DEE9F6;--gov-blue-200: #BAD2F0;--gov-blue-300: #8AB4E8;--gov-blue-400: #5895DC;--gov-blue-500: #2A7AD0;--gov-blue-600: #0F62BB;--gov-blue-700: #034EA2;--gov-blue-800: #023D82;--gov-blue-900: #022E64;--ink-0: #FFFFFF;--ink-50: #F7F8FB;--ink-100: #F1F3F8;--ink-150: #E8ECF3;--ink-200: #DDE2EC;--ink-300: #C2C9D6;--ink-400: #9AA3B2;--ink-500: #6B7382;--ink-600: #4C5462;--ink-700: #353B47;--ink-800: #20242C;--ink-900: #0F1217;--sys-vanthu: #034EA2;--sys-vanthu-bg: #EAF0FE;--sys-hr: #7C3AED;--sys-hr-bg: #F3ECFE;--sys-payroll: #047857;--sys-payroll-bg: #DCF4E8;--sys-calendar: #0E7490;--sys-calendar-bg: #E0F2F7;--sys-notice: #B45309;--sys-notice-bg: #FBEFD8;--sys-mail: #BE185D;--sys-mail-bg: #FCE7F0;--sys-training: #1E47D6;--sys-training-bg: #EAF0FE;--sys-asset: #C2410C;--sys-asset-bg: #FDE7D7;--urgent: #DC2626;--urgent-bg: #FEE2E2;--warn: #D97706;--warn-bg: #FEF0CD;--ok: #059669;--ok-bg: #D9F4E6;--tone-blue: var(--gov-blue-700);--tone-blue-bg: var(--gov-blue-50);--tone-teal: #0E7490;--tone-teal-bg: #E0F2F7;--tone-amber: #B45309;--tone-amber-bg: #FEF0CD;--tone-red: #DC2626;--tone-red-bg: #FEE2E2;--tone-green: #047857;--tone-green-bg: #DCF4E8;--tone-purple: #7C3AED;--tone-purple-bg: #F3ECFE;--r-sm: 6px;--r: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--shadow-sm-eo: 0 1px 2px rgba(15,18,23,.04), 0 1px 1px rgba(15,18,23,.03);--shadow-eo: 0 1px 3px rgba(15,18,23,.06), 0 4px 12px rgba(15,18,23,.04);--shadow-md-eo: 0 4px 8px rgba(15,18,23,.06), 0 16px 32px rgba(15,18,23,.08);--shadow-lg-eo: 0 8px 16px rgba(15,18,23,.08), 0 24px 48px rgba(15,18,23,.12);--brand: #034EA2;--primary: #0F1B2E;--primary-foreground: #ffffff;--background: #ffffff;--foreground: #0F1B2E;--card: #ffffff;--card-foreground: #0F1B2E;--popover: #ffffff;--popover-foreground: #0F1B2E;--secondary: #EEF3FA;--secondary-foreground: #0F1B2E;--muted: #E2E8F0;--muted-foreground: #64748B;--accent: #FB8500;--accent-foreground: #ffffff;--destructive: #E63946;--destructive-foreground: #ffffff;--success: #2D6A4F;--success-foreground: #ffffff;--warning: #E9C46A;--warning-foreground: #0F1B2E;--info: #034EA2;--info-foreground: #ffffff;--text-primary: #0F1B2E;--text-secondary: #334155;--text-tertiary: #64748B;--text-disabled: #9CA3AF;--icon-default: #64748B;--surface-page: #F6F9FD;--surface-subtle: #ECF2F9;--surface-muted: #E2E8F0;--brand-tint: #E6EEF8;--alert-badge: #E63946;--border: #E2E8F0;--input: #CBD5E1;--input-background: #F8FAFC;--input-hover: #94A3B8;--switch-background: #CBD5E1;--font-body: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-form: var(--font-body);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-label: 500;--font-weight-heading: 600;--font-weight-strong: 600;--ring: #034EA2;--chart-1: #034EA2;--chart-2: #FB8500;--chart-3: #2D6A4F;--chart-4: #E63946;--chart-5: #E9C46A;--radius: .375rem;--shadow-card: 0 0 0 1px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .04);--shadow-button: 0 1px 2px rgba(0, 0, 0, .05), 0 0 0 1px rgba(0, 0, 0, .08);--shadow-card-hover: 0 0 0 1px rgba(0, 0, 0, .06), 0 4px 8px rgba(0, 0, 0, .06);--shadow-elevated: 0 4px 16px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .04);--shadow-modal: 0 12px 40px rgba(0, 0, 0, .12), 0 0 0 1px rgba(0, 0, 0, .04);--duration-fast: .1s;--duration-normal: .2s;--duration-moderate: .3s;--duration-slow: .35s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--sidebar: #E3ECF7;--sidebar-foreground: #0F1B2E;--sidebar-primary: #034EA2;--sidebar-primary-foreground: #ffffff;--sidebar-accent: #D6E2F2;--sidebar-accent-foreground: #0F1B2E;--sidebar-border: #CBD7E8;--sidebar-ring: #034EA2}:root[data-text-size=compact]{--font-size: 16px;--app-text-scale: 1;--app-control-height: 44px;--app-compact-control-height: 36px;--app-row-height: 48px;--app-card-padding-y: 16px;--app-card-padding-x: 18px;--fs-10: 10px;--fs-10-5: 10.5px;--fs-11: 11px;--fs-11-5: 11.5px;--fs-12: 12px;--fs-12-5: 12.5px;--fs-13: 13px;--fs-13-5: 13.5px;--fs-14: 14px;--fs-14-5: 14.5px;--fs-15: 15px;--fs-17: 17px;--fs-18: 18px;--fs-20: 20px;--fs-22: 22px;--fs-24: 24px;--fs-30: 30px;--icon-tile-34: 34px;--doc-badge-size: 38px}:root[data-text-size=large]{--font-size: 20px;--app-text-scale: 1.25;--app-control-height: 52px;--app-compact-control-height: 44px;--app-row-height: 66px;--app-card-padding-y: 20px;--app-card-padding-x: 22px;--fs-10: 13px;--fs-10-5: 13.5px;--fs-11: 14px;--fs-11-5: 15px;--fs-12: 15.5px;--fs-12-5: 16px;--fs-13: 16.5px;--fs-13-5: 17px;--fs-14: 18px;--fs-14-5: 18.5px;--fs-15: 19px;--fs-17: 22px;--fs-18: 23px;--fs-20: 26px;--fs-22: 29px;--fs-24: 32px;--fs-30: 42px;--icon-tile-34: 44px;--doc-badge-size: 50px}:root[data-text-size=medium]{--font-size: 18px;--app-text-scale: 1.14;--app-control-height: 48px;--app-compact-control-height: 40px;--app-row-height: 58px;--app-card-padding-y: 18px;--app-card-padding-x: 20px;--fs-10: 12px;--fs-10-5: 12.5px;--fs-11: 13px;--fs-11-5: 14px;--fs-12: 14.5px;--fs-12-5: 15px;--fs-13: 15.5px;--fs-13-5: 16px;--fs-14: 17px;--fs-14-5: 17.5px;--fs-15: 18px;--fs-17: 20px;--fs-18: 21px;--fs-20: 24px;--fs-22: 26px;--fs-24: 29px;--fs-30: 36px;--icon-tile-34: 39px;--doc-badge-size: 44px}.dark{--background: #0E1A2B;--foreground: #E2E8F0;--card: #1A2741;--card-foreground: #E2E8F0;--popover: #1A2741;--popover-foreground: #E2E8F0;--text-primary: #E2E8F0;--text-secondary: #B0BCC9;--text-tertiary: #8A9BB0;--text-disabled: #566882;--icon-default: #8A9BB0;--surface-page: #0E1A2B;--surface-subtle: #1A2741;--surface-muted: rgba(255, 255, 255, .08);--brand-tint: rgba(3, 78, 162, .18);--alert-badge: #E63946;--brand: #4D8FD9;--primary: #E2E8F0;--primary-foreground: #0E1A2B;--secondary: #1A2741;--secondary-foreground: #E2E8F0;--muted: #1A2741;--muted-foreground: #8A9BB0;--accent: #FB8500;--accent-foreground: #0E1A2B;--destructive: #F87171;--destructive-foreground: #0E1A2B;--success: #4ADE80;--success-foreground: #0E1A2B;--warning: #FBBF24;--warning-foreground: #0E1A2B;--info: #4D8FD9;--info-foreground: #0E1A2B;--border: rgba(255, 255, 255, .08);--input: rgba(255, 255, 255, .12);--input-background: #1A2741;--input-hover: rgba(255, 255, 255, .2);--switch-background: #404060;--ring: #4D8FD9;--shadow-card: none;--shadow-button: none;--shadow-card-hover: none;--font-weight-medium: 400;--font-weight-normal: 300;--font-weight-label: 400;--font-weight-heading: 500;--font-weight-strong: 500;--chart-1: #4D8FD9;--chart-2: #FB8500;--chart-3: #4ADE80;--chart-4: #F87171;--chart-5: #FBBF24;--sidebar: #16223A;--sidebar-foreground: #E2E8F0;--sidebar-primary: #4D8FD9;--sidebar-primary-foreground: #0E1A2B;--sidebar-accent: #0E1A2B;--sidebar-accent-foreground: #E2E8F0;--sidebar-border: rgba(255, 255, 255, .12);--sidebar-ring: #4D8FD9;--tone-blue: #4D8FD9;--tone-blue-bg: rgba(77, 143, 217, .16);--tone-teal: #22D3EE;--tone-teal-bg: rgba(34, 211, 238, .14);--tone-amber: #FBBF24;--tone-amber-bg: rgba(251, 191, 36, .14);--tone-red: #F87171;--tone-red-bg: rgba(248, 113, 113, .14);--tone-green: #4ADE80;--tone-green-bg: rgba(74, 222, 128, .14);--tone-purple: #A78BFA;--tone-purple-bg: rgba(167, 139, 250, .14);--urgent-bg: rgba(248, 113, 113, .16);--warn-bg: rgba(251, 191, 36, .16);--ok-bg: rgba(74, 222, 128, .16);--sys-vanthu: #4D8FD9;--sys-vanthu-bg: rgba(77, 143, 217, .16);--sys-hr: #A78BFA;--sys-hr-bg: rgba(167, 139, 250, .14);--sys-payroll: #4ADE80;--sys-payroll-bg: rgba(74, 222, 128, .14);--sys-calendar: #22D3EE;--sys-calendar-bg: rgba(34, 211, 238, .14);--sys-notice: #FBBF24;--sys-notice-bg: rgba(251, 191, 36, .14);--sys-mail: #F472B6;--sys-mail-bg: rgba(244, 114, 182, .14);--sys-training: #60A5FA;--sys-training-bg: rgba(96, 165, 250, .14);--sys-asset: #FB923C;--sys-asset-bg: rgba(251, 146, 60, .14)}@layer base{*{border-color:var(--border);outline-color:var(--ring)}@supports (color: color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}:where(button,[role=button],a,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--r-sm)}:where(button,[role=button],a,input,textarea,select,summary,[tabindex]):focus:not(:focus-visible){outline:none}body{background-color:var(--background);color:var(--foreground);height:100%;overflow:hidden;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:0}html{height:100%;font-size:var(--font-size);color-scheme:light dark;scroll-behavior:smooth;scroll-padding-top:4rem}app-root{display:block;height:100dvh;min-width:0;overflow:hidden}h1{font-size:var(--text-2xl);font-weight:var(--font-weight-medium);line-height:1.35;letter-spacing:-.01em;text-wrap:balance}h2{font-size:var(--text-xl);font-weight:var(--font-weight-medium);line-height:1.35;letter-spacing:-.01em;text-wrap:balance}h3{font-size:var(--text-lg);font-weight:var(--font-weight-medium);line-height:1.35;text-wrap:balance}p{text-wrap:pretty}::selection{background-color:var(--brand);color:#fff}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}app-calendar-page .drawer-form{display:flex;min-height:100%;flex-direction:column}app-calendar-page .form-body{padding:18px 20px 8px;display:grid;gap:14px}app-calendar-page .form-section{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--r);background:var(--card)}app-calendar-page .section-head{display:flex;align-items:flex-start;gap:10px}app-calendar-page .section-icon{width:32px;height:32px;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:var(--r-sm);background:var(--gov-blue-50);color:var(--gov-blue-800)}app-calendar-page .section-head h3{margin:0;color:var(--text-primary);font-size:var(--fs-14);font-weight:var(--form-section-title-weight, 600);line-height:1.35}app-calendar-page .section-head p{margin:2px 0 0;color:var(--text-tertiary);font-size:var(--fs-12);font-weight:var(--font-weight-normal, 400);line-height:1.45}app-calendar-page .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}app-calendar-page .field{display:grid;gap:6px;min-width:0}app-calendar-page .field label{font-size:var(--fs-12);font-weight:var(--form-label-weight, 500);color:var(--text-secondary)}app-calendar-page .field input,app-calendar-page .field textarea,app-calendar-page .field select{width:100%;border:1px solid var(--input);background:var(--input-background);border-radius:var(--r-sm);min-height:var(--app-control-height);padding:0 10px;color:var(--text-primary);outline:none;font-size:var(--fs-14);transition:border-color .15s ease,box-shadow .15s ease;font-weight:var(--form-control-weight, 400)}app-calendar-page .field input:focus-visible,app-calendar-page .field textarea:focus-visible,app-calendar-page .field select:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand)}@supports (color: color-mix(in lab,red,red)){app-calendar-page .field input:focus-visible,app-calendar-page .field textarea:focus-visible,app-calendar-page .field select:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}}app-calendar-page .field input.ng-invalid.ng-touched,app-calendar-page .field textarea.ng-invalid.ng-touched{border-color:var(--destructive)}app-calendar-page .field textarea{min-height:120px;resize:vertical;padding-top:10px;line-height:1.55}app-calendar-page .req{color:var(--destructive);margin-left:3px}app-calendar-page .field-hint{color:var(--text-tertiary);font-size:var(--fs-12);line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--font-weight-normal, 400)}app-calendar-page .file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}app-calendar-page .file-picker{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px dashed var(--input);border-radius:var(--r);background:var(--input-background);cursor:pointer}app-calendar-page .file-picker strong{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary);font-size:var(--fs-13);font-weight:var(--font-weight-medium, 500)}app-calendar-page .error{color:var(--destructive);font-size:var(--fs-12);font-weight:var(--font-weight-medium, 500)}app-calendar-page .inline-alert{margin:0 20px 12px;padding:10px 12px;border:1px solid var(--destructive);border-radius:var(--r-sm);background:var(--destructive);color:var(--destructive);font-size:var(--fs-13);font-weight:var(--font-weight-medium, 500);line-height:1.45}@supports (color: color-mix(in lab,red,red)){app-calendar-page .inline-alert{border:1px solid color-mix(in srgb,var(--destructive) 28%,var(--border))}}@supports (color: color-mix(in lab,red,red)){app-calendar-page .inline-alert{background:color-mix(in srgb,var(--destructive) 8%,var(--card))}}app-calendar-page .form-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding:12px 20px;border-top:1px solid var(--border);background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2}@supports (color: color-mix(in lab,red,red)){app-calendar-page .form-actions{background:color-mix(in srgb,var(--card) 94%,transparent)}}app-calendar-page .form-actions .btn{min-height:var(--app-control-height)}app-calendar-page .color-swatches{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}app-calendar-page .color-swatch{width:30px;height:30px;border-radius:50%;cursor:pointer;border:2px solid transparent;display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .15s ease}app-calendar-page .color-swatch:hover{transform:scale(1.1)}app-calendar-page .color-swatch.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--border)}app-calendar-page .color-swatch.no-color{background:var(--card);color:var(--text-tertiary);border-color:var(--border)}app-calendar-page .color-swatch.no-color.active{color:var(--brand);border-color:var(--brand)}app-calendar-page .checkbox-row{display:flex;gap:20px;flex-wrap:wrap;align-items:center}app-calendar-page .checkbox-field{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--fs-13);color:var(--text-secondary);-webkit-user-select:none;user-select:none}app-calendar-page .checkbox-field input{width:18px;height:18px;cursor:pointer}app-calendar-page .participant-row{display:grid;grid-template-columns:200px 1fr;gap:12px}app-calendar-page .selected-list{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}app-calendar-page .chip{display:inline-flex;min-height:30px;max-width:100%;align-items:center;gap:6px;padding:4px 9px 4px 10px;border:1px solid var(--gov-blue-200);border-radius:999px;background:var(--gov-blue-50);color:var(--gov-blue-800);font-size:var(--fs-12);font-weight:var(--font-weight-medium, 500)}app-calendar-page .chip.user{border-color:var(--tone-teal);background:var(--tone-teal-bg);color:var(--tone-teal)}@supports (color: color-mix(in lab,red,red)){app-calendar-page .chip.user{border-color:color-mix(in srgb,var(--tone-teal) 30%,var(--border))}}app-calendar-page .chip.user.current-user-chip .chip-text{color:var(--calendar-current-user-accent);font-weight:var(--form-section-title-weight, 600)}app-calendar-page .chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}app-calendar-page .chip-remove{width:20px;height:20px;display:inline-grid;place-items:center;border-radius:999px;color:inherit;font-size:var(--fs-17);line-height:1;cursor:pointer;border:0;background:transparent}app-calendar-page .chip-remove:hover{background:currentColor}@supports (color: color-mix(in lab,red,red)){app-calendar-page .chip-remove:hover{background:color-mix(in srgb,currentColor 12%,transparent)}}app-calendar-page .tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}app-calendar-page .attached-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-12);color:var(--text-secondary)}app-calendar-page .attached-tag.new{background:var(--brand-tint);border-color:var(--brand);color:var(--brand)}@supports (color: color-mix(in lab,red,red)){app-calendar-page .attached-tag.new{border-color:color-mix(in srgb,var(--brand) 20%,var(--border))}}app-calendar-page .tag-remove{border:0;background:transparent;color:var(--text-tertiary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}app-calendar-page .tag-remove:hover{color:var(--destructive)}app-calendar-page .status-badge{display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-11);font-weight:var(--font-weight-heading);padding:2px 8px;border-radius:var(--r-sm);text-transform:none;letter-spacing:.02em}app-calendar-page .status-pending{background:var(--warning, #eab308);color:var(--warning, #d97706);border:1px solid var(--warning, #eab308)}@supports (color: color-mix(in lab,red,red)){app-calendar-page .status-pending{background:color-mix(in srgb,var(--warning, #eab308) 12%,transparent)}}@supports (color: color-mix(in lab,red,red)){app-calendar-page .status-pending{border:1px solid color-mix(in srgb,var(--warning, #eab308) 24%,transparent)}}app-calendar-page .status-approved{background:var(--success, #22c55e);color:var(--success, #16a34a);border:1px solid var(--success, #22c55e)}@supports (color: color-mix(in lab,red,red)){app-calendar-page .status-approved{background:color-mix(in srgb,var(--success, #22c55e) 12%,transparent)}}@supports (color: color-mix(in lab,red,red)){app-calendar-page .status-approved{border:1px solid color-mix(in srgb,var(--success, #22c55e) 24%,transparent)}}app-calendar-page .status-rejected{background:var(--danger, #ef4444);color:var(--danger, #dc2626);border:1px solid var(--danger, #ef4444)}@supports (color: color-mix(in lab,red,red)){app-calendar-page .status-rejected{background:color-mix(in srgb,var(--danger, #ef4444) 12%,transparent)}}@supports (color: color-mix(in lab,red,red)){app-calendar-page .status-rejected{border:1px solid color-mix(in srgb,var(--danger, #ef4444) 24%,transparent)}}app-calendar-page .status-draft{background:var(--surface-subtle);color:var(--text-secondary);border:1px solid var(--border)}app-calendar-page .history-loading{color:var(--text-tertiary);font-size:var(--fs-13)}app-calendar-page .btn-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--card);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}app-calendar-page .btn-action:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm-eo)}app-calendar-page .btn-action-success{color:var(--success, #16a34a);border-color:var(--success, #22c55e)}@supports (color: color-mix(in lab,red,red)){app-calendar-page .btn-action-success{border-color:color-mix(in srgb,var(--success, #22c55e) 30%,var(--border))}}app-calendar-page .btn-action-success:hover{background:var(--success, #22c55e);border-color:var(--success, #16a34a)}@supports (color: color-mix(in lab,red,red)){app-calendar-page .btn-action-success:hover{background:color-mix(in srgb,var(--success, #22c55e) 10%,transparent)}}app-calendar-page .btn-action-danger{color:var(--danger, #dc2626);border-color:var(--danger, #ef4444)}@supports (color: color-mix(in lab,red,red)){app-calendar-page .btn-action-danger{border-color:color-mix(in srgb,var(--danger, #ef4444) 30%,var(--border))}}app-calendar-page .btn-action-danger:hover{background:var(--danger, #ef4444);border-color:var(--danger, #dc2626)}@supports (color: color-mix(in lab,red,red)){app-calendar-page .btn-action-danger:hover{background:color-mix(in srgb,var(--danger, #ef4444) 10%,transparent)}}app-calendar-page .btn-action-info{color:var(--brand);border-color:var(--brand)}@supports (color: color-mix(in lab,red,red)){app-calendar-page .btn-action-info{border-color:color-mix(in srgb,var(--brand) 30%,var(--border))}}app-calendar-page .btn-action-info:hover{background:var(--brand-tint);border-color:var(--brand)}app-calendar-page v2-drawer header{padding:10px 16px;min-height:48px;align-items:center}app-calendar-page v2-drawer header h2{font-size:var(--fs-16);line-height:1.3}app-calendar-page v2-drawer .close{width:30px;height:30px}app-calendar-page .calendar-compact-form{--calendar-compact-label: 118px;min-height:100%}app-calendar-page .calendar-compact-form .form-body{padding:10px 16px 8px;gap:8px}app-calendar-page .calendar-compact-form .form-section{display:contents}app-calendar-page .calendar-compact-form .section-head{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}app-calendar-page .calendar-compact-form .grid{gap:8px 10px}app-calendar-page .calendar-compact-form .field{grid-template-columns:var(--calendar-compact-label) minmax(0,1fr);align-items:center;gap:6px 8px}app-calendar-page .calendar-compact-form .field>label{color:var(--brand);font-size:var(--fs-12);line-height:1.25}app-calendar-page .calendar-compact-form .field input,app-calendar-page .calendar-compact-form .field textarea,app-calendar-page .calendar-compact-form .field select{min-height:30px;padding-inline:8px;font-size:var(--fs-13)}app-calendar-page .calendar-compact-form app-searchable-select{--select-trigger-height: 30px;--select-trigger-padding-x: 8px;--select-trigger-font-size: var(--fs-13);--select-trigger-line-height: 1.35;--select-search-height: 30px;--select-option-font-size: var(--fs-13);--select-option-padding-y: 7px}app-calendar-page .calendar-compact-form .field textarea{min-height:44px;max-height:64px;padding-block:6px;line-height:1.35;resize:vertical}app-calendar-page .calendar-compact-form .error,app-calendar-page .calendar-compact-form .selected-list,app-calendar-page .calendar-compact-form .tag-list{grid-column:2}app-calendar-page .calendar-compact-form .checkbox-row{min-height:26px;gap:18px;padding-left:var(--calendar-compact-label)}app-calendar-page .calendar-compact-form .checkbox-field{font-size:var(--fs-12);gap:6px}app-calendar-page .calendar-compact-form .checkbox-field input{width:14px;height:14px}app-calendar-page .calendar-compact-form .participant-row{grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);gap:8px}app-calendar-page .calendar-compact-form .picker-combo{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:6px;align-items:center}app-calendar-page .calendar-compact-form .person-picker-btn{width:30px;height:30px;display:inline-grid;place-items:center;border:1px solid var(--input);border-radius:var(--r-sm);background:var(--surface-subtle);color:var(--brand);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}app-calendar-page .calendar-compact-form .person-picker-btn:hover{border-color:var(--brand);background:var(--brand-tint)}app-calendar-page .calendar-compact-form .selected-list{gap:5px;padding-top:2px}app-calendar-page .calendar-compact-form .chip{min-height:24px;padding:2px 7px;font-size:var(--fs-11)}app-calendar-page .calendar-compact-form .chip-remove{width:18px;height:18px;font-size:var(--fs-15)}app-calendar-page .calendar-compact-form .color-swatches{margin-top:0;gap:6px}app-calendar-page .calendar-compact-form .color-swatch{width:26px;height:26px;border-radius:4px}app-calendar-page .calendar-compact-form .field.mt-2,app-calendar-page .calendar-compact-form .field.mt-3,app-calendar-page .calendar-compact-form .grid.mt-2{margin-top:0!important}app-calendar-page .calendar-compact-form .btn.w-fit{min-height:30px;height:30px;width:fit-content;padding-inline:10px;font-size:var(--fs-12)}app-calendar-page .calendar-compact-form .attached-tag{padding:3px 7px;font-size:var(--fs-11)}app-calendar-page .calendar-compact-form .inline-alert{margin:0 16px 8px;padding:7px 10px}app-calendar-page .calendar-compact-form .form-actions{padding:8px 16px;gap:6px}app-calendar-page .calendar-compact-form .form-actions .btn{min-height:32px;height:32px;padding-inline:12px}@media(max-width:900px){app-calendar-page .calendar-compact-form{--calendar-compact-label: 106px}app-calendar-page .calendar-compact-form .grid{grid-template-columns:1fr}}@media(max-width:720px){app-calendar-page .calendar-compact-form .form-body{padding:10px 12px 8px}app-calendar-page .calendar-compact-form .field{grid-template-columns:1fr}app-calendar-page .calendar-compact-form .error,app-calendar-page .calendar-compact-form .selected-list,app-calendar-page .calendar-compact-form .tag-list{grid-column:1}app-calendar-page .calendar-compact-form .checkbox-row{padding-left:0}app-calendar-page .calendar-compact-form .participant-row{grid-template-columns:1fr}app-calendar-page .calendar-compact-form .form-actions{padding:8px 12px}}app-calendar-page .person-picker{display:flex;flex-direction:column;gap:12px;padding:16px 20px 0;min-height:min(560px,calc(88vh - 94px))}app-calendar-page .person-picker-toolbar{display:grid;grid-template-columns:minmax(150px,230px) minmax(0,1fr);gap:10px;align-items:center}app-calendar-page .person-picker-toolbar app-searchable-select{--select-trigger-height: 34px;--select-trigger-font-size: var(--fs-13);--select-option-font-size: var(--fs-13)}app-calendar-page .person-search{position:relative;display:flex;align-items:center}app-calendar-page .person-search>svg:first-child{position:absolute;left:10px;color:var(--text-tertiary);pointer-events:none}app-calendar-page .person-search input{width:100%;height:34px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--card);padding:0 32px;font:inherit;font-size:var(--fs-13);color:var(--text-primary);transition:border-color .15s ease,box-shadow .15s ease}app-calendar-page .person-search input::placeholder{color:var(--text-tertiary)}app-calendar-page .person-search input:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand)}@supports (color: color-mix(in lab,red,red)){app-calendar-page .person-search input:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}}app-calendar-page .person-search-clear{position:absolute;right:6px;width:22px;height:22px;display:grid;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background-color .12s ease,color .12s ease}app-calendar-page .person-search-clear:hover{background:var(--surface-subtle);color:var(--text-primary)}app-calendar-page .person-selected{display:flex;flex-wrap:wrap;gap:6px;max-height:78px;overflow:auto;padding:8px;border:1px dashed var(--border);border-radius:var(--r-sm);background:var(--surface-subtle)}app-calendar-page .person-chip{display:inline-flex;align-items:center;gap:2px;max-width:240px;padding:2px 4px 2px 10px;border-radius:999px;background:var(--brand-tint);color:var(--brand);font-size:var(--fs-13);font-weight:var(--font-weight-medium, 500)}app-calendar-page .person-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}app-calendar-page .person-chip-remove{flex:0 0 auto;display:grid;place-items:center;width:18px;height:18px;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer;transition:background-color .12s ease}app-calendar-page .person-chip-remove:hover{background:var(--brand)}@supports (color: color-mix(in lab,red,red)){app-calendar-page .person-chip-remove:hover{background:color-mix(in srgb,var(--brand) 20%,transparent)}}app-calendar-page .person-tree{flex:1;min-height:0;max-height:min(420px,calc(88vh - 290px));overflow:auto;padding:2px;font-size:var(--fs-13);color:var(--text-primary)}app-calendar-page .person-group{padding-left:calc(var(--tree-depth, 0) * 16px)}app-calendar-page .person-group-head{display:flex;align-items:center;gap:2px;border-radius:var(--r-sm);transition:background-color .12s ease}app-calendar-page .person-group-head:hover{background:var(--surface-subtle)}app-calendar-page .person-group-head.is-selected{background:var(--brand-tint)}app-calendar-page .person-group-check{flex:0 0 auto;display:flex;align-items:center;padding-left:8px;cursor:pointer}app-calendar-page .person-group-check-spacer{flex:0 0 auto;width:26px}app-calendar-page .person-group-check input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}app-calendar-page .person-group-check.is-checked .person-check,app-calendar-page .person-group-check.is-indeterminate .person-check{background:var(--brand);border-color:var(--brand)}app-calendar-page .person-group-check .person-check svg{opacity:1}app-calendar-page .person-group-title{display:flex;align-items:center;gap:7px;flex:1;min-width:0;min-height:32px;border:0;border-radius:var(--r-sm);background:transparent;padding:0 8px 0 2px;color:var(--text-primary);cursor:pointer;font:inherit;font-weight:var(--font-weight-medium, 500);text-align:left}app-calendar-page .person-group-title:disabled{cursor:default}app-calendar-page .tree-chevron{flex:0 0 auto;color:var(--text-tertiary);transition:transform .15s ease,color .15s ease}app-calendar-page .person-group-title.is-expanded .tree-chevron{transform:rotate(90deg);color:var(--brand)}app-calendar-page .person-group-title:disabled .tree-chevron{opacity:0}app-calendar-page .person-group-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}app-calendar-page .person-group-count{flex:0 0 auto;min-width:22px;height:18px;padding:0 6px;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--text-secondary);font-size:11px;font-weight:var(--font-weight-medium, 500);font-variant-numeric:tabular-nums}app-calendar-page .person-list{display:flex;flex-direction:column;padding-left:30px}app-calendar-page .person-option{display:flex;align-items:center;gap:9px;width:100%;min-height:32px;padding:0 8px;border-radius:var(--r-sm);cursor:pointer;color:var(--text-secondary);transition:background-color .12s ease,color .12s ease}app-calendar-page .person-option:hover{background:var(--surface-subtle);color:var(--text-primary)}app-calendar-page .person-option.is-selected{color:var(--text-primary);font-weight:var(--font-weight-medium, 500)}app-calendar-page .person-option input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}app-calendar-page .person-check{flex:0 0 auto;display:grid;place-items:center;width:18px;height:18px;border:1.5px solid var(--border);border-radius:5px;background:var(--card);color:#fff;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}app-calendar-page .person-check svg{opacity:0;transition:opacity .12s ease}app-calendar-page .person-option input:checked+.person-check{background:var(--brand);border-color:var(--brand)}app-calendar-page .person-option input:checked+.person-check svg{opacity:1}app-calendar-page .person-option input:focus-visible+.person-check{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand)}@supports (color: color-mix(in lab,red,red)){app-calendar-page .person-option input:focus-visible+.person-check{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}}app-calendar-page .person-option-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}app-calendar-page .person-picker-state{display:grid;min-height:180px;place-items:center;padding:24px;text-align:center;color:var(--text-tertiary)}app-calendar-page .person-picker-state.error{color:var(--destructive)}app-calendar-page .person-picker-footer{position:sticky;bottom:0;display:flex;align-items:center;gap:10px;margin:0 -20px;padding:12px 20px;border-top:1px solid var(--border);background:var(--card)}app-calendar-page .person-picker-spacer{flex:1}app-calendar-page .person-picker-count{font-size:var(--fs-13);color:var(--text-secondary)}app-calendar-page .person-picker-count strong{color:var(--text-primary);font-weight:var(--font-weight-heading)}app-calendar-page .person-clear{border:0;background:transparent;color:var(--brand);font:inherit;font-size:var(--fs-13);font-weight:var(--font-weight-medium, 500);cursor:pointer;padding:4px 8px;border-radius:var(--r-sm);transition:background-color .12s ease}app-calendar-page .person-clear:hover{background:var(--brand-tint)}app-calendar-page .person-picker-footer .btn{height:34px;min-height:34px;padding-inline:16px}@media(max-width:720px){app-calendar-page .person-picker{padding:12px 14px 0;min-height:min(480px,calc(88vh - 88px))}app-calendar-page .person-picker-toolbar{grid-template-columns:1fr}app-calendar-page .person-tree{max-height:min(50vh,calc(88vh - 330px))}app-calendar-page .person-picker-footer{margin:0 -14px;padding:12px 14px;flex-wrap:wrap}}@layer components{app-mail-page .compose-form{display:flex;min-height:100%;flex-direction:column}app-mail-page .compose-body{flex:1;min-height:0;overflow:auto;padding:24px 28px;display:grid;align-content:start;gap:20px}app-mail-page .field{display:grid;gap:8px}app-mail-page .field-label{color:var(--text-secondary);font-size:var(--fs-12);font-weight:700;letter-spacing:.03em;text-transform:uppercase}app-mail-page .field input,app-mail-page .field textarea{width:100%;border:1px solid var(--input);border-radius:10px;background:var(--input-background);color:var(--text-primary);font-size:var(--fs-14);outline:0;transition:all .2s cubic-bezier(.4,0,.2,1)}app-mail-page .field input{min-height:42px;padding:0 14px}app-mail-page .field textarea{min-height:200px;resize:vertical;padding:12px 14px;line-height:1.6}app-mail-page .field input:focus,app-mail-page .field textarea:focus,app-mail-page .chip-list:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand);background:var(--card)}@supports (color: color-mix(in lab,red,red)){app-mail-page .field input:focus,app-mail-page .field textarea:focus,app-mail-page .chip-list:focus-within{box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 12%,transparent)}}app-mail-page .field-error{color:var(--destructive);font-size:var(--fs-12);font-weight:700}app-mail-page .field-help{color:var(--text-tertiary);font-size:var(--fs-12)}app-mail-page .recipient-picker{position:relative}app-mail-page .chip-list{min-height:42px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;border:1px solid var(--input);border-radius:10px;background:var(--input-background);padding:6px 10px;transition:all .2s cubic-bezier(.4,0,.2,1)}app-mail-page .chip-list.has-error{border-color:var(--destructive)}app-mail-page .user-chip{min-height:28px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--brand);color:var(--brand);padding:0 10px;font-size:var(--fs-12);font-weight:600;border:1px solid var(--brand);transition:all .15s ease}@supports (color: color-mix(in lab,red,red)){app-mail-page .user-chip{background:color-mix(in srgb,var(--brand) 8%,white)}}@supports (color: color-mix(in lab,red,red)){app-mail-page .user-chip{border:1px solid color-mix(in srgb,var(--brand) 12%,transparent)}}app-mail-page .user-chip:hover{background:var(--brand);border-color:var(--brand)}@supports (color: color-mix(in lab,red,red)){app-mail-page .user-chip:hover{background:color-mix(in srgb,var(--brand) 12%,white)}}@supports (color: color-mix(in lab,red,red)){app-mail-page .user-chip:hover{border-color:color-mix(in srgb,var(--brand) 24%,transparent)}}app-mail-page .chip-remove{width:18px;height:18px;display:inline-grid;place-items:center;border-radius:50%;color:currentColor;cursor:pointer;opacity:.6;transition:all .15s ease}app-mail-page .chip-remove:hover{opacity:1;background:var(--brand)}@supports (color: color-mix(in lab,red,red)){app-mail-page .chip-remove:hover{background:color-mix(in srgb,var(--brand) 12%,transparent)}}app-mail-page .recipient-input{flex:1;min-width:160px;border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;min-height:28px!important}app-mail-page .user-menu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;max-height:260px;overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--card);box-shadow:0 10px 25px -5px #0f172a14,0 8px 10px -6px #0f172a14;padding:6px}app-mail-page .user-option{width:100%;min-height:46px;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;border-radius:8px;padding:6px 12px;text-align:left;cursor:pointer;border:none;background:transparent;transition:background .15s ease}app-mail-page .mini-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:var(--brand);font-size:var(--fs-12);font-weight:700;border:1px solid var(--brand)}@supports (color: color-mix(in lab,red,red)){app-mail-page .mini-avatar{background:color-mix(in srgb,var(--brand) 8%,white)}}@supports (color: color-mix(in lab,red,red)){app-mail-page .mini-avatar{border:1px solid color-mix(in srgb,var(--brand) 12%,transparent)}}app-mail-page .user-name,app-mail-page .user-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}app-mail-page .user-name{color:var(--text-primary);font-size:var(--fs-13);font-weight:750}app-mail-page .user-title{color:var(--text-tertiary);font-size:var(--fs-12)}app-mail-page .editor-shell{border:1px solid var(--input);border-radius:12px;background:var(--input-background);overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1)}app-mail-page .editor-shell.has-error{border-color:var(--destructive)}app-mail-page .editor-shell:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand);background:var(--card)}@supports (color: color-mix(in lab,red,red)){app-mail-page .editor-shell:focus-within{box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 12%,transparent)}}app-mail-page .format-toolbar{min-height:48px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-bottom:1px solid var(--border);background:var(--surface-subtle);padding:8px 12px}app-mail-page .format-select{min-height:32px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text-secondary);padding:0 12px;font-size:var(--fs-13);font-weight:500;outline:0;cursor:pointer;transition:all .15s ease}app-mail-page .format-select:hover{border-color:var(--brand);color:var(--brand)}@supports (color: color-mix(in lab,red,red)){app-mail-page .format-select:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--border))}}app-mail-page .format-button{width:32px;height:32px;display:inline-grid;place-items:center;border-radius:8px;color:var(--text-secondary);cursor:pointer;border:none;background:transparent;transition:all .15s ease}app-mail-page .format-button:hover{background:var(--brand);color:var(--brand)}@supports (color: color-mix(in lab,red,red)){app-mail-page .format-button:hover{background:color-mix(in srgb,var(--brand) 8%,white)}}app-mail-page .format-divider{width:1px;height:18px;background:var(--border)}app-mail-page .rich-editor{min-height:260px;max-height:min(44vh,420px);overflow:auto;border:0;background:transparent;color:var(--text-primary);padding:16px 20px;font-size:var(--fs-15);line-height:1.7;outline:0}app-mail-page .rich-editor:focus{box-shadow:none}app-mail-page .rich-editor:empty:before{content:attr(data-placeholder);color:var(--text-disabled)}app-mail-page .rich-editor :where(p,div){margin:0 0 .85em}app-mail-page .rich-editor :where(h3){margin:.2em 0 .65em;color:var(--text-primary);font-size:var(--fs-18);line-height:1.35;font-weight:var(--font-weight-heading)}app-mail-page .rich-editor :where(ul,ol){margin:.4em 0 .85em;padding-left:1.35rem}app-mail-page .rich-editor :where(blockquote){margin:.45em 0 .9em;border-left:3px solid var(--brand);padding:.15em 0 .15em .8rem;color:var(--text-secondary)}@supports (color: color-mix(in lab,red,red)){app-mail-page .rich-editor :where(blockquote){border-left:3px solid color-mix(in srgb,var(--brand) 32%,var(--border))}}app-mail-page .format-button:hover,app-mail-page .format-select:hover,app-mail-page .chip-remove:hover,app-mail-page .user-option:hover{background:var(--surface-subtle)}app-mail-page .compose-files{display:flex;flex-wrap:wrap;gap:8px}app-mail-page .compose-footer{border-top:1px solid var(--border);padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--card)}app-mail-page .compose-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}@media(max-width:1180px){app-mail-page .rich-editor{min-height:320px;max-height:52vh;font-size:var(--fs-15)}app-mail-page .format-button{width:38px;height:38px}}@media(max-width:760px){app-mail-page .compose-body{padding:16px;gap:16px}app-mail-page .compose-footer{padding:16px;align-items:stretch;flex-direction:column}app-mail-page .compose-footer-actions{justify-content:stretch}app-mail-page .compose-footer-actions .btn{flex:1}}}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@property --tw-backdrop-blur{syntax: "*"; inherits: false;}@property --tw-backdrop-brightness{syntax: "*"; inherits: false;}@property --tw-backdrop-contrast{syntax: "*"; inherits: false;}@property --tw-backdrop-grayscale{syntax: "*"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: "*"; inherits: false;}@property --tw-backdrop-invert{syntax: "*"; inherits: false;}@property --tw-backdrop-opacity{syntax: "*"; inherits: false;}@property --tw-backdrop-saturate{syntax: "*"; inherits: false;}@property --tw-backdrop-sepia{syntax: "*"; inherits: false;}@property --tw-ease{syntax: "*"; inherits: false;}@keyframes spin{to{transform:rotate(360deg)}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-border-style: solid;--tw-font-weight: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-outline-style: solid;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-ease: initial;--tw-animation-delay: 0s;--tw-animation-direction: normal;--tw-animation-duration: initial;--tw-animation-fill-mode: none;--tw-animation-iteration-count: 1;--tw-enter-blur: 0;--tw-enter-opacity: 1;--tw-enter-rotate: 0;--tw-enter-scale: 1;--tw-enter-translate-x: 0;--tw-enter-translate-y: 0;--tw-exit-blur: 0;--tw-exit-opacity: 1;--tw-exit-rotate: 0;--tw-exit-scale: 1;--tw-exit-translate-x: 0;--tw-exit-translate-y: 0}}}
