:root{--bg:#f2f2f2;--card:#fff;--card2:#f7f7f7;--line:#b8b8b8;--txt:#000;--mut:#4a4a4a;--pass:#1f7a35;--passbg:#e9f5ec;--fail:#c62828;--failbg:#fdecec;--warn:#a35d00;--warnbg:#fff2d9;--accent:#000;--on-accent:#fff;--vend:#000;--logo:#000;--scroll-track:#e2e2e2;--scroll-thumb:#2a2a2a;--scroll-thumb-hover:#000;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d}body{background:var(--bg);color:var(--txt);margin:0;font-family:Inter,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:14px;line-height:1.5}.wrap{max-width:1360px;margin:0 auto;padding:24px 18px 60px}h1{margin:0 0 4px;font-size:22px}.sub{color:var(--mut);margin-bottom:18px;font-size:13px}.kpis{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:10px;margin-bottom:18px;display:grid}.kpis.compact{grid-auto-flow:initial;grid-auto-columns:initial;grid-template-columns:repeat(auto-fit,minmax(190px,240px));justify-content:start}.kpi{background:var(--card);border:1px solid var(--line);border-radius:10px;min-width:0;padding:10px 12px}.kpi .n{white-space:nowrap;font-size:20px;font-weight:700}.kpi .l{color:var(--mut);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.controls{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.controls>span{align-items:center;gap:6px;display:flex}.controls label{color:var(--mut);margin-right:4px;font-size:12px}select{background:var(--card2);color:var(--txt);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:7px 10px;font-size:13px}.mselect{width:178px;position:relative}.searchbar .mselect{width:220px}.mselect-btn{background:var(--card2);width:100%;min-height:34px;color:var(--txt);border:1px solid var(--line);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex;overflow:hidden}.mselect-btn:after{content:"▾";color:var(--mut);font-size:11px}.mselect.open .mselect-btn{border-color:var(--accent)}.mselect-menu{z-index:50;background:var(--card);border:1px solid var(--line);width:max(100%,230px);max-width:320px;max-height:250px;box-shadow:var(--shadow-lg);scrollbar-width:thin;border-radius:8px;padding:6px;display:none;position:absolute;top:calc(100% + 5px);left:0;overflow-y:auto}.mselect-menu label{color:var(--txt);cursor:pointer;text-align:left;border-radius:6px;grid-template-columns:18px minmax(0,1fr);align-items:center;column-gap:8px;margin:0;padding:7px 8px;font-size:12.5px;line-height:1.25;display:grid}.mselect-menu input{width:14px;height:14px;accent-color:var(--accent);justify-self:center;margin:0}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.tab{cursor:pointer;color:var(--mut);border-bottom:2px solid #0000;padding:9px 16px;font-weight:600}.tab.active{color:var(--accent);border-color:var(--accent)}table{border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:12px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 12px;font-size:13px}th{color:var(--mut);text-transform:uppercase;letter-spacing:.3px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:600}th[data-s]:after{content:attr(data-s);color:var(--accent)}tr.row{cursor:pointer}tr.row:hover{background:var(--card2)}td.num{text-align:right;font-variant-numeric:tabular-nums}.bar{background:var(--failbg);vertical-align:middle;border-radius:5px;min-width:70px;height:8px;display:inline-block;overflow:hidden}.bar>i{background:var(--pass);height:100%;display:block}.pill{border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.pill.p{background:var(--passbg);color:var(--pass)}.pill.f{background:var(--failbg);color:var(--fail)}.pill.w,:root[data-theme=dark] .pill.w{background:var(--warnbg);color:var(--warn)}.cp-field{text-align:left;margin-bottom:12px}.cp-field label{color:var(--txt);margin-bottom:5px;font-size:12.5px;font-weight:600;display:block}.cp-field textarea{box-sizing:border-box;border:1px solid var(--line);width:100%;font:inherit;background:var(--card2);color:var(--txt);resize:vertical;border-radius:8px;padding:8px 10px;font-size:13px}.cp-fields{max-height:50vh;overflow-y:auto}.mdl-box.cp-wide{max-width:520px}.fa-done-year{margin-top:10px}.fa-done-head{cursor:pointer;color:var(--txt);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:6px 4px;font-weight:700;display:flex}.fa-done-head:hover{color:var(--accent)}.fa-done-sub{margin:4px 0 4px 16px}.fa-group-rates{flex-wrap:wrap;gap:6px;margin:2px 0 8px 24px;display:flex}.fa-done-sub .fa-group-rates{margin-left:24px}.fa-group-rate{border:1px solid var(--line);background:var(--card);color:var(--txt);border-radius:8px;align-items:center;gap:5px;padding:3px 7px;font-size:11.5px;display:inline-flex}.fa-group-rate b{color:var(--accent)}.fa-group-rate em{color:var(--mut);font-style:normal}.fa-import-panel{border-bottom:1px solid var(--line);background:var(--card);padding:10px;display:none}.fa-import-panel.open{display:block}.fa-import-note{color:var(--mut);justify-content:space-between;gap:10px;margin-bottom:7px;font-size:12px;display:flex}.fa-import-note b{color:var(--txt);white-space:nowrap}.fa-import-panel textarea{box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:92px;font:inherit;background:var(--card2);color:var(--txt);resize:vertical;border-radius:8px;padding:8px 10px;font-size:12.5px;line-height:1.45}.fa-import-act{justify-content:flex-end;gap:6px;margin-top:8px;display:flex}.pe-imported-head{z-index:1;color:var(--accent);background:var(--card);border-bottom:1px solid var(--line);padding:6px 10px;font-size:11.5px;font-weight:700;position:sticky;top:0}.picker label.pe-imported{background:var(--passbg)}.picker label.pe-imported:hover{background:var(--passbg);filter:brightness(.96)}.fa-reason{border-left:3px solid var(--fail);background:var(--card2);border-radius:0 6px 6px 0;margin-bottom:6px;padding:6px 10px}.fa-reason .who{font-size:12.5px;font-weight:600}.fa-reason .why{color:var(--mut);white-space:pre-wrap;margin-top:2px;font-size:12px}.gtag{background:var(--card2);color:var(--mut);border:1px solid var(--line);border-radius:6px;padding:1px 7px;font-size:10.5px;font-weight:700;display:inline-block}.tag-v{color:var(--vend);border-color:var(--vend)}.tag-i{color:var(--accent);border-color:var(--accent)}.irronly{background:var(--card2);color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.es{border-radius:5px;margin-left:4px;padding:0 6px;font-size:10.5px;font-weight:700;display:inline-block}.es1{background:var(--passbg);color:var(--pass)}.es2{background:var(--passbg);color:var(--warn)}.es3{background:var(--failbg);color:var(--fail)}.detail{background:var(--card2)}.detail td{padding:0}.dwrap{padding:10px 14px}.subtab{background:0 0;border:0;width:100%;margin:0}.subtab th,.subtab td{border-bottom:1px solid var(--line);padding:6px 8px;font-size:12px}.subtab th{text-transform:none;letter-spacing:0;cursor:default;color:var(--mut)}.skrow{cursor:pointer}.skrow:hover{background:var(--line)}.cat td{background:var(--card2);letter-spacing:.4px;border-top:2px solid var(--accent);font-weight:700}.names{grid-template-columns:1fr 1fr;gap:16px;padding:8px 4px;display:grid}.names.es3{grid-template-columns:repeat(3,minmax(0,1fr))}.dcol h4{text-transform:uppercase;margin:0 0 8px;font-size:12px}.dcol.p h4{color:var(--pass)}.dcol.f h4{color:var(--fail)}.dcol.i h4{color:var(--accent)}.nm{background:var(--card2);border-radius:6px;justify-content:space-between;margin-bottom:4px;padding:4px 8px;font-size:12px;display:flex}.nm .v{color:var(--mut);font-variant-numeric:tabular-nums}.nm.bad .v{color:var(--fail)}.nm.ok .v{color:var(--pass)}.muted{color:var(--mut);font-size:12px}.caret{width:12px;color:var(--mut);display:inline-block}.empty{text-align:center;color:var(--mut);padding:30px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:16px}.card h3{margin:0 0 4px;font-size:15px}.card .d{color:var(--mut);margin-bottom:12px;font-size:12px}.sev{border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.sev.hi{background:var(--fail)}.sev.md{background:var(--warn)}@media (width<=760px){.kpis{grid-template-columns:repeat(2,1fr);grid-auto-columns:auto;grid-auto-flow:row}.names,.names.es3{grid-template-columns:1fr}}.kpi,.card,table{box-shadow:0 1px 2px #1018280d}body{background:var(--bg)}#reloadBtn{background:var(--accent);color:var(--on-accent);cursor:pointer;border:0;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600}#reloadBtn:hover{opacity:.9}#statusBar{margin-left:8px}th{white-space:nowrap}th.num{text-align:right}th.num,td.num{min-width:104px}td.num .pill{text-align:center;min-width:36px}.bar{vertical-align:middle}.loading{text-align:center;color:var(--mut);padding:44px}@keyframes spin{to{transform:rotate(360deg)}}.load-progress{text-align:left;max-width:420px;margin:16px auto 0}.load-progress-row{color:var(--mut);justify-content:space-between;gap:12px;margin-bottom:6px;font-size:12px;display:flex}.load-progress-track{background:var(--card2);border:1px solid var(--line);border-radius:999px;height:9px;overflow:hidden}.load-progress-fill{background:var(--accent);border-radius:999px;width:0;height:100%;transition:width .35s;display:block}.skel{background:linear-gradient(90deg,#cacaca 25%,#fff 37%,#cacaca 63%) 0 0/400% 100%;border-radius:6px;height:14px;margin:9px 0;animation:1.15s infinite sh}@keyframes sh{0%{background-position:100% 0}to{background-position:0 0}}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.topbar .brand h1{margin:0 0 2px}.brand-logo{width:132px;height:30px;color:var(--logo);margin:0 0 8px;display:block}.brand-logo path{fill:currentColor}.topbar-actions{flex-shrink:0;gap:8px;display:flex}.topbar-actions button,.topbar-actions select{background:var(--card);color:var(--txt);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}.topbar-actions button:hover,.topbar-actions select:hover{border-color:var(--accent);color:var(--accent)}input[type=date],input[type=text]{background:var(--card2);color:var(--txt);border:1px solid var(--line);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:8px;padding:6px 10px;font-size:13px}input[type=date]::-webkit-calendar-picker-indicator{opacity:.78;filter:none;cursor:pointer}html[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator{filter:invert();opacity:.9}.notice{background:var(--failbg);color:var(--fail);border:1px solid var(--fail);border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:13px;font-weight:600}html[data-theme=dark]{--bg:#000;--card:#080808;--card2:#141414;--line:#4a4a4a;--txt:#fff;--mut:#bdbdbd;--pass:#62c878;--passbg:#102a17;--fail:#ff6b6b;--failbg:#301111;--warn:#f2b84b;--warnbg:#2b2110;--accent:#fff;--on-accent:#000;--vend:#fff;--logo:#fff;--scroll-track:#111;--scroll-thumb:#d0d0d0;--scroll-thumb-hover:#fff}html[data-theme=dark] .skel{background:linear-gradient(90deg,#111 25%,#3a3a3a 37%,#111 63%) 0 0/400% 100%}.searchbar{align-items:center;gap:8px;margin:-4px 0 16px;display:flex}.searchbar label{color:var(--mut);font-size:12px}.searchbar span{align-items:center;gap:6px;display:flex}.searchbar input{flex:1}.stickyhead{z-index:100;-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-sm);border-bottom:1px solid var(--line);background:#f2f2f2f5;margin:-24px 0 16px;padding:14px 0 0;transition:background .3s;position:sticky;top:0}html[data-theme=dark] .stickyhead{background:#000000f5}.fade-in{animation:.3s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.mdl-ovr{z-index:9999;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .25s;display:flex;position:fixed;top:0;left:0}.mdl-ovr.show{opacity:1;pointer-events:auto}.mdl-box{background:var(--card);box-shadow:var(--shadow-lg);border:1px solid var(--line);border-radius:12px;width:90%;max-width:360px;padding:24px;transition:transform .25s;transform:scale(.95)}.mdl-ovr.show .mdl-box{transform:scale(1)}.mdl-title{color:var(--txt);margin-bottom:12px;font-size:16px;font-weight:700}.mdl-body{color:var(--mut);margin-bottom:24px;font-size:14px;line-height:1.5}.mdl-acts{justify-content:flex-end;gap:12px;display:flex}.mdl-acts button{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.mdl-cancel{background:var(--card2);color:var(--txt)}.mdl-cancel:hover{opacity:.8}.mdl-ok{background:var(--accent);color:var(--on-accent)}.mdl-ok:hover{opacity:.9}.fa-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.fa-grid2{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.fa-grid label,.fa-grid2 label{color:var(--mut);flex-direction:column;gap:4px;font-size:12px;display:flex}.fa-grid input,.fa-grid select,.fa-grid2 select{background:var(--card2);color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:13px}button.primary{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);cursor:pointer;white-space:nowrap;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600}button.primary:hover{opacity:.9}button.ghost{background:var(--card);color:var(--txt);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600}button.ghost.danger{color:var(--fail);border-color:var(--fail)}button.ghost.copy{color:var(--accent);border-color:var(--accent)}#fa_add,#fa_save{background:var(--accent);color:var(--on-accent);cursor:pointer;border:0;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}@media (width<=760px){.fa-grid{grid-template-columns:1fr 1fr}.fa-grid2{grid-template-columns:1fr}}.picker{border:1px solid var(--line);background:var(--card2);border-radius:8px;overflow:hidden}.fa-title{margin-bottom:4px}.picker .psearch{border:0;border-bottom:1px solid var(--line);background:var(--card);width:100%;color:var(--txt);padding:8px 10px;font-size:13px}.picker .plist{max-height:240px;overflow-y:auto}.picker label{border-bottom:1px solid var(--line);cursor:pointer;color:var(--txt);flex-direction:row;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.picker label:last-child{border-bottom:0}.picker label:hover{background:var(--line)}.picker input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);flex-shrink:0}::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:999px}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:3px solid var(--scroll-track);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}.ptools{border-bottom:1px solid var(--line);color:var(--mut);background:var(--card);flex-wrap:wrap;align-items:center;gap:10px;padding:6px 10px;font-size:12px;display:flex}.pcount{color:var(--txt);font-weight:700}.plink{color:var(--accent);cursor:pointer;font-weight:600}.plink:hover{text-decoration:underline}.plink-btn{appearance:none;color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:700}.plink-btn:hover{text-decoration:underline}.fa-targets{flex-wrap:wrap;gap:8px;margin:12px 0 4px;display:flex}.fa-target{background:var(--card2);border:1px solid var(--line);border-radius:8px;align-items:center;gap:6px;padding:6px 9px;font-size:12px;display:inline-flex}.fa-target b{color:var(--txt)}.fa-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 16px;margin:10px 0 2px;display:flex}.fa-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:6px;display:flex}.fa-range{flex-wrap:wrap;align-items:end;gap:8px;margin:0;display:flex}.fa-range label{color:var(--mut);flex-direction:column;gap:3px;font-size:11px;font-weight:600;display:flex}.fa-range input,.fa-range select{background:var(--card2);min-width:132px;color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:12px}.fa-range button{align-self:end}.fa-summary-main{flex:1;min-width:0}.fa-summary-groups{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:4px;max-width:45%;display:flex}@media (width<=600px){.fa-summary-groups{display:none}}.fa-summary-date{margin-top:3px}.fa-chevron{color:var(--mut);padding-top:2px;font-size:16px;line-height:1}.ctx-menu{z-index:10000;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:8px;min-width:128px;padding:6px;display:none;position:fixed}.ctx-menu button{text-align:left;width:100%;color:var(--txt);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 9px;font-size:12px;font-weight:700}.ctx-menu button:hover{background:var(--card2);color:var(--accent)}html{--bg:#f2f2f2;--card:#fff;--card2:#f7f7f7;--txt:#000;--mut:#4a4a4a;--line:#b8b8b8;--accent:#000;--accent2:#2a2a2a;--on-accent:#fff;--pass:#1f7a35;--fail:#c62828;--warn:#a35d00;--shadow:0 1px 2px #0000001f, 0 12px 30px #00000014;background:var(--bg);color:var(--txt);font-family:Inter,Arial,sans-serif}html[data-theme=dark]{--bg:#000;--card:#080808;--card2:#141414;--txt:#fff;--mut:#cacaca;--line:#4a4a4a;--accent:#fff;--accent2:#d0d0d0;--on-accent:#000;--pass:#62c878;--fail:#ff5b65;--warn:#ffb84d}*{box-sizing:border-box}body{background:var(--bg);color:var(--txt);margin:0;font-size:14px}button,input,select,textarea{font:inherit}button,select,input,textarea{border:1px solid var(--line);background:var(--card);color:var(--txt);border-radius:8px}button{cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:9px 13px;font-weight:700;display:inline-flex}button.primary,.btn-primary,#reloadBtn,#fa_add,#fa_save,.mdl-ok{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.ghost{background:var(--card);color:var(--txt)}button.danger,.ghost.danger{color:var(--fail);border-color:var(--fail)}button.copy{color:var(--accent);border-color:var(--accent)}button:disabled{opacity:.55;cursor:wait}input,select,textarea{min-height:40px;padding:9px 12px}input[type=checkbox],input[type=radio]{width:16px;height:16px;min-height:0;accent-color:var(--accent);margin:0;padding:0}textarea{resize:vertical;width:100%}.wrap{width:min(1680px,100% - 64px);min-height:100vh;margin:0 auto}.stickyhead{z-index:50;background:var(--bg);border-bottom:1px solid var(--line);padding:18px 0 0;position:sticky;top:0}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.brand-logo{fill:var(--txt);margin-bottom:10px;display:block}h1{margin:0 0 8px;font-size:30px;line-height:1.1}h2,h3,h4{color:var(--txt)}.sub,.muted{color:var(--mut)}.topbar-actions{align-items:center;gap:10px;display:flex}.topbar-actions select{width:160px;font-weight:700}.icon-btn{justify-content:center;align-items:center;min-width:44px;height:44px;padding:0;display:inline-flex}.kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:22px 0 14px;display:grid}.kpis.compact{grid-template-columns:repeat(2,minmax(160px,1fr));max-width:760px}.kpi{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;min-height:92px;padding:14px 16px}.kpi .n{color:var(--txt);font-size:28px;font-weight:800;line-height:1.05}.kpi .l{color:var(--mut);margin-top:7px;line-height:1.25}.kpi.pass .n{color:var(--pass)}.kpi.fail .n{color:var(--fail)}.controls{grid-template-columns:150px 150px auto 220px 118px minmax(140px,1fr);align-items:end;gap:12px 14px;margin:10px 0;display:grid}.searchbar{grid-template-columns:minmax(360px,1fr) 220px 220px;align-items:end;gap:12px 14px;margin:10px 0;display:grid}.controls>span,.searchbar>span{flex-direction:column;align-items:stretch;gap:5px;display:flex}.controls>.inline-field{flex-direction:column}.controls>.action-field{justify-content:end}.filter-info{white-space:nowrap;align-self:center;padding-top:22px}label{color:var(--txt);font-weight:600}.field{flex-direction:column;gap:5px;display:flex}.searchbox{flex:1;min-width:0}.tabs{gap:18px;margin-top:18px;display:flex;overflow-x:auto}.tab{cursor:pointer;white-space:nowrap;color:var(--mut);border-bottom:3px solid #0000;padding:13px 4px;font-weight:800}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;margin-bottom:16px;padding:18px}.notice{border:1px solid var(--warn);color:var(--warn);background:color-mix(in srgb, var(--warn) 10%, transparent);border-radius:8px;padding:10px 12px}.empty,.loading{background:var(--card);border:1px solid var(--line);text-align:center;color:var(--mut);border-radius:8px;padding:28px}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin:0 auto 12px;animation:1s linear infinite spin}.load-progress{max-width:420px;margin:16px auto 0}.load-progress-row{color:var(--mut);justify-content:space-between;margin-bottom:6px;display:flex}.load-progress-track{background:var(--line);border-radius:999px;height:8px;overflow:hidden}.load-progress-fill{background:var(--accent);width:0%;height:100%;transition:width .35s;display:block}table{border-collapse:collapse;background:var(--card);table-layout:auto;border-radius:8px;width:100%;overflow:hidden}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:11px 14px}th{background:var(--card2);font-weight:800}tr.row,tr.clickable{cursor:pointer}tr:hover>td{background:color-mix(in srgb, var(--txt) 3%, transparent)}.num{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.rate-cell .bar{margin-right:6px}.pill,.gtag{border:1px solid var(--line);background:var(--card2);border-radius:7px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-flex}.pill.p{color:var(--pass);background:color-mix(in srgb, var(--pass) 10%, var(--card))}.pill.f{color:var(--fail);background:color-mix(in srgb, var(--fail) 10%, var(--card))}.pill.w{color:var(--warn);background:color-mix(in srgb, var(--warn) 10%, var(--card))}.gtag.tag-v{color:var(--accent)}.bar{vertical-align:middle;background:color-mix(in srgb, var(--fail) 12%, var(--card2));border-radius:999px;width:96px;height:9px;margin-right:8px;display:inline-block;overflow:hidden}.bar i{background:var(--pass);height:100%;display:block}.dwrap,.subtab-wrap{padding:10px 0}.subtab th,.subtab td{padding:8px 10px;font-size:13px}.mselect{width:100%;min-width:0;position:relative}.mselect-btn{background:var(--card);width:100%;color:var(--txt);border-color:var(--line);justify-content:space-between;align-items:center;display:flex}.mselect-menu{z-index:100;background:var(--card);border:1px solid var(--line);width:280px;max-height:340px;box-shadow:var(--shadow);border-radius:8px;padding:8px;display:none;position:absolute;top:calc(100% + 6px);left:0;overflow:auto}.mselect.open .mselect-menu{display:block}.mselect-menu label{cursor:pointer;text-align:left;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;padding:8px;display:grid}.mselect-label{overflow-wrap:anywhere;min-width:0}.mselect-group{color:var(--txt);text-transform:uppercase;padding:9px 8px 4px;font-size:12px;font-weight:900}.fa-grid,.fa-grid2{gap:12px;margin-top:12px;display:grid}.fa-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.fa-grid2{grid-template-columns:1fr 1fr}.picker{border:1px solid var(--line);background:var(--card2);border-radius:8px;padding:10px}.plist{border:1px solid var(--line);background:var(--card);border-radius:8px;max-height:280px;margin-top:8px;padding:6px;overflow:auto}.plist label{gap:8px;padding:6px;font-weight:500;display:flex}.ptools,.fa-actions,.fa-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fa-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;display:flex}.fa-summary-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fa-detail{margin-top:14px}.nm{background:var(--card2);border-radius:8px;justify-content:space-between;gap:12px;margin-bottom:6px;padding:8px 10px;display:flex}.ctx-menu{z-index:1000;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:6px;position:fixed}.modal-backdrop{z-index:200;background:#0000006b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--card);border:1px solid var(--line);width:min(640px,100vw - 32px);box-shadow:var(--shadow);border-radius:8px;padding:18px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}svg.chart{width:100%;height:auto;display:block}.trend-controls{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.caret{border-bottom:1.75px solid;border-right:1.75px solid;width:8px;height:8px;margin:0 7px 1px 2px;transition:transform .16s;display:inline-block;transform:rotate(-45deg)}.caret.open{transform:rotate(45deg)translate(-1px,-1px)}@media (width<=900px){.wrap{width:min(100% - 22px,1760px)}.topbar,.fa-grid2{grid-template-columns:1fr;display:grid}.kpis,.kpis.compact,.fa-grid,.controls,.searchbar{grid-template-columns:1fr}.searchbox{min-width:100%}table{font-size:13px}th,td{padding:9px}}:root{--bg:#f2f2f2;--card:#fff;--card2:#f7f7f7;--txt:#000;--mut:#4a4a4a;--line:#b8b8b8;--surface-soft:#f7f7f7;--surface-hover:#eaeaea;--header-bg:#f2f2f2f5;--sticky-shell-height:0px;--control-height:36px}html[data-theme=dark]{--bg:#000;--card:#080808;--card2:#141414;--txt:#fff;--mut:#cacaca;--line:#4a4a4a;--surface-soft:#141414;--surface-hover:#242424;--header-bg:#000000f5}body{letter-spacing:0;min-width:320px}.wrap{max-width:1680px;padding:16px 0 48px}.stickyhead{background:var(--header-bg);box-shadow:0 1px 0 var(--line);-webkit-backdrop-filter:blur(14px);margin:-16px 0 14px;padding:14px 0 0}.topbar{min-height:78px}.brand-logo{width:120px;height:27px;color:var(--txt)}.brand h1{margin-bottom:4px;font-size:26px;line-height:1.15}.brand .sub{margin-bottom:0;font-size:12px;line-height:1.45}.topbar-actions select{width:158px;min-height:var(--control-height);padding:8px 34px 8px 12px}#themeBtn,#reloadBtn{width:var(--control-height);min-width:var(--control-height);height:var(--control-height);border-radius:8px;padding:0}#themeBtn{background:var(--card);border-color:var(--line);color:var(--txt)}#reloadBtn{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.kpis{gap:10px;margin:14px 0 10px}.kpi{flex-direction:column;justify-content:center;min-height:72px;padding:10px 14px;display:flex}.kpi .n{font-variant-numeric:tabular-nums;font-size:24px}.kpi .l{white-space:normal;margin-top:5px;font-size:11.5px}.controls,.searchbar{width:100%}.controls{grid-template-columns:142px 142px max-content 210px 108px max-content;justify-content:start}.searchbar{grid-template-columns:minmax(420px,1fr) 220px 220px}.controls>span,.searchbar>span{min-width:0}.controls label,.searchbar label{color:var(--mut);margin:0;font-size:11.5px}.controls input,.controls select,.controls button,.searchbar input,.searchbar select,.searchbar button,.mselect-btn{min-height:var(--control-height)}.controls input[type=checkbox],.controls input[type=radio],.searchbar input[type=checkbox],.searchbar input[type=radio]{width:16px;height:16px;min-height:0;padding:0}#searchBtn{min-width:92px}#filtinfo{min-height:var(--control-height);white-space:nowrap;color:var(--mut);background:color-mix(in srgb, var(--card) 68%, transparent);border:1px solid color-mix(in srgb, var(--line) 72%, transparent);border-radius:8px;flex-direction:row;justify-content:flex-start;align-self:end;align-items:center;padding:0 12px;font-size:12px;display:flex}button{transition:border-color .16s,background-color .16s,color .16s,transform .16s}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,.mselect-btn:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 25%, transparent);outline-offset:1px}.has-ui-icon,.icon-only{justify-content:center;align-items:center;gap:7px;display:inline-flex!important}.ui-icon{pointer-events:none;flex:0 0 16px;width:16px;height:16px}.ui-icon-host{pointer-events:none;flex:0 0 16px;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.icon-only .ui-icon{width:18px;height:18px}.icon-only .ui-icon-host{flex-basis:18px;width:18px;height:18px}.primary-action,.search-action,.complete-action{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--on-accent)!important}.secondary-action{background:var(--card)!important;border-color:var(--line)!important;color:var(--txt)!important}.copy-action{background:color-mix(in srgb, var(--accent) 7%, var(--card))!important;border-color:var(--accent)!important;color:var(--accent)!important}.danger-action{background:color-mix(in srgb, var(--fail) 7%, var(--card))!important;border-color:var(--fail)!important;color:var(--fail)!important}.link-action{gap:5px}.link-action .ui-icon{width:14px;height:14px}.mselect-btn{box-shadow:none;padding:8px 11px}.mselect.open .mselect-btn{outline:2px solid color-mix(in srgb, var(--accent) 24%, transparent);outline-offset:1px}.mselect-menu{width:max(100%,260px);max-width:340px;max-height:310px;padding:6px}.mselect-menu label{text-align:left;grid-template-columns:18px minmax(0,1fr);min-height:32px;padding:6px 8px;font-size:12.5px;display:grid}.mselect-menu label:hover{background:var(--surface-hover)}.mselect-group{padding:9px 8px 4px 36px}.tabs{gap:20px;margin:11px 0 0}.tab{padding:10px 2px 9px;font-size:13px}#view{padding-top:2px}table{box-shadow:var(--shadow)}.pe-table{border-collapse:separate;border-spacing:0;overflow:visible}.table-list-toolbar{justify-content:flex-end;margin:7px 0 0;display:flex}.table-list-toolbar-bottom{padding:0 2px}.list-pager,.list-pager-size,.list-pager-nav{align-items:center;display:inline-flex}.list-pager{color:var(--mut);flex-wrap:wrap;justify-content:flex-end;gap:8px;font-size:10.5px;font-weight:700}.list-pager-size,.list-pager-nav{gap:5px}.list-pager-size select{width:62px;min-height:30px;color:var(--txt);background-color:var(--card);border:1px solid var(--line);font:inherit;border-radius:6px;padding:3px 22px 3px 8px}.list-pager-range{color:var(--txt);font-variant-numeric:tabular-nums}.list-pager-nav .iconbtn{width:30px;min-width:30px;height:30px;min-height:30px;padding:0}.list-pager-nav>span{text-align:center;font-variant-numeric:tabular-nums;min-width:34px}.pe-table>thead>tr>th{top:var(--sticky-shell-height);z-index:18;background:var(--surface-soft);box-shadow:inset 0 -1px 0 var(--line);position:sticky}.pe-table>thead>tr>th:first-child{border-top-left-radius:8px}.pe-table>thead>tr>th:last-child{border-top-right-radius:8px}th,td{padding:9px 12px}th{background:var(--surface-soft);letter-spacing:0;text-transform:uppercase;font-size:11.5px}tr.row:hover,tr.gsrow:hover,tr.skrow:hover{background:var(--surface-hover)}.detail,.gsdet,.skdet{background:var(--surface-soft)}.num,.rate-cell{text-align:center}.rate-cell .bar{width:76px}.static-ui-icon{gap:7px}.static-ui-icon>.ui-icon-host{color:var(--accent)}.status-heading{align-items:center;gap:7px;margin:0 0 8px;display:flex}.status-heading.pass>.ui-icon-host{color:var(--pass)}.status-heading.fail>.ui-icon-host{color:var(--fail)}.section-title{align-items:center;gap:8px;margin:0 0 7px;font-size:15px;display:flex}.weekly-report-shell{border:1px solid var(--line);width:100%;box-shadow:var(--shadow);background:#fff;border-radius:8px;padding:0;overflow:hidden}.weekly-report-frame{background:#fff;border:0;width:100%;min-height:320px;display:block}.weekly-report-view{width:100%}.weekly-report-toolbar{justify-content:space-between;align-items:flex-end;gap:18px;margin:0 0 12px;display:flex}.weekly-report-toolbar h2{margin:0;font-size:20px}.weekly-report-toolbar p{color:var(--muted);margin:3px 0 0;font-size:13px}.weekly-week-picker{gap:5px;width:min(360px,100%);display:grid}.weekly-week-picker>span{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.weekly-week-picker select{width:100%;min-height:40px}@media (width<=720px){.weekly-report-toolbar{flex-direction:column;align-items:stretch}.weekly-week-picker{width:100%}}.weekly-mode .controls,.weekly-mode .searchbar,.weekly-mode #kpis,.weekly-mode #metricMode,.settings-mode .controls,.settings-mode .searchbar,.settings-mode #kpis,.settings-mode #metricMode{display:none}.trend-toolbar{justify-content:space-between;align-items:flex-end;gap:16px;margin:0 0 10px;display:flex}.trend-toolbar h2{margin:0;font-size:18px}.trend-toolbar p{color:var(--mut);margin:3px 0 0;font-size:11.5px}.trend-toolbar label{color:var(--mut);align-items:center;gap:8px;font-size:11.5px;display:flex}.trend-toolbar select{min-width:120px;min-height:34px}.trend-dashboard{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.trend-panel{background:var(--card);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.trend-panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:58px;padding:9px 11px;display:flex}.trend-panel-head>div{min-width:0}.trend-panel-head span{color:var(--mut);text-transform:uppercase;font-size:10.5px;font-weight:650;display:block}.trend-panel-head strong{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:13px;display:block;overflow:hidden}.trend-panel-head select{width:210px;min-height:34px;padding-top:6px;padding-bottom:6px;font-size:11.5px}.trend-panel-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.trend-mode-switch{background:var(--surface-soft);border:1px solid var(--line);border-radius:7px;flex:none;padding:2px;display:inline-flex}.trend-mode-switch button{min-height:28px;color:var(--txt);background:0 0;border:0;border-radius:5px;padding:5px 10px;font-size:11px;font-weight:700}.trend-mode-switch button:hover{background:0 0}.trend-mode-switch button.active{color:#fff;background:#000;box-shadow:0 1px 4px #0000002e}html[data-theme=dark] .trend-mode-switch button.active{color:#000;background:#fff}.trend-visuals{grid-template-columns:minmax(0,1fr);display:grid}.trend-chart-block{min-width:0;padding:12px 14px 10px}.trend-chart-block+.trend-chart-block{border-top:1px solid var(--line)}.trend-chart-label{justify-content:space-between;align-items:baseline;gap:12px;min-height:24px;padding:0 4px;display:flex}.trend-chart-label b{font-size:12px;font-weight:700}.trend-chart-label span{color:var(--mut);font-variant-numeric:tabular-nums;font-size:11px}.trend-canvas{height:230px;position:relative}.trend-visuals.single .trend-canvas{height:310px}.trend-data{border-top:1px solid var(--line)}.trend-data summary{cursor:pointer;color:var(--mut);padding:8px 11px;font-size:11.5px;font-weight:650}.trend-data table{box-shadow:none;border-radius:0;margin-top:0!important}.trend-data .muted{padding:6px 10px 10px;font-size:10.5px}.card{border-radius:8px}.fa-summary{min-height:44px}.fa-summary-title h3{font-size:15px}.fa-toolbar{align-items:flex-end;padding:12px 0 4px}.fa-actions{margin-left:auto}.fa-range input,.fa-range select{min-height:38px}.picker{padding:0;overflow:hidden}.picker .psearch{min-height:42px}.ptools{min-height:40px}.picker .plist{border:0;border-radius:0;margin:0}.nm{margin-bottom:4px;padding:6px 9px;line-height:1.5}.names.es-status-grid{color:var(--txt);background:0 0;grid-template-columns:repeat(2,minmax(0,1fr))}.names.es-status-grid.has-missing{grid-template-columns:repeat(3,minmax(0,1fr))}.person-metrics{text-align:right;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px 10px;display:flex}.qual-limits{white-space:nowrap;justify-content:center;align-items:center;gap:5px 10px;display:inline-flex}.qual-limits>span{align-items:baseline;gap:4px;display:inline-flex}.qual-limits b{color:var(--mut);font-size:10px;font-weight:700}.nm .es-person{border-left:1px solid var(--line);color:var(--mut);padding-left:10px}.nm .es-person.ok{color:var(--pass)}.nm .es-person.bad{color:var(--fail)}@media (width<=760px){.names.es-status-grid,.names.es-status-grid.has-missing{grid-template-columns:1fr}.nm,.person-metrics{align-items:flex-start}}.loading,.empty{box-shadow:var(--shadow);margin-top:4px}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px}@media (width<=1180px){.wrap{width:min(100% - 32px,1680px)}.controls{grid-template-columns:150px 150px max-content minmax(190px,1fr) 118px}#filtinfo{grid-column:1/-1;min-height:24px;padding:0}.searchbar{grid-template-columns:minmax(320px,1fr) 210px 210px}.trend-dashboard{grid-template-columns:1fr}}@media (width<=820px){.wrap{width:min(100% - 22px,1680px)}.trend-chart-block{padding:10px 8px 8px}.trend-canvas,.trend-visuals.single .trend-canvas{height:220px}.trend-chart-label{flex-direction:column;align-items:flex-start;gap:2px}.stickyhead{position:relative}.topbar{min-height:0;display:flex}.brand h1{font-size:24px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.controls,.searchbar{grid-template-columns:1fr 1fr}.searchbar>span:first-child,#filtinfo{grid-column:1/-1}.fa-grid,.fa-grid2{grid-template-columns:1fr}#view{overflow-x:auto}}.overview-page{flex-direction:column;gap:14px;padding:2px 0 28px;display:flex}.overview-head,.overview-section-head,.overview-period-strip,.overview-range-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.overview-head h2,.overview-head p,.overview-section-head h3,.overview-section-head p{margin:0}.overview-head h2{font-size:19px}.overview-head p,.overview-section-head p{color:var(--mut);margin-top:3px;font-size:11.5px}.overview-range-bar{border:1px solid var(--line);background:var(--card);border-radius:8px;flex-wrap:wrap;justify-content:flex-start;align-items:flex-end;padding:11px 13px}.overview-range-bar label{min-width:174px;color:var(--mut);flex-direction:column;gap:4px;font-size:10px;font-weight:800;display:flex}.overview-range-bar input,.overview-range-bar button{min-height:36px}.overview-range-error{width:100%;color:var(--fail);font-size:11px;font-weight:700}.overview-period-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:flex-start;padding:10px 2px}.overview-period-strip>div{align-items:baseline;gap:8px;display:flex}.overview-period-strip span,.overview-period-strip i,.overview-period-strip small{color:var(--mut);font-size:10.5px}.overview-period-strip i{font-style:normal;font-weight:700}.overview-period-strip b{font-variant-numeric:tabular-nums;font-size:12px}.overview-period-strip small{margin-left:auto}.overview-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.overview-summary-card{border:1px solid var(--line);background:var(--card);border-radius:8px;grid-template-rows:auto auto auto;grid-template-columns:auto 1fr auto;align-items:center;gap:3px 8px;min-height:104px;padding:12px 14px;display:grid}.overview-summary-card>svg{color:var(--mut);grid-row:1/span 2}.overview-summary-card>span{color:var(--mut);grid-column:2/-1;font-size:10.5px;font-weight:750}.overview-summary-card>strong{font-variant-numeric:tabular-nums;grid-column:2;font-size:24px;line-height:1}.overview-summary-card>.overview-delta{grid-area:2/3}.overview-summary-card>small{color:var(--mut);grid-column:2/-1;font-size:10px}.overview-section-head>span{color:var(--mut);font-size:10.5px;font-weight:750}.overview-table-wrap{border:1px solid var(--line);background:var(--card);border-radius:8px;overflow:auto}.overview-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1160px;font-size:11.5px}.overview-table th,.overview-table td{border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;padding:9px 10px}.overview-table th{z-index:2;color:var(--mut);background:var(--surface-soft);text-transform:uppercase;font-size:9.5px;position:sticky;top:0}.overview-table th:first-child,.overview-table td:first-child,.overview-table th:last-child,.overview-table td:last-child{text-align:left}.overview-table th:first-child{width:13%}.overview-table th:nth-child(2),.overview-table th:nth-child(3),.overview-table th:nth-child(4),.overview-table th:nth-child(5),.overview-table th:nth-child(6),.overview-table th:nth-child(7){width:8.5%}.overview-table th:last-child{width:36%}.overview-table tbody tr:last-child td{border-bottom:0}.overview-table tbody tr:hover{background:var(--surface-hover)}.overview-table td:first-child strong,.overview-table td:first-child span{display:block}.overview-table td:first-child span{color:var(--mut);margin-top:2px;font-size:9.5px}.overview-table td:last-child{color:var(--mut);line-height:1.4}.overview-delta{white-space:nowrap;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:4px;font-weight:800;display:inline-flex}.overview-delta.up{color:var(--pass)}.overview-delta.down{color:var(--fail)}.overview-delta.flat{color:var(--mut)}.overview-group-list{border-top:1px solid var(--line)}.overview-group-detail{border-bottom:1px solid var(--line)}.overview-group-detail>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 4px;list-style:none;display:flex}.overview-group-detail>summary::-webkit-details-marker{display:none}.overview-group-detail>summary>div{align-items:center;gap:16px;min-width:0;display:flex}.overview-group-detail>summary strong{font-size:13px}.overview-group-detail>summary span{color:var(--mut);align-items:center;gap:6px;font-size:10.5px;display:flex}.overview-group-detail>summary>svg{flex:none;transition:transform .16s}.overview-group-detail[open]>summary>svg{transform:rotate(180deg)}.overview-analysis-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.overview-metric-analysis{min-width:0;padding:14px 16px 18px}.overview-metric-analysis+.overview-metric-analysis{border-left:1px solid var(--line)}.overview-metric-analysis>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.overview-metric-analysis>header>div{flex-direction:column;gap:2px;display:flex}.overview-metric-analysis>header span{color:var(--mut);font-size:10px;font-weight:800}.overview-metric-analysis>header strong{font-variant-numeric:tabular-nums;font-size:16px}.overview-explanation{flex-wrap:wrap;gap:5px;margin:9px 0 12px;display:flex}.overview-explanation span{border:1px solid var(--line);color:var(--mut);border-radius:4px;padding:3px 6px;font-size:9.5px}.overview-driver-group+.overview-driver-group{margin-top:13px}.overview-driver-group h4{color:var(--mut);text-transform:uppercase;margin:0 0 4px;font-size:9.5px}.overview-driver-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:12px;padding:7px 0;display:grid}.overview-driver-row:last-child{border-bottom:0}.overview-driver-copy{min-width:0}.overview-driver-copy strong,.overview-driver-copy span{display:block}.overview-driver-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.overview-driver-copy span{color:var(--mut);margin-top:2px;font-size:9.5px;line-height:1.35}.overview-driver-impact{grid-template-columns:1fr 44px;align-items:center;gap:6px;display:grid}.overview-driver-impact>b{text-align:right;font-variant-numeric:tabular-nums;font-size:10px}.overview-driver-impact>b.positive{color:var(--pass)}.overview-driver-impact>b.negative{color:var(--fail)}.overview-driver-rail{background:var(--surface-soft);border-radius:2px;height:8px;position:relative}.overview-driver-rail:after{background:var(--line);content:"";width:1px;position:absolute;top:-2px;bottom:-2px;left:50%}.overview-driver-rail i{max-width:50%;position:absolute;top:1px;bottom:1px}.overview-driver-rail i.positive{background:var(--pass);left:50%}.overview-driver-rail i.negative{background:var(--fail);right:50%}.overview-no-driver{color:var(--mut);margin:12px 0 0;font-size:10.5px}@media (width<=1050px){.overview-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-analysis-grid{grid-template-columns:1fr}.overview-metric-analysis+.overview-metric-analysis{border-top:1px solid var(--line);border-left:0}.overview-period-strip{flex-wrap:wrap;align-items:flex-start}.overview-period-strip small{width:100%;margin-left:0}}@media (width<=650px){.overview-head,.overview-section-head{align-items:flex-start}.overview-range-bar label,.overview-range-bar input,.overview-range-bar button{width:100%}.overview-period-strip>div{justify-content:space-between;width:100%}.overview-period-strip>i{display:none}.overview-summary-grid{grid-template-columns:1fr}.overview-group-detail>summary>div{flex-direction:column;align-items:flex-start;gap:4px}.overview-driver-row{grid-template-columns:1fr}.overview-driver-impact{grid-template-columns:1fr 48px}}.follow-page{width:100%;max-width:none;margin:0;position:relative}.follow-add{margin-bottom:10px}.follow-list{gap:8px;display:grid}.follow-card{margin-bottom:0;padding:12px 14px}.follow-card .fa-summary{min-height:40px}.follow-card .fa-summary-title h3,.follow-form-head h3{margin:0;font-size:15px;line-height:1.3}.follow-card .fa-summary-date{margin-top:3px;font-size:11.5px}.follow-card .fa-detail{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.follow-card .pill.p{color:var(--pass)}.follow-card .pill.w{color:var(--warn)}.follow-card .pill.f{color:var(--fail)}.follow-form{margin-bottom:12px;padding:14px}.follow-form-head,.follow-form-actions,.follow-import-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.follow-import-row{justify-content:flex-start;margin-top:10px}.follow-selection-review{background:var(--surface-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:10px -14px 0;padding:9px 14px 10px}.follow-selection-head,.follow-selection-head>div,.follow-import-missing{align-items:center;display:flex}.follow-selection-head{justify-content:space-between;gap:12px;margin-bottom:7px}.follow-selection-head>div{gap:7px}.follow-selection-head span{min-width:22px;color:var(--txt);background:var(--card);border:1px solid var(--line);text-align:center;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:700}.follow-selection-grid{border-top:1px solid color-mix(in srgb, var(--line) 68%, transparent);grid-template-columns:repeat(auto-fill,minmax(210px,1fr));max-height:174px;display:grid;overflow:auto}.follow-selection-person{border-bottom:1px solid color-mix(in srgb, var(--line) 45%, transparent);justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:7px 6px 7px 0;display:flex}.follow-selection-person>div{gap:1px;min-width:0;display:grid}.follow-selection-person b,.follow-selection-person span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.follow-selection-person b{font-size:11.5px}.follow-selection-person span{color:var(--mut);font-size:10px}.follow-selection-person .icon-button,.follow-import-missing .icon-button{width:28px;min-width:28px;height:28px;min-height:28px;padding:0}.follow-import-missing{color:var(--fail);border-top:1px solid color-mix(in srgb, var(--fail) 35%, transparent);justify-content:space-between;gap:10px;margin-top:8px;padding-top:8px}.follow-import-missing>div{gap:2px;min-width:0;display:grid}.follow-import-missing span{overflow-wrap:anywhere;color:var(--txt);font-size:10.5px}.follow-form-actions{justify-content:flex-end;margin-top:12px}.follow-form .fa-grid{grid-template-columns:1.5fr repeat(4,minmax(132px,.7fr))}.follow-form .fa-title{color:var(--mut);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.follow-picker{padding:0;overflow:hidden}.follow-picker .ptools{color:var(--mut);border-bottom:1px solid var(--line);padding:6px 9px;font-size:10.5px}.follow-picker .grow{flex:1}.follow-picker .plink-btn{min-height:auto;color:var(--txt);background:0 0;border:0;padding:2px 3px;font-size:10.5px}.follow-picker .plist{border:0;border-radius:0;max-height:210px;margin:0;padding:0}.follow-picker .plist label{margin:0;padding:6px 9px;line-height:1.25}.follow-picker .plist label:hover{background:var(--surface-soft)}.follow-picker-empty{place-items:center;gap:7px;padding:12px;display:grid}.follow-picker-empty .empty.compact{padding:0}.follow-deep-search{min-height:32px;padding:5px 10px}.firebase-login-page{background:var(--bg);min-height:100vh;color:var(--txt);place-items:center;padding:24px;display:grid}.firebase-login-panel{background:var(--card);border:1px solid var(--line);border-radius:8px;gap:18px;width:min(430px,100%);padding:30px;display:grid;box-shadow:0 18px 50px #0000001f}.firebase-login-mark{width:46px;height:46px;color:var(--pass);background:var(--pass-soft);border:1px solid color-mix(in srgb, var(--pass) 35%, var(--line));border-radius:8px;place-items:center;display:grid}.firebase-login-eyebrow{color:var(--mut);text-transform:uppercase;font-size:12px;font-weight:800}.firebase-login-panel h1{letter-spacing:0;margin:5px 0 7px;font-size:26px}.firebase-login-panel p{color:var(--mut);margin:0;line-height:1.55}.firebase-login-account,.firebase-login-error{border:1px solid var(--line);border-radius:6px;padding:10px 12px}.firebase-login-account{background:var(--surface-soft);gap:3px;display:grid}.firebase-login-account span{color:var(--mut);font-size:11px}.firebase-login-error{color:var(--fail);background:var(--fail-soft);border-color:color-mix(in srgb, var(--fail) 35%, var(--line))}.firebase-login-actions{justify-content:flex-end;gap:8px;display:flex}.firebase-google-button{gap:7px}.firebase-google-g{color:#4285f4;font-weight:900}.follow-insight{background:var(--surface-soft);border:1px solid var(--line);border-radius:7px;gap:3px;margin:10px 0;padding:9px 11px;font-size:12px;display:grid}.follow-risk-analysis,.follow-risk-empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:14px 0 16px}.follow-risk-empty{padding:12px 0}.follow-risk-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding:9px 4px;list-style:none;display:flex}.follow-risk-toggle::-webkit-details-marker{display:none}.follow-risk-toggle::marker{content:""}.follow-risk-toggle:hover h4,.follow-risk-toggle:focus-visible h4{text-underline-offset:3px;text-decoration:underline}.follow-risk-toggle:focus-visible{outline:2px solid var(--txt);outline-offset:2px}.follow-risk-toggle h4{color:var(--txt);margin:0;font-size:13px}.follow-risk-toggle p{color:var(--mut);margin:3px 0 0;font-size:10.5px}.follow-risk-toggle-meta{color:var(--mut);white-space:nowrap;align-items:center;gap:12px;font-size:10.5px;display:flex}.follow-risk-toggle-meta b{color:currentColor;font-size:11.5px}.follow-risk-toggle-meta svg{color:var(--txt);transition:transform .16s}.follow-risk-analysis[open] .follow-risk-toggle-meta svg{transform:rotate(180deg)}.follow-risk-analysis[open] .follow-risk-toggle-label{font-size:0}.follow-risk-analysis[open] .follow-risk-toggle-label:before{content:"Ẩn phân tích";font-size:10.5px}html[lang=en] .follow-risk-analysis[open] .follow-risk-toggle-label:before{content:"Hide analysis"}.follow-risk-body{border-top:1px solid var(--line);padding:2px 0 14px}.follow-risk-head{justify-content:space-between;align-items:flex-start;gap:18px;margin:10px 0;display:flex}.follow-risk-head h4,.follow-risk-insights h4,.follow-risk-empty h4{color:var(--txt);margin:0;font-size:13px}.follow-risk-head p,.follow-risk-empty p{color:var(--mut);margin:3px 0 0;font-size:10.5px}.follow-risk-legend,.follow-risk-summary{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.follow-risk-legend span{color:var(--mut);white-space:nowrap;padding-left:12px;font-size:10px;position:relative}.follow-risk-legend span:before{background:var(--mut);content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.follow-risk-legend .pass:before{background:var(--pass)}.follow-risk-legend .near:before{background:var(--warn)}.follow-risk-legend .fail:before{background:var(--fail)}.follow-risk-summary{background:var(--surface-soft);border:1px solid var(--line);min-height:34px;color:var(--mut);border-radius:6px;padding:7px 10px;font-size:10.5px}.follow-risk-summary b{color:var(--txt);margin-right:3px;font-size:12px}.follow-risk-axis{color:var(--mut);grid-template-columns:minmax(190px,.85fr) minmax(320px,1.6fr) minmax(150px,.65fr);gap:12px;margin:9px 0 2px;font-size:9px;display:grid}.follow-risk-axis span:first-child{grid-column:2;justify-self:start}.follow-risk-axis span:nth-child(2){grid-column:2;justify-self:center}.follow-risk-axis span:last-child{grid-column:2;justify-self:end}.follow-risk-chart{border-top:1px solid var(--line);max-height:470px;overflow-y:auto}.follow-risk-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(190px,.85fr) minmax(320px,1.6fr) minmax(150px,.65fr);align-items:center;gap:12px;min-height:58px;padding:7px 9px;display:grid}.follow-risk-row:hover{background:var(--surface-soft)}.follow-risk-person,.follow-risk-value{min-width:0}.follow-risk-person b,.follow-risk-person span,.follow-risk-value b,.follow-risk-value span,.follow-risk-value strong{display:block}.follow-risk-person b{color:var(--txt);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.follow-risk-person span,.follow-risk-measure>span,.follow-risk-value span{color:var(--mut);margin-top:2px;font-size:9.5px}.follow-risk-measure{min-width:0}.follow-risk-track{background:var(--surface-soft);border:1px solid var(--line);border-radius:3px;height:10px;position:relative;overflow:visible}.follow-risk-pass-zone,.follow-risk-fail-zone{pointer-events:none;position:absolute;inset-block:0}.follow-risk-pass-zone{background:color-mix(in srgb, var(--pass) 10%, transparent);width:50%;left:0}.follow-risk-fail-zone{background:color-mix(in srgb, var(--fail) 8%, transparent);width:50%;right:0}.follow-risk-fill{background:var(--pass);border-radius:2px;min-width:2px;height:4px;position:absolute;top:2px;left:0}.follow-risk-target{z-index:2;background:var(--txt);width:2px;position:absolute;top:-4px;bottom:-4px;left:50%;transform:translate(-1px)}.follow-risk-dot{z-index:3;background:var(--pass);border:2px solid var(--card);width:9px;height:9px;box-shadow:0 0 0 1px var(--pass);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.follow-risk-row.near-pass .follow-risk-fill,.follow-risk-row.near-pass .follow-risk-dot,.follow-risk-row.near-fail .follow-risk-fill,.follow-risk-row.near-fail .follow-risk-dot{background:var(--warn)}.follow-risk-row.near-pass .follow-risk-dot,.follow-risk-row.near-fail .follow-risk-dot{box-shadow:0 0 0 1px var(--warn)}.follow-risk-row.far .follow-risk-fill,.follow-risk-row.far .follow-risk-dot{background:var(--fail)}.follow-risk-row.far .follow-risk-dot{box-shadow:0 0 0 1px var(--fail)}.follow-risk-value{text-align:right;font-variant-numeric:tabular-nums}.follow-risk-value b{color:var(--txt);font-size:12px}.follow-risk-value strong{color:var(--pass);margin-top:2px;font-size:9.5px}.follow-risk-row.near-pass .follow-risk-value strong,.follow-risk-row.near-fail .follow-risk-value strong{color:var(--warn)}.follow-risk-row.far .follow-risk-value strong{color:var(--fail)}.follow-risk-insights{margin-top:13px}.follow-risk-insights>div{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-top:6px;display:grid}.follow-risk-insights p{color:var(--txt);border-bottom:1px solid var(--line);grid-template-columns:24px 1fr;gap:6px;margin:0;padding:8px 0;font-size:10.5px;line-height:1.45;display:grid}.follow-risk-insights p>span{color:var(--mut);font-variant-numeric:tabular-nums;font-size:9px}.follow-report-grid{grid-template-columns:minmax(0,1fr) minmax(310px,.95fr);align-items:start;gap:14px;display:grid}.follow-section-title,.follow-people-groups h4,.follow-period-detail h4{margin:0 0 6px;font-size:11.5px}.follow-progress{table-layout:fixed}.follow-progress th,.follow-progress td{padding:6px 8px}.follow-progress .fa-prow{cursor:pointer}.follow-progress .fa-prow:hover td{background:var(--surface-soft)}.follow-period-detail{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:6px 2px;display:grid}.follow-people-groups{gap:11px;display:grid}.follow-people-groups section{max-height:220px;padding-right:5px;overflow-y:auto}.follow-person{background:var(--card2);border-left:3px solid var(--mut);border-radius:0 5px 5px 0;justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;padding:6px 8px;font-size:11px;line-height:1.3;display:flex}.follow-person.pass{border-left-color:var(--pass)}.follow-person.fail{border-left-color:var(--fail)}.follow-person.none{border-left-color:var(--mut)}.follow-person>div{min-width:0}.follow-person>strong{flex:none;font-size:10px}.follow-person.pass>strong{color:var(--pass)}.follow-person.fail>strong{color:var(--fail)}.follow-person.none>strong{color:var(--mut)}.follow-person-metric{color:var(--mut);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;display:block;overflow:hidden}.follow-skill-switcher{align-items:stretch}button.fa-target{min-height:34px;color:var(--txt);font:inherit;text-align:left;cursor:pointer;transition:border-color .14s,background-color .14s,color .14s;position:relative}button.fa-target:hover{border-color:var(--txt)}button.fa-target.active{color:var(--txt);background:var(--card2);border-color:var(--txt);box-shadow:inset 0 -2px 0 var(--txt)}button.fa-target.active b,button.fa-target.active>span{color:inherit}button.fa-target:focus-visible{outline:2px solid var(--txt);outline-offset:2px}.pass-text{color:var(--pass)}.fail-text{color:var(--fail)}.follow-loading{min-height:90px;padding:22px}.follow-completion-backdrop{z-index:240;background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;padding:18px;display:grid;position:fixed;inset:0}.follow-completion-dialog{width:min(620px,100%);color:var(--txt);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:18px}.follow-completion-head,.follow-completion-head>div,.follow-completion-range,.follow-completion-actions{align-items:center;display:flex}.follow-completion-head{justify-content:space-between;gap:12px}.follow-completion-head>div{gap:10px;min-width:0}.follow-completion-head h3,.follow-completion-head p{margin:0}.follow-completion-head h3{font-size:17px}.follow-completion-head p{color:var(--mut);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.follow-completion-icon{width:34px;height:34px;color:var(--txt);border:1px solid var(--line);border-radius:7px;flex:none;place-items:center;display:grid}.follow-completion-note{color:var(--mut);margin:14px 0 10px;font-size:11.5px;line-height:1.5}.follow-completion-presets{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.follow-completion-presets button{min-height:32px;color:var(--txt);background:var(--card);border:1px solid var(--line);border-radius:6px;padding:5px 10px;font-size:11px}.follow-completion-presets button.active{color:var(--bg);background:var(--txt);border-color:var(--txt)}.follow-completion-custom-days{min-height:32px;color:var(--mut);background:var(--card);border:1px solid var(--line);border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-size:11px;font-weight:700;display:flex}.follow-completion-custom-days input{text-align:center;width:54px;min-height:24px;padding:2px 5px}.follow-completion-range{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;display:grid}.follow-completion-range>span{color:var(--mut);align-self:end;padding-bottom:11px;font-size:11px}.follow-completion-range label{color:var(--mut);gap:4px;font-size:10.5px;font-weight:700;display:grid}.follow-completion-range input{width:100%}.follow-completion-preview{background:var(--surface-soft);border:1px solid var(--line);border-radius:7px;grid-template-columns:1.4fr .7fr .7fr;margin-top:14px;display:grid;overflow:hidden}.follow-completion-preview>div{gap:3px;padding:10px 12px;display:grid}.follow-completion-preview>div+div{border-left:1px solid var(--line)}.follow-completion-preview span{color:var(--mut);font-size:10px}.follow-completion-preview strong{font-variant-numeric:tabular-nums;font-size:13px}.follow-completion-warning{color:var(--fail);background:color-mix(in srgb, var(--fail) 8%, transparent);border:1px solid color-mix(in srgb, var(--fail) 28%, transparent);border-radius:6px;margin-top:9px;padding:8px 10px;font-size:11px}.follow-completion-actions{justify-content:flex-end;gap:8px;margin-top:16px}.follow-extension-names{flex-wrap:wrap;gap:5px;max-height:112px;margin-top:12px;display:flex;overflow-y:auto}.follow-extension-names span{color:var(--txt);background:var(--surface-soft);border:1px solid var(--line);border-radius:5px;padding:4px 7px;font-size:10.5px;font-weight:650}.follow-extension-panel{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--warn);border-radius:7px;margin:10px 0 13px;padding:11px}.follow-extension-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.follow-extension-head>div{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.follow-extension-head span,.follow-extension-panel>p{color:var(--mut);font-size:10.5px}.follow-extension-head b{font-size:10.5px}.follow-extension-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px;display:grid}.follow-extension-result{background:var(--surface-soft);border-left:3px solid var(--mut);border-radius:0 5px 5px 0;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:6px 8px;font-size:10.5px;display:flex}.follow-extension-result.pass{border-left-color:var(--pass)}.follow-extension-result.fail{border-left-color:var(--fail)}.follow-extension-result.pass>strong{color:var(--pass)}.follow-extension-result.fail>strong{color:var(--fail)}.follow-extension-result>div{min-width:0}.follow-extension-result b,.follow-extension-result span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.follow-extension-result span{color:var(--mut);font-size:9.5px}.follow-extension-result>strong{flex:none}.follow-extension-panel>p{margin:9px 0 0}.follow-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.follow-stage-block{background:var(--card);border:1px solid var(--line);border-radius:7px;grid-template-rows:auto auto minmax(0,1fr);min-width:0;display:grid;overflow:hidden}.follow-stage-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;height:64px;min-height:58px;padding:7px 9px;display:flex}.follow-stage-title{min-width:0}.follow-stage-head h4,.follow-stage-head span{margin:0}.follow-stage-head h4{font-size:11.5px}.follow-stage-head span{color:var(--mut);margin-top:2px;font-size:9.5px;display:block}.follow-stage-head button{flex:none;min-height:30px}.follow-stage-actions,.follow-stage-view{align-items:center;gap:6px;min-width:0;display:flex}.follow-stage-actions{justify-content:flex-end}.follow-stage-actions>button{white-space:nowrap}.follow-stage-view .segmented{background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;flex:none;grid-template-columns:repeat(2,1fr);padding:2px;display:grid}.follow-stage-view .segmented button{min-width:48px;min-height:26px;color:var(--mut);background:0 0;border:0;border-radius:4px;padding:4px 8px;font-size:9.5px;font-weight:700}.follow-stage-view .segmented button.active{color:var(--bg);background:var(--txt)}.follow-stage-view select{width:122px;min-height:30px;padding:4px 24px 4px 8px;font-size:9.5px}.follow-stage-stats{background:var(--surface-soft);border-bottom:1px solid var(--line);grid-template-columns:repeat(5,max-content);align-items:center;gap:8px 20px;min-height:35px;padding:7px 9px;display:grid}.follow-stage-stat{min-width:0;color:var(--txt);white-space:nowrap;align-items:baseline;gap:4px;font-size:10px;line-height:1.2;display:inline-flex}.follow-stage-stat>span,.follow-stage-stat>b{font:inherit;line-height:inherit;margin:0}.follow-stage-stat>b{font-weight:750}.follow-stage-stat.pass-text{color:var(--pass)}.follow-stage-stat.fail-text{color:var(--fail)}.follow-stage-stat.muted{color:var(--mut)}@media (width<=1220px){.follow-stage-grid{grid-template-columns:1fr}.follow-stage-head{height:auto;min-height:58px}.follow-stage-actions{flex-wrap:wrap}.follow-stage-stats{grid-template-columns:repeat(3,max-content)}}.follow-stage-table-wrap{height:290px;overflow:auto}.follow-stage-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:560px;font-size:9.5px}.follow-stage-table col:first-child{width:34%}.follow-stage-table col:nth-child(2),.follow-stage-table col:nth-child(3),.follow-stage-table col:nth-child(4),.follow-stage-table col:nth-child(5){width:12%}.follow-stage-table col:nth-child(6){width:18%}.follow-stage-table th,.follow-stage-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;height:48px;padding:6px 7px}.follow-stage-table th{z-index:1;color:var(--mut);background:var(--card);text-transform:uppercase;font-size:9px;position:sticky;top:0}.follow-stage-table th:not(:first-child),.follow-stage-table td:not(:first-child){text-align:center}.follow-stage-table td:first-child b,.follow-stage-table td:first-child span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.follow-stage-table td:first-child span{color:var(--mut);margin-top:2px}.follow-extension-checkpoint{background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;align-items:center;gap:7px 12px;margin-bottom:9px;padding:7px 9px;font-size:10.5px;display:flex}.follow-extension-checkpoint>span{color:var(--mut)}.follow-extension-preview{grid-template-columns:repeat(4,minmax(0,1fr))}.watch-page{gap:10px;display:grid}.watch-head,.watch-period,.watch-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.watch-head h2,.watch-head p{margin:0}.watch-head h2{font-size:19px}.watch-head p{color:var(--mut);margin-top:3px;font-size:11.5px}.watch-period{background:var(--surface-soft);border:1px solid var(--line);border-radius:7px;flex-wrap:wrap;justify-content:flex-start;padding:8px 10px;font-size:11px}.watch-period small{color:var(--mut);margin-left:auto}.watch-range-bar{background:var(--card);border:1px solid var(--line);border-radius:7px;align-items:end;gap:8px;padding:9px 10px;display:flex}.watch-range-bar label{width:170px;color:var(--txt);gap:4px;font-size:10px;font-weight:700;display:grid}.watch-range-bar input,.watch-range-bar select,.watch-range-bar button{min-height:34px}.watch-range-bar .watch-export-group{margin-left:auto}.watch-range-bar .watch-export{margin-left:0}.watch-filter-bar{background:var(--card);border:1px solid var(--line);border-radius:7px;grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px;padding:9px 10px;display:grid}.watch-filter-bar>label{min-width:0;color:var(--txt);gap:4px;font-size:10px;font-weight:700;display:grid}.watch-filter-bar .mselect,.watch-filter-bar .mselect-btn{width:100%}.watch-range-error{color:var(--fail);align-self:center;font-size:11px;font-weight:700}.watch-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.watch-kpis button{min-height:52px;color:var(--txt);background:var(--card);border:1px solid var(--line);text-align:left;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.watch-kpis button:hover{background:var(--surface-soft)}.watch-kpis button.active{border-width:2px;border-color:var(--txt)}.watch-kpis button.fail svg{color:var(--fail)}.watch-kpis button.warn svg{color:var(--warn)}.watch-kpis button.pass svg{color:var(--pass)}.watch-kpis span{text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:700;overflow:hidden}.watch-kpis strong{font-variant-numeric:tabular-nums;font-size:20px}.watch-toolbar>span{color:var(--mut);font-size:11px;font-weight:700}.watch-persistent-section{gap:7px;display:grid}.watch-persistent-head{justify-content:space-between;align-items:end;gap:12px;display:flex}.watch-persistent-head h3,.watch-persistent-head p{margin:0}.watch-persistent-head h3,.watch-overview-title{font-size:13px}.watch-persistent-head p{color:var(--mut);margin-top:2px;font-size:10px}.watch-persistent-head>span{color:var(--mut);font-size:10px;font-weight:700}.watch-overview-title{margin:3px 0 -3px}.watch-segments{background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;padding:2px;display:inline-flex}.watch-segments button{background:0 0;border:0;border-radius:4px;min-height:28px;padding:4px 9px;font-size:10.5px}.watch-segments button.active{color:var(--bg);background:var(--txt)}.watch-table-wrap{background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:auto}.watch-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1000px;font-size:10.5px}.watch-table th,.watch-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:7px 9px}.watch-table th{color:var(--mut);background:var(--surface-soft);text-transform:uppercase;font-size:9.5px}.watch-table th:first-child{width:17%}.watch-table th:nth-child(2){width:11%}.watch-table th:last-child{width:20%}.watch-table td:first-child>b,.watch-table td:first-child>span{display:block}.watch-table td:first-child>span{color:var(--mut);margin-top:2px}.watch-persistent-table{min-width:760px}.watch-persistent-table th:first-child{width:24%}.watch-persistent-table th:nth-child(2){width:28%}.watch-persistent-table th:nth-child(3),.watch-persistent-table th:nth-child(4),.watch-persistent-table th:nth-child(5),.watch-persistent-table th:nth-child(6),.watch-persistent-table th:last-child{width:12%}.watch-persistent-table td:nth-child(2)>b,.watch-persistent-table td:nth-child(2)>span{display:block}.watch-persistent-table td:nth-child(2)>span{color:var(--mut);margin-top:2px}.watch-overview-table td{vertical-align:top}.watch-status{border:1px solid;border-radius:5px;padding:3px 6px;font-weight:750;display:inline-block}.watch-status.fail{color:var(--fail)}.watch-status.warn{color:var(--warn)}.watch-status.pass{color:var(--pass)}.watch-status.muted{color:var(--mut)}.watch-status+small{color:var(--mut);margin-top:3px;display:block}.watch-week{font-variant-numeric:tabular-nums;gap:3px;min-width:0;display:grid}.watch-week-summary{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.watch-week-summary>b{font-size:10.5px}.watch-week-summary>span{color:var(--mut);white-space:nowrap;font-size:9.5px}.watch-week-summary>span strong{color:var(--txt);font:inherit;font-weight:750}.watch-week.pass .watch-week-summary>b{color:var(--pass)}.watch-week.fail .watch-week-summary>b{color:var(--fail)}.watch-week-total{color:var(--mut);white-space:nowrap;font-size:9.5px}.watch-week-skills{border-top:1px solid var(--line);gap:3px;margin-top:2px;padding-top:4px;display:grid}.watch-week-skill{gap:1px;min-width:0;display:grid}.watch-week-skill+.watch-week-skill{border-top:1px dotted var(--line);padding-top:3px}.watch-week-skill>strong{color:var(--txt);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.watch-week-skill>small{color:var(--mut);white-space:nowrap;font-size:9px}.watch-week-skill.fail>small b{color:var(--fail)}.watch-week-skill.pass>small b{color:var(--pass)}.watch-week.missing{color:var(--mut);font-size:9.5px}.watch-skills{flex-wrap:wrap;gap:4px;display:flex}.watch-skills>span{background:var(--surface-soft);border:1px solid var(--line);border-radius:4px;padding:3px 5px;font-weight:650}.watch-skills small{color:var(--fail);margin-left:4px}.watch-skills em{color:var(--mut);align-self:center;font-style:normal}@media (width<=980px){.watch-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.follow-stage-grid{grid-template-columns:1fr}.follow-extension-results,.follow-extension-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.watch-head,.watch-period,.watch-range-bar,.watch-toolbar,.follow-extension-head{flex-direction:column;align-items:stretch}.watch-range-bar label{width:100%}.watch-range-bar .watch-export-group,.watch-range-bar .watch-export{margin-left:0}.watch-filter-bar{grid-template-columns:1fr}.watch-period small{margin-left:0}.watch-kpis,.follow-extension-results,.follow-extension-preview{grid-template-columns:1fr}}.follow-busy{z-index:150;color:var(--txt);background:color-mix(in srgb, var(--bg) 76%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:fixed;inset:0}.follow-busy .spinner{width:30px;height:30px}.follow-completed{border-top:1px solid var(--line);margin-top:20px;padding-top:13px}.follow-completed>h3{margin:0;font-size:15px;display:inline}.follow-completed>p{margin:3px 0 8px;font-size:11px}.follow-completed-year,.follow-completed-quarter,.follow-completed-month{margin-top:6px}.follow-completed-year>summary,.follow-completed-quarter>summary,.follow-completed-month>summary{cursor:pointer;padding:5px 2px;font-weight:700}.follow-completed-quarter,.follow-completed-month{margin-left:14px}.follow-completed-month>summary{font-size:12px}.follow-completed-rates{flex-wrap:wrap;gap:6px;margin:2px 0 7px 18px;display:flex}.follow-completed-rate{border:1px solid var(--line);background:var(--card);color:var(--txt);border-radius:6px;align-items:baseline;gap:5px;padding:4px 8px;font-size:11px;line-height:1.2;display:inline-flex}.follow-completed-rate>span:last-child{color:var(--mut);font-variant-numeric:tabular-nums}.follow-completed-month .follow-card{margin:5px 0}.follow-period-menu{z-index:220;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:6px;padding:4px;position:fixed}.follow-period-menu button{background:0 0;border:0;align-items:center;gap:6px;min-height:30px;padding:5px 8px;display:inline-flex}.follow-period-menu button:hover{background:var(--surface-soft)}.empty.compact{min-height:auto;padding:12px}@media (width<=980px){.follow-form .fa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.follow-report-grid{grid-template-columns:1fr}.follow-risk-axis,.follow-risk-row{grid-template-columns:minmax(160px,.8fr) minmax(260px,1.4fr) minmax(130px,.6fr)}}@media (width<=680px){.follow-form .fa-grid,.follow-form .fa-grid2,.follow-period-detail,.follow-completion-range,.follow-completion-preview{grid-template-columns:1fr}.follow-completion-range>span{display:none}.follow-completion-preview>div+div{border-top:1px solid var(--line);border-left:0}.fa-toolbar,.fa-range{align-items:stretch}.fa-range label,.fa-range input,.fa-range select{width:100%}.follow-risk-head{display:grid}.follow-risk-toggle{align-items:flex-start}.follow-risk-toggle-meta{text-align:right;grid-template-columns:auto auto;gap:2px 8px;display:grid}.follow-risk-toggle-label{display:none}.follow-risk-toggle-meta svg{grid-area:1/2/span 2;align-self:center}.follow-risk-axis{display:none}.follow-risk-row{grid-template-columns:minmax(0,1fr) 88px;gap:8px}.follow-risk-measure{grid-area:2/1/auto/-1}.follow-risk-value{grid-area:1/2}.follow-risk-insights>div{grid-template-columns:1fr}}@media (width<=520px){.topbar{display:grid}.topbar-actions{justify-content:flex-start}.controls,.searchbar{grid-template-columns:1fr}.searchbar>span:first-child{min-width:0!important}}.wrap{width:min(1740px,100% - 40px);max-width:1740px;padding:0 0 44px}.stickyhead{background:var(--header-bg);border-bottom:1px solid var(--line);box-shadow:none;margin:0 0 10px;padding:9px 0 0;transition:padding .18s,box-shadow .18s}.stickyhead.is-scrolled{width:min(1740px,100% - 40px);margin:0;padding-top:5px;position:fixed;top:0;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #00000024}.stickyhead-placeholder{pointer-events:none;height:0}.topbar{align-items:center;min-height:52px;padding-bottom:7px}.brand{grid-template-rows:auto auto;grid-template-columns:108px minmax(0,1fr);align-items:center;column-gap:16px;min-width:0;display:grid}.brand-logo{grid-row:1/3;width:108px;height:25px;margin:0}.brand h1{color:var(--txt);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:20px;line-height:1.15;overflow:hidden}.brand .sub{color:var(--mut);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:10.5px;line-height:1.25;overflow:hidden}.topbar-actions{gap:6px}.topbar-actions select{width:150px}.controls{grid-template-columns:154px 154px repeat(3,250px) 108px 106px;justify-content:start;align-items:end;gap:8px;margin:5px 0 6px;display:grid}.controls>span,.searchbar>span{gap:3px}.controls label,.searchbar label{color:var(--txt);font-size:10px;font-weight:700;line-height:1.2}.controls input,.controls select,.controls button,.searchbar input,.searchbar button,.mselect-btn{min-height:34px;color:var(--txt);border-color:var(--line)}.filter-action{align-self:end}.filter-action #searchBtn{width:100%;min-width:0}.searchbar{grid-template-columns:minmax(360px,520px) minmax(180px,300px);justify-content:start;align-items:end;gap:8px;max-width:840px;margin:0 0 5px;display:grid}.search-field{min-width:0}.export-sheet-button{font-weight:700;color:var(--bg)!important;background:var(--txt)!important;border-color:var(--txt)!important}.export-sheet-button:hover:not(:disabled){opacity:.82;color:var(--bg)!important;background:var(--txt)!important;border-color:var(--txt)!important}.export-sheet-button:disabled{opacity:.55;cursor:wait}#filtinfo{max-width:360px;min-height:34px;color:var(--txt);opacity:.76;background:0 0;border:0;border-radius:0;padding:0 4px}.tabs{border-top:1px solid color-mix(in srgb, var(--line) 55%, transparent);gap:18px;margin:2px 0 0}.tab{color:var(--txt);opacity:.72;border-bottom-width:2px;padding:9px 2px 8px;font-size:12px;font-weight:700}.tab.active{color:var(--accent);opacity:1}.kpis{margin:12px 0 9px}.kpi{border-color:var(--line);min-height:66px;padding:9px 13px;box-shadow:0 2px 10px #00000014}.kpi .n{font-size:22px}.kpi .l{color:var(--txt);opacity:.76;margin-top:4px}#view,.view{padding:10px 0 40px}input::placeholder,textarea::placeholder{color:var(--mut);opacity:.9}table,.card,.trend-panel{border-color:var(--line)}th{color:var(--txt)}.stickyhead.is-scrolled .topbar,.stickyhead.is-scrolled .searchbar,.stickyhead.is-scrolled #kpis{display:none}.stickyhead.is-scrolled .controls{margin:0 0 4px}.stickyhead.is-scrolled .controls label{display:none}.stickyhead.is-scrolled .controls input,.stickyhead.is-scrolled .controls select,.stickyhead.is-scrolled .controls button,.stickyhead.is-scrolled .mselect-btn{min-height:32px;padding-top:5px;padding-bottom:5px}.stickyhead.is-scrolled .tabs{margin-top:0}.stickyhead.is-scrolled .tab{padding-top:7px;padding-bottom:6px}html:not([data-theme=dark]) button,html:not([data-theme=dark]) input,html:not([data-theme=dark]) select,html:not([data-theme=dark]) textarea,html:not([data-theme=dark]) .mselect-btn{color:#000}html[data-theme=dark] button,html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea,html[data-theme=dark] .mselect-btn{color:#fff}html button.primary,html .btn-primary,html #reloadBtn,html #fa_add,html #fa_save,html .mdl-ok{color:var(--on-accent)!important}html button.danger,html .ghost.danger{color:var(--fail)}html button.copy{color:var(--accent)}html:not([data-theme=dark]) input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark] input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.date-control{width:100%;display:block;position:relative}.date-control input{width:100%}.date-control>svg{z-index:1;color:var(--txt);pointer-events:none;position:absolute;top:50%;right:11px;transform:translateY(-50%)}input[type=date]::-webkit-calendar-picker-indicator{z-index:2;opacity:1;filter:none;cursor:pointer;position:relative}.date-control input[type=date]::-webkit-calendar-picker-indicator{opacity:0}@media (width<=1320px){.controls{grid-template-columns:132px 132px repeat(3,minmax(150px,1fr)) 96px 94px;justify-content:stretch}.brand .sub{max-width:650px}}@media (width<=1040px){.controls{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-action #searchBtn{min-height:34px}.stickyhead.is-scrolled .controls{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=820px){.wrap{width:min(100% - 20px,1740px)}.stickyhead,.stickyhead.is-scrolled{width:auto;box-shadow:none;padding-top:8px;position:relative;left:auto;transform:none}.stickyhead-placeholder{display:none}.stickyhead.is-scrolled .topbar{display:flex}.stickyhead.is-scrolled .searchbar{display:grid}.stickyhead.is-scrolled .controls label{display:block}.brand{grid-template-columns:92px minmax(0,1fr);column-gap:11px}.brand-logo{width:92px}.brand h1{font-size:18px}.brand .sub{display:none}.controls,.stickyhead.is-scrolled .controls{grid-template-columns:1fr 1fr;margin-top:6px}.searchbar{grid-template-columns:1fr}#filtinfo{max-width:none}.trend-panel-head{flex-direction:column;align-items:flex-start}.trend-panel-actions{justify-content:space-between;width:100%}.trend-panel-head select{width:min(52%,210px)}}@media (width<=520px){.topbar,.stickyhead.is-scrolled .topbar{display:grid}.controls,.stickyhead.is-scrolled .controls{grid-template-columns:1fr}.brand{grid-template-columns:82px minmax(0,1fr)}.brand-logo{width:82px}}.account-chip{max-width:250px;min-height:36px;color:var(--txt);background:var(--card);border:1px solid var(--line);border-radius:8px;align-items:center;gap:7px;padding:0 8px 0 10px;font-size:10.5px;font-weight:700;display:inline-flex}.account-chip-email{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.account-avatar{border:1px solid var(--line);background:var(--surface-soft);width:25px;height:25px;color:var(--txt);border-radius:50%;flex:0 0 25px;place-items:center;font-size:10px;font-weight:900;display:inline-grid;position:relative;overflow:hidden}.account-avatar.large{flex-basis:36px;width:36px;height:36px;font-size:13px}.account-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.account-chip-language{min-width:27px;color:var(--on-accent);background:var(--accent);text-align:center;border-radius:5px;padding:3px 5px;font-size:10px;font-weight:900}.account-menu{z-index:80;position:relative}.account-menu.open .account-chip,.account-chip:hover{border-color:var(--txt)}.account-menu.open .account-chip>svg{transform:rotate(180deg)}.account-chip>svg{color:var(--mut);flex:none;transition:transform .14s}.account-menu-popover{border:1px solid var(--line);background:var(--card);border-radius:8px;width:230px;padding:7px;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 12px 28px #0000002e}.account-menu-identity{border-bottom:1px solid var(--line);align-items:center;gap:9px;min-width:0;padding:6px 7px 9px;display:flex}.account-menu-identity-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.account-menu-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.account-menu-identity-copy span,.account-menu-label{color:var(--mut);font-size:10px;font-weight:700}.account-menu-label{text-transform:uppercase;align-items:center;gap:6px;padding:9px 7px 5px;display:flex}.account-menu-popover>button{width:100%;min-height:34px;color:var(--txt);background:0 0;border:0;justify-content:space-between;padding:5px 8px;font-size:11px}.account-menu-popover>button:hover,.account-menu-popover>button[aria-checked=true]{background:var(--surface-soft)}.account-menu-popover>button span{align-items:center;gap:8px;display:flex}.account-menu-popover>button b{min-width:25px;color:var(--mut);font-size:10px}#logoutBtn{color:var(--txt);background:var(--card);border-color:var(--line)}#logoutBtn:hover{color:var(--danger);border-color:var(--danger)}.settings-page{max-width:1380px;margin:0 auto}.settings-head{justify-content:space-between;align-items:flex-end;gap:16px;margin:0 0 14px;display:flex}.settings-head h2{margin:0 0 3px;font-size:21px}.settings-head p{color:var(--mut);margin:0;font-size:12px}.settings-user{color:var(--mut);font-size:11px;font-weight:700}.settings-storage{margin-bottom:12px}.settings-tabs{background:var(--surface-soft);border:1px solid var(--line);border-radius:7px;gap:4px;margin-bottom:10px;padding:3px;display:flex}.settings-tabs button{background:0 0;border:0;border-radius:5px;min-height:30px;padding:5px 12px;font-size:11.5px}.settings-tabs button:hover{background:0 0}.settings-tabs button.active{color:#fff;background:#000}html[data-theme=dark] .settings-tabs button.active{color:#000;background:#fff}.settings-toolbar{justify-content:flex-end;align-items:center;gap:8px;min-height:46px;margin-bottom:8px;display:flex}.settings-toolbar>input[type=search]{width:min(420px,100%);margin-right:auto}.settings-toolbar>div{margin-right:auto}.settings-toolbar>select{width:130px}.settings-readonly-note{border:1px solid var(--line);color:var(--mut);background:var(--surface-soft);border-radius:6px;padding:5px 8px;font-size:11px;font-weight:600}.settings-access-toolbar>input[type=email]{width:min(320px,100%);margin-right:auto}.settings-expiry-field{color:var(--mut);white-space:nowrap;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.settings-expiry-field input{width:145px}.settings-table-wrap{background:var(--card);border:1px solid var(--line);border-radius:8px;max-height:calc(100vh - 250px);overflow:auto}.settings-table{box-shadow:none;border:0;border-radius:0}.settings-table th{z-index:2;position:sticky;top:0}.settings-table th,.settings-table td{padding:7px 10px}.settings-table input,.settings-table select{border-color:color-mix(in srgb, var(--line) 65%, transparent);width:100%;min-height:31px;padding:5px 8px}.settings-table .num-input{text-align:center;width:110px;margin:0 auto;display:block}.settings-qualification-table input[readonly]{cursor:default;color:var(--txt);background:var(--surface-soft);box-shadow:none}.settings-row-dirty td{background:color-mix(in srgb, var(--accent) 5%, var(--card))}.settings-qualification-table{table-layout:fixed;min-width:920px}.settings-qualification-table col:first-child{width:22%}.settings-qualification-table col:nth-child(2){width:24%}.settings-qualification-table col:nth-child(3),.settings-qualification-table col:nth-child(4){width:15%}.settings-qualification-table col:nth-child(5){width:24%}.settings-qualification-table th:nth-child(3),.settings-qualification-table th:nth-child(4),.settings-qualification-table td:nth-child(3),.settings-qualification-table td:nth-child(4){text-align:center}.settings-updated{justify-content:space-between;align-items:center;gap:8px;min-width:0;font-size:10.5px;display:flex}.settings-updated>div{flex-direction:column;gap:1px;min-width:0;display:flex}.settings-updated span,.settings-updated small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-updated span{color:var(--txt);font-weight:700}.settings-updated small{color:var(--mut);font-size:10px}.settings-row-save{flex:none;gap:5px;min-width:62px;min-height:29px;padding:4px 8px;font-size:11px}@media (width<=820px){.account-chip-email{display:none}.account-chip{padding-left:7px}.settings-head,.settings-toolbar{flex-direction:column;align-items:stretch}.settings-toolbar>input[type=search],.settings-toolbar>select{width:100%}.settings-tabs{overflow-x:auto}}
