/*! 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-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{.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)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.hidden\!{display:none!important}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform\!{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)!important}.resize{resize:both}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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,)}.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))}}:root{--blue:#2864e8;--bg:#f3f6fb;--line:#e4e9f1;--text:#192337}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input{font:inherit}.sidebar{color:#fff;z-index:30;background:linear-gradient(#132542,#0b1730);flex-direction:column;width:238px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #ffffff13;align-items:center;gap:12px;height:80px;padding:17px 21px;display:flex}.brand>i{background:linear-gradient(145deg,#ff5a35,#e42c22);border-radius:12px;place-items:center;width:42px;height:42px;font-style:normal;font-weight:800;display:grid;box-shadow:0 8px 20px #d931244f}.brand img{object-fit:contain;border-radius:10px;width:42px;height:42px;box-shadow:0 8px 20px #0b173055}.brand b,.brand span{display:block}.brand b{letter-spacing:1px;font-size:17px}.brand span{color:#a5b2c7;letter-spacing:2px;margin-top:2px;font-size:10px}.brand button{color:#fff;background:0 0;border:0;margin-left:auto;font-size:24px;display:none}.sidebar nav{flex:1;padding:13px 12px;overflow:auto}.sidebar nav section{margin-bottom:12px}.sidebar nav label{color:#71809a;letter-spacing:1.6px;padding:7px 12px;font-size:10px;display:block}.sidebar nav button{color:#afbbcc;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;width:100%;height:41px;padding:0 12px;display:flex}.sidebar nav button:hover{color:#fff;background:#ffffff0b}.sidebar nav button.active{background:var(--blue);color:#fff;box-shadow:0 7px 17px #07122688}.sidebar nav button i{width:19px;font-size:16px;font-style:normal}.sidebar nav button span{text-align:left;flex:1;font-size:13px}.sidebar nav button em{background:#ee4b4b;border-radius:9px;padding:2px 7px;font-size:9px;font-style:normal}.help{background:#ffffff0a;border:1px solid #ffffff10;border-radius:9px;align-items:center;gap:10px;margin:0 16px 10px;padding:11px;display:flex}.help>i{background:#253a59;border-radius:50%;place-items:center;width:29px;height:29px;font-style:normal;display:grid}.help b,.help span{font-size:10px;display:block}.help span{color:#8492a8;margin-top:3px}.version{text-align:center;color:#54647d;padding-bottom:14px;font-size:9px}.sidebar+main{min-height:100vh;margin-left:238px}.top{border-bottom:1px solid var(--line);z-index:15;background:#fff;align-items:center;height:70px;padding:0 29px;display:flex;position:sticky;top:0}.top>div>b,.top>div>span,.user b,.user span{display:block}.top>div>b{font-size:15px}.top>div>span{color:#99a3b2;margin-top:3px;font-size:10px}.top>section{align-items:center;gap:10px;margin-left:auto;display:flex}.top button.search{color:#8c97a8;text-align:left;background:#f8f9fc;border:1px solid #e1e6ed;border-radius:8px;width:260px;height:35px;font-size:10px}.bell{position:relative}.bell>button{background:#fff;border:1px solid #e1e6ed;border-radius:8px;width:36px;height:36px;position:relative}.bell>button i{background:#f04b4b;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:7px}.bell aside{border:1px solid var(--line);background:#fff;border-radius:10px;width:220px;padding:13px;position:absolute;top:44px;right:0;box-shadow:0 13px 35px #17243b25}.bell aside b{font-size:12px}.bell aside p{border-top:1px solid #eef1f4;padding-top:8px;font-size:10px}.avatar{color:#fff;background:linear-gradient(145deg,#3766df,#1c3c9e);border-radius:9px;place-items:center;width:35px;height:35px;font-size:12px;font-style:normal;display:grid}.user b{font-size:11px}.user span{color:#99a3b1;margin-top:3px;font-size:9px}.hamb{background:0 0;border:0;font-size:20px;display:none}.content{max-width:1550px;margin:auto;padding:25px 28px 40px}.hero,.module-title{justify-content:space-between;align-items:center;margin-bottom:21px;display:flex}.hero span,.module-title span{color:#8d98a8;font-size:10px}.hero h1,.module-title h1{margin:4px 0 7px;font-size:24px}.hero p,.module-title p{color:#7d899b;margin:0;font-size:11px}.hero p b{color:var(--blue)}.hero>button{color:#687588;background:#fff;border:1px solid #e1e6ed;border-radius:8px;padding:9px 13px;font-size:10px}.metrics{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:16px;display:grid}.metrics article{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:13px;min-height:100px;padding:18px;display:flex}.metrics article>i{border-radius:10px;place-items:center;width:44px;height:44px;font-size:18px;font-style:normal;display:grid}.metrics .blue{color:#2864e8;background:#eaf0ff}.metrics .cyan{color:#0ba7c9;background:#e4f7fb}.metrics .green{color:#12a575;background:#e4f8f0}.metrics .orange{color:#f07a35;background:#fff0e8}.metrics span,.metrics b,.metrics small{display:block}.metrics span{color:#8792a2;font-size:9px}.metrics b{margin:3px 0;font-size:21px}.metrics small{color:#18a578;font-size:8px}.grid{grid-template-columns:1.5fr 1fr;gap:16px;margin-bottom:16px;display:grid}.grid.lower{grid-template-columns:1.25fr 1fr}.panel{border:1px solid var(--line);background:#fff;border-radius:11px;padding:18px;box-shadow:0 2px 5px #20314708}.panel-head{justify-content:space-between;margin-bottom:14px;display:flex}.panel-head h2{margin:0;font-size:13px}.panel-head p{color:#99a3b2;margin:5px 0 0;font-size:9px}.panel-head button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:9px}.chart{background:repeating-linear-gradient(#edf1f5 0 1px,#0000 1px 42px);justify-content:space-around;align-items:end;gap:8px;height:190px;padding:10px 13px 0;display:flex}.month{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.bar{border-radius:4px 4px 2px 2px;flex-direction:column-reverse;width:100%;max-width:23px;display:flex;overflow:hidden}.bar i{background:#316bed;height:48%}.bar i:nth-child(2){background:#15acd0;height:30%}.bar i:nth-child(3){background:#43c59a;height:22%}.month small{color:#9aa4b2;margin-top:6px;font-size:8px}.legend{text-align:center;margin-top:11px;font-size:8px}.legend span{margin:0 9px}.legend span:first-child{color:#316bed}.legend span:nth-child(2){color:#15acd0}.legend span:last-child{color:#43c59a}.todo{border-top:1px solid #edf0f4;align-items:center;gap:10px;padding:10px 0;display:flex}.todo>i{color:#2e69e8;background:#eaf0ff;border-radius:8px;place-items:center;width:34px;height:34px;font-style:normal;display:grid}.todo>div{flex:1}.todo span,.todo b,.todo small{display:block}.todo span{color:#8792a3;font-size:8px}.todo b{margin:3px 0;font-size:10px}.todo small{color:#a0a9b5;font-size:8px}.todo em{color:#a8b1be;font-style:normal}.project{border-top:1px solid #edf0f4;padding:11px 0}.project>div{align-items:center;display:flex}.project>div b{font-size:10px}.project>div span{color:#9ba4b1;margin-left:10px;font-size:8px}.project>div em{color:#14a477;background:#e7f7f1;border-radius:9px;margin-left:auto;padding:3px 7px;font-size:8px;font-style:normal}.project p{background:#edf1f5;border-radius:4px;height:5px;margin:10px 0 5px;overflow:hidden}.project p i{background:var(--blue);height:100%;display:block}.project>small{color:#929dab;justify-content:space-between;font-size:8px;display:flex}.project>small b{color:#374355}.dept{border-top:1px solid #edf0f4;align-items:center;gap:10px;padding:15px 0;display:flex}.dept>i{color:#2864e8;background:#eaf0ff;border-radius:9px;place-items:center;width:39px;height:39px;font-style:normal;display:grid}.dept>div{flex:1}.dept b,.dept small,.dept strong{display:block}.dept b{font-size:10px}.dept small{color:#9ca6b4;margin-top:3px;font-size:8px}.dept strong{text-align:right;color:var(--blue);font-size:11px}.module-title h1{font-size:22px}.module-title>button{background:var(--blue);color:#fff;border:0;border-radius:8px;padding:10px 15px;font-size:10px;box-shadow:0 7px 16px #2864e83c}.stats{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px;display:grid}.stats article{border:1px solid var(--line);background:#fff;border-radius:9px;padding:14px 16px}.stats span,.stats b{display:block}.stats span{color:#929dac;font-size:9px}.stats b{margin-top:5px;font-size:18px}.data{padding:0;overflow:hidden}.toolbar{border-bottom:1px solid var(--line);justify-content:space-between;padding:13px 15px;display:flex}.toolbar label{color:#8994a5;border:1px solid #e0e5ed;border-radius:7px;align-items:center;width:250px;height:34px;padding:0 10px;display:flex}.toolbar input{border:0;outline:0;width:100%;margin-left:6px;font-size:10px}.toolbar button{color:#697589;background:#fff;border:1px solid #e0e5ed;border-radius:7px;height:34px;margin-left:6px;padding:0 12px;font-size:9px}.table{overflow:auto}table{border-collapse:collapse;width:100%;min-width:780px}th{text-align:left;color:#828d9d;border-bottom:1px solid var(--line);background:#f8f9fc;padding:11px 14px;font-size:9px;font-weight:500}td{color:#4c596b;border-bottom:1px solid #edf0f4;padding:14px;font-size:10px}td:first-child{color:#202a3a;font-weight:600}td button{color:var(--blue);background:0 0;border:0;font-size:9px}.status{color:#13a375;background:#e6f7f0;border-radius:11px;padding:3px 8px;font-size:8px}.status.pending{color:#f07837;background:#fff0e8}.data footer{color:#8b96a6;justify-content:space-between;padding:12px 15px;font-size:9px;display:flex}.data footer b{border:1px solid #e1e6ed;place-items:center;width:25px;height:24px;display:inline-grid}.data footer b.active{background:var(--blue);color:#fff}.toast{color:#fff;z-index:60;background:#132643;border-radius:9px;padding:12px 17px;font-size:10px;position:fixed;bottom:28px;right:28px;box-shadow:0 12px 30px #10203c4d}.scrim{display:none}@media (width<=1000px){.metrics{grid-template-columns:repeat(2,1fr)}.grid,.grid.lower{grid-template-columns:1fr}.top button.search{display:none}}@media (width<=720px){.sidebar{transition:all .2s;transform:translate(-100%)}.sidebar.open{transform:none}.brand button{display:block}.scrim{z-index:25;background:#09152e75;border:0;display:block;position:fixed;inset:0}.sidebar+main{margin-left:0}.top{height:62px;padding:0 14px}.hamb{margin-right:10px;display:block}.top>div>span,.user{display:none}.content{padding:18px 14px 35px}.hero,.module-title{align-items:flex-start}.hero>button{display:none}.metrics{gap:9px}.metrics article{gap:9px;min-height:89px;padding:12px}.metrics article>i{width:36px;height:36px}.metrics b{font-size:17px}.stats{grid-template-columns:repeat(2,1fr);gap:9px}.module-title>button{white-space:nowrap;padding:9px 11px}.toolbar{gap:8px}.toolbar label{width:100%}.toolbar>div{display:flex}.toolbar button{padding:0 9px}.panel{padding:14px}.chart{height:170px}.toast{bottom:18px;right:14px}.bell aside{right:-42px}.password-btn,.logout-btn{padding:6px 7px;font-size:10px}}@media (width<=430px){.metrics article{display:block}.metrics article>i{float:left;margin-right:8px}.metrics small{clear:both;padding-top:6px}.module-title p{max-width:210px}}.staff-summary{grid-template-columns:1fr 1fr;gap:15px;margin-bottom:16px;display:grid}.staff-summary button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:11px;align-items:center;padding:14px 18px;display:flex;box-shadow:0 2px 5px #20314708}.staff-summary button:hover{border-color:#b9cdfd}.staff-summary>button>i{width:38px;height:38px;color:var(--blue);background:#eaf0ff;border-radius:9px;place-items:center;margin-right:12px;font-size:17px;font-style:normal;display:grid}.staff-summary span{color:#8792a3;font-size:9px}.staff-summary span strong{color:#1d2839;margin-top:3px;font-size:16px;display:block}.staff-summary em{color:#7e8a9b;margin-left:auto;font-size:9px;font-style:normal}@media (width<=720px){.staff-summary{grid-template-columns:1fr;gap:9px}.staff-summary button{padding:12px}.staff-summary em{font-size:8px}}.login-page{background:linear-gradient(160deg,#0d1f3d,#132542 55%,#1a2f55);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border-radius:16px;width:min(400px,100%);padding:34px 30px;box-shadow:0 30px 70px #050f2255}.login-brand{text-align:center;margin-bottom:22px}.login-brand>i{color:#fff;background:linear-gradient(145deg,#ff5a35,#e42c22);border-radius:16px;place-items:center;width:60px;height:60px;font-size:26px;font-style:normal;font-weight:800;display:inline-grid;box-shadow:0 12px 26px #d931244f}.login-logo{object-fit:contain;border-radius:14px;width:64px;height:64px;display:inline-block;box-shadow:0 12px 26px #0d1f3d55}.login-brand h1{color:#152238;margin:12px 0 2px;font-size:21px}.login-brand p{color:#8792a3;letter-spacing:2px;margin:0;font-size:12px}.demo-enter{color:#2059cf;cursor:pointer;background:#eef4ff;border:1px solid #2864e8;border-radius:8px;width:100%;height:42px;margin-top:10px;font-weight:700}.demo-enter:hover{background:#e1ebff}.demo-badge{color:#ad6800;text-align:center;background:#fff7e6;border:1px solid #ffd591;border-radius:9px;margin-bottom:16px;padding:9px 12px;font-size:11px;line-height:1.7}.login-form{flex-direction:column;gap:13px;display:flex}.login-form label{flex-direction:column;gap:5px;display:flex}.login-form label span{color:#5a6678;font-size:12px;font-weight:600}.login-form input{border:1px solid var(--line);background:#f8fafd;border-radius:9px;outline:none;height:42px;padding:0 12px}.login-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2864e81f}.login-err{color:#d92d20;margin:0;font-size:12px}.login-ok{color:#079455;margin:0;font-size:12px;line-height:1.6}.login-btn{color:#fff;cursor:pointer;letter-spacing:4px;background:linear-gradient(135deg,#ff5a35,#e42c22);border:0;border-radius:9px;height:44px;margin-top:4px;font-size:15px;font-weight:700}.login-btn:disabled{opacity:.6}.login-switch{color:var(--blue);cursor:pointer;background:0 0;border:0;margin:16px auto 0;font-size:12px;display:block}.modal-mask{z-index:60;background:#09152e75;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:min(520px,100%);max-height:86vh;overflow:auto;box-shadow:0 30px 70px #050f2240}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-head b{font-size:16px}.modal-head button{color:#8a95a6;cursor:pointer;background:0 0;border:0;font-size:22px}.form-grid{grid-template-columns:1fr 1fr;gap:13px;padding:20px 22px;display:grid}.form-field{flex-direction:column;gap:5px;display:flex}.form-field.full{grid-column:1/-1}.form-field span{color:#5a6678;font-size:12px;font-weight:600}.form-field input,.form-field select{border:1px solid var(--line);background:#f8fafd;border-radius:8px;outline:none;height:38px;padding:0 11px;font-size:13px}.form-field input:focus,.form-field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2864e81f}.modal-actions{justify-content:flex-end;gap:10px;padding:0 22px 20px;display:flex}.btn-primary{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:8px;height:38px;padding:0 20px;font-size:13px}.btn-ghost{border:1px solid var(--line);color:#5a6678;cursor:pointer;background:#fff;border-radius:8px;height:38px;padding:0 20px;font-size:13px}.btn-primary:disabled{opacity:.6}.empty-hint{text-align:center;color:#97a1b3;padding:34px;font-size:13px}.logout-btn{color:#245bd2;cursor:pointer;background:#f2f6ff;border:1px solid #cfdcf8;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:600}.logout-btn:hover{background:#e7efff;border-color:#a9c0f3}.password-btn{color:#58677b;cursor:pointer;background:#fff;border:1px solid #dfe5ee;border-radius:7px;padding:7px 10px;font-size:11px}.password-btn:hover{background:#f7f9fc}.password-modal{width:min(430px,100vw - 24px)}.password-form{gap:12px;padding:18px 22px;display:grid}.password-form label{color:#596679;flex-direction:column;gap:6px;font-size:11px;display:flex}.password-form input{border:1px solid var(--line);border-radius:8px;outline:none;height:40px;padding:0 11px}.password-form input:focus{border-color:var(--blue)}.company-chip{border:1px solid var(--line);color:#33415c;background:#f0f4fb;border-radius:20px;align-items:center;gap:6px;padding:5px 11px;font-size:11px;display:flex}.nas-banner{color:#17634a;background:#effaf6;border:1px solid #bfe6d7;border-radius:10px;align-items:center;gap:14px;margin:-6px 0 16px;padding:13px 16px;display:flex}.nas-banner b{white-space:nowrap;font-size:12px}.nas-banner span{color:#4e7467;font-size:10px;line-height:1.6}.form-field input[type=file]{background:#f8fafd;height:auto;min-height:38px;padding:7px}.form-field input[type=file]::file-selector-button{color:#245bd2;cursor:pointer;background:#e8efff;border:0;border-radius:6px;margin-right:10px;padding:6px 10px}.clock-btns{gap:8px;display:flex}.clock-btns button{border:1px solid var(--blue);height:38px;color:var(--blue);cursor:pointer;background:#fff;border-radius:8px;padding:0 16px;font-size:13px;font-weight:600}.clock-btns button:hover:not(:disabled){background:var(--blue);color:#fff}.clock-btns button:disabled{opacity:.45;cursor:not-allowed}.link-btn{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.link-btn:hover{text-decoration:underline}@media (width<=720px){.clock-btns{flex-wrap:wrap}.clock-btns button{flex:1;padding:0 8px;font-size:12px}}.attendance-config{margin-bottom:16px}.attendance-form{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.attendance-form label{color:#5a6678;flex-direction:column;gap:5px;font-size:11px;display:flex}.attendance-form input,.attendance-form select{border:1px solid var(--line);background:#f8fafd;border-radius:8px;height:38px;padding:0 10px}.attendance-form .wide{grid-column:span 2}.attendance-actions{align-items:end;gap:8px;display:flex}.attendance-actions button{border:1px solid var(--blue);height:38px;color:var(--blue);cursor:pointer;background:#fff;border-radius:8px;padding:0 14px}.attendance-actions button.primary{background:var(--blue);color:#fff}.location-note{color:#697589;margin:10px 0 0;font-size:11px;line-height:1.6}@media (width<=720px){.attendance-form{grid-template-columns:1fr 1fr}.attendance-form .wide,.attendance-actions{grid-column:1/-1}.logout-btn{padding:6px 8px}}.approval-decision-modal{max-width:520px}.decision-switch{grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;display:grid}.decision-switch button{border:1px solid var(--line);color:#566176;cursor:pointer;background:#fff;border-radius:9px;height:42px;font-weight:600}.decision-switch button.active{color:#117344;background:#ecf9f2;border-color:#198754}.decision-switch button.active.reject{color:#b42332;background:#fff0f1;border-color:#dc3545}.approval-decision-modal textarea{resize:vertical;border:1px solid var(--line);min-height:100px;font:inherit;background:#f8fafd;border-radius:8px;padding:10px}.approval-action-button{color:#fff!important;background:#2864e8!important;border-color:#2864e8!important}.employee-hero{margin-bottom:16px}.employee-clock-shortcuts{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.employee-clock-shortcuts button{text-align:left;cursor:pointer;border:0;border-radius:14px;align-items:center;gap:12px;min-height:76px;padding:14px;display:flex}.employee-clock-shortcuts button.fixed{color:#fff;background:linear-gradient(135deg,#2864e8,#174dbe);box-shadow:0 9px 20px #2864e82d}.employee-clock-shortcuts button.field{color:#9a5b00;background:#fff8e9;border:1px solid #efd39e}.employee-clock-shortcuts button:disabled{opacity:.55;cursor:not-allowed}.employee-clock-shortcuts i{background:#ffffff24;border-radius:12px;place-items:center;width:42px;height:42px;font-size:22px;font-style:normal;display:grid}.employee-clock-shortcuts .field i{background:#ffe7ba}.employee-clock-shortcuts span,.employee-clock-shortcuts b,.employee-clock-shortcuts small{display:block}.employee-clock-shortcuts b{font-size:15px}.employee-clock-shortcuts small{opacity:.82;margin-top:4px;font-size:10px}.quick-clock{background:linear-gradient(135deg,#fff 0%,#f6f9ff 100%);padding:24px}.quick-clock-main{align-items:center;gap:14px;display:flex}.clock-icon{width:52px;height:52px;color:var(--blue);background:#eaf0ff;border-radius:16px;place-items:center;font-size:28px;display:grid}.quick-clock-main small{color:#8792a3;font-size:10px}.quick-clock-main h2{margin:3px 0;font-size:24px}.quick-clock-main p{color:#697589;margin:0;font-size:11px}.quick-clock-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px;display:grid}.quick-clock-grid>div{border:1px solid var(--line);background:#fff;border-radius:10px;padding:14px}.quick-clock-grid span,.quick-clock-grid b{display:block}.quick-clock-grid span{color:#8792a3;font-size:10px}.quick-clock-grid b{margin-top:5px;font-size:13px}.quick-clock-grid .done{background:#f0fbf7;border-color:#9edfc9}.quick-clock-grid .done b{color:#10976d}.clock-detail{color:var(--blue);cursor:pointer;background:0 0;border:0;margin:16px auto 0;font-size:11px;display:block}.employee-dashboard-shortcuts{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:18px 20px;display:flex}.employee-dashboard-shortcuts>div:first-child span{color:var(--blue);font-size:10px;font-weight:700}.employee-dashboard-shortcuts h2{margin:3px 0;font-size:20px}.employee-dashboard-shortcuts p{color:#778396;margin:0;font-size:10px}.employee-dashboard-shortcuts>div:last-child{gap:9px;display:flex}.employee-dashboard-shortcuts button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:9px;align-items:center;gap:8px;min-height:42px;padding:0 14px;display:flex}.employee-dashboard-shortcuts button.field{color:#965b00;background:#fff5df;border:1px solid #efd39e}.employee-dashboard-shortcuts button i{font-style:normal}@media (width<=720px){.employee-clock-shortcuts{grid-template-columns:1fr}.employee-clock-shortcuts button{min-height:68px}.quick-clock{padding:18px}.quick-clock-grid{grid-template-columns:repeat(2,1fr)}.quick-clock-main h2{font-size:21px}.employee-dashboard-shortcuts{flex-direction:column;align-items:flex-start}.employee-dashboard-shortcuts>div:last-child{grid-template-columns:1fr 1fr;width:100%;display:grid}.employee-dashboard-shortcuts button{justify-content:center;padding:0 9px;font-size:11px}}.attendance-toolbar>div{align-items:center;gap:7px;display:flex}.attendance-toolbar select{color:#526074;background:#fff;border:1px solid #e0e5ed;border-radius:7px;min-width:160px;height:34px;padding:0 9px;font-size:10px}.attendance-toolbar button{margin-left:0}@media (width<=720px){.attendance-toolbar{align-items:flex-start;gap:8px}.attendance-toolbar>div{flex-wrap:wrap;justify-content:flex-end}.attendance-toolbar select{min-width:135px;max-width:165px}}.staff-actions{white-space:nowrap;vertical-align:middle;text-align:center}.management-actions-heading{text-align:center}.staff-actions button{color:var(--blue);cursor:pointer;background:#edf3ff;border-radius:6px;padding:5px 9px}.staff-actions .danger-action{color:#d83b3b;background:#fff0f0}.staff-actions button:disabled{opacity:.4;cursor:not-allowed}.staff-actions button+button{margin-left:6px}.staff-edit-modal{width:min(1040px,100vw - 28px);max-height:90vh;overflow:auto}.permission-edit{border-top:1px solid var(--line);margin-top:16px;padding-top:15px}.permission-edit>b{font-size:13px}.permission-edit>p{color:#7f8b9d;margin:5px 0 12px;font-size:10px}.permission-matrix{border:1px solid var(--line);border-radius:9px;overflow:auto}.permission-row{border-top:1px solid #edf0f4;grid-template-columns:minmax(110px,1fr) repeat(7,58px);align-items:center;min-width:560px;min-height:40px;padding:0 10px;display:grid}.permission-row:first-child{border-top:0}.permission-row b{font-size:11px}.permission-row span,.permission-row input{justify-self:center}.permission-row.head{color:#778396;z-index:1;background:#f7f9fc;font-size:10px;position:sticky;top:0}.field-shortcut{color:#a86400;cursor:pointer;background:#fff8e9;border:1px solid #e59b29;border-radius:11px;width:100%;height:44px;font-size:13px;font-weight:700}.field-punch-panel{border-color:#f1d6a6;margin-bottom:16px}.field-punch-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.field-punch-form label{color:#5a6678;flex-direction:column;gap:6px;font-size:11px;display:flex}.field-punch-form input{border:1px solid var(--line);background:#f8fafd;border-radius:8px;height:39px;padding:7px 10px}.field-punch-form button{height:39px}.photo-ready{color:#10976d;margin:10px 0 0;font-size:11px}@media (width<=720px){.field-punch-form{grid-template-columns:1fr}.field-punch-form button{height:48px}}.table{-webkit-overflow-scrolling:touch;max-width:100%}@media (width<=720px){html,body{max-width:100%;overflow-x:hidden}.sidebar+main,main,.content,.grid,.panel,.data{min-width:0;max-width:100%}.content{padding:14px 10px 30px}.top{padding:0 10px}.top>section{gap:6px}.top button.search{display:none}.avatar{width:31px;height:31px}.hero,.module-title{margin-bottom:15px;display:block}.hero h1,.module-title h1{font-size:21px;line-height:1.25}.module-title>button{width:100%;height:42px;margin-top:12px}.metrics{grid-template-columns:1fr 1fr}.metrics article,.metrics article>div{min-width:0}.metrics b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.grid,.grid.lower{grid-template-columns:1fr}.panel{border-radius:9px}.stats{grid-template-columns:1fr 1fr}.stats article{min-width:0}.stats b{overflow-wrap:anywhere;font-size:15px}.toolbar{flex-direction:column;align-items:stretch;padding:11px;display:flex}.toolbar label{width:100%;height:40px}.toolbar>div{justify-content:flex-end;width:100%}.toolbar button{height:38px}.attendance-toolbar>div{justify-content:stretch}.attendance-toolbar select{flex:1;min-width:0;max-width:none;height:40px}.attendance-toolbar button{flex:none}.table{border-top:1px solid #edf0f4;width:100%;max-width:100%;overflow-x:auto}.table table{width:max-content;min-width:100%}.table th,.table td{white-space:nowrap;padding:12px 11px;font-size:11px}.table th:first-child,.table td:first-child{z-index:2;background:#fff;position:sticky;left:0;box-shadow:2px 0 4px #20314712}.table th:first-child{z-index:3;background:#f8f9fc}.data footer{font-size:10px}.staff-actions{display:table-cell}.staff-actions button+button{margin-left:5px}.staff-actions button{min-height:32px}.attendance-form{grid-template-columns:1fr}.attendance-form .wide,.attendance-actions{grid-column:1}.attendance-actions{flex-direction:column;align-items:stretch}.attendance-actions button{width:100%;height:44px}.form-grid{grid-template-columns:1fr}.modal{width:calc(100vw - 20px);max-height:92vh;overflow:auto}.permission-grid{grid-template-columns:1fr 1fr}.quick-clock-main{align-items:flex-start}.quick-clock-main p{line-height:1.55}.quick-clock-grid>div{min-width:0}.quick-clock-grid b{white-space:nowrap}.field-punch-panel{padding:15px}}.employee-portal{background:#f4f7fb;min-height:100vh;padding-bottom:78px}.employee-top{color:#fff;z-index:20;background:linear-gradient(135deg,#142744,#0c1830);align-items:center;gap:11px;height:68px;padding:0 16px;display:flex;position:sticky;top:0}.employee-top img{border-radius:10px;width:40px;height:40px}.employee-top b,.employee-top span{display:block}.employee-top b{font-size:16px}.employee-top span{color:#aebbd0;margin-top:3px;font-size:10px}.employee-portal>main{max-width:720px;margin:auto;padding:18px 14px}.employee-portal .hero{margin-bottom:14px}.employee-portal .hero h1{font-size:23px}.employee-bottom{z-index:30;height:66px;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #e2e7ef;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.employee-bottom button{color:#8995a7;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex}.employee-bottom button i{font-size:18px;font-style:normal}.employee-bottom button span{font-size:10px}.employee-bottom button.active{color:var(--blue);font-weight:700}.employee-page>header{margin-bottom:15px}.employee-page>header span{color:#8b97a8;font-size:10px}.employee-page>header h1{margin:4px 0 6px;font-size:23px}.employee-page>header p{color:#7b8798;margin:0;font-size:11px}.employee-list{padding:5px 16px}.employee-list article{border-bottom:1px solid #edf0f4;align-items:center;gap:12px;padding:15px 0;display:flex}.employee-list article:last-child{border-bottom:0}.employee-list article>div{flex:1;min-width:0}.employee-list b,.employee-list small{display:block}.employee-list b{font-size:13px}.employee-list small{color:#929cac;margin-top:5px;font-size:10px}.employee-list article>span{font-size:11px}.employee-profile{text-align:center;padding:25px 20px}.employee-profile>i{background:var(--blue);color:#fff;border-radius:20px;place-items:center;width:66px;height:66px;margin:auto;font-size:26px;font-style:normal;display:grid}.employee-profile h2{margin:12px 0 4px}.employee-profile>p{color:#8792a3;font-size:11px}.employee-profile>div{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;margin:18px 0;padding:16px 3px;font-size:12px;display:flex}.employee-profile button{width:100%;height:45px;color:var(--blue);background:#edf3ff;border:1px solid #cad8f7;border-radius:9px;margin-top:9px;font-weight:600}.employee-profile button.employee-logout{color:#c43b3b;background:#fff3f3;border-color:#f2cccc}.employee-loading{color:#8792a3;place-items:center;min-height:100vh;display:grid}.employee-page-actions{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.employee-page-actions>div{min-width:0}.employee-page-actions>button{background:var(--blue);color:#fff;border:0;border-radius:9px;flex:none;padding:10px 13px;font-size:12px;font-weight:700}.employee-apply-form{gap:13px;margin-bottom:13px;padding:16px;display:grid}.employee-apply-form label{color:#647086;gap:6px;font-size:11px;display:grid}.employee-apply-form input,.employee-apply-form select{color:#1d2b3f;background:#fff;border:1px solid #dbe2ec;border-radius:9px;width:100%;height:43px;padding:0 11px;font-size:13px}.employee-apply-form>button{background:var(--blue);color:#fff;border:0;border-radius:9px;height:44px;font-weight:700}.employee-apply-form>button:disabled{opacity:.55}.employee-page>.save-notice,.employee-page>.form-error{margin:0 0 13px}.employee-apply-form input[type=file]{height:auto;padding:8px}.application-file-button{color:var(--blue);background:#fff;border:1px solid #c9d6eb;border-radius:7px;padding:6px 8px;font-size:10px}.approval-create-modal{width:min(620px,100vw - 24px)}.approval-create-modal .form-field small{color:#8490a1;font-size:10px;line-height:1.5}.approval-create-modal>.form-error{margin:0 22px 12px}.module-secondary-action{align-items:center;gap:12px;margin:-4px 0 16px;display:flex}.module-secondary-action button{color:#a95408;background:#fff8ef;border:1px solid #df7e27;border-radius:8px;height:38px;padding:0 15px;font-weight:700}.module-secondary-action span{color:#8490a1;font-size:10px}.seal-use-modal{width:min(650px,100vw - 24px)}.seal-use-modal>.form-error{margin:0 22px 12px}.checkbox-field>label{color:#354258;align-items:center;gap:8px;height:38px;display:flex}.checkbox-field input{width:16px;height:16px;accent-color:var(--blue)}.seal-use-records{margin-top:16px}.seal-use-records .panel-head{padding:16px 20px}@media (width<=720px){.module-secondary-action{flex-direction:column;align-items:stretch}.module-secondary-action button{height:44px}.module-secondary-action span{text-align:center}}.finance-create-modal{width:min(680px,100vw - 24px)}.finance-create-modal>.form-error{margin:0 22px 12px}.finance-create-modal .form-field small{color:#8490a1;font-size:10px;line-height:1.5}.approval-flow-modal{width:min(820px,100vw - 24px)}.approval-flow-modal>.form-error{margin:0 22px 12px}.flow-nodes{margin:0 22px 18px}.flow-nodes-title{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.flow-nodes-title b,.flow-nodes-title small{display:block}.flow-nodes-title small{color:#8490a1;margin-top:3px;font-size:10px}.flow-nodes-title button{height:34px;color:var(--blue);background:#f1f5ff;border:1px solid #c8d6ee;border-radius:7px}.flow-nodes article{border:1px solid var(--line);background:#fafbfd;border-radius:9px;grid-template-columns:32px 1.2fr 1fr 1fr auto;align-items:end;gap:9px;margin-bottom:8px;padding:11px;display:grid}.flow-nodes article>i{background:var(--blue);color:#fff;border-radius:50%;place-items:center;width:27px;height:27px;margin-bottom:5px;font-style:normal;display:grid}.flow-nodes article label{gap:4px;display:grid}.flow-nodes article label span{color:#718096;font-size:10px}.flow-nodes article input,.flow-nodes article select{border:1px solid var(--line);background:#fff;border-radius:7px;height:36px;padding:0 8px}.flow-nodes article>button{border:0;border-radius:7px;height:36px;padding:0 10px}.flow-cc{background:#f7f9ff;border:1px solid #c8d6ee;border-radius:9px;margin-top:14px;padding:14px}.flow-cc>div:first-child b,.flow-cc>div:first-child small{display:block}.flow-cc>div:first-child small{color:#718096;margin-top:3px;font-size:10px}.flow-cc>div:last-child{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.flow-cc label{border:1px solid var(--line);background:#fff;border-radius:7px;grid-auto-flow:column;align-items:center;gap:5px;padding:7px 9px;display:flex!important}.flow-cc label input{width:16px;height:16px}.flow-cc label small{color:#8490a1}.approval-flow-list{margin-top:16px}.approval-flow-list .panel-head{padding:16px 20px}@media (width<=720px){.flow-nodes article{grid-template-columns:28px 1fr}.flow-nodes article label,.flow-nodes article>button{grid-column:2}.approval-flow-modal{max-height:94vh}}.contract-create-modal{width:min(650px,100vw - 24px)}.contract-create-modal>.form-error{margin:0 22px 12px}.contract-create-modal .form-field small{color:#8490a1;font-size:10px}.contract-category{grid-template-columns:1fr 1fr;gap:8px;padding:16px 22px 0;display:grid}.contract-category button{border:1px solid var(--line);color:#627086;background:#f7f9fc;border-radius:8px;height:40px;font-weight:700}.contract-category button.active{border-color:var(--blue);color:var(--blue);background:#edf3ff}.contract-files-modal{width:min(720px,100vw - 24px)}.contract-file-summary{border-bottom:1px solid var(--line);gap:12px;padding:14px 22px;font-size:12px;display:flex}.contract-file-summary span{color:#7b8798}.contract-upload{background:#f7faff;border:1px dashed #b8c8e4;border-radius:10px;grid-template-columns:1fr auto;gap:10px;margin:16px 22px;padding:16px;display:grid}.contract-upload input{min-width:0}.contract-upload button{background:var(--blue);color:#fff;border:0;border-radius:8px;padding:0 15px;font-weight:700}.contract-upload button:disabled{opacity:.5}.contract-upload small{color:#8390a2;grid-column:1/-1}.contract-files-modal>.save-notice,.contract-files-modal>.form-error{margin:0 22px 12px}.contract-file-list{border:1px solid var(--line);border-radius:10px;margin:0 22px;overflow:hidden}.contract-file-list article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px;display:grid}.contract-file-list article:last-child{border-bottom:0}.contract-file-list article>div{min-width:0}.contract-file-list b,.contract-file-list small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.contract-file-list b{font-size:12px}.contract-file-list small{color:#8b96a6;margin-top:4px;font-size:10px}.contract-file-list article>span{color:#67758a;font-size:10px}.contract-file-actions{gap:6px;display:flex}.contract-file-actions button{color:var(--blue);white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #c9d6eb;border-radius:7px;padding:7px 9px;font-size:10px}.contract-file-actions button:last-child{background:#edf3ff}.contract-file-list>.empty-hint{padding:30px 16px}@media (width<=600px){.contract-upload{grid-template-columns:1fr}.contract-upload button{height:40px}.contract-file-list article{grid-template-columns:minmax(0,1fr) auto}.contract-file-list article>span{display:none}.contract-file-actions{flex-direction:column}}.contract-archive-modal{width:min(590px,100vw - 24px)}.contract-archive-modal>.form-error{margin:0 22px 12px}.archive-assignee-hint{color:#61708a;background:#f4f7ff;border:1px solid #c8d6ee;border-radius:8px;grid-column:1/-1;padding:12px;font-size:11px}.archive-assignee-hint b{color:#1e3260}@media (width>=721px){.employee-portal>main{padding-top:28px}.employee-bottom{border-left:1px solid #e2e7ef;border-right:1px solid #e2e7ef;width:720px;left:50%;right:auto;transform:translate(-50%)}.employee-top{justify-content:center}.employee-top>div{width:650px}}.permission-grid{grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px;display:grid}.permission-grid label{border:1px solid var(--line);background:#f8fafd;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:11px;display:flex}.permission-grid input{accent-color:var(--blue)}@media (width<=720px){.permission-grid{grid-template-columns:repeat(2,1fr)}}.save-notice{color:#087a55;background:#edf9f4;border:1px solid #a9e4cb;border-radius:8px;margin-top:13px;padding:10px 12px;font-size:12px;font-weight:600}.save-notice.error{color:#c33128;background:#fff2f0;border-color:#f3b4ae}@media (width<=720px){.nas-banner{flex-direction:column;align-items:flex-start;gap:4px}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}body{width:100%;min-width:0}.sidebar+main{width:calc(100% - 238px);min-width:0}.content{width:100%}.table{overscroll-behavior-inline:contain;scrollbar-gutter:stable;touch-action:pan-x pan-y}.form-field,.form-field input,.form-field select,.form-field textarea{min-width:0;max-width:100%}@media (width>=1280px){.content{max-width:1680px;padding:28px 34px 44px}.panel{padding:20px}.data{padding:0}.table th{padding:12px 15px;font-size:10px}.table td{padding:15px;font-size:11px}.toolbar input,.toolbar button{font-size:10px}.hero h1,.module-title h1{font-size:25px}}@media (width<=720px){body{font-size:14px}.sidebar+main{width:100%;margin-left:0}.top{width:100%;min-width:0;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));overflow:hidden}.top>div{min-width:0}.top>div>b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.top>section{min-width:0}.company-chip{display:none}.content{width:100%;padding:12px 8px calc(28px + env(safe-area-inset-bottom))}.panel,.data,.stats,.metrics,.grid,.module-title,.toolbar{width:100%;min-width:0}.panel{padding:13px}.data{padding:0}.module-title p,.hero p{overflow-wrap:anywhere;line-height:1.6;max-width:none!important}.module-title>button{white-space:normal;max-width:100%}.metrics,.stats{gap:8px}.metrics article,.stats article{min-width:0;padding:11px}.toolbar>div{flex-wrap:wrap;gap:6px;display:flex}.toolbar button{flex:1;min-width:68px;margin-left:0}.table{width:100%;max-width:100%;padding-bottom:3px;display:block;overflow-y:hidden;overflow-x:auto!important}.table table{width:max-content;min-width:680px}.table th,.table td{padding:11px 9px;font-size:10px}.table th:first-child,.table td:first-child{text-overflow:ellipsis;max-width:150px;overflow:hidden}.staff-actions button{white-space:nowrap;min-height:34px}.modal-mask{padding:8px;overflow-y:auto}.modal{margin:auto;width:100%!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important}.modal-head,.modal-actions,.form-grid,.password-form,.contract-file-summary{padding-left:14px;padding-right:14px}.contract-upload,.contract-file-list,.flow-nodes{margin-left:14px;margin-right:14px}.employee-portal{width:100%;padding-bottom:calc(72px + env(safe-area-inset-bottom));overflow-x:hidden}.employee-portal>main{width:100%;max-width:100%;padding:14px 9px}.employee-top{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.employee-bottom{height:calc(66px + env(safe-area-inset-bottom))}.employee-page-actions{align-items:flex-start}.employee-page-actions>button{white-space:nowrap}.quick-clock-main,.quick-clock-main>div{min-width:0}.quick-clock-main h2{overflow-wrap:anywhere}.field-punch-form input,.employee-apply-form input,.employee-apply-form select{min-width:0;max-width:100%}.toast{left:10px;right:10px;bottom:calc(14px + env(safe-area-inset-bottom));text-align:center}}@media (width<=390px){.password-btn{display:none}.top>section{gap:5px}.metrics,.stats{grid-template-columns:1fr 1fr}.metrics article{display:flex}.metrics article>i{float:none;flex:0 0 34px;margin-right:0}.metrics small{clear:none;padding-top:0}.quick-clock{padding:14px}.quick-clock-grid{gap:7px}.quick-clock-grid>div{padding:11px 9px}.permission-grid{grid-template-columns:1fr}.employee-list{padding:4px 11px}.employee-list article{gap:8px}.employee-list article>span{white-space:nowrap}}.todo[role=button]{cursor:pointer;border-radius:8px;padding-left:6px;padding-right:6px;transition:background .15s}.todo[role=button]:hover,.todo[role=button]:focus-visible{outline-offset:1px;background:#f3f7ff;outline:2px solid #d7e3ff}.hero-date{color:#687588;background:#fff;border:1px solid #e1e6ed;border-radius:8px;padding:9px 13px;font-size:10px}.metrics article[role=button],.project[role=button]{cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.metrics article[role=button]:hover,.metrics article[role=button]:focus-visible,.project[role=button]:hover,.project[role=button]:focus-visible{outline-offset:1px;border-color:#b9cdfd;outline:2px solid #d7e3ff;box-shadow:0 8px 24px #2864e817}.metrics article[role=button]:active,.project[role=button]:active{transform:translateY(1px)}@media (width<=720px){.hero-date{display:none}}.sales-module{max-width:1680px;margin:auto}.sales-kpis{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px;display:grid}.sales-kpis article{border:1px solid var(--line);background:#fff;border-radius:11px;padding:17px 18px;box-shadow:0 3px 12px #172d4b08}.sales-kpis span,.sales-kpis small{color:#8490a1;font-size:10px;display:block}.sales-kpis b{color:#1d2b3f;margin:8px 0 5px;font-size:21px;display:block}.sales-kpis article.warn{background:#fffaf1;border-color:#f0c88b}.sales-kpis article.warn b{color:#b86408}.sales-tabs{padding:0;overflow:hidden}.sales-tab-buttons{border-bottom:1px solid var(--line);gap:4px;padding:12px 14px 0;display:flex;overflow-x:auto}.sales-tab-buttons button{color:#748096;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;height:40px;padding:0 18px}.sales-tab-buttons button.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:700}.sales-toolbar{background:#fafbfd;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.sales-toolbar label{border:1px solid var(--line);color:#8b96a7;background:#fff;border-radius:8px;align-items:center;gap:8px;width:min(430px,65%);height:38px;padding:0 10px;display:flex}.sales-toolbar input{border:0;outline:0;flex:1;min-width:0}.sales-toolbar button,.sales-lines-head button{height:35px;color:var(--blue);background:#f2f6ff;border:1px solid #cbd8ec;border-radius:7px;padding:0 12px}.sales-tabs>.save-notice,.sales-tabs>.form-error{justify-content:space-between;align-items:center;margin:0 15px 12px;display:flex}.sales-tabs>.save-notice button,.sales-tabs>.form-error button{color:inherit;background:0 0;border:0}.sales-table{-webkit-overflow-scrolling:touch;width:100%;overflow:auto}.sales-table table{border-collapse:collapse;width:100%;min-width:1050px}.sales-table th{border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;color:#738096;white-space:nowrap;background:#f7f9fc;padding:11px 12px;font-size:10px}.sales-table td{vertical-align:middle;border-bottom:1px solid #edf0f4;padding:13px 12px;font-size:11px}.sales-table td b,.sales-table td small{display:block}.sales-table td small{color:#8b96a7;margin-top:4px;font-size:9px}.sales-table tr.low-stock{background:#fffaf2}.sales-table tr:hover{background:#f9fbff}.sales-badge{color:#315bb5;white-space:nowrap;background:#eef3ff;border-radius:20px;padding:5px 9px;font-size:9px;display:inline-flex}.sales-badge.done{color:#087a55;background:#e8f7f0}.qty-in{color:#087a55;font-weight:700}.qty-out{color:#c14436;font-weight:700}.row-actions{flex-wrap:wrap;gap:5px;min-width:180px;display:flex}.row-actions button,.small-primary{color:var(--blue);white-space:nowrap;background:#fff;border:1px solid #cad7eb;border-radius:6px;padding:6px 8px;font-size:9px}.row-actions .small-primary,.small-primary{border-color:var(--blue);background:var(--blue);color:#fff}.sales-modal{width:min(980px,100vw - 24px)}.sales-modal>.form-error{margin:0 22px 12px}.sales-lines{border:1px solid var(--line);border-radius:10px;margin:0 22px 18px;overflow:hidden}.sales-lines-head{background:#f6f8fb;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.sales-line{border-top:1px solid var(--line);grid-template-columns:minmax(250px,2fr) 90px 110px 100px auto;align-items:center;gap:8px;padding:9px 11px;display:grid}.sales-line select,.sales-line input{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:0;height:37px;padding:0 8px}.sales-line>span{text-align:right;font-size:10px;font-weight:700}.sales-line>button{border:0;border-radius:6px;height:34px;padding:0 9px}.sales-line>small{color:#8a95a6;grid-column:1/-1;font-size:9px}.sales-modal .modal-actions>span{margin-right:auto;font-size:11px}.sales-modal .modal-actions>span b{font-size:15px}.sales-modal textarea{min-height:74px}@media (width<=900px){.sales-kpis{grid-template-columns:1fr 1fr}.sales-table table{min-width:980px}.sales-line{grid-template-columns:minmax(190px,2fr) 80px 95px 85px auto}}@media (width<=720px){.sales-module .module-title{padding:0 4px}.sales-kpis{gap:8px}.sales-kpis article{padding:12px}.sales-kpis b{font-size:16px}.sales-tab-buttons{padding-left:8px}.sales-tab-buttons button{padding:0 13px}.sales-toolbar{flex-direction:column;align-items:stretch}.sales-toolbar label{width:100%}.sales-toolbar button{width:100%;height:40px}.sales-table table{min-width:920px}.sales-lines{margin-left:14px;margin-right:14px;overflow-x:auto}.sales-lines-head{position:sticky;left:0}.sales-line{min-width:760px}.sales-modal .modal-actions{flex-wrap:wrap}.sales-modal .modal-actions>span{width:100%;margin-bottom:8px}.sales-modal input[type=file]{height:auto;padding:8px}}.force-delete-action{color:#fff!important;background:#7f1d1d!important;border-radius:6px!important;margin-left:5px!important;padding:6px 9px!important}.system-maintenance{max-width:1100px}.maintenance-summary{background:linear-gradient(135deg,#fff8ed,#fff);margin-bottom:16px}.maintenance-summary>div{align-items:center;gap:14px;display:flex}.maintenance-summary i{color:#c56a00;background:#fff0d5;border-radius:12px;place-items:center;width:48px;height:48px;font-size:22px;font-style:normal;display:grid}.maintenance-summary span,.maintenance-summary p{color:#7b8798;font-size:10px}.maintenance-summary h2{margin:3px 0;font-size:17px}.maintenance-grid{grid-template-columns:1fr 1.3fr;gap:16px;margin-bottom:16px;display:grid}.maintenance-card{position:relative}.maintenance-card h2{margin:10px 0;font-size:17px}.maintenance-card p,.maintenance-card li{color:#647084;font-size:11px;line-height:1.8}.maintenance-card ul{margin:8px 0 0;padding-left:19px}.maintenance-tag{border-radius:20px;padding:4px 9px;font-size:9px;display:inline-flex}.maintenance-tag.safe{color:#08765a;background:#e5f8f0}.maintenance-tag.danger{color:#b42318;background:#fff0ee}.danger-zone{border-color:#f5c9c4}.danger-zone label{color:#6b7483;margin-top:14px;font-size:10px;display:block}.danger-zone label b{color:#b42318}.danger-zone input{border:1px solid #e7b5af;border-radius:8px;outline:none;width:100%;height:40px;margin-top:7px;padding:0 11px;display:block}.danger-zone input:focus{border-color:#d33a2c;box-shadow:0 0 0 3px #d33a2c17}.initialize-button{color:#fff;cursor:pointer;background:#b42318;border:0;border-radius:8px;width:100%;height:42px;margin-top:11px}.initialize-button:disabled{cursor:not-allowed;background:#d5a29e}.force-delete-help{border-color:#ead7d5;justify-content:space-between;align-items:center;display:flex}.force-delete-help h2{margin:0 0 6px;font-size:14px}.force-delete-help p{color:#6f7888;margin:0;font-size:10px}.force-delete-help>span{color:#9b2c24;white-space:nowrap;background:#fff0ee;border-radius:20px;padding:6px 10px;font-size:9px}.maintenance-denied{text-align:center;max-width:620px;margin:80px auto}.maintenance-denied h1{font-size:20px}.maintenance-denied p{color:#7b8798;font-size:11px}@media (width<=720px){.maintenance-grid{grid-template-columns:1fr}.force-delete-help{flex-direction:column;align-items:flex-start;gap:12px}.system-maintenance .module-title{gap:10px}.system-maintenance .module-title>button{font-size:9px}.maintenance-card p,.maintenance-card li{font-size:12px}}.qualification-manager{margin-top:22px}.qualification-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.qualification-head h2{color:#14213d;margin:0 0 5px;font-size:20px}.qualification-head p{color:#7b879c;margin:0}.qualification-head button{color:#fff;cursor:pointer;background:#2463eb;border:0;border-radius:10px;padding:11px 18px}.qualification-form .wide{grid-column:1/-1}.qualification-form textarea{resize:vertical;width:100%}@media (width<=720px){.qualification-head{flex-direction:column;align-items:stretch}.qualification-head button{width:100%}}@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-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}
