.dash{--viz-1: #2a78d6;--viz-1-track: #cde2fb;--viz-2: #eb6834;--viz-3: #1baf7a;--viz-other: #b9b8b1;--viz-track: #ecebe6;--viz-good: #0ca30c;--viz-warning: #fab219;--viz-serious: #ec835a;--viz-critical: #d03b3b;--viz-grid: #e7e6e0;--viz-axis: #c3c2b7;--viz-muted: #77756f}:root[data-theme=dark] .dash{--viz-1: #3987e5;--viz-1-track: #1c3556;--viz-2: #d95926;--viz-3: #199e70;--viz-other: #5c5b57;--viz-track: #2c2c2a;--viz-grid: #2c2c2a;--viz-axis: #45443f;--viz-muted: #9a988f}.dash-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}.dash-hero h1{margin:0;font-size:22px;font-weight:600;line-height:1.3}.dash-hero .sub{color:var(--c-text-3);margin-top:2px}.dash-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-3);margin:4px 0 10px}.dash-grid{display:grid;gap:16px}.dash-card{height:100%}.dash-card .ant-card-head-title{font-weight:600}.dash-card-sub{font-size:12px;color:var(--c-text-3);font-weight:400}.dash-tasks{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.dash-task{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--c-border);border-radius:10px;background:var(--c-bg-elevated, var(--c-bg));cursor:pointer;transition:border-color .15s,box-shadow .15s;min-width:0}.dash-task:hover,.dash-task:focus-visible{border-color:var(--c-primary);box-shadow:0 2px 8px #0000000f;outline:none}.dash-task-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex:none;color:var(--c-primary);background:var(--c-primary-bg)}.dash-task.zero .dash-task-icon{color:var(--c-text-3);background:var(--c-fill)}.dash-task-count{font-size:22px;font-weight:600;line-height:1.1}.dash-task.zero .dash-task-count{color:var(--c-text-3)}.dash-task-label{font-size:12px;color:var(--c-text-2);line-height:1.35}.dash-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.dash-kpi{padding:16px 18px;border:1px solid var(--c-border);border-radius:12px;background:var(--c-bg-elevated, var(--c-bg));min-width:0}.dash-kpi.clickable{cursor:pointer}.dash-kpi.clickable:hover,.dash-kpi.clickable:focus-visible{border-color:var(--c-primary);outline:none}.dash-kpi-label{display:flex;align-items:center;gap:8px;color:var(--c-text-2);font-size:13px}.dash-kpi-label .anticon{color:var(--c-text-3)}.dash-kpi-value{font-size:30px;font-weight:600;line-height:1.2;margin-top:6px}.dash-kpi.hero .dash-kpi-value{font-size:48px;line-height:1.05}.dash-kpi-hint{font-size:12px;color:var(--c-text-3);margin-top:4px}.dash-delta-up{color:var(--c-green, #237804)}.dash-delta-down{color:var(--c-red, #cf1322)}.dash-list-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--c-border);cursor:pointer;min-width:0}.dash-list-row:last-child{border-bottom:0}.dash-list-row:hover .dash-list-title{color:var(--c-primary)}.dash-list-main{min-width:0;flex:1}.dash-list-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-list-meta{font-size:12px;color:var(--c-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viz-frame{position:relative}.viz-grid{stroke:var(--viz-grid);stroke-width:1}.viz-axis{stroke:var(--viz-axis);stroke-width:1}.viz-tick{font-size:11px;fill:var(--viz-muted);font-variant-numeric:tabular-nums}.viz-value{font-size:11px;font-weight:600;fill:var(--c-text-2)}.viz-hover-band{fill:var(--c-fill)}.viz-muted{color:var(--c-text-3)}.viz-num{font-variant-numeric:tabular-nums}.viz-legend{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;color:var(--c-text-2);margin-bottom:6px}.viz-legend-item{display:inline-flex;align-items:center;gap:6px}.viz-key-rect{width:10px;height:10px;border-radius:3px;flex:none;display:inline-block}.viz-key-line{width:12px;height:3px;border-radius:2px;flex:none;display:inline-block}.viz-tooltip{position:absolute;top:0;background:var(--c-bg-elevated, var(--c-bg));border:1px solid var(--c-border);box-shadow:0 4px 12px #0000001f;border-radius:6px;padding:6px 10px;font-size:12px;pointer-events:none;white-space:nowrap;z-index:2}.viz-tooltip-title{color:var(--c-text-3);margin-bottom:2px}.viz-tooltip-row{display:flex;align-items:center;gap:6px}.viz-ranked{display:flex;flex-direction:column;gap:8px}.viz-ranked-row{display:grid;grid-template-columns:minmax(90px,38%) 1fr auto;align-items:center;gap:10px;font-size:13px;border-radius:4px}.viz-ranked-row.clickable{cursor:pointer}.viz-ranked-row.clickable:hover .viz-ranked-label,.viz-ranked-row:focus-visible .viz-ranked-label{color:var(--c-primary)}.viz-ranked-row:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.viz-ranked-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text-2)}.viz-ranked-track{height:12px;display:block}.viz-ranked-bar{display:block;height:12px;min-width:2px;border-radius:0 4px 4px 0}.viz-ranked-value{font-weight:600;font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.viz-split{display:flex;gap:2px;height:10px;margin-bottom:12px}.viz-split-part{display:block;height:10px;min-width:3px}.viz-split-part:first-child{border-radius:5px 0 0 5px}.viz-split-part:last-child{border-radius:0 5px 5px 0}.viz-split-part:only-child{border-radius:5px}.viz-split-list{display:flex;flex-direction:column}.viz-split-row{display:grid;grid-template-columns:10px 1fr auto 44px;align-items:center;gap:10px;padding:5px 0;font-size:13px;border-radius:4px}.viz-split-row.clickable{cursor:pointer}.viz-split-row.clickable:hover .viz-split-name{color:var(--c-primary)}.viz-split-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viz-split-share{text-align:right}.viz-meter{height:8px;border-radius:4px;overflow:hidden}.viz-meter span{display:block;height:8px;border-radius:4px}@media(max-width:575px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dash-kpi{padding:12px}.dash-kpi.hero{grid-column:1 / -1}.dash-kpi-value{font-size:24px}.dash-kpi.hero .dash-kpi-value{font-size:40px}.dash-tasks{grid-template-columns:repeat(2,minmax(0,1fr))}}.pay-root{--pay-ink: #1f2328;--pay-ink-2: #57606a;--pay-muted: #8c959f;--pay-line: #e6e8eb;--pay-plane: #f6f8fa;--pay-surface: #ffffff;--pay-accent: #1f6feb;--pay-accent-soft: #eef4ff;--pay-plus: #1a7f37;--pay-minus: #cf222e;--pay-warn: #9a6700;--pay-warn-soft: #fff8e6;--pay-block-soft: #fff1f0;--pay-ok-soft: #effaf1;--pay-accent-line: #cfe0ff;--pay-ok-line: #c6ebcf;--pay-block-line: #ffccc7;--pay-dirty: #fffbe6;--pay-g-info: #f6f8fa;--pay-g-salary: #f3f0ff;--pay-g-days: #eef7fb;--pay-g-income: #eefbf1;--pay-g-deduct: #fff3f1;--pay-g-pay: #eef4ff;--pay-s1: #2a78d6;--pay-s2: #eb6834;--pay-s3: #1baf7a;--pay-s4: #eda100;color:var(--pay-ink)}:root[data-theme=dark] .pay-root{--pay-ink: rgba(255, 255, 255, .85);--pay-ink-2: rgba(255, 255, 255, .65);--pay-muted: rgba(255, 255, 255, .45);--pay-line: #303030;--pay-plane: #1a1a1a;--pay-surface: #141414;--pay-accent: #4d8ff0;--pay-accent-soft: #111a2c;--pay-accent-line: #15325b;--pay-plus: #73d13d;--pay-minus: #ff7875;--pay-warn: #ffc53d;--pay-warn-soft: #2b2111;--pay-block-soft: #2a1215;--pay-ok-soft: #162312;--pay-ok-line: #274916;--pay-block-line: #58181c;--pay-dirty: #2b2611;--pay-g-info: #1d1d1d;--pay-g-salary: #1e1a2e;--pay-g-days: #112128;--pay-g-income: #13241a;--pay-g-deduct: #2a1614;--pay-g-pay: #111a2c}.pay-root .num{font-variant-numeric:tabular-nums}.pay-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.pay-head h1{font-size:22px;font-weight:600;margin:0;line-height:1.3}.pay-head .sub{color:var(--pay-ink-2);margin-top:2px}.pay-panel{background:var(--pay-surface);border:1px solid var(--pay-line);border-radius:10px;padding:16px 20px}.pay-panel+.pay-panel{margin-top:16px}.pay-panel-title{font-weight:600;font-size:15px;margin-bottom:12px;display:flex;align-items:center;gap:8px;justify-content:space-between}.pay-panel-title .hint{font-weight:400;color:var(--pay-muted);font-size:13px}.pay-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}.pay-kpi{background:var(--pay-surface);border:1px solid var(--pay-line);border-radius:10px;padding:12px 16px;min-width:0}.pay-kpi .label{color:var(--pay-ink-2);font-size:13px;display:flex;align-items:center;gap:6px}.pay-kpi .value{font-size:22px;font-weight:600;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pay-kpi .value small{font-size:13px;font-weight:400;color:var(--pay-muted);margin-left:4px}.pay-kpi .foot{font-size:12px;color:var(--pay-muted);margin-top:2px}.pay-kpi.accent{background:var(--pay-accent-soft);border-color:var(--pay-accent-line)}.pay-delta{font-size:12px;color:var(--pay-ink-2)}.pay-next{display:flex;gap:16px;align-items:center;flex-wrap:wrap;border-radius:10px;padding:14px 18px;border:1px solid var(--pay-accent-line);background:var(--pay-accent-soft);margin-bottom:16px}.pay-next.wait{background:var(--pay-plane);border-color:var(--pay-line)}.pay-next.done{background:var(--pay-ok-soft);border-color:var(--pay-ok-line)}.pay-next.blocked{background:var(--pay-block-soft);border-color:var(--pay-block-line)}.pay-next .icon{font-size:22px;color:var(--pay-accent)}.pay-next.wait .icon{color:var(--pay-muted)}.pay-next.done .icon{color:var(--pay-plus)}.pay-next.blocked .icon{color:var(--pay-minus)}.pay-next .body{flex:1;min-width:240px}.pay-next .who{font-size:12px;color:var(--pay-ink-2);text-transform:uppercase;letter-spacing:.02em}.pay-next .what{font-size:15px;font-weight:600}.pay-next .why{color:var(--pay-ink-2);font-size:13px}.pay-check{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-bottom:16px}.pay-check-item{display:flex;gap:8px;align-items:flex-start;padding:8px 12px;border-radius:8px;border:1px solid var(--pay-line);background:var(--pay-surface);cursor:pointer}.pay-check-item:hover{border-color:var(--pay-accent)}.pay-check-item .ic{font-size:16px;margin-top:2px}.pay-check-item.ok .ic{color:var(--pay-plus)}.pay-check-item.todo .ic{color:var(--pay-warn)}.pay-check-item.bad .ic{color:var(--pay-minus)}.pay-check-item .t{font-weight:500;font-size:13px}.pay-check-item .d{font-size:12px;color:var(--pay-ink-2)}.pay-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.pay-flow-step{position:relative;padding:0 12px 0 0}.pay-flow-step .bar{height:4px;border-radius:2px;background:var(--pay-line);margin-bottom:10px}.pay-flow-step.done .bar{background:var(--pay-plus)}.pay-flow-step.current .bar{background:var(--pay-accent)}.pay-flow-step .n{font-size:12px;color:var(--pay-muted)}.pay-flow-step .t{font-weight:600;font-size:13px}.pay-flow-step.current .t{color:var(--pay-accent)}.pay-flow-step .w{font-size:12px;color:var(--pay-ink-2)}.pay-flow-step .s{font-size:12px;color:var(--pay-muted);margin-top:2px}.pay-flow.six{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:900px){.pay-flow,.pay-flow.six{grid-template-columns:1fr;gap:10px}}.pay-cycles{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.pay-cycle-card{border:1px solid var(--pay-line);border-radius:10px;padding:14px 16px;background:var(--pay-surface);cursor:pointer;min-width:0}.pay-cycle-card:hover{border-color:var(--pay-accent)}.pay-cycle-card.empty{cursor:default;border-style:dashed}.pay-cycle-card .head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.pay-cycle-card .code{font-size:12px;color:var(--pay-muted)}.pay-cycle-card .ttl{font-weight:600;font-size:15px}.pay-cycle-card .amt{font-size:20px;font-weight:600;margin:6px 0 2px}.pay-cycle-card .meta{font-size:12px;color:var(--pay-ink-2);display:flex;flex-direction:column;gap:2px}.pay-progress-row{display:grid;grid-template-columns:110px 1fr 70px;align-items:center;gap:8px;font-size:12px;color:var(--pay-ink-2);margin-top:6px}.pay-progress-row .ant-progress{margin:0}.pay-check-list{display:flex;flex-direction:column;gap:6px}.pay-check-line{display:flex;gap:8px;align-items:flex-start;font-size:13px}.pay-check-line .ic{margin-top:2px}.pay-check-line.block .ic{color:var(--pay-minus)}.pay-check-line.warn .ic{color:var(--pay-warn)}.pay-check-line .d,.pay-timeline-meta{font-size:12px;color:var(--pay-ink-2)}.pay-dots{display:inline-flex;gap:3px;vertical-align:middle;margin-right:8px}.pay-dots i{width:14px;height:4px;border-radius:2px;background:var(--pay-line);display:inline-block}.pay-dots i.done{background:var(--pay-plus)}.pay-dots i.current{background:var(--pay-accent)}.pay-todo{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--pay-line)}.pay-todo:first-child{border-top:0;padding-top:0}.pay-todo .ic{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--pay-accent-soft);color:var(--pay-accent);flex:none}.pay-todo .ic.warn{background:var(--pay-warn-soft);color:var(--pay-warn)}.pay-todo .ic.bad{background:var(--pay-block-soft);color:var(--pay-minus)}.pay-todo .main{flex:1;min-width:0}.pay-todo .t{font-weight:500}.pay-todo .d{font-size:12px;color:var(--pay-ink-2)}.pay-hbar{display:flex;flex-direction:column}.pay-hbar .row{display:grid;grid-template-columns:minmax(110px,180px) 1fr 110px;gap:12px;align-items:center;padding:4px 6px;border-radius:6px}.pay-hbar .row:hover{background:var(--pay-plane)}.pay-hbar .lb{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pay-hbar .lb small{color:var(--pay-muted);margin-left:4px}.pay-hbar .track{height:14px;display:flex;align-items:center}.pay-hbar .fill{height:12px;background:var(--pay-s1);border-radius:0 4px 4px 0;min-width:2px}.pay-hbar .val{font-size:13px;text-align:right;font-variant-numeric:tabular-nums;color:var(--pay-ink)}.pay-stack{display:flex;height:16px;gap:2px;margin:4px 0 12px}.pay-stack span{height:100%;min-width:2px}.pay-stack span:first-child{border-radius:4px 0 0 4px}.pay-stack span:last-child{border-radius:0 4px 4px 0}.pay-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 16px}.pay-legend-item{display:flex;align-items:baseline;gap:8px;font-size:13px}.pay-legend-item .sw{width:10px;height:10px;border-radius:2px;flex:none;transform:translateY(1px)}.pay-legend-item .lb{color:var(--pay-ink-2);flex:1}.pay-legend-item .v{font-variant-numeric:tabular-nums}.pay-legend-item .p{color:var(--pay-muted);width:44px;text-align:right;font-variant-numeric:tabular-nums}.pay-equation{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px}.pay-equation .term{border:1px solid var(--pay-line);border-radius:8px;padding:8px 12px;min-width:120px}.pay-equation .term .l{font-size:12px;color:var(--pay-ink-2)}.pay-equation .term .v{font-weight:600;font-variant-numeric:tabular-nums}.pay-equation .term.result{background:var(--pay-accent-soft);border-color:var(--pay-accent-line)}.pay-equation .op{display:grid;place-items:center;font-size:18px;color:var(--pay-muted)}.pay-slip-net{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:flex-end;padding:16px 20px;border-radius:10px;background:var(--pay-accent-soft);margin-bottom:16px}.pay-slip-net .big{font-size:30px;font-weight:700;line-height:1.1}.pay-slip-net .l{font-size:12px;color:var(--pay-ink-2)}.pay-slip-section{margin-bottom:16px}.pay-slip-section h4{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--pay-ink-2);margin:0 0 6px;display:flex;justify-content:space-between}.pay-slip-row{display:flex;gap:12px;padding:6px 0;border-bottom:1px dashed var(--pay-line);align-items:baseline}.pay-slip-row .k{flex:1;min-width:0}.pay-slip-row .k .f{display:block;font-size:12px;color:var(--pay-muted)}.pay-slip-row .v{font-variant-numeric:tabular-nums;white-space:nowrap}.pay-slip-row.zero{color:var(--pay-muted)}.pay-slip-row.total{border-bottom:0;font-weight:600;padding-top:8px}.pay-slip-row .plus{color:var(--pay-plus)}.pay-slip-row .minus{color:var(--pay-minus)}.pay-meter{height:8px;border-radius:4px;background:var(--pay-line);overflow:hidden;margin-top:6px}.pay-meter>div{height:100%;background:var(--pay-s1);border-radius:4px}.pay-root .ant-table{font-variant-numeric:tabular-nums}.pay-root .row-dirty>td{background:var(--pay-dirty)!important}.pay-root .row-block>td:first-child{box-shadow:inset 3px 0 0 var(--pay-minus)}.pay-root .row-warn>td:first-child{box-shadow:inset 3px 0 #d4a72c}.pay-root th.g-info{background:var(--pay-g-info)!important}.pay-root th.g-salary{background:var(--pay-g-salary)!important}.pay-root th.g-days{background:var(--pay-g-days)!important}.pay-root th.g-income{background:var(--pay-g-income)!important}.pay-root th.g-deduct{background:var(--pay-g-deduct)!important}.pay-root th.g-pay{background:var(--pay-g-pay)!important}@page{margin:12mm}@media print{.ant-layout-sider,.ant-layout-header,.pay-noprint,.pay-head .sub{display:none!important}.ant-layout,.ant-layout-content{padding:0!important;background:#fff!important}.pay-root{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pay-root .pay-panel{border:0;padding:0}.pay-root .ant-col{flex:0 0 100%!important;max-width:100%!important}.pay-slip-section,.pay-equation{break-inside:avoid}}.pay-tabhint{color:var(--pay-ink-2);font-size:13px;margin:0 0 12px;display:flex;gap:8px;align-items:flex-start}.pay-tabhint .anticon{color:var(--pay-accent);margin-top:3px}.km-root{display:flex;height:calc(100dvh - 104px);min-height:420px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:10px;overflow:hidden}.km-root.compact{height:calc(100dvh - 80px)}.km-root.mobile{border-radius:8px}.km-side{width:340px;flex:none;border-right:1px solid var(--c-border);display:flex;flex-direction:column;min-width:0}.km-root.mobile .km-side{width:100%;border-right:0}.km-side-head{padding:14px 14px 10px;display:flex;flex-direction:column;gap:10px}.km-title{display:flex;align-items:center;justify-content:space-between;font-size:18px;font-weight:700}.km-title .brand{color:var(--c-primary)}.km-list{flex:1;overflow-y:auto;padding:0 6px 8px}.km-item{display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:10px;cursor:pointer}.km-item:hover{background:var(--c-fill-2)}.km-item.active{background:var(--c-primary-bg)}.km-item .meta{flex:1;min-width:0}.km-item .row{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.km-item .name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.km-item .time{font-size:12px;color:var(--c-text-3);flex:none}.km-item .preview{font-size:13px;color:var(--c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.km-item.unread .name,.km-item.unread .preview{font-weight:650;color:var(--c-text)}.km-section{font-size:12px;font-weight:600;color:var(--c-text-3);padding:10px 10px 4px;text-transform:uppercase;letter-spacing:.3px}.km-main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--c-bg-layout);position:relative}.km-head{height:62px;flex:none;display:flex;align-items:center;gap:10px;padding:0 12px 0 14px;background:var(--c-bg);border-bottom:1px solid var(--c-border)}.km-head .info{flex:1;min-width:0}.km-head .name{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.km-head .sub{font-size:12px;color:var(--c-text-2)}.km-head .sub.on{color:var(--c-green)}.km-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column-reverse;padding:8px 16px}.km-day{text-align:center;margin:14px 0 8px}.km-day span{background:var(--c-fill-3);color:var(--c-text-2);font-size:12px;padding:3px 10px;border-radius:10px}.km-system{text-align:center;font-size:12.5px;color:var(--c-text-2);margin:8px 0}.km-msg{display:flex;gap:8px;align-items:flex-end;margin-top:2px;position:relative}.km-msg.first{margin-top:10px}.km-msg.mine{flex-direction:row-reverse}.km-msg .av{width:32px;flex:none}.km-msg .col{max-width:min(72%,560px);display:flex;flex-direction:column;align-items:flex-start;min-width:0}.km-msg.mine .col{align-items:flex-end}.km-sender{font-size:12px;color:var(--c-text-2);margin:0 0 2px 10px}.km-bubble{background:var(--c-bg);border:1px solid var(--c-border);border-radius:16px;padding:7px 12px;white-space:pre-wrap;word-break:break-word;line-height:1.45;font-size:14px;max-width:100%}.km-msg.mine .km-bubble{background:#1f6feb;border-color:var(--c-primary);color:#fff}.km-notice{background:var(--c-bg);border:1px solid var(--c-primary-border);border-left:4px solid var(--c-primary);border-radius:12px;padding:10px 14px;max-width:420px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.km-notice .ttl{font-weight:600;letter-spacing:.2px}.km-notice .body{white-space:pre-wrap;word-break:break-word;line-height:1.45;font-size:14px;color:var(--c-text)}.km-msg.mine .km-bubble a{color:#fff;text-decoration:underline}.km-bubble.recalled{background:transparent!important;border:1px dashed var(--c-border-strong)!important;color:var(--c-text-3)!important;font-style:italic}.km-bubble.caption{margin-top:4px}.km-reply{border-left:3px solid var(--c-primary);background:#1f6feb12;border-radius:6px;padding:4px 8px;margin-bottom:4px;font-size:12.5px;color:var(--c-text-2);cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.km-msg.mine .km-reply{border-left-color:#fff;background:#ffffff2e;color:#eaf2ff}.km-images{display:grid;gap:4px;border-radius:14px;overflow:hidden;max-width:360px}.km-images.n1{grid-template-columns:1fr}.km-images.n2,.km-images.n4{grid-template-columns:1fr 1fr}.km-images.n3,.km-images.nmany{grid-template-columns:1fr 1fr 1fr}.km-images .ant-image{display:block!important}.km-images .ant-image-img{width:100%;height:100%;object-fit:cover;display:block;background:var(--c-fill-3)}.km-images.n1 .ant-image-img{max-height:320px;object-fit:contain}.km-images:not(.n1) .ant-image,.km-images:not(.n1) .ant-image-img{aspect-ratio:1}.km-file{display:flex;align-items:center;gap:10px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:12px;padding:8px 12px;min-width:220px;max-width:320px;color:inherit}.km-file+.km-file{margin-top:4px}.km-file .fname{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.km-file .fsize{font-size:12px;color:var(--c-text-3)}.km-reacts{display:flex;gap:2px;margin-top:-6px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:12px;padding:0 6px;font-size:13px;box-shadow:0 1px 2px #0000000f;cursor:default;z-index:1}.km-status{font-size:11.5px;color:var(--c-text-3);margin-top:2px}.km-status.failed{color:var(--c-red)}.km-readers{display:flex;gap:2px;justify-content:flex-end;margin-top:3px}.km-actions{display:none;align-self:center;gap:2px}.km-msg:hover .km-actions,.km-actions.open{display:flex}.km-actions button{color:var(--c-text-2)}.km-typing{font-size:12.5px;color:var(--c-text-2);padding:2px 18px 6px;height:22px}.km-typing .dots span{display:inline-block;width:5px;height:5px;margin:0 1px;border-radius:50%;background:var(--c-text-3);animation:km-blink 1.2s infinite both}.km-typing .dots span:nth-child(2){animation-delay:.2s}.km-typing .dots span:nth-child(3){animation-delay:.4s}@keyframes km-blink{0%,80%,to{opacity:.25}40%{opacity:1}}.km-new-btn{position:absolute;left:50%;transform:translate(-50%);bottom:130px;z-index:5}.km-composer{flex:none;background:var(--c-bg);border-top:1px solid var(--c-border);padding:8px 12px 10px}.km-composer .bar{display:flex;align-items:flex-end;gap:4px}.km-composer textarea{border-radius:18px!important;padding:7px 14px!important;resize:none}.km-replybar{display:flex;align-items:center;gap:8px;background:var(--c-fill-2);border-left:3px solid var(--c-primary);border-radius:6px;padding:4px 8px;margin-bottom:6px;font-size:13px}.km-replybar .txt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.km-pending{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}.km-pending .it{position:relative;flex:none;width:64px;height:64px;border-radius:8px;border:1px solid var(--c-border);background:var(--c-fill-2);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:11px;text-align:center;padding:2px;word-break:break-all}.km-pending .it img{width:100%;height:100%;object-fit:cover}.km-pending .it .x{position:absolute;top:2px;right:2px}.km-drop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#1f6feb14;border:2px dashed var(--c-primary);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--c-primary);pointer-events:none}.km-emoji-grid{width:min(320px,80vw);max-height:260px;overflow-y:auto}.km-emoji-grid .grp{font-size:12px;color:var(--c-text-3);margin:6px 2px 2px}.km-emoji-grid button{font-size:22px;width:36px;height:36px;border:0;background:none;border-radius:6px;cursor:pointer}.km-emoji-grid button:hover{background:var(--c-fill-2)}.km-sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;width:min(372px,84vw);max-height:300px;overflow-y:auto;overflow-x:hidden}.km-sticker-grid button{border:0;background:none;border-radius:10px;padding:2px;cursor:pointer;display:flex;justify-content:center}.km-sticker-grid button:hover{background:var(--c-primary-bg)}.km-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--c-text-2);gap:8px;padding:24px;text-align:center}.km-flash{animation:km-flash 1.4s ease}@keyframes km-flash{0%,60%{background:#faad1440}to{background:transparent}}.proc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.proc-card .ant-card-body{display:flex;flex-direction:column;gap:10px;height:100%}.proc-card{height:100%}.proc-card-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px}.proc-card-desc{color:var(--c-text-2);flex:1;min-height:44px}.proc-thumbs{display:flex;flex-wrap:wrap;gap:8px}.proc-thumb{position:relative;border:1px solid var(--c-border-strong);border-radius:6px;overflow:hidden;line-height:0}.proc-thumb-del{position:absolute!important;top:2px;right:2px;background:var(--c-bg)!important}.proc-file-row{display:flex;align-items:center;gap:8px;padding:2px 0;min-width:0}.proc-file-row a:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proc-rich-box{border:1px solid var(--c-border-strong);border-radius:6px;background:var(--c-bg)}.proc-rich-box.invalid{border-color:var(--c-red)}.proc-rich-box:focus-within{border-color:var(--c-primary)}.proc-rich-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px 6px;border-bottom:1px solid var(--c-border);background:var(--c-fill)}.proc-rich-input{min-height:160px;max-height:520px;overflow-y:auto;padding:8px 12px;outline:none}.proc-rich-input p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--c-text-4);float:left;height:0;pointer-events:none}.proc-swatch{width:22px;height:22px;border-radius:4px;border:1px solid rgba(0,0,0,.15);cursor:pointer;padding:0}.proc-rich p{margin:0 0 6px}.proc-rich img{max-width:100%;height:auto;border-radius:4px}.proc-rich img.ProseMirror-selectednode{outline:2px solid var(--c-primary)}.proc-rich table{border-collapse:collapse;width:100%;margin:6px 0;table-layout:fixed}.proc-rich th,.proc-rich td{border:1px solid var(--c-border-strong);padding:4px 6px;vertical-align:top}.proc-rich th{background:var(--c-fill-2);font-weight:600}.proc-rich .selectedCell{background:var(--c-primary-bg)}.proc-rich ul,.proc-rich ol{padding-left:22px;margin:0 0 6px}.proc-rich mark{border-radius:2px;padding:0 1px}#trao-doi{scroll-margin-top:80px}.proc-comments{display:flex;flex-direction:column;gap:12px;max-height:560px;overflow-y:auto}.proc-comment{display:flex;gap:10px;align-items:flex-start}.proc-comment-main{min-width:0;flex:1;background:var(--c-fill);border-radius:8px;padding:6px 10px 8px}.proc-comment-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.proc-comment-time{color:var(--c-text-3);font-size:12px}.proc-comment-head .ant-btn{margin-left:auto}.proc-comment-body{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px}.proc-comment-tags{margin-top:4px;font-size:12px;color:var(--c-text-3)}.proc-mention{color:var(--c-primary);background:var(--c-primary-bg);border-radius:3px;padding:0 2px;font-weight:500}.proc-step-card{border-color:var(--c-primary)!important}.proc-doc{--doc-text: #111;--doc-muted: #666;--doc-line: #999;background:#fff;color:var(--doc-text);font-family:Times New Roman,Times,serif;font-size:15px;line-height:1.45;max-width:900px;margin:0 auto;padding:28px 36px 36px;border:1px solid var(--c-border-strong);box-shadow:0 2px 10px #0000000f}.proc-doc a{color:#1d39c4}.proc-doc .muted{color:var(--doc-muted)}.proc-doc-head{width:100%;border-collapse:collapse}.proc-doc-head td{vertical-align:top;text-align:center;font-weight:700;padding:0 6px;width:50%}.proc-doc-head .national .motto{display:inline-block;border-bottom:1px solid var(--doc-text);padding-bottom:2px}.proc-doc-title{text-align:center;font-size:22px;font-weight:700;margin:22px 0 6px;color:var(--doc-text)}.proc-doc-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.proc-doc h2{font-size:16px;font-weight:700;margin:16px 0 6px;color:var(--doc-text);border-bottom:1px solid var(--doc-line);padding-bottom:2px}.proc-doc-row{display:grid;grid-template-columns:250px 14px 1fr;padding:3px 0;border-bottom:1px dotted #ccc}.proc-doc-label{font-weight:700}.proc-doc-value{min-width:0;overflow-wrap:anywhere}.proc-doc-block{padding:4px 0 6px;border-bottom:1px dotted #ccc}.proc-doc-rich{margin-top:4px;padding:6px 8px;border:1px solid #ddd;min-height:40px}.proc-doc .proc-rich th,.proc-doc .proc-rich td,.proc-doc-grid th,.proc-doc-grid td{border:1px solid var(--doc-line);padding:4px 8px}.proc-doc .proc-rich th{background:#f2f2f2}.proc-doc-grid{width:100%;border-collapse:collapse;margin-top:4px}.proc-doc-grid th{background:#f2f2f2;font-weight:700;text-align:center}.proc-doc-grid td{text-align:center;height:28px}.proc-doc-grid td.num{text-align:right}.proc-doc-files{display:flex;flex-direction:column}.proc-doc .proc-thumb{border-color:#ccc}.proc-doc-sign{break-inside:avoid}.proc-sign-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--doc-line);border-left:1px solid var(--doc-line)}.proc-sign{border-right:1px solid var(--doc-line);border-bottom:1px solid var(--doc-line);padding:8px 10px;font-size:14px;min-height:118px}.proc-sign-title{text-align:center;font-weight:700;margin-bottom:4px}.proc-sign-name{text-align:center;font-style:italic;margin-bottom:4px}.proc-sign-line{color:#276221}.proc-sign-status{font-weight:700;margin-top:2px}.proc-sign.done .proc-sign-status{color:#237804}.proc-sign.warn .proc-sign-status{color:#ad6800}.proc-sign.error .proc-sign-status{color:#a8071a}.proc-sign-comment{margin-top:4px;font-style:italic;color:var(--doc-muted);overflow-wrap:anywhere}@media(max-width:720px){.proc-doc{padding:16px 12px 20px;font-size:14px}.proc-doc-head td{display:block;width:100%;margin-bottom:8px}.proc-doc-row{grid-template-columns:1fr}.proc-doc-colon{display:none}.proc-sign-grid{grid-template-columns:1fr}}@media print{@page{size:A4;margin:12mm}body *{visibility:hidden}.proc-print-area,.proc-print-area *{visibility:visible}.proc-print-area{position:absolute;left:0;top:0;width:100%}.no-print{display:none!important}.proc-doc{border:0;box-shadow:none;padding:0;max-width:none;font-size:13px}.proc-doc-row{grid-template-columns:230px 14px 1fr}.proc-doc-head td{display:table-cell;width:50%}.proc-sign-grid{grid-template-columns:repeat(3,1fr)}.proc-doc section,.proc-doc-row,.proc-doc-grid tr,.proc-sign{break-inside:avoid}.app-sider,.app-header{display:none!important}}:root{--c-bg-layout: #f5f5f5;--c-bg: #ffffff;--c-bg-elevated: #ffffff;--c-border: #f0f0f0;--c-border-strong: #d9d9d9;--c-text: rgba(0, 0, 0, .88);--c-text-2: rgba(0, 0, 0, .65);--c-text-3: rgba(0, 0, 0, .45);--c-text-4: rgba(0, 0, 0, .25);--c-fill: rgba(0, 0, 0, .02);--c-fill-2: rgba(0, 0, 0, .04);--c-fill-3: rgba(0, 0, 0, .06);--c-primary: #1f6feb;--c-primary-bg: #e6f2ff;--c-primary-bg-hover: #bad9ff;--c-primary-border: #91c3ff;--c-red: #cf1322;--c-green: #389e0d;--c-gold: #d48806;--c-blue: #1d39c4;--login-default-image: radial-gradient(circle at 20% 20%, #dbe7ff 0, transparent 45%), radial-gradient(circle at 80% 80%, #e4f4ee 0, transparent 40%);--login-default-color: #f3f6fb;--login-card-bg: rgba(255, 255, 255, .96);--login-brand: #1f3a8a;--day-full-bg: #d9f7be;--day-full-border: #73d13d;--day-full-text: #135200;--day-partial-bg: #fff1b8;--day-partial-border: #ffc53d;--day-partial-text: #874d00;--day-missing-bg: #ffccc7;--day-missing-border: #ff7875;--day-missing-text: #a8071a;--day-holiday-bg: #d6e4ff;--day-holiday-border: #85a5ff;--day-holiday-text: #10239e;--day-leave-bg: #e6fffb;--day-leave-border: #5cdbd3;--day-leave-text: #006d75;--day-off-bg: #f5f5f5;--day-off-border: #e8e8e8;--day-off-text: #8c8c8c;--day-today-bg: #e6f4ff;--day-today-border: #69b1ff;--day-today-text: #003eb3;--day-future-bg: #ffffff;--day-future-border: #f0f0f0;--day-future-text: #bfbfbf;--day-noshift-bg: #f9f0ff;--day-noshift-border: #d3adf7;--day-noshift-text: #531dab;--day-none-bg: #fafafa;--day-none-border: #f0f0f0;--day-none-text: #d9d9d9}:root[data-theme=dark]{--c-bg-layout: #000000;--c-bg: #141414;--c-bg-elevated: #1f1f1f;--c-border: #303030;--c-border-strong: #424242;--c-text: rgba(255, 255, 255, .85);--c-text-2: rgba(255, 255, 255, .65);--c-text-3: rgba(255, 255, 255, .45);--c-text-4: rgba(255, 255, 255, .25);--c-fill: rgba(255, 255, 255, .04);--c-fill-2: rgba(255, 255, 255, .08);--c-fill-3: rgba(255, 255, 255, .12);--c-primary-bg: #111a2c;--c-primary-bg-hover: #112545;--c-primary-border: #15325b;--c-red: #ff7875;--c-green: #95de64;--c-gold: #ffc53d;--c-blue: #85a5ff;--login-default-image: radial-gradient(circle at 20% 20%, #13244a 0, transparent 45%), radial-gradient(circle at 80% 80%, #0f2e28 0, transparent 40%);--login-default-color: #0b0f17;--login-card-bg: rgba(20, 20, 20, .94);--login-brand: #8fb4ff;--day-full-bg: #1d3712;--day-full-border: #3c8618;--day-full-text: #95de64;--day-partial-bg: #443111;--day-partial-border: #aa7714;--day-partial-text: #ffd666;--day-missing-bg: #431418;--day-missing-border: #a61d24;--day-missing-text: #ff9c9a;--day-holiday-bg: #1c2755;--day-holiday-border: #2b4acb;--day-holiday-text: #9db4ff;--day-leave-bg: #112123;--day-leave-border: #138585;--day-leave-text: #5cdbd3;--day-off-bg: #1f1f1f;--day-off-border: #303030;--day-off-text: #8c8c8c;--day-today-bg: #111a2c;--day-today-border: #15417e;--day-today-text: #69b1ff;--day-future-bg: #141414;--day-future-border: #262626;--day-future-text: #595959;--day-noshift-bg: #1a1325;--day-noshift-border: #51258f;--day-noshift-text: #c39bf5;--day-none-bg: #111111;--day-none-border: #262626;--day-none-text: #434343}body{margin:0;background:var(--c-bg-layout);color:var(--c-text)}.app-sider{border-right:1px solid var(--c-border);position:sticky!important;top:0;height:100vh;overflow-y:auto;overflow-x:hidden;z-index:20}.app-sider.mobile{position:fixed!important;left:0;z-index:1001;box-shadow:2px 0 12px #0000001f}.app-sider.mobile.ant-layout-sider-collapsed{border-right:0;box-shadow:none}.app-sider-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1000}.app-logo{height:56px;display:flex;align-items:center;padding:0 24px;font-weight:700;font-size:18px;color:var(--c-primary);cursor:pointer;white-space:nowrap;transition:padding .2s}.app-logo.collapsed{justify-content:center;padding:0}.app-sider .ant-menu-inline,.app-sider .ant-menu-vertical{border-inline-end:0!important}.app-header{background:var(--c-bg)!important;padding:0 16px 0 8px!important;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--c-border);position:sticky;top:0;z-index:10;height:56px!important;line-height:56px!important}.app-crumb{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-crumb .group{color:var(--c-text-3);font-weight:400}
