@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f2f2f7;--surface:#fff;--surface-2:#f9f9fb;--surface-3:#f2f2f7;--fill:#7676801f;--fill-2:#7676802e;--border:#3c3c4324;--border-2:#3c3c4338;--divider:#3c3c4317;--text:#000;--text-2:#1c1c1e;--text-3:#3c3c4399;--text-4:#3c3c4352;--accent:#007aff;--accent-hover:#0066d6;--accent-soft:#007aff1a;--accent-border:#007aff59;--accent-text:#0062cc;--success:#34c759;--success-soft:#34c75921;--success-text:#248a3d;--warning:#ff9500;--warning-soft:#ff950021;--warning-text:#c93400;--danger:#ff3b30;--danger-soft:#ff3b301a;--danger-text:#d70015;--danger-border:#ff3b304d;--tint:#007aff17;--tint-2:#007aff26;--tint-fg:#0a4fa6;--tint-fg-2:#0a4fa6b3;--head-bg:#e9f2ff;--head-fg:#0a4fa6;--head-border:#007aff38;--chart-1:#007aff;--chart-2:#b3d7ff;--chart-muted:#d1d1d6;--r-sm:7px;--r:10px;--r-lg:14px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 3px 8px #0000001f, 0 3px 1px #0000000a;--shadow-lg:0 10px 30px #0000001f, 0 1px 3px #0000000f;--shadow-xl:0 20px 50px #0000002e;--ring:0 0 0 3.5px #007aff40;--blur:saturate(180%) blur(20px);--sidebar-w:248px;--gutter:32px;--ctl-h:32px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter Variable", "Segoe UI", Roboto, system-ui, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--text);font:400 14px/1.45 var(--font);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility;margin:0}::selection{background:#2563eb2e}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}b,strong{font-weight:600}code{font:500 12.5px/1 var(--mono);color:var(--text-2);background:var(--surface-3);border-radius:4px;padding:3px 6px}h1{letter-spacing:-.022em;color:var(--text);margin:0;font-size:22px;font-weight:700;line-height:28px}h2{letter-spacing:-.02em;color:var(--text);margin:0 0 10px;font-size:15px;font-weight:600;line-height:20px}h3{letter-spacing:.02em;text-transform:uppercase;color:var(--text-3);margin:16px 0 4px;padding:0 16px;font-size:12.5px;font-weight:400;line-height:16px}.num,.tnum,.kpi-value,.sm-value,.hero-amount{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,button,textarea{font:inherit;color:inherit;letter-spacing:inherit}input,select{height:var(--ctl-h);background-color:var(--fill);border-radius:var(--r);color:var(--text);border:0;min-width:0;padding:0 12px;font-size:14px;transition:background-color .15s,box-shadow .15s}input{text-overflow:ellipsis}input::placeholder{color:var(--text-4);text-overflow:ellipsis}input:hover,select:hover{background-color:var(--fill-2)}input:focus,select:focus{background-color:var(--surface);box-shadow:inset 0 0 0 1px var(--accent), var(--ring);outline:0}select{appearance:none;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}input[type=date]{font-variant-numeric:tabular-nums;min-width:140px}input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.8}input[type=search]::-webkit-search-cancel-button{cursor:pointer}input:disabled{color:var(--text-3)}.check{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-2);align-items:center;gap:10px;font-weight:500;display:inline-flex}.check input{appearance:none;background:var(--fill-2);width:42px;height:26px;box-shadow:none;cursor:pointer;border:0;border-radius:999px;flex-shrink:0;margin:0;padding:0;transition:background .2s;position:relative}.check input:before{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 3px 8px #00000026,0 1px 1px #00000029}.check input:checked{background:var(--success)}.check input:checked:before{transform:translate(16px)}.check input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{height:var(--ctl-h);border-radius:var(--r);background:var(--tint);color:var(--accent);cursor:pointer;white-space:nowrap;border:0;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;line-height:1;text-decoration:none;transition:background .15s,color .15s,opacity .15s;display:inline-flex}.btn svg{flex-shrink:0;font-size:18px}.btn:hover:not(:disabled){background:var(--tint-2);color:var(--accent-hover)}.btn:active:not(:disabled){opacity:.7}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-hover);color:#fff}.btn.danger{background:var(--danger-soft);color:var(--danger-text)}.btn.danger:hover:not(:disabled){background:var(--danger-border);color:var(--danger-text)}.btn.primary.danger{background:var(--danger);color:#fff}.btn.primary.danger:hover:not(:disabled){background:var(--danger-text);color:#fff}.btn.ghost{color:var(--accent);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--tint);color:var(--accent-hover)}.btn.icon{width:var(--ctl-h);padding:0}.btn.sm{height:30px;padding:0 10px;font-size:13px}.btn.block{width:100%}.btn.logout{color:var(--danger)}.btn.logout:hover:not(:disabled){color:var(--danger-text);background:var(--danger-soft)}.btn .spinner{border-width:2px;width:14px;height:14px}.btn.export{background:var(--surface);color:var(--text);gap:8px;padding:0 10px 0 9px;transition:box-shadow .2s,transform .1s;box-shadow:0 0 0 .5px #0000001a,0 1px 2px #0000000f}.btn.export:hover:not(:disabled){background:var(--surface);color:var(--text);box-shadow:0 0 0 .5px #0000001f,0 4px 14px #0000001a}.btn.export:active:not(:disabled){opacity:1;transform:scale(.97)}.btn.export .file-ic{display:inline-flex}.btn.export .file-ic svg{font-size:22px}.btn.export .dl{border-left:1px solid var(--border);height:20px;color:var(--accent);align-items:center;margin-left:2px;padding-left:9px;display:inline-flex}.btn.export .dl svg{font-size:17px}.btn.export .dl .spinner{width:15px;height:15px}.btn.primary .spinner{border-color:#fff #ffffff59 #ffffff59}.link{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:500}.link:hover{color:var(--accent)}.link.current{color:var(--accent-text);font-weight:600}.seg{background:var(--tint);scrollbar-width:none;border-radius:8px;gap:2px;max-width:100%;height:30px;padding:2px;display:inline-flex;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg button{height:26px;color:var(--text);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.seg button:hover:not(.on){background:#007aff1a}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}.seg button:disabled{cursor:not-allowed;opacity:.6}fieldset.plain{border:0;min-width:0;margin:0;padding:0}.seg.sm button{height:24px;padding:0 8px;font-size:12.5px}.seg button[class*=seg-]:before{content:"";background:var(--c,transparent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.seg button.seg-blue:before{display:none}.seg-green{--c:var(--success)}.seg-orange{--c:var(--warning)}.seg-red{--c:var(--danger)}.seg-gray{--c:#aeaeb2;--cf:var(--accent)}.seg button.on[class*=seg-]:not(.seg-blue){background:var(--cf,var(--c));color:#fff;box-shadow:0 3px 8px color-mix(in srgb, var(--cf,var(--c)) 35%, transparent), 0 1px 1px #0000000f}.seg button.on[class*=seg-]:not(.seg-blue):before{background:#fff}.tabs{background:var(--fill);scrollbar-width:none;border-radius:9px;align-self:flex-start;gap:2px;max-width:100%;padding:2px;display:inline-flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs a{border-radius:var(--r-sm);height:30px;color:var(--text);white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:13.5px;font-weight:500;transition:background .15s,box-shadow .15s;display:inline-flex}.tabs a:hover{color:var(--text)}.tabs a:hover:not(.on){background:#76768014}.tabs a.on{background:var(--surface);box-shadow:var(--shadow-sm);font-weight:600}.count-dot{background:var(--danger);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11.5px;font-weight:600;display:inline-flex}.muted{color:var(--text-3)}.small{font-size:12.5px;line-height:18px}.center{text-align:center}.row{align-items:center;gap:8px;min-width:0;display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.wrap-text{overflow-wrap:anywhere;min-width:180px;max-width:380px;white-space:normal!important}.t-approved{color:inherit}.t-pending{color:var(--warning-text)}.t-rejected{color:var(--danger-text)}.strike{text-decoration:line-through;text-decoration-thickness:1px}.inline-icon{align-items:center;gap:6px;display:inline-flex}.inline-icon svg{flex-shrink:0}.t-approved.inline-icon svg{color:var(--success)}.error{border-radius:var(--r);background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger-text);overflow-wrap:anywhere;padding:10px 14px;font-weight:500}.notice{border-radius:var(--r);margin-bottom:12px;padding:10px 14px;font-weight:500}.notice.ok{background:var(--success-soft);color:var(--success-text);border:1px solid #abefc6}.notice.warn{background:var(--warning-soft);color:var(--warning-text);border:1px solid #fed7aa}.notice ul{margin:4px 0 0;padding-left:18px;font-weight:400}.hint{color:var(--text-3);margin:0;font-size:12.5px;line-height:18px}.loading{color:var(--text-3);justify-content:center;align-items:center;gap:10px;padding:48px 16px;display:flex}#root>.loading{min-height:100vh}.spinner{border:2px solid var(--border);border-top-color:var(--text-3);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ok-state{color:var(--text-3);align-items:center;gap:8px;margin:0;display:flex}.ok-state svg{color:var(--success);font-size:18px}.empty,.table td.empty{text-align:center;color:var(--text-3);white-space:normal;padding:28px 16px!important}.app{min-height:100vh;display:flex}main{flex:1;min-width:0}.sidebar{width:var(--sidebar-w);height:100vh;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-right:1px solid var(--border);z-index:20;background:#ffffffb8;flex-direction:column;flex-shrink:0;padding:0 12px 12px;display:flex;position:sticky;top:0}.brand{flex-shrink:0;align-items:center;gap:10px;min-width:0;height:64px;padding:0 6px;display:flex}.brand-text{min-width:0;line-height:1.25}.brand b{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;display:block;overflow:hidden}.brand small{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.app-icon{color:#fff;background:linear-gradient(#1a8cff,#0066e0);border-radius:22.5%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:18px;display:grid;box-shadow:inset 0 0 0 .5px #00000014}.team-switch{background:var(--tint);border-radius:9px;grid-template-columns:1fr 1fr;gap:2px;margin:0 0 12px;padding:2px;display:grid}.team-switch a{border-radius:var(--r-sm);height:28px;color:var(--text);place-items:center;font-size:13px;font-weight:500;transition:background .15s,box-shadow .15s;display:grid}.team-switch a:hover{color:var(--text)}.team-switch a:hover:not(.on){background:#007aff1a}.team-switch a.on{background:var(--surface);box-shadow:var(--shadow-sm);font-weight:600}.topbar .team-switch{margin:0;display:none}.side-nav{flex-direction:column;flex:1;gap:1px;min-height:0;display:flex;overflow-y:auto}.side-nav a{border-radius:var(--r);height:38px;color:var(--text);align-items:center;gap:10px;padding:0 10px;font-size:14.5px;font-weight:400;transition:background .12s,color .12s;display:flex}.side-nav a:hover{color:var(--text);background:#7676801a}.side-nav a.active{background:var(--accent);color:#fff;font-weight:500}.nav-icon{color:var(--accent);flex-shrink:0;font-size:19px;display:inline-flex}.side-nav a.active .nav-icon{color:#fff}.nav-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.user{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:12px;padding:12px 2px 0 6px;display:flex}.user-meta{flex:1;min-width:0;line-height:1.3}.user-meta b{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;display:block;overflow:hidden}.user-meta small{color:var(--text-3);font-size:12px;display:block}.user-actions{gap:0;display:flex}.user-actions .btn{width:32px;height:32px}.avatar{color:#fff;background:linear-gradient(#a1a1a6,#8e8e93);border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:13.5px;font-weight:600;display:grid}.avatar.sm{width:28px;height:28px;font-size:12px}.topbar{max-width:calc(1440px + 2 * var(--gutter));padding:16px var(--gutter) 0;z-index:40;justify-content:flex-end;align-items:center;gap:8px;display:flex;position:relative}.topbar .brand.compact{display:none}.topbar-actions{align-items:center;gap:8px;min-width:0;display:flex}.mobile-only{display:none!important}.tabbar{display:none}.page{max-width:calc(1440px + 2 * var(--gutter));padding:4px var(--gutter) 32px;flex-direction:column;gap:14px;animation:.2s ease-out page-in;display:flex}@keyframes page-in{0%{opacity:0}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 16px;display:flex}.page-head>div:first-child{min-width:0}.page-head h1{overflow-wrap:anywhere}.page-head .subtitle{color:var(--text-3);margin:1px 0 0;font-size:13px;line-height:18px}.page-head>.row{flex-wrap:wrap}.card{--pad:14px;min-width:0;padding:var(--pad);background:var(--surface);border-radius:var(--r-lg);position:relative}.card>h2:last-child,.card>p:last-child{margin-bottom:0}.card>.row:has(>h2){gap:12px;margin-bottom:10px}.card>.row>h2{min-width:0;margin:0}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.card-head h2{margin:0}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.capsule{height:var(--ctl-h);background:var(--tint);border-radius:var(--r);align-items:center;gap:0;padding:0 2px;display:inline-flex}.capsule input,.capsule select{border:0;height:32px;box-shadow:none!important;background-color:#0000!important}.capsule:focus-within{background:var(--surface);box-shadow:inset 0 0 0 1px var(--accent), var(--ring)}.capsule input,.capsule select,.capsule .page-no{color:var(--tint-fg)}.capsule input[type=date]{text-align:center;padding:0 6px;font-weight:600}.capsule .btn{background:0 0;height:30px}.capsule .btn:hover:not(:disabled){background:#007aff1f}.capsule .btn.icon{width:30px}.capsule>.muted{color:#007aff8c;padding:0 2px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}@media (width<=1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi,.kpi-link{grid-row:span 3;grid-template-rows:subgrid;row-gap:0;min-width:0;display:grid}.kpi{border-radius:14px;padding:12px 14px}.kpi-head{align-items:center;gap:8px;min-width:0;display:flex}.kpi-icon{background:var(--tile,#8e8e93);color:#fff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:15px;display:inline-flex}.tile-blue{--tile:#007aff}.tile-green{--tile:#34c759}.tile-orange{--tile:#ff9500}.tile-red{--tile:#ff3b30}.tile-gray{--tile:#8e8e93}.tile-indigo{--tile:#5856d6}.kpi-label{min-width:0;color:var(--text-3);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;flex:1;font-size:13px;font-weight:600;line-height:17px}.kpi-value{min-width:0;font-family:ui-rounded, "SF Pro Rounded", var(--font);letter-spacing:-.02em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin-top:8px;font-size:24px;font-weight:700;line-height:28px;overflow:hidden}.kpi-sub{min-width:0;color:var(--text-3);overflow-wrap:break-word;margin-top:2px;font-size:12.5px;line-height:16px}.kpi.warn .kpi-value{color:var(--warning-text)}.kpi.bad .kpi-value{color:var(--danger-text)}.kpi-link{color:inherit;border-radius:14px}.kpi-link:hover{color:inherit}.kpi-link>.kpi{grid-row:span 3;transition:box-shadow .2s,transform .2s}.kpi-link:hover>.kpi{box-shadow:var(--shadow-lg)}.kpi-link:active>.kpi{transform:scale(.98)}.kpi-link .kpi-head:after{content:"";border-top:2px solid #c4c4c7;border-right:2px solid #c4c4c7;border-radius:1px;flex-shrink:0;width:7px;height:7px;margin:0 3px 0 2px;transform:rotate(45deg)}.fit{white-space:nowrap;vertical-align:top;text-overflow:ellipsis;max-width:100%;display:inline-block;overflow:hidden}.table-card{padding:0;overflow:hidden}.table-card>.card-head{border-bottom:1px solid var(--border);padding:10px 14px}.table-card>.hint{border-top:1px solid var(--border);padding:8px 14px}.table-scroll{scrollbar-width:thin;scrollbar-color:var(--border-2) transparent;overflow-x:auto;container-type:inline-size}.table td.empty{padding:0!important}.table td.empty>span{text-align:center;white-space:normal;flex-direction:column;align-items:center;gap:4px;width:100cqw;padding:20px 16px 22px;display:flex;position:sticky;left:0}.table td.empty>span:before,p.empty:before{content:"";background:var(--fill) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 13.5 6 5.8c.2-.7.9-1.3 1.7-1.3h8.6c.8 0 1.5.5 1.7 1.3l2.5 7.7'/%3E%3Cpath d='M3.5 13.5v4.2c0 1 .8 1.8 1.8 1.8h13.4c1 0 1.8-.8 1.8-1.8v-4.2h-5c-.4 1.6-1.9 2.7-3.5 2.7s-3.1-1.1-3.5-2.7z'/%3E%3C/svg%3E") center / 21px no-repeat;border-radius:50%;flex-shrink:0;width:40px;height:40px;margin-bottom:6px}.table td.empty>span:has(>b){padding:32px 16px 36px}.table td.empty>span:has(>b):before{background-size:28px;width:56px;height:56px;margin-bottom:10px}p.empty{flex-direction:column;align-items:center;display:flex}.table td.empty b{color:var(--text-2);font-size:15px;font-weight:600;line-height:20px}.table td.empty small{color:var(--text-3);font-size:13px;line-height:18px}.table td.empty .btn{margin-top:12px}.card:not(.table-card)>.table-scroll{margin:0 calc(-1 * var(--pad)) calc(-1 * var(--pad));border-top:1px solid var(--border);border-radius:0 0 var(--r-lg) var(--r-lg)}.card.fetching .table-scroll,.table-scroll.fetching{opacity:.6;transition:opacity .2s}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.table th,.table td{text-align:left;white-space:nowrap;vertical-align:middle;padding:6px 12px}.table th+th,.table td+td{border-left:1px solid var(--divider)}.table thead th+th{border-left-color:#007aff24}.table thead th{background:var(--head-bg);border-bottom:1px solid var(--head-border);height:34px;color:var(--head-fg);letter-spacing:0;padding-top:0;padding-bottom:0;font-size:12.5px;font-weight:700;line-height:16px}.table td{color:var(--text);border-bottom:1px solid var(--divider)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background .1s}.table tbody tr:hover td{background:#7676800f}.table.hover tbody tr{cursor:pointer}.table tfoot th,.table tfoot td{background:var(--head-bg);border-top:1px solid var(--head-border);color:var(--head-fg);font-weight:700}.table .num{text-align:right}.card:not(.table-card)>.table-scroll .table td:first-child{white-space:normal;overflow-wrap:anywhere;min-width:160px}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.table th.sortable:hover{color:var(--accent);background:#deebff}th[role=button]:focus-visible,tr[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.table th .sort{color:var(--accent);margin-left:4px}.table td a{color:var(--text);font-weight:500}.table td a:hover{color:var(--accent)}.table td a.muted{color:var(--text-4);font-weight:400}.table td .small{margin:0 0 0 6px;font-size:12px;display:inline}.table td>b{font-weight:600}.file-kind{width:28px;height:28px;color:var(--accent);background:var(--tint);border-radius:7px;justify-content:center;align-items:center;margin:-4px 0;font-size:16px;display:inline-flex}a.file-kind:hover{background:var(--accent);color:#fff}.matrix-bar .spacer{flex:1}.capsule .month-label{text-align:center;min-width:72px;color:var(--tint-fg);font-variant-numeric:tabular-nums;font-weight:600}.table:is(.matrix,.hd-br-table) td:first-child,.table:is(.matrix,.hd-br-table) th:first-child{z-index:1;background:var(--surface);position:sticky;left:0}.table:is(.matrix,.hd-br-table) thead th:first-child,.table:is(.matrix,.hd-br-table) tfoot th:first-child{background:var(--head-bg)}.table:is(.matrix,.hd-br-table) tbody tr:hover td:first-child{background:#f7f7f7}.table:is(.matrix,.hd-br-table) thead th.sortable:first-child:hover{background:#deebff}.table tbody tr.row-rejected td{color:var(--text-3)}.table tbody tr.row-missing td:first-child{box-shadow:inset 2px 0 0 var(--danger)}.table tbody tr.row-dim td{color:var(--text-3)}.badge{--c:#aeaeb2;--bg:var(--fill);--fg:var(--text-2);background:var(--bg);height:20px;color:var(--fg);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 7px;font-size:11.5px;font-weight:500;line-height:1;display:inline-flex}.badge:before{content:"";background:var(--c);border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge+.badge{margin-left:6px}.badge.approved,.badge.st-working{--c:var(--success);--bg:var(--success-soft);--fg:var(--success-text)}.badge.pending{--c:var(--warning);--bg:var(--warning-soft);--fg:var(--warning-text)}.badge.rejected,.badge.st-missing{--c:var(--danger);--bg:var(--danger-soft);--fg:var(--danger-text)}.badge.st-lunch,.badge.st-break{--c:var(--accent);--bg:var(--accent-soft);--fg:var(--accent-text)}.badge.st-done,.badge.st-waiting{--c:#aeaeb2}.badge.st-absent,.badge.st-off,.badge.deleted,.badge.muted-badge{--c:#d1d1d6;--fg:var(--text-3)}.pill{background:var(--fill);height:20px;color:var(--text-2);white-space:nowrap;border-radius:6px;align-items:center;padding:0 7px;font-size:11.5px;font-weight:500;line-height:1;display:inline-flex}.pill+.pill,b+.pill{margin-left:6px}.pill.mib{box-shadow:inset 0 0 0 1px var(--border-2);background:0 0}.pill.role-owner{background:var(--accent-soft);color:var(--accent-text)}.pill.out-success{background:var(--success-soft);color:var(--success-text)}.pill.out-revisit{background:var(--warning-soft);color:var(--warning-text)}.pill.out-fail{background:var(--danger-soft);color:var(--danger-text)}.row-toggle{width:22px;height:22px;color:var(--text-3);cursor:pointer;vertical-align:middle;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;margin:0 6px 0 -4px;padding:0;font-size:14px;display:inline-flex}.row-toggle:hover:not(:disabled){background:var(--tint);color:var(--accent)}.row-toggle:disabled{opacity:.3;cursor:default}.row-toggle svg{transition:transform .15s}.row-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.table tbody tr.sub td,.table tbody tr.sub:hover td{background:var(--surface-2);font-size:12.5px}.table tbody tr.sub td:first-child{padding-left:40px}.table tbody tr.sub td:first-child:before{content:"└";color:var(--text-4);margin-right:6px}.table tbody tr.is-open>td{border-bottom-color:#0000}.table td .link.current{color:var(--accent-text)}td.actions{white-space:nowrap}td.actions .btn+.btn{margin-left:6px}.filters{flex-direction:column;gap:0;padding:0;display:flex}.filters>*{padding:10px 14px}.filters>*+*{border-top:1px solid var(--divider)}.filters>.f-period+.f-grid{border-top:0;padding-top:0}.f-label{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:500;line-height:18px;display:block;overflow:hidden}.f-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.f-top .seg{flex-wrap:wrap;flex:0 auto;min-width:0}.search{align-items:center;min-width:0;display:flex;position:relative}.search svg{color:#8e8e93;pointer-events:none;z-index:1;font-size:17px;position:absolute;left:10px}.search input{width:100%;padding-left:34px}.f-search input:not(:placeholder-shown):not(:focus){box-shadow:inset 0 0 0 1.5px var(--accent-border);color:var(--accent-text);background:#007aff1f;font-weight:600}.f-search:has(input:not(:placeholder-shown)) svg{color:var(--accent)}.f-search{flex:260px}.f-search input{height:30px}.f-period{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.f-period>.f-label{width:100%}.presets{background:var(--tint);scrollbar-width:none;border-radius:8px;gap:2px;max-width:100%;height:30px;padding:2px;display:inline-flex;overflow-x:auto}.presets::-webkit-scrollbar{display:none}.presets button{height:26px;color:var(--text);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;padding:0 10px;font-size:13px;font-weight:500;transition:background .15s,box-shadow .15s}.presets button:hover:not(.on){background:#007aff1a}.presets button.on{background:var(--accent);color:#fff;font-weight:600;box-shadow:0 3px 8px #007aff4d,0 1px 1px #0000000f}.range-field{min-width:0;height:var(--ctl-h);background:var(--tint);border-radius:var(--r);align-items:center;transition:background .15s,box-shadow .15s;display:flex}.filters .range-field{border-radius:8px;height:30px}.range-field:hover{background:var(--tint-2)}.range-field:focus-within{background:var(--surface);box-shadow:inset 0 0 0 1px var(--accent), var(--ring)}.range-field>input,.range-field>select{border:0;border-radius:0;flex:1 1 0;min-width:0;height:100%;box-shadow:none!important;background-color:#0000!important}.range-field>input{padding:0 10px}.range-field.date{flex:0 auto;max-width:100%;padding-left:10px}.range-field.date>input{flex:none;width:134px;min-width:0}.range-field.is-set:not(:focus-within){box-shadow:inset 0 0 0 1.5px var(--accent-border);background:#007aff1f}.range-field.is-set:not(:focus-within)>input{color:var(--accent-text);font-weight:600}.rf-icon{color:var(--accent);flex-shrink:0;font-size:16px;display:inline-flex}.range-field.is-set .rf-icon{color:var(--accent)}.rf-select{color:var(--accent);background-position:right 6px center;font-weight:500;flex:none!important;padding:0 28px 0 8px!important}.rf-div{background:var(--border);flex-shrink:0;align-self:stretch;width:1px;margin:8px 2px}.rf-arrow{color:var(--text-4);flex-shrink:0;font-size:14px;display:inline-flex}.range-field input[type=number]{-moz-appearance:textfield}.range-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.range-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.f-grid{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.f-grid>.range-field.date{flex:0 auto}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field.sel{background:var(--fill);cursor:pointer;border-radius:15px;flex-direction:row;align-items:center;gap:6px;max-width:100%;height:30px;padding:0 8px 0 12px;transition:background .15s,box-shadow .15s;position:relative}.field.sel:hover{background:var(--fill-2)}.field.sel:focus-within{box-shadow:var(--ring)}.field.sel .f-label{color:var(--text-3);flex-shrink:0;font-size:13px;line-height:30px;overflow:visible}.chip-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:220px;color:var(--text);font-size:13px;font-weight:600;overflow:hidden}.chip-chev{color:#8e8e93;flex-shrink:0;font-size:14px;display:inline-flex}.field.sel select{opacity:0;cursor:pointer;border-radius:15px;width:100%;height:100%;padding:0;position:absolute;inset:0}.field.sel.is-set{background:var(--accent);box-shadow:0 3px 8px #007aff47}.field.sel.is-set:hover{background:var(--accent-hover)}.field.sel.is-set:focus-within{box-shadow:0 3px 8px #007aff47, var(--ring)}.field.sel.is-set .f-label{color:#ffffffc7}.field.sel.is-set .chip-value,.field.sel.is-set .chip-chev{color:#fff}.field.range{background:var(--fill);border-radius:15px;flex-direction:row;align-items:center;gap:0;height:30px;padding-left:12px;transition:background .15s,box-shadow .15s}.field.range:hover{background:var(--fill-2)}.field.range .f-label{color:var(--text-3);font-size:13px;line-height:30px;overflow:visible}.field.range .range-field{height:30px;box-shadow:none!important;background:0 0!important}.field.range .range-field>input{flex:0 0 92px;width:92px;padding:0 8px;font-size:13px;font-weight:600}.field.range .range-field>input:last-child{padding-right:14px}.field.range:focus-within{background:var(--surface);box-shadow:inset 0 0 0 1px var(--accent), var(--ring)}.field.range.is-set:not(:focus-within){background:var(--accent);box-shadow:0 3px 8px #007aff47}.field.range.is-set:not(:focus-within) .f-label{color:#ffffffc7}.field.range.is-set:not(:focus-within) input,.field.range.is-set:not(:focus-within) .rf-arrow{color:#fff}.field.range.is-set:not(:focus-within) input::placeholder{color:#fff9}.chip-check{background:var(--fill);height:30px;color:var(--text);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:15px;align-items:center;gap:7px;padding:0 12px 0 8px;font-size:13px;font-weight:500;transition:background .15s;display:inline-flex}.chip-check:hover{background:var(--fill-2)}.chip-check input{appearance:none;cursor:pointer;border:1.5px solid #c7c7cc;border-radius:50%;flex-shrink:0;width:18px;height:18px;margin:0;padding:0;transition:background .15s,border-color .15s;background:var(--surface)!important;box-shadow:none!important}.chip-check input:checked{border-color:#fff;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007aff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") 50%/12px no-repeat!important}.chip-check.danger input:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff3b30' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E")!important}.chip-check input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip-check{--chip:var(--accent);--chip-h:var(--accent-hover)}.chip-check.danger{--chip:var(--danger);--chip-h:#e0352b}.chip-check.is-set{background:var(--chip);color:#fff;box-shadow:0 3px 8px color-mix(in srgb, var(--chip) 30%, transparent);font-weight:600}.chip-check.is-set:hover{background:var(--chip-h)}.f-active{align-items:center;gap:6px;margin-left:auto;display:flex}.btn.f-more{height:30px;color:var(--accent);background:var(--tint);gap:6px;padding:0 10px 0 11px;font-size:13px;font-weight:600}.btn.f-more .chev{font-size:14px;transition:transform .2s;display:inline-flex}.btn.f-more.open .chev{transform:rotate(180deg)}.btn.f-more.is-set{background:var(--accent);color:#fff}.btn.f-more.is-set:hover:not(:disabled){background:var(--accent-hover)}.f-more-n{min-width:18px;height:18px;color:var(--accent);background:#fff;border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:11.5px;font-weight:700;line-height:1;display:inline-flex}.btn.f-more:not(.is-set) .f-more-n{display:none}.btn.f-month{background:var(--accent);color:#fff;gap:4px;height:30px;padding:0 8px 0 10px;font-size:13px}.btn.f-month b{font-weight:700}.btn.f-month svg{opacity:.8;font-size:14px}.btn.f-reset{height:28px;color:var(--accent);background:0 0;padding:0 10px;font-size:13px}.btn.f-reset:hover:not(:disabled){background:var(--fill)}.btn.f-reset svg{font-size:16px}.filters .seg,.filters .presets,.filters .search input,.filters .range-field,.filters .field.sel,.filters .field.range,.filters .chip-check,.card-head .field.sel{background:var(--tint)}.filters .search input:hover,.filters .range-field:hover,.filters .field.sel:hover,.filters .field.range:hover,.filters .chip-check:hover,.card-head .field.sel:hover{background:var(--tint-2)}.filters .seg button:hover:not(.on),.filters .presets button:hover:not(.on){background:#007aff1a}.filters .search svg,.filters .rf-icon,.filters .chip-chev,.card-head .chip-chev{color:var(--accent)}.filters .search input::placeholder,.filters .f-label,.card-head .f-label{color:var(--tint-fg-2)}.filters .chip-value,.filters .chip-check,.card-head .chip-value,.filters .range-field>input{color:var(--tint-fg)}.filters .rf-arrow{color:#007aff80}.filters .rf-div{background:#007aff33}.filters .field.range .range-field>input::placeholder{color:var(--tint-fg-2)}.filters .chip-check input{border-color:#007aff73}.filters .chip-check.danger input{border-color:#ff3b3080}.filters .chip-check.danger{color:var(--danger-text)}.filters .chip-check.danger:hover{background:var(--danger-soft)}.filters .field.sel.is-set,.card-head .field.sel.is-set{background:var(--accent)}.filters .field.sel.is-set:hover,.card-head .field.sel.is-set:hover{background:var(--accent-hover)}.filters .field.sel.is-set .f-label,.card-head .field.sel.is-set .f-label{color:#ffffffc7}.filters .field.sel.is-set .chip-value,.filters .field.sel.is-set .chip-chev,.card-head .field.sel.is-set .chip-value,.card-head .field.sel.is-set .chip-chev{color:#fff}.filters .field.range.is-set:not(:focus-within){background:var(--accent)}.filters .field.range.is-set:not(:focus-within) .f-label{color:#ffffffc7}.filters .field.range.is-set:not(:focus-within) .range-field>input,.filters .field.range.is-set:not(:focus-within) .rf-arrow{color:#fff}.filters .field.range:focus-within,.filters .range-field:focus-within,.filters .search input:focus{background:var(--surface)}.filters .range-field.is-set:not(:focus-within){background:#007aff24}.filters .range-field.is-set:not(:focus-within)>input{color:var(--accent-text)}.filters .chip-check.is-set,.filters .chip-check.is-set:hover{background:var(--chip);color:#fff}.filters .chip-check.is-set input,.filters .chip-check.danger.is-set input{border-color:#fff}.card-head .field.sel{max-width:100%}.kpis.five{grid-template-columns:repeat(5,minmax(0,1fr))}.kpis.five .kpi-value{font-size:22px;line-height:26px}@media (width<=1200px){.kpis.five{grid-template-columns:repeat(6,minmax(0,1fr))}.kpis.five>*{grid-column:span 2}.kpis.five>:nth-child(n+4){grid-column:span 3}}.share{align-items:center;gap:8px;margin-top:6px;display:flex}.share-bar{background:var(--fill);border-radius:3px;flex:1;min-width:0;height:5px;overflow:hidden}.share-bar i{background:var(--tile);border-radius:3px;min-width:0;height:100%;transition:width .3s;display:block}.share-pct{text-align:right;min-width:34px;color:var(--text-3);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12px;font-weight:600;line-height:16px}.pager{justify-content:flex-end;align-items:center;display:flex}.pager .page-no{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 8px;font-weight:500}.pager select{border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--accent);margin-left:2px;font-weight:500;border-left:1px solid var(--border)!important}.chart{width:100%;height:auto;display:block;overflow:visible}.chart .grid{stroke:var(--divider);stroke-width:1px}.chart .axis{fill:var(--text-4);font:500 11px var(--font);font-variant-numeric:tabular-nums}.chart .bar{fill:var(--chart-1);opacity:.85;transition:opacity .15s}.chart .bar:hover{opacity:1}.hard-chart .vbar{fill:var(--chart-2);transition:fill .15s}.hard-chart .vbar:hover{fill:#80bdff}.hard-chart .aline{fill:none;stroke:var(--chart-1);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.hard-chart .adot{fill:var(--surface);stroke:var(--chart-1);stroke-width:2px}.legend{color:var(--text-3);flex-wrap:wrap;gap:8px 20px;margin-top:12px;font-size:12.5px;display:flex}.legend span{align-items:center;gap:8px;display:inline-flex}.legend i{border-radius:3px;flex-shrink:0;width:10px;height:10px}.legend .lg-visits{background:var(--chart-2)}.legend .lg-approved{background:var(--chart-1);border-radius:1px;width:14px;height:2px}.drawer-bg{z-index:50;background:#0000004d;justify-content:flex-end;animation:.2s ease-out fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.drawer{overscroll-behavior:contain;background:var(--bg);width:min(560px,100% - 16px);height:calc(100% - 16px);box-shadow:var(--shadow-xl);border-radius:16px;margin:8px;animation:.3s cubic-bezier(.32,.72,0,1) drawer-in;overflow-y:auto}@keyframes drawer-in{0%{opacity:0;transform:translate(24px)}}.grabber{display:none}.drawer-head{z-index:3;min-height:48px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-bottom:1px solid var(--border);background:#f2f2f7d1;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px 8px 16px;display:flex;position:sticky;top:0}.drawer-head h2{overflow-wrap:anywhere;min-width:0;margin:0;font-size:17px;font-weight:600;line-height:22px}.drawer-head .btn.icon{background:var(--fill);color:#8e8e93;border-radius:50%;width:30px;height:30px}.drawer-head .btn.icon svg{font-size:16px}.drawer-head .btn.icon:hover:not(:disabled){background:var(--fill-2);color:var(--text-3)}.drawer-body{padding:12px 16px 24px}.drawer-body>h3:first-child{margin-top:0}.drawer-body>*+.error,.drawer-body>.hero+.error{margin-top:12px}@media (width>=861px){.form-sheet{width:min(480px,100%)}}.preview{flex-direction:column;align-items:center;gap:10px;margin-bottom:14px;display:flex}.preview-bar{justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0;display:flex}.preview-bar .open-link{flex-shrink:0}.thumb{background:var(--tint);min-width:0;color:var(--accent);font:inherit;cursor:pointer;border:0;border-radius:10px;align-items:center;gap:10px;padding:4px 12px 4px 4px;font-size:13.5px;font-weight:600;display:inline-flex}.thumb:hover{background:#007aff29}.thumb img,.thumb-doc{object-fit:cover;background:var(--surface);border-radius:7px;flex-shrink:0;width:36px;height:36px}.thumb-doc{justify-content:center;align-items:center;font-size:18px;display:inline-flex}.thumb>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview>a:has(img){max-width:100%;display:block}.preview img{background:var(--surface);border-radius:12px;max-width:100%;max-height:56vh;display:block}.preview iframe{background:#fff;border:0;border-radius:12px;width:100%;height:56vh}.open-link{align-items:center;gap:6px;font-size:13.5px;font-weight:500;display:inline-flex}.open-link svg{font-size:15px}.hero{background:var(--surface);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.hero-amount{white-space:nowrap;letter-spacing:-.02em;min-width:0;color:var(--text);flex:auto;font-size:24px;font-weight:700;line-height:30px;overflow:hidden}.hero>:last-child{flex-shrink:0}.hero.status-rejected .hero-amount,.hero.status-rejected .hero-amount .fit{color:var(--text-3);text-decoration:line-through;text-decoration-thickness:1.5px}.group{background:var(--surface);border-radius:12px}.details{margin:0}.details>div{grid-template-columns:140px minmax(0,1fr);gap:10px;padding:8px 14px;display:grid}.details>div+div{background:linear-gradient(var(--border), var(--border)) no-repeat 14px 0 / calc(100% - 14px) 1px}.details dt{color:var(--text-3)}.details dd{color:var(--text);overflow-wrap:anywhere;margin:0}.siblings{margin:0;padding:0;list-style:none}.siblings li{justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.siblings li+li{background:linear-gradient(var(--border), var(--border)) no-repeat 16px 0 / calc(100% - 16px) 1px}.siblings li .link{overflow-wrap:anywhere;min-width:0}.log{margin:0;padding:0;list-style:none}.log li{gap:12px;padding:7px 0;font-size:13px;display:flex}.log li+li{border-top:1px solid var(--divider)}.log li>:last-child{overflow-wrap:anywhere;min-width:0}.hard-photos{gap:12px;margin-bottom:20px;display:grid}.hard-photos.two{grid-template-columns:1fr 1fr}.hard-photos:empty{display:none}.hard-photo{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;margin:0;display:flex}.hard-photo figcaption{color:var(--text-3);font-size:12.5px;font-weight:500}.hard-photo img{object-fit:contain;background:var(--surface);border-radius:12px;width:100%;max-height:46vh}.hard-photo iframe{background:#fff;border:0;border-radius:12px;width:100%;height:46vh}.photo-missing{border-radius:var(--r);text-align:center;width:100%;color:var(--text-3);background:var(--surface);border:1px dashed var(--border-2);padding:24px 14px;font-size:13px}.review{gap:10px;margin-top:12px}.review.form{background:var(--surface);border-radius:12px;padding:12px 14px}.review-actions{gap:8px}.review-actions .btn{flex:1 1 0}.review-reason{flex-direction:column;gap:6px;display:flex}.review-reason span{color:var(--text-2);font-size:13px;font-weight:500}.review-reason textarea{resize:vertical;background-color:var(--fill);border-radius:var(--r);width:100%;min-height:76px;color:var(--text);border:0;padding:8px 12px;font-size:14px;line-height:20px}.review-reason textarea:focus{background-color:var(--surface);box-shadow:inset 0 0 0 1px var(--accent), var(--ring);outline:0}.review .form-actions{margin-top:0}.review.edit{flex-direction:column;align-items:flex-start;display:flex}.review.edit .notice{align-self:stretch}.review.edit-form .row.wrap{align-items:center;gap:16px}.review.edit-form input[aria-invalid=true]{box-shadow:inset 0 0 0 1px var(--danger)}.form{flex-direction:column;gap:14px;display:flex}.form h3{margin:8px 0 0}.field-group{flex-direction:column;gap:14px;display:flex}.field-group label{flex-direction:column;gap:6px;display:flex}.field-group label span{color:var(--text-2);font-size:13px;font-weight:500}.field-group input{width:100%;height:44px;font-size:15px}.form-actions{justify-content:flex-end;margin-top:4px}.edit-form{gap:10px}.edit-form h3{margin:6px 0 0}.edit-form .field-group{gap:8px}.edit-form .field-group.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.edit-form .field-group label{gap:4px}.edit-form .field-group label span{font-size:12.5px}.edit-form .field-group input{height:36px;font-size:14px}.edit-form .seg{height:32px}.edit-form .seg button{height:28px}.edit-form .row.wrap{flex-wrap:wrap;gap:8px}.edit-form .hint{margin:0}.drawer-head .btn.sm{height:30px;color:var(--accent);background:var(--tint);gap:5px;font-weight:600}@media (width<=400px){.edit-form .field-group.grid{grid-template-columns:minmax(0,1fr)}}.check.setting{background:var(--fill);border-radius:var(--r);min-height:48px;color:var(--text);justify-content:space-between;padding:0 16px}.user-cell{align-items:center;gap:10px;display:inline-flex}.login-wrap{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.login{background:var(--surface);width:min(400px,100%);box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;gap:16px;padding:32px;display:flex}.login .app-icon{width:56px;height:56px;margin-bottom:4px;font-size:30px}.login h1{font-size:26px;line-height:32px}.login .subtitle{color:var(--text-3);margin:-12px 0 4px}.login .btn.primary{border-radius:12px;height:48px;margin-top:4px;font-size:16px}.login-lang{top:calc(16px + env(safe-area-inset-top));z-index:5;position:fixed;right:16px}.dropdown{position:relative}.lang-btn{gap:6px;padding:0 10px;font-size:13px}.lang-btn svg{font-size:16px}.lang-btn .chev{transition:transform .2s;display:inline-flex}.lang-btn .chev svg{font-size:14px}.dropdown.open .lang-btn .chev{transform:rotate(180deg)}.lang-code{letter-spacing:.02em;font-weight:600}.menu{z-index:80;min-width:230px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-xl), 0 0 0 .5px #00000014;background:#ffffffdb;border-radius:14px;padding:6px;animation:.14s ease-out menu-in;position:absolute;top:calc(100% + 6px);right:0}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}}.menu-item{border-radius:var(--r-sm);width:100%;height:36px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-size:14.5px;display:flex}.menu-item:hover{background:#7676801f}.menu-item.on{color:var(--text);font-weight:600}.menu-flag{font-size:16px;line-height:1}.menu-text{flex:1;min-width:0}.menu-code{color:var(--text-4);font-size:12px;font-weight:500}.menu-check{width:16px;color:var(--accent);justify-content:center;font-size:16px;display:inline-flex}.susp-flag{vertical-align:-3px;color:var(--danger);margin-left:6px;display:inline-flex}.susp-flag svg{width:16px;height:16px}.admin-mark{vertical-align:-2px;color:#fff;background:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:15px;height:15px;margin-left:5px;display:inline-flex}.admin-mark svg{stroke-width:3.2px;width:10px;height:10px}.admin-mark.admin-region{background:var(--success)}.out-success{--c:var(--success)}.out-revisit{--c:var(--warning)}.out-fail{--c:var(--danger)}.out-bar{background:var(--fill);border-radius:4px;gap:2px;height:8px;margin:16px 0 8px;display:flex;overflow:hidden}.out-bar span{background:var(--c);min-width:0}.out-list{margin:0;padding:0;list-style:none}.out-list li{grid-template-columns:minmax(0,1fr) auto 48px;align-items:center;gap:12px;padding:7px 0;display:grid}.out-list li+li{border-top:1px solid var(--divider)}.out-list li a{min-width:0;color:var(--text-2);align-items:center;gap:8px;font-weight:500;display:inline-flex}.out-list li a:hover{color:var(--accent)}.out-list li b{color:var(--text);font-variant-numeric:tabular-nums;font-size:15px}.out-list li .muted{text-align:right;font-variant-numeric:tabular-nums}.out-list .dot{background:var(--c);border-radius:50%;flex-shrink:0;width:8px;height:8px}.hd-body{gap:inherit;flex-direction:column;min-width:0;transition:opacity .2s;display:flex}.hd-body.is-fetching{opacity:.55}.hd-mode{display:contents}.hd-filters .capsule{border-radius:8px;height:30px}.hd-filters .capsule input[type=date]{width:140px;height:30px}.hd-cap .month-label{min-width:136px;padding:0 4px;font-size:13.5px}.hd-cap .btn:disabled{opacity:.35;background:0 0}.hd-kpis>.kpi-link,.hd-kpis>.kpi-link>.kpi{grid-row:span 4}.kpi-foot{min-width:0;color:var(--text-3);white-space:nowrap;align-items:center;gap:6px;margin-top:10px;font-size:12px;line-height:20px;display:flex}.kpi-prev{text-overflow:ellipsis;min-width:0;overflow:hidden}.delta{font-variant-numeric:tabular-nums;white-space:nowrap;cursor:default;border-radius:6px;align-items:center;gap:3px;height:20px;padding:0 6px 0 5px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.delta svg{fill:currentColor;flex-shrink:0;width:9px;height:9px}.delta.good{background:var(--success-soft);color:var(--success-text)}.delta.bad{background:var(--danger-soft);color:var(--danger-text)}.delta.flat{background:var(--fill);color:var(--text-3);padding:0 7px}.delta.warn{background:var(--warning-soft);color:var(--warning-text)}.delta>svg[viewBox="0 0 24 24"]{fill:none;stroke-width:2.2px;width:12px;height:12px}.hd-trend .card-head{margin-bottom:14px}.card-head .hint{margin-top:2px}.hd-legend{margin-top:0;padding-bottom:1px}.legend .lg-out{background:#e3e3e8}.hd-chart-wrap{min-width:0;position:relative}.hd-chart{-webkit-user-select:none;user-select:none;display:block;overflow:visible}.hd-trend .hd-chart{cursor:pointer;touch-action:pan-y}.hd-chart .hd-gl{stroke:var(--divider);stroke-width:1px;shape-rendering:crispedges}.hd-chart .hd-base{stroke:var(--border-2);stroke-width:1px;shape-rendering:crispedges}.hd-chart .hd-ax{fill:var(--text-4);font:500 11px var(--font);font-variant-numeric:tabular-nums}.hd-chart .hd-ax-r{fill:var(--tint-fg-2)}.hd-chart .hd-x.today{fill:var(--accent);font-weight:700}.hd-chart .hd-sun{fill:#7676800d}.hd-chart .hd-sel{fill:#007aff0d}.hd-chart .hd-hover{fill:#7676801a}.hd-chart .hd-bar{fill:var(--chart-2);transition:fill .15s}.hd-chart .hd-bar.on{fill:#80bdff}.hd-chart .hd-bar.out{fill:#e3e3e8}.hd-chart .hd-bar.out.on{fill:#c7c7cc}.hd-chart .hd-bar.peak{fill:var(--chart-1)}.hd-chart .hd-line{fill:none;stroke:var(--chart-1);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.hd-chart .hd-dot{fill:var(--surface);stroke:var(--chart-1);stroke-width:2px}.hd-chart .hd-dot.on{fill:var(--chart-1);stroke:var(--surface);stroke-width:2px;filter:drop-shadow(0 1px 2px #00000040)}.hd-chart .hd-line.out,.hd-chart .hd-dot.out{stroke:#c7c7cc}.hd-chart .hd-dot.on.out{fill:#aeaeb2;stroke:var(--surface)}.hd-chart .hd-val{fill:var(--text-3);font:600 11px var(--font);font-variant-numeric:tabular-nums}.hd-chart .hd-val.peak{fill:var(--accent-text);font-weight:700}p.empty.hd-chart-empty{justify-content:center;margin:0;padding:0 16px!important}.hd-tip{z-index:5;pointer-events:none;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-lg), 0 0 0 .5px var(--border-2);background:#fffffff0;border-radius:12px;padding:9px 11px 8px;font-size:12.5px;line-height:20px;position:absolute;top:2px}.hd-tip-head{color:var(--text);white-space:nowrap;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 8px;margin-bottom:3px;font-size:13px;font-weight:600;display:flex}.hd-tip-head span{color:var(--text-3);font-size:11.5px;font-weight:500;line-height:16px}.hd-tip-row{color:var(--text-3);justify-content:space-between;align-items:center;gap:10px;display:flex}.hd-tip-row>span{align-items:center;gap:7px;min-width:0;display:inline-flex}.hd-tip-row i{border-radius:3px;flex-shrink:0;width:10px;height:10px}.hd-tip-row i.lg-visits{background:var(--chart-2)}.hd-tip-row i.lg-approved{background:var(--chart-1);border-radius:1px;height:2px}.hd-tip.out .hd-tip-row i.lg-visits{background:#e3e3e8}.hd-tip.out .hd-tip-row i.lg-approved{background:#c7c7cc}.hd-tip-row b{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.hd-tip-row small{color:var(--text-3);margin-left:6px;font-size:11.5px;font-weight:500}.hd-br-table td:first-child{min-width:180px}.hd-vis{justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.hd-ib{background:var(--fill);border-radius:3px;flex-shrink:0;width:64px;height:6px;overflow:hidden}.hd-ib i{background:var(--chart-1);border-radius:3px;height:100%;display:block}.hd-n{text-align:right;font-variant-numeric:tabular-nums;min-width:34px}.hd-om{justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.hd-om-bar{background:var(--fill);border-radius:3px;flex-shrink:0;gap:1.5px;width:72px;height:6px;display:flex;overflow:hidden}.hd-om-bar i{background:var(--c);min-width:0}.hd-om-pct{text-align:right;font-variant-numeric:tabular-nums;min-width:40px}.hd-cols{gap:inherit;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.hd-col{gap:inherit;flex-direction:column;min-width:0;display:flex}.hd-col>:last-child{flex:1 0 auto}.hd-hours{flex-direction:column;display:flex}.hd-hours>.hd-chart-wrap{flex:auto;min-height:176px}.hd-hours .hd-chart{position:absolute;bottom:0;left:0}.card-head.hd-head{align-items:baseline;margin-bottom:12px}.hd-count{background:var(--warning-soft);min-width:22px;height:22px;color:var(--warning-text);font-variant-numeric:tabular-nums;border-radius:11px;justify-content:center;align-items:center;padding:0 7px;font-size:12.5px;font-weight:700;display:inline-flex}.hd-ok{padding:4px 0 2px}.hd-mx>.card-head{align-items:center}.hd-heat td.hd-cell{padding:0;transition:background .15s}.hd-heat .hd-cell button{width:100%;font:inherit;color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:0;padding:6px 12px;display:block}.hd-heat .hd-cell button.max{color:var(--text);font-weight:700}.hd-heat .hd-cell button:hover,.hd-heat .hd-cell button:focus-visible{box-shadow:inset 0 0 0 1.5px var(--accent);outline:0}.hd-heat .hd-cell>.muted{color:var(--text-4)}.hd-heat td.hd-tot{color:var(--text);background:var(--surface-2);font-weight:600}.hd-row-btn,.hd-th-btn{font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;padding:0}.hd-row-btn{font-weight:500}.hd-row-btn:hover{color:var(--accent)}.hd-th-btn:hover{text-underline-offset:2px;text-decoration:underline}.hd-out .out-bar{margin:0 0 4px}.hd-og{padding:6px 0 4px}.hd-og+.hd-og{border-top:1px solid var(--divider)}.hd-og-head{color:var(--text-2);grid-template-columns:8px minmax(0,1fr) 56px 48px;align-items:center;gap:10px;padding:4px 0;font-weight:600;display:grid}.hd-og-head:hover{color:var(--accent)}.hd-og-head .dot{background:var(--c);border-radius:50%;width:8px;height:8px}.hd-og-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hd-og-head b{text-align:right;color:var(--text);font-variant-numeric:tabular-nums;font-size:15px}.hd-og-pct{text-align:right;color:var(--text-3);font-variant-numeric:tabular-nums;font-weight:500}.hd-od{margin:0 0 2px;padding:0 0 0 18px;list-style:none}.hd-od li{color:var(--text-3);grid-template-columns:minmax(0,1fr) 80px 56px 48px;align-items:center;gap:10px;padding:3px 0;font-size:12.5px;line-height:18px;display:grid}.hd-od-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-2);overflow:hidden}.hd-od-bar{background:var(--fill);border-radius:2px;height:4px;overflow:hidden}.hd-od-bar i{background:var(--c);opacity:.7;border-radius:2px;height:100%;display:block}.hd-od-n{text-align:right;color:var(--text-2);font-variant-numeric:tabular-nums;font-weight:600}.hd-od-pct{text-align:right;font-variant-numeric:tabular-nums}.hd-idle-scroll{max-height:336px;overflow-y:auto}.hd-idle-scroll thead th{z-index:1;position:sticky;top:0}.hd-idle .table td a.small{color:var(--text-3);font-weight:400}@media (width<=860px){.f-top .hd-mode .seg{grid-template-columns:repeat(3,minmax(0,1fr))}.f-top .hd-mode .seg button:last-child:nth-child(odd){grid-column:auto}.hd-filters .capsule{border-radius:10px;width:100%;height:36px}.hd-filters .capsule input[type=date]{width:auto;height:36px}.hd-cap .month-label{flex:1}.hd-cap .btn,.hd-cap .btn.icon{width:40px;height:34px}.hd-filters .range-field.date{width:100%;height:36px}.hd-filters .range-field.date>input{flex:1 1 0;width:auto}.hd-filters .f-grid>:last-child:nth-child(odd){grid-column:1/-1}.kpi-foot{margin-top:8px}.hd-kpis>:not(:nth-child(3)) .kpi-foot{flex-wrap:wrap;row-gap:2px}.hd-kpis>:not(:nth-child(3)) .kpi-prev{flex-basis:100%;line-height:16px}.hd-cols{grid-template-columns:minmax(0,1fr)}.hd-col>:last-child{flex:none}.hd-legend{gap:6px 14px}:is(.hd-br,.hd-mx) .card-head .seg{grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%;display:grid}.hd-br-table td:first-child{min-width:150px}.hd-ib{width:40px}.hd-om-bar{width:48px}.hd-od li{grid-template-columns:minmax(0,1fr) 48px 44px 44px;gap:8px}.hd-og-head{grid-template-columns:8px minmax(0,1fr) 44px 44px;gap:10px 8px}.hd-od{padding-left:16px}}.time-table td{vertical-align:middle}.time-table td.wrap-text{min-width:220px}.time-table .pill.time-edited{color:var(--warning-text)}@media (width>=861px){.time-table th:first-child,.time-table td:first-child{z-index:1;box-shadow:inset -1px 0 0 var(--border);position:sticky;left:0}.time-table td:first-child{background:var(--surface)}.time-table tbody tr:hover td:first-child{background:#f7f7f8}}.tl-col{width:24%;min-width:200px}.tl{background:var(--fill);border-radius:4px;height:8px;position:relative;overflow:hidden}.tl-mark{background:var(--text-4);opacity:.6;z-index:2;width:1px;position:absolute;top:0;bottom:0}.tl-work{background:var(--chart-2);border-radius:5px;position:absolute;top:0;bottom:0}.tl-work.late{box-shadow:inset 2px 0 0 var(--danger)}.tl-work.open{background:linear-gradient(90deg, var(--chart-2) 75%, #b3d7ff33);border-radius:5px 0 0 5px}.tl-break{z-index:1;border-radius:3px;min-width:2px;position:absolute;top:2px;bottom:2px}.tl-break.lunch{background:var(--chart-1);opacity:.55}.tl-break.other{background:var(--text-4);opacity:.55}.time-chart .hit{fill:#0000}.time-chart g:hover .hit{fill:#7676800f}.time-chart .offday .hit{fill:#7676800d}.time-chart .sbar.ontime{fill:var(--chart-1);opacity:.85}.time-chart .sbar.late{fill:var(--warning)}.time-chart .sbar.absent{fill:var(--chart-muted)}.time-chart .sbar.missed{fill:var(--danger)}.legend .lg-ontime{background:var(--chart-1);opacity:.85}.legend .lg-late{background:var(--warning)}.legend .lg-absent{background:var(--chart-muted)}.legend .lg-missed{background:var(--danger)}.emp-link{color:inherit}.emp-link:hover b{color:var(--accent);text-decoration:underline}.crumbs{margin:0 0 4px;font-size:13px}.crumbs a{color:var(--accent);font-weight:500}.tm-panel-off{margin:-4px 0 12px}.tm-review-cell{min-width:240px}.tm-review{margin-top:0}.tm-review input{height:32px;font-size:14px}.tm-review .review-reason{max-width:220px}.tm-actions{white-space:nowrap;text-align:right;width:1%}.tm-emp-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tm-emp-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;margin-bottom:16px;display:grid}.tm-emp-grid .card{margin:0}.tm-emp-grid .card .card-head{margin-bottom:10px}.tm-days{flex-direction:column;grid-column:1/-1;gap:6px;display:flex}.tm-days>span,.tm-role>span{color:var(--text-2);font-size:12.5px;font-weight:500}.tm-day{cursor:pointer;-webkit-user-select:none;user-select:none}.tm-day input{opacity:0;width:1px;height:1px;position:absolute}.tm-day.on{color:var(--accent-text);background:var(--accent-soft)}.tm-day:focus-within{box-shadow:0 0 0 2px var(--accent)}.tm-sch-view{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0;display:grid}.tm-sch-view div{flex-direction:column;gap:2px;display:flex}.tm-sch-view dt{color:var(--text-2);font-size:12.5px;font-weight:500}.tm-sch-view dd{margin:0;font-weight:600}.tm-role{flex-direction:column;gap:6px;max-width:260px;display:flex}.tm-status-actions{gap:8px}@media (width<=860px){.tm-emp-grid{grid-template-columns:minmax(0,1fr)}}.att-strip{margin:10px calc(-1 * var(--pad)) calc(-1 * var(--pad));border-top:1px solid var(--border);border-radius:0 0 var(--r-lg) var(--r-lg);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:hidden}.att-strip a{min-width:0;color:var(--text-3);flex-direction:column;gap:1px;padding:10px 14px;font-size:12.5px;font-weight:500;transition:background .15s;display:flex}.att-strip a+a{border-left:1px solid var(--divider)}.att-strip a:hover{color:var(--text-3);background:#7676800f}.att-strip b{min-width:0;color:var(--text);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700;line-height:22px}.att-strip .warn b{color:var(--warning-text)}.att-strip .bad b{color:var(--danger-text)}@media (width<=860px){.att-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.att-strip a{padding:8px 12px}.att-strip a:first-child{grid-column:1/-1}.att-strip a+a{border-left:0;border-top:1px solid var(--divider)}.att-strip a:nth-child(odd):not(:first-child){border-left:1px solid var(--divider)}.att-strip b{font-size:18px;line-height:26px}}.team-switch a.proj-disabled:not(.on){opacity:.5}.team-switch a.proj-degraded:not(.on){color:var(--warning-text)}.preview-missing{background:var(--surface);width:100%;box-shadow:inset 0 0 0 1px var(--border);color:var(--text-3);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;display:flex}.preview-missing svg{color:var(--warning);font-size:28px}.preview-missing b{color:var(--text);font-size:15px}.cell-form{align-items:center;gap:8px;display:inline-flex}.cell-form input{width:120px}.error>.btn{vertical-align:middle;margin-left:10px}.hc{outline:0;display:inline-block;position:relative}.hc-block{display:block}.hc-pop{z-index:30;text-align:left;white-space:normal;pointer-events:none;opacity:0;transform-origin:0 0;min-width:220px;max-width:min(360px,90vw);padding:0;transition:opacity .16s,transform .22s cubic-bezier(.2,.9,.3,1.3);position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-4px)scale(.97)}.hc-pop.hc-center{transform-origin:top;left:50%;transform:translate(-50%,-4px)scale(.97)}.hc-pop.hc-end{transform-origin:100% 0;left:auto;right:0}.hc:hover>.hc-pop,.hc:focus-within>.hc-pop{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.hc:hover>.hc-pop.hc-center,.hc:focus-within>.hc-pop.hc-center{transform:translate(-50%)scale(1)}tr:nth-last-child(-n+3) .hc-pop{transform-origin:0 100%;top:auto;bottom:calc(100% + 8px)}tr:nth-last-child(-n+3) .hc-pop:before{top:auto;bottom:-5px;transform:rotate(225deg)}.hc-pop:before{content:"";background:#fffffff5;border-radius:2px 0 0;width:10px;height:10px;position:absolute;top:-5px;left:18px;transform:rotate(45deg);box-shadow:-1px -1px #3c3c431f}.hc-pop.hc-center:before{left:calc(50% - 5px)}.hc-pop.hc-end:before{left:auto;right:18px}.pop{color:var(--text);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-lg), 0 0 0 .5px #3c3c432e;background:#fffffff5;border-radius:14px;padding:10px 12px 9px;font-size:12.5px;font-weight:400;line-height:18px}.pop-title{border-bottom:1px solid var(--divider);color:var(--text-2);letter-spacing:.01em;justify-content:space-between;gap:10px;margin:0 0 6px;padding-bottom:6px;font-size:12px;font-weight:700;display:flex}.pop-title small{color:var(--text-3);font-weight:500}.pop-row{border-radius:8px;align-items:center;gap:12px;padding:4px 0;display:flex}.pop-row+.pop-row{border-top:1px solid #3c3c430d}.pop-row.is-link{cursor:pointer;margin:0 -6px;padding:4px 6px;transition:background .12s}.pop-row.is-link:hover{background:var(--accent-soft)}.pop-row.is-link:hover .pop-name-text{color:var(--accent-text)}.pop-row.is-muted .pop-name-text,.pop-row.is-muted .pop-val b{color:var(--text-4)}.pop-name{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.pop-name-text{text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);font-weight:500;overflow:hidden}.pop-bar{background:var(--fill);border-radius:2px;height:3px;display:block;overflow:hidden}.pop-bar i{background:var(--tile,var(--accent));border-radius:2px;height:100%;transition:width .4s cubic-bezier(.2,.9,.3,1);display:block}.pop-val{flex-direction:column;flex-shrink:0;align-items:flex-end;line-height:16px;display:flex}.pop-val b{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:700}.pop-val small{color:var(--text-3);white-space:nowrap;font-size:11px}.pop-more{color:var(--text-4);text-align:center;padding:4px 0 0;font-size:11.5px}.pop-foot{border-top:1px solid var(--divider);color:var(--text-3);justify-content:space-between;gap:10px;margin-top:6px;padding-top:6px;font-size:11.5px;display:flex}.pop-foot b{color:var(--text-2);font-variant-numeric:tabular-nums}.pop-empty{color:var(--text-4);text-align:center;padding:6px 0}.pop-facts{grid-template-columns:auto 1fr;gap:3px 14px;margin:0;display:grid}.pop-facts>div{display:contents}.pop-facts dt{color:var(--text-3);white-space:nowrap}.pop-facts dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.pop-facts>.is-warn dd{color:var(--warning-text)}.pop-facts>.is-bad dd{color:var(--danger-text)}.pop-facts>.is-good dd{color:var(--success-text)}.pop-note{border-top:1px solid var(--divider);color:var(--text-3);overflow-wrap:anywhere;margin-top:6px;padding-top:6px;font-size:12px;line-height:17px}.kpi-pop{z-index:30;pointer-events:none;opacity:0;transform-origin:top;transition:opacity .18s,transform .24s cubic-bezier(.2,.9,.3,1.25);position:absolute;top:calc(100% + 6px);left:0;right:0;transform:translateY(-6px)scale(.98)}.kpi-pop .pop{border-radius:16px}.kpi:hover,.kpi:focus-within,.kpi-link:hover,.kpi-link:focus-within{z-index:31}.kpi:hover>.kpi-pop,.kpi:focus-within>.kpi-pop{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.kpi:has(>.kpi-pop) .kpi-head:before{content:"";background:var(--accent);opacity:.35;border-radius:50%;width:6px;height:6px;transition:opacity .2s;position:absolute;top:12px;right:12px}.kpi:has(>.kpi-pop):hover .kpi-head:before{opacity:0}.kpi:has(>.kpi-pop){cursor:default}.kpi-link .kpi:has(>.kpi-pop) .kpi-head:before{right:26px}.pv-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;padding:10px 14px;display:flex}.pv-head .seg{flex-shrink:0}.pv-tools{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.pv-switch{background:var(--fill);height:30px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:7px;padding:0 10px 0 8px;font-size:12.5px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.pv-switch:hover{background:var(--fill-2)}.pv-switch.on{background:var(--accent-soft);color:var(--accent-text)}.pv-switch input{opacity:0;width:1px;height:1px;position:absolute}.pv-switch i{background:#c7c7cc;border-radius:8px;flex-shrink:0;width:26px;height:16px;transition:background .2s;position:relative}.pv-switch i:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .2s cubic-bezier(.2,.9,.3,1.3);position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.pv-switch.on i{background:var(--accent)}.pv-switch.on i:after{transform:translate(10px)}.pv-switch:focus-within{box-shadow:var(--ring)}.pv-scroll{scrollbar-width:thin;scrollbar-color:var(--border-2) transparent;max-height:calc(100vh - 230px);transition:opacity .2s;overflow:auto}.pv-scroll.fetching{opacity:.6}.pv-head+.pv-notice,.card>.pv-notice{border-radius:0;margin:0}.pv{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:100%;font-size:12.5px}.pv th,.pv td{border-bottom:1px solid var(--divider);vertical-align:middle;white-space:nowrap;border-right:1px solid #3c3c430d;padding:0}.pv thead th{z-index:3;background:var(--head-bg);height:42px;color:var(--head-fg);text-align:center;border-bottom:1px solid var(--head-border);padding:0 4px;font-size:11.5px;font-weight:700;position:sticky;top:0}.pv thead th .pv-dn{font-size:13px;line-height:16px;display:block}.pv thead th .pv-wd{color:var(--tint-fg-2);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px;font-weight:600;line-height:12px;display:block}.pv thead th.is-today{background:var(--accent);color:#fff;border-bottom-color:var(--accent)}.pv thead th.is-today .pv-wd{color:#ffffffbf}.pv thead th.is-off,.pv td.is-off{background:repeating-linear-gradient(135deg,#0000 0 6px,#7676800d 6px 7px)}.pv thead th.is-off{color:var(--tint-fg-2);background-color:#eef1f6}.pv th:first-child,.pv td:first-child{z-index:2;text-align:left;background:var(--surface);min-width:180px;max-width:260px;box-shadow:inset -1px 0 0 var(--border);padding:0 12px;position:sticky;left:0}.pv thead th:first-child,.pv tfoot th:first-child{z-index:4;background:var(--head-bg)}.pv td:first-child{text-overflow:ellipsis;color:var(--text);font-weight:600;overflow:hidden}.pv td:first-child a{color:inherit}.pv td:first-child a:hover{color:var(--accent)}.pv td:first-child .pv-sub{color:var(--text-3);font-size:11px;font-weight:500;line-height:14px;display:block}.pv th.pv-tot,.pv td.pv-tot{z-index:2;text-align:right;background:var(--surface-2);min-width:112px;box-shadow:inset 1px 0 0 var(--border);padding:0 12px;font-weight:700;position:sticky;right:0}.pv thead th.pv-tot,.pv tfoot th.pv-tot{z-index:4;background:var(--head-bg)}.pv td.pv-tot small{color:var(--text-3);font-size:11px;font-weight:500;line-height:13px;display:block}.pv tbody tr{height:44px}.pv tbody tr:hover td{background-color:#7676800d}.pv tbody tr:hover td:first-child{background-color:#f7f7f8}.pv tbody tr:hover td.pv-tot{background-color:#f0f0f3}.pv tfoot th{z-index:3;background:var(--head-bg);height:38px;color:var(--head-fg);text-align:center;border-top:1px solid var(--head-border);padding:0 4px;font-size:11.5px;font-weight:700;position:sticky;bottom:0}.pv tfoot th:first-child{text-align:left;padding:0 12px}.pv tfoot th.pv-tot{text-align:right;padding:0 12px;font-size:12.5px}.pv tfoot th small{color:var(--tint-fg-2);font-size:10.5px;font-weight:600;line-height:12px;display:block}.pv-cell{justify-content:center;align-items:center;min-width:64px;height:44px;padding:0 4px;display:flex;position:relative}.pv-cell>.hc,.pv-cell>.hc>.pv-chip{width:100%}.pv-chip{background:var(--chip-bg,transparent);min-width:56px;height:34px;color:var(--chip-fg,var(--text));box-shadow:inset 0 0 0 1px var(--chip-bd,transparent);letter-spacing:-.01em;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:1px;margin:0 auto;padding:0 6px;font-size:12px;font-weight:600;line-height:14px;transition:transform .15s cubic-bezier(.2,.9,.3,1.3),box-shadow .15s,background .15s;display:flex}.pv-chip small{color:var(--chip-sub,var(--text-3));font-size:10.5px;font-weight:500;line-height:12px}.hc:hover>.pv-chip,.hc:focus-within>.pv-chip,.pv-chip.is-btn:hover{box-shadow:inset 0 0 0 1px var(--chip-bd,var(--border)), var(--shadow-sm);transform:translateY(-1px)scale(1.04)}.pv-chip.is-btn{cursor:pointer;border:0;font-family:inherit}.pv-chip.is-btn:focus-visible{box-shadow:var(--ring);outline:0}.pv-chip.is-empty{color:var(--text-4);background:0 0;font-weight:400}.pv-chip.is-empty.is-btn:hover{background:var(--fill);color:var(--text-3)}.pv-chip.ok{--chip-bg:#34c75917;--chip-fg:#1f7a35;--chip-sub:#1f7a35b3}.pv-chip.late{--chip-bg:var(--warning-soft);--chip-fg:var(--warning-text);--chip-sub:#c93400b3}.pv-chip.open{--chip-bg:var(--accent-soft);--chip-fg:var(--accent-text);--chip-sub:#0062ccb3}.pv-chip.absent{--chip-bg:var(--fill);--chip-fg:var(--text-3);--chip-sub:var(--text-4)}.pv-chip.missing{--chip-bg:var(--danger-soft);--chip-fg:var(--danger-text);--chip-sub:#d70015a6;--chip-bd:#ff3b3040}.pv-chip.late small,.pv-chip.ok small,.pv-chip.open small{color:var(--chip-sub)}.pv-chip .pv-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.pv-chip.open .pv-dot{animation:1.4s ease-in-out infinite pv-pulse}@keyframes pv-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.6)}}.pv-chip .pv-mark{color:var(--warning-text);font-size:9px;font-weight:800;line-height:10px;position:absolute;top:3px;left:5px}.pv-chip.money{--chip-bg:transparent;align-items:flex-end;min-width:84px;padding:0 8px}.pv-chip.money b{color:var(--text);font-weight:700}.pv-chip.money.has{--chip-bg:#007aff0f}.pv-chip.money.hot{--chip-bg:#007aff24}.pv-chip.money.warm{--chip-bg:#007aff17}.pv-chip.money small.pend{color:var(--warning-text)}.pv-chip.money small.rej{color:var(--danger-text)}.pv-edit{background:var(--surface);min-width:196px;box-shadow:var(--shadow-lg), 0 0 0 1.5px var(--accent);z-index:20;border-radius:12px;flex-direction:column;gap:5px;padding:6px;animation:.18s cubic-bezier(.2,.9,.3,1.3) pv-in;display:flex;position:relative}@keyframes pv-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.pv-edit-times{align-items:center;gap:4px;display:flex}.pv-edit-times input[type=time]{background:var(--fill);min-width:0;height:28px;font:600 12.5px var(--font);font-variant-numeric:tabular-nums;text-align:center;color:var(--text);border:0;border-radius:7px;flex:1;padding:0 4px}.pv-edit-times input[type=time]:focus{background:var(--surface);box-shadow:inset 0 0 0 1px var(--accent), var(--ring);outline:0}.pv-edit-times .pv-arrow{color:var(--text-4);font-size:11px}.pv-edit input.pv-why{background:var(--fill);height:28px;font:500 12px var(--font);color:var(--text);border:0;border-radius:7px;padding:0 8px}.pv-edit input.pv-why:focus{background:var(--surface);box-shadow:inset 0 0 0 1px var(--accent), var(--ring);outline:0}.pv-edit input.pv-why::placeholder{color:var(--text-4)}.pv-edit-actions{align-items:center;gap:4px;display:flex}.pv-edit-actions .btn{border-radius:7px;height:26px;padding:0 9px;font-size:12px}.pv-edit-actions .btn.ghost{color:var(--text-3)}.pv-edit-actions .btn.ghost:hover:not(:disabled){color:var(--danger-text);background:var(--danger-soft)}.pv-edit-actions .spacer{flex:1}.pv-edit .error{margin:0;padding:4px 8px;font-size:11.5px;line-height:15px}.pv-row-dim td{opacity:.55}.pv-notice{z-index:5;border-left:0;border-right:0;border-radius:0;margin:0;position:sticky;left:0}.pv-legend{border-top:1px solid var(--border);color:var(--text-3);flex-wrap:wrap;gap:6px 14px;padding:8px 14px;font-size:11.5px;display:flex}.pv-legend span{align-items:center;gap:5px;display:inline-flex}.pv-legend i{background:var(--chip-bg,var(--fill));width:10px;height:10px;box-shadow:inset 0 0 0 1px var(--chip-bd,transparent);border-radius:3px}.pv-legend i.ok{--chip-bg:#34c75940}.pv-legend i.late{--chip-bg:#ff95004d}.pv-legend i.open{--chip-bg:#007aff40}.pv-legend i.absent{--chip-bg:var(--fill-2)}.pv-legend i.missing{--chip-bg:#ff3b3038;--chip-bd:#ff3b3059}.hd-details{display:contents}.hd-details>summary{border-radius:var(--r);height:36px;color:var(--accent-text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;margin:-4px 0 0;font-size:13px;font-weight:600;list-style:none;transition:background .15s;display:flex}.hd-details>summary::-webkit-details-marker{display:none}.hd-details>summary:hover{background:var(--tint)}.hd-details>summary svg{width:16px;height:16px;transition:transform .2s}.hd-details[open]>summary svg{transform:rotate(180deg)}.hd-details[open]>summary .when-closed,.hd-details:not([open])>summary .when-open{display:none}@media (width<=860px){.pv-scroll{max-height:none}.pv th:first-child,.pv td:first-child{min-width:130px;max-width:160px;padding:0 8px}.pv th.pv-tot,.pv td.pv-tot{box-shadow:none;position:static}.hc-pop{max-width:86vw}.kpi-pop{opacity:1;pointer-events:auto;margin-top:8px;display:none;position:static;transform:none}.kpi:focus-within>.kpi-pop{display:block}}@media (hover:none){.hc-pop{transition:none}}@media (width>=861px) and (width<=1180px){:root{--sidebar-w:68px;--gutter:24px}.sidebar{align-items:center;padding:0 10px 10px}.brand{justify-content:center;padding:0}.brand-text,.nav-label,.user-meta,.sidebar .team-switch{display:none}.side-nav{align-items:center;width:100%}.side-nav a{border-radius:var(--r);justify-content:center;width:44px;height:40px;padding:0}.nav-icon{font-size:20px}.user{flex-direction:column;gap:6px;width:100%;padding:10px 0 0}.user-actions{flex-direction:column}.topbar .team-switch{width:180px;display:grid}}@media (width<=860px){:root{--gutter:16px}body{font-size:14px}.sidebar{display:none}.topbar{height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0 16px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);background:#f9f9f9d1;border-bottom:.5px solid #0000002e;justify-content:space-between;gap:8px;position:sticky;top:0}.topbar .brand.compact{gap:8px;height:auto;padding:0;display:flex}.topbar .brand.compact .app-icon{width:28px;height:28px;font-size:16px}.topbar .brand.compact b{font-size:14px}.topbar .team-switch{width:132px;display:grid}.topbar .team-switch a{height:28px;font-size:12.5px}.topbar:has(.team-switch) .brand.compact b{display:none}.topbar-actions{gap:4px}.topbar-actions .btn.icon{background:0 0;width:34px;height:34px}.topbar-actions .btn.icon svg{font-size:20px}.topbar-actions .lang-btn{background:0 0}.lang-btn{height:34px;padding:0 8px}.mobile-only{display:inline-flex!important}.tabbar{z-index:30;padding:4px 4px env(safe-area-inset-bottom);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);background:#f9f9f9db;border-top:.5px solid #0000002e;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:#8e8e93;flex-direction:column;flex:1 1 0;align-items:center;gap:2px;min-width:0;padding:5px 2px 4px;font-size:10.5px;font-weight:500;line-height:13px;display:flex}.tabbar a span:last-child{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.tabbar .nav-icon{color:inherit;font-size:24px}.tabbar a.active{color:var(--accent)}.page{padding:12px 16px calc(76px + env(safe-area-inset-bottom));gap:12px}h1{font-size:22px;line-height:28px}.page-head .subtitle{font-size:13px;line-height:18px}.page-head>.row,.page-head>.btn,.page-head>.capsule,.page-head>.seg{width:100%}.page-head>.row>.capsule,.page-head>.capsule input[type=date]{flex:1}.capsule input[type=date]{flex:1;min-width:0}.card{--pad:12px}.chart{margin-bottom:4px}.chart .axis{font-size:26px;transform:translateY(10px)}.grid2{grid-template-columns:minmax(0,1fr);gap:12px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{border-radius:14px;padding:12px;position:relative}.kpi-head{flex-direction:column;align-items:flex-start;gap:8px}.kpi-icon{border-radius:7px;width:26px;height:26px;font-size:15px}.kpi-label{flex:none;width:100%}.kpi-link .kpi-head:after{margin:0;position:absolute;top:20px;right:14px}.kpi-value{margin-top:6px;font-size:22px;line-height:26px}.table th,.table td{padding:7px 10px}.table thead th{height:32px}.f-top{flex-direction:column;align-items:stretch}.f-top>.f-search{flex:none}.f-active{margin-left:0}.f-active .btn.f-more{flex:1;justify-content:center}.f-top .seg,.presets{width:100%;height:auto;display:grid}.f-top .seg{grid-template-columns:repeat(2,minmax(0,1fr))}.f-top .seg button:last-child:nth-child(odd){grid-column:1/-1}.presets{grid-template-columns:repeat(6,minmax(0,1fr))}.presets button{grid-column:span 2}.presets:has(>:nth-child(5)) button:nth-child(n+4){grid-column:span 3}.page-head>.seg{grid-template-columns:repeat(6,minmax(0,1fr));height:auto;display:grid}.page-head>.seg button{grid-column:span 2}.page-head>.seg:has(>:nth-child(2):last-child) button{grid-column:span 3}.page-head>.seg:has(>:nth-child(4):last-child) button{grid-column:span 3}.page-head>.seg:has(>:nth-child(5):last-child) button:nth-child(n+4){grid-column:span 3}.page-head>.seg button,.f-top .seg button,.presets button{white-space:normal;text-align:center;overflow-wrap:anywhere;min-width:0;height:auto;min-height:30px;padding:6px;line-height:18px}.tabs{width:100%;display:flex}.tabs a{flex:1 1 0;min-width:0;padding:0 8px}.range-field.date{flex-basis:100%;max-width:none}.range-field.date:has(.rf-select){flex-wrap:wrap;height:auto;padding:0}:is(.range-field.date:has(.rf-select) .rf-icon,.range-field.date:has(.rf-select) .rf-div){display:none}.range-field.date:has(.rf-select) .rf-select{border-bottom:1px solid var(--border);height:36px;flex:100%!important;padding-left:12px!important}.range-field.date:has(.rf-select)>input{height:36px}.range-field.date>input{flex:1 1 0;width:auto;min-width:0;padding:0 8px}.filters>*{padding:10px 12px}.f-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.f-grid>.range-field.date,.f-grid>.field.range,.f-grid>.f-active{grid-column:1/-1}.field.sel{border-radius:12px;flex-direction:column;justify-content:center;align-items:flex-start;gap:0;height:auto;min-height:50px;padding:7px 30px 7px 12px}.field.sel select{border-radius:12px}.field.sel .f-label{text-overflow:ellipsis;max-width:100%;font-size:12px;line-height:16px;overflow:hidden}.chip-value{max-width:100%;font-size:14px;line-height:20px}.chip-chev{position:absolute;top:50%;right:10px;transform:translateY(-50%)}.field.range{border-radius:12px;height:40px;padding-left:12px}.field.range .range-field{flex:1;min-width:0;height:40px}.field.range .range-field>input{flex:1 1 0;width:auto;min-width:0}.chip-check{white-space:normal;border-radius:12px;grid-column:1/-1;height:auto;min-height:44px;padding:7px 12px;line-height:18px}.f-active{justify-content:space-between;margin-left:0;padding-left:0}.f-count{display:inline}.kpis.five{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis.five>*,.kpis.five>:nth-child(n+4){grid-column:auto}.kpis.five>:nth-child(3){grid-column:1/-1}.kpis.five .kpi-value{font-size:22px;line-height:28px}.card-head .field{width:100%}.drawer-bg{align-items:flex-end}.drawer{border-radius:12px 12px 0 0;width:100%;height:calc(100% - 44px);margin:0;animation:.38s cubic-bezier(.32,.72,0,1) sheet-up}.form-sheet{height:auto;max-height:calc(100% - 44px)}@keyframes sheet-up{0%{transform:translateY(100%)}}.grabber{z-index:4;background:#3c3c434d;border-radius:3px;width:36px;height:5px;margin:6px auto -11px;display:block;position:sticky;top:0}.drawer-head{border-radius:12px 12px 0 0;min-height:48px;padding:10px 12px 6px 16px}.drawer-body{padding:12px 12px 24px}.details>div{grid-template-columns:112px minmax(0,1fr)}.hard-photos.two{grid-template-columns:1fr}}@media (width<=380px){.tabbar{padding-left:0;padding-right:0}.tabbar a{letter-spacing:-.01em;padding-left:0;padding-right:0;font-size:10px}.kpi{padding:10px}.kpi-link .kpi-head:after{top:22px;right:14px}.kpi-value{font-size:22px;line-height:28px}.topbar .team-switch{width:116px}.lang-btn .chev{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media print{.sidebar,.topbar,.tabbar,.filters,.drawer-bg,.btn,.lang-btn{display:none!important}.table-scroll{overflow:visible}.page,main{padding:0}}
