@charset "UTF-8";:root{--hg-navy:#0A4178;--hg-blue-dark:#043F77;--hg-blue-mid:#1C63A1;--hg-blue-light:#659ED3;--hg-white:#FFFFFF;--navy:var(--hg-navy);--blue:var(--hg-blue-mid);--blue-d:var(--hg-blue-dark);--sky:var(--hg-blue-light);--ice:#F2F6FB;--card:#FFF;--ink:#172640;--mut:#5C6B84;--line:#D9E3F0;--ok:#1D9A6C;--ok-bg:#E4F5EE;--warn:#C77D0A;--warn-bg:#FBF1DE;--bad:#C4453C;--bad-bg:#FBE8E6;--pend:#6B5CC7;--pend-bg:#EEEBFA}*{box-sizing:border-box;margin:0;scrollbar-width:thin;scrollbar-color:rgba(11,31,58,.28) transparent}*::-webkit-scrollbar{width:7px;height:7px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#0b1f3a40;border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:#0b1f3a73}html,body{max-width:100%;overflow-x:hidden;position:relative}body{font:14px/1.45 Inter,system-ui,sans-serif;color:var(--ink);background:var(--ice)}:focus-visible{outline:2px solid var(--sky);outline-offset:2px}.btn.pri:focus-visible{outline-color:var(--navy)}button,input,select,textarea,table{font-family:Inter,system-ui,sans-serif}.req,.req-star{color:var(--bad, #C4453C);font-weight:700;margin-left:2px}h1{font-family:Archivo,system-ui,sans-serif;font-size:22px;letter-spacing:-.2px;margin-bottom:2px}.sub{color:var(--mut);margin-bottom:18px;max-width:72ch}.crumb{font-size:12px;color:var(--mut)}.app{display:grid;height:100vh;height:100dvh;grid-template-rows:3.5rem 1fr;grid-template-columns:1fr;grid-template-areas:"topbar" "main";position:relative;transition:grid-template-columns .25s cubic-bezier(.4,0,.2,1)}.app.collapsed{grid-template-columns:1fr}.topbar{grid-area:topbar;background:var(--navy);color:#fff;display:flex;align-items:center;gap:16px;padding:0 20px}.logo{display:flex;align-items:center;gap:10px}.logo-img{height:28px;width:auto;max-width:160px;object-fit:contain;display:block;flex-shrink:0}.logo-mark{display:none;height:28px;width:auto}@media (max-width: 479px){.logo-img{display:none}.logo-mark{display:block}}.app-foot{display:flex;justify-content:space-between;gap:12px;margin-top:32px;padding-top:12px;border-top:1px solid var(--line);font-size:11.5px;color:var(--mut)}.grow{flex:1}.who{font-size:12.5px;color:#c9d9f2}.lo{font-size:12px;color:#9db6dc;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:5px 11px;background:none;cursor:pointer}.lo:hover{color:#fff}.side{grid-area:side;background:var(--card);border-right:1px solid var(--line);padding:12px 10px calc(56px + env(safe-area-inset-bottom,20px));overflow-y:auto;overflow-x:hidden;min-width:0;position:fixed;top:3.5rem;bottom:0;left:0;width:min(240px,85vw);height:calc(100vh - 3.5rem);height:calc(100dvh - 3.5rem);max-height:calc(100dvh - 3.5rem);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;z-index:50;transform:translate(-100%);box-shadow:none;pointer-events:none;transition:transform .25s cubic-bezier(.4,0,.2,1),padding .25s cubic-bezier(.4,0,.2,1),border-color .25s,box-shadow .25s;scrollbar-width:thin;scrollbar-color:rgba(11,31,58,.2) transparent}.side::-webkit-scrollbar{width:4px}.side::-webkit-scrollbar-thumb{background:#0b1f3a33;border-radius:4px}.side .sect{font-size:10.5px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--mut);padding:8px 10px 4px;white-space:nowrap}.side a{display:block;padding:8px 10px;border-radius:8px;color:var(--ink);text-decoration:none;font-weight:500;font-size:13px;white-space:nowrap}.side a:hover{background:var(--ice)}.side a.on{background:var(--blue);color:#fff}.side.open{transform:translate(0);box-shadow:4px 0 20px #0b1f3a40;pointer-events:auto}.side.open .nav-lab{display:inline!important}.side.open .nav-abbr{display:none!important}.nav-abbr{display:none}.main{grid-area:main;overflow-y:auto;overflow-x:hidden;padding:22px 26px calc(60px + env(safe-area-inset-bottom,0px));min-width:0;position:relative}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:16px;box-shadow:0 1px 2px #0b1f3a0f,0 4px 14px #0b1f3a0f}.card .hd{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.card .hd h2{font-family:Archivo,system-ui,sans-serif;font-size:15px}.tbl-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:auto;max-height:clamp(380px,62vh,680px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-width:0;scrollbar-width:thin;scrollbar-color:rgba(11,31,58,.28) transparent}.tbl-wrap::-webkit-scrollbar{height:7px;width:7px}.tbl-wrap::-webkit-scrollbar-track{background:#0b1f3a08;border-radius:4px}.tbl-wrap::-webkit-scrollbar-thumb{background:#0b1f3a40;border-radius:4px}.tbl-wrap::-webkit-scrollbar-thumb:hover{background:#0b1f3a73}.tbl-scroll-y{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-width:0}.tbl-wrap>table,table.table-cards{width:100%;min-width:max-content;table-layout:auto}.tbl-wrap>table.ts,table.ts{width:100%;min-width:640px;table-layout:fixed}table{width:100%;border-collapse:separate;border-spacing:0}table th{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--mut);text-align:left;padding:10px 14px;background:#f8fafd;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;box-shadow:0 1px 0 var(--line);white-space:nowrap}table td{padding:11px 14px;border-bottom:1px solid var(--line);background:#fff;white-space:nowrap;vertical-align:middle}table tr:last-child td{border-bottom:1px solid var(--line)}td.comment-cell,td:has(bs-comment),td:has(.bs-comment-wrap),td[data-label=Comments],td[data-label=Reason]{white-space:normal;min-width:180px;max-width:360px;word-break:break-word;overflow-wrap:break-word}td.status-cell,td.profile-cell,tr:has(.file-cell) td,tr:has(bs-comment) td,.sect.docs table td{white-space:normal;vertical-align:top}.file-cell{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;max-width:320px}.file-cell .doc-file-name,.file-cell span.id:not(.empty-dash):not(.err):not(.doc-reject-reason){display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:500;color:var(--ink);line-height:1.35}.file-cell .empty-dash{color:var(--mut);font-size:12px;font-weight:400}.file-cell .doc-reject-reason,.file-cell .err{display:block;width:100%;max-width:100%;margin:1px 0 0;padding:0;font-size:11.5px;font-weight:500;line-height:1.35;color:var(--bad, #C93B2B);white-space:normal;word-break:break-word;overflow-wrap:break-word;text-align:left}td.pre-wrap,td .pre-wrap{white-space:nowrap}.tbl-wrap>table:has(td.empty),.tbl-wrap>table:has(.empty-state-box),table.table-cards:has(td.empty),table.table-cards:has(.empty-state-box){min-width:100%!important;width:100%!important}td.empty{white-space:normal!important;text-align:center!important;padding:40px 16px!important;color:var(--mut);vertical-align:middle}td.empty .empty-box,td.empty .empty-content,td.empty .empty-msg-box{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:0 auto;max-width:440px}td.empty .empty-ico{font-size:32px;margin-bottom:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--mut);line-height:1}td.empty .empty-ico svg{width:32px;height:32px;stroke:currentColor}td.empty b{display:block;font-family:Archivo,system-ui,sans-serif;color:var(--navy, var(--ink));font-size:15px;font-weight:700;margin-bottom:4px;text-align:center}td.empty p{margin:0;font-size:13px;color:var(--mut);line-height:1.45;text-align:center}.rowlink:hover td.sticky-col,.rowlink:hover td.ckcol{background:var(--ice)}.id{font-size:11.5px;color:var(--mut);overflow-wrap:anywhere;word-break:break-all}.mono{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.break-anywhere{overflow-wrap:anywhere;word-break:break-all}.date-input-wrap{position:relative;display:inline-flex;align-items:center}.date-input-wrap .sm-date{width:120px;min-height:30px;border:1px solid var(--line);border-radius:4px;padding:4px 6px;font-size:12px;background:#fff;color:var(--ink);font-family:inherit;-webkit-appearance:none;appearance:none}.date-input-wrap .date-placeholder{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:11.5px;font-weight:400;pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1;white-space:nowrap;transition:opacity .15s ease}.date-input-wrap input:focus+.date-placeholder{opacity:0}input[type=date]::-webkit-date-and-time-value{min-height:1.2em;text-align:left}th.col-cand:not(.sticky-col){position:sticky;top:0;left:auto!important;z-index:6;background:#f8fafd;box-shadow:0 1px 0 var(--line)}td.col-cand:not(.sticky-col){position:static!important;left:auto!important;box-shadow:none!important}.col-cand,th.col-cand,td.col-cand,th.sticky-col,td.sticky-col{width:105px!important;min-width:90px!important;max-width:115px!important;box-sizing:border-box!important}th.col-cand,th.sticky-col{white-space:normal!important;line-height:1.25!important;padding:8px 6px!important;vertical-align:middle!important;text-align:left!important;font-size:11px!important}td.col-cand,td.sticky-col{padding:8px 6px!important;overflow:hidden!important;text-overflow:ellipsis!important;box-sizing:border-box!important}td.col-cand .sub-col,td.sticky-col .sub-col{padding-left:0!important;gap:4px!important}td.col-cand .week-label,td.sticky-col .week-label{font-size:11.5px!important;white-space:nowrap!important;letter-spacing:-.2px}td.col-cand .cand-name-row,td.col-cand .cand-name,td.col-cand b,td.sticky-col .cand-name-row,td.sticky-col .cand-name,td.sticky-col b{font-size:12px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;display:block!important;max-width:100%!important}td.col-cand .id,td.sticky-col .id{font-size:10px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;display:block!important;max-width:100%!important}td.col-cand .hol-badge,td.sticky-col .hol-badge{width:6px!important;height:6px!important;margin-left:1px!important}.th-short{display:none}.col-hours{width:34%;min-width:220px}.col-total{width:8%;min-width:50px}.col-rate{width:10%;min-width:60px}.col-status{width:12%;min-width:75px}.col-acts{width:16%;min-width:90px}bs-va-roster th.candidate-col,bs-va-roster td.candidate-col,bs-va-roster th.sticky-col,bs-va-roster td.sticky-col,bs-va-roster th:first-child,bs-va-roster td:first-child,bs-bsa-vendors th.candidate-col,bs-bsa-vendors td.candidate-col,bs-bsa-vendors th.sticky-col,bs-bsa-vendors td.sticky-col,bs-bsa-vendors th:first-child,bs-bsa-vendors td:first-child,bs-client-roster th.candidate-col,bs-client-roster td.candidate-col,bs-client-roster th.sticky-col,bs-client-roster td.sticky-col,bs-client-roster th:first-child,bs-client-roster td:first-child,bs-bsa-candidates th.candidate-col,bs-bsa-candidates td.candidate-col,bs-bsa-candidates th.sticky-col,bs-bsa-candidates td.sticky-col,bs-bsa-candidates th:first-child,bs-bsa-candidates td:first-child,bs-bsa-visa-expiry th.candidate-col,bs-bsa-visa-expiry td.candidate-col,bs-bsa-visa-expiry th.sticky-col,bs-bsa-visa-expiry td.sticky-col,bs-bsa-visa-expiry th:first-child,bs-bsa-visa-expiry td:first-child,bs-bsa-pos th.candidate-col,bs-bsa-pos td.candidate-col,bs-bsa-pos th.sticky-col,bs-bsa-pos td.sticky-col,bs-bsa-pos th:first-child,bs-bsa-pos td:first-child,.candidate-roster-table th.candidate-col,.candidate-roster-table td.candidate-col,.candidate-roster-table th.sticky-col,.candidate-roster-table td.sticky-col,.candidate-roster-table th:first-child,.candidate-roster-table td:first-child{padding-left:22px!important;padding-right:16px!important}bs-va-roster th.candidate-col,bs-va-roster td.candidate-col,bs-va-roster th.sticky-col,bs-va-roster td.sticky-col,bs-bsa-vendors th.candidate-col,bs-bsa-vendors td.candidate-col,bs-bsa-vendors th.sticky-col,bs-bsa-vendors td.sticky-col,bs-client-roster th.candidate-col,bs-client-roster td.candidate-col,bs-client-roster th.sticky-col,bs-client-roster td.sticky-col,bs-bsa-candidates th.candidate-col,bs-bsa-candidates td.candidate-col,bs-bsa-candidates th.sticky-col,bs-bsa-candidates td.sticky-col,bs-bsa-visa-expiry th.candidate-col,bs-bsa-visa-expiry td.candidate-col,bs-bsa-visa-expiry th.sticky-col,bs-bsa-visa-expiry td.sticky-col,bs-bsa-pos th.candidate-col,bs-bsa-pos td.candidate-col,bs-bsa-pos th.sticky-col,bs-bsa-pos td.sticky-col,.candidate-roster-table th.candidate-col,.candidate-roster-table td.candidate-col,.candidate-roster-table th.sticky-col,.candidate-roster-table td.sticky-col{width:280px!important;min-width:240px!important;max-width:380px!important;white-space:normal!important}bs-va-roster th.candidate-col b,bs-va-roster td.candidate-col b,bs-va-roster th.sticky-col b,bs-va-roster td.sticky-col b,bs-bsa-vendors th.candidate-col b,bs-bsa-vendors td.candidate-col b,bs-bsa-vendors th.sticky-col b,bs-bsa-vendors td.sticky-col b,bs-client-roster th.candidate-col b,bs-client-roster td.candidate-col b,bs-client-roster th.sticky-col b,bs-client-roster td.sticky-col b,bs-bsa-candidates th.candidate-col b,bs-bsa-candidates td.candidate-col b,bs-bsa-candidates th.sticky-col b,bs-bsa-candidates td.sticky-col b,bs-bsa-visa-expiry th.candidate-col b,bs-bsa-visa-expiry td.candidate-col b,bs-bsa-visa-expiry th.sticky-col b,bs-bsa-visa-expiry td.sticky-col b,bs-bsa-pos th.candidate-col b,bs-bsa-pos td.candidate-col b,bs-bsa-pos th.sticky-col b,bs-bsa-pos td.sticky-col b,.candidate-roster-table th.candidate-col b,.candidate-roster-table td.candidate-col b,.candidate-roster-table th.sticky-col b,.candidate-roster-table td.sticky-col b{font-size:13.5px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;display:inline!important}bs-va-roster th.candidate-col .id,bs-va-roster td.candidate-col .id,bs-va-roster th.sticky-col .id,bs-va-roster td.sticky-col .id,bs-bsa-vendors th.candidate-col .id,bs-bsa-vendors td.candidate-col .id,bs-bsa-vendors th.sticky-col .id,bs-bsa-vendors td.sticky-col .id,bs-client-roster th.candidate-col .id,bs-client-roster td.candidate-col .id,bs-client-roster th.sticky-col .id,bs-client-roster td.sticky-col .id,bs-bsa-candidates th.candidate-col .id,bs-bsa-candidates td.candidate-col .id,bs-bsa-candidates th.sticky-col .id,bs-bsa-candidates td.sticky-col .id,bs-bsa-visa-expiry th.candidate-col .id,bs-bsa-visa-expiry td.candidate-col .id,bs-bsa-visa-expiry th.sticky-col .id,bs-bsa-visa-expiry td.sticky-col .id,bs-bsa-pos th.candidate-col .id,bs-bsa-pos td.candidate-col .id,bs-bsa-pos th.sticky-col .id,bs-bsa-pos td.sticky-col .id,.candidate-roster-table th.candidate-col .id,.candidate-roster-table td.candidate-col .id,.candidate-roster-table th.sticky-col .id,.candidate-roster-table td.sticky-col .id{font-size:11.5px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;display:block!important;margin-top:4px!important;line-height:1.4!important;color:var(--mut)!important}@media (max-width: 767.98px){bs-va-roster th.candidate-col,bs-va-roster td.candidate-col,bs-va-roster th.sticky-col,bs-va-roster td.sticky-col,bs-va-roster th:first-child,bs-va-roster td:first-child,bs-bsa-vendors th.candidate-col,bs-bsa-vendors td.candidate-col,bs-bsa-vendors th.sticky-col,bs-bsa-vendors td.sticky-col,bs-bsa-vendors th:first-child,bs-bsa-vendors td:first-child,bs-client-roster th.candidate-col,bs-client-roster td.candidate-col,bs-client-roster th.sticky-col,bs-client-roster td.sticky-col,bs-client-roster th:first-child,bs-client-roster td:first-child,bs-bsa-candidates th.candidate-col,bs-bsa-candidates td.candidate-col,bs-bsa-candidates th.sticky-col,bs-bsa-candidates td.sticky-col,bs-bsa-candidates th:first-child,bs-bsa-candidates td:first-child,bs-bsa-visa-expiry th.candidate-col,bs-bsa-visa-expiry td.candidate-col,bs-bsa-visa-expiry th.sticky-col,bs-bsa-visa-expiry td.sticky-col,bs-bsa-visa-expiry th:first-child,bs-bsa-visa-expiry td:first-child,bs-bsa-pos th.candidate-col,bs-bsa-pos td.candidate-col,bs-bsa-pos th.sticky-col,bs-bsa-pos td.sticky-col,bs-bsa-pos th:first-child,bs-bsa-pos td:first-child,.candidate-roster-table th.candidate-col,.candidate-roster-table td.candidate-col,.candidate-roster-table th.sticky-col,.candidate-roster-table td.sticky-col,.candidate-roster-table th:first-child,.candidate-roster-table td:first-child{padding-left:14px!important}bs-va-roster th.candidate-col,bs-va-roster td.candidate-col,bs-va-roster th.sticky-col,bs-va-roster td.sticky-col,bs-bsa-vendors th.candidate-col,bs-bsa-vendors td.candidate-col,bs-bsa-vendors th.sticky-col,bs-bsa-vendors td.sticky-col,bs-client-roster th.candidate-col,bs-client-roster td.candidate-col,bs-client-roster th.sticky-col,bs-client-roster td.sticky-col,bs-bsa-candidates th.candidate-col,bs-bsa-candidates td.candidate-col,bs-bsa-candidates th.sticky-col,bs-bsa-candidates td.sticky-col,bs-bsa-visa-expiry th.candidate-col,bs-bsa-visa-expiry td.candidate-col,bs-bsa-visa-expiry th.sticky-col,bs-bsa-visa-expiry td.sticky-col,bs-bsa-pos th.candidate-col,bs-bsa-pos td.candidate-col,bs-bsa-pos th.sticky-col,bs-bsa-pos td.sticky-col,.candidate-roster-table th.candidate-col,.candidate-roster-table td.candidate-col,.candidate-roster-table th.sticky-col,.candidate-roster-table td.sticky-col{width:150px!important;min-width:140px!important;max-width:170px!important}}bs-client-roster .roster-row{padding-left:22px!important;padding-right:20px!important}bs-bsa-timesheets th.sticky-col.ck-offset,bs-bsa-timesheets td.sticky-col.ck-offset,bs-bsa-timesheets th.sticky-col:not(.ck-offset),bs-bsa-timesheets td.sticky-col:not(.ck-offset),bs-bsa-timesheets th.sticky-col,bs-bsa-timesheets td.sticky-col,bs-bsa-timesheets th.candidate-col,bs-bsa-timesheets td.candidate-col,bs-bsa-ts-history th.sticky-col.ck-offset,bs-bsa-ts-history td.sticky-col.ck-offset,bs-bsa-ts-history th.sticky-col:not(.ck-offset),bs-bsa-ts-history td.sticky-col:not(.ck-offset),bs-bsa-ts-history th.sticky-col,bs-bsa-ts-history td.sticky-col,bs-bsa-ts-history th.candidate-col,bs-bsa-ts-history td.candidate-col{width:200px!important;min-width:200px!important;max-width:200px!important}bs-bsa-timesheets td.sticky-col .cand-name-row b,bs-bsa-ts-history td.sticky-col .cand-name-row b{font-size:13px!important;white-space:normal!important;word-break:break-word!important;overflow:visible!important;text-overflow:clip!important}bs-bsa-timesheets td.sticky-col .id,bs-bsa-ts-history td.sticky-col .id{font-size:11.5px!important;white-space:normal!important;word-break:break-word!important}.sticky-col{position:sticky;left:0;background:var(--card);z-index:2;box-shadow:2px 0 4px #0b1f3a0d;box-sizing:border-box}th.sticky-col{background:#f8fafd;z-index:8;top:0;box-shadow:2px 1px 4px #0b1f3a14;box-sizing:border-box}.sticky-col.ck-offset{left:2.25rem!important;width:95px!important;min-width:85px!important;max-width:105px!important}th.sticky-col.ck-offset{z-index:8;top:0}td.sticky-col.ck-offset{z-index:2}th.ckcol{position:sticky;left:0;top:0;z-index:8;background:#f8fafd;box-shadow:0 1px 0 var(--line)}td.ckcol{position:sticky;left:0;z-index:2;background:var(--card)}@media (max-width: 640px){.tbl-wrap{max-height:clamp(340px,70vh,640px)}}.ts td,.ts th{text-align:center;padding:8px 6px}.ts .we{background:#f6f8fc}.ts input{width:52px;text-align:center;border:1px solid var(--line);border-radius:6px;padding:6px 2px}.ts .tot{font-weight:700}.ts input[type=number]{min-height:40px}.sort-th{cursor:pointer;-webkit-user-select:none;user-select:none}.rowlink{cursor:pointer}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px;margin-bottom:18px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.kpi .l{display:block;font-size:11.5px;font-weight:600;text-transform:uppercase;color:var(--mut)}.kpi .v{font-family:Archivo,system-ui,sans-serif;font-size:24px;font-weight:700}.kpi.alert .v{color:var(--bad)}.kpi.warnk .v{color:var(--warn)}.chip{display:inline-block;font-size:11.5px;font-weight:600;border-radius:999px;padding:3px 9px;background:#edf1f7;color:var(--mut)}.chip.ok{background:#e5edfc;color:var(--blue)}.chip.bad{background:var(--bad-bg);color:var(--bad)}.chip.upd{background:var(--pend-bg);color:var(--pend)}.btn{display:inline-flex;align-items:center;gap:7px;border-radius:8px;padding:8px 14px;font-weight:600;font-size:13px;border:none;cursor:pointer}.btn.pri{background:var(--blue);color:#fff}.btn.pri:hover{background:var(--blue-d)}.btn.pri:disabled{background:#b9c7e0;cursor:not-allowed}.btn.gh{border:1px solid var(--line);background:#fff}.btn.gh:hover{border-color:var(--blue);color:var(--blue)}.btn.sm{padding:5px 10px;font-size:12px}.linkish{background:none;border:none;color:var(--blue);font-weight:600;font-size:12.5px;cursor:pointer;padding:0;margin:8px 0}.edit-rate,.linkish,.wc-clear{position:relative}.linkish:after,.edit-rate:after,.wc-clear:after{content:"";position:absolute;inset:-12px}.acts-th{text-align:right;padding-right:16px}.acts-cell{text-align:right;padding-right:12px;position:relative}.actions-menu-wrap{position:relative;display:inline-block}.kebab-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--mut);cursor:pointer;padding:0;transition:all .15s ease}.kebab-btn:hover,.kebab-btn.active{background:var(--ice);color:var(--ink);border-color:var(--line)}.actions-dropdown{position:fixed;z-index:1000;min-width:140px;max-height:calc(100vh - 24px);overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #0b1f3a2e;padding:4px;display:flex;flex-direction:column;gap:2px;animation:actFadeIn .12s cubic-bezier(0,0,.2,1)}.actions-dropdown.dropup{box-shadow:0 -8px 24px #0b1f3a2e}@keyframes actFadeIn{0%{opacity:0}to{opacity:1}}.act-item{display:flex;align-items:center;width:100%;text-align:left;border:none;background:transparent;padding:7px 12px;border-radius:6px;font:inherit;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;white-space:nowrap}.act-item:hover{background:var(--ice);color:var(--blue)}.ovl{position:fixed;inset:0;height:100vh;height:100dvh;background:#0b1f3a73;display:flex;align-items:center;justify-content:center;z-index:50;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:16px;padding-top:max(16px,env(safe-area-inset-top,0px));padding-bottom:max(16px,env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));box-sizing:border-box}.modal{background:#fff;border-radius:14px;width:min(520px,92vw);padding:20px 22px;padding-bottom:max(20px,16px + env(safe-area-inset-bottom,0px));box-shadow:0 20px 60px #0b1f3a59;max-height:calc(100vh - 40px);max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;cursor:default;box-sizing:border-box}.modal h3{font-family:Archivo,system-ui,sans-serif;margin-bottom:8px}.modal textarea{width:100%;min-height:74px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;font:inherit;margin-top:4px}.modal label{display:block;font-size:12px;font-weight:600;color:var(--mut);margin-top:10px}.modal .req{color:var(--bad)}.ck{display:flex;gap:10px;margin:12px 0;font-size:13px}.ck input{width:17px;height:17px;accent-color:var(--blue)}.ck small{color:var(--mut)}.warn{background:var(--warn-bg);color:#7a4e06;border-radius:8px;padding:10px 12px;font-size:12.5px;margin-top:10px}.err{color:var(--bad);font-weight:600;margin-top:8px}.okhint{color:var(--ok, #1a7f4b);font-weight:600;margin:0 0 10px;font-size:13px;text-align:left}.mf{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;padding-bottom:env(safe-area-inset-bottom,0px)}.empty{padding:34px;text-align:center;color:var(--mut)}.empty b{display:block;font-family:Archivo,system-ui,sans-serif;color:var(--ink);margin-bottom:4px}.pre-wrap{white-space:pre-wrap}.dayrow{display:flex;gap:8px;flex-wrap:wrap}.dayrow label{font-size:11px}.dayrow input{width:56px;display:block;border:1px solid var(--line);border-radius:6px;padding:6px}.login{position:fixed;inset:0;height:100vh;height:100dvh;background:var(--navy);display:flex;align-items:center;justify-content:center;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-sizing:border-box;padding:24px 16px;padding-top:max(20px,env(safe-area-inset-top,0px));padding-bottom:max(20px,env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.login .panel{background:#fff;border-radius:16px;width:min(420px,92vw);padding:32px 34px;box-sizing:border-box;margin:auto;box-shadow:0 20px 60px #00000047;flex-shrink:0}.login .panel .logo{display:flex;flex-direction:column;align-items:center;gap:6px}.login .panel .logo-img{height:auto;width:200px;max-width:70%;display:block}.login .panel .logo-mark{display:none}.login .panel .by{font-size:11px;color:var(--mut);letter-spacing:.2px}.login .panel .copy{margin-top:18px;text-align:center;font-size:11px;color:var(--mut)}.login .panel h1{margin:22px 0 10px;font-size:17px}.login .panel label{display:block;font-size:12px;font-weight:600;color:var(--mut);margin:12px 0 5px}.login .panel input,.login .panel select{width:100%;border:1px solid var(--line);border-radius:9px;padding:11px 12px;font:inherit;box-sizing:border-box}.login .panel .go{width:100%;margin-top:20px;background:var(--blue);color:#fff;border:none;border-radius:9px;padding:12px;font-weight:600;cursor:pointer}.login .panel .hint{margin-top:12px;text-align:center;font-size:11.5px;color:var(--mut)}@media (max-height: 600px),(orientation: landscape) and (max-height: 640px){.login{padding:12px;padding-top:max(10px,env(safe-area-inset-top,0px));padding-bottom:max(12px,env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.login .panel{width:min(440px,94vw);padding:16px 22px;border-radius:12px;margin:auto}.login .panel .logo{gap:3px}.login .panel .logo-img{width:135px}.login .panel .by{font-size:10px}.login .panel h1{margin:10px 0 6px;font-size:16px}.login .panel label{margin:7px 0 3px;font-size:11px}.login .panel input,.login .panel select{padding:8px 10px;font-size:13px;border-radius:7px}.login .panel .go{margin-top:12px;padding:10px;font-size:13px;border-radius:7px}.login .panel .hint{margin-top:8px;font-size:11px}.login .panel .copy{margin-top:10px;font-size:10px}}@media (min-width: 768px){.app{grid-template-columns:4.5rem 1fr;grid-template-areas:"topbar topbar" "side   main"}.app.collapsed{grid-template-columns:0 1fr}.side{position:static;width:auto;transform:none;pointer-events:auto;box-shadow:none;padding:14px 6px}.side.open{box-shadow:none}.side .sect{text-align:center;padding:10px 4px;font-size:9px;letter-spacing:.4px}.side a{text-align:center;padding:9px 6px;justify-content:center}.nav-lab{display:none}.nav-abbr{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:8px;font-family:Archivo,system-ui,sans-serif;font-size:13px;font-weight:700}.side a.on .nav-abbr{background:#ffffff38}.collapsed .side{padding:14px 0;border-color:transparent}}@media (min-width: 1024px){.app{grid-template-columns:14rem 1fr}.app.collapsed{grid-template-columns:0 1fr}.side{padding:14px 10px}.side .sect{text-align:left;padding:10px;font-size:10.5px;letter-spacing:.8px}.side a{text-align:left;padding:9px 10px;justify-content:space-between}.nav-lab{display:inline}.nav-abbr{display:none}}@media (max-width: 767.98px){th.col-cand:not(.sticky-col){position:sticky;top:0;left:auto!important;z-index:6;background:#f8fafd;box-shadow:0 1px 0 var(--line)}td.col-cand:not(.sticky-col){position:static!important;left:auto!important;box-shadow:none!important}.th-full{display:none!important}.th-short{display:inline!important}.sticky-col,th.sticky-col,td.sticky-col,th.col-cand,td.col-cand,td[data-label=Candidate].sticky-col{width:90px!important;min-width:80px!important;max-width:95px!important;padding:6px 3px!important;box-sizing:border-box!important}.sticky-col .sub-col,th.sticky-col .sub-col,td.sticky-col .sub-col,th.col-cand .sub-col,td.col-cand .sub-col,td[data-label=Candidate].sticky-col .sub-col{padding-left:0!important;gap:2px!important}.sticky-col .sub-bullet,th.sticky-col .sub-bullet,td.sticky-col .sub-bullet,th.col-cand .sub-bullet,td.col-cand .sub-bullet,td[data-label=Candidate].sticky-col .sub-bullet{font-size:10px!important}.sticky-col .week-label,th.sticky-col .week-label,td.sticky-col .week-label,th.col-cand .week-label,td.col-cand .week-label,td[data-label=Candidate].sticky-col .week-label{font-size:11px!important;letter-spacing:-.4px!important;white-space:nowrap!important}.sticky-col .cand-name-row,.sticky-col .cand-name,.sticky-col b,th.sticky-col .cand-name-row,th.sticky-col .cand-name,th.sticky-col b,td.sticky-col .cand-name-row,td.sticky-col .cand-name,td.sticky-col b,th.col-cand .cand-name-row,th.col-cand .cand-name,th.col-cand b,td.col-cand .cand-name-row,td.col-cand .cand-name,td.col-cand b,td[data-label=Candidate].sticky-col .cand-name-row,td[data-label=Candidate].sticky-col .cand-name,td[data-label=Candidate].sticky-col b{font-size:11px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;display:block!important;max-width:100%!important}.sticky-col .id,th.sticky-col .id,td.sticky-col .id,th.col-cand .id,td.col-cand .id,td[data-label=Candidate].sticky-col .id{font-size:9.5px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;display:block!important;max-width:100%!important}.sticky-col .hol-badge,th.sticky-col .hol-badge,td.sticky-col .hol-badge,th.col-cand .hol-badge,td.col-cand .hol-badge,td[data-label=Candidate].sticky-col .hol-badge{width:5px!important;height:5px!important;margin-left:1px!important}th.sticky-col,th.col-cand{font-size:9.5px!important;white-space:normal!important;line-height:1.15!important;padding:6px 3px!important;text-align:left!important}.sticky-col.ck-offset{left:2rem!important;width:80px!important;min-width:72px!important;max-width:85px!important}.sk-row td.sticky-col .sk-line{max-width:60px!important}.day-slots{font-size:11.5px!important;letter-spacing:-.2px}.day-slot{padding:1px 2px!important}.day-sep{margin:0 1px!important}.grp-cell{position:sticky;left:8px;max-width:calc(100vw - 36px)}.topbar{padding:0 12px;gap:10px}.topbar .logo-mark{height:26px}.main{padding:16px 14px calc(48px + env(safe-area-inset-bottom,0px))}.kpis{grid-template-columns:repeat(2,1fr);gap:8px}.grid2{grid-template-columns:1fr!important}.btn{min-height:38px}.btn.sm{min-height:34px}.kebab-btn{width:36px;height:36px}.menu-toggle{width:38px;height:38px}.modal{width:calc(100vw - 20px);padding:16px;border-radius:12px}}@media (max-width: 480px){.kpis{grid-template-columns:1fr}.topbar .who{display:none}.login .panel{padding:24px 18px}}@media (pointer: coarse){.btn,.btn.sm,.kebab-btn,.wc-nav,.lo,.acct-btn,.fsel select,.fsearch,.menu-toggle,.side-toggle,.wc-trigger{min-height:44px;min-width:44px}.btn.sm,.kebab-btn,.wc-nav,.menu-toggle,.side-toggle{min-width:44px;padding-left:10px;padding-right:10px}.side a{min-height:38px;min-width:unset;width:100%;box-sizing:border-box}.fsearch,.fsel select{min-width:44px;width:100%}.ck input,.ckcol input[type=checkbox]{width:24px;height:24px;min-width:24px;min-height:24px}}html.desktop-mode{min-width:1024px}html.desktop-mode body{min-width:1024px;overflow-x:auto}html.desktop-mode .app{grid-template-columns:14rem 1fr!important;grid-template-areas:"topbar topbar" "side   main"!important}html.desktop-mode .app.collapsed{grid-template-columns:0 1fr!important}html.desktop-mode .topbar{padding:0 16px!important}html.desktop-mode .topbar .menu-toggle{display:none!important}html.desktop-mode .topbar .side-toggle{display:inline-flex!important}html.desktop-mode .topbar .logo-img{display:block!important}html.desktop-mode .topbar .logo-mark{display:none!important}html.desktop-mode .topbar .who{display:inline!important}html.desktop-mode .side{position:static!important;width:auto!important;transform:none!important;box-shadow:none!important;pointer-events:auto!important;padding:14px 10px!important}html.desktop-mode .side .sect{text-align:left!important;padding:10px!important;font-size:10.5px!important;letter-spacing:.8px!important}html.desktop-mode .side a{text-align:left!important;padding:9px 10px!important;justify-content:space-between!important}html.desktop-mode .nav-lab{display:inline!important}html.desktop-mode .nav-abbr,html.desktop-mode .side-backdrop{display:none!important}html.desktop-mode .main{padding:24px 28px!important}html.desktop-mode .kpis{grid-template-columns:repeat(auto-fit,minmax(168px,1fr))!important;gap:12px!important}html.desktop-mode .grid2{grid-template-columns:1fr 1fr!important}html.desktop-mode .modal{width:min(520px,92vw)!important;padding:24px!important;border-radius:14px!important}html.desktop-mode .modal.wide{width:min(920px,96vw)!important}.grecaptcha-badge{visibility:hidden!important}@keyframes sk-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.sk-line,.sk-chip,.sk-box{background:linear-gradient(90deg,#edf2f7 25%,#e2e8f0,#edf2f7 75%);background-size:200% 100%;animation:sk-shimmer 1.5s infinite ease-in-out;border-radius:4px;display:inline-block}.sk-line{height:14px;width:100%;max-width:180px;vertical-align:middle}.sk-line.short{max-width:70px}.sk-line.med{max-width:130px}.sk-line.long{max-width:240px}.sk-chip{height:20px;width:65px;border-radius:999px;vertical-align:middle}.sk-box{width:100%;height:38px;border-radius:8px}.sk-row td{padding:13px 16px!important;background:#fff!important;border-bottom:1px solid var(--line)!important;pointer-events:none!important}.flag-icon{display:inline-flex;align-items:center;vertical-align:middle;margin-left:4px;color:var(--mut)}
