.login-skip{position:absolute;left:8px;top:8px;padding:8px 14px;background:var(--white);color:var(--primary);border-radius:var(--radius-md);font-size:13px;font-weight:500;transform:translateY(-200%);transition:transform .2s;z-index:100;text-decoration:none}.login-skip:focus{transform:translateY(0);outline:2px solid var(--primary);outline-offset:2px}.login-shell{min-height:100dvh;display:grid;grid-template-columns:1.05fr 1fr}@media (max-width: 960px){.login-shell{grid-template-columns:1fr}}.login-brand{position:relative;background:var(--primary);color:var(--white);padding:40px 56px 32px;display:flex;flex-direction:column;min-height:100dvh;overflow:hidden}.login-brand:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.018) 0 1px,transparent 1px 18px);pointer-events:none}.login-brand:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--info) 12%,transparent) 0%,transparent 60%);right:-180px;top:-180px;pointer-events:none}@media (max-width: 960px){.login-brand{min-height:auto;padding:28px 24px 32px}.login-brand:after{width:260px;height:260px;right:-100px;top:-100px}}.login-brand-logo{display:inline-flex;align-items:center;gap:12px;position:relative;z-index:1;text-decoration:none;color:inherit}.login-brand-logo .mark{width:40px;height:40px;background:var(--white);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary)}.login-brand-logo .word{display:flex;flex-direction:column;gap:1px}.login-brand-logo .name{font-size:17px;font-weight:700;letter-spacing:.1em;line-height:1}.login-brand-logo .sub{font-size:10.5px;letter-spacing:.18em;color:#ffffff8c;text-transform:uppercase;font-weight:500;font-family:var(--font-mono)}.login-brand-hero{margin:auto 0;max-width:460px;position:relative;z-index:1}.login-brand-hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#ffffffa6;margin-bottom:18px}.login-brand-hero .eyebrow:before{content:"";width:24px;height:1px;background:#fff6}.login-brand-hero h1{font-size:38px;line-height:1.15;font-weight:600;letter-spacing:-.02em;margin:0 0 16px}.login-brand-hero h1 em{font-style:normal;color:var(--info-on-dark);font-weight:500}.login-brand-hero p{font-size:15px;line-height:1.65;color:#ffffffc7;margin:0 0 28px;max-width:420px}@media (max-width: 960px){.login-brand-hero{margin:24px 0 12px}.login-brand-hero h1{font-size:26px}.login-brand-hero p{font-size:14px}}.login-feat{display:flex;flex-direction:column;gap:14px;position:relative;z-index:1;list-style:none;padding:0;margin:0}.login-feat-item{display:flex;align-items:flex-start;gap:12px}.login-feat-item .ic-box{width:28px;height:28px;border-radius:7px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);display:inline-flex;align-items:center;justify-content:center;color:var(--info-on-dark);flex-shrink:0}.login-feat-item .t{font-size:13.5px;font-weight:600;color:var(--white);line-height:1.4}.login-feat-item .s{font-size:12.5px;color:#fff9;line-height:1.5;margin-top:1px}.login-brand-foot{margin-top:auto;padding-top:32px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;z-index:1;font-size:11.5px;color:#ffffff8c;flex-wrap:wrap}.login-brand-foot .left{display:flex;align-items:center;gap:12px}.login-brand-foot .stat{display:flex;flex-direction:column;gap:2px}.login-brand-foot .stat .v{font-family:var(--font-mono);font-size:15px;font-weight:600;color:var(--white);letter-spacing:-.01em}.login-brand-foot .stat .v .u{font-size:11px;color:#ffffff80;margin-left:3px}.login-brand-foot .stat .l{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff80}.login-brand-foot .div{width:1px;height:28px;background:#ffffff1f}.login-status-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 10px;background:color-mix(in srgb,var(--success-dot) 8%,transparent);border:1px solid color-mix(in srgb,var(--success-dot) 25%,transparent);border-radius:999px;font-size:11.5px;font-weight:500;color:var(--success-on-dark)}.login-status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success-dot);box-shadow:0 0 0 3px color-mix(in srgb,var(--success-dot) 18%,transparent);animation:loginLivePulse 2s ease-in-out infinite}@keyframes loginLivePulse{0%,to{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--success-dot) 18%,transparent)}50%{opacity:.6;box-shadow:0 0 0 6px color-mix(in srgb,var(--success-dot) 5%,transparent)}}.login-form-panel{position:relative;background:var(--white);display:flex;flex-direction:column;padding:32px 56px;min-height:100dvh}@media (max-width: 960px){.login-form-panel{padding:24px 20px 32px;min-height:auto}}@media (max-width: 480px){.login-form-panel{padding:20px 16px 32px}}.login-fp-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.login-lang{display:inline-flex;gap:0;border:1px solid var(--neutral-200);border-radius:var(--radius-md);background:var(--white);padding:2px;font-family:var(--font-mono);font-size:11px}.login-lang button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:4px 9px;border-radius:4px;cursor:pointer;color:var(--neutral-500);font:inherit;font-weight:500;letter-spacing:.05em}.login-lang button.active{background:var(--neutral-900);color:var(--white)}.login-help{font-size:12.5px;color:var(--neutral-500);text-decoration:none;display:inline-flex;align-items:center;gap:6px}.login-help:hover{color:var(--neutral-900)}.login-form-wrap{width:100%;max-width:400px;margin:auto;padding:24px 0}.login-form-head{margin-bottom:28px}.login-form-head .title{font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--neutral-900);margin:0 0 8px}.login-form-head .sub{font-size:14px;color:var(--neutral-500);line-height:1.55;margin:0}.login-sso{width:100%;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 16px;background:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-md);font:inherit;font-size:13.5px;font-weight:500;color:var(--neutral-900);cursor:pointer;transition:background-color .15s,border-color .15s}.login-sso:hover{background:var(--neutral-50);border-color:var(--neutral-300)}.login-sso:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.login-sso .badge{margin-left:auto;font-size:10px;font-family:var(--font-mono);padding:2px 6px;background:var(--primary-subtle);color:var(--primary);border-radius:4px;font-weight:600;letter-spacing:.04em}.login-divider{display:flex;align-items:center;gap:12px;margin:20px 0;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--neutral-400);font-weight:600}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--neutral-200)}.login-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.login-field-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.login-label{font-size:12.5px;font-weight:500;color:var(--neutral-700)}.login-label .req{color:var(--danger);margin-left:2px}.login-link{font-size:12px;color:var(--primary);text-decoration:none;font-weight:500}.login-link:hover{text-decoration:underline}.login-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}.login-input-wrap{position:relative;display:flex;align-items:stretch}.login-input{width:100%;height:44px;padding:0 12px 0 40px;border-radius:var(--radius-md);border:1px solid var(--neutral-300);background:var(--white);color:var(--neutral-900);font-family:inherit;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.login-input::-moz-placeholder{color:var(--neutral-400)}.login-input::placeholder{color:var(--neutral-400)}.login-input:hover{border-color:var(--neutral-400)}.login-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.login-input.has-toggle{padding-right:44px}.login-input-wrap .ic-lead{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--neutral-400);pointer-events:none;display:inline-flex}.login-input-wrap:focus-within .ic-lead{color:var(--primary)}.login-toggle-pwd{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;border-radius:6px;color:var(--neutral-500);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.login-toggle-pwd:hover{background:var(--neutral-100);color:var(--neutral-900)}.login-toggle-pwd:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 18px;font-size:13px}.login-chk{display:inline-flex;align-items:center;gap:8px;color:var(--neutral-700);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.login-chk input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;margin:0}.login-chk input[type=checkbox]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.login-cta{width:100%;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;background:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-md);color:var(--primary-on);font-family:inherit;font-size:14px;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:background-color .15s,transform .1s;position:relative;overflow:hidden}.login-cta:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.login-cta:active:not(:disabled){background:var(--primary-active);transform:scale(.99)}.login-cta:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.login-cta:disabled{opacity:.55;cursor:not-allowed}.login-cta.loading{pointer-events:none}.login-cta.loading .label{opacity:0}.login-cta .spinner{position:absolute;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--white);border-radius:50%;opacity:0;animation:loginSpin .8s linear infinite}.login-cta.loading .spinner{opacity:1}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-err{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--danger-subtle);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent);border-left:3px solid var(--danger);border-radius:var(--radius-md);color:var(--danger-text);font-size:12.5px;line-height:1.5;margin-bottom:16px}.login-err svg{flex-shrink:0;color:var(--danger);margin-top:1px}.login-err b{font-weight:600}.login-form-foot{margin-top:22px;padding-top:22px;border-top:1px solid var(--neutral-100);text-align:center;font-size:12.5px;color:var(--neutral-500)}.login-form-foot a{color:var(--primary);text-decoration:none;font-weight:500}.login-form-foot a:hover{text-decoration:underline}.login-fp-bot{margin-top:auto;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11.5px;color:var(--neutral-500)}.login-fp-bot .links{display:flex;gap:14px}.login-fp-bot a{color:var(--neutral-500);text-decoration:none}.login-fp-bot a:hover{color:var(--neutral-900)}.login-fp-bot .version{font-family:var(--font-mono)}.drawer-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--neutral-900) 45%,transparent);z-index:200;animation:drawerFade .15s ease-out}@keyframes drawerFade{0%{opacity:0}to{opacity:1}}.drawer{position:fixed;top:0;right:0;bottom:0;background:var(--white);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;transition:transform .26s cubic-bezier(0,0,.2,1);will-change:transform;border-left:1px solid var(--neutral-200);outline:none}.drawer-sm{width:420px}.drawer-md{width:520px}.drawer-lg{width:720px}@media (max-width: 760px){.drawer-lg{width:100vw}}@media (max-width: 560px){.drawer-sm,.drawer-md{width:100vw}}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--neutral-200);gap:12px;flex-shrink:0}.drawer-head .ttl{font-size:15px;font-weight:600;color:var(--neutral-900);letter-spacing:-.005em;margin:0}.drawer-head .sub{font-size:12px;color:var(--neutral-500);margin:2px 0 0}.drawer-close{width:30px;height:30px;border:0;background:transparent;border-radius:var(--radius-md);color:var(--neutral-500);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.drawer-close:hover{background:var(--neutral-100);color:var(--neutral-900)}.drawer-close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.drawer-body{padding:18px 20px;overflow-y:auto;flex:1}.drawer-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--neutral-200);background:var(--neutral-50);flex-shrink:0}.drawer-foot .btn-md{min-width:116px;justify-content:center}.drawer-foot .btn-md.ghost{background:var(--white);border-color:var(--neutral-300)}.drawer-foot .btn-md.ghost:hover:not(:disabled){background:var(--neutral-50);border-color:var(--neutral-400)}.drawer-cover{position:absolute;inset:0;border:0;background:color-mix(in srgb,var(--neutral-900) 16%,transparent);cursor:pointer;z-index:5;transition:background .15s}.drawer-cover:hover{background:color-mix(in srgb,var(--neutral-900) 22%,transparent)}.drawer-cover:focus-visible{outline:2px solid var(--primary);outline-offset:-3px}.items-page{padding:22px 28px 48px;max-width:1760px;margin:0 auto}.items-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.items-head .title{font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.01em;margin:0 0 2px;color:var(--neutral-900)}.items-head .sub{font-size:13px;color:var(--neutral-500);margin:0}.items-crumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--neutral-500);margin-bottom:6px}.items-crumb .sep{color:var(--neutral-300)}.items-crumb .cur{color:var(--neutral-900);font-weight:500}.items-crumb a{color:var(--neutral-500);text-decoration:none}.items-crumb a:hover{color:var(--neutral-900)}.items-crumb a:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}.dt2-wrap{background:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-lg);overflow:hidden}.dt2-tabs{display:flex;padding:0 18px;border-bottom:1px solid var(--neutral-200);background:var(--white);overflow-x:auto;scrollbar-width:none}.dt2-tabs::-webkit-scrollbar{display:none}.dt2-tab{display:inline-flex;align-items:center;gap:6px;padding:11px 14px;font-size:12px;color:var(--neutral-600);font-weight:500;background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap;font-family:inherit}.dt2-tab:hover{color:var(--neutral-900)}.dt2-tab.active{color:var(--neutral-900);border-bottom-color:var(--neutral-900)}.dt2-tab .ct{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:10.5px;color:var(--neutral-500);background:var(--neutral-100);padding:1px 6px;border-radius:999px;font-weight:500}.dt2-tab.active .ct{color:var(--neutral-900)}.dt2-toolbar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--neutral-200);background:var(--white);flex-wrap:wrap}.dt2-search-box{flex:1 1 auto;min-width:220px;max-width:360px;height:30px;display:flex;align-items:center;gap:6px;padding:0 8px 0 10px;background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:6px;color:var(--neutral-500)}.dt2-search-box input{flex:1;border:0;background:transparent;font:inherit;font-size:12.5px;color:var(--neutral-900);outline:none;min-width:0}.dt2-search-box input::-moz-placeholder{color:var(--neutral-400)}.dt2-search-box input::placeholder{color:var(--neutral-400)}.dt2-toolbar .grow{flex:1}.dt2-toolbar .btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--radius-md);border:1px solid var(--neutral-300);background:var(--white);font-family:inherit;font-size:12.5px;font-weight:500;color:var(--neutral-900);cursor:pointer}.dt2-toolbar .btn:hover{background:var(--neutral-50);border-color:var(--neutral-400)}.dt2-toolbar .btn.primary{background:var(--primary);color:var(--primary-on);border-color:var(--primary)}.dt2-toolbar .btn.primary:hover{background:var(--primary-hover)}.dt2 tbody .btn{display:inline-flex;align-items:center;gap:4px;font-family:inherit;font-weight:500;border:1px solid var(--neutral-300);background:var(--white);border-radius:var(--radius-sm);cursor:pointer}.dt2 tbody .btn:hover:not(:disabled){background:var(--neutral-50);border-color:var(--neutral-400)}.dt2 tbody .btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.dt2 tbody .btn:disabled{opacity:.5;cursor:not-allowed}.row-acts{display:inline-flex;gap:4px;justify-content:flex-end}.iact{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--neutral-200);background:var(--white);border-radius:var(--radius-sm);color:var(--neutral-600);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.iact:hover{background:var(--neutral-50);border-color:var(--neutral-300);color:var(--neutral-900)}.iact:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.iact:disabled{opacity:.45;cursor:not-allowed}.iact.info:hover{color:var(--info);border-color:color-mix(in srgb,var(--info) 40%,transparent)}.iact.success:hover{color:var(--success);border-color:color-mix(in srgb,var(--success) 40%,transparent)}.iact.warning:hover{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 40%,transparent)}.iact.danger:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.dt2-scroll{overflow:auto;max-height:calc(100dvh - 280px)}.dt2{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.dt2 thead th{position:sticky;top:0;z-index:2;background:var(--white);padding:9px var(--cell-px);text-align:left;font-weight:500;font-size:11px;color:var(--neutral-500);border-bottom:1px solid var(--neutral-200);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;letter-spacing:.04em;text-transform:uppercase}.dt2 thead th.num{text-align:right}.dt2 tbody tr td{padding:var(--cell-py) var(--cell-px);border-bottom:1px solid var(--neutral-100);height:var(--row-h);color:var(--neutral-900);vertical-align:middle;white-space:nowrap;background:var(--white)}.dt2 tbody tr:hover td{background:var(--neutral-50)}.dt2 tbody tr:last-child td{border-bottom:0}.cell-id{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--neutral-900)}.dt2 .cell-num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12.5px}.dt2 .cell-num .unit{color:var(--neutral-400);font-size:10.5px;margin-left:3px;font-weight:500}.dt2 .sec{color:var(--neutral-500);font-size:11px;display:block;margin-top:1px}.badge-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;font-size:10.5px;font-weight:500;background:var(--neutral-100);color:var(--neutral-700);border:1px solid var(--neutral-200)}.badge-pill.b-warn{background:var(--warning-subtle);color:var(--warning);border-color:transparent}.badge-pill.b-success{background:var(--success-subtle);color:var(--success);border-color:transparent}.badge-pill.b-info{background:var(--info-subtle);color:var(--info);border-color:transparent}.badge-pill.b-danger{background:var(--danger-subtle);color:var(--danger);border-color:transparent}.dt2-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-top:1px solid var(--neutral-200);font-size:12px;color:var(--neutral-600);background:var(--white)}.dt2-foot b{color:var(--neutral-900);font-family:var(--font-mono);font-weight:600}.dt2-foot .pager{display:flex;gap:2px}.dt2-foot .pg{min-width:26px;height:26px;font:inherit;font-size:12px;padding:0 8px;border-radius:4px;border:1px solid transparent;background:transparent;color:var(--neutral-700);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.dt2-foot .pg:hover:not(.active):not(:disabled){background:var(--neutral-100);color:var(--neutral-900)}.dt2-foot .pg.active{background:var(--neutral-900);color:var(--white);border-color:var(--neutral-900);font-weight:600}.dt2-foot .pg:disabled{color:var(--neutral-300);cursor:not-allowed}.dt2-foot .pg:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.empty-state{padding:48px 24px;text-align:center;color:var(--neutral-500)}.empty-state .ic{font-size:32px;margin-bottom:8px;display:block;color:var(--neutral-400)}.empty-state .ttl{font-size:14px;font-weight:500;color:var(--neutral-700);margin:0 0 4px}.empty-state .sub{font-size:12px;margin:0}.loc-tree{background:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-lg);overflow:hidden}.loc-node{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--neutral-100);font-size:13px}.loc-node:last-child{border-bottom:0}.loc-node:hover{background:var(--neutral-50)}.loc-node-info{display:flex;align-items:center;gap:10px;min-width:0}.loc-node .twist{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--neutral-500);flex-shrink:0;border:0;background:transparent;padding:0;border-radius:3px;transition:transform .1s}.loc-node .twist:hover{background:var(--neutral-200);color:var(--neutral-900)}.loc-node .twist.expanded{transform:rotate(90deg)}.loc-node .twist.empty{visibility:hidden}.loc-node .type-chip{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--neutral-600);background:var(--neutral-100);padding:2px 6px;border-radius:4px;white-space:nowrap}.loc-node .type-chip.tesis{color:var(--primary);background:var(--primary-subtle)}.loc-node .type-chip.depo{color:var(--info);background:var(--info-subtle)}.loc-node .type-chip.uretim_hatti{color:var(--success);background:var(--success-subtle)}.loc-node .type-chip.karantina{color:var(--warning);background:var(--warning-subtle)}.loc-node .type-chip.scrap{color:var(--danger);background:var(--danger-subtle)}.loc-node .code{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--neutral-900)}.loc-node .name{color:var(--neutral-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loc-node.inactive .code,.loc-node.inactive .name{color:var(--neutral-400)}.loc-node-actions{display:inline-flex;gap:4px;opacity:0;transition:opacity .1s}.loc-node:hover .loc-node-actions{opacity:1}.ss-root{position:relative;width:100%}.ss-trigger{width:100%;height:var(--field-h);padding:0 8px 0 10px;display:flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--neutral-300);border-radius:var(--radius-md);font:inherit;font-size:13px;color:var(--neutral-900);cursor:pointer;text-align:left;transition:border-color .12s,box-shadow .12s}.ss-trigger:hover:not(:disabled){border-color:var(--neutral-400)}.ss-trigger.open,.ss-trigger:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.ss-trigger:disabled{background:var(--neutral-100);color:var(--neutral-500);cursor:not-allowed}.ss-trigger.error{border-color:var(--danger)}.ss-trigger.error.open{box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 18%,transparent)}.ss-trig-icon{color:var(--neutral-500);display:inline-flex;flex-shrink:0}.ss-trig-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ss-trig-text.placeholder{color:var(--neutral-400)}.ss-trig-meta{font-size:11px;color:var(--neutral-500);font-family:var(--font-mono);margin-left:6px;flex-shrink:0}.ss-trig-chev{color:var(--neutral-500);display:inline-flex;transition:transform .15s;flex-shrink:0}.ss-trigger.open .ss-trig-chev{transform:rotate(180deg)}.ss-clear-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--neutral-400);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;flex-shrink:0}.ss-clear-btn:hover{background:var(--neutral-200);color:var(--neutral-700)}.ss-panel{position:fixed;z-index:1200;background:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;max-height:340px;animation:ss-pop .12s cubic-bezier(0,0,.2,1);transform-origin:top center}@keyframes ss-pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.ss-panel{animation:none}}.ss-search{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--neutral-100);color:var(--neutral-500)}.ss-search input{flex:1;border:0;outline:none;background:transparent;font:inherit;color:var(--neutral-900);font-size:13px;min-width:0}.ss-search input::-moz-placeholder{color:var(--neutral-400)}.ss-search input::placeholder{color:var(--neutral-400)}.ss-search-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--neutral-500);padding:2px;cursor:pointer;display:inline-flex;border-radius:4px}.ss-search-clear:hover{color:var(--neutral-900);background:var(--neutral-100)}.ss-list{flex:1;overflow-y:auto;padding:4px 0;scrollbar-width:thin;scrollbar-color:var(--neutral-300) transparent}.ss-list::-webkit-scrollbar{width:6px}.ss-list::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:3px}.ss-list::-webkit-scrollbar-track{background:transparent}.ss-group{padding:8px 12px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--neutral-500)}.ss-item{width:100%;display:flex;align-items:center;gap:10px;padding:7px 12px;border:0;background:transparent;text-align:left;font:inherit;font-size:13px;color:var(--neutral-800);cursor:pointer}.ss-item.active{background:var(--neutral-100)}.ss-item.selected{background:var(--primary-subtle);color:var(--primary);font-weight:500}.ss-item.selected.active{background:var(--primary-subtle)}.ss-item-icon{color:var(--neutral-500);flex-shrink:0;display:inline-flex}.ss-item.selected .ss-item-icon{color:var(--primary)}.ss-item-text{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0;overflow:hidden}.ss-item-lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-item-desc{font-size:11px;color:var(--neutral-500);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-item.selected .ss-item-desc{color:color-mix(in srgb,var(--primary) 60%,transparent)}.ss-item-tail{font-family:var(--font-mono);font-size:11px;color:var(--neutral-500);flex-shrink:0}.ss-item.selected .ss-item-tail{color:var(--primary)}.ss-item-check{color:var(--primary);flex-shrink:0;opacity:0}.ss-item.selected .ss-item-check{opacity:1}.ss-empty{padding:20px 12px;text-align:center;font-size:12px;color:var(--neutral-500);display:flex;flex-direction:column;align-items:center;gap:6px}.ss-empty-ic{color:var(--neutral-400)}.ss-foot{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-top:1px solid var(--neutral-100);font-size:11px;color:var(--neutral-500);background:var(--neutral-50)}.ss-foot kbd{font-family:var(--font-mono);font-size:10px;padding:1px 5px;background:var(--white);border:1px solid var(--neutral-200);border-radius:3px;color:var(--neutral-700);margin:0 1px}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;height:100dvh;width:100%}.shell-topbar{grid-column:1 / -1;display:flex;align-items:center;gap:16px;padding:0 16px;background:var(--white);border-bottom:1px solid var(--neutral-200)}.shell-topbar .logo{display:flex;align-items:center;gap:10px;width:calc(var(--sidebar-w) - 16px);text-decoration:none;color:inherit}.shell-topbar .logo .mark{width:28px;height:28px;background:var(--primary);border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--primary-on);flex-shrink:0}.shell-topbar .logo .name{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--neutral-900)}.shell-topbar .logo .sub{font-size:11px;color:var(--neutral-500);margin-left:4px;font-weight:500;font-family:var(--font-mono)}.shell-topbar .topbar-search{flex:1 1 0;min-width:0;max-width:440px;height:36px;display:flex;align-items:center;gap:8px;padding:0 8px 0 12px;background:var(--neutral-100);border:1px solid var(--neutral-200);border-radius:var(--radius-md);color:var(--neutral-500);font-family:inherit;font-size:13px;cursor:pointer;transition:background .15s,border-color .15s}.shell-topbar .topbar-search:hover{background:var(--neutral-200);border-color:var(--neutral-300)}.shell-topbar .topbar-search:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.shell-topbar .topbar-search svg{flex-shrink:0;color:var(--neutral-400)}.shell-topbar .topbar-search .ph{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-topbar .topbar-search kbd{flex-shrink:0;font-family:var(--font-mono);font-size:10.5px;color:var(--neutral-500);background:var(--white);padding:2px 6px;border:1px solid var(--neutral-200);border-bottom-width:2px;border-radius:5px}.shell-topbar .spacer{flex:1}.shell-topbar .topbar-actions{display:flex;align-items:center;gap:6px}.shell-topbar .icon-btn{position:relative;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:transparent;border:0;color:var(--neutral-600);cursor:pointer;transition:background .15s,color .15s}.shell-topbar .icon-btn:hover{background:var(--neutral-100);color:var(--neutral-900)}.shell-topbar .icon-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.shell-topbar .icon-btn:disabled{opacity:.5;cursor:not-allowed}.shell-topbar .user-wrap{position:relative}.shell-topbar .user-chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 8px 0 4px;border:1px solid var(--neutral-200);border-radius:999px;background:var(--white);color:var(--neutral-700);font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s}.shell-topbar .user-chip:hover{background:var(--neutral-50);border-color:var(--neutral-300)}.shell-topbar .user-chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.shell-topbar .user-chip .user-name{font-size:13px;font-weight:500;color:var(--neutral-800);max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-topbar .user-chip .chev{color:var(--neutral-400);transition:transform .15s}.shell-topbar .user-chip .chev.open{transform:rotate(180deg)}.shell-topbar .avatar{width:28px;height:28px;border-radius:50%;background:var(--primary);color:var(--primary-on);font-size:11px;font-weight:600;font-family:var(--font-mono);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.shell-topbar .avatar.lg{width:38px;height:38px;font-size:14px}.shell-topbar .user-backdrop{position:fixed;inset:0;z-index:90;background:transparent;border:0;cursor:default}.shell-topbar .user-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:100;width:264px;background:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:6px;animation:topbarMenuIn .14s cubic-bezier(.4,0,.2,1)}@keyframes topbarMenuIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.shell-topbar .user-menu-head{display:flex;align-items:center;gap:10px;padding:8px 10px 10px}.shell-topbar .user-menu-head .info{min-width:0;display:flex;flex-direction:column}.shell-topbar .user-menu-head .nm{font-size:13px;font-weight:600;color:var(--neutral-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-topbar .user-menu-head .em{font-size:11.5px;color:var(--neutral-500);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-topbar .user-menu-sep{height:1px;background:var(--neutral-100);margin:2px 4px 4px}.shell-topbar .user-menu-item{width:100%;display:flex;align-items:center;gap:9px;padding:9px 10px;border:0;background:transparent;border-radius:var(--radius-md);font-family:inherit;font-size:13px;font-weight:500;color:var(--neutral-700);text-align:left;cursor:pointer}.shell-topbar .user-menu-item:hover{background:var(--neutral-100)}.shell-topbar .user-menu-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.shell-topbar .user-menu-item.danger{color:var(--danger)}.shell-topbar .user-menu-item.danger:hover{background:var(--danger-subtle)}.shell-topbar .user-menu-item:disabled{opacity:.5;cursor:not-allowed}.shell-sidebar{background:var(--white);border-right:1px solid var(--neutral-200);overflow-y:auto;padding:12px 8px;display:flex;flex-direction:column;gap:2px}.shell-sidebar .nav-group{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--neutral-500);padding:12px 12px 6px}.shell-sidebar .nav-item{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:var(--radius-md);font-size:13px;color:var(--neutral-700);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none;background:transparent;border:0;text-align:left;width:100%;font-family:inherit}.shell-sidebar .nav-item:hover{background:var(--neutral-100);color:var(--neutral-900)}.shell-sidebar .nav-item.active{background:var(--primary-subtle);color:var(--primary);font-weight:500}.shell-sidebar .nav-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.shell-sidebar .nav-item.disabled{opacity:.45;cursor:not-allowed}.shell-sidebar .nav-item.disabled:hover{background:transparent;color:var(--neutral-700)}.shell-sidebar .nav-item .ic{width:16px;height:16px;flex-shrink:0}.shell-sidebar .nav-item .phase-pill{margin-left:auto;background:var(--neutral-100);color:var(--neutral-500);font-size:9px;font-weight:600;padding:1px 5px;border-radius:999px;font-family:var(--font-mono);letter-spacing:.04em}.shell-main{overflow-y:auto;background:var(--neutral-100)}:root,[data-palette=b]{--primary: #14253E;--primary-hover: #0E1B30;--primary-active: #081222;--primary-subtle: #EAEEF5;--primary-on: #FFFFFF;--accent: #0A0A0A;--accent-subtle: #F4F4F5;--neutral-900: #0A0A0A;--neutral-800: #18181B;--neutral-700: #27272A;--neutral-600: #3F3F46;--neutral-500: #71717A;--neutral-400: #A1A1AA;--neutral-300: #D4D4D8;--neutral-200: #E4E4E7;--neutral-100: #F4F4F5;--neutral-50: #FAFAFA;--white: #FFFFFF;--success: #15803D;--success-subtle: #DCFCE7;--warning: #B45309;--warning-subtle: #FEF3C7;--danger: #B91C1C;--danger-subtle: #FEE2E2;--info: #2563EB;--info-subtle: #DBEAFE;--success-text: #14532D;--warning-text: #92400E;--danger-text: #7F1D1D;--info-text: #1E3A8A;--info-on-dark: #93C5FD;--success-on-dark: #86EFAC;--success-dot: #22C55E;--chart-1: #14253E;--chart-2: #0A0A0A;--chart-3: #2563EB;--chart-4: #15803D;--chart-5: #B45309;--chart-6: #B91C1C;--chart-7: #71717A;--chart-8: #D4D4D8}:root,[data-density=compact]{--row-h: 36px;--cell-px: 12px;--cell-py: 8px;--field-h: 32px;--btn-h-md: 32px;--section-py: 20px;--card-p: 16px}[data-density=comfortable]{--row-h: 48px;--cell-px: 16px;--cell-py: 12px;--field-h: 38px;--btn-h-md: 38px;--section-py: 28px;--card-p: 20px}[data-density=spacious]{--row-h: 64px;--cell-px: 20px;--cell-py: 16px;--field-h: 44px;--btn-h-md: 44px;--section-py: 36px;--card-p: 24px}:root{--font-sans: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .08), 0 2px 4px -2px rgba(15, 23, 42, .04);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .08), 0 4px 6px -4px rgba(15, 23, 42, .04);--shadow-xl: 0 20px 40px -12px rgba(20, 37, 62, .18), 0 8px 16px -8px rgba(20, 37, 62, .08);--sidebar-w: 224px;--sidebar-w-collapsed: 56px;--topbar-h: 56px}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-field .lbl{font-size:12.5px;font-weight:500;color:var(--neutral-700)}.form-field .lbl .req{color:var(--danger);margin-left:2px}.form-field .help{font-size:11px;color:var(--neutral-500)}.form-field .err{font-size:11px;color:var(--danger)}.form-input,.form-select,.form-textarea{width:100%;padding:0 10px;height:36px;border-radius:var(--radius-md);border:1px solid var(--neutral-300);background:var(--white);color:var(--neutral-900);font-family:inherit;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}.form-textarea{height:auto;min-height:64px;padding:8px 10px;resize:vertical}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.form-input.err,.form-select.err,.form-textarea.err{border-color:var(--danger)}.form-input:disabled,.form-select:disabled{background:var(--neutral-50);color:var(--neutral-500);cursor:not-allowed}.input-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--neutral-500);cursor:pointer;transition:color .15s,background .15s}.input-icon-btn:hover{color:var(--neutral-800);background:var(--neutral-100)}.input-icon-btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 560px){.form-row{grid-template-columns:1fr}}.form-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--neutral-800);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.form-checkbox input{width:16px;height:16px;accent-color:var(--primary);margin:0}.form-radio-group{display:flex;gap:8px;flex-wrap:wrap}.form-radio{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--neutral-300);border-radius:var(--radius-md);background:var(--white);font-size:12.5px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--neutral-700)}.form-radio input{display:none}.form-radio:has(input:checked){background:var(--primary-subtle);border-color:var(--primary);color:var(--primary);font-weight:500}.form-banner-err{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--danger-subtle);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent);border-left:3px solid var(--danger);border-radius:var(--radius-md);color:var(--danger-text);font-size:12.5px;line-height:1.5;margin-bottom:14px}.form-banner-ok{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--success-subtle);border:1px solid color-mix(in srgb,var(--success) 25%,transparent);border-left:3px solid var(--success);border-radius:var(--radius-md);color:var(--success-text);font-size:12.5px;line-height:1.5;margin-bottom:14px}.btn-md{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border-radius:var(--radius-md);border:1px solid transparent;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}.btn-md:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-md:disabled{opacity:.55;cursor:not-allowed}.btn-md.primary{background:var(--primary);color:var(--primary-on);border-color:var(--primary)}.btn-md.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-md.ghost{background:transparent;color:var(--neutral-700);border-color:transparent}.btn-md.ghost:hover:not(:disabled){background:var(--neutral-100)}.btn-md.secondary{background:var(--white);color:var(--neutral-900);border-color:var(--neutral-300)}.btn-md.secondary:hover:not(:disabled){background:var(--neutral-50);border-color:var(--neutral-400)}.btn-md.danger{background:var(--danger);color:var(--white);border-color:var(--danger)}.btn-md.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 82%,#000);border-color:color-mix(in srgb,var(--danger) 82%,#000)}.page{padding:22px 28px 48px;margin:0 auto;max-width:1760px;width:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.page-title{font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.01em;margin:0 0 2px;color:var(--neutral-900)}.page-sub{font-size:13px;color:var(--neutral-500);margin:0}.split-2{display:grid;grid-template-columns:2fr 1fr;gap:16px}.split-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}@media (max-width: 1100px){.split-2,.split-3{grid-template-columns:1fr}}.d-card{background:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-lg);overflow:hidden}.d-card-head{padding:14px 18px;border-bottom:1px solid var(--neutral-100);display:flex;align-items:center;justify-content:space-between;gap:12px}.d-card-head .left{display:flex;align-items:baseline;gap:8px;min-width:0}.d-card-head .t{font-size:13px;font-weight:600;color:var(--neutral-900);letter-spacing:-.003em}.d-card-head .s{font-size:11.5px;color:var(--neutral-500);font-family:var(--font-mono)}.d-card-body{padding:16px 18px}.d-card-body.tight{padding:12px 16px}.d-card-body.flush{padding:0}.dcard-link{font-size:11.5px;color:var(--primary);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.dcard-link:hover{text-decoration:underline}.dcard-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}.dash-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}@media (max-width: 1380px){.dash-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 760px){.dash-kpi-grid{grid-template-columns:repeat(2,1fr)}}.dash-kpi{background:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-lg);padding:12px 14px 12px 17px;position:relative;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}.dash-kpi:hover{border-color:var(--neutral-300);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.dash-kpi:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.dash-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--kpi-color, var(--primary))}.dash-kpi .head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:6px}.dash-kpi .head .lbl{font-size:10.5px;color:var(--neutral-500);font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-kpi .head .trend{font-family:var(--font-mono);font-size:10.5px;display:inline-flex;align-items:center;gap:2px;white-space:nowrap;font-weight:600}.dash-kpi .head .trend.up{color:var(--success)}.dash-kpi .head .trend.down{color:var(--danger)}.dash-kpi .head .trend.flat{color:var(--neutral-500)}.dash-kpi .val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;color:var(--neutral-900);line-height:1.1;letter-spacing:-.015em;display:inline-flex;align-items:baseline;gap:4px}.dash-kpi .val .unit{font-family:var(--font-sans);font-size:11px;font-weight:500;color:var(--neutral-500)}.dash-kpi .sub{margin-top:6px;font-size:11px;color:var(--neutral-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-chart{display:flex;align-items:flex-end;gap:6px;height:180px;padding:12px 4px 0}.bar-chart .bar{flex:1;background:var(--primary);border-radius:2px 2px 0 0;position:relative;min-width:8px;transition:background .12s}.bar-chart .bar.alt{background:var(--accent)}.bar-chart .bar:hover{background:var(--primary-hover)}.bar-chart .bar:hover:after{content:attr(data-val);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:var(--neutral-900);color:var(--white);font-size:11px;padding:2px 6px;border-radius:4px;white-space:nowrap;z-index:2}.chart-x{display:flex;gap:6px;padding:6px 4px 0;font-size:10.5px;color:var(--neutral-500);font-family:var(--font-mono)}.chart-x span{flex:1;text-align:center;min-width:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-card{display:flex;flex-direction:column}.list-card .list-item{display:flex;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid var(--neutral-100);font-size:13px}.list-card .list-item:last-child{border-bottom:0}.list-card .list-item .body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.list-card .list-item .body .t{font-weight:500;color:var(--neutral-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-card .list-item .body .s{font-size:12px;color:var(--neutral-500)}.list-card .list-item .amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12.5px;white-space:nowrap}.d-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 16px;min-height:140px;text-align:center;color:var(--neutral-400)}.d-empty svg{color:var(--neutral-300)}.d-empty .m{font-size:12.5px}.cdlg-backdrop{position:fixed;inset:0;z-index:400;background:color-mix(in srgb,var(--neutral-900) 45%,transparent);display:flex;align-items:center;justify-content:center;padding:20px;animation:cdlgFade .15s ease-out}.cdlg{width:100%;max-width:430px;background:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:20px;display:grid;grid-template-columns:auto 1fr;gap:14px;animation:cdlgPop .16s cubic-bezier(.4,0,.2,1)}.cdlg-icon{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.cdlg-icon.danger{background:var(--danger-subtle);color:var(--danger)}.cdlg-icon.primary{background:var(--primary-subtle);color:var(--primary)}.cdlg-body{min-width:0}.cdlg-title{font-size:15px;font-weight:600;margin:3px 0 6px;color:var(--neutral-900)}.cdlg-msg{font-size:13px;color:var(--neutral-600);line-height:1.55}.cdlg-foot{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.cdlg-foot .btn-md{min-width:104px;justify-content:center}@keyframes cdlgFade{0%{opacity:0}to{opacity:1}}@keyframes cdlgPop{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.skel{border-radius:var(--radius-lg);border:1px solid var(--neutral-200);background:linear-gradient(90deg,var(--neutral-100) 25%,var(--neutral-50) 37%,var(--neutral-100) 63%);background-size:400% 100%;animation:skelShimmer 1.4s ease infinite}@keyframes skelShimmer{0%{background-position:100% 0}to{background-position:0 0}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Montserrat,system-ui,-apple-system,Segoe UI,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--neutral-900);background:var(--neutral-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em}#root{min-height:100dvh;display:flex;flex-direction:column}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:0ms!important;animation-iteration-count:1!important;transition-duration:0ms!important;scroll-behavior:auto!important}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.list-item{display:list-item}.hidden{display:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mono,.num,.tabular{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
