@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-devanagari-700-normal-D37Te3iF.woff2) format("woff2"),url(/assets/baloo-2-devanagari-700-normal-CEIF4sJg.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-vietnamese-700-normal-h4tlcePq.woff2) format("woff2"),url(/assets/baloo-2-vietnamese-700-normal-DoF59Mjc.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-latin-ext-700-normal-Mlh7kdab.woff2) format("woff2"),url(/assets/baloo-2-latin-ext-700-normal-D6LeXASg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-latin-700-normal-CqTg7A15.woff2) format("woff2"),url(/assets/baloo-2-latin-700-normal-Ld3Zm3l2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand: #006b9a;--brand-dark: #004f72;--brand-light: #009ee3;--brand-pale: #e6f7fd;--brand-tint: #d6f1fa;--navy: #002839;--navy-deep: #001822;--steel: #6f6f6e;--ink: #15242e;--ink-soft: #4a5a66;--muted: #7a8a95;--line: #e2e8ed;--line-strong: #cbd5dd;--surface: #ffffff;--surface-alt: #f4f7fa;--surface-2: #f4f7fa;--bg: #eef2f6;--success: #16754a;--success-bg: #e4f4ec;--warning: #8a5a06;--warning-bg: #fdf1dc;--error: #b02a28;--error-bg: #fbe8e7;--info: #0b6fa4;--info-bg: #e4f1fa;--progress:#4f46b8;--progress-bg:#ecebfa;--radius: 12px;--radius-sm: 8px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(11, 45, 77, .06);--shadow: 0 1px 2px rgba(11, 45, 77, .05), 0 6px 18px -8px rgba(11, 45, 77, .18);--shadow-lg: 0 18px 44px -16px rgba(11, 45, 77, .35);--shadow-sticky: -10px 0 10px -10px rgba(11, 45, 77, .28);--ring: 0 0 0 3px rgba(0, 158, 227, .35);--sidebar: 250px;--topbar-h: 58px;--font: "Poppins", "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-display: "Baloo 2", "Poppins", "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{margin:0 0 .4rem;line-height:1.25;letter-spacing:-.012em;color:var(--ink);font-family:var(--font-display)}h1{font-size:1.45rem;font-weight:700}h2{font-size:1.05rem;font-weight:700}h3{font-size:.96rem;font-weight:700}p{margin:.25rem 0 .6rem}a{color:var(--brand-dark);text-underline-offset:2px}a:hover{color:var(--brand)}.muted{color:var(--muted);font-size:.86rem}.align-right{text-align:right;font-variant-numeric:tabular-nums}.align-center{text-align:center}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}.brand{display:flex;gap:.6rem;align-items:center;text-decoration:none;color:inherit;padding:.1rem .3rem .5rem}.brand__logo{flex:0 0 auto;display:block;line-height:0}.brand__text strong{display:block;font-size:1.04rem;font-weight:700;letter-spacing:-.015em;color:var(--steel);font-style:italic;font-family:var(--font-display)}.brand__text strong em{color:var(--brand-light);font-style:italic}.brand__text small{display:block;color:var(--muted);font-size:.71rem;letter-spacing:.015em;font-style:normal}.brand__text--light strong{color:#fff}.brand__text--light small{color:#8fb3cb}.brand__mark{display:grid;grid-template-columns:repeat(2,10px);gap:3px}.brand__mark span{width:10px;height:10px;border-radius:50%;background:#9aa3a9;display:block}.brand__mark span:first-child{grid-column:span 2;justify-self:center;background:var(--brand-light)}.brand--login{color:var(--ink);padding:0;margin-bottom:1.1rem}.shell{display:flex;min-height:100%}.sidebar{width:var(--sidebar);flex:0 0 var(--sidebar);background:linear-gradient(190deg,var(--navy) 0%,#001f2c 55%,var(--navy-deep) 100%);color:#c3d4e0;display:flex;flex-direction:column;padding:1rem .7rem 0;gap:.85rem;position:sticky;top:0;height:100vh;border-right:1px solid rgba(255,255,255,.06)}.sidebar:before{content:"";position:absolute;inset:auto 0 0 0;height:260px;pointer-events:none;background:radial-gradient(circle at 18% 86%,rgba(0,158,227,.18),transparent 55%),radial-gradient(circle at 88% 98%,rgba(0,158,227,.1),transparent 52%)}.sidebar .brand{position:relative;z-index:1}.nav{display:flex;flex-direction:column;gap:.85rem;flex:1;overflow-y:auto;padding-bottom:.6rem;position:relative;z-index:1}.nav::-webkit-scrollbar{width:6px}.nav::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:3px}.nav__group{display:flex;flex-direction:column;gap:1px}.nav__group-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.13em;color:#6f93ab;padding:.4rem .6rem .25rem;font-weight:700}.nav__link{position:relative;color:#c3d4e0;text-decoration:none;padding:.45rem .65rem;border-radius:var(--radius-sm);font-size:.9rem;transition:background .12s ease,color .12s ease}.nav__link:hover{background:#ffffff12;color:#fff}.nav__link--active{background:#009ee32b;color:#fff;font-weight:600}.nav__link--active:before{content:"";position:absolute;left:-.7rem;top:50%;transform:translateY(-50%);width:3px;height:62%;border-radius:0 3px 3px 0;background:var(--brand-light)}.sidebar__foot{font-size:.71rem;color:#7795a9;line-height:1.45;border-top:1px solid rgba(255,255,255,.08);padding:.7rem .35rem .9rem;position:relative;z-index:1}.shell__scrim{display:none}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:25;display:flex;align-items:center;gap:.5rem;background:#ffffffed;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:.45rem 1.1rem;min-height:var(--topbar-h)}.topbar__spacer{flex:1}.topbar__right{display:flex;align-items:center;gap:.5rem}.topbar__menu{display:none}.topbar__brand{display:none;align-items:center;gap:.5rem}.topbar__divider{width:1px;height:26px;background:var(--line);margin:0 .15rem}.iconbtn{position:relative;border:1px solid var(--line);background:var(--surface);height:34px;min-width:34px;padding:0 .55rem;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:.35rem;cursor:pointer;color:var(--ink-soft);font:inherit;font-size:.85rem;font-weight:600}.iconbtn:hover{border-color:var(--line-strong);color:var(--brand-dark);background:var(--surface-alt)}.iconbtn__dot{position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:50%;background:var(--brand-light);box-shadow:0 0 0 2px #fff}.avatar{width:32px;height:32px;border-radius:50%;flex:none;background:linear-gradient(145deg,var(--brand-light),var(--brand-dark));color:#fff;display:grid;place-items:center;font-size:.76rem;font-weight:700;letter-spacing:.02em}.who{text-align:left;line-height:1.15}.who strong{display:block;font-size:.85rem}.who small{color:var(--muted);font-size:.72rem}.content{padding:1.2rem 1.1rem 2.5rem;display:flex;flex-direction:column;gap:1rem;max-width:1560px;width:100%}.page-header{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.page-header h1{margin:0}.page-header__subtitle{color:var(--muted);margin:.15rem 0 0;font-size:.88rem;max-width:92ch}.page-header__actions{display:flex;gap:.5rem;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs);padding:1rem 1.05rem}.card--narrow{max-width:460px}.grid{display:grid;gap:1rem}.grid--2{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.kpis{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(188px,1fr))}.kpi{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem .95rem .9rem;display:flex;flex-direction:column;gap:.1rem;box-shadow:var(--shadow-xs);text-decoration:none;color:inherit;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.kpi:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--brand-light)}.kpi--link:hover{transform:translateY(-1px);box-shadow:var(--shadow);border-color:var(--line-strong)}.kpi__label{font-size:.73rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.07em;font-weight:650}.kpi__value{font-size:1.7rem;font-weight:650;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.kpi__value--error{color:var(--error)}.kpi__value--success{color:var(--success)}.kpi__value--warning{color:var(--warning)}.kpi__hint{font-size:.73rem;color:var(--muted)}.kpi:has(.kpi__value--error):before{background:var(--error)}.kpi:has(.kpi__value--warning):before{background:#d59a2b}.kpi:has(.kpi__value--success):before{background:var(--success)}.filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem .9rem;display:flex;gap:.85rem;align-items:flex-end;flex-wrap:wrap;box-shadow:var(--shadow-xs)}.filters__fields{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));flex:1}.filters__actions{display:flex;gap:.5rem}.field{display:flex;flex-direction:column;gap:.22rem}.field__label{font-size:.75rem;color:var(--ink-soft);font-weight:650}.field__hint{font-size:.72rem;color:var(--muted)}.input,select.input,textarea.input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:.44rem .6rem;font:inherit;background:var(--surface);color:var(--ink);width:100%;transition:border-color .12s ease,box-shadow .12s ease}.input::placeholder{color:#9fb0ba}.input:hover:not(:disabled){border-color:#aebdc7}.input:focus{outline:none;border-color:var(--brand-light);box-shadow:var(--ring)}.input:disabled{background:var(--surface-alt);color:var(--muted)}.check{display:flex;gap:.45rem;align-items:center;font-size:.88rem}.check input{accent-color:var(--brand);width:15px;height:15px}.form{display:flex;flex-direction:column;gap:.75rem}.btn{border:1px solid transparent;border-radius:var(--radius-sm);padding:.45rem .85rem;font:inherit;font-family:var(--font-display);font-weight:700;font-size:.9rem;cursor:pointer;background:var(--surface-alt);color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;transition:background .12s ease,border-color .12s ease,color .12s ease;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--brand);color:#fff;box-shadow:0 1px 2px #004f724d}.btn--primary:hover:not(:disabled){background:var(--brand-dark)}.btn--ghost{background:var(--surface);border-color:var(--line-strong);color:var(--ink-soft)}.btn--ghost:hover:not(:disabled){border-color:var(--brand-light);color:var(--brand-dark);background:var(--brand-pale)}.btn--danger{background:var(--error);color:#fff}.btn--danger:hover:not(:disabled){background:#8f1f1e}.btn--warning{background:#a56a07;color:#fff}.btn--link{background:none;border:none;color:var(--brand-dark);padding:0;text-decoration:underline;font-weight:600}.btn--block{width:100%;justify-content:center}.btn--small{padding:.28rem .6rem;font-size:.82rem}.btn--icon{background:none;border:none;font-size:1.2rem;line-height:1;padding:.2rem .45rem;color:var(--ink-soft)}.btn-row{display:flex;gap:.5rem;flex-wrap:wrap}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.card>.table-wrap{border:none;border-radius:0}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:.885rem}.table th,.table td{padding:.55rem .7rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{background:var(--surface-alt);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);font-weight:700;position:sticky;top:0;z-index:1;border-bottom:1px solid var(--line-strong);white-space:nowrap}.table tbody tr:last-child td{border-bottom:none}.table__row--click{cursor:pointer}.table tbody tr:hover{background:var(--brand-pale)}.table td.align-right,.table th.align-right{text-align:right;font-variant-numeric:tabular-nums}.table th.col-sticky-right,.table td.col-sticky-right{position:sticky;right:0;z-index:2;background:var(--surface);white-space:nowrap;box-shadow:var(--shadow-sticky)}.table th.col-sticky-right{background:var(--surface-alt);z-index:3}.table tbody tr:hover td.col-sticky-right{background:var(--brand-pale)}.table td.col-sticky-right .btn-row{flex-wrap:nowrap}.pager{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1.05rem;border-top:1px solid var(--line)}.badge{display:inline-block;padding:.14rem .55rem;border-radius:var(--radius-pill);font-size:.74rem;font-weight:650;white-space:nowrap}.badge--neutral{background:#eceff2;color:#4a5560}.badge--success{background:var(--success-bg);color:var(--success)}.badge--warning{background:var(--warning-bg);color:var(--warning)}.badge--error{background:var(--error-bg);color:var(--error)}.badge--info{background:var(--info-bg);color:var(--info)}.badge--progress{background:var(--progress-bg);color:var(--progress)}.notice{border-radius:var(--radius-sm);padding:.6rem .8rem;display:flex;gap:.75rem;align-items:center;justify-content:space-between;font-size:.88rem;border-left:3px solid currentColor}.notice--error{background:var(--error-bg);color:var(--error)}.notice--info{background:var(--info-bg);color:var(--info)}.notice p{margin:.15rem 0 0}.empty{text-align:center;padding:2rem 1.2rem;color:var(--muted)}.empty strong{display:block;color:var(--ink);margin-bottom:.25rem;font-size:.98rem}.loading{display:flex;gap:.6rem;align-items:center;color:var(--muted);padding:1.1rem}.loading__spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--brand-light);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.bars li{display:grid;grid-template-columns:minmax(90px,32%) 1fr auto;gap:.6rem;align-items:center;font-size:.85rem}.bars__track{background:var(--surface-alt);border-radius:var(--radius-pill);height:9px;overflow:hidden}.bars__fill{display:block;height:100%;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--brand),var(--brand-light))}.bars__value{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-weight:600}.kv{display:grid;gap:.7rem 1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:.5rem 0 0}.kv--wide{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.kv dt{font-size:.71rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:650}.kv dd{margin:.12rem 0 0;font-weight:600;font-variant-numeric:tabular-nums}.stepper{list-style:none;display:flex;gap:.4rem;flex-wrap:wrap;padding:0;margin:0 0 1rem}.stepper__btn{display:flex;gap:.45rem;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);padding:.3rem .75rem;font:inherit;font-size:.82rem;cursor:pointer;color:var(--ink-soft)}.stepper__btn:hover:not(:disabled){border-color:var(--brand-light)}.stepper__index{width:20px;height:20px;border-radius:50%;background:var(--surface-alt);display:grid;place-items:center;font-size:.72rem;font-weight:700}.stepper__item--current .stepper__btn{border-color:var(--brand);color:var(--brand-dark);background:var(--brand-pale)}.stepper__item--current .stepper__index{background:var(--brand);color:#fff}.stepper__item--done .stepper__index{background:var(--success-bg);color:var(--success)}.stepper__btn:disabled{cursor:default;opacity:.75}.timeline{list-style:none;margin:.5rem 0 0;padding:0 0 0 .6rem;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:.8rem}.timeline__item{position:relative;padding-left:.9rem}.timeline__dot{position:absolute;left:-.55rem;top:.35rem;width:10px;height:10px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px var(--brand-pale)}.timeline__head{display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}.timeline__doc{font-size:.78rem;color:var(--brand-dark)}.timeline__detail{margin:.1rem 0;font-size:.86rem;color:var(--ink-soft)}.timeline__meta{font-size:.75rem;color:var(--muted)}.drawer__scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#071f386b;display:flex;justify-content:flex-end;z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.drawer{background:var(--surface);width:min(640px,100%);display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.1rem;border-bottom:1px solid var(--line)}.drawer__body{padding:1.1rem;overflow:auto;display:flex;flex-direction:column;gap:1rem}.drawer__foot{padding:.85rem 1.1rem;border-top:1px solid var(--line);background:var(--surface-alt)}.picker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:56vh;overflow:auto}.picker-item{display:flex;flex-direction:column;gap:.15rem;text-align:left;width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.6rem .75rem;background:var(--surface);cursor:pointer;font:inherit;color:var(--ink)}.picker-item:hover{border-color:var(--brand-light);background:var(--brand-pale)}.picker-item strong{font-size:.92rem}.picker-item span{font-size:.78rem;color:var(--muted)}.modal__scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#071f3873;display:grid;place-items:center;padding:1rem;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--surface);border-radius:var(--radius);padding:1.15rem;width:min(480px,100%);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:.6rem}.modal__actions{display:flex;justify-content:flex-end;gap:.5rem}.popover{position:absolute;right:1rem;top:calc(var(--topbar-h) - 2px);width:min(380px,calc(100vw - 2rem));background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:30}.popover__head{display:flex;justify-content:space-between;align-items:center;padding:.6rem .85rem;border-bottom:1px solid var(--line)}.popover__body{max-height:60vh;overflow:auto;padding:.6rem .85rem;display:flex;flex-direction:column;gap:.6rem}.note{border-left:3px solid var(--line);padding-left:.6rem}.note--unread{border-left-color:var(--brand-light)}.note p{margin:.1rem 0;font-size:.86rem;color:var(--ink-soft)}.toasts{position:fixed;right:1rem;bottom:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:60}.toast{padding:.6rem .9rem;border-radius:var(--radius-sm);color:#fff;box-shadow:var(--shadow-lg);font-size:.88rem;max-width:360px}.toast--success{background:var(--success)}.toast--error{background:var(--error)}.toast--info{background:var(--info)}.panel{border:1px solid var(--line);border-radius:var(--radius);padding:.95rem;display:flex;flex-direction:column;gap:.7rem;background:var(--surface)}.panel__head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.panel__actions{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--line);padding-top:.7rem}.approval-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.approval-step{display:flex;gap:.6rem;padding:.55rem;border-radius:var(--radius-sm);background:var(--surface-alt);font-size:.88rem}.approval-step__seq{width:22px;height:22px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:.75rem;font-weight:700;flex:none}.approval-step__meta{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;font-size:.78rem;color:var(--muted);margin-top:.2rem}.approval-step__comment{margin:.25rem 0 0;font-size:.84rem}.upload{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.upload__input{display:none}.upload__name{font-size:.84rem;color:var(--ink-soft)}.upload__error{font-size:.82rem;color:var(--error)}.login{min-height:100%;display:grid;grid-template-columns:1.05fr .95fr;background:var(--bg)}.login__hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(152deg,var(--navy-deep) 0%,var(--navy) 42%,var(--brand) 75%,var(--brand-light) 100%);display:flex;align-items:center;justify-content:center;padding:3rem 2.4rem}.login__hero:before,.login__hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.login__hero:before{background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.12),transparent 40%),radial-gradient(circle at 86% 10%,rgba(0,158,227,.38),transparent 46%),radial-gradient(circle at 92% 88%,rgba(0,158,227,.3),transparent 48%),radial-gradient(circle at 8% 92%,rgba(255,255,255,.08),transparent 42%)}.login__hero:after{background-image:radial-gradient(rgba(255,255,255,.16) 1.4px,transparent 1.4px),radial-gradient(rgba(255,255,255,.09) 1.4px,transparent 1.4px);background-size:54px 54px,86px 86px;background-position:0 0,27px 43px}.login__hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.1rem}.login__hero-inner .brand{flex-direction:column;gap:.65rem;padding:0}.login__hero-inner .brand__logo svg{width:84px;height:auto}.login__hero-inner .brand__text{text-align:center}.login__hero-inner .brand__text strong{font-size:1.68rem}.login__hero-inner .brand__text small{font-size:.82rem;margin-top:.18rem}.login__divider{display:block;width:44px;height:3px;border-radius:2px;background:var(--brand-light)}.login__side{display:grid;place-items:center;padding:1.6rem}.login__panel{width:min(420px,100%)}.login__panel h1{font-size:1.5rem}.login__foot{margin-top:1.2rem;font-size:.74rem}@media (max-width: 1000px){.login{grid-template-columns:1fr}.login__hero{padding:2.2rem 1.6rem;min-height:200px}.login__hero-inner .brand__logo svg{width:60px}.login__hero-inner .brand__text strong{font-size:1.3rem}}@media (max-width: 900px){.sidebar{position:fixed;inset:0 auto 0 0;transform:translate(-100%);transition:transform .2s ease;z-index:45}.shell--menu-open .sidebar{transform:none;box-shadow:var(--shadow-lg)}.shell--menu-open .shell__scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#071f3866;z-index:44}.topbar__menu,.topbar__brand{display:inline-flex}.who{display:none}}@media (max-width: 620px){.content{padding:.8rem .75rem 2rem}.table-wrap{border:none;background:none}.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table tr{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:.6rem;padding:.35rem .6rem}.table td{border:none;display:flex;justify-content:space-between;gap:1rem;padding:.25rem 0}.table td:before{content:attr(data-label);font-size:.73rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:650}.table td.align-right{text-align:right}.table td.col-sticky-right{position:static;box-shadow:none;background:none}.bars li{grid-template-columns:1fr auto}.bars__track{grid-column:1 / -1}.kpi__value{font-size:1.45rem}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.stack{display:flex;flex-direction:column;gap:.9rem}.subhead{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.subhead h2,.subhead h3{margin:0}.subhead__actions{display:flex;gap:.5rem;flex-wrap:wrap}.tabs{display:flex;gap:.2rem;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.3rem;box-shadow:var(--shadow-xs)}.tab{border:1px solid transparent;background:none;font:inherit;font-size:.88rem;font-weight:600;color:var(--ink-soft);padding:.4rem .72rem;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;transition:background .12s ease,color .12s ease,border-color .12s ease}.tab:hover{background:var(--brand-pale);color:var(--brand-dark)}.tab--active,.tab--active:hover{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 1px 2px #09608e4d}.tab__note{background:var(--surface-alt);color:var(--ink-soft);border-radius:var(--radius-pill);padding:0 .42rem;font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums}.tab--active .tab__note{background:#ffffff40;color:#fff}.form-grid{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.row-form{border:1px solid #bcdcef;border-left:3px solid var(--brand-light);border-radius:var(--radius);padding:.9rem;display:flex;flex-direction:column;gap:.7rem;background:var(--brand-pale)}.row-form__fields{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.row-form__flags{display:flex;gap:1rem;flex-wrap:wrap}.row-form .input{background:var(--surface)}.multicheck{display:grid;gap:.2rem;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.5rem;background:var(--surface)}.multicheck::-webkit-scrollbar{width:8px}.multicheck::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}.chips{display:inline-flex;gap:.25rem;flex-wrap:wrap;align-items:center}.chip{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-pill);padding:.05rem .55rem;font-size:.74rem;font-weight:600;color:var(--ink-soft);white-space:nowrap}.chip--success{background:var(--success-bg);border-color:#c4e5d4;color:var(--success)}.chip--info{background:var(--info-bg);border-color:#c3dff1;color:var(--info)}.chip--error,.chip--danger{background:var(--error-bg);border-color:#f2cbc9;color:var(--error)}.chip--warning{background:var(--warning-bg);border-color:#f0dcb4;color:var(--warning)}.chip--brand{background:var(--brand-pale);border-color:#bcdcef;color:var(--brand-dark)}.pager{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding-top:.6rem;border-top:1px solid var(--line);margin-top:.6rem;font-size:.85rem;color:var(--ink-soft)}.pager strong{font-variant-numeric:tabular-nums}.audit-changes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem;font-size:.84rem}.audit-changes li{word-break:break-word}.audit-changes ins{background:var(--success-bg);color:var(--success);text-decoration:none;padding:0 .2rem;border-radius:3px}.audit-changes del{background:var(--error-bg);color:var(--error);padding:0 .2rem;border-radius:3px}.wizard{display:grid;gap:1rem;grid-template-columns:228px 1fr;align-items:start}.wizard__steps{list-style:none;margin:0;padding:.35rem;display:flex;flex-direction:column;gap:.15rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs);position:sticky;top:calc(var(--topbar-h) + .75rem)}.wizard__step{display:flex;gap:.55rem;align-items:center;width:100%;text-align:left;border:none;background:none;font:inherit;font-size:.86rem;color:var(--ink-soft);padding:.42rem .55rem;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease,color .12s ease}.wizard__step:hover:not(:disabled){background:var(--brand-pale);color:var(--brand-dark)}.wizard__step:disabled{cursor:not-allowed;color:var(--muted)}.wizard__step--active,.wizard__step--active:hover{background:var(--brand);color:#fff;font-weight:650}.wizard__num{width:22px;height:22px;border-radius:50%;background:var(--surface-alt);display:grid;place-items:center;font-size:.72rem;font-weight:700;flex:none;font-variant-numeric:tabular-nums}.wizard__step--done .wizard__num{background:var(--success-bg);color:var(--success)}.wizard__step--active .wizard__num{background:#ffffff40;color:#fff}.meter{background:var(--surface-alt);border-radius:var(--radius-pill);height:8px;overflow:hidden}.meter__fill{display:block;height:100%;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--brand),var(--brand-light))}.meter__fill--warning{background:linear-gradient(90deg,#b8781a,#e0a030)}.meter__fill--error{background:linear-gradient(90deg,#92201f,var(--error))}@media (max-width: 860px){.wizard{grid-template-columns:1fr}.wizard__steps{position:static;flex-direction:row;overflow-x:auto}.wizard__step{white-space:nowrap}}@media (prefers-reduced-motion: reduce){.tab,.wizard__step{transition:none}}.compare-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-xs)}.compare{width:100%;border-collapse:collapse;min-width:640px;font-size:.9rem}.compare th,.compare td{padding:.6rem .75rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.compare tr:last-child td,.compare tr:last-child th{border-bottom:none}.compare thead th{background:var(--surface-alt);position:sticky;top:0;z-index:2;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);font-weight:700;border-bottom:1px solid var(--line-strong)}.compare tbody th{background:var(--surface-alt);font-weight:650;white-space:nowrap;color:var(--ink-soft)}.compare__corner{width:14rem}.compare__vendor{font-weight:700;font-size:.98rem;color:var(--ink);text-transform:none;letter-spacing:0}.compare__sub td,.compare__sub th,.compare__component th,.compare__component td{font-size:.82rem;color:var(--muted)}.compare__total td,.compare__total th{background:var(--brand-pale);font-weight:700;color:var(--ink);border-top:1px solid #bcdcef}.compare td.is-best{background:var(--success-bg);box-shadow:inset 3px 0 0 var(--success);font-weight:650}.compare td.is-best:after{content:" ✓";color:var(--success);font-weight:700}.awardgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;margin:.5rem 0 1rem}.awardgrid__item{display:flex;flex-direction:column;gap:.15rem;padding:.75rem .9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-alt)}.awardgrid__item strong{font-size:1.15rem;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.awardgrid__item--saving{background:var(--success-bg);border-color:#c4e5d4}.awardgrid__item--saving strong{color:var(--success)}.ntiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;margin-bottom:1rem}.ntile{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.2rem;padding:.85rem .95rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs)}.ntile:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--brand-light)}.ntile__label{font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);font-weight:650}.ntile__value{font-size:1.6rem;font-weight:650;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.ntile__value--success{color:var(--success)}.ntile__value--error{color:var(--error)}.ntile:has(.ntile__value--success):before{background:var(--success)}.ntile:has(.ntile__value--error):before{background:var(--error)}.clock{font-variant-numeric:tabular-nums}.clock--out{color:var(--error);font-weight:700}.roundblock{margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.roundblock:last-child{border-bottom:none;margin-bottom:0}.roundblock__head{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.4rem}.roundblock__head h3{margin:0}@media (max-width: 720px){.compare__corner{width:9rem}.ntile__value{font-size:1.3rem}}@media print{.compare-wrap{overflow:visible;border:none;box-shadow:none}.compare thead th,.compare tbody th{position:static}}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;align-items:start}.track{list-style:none;margin:0;padding:0}.track__item{display:grid;grid-template-columns:20px 1fr;gap:.7rem;position:relative;padding-bottom:.9rem}.track__item:not(:last-child):before{content:"";position:absolute;left:9px;top:20px;bottom:0;width:2px;background:var(--line)}.track__item--reached:not(:last-child):before{background:var(--brand-light)}.track__dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-strong);background:var(--surface);margin-top:2px}.track__item--reached .track__dot{background:var(--success);border-color:var(--success)}.track__item--current .track__dot{background:var(--brand);border-color:var(--brand);box-shadow:var(--ring)}.track__body strong{display:block;line-height:1.3}.track__item:not(.track__item--reached) .track__body strong{color:var(--muted);font-weight:500}.track__meta{color:var(--muted);font-size:.82rem;font-variant-numeric:tabular-nums}.track__item--corrected .track__body strong{color:var(--error)}details>summary{cursor:pointer;font-weight:600;font-size:.9rem;color:var(--ink-soft);padding:.35rem 0;border-radius:var(--radius-sm)}details>summary:hover{color:var(--brand-dark)}details[open]>summary{color:var(--ink)}.login__hero{background-image:linear-gradient(152deg,#001822e0,#002839d1 42%,#006b9aad 75%,#009ee38c),url(https://aquachemie.com/wp-content/uploads/2022/11/industries-we-serve.png);background-size:cover;background-position:center;background-repeat:no-repeat}.login__hero:after{display:none}.login__welcome{margin:0 0 .15rem;font-size:.95rem;font-weight:700;color:var(--brand);font-family:var(--font-display)}.login__panel h1{margin-top:0}.login__terms{margin:.85rem 0 0;font-size:.78rem;line-height:1.45;color:var(--ink-soft);display:flex;gap:.5rem;align-items:flex-start}.login__terms input{margin-top:.2rem;flex:none}.login__terms a{color:var(--brand);font-weight:600}.login__help{margin-top:.6rem;padding:.7rem .8rem;border-radius:var(--radius-sm);background:var(--brand-pale);color:var(--ink-soft);font-size:.82rem;line-height:1.5}.login__version-toggle{background:none;border:none;padding:0;color:var(--muted);font-size:.74rem;text-decoration:underline;cursor:pointer}.login__version-detail{margin:.3rem 0 0;font-size:.74rem;color:var(--muted)}.public-copyright{text-align:center;font-size:.72rem;color:var(--muted);padding:.9rem 1rem;margin:0}.legal{max-width:820px;margin:0 auto;width:100%;padding:1.6rem 1.2rem 2.5rem;flex:1}.legal__notice{background:var(--warning-bg);color:var(--warning);border-radius:var(--radius-sm);padding:.7rem .9rem;font-size:.82rem;margin-bottom:1.4rem}.legal section{margin-bottom:2.2rem;scroll-margin-top:1rem}.legal h2{font-family:var(--font-display);color:var(--brand)}.legal p,.legal li{color:var(--ink-soft);font-size:.92rem;line-height:1.6}
