/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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}}}@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;--spacing:.25rem;--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{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;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;-webkit-text-decoration:inherit;-webkit-text-decoration: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{vertical-align:baseline;font-size:75%;line-height:0;position:relative}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}: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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.\!end{inset-inline-end:var(--spacing)!important}.-end{inset-inline-end:calc(var(--spacing) * -1)}.end{inset-inline-end:var(--spacing)}.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}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-0{width:calc(var(--spacing) * 0);height:calc(var(--spacing) * 0)}.size-1{width:calc(var(--spacing) * 1);height:calc(var(--spacing) * 1)}.h-5{height:calc(var(--spacing) * 5)}.h-min{height:min-content}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.grayscale{--tw-grayscale:grayscale(100%);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,)}.invert{--tw-invert:invert(100%);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,)}.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,)}.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))}.select-all{-webkit-user-select:all;user-select:all}}*{box-sizing:border-box}html,body{background:var(--cream);min-height:100%;color:var(--ink);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.muted{color:var(--muted)}.eyebrow{letter-spacing:.18em;color:var(--wine);font-size:.72rem;font-weight:800}html,body,button,input,select,textarea{font-synthesis:none;font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,Helvetica Neue,Arial,sans-serif}h1,h2,h3,h4,h5,h6,.logo-mark,.side-brand b,.metric-grid article>b,.report-head>b{font-family:inherit!important}.brand-logo-main{border-radius:16px;width:min(220px,52vw);height:auto;display:block;box-shadow:0 16px 45px #1f100c38}.brand-logo-side{object-fit:cover;border-radius:12px;flex:none;width:54px;height:54px}.login-shell{grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.brand-panel{background:linear-gradient(145deg,#4f1d14 0%,var(--wine) 62%,#a94d33 100%);color:#fff;flex-direction:column;justify-content:center;padding:9vw;display:flex;position:relative;overflow:hidden}.logo-mark{letter-spacing:.04em;border:2px solid #ffffffa6;place-items:center;width:72px;height:72px;font-family:Georgia,serif;font-size:1.75rem;font-weight:700;display:grid}.brand-panel .eyebrow{color:#edc878;margin:28px 0 12px}.brand-panel h1{max-width:800px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.7rem,5vw,5.5rem);line-height:1.08}.brand-panel h1 span{color:#e9c478}.brand-panel>p:last-of-type{color:#f3e7e0;letter-spacing:.015em;max-width:620px;margin:28px 0 0;font-size:1.05rem;line-height:1.6}.brand-lines{gap:22px;display:grid;position:absolute;bottom:80px;right:-60px;transform:rotate(-20deg)}.brand-lines i{background:#ffffff29;width:380px;height:1px;display:block}.login-panel{background:var(--paper);place-items:center;padding:40px;display:grid}.login-card{width:min(100%,440px)}.login-card h2{margin:8px 0;font-family:Georgia,serif;font-size:2.25rem}.login-card label,.modal-form label{gap:8px;margin-top:22px;font-size:.86rem;font-weight:700;display:grid}.login-card input,.modal-form input,.modal-form select,.search{border:1px solid var(--line);background:#fff;border-radius:12px;outline:none;width:100%;padding:14px 16px}.login-card input:focus,.modal-form input:focus,.modal-form select:focus,.search:focus{border-color:var(--wine);box-shadow:0 0 0 3px #7e2f201a}.primary,.secondary,.danger{border:0;border-radius:12px;padding:12px 18px;font-weight:800}.primary{background:var(--wine);color:#fff}.wide{justify-content:center;gap:10px;width:100%;margin-top:24px;display:flex}.form-error{color:#a42424;background:#fff0ee;border-radius:10px;padding:10px 12px;font-size:.85rem}.demo-accounts{border-top:1px solid var(--line);gap:7px;margin-top:24px;padding-top:18px;display:grid}.demo-accounts>strong{font-size:.82rem}.demo-accounts button{color:var(--muted);background:#f8f3ed;border:0;border-radius:9px;justify-content:space-between;padding:8px 10px;display:flex}.demo-accounts button:hover{color:var(--wine);background:#efe2d5}.demo-accounts small{color:var(--muted)}.login-card .remember-login{color:var(--muted);cursor:pointer;align-items:center;gap:10px;margin-top:14px;font-weight:650;display:flex}.login-card .remember-login input{width:18px;height:18px;accent-color:var(--wine);box-shadow:none;margin:0;padding:0}.app-shell{background:#f3ede5;min-height:100vh;display:flex}.sidebar{color:#fff;z-index:20;background:#2f211c;flex-direction:column;width:250px;padding:26px 18px;display:flex;position:fixed;inset:0 auto 0 0}.side-brand{align-items:center;gap:12px;padding:0 8px 28px;display:flex}.logo-mark.small{width:48px;height:48px;font-size:1.1rem}.side-brand span,.side-user span{display:grid}.side-brand b{font-family:Georgia,serif;font-size:1.25rem}.sidebar nav{gap:7px;display:grid}.sidebar nav button{color:#d8cbc5;text-align:left;background:0 0;border:0;border-radius:12px;padding:13px 14px;font-weight:700}.sidebar nav button span{width:30px;display:inline-block}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#72402f}.side-user{border-top:1px solid #ffffff1f;align-items:center;gap:10px;margin-top:auto;padding:18px 6px 0;display:flex}.side-user>button{color:#fff;background:0 0;border:0;margin-left:auto;font-size:1.1rem}.avatar{background:var(--gold);color:#2f211c;border:0;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.workspace{width:calc(100% - 250px);min-height:100vh;margin-left:250px}.workspace>header{border-bottom:1px solid var(--line);z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf9eb;justify-content:space-between;align-items:center;height:92px;padding:0 clamp(22px,4vw,58px);display:flex;position:sticky;top:0}.workspace>header h1{margin:2px 0 0;font-family:Georgia,serif;font-size:1.6rem}.date{color:var(--muted);margin:0;font-size:.75rem}.header-actions{align-items:center;gap:10px;display:flex}.role-chip{color:var(--wine);background:#fff8f3;border:1px solid #d7bcae;border-radius:999px;padding:7px 12px;font-size:.75rem;font-weight:800}.icon-button{border:1px solid var(--line);background:#fff;border-radius:50%;width:42px;height:42px;font-size:1.3rem;position:relative}.icon-button b{background:var(--wine);color:#fff;border-radius:20px;padding:2px 5px;font-size:.61rem;position:absolute;top:-3px;right:-1px}.avatar.mobile{display:none}.notice-panel{border:1px solid var(--line);box-shadow:var(--shadow);z-index:40;background:#fff;border-radius:14px;width:300px;padding:18px;position:fixed;top:82px;right:30px}.notice-panel p{border-bottom:1px solid var(--line);margin:0;padding:10px 0;font-size:.83rem}.content{max-width:1500px;margin:auto;padding:34px clamp(22px,4vw,58px) 100px}.hero-row{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.hero-row h2{margin:4px 0;font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.8rem)}.progress-ring{border:9px solid #eadfd6;border-top-color:var(--wine);text-align:center;background:#fff;border-radius:50%;place-content:center;width:104px;height:104px;display:grid}.progress-ring b{font-size:1.25rem}.progress-ring small{color:var(--muted);font-size:.65rem}.metric-grid{grid-template-columns:repeat(3,1fr) 1.7fr;gap:14px;margin-bottom:34px;display:grid}.metric-grid article{background:var(--paper);border:1px solid var(--line);border-radius:16px;gap:5px;padding:20px;display:grid;box-shadow:0 5px 18px #3a20160a}.metric-grid article>span{color:var(--wine)}.metric-grid article>b{font-family:Georgia,serif;font-size:1.8rem}.metric-grid article small{color:var(--muted)}.metric-grid .attendance{align-items:center;gap:12px;display:flex}.attendance>span{color:#b1aaa5}.attendance>span.online{color:#30966a}.attendance div{margin-right:auto;display:grid}.attendance button{background:var(--wine);color:#fff;border:0;border-radius:10px;padding:10px}.section-title,.toolbar{justify-content:space-between;align-items:end;gap:20px;margin:30px 0 14px;display:flex}.section-title h2,.toolbar h2{margin:0;font-family:Georgia,serif;font-size:1.45rem}.section-title button{color:var(--wine);background:0 0;border:0;font-weight:800}.toolbar p{margin:4px 0}.toolbar .search{max-width:320px}.project-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.project-grid.full{grid-template-columns:repeat(2,1fr)}.project-card{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:16px;padding:20px;transition:all .2s;box-shadow:0 5px 18px #3a20160a}.project-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.project-card>div:first-child{justify-content:space-between;display:flex}.project-card small{color:var(--muted);font-weight:800}.project-card em{color:var(--wine);background:#efe5d8;border-radius:99px;padding:4px 8px;font-size:.68rem;font-style:normal;font-weight:800}.project-card h3{margin:16px 0 6px;font-family:Georgia,serif;font-size:1.2rem}.project-card p{color:var(--muted);font-size:.85rem}.project-card>span{color:var(--muted);justify-content:space-between;margin-top:10px;font-size:.75rem;display:flex}.project-card>span b{color:var(--wine)}.progress{background:#eadfd6;border-radius:99px;height:20px;position:relative;overflow:hidden}.progress i{background:linear-gradient(90deg,var(--wine),var(--gold));height:100%;display:block}.progress span{color:#fff;text-shadow:0 1px 4px #000;font-size:.66rem;font-weight:900;position:absolute;top:2px;right:7px}.task-list{gap:10px;display:grid}.task-row{background:var(--paper);border:1px solid var(--line);border-radius:14px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:15px 18px;display:grid}.status-dot{color:#fff;background:#ece5df;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.s-Hoànthành{background:var(--green)!important}.s-Đanglàm{background:var(--gold)!important;color:#3d291d!important}.task-row h3{margin:0;font-size:.94rem}.task-row p{color:var(--muted);margin:4px 0 0;font-size:.78rem}.task-row em{color:var(--wine);font-size:.75rem;font-style:normal;font-weight:700}.status-pill{color:var(--muted);background:#eee8e3;border:0;border-radius:99px;padding:7px 10px;font-size:.7rem;font-weight:800}.people-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.people-grid article{background:var(--paper);border:1px solid var(--line);border-radius:14px;align-items:center;gap:13px;padding:15px;display:flex;position:relative}.avatar.warm{color:var(--wine);background:#ead8c7}.people-grid h3{margin:0;font-size:.91rem}.people-grid p{color:var(--muted);margin:3px 0;font-size:.75rem}.people-grid a{color:var(--wine);font-size:.75rem;text-decoration:none}.online-dot{background:#36a06e;border-radius:50%;width:8px;height:8px;position:absolute;right:14px}.account-page{background:var(--paper);border:1px solid var(--line);text-align:center;border-radius:22px;max-width:520px;margin:30px auto;padding:32px}.avatar.huge{width:84px;height:84px;margin:auto;font-size:1.4rem}.account-page h2{margin:14px 0 8px;font-family:Georgia,serif;font-size:2rem}.account-card{text-align:left;border-top:1px solid var(--line);margin:26px 0;display:grid}.account-card span{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:15px 0;font-size:.84rem;display:flex}.account-card b{color:var(--ink)}.secondary,.danger{width:100%;margin-top:10px}.danger{color:#a42424;background:#fff0ee}.bottom-nav{display:none}.modal-backdrop{z-index:100;background:#1e120d8c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);width:min(560px,100%);max-height:90vh;box-shadow:var(--shadow);border-radius:20px;padding:24px;overflow:auto}.modal>header{justify-content:space-between;align-items:center;display:flex}.modal>header h2{margin:0;font-family:Georgia,serif}.modal>header button{background:#eee4dc;border:0;border-radius:50%;width:34px;height:34px;font-size:1.3rem}.detail-grid{grid-template-columns:1fr 1fr;gap:12px;margin:22px 0;display:grid}.detail-grid span{color:var(--muted);background:#f6f0e8;border-radius:10px;gap:5px;padding:13px;font-size:.75rem;display:grid}.detail-grid b{color:var(--ink)}@media (width<=900px){.login-shell{grid-template-columns:1fr}.brand-panel{min-height:36vh;padding:44px 28px}.brand-panel h1{font-size:2.8rem}.brand-panel>p:last-of-type{font-size:.9rem}.logo-mark{width:56px;height:56px}.login-panel{padding:34px 22px}.sidebar{display:none}.workspace{width:100%;margin:0}.workspace>header{height:74px;padding:0 18px}.workspace>header h1{font-size:1.25rem}.role-chip{display:none}.avatar.mobile{display:grid}.content{padding:22px 16px 95px}.hero-row{align-items:flex-start}.hero-row h2{font-size:1.75rem}.hero-row .muted{display:none}.progress-ring{border-width:7px;width:78px;height:78px}.progress-ring b{font-size:1rem}.metric-grid{grid-template-columns:repeat(3,1fr)}.metric-grid article{padding:14px}.metric-grid article>b{font-size:1.35rem}.metric-grid article small{font-size:.66rem}.metric-grid .attendance{grid-column:1/-1}.project-grid,.project-grid.full{grid-template-columns:1fr}.project-grid .project-card:nth-child(n+3){display:none}.task-row{grid-template-columns:auto 1fr auto;padding:13px}.task-row em{display:none}.task-row .status-pill{grid-column:2/4;width:max-content}.people-grid{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:flex-start;margin-top:6px}.toolbar .search{max-width:none}.bottom-nav{z-index:30;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf9f5;justify-content:space-around;height:70px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:var(--muted);background:0 0;border:0;flex:1;place-content:center;gap:2px;display:grid}.bottom-nav button span{font-size:1.2rem}.bottom-nav button small{font-size:.64rem}.bottom-nav button.active{color:var(--wine)}.notice-panel{width:calc(100% - 24px);top:68px;right:12px}.detail-grid{grid-template-columns:1fr}.section-title{margin-top:26px}.compact .task-row:nth-child(n+3){display:none}}@media (width<=420px){.brand-panel{min-height:32vh;padding:30px 22px}.brand-panel h1{font-size:2.2rem}.brand-panel>p:last-of-type{display:none}.brand-panel .eyebrow{margin:16px 0 8px}.login-card h2{font-size:1.8rem}.metric-grid article small{min-height:26px}.project-card{padding:17px}}.project-card .project-task-count{color:var(--wine);background:#f7eee7;border-radius:9px;align-items:center;gap:6px;margin:10px 0;padding:7px 9px;display:flex}.bell-button{font-size:1.05rem;line-height:1}.notice-heading{gap:10px;display:grid}.enable-notifications{background:var(--wine);color:#fff;text-align:center;border:0;border-radius:9px;padding:9px 11px;font-weight:800}.notification-help{color:#a42424;margin-top:8px;line-height:1.4;display:block}.push-active{color:#2f713e;background:#edf8ef;border-radius:8px;margin-top:8px;padding:8px 10px;font-weight:800;display:block}@supports (padding:max(0px)){.bottom-nav{height:calc(70px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.login-panel{padding-bottom:max(34px, env(safe-area-inset-bottom))}.workspace>header{padding-top:env(safe-area-inset-top);height:calc(74px + env(safe-area-inset-top))}}@media (width<=900px){.bottom-nav{overscroll-behavior-x:contain;scrollbar-width:none;justify-content:flex-start;overflow-x:auto}.bottom-nav::-webkit-scrollbar{display:none}.bottom-nav button{flex:0 0 76px}.bottom-nav button small{white-space:nowrap}.bottom-nav button.active{background:#f6eee8}}.attendance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.attendance-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;grid-template-columns:150px 1fr;gap:16px;padding:14px;display:grid;overflow:hidden}.attendance-card img,.attendance-no-photo{object-fit:cover;background:#eee4dc;border-radius:12px;width:150px;height:150px}.attendance-no-photo{color:var(--muted);place-items:center;font-size:.75rem;display:grid}.attendance-card h3{margin:12px 0 5px}.attendance-card p{color:var(--muted);margin:4px 0;font-size:.78rem}.attendance-card .coordinates{color:var(--ink);font-family:monospace}.map-link{color:var(--wine);margin-top:9px;font-size:.78rem;font-weight:800;text-decoration:none;display:inline-block}.workshop-map{color:var(--wine);margin-top:3px;font-size:.72rem;font-weight:800;text-decoration:none}.metric-grid .metric-card{border:1px solid var(--line);background:var(--paper);text-align:left;color:var(--ink);border-radius:16px;gap:5px;padding:20px;transition:transform .2s,box-shadow .2s,border-color .2s;display:grid;box-shadow:0 5px 18px #3a20160a}.metric-grid .metric-card:hover,.metric-grid .metric-card:focus-visible{box-shadow:var(--shadow);border-color:#d7bcae;outline:none;transform:translateY(-2px)}.metric-grid .metric-card>span{color:var(--wine)}.metric-grid .metric-card>b{font-size:1.8rem;font-weight:850}.metric-grid .metric-card small{color:var(--muted);line-height:1.4}.metric-grid .metric-icon{background:#f3e9e3;border:1px solid #ead6ca;border-radius:11px;place-items:center;width:38px;height:38px;font-size:1.22rem;line-height:1;display:grid;box-shadow:inset 0 1px #ffffffbf}.metric-grid .metric-work .metric-icon{background:#fff0e8;border-color:#edcbbb}.metric-grid .metric-deadline .metric-icon{background:#fff5d9;border-color:#ead89f}.metric-grid .metric-people .metric-icon{background:#e8f1ef;border-color:#c9ded8}.task-row.task-reminder{background:#fffaf0;border-color:#e5a344;box-shadow:0 8px 22px #c277141f}.priority{vertical-align:middle;color:#586671;background:#eef1f4;border-radius:99px;margin-left:7px;padding:3px 7px;font-size:.62rem;font-weight:850;display:inline-flex}.priority-Khẩncấp{color:#a51d1d;background:#fee2e2}.priority-Cao{color:#a44b0b;background:#ffedd5}.priority-Thấp{color:#267047;background:#e7f4ea}.reminder-label{color:#a85b08;margin-top:7px;font-weight:850;display:block}.notice-panel .secondary{width:auto;margin-top:7px;padding:7px 10px}.notice-panel p.notice-unread{border-left:3px solid var(--gold);background:#fff9ef;margin:0 -8px;padding:10px 8px}.notice-panel p.notice-read{opacity:.62}.notice-panel p.notice-read>small{float:right;color:var(--muted);background:#eee8e2;border-radius:99px;padding:2px 6px;font-size:.62rem}.notice-panel p.notice-unread>small{display:none}.task-assignment{color:#65727c;margin-top:6px;display:block}.team-picker{border:1px solid #d8dee3;border-radius:15px;margin:0;padding:14px}.team-picker legend{padding:0 6px;font-weight:800}.team-picker>small{color:#74808a;margin-bottom:10px;display:block}.team-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:210px;display:grid;overflow:auto}.team-picker label{cursor:pointer;border:1px solid #e1e5e8;border-radius:10px;align-items:center;gap:8px;padding:9px 10px;display:flex}.team-picker label.selected{background:#fff3ef;border-color:#b3402d}.team-picker input{width:auto;margin:0}.team-picker p{color:#59656e;margin:10px 0 0}@media (width<=600px){.team-picker>div{grid-template-columns:1fr}}.task-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:9px;display:flex}.task-toolbar label{gap:4px;font-size:.68rem;font-weight:800;display:grid}.task-toolbar select{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:190px;padding:10px}.assignment-open{width:100%;margin:12px 0}.assignment-editor{border:1px solid var(--line);background:#f7f9fa;border-radius:14px;gap:12px;margin:14px 0;padding:14px;display:grid}.assignment-editor>header{justify-content:space-between;align-items:center;display:flex}.assignment-editor>header button{background:0 0;border:0;font-size:1.2rem}.crew-groups{grid-template-columns:1fr 1fr;gap:9px;display:grid}.crew-groups .select-all{min-height:32px;margin:0 0 8px;padding:6px 9px}.assignment-editor+.progress{margin-top:12px}.people-groups{gap:24px;display:grid}.people-group>h3{color:var(--wine);border-bottom:2px solid #eadfd6;justify-content:space-between;align-items:center;margin:0 0 10px;padding-bottom:9px;font-size:1rem;display:flex}.people-group>h3 span{color:var(--muted);font-size:.72rem;font-weight:700}.person-filter{gap:5px;font-size:.72rem;font-weight:800;display:grid}.person-filter select,.suite-month select{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:200px;padding:9px}.project-manager-filter{gap:4px;font-size:.68rem;font-weight:800;display:grid}.project-manager-filter select{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:190px;padding:11px}.assignment-rule{background:#fff8f2;border:1px solid #e2c9b9;border-radius:12px;gap:4px;padding:13px 14px;display:grid}.assignment-rule small{color:var(--muted);font-weight:800}.assignment-rule b{color:var(--wine)}.assignment-rule span{color:var(--muted);font-size:.75rem}.task-creator{color:#77838c;margin-top:4px;font-size:.68rem;display:block}.project-task-filters{border:1px solid var(--line);background:#f8f4ef;border-radius:12px;grid-template-columns:1.3fr repeat(3,1fr);gap:8px;margin:0 0 13px;padding:12px;display:grid}.project-task-filters label{gap:4px;font-size:.68rem;font-weight:800;display:grid}.project-task-filters input,.project-task-filters select{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;min-width:0;padding:9px}@media (width<=700px){.task-toolbar{width:100%;display:grid}.task-toolbar select{width:100%}.crew-groups{grid-template-columns:1fr}.project-task-filters{grid-template-columns:1fr 1fr}.project-task-filters label:first-child{grid-column:1/-1}}.task-section>h3{color:#59656e;align-items:center;gap:8px;margin:0 0 10px;font-size:.9rem;display:flex}.task-section>h3 b,.completed-tasks summary b{color:#34434f;background:#e9edf0;border-radius:99px;padding:3px 8px}.task-actions{align-items:center;gap:7px;display:flex}.delete-task{color:#942b24;white-space:nowrap;background:#fff1ef;border:1px solid #dfaaa5;border-radius:9px;padding:8px 11px;font-weight:850}.delete-task:hover{color:#fff;background:#942b24}.completed-tasks{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.completed-tasks summary{cursor:pointer;color:#59656e;margin-bottom:10px;font-weight:850}.completed-tasks .task-row{opacity:.78;padding-top:11px;padding-bottom:11px}.empty-task{text-align:center;color:#4d7360;background:#f7faf8;border:1px dashed #b9d5c6;border-radius:12px;padding:20px}@media (width<=900px){.task-row{grid-template-columns:auto 1fr}.task-actions{grid-column:2;justify-content:flex-start}.task-assignment{line-height:1.45}.priority{margin:5px 0 0;display:table}}.project-toolbar,.project-detail-actions{align-items:center;gap:9px;display:flex}.project-detail-actions{margin-top:18px}.project-detail-actions .secondary,.project-detail-actions .danger{width:auto;margin:0}.project-card.closed{opacity:.68;filter:saturate(.55)}@media (width<=700px){.project-toolbar{width:100%;display:grid}.project-toolbar .search{width:100%}.project-detail-actions{grid-template-columns:1fr 1fr;display:grid}.project-detail-actions .primary{grid-column:1/-1}}.view-switcher{border:1px solid var(--line);background:#eef1f3;border-radius:11px;gap:4px;width:max-content;margin:0 0 14px;padding:4px;display:flex}.view-switcher button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:8px 12px;font-weight:800}.view-switcher button.active{color:var(--wine);background:#fff;box-shadow:0 3px 10px #1827331a}.project-table-wrap{border:1px solid var(--line);background:#fff;border-radius:14px;overflow-x:auto}.project-table{border-collapse:collapse;width:100%;min-width:850px}.project-table th,.project-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:13px;font-size:.76rem}.project-table th{color:#59656e;background:#f3f5f6}.project-table tbody tr:hover{background:#fff9f5}.project-table td small{color:var(--muted);max-width:220px;margin-top:4px;display:block}.table-progress{width:150px}.table-open,.delivery-action button{color:var(--wine);white-space:nowrap;background:0 0;border:0;font-weight:850}.delivery-state{color:#59656e;background:#edf1f3;border-radius:99px;margin-top:5px;padding:4px 7px;font-size:.62rem;font-weight:850;display:table}.delivery-state.soon{color:#915d00;background:#fff0d7}.delivery-state.late{color:#a2251f;background:#fee6e3}.delivery-state.done{color:#197149;background:#e1f4e9}.delivery-timeline{gap:10px;display:grid;position:relative}.delivery-timeline:before{content:"";background:#d9c5b7;width:2px;position:absolute;top:8px;bottom:8px;left:50px}.delivery-timeline article{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:102px 1fr auto;align-items:center;gap:16px;padding:15px;display:grid;position:relative}.delivery-date{z-index:1;text-align:center;background:var(--wine);color:#fff;border-radius:10px;width:76px;padding:9px 5px}.delivery-date b,.delivery-date small{display:block}.delivery-date small{opacity:.8;font-size:.65rem}.delivery-timeline h3{margin:4px 0;font-size:.92rem}.delivery-timeline p{color:var(--muted);margin:0 0 8px;font-size:.72rem}.delivery-action{justify-items:end;gap:7px;display:grid}.delivery-action .delivery-state{margin:0}.project-order{width:54px;color:var(--muted);font-weight:850}.project-table td:nth-child(2) b{min-width:68px;color:var(--wine);letter-spacing:.02em;display:inline-block}@media (width<=700px){.view-switcher{width:100%}.view-switcher button{flex:1;padding:8px 5px}.delivery-timeline:before{left:35px}.delivery-timeline article{grid-template-columns:70px 1fr;gap:10px;padding:11px}.delivery-date{width:56px}.delivery-action{grid-column:2;justify-content:space-between;align-items:center;display:flex}.delivery-action button{font-size:.7rem}}@media (width<=900px){.attendance-grid{grid-template-columns:1fr}.attendance-card{grid-template-columns:108px 1fr}.attendance-card img,.attendance-no-photo{width:108px;height:128px}.attendance-card .role-chip{display:inline-block}.attendance-card h3{margin-top:8px}}.project-files{border-top:1px solid var(--line);margin-top:26px}.project-upload{background:#f6f0e8;border-radius:14px;grid-template-columns:1.4fr 1fr;gap:10px;padding:14px;display:grid}.project-upload input,.project-upload select{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0;padding:11px}.project-upload button{margin:0}.project-upload small{color:var(--wine);grid-column:1/-1}.file-list{gap:10px;margin-top:14px;display:grid}.file-list>article{border:1px solid var(--line);border-radius:12px;grid-template-columns:70px 1fr auto;align-items:center;gap:12px;padding:10px;display:grid}.file-list img,.file-icon{object-fit:cover;background:#eee4dc;border-radius:9px;width:70px;height:70px}.file-icon{color:var(--wine);place-items:center;font-size:1.8rem;display:grid}.file-list b{overflow-wrap:anywhere;font-size:.82rem}.file-list p,.file-list small{color:var(--muted);margin:3px 0;font-size:.7rem;display:block}.file-actions{gap:6px;display:grid}.file-actions .secondary,.file-actions .danger{text-align:center;width:auto;margin:0;padding:8px 10px;font-size:.7rem;text-decoration:none}.modal:has(.project-files){width:min(820px,100%)}@media (width<=700px){.project-upload{grid-template-columns:1fr}.file-list>article{grid-template-columns:58px 1fr}.file-list img,.file-icon{width:58px;height:64px}.file-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}}.daily-report-form{background:var(--paper);border:1px solid var(--line);border-radius:18px;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px;padding:20px;display:grid}.daily-report-form label{gap:7px;font-size:.8rem;font-weight:800;display:grid}.daily-report-form .full{grid-column:1/-1}.daily-report-form input,.daily-report-form select,.daily-report-form textarea{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:11px}.daily-report-form textarea{resize:vertical;min-height:90px}.daily-report-form small{color:var(--wine);align-self:center}.report-list{gap:12px;display:grid}.report-list>article{background:var(--paper);border:1px solid var(--line);border-radius:16px;grid-template-columns:auto 1fr;gap:16px;padding:15px;display:grid}.report-list img{object-fit:cover;border-radius:12px;width:140px;height:140px}.report-head{justify-content:space-between;align-items:center;display:flex}.report-head>b{color:var(--wine);font-family:Georgia,serif;font-size:1.3rem}.report-list h3{margin:10px 0}.report-list p{margin:6px 0;font-size:.82rem;line-height:1.5}.report-list small{color:var(--muted)}@media (width<=700px){.daily-report-form{grid-template-columns:1fr}.daily-report-form .full{grid-column:auto}.report-list>article{grid-template-columns:1fr}.report-list img{width:100%;height:190px}}.report-list>article.unread-report{background:#fffaf0;border-color:#d89c35;box-shadow:0 8px 24px #c2771421}.hr-panel{border-top:1px solid var(--line);margin-top:34px}.export-link{text-decoration:none}.leave-form{background:var(--paper);border:1px solid var(--line);border-radius:14px;grid-template-columns:1.1fr 1fr 1fr 1.5fr auto;gap:9px;padding:14px;display:grid}.leave-form input,.leave-form select,.month-filter input{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:0;padding:10px}.leave-form small{color:var(--wine);grid-column:1/-1}.leave-list{gap:8px;margin-top:14px;display:grid}.leave-list article{background:var(--paper);border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px;display:grid}.leave-list p{color:var(--muted);margin:4px 0 0;font-size:.75rem}.leave-list>article>span{color:var(--wine);font-size:.75rem;font-weight:800}.leave-list article>div:last-child{gap:6px;display:flex}.leave-list button{width:auto;margin:0;padding:8px 10px}.month-filter{margin:20px 0 10px}.month-filter label{font-size:.8rem;font-weight:800}.summary-table{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:auto}.summary-table table{border-collapse:collapse;width:100%;min-width:650px}.summary-table th,.summary-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px;font-size:.78rem}.summary-table th{color:var(--wine);background:#f1e7de}@media (width<=800px){.leave-form{grid-template-columns:1fr 1fr}.leave-form input:nth-of-type(3),.leave-form button{grid-column:1/-1}.leave-list article{grid-template-columns:1fr auto}.leave-list article>div:last-child{grid-column:1/-1}}.profile-photo{object-fit:cover}.access-controls{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.access-controls select{border:1px solid var(--line);border-radius:8px;max-width:145px;padding:7px}.access-controls button{width:auto;margin:0;padding:7px 9px;font-size:.68rem}.offline-dot{background:#aaa;border-radius:50%;width:8px;height:8px;position:absolute;right:14px}.profile-form{text-align:left;gap:12px;margin-top:22px;display:grid}.profile-form label{gap:6px;font-size:.8rem;font-weight:800;display:grid}.profile-form input{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:11px}.profile-form small{color:var(--wine);text-align:center}.form-notice{color:#176a47;background:#e7f6ee;border:1px solid #b9dfcc;border-radius:10px;padding:10px 12px}.employee-form .muted{margin:10px 0;display:block}html{scroll-behavior:smooth}button,a,input,select,textarea{transition:border-color .18s,box-shadow .18s,background .18s,transform .18s,opacity .18s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #d89c3561}.primary,.secondary,.danger{width:auto;min-height:42px;box-shadow:none;border-radius:10px;padding:10px 16px;font-weight:800}.primary{background:linear-gradient(135deg,var(--wine),#a54432);color:#fff;box-shadow:0 6px 16px #8b2f2333}.primary:hover{background:linear-gradient(135deg,#77271d,var(--wine2));transform:translateY(-1px);box-shadow:0 9px 20px #8b2f2340}.secondary{color:#394653;background:#fff;border:1px solid #ccd4db}.secondary:hover{background:#f2f5f7;border-color:#9eabb6}.danger{color:#b12c27;background:#fff3f2;border:1px solid #f0c7c4}.danger:hover{color:#fff;background:#b8322d;border-color:#b8322d}.account-page>.secondary,.account-page>.danger,.wide{width:100%}.sidebar{background:linear-gradient(#202b34 0%,#172028 100%);padding:24px 16px;box-shadow:8px 0 28px #121d261c}.sidebar nav{gap:5px}.sidebar nav button{color:#cbd3d9;border-radius:10px;min-height:46px;font-size:.86rem;position:relative}.sidebar nav button:hover{color:#fff;background:#2b3842}.sidebar nav button.active:before{content:"";background:#f3bb52;border-radius:4px;width:3px;position:absolute;top:10px;bottom:10px;left:0}.side-brand{border-bottom:1px solid #ffffff17;margin-bottom:16px;padding-bottom:20px}.side-user{background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;margin-top:auto;padding:12px}.logo-mark.small{background:linear-gradient(145deg,#a74835,#74261d);border:1px solid #ffffff59;border-radius:10px}.workspace>header{background:#ffffffe8;border-bottom:1px solid #e3e7ea;height:82px;box-shadow:0 5px 22px #1b2a360d}.workspace>header h1{letter-spacing:-.03em;font-family:Inter,Segoe UI,sans-serif;font-weight:850}.content{padding-top:28px}.icon-button{border-color:#d8dfe4;box-shadow:0 4px 12px #1d2b3612}.role-chip{color:#843326;background:#fff6ee;border-color:#e7c6af;font-weight:850}.notice-panel{border:0;border-radius:14px;box-shadow:0 22px 60px #111e2833}.metric-grid article,.project-card,.task-row,.people-grid article,.attendance-card,.report-list>article,.summary-table,.account-page{border-color:#e0e5e9;box-shadow:0 7px 22px #1827330e}.metric-grid article:hover,.project-card:hover,.people-grid article:hover{transform:translateY(-2px);box-shadow:0 13px 30px #1827331a}.metric-grid article>b{font-family:Inter,Segoe UI,sans-serif;font-weight:850}.project-card{border-radius:14px}.project-card h3,.section-title h2,.toolbar h2{letter-spacing:-.025em;font-family:Inter,Segoe UI,sans-serif;font-weight:850}.progress{background:#e8ecef;height:14px}.task-row{border-radius:12px}.status-pill{color:#475560;background:#f5f7f8;border:1px solid #d5dce1;min-height:34px}.s-Chưalàm{color:#586671!important;background:#eef1f4!important}.s-Đanglàm{color:#8a5b07!important;background:#fff1d7!important}.s-Chờnghiệmthu{color:#245f9e!important;background:#e8f1ff!important}.s-Hoànthành{color:#177249!important;background:#dff5e9!important}.login-card{background:#fff;border:1px solid #e0e5e9;border-radius:20px;padding:30px;box-shadow:0 24px 70px #18273321}.login-card h2{letter-spacing:-.035em;font-family:Inter,Segoe UI,sans-serif;font-weight:850}.login-card input,.modal-form input,.modal-form select,.search,.profile-form input,.daily-report-form input,.daily-report-form select,.daily-report-form textarea{background:#fbfcfd;border-color:#d4dce2;border-radius:10px}.modal{border:1px solid #ffffff80;border-radius:16px;box-shadow:0 28px 90px #101d2747}.modal>header{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;padding:18px 0 12px;position:sticky;top:-24px}@media (width<=900px){.workspace>header{height:68px}.content{padding:18px 13px 92px}.bottom-nav{justify-content:flex-start;height:68px;overflow:auto hidden;box-shadow:0 -8px 30px #16222d1a}.bottom-nav button{min-width:76px;padding:5px 8px}.bottom-nav button.active{color:var(--wine);border-top:3px solid var(--wine);background:#fff0e8}.bottom-nav button span{font-size:1.08rem}.bottom-nav button small{font-weight:750}.metric-grid{gap:8px}.metric-grid article{border-radius:12px}.task-row{gap:10px}.login-card{border-radius:16px;padding:24px}.brand-panel{background:linear-gradient(145deg,#27343e,#7d2d23)}}.mobile-more-backdrop{display:none}.sidebar nav button>span{vertical-align:middle;background:#ffffff0e;border-radius:8px;place-items:center;width:32px;height:30px;margin-right:5px;font-size:1.05rem;display:inline-grid}.bottom-nav button>span{filter:saturate(.85)}@media (width<=900px){.bottom-nav{justify-content:space-around;overflow:hidden}.bottom-nav button{flex:25%;min-width:0}.mobile-more-backdrop{z-index:70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#101a227a;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-more-sheet{width:100%;max-height:78vh;padding:18px 16px calc(24px + env(safe-area-inset-bottom));background:#fff;border-radius:22px 22px 0 0;animation:.2s ease-out sheet-up;overflow:auto;box-shadow:0 -18px 55px #111d273d}.mobile-more-sheet>header{justify-content:space-between;align-items:center;padding:2px 3px 16px;display:flex}.mobile-more-sheet>header div{gap:3px;display:grid}.mobile-more-sheet>header b{font-size:1.08rem}.mobile-more-sheet>header small{color:var(--muted)}.mobile-more-sheet>header>button{color:#34424d;background:#eef1f3;border:0;border-radius:50%;width:38px;height:38px;font-size:1.35rem}.mobile-more-sheet>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mobile-more-sheet>div>button{text-align:left;color:var(--ink);background:#f9fafb;border:1px solid #dfe5e9;border-radius:13px;grid-template-rows:auto auto;grid-template-columns:42px 1fr;column-gap:10px;padding:12px;display:grid}.mobile-more-sheet>div>button>span{width:42px;height:42px;color:var(--wine);background:#fff0e8;border-radius:10px;grid-row:1/3;place-items:center;font-size:1.2rem;display:grid}.mobile-more-sheet>div>button>b{align-self:end;font-size:.82rem}.mobile-more-sheet>div>button>small{color:var(--muted);font-size:.66rem}.mobile-more-sheet>div>button.active{background:#fff5ef;border-color:#bd7968;box-shadow:0 0 0 2px #8b2f2314}@keyframes sheet-up{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}}@media (width<=600px){html,body{width:100%;max-width:100%;font-size:15px;overflow-x:hidden}.app-shell,.workspace,.content{width:100%;min-width:0;max-width:100%}.workspace>header{gap:8px;height:60px;padding:0 12px}.workspace>header h1{text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-size:1.08rem;line-height:1.1;overflow:hidden}.date{white-space:nowrap;font-size:.62rem}.header-actions{gap:6px}.icon-button,.avatar.mobile{width:36px;height:36px}.content{padding:13px 10px calc(76px + env(safe-area-inset-bottom))}.hero-row{gap:10px;margin-bottom:12px}.hero-row h2{margin-top:2px;font-size:1.35rem}.hero-row .eyebrow{font-size:.6rem}.progress-ring{border-width:5px;flex:none;width:64px;height:64px}.progress-ring small{font-size:.55rem}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:18px}.metric-grid .metric-card{border-radius:10px;min-width:0;padding:10px 8px}.metric-grid .metric-card>b{font-size:1.15rem}.metric-grid .metric-card small{font-size:.57rem;line-height:1.25}.metric-grid .metric-card>span{font-size:.75rem}.metric-grid .metric-icon{border-radius:8px;width:30px;height:30px;font-size:1rem}.metric-grid .attendance{grid-column:1/-1;gap:8px;padding:11px}.attendance div{min-width:0}.attendance div small{font-size:.65rem}.attendance button{padding:8px;font-size:.7rem}.section-title,.toolbar{gap:9px;margin:18px 0 9px}.section-title h2,.toolbar h2{font-size:1.08rem}.toolbar p{font-size:.7rem}.toolbar .primary,.project-toolbar .primary{width:100%;min-height:40px}.project-card{border-radius:11px;padding:13px}.project-card h3{margin:10px 0 4px;font-size:1rem}.project-card p{margin:4px 0;font-size:.72rem}.project-card>span{font-size:.68rem}.progress{height:11px}.progress span{font-size:.57rem;top:0}.task-list{gap:7px}.task-row{border-radius:10px;align-items:start;gap:8px;padding:10px}.status-dot{width:27px;height:27px;font-size:.75rem}.task-row h3{font-size:.82rem;line-height:1.3}.task-row p,.task-assignment{font-size:.67rem}.task-actions{flex-wrap:wrap;gap:5px}.status-pill,.delete-task{min-height:30px;padding:5px 8px;font-size:.62rem}.people-grid article{padding:11px}.people-grid h3{font-size:.82rem}.avatar{width:36px;height:36px;font-size:.72rem}.account-page{border-radius:14px;margin:10px 0;padding:18px 13px}.account-page h2{font-size:1.35rem}.modal-backdrop{place-items:end center;padding:0}:is(.modal,.modal:has(.project-files)){width:100%;max-width:100%;max-height:94dvh;padding:16px 13px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.modal>header{padding:13px 0 10px;top:-16px}.modal>header h2{font-size:1.08rem}.modal>header button{width:32px;height:32px}.modal-form label{gap:5px;margin-top:13px;font-size:.76rem}.modal-form input,.modal-form select,.search{min-height:42px;padding:11px 12px}.team-picker{border-radius:11px;padding:10px}.team-picker>div{gap:5px;max-height:170px}.team-picker label{padding:8px;font-size:.72rem}.detail-grid{gap:7px;margin:13px 0}.detail-grid span{padding:9px;font-size:.67rem}.project-detail-actions{gap:6px}.project-detail-actions button{min-height:38px;padding:8px 10px;font-size:.7rem}.project-upload{gap:7px;padding:10px}.file-list>article{gap:8px;padding:8px}.attendance-card{grid-template-columns:82px 1fr;gap:9px;padding:9px}.attendance-card img,.attendance-no-photo{width:82px;height:100px}.daily-report-form{border-radius:12px;gap:10px;padding:12px}.report-list>article{padding:10px}.report-list img{height:160px}.leave-form{grid-template-columns:1fr;padding:10px}.leave-form input:nth-of-type(3),.leave-form button{grid-column:auto}.bottom-nav{height:62px;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button span{font-size:1rem}.bottom-nav button small{font-size:.57rem}.mobile-more-sheet{padding:14px 12px calc(18px + env(safe-area-inset-bottom))}.mobile-more-sheet>div{gap:7px}.mobile-more-sheet>div>button{grid-template-columns:36px 1fr;padding:9px}.mobile-more-sheet>div>button>span{width:36px;height:36px}.notice-panel{width:calc(100% - 16px);max-height:70vh;padding:13px;top:58px;right:8px;overflow:auto}}html{scroll-behavior:smooth;background:#eef2f1}button,input,select,textarea{transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s}button:active{transform:scale(.98)}.side-brand{padding-bottom:22px}.brand-logo-side{border:1px solid #ffffff3d;box-shadow:0 8px 24px #182e3433}.sidebar nav button{color:#e5eceb;border-radius:11px}.sidebar nav button.active>span{background:#ffffff59}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2034398a}input:focus,select:focus,textarea:focus,.search:focus{outline:none;border-color:#78949b!important;box-shadow:0 0 0 3px #536f7821!important}@media (width<=900px){.workspace>header{height:64px;padding-left:14px;padding-right:12px}.workspace>header h1{font-size:1.12rem}.content{padding:15px 11px calc(74px + env(safe-area-inset-bottom))}.bottom-nav{background:#fffffff7;border-color:#d9e3e2;height:64px;box-shadow:0 -8px 24px #2d464c1a}.bottom-nav button{color:#748488}.bottom-nav button.active{color:#405f68;background:#edf3f2;border-top-color:#c79b6b}.bottom-nav button small{text-overflow:ellipsis;white-space:nowrap;max-width:82px;overflow:hidden}.mobile-more-backdrop{background:#263a3f75}.mobile-more-sheet{border-radius:18px 18px 0 0}.mobile-more-sheet>div>button{background:#f8faf9;border-color:#dce5e4}.mobile-more-sheet>div>button>span{color:#536f78;background:#edf3f2}.mobile-more-sheet>div>button.active{background:#eef5f4;border-color:#8fa8ad}.project-grid .project-card:nth-child(n+3){display:block}.project-toolbar,.task-toolbar{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid!important}.project-toolbar .search,.task-toolbar label:first-child,.project-toolbar .primary,.task-toolbar .primary{grid-column:1/-1}.project-toolbar label,.task-toolbar label{min-width:0}.project-table-wrap,.summary-table,.payroll-table{-webkit-overflow-scrolling:touch;border-radius:12px;max-width:100%;overflow-x:auto}.project-table,.summary-table table,.payroll-table table{min-width:760px}}@media (width<=600px){html,body{font-size:14px}.workspace>header{height:58px}.date{font-size:.58rem}.header-actions{gap:5px}.icon-button,.avatar.mobile{flex:none;width:35px;height:35px}.content{padding:11px 9px calc(70px + env(safe-area-inset-bottom))}.hero-row{margin-bottom:10px}.hero-row h2{font-size:1.28rem}.progress-ring{width:58px;height:58px}.metric-grid{gap:6px;margin-bottom:15px}.metric-grid .metric-card{padding:9px 7px}.metric-grid .metric-card>b{font-size:1.08rem}.toolbar,.section-title{margin:15px 0 8px}.toolbar{gap:7px}.toolbar h2,.section-title h2{font-size:1rem}.toolbar p{line-height:1.35}.project-toolbar,.task-toolbar{grid-template-columns:1fr}.project-toolbar>*,.task-toolbar>*{grid-column:auto!important;width:100%!important}.project-manager-filter{gap:4px;display:grid}.project-manager-filter select{width:100%}.view-switcher{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.view-switcher button{min-width:0;padding:8px 5px;font-size:.68rem}.project-card{border-radius:12px;padding:12px}.project-card h3{font-size:.96rem}.project-card .project-task-count{padding:6px 8px}.task-row{grid-template-columns:28px minmax(0,1fr);padding:10px 9px}.task-row>div:nth-child(2){min-width:0}.task-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;width:100%;display:grid!important}.task-actions>*{width:100%!important;margin:0!important}.task-row h3,.task-row p,.task-assignment,.task-creator{overflow-wrap:anywhere}.modal-backdrop{padding:0}:is(.modal,.modal:has(.project-files)){max-height:96dvh;padding:14px 11px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.modal>header{top:-14px}.modal-form input,.modal-form select,.modal-form textarea,.search{max-width:100%;font-size:16px}.detail-grid{grid-template-columns:1fr 1fr}.detail-grid span{overflow-wrap:anywhere;min-width:0}.project-detail-actions{grid-template-columns:1fr 1fr;display:grid!important}.project-detail-actions .primary{grid-column:1/-1}.project-detail-actions button{width:100%!important;margin:0!important}.discussion-form,.schedule-form,.advance-form,.daily-report-form,.leave-form{width:100%;max-width:100%}.message-thread{max-height:40dvh}.message-thread article{max-width:96%}.notice-panel{border-radius:12px;width:calc(100% - 14px);max-height:75dvh;top:56px;right:7px}.bottom-nav{height:60px}.bottom-nav button{padding:4px 2px}.bottom-nav button small{font-size:.56rem}.bottom-nav button span{font-size:.95rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--ink:#302a25;--wine:#704a32;--wine2:#523522;--gold:#c89b69;--cream:#f3eee7;--paper:#fffdf9;--line:#e5dbcf;--muted:#786d63;--green:#55765c;--shadow:0 14px 38px #4830211f}html{background:#eee7de}body{background:linear-gradient(#f8f5f0 0%,#eee7de 100%)}.app-shell{background:0 0}.sidebar{background:linear-gradient(#342c27 0%,#49392f 100%);box-shadow:10px 0 32px #37261c29}.side-brand small,.side-user small{color:#ded2c7}.sidebar nav button{color:#e8dfd7}.sidebar nav button:hover{background:#ffffff14}.sidebar nav button.active{color:#302a25;background:#c89b69;box-shadow:0 8px 20px #19110c38}.workspace>header{background:#fffdf9e6;border-color:#e5dbcf;box-shadow:0 5px 20px #4830210f}.role-chip{color:#704a32;background:#f7eee4;border-color:#e2c9ad}.icon-button{color:#704a32}.icon-button b{color:#fff;background:#704a32}.bell-button.permission-granted{background:#f7eee4;border-color:#dec4a7}.primary{background:#704a32;box-shadow:0 7px 18px #704a322b}.primary:hover{background:#523522}.secondary{color:#704a32;background:#f0e7dd}.eyebrow,.section-title button,.project-card>span b,.task-row em,.people-grid a,.attendance-history>summary{color:#704a32}.metric-grid article,.project-card,.task-row,.people-grid article,.attendance-card,.report-list>article,.summary-table,.account-page,.schedule-list article,.salary-cards article{border-color:#e7ddd2;box-shadow:0 6px 20px #4830210e}.metric-grid article:hover,.project-card:hover,.people-grid article:hover{box-shadow:0 13px 28px #4830211a}.metric-grid article>span,.metric-grid article>b,.salary-cards b,.summary-kpis b{color:#704a32}.project-card em,.project-card .project-task-count{color:#704a32;background:#f3e5d4}.progress{background:#ebe2d8}.progress i{background:linear-gradient(90deg,#704a32,#c89b69)}.status-pill{color:#6f655c;background:#faf7f3;border-color:#e1d7cc}.modal-backdrop{background:#2f251e8f}.modal{border-color:#e8ddd1;box-shadow:0 28px 80px #2f211840}.login-shell{background:#f3eee7}.brand-panel{background:linear-gradient(145deg,#302923 0%,#5b402f 62%,#79543a 100%)}.brand-panel .eyebrow,.brand-panel h1 span{color:#d7ad7e}.login-panel{background:#f3eee7}.login-card{border-color:#e4d9cd;box-shadow:0 24px 65px #48302126}input:focus,select:focus,textarea:focus,.search:focus{border-color:#a77c5c!important;box-shadow:0 0 0 3px #704a3221!important}.enable-notifications{background:#704a32}.message-thread article.mine{background:#f7eadc;border-color:#e3c8ab}.discussion-context{background:#f5eee6}@media (width<=900px){.bottom-nav{background:#fffdf9f7;border-color:#e3d8cc;box-shadow:0 -8px 24px #4830211a}.bottom-nav button{color:#82766c}.bottom-nav button.active{color:#704a32;background:#f4e9dd;border-top-color:#c89b69}.mobile-more-backdrop{background:#2f251e7a}.mobile-more-sheet>div>button{background:#fcfaf7;border-color:#e5dbcf}.mobile-more-sheet>div>button>span{color:#704a32;background:#f4e9dd}.mobile-more-sheet>div>button.active{background:#f8efe6;border-color:#b89477}}.discuss-task{min-height:34px;padding:6px 10px;font-size:.68rem}.discussion-context{background:#f6f0e8;border-radius:12px;gap:5px;margin-bottom:12px;padding:12px;display:grid}.discussion-context small{color:var(--muted)}.message-thread{gap:9px;max-height:46vh;padding:4px;display:grid;overflow:auto}.message-thread article{border:1px solid var(--line);background:#f2f5f7;border-radius:13px;max-width:88%;padding:10px}.message-thread article.mine{background:#fff2e8;border-color:#e5c3ad;margin-left:auto}.message-thread header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.message-thread header b{font-size:.76rem}.message-thread header span{color:var(--wine);font-size:.7rem;font-weight:800}.message-thread header small{color:var(--muted);margin-left:auto;font-size:.62rem}.message-thread p{white-space:pre-wrap;margin:7px 0 0;font-size:.8rem;line-height:1.45}.message-thread img{object-fit:cover;border-radius:9px;max-width:260px;max-height:220px;margin-top:8px;display:block}.message-thread a{color:var(--wine);font-size:.75rem;font-weight:800;text-decoration:none}.discussion-form{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:8px;margin-top:12px;padding-top:12px;display:grid}.discussion-form select,.discussion-form textarea,.discussion-form input{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px}.discussion-form textarea{resize:vertical;grid-column:1/-1;min-height:78px}.discussion-form label{gap:5px;font-size:.7rem;font-weight:800;display:grid}.discussion-form small{color:var(--wine);grid-column:1/-1}.leave-policy{background:#fff6e7;border:1px solid #edce98;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;padding:12px;display:flex}.leave-policy b{color:var(--wine)}.leave-policy span{font-weight:850}.leave-policy small{width:100%;color:var(--muted)}.summary-table tr.limit-exceeded td{color:#9f2924;background:#fff0ef}.summary-table tr.limit-exceeded td:first-child{font-weight:850}.project-tasks{border-top:1px solid var(--line);margin-top:26px;padding-top:4px}.project-tasks .section-title{margin-bottom:10px}.project-tasks .task-row{box-shadow:none;background:#fbfcfd}.project-tasks+.project-files{margin-top:24px}.picker-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.team-picker .picker-heading small{margin:0}.select-all{white-space:nowrap;min-height:32px!important;padding:5px 10px!important;font-size:.68rem!important}.manager-picker>div{max-height:none!important}.manager-picker label:has(input:disabled){opacity:.48;cursor:not-allowed}.manager-picker p,.team-picker>p{color:var(--muted);margin:8px 0 0;font-size:.72rem}@media (width<=600px){.picker-heading{flex-direction:column;align-items:flex-start}.select-all{width:100%!important}}.attendance-history{margin:14px 0 24px}.attendance-history>summary{cursor:pointer;color:var(--wine);padding:11px 0;font-weight:850}.hr-suite{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.hr-tabs{gap:7px;padding-bottom:7px;display:flex;overflow:auto}.hr-tabs button{white-space:nowrap;border:1px solid var(--line);color:#53616c;background:#fff;border-radius:10px;padding:10px 14px;font-weight:800;position:relative}.hr-tabs button.active{background:var(--wine);border-color:var(--wine);color:#fff}.hr-tabs button b{color:#4d2c00;background:#f3bb52;border-radius:99px;place-items:center;min-width:20px;height:20px;margin-left:6px;font-size:.65rem;display:inline-grid}.suite-month{background:#f6f8f9;border-radius:12px;justify-content:space-between;align-items:center;margin:8px 0 18px;padding:10px 12px;display:flex}.suite-month label{align-items:center;gap:8px;display:flex}.suite-month .secondary{text-decoration:none}.schedule-form{background:var(--paper);border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:9px;padding:14px;display:grid}.schedule-form>input,.schedule-form>select{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:0;padding:10px}.schedule-form .team-picker,.schedule-form>.primary{grid-column:1/-1}.schedule-list{gap:8px;margin-top:13px;display:grid}.schedule-list article{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:92px 1fr auto;align-items:center;gap:12px;padding:11px;display:grid}.schedule-list time{color:var(--wine);font-weight:850}.schedule-list p,.schedule-list small{color:var(--muted);margin:3px 0;font-size:.72rem}.schedule-list .danger{min-height:34px;padding:7px 9px}.approval-head{justify-content:space-between;align-items:center;margin:18px 0 10px;display:flex}.approval-head h2{margin:0}.approval-head p{margin:4px 0}.approval-head>b{color:#8a5b07;background:#fff1d7;border-radius:99px;padding:8px 12px}.request-status{background:#eef1f4;border-radius:99px;padding:6px 9px}.request-status.Đã-duyệt{color:#177249;background:#dff5e9}.request-status.Từ-chối{color:#9f2924;background:#fff0ef}.summary-kpis{grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0;display:grid}.summary-kpis article{border:1px solid var(--line);background:#fff;border-radius:12px;gap:4px;padding:14px;display:grid}.summary-kpis b{color:var(--wine);font-size:1.5rem}.summary-kpis small{color:var(--muted)}@media (width<=700px){.hr-tabs button{padding:9px 11px;font-size:.72rem}.suite-month{align-items:stretch;gap:8px}.schedule-form{grid-template-columns:1fr}.schedule-form .team-picker,.schedule-form>.primary{grid-column:auto}.schedule-list article{grid-template-columns:74px 1fr}.schedule-list .danger{grid-column:1/-1;width:100%}.summary-kpis{grid-template-columns:1fr 1fr}.summary-kpis article:last-child{grid-column:1/-1}.approval-head{align-items:flex-start;gap:8px}.approval-head>b{white-space:nowrap;font-size:.68rem}}.salary-cards{grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:13px;display:grid}.salary-cards article{border:1px solid var(--line);background:#fff;border-radius:12px;gap:6px;padding:14px;display:grid}.salary-cards small{color:var(--muted)}.salary-cards b{color:var(--wine);font-size:1.15rem}.advance-form{background:#fff6e7;border:1px solid #edce98;border-radius:13px;grid-template-columns:1fr 1.5fr auto;gap:9px;margin-bottom:18px;padding:13px;display:grid}.advance-form label{gap:5px;font-size:.72rem;font-weight:800;display:grid}.advance-form input{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:0;padding:10px}.advance-form small{color:var(--wine);grid-column:1/-1}.rate-editor{gap:5px;display:flex}.rate-editor input{border:1px solid var(--line);border-radius:8px;width:115px;padding:7px}.rate-editor button{color:var(--wine);background:#eef1f3;border:0;border-radius:8px;font-weight:800}.advance-list{margin-top:18px}.advance-list h3{font-size:.9rem}.advance-list article{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;margin-bottom:7px;padding:11px;display:grid}.advance-list p{color:var(--muted);margin:4px 0 0;font-size:.72rem}.advance-list article>div:last-child{gap:5px;display:flex}.advance-list button{min-height:32px;padding:6px 9px}@media (width<=700px){.salary-cards{grid-template-columns:1fr 1fr}.salary-cards article{padding:11px}.salary-cards b{font-size:.9rem}.advance-form{grid-template-columns:1fr}.advance-form small{grid-column:auto}.advance-list article{grid-template-columns:1fr auto}.advance-list article>div:last-child{grid-column:1/-1}.payroll-table table{min-width:760px}}@media (width<=600px){.discussion-form{grid-template-columns:1fr}.discussion-form textarea{grid-column:auto}.message-thread article{max-width:94%}.message-thread img{max-width:100%}.discussion-form .primary{width:100%}.task-actions .discuss-task{order:-1}.login-shell{background:#f7f8f9;width:100%;min-height:100dvh;display:block;overflow-x:hidden}.brand-panel{height:auto;min-height:0;padding:calc(12px + env(safe-area-inset-top)) 20px 18px;grid-template-rows:auto auto auto;grid-template-columns:72px 1fr;align-items:center;column-gap:14px;display:grid}.brand-logo-main{border-radius:10px;grid-row:1/4;width:72px;max-width:72px;box-shadow:0 8px 22px #1f100c33}.brand-panel .eyebrow{letter-spacing:.13em;margin:0 0 3px;font-size:.55rem}.brand-panel h1{white-space:normal;margin:0;font-size:1.55rem;line-height:1.1}.brand-panel>p:last-of-type{white-space:normal;margin:10px 0 0;font-size:.66rem;line-height:1.4}.brand-lines{display:none}.login-panel{padding:12px 10px calc(14px + env(safe-area-inset-bottom));background:#f7f8f9;display:block}.login-card{border-radius:14px;width:100%;max-width:none;padding:17px 15px;box-shadow:0 10px 28px #18273317}.login-card .eyebrow{letter-spacing:.14em;margin:0;font-size:.58rem}.login-card h2{margin:5px 0;font-size:1.55rem}.login-card>.muted{margin:0 0 8px;font-size:.72rem;line-height:1.35}.login-card label{gap:5px;margin-top:11px;font-size:.75rem}.login-card input{min-height:42px;padding:10px 12px;font-size:16px}.login-card .remember-login{gap:8px;margin-top:10px;font-size:.7rem}.login-card .remember-login input{width:17px;height:17px;min-height:17px}.login-card .wide{min-height:42px;margin-top:13px;padding:9px 12px}.demo-accounts{gap:4px;margin-top:13px;padding-top:11px}.demo-accounts>strong{font-size:.72rem}.demo-accounts small{font-size:.65rem;line-height:1.35}}.mention-help{color:var(--muted);grid-column:1/-1;margin:-4px 0 2px;font-size:.72rem;line-height:1.45;display:block}.mention-inline{grid-column:1/-1;min-width:0;position:relative}.mention-line{border:1px solid var(--line);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;padding:7px 9px;display:flex}.mention-line:focus-within{border-color:#a87345;box-shadow:0 0 0 3px #a873451c}.mention-line input{outline:0;flex:1;min-width:150px;background:0 0!important;border:0!important;padding:5px!important}.mention-chip{color:#6a3e27;cursor:pointer;background:#f3e4d4;border:0;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:800}.mention-suggestions{z-index:20;background:#fff;border:1px solid #d9cbbb;border-radius:12px;max-height:220px;padding:6px;display:grid;position:absolute;top:48px;left:0;right:0;overflow:auto;box-shadow:0 12px 28px #3b241928}.mention-suggestions button{text-align:left;color:var(--ink);cursor:pointer;background:#fff;border:0;border-radius:8px;justify-content:space-between;gap:10px;padding:10px;display:flex}.mention-suggestions button:hover,.mention-suggestions button:focus{background:#f7ecdf}.mention-suggestions small{color:var(--muted)}.mention-tip{margin-top:5px;font-size:.68rem;display:block;color:var(--muted)!important}.project-discussion{border:1px solid var(--line);background:linear-gradient(145deg,#fffdf9,#f7f0e7);border-radius:16px;margin:24px 0;padding:18px}.project-chat-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.project-chat-heading h2{color:var(--ink);margin:0}.project-chat-heading p{color:var(--muted);margin:5px 0 0;font-size:.78rem}.project-chat-heading>b{white-space:nowrap;color:var(--wine2);background:#ead8c3;border-radius:99px;padding:7px 10px;font-size:.68rem}.project-chat-thread{background:#fff;border:1px solid #e6d9ca;border-radius:13px;gap:9px;max-height:320px;padding:10px;display:grid;overflow:auto}.project-chat-thread article{background:#f1ebe4;border:1px solid #e3d7ca;border-radius:13px;max-width:84%;padding:10px 12px}.project-chat-thread article.mine{color:#fff;background:#754d34;border-color:#754d34;margin-left:auto}.project-chat-thread header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-chat-thread header span{color:#a45d30;font-size:.68rem;font-weight:800}.project-chat-thread article.mine header span{color:#f1c99c}.project-chat-thread header small{opacity:.75;margin-left:auto;font-size:.62rem}.project-chat-thread p{white-space:pre-wrap;margin:7px 0 0;line-height:1.45}.project-chat-thread img{object-fit:cover;border-radius:9px;max-width:260px;max-height:220px;margin-top:8px;display:block}.project-chat-thread a{color:inherit;font-weight:800;text-decoration:none}.project-chat-empty{text-align:center;color:var(--muted);padding:20px}.project-chat-form{grid-template-columns:1fr auto;gap:8px;margin-top:10px;display:grid}.project-chat-form select,.project-chat-form textarea,.project-chat-form input{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px}.project-chat-form select,.project-chat-form textarea{grid-column:1/-1}.project-chat-form textarea{resize:vertical;min-height:82px}.project-chat-file{gap:5px;font-size:.7rem;font-weight:800;display:grid}.project-chat-form>small{color:var(--wine);grid-column:1/-1;font-weight:800}@media (width<=600px){.project-discussion{margin:18px 0;padding:12px}.project-chat-heading{align-items:flex-start}.project-chat-heading p{font-size:.7rem}.project-chat-thread{max-height:42dvh;padding:7px}.project-chat-thread article{max-width:94%}.project-chat-thread img{max-width:100%}.project-chat-form{grid-template-columns:1fr}.project-chat-form select,.project-chat-form textarea,.project-chat-form>small{grid-column:auto}.project-chat-form .primary{width:100%}}.session-loading{color:#fff;background:linear-gradient(145deg,#302a25,#704a32);place-content:center;justify-items:center;gap:14px;min-height:100dvh;display:grid}.session-loading img{object-fit:contain;border-radius:24px;width:112px;height:112px}.session-loading b{letter-spacing:.04em;font-size:.82rem}.vn-date-field{display:block;position:relative}.vn-date-field>span{color:var(--muted);z-index:1;font-size:.58rem;font-weight:800;position:absolute;top:5px;left:12px}.vn-date-field>input{border:1px solid var(--line);font-variant-numeric:tabular-nums;background:#fff;border-radius:9px;width:100%;height:100%;min-height:44px;padding:18px 10px 5px!important}.quick-attendance-button{z-index:55;color:#fff;cursor:pointer;background:linear-gradient(145deg,#704a32,#523522);border:1px solid #c79768;border-radius:16px;grid-template-rows:auto auto;grid-template-columns:38px auto;align-items:center;column-gap:10px;padding:10px 15px 10px 10px;display:grid;position:fixed;bottom:26px;right:26px;box-shadow:0 12px 30px #3f271847}.quick-attendance-button>span{color:#302a25;background:#c89b69;border-radius:11px;grid-row:1/3;place-items:center;width:38px;height:38px;font-size:1.25rem;display:grid}.quick-attendance-button>b{align-self:end;font-size:.78rem}.quick-attendance-button>small{color:#ead8c3;text-align:left;align-self:start;font-size:.62rem}.quick-attendance-button:hover{transform:translateY(-2px)}.quick-attendance-modal{gap:14px;margin-top:16px;display:grid}.quick-shift{background:#f4e9dd;border:1px solid #e3d4c5;border-radius:14px;gap:5px;padding:15px;display:grid}.quick-shift span{color:var(--muted);font-size:.7rem;font-weight:800}.quick-shift b{color:var(--wine2);font-size:1.35rem}.quick-shift small{color:var(--muted)}.quick-attendance-modal label{gap:7px;font-size:.75rem;font-weight:850;display:grid}.quick-attendance-modal select,.quick-attendance-modal input{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:11px}.quick-camera{background:#fffaf5;border:1px dashed #c89b69;border-radius:13px;padding:13px}.quick-camera span{color:var(--muted);font-size:.68rem;font-weight:700}.quick-message,.quick-success{border-radius:10px;margin:0;padding:11px;font-size:.76rem;font-weight:800}.quick-message{color:#865613;background:#fff1df}.quick-success{color:#35673c;background:#e7f4e9}.quick-policy{text-align:center;color:var(--muted)}.quick-steps{grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:7px;padding:2px 4px;display:grid}.quick-steps>span{color:#8c8179;background:#e9e2da;border-radius:50%;place-items:center;width:32px;height:32px;font-size:.72rem;font-weight:900;display:grid;position:relative}.quick-steps>span b{white-space:nowrap;color:#8c8179;font-size:.58rem;position:absolute;top:36px}.quick-steps>span.active{color:#fff;background:#704a32;box-shadow:0 4px 12px #704a3233}.quick-steps>span.active b{color:#704a32}.quick-steps>i{background:#e3d4c5;border-radius:9px;height:3px}.quick-steps+*{margin-top:18px}.quick-camera.ready{background:#f0f8f1;border-style:solid;border-color:#6f9b72}.quick-camera.ready span{color:#35673c}.quick-attendance-modal button:disabled{opacity:.72;cursor:wait}.basic-attendance{gap:11px}.basic-step{border:1px solid var(--line);background:#fff;border-radius:14px;gap:9px;padding:13px;display:grid}.basic-step>b{align-items:center;gap:8px;font-size:.82rem;display:flex}.basic-step>b i{color:#fff;background:#704a32;border-radius:50%;place-items:center;width:25px;height:25px;font-size:.68rem;font-style:normal;display:grid}.basic-step .secondary{border:1px solid #cdb8a6;min-height:44px;margin:0}.basic-step.ready{background:#f0f8f1;border-color:#6f9b72}.basic-step>small{color:#35673c;font-weight:750}.basic-step.final .primary{min-height:52px;margin:0;font-size:1rem}.basic-step.final .primary:disabled{box-shadow:none;background:#c9c0b8}.basic-attendance .quick-camera input{background:#fff}.basic-attendance .quick-camera span{font-size:.75rem}.hr-suite.salary-only{border-top:0;margin-top:0;padding-top:0}.advance-worker-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.advance-worker-summary article{border:1px solid var(--line);background:#fff;border-radius:14px;gap:7px;padding:17px;display:grid}.advance-worker-summary small{color:var(--muted);font-weight:750}.advance-worker-summary b{color:var(--wine);font-size:1.35rem}.salary-privacy-note{color:var(--muted);background:#f4eee7;border-radius:10px;padding:11px 13px;font-size:.76rem}.salary-only .advance-form{border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px}.salary-only .advance-list{margin-top:20px}.salary-tabs{margin-bottom:18px}.attendance-incomplete{background:#fff8ec}.daily-status{white-space:nowrap;border-radius:99px;padding:5px 8px;font-size:.68rem;font-weight:800;display:inline-block}.daily-status.complete{color:#267047;background:#e3f4e9}.daily-status.incomplete{color:#8b5a08;background:#fff0d7}.daily-salary-panel .salary-cards{margin-top:6px}.salary-deduction{color:#a4342b;white-space:nowrap;font-weight:800}.salary-deduction small{color:var(--muted);margin-top:3px;font-weight:600;display:block}.schedule-form{grid-template-columns:1fr 1fr 1.35fr .9fr 1.35fr}.daily-attendance-table table{min-width:1240px}.payroll-table table{min-width:1500px}@media (width<=700px){.schedule-form{grid-template-columns:1fr}.salary-cards{grid-template-columns:1fr 1fr}.salary-cards article:last-child{grid-column:1/-1}}.service-page>.search{width:100%;max-width:520px;margin-bottom:15px}.service-form{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;padding:16px;display:grid}.service-form input,.service-form select,.service-form textarea{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:11px}.service-form textarea{resize:vertical;grid-column:1/-1;min-height:88px}.service-form label{gap:5px;font-size:.72rem;font-weight:800;display:grid}.service-form>.primary{grid-column:1/-1}.service-list{gap:11px;display:grid}.service-list article{border:1px solid var(--line);background:#fff;border-radius:14px;gap:7px;padding:16px;display:grid}.service-list article header{justify-content:space-between;align-items:center;display:flex}.service-list h3,.service-list p{margin:0}.service-list p,.service-list small{color:var(--muted)}.service-list article>div{justify-content:flex-end;display:flex}.service-list .secondary{width:auto;margin:0;padding:9px 12px}.service-status{color:#8a5b07;background:#fff1d7;border-radius:99px;padding:6px 10px;font-size:.68rem;font-weight:850}.service-status.Đang-xử-lý{color:#245f9e;background:#e8f1ff}.service-status.Hoàn-thành{color:#177249;background:#dff5e9}.form-message{color:#35673c;background:#e7f4e9;border-radius:10px;padding:10px 12px;font-weight:750}.saved-customer-picker{background:#fbf6ef;border:1px solid #d8c4aa;border-radius:12px;grid-column:1/-1;padding:12px}.saved-customer-picker small{color:var(--muted);font-weight:600}.company-dashboard{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:4px 0 34px;display:grid}.dashboard-panel{background:linear-gradient(145deg,#fffdf9,#f6eee4);border:1px solid #ddcdbd;border-radius:18px;flex-direction:column;min-width:0;padding:18px;display:flex;box-shadow:0 8px 22px #3d24190f}.dashboard-panel>header{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:16px;display:grid}.dashboard-panel>header>span{background:#efe1d2;border-radius:11px;place-items:center;width:38px;height:38px;font-size:1.15rem;display:grid}.dashboard-panel h3{margin:0;font-family:Georgia,serif;font-size:1.08rem}.dashboard-panel header small{color:var(--muted);font-size:.68rem}.dashboard-panel header>b{color:var(--wine);font-family:Georgia,serif;font-size:1.35rem}.dashboard-panel>button{color:var(--wine);text-align:left;background:0 0;border:0;margin-top:auto;padding:14px 0 0;font-weight:850}.dashboard-bars{gap:9px;margin-bottom:13px;display:grid}.dashboard-bars label{gap:4px;display:grid}.dashboard-bars label>span{color:var(--muted);justify-content:space-between;font-size:.72rem;display:flex}.dashboard-bars i,.dashboard-track{background:#e8ded3;border-radius:99px;height:7px;overflow:hidden}.dashboard-bars em,.dashboard-track i{border-radius:inherit;background:linear-gradient(90deg,#7b4b31,#c99b68);height:100%;display:block}.dashboard-bars label:nth-child(2) em{background:#c18a45}.dashboard-bars label:nth-child(3) em{background:#d5ad72}.dashboard-bars label:nth-child(4) em{background:#9b938b}.dashboard-big-number{align-items:center;gap:12px;margin:2px 0 12px;display:flex}.dashboard-big-number strong{color:var(--wine);font:700 2.6rem Georgia,serif}.dashboard-big-number span{font-size:.78rem}.dashboard-big-number small,.dashboard-panel>p{color:var(--muted)}.dashboard-panel>p{font-size:.72rem;line-height:1.5}.quality-gauge{background:conic-gradient(#7b4b31 var(--score),#e8ded3 0);text-align:center;border-radius:50%;place-content:center;width:96px;height:96px;margin:0 auto 12px;display:grid;position:relative}.quality-gauge:before{content:"";background:#fffaf4;border-radius:50%;position:absolute;inset:9px}.quality-gauge strong,.quality-gauge small{z-index:1;position:relative}.quality-gauge strong{font:700 1.55rem Georgia,serif}.quality-gauge small{color:var(--muted);font-size:.62rem}.quality ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.quality li{border-bottom:1px solid #e9ddd1;justify-content:space-between;padding-bottom:6px;font-size:.72rem;display:flex}.quality li span{color:var(--muted)}.quality .warning{color:#a33d25}.quality-note{color:var(--muted);margin-top:10px;font-size:.63rem;line-height:1.45}.service-team-picker{background:#fbf7f2;border:1px solid #d9c8b8;border-radius:12px;padding:11px}.service-team-picker legend{color:var(--wine);padding:0 6px;font-size:.72rem;font-weight:850}.service-team-picker>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:150px;overflow:auto;display:grid!important}.service-team-picker label{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:7px;font-size:.68rem;display:flex}.service-team-picker .primary{width:100%;margin-top:9px}@media (width<=700px){.service-form{grid-template-columns:1fr}.service-form textarea,.service-form>.primary{grid-column:1}.advance-worker-summary{grid-template-columns:1fr}.service-team-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}}.office-summary{flex-wrap:wrap;gap:10px;margin:0 0 14px;display:flex}.office-summary span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:11px;padding:9px 13px;font-size:.86rem}.office-summary b{color:var(--ink);margin-right:5px;font-size:1.05rem}.office-form .office-full{grid-column:1/-1}.office-work-list{gap:12px;margin-top:15px;display:grid}.office-work-list article{border:1px solid var(--line);background:#fff;border-radius:15px;gap:9px;padding:16px;display:grid}.office-work-list article>header{justify-content:space-between;align-items:center;gap:8px;display:flex}.office-work-list h3,.office-work-list p{margin:0}.office-work-list p{color:var(--muted)}.office-code,.office-category{border-radius:99px;align-items:center;padding:5px 9px;font-size:.7rem;font-weight:850;display:inline-flex}.office-code{color:#754c30;background:#f1e8df;margin-right:7px}.office-category{color:#465c67;background:#edf2f5}.office-meta{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:.82rem;display:flex}.office-update,.office-evaluate{border-top:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:8px;padding-top:11px;display:flex}.office-update label{flex:1;align-items:center;gap:8px;min-width:210px;font-size:.8rem;font-weight:800;display:flex}.office-update input{accent-color:var(--primary);flex:1}.office-evaluate label{flex:1;gap:5px;min-width:180px;font-size:.78rem;font-weight:800;display:grid}.office-evaluate textarea,.office-evaluate select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px}.office-evaluate small{width:100%;color:var(--muted)}@media (width<=900px){.quick-attendance-button{border-radius:999px;padding:8px 13px 8px 8px;bottom:76px;right:12px}.quick-attendance-button>span{border-radius:50%;width:34px;height:34px}.quick-attendance-button>b{font-size:.7rem}.quick-attendance-button>small{font-size:.56rem}}.push-onboarding{background:#fff7e8;border:1px solid #d9b77d;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin:12px 18px 0;padding:12px 14px;display:flex;box-shadow:0 8px 24px #5b382015}.push-onboarding div{gap:3px;display:grid}.push-onboarding small{color:#705d4f}.push-onboarding button{background:var(--wine);color:#fff;white-space:nowrap;border:0;border-radius:10px;padding:10px 14px;font-weight:800}@media (width<=700px){.push-onboarding{flex-direction:column;align-items:stretch;margin:8px 10px 0}.push-onboarding button{width:100%}}.date-time-vn{grid-template-columns:1fr 1fr;gap:12px;display:grid}.date-time-vn label{gap:7px;display:grid}@media (width<=600px){.date-time-vn{grid-template-columns:1fr}}.progress-journal{background:#fffaf4;border:1px solid #dfcfbf;border-radius:13px;margin-top:12px;overflow:hidden}.progress-journal>summary{cursor:pointer;color:var(--wine2);padding:12px 14px;font-weight:850;list-style:none}.progress-journal>summary b{background:#ead8c3;border-radius:99px;place-items:center;min-width:24px;height:24px;margin-left:5px;font-size:.66rem;display:inline-grid}.progress-journal form{grid-template-columns:180px 1fr auto;gap:8px;padding:0 12px 10px;display:grid}.progress-journal select,.progress-journal textarea{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px}.progress-journal textarea{resize:vertical;min-height:44px}.progress-journal form .secondary{align-self:stretch;margin:0}.progress-finish{color:#fff;cursor:pointer;background:#3d6d42;border:0;border-radius:9px;margin:0 12px 10px;padding:10px 14px;font-weight:850}.progress-message{color:#6d4b32;margin:0 12px 10px;font-weight:800;display:block}.progress-history{gap:7px;padding:0 12px 12px;display:grid}.progress-history article{background:#fff!important;border:1px solid #eadfd2!important;border-radius:9px!important;gap:3px!important;padding:10px!important;display:grid!important}.progress-history article span{color:#70462d;background:#f1e2d1;border-radius:99px;width:max-content;padding:4px 8px;font-size:.64rem;font-weight:850}.progress-history article p{margin:0;color:var(--ink)!important}.progress-history article small{color:var(--muted)}.progress-journal.compact{grid-column:1/-1;width:100%;margin:5px 0 0}.progress-journal.compact>summary{padding:9px 11px;font-size:.72rem}.progress-journal.compact form{grid-template-columns:150px 1fr auto}@media (width<=700px){.progress-journal form,.progress-journal.compact form{grid-template-columns:1fr}.progress-journal form .secondary{width:100%}}.acceptance-page>.toolbar label{gap:5px;font-size:.7rem;font-weight:850;display:grid}.acceptance-page>.toolbar select{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:190px;padding:10px}.acceptance-list{gap:12px;display:grid}.acceptance-list>article{border:1px solid var(--line);background:#fff;border-radius:15px;gap:12px;padding:16px;display:grid}.acceptance-list>article>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.acceptance-list h3{margin:4px 0}.acceptance-list small{color:var(--muted)}.acceptance-status{white-space:nowrap;color:#80540d;background:#fff0d8;border-radius:99px;padding:7px 10px;font-size:.67rem;font-weight:850}.acceptance-status.status-Đã-thanh-toán{color:#2f6c3a;background:#e2f3e6}.acceptance-steps{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.acceptance-steps span{color:#8a7d72;text-align:center;background:#eee8e2;border-radius:8px;padding:8px;font-size:.68rem;font-weight:800}.acceptance-steps span.active{color:#80540d;background:#fff0d8}.acceptance-steps span.done{color:#2f6c3a;background:#e2f3e6}.acceptance-form{background:#faf4ed;border-radius:12px;grid-template-columns:180px 1fr auto;align-items:end;gap:9px;padding:12px;display:grid}.acceptance-form label{gap:5px;font-size:.7rem;font-weight:850;display:grid}.acceptance-form input,.acceptance-form textarea{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px}.acceptance-form textarea{resize:vertical;min-height:42px}.acceptance-form .primary{height:44px;margin:0}@media (width<=720px){.acceptance-page>.toolbar{align-items:stretch}.acceptance-page>.toolbar label,.acceptance-page>.toolbar select{width:100%}.acceptance-list>article>header{display:grid}.acceptance-steps,.acceptance-form{grid-template-columns:1fr}.acceptance-form .primary{width:100%}}.service-photo-field{background:#fbf6ef;border:1px dashed #c9a985;border-radius:12px;grid-column:1/-1;gap:7px;padding:12px;display:grid}.service-photo-field small{color:#75675d}.service-images{border-top:1px solid #eadfd2;gap:10px;margin-top:7px;padding-top:12px;display:grid}.service-images>header{justify-content:space-between;display:flex}.service-image-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.service-image-grid a{color:inherit;background:#fff;border:1px solid #e4d5c5;border-radius:12px;gap:7px;padding:7px;text-decoration:none;display:grid}.service-image-grid img{object-fit:cover;border-radius:8px;width:100%;height:120px}.service-image-grid span{gap:2px;display:grid}.service-image-grid small{color:#77685d}.service-images form{grid-template-columns:180px 1fr 1fr auto;align-items:end;gap:8px;display:grid}.service-images form label{gap:5px;display:grid}.service-images form input,.service-images form select{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:10px}.service-images form>small{color:var(--wine);grid-column:1/-1;font-weight:750}@media (width<=760px){.service-images form{grid-template-columns:1fr}.service-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-image-grid img{height:110px}}.customer-page{gap:18px;display:grid}.customer-summary{border:1px solid var(--line);background:linear-gradient(135deg,#fffaf3,#f3e8dc);border-radius:18px;align-items:baseline;gap:10px;padding:16px 20px;display:flex}.customer-summary b{color:var(--brown);font-family:Georgia,serif;font-size:32px}.customer-summary span{color:var(--muted)}.customer-form{background:#fffaf4;border:1px solid #dfcdb8;border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px;display:grid}.customer-form label{gap:7px;font-weight:700;display:grid}.customer-form input,.customer-form textarea{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;padding:12px}.customer-form textarea{resize:vertical;min-height:88px}.customer-form .customer-note{grid-column:1/-1}.customer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.customer-card{border:1px solid var(--line);background:#fff;border-radius:18px;gap:11px;padding:17px;display:grid;box-shadow:0 10px 28px #422a1a0f}.customer-card header{align-items:center;gap:10px;display:flex}.customer-card header>div:nth-child(2){flex:1;min-width:0}.customer-card h3{margin:0 0 3px;font-size:17px}.customer-card header small{color:var(--brown)}.customer-avatar{color:#fff;background:#8a5a38;border-radius:50%;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.customer-card p{color:#4d453f;align-items:flex-start;gap:9px;margin:0;display:flex}.customer-card p>b{width:20px}.customer-card a{color:#72452c;font-weight:700}.customer-card-note{background:#f8f2ea;border-radius:10px;padding:10px}.customer-card>small{color:var(--muted)}@media (width<=1050px){.customer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-form{grid-template-columns:1fr 1fr}}@media (width<=700px){.customer-page .toolbar{align-items:stretch}.customer-page .toolbar .primary{width:100%}.customer-grid,.customer-form{grid-template-columns:1fr}.customer-form .customer-note{grid-column:auto}.customer-card{padding:14px}}.customer-table-wrap{border:1px solid var(--line);background:#fff;border-radius:18px;width:100%;overflow-x:auto;box-shadow:0 10px 28px #422a1a0f}.customer-table{border-collapse:collapse;text-align:left;width:100%;min-width:1120px}.customer-table th{color:#5e3824;white-space:nowrap;background:#f1e6da;padding:13px 14px;font-size:13px}.customer-table td{vertical-align:top;color:#443d38;border-top:1px solid #eee3d8;padding:14px}.customer-table tbody tr:hover{background:#fffaf5}.customer-table td:nth-child(2){min-width:170px}.customer-table td:nth-child(4){min-width:210px}.customer-table td:nth-child(6){min-width:180px}.customer-table a{color:#75492f;font-weight:750}.customer-index{text-align:center;width:58px;font-weight:800}.customer-source{color:#75492f;white-space:nowrap;background:#f7eee4;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:750;display:inline-block}.table-empty{color:#99918a;font-style:italic}.customer-table small{white-space:nowrap;color:var(--muted)}.customer-actions{white-space:nowrap;gap:7px;display:flex}.customer-actions button{padding:8px 10px}.modal:has(.project-tasks){width:min(920px,100%)}.project-settings{border:1px solid var(--line);background:#faf6f1;border-radius:12px;margin:12px 0 16px}.project-settings>summary{cursor:pointer;color:#704a32;padding:12px 14px;font-weight:850}.project-settings>form,.project-settings>.assignment-editor{margin:0 12px 12px}.project-settings-actions{gap:8px;padding:0 12px 12px;display:flex}.project-settings-actions button{width:auto;margin:0}.compact-task-filters{border:1px solid var(--line);background:#f8f4ef;border-radius:11px;margin:0 0 12px}.compact-task-filters>summary{cursor:pointer;color:#704a32;padding:10px 12px;font-weight:800}.compact-task-filters>div{grid-template-columns:1fr 190px;gap:8px;padding:0 10px 10px;display:grid}.compact-task-filters input,.compact-task-filters select,.task-status-control select{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;padding:9px}.task-status-control{gap:3px;min-width:142px;display:grid}.task-status-control span{color:var(--muted);font-size:.61rem;font-weight:800}.task-status-control select{color:#5e3824;padding:7px 8px;font-size:.72rem;font-weight:750}.project-tasks .task-actions{align-items:end}.delete-project-note{color:#8a5a4f;padding:0 12px 12px;font-size:.68rem;display:block}.project-settings-actions .delete-project{color:#9b2d25;background:#fff0ee;border:1px solid #e4b1ab}.project-settings-actions .delete-project:hover{color:#fff;background:#9b2d25}@media (width<=700px){.compact-task-filters>div{grid-template-columns:1fr}.project-settings-actions{grid-template-columns:1fr 1fr;display:grid}.project-settings-actions button{width:100%}.task-status-control{min-width:0}.project-tasks .task-actions{grid-template-columns:1fr 1.25fr 70px!important}.project-tasks .task-actions .delete-task{padding-inline:6px}}.header-main{align-items:center;gap:13px;min-width:0;display:flex}.view-back{color:#704a32;white-space:nowrap;background:#fff8f1;border:1px solid #ddcbbb;border-radius:10px;align-items:center;gap:6px;max-width:190px;padding:9px 11px;font-weight:800;display:flex}.view-back span{text-overflow:ellipsis;overflow:hidden}.view-breadcrumb{color:#8b8179;align-items:center;gap:6px;margin-bottom:1px;font-size:.66rem;display:flex}.view-breadcrumb button{color:#704a32;background:0 0;border:0;padding:0;font-weight:800}.view-breadcrumb i{color:#b3aaa3;font-style:normal}.view-breadcrumb span{white-space:nowrap}.header-main>div{min-width:0}.header-main h1{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=900px){.workspace>header,.header-main{gap:8px}.view-back{justify-content:center;width:40px;min-width:40px;height:40px;padding:0;font-size:1.15rem}.view-back span{display:none}.view-breadcrumb{font-size:.6rem}.header-main .date{display:none}.header-main h1{font-size:1.08rem!important}.header-actions{gap:6px}}.task-actions .edit-task{width:auto;margin:0;padding:8px 10px}.edit-task-form .team-picker>div{max-height:180px;overflow:auto}.project-detail-actions .secondary{width:auto;margin:0}@media (width<=700px){.project-detail-actions{grid-template-columns:1fr 1fr!important}.project-detail-actions .primary{grid-column:auto!important}.project-detail-actions .secondary{width:100%}.project-tasks .task-actions{flex-wrap:wrap;display:flex!important}.project-tasks .task-actions>*{width:auto!important}.project-tasks .task-status-control{flex:145px}}@media (width<=900px){.company-dashboard{grid-template-columns:1fr 1fr}.dashboard-panel.quality{grid-column:1/-1}.quality-gauge{float:left;margin:0 18px 8px 0}.quality ul{padding-top:4px}}@media (width<=600px){.company-dashboard{grid-template-columns:1fr;gap:10px}.dashboard-panel.quality{grid-column:auto}.dashboard-panel{padding:14px}.dashboard-panel>header{margin-bottom:12px}.quality-gauge{width:82px;height:82px}.dashboard-big-number strong{font-size:2.2rem}}.progress-message:has(.pending-task-link){flex-wrap:wrap;align-items:center;gap:10px;display:flex}.progress-message small{font-size:.78rem}.pending-task-link{font-size:.72rem;margin:0!important;padding:8px 11px!important}.task-row.task-focus{outline-offset:3px;outline:3px solid #d5a24f;transition:box-shadow .25s,outline-color .25s;box-shadow:0 0 0 8px #d5a24f29}.inventory-module{color:#29231f;gap:16px;display:grid}.inventory-header{background:linear-gradient(135deg,#fffaf4 0%,#efe1d2 100%);border:1px solid #dac4ae;border-radius:20px;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;display:flex}.inventory-header h2{margin:3px 0 5px;font:800 clamp(1.25rem,2.2vw,2rem)/1.1 Georgia,serif}.inventory-header small,.inventory-toolbar small,.inventory-card>small{color:#77685c}.inventory-role,.inventory-badge{color:#704528;background:#f2e4d4;border-radius:999px;align-items:center;width:max-content;padding:5px 9px;font-size:.72rem;font-weight:800;display:inline-flex}.inventory-tabs{scrollbar-width:thin;gap:7px;padding:3px 1px 8px;display:flex;overflow-x:auto}.inventory-tabs button{color:#654631;background:#fff;border:1px solid #decdbc;border-radius:11px;flex:none;padding:10px 13px;font-weight:800}.inventory-tabs button.active{color:#fff;background:#754529;border-color:#754529}.inventory-loading,.inventory-empty{text-align:center;background:#fffaf5;border:1px dashed #cdbba8;border-radius:16px;place-items:center;gap:7px;min-height:130px;padding:22px;display:grid}.inventory-message{color:#2d6738;background:#eef8ef;border-radius:12px;justify-content:space-between;gap:10px;padding:11px 14px;font-weight:750;display:flex}.inventory-message button{color:inherit;background:0 0;border:0;font-size:1.2rem}.inventory-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.inventory-kpis article{background:#fff;border:1px solid #e2d3c3;border-radius:17px;grid-template-columns:auto 1fr;gap:2px 10px;padding:17px;display:grid}.inventory-kpis article>span{grid-row:1/3;font-size:1.5rem}.inventory-kpis small{color:#756960}.inventory-kpis b{font:800 1.25rem Georgia,serif}.inventory-kpis .warn{background:#fff8ea;border-color:#dd9b50}.inventory-grid,.ledger-layout,.master-layout{grid-template-columns:1.3fr 1fr;gap:14px;margin-top:14px;display:grid}.inventory-card,.inventory-form{background:#fff;border:1px solid #e0d0c0;border-radius:18px;padding:18px}.inventory-card h3,.inventory-toolbar h3,.inventory-form h3{margin:0 0 10px}.stock-bars{gap:12px;display:grid}.stock-bars label{gap:6px;display:grid}.stock-bars label>span{justify-content:space-between;gap:12px;font-size:.8rem;display:flex}.stock-bars i{background:#efe6dc;border-radius:99px;height:9px;overflow:hidden}.stock-bars em{border-radius:inherit;background:linear-gradient(90deg,#7b4c31,#c79968);height:100%;display:block}.inventory-alerts{gap:10px;margin:0 0 12px;padding:0;list-style:none;display:grid}.inventory-alerts li{background:#faf4ed;border-radius:11px;align-items:center;gap:12px;padding:10px;display:flex}.inventory-alerts b{color:#7a4a2e;min-width:36px;font:800 1.4rem Georgia,serif}.inventory-toolbar{justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px;display:flex}.inventory-toolbar form{flex-wrap:wrap;gap:7px;display:flex}.inventory-toolbar input{border:1px solid #d8c8b9;border-radius:10px;min-width:280px;padding:10px 12px}.inventory-table{background:#fff;border:1px solid #e1d3c4;border-radius:15px;width:100%;overflow:auto}.inventory-table table{border-collapse:collapse;width:100%;min-width:1040px;font-size:.8rem}.inventory-table th{color:#5f3c26;text-align:left;white-space:nowrap;background:#f1e5d8;padding:11px}.inventory-table td{vertical-align:top;border-top:1px solid #eee4da;padding:11px}.inventory-table tr.low-stock{background:#fff9ed}.inventory-table .positive{color:#28713b;font-weight:800}.inventory-table .negative{color:#a5352d;font-weight:800}.inventory-form{gap:14px;display:grid}.inventory-form>header{justify-content:space-between;gap:12px;display:flex}.inventory-form>header h3{margin-bottom:4px}.inventory-form label{color:#554238;gap:6px;font-size:.78rem;font-weight:800;display:grid}.inventory-form input,.inventory-form select,.inventory-form textarea{color:#2d2824;background:#fff;border:1px solid #d7c7b8;border-radius:10px;width:100%;padding:10px}.inventory-form textarea{resize:vertical;min-height:78px}.inventory-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;display:grid}.inventory-form-grid .span-2{grid-column:span 2}.inventory-form .wide{width:100%}.inventory-form.compact{align-content:start}.ledger-layout{grid-template-columns:minmax(300px,.72fr) 1.4fr}.master-layout{grid-template-columns:minmax(280px,.62fr) 1.4fr}.master-summary{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:9px;display:grid}.master-summary details{background:#fff;border:1px solid #e0d1c2;border-radius:13px;overflow:hidden}.master-summary summary{cursor:pointer;justify-content:space-between;padding:12px;font-weight:800;display:flex}.master-summary details small{color:#65584e;border-top:1px solid #f0e7de;padding:8px 12px;display:block}.inventory-note{background:#f8efe5;border-left:4px solid #a66b3f;border-radius:9px;gap:4px;margin-bottom:14px;padding:13px;display:grid}.legacy-materials{min-width:0}@media (width<=1100px){.inventory-kpis,.inventory-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-grid,.ledger-layout,.master-layout{grid-template-columns:1fr}}@media (width<=700px){.inventory-module{gap:11px}.inventory-header{align-items:flex-start;padding:15px}.inventory-role{flex-shrink:0}.inventory-tabs{margin-inline:-4px}.inventory-tabs button{padding:9px 10px;font-size:.76rem}.inventory-kpis{grid-template-columns:1fr 1fr;gap:8px}.inventory-kpis article{grid-template-columns:1fr;padding:12px}.inventory-kpis article>span{grid-row:auto}.inventory-kpis b{font-size:1rem}.inventory-grid{margin-top:9px}.inventory-card,.inventory-form{padding:13px}.inventory-toolbar{flex-direction:column;align-items:stretch}.inventory-toolbar form{grid-template-columns:1fr auto;display:grid}.inventory-toolbar input{min-width:0}.inventory-toolbar .primary{grid-column:1/-1}.inventory-form-grid{grid-template-columns:1fr}.inventory-form-grid .span-2{grid-column:auto}.master-summary{grid-template-columns:1fr}.inventory-table{margin-inline:0}.inventory-form>header{display:grid}.ledger-layout,.master-layout{margin-top:0}}.category-filter{gap:7px;margin:0 0 12px;padding:1px 1px 7px;display:flex;overflow-x:auto}.category-filter button{color:#68472f;background:#fff;border:1px solid #decdbc;border-radius:999px;flex:none;align-items:center;gap:7px;padding:8px 11px;font-weight:750;display:flex}.category-filter button.active{color:#fff;background:#7b4c31;border-color:#7b4c31}.category-filter b{color:#6c442c;background:#f2e3d4;border-radius:50%;place-items:center;min-width:22px;height:22px;font-size:.7rem;display:grid}.category-filter .active b{color:#6c442c;background:#fff}.inventory-table td small{color:#77685c;margin-top:4px;display:block}.wood-volume{background:linear-gradient(135deg,#f8efe5,#fffaf4);border:1px solid #d9c2a9;border-radius:13px;grid-template-columns:1fr auto;gap:3px 12px;padding:13px 15px;display:grid}.wood-volume span{color:#70462d;font-weight:800}.wood-volume b{color:#754529;grid-area:1/2/3;font:800 1.35rem Georgia,serif}.wood-volume small{color:#7a6b60}.material-scope-note{background:#f8efe5;border-left:4px solid #8a5a38;border-radius:10px;gap:4px;padding:13px 15px;display:grid}.material-scope-note b{color:#68422c}.material-scope-note span{color:#74665b;font-size:.8rem}.inventory-toolbar form .primary{display:none}.project-material-layout{grid-template-columns:minmax(360px,.85fr) minmax(520px,1.15fr);align-items:start;gap:14px;display:grid}.material-kind-switch{background:#f3e9de;border-radius:13px;grid-template-columns:1fr 1fr;gap:8px;padding:5px;display:grid}.material-kind-switch button{color:#704528;background:0 0;border:0;border-radius:10px;padding:11px;font-weight:850}.material-kind-switch button.active{color:#fff;background:#754529;box-shadow:0 5px 14px #5b341d2e}@media (width<=1100px){.project-material-layout{grid-template-columns:1fr}}@media (width<=700px){.project-material-layout{display:block}.project-material-layout>div{margin-top:12px}.material-kind-switch button{padding:10px 5px;font-size:.72rem}}.work-order-intro{background:#f8efe5;border-left:4px solid #a56c3f;border-radius:10px;gap:4px;padding:13px;display:grid}.work-order-intro span{color:#74665b;font-size:.78rem}.work-order-form textarea{min-height:92px}.work-order-sheet{background:#fffaf5;border:1px solid #dfcbb8;border-radius:14px;grid-column:1/-1;margin-top:8px;overflow:hidden}.work-order-sheet>summary{color:#68422c;cursor:pointer;padding:12px 14px;font-weight:850}.work-order-content{border-top:1px solid #eadbcd;grid-template-columns:minmax(180px,.6fr) 1.4fr;gap:14px;padding:14px;display:grid}.work-order-content>img{object-fit:cover;background:#eee;border-radius:12px;width:100%;max-height:260px}.work-order-content dl{grid-template-columns:1fr 1fr;gap:9px;margin:0;display:grid}.work-order-content dl div{background:#f5ece3;border-radius:9px;padding:9px}.work-order-content dt{color:#806651;font-size:.68rem;font-weight:800}.work-order-content dd{white-space:pre-wrap;margin:4px 0 0;font-size:.82rem}.work-order-result,.work-order-evaluate{background:#eef7ef;border-radius:11px;grid-column:1/-1;gap:8px;padding:12px;display:grid}.work-order-result span{white-space:pre-wrap}.work-order-evaluate{grid-template-columns:180px 1fr auto;align-items:end}.work-order-evaluate label{gap:5px;font-size:.72rem;font-weight:800;display:grid}.work-order-evaluate select,.work-order-evaluate textarea{background:#fff;border:1px solid #d7c7b8;border-radius:9px;width:100%;padding:9px}.work-order-evaluate textarea{min-height:68px}.work-order-evaluate small{color:#2d6738;grid-column:1/-1}@media (width<=700px){.work-order-content,.work-order-content dl,.work-order-evaluate{grid-template-columns:1fr}.work-order-content>img{max-height:210px}}.delivery-notes{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.delivery-note-form{background:#fffaf5;border:1px solid #dcc7b2;border-radius:16px;gap:13px;margin:12px 0 18px;padding:16px;display:grid}.delivery-note-form label{gap:5px;font-size:.74rem;font-weight:800;display:grid}.delivery-note-form input,.delivery-note-form select,.delivery-note-form textarea{background:#fff;border:1px solid #d8c8b9;border-radius:9px;width:100%;padding:9px}.delivery-customer{grid-template-columns:1fr .7fr .55fr;gap:9px;display:grid}.delivery-customer label:last-child{grid-column:1/-1}.delivery-items{gap:7px;display:grid}.delivery-item-head{justify-content:space-between;align-items:center;display:flex}.delivery-item-row{grid-template-columns:1.2fr 1.3fr 80px 80px 120px 120px 38px;align-items:center;gap:6px;display:grid}.delivery-item-row>b{text-align:right;font-size:.72rem}.delivery-item-row .danger{min-height:38px;padding:0}.delivery-form-total{background:#f0e2d3;border-radius:10px;justify-content:flex-end;align-items:center;gap:18px;padding:12px;display:flex}.delivery-form-total b{color:#754529;font-size:1.15rem}.delivery-note-list{gap:14px;display:grid}.delivery-note-print{color:#29231f;background:#fff;border:1px solid #d9c4ae;border-radius:16px;padding:18px}.delivery-note-print>header{border-bottom:2px solid #754529;justify-content:space-between;gap:18px;padding-bottom:13px;display:flex}.delivery-note-print>header>div:last-child{text-align:right}.delivery-note-print h3{color:#754529;margin:0 0 4px}.delivery-brand{display:grid}.delivery-brand>b{letter-spacing:.08em;color:#754529;font-size:1.25rem}.delivery-brand small{color:#7a6b60}.delivery-meta{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0;display:grid}.delivery-meta span{color:#76685d;gap:3px;font-size:.68rem;display:grid}.delivery-meta b{color:#29231f;font-size:.78rem}.delivery-note-print table{border-collapse:collapse;width:100%;font-size:.72rem}.delivery-note-print th,.delivery-note-print td{text-align:left;border:1px solid #d9cabb;padding:8px}.delivery-note-print th{background:#f1e5d8}.delivery-note-print td:nth-last-child(-n+3),.delivery-note-print th:nth-last-child(-n+3){text-align:right}.delivery-note-print tfoot{font-weight:850}.delivery-note-text{background:#fff7ed;padding:10px}.delivery-signatures{text-align:center;grid-template-columns:repeat(3,1fr);gap:14px;min-height:100px;padding-top:16px;display:grid}.delivery-signatures span{align-content:start;gap:6px;display:grid}.delivery-signatures small{color:#7b6e64}.delivery-note-print footer{border-top:1px solid #e4d8cb;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;display:flex}.delivery-status{color:#915d00;background:#fff0d7;border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:850}.delivery-status.status-Đã-giao{color:#197149;background:#e1f4e9}.delivery-note-print .no-print{gap:7px;display:flex}@media (width<=800px){.delivery-customer{grid-template-columns:1fr}.delivery-customer label:last-child{grid-column:auto}.delivery-item-row{grid-template-columns:1fr 1fr}.delivery-item-row input:first-child,.delivery-item-row input:nth-child(2){grid-column:1/-1}.delivery-item-row>b{text-align:left}.delivery-meta{grid-template-columns:1fr}.delivery-note-print{padding:12px;overflow:auto}.delivery-note-print table{min-width:720px}.delivery-signatures,.delivery-note-print footer{min-width:600px}}@media print{body *{visibility:hidden!important}.delivery-note-print.print-active,.delivery-note-print.print-active *{visibility:visible!important}.delivery-note-print.print-active{border:0;border-radius:0;width:100%;padding:12mm;position:absolute;inset:0}.delivery-note-print.print-active .no-print{display:none!important}}.project-progress-page{gap:15px;display:grid}.project-progress-page>.toolbar{margin-bottom:0}.progress-alert-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.progress-alert-summary button{text-align:left;color:var(--ink);background:#fffdf9;border:1px solid #dfd2c5;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:10px;padding:14px;display:grid;box-shadow:0 5px 15px #49301f0b}.progress-alert-summary button>span{color:#795037;background:#eee3d6;border-radius:10px;grid-row:1/3;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.progress-alert-summary button>b{color:#653c28;align-self:end;font:800 1.45rem Georgia,serif}.progress-alert-summary button>small{color:var(--muted);align-self:start;font-size:.68rem}.progress-alert-summary button.active{border-color:#a76c48;box-shadow:0 0 0 2px #975b381c}.progress-alert-summary button.on-track>span{color:#257142;background:#e5f2e7}.progress-alert-summary button.warning>span{color:#9b6509;background:#fff0d8}.progress-alert-summary button.danger>span{color:#a63b2d;background:#fbe5e2}.project-progress-filter{background:#faf6f0;border:1px solid #e2d6ca;border-radius:14px;justify-content:space-between;align-items:end;gap:10px;padding:12px;display:flex}.project-progress-filter input{border:1px solid var(--line);background:#fff;border-radius:10px;flex:1;min-width:0;padding:11px}.project-progress-filter label{gap:5px;font-size:.67rem;font-weight:850;display:grid}.project-progress-filter select{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:170px;padding:10px}.project-progress-list{gap:10px;display:grid}.project-progress-row{background:#fffdf9;border:1px solid #e3d8cc;border-left:4px solid #9b938b;border-radius:15px;gap:13px;padding:15px 16px;display:grid}.project-progress-row.alert-Đúng-tiến-độ{border-left-color:#378453}.project-progress-row.alert-Cần-chú-ý{border-left-color:#d19827}.project-progress-row.alert-Trễ-hạn{background:#fffaf8;border-left-color:#be4c3b}.project-progress-row.alert-Chưa-đặt-hạn{border-left-color:#93867a}.project-progress-row.alert-Đã-hoàn-thành{opacity:.82;border-left-color:#378453}.project-progress-row header{justify-content:space-between;gap:12px;display:flex}.project-progress-row header small{color:#815238;font-weight:800}.project-progress-row h3{margin:3px 0 4px;font-size:1.02rem}.project-progress-row p{color:var(--muted);margin:0;font-size:.74rem}.progress-alert-badge{white-space:nowrap;color:#6c625b;background:#eee8e2;border-radius:99px;height:max-content;padding:6px 9px;font-size:.65rem;font-weight:850}.progress-alert-badge.Đúng-tiến-độ,.progress-alert-badge.Đã-hoàn-thành{color:#28703e;background:#e2f2e5}.progress-alert-badge.Cần-chú-ý{color:#8d5904;background:#fff0d8}.progress-alert-badge.Trễ-hạn{color:#a23629;background:#fbe4e0}.project-progress-body{grid-template-columns:minmax(240px,1.45fr) minmax(190px,1fr) auto;align-items:center;gap:18px;display:grid}.project-progress-meter{gap:7px;display:grid}.project-progress-meter>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.project-progress-meter b{color:#704832;font:800 1.1rem Georgia,serif}.project-progress-meter span{color:var(--muted);font-size:.7rem}.project-progress-next{gap:3px;min-width:0;display:grid}.project-progress-next small{color:var(--muted);font-size:.65rem}.project-progress-next b{white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.project-progress-next span{color:#7d543b;background:#f3eadf;border-radius:99px;width:max-content;max-width:100%;margin-top:2px;padding:4px 8px;font-size:.65rem;font-weight:850}.alert-Trễ-hạn .project-progress-next span{color:#a23b2e;background:#fbe5e2}.alert-Cần-chú-ý .project-progress-next span{color:#8d5c05;background:#fff1d9}.project-progress-body .secondary{white-space:nowrap;width:max-content;margin:0}.project-progress-note{color:#76665b;background:#f4ede4;border-radius:11px;margin:0;padding:10px 12px;font-size:.7rem}.project-progress-note b{color:#704832}@media (width<=800px){.progress-alert-summary{grid-template-columns:1fr 1fr}.project-progress-filter{flex-direction:column;align-items:stretch}.project-progress-filter select{width:100%}.project-progress-body{grid-template-columns:1fr;gap:11px}.project-progress-body .secondary{width:100%}}.delivery-item-head>div{gap:3px;display:grid}.delivery-item-head small{color:var(--muted);font-weight:500}.delivery-item-card{background:#fff;border:1px solid #e1cdb9;border-radius:13px;gap:10px;padding:12px;display:grid}.delivery-item-card>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.delivery-item-card>header .danger{min-height:34px;padding:6px 10px}.delivery-item-fields{grid-template-columns:1.35fr 1fr 1.15fr 1fr 1fr .62fr .58fr .85fr;align-items:end;gap:8px;display:grid}.delivery-item-fields label{font-size:.68rem}.delivery-line-total{color:#75665a;border-top:1px dashed #dfcbb8;justify-content:flex-end;align-items:center;gap:14px;padding-top:8px;display:flex}.delivery-line-total b{color:#754529;font-size:.92rem}.delivery-note-print table{font-size:.66rem}.delivery-note-print th{white-space:nowrap}@media (width<=1100px){.delivery-item-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.delivery-field-name{grid-column:span 2}}@media (width<=800px){.delivery-item-head{align-items:flex-start;gap:10px}.delivery-item-fields{grid-template-columns:1fr 1fr}.delivery-field-name{grid-column:1/-1}.delivery-note-print table{min-width:1120px}}@media (width<=520px){.delivery-item-fields{grid-template-columns:1fr}.delivery-field-name{grid-column:auto}.delivery-item-head{display:grid}.delivery-item-head .secondary{width:100%}}.delivery-item-fields{grid-template-columns:1.35fr 1fr 1.15fr 1fr 1fr 1fr .62fr .58fr .85fr}.delivery-field-image small{text-overflow:ellipsis;white-space:nowrap;color:#347449;max-width:180px;display:block;overflow:hidden}.delivery-brand{align-items:center;gap:9px;display:flex}.delivery-brand>img{object-fit:cover;border-radius:9px;width:50px;height:50px}.delivery-brand>span{display:grid}.delivery-brand b{letter-spacing:.08em;color:#754529;font-size:1.25rem}.delivery-letter{gap:4px;margin:12px 0;display:grid}.delivery-letter p{margin:0;font-size:.76rem}.delivery-note-print th,.delivery-note-print td{vertical-align:middle}.delivery-note-print td small{color:#76685d;margin-top:3px;display:block}.delivery-product-photo{width:76px;text-align:center!important}.delivery-product-photo img{object-fit:cover;border-radius:5px;width:64px;height:52px;margin:auto;display:block}.delivery-note-text p{white-space:pre-line;margin:5px 0 0}.delivery-signatures{min-height:115px}.delivery-company-footer{color:#6e5e52;border-top:1px solid #e4d8cb;gap:3px;padding:9px 0;font-size:.67rem;display:grid}@media (width<=800px){.delivery-field-image{grid-column:1/-1}}@media (width<=520px){.delivery-field-image{grid-column:auto}}.progress-chart-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-chart-toolbar label{color:var(--muted);gap:5px;font-size:.67rem;font-weight:850;display:grid}.progress-chart-toolbar input{border:1px solid var(--line);color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:8px 10px}.project-progress-chart{background:#fffdf9;border:1px solid #e2d6ca;border-radius:14px;overflow:hidden}.project-chart-scroll{overflow:auto}.project-chart-head,.project-chart-row{min-width:max-content;display:grid}.project-chart-head{z-index:2;background:#f7efe6;border-bottom:1px solid #e2d6ca;position:sticky;top:0}.project-chart-head>b{z-index:3;background:#f7efe6;padding:11px 13px;font-size:.72rem;position:sticky;left:0}.project-chart-head>span{color:#89796d;border-left:1px solid #eadfd3;justify-items:center;gap:2px;min-height:44px;padding:6px 2px;font-size:.6rem;display:grid}.project-chart-head>span b{color:#63442f;font-size:.72rem}.project-chart-head>span.today{color:#704832;background:#f2d7b9}.project-chart-row{border-bottom:1px solid #eee5dc;min-height:62px}.project-chart-row:last-child{border-bottom:0}.project-chart-label{z-index:1;color:var(--ink);text-align:left;background:#fffdf9;border:0;border-right:1px solid #e8ddd1;align-content:center;gap:4px;padding:9px 13px;display:grid;position:sticky;left:0}.project-chart-label:hover{background:#fbf4ec}.project-chart-label b{text-overflow:ellipsis;white-space:nowrap;max-width:205px;font-size:.75rem;overflow:hidden}.project-chart-label small{color:var(--muted);font-size:.64rem}.project-chart-track{grid-template-columns:subgrid;background-image:repeating-linear-gradient(90deg,#0000 0 29px,#eee5dc 30px);align-items:center;display:grid}.project-chart-track>small{color:#9a8d81;grid-column:1/-1;padding-left:10px;font-size:.65rem}.project-chart-bar{color:#fff;cursor:pointer;background:linear-gradient(90deg,#4f845e,#77a66e);border:0;border-radius:7px;min-width:0;height:29px;margin:0 3px;font-weight:850;box-shadow:0 3px 7px #2e61351c}.project-chart-bar:hover{filter:brightness(.94)}.project-chart-bar.Cần-chú-ý{background:linear-gradient(90deg,#b77b16,#dba94d)}.project-chart-bar.Trễ-hạn{background:linear-gradient(90deg,#a63e31,#d36755)}.project-chart-bar.Chưa-đặt-hạn{background:linear-gradient(90deg,#82766c,#a69a8d)}.project-chart-bar.Đã-hoàn-thành{background:linear-gradient(90deg,#397447,#64a06b)}.project-chart-bar span{text-align:left;white-space:nowrap;padding:0 7px;font-size:.65rem;line-height:29px;display:block;overflow:hidden}@media (width<=800px){.progress-chart-toolbar{flex-direction:column;align-items:stretch}.progress-chart-toolbar .view-switcher{width:100%}.progress-chart-toolbar .view-switcher button{flex:1}.progress-chart-toolbar input{width:100%}.project-chart-head,.project-chart-row{min-width:1160px}.project-chart-label{width:230px}}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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:0}@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}
