.abs-drawer{width:min(980px,94vw);max-height:92dvh;padding:0;border:1px solid var(--line);border-radius:var(--r-lg, 14px);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-pop);overflow:hidden}.abs-drawer::backdrop{background:#00000073}.abs-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line-soft)}.abs-drawer__head h2{margin:2px 0 0;font-size:20px}.abs-close{border:0;background:transparent;color:var(--ink-mute);font-size:22px;line-height:1;cursor:pointer;padding:2px 8px;border-radius:8px}.abs-close:hover{background:var(--surface-2);color:var(--ink)}.abs-steps{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:12px 18px;list-style:none;border-bottom:1px solid var(--line-soft);background:var(--surface-2)}.abs-steps li{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--ink-mute);padding:4px 10px 4px 4px;border-radius:999px}.abs-steps li span{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--line);font-family:var(--mono);font-size:10.5px}.abs-steps li.is-current{background:var(--acc-bg);color:var(--acc-deep, var(--acc))}.abs-steps li.is-current span{background:var(--acc);border-color:var(--acc);color:#fff}.abs-steps li.is-done span{background:var(--green);border-color:var(--green);color:#fff}[data-theme=dark] .abs-steps li.is-current{color:var(--acc)}.abs-body{padding:18px;overflow-y:auto;max-height:calc(92dvh - 210px)}.abs-pane.hidden{display:none}.abs-pane p{margin:0 0 12px;font-size:13px;line-height:1.6;color:var(--ink-2)}.abs-natures{margin-bottom:14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:12px;color:var(--ink-2)}.abs-natures span{font-weight:800;color:var(--ink)}.abs-file{display:block;padding:22px;text-align:center;cursor:pointer;border:2px dashed color-mix(in oklab,var(--acc) 40%,var(--line));border-radius:12px;background:color-mix(in oklab,var(--acc) 4%,var(--surface));margin-bottom:12px}.abs-file span{display:block;margin-top:8px;font-size:12.5px;color:var(--ink-2)}.abs-opt{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--ink-2);margin-top:10px}.abs-opt[hidden]{display:none}.abs-opt input[type=checkbox]{margin-top:2px;flex:none}.abs-checking{color:var(--ink-mute);text-align:center;padding:30px 0}.abs-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.abs-pill{padding:4px 11px;border-radius:999px;font-size:11.5px;font-weight:800;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.abs-pill--ok{background:var(--green-bg);color:var(--green);border-color:color-mix(in oklab,var(--green) 26%,transparent)}.abs-pill--ko{background:var(--red-bg);color:var(--red);border-color:color-mix(in oklab,var(--red) 26%,transparent)}.abs-h3{margin:16px 0 8px;font-size:13px;font-weight:900;color:var(--ink)}.abs-h3--ko{color:var(--red)}.abs-scroll{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:10px}.abs-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.abs-table th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--ink-mute);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:9px 11px;border-bottom:1px solid var(--line);white-space:nowrap}.abs-table td{padding:8px 11px;border-bottom:1px solid var(--line-soft);color:var(--ink-2)}.abs-table tr:last-child td{border-bottom:0}.abs-table .num{text-align:right;font-family:var(--mono)}.abs-err{color:var(--red);font-weight:700}.abs-empty{color:var(--ink-mute);font-size:12.5px}.abs-pill--warn{background:color-mix(in oklab,var(--acc) 14%,transparent);color:var(--acc);border-color:color-mix(in oklab,var(--acc) 30%,transparent)}.abs-legend{margin:10px 0 2px;font-size:12px;color:var(--ink-mute)}.abs-trace{flex-basis:100%;margin:6px 0 0;font-size:11.5px;color:var(--ink-mute);font-variant-numeric:tabular-nums}.abs-read{color:var(--ink-mute);text-decoration:line-through 1px}.abs-arrow{color:var(--acc);font-weight:900;padding:0 2px}.abs-note{margin-top:3px;font-size:11.5px;font-weight:600;color:var(--acc)}.abs-ok{color:var(--ink-mute);font-size:11.5px}.abs-report-dl{margin-top:12px}.abs-template-row{display:flex;flex-wrap:wrap;gap:8px}.abs-error{margin-bottom:12px}.abs-alert{padding:12px 14px;border:1px solid var(--line);border-left-width:3px;border-radius:8px;background:var(--surface)}.abs-alert--network,.abs-alert--session{border-left-color:var(--acc)}.abs-alert--file,.abs-alert--business,.abs-alert--permission,.abs-alert--server{border-left-color:var(--red)}.abs-alert__title{display:block;font-size:13.5px;font-weight:900;color:var(--ink)}.abs-alert__msg{margin:5px 0 0;font-size:12.5px;color:var(--ink);line-height:1.5}.abs-alert__list{margin:6px 0 0 18px;font-size:12.5px;font-weight:700;color:var(--ink)}.abs-alert__ref{margin:8px 0 0;font-size:11.5px;color:var(--ink-mute)}.abs-alert__ref code{font-family:ui-monospace,monospace;font-weight:700;color:var(--ink);background:color-mix(in oklab,var(--ink) 7%,transparent);padding:1px 5px;border-radius:4px}.abs-alert__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.abs-badge{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:2px 7px;border-radius:999px;border:1px solid var(--line);font-size:11px;font-weight:800}.abs-badge--valid{color:var(--green);border-color:color-mix(in oklab,var(--green) 30%,transparent)}.abs-badge--warning{color:var(--acc);border-color:color-mix(in oklab,var(--acc) 34%,transparent)}.abs-badge--error{color:var(--red);border-color:color-mix(in oklab,var(--red) 30%,transparent)}.abs-badge--duplicate{color:var(--ink-mute)}.abs-anomaly{font-size:11.5px;line-height:1.45;color:var(--ink)}.abs-anomaly+.abs-anomaly{margin-top:4px}.abs-anomaly strong{color:var(--red)}.abs-fileinfo{margin:8px 0 0;font-size:12.5px;color:var(--ink)}.abs-ok-mark{color:var(--green);font-weight:900}.abs-opt small{display:block;margin-top:2px;font-size:11.5px;font-weight:600;color:var(--ink-mute);line-height:1.45}.abs-done{display:grid;gap:4px;margin-bottom:14px;padding:14px 16px;border:1px solid color-mix(in oklab,var(--green) 30%,var(--line));border-radius:12px;background:var(--green-bg)}.abs-done strong{font-size:15px;color:var(--ink)}.abs-done span{font-size:12.5px;color:var(--ink-2)}.abs-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--line-soft);background:var(--surface-2)}.abs-status{font-size:12px;color:var(--ink-mute);flex:1;min-width:0}.abs-actions{display:flex;gap:8px;flex-shrink:0}@media(max-width:720px){.abs-steps li{font-size:10.5px;padding-right:7px}.abs-foot{flex-direction:column;align-items:stretch}}.variables-page{padding:22px 26px 36px}.variables-page .variables-card{overflow:hidden;min-height:calc(100vh - 142px);transition:box-shadow .22s ease,border-color .22s ease}.variables-page .variables-card:hover{box-shadow:var(--shadow-pop);border-color:color-mix(in oklab,var(--acc) 22%,var(--line))}.variables-card .variables-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 22px 18px 26px;border-bottom:1px solid var(--line-soft);background:linear-gradient(135deg,var(--surface) 52%,var(--acc-bg) 100%);position:relative}.variables-card .variables-head:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--acc),var(--acc-deep));border-radius:0 2px 2px 0}.variables-card .variables-head-title{font-size:22px;margin-top:3px}.variables-card .variables-note{max-width:320px;margin:0;padding-left:16px;border-left:1px solid var(--line);color:var(--ink-mute);font-size:12px;line-height:1.5}.variables-card .variables-kpis{display:flex;flex-wrap:wrap;gap:8px;padding:12px 22px;border-bottom:1px solid var(--line-soft);background:var(--surface-2)}.variables-kpis-loading{color:var(--ink-mute);font-size:12px}@keyframes vp-kpi-pop{0%{opacity:0;transform:scale(.9) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.variables-card .variables-kpis .metric{min-height:38px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:0 14px;font-size:12px;color:var(--ink-2);box-shadow:0 1px 3px color-mix(in oklab,var(--ink) 4%,transparent);animation:vp-kpi-pop .36s cubic-bezier(.34,1.56,.64,1) both;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;cursor:default}.variables-card .variables-kpis .metric:nth-child(1){animation-delay:0ms}.variables-card .variables-kpis .metric:nth-child(2){animation-delay:60ms}.variables-card .variables-kpis .metric:nth-child(3){animation-delay:.12s}.variables-card .variables-kpis .metric:nth-child(4){animation-delay:.18s}.variables-card .variables-kpis .metric:hover{transform:translateY(-2px);border-color:color-mix(in oklab,var(--acc) 40%,var(--line));box-shadow:0 5px 14px color-mix(in oklab,var(--acc) 20%,transparent)}.variables-card .variables-kpis .metric strong{color:var(--acc-deep);font-family:var(--mono);font-size:14px;font-weight:800}.variables-card .variables-scroll{overflow-x:auto}.variables-table{width:100%;min-width:1278px;border-collapse:separate;border-spacing:0;table-layout:fixed}.variables-table thead th{padding:11px 10px;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;line-height:1.25;color:var(--ink-mute);background:var(--surface-2);border-bottom:2px solid color-mix(in oklab,var(--acc) 22%,var(--line));text-align:center;vertical-align:middle;position:sticky;top:0;z-index:3}.variables-table thead th.col-emp{text-align:left;z-index:4}.variables-table thead th.col-act{text-align:left}.variables-table thead th.col-net{text-align:right;padding-right:14px}.variables-table tbody td{padding:7px 10px;border-bottom:1px solid var(--line-soft);font-size:11.5px;vertical-align:middle;background:var(--surface);transition:background-color .13s ease}.variables-table tbody td.col-net{text-align:right;padding-right:14px}.variables-table .col-emp,.variables-table .cell-emp{position:sticky;left:0;border-right:1px solid var(--line)}.variables-table tbody td.cell-emp{z-index:2}@keyframes vp-row-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}#variables-body tr.is-row-anim{animation:vp-row-in .26s ease both;animation-delay:var(--vp-delay, 0ms)}#variables-body tr.is-paged-out{display:none}.variables-table tbody tr:hover td,.variables-table tbody tr.is-selected td{background:var(--acc-bg)}.variables-table tbody tr.is-dirty td{background:color-mix(in oklab,var(--acc) 7%,var(--surface))}.variables-table tbody tr.is-dirty .cell-emp{box-shadow:inset 3px 0 0 var(--acc)}.variables-table tbody tr.is-dirty:hover td{background:var(--acc-bg)}@keyframes vp-saved-flash{0%{background:color-mix(in oklab,var(--green) 32%,var(--surface))}to{background:var(--surface)}}.variables-table tbody tr.just-saved td{animation:vp-saved-flash 1.1s ease}.variable-employee{display:flex;align-items:center;gap:9px;min-width:0}.variable-employee-meta{min-width:0}.variable-employee strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.variable-employee .variable-sub{display:block;margin-top:1px;color:var(--ink-mute);font-family:var(--mono);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.variable-input{width:100%;min-height:36px;border:1.5px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink);padding:0 8px;text-align:center;font:700 12px var(--mono);font-variant-numeric:tabular-nums;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease,color .14s ease}.variable-input::-webkit-outer-spin-button,.variable-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.variable-input{-moz-appearance:textfield;appearance:textfield}.variable-input:hover:not(:focus):not(:disabled){border-color:color-mix(in oklab,var(--acc) 50%,var(--line));background:var(--surface)}.variable-input:focus{border-color:var(--acc);outline:none;background:var(--surface);box-shadow:0 0 0 3px color-mix(in oklab,var(--acc) 18%,transparent)}.variable-input.is-filled{border-color:color-mix(in oklab,var(--acc) 42%,var(--line));background:color-mix(in oklab,var(--acc) 8%,var(--surface));color:var(--acc-deep)}.variable-input.is-filled:focus{background:var(--surface)}.variable-input:disabled{opacity:.5;cursor:not-allowed}.variable-net{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:800;color:var(--ink)}.variable-net.is-negative{color:var(--red)}.variable-actions{display:flex;gap:7px;align-items:center}.variable-actions .variable-btn{flex:1}.variable-btn{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;padding:0 10px;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer;text-decoration:none;position:relative;overflow:hidden;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease,color .14s ease}.variable-btn:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.28) 50%,transparent 100%);transform:translate(-120%);transition:transform .45s ease;pointer-events:none}.variable-btn:not(:disabled):hover:after{transform:translate(120%)}.variable-save{border:1.5px solid var(--acc);background:var(--acc);color:#0a0e11;box-shadow:0 2px 8px color-mix(in oklab,var(--acc) 26%,transparent),inset 0 1px #fff3}.variable-save:not(:disabled):hover{transform:translateY(-2px);background:var(--acc-deep);border-color:var(--acc-deep);box-shadow:0 6px 18px color-mix(in oklab,var(--acc) 38%,transparent),inset 0 1px #fff3}.variable-save:not(:disabled):active{transform:translateY(.5px);box-shadow:0 1px 4px color-mix(in oklab,var(--acc) 24%,transparent)}.variable-save:disabled{cursor:not-allowed;opacity:.42;box-shadow:none}.variable-open{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-2)}.variable-open:hover{transform:translateY(-2px);border-color:var(--acc);background:var(--acc);color:#0a0e11;box-shadow:0 5px 18px color-mix(in oklab,var(--acc) 36%,transparent)}.variable-open:active{transform:translateY(.5px)}[data-theme=dark] .variable-save{color:#fff;border-color:color-mix(in oklab,var(--acc) 70%,transparent);box-shadow:0 2px 10px color-mix(in oklab,var(--acc) 34%,transparent),inset 0 1px #ffffff1a}[data-theme=dark] .variable-save:not(:disabled):hover{color:#fff;box-shadow:0 6px 20px color-mix(in oklab,var(--acc) 44%,transparent),inset 0 1px #ffffff1a}[data-theme=dark] .variable-open{background:var(--surface-3);color:var(--ink-2)}[data-theme=dark] .variable-open:hover{color:#fff;background:var(--acc-deep);border-color:var(--acc-deep)}.variables-card .variables-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 22px;border-top:1px solid var(--line-soft);background:var(--surface-2)}.variables-card .variables-pager:empty{display:none}.variables-pager-info{font-size:11.5px;font-weight:600;color:var(--ink-mute)}.variables-pager-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.variables-pager-pages{display:flex;gap:6px;flex-wrap:wrap}.variables-pager-num{min-width:38px;padding:0 9px;font-size:11.5px}.variables-table .empty-row{padding:44px 22px;color:var(--ink-mute);text-align:center;font-size:13px}@keyframes vp-toast-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.variables-page .variables-status{position:fixed;right:24px;bottom:18px;max-width:min(460px,calc(100vw - 32px));margin:0;padding:12px 16px;border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:10px;background:var(--surface);color:var(--ink-2);box-shadow:var(--shadow-pop);font-size:12.5px;z-index:50}.variables-page .variables-status:not(:empty){animation:vp-toast-up .3s cubic-bezier(.34,1.56,.64,1) both}.variables-page .variables-status:empty{display:none}@media(max-width:1000px){.variables-page{padding:14px}.variables-card .variables-head{padding:16px}.variables-card .variables-note{max-width:none;padding-left:0;border-left:none}.variables-card .variables-kpis,.variables-card .variables-pager{padding:12px 16px}}@media(max-width:560px){.variables-card .variables-kpis .metric{flex:1 1 calc(50% - 4px);justify-content:center}}@media(prefers-reduced-motion:reduce){.variables-page *,#variables-body tr.is-row-anim,.variables-card .variables-kpis .metric{animation:none!important;transition:none!important}}
