@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2) format("woff2-variations");unicode-range:U+0460-052F,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-CMZtQduZ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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-CGAr0uHJ.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CaVNZxsx.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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-CFHvXkgd.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-C2S99t-D.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand: #1886F5;--action: #0C5EB8;--action-hover: #0A4F9C;--bg: #F6F8FC;--panel: #FFFFFF;--text: #172033;--text-2: #475569;--line: #DDE5EF;--sel: #EAF4FF;--control-line: #6F7C93;--ok-bg: #E3F5EA;--ok-fg: #14633A;--warn-bg: #FFF3D1;--warn-fg: #7A4300;--bad-bg: #FDE8EA;--bad-fg: #A3151E;--info-bg: #E4F1FF;--info-fg: #0A4F9C;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--r-sm: 8px;--r-md: 12px;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--shadow-float: 0 8px 28px rgba(23, 32, 51, .16), 0 1px 3px rgba(23, 32, 51, .08);--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);font-family:Inter Variable,system-ui,sans-serif;font-feature-settings:"cv11","ss03";color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-size:14px;line-height:20px;background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p{margin:0}a{color:var(--action);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.num,td.num,.tab-nums{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--text-2)}.xs{font-size:12px;line-height:16px}.strong{font-weight:600}.mono{font-variant-numeric:tabular-nums;letter-spacing:.01em}.right{text-align:right}.row{display:flex;align-items:center;gap:var(--s2)}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:var(--s4)}.stack.tight{gap:var(--s2)}.grow{flex:1;min-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break{overflow-wrap:anywhere}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100%}.sidebar{position:sticky;top:0;height:100vh;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:var(--s4) 0 0;z-index:30}.brand{display:flex;align-items:center;gap:var(--s2);padding:0 var(--s4) var(--s4);border-bottom:1px solid var(--line);margin-bottom:var(--s3)}.brand img{width:36px;height:36px;border-radius:var(--r-sm);flex:none}.brand b{display:block;font-size:14px;line-height:18px;font-weight:650}.brand span{display:block;font-size:12px;line-height:16px;color:var(--text-2)}.nav{flex:1;overflow:auto;padding:0 var(--s2)}.nav h6{margin:var(--s4) var(--s2) var(--s1);font-size:12px;line-height:16px;font-weight:600;color:var(--text-2)}.nav a{display:flex;align-items:center;gap:var(--s2);padding:8px var(--s3);border-radius:var(--r-sm);color:var(--text);font-weight:450;min-height:38px;transition:background-color .12s var(--ease-out)}.nav a svg{width:18px;height:18px;color:var(--text-2);flex:none}.nav a[aria-current=page]{background:var(--sel);color:var(--action);font-weight:600}.nav a[aria-current=page] svg{color:var(--action)}@media(hover:hover)and (pointer:fine){.nav a:hover:not([aria-current=page]){background:var(--bg)}}.who{border-top:1px solid var(--line);padding:var(--s3) var(--s4);display:flex;align-items:center;gap:var(--s2);position:relative}.avatar{width:32px;height:32px;border-radius:50%;background:var(--sel);color:var(--action);font-weight:650;font-size:12px;display:grid;place-items:center;flex:none}.who button.menu-btn{background:none;border:0;padding:0;text-align:left;flex:1;min-width:0;cursor:pointer;border-radius:var(--r-sm)}.who b{display:block;font-size:14px;line-height:18px;font-weight:600}.who span{display:block;font-size:12px;line-height:16px;color:var(--text-2)}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;background:var(--panel);border-bottom:1px solid var(--line);height:58px;display:flex;align-items:center;gap:var(--s3);padding:0 var(--s6)}.crumbs{color:var(--text-2);display:flex;gap:var(--s2);min-width:0}.crumbs b{color:var(--text);font-weight:600}.topbar .spacer{flex:1}.page{padding:var(--s5) var(--s6) var(--s6);max-width:1480px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:var(--s5)}.btn.menu-toggle,.scrim{display:none}@media(max-width:1023px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:264px;transform:translate(-100%);transition:transform .24s var(--ease-drawer);box-shadow:none}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-float)}.scrim.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#17203366;z-index:25;animation:fade-in .2s var(--ease-out)}.btn.menu-toggle{display:inline-flex}.topbar{padding:0 var(--s4)}.page{padding:var(--s4) var(--s4) var(--s6)}}@media(max-width:640px){.topbar .crumbs .hide-sm,.topbar .demo-chip{display:none}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}.page-head h1{font-size:26px;line-height:32px;font-weight:650;letter-spacing:-.015em}.page-head p{color:var(--text-2);margin-top:var(--s1)}.page-head .actions{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center}@media(max-width:767px){.page-head h1{font-size:22px;line-height:28px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:40px;padding:0 var(--s4);border-radius:var(--r-sm);border:1px solid var(--control-line);background:var(--panel);color:var(--text);font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .12s var(--ease-out),border-color .12s var(--ease-out),transform .16s var(--ease-out),opacity .16s var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn:active:not(:disabled){transform:scale(.97)}.btn svg{width:16px;height:16px;flex:none}.btn.primary{background:var(--action);border-color:var(--action);color:#fff}.btn.danger{background:#fff;border-color:var(--bad-fg);color:var(--bad-fg)}.btn.ghost{border-color:transparent;background:transparent;color:var(--action)}.btn.lg{min-height:48px;font-size:16px;padding:0 var(--s5)}.btn.sm{min-height:32px;padding:0 var(--s3);font-size:13px}.btn.block{width:100%}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}@media(hover:hover)and (pointer:fine){.btn:hover:not(:disabled){background:var(--bg)}.btn.primary:hover:not(:disabled){background:var(--action-hover)}.btn.danger:hover:not(:disabled){background:var(--bad-bg)}.btn.ghost:hover:not(:disabled){background:var(--sel)}}.btn .spin{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}.icon-btn{width:40px;padding:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);min-width:0}.panel-head{padding:var(--s4) var(--s5);display:flex;gap:var(--s3);align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.panel-head h2{font-size:18px;line-height:24px;font-weight:600}.panel-head p{color:var(--text-2);margin-top:2px}.panel-body{padding:var(--s5)}.panel-body.flush{padding:0}.panel>.panel-head+.tabs,.panel>.panel-head+.table-wrap{border-top:1px solid var(--line)}.grid{display:grid;gap:var(--s4)}.grid.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.split{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}.grid.split-wide{grid-template-columns:minmax(0,1fr) 360px}@media(max-width:1199px){.grid.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.split,.grid.split-wide{grid-template-columns:minmax(0,1fr)}}@media(max-width:767px){.grid.kpis.three{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.two{grid-template-columns:minmax(0,1fr)}}@media(max-width:479px){.grid.kpis,.grid.kpis.three{grid-template-columns:minmax(0,1fr)}}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s1);position:relative;color:var(--text);min-width:0;transition:border-color .14s var(--ease-out),transform .16s var(--ease-out)}a.kpi{cursor:pointer}@media(hover:hover)and (pointer:fine){a.kpi:hover{border-color:var(--brand)}}.kpi .label{font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:var(--s2)}.kpi .label svg{width:16px;height:16px;color:var(--action);flex:none}.kpi .value{font-size:26px;line-height:32px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.kpi .value small{font-size:14px;font-weight:450;color:var(--text-2)}.kpi .caption{color:var(--text-2);font-size:14px}.kpi .state{font-size:12px;line-height:16px;font-weight:600;margin-top:2px}.kpi .meta{font-size:12px;line-height:16px;color:var(--text-2)}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rise>*{animation:rise .26s var(--ease-out) both}.rise>*:nth-child(2){animation-delay:40ms}.rise>*:nth-child(3){animation-delay:80ms}.rise>*:nth-child(4){animation-delay:.11s}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12px;line-height:16px;font-weight:600;white-space:nowrap;background:var(--info-bg);color:var(--info-fg)}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.chip.ok{background:var(--ok-bg);color:var(--ok-fg)}.chip.warn{background:var(--warn-bg);color:var(--warn-fg)}.chip.bad{background:var(--bad-bg);color:var(--bad-fg)}.chip.neutral{background:#eef2f7;color:var(--text-2)}.chip.demo{background:var(--info-bg);color:var(--info-fg)}.chip.demo:before{display:none}.chip.plain:before{display:none}.table-wrap{overflow:auto;max-height:var(--table-max, none)}table{width:100%;border-collapse:collapse}th{position:sticky;top:0;background:#f9fbfe;z-index:1;font-size:13px;line-height:18px;font-weight:600;color:var(--text-2);text-align:left;padding:11px var(--s4);border-bottom:1px solid var(--line);white-space:nowrap}td{padding:0 var(--s4);height:46px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:last-child td{border-bottom:0}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}tr.clickable{cursor:pointer}@media(hover:hover)and (pointer:fine){tr.clickable:hover td{background:#f3f8ff}tr[aria-selected=true]:hover td{background:var(--sel)}}td.ref,.ref{font-weight:650;color:#0b3c75;font-variant-numeric:tabular-nums;letter-spacing:.01em}td a.ref:hover,a.ref:hover{text-decoration:underline}td.wrap{white-space:normal;padding-top:8px;padding-bottom:8px;height:auto;min-height:46px}.cards-m{display:none}@media(max-width:767px){table.stack-m thead{display:none}table.stack-m,table.stack-m tbody,table.stack-m tr,table.stack-m td{display:block;width:100%}table.stack-m tr{padding:var(--s3) var(--s4);border-bottom:1px solid var(--line)}table.stack-m tbody tr:last-child{border-bottom:0}table.stack-m td{border:0;height:auto;padding:2px 0;display:flex;justify-content:space-between;gap:var(--s3);text-align:right}table.stack-m td:before{content:attr(data-label);color:var(--text-2);font-size:12px;line-height:20px;text-align:left;flex:none}table.stack-m td.ref{justify-content:flex-start}table.stack-m td.ref:before{content:none}}.tabs{position:relative;display:flex;gap:var(--s5);padding:0 var(--s5);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.tabs button{position:relative;background:none;border:0;padding:12px 0;font-size:13px;line-height:18px;font-weight:600;color:var(--text-2);cursor:pointer;white-space:nowrap;min-height:42px}.tabs button[aria-selected=true]{color:var(--action)}@media(hover:hover)and (pointer:fine){.tabs button:hover{color:var(--text)}.tabs button[aria-selected=true]:hover{color:var(--action)}}.tabs .ink{position:absolute;left:0;bottom:-1px;height:2px;background:var(--action);width:var(--w, 0);transform:translate(var(--x, 0));transition:transform .22s var(--ease-in-out),width .22s var(--ease-in-out)}.tabs .count{margin-left:6px;font-weight:600;font-size:12px;background:#eef2f7;padding:0 6px;border-radius:999px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.field>.lbl{font-weight:600;font-size:13px;line-height:18px}.field .hint{color:var(--text-2);font-size:12px;line-height:16px}.field .err{color:var(--bad-fg);font-size:13px;line-height:18px;font-weight:500;display:flex;gap:6px;align-items:flex-start}.input,select.input,textarea.input{width:100%;min-height:40px;padding:8px var(--s3);border:1px solid var(--control-line);border-radius:var(--r-sm);background:var(--panel);transition:border-color .12s var(--ease-out),box-shadow .12s var(--ease-out)}textarea.input{min-height:80px;resize:vertical}.input::placeholder{color:#64748b}.input:focus-visible{outline:0;border-color:var(--action);box-shadow:0 0 0 3px #1886f547}.input[aria-invalid=true]{border-color:var(--bad-fg);box-shadow:0 0 0 1px var(--bad-fg) inset}.input:disabled{background:var(--bg);color:var(--text-2)}.input-unit{position:relative}.input-unit .input{padding-right:52px;text-align:right;font-variant-numeric:tabular-nums}.input-unit .unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-2);font-size:13px;pointer-events:none}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .full{grid-column:1 / -1}@media(max-width:767px){.form-grid,.form-grid.three{grid-template-columns:minmax(0,1fr)}.input,select.input{min-height:48px;font-size:16px}textarea.input{font-size:16px}}.check{display:flex;gap:var(--s2);align-items:center;min-height:32px;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--action)}.seg{display:inline-flex;border:1px solid var(--control-line);border-radius:var(--r-sm);overflow:hidden}.seg button{border:0;background:var(--panel);padding:0 var(--s4);min-height:40px;font-weight:600;cursor:pointer;transition:background-color .12s var(--ease-out)}.seg button+button{border-left:1px solid var(--control-line)}.seg button[aria-pressed=true]{background:var(--action);color:#fff}.filters{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center}.filters .input{width:auto;min-width:140px}.filters .search{position:relative}.filters .search svg{position:absolute;left:10px;top:12px;width:16px;height:16px;color:var(--text-2)}.filters .search input{padding-left:34px;min-width:220px}.notice{padding:var(--s3) var(--s4);border-radius:var(--r-sm);border:1px solid;display:flex;gap:var(--s3);align-items:flex-start}.notice svg{width:18px;height:18px;flex:none;margin-top:1px}.notice.info{background:var(--info-bg);border-color:#bbd9fa;color:var(--info-fg)}.notice.warn{background:var(--warn-bg);border-color:#f0d58b;color:var(--warn-fg)}.notice.bad{background:var(--bad-bg);border-color:#f2b6bb;color:var(--bad-fg)}.notice.ok{background:var(--ok-bg);border-color:#a9ddbb;color:var(--ok-fg)}.notice b{font-weight:650}.notice .actions{margin-top:var(--s2);display:flex;gap:var(--s2);flex-wrap:wrap}.empty{text-align:center;padding:var(--s6) var(--s4);color:var(--text-2);display:flex;flex-direction:column;align-items:center;gap:var(--s2)}.empty svg{width:28px;height:28px;color:var(--control-line)}.empty b{color:var(--text);font-weight:600}.skel{background:linear-gradient(90deg,#eef2f7 25%,#f6f8fc 37%,#eef2f7 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:6px;min-height:16px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.kv{display:grid;grid-template-columns:minmax(110px,160px) minmax(0,1fr);gap:6px var(--s4)}.kv dt{color:var(--text-2)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.divider{height:1px;background:var(--line);border:0;margin:0}.list{list-style:none;margin:0;padding:0}.list>li{padding:var(--s3) var(--s5);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:var(--s3)}.list>li:last-child{border-bottom:0}.list .t{font-weight:600}.list .s{color:var(--text-2)}dialog.dlg{border:0;padding:0;border-radius:var(--r-md);box-shadow:var(--shadow-float);width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);color:var(--text);background:var(--panel);overflow:auto;opacity:1;transform:none;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out),overlay .2s allow-discrete,display .2s allow-discrete}@starting-style{dialog.dlg[open]{opacity:0;transform:scale(.96) translateY(6px)}}dialog.dlg:not([open]){opacity:0;transform:scale(.97)}dialog.dlg::backdrop{background:#17203373;transition:opacity .2s var(--ease-out)}@starting-style{dialog.dlg[open]::backdrop{opacity:0}}dialog.dlg.closing{transition-duration:.12s}.dlg-head{padding:var(--s5) var(--s5) var(--s2)}.dlg-head h2{font-size:18px;line-height:24px;font-weight:600}.dlg-body{padding:var(--s2) var(--s5) var(--s4);display:flex;flex-direction:column;gap:var(--s4)}.dlg-foot{padding:var(--s3) var(--s5) var(--s5);display:flex;gap:var(--s2);justify-content:flex-end;flex-wrap:wrap}@media(max-width:767px){dialog.dlg{width:calc(100vw - 16px)}.dlg-foot .btn{flex:1}}.bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--s3);align-items:end;height:190px;padding:var(--s4) var(--s5) 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0 46px,#EEF2F7 46px 47px)}.bars .day{display:flex;justify-content:center;gap:4px;align-items:flex-end;height:100%}.bars .bar{width:22px;max-width:45%;border-radius:4px 4px 0 0;background:#cfe3f9;transform-origin:bottom;animation:grow .42s var(--ease-out) both}.bars .bar.real{background:var(--brand)}@keyframes grow{0%{transform:scaleY(.04)}to{transform:none}}.bar-labels{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--s3);padding:var(--s2) var(--s5) var(--s4);text-align:center;color:var(--text-2);font-size:12px}.legend{display:flex;gap:var(--s4);color:var(--text-2);font-size:12px;align-items:center}.legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;background:#cfe3f9}.legend i.real{background:var(--brand)}.geneo{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);gap:var(--s5);padding:var(--s5);overflow-x:auto;align-items:center}.geneo .col{display:flex;flex-direction:column;gap:var(--s2);justify-content:center;position:relative}.node{display:block;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px var(--s3);background:var(--panel);color:var(--text);position:relative;min-width:0;transition:border-color .14s var(--ease-out),background-color .14s var(--ease-out)}a.node:focus-visible{outline-offset:1px}.node.root{border-color:var(--brand);background:var(--sel)}.node.gap{border-style:dashed;border-color:#d9a52b;background:var(--warn-bg)}.node b{display:block;font-weight:650;font-variant-numeric:tabular-nums}.node small{display:block;color:var(--text-2);font-size:12px;line-height:16px;overflow-wrap:anywhere}.node .t{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2)}a.node:hover{border-color:var(--brand)}.geneo .col+.col:before{content:"→";position:absolute;left:calc(var(--s5) / -1 - 2px);top:50%;width:var(--s5);text-align:center;color:var(--control-line);transform:translateY(-50%)}.capture{min-height:100%;display:flex;flex-direction:column;background:var(--bg)}.capture-head{background:var(--panel);border-bottom:1px solid var(--line);padding:calc(var(--s3) + var(--safe-t)) var(--s4) var(--s3);display:flex;align-items:center;gap:var(--s2);position:sticky;top:0;z-index:10}.capture-head img{width:32px;height:32px;border-radius:8px}.capture-head .t{flex:1;min-width:0}.capture-head b{display:block;font-size:14px;line-height:18px;font-weight:650}.capture-head span{font-size:12px;color:var(--text-2)}.capture-body{flex:1;width:100%;max-width:640px;margin:0 auto;padding:var(--s4) var(--s4) calc(150px + var(--safe-b));display:flex;flex-direction:column;gap:var(--s4);font-size:16px;line-height:24px}.capture-body h1{font-size:22px;line-height:28px;font-weight:650;letter-spacing:-.01em}.capture-body .panel-head h2{font-size:18px}.capture-foot{position:fixed;left:0;right:0;bottom:0;background:var(--panel);border-top:1px solid var(--line);padding:var(--s3) var(--s4) calc(var(--s3) + var(--safe-b));z-index:12}.capture-foot .inner{max-width:640px;margin:0 auto;display:flex;gap:var(--s2);flex-direction:column}.progress{height:8px;border-radius:999px;background:#e6edf6;overflow:hidden}.progress>i{display:block;height:100%;background:var(--brand);border-radius:inherit;transform-origin:left;transition:width .3s var(--ease-out)}.check-item{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--line)}.check-item:last-child{border-bottom:0}.check-item b{display:block;font-weight:600}.evid{display:flex;flex-direction:column;gap:var(--s2)}.evid-row{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel)}.evid-row .grow{min-width:0}.evid-row .bar{height:4px;border-radius:4px;background:#e6edf6;margin-top:4px;overflow:hidden}.evid-row .bar i{display:block;height:100%;background:var(--brand);transition:width .12s linear}.timeline{list-style:none;margin:0;padding:0 var(--s5) var(--s4);position:relative}.timeline li{position:relative;padding:0 0 var(--s4) var(--s5);border-left:2px solid var(--line);margin-left:5px}.timeline li:before{content:"";position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--brand);border:2px solid var(--panel)}.timeline li:last-child{border-left-color:transparent;padding-bottom:0}.timeline .when{font-size:12px;color:var(--text-2)}.login{min-height:100%;display:grid;place-items:center;padding:var(--s5) var(--s4);background:var(--bg);position:relative;overflow:hidden}.login:before{content:"";position:absolute;inset:-20% -10% auto auto;width:520px;height:520px;background:var(--brand);opacity:.08;transform:rotate(-24deg) skew(-18deg);border-radius:48px}.login-card{position:relative;width:min(920px,100%);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0;background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-float)}.login-brand{background:var(--brand);color:#fff;padding:var(--s6);display:flex;flex-direction:column;justify-content:space-between;gap:var(--s5);position:relative;min-height:320px}.login-brand img{width:112px;height:112px;border-radius:20px;box-shadow:0 0 0 4px #ffffff2e}.login-brand h1{font-size:26px;line-height:32px;font-weight:650;letter-spacing:-.015em}.login-brand p{opacity:.96}.login-brand .dots{display:flex;gap:8px}.login-brand .dots i{width:10px;height:10px;border-radius:50%;background:#fff}.login-form{padding:var(--s6);display:flex;flex-direction:column;gap:var(--s4)}.login-form h2{font-size:18px;line-height:24px;font-weight:600}.profiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);max-height:300px;overflow:auto;padding:2px}.profile{text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:var(--r-sm);padding:8px var(--s3);cursor:pointer;display:flex;gap:var(--s2);align-items:center;min-height:52px;transition:border-color .12s var(--ease-out),background-color .12s var(--ease-out),transform .16s var(--ease-out)}.profile:active{transform:scale(.98)}.profile[aria-pressed=true]{border-color:var(--action);background:var(--sel)}@media(hover:hover)and (pointer:fine){.profile:hover{border-color:var(--brand)}}.profile b{display:block;font-weight:600;font-size:13px;line-height:18px}.profile span{display:block;font-size:12px;line-height:16px;color:var(--text-2)}@media(max-width:767px){.login-card{grid-template-columns:minmax(0,1fr)}.login-brand{min-height:0;padding:var(--s5);flex-direction:row;align-items:center}.login-brand img{width:64px;height:64px}.login-brand h1{font-size:20px;line-height:26px}.login-brand .dots,.login-brand p{display:none}.profiles{grid-template-columns:minmax(0,1fr);max-height:220px}}.receipt-head{position:relative;padding:var(--s4);border-radius:var(--r-md);background:var(--info-bg);border:1px solid #BBD9FA;overflow:hidden}.receipt-head:after{content:"";position:absolute;right:-18px;top:-30px;width:130px;height:14px;background:var(--brand);opacity:.25;transform:rotate(-28deg);border-radius:8px;box-shadow:0 22px #1886f51f}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-property:opacity,background-color,border-color,color!important;scroll-behavior:auto!important}.rise>*,.bars .bar{animation:none}}@media print{.sidebar,.topbar,.capture-foot,.btn{display:none!important}.shell{display:block}body{background:#fff}}.only-m{display:none}@media(max-width:767px){.only-m{display:block}.hide-m{display:none!important}}.cal{display:grid;grid-template-columns:220px repeat(7,minmax(88px,1fr));overflow-x:auto}.cal .h{background:#f9fbfe;padding:10px var(--s3);font-size:13px;line-height:18px;font-weight:600;color:var(--text-2);border-bottom:1px solid var(--line);border-left:1px solid var(--line);position:sticky;top:0}.cal .h:first-child{border-left:0;padding-left:var(--s5)}.cal .h.today{color:var(--action);background:var(--sel)}.cal .id{padding:10px var(--s3) 10px var(--s5);border-bottom:1px solid var(--line);min-height:58px;display:flex;flex-direction:column;justify-content:center}.cal .cell{border-bottom:1px solid var(--line);border-left:1px solid var(--line);min-height:58px;padding:8px 4px}.cal .cell.today{background:#fafcff}.cal a.run{display:block;padding:6px 8px;border-radius:8px;background:var(--sel);color:var(--action);font-weight:600;font-size:13px;line-height:18px;transition:background-color .12s var(--ease-out),transform .16s var(--ease-out)}.cal a.run:active{transform:scale(.97)}.cal a.run.done{background:#dcebfb}.cal a.run.live{background:var(--ok-bg);color:var(--ok-fg)}.daygroup h3{padding:var(--s3) var(--s4) var(--s1);font-size:13px;line-height:18px;color:var(--text-2);font-weight:600}.daygroup .list>li{padding-left:var(--s4);padding-right:var(--s4)}tr.detail td{background:#fbfcfe;height:auto;padding:var(--s3) var(--s5)}.plan-formula{font-variant-numeric:tabular-nums;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 12px}.field .seg{align-self:flex-start}td.ref{white-space:nowrap}:root{--brand-grad: linear-gradient(135deg, #0A4F9C 0%, #0E63C2 55%, #1472DB 100%);--brand-grad-soft: linear-gradient(135deg, #EAF4FF 0%, #F6FAFF 60%, #FFFFFF 100%);--tint: #F1F7FE;--tint-2: #E3F0FD;--shadow-1: 0 1px 2px rgba(16, 42, 84, .06), 0 1px 1px rgba(16, 42, 84, .04);--shadow-2: 0 6px 18px rgba(16, 42, 84, .1), 0 2px 4px rgba(16, 42, 84, .06);--glow: 0 6px 16px rgba(24, 134, 245, .32)}body{background:radial-gradient(900px 420px at 85% -120px,rgba(24,134,245,.13),transparent 70%),radial-gradient(700px 360px at -5% 20%,rgba(24,134,245,.06),transparent 70%),var(--bg);background-attachment:fixed}.topbar{background:#ffffffdb;-webkit-backdrop-filter:saturate(160%) blur(10px);backdrop-filter:saturate(160%) blur(10px);border-bottom-color:#d5e3f4;box-shadow:var(--shadow-1)}.topbar:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#0a4f9c,#1886f5 55%,#66b2ff)}.crumbs b{color:var(--action)}.sidebar{background:linear-gradient(180deg,#fff,#f6faff)}.brand{background:var(--brand-grad);margin:calc(var(--s4) * -1) 0 var(--s3);padding:var(--s4);border-bottom:0;color:#fff;position:relative;overflow:hidden}.brand:after{content:"";position:absolute;right:-26px;top:-22px;width:120px;height:12px;background:#fff;opacity:.16;transform:rotate(-28deg);border-radius:8px;box-shadow:0 20px #ffffff17}.brand span{color:#ffffffe0}.brand img{box-shadow:0 0 0 2px #ffffff59,0 4px 10px #00143c47}.nav h6{text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:#5b7089}.nav a{position:relative;transition:background-color .14s var(--ease-out),color .14s var(--ease-out),transform .16s var(--ease-out)}.nav a:active{transform:scale(.98)}.nav a:before{content:"";position:absolute;left:-8px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--brand);transform:scaleY(0);transition:transform .2s var(--ease-out)}.nav a[aria-current=page]{background:linear-gradient(90deg,#dcebfc,#eaf4ff);box-shadow:inset 0 0 0 1px #cfe3f9}.nav a[aria-current=page]:before{transform:scaleY(1)}.nav a[aria-current=page] svg{color:var(--brand)}.avatar{background:var(--brand-grad);color:#fff;box-shadow:0 0 0 2px #fff,0 0 0 3px #cfe3f9}.page-head h1{position:relative;padding-bottom:10px}.page-head h1:after{content:"";position:absolute;left:0;bottom:0;width:44px;height:4px;border-radius:4px;background:linear-gradient(90deg,#0c5eb8,#1886f5);transform-origin:left;animation:grow-x .42s var(--ease-out) both}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:none}}.panel,.kpi{box-shadow:var(--shadow-1);border-color:#d9e5f3}.panel>.panel-head{background:linear-gradient(180deg,#fafcff,#fff);border-radius:var(--r-md) var(--r-md) 0 0}.panel-head h2{color:#10305e}.kpi{overflow:hidden;background:linear-gradient(180deg,#fff,#f8fbff)}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#1886f5,#0c5eb8);opacity:.9}.kpi .label svg,.kpi .ico{width:30px;height:30px;padding:7px;border-radius:9px;background:var(--tint-2);color:var(--action);flex:none}.kpi .value{color:#0c2f5e}.kpi .caption{color:var(--text-2)}a.kpi{transition:border-color .16s var(--ease-out),transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}@media(hover:hover)and (pointer:fine){a.kpi:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow-2)}a.kpi:hover .label svg{background:var(--action);color:#fff}.panel:has(table):hover{box-shadow:var(--shadow-2)}}a.kpi:active{transform:scale(.985)}.kpi .label svg{transition:background-color .16s var(--ease-out),color .16s var(--ease-out)}.btn{box-shadow:var(--shadow-1);border-color:#b7c6da;background:linear-gradient(180deg,#fff,#f6f9fd)}.btn.primary{background:linear-gradient(180deg,#1472db,#0c5eb8);border-color:#0a4f9c;box-shadow:0 1px #ffffff47 inset,var(--glow);text-shadow:0 1px 0 rgba(0,30,70,.25)}.btn.ghost{box-shadow:none;background:transparent}.btn.danger{background:#fff}@media(hover:hover)and (pointer:fine){.btn:hover:not(:disabled){background:linear-gradient(180deg,#fff,#eef5fd);border-color:var(--brand)}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#1a7deb,#0a5bb0);box-shadow:0 1px #ffffff4d inset,0 8px 20px #1886f566;transform:translateY(-1px)}.btn.primary:active:not(:disabled){transform:scale(.97)}.btn.ghost:hover:not(:disabled){background:var(--tint-2);border-color:transparent}}.btn.primary:disabled{box-shadow:none}.chip{box-shadow:inset 0 0 0 1px #0a4f9c1f}.chip.ok{box-shadow:inset 0 0 0 1px #14633a2e}.chip.warn{box-shadow:inset 0 0 0 1px #7a43002e}.chip.bad{box-shadow:inset 0 0 0 1px #a3151e2e}th{background:linear-gradient(180deg,#f3f8fe,#edf4fc);color:#3d5573;text-transform:none;border-bottom-color:#d5e3f4}tbody tr{transition:background-color .12s var(--ease-out)}@media(hover:hover)and (pointer:fine){tr.clickable:hover td{background:#eef6ff}}tr[aria-selected=true] td{background:var(--sel)}tr[aria-selected=true] td:first-child{box-shadow:inset 3px 0 0 var(--brand)}td.ref,.ref{color:#0a4f9c}.tabs{background:#fbfdff;border-bottom-color:#d5e3f4}.tabs .ink{height:3px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,#0c5eb8,#1886f5)}.tabs .count{background:var(--tint-2);color:var(--action)}.input{border-color:#8a9bb4;box-shadow:inset 0 1px 1px #102a540a}@media(hover:hover)and (pointer:fine){.input:hover:not(:focus-visible):not(:disabled){border-color:var(--action)}}.input:focus-visible{border-color:var(--action);box-shadow:0 0 0 4px #1886f53d}.seg{box-shadow:var(--shadow-1)}.seg button[aria-pressed=true]{background:linear-gradient(180deg,#1472db,#0c5eb8)}.check input,.progress{accent-color:var(--action)}.notice{box-shadow:var(--shadow-1);border-left-width:4px}.notice.info{border-left-color:var(--brand);background:linear-gradient(90deg,#e4f1ff,#eef6ff)}.notice.ok{border-left-color:#2e9e5c}.notice.warn{border-left-color:#e0a21b}.notice.bad{border-left-color:#d8343f}.empty{padding:var(--s6) var(--s4) 40px}.empty>svg{width:52px;height:52px;padding:13px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#FFFFFF,var(--tint-2));color:var(--brand);box-shadow:0 0 0 6px #1886f514}.bars{background:repeating-linear-gradient(to top,transparent 0 46px,#E4EDF8 46px 47px)}.bars .bar{background:linear-gradient(180deg,#d6e7fa,#bfd8f5);border-radius:6px 6px 0 0}.bars .bar.real{background:linear-gradient(180deg,#3a9bff,#1886f5 40%,#0c5eb8);box-shadow:0 6px 14px #1886f547}.legend i{background:#bfd8f5}.legend i.real{background:linear-gradient(180deg,#3a9bff,#0c5eb8)}.node{box-shadow:var(--shadow-1);border-left:4px solid #B7C6DA}.node.root{background:var(--brand-grad);color:#fff;border-color:#0a4f9c;box-shadow:var(--glow)}.node.root small,.node.root .t{color:#ffffffe6}.node.root b{color:#fff}.node:has(.t:where(:not(:empty))){border-left-color:var(--brand)}@media(hover:hover)and (pointer:fine){a.node:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}}a.node{transition:border-color .14s var(--ease-out),transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}.geneo .col+.col:before{color:var(--brand);font-weight:700}.timeline li:before{background:var(--brand);box-shadow:0 0 0 4px #1886f52e;border-color:#fff}.progress{height:10px;background:#dce8f6}.progress>i{background:linear-gradient(90deg,#0c5eb8,#1886f5,#5ab0ff);position:relative;overflow:hidden}.progress>i:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translate(-100%);animation:shine 1.4s var(--ease-out) .3s 1}@keyframes shine{to{transform:translate(100%)}}.capture-head{background:var(--brand-grad);color:#fff;border-bottom:0;box-shadow:0 4px 14px #0a4f9c4d}.capture-head span{color:#ffffffe6}.capture-head .btn.ghost{color:#fff}@media(hover:hover)and (pointer:fine){.capture-head .btn.ghost:hover:not(:disabled){background:#ffffff2e}}.capture-head .chip.demo{background:#fff3;color:#fff;box-shadow:inset 0 0 0 1px #ffffff59}.capture-body h1{color:#0c2f5e}.capture-foot{background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 -6px 18px #102a541a}.check-item{border-bottom-color:#e4edf8}dialog.dlg{box-shadow:0 24px 60px #0a285a59;border-top:4px solid var(--brand)}dialog.dlg::backdrop{background:#0c244e80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dlg-head h2{color:#10305e}.receipt-head{background:var(--brand-grad);color:#fff;border:0;box-shadow:var(--glow)}.receipt-head .muted,.receipt-head .xs{color:#ffffffe6}.receipt-head b{color:#fff!important}.receipt-head:after{background:#fff;opacity:.2}.page>*{animation:page-in .22s var(--ease-out) both}.page>*:nth-child(2){animation-delay:30ms}.page>*:nth-child(3){animation-delay:60ms}.page>*:nth-child(n+4){animation-delay:90ms}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hero{position:relative;overflow:hidden;border-radius:16px;padding:var(--s5) var(--s6);color:#fff;background:var(--brand-grad);box-shadow:0 14px 34px #0c5eb84d;display:flex;gap:var(--s5);align-items:center;justify-content:space-between;flex-wrap:wrap}.hero:before{content:"";position:absolute;right:-40px;top:-60px;width:340px;height:26px;background:#fff;opacity:.14;transform:rotate(-28deg);border-radius:14px;box-shadow:0 46px #ffffff14,-60px 92px #ffffff0d}.hero:after{content:"";position:absolute;right:36px;bottom:22px;width:10px;height:10px;border-radius:50%;background:#fff;opacity:.7;box-shadow:26px 0 #fff}.hero>*{position:relative;z-index:1}.hero h1{font-size:26px;line-height:32px;font-weight:650;letter-spacing:-.015em}.hero p{color:#ffffffeb;margin-top:4px;max-width:54ch}.hero .hero-tags{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s3)}.hero .pill{background:#ffffff29;box-shadow:inset 0 0 0 1px #ffffff47;color:#fff;padding:4px 12px;border-radius:999px;font-size:13px;line-height:18px;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero .range{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}.hero .range .input{background:#fffffff5;color:var(--text);border-color:transparent;width:150px}.hero .range .sep{color:#ffffffe6}@media(max-width:767px){.hero{padding:var(--s4)}.hero h1{font-size:22px;line-height:28px}}.login{background:radial-gradient(900px 500px at 15% 10%,rgba(24,134,245,.22),transparent 65%),radial-gradient(700px 420px at 100% 100%,rgba(12,94,184,.18),transparent 60%),var(--bg)}.login:before{background:linear-gradient(135deg,#1886f5,#0c5eb8);opacity:.13;animation:drift 14s ease-in-out infinite alternate}@keyframes drift{to{transform:rotate(-24deg) skew(-18deg) translate(-30px,24px)}}.login-card{animation:page-in .38s var(--ease-out) both;box-shadow:0 30px 80px #0a3c8238}.login-brand{background:var(--brand-grad)}.login-brand:before{content:"";position:absolute;right:-50px;top:40px;width:280px;height:22px;background:#fff;opacity:.12;transform:rotate(-28deg);border-radius:12px;box-shadow:0 40px #ffffff12}.login-brand>*{position:relative}.login-brand img{box-shadow:0 0 0 4px #ffffff38,0 14px 30px #00143c59;animation:float 6s ease-in-out infinite alternate}@keyframes float{to{transform:translateY(-6px)}}.profile{box-shadow:var(--shadow-1)}.profile[aria-pressed=true]{box-shadow:0 0 0 2px var(--action),var(--shadow-1)}.profile .avatar{flex:none}[data-sonner-toast]{border:1px solid #CFE3F9!important;border-left:4px solid var(--brand)!important;box-shadow:var(--shadow-2)!important}@media(prefers-reduced-motion:reduce){.page>*,.login-card,.page-head h1:after{animation:none!important}.login:before,.login-brand img,.progress>i:after{animation:none!important}a.kpi:hover,.btn.primary:hover:not(:disabled),a.node:hover{transform:none!important}}.profile span.avatar{display:grid;color:#fff;font-size:12px;line-height:16px;font-weight:650;width:32px;height:32px}
