*{box-sizing:border-box}html,body,#root{margin:0;height:100%}:root{--app-bg: #f3f4f6}:root[data-theme=dark]{--app-bg: #141414}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--app-bg);overflow-x:hidden;transition:background .2s ease}img{max-width:100%}.kpi-card{min-width:0;height:100%;border:1px solid #eceef1;border-radius:10px;padding:8px 12px;background:#fff}:root[data-theme=dark] .kpi-card{border-color:#303030;background:#1d1d1d}.kpi-title{font-size:14px;line-height:1.25;color:#5f6876;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root[data-theme=dark] .kpi-title{color:#9aa1ad}.kpi-value{font-size:28px;font-weight:600;line-height:1.08;font-variant-numeric:tabular-nums;margin-top:2px}.kpi-sub{font-size:11px;line-height:1.2;color:#9aa1ad}.status-steps{display:flex;flex-wrap:wrap;gap:6px}.status-step{font-size:12px;line-height:1.4;padding:4px 11px;border-radius:20px;white-space:nowrap;border:1px solid transparent;background:#ecf0f1;color:#7b8a8b;cursor:default;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.status-step--done{background:#e8f5f0;color:#12987c}.status-step--on{background:#10b981;color:#fff;font-weight:600}.status-step--pending{background:#f59e0b;color:#fff;font-weight:600}.status-step--was{border:1px dashed #d48806;background:#fff7e6;color:#ad6800;font-weight:500}.status-step--pay-marching{position:relative;display:inline-block;vertical-align:middle;background-color:#fff7e6;color:#ad6800;font-weight:600}.pay-ants-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.pay-ants-rect{x:0;y:0;width:100%;height:100%;rx:20px;ry:20px;fill:none;stroke:#d48806;stroke-width:2;stroke-dasharray:5 5;animation:pay-ants 1.5s linear infinite}@keyframes pay-ants{to{stroke-dashoffset:-20px}}@media(prefers-reduced-motion:reduce){.pay-ants-rect{animation:none}}:root[data-theme=dark] .status-step--pay-marching{background-color:#3a2f17;color:#e8b866}button.status-step:not(:disabled){cursor:pointer}button.status-step:not(:disabled):hover{box-shadow:0 0 0 2px #10b98159}button.status-step--pending:not(:disabled):hover{box-shadow:0 0 0 2px #f59e0b66}:root[data-theme=dark] .status-step{background:#2a2f3a;color:#9aa1ad}:root[data-theme=dark] .status-step--done{background:#17352c;color:#4dd4ab}:root[data-theme=dark] .status-step--on{background:#10b981;color:#fff}:root[data-theme=dark] .status-step--pending{background:#d48806;color:#fff}:root[data-theme=dark] .status-step--was{background:#3a2f17;color:#e0a640;border-color:#a8710d}.payments-row--target>td.ant-table-cell{background:#fff7e6!important}.payments-row--target>td.ant-table-cell:first-child{box-shadow:inset 3px 0 #d48806}:root[data-theme=dark] .payments-row--target>td.ant-table-cell{background:#3a2f17!important}.source-panel{display:flex;align-items:center;gap:10px;width:100%;padding:6px 10px;background:transparent;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer}.source-panel:hover{border-color:#4096ff;background:#f0f7ff}.source-panel--failed{border-color:#ffa39e;background:#fff1f0;box-shadow:inset 3px 0 #cf1322}.source-panel--failed:hover{border-color:#cf1322;background:#ffe7e5}:root[data-theme=dark] .source-panel{border-color:#303540}:root[data-theme=dark] .source-panel:hover{border-color:#3c6ea5;background:#1c2331}:root[data-theme=dark] .source-panel--failed{border-color:#7a2a26;background:#3a1c1a}:root[data-theme=dark] .source-panel--failed:hover{background:#4a221f}.cal-day{height:22px;padding:0;border:1px solid transparent;border-radius:4px;font-size:11px;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.cal-day:disabled{cursor:default}.cal-day:not(:disabled):hover{box-shadow:0 0 0 2px #8b93a173}.cal-day--work{background:#c7efdf;color:#0a6a55}.cal-day--off{background:#ffd8d4;color:#a8231b}.cal-day--none{background:transparent;color:#c8ccd3}.cal-day--manual{border-color:#d48806}.cal-weekday{text-align:center;color:#8b93a1}:root[data-theme=dark] .cal-day--work{background:#17352c;color:#4dd4ab}:root[data-theme=dark] .cal-day--off{background:#3f1e1b;color:#ff9a92}:root[data-theme=dark] .cal-day--none{color:#4d525c}:root[data-theme=dark] .cal-day--manual{border-color:#a8710d}.ant-card.step-card>.ant-card-head{padding:8px 12px}.ant-card.step-card>.ant-card-head .ant-card-head-wrapper{gap:12px}:root{--code-font: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", "Courier New", monospace}.code-badge{display:inline-flex;align-items:center;max-width:100%;margin:0;padding:0 6px;border:1px solid #e0e3e8;border-radius:6px;background:#f7f8fa;color:#1f2430;font-family:var(--code-font);font-size:12px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.code-badge:hover{border-color:#10b981;background:#eaf6f0;color:#0ea271}.code-badge:active{background:#d3ece1}.code-badge:focus-visible{outline:2px solid rgba(16,185,129,.45);outline-offset:1px}.code-badge--small{padding:0 5px;font-size:11px;line-height:18px}.code-badge--large{padding:0 10px;border-radius:8px;font-size:18px;line-height:30px;font-weight:600}.code-badge--wrap{white-space:normal;word-break:break-all;text-align:left}.code-badge--danger{border-color:#f5bcbc;background:#fff1f0;color:#cf1322}.code-badge--danger:hover{border-color:#cf1322;background:#ffe3e0;color:#a8231b}.code-badge--danger:active{background:#ffd3cf}:root[data-theme=dark] .code-badge{border-color:#3a3f4a;background:#24272e;color:#d7dbe2}:root[data-theme=dark] .code-badge:hover{border-color:#10b981;background:#17352c;color:#4dd4ab}:root[data-theme=dark] .code-badge:active{background:#123f33}:root[data-theme=dark] .code-badge--danger{border-color:#6b2b28;background:#3a1c1a;color:#ff9a92}:root[data-theme=dark] .code-badge--danger:hover{border-color:#cf1322;background:#4a201d;color:#ffb3ad}.code-badge-toast{position:fixed;z-index:2000;padding:2px 8px;border:1px solid #10b981;border-radius:6px;background:#fff;color:#0ea271;font-size:12px;line-height:18px;font-weight:500;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px #10b9812e;animation:code-badge-fly 2.2s ease-out forwards}@keyframes code-badge-fly{0%{opacity:0;transform:translate(-50%,-100%) scale(.9)}10%{opacity:1;transform:translate(-50%,-140%) scale(1)}65%{opacity:1;transform:translate(-50%,-175%) scale(1)}to{opacity:0;transform:translate(-50%,-240%) scale(1)}}:root[data-theme=dark] .code-badge-toast{background:#1d1d1d;border-color:#10b981;color:#4dd4ab;box-shadow:0 2px 8px #00000073}@media(prefers-reduced-motion:reduce){.code-badge-toast{animation:code-badge-fade 2.2s ease-out forwards}@keyframes code-badge-fade{0%{opacity:0;transform:translate(-50%,-140%)}10%{opacity:1;transform:translate(-50%,-140%)}65%{opacity:1;transform:translate(-50%,-140%)}to{opacity:0;transform:translate(-50%,-140%)}}}.ant-segmented.check-answer .ant-segmented-item-selected,.ant-segmented.check-answer .ant-segmented-item-selected .ant-segmented-item-label,.ant-segmented.check-answer .ant-segmented-thumb{color:#fff}.ant-segmented.check-answer--unset .ant-segmented-item-selected,.ant-segmented.check-answer--unset .ant-segmented-thumb{background-color:#8c8c8c}.ant-segmented.check-answer--ok .ant-segmented-item-selected,.ant-segmented.check-answer--ok .ant-segmented-thumb{background-color:#389e0d}.ant-segmented.check-answer--defect .ant-segmented-item-selected,.ant-segmented.check-answer--defect .ant-segmented-thumb{background-color:#cf1322}.ant-segmented.check-answer.ant-segmented-disabled .ant-segmented-item-selected{opacity:.75}:root[data-theme=dark] .ant-segmented.check-answer--unset .ant-segmented-item-selected,:root[data-theme=dark] .ant-segmented.check-answer--unset .ant-segmented-thumb{background-color:#595959}:root[data-theme=dark] .ant-segmented.check-answer--ok .ant-segmented-item-selected,:root[data-theme=dark] .ant-segmented.check-answer--ok .ant-segmented-thumb{background-color:#49aa19}:root[data-theme=dark] .ant-segmented.check-answer--defect .ant-segmented-item-selected,:root[data-theme=dark] .ant-segmented.check-answer--defect .ant-segmented-thumb{background-color:#d32029}
