.bm{display:inline-flex;align-items:center;gap:.32em;font-size:var(--bm-size, 32px);line-height:1}.bm-mark,.bm-word{display:block;background-position:center;background-repeat:no-repeat;background-size:contain}.bm-mark{height:1em;aspect-ratio:216 / 258;background-image:url(/brand/bibimble-mark.png)}.bm-word{height:.52em;aspect-ratio:338 / 81;background-image:url(/brand/bibimble-word.png)}:root[data-theme=dark] .bm-mark,.bm--on-dark .bm-mark{background-image:url(/brand/bibimble-mark-dark.png)}:root[data-theme=dark] .bm-word,.bm--on-dark .bm-word{background-image:url(/brand/bibimble-word-dark.png)}.tn-step{display:flex;flex-direction:column;gap:14px;animation:tn-step-in .26s cubic-bezier(.22,1,.36,1) both}.tn-center{text-align:center;align-items:center}.tn-lead-center{text-align:center}.tn-fieldset{display:flex;flex-direction:column;gap:12px}@keyframes tn-step-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.tn-swap{animation:tn-swap-fwd .3s cubic-bezier(.22,1,.36,1) both}.tn-swap--back{animation-name:tn-swap-back}@keyframes tn-swap-fwd{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}@keyframes tn-swap-back{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:none}}.tn-stepper{display:flex;align-items:flex-start;gap:0;margin:0 0 2px;padding:0;list-style:none}.tn-stepper-item{position:relative;display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;gap:6px}.tn-stepper-item:before{content:"";position:absolute;top:12px;left:-50%;right:50%;height:2px;z-index:0;background:var(--login-line)}.tn-stepper-item:first-child:before{display:none}.tn-stepper-item.is-done:before,.tn-stepper-item.is-current:before{background:var(--login-signal-soft)}.tn-stepper-mark{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;border:2px solid var(--login-line);background:var(--login-card);color:var(--login-mute);font-size:var(--text-xs);font-weight:700;font-variant-numeric:tabular-nums;transition:background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease),transform var(--motion-base) var(--motion-ease-out)}.tn-stepper-item.is-current .tn-stepper-mark{background:var(--login-signal);border-color:var(--login-signal);color:#fff;transform:scale(1.08);box-shadow:0 0 0 4px #8b5cf624}.tn-stepper-item.is-done .tn-stepper-mark{background:var(--login-signal-soft);border-color:var(--login-signal-soft);color:#06333a}.tn-stepper-label{font-size:11px;font-weight:600;letter-spacing:.01em;color:var(--login-mute);text-align:center;white-space:nowrap;transition:color var(--motion-fast) var(--motion-ease)}.tn-stepper-item.is-current .tn-stepper-label{color:var(--login-ink)}.tn-stepper-item.is-done .tn-stepper-label{color:var(--login-ink-soft)}.tn-field-err{display:flex;align-items:center;gap:5px;font-size:var(--text-xs);font-weight:500;line-height:1.4;color:var(--color-accent-red, #d31c2e)}.tn-field-err:before{content:"!";display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;border-radius:50%;background:var(--color-accent-red, #d31c2e);color:#fff;font-size:10px;font-weight:800}.tn-field-caps{font-size:var(--text-xs);font-weight:600;letter-spacing:.01em;color:#b45309}.tn-input--select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.tn-secondary,.tn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:0 18px;border-radius:12px;font-family:var(--font-sans);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}.tn-secondary{border:1px solid var(--login-line);background:#fff;color:var(--login-ink);box-shadow:0 1px 2px #0b1b2b0a}.tn-secondary:hover:not(:disabled){background:#faf9ff;border-color:#aaa2cb}.tn-ghost{border:1px solid var(--login-line);background:none;color:var(--login-ink-soft)}.tn-ghost:hover:not(:disabled){background:var(--surface-soft, #f5f7fa)}.tn-secondary:disabled,.tn-ghost:disabled{opacity:.5;cursor:not-allowed}.tn-wizard-actions{display:flex;gap:10px}.tn-wizard-actions .tn-ghost{flex:0 0 34%}.tn-wizard-actions .tn-primary{flex:1}.tn-othercompany{align-self:center;margin-top:2px;font-weight:500;color:var(--login-mute)}.tn-consent{display:flex;align-items:flex-start;gap:8px;padding:2px;font-size:var(--text-sm);line-height:1.5;color:var(--login-ink-soft);cursor:pointer}.tn-consent input[type=checkbox]{flex:none;width:16px;height:16px;margin-top:3px;accent-color:var(--login-signal);cursor:pointer}.tn-consent a{color:var(--login-signal);font-weight:600}.tn-consent a:hover{text-decoration:underline}.tn-company{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--login-line);border-radius:14px;background:#f5fdfc}.tn-company-logo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:12px;overflow:hidden;background:linear-gradient(155deg,var(--login-panel-1) 0%,var(--login-panel-2) 100%)}.tn-company-logo img{width:100%;height:100%;object-fit:contain}.tn-company-initial{font-family:var(--login-brand-font);font-size:20px;font-weight:700;color:#f5faff}.tn-company-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.tn-company-name{font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--login-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tn-company-code{font-size:var(--text-xs);color:var(--login-mute);letter-spacing:.01em}.tn-hub{display:flex;flex-direction:column;gap:14px;animation:tn-step-in .3s cubic-bezier(.22,1,.36,1) both}.tn-banner{display:flex;align-items:flex-start;gap:8px;padding:11px 13px;border:1px solid #a78bfa33;border-radius:12px;background:#a78bfa14;font-size:var(--text-sm);line-height:1.5;color:var(--login-ink-soft)}.tn-banner-dot{flex-shrink:0;width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--login-cyan)}.tn-hubcard{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--login-line);border-radius:14px;background:#fff}.tn-hubcard--invite{border-color:#aee3e1;background:linear-gradient(160deg,#eefcfa,#fff)}.tn-hubcard-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.tn-hubcard-title{font-size:var(--text-sm);font-weight:700;color:var(--login-ink)}.tn-hubcard-sub{margin:0;font-size:var(--text-xs);line-height:1.5;color:var(--login-mute)}.tn-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--login-signal);color:#fff;font-size:var(--text-2xs, 11px);font-weight:700}.tn-invitehero{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:20px 16px 16px;border:none;border-radius:14px;overflow:hidden;background:linear-gradient(155deg,var(--login-panel-1) 0%,var(--login-panel-2) 100%);color:#f5faff;cursor:pointer;box-shadow:0 1px 2px #0b1b2b29;transition:transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease)}.tn-invitehero:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px -12px #0b1b2b80}.tn-invitehero:active:not(:disabled){transform:scale(.995)}.tn-invitehero:disabled{cursor:default;opacity:.85}.tn-invitehero-code{font-family:var(--login-brand-font);font-size:clamp(30px,9vw,40px);font-weight:700;line-height:1;letter-spacing:.14em;padding-left:.14em;text-align:center;word-break:break-all}.tn-invitehero-cta{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);font-weight:600;letter-spacing:.01em;color:#f5faffd1;transition:color var(--motion-fast) var(--motion-ease)}.tn-invitehero.is-copied .tn-invitehero-cta{color:var(--login-signal-soft)}.tn-joinlist{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.tn-joinrow{display:flex;align-items:center;gap:10px;max-height:88px;padding:10px 12px;border:1px solid var(--login-line);border-radius:10px;background:#fff;animation:tn-row-in .24s var(--motion-ease-out) both;transition:opacity .26s var(--motion-ease),transform .26s var(--motion-ease),max-height .26s var(--motion-ease),margin .26s var(--motion-ease),padding .26s var(--motion-ease)}@keyframes tn-row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tn-joinrow--leaving{opacity:0;max-height:0;margin-top:-8px;padding-top:0;padding-bottom:0;border-width:0;overflow:hidden;pointer-events:none;transform:translate(28px)}.tn-joinrow--skel{animation:none}.tn-joinrow-meta{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}.tn-joinrow-meta strong{font-size:var(--text-sm);color:var(--login-ink)}.tn-joinrow-sub{font-size:var(--text-xs);color:var(--login-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tn-joinrow-acts{display:flex;flex-shrink:0;gap:6px}.tn-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:linear-gradient(150deg,var(--login-signal) 0%,var(--login-cyan) 130%);color:#fff;font-size:var(--text-sm);font-weight:700}.tn-mini{min-height:34px;padding:0 12px;border:1px solid transparent;border-radius:8px;font-size:var(--text-xs);font-weight:700;cursor:pointer;transition:opacity var(--motion-fast)}.tn-mini:disabled{opacity:.5;cursor:not-allowed}.tn-mini--ok{background:var(--login-signal);color:#fff}.tn-mini--ok:hover:not(:disabled){background:#0c4651}.tn-mini--no{border-color:var(--login-line);background:#fff;color:var(--login-ink-soft)}.tn-mini--no:hover:not(:disabled){border-color:#dd8d99;color:var(--color-accent-red, #d31c2e)}.tn-empty{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0;padding:18px 8px;text-align:center}.tn-empty-illus{display:inline-flex;margin-bottom:4px;color:var(--login-mute)}.tn-empty-illus svg{display:block;width:24px;height:24px}.tn-empty-title{margin:0;font-size:var(--text-sm);font-weight:700;color:var(--login-ink-soft)}.tn-empty-sub{margin:0;font-size:var(--text-xs);line-height:1.55;color:var(--login-mute)}.tn-skelbox,.tn-skelline{border-radius:6px;background:linear-gradient(90deg,#5b6b7d1f 25%,#5b6b7d38 37%,#5b6b7d1f 63%) 0 0 / 400% 100%;animation:tn-shimmer 1.4s ease-in-out infinite}.tn-skelline{height:10px}.tn-joinrow--skel .tn-avatar.tn-skelbox{border-radius:50%}@keyframes tn-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.tn-statusicon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin:2px 0;border-radius:50%;line-height:1;animation:tn-pop .18s var(--motion-ease) both}.tn-statusicon svg{display:block;width:28px;height:28px}.tn-statusicon--wait{background:#a78bfa24;color:var(--login-signal)}.tn-statusicon--ok{background:#8b5cf62e;color:var(--login-signal)}.tn-statusicon--warn{background:#f59e0b29;color:#b45309}.tn-statusicon--error{background:#d31c2e24;color:var(--color-accent-red, #d31c2e)}@keyframes tn-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}:root[data-theme=dark] .login-page.login-shell .tn-secondary,:root[data-theme=dark] .login-page.login-shell .tn-hubcard,:root[data-theme=dark] .login-page.login-shell .tn-joinrow,:root[data-theme=dark] .login-page.login-shell .tn-company{background:#16223a;border-color:var(--login-line);color:var(--login-ink)}:root[data-theme=dark] .login-page.login-shell .tn-company-name,:root[data-theme=dark] .login-page.login-shell .tn-hubcard-title{color:var(--login-ink)}:root[data-theme=dark] .login-page.login-shell .tn-hubcard--invite{background:linear-gradient(160deg,#16273a,#101a2c);border-color:#27636d}:root[data-theme=dark] .login-page.login-shell .tn-invitehero{background:linear-gradient(155deg,#16273a,#1f3050)}:root[data-theme=dark] .login-page.login-shell .tn-company-logo{background:linear-gradient(155deg,#1c2b45,#24334a)}:root[data-theme=dark] .login-page.login-shell .tn-stepper-mark{background:#16223a}:root[data-theme=dark] .login-page.login-shell .tn-field-caps{color:#fbbf24}:root[data-theme=dark] .login-page.login-shell .tn-statusicon--wait,:root[data-theme=dark] .login-page.login-shell .tn-statusicon--ok{color:var(--login-signal-soft)}:root[data-theme=dark] .login-page.login-shell .tn-statusicon--warn{color:#fbbf24}:root[data-theme=dark] .login-page.login-shell .tn-statusicon--error{color:#f87171;background:#ff7b8524}:root[data-theme=dark] .login-page.login-shell .tn-mini--no,:root[data-theme=dark] .login-page.login-shell .tn-ghost:hover:not(:disabled){background:#16223a}:root[data-theme=dark] .login-page.login-shell .tn-mini--no:hover:not(:disabled){border-color:#875365}:root[data-theme=dark] .login-page.login-shell .tn-secondary:hover:not(:disabled){background:#1e2c47;border-color:#1b3e51;color:var(--login-ink)}:root[data-theme=dark] .login-page.login-shell .tn-skelbox,:root[data-theme=dark] .login-page.login-shell .tn-skelline{background:linear-gradient(90deg,#8fa3b81f 25%,#8fa3b838 37%,#8fa3b81f 63%)}.login-page{--login-ink: #0c1426;--login-ink-2: #0f2740;--login-panel-1: #1b0f3f;--login-panel-2: #3a1a8c;--login-ink-soft: #3d4f63;--login-mute: #5b6b7d;--login-paper: #fafbfc;--login-card: #fff;--login-line: #e5e9f0;--login-signal: #4c2fa8;--login-signal-soft: #a78bfa;--login-cyan: #c4b5fd;--login-brand-font: "Syne", var(--font-sans);isolation:isolate;display:flex;position:relative;min-height:100dvh;background:var(--login-paper)}.login-page.login-shell{flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0;overflow:hidden auto}.login-brandpanel{display:none;position:relative;overflow:hidden;background:linear-gradient(155deg,var(--login-panel-1) 0%,var(--login-panel-2) 100%);color:#f5faff}.login-bp-atmos{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.login-bp-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(#f5faff0d 1px,transparent 1px);background-size:22px 22px}.login-bp-ghost{position:absolute;right:-8%;bottom:-12%;z-index:1;width:min(52vw,460px);height:auto;opacity:.05;pointer-events:none}.login-bp-brand{position:relative;z-index:2;display:flex;align-items:center;gap:12px}.login-bp-brand .bm-mark{filter:drop-shadow(0 2px 8px #00000052)}.login-bp-display{position:relative;z-index:2;display:flex;flex-direction:column;gap:16px;margin:auto 0}.login-bp-headline{margin:0;font-family:var(--login-brand-font);font-size:clamp(28px,3vw,40px);font-weight:700;line-height:1.14;letter-spacing:-.02em;color:#f5faff}.login-bp-sub{margin:0;font-size:14px;line-height:1.5;letter-spacing:.01em;color:#f5faffc7}.login-bp-caption{position:relative;z-index:2;margin:0;font-size:12px;letter-spacing:.04em;color:#f5faff9e}.login-mband{display:flex;flex-direction:column;gap:12px;padding:calc(24px + env(safe-area-inset-top)) 22px 26px;background:linear-gradient(158deg,var(--login-panel-1) 0%,var(--login-panel-2) 100%);color:#f5faff}.login-mband-top{display:flex;align-items:center;gap:10px}.login-mband-top .bm-mark{filter:drop-shadow(0 2px 6px #08101e47)}.login-mband-headline{font-family:var(--login-brand-font);font-size:clamp(18px,5.2vw,22px);font-weight:700;line-height:1.25;letter-spacing:-.02em;color:#f5faff}.login-formpanel{display:flex;flex-direction:column;flex:1;min-width:0;background:var(--login-paper)}.login-formcard{display:flex;flex-direction:column;gap:16px;width:100%;max-width:440px;margin:0 auto;padding:26px 22px calc(28px + env(safe-area-inset-bottom));border:1px solid var(--login-line);border-radius:16px;background:var(--login-card);box-shadow:0 1px 2px #0b1b2b0a,0 18px 40px -26px #0b1b2b38;animation:login-rise .4s cubic-bezier(.22,1,.36,1) both}@keyframes login-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.login-lead{margin:2px 0 0;padding-bottom:2px;text-align:left}.login-lead-title{margin:0;font-family:var(--login-brand-font);font-size:24px;font-weight:700;line-height:1.2;letter-spacing:-.03em;color:var(--login-ink)}.login-lead-sub{margin:6px 0 0;font-size:var(--text-sm);line-height:1.45;color:var(--login-ink-soft)}.tn-emailform{display:flex;flex-direction:column;gap:12px}.tn-field{display:flex;flex-direction:column;gap:6px}.tn-field-label{font-size:var(--text-xs);font-weight:600;letter-spacing:.01em;color:var(--login-ink-soft)}.tn-inputbox{display:block;position:relative}.tn-input{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--login-line);border-radius:12px;background:#fff;color:var(--login-ink);font-family:var(--font-sans);font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease)}.tn-input--pw{padding-right:46px}.tn-input::placeholder{color:var(--login-mute)}.tn-input:focus{outline:none;border-color:var(--login-signal);box-shadow:0 0 0 3px #4c2fa829}.tn-field-hint{font-size:var(--text-xs);color:var(--login-mute)}.tn-eye{position:absolute;top:50%;right:4px;transform:translateY(-50%);display:inline-flex;justify-content:center;align-items:center;width:40px;height:40px;border-radius:10px;color:var(--login-mute);transition:color var(--motion-fast) var(--motion-ease),background var(--motion-fast) var(--motion-ease)}.tn-eye:hover{color:var(--login-ink-soft)}.tn-eye:active{background:#5b6b7d24}.tn-field--error .tn-input{border-color:var(--color-accent-red);box-shadow:0 0 0 3px #d31c2e29;animation:tn-shake .32s cubic-bezier(.36,.07,.19,.97) both}@keyframes tn-shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.tn-field-err,.login-error{display:flex;align-items:center;gap:5px;margin:0;font-size:var(--text-xs);font-weight:500;line-height:1.4;color:var(--color-accent-red)}.login-notice{display:flex;align-items:center;gap:6px;margin:4px 0 0;padding:8px 10px;border-radius:var(--rounded-md, 8px);background:var(--surface-soft, rgba(0, 0, 0, .04));font-size:var(--text-xs);font-weight:500;line-height:1.4;color:var(--color-body-mid, #444)}.tn-field-err:before,.login-error:before{content:"!";display:inline-flex;justify-content:center;align-items:center;width:14px;height:14px;border-radius:50%;background:var(--color-accent-red);color:#fff;font-size:10px;font-weight:800;flex-shrink:0}.tn-primary,.tn-secondary,.google-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;padding:0 18px;border-radius:12px;font-family:var(--font-sans);font-size:var(--text-base);font-weight:600;transition:background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}.tn-primary{border:1px solid transparent;background:var(--login-panel-1);color:#f5faff;box-shadow:0 1px 2px #0b1b2b29}.tn-primary:hover:not(:disabled){background:var(--login-panel-2);box-shadow:0 6px 16px -10px #0b1b2b73}.tn-primary:active:not(:disabled){transform:scale(.99)}.tn-primary:disabled,.google-btn:disabled{opacity:.5;cursor:not-allowed}.google-btn{gap:12px;border:1px solid var(--login-line);background:#fff;color:var(--login-ink);box-shadow:0 1px 2px #0b1b2b0a}.google-btn:hover:not(:disabled){background:#faf9ff;border-color:#4c2fa859;box-shadow:0 1px 2px #0b1b2b0f,0 8px 20px -10px #4c2fa847}.google-btn:active:not(:disabled){transform:scale(.985)}.tn-or{display:flex;align-items:center;gap:12px;margin:2px 0;font-size:var(--text-xs);color:var(--login-mute)}.tn-or:before,.tn-or:after{content:"";flex:1;height:1px;background:var(--login-line)}.tn-textlink{padding:6px 2px;font-size:var(--text-sm);font-weight:600;color:var(--login-signal)}.tn-textlink:hover{text-decoration:underline}.tn-textlink--right{align-self:flex-end}.login-alt{margin:0;text-align:center;font-size:var(--text-sm);color:var(--login-ink-soft)}.login-spinner{width:18px;height:18px;border:2px solid #0c14262e;border-top-color:var(--login-signal);border-radius:50%;flex-shrink:0;animation:login-spin .7s linear infinite}.tn-primary .login-spinner{border-color:#fff #f5faff66 #f5faff66}@keyframes login-spin{to{transform:rotate(360deg)}}.login-shell :focus-visible{outline:2px solid var(--login-signal);outline-offset:2px;box-shadow:none}@media(min-width:768px){.login-page.login-shell{flex-direction:row;height:100dvh;min-height:0;overflow:hidden}.login-brandpanel{display:flex;flex-direction:column;flex:0 0 44%;padding:44px 44px 40px}.login-mband{display:none}.login-formpanel{flex:56%;justify-content:center;align-items:center;padding:40px;overflow-y:auto}.login-formcard{max-width:428px;margin:auto;padding:38px 34px;gap:18px}}@media(max-width:400px){.login-formcard{padding:22px 18px calc(24px + env(safe-area-inset-bottom));gap:16px}.login-lead-title{font-size:21px}.login-lead-sub{font-size:var(--text-xs)}}@media(prefers-reduced-motion:reduce){.login-formcard,.tn-field--error .tn-input{animation:none}}:root[data-theme=dark] .login-page{--login-paper: #0a1220;--login-card: #101a2c;--login-line: #24334a;--login-ink: #eef4fb;--login-ink-2: #cdd9e8;--login-ink-soft: #9fb0c4;--login-mute: #8fa3b8;background:#0a1220}:root[data-theme=dark] .login-formcard{background:var(--login-card);border-color:var(--login-line);box-shadow:0 18px 40px -26px #0009}:root[data-theme=dark] .tn-input,:root[data-theme=dark] .tn-secondary,:root[data-theme=dark] .google-btn{background:#16223a;border-color:var(--login-line);color:var(--login-ink)}:root[data-theme=dark] .tn-input::placeholder{color:#7e93aa}:root[data-theme=dark] .tn-primary{background:linear-gradient(150deg,#1c2b45 0%,var(--login-signal-soft) 260%);color:#f5faff}:root[data-theme=dark] .google-btn:hover:not(:disabled){background:#1e2c47;color:var(--login-ink)}:root[data-theme=dark] .tn-textlink,:root[data-theme=dark] .login-spinner{--login-signal: var(--login-signal-soft)}:root[data-theme=dark] .tn-textlink{color:var(--login-signal-soft)}.demogate-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:#0b1424b0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:demogate-fade .2s ease both}@keyframes demogate-fade{0%{opacity:0}to{opacity:1}}.demogate-modal{width:100%;max-width:400px;max-height:calc(100dvh - 40px);overflow-y:auto;padding:26px 26px 22px;border-radius:16px;background:#fff;color:#0c1426;box-shadow:0 24px 60px -20px #0b1b2b73;animation:demogate-rise .28s cubic-bezier(.22,1,.36,1) both}@keyframes demogate-rise{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.demogate-title{margin:0 0 14px;font-family:"Syne",var(--font-sans);font-size:20px;font-weight:700;letter-spacing:-.02em;color:#0c1426}.demogate-body{display:flex;flex-direction:column;gap:12px}.demogate-body p{margin:0;font-size:14px;line-height:1.6;color:#3d4f63}.demogate-body strong{font-weight:700;color:#0c1426}.demogate-highlight{padding:12px 14px;border:1px solid #8b5cf63d;border-radius:10px;background:#8b5cf612}.demogate-highlight p{color:#0c1426}.demogate-highlight-sub{margin-top:3px!important;font-size:12px!important;color:#5b6b7d!important}.demogate-fine{font-size:12px!important;color:#5b6b7d!important}.demogate-start{width:100%;min-height:46px;margin-top:18px;border-radius:12px;background:#1b0f3f;color:#f5faff;font-family:var(--font-sans);font-size:15px;font-weight:600;transition:filter var(--motion-fast) var(--motion-ease)}.demogate-start:hover{filter:brightness(1.15)}:root[data-theme=dark] .demogate-modal{background:#101a2e;color:#eef2f8;box-shadow:0 24px 60px -20px #000000a6}:root[data-theme=dark] .demogate-title{color:#eef2f8}:root[data-theme=dark] .demogate-body p{color:#aab6c8}:root[data-theme=dark] .demogate-body strong,:root[data-theme=dark] .demogate-highlight p{color:#eef2f8}:root[data-theme=dark] .demogate-start{background:#2563eb}.ms-group{display:flex;flex-direction:column;gap:8px}.ms-group-label{font-size:var(--text-xs);letter-spacing:.04em;color:var(--login-mute)}.ms-group-label b{font-weight:700;color:var(--login-ink-soft)}.erp-dd .module-glyph,.gw-row .module-glyph{width:36px;height:36px;border-radius:11px}.erp-dd-opt .module-glyph{width:32px;height:32px}.erp-dd{position:relative}.erp-dd-trigger{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid #0b1b2b1a;border-radius:14px;background:#ffffffb8;text-align:left;transition:border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease),background var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}.erp-dd-trigger:hover{background:var(--login-card);border-color:#4c2fa866;transform:translateY(-1px);box-shadow:0 8px 18px -12px #0c142638}.erp-dd--open .erp-dd-trigger{background:var(--login-card);border-color:var(--login-signal);box-shadow:0 0 0 3px #8b5cf629}.erp-dd-text{display:flex;flex-direction:column;gap:1px;min-width:0}.erp-dd-text strong{font-size:var(--text-base);font-weight:700;color:var(--login-ink)}.erp-dd-chev{margin-left:auto;flex:none;font-size:22px;color:var(--login-mute);transition:transform var(--motion-fast) var(--motion-ease)}.erp-dd--open .erp-dd-chev{transform:rotate(180deg)}.erp-dd-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;display:flex;flex-direction:column;gap:2px;max-height:60vh;margin:0;padding:6px;list-style:none;overflow-y:auto;border:1px solid #0b1b2b1a;border-radius:14px;background:var(--login-card);box-shadow:0 18px 40px -18px #0b1b2b59;animation:modal-in var(--motion-fast) var(--motion-ease-out)}.erp-dd-opt{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border-radius:10px;text-align:left;color:var(--login-ink)}.erp-dd-opt:hover{background:var(--surface-soft)}.erp-dd-opt strong{font-size:var(--text-sm);font-weight:600}.erp-dd-opt--active{background:#8b5cf61a}.erp-dd-chk{margin-left:auto;font-size:18px;font-weight:800;color:var(--login-signal)}.gw-list{display:flex;flex-direction:column;gap:8px}.gw-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid #0b1b2b1a;border-radius:14px;background:#ffffffb8;color:var(--login-ink);text-align:left;-webkit-tap-highlight-color:transparent;transition:border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease),background var(--motion-fast) var(--motion-ease)}.gw-row:hover{background:var(--login-card);border-color:#a89ec9;transform:translateY(-1px);box-shadow:0 8px 18px -12px #0c142638}.gw-row:active{transform:scale(.99)}.gw-row-text{display:flex;flex-direction:column;gap:1px;min-width:0}.gw-row-text strong{font-size:var(--text-base);font-weight:700}.gw-row-go{margin-left:auto;flex:none;font-size:var(--text-lg);color:var(--login-mute);transition:transform var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.gw-row:hover .gw-row-go{transform:translate(2px);color:var(--login-ink-soft)}.ms-account{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--login-line)}.ms-account .avatar-fallback{width:34px;height:34px;font-size:var(--text-xs)}.ms-account-text{display:flex;flex-direction:column;flex:1;gap:1px;min-width:0}.ms-account-text strong{font-size:var(--text-md);font-weight:600;color:var(--login-ink)}:root[data-theme=dark] .erp-dd-trigger,:root[data-theme=dark] .gw-row{background:#16223a;border-color:var(--login-line);color:var(--login-ink)}:root[data-theme=dark] .erp-dd-trigger:hover,:root[data-theme=dark] .gw-row:hover{border-color:#1a4052}:root[data-theme=dark] .erp-dd-menu{background:var(--login-card);border-color:var(--login-line)}:root[data-theme=dark] .erp-dd-opt--active{background:#17283f}.route-gate{position:fixed;inset:var(--topbar-height) 0 0 0;z-index:var(--z-overlay);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:radial-gradient(52rem 34rem at 18% -6%,rgba(139,92,246,.06),transparent 62%),radial-gradient(56rem 38rem at 88% 108%,rgba(167,139,250,.07),transparent 60%),var(--color-paper);animation:route-gate-in .14s var(--motion-ease) both}@keyframes route-gate-in{0%{opacity:0}to{opacity:1}}.route-gate-stage{position:relative;display:flex;align-items:center;justify-content:center;width:72px;height:72px;animation:route-gate-rise .5s cubic-bezier(.16,1,.3,1) both}.route-gate-stage:before{content:"";position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;border:1.5px solid rgba(139,92,246,.5);animation:route-gate-ripple 2s cubic-bezier(.2,.6,.35,1) infinite}.route-gate-stage .bm-mark{filter:drop-shadow(0 12px 22px rgba(70,54,179,.3));animation:route-gate-pulse 2s ease-in-out infinite}.route-gate-word{display:flex;justify-content:center;margin:20px 0 0;animation:route-gate-rise .5s cubic-bezier(.16,1,.3,1) .08s both}.route-gate-word .bm-word{height:22px}.route-gate-loader{position:relative;width:150px;height:3px;margin-top:24px;border-radius:999px;background:color-mix(in srgb,var(--color-ink) 8%,transparent);overflow:hidden;animation:route-gate-rise .5s cubic-bezier(.16,1,.3,1) .14s both}.route-gate-loader span{position:absolute;inset:0 auto 0 0;width:0%;border-radius:999px;background:var(--brand-gradient);box-shadow:0 0 10px #a78bfa80;animation:route-gate-fill .5s cubic-bezier(.4,0,.2,1) .2s forwards}@keyframes route-gate-fill{0%{width:0%}to{width:100%}}.route-gate-spinning{display:flex;align-items:center;gap:8px;margin-top:16px;opacity:0;animation:route-gate-fade .24s ease-out .72s forwards}.route-gate-spinner{width:15px;height:15px;border-radius:50%;border:2px solid color-mix(in srgb,var(--color-ink) 14%,transparent);border-top-color:var(--brand-signal-1);animation:route-gate-spin .7s linear infinite}.route-gate-loadtext{font-size:var(--text-xs);color:var(--color-mute)}@keyframes route-gate-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes route-gate-spin{to{transform:rotate(360deg)}}@keyframes route-gate-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes route-gate-ripple{0%{transform:scale(.72);opacity:0}18%{opacity:.9}to{transform:scale(1.7);opacity:0}}@keyframes route-gate-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@media(prefers-reduced-motion:reduce){.route-gate,.route-gate-stage,.route-gate-stage:before,.route-gate-stage .bm-mark,.route-gate-word,.route-gate-loader,.route-gate-loader span,.route-gate-spinning,.route-gate-spinner{animation:none}.route-gate-stage:before{display:none}.route-gate-loader span{width:100%}.route-gate-spinning{opacity:1}}.tab-icon--glyph{display:inline-flex;justify-content:center;align-items:center;padding:3px 5px;border-radius:var(--rounded-full);color:inherit}.tab-item--more{background:none;border:none;font-family:inherit;cursor:pointer}.primary-tab-badge--tab{position:absolute;top:-4px;left:calc(50% + 8px)}.m-qm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);display:flex;align-items:flex-end;background:#09090b6b;-webkit-tap-highlight-color:transparent}:root[data-theme=dark] .m-qm-backdrop{background:#f2f2f56b}.m-qm-sheet{display:flex;flex-direction:column;gap:12px;width:100%;max-height:92dvh;padding:10px 16px calc(16px + env(safe-area-inset-bottom,0px));overflow-y:auto;border-radius:16px 16px 0 0;background:var(--color-paper);box-shadow:0 -8px 30px #0f172a2e;animation:m-qm-up var(--motion-base) var(--motion-ease)}@keyframes m-qm-up{0%{opacity:.6;transform:translateY(32px)}to{opacity:1;transform:none}}.m-qm-handle{flex-shrink:0;width:40px;height:4px;margin:2px auto 4px;border-radius:var(--rounded-full);background:var(--color-hairline-strong)}.m-qm-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.m-qm-title{margin:0;color:var(--color-ink);font-size:18px;font-weight:700}.lg-sheet-close{flex-shrink:0;width:44px;height:44px;margin-left:12px;border:1px solid var(--color-hairline);border-radius:var(--rounded-full);background:var(--color-canvas);color:var(--color-mute);font-size:var(--text-md);cursor:pointer;transition:color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease)}.lg-sheet-close:hover{color:var(--color-ink);border-color:var(--color-ink)}.m-more-sheet{gap:4px}.m-more-sheet--sectioned{gap:6px}.m-more-sections{display:flex;flex-direction:column;gap:2px;padding-bottom:4px}.m-more-section{padding:10px 0 6px}.m-more-section+.m-more-section{border-top:1px solid var(--color-hairline)}.m-more-section-title{margin:0 0 8px;padding:0 2px;color:var(--color-body-mid);font-size:var(--text-xs);font-weight:700;letter-spacing:.02em}.m-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.m-more-cell{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:0 12px;border:1px solid var(--color-hairline);border-radius:var(--rounded-md);background:var(--color-canvas);color:var(--color-ink);font-size:var(--text-sm);font-weight:600;-webkit-tap-highlight-color:transparent;transition:background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.m-more-cell:active{background:var(--surface-soft)}.m-more-cell--active{border-color:var(--tab-accent, var(--color-ink));color:var(--tab-accent, var(--color-ink));background:color-mix(in srgb,var(--tab-accent, var(--color-ink)) 8%,transparent);font-weight:700}.m-more-cell-label{min-width:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.m-more-cell-tag{flex-shrink:0;padding:1px 6px;border:1px solid var(--color-hairline);border-radius:var(--rounded-full);background:var(--surface-soft);color:var(--color-mute);font-size:var(--text-2xs);font-weight:700;line-height:1.5;letter-spacing:.03em}.m-more-cell--active .m-more-cell-tag{color:var(--tab-accent, var(--color-ink));border-color:color-mix(in srgb,var(--tab-accent, var(--color-ink)) 45%,var(--color-hairline))}.m-more-list{display:flex;flex-direction:column;margin:0;padding:0 0 4px;list-style:none}.m-more-link{display:flex;align-items:center;gap:14px;min-height:52px;padding:0 6px;border-radius:var(--rounded-md);color:var(--color-ink);font-size:16px;font-weight:600;-webkit-tap-highlight-color:transparent}.m-more-link .tab-glyph{width:22px;height:22px;color:var(--color-mute)}.m-more-link:active{background:var(--color-canvas)}.m-more-link--active,.m-more-link--active .tab-glyph{color:var(--tab-accent, var(--color-ink))}.profile-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:#0b1424a8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:profile-fade .2s ease both}@keyframes profile-fade{0%{opacity:0}to{opacity:1}}.profile-modal{width:100%;max-width:420px;max-height:calc(100dvh - 40px);overflow-y:auto;padding:22px 22px 20px;border-radius:16px;background:var(--color-canvas);color:var(--color-ink);border:1px solid var(--color-hairline);box-shadow:var(--shadow-modal);animation:profile-rise .28s cubic-bezier(.22,1,.36,1) both}@keyframes profile-rise{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.profile-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.profile-title{margin:0;font-family:"Syne",var(--font-sans);font-size:18px;font-weight:700;letter-spacing:-.02em}.profile-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--color-mute);transition:background var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.profile-close:hover{background:var(--surface-soft);color:var(--color-ink)}.profile-body{display:flex;flex-direction:column;gap:12px}.profile-avatar-row{display:flex;align-items:center;gap:14px;padding-bottom:4px}.profile-avatar-upload{position:relative;flex-shrink:0;line-height:0}.profile-avatar{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#2a1470,#6225b4);color:#f5faff;font-size:27px;font-weight:700;flex-shrink:0}.profile-avatar-badge{position:absolute;right:-2px;bottom:-2px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:2px solid var(--color-canvas);background:var(--color-primary);color:var(--color-on-primary)}.profile-avatar-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.profile-mute{font-size:12px;color:var(--color-mute)}.profile-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.pe-crop{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.pe-crop-view{position:relative;flex-shrink:0;width:240px;max-width:min(240px,62vw);height:240px;aspect-ratio:1;overflow:hidden;border-radius:12px;background:var(--surface-soft);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.pe-crop-view:active{cursor:grabbing}.pe-crop-img{position:absolute;top:0;left:0;max-width:none;transform-origin:0 0;pointer-events:none;-webkit-user-drag:none}.pe-crop-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;pointer-events:none;box-shadow:inset 0 0 0 9999px #09090b29;-webkit-mask:radial-gradient(circle,#0000 calc(50% - 1px),#000 50%);mask:radial-gradient(circle,#0000 calc(50% - 1px),#000 50%)}.pe-crop-view:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;pointer-events:none;box-shadow:inset 0 0 0 1px var(--color-hairline)}.pe-crop-side{display:flex;flex:1;flex-direction:column;gap:8px;min-width:160px}.pe-crop-zoom{display:flex;flex-direction:column;gap:4px}.pe-crop-zoom input[type=range]{width:100%;accent-color:var(--color-primary)}.pe-crop-btns{display:flex;flex-wrap:wrap;gap:8px}.profile-readonly{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--color-hairline);border-radius:10px;background:var(--surface-soft)}.profile-readonly>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.profile-ro-val{font-size:14px;color:var(--color-body)}.profile-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.profile-btn{min-height:38px;padding:0 14px;border:1px solid var(--color-hairline-strong);border-radius:10px;background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans);font-size:14px;font-weight:600}.profile-btn:hover{background:var(--surface-soft)}.profile-textarea{min-height:76px;padding:10px 12px;resize:vertical;line-height:1.5}.profile-field{display:flex;flex-direction:column;gap:5px}.profile-label{font-size:var(--text-xs);font-weight:600;color:var(--color-body)}.profile-input{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--color-hairline-strong);border-radius:10px;background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans);font-size:15px;transition:border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease)}.profile-input:focus{outline:none;border-color:var(--color-accent-blue);box-shadow:0 0 0 3px #0e63d829}.profile-save{min-height:38px;padding:0 18px;border-radius:10px;background:var(--color-primary);color:var(--color-on-primary);font-family:var(--font-sans);font-size:15px;font-weight:600;transition:filter var(--motion-fast) var(--motion-ease)}.profile-save:hover:not(:disabled){filter:brightness(1.15)}.profile-save:disabled{opacity:.7}.gs-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-palette, 90);display:grid;place-items:start center;padding-top:12vh;background:#0009;animation:notif-fade var(--motion-fast) var(--motion-ease)}.gs-dialog{display:flex;flex-direction:column;width:min(560px,calc(100vw - 32px));max-height:60dvh;overflow:hidden;border:1px solid var(--color-hairline);border-radius:var(--rounded-lg);background:var(--color-canvas);box-shadow:var(--shadow-modal)}.gs-inputrow{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--color-hairline);color:var(--color-mute)}.gs-input{flex:1;border:none;background:transparent;font-size:var(--text-md);color:var(--color-ink)}.gs-input:focus{outline:none}.gs-esc{padding:2px 6px;border:1px solid var(--color-hairline-strong);border-radius:5px;font-size:10px;color:var(--color-mute)}.gs-list{overflow-y:auto;padding:6px}.gs-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:var(--rounded-sm);text-align:left}.gs-item:hover{background:var(--surface-soft)}.gs-kind{flex-shrink:0;min-width:44px;padding:2px 7px;border-radius:var(--rounded-full);background:var(--surface-soft);font-size:var(--text-2xs);font-weight:600;color:var(--color-mute);text-align:center}.gs-label{font-size:var(--text-sm);font-weight:550;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gs-sub{margin-left:auto;flex-shrink:0;font-size:var(--text-xs);color:var(--color-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}.gs-empty{padding:28px 0;text-align:center;font-size:var(--text-sm);color:var(--color-mute)}.app-shell{display:flex;flex-direction:column;min-height:100vh;background:var(--color-paper);color:var(--color-ink)}.app-shell{--mod-accent: var(--module-dot, var(--color-primary));--mod-accent-ink: var(--tab-accent, var(--color-ink))}.app-shell[data-module=dashboard]{--module-dot: #0e86b3}.app-shell[data-module=sales]{--module-dot: var(--color-accent-orange);--tab-accent: #b5460f;--module-accent: var(--color-accent-orange)}.app-shell[data-module=production]{--module-dot: #0f766e;--tab-accent: #0b7268;--module-accent: #0d9488}.app-shell[data-module=logistics]{--module-dot: var(--color-accent-blue-info);--tab-accent: var(--color-accent-blue-info);--module-accent: var(--color-accent-blue-info)}.app-shell[data-module=rental]{--module-dot: #4d7c0f;--tab-accent: #4d7c0f}.app-shell[data-module=accounting]{--module-dot: var(--color-green-ink);--tab-accent: var(--color-green-ink)}.app-shell[data-module=hr]{--module-dot: #be185d;--tab-accent: #be185d}.app-shell[data-module=general]{--module-dot: #4f6b8a;--tab-accent: #3b5470}.app-shell[data-module=messenger]{--module-dot: #db2777;--tab-accent: #be185d;--module-accent: #db2777}.app-shell[data-module=approval]{--module-dot: #dc2626;--tab-accent: #b91c1c}.app-shell[data-module=quest]{--module-dot: #7c3aed;--tab-accent: #6d28d9;--module-accent: #7c3aed}.app-shell[data-module=portal]{--module-dot: #0891b2;--tab-accent: #0e7490}.app-shell[data-module=admin]{--module-dot: #334155;--tab-accent: #334155}:root[data-theme=dark] .app-shell[data-module=dashboard]{--module-dot: #0e9cd1}:root[data-theme=dark] .app-shell[data-module=sales]{--tab-accent: #ffa06b}:root[data-theme=dark] .app-shell[data-module=production]{--tab-accent: #4cc9bd}:root[data-theme=dark] .app-shell[data-module=hr]{--module-dot: #e86aa0;--tab-accent: #e86aa0}:root[data-theme=dark] .app-shell[data-module=general]{--module-dot: #8fb0d4;--tab-accent: #a9c4e4}:root[data-theme=dark] .app-shell[data-module=messenger]{--tab-accent: #f472b6}:root[data-theme=dark] .app-shell[data-module=approval]{--tab-accent: #ff7b85}:root[data-theme=dark] .app-shell[data-module=quest]{--tab-accent: var(--color-accent-violet)}:root[data-theme=dark] .app-shell[data-module=portal]{--tab-accent: #3cc6d6}.app-header{position:sticky;top:0;z-index:var(--z-header);height:calc(var(--header-height) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:var(--color-paper);border-bottom:1px solid var(--color-hairline)}.app-header-inner{display:flex;align-items:center;gap:var(--spacing-xl);height:100%;margin:0 auto;padding:0 var(--spacing-3xl)}.module-switcher{position:relative;flex:none}.wordmark{font-family:var(--font-serif);font-size:19px;font-weight:650;letter-spacing:-.03em;white-space:nowrap;color:var(--color-ink)}.module-switcher-trigger{display:inline-flex;align-items:center;gap:5px;width:max-content;margin-left:-8px;padding:5px 8px;border-radius:var(--rounded-sm);transition:background var(--motion-fast) var(--motion-ease)}.module-switcher-trigger:hover,.module-switcher-trigger[aria-expanded=true]{background:var(--surface-soft)}.module-switcher-trigger:active{transform:scale(.94)}.wordmark-label{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;flex-shrink:0}.wm-brand{display:inline-flex;align-items:center;gap:7px;flex-shrink:0}.wm-brand .bm-word{height:16px}.wordmark-dot{width:6px;height:6px;border-radius:var(--rounded-full);flex-shrink:0;background:var(--module-dot, var(--color-ink))}.wm-module{white-space:nowrap;flex-shrink:0;font-weight:700}.module-chevron{display:inline-flex;flex-shrink:0;color:var(--color-mute);transition:transform var(--motion-fast) var(--motion-ease)}.module-chevron[data-open=true]{transform:rotate(180deg)}.menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-header-menu) - 1)}.module-options{position:absolute;top:calc(100% + 6px);left:0;z-index:var(--z-header-menu);display:flex;flex-direction:column;gap:2px;width:max(300px,100%);min-width:300px;max-height:calc(100dvh - var(--header-height) - 24px);margin:0;padding:6px;list-style:none;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--color-hairline);border-radius:var(--rounded-md);background:var(--color-canvas);box-shadow:var(--shadow-modal);animation:modal-in var(--motion-fast) var(--motion-ease-out)}.module-option{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px 10px;border-radius:var(--rounded-sm);text-align:left;transition:background var(--motion-fast) var(--motion-ease)}.module-option:hover,.module-option--active{background:var(--surface-soft)}.module-glyph{display:inline-flex;justify-content:center;align-items:center;width:38px;height:38px;border-radius:var(--rounded-sm);color:#fff;flex-shrink:0}.module-glyph .material-symbols-rounded{font-size:20px}.module-trigger-text{display:flex;flex-direction:column;flex:1;gap:1px;min-width:0}.module-trigger-text strong{font-size:var(--text-base);font-weight:650;letter-spacing:-.01em;color:var(--color-ink)}.module-desc{font-size:var(--text-xs);line-height:1.35;color:var(--color-mute);word-break:keep-all}.module-check{font-size:18px;color:var(--color-mute);flex-shrink:0}.module-switcher-sep{height:1px;margin:4px 6px;background:var(--color-hairline)}.module-switcher-home-label{font-size:var(--text-sm);color:var(--color-mute)}.header-nav{display:flex;align-items:center;flex:1;gap:2px;margin-left:var(--spacing-sm)}.nav-link{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:var(--rounded-full);font-size:var(--text-md);font-weight:550;color:var(--color-body-mid);transition:color var(--motion-fast) var(--motion-ease),background var(--motion-fast) var(--motion-ease)}.nav-link:hover{color:var(--color-ink);background:var(--surface-soft)}.nav-link--active{color:var(--color-ink);background:#09090b14;font-weight:600}:root[data-theme=dark] .nav-link--active{background:#f2f2f514}.nav-link .tab-glyph{font-size:18px}.theme-toggle-btn,.notif-button{display:inline-flex;justify-content:center;align-items:center;width:40px;height:40px;border-radius:var(--rounded-full);color:var(--color-body-mid);flex-shrink:0;position:relative;transition:background var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease);-webkit-tap-highlight-color:transparent}.theme-toggle-btn:hover,.notif-button:hover{background:var(--surface-soft);color:var(--color-ink)}.notif-button:active,.theme-toggle-btn:active{transform:scale(.94)}.hqn{display:inline-flex;align-items:center;gap:2px}.notif{position:relative}.notif-badge{position:absolute;top:4px;right:3px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--rounded-full);background:var(--color-accent-red);color:#fff;font-size:10px;font-weight:600;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--color-paper)}.notif-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-notif);display:flex;align-items:flex-end;justify-content:center;background:#09090b70;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);animation:notif-fade var(--motion-fast) var(--motion-ease)}.notif-dropdown{display:flex;flex-direction:column;overflow:hidden;background:var(--color-canvas);box-shadow:var(--shadow-modal);width:100%;max-width:520px;max-height:min(82dvh,640px);border-radius:var(--rounded-xl) var(--rounded-xl) 0 0;padding-bottom:env(safe-area-inset-bottom,0px);animation:notif-rise var(--motion-base) var(--motion-ease-out)}.notif-grabber{flex-shrink:0;width:40px;height:4px;margin:8px auto 2px;border-radius:var(--rounded-full);background:var(--color-hairline)}@media(min-width:768px){.notif-scrim{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;animation:none}.notif-dropdown{position:fixed;top:calc(var(--header-height) + env(safe-area-inset-top,0px) + 6px);right:max(16px,env(safe-area-inset-right,0px));width:min(360px,calc(100vw - 24px));max-width:none;max-height:min(560px,calc(100dvh - var(--header-height) - 32px));border:1px solid var(--color-hairline);border-radius:var(--rounded-md);padding-bottom:0;animation:pop-in var(--motion-fast) var(--motion-ease)}.notif-grabber{display:none}}@keyframes notif-fade{0%{opacity:0}to{opacity:1}}@keyframes notif-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.notif-scrim,.notif-dropdown{animation:none}}.hdr-sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-notif);display:flex;justify-content:center;align-items:flex-end;background:#09090b70;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);animation:notif-fade var(--motion-fast) var(--motion-ease)}.hdr-sheet{display:flex;flex-direction:column;overflow:hidden;width:100%;max-width:520px;max-height:82dvh;padding-bottom:env(safe-area-inset-bottom,0px);border-radius:var(--rounded-xl) var(--rounded-xl) 0 0;background:var(--color-canvas);box-shadow:var(--shadow-modal);animation:notif-rise var(--motion-base) var(--motion-ease-out)}.hdr-sheet-grip{flex-shrink:0;width:40px;height:4px;margin:8px auto 2px;border-radius:var(--rounded-full);background:var(--color-hairline)}.hdr-sheet-body{flex:1;min-height:0;padding:6px 8px 8px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.hdr-sheet .module-options,.hdr-sheet .hdr-sheet-list,.hdr-sheet .avatar-dropdown{position:static;top:auto;left:auto;right:auto;width:auto;min-width:0;max-width:none;max-height:none;margin:0;overflow:visible;overscroll-behavior:auto;border:none;background:none;box-shadow:none;animation:none}.hdr-sheet .menu-item,.hdr-sheet .avatar-item,.hdr-sheet .module-option{min-height:48px}@media(prefers-reduced-motion:reduce){.hdr-sheet-scrim,.hdr-sheet{animation:none}}.notif-item--unread{background:#146ef50d}.notif-item--unread .notif-title:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:var(--rounded-full);background:var(--color-accent-blue-info)}.notif-head-actions{display:inline-flex;align-items:center;gap:2px}.notif-settings-btn{display:inline-flex;justify-content:center;align-items:center;width:32px;height:32px;padding:0;border-radius:var(--rounded-full);color:var(--color-mute);cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.notif-settings-btn:hover{background:var(--surface-soft);color:var(--color-ink)}.notif-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-hairline);font-size:var(--text-md);color:var(--color-ink)}.notif-readall{font-size:var(--text-xs);font-weight:600;color:var(--color-accent-blue-info)}.notif-empty{margin:0;padding:24px 16px;text-align:center;font-size:var(--text-sm);color:var(--color-mute)}.notif-list{display:flex;flex-direction:column;flex:1;gap:2px;min-height:0;margin:0;padding:6px;list-style:none;overflow-y:auto;overscroll-behavior:contain}.notif-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;border-radius:var(--rounded-sm);text-align:left;transition:background var(--motion-fast) var(--motion-ease)}.notif-item:hover{background:var(--surface-soft)}.notif-title{font-size:var(--text-sm);font-weight:600;line-height:1.45;color:var(--color-ink)}.notif-body{font-size:var(--text-xs);line-height:1.5;color:var(--color-body-mid)}.notif-time{font-size:var(--text-2xs);color:var(--color-mute)}.avatar-menu{position:relative}.avatar-button{display:inline-flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:4px;border-radius:var(--rounded-full);flex-shrink:0;-webkit-tap-highlight-color:transparent}.avatar-fallback{display:inline-flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:var(--rounded-full);background:var(--color-primary);color:var(--color-on-primary);font-size:13px;font-weight:600;flex-shrink:0;box-shadow:var(--shadow-xs);transition:transform var(--motion-fast) var(--motion-ease)}.avatar-button:hover .avatar-fallback{transform:scale(1.05)}.avatar-button:active .avatar-fallback{transform:scale(.94)}.avatar-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-header-menu);min-width:220px;padding:6px;border:1px solid var(--color-hairline);border-radius:var(--rounded-md);background:var(--color-canvas);box-shadow:var(--shadow-lift);transform-origin:100% 0;animation:pop-in var(--motion-base) var(--motion-ease-out)}.avatar-identity{display:flex;flex-direction:column;gap:2px;margin-bottom:6px;padding:10px 12px;border-bottom:1px solid var(--color-hairline);font-size:var(--text-md)}.avatar-identity strong{color:var(--color-ink);overflow-wrap:anywhere}.avatar-identity .mute-line{font-size:var(--text-xs);color:var(--color-mute)}.avatar-item{display:block;width:100%;padding:9px 12px;border-radius:var(--rounded-sm);text-align:left;font-size:var(--text-md);color:var(--color-body);transition:background var(--motion-fast) var(--motion-ease)}.avatar-item:hover{background:var(--surface-soft);color:var(--color-ink)}.app-content{width:100%;max-width:var(--page-w-content);flex:1;margin:0 auto;padding:var(--spacing-4xl) var(--page-gutter-x) 120px}.app-content[data-selfshell]{padding-top:20px;padding-bottom:40px}.tabbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-header);height:calc(var(--tabbar-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--color-paper);border-top:1px solid var(--color-hairline)}.tab-item{display:flex;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:44px;padding:7px 2px 5px;color:var(--color-mute);font-size:var(--text-2xs);font-weight:550;position:relative;transition:color var(--motion-fast) var(--motion-ease);-webkit-tap-highlight-color:transparent}.tab-item--active{color:var(--tab-accent, var(--color-ink))}.tab-icon{padding:4px 14px;border-radius:var(--rounded-full);font-size:18px;line-height:1;transition:background var(--motion-base) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}.tab-item--active .tab-icon,.tab-item:active .tab-icon{background:#09090b1f}:root[data-theme=dark] .tab-item--active .tab-icon,:root[data-theme=dark] .tab-item:active .tab-icon{background:#f2f2f51f}.tab-item:active .tab-icon{transform:scale(.92)}.tab-label{max-width:100%;font-size:11px;font-weight:600;line-height:1;letter-spacing:-.03em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media(max-width:767px){.app-header-inner{gap:var(--spacing-sm);padding:0 12px}.header-nav,.wm-brand{display:none}.wordmark-label{flex-shrink:1;min-width:0}.wm-module{flex-shrink:1;min-width:0;text-overflow:ellipsis;overflow:hidden}.module-switcher{display:flex;flex:0 auto;min-width:0}.module-switcher-trigger{flex:0 auto;width:auto;min-width:0;min-height:44px}.theme-toggle-btn--theme{display:none}.notif-button,.theme-toggle-btn{min-width:44px;min-height:44px}.tabbar{display:flex}.app-content{padding-top:var(--spacing-2xl);padding-bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom,0px) + 48px)}.module-options{width:min(300px,calc(100vw - 20px));min-width:0}.app-shell[data-mschat] .app-header,.app-shell[data-mschat] .tabbar{display:none}}@media(max-width:640px){.hqn-btn--approval{display:none}}@media(max-width:430px){.app-header-inner{gap:6px}.app-header-inner .hqn{gap:0}.module-switcher-trigger.wordmark{font-size:17px}.app-header-inner .notif-button,.app-header-inner .theme-toggle-btn,.app-header-inner .avatar-button{width:40px;min-width:40px;height:40px;min-height:40px;position:relative}.app-header-inner .notif-button:after,.app-header-inner .theme-toggle-btn:after,.app-header-inner .avatar-button:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px}}@media(max-width:400px){.app-header-inner{padding:0 10px}}@media(max-width:380px){.app-header-inner{gap:var(--spacing-xs)}.module-switcher-trigger.wordmark{font-size:16.5px}.app-header-inner .notif-button,.app-header-inner .theme-toggle-btn,.app-header-inner .avatar-button{width:36px;min-width:36px}.app-header-inner .notif-button:after,.app-header-inner .theme-toggle-btn:after,.app-header-inner .avatar-button:after{top:-4px;right:-3px;bottom:-4px;left:-3px}}@media(max-width:360px){.app-header-inner{gap:2px;padding:0 8px}.module-switcher-trigger{gap:4px;margin-left:-6px;padding:5px 6px}.wordmark-label{gap:5px}.tab-icon{padding:4px 6px}.tab-label{font-size:10.5px;letter-spacing:-.04em}}@media(prefers-reduced-motion:reduce){.module-options,.notif-dropdown,.avatar-dropdown{animation:none}}.app-header .ms-nav-toggle{color:var(--color-body-mid)}.ms-hist{display:inline-flex;align-items:center;gap:2px;margin-left:6px;flex-shrink:0}.ms-hist-btn{display:inline-flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:var(--rounded-full);color:var(--color-body-mid);flex-shrink:0;transition:background var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease);-webkit-tap-highlight-color:transparent}.ms-hist-btn:hover{background:var(--surface-soft);color:var(--color-ink)}.ms-hist-btn:active{transform:scale(.94)}.ms-quickbtn{display:inline-flex;align-items:center;gap:7px;height:34px;margin-left:8px;padding:0 12px;border-radius:var(--rounded-full);border:1px solid var(--color-hairline-strong);background:var(--surface-soft);color:var(--color-mute);font-size:var(--text-xs);font-weight:500;flex-shrink:0;transition:border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.ms-quickbtn:hover{border-color:var(--color-mute);color:var(--color-body)}.ms-quickbtn-label{font-size:var(--text-xs)}.ms-quickbtn-keys{display:inline-flex;gap:4px}.ms-quickbtn-keys kbd{padding:1px 5px;border-radius:5px;border:1px solid var(--color-hairline-strong);background:var(--color-paper);font-family:inherit;font-size:10px;line-height:1.5;color:var(--color-mute)}.ms-header-spacer{flex:1;min-width:var(--spacing-sm)}@media(max-width:767px){.ms-hist,.ms-quickbtn-label,.ms-quickbtn-keys{display:none}.ms-quickbtn{padding:0;width:40px;justify-content:center;border:none;background:transparent}}.primary-tab-badge{min-width:18px;padding:1px 6px;border-radius:var(--rounded-full);background:var(--color-accent-blue);color:#fff;font-size:var(--text-2xs);font-weight:700;text-align:center;line-height:1.5}.ms-nav-toggle-glyph{display:inline-flex;transition:transform var(--motion-base) var(--motion-ease, ease)}.ms-nav-toggle-glyph[data-collapsed]{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.ms-nav-toggle-glyph{transition:none}}.notif-badge--msg{background:#db2777}.notifset-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-notif) + 10);display:flex;align-items:flex-end;justify-content:center;background:#09090b70;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:notif-fade var(--motion-fast) var(--motion-ease)}.notifset-scrim--center{align-items:center;padding:24px}.notifset-modal{display:flex;flex-direction:column;overflow:hidden;width:min(420px,100%);max-height:min(84dvh,640px);border:1px solid var(--color-hairline);border-radius:var(--rounded-lg);background:var(--color-canvas);box-shadow:var(--shadow-modal);animation:pop-in var(--motion-fast) var(--motion-ease)}.notifset-grabber{display:none;flex-shrink:0;width:40px;height:4px;margin:8px auto 2px;border-radius:var(--rounded-full);background:var(--color-hairline-strong)}@media(max-width:767px){.notifset-scrim--center{align-items:flex-end;padding:0}.notifset-modal{width:100%;max-width:520px;max-height:min(84dvh,680px);border:none;border-radius:var(--rounded-xl) var(--rounded-xl) 0 0;padding-bottom:env(safe-area-inset-bottom,0px);animation:notifset-rise var(--motion-slow) cubic-bezier(.16,1.02,.28,1)}.notifset-grabber{display:block}}@keyframes notifset-rise{0%{opacity:0;transform:translateY(30px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.notifset-scrim,.notifset-modal{animation:none}}.notifset-head{display:flex;align-items:flex-start;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--color-hairline)}.notifset-heading{flex:1;min-width:0}.notifset-title{display:block;font-size:var(--text-lg);font-weight:700;color:var(--color-ink)}.notifset-desc{margin:4px 0 0;font-size:var(--text-xs);color:var(--color-body-mid);line-height:1.5}.notifset-close{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;width:40px;height:40px;margin:-8px -8px 0 0;padding:0;border-radius:var(--rounded-full);color:var(--color-mute);cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.notifset-close:hover{background:var(--surface-soft);color:var(--color-ink)}.notifset-list{flex:1;min-height:0;margin:0;padding:6px;list-style:none;overflow-y:auto;overscroll-behavior:contain}.notifset-row{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 12px;border-radius:var(--rounded-md);transition:background var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}.notifset-row:hover{background:var(--surface-soft)}.notifset-row:active{background:var(--surface-sunken, var(--surface-soft));transform:scale(.99)}.notifset-dot{flex-shrink:0;width:11px;height:11px;border-radius:var(--rounded-full)}.notifset-label{flex:1;min-width:0;font-size:var(--text-md);font-weight:600;color:var(--color-ink)}.notifset-switch{position:relative;flex-shrink:0;width:46px;height:28px;padding:0;border-radius:var(--rounded-full);background:color-mix(in srgb,var(--color-ink) 20%,transparent);cursor:pointer;transition:background var(--motion-base) var(--motion-ease)}.notifset-switch:after{content:"";position:absolute;top:-8px;right:-6px;bottom:-8px;left:-6px}.notifset-switch--on{background:var(--color-accent-blue-info)}.notifset-switch-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:var(--rounded-full);background:#fff;box-shadow:0 1px 3px #00000047;transition:transform var(--motion-base) cubic-bezier(.34,1.56,.64,1),width var(--motion-fast) var(--motion-ease)}.notifset-switch:active .notifset-switch-knob{width:26px}.notifset-switch--on .notifset-switch-knob{transform:translate(18px)}.app-toast{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:300;max-width:calc(100vw - 40px);padding:11px 18px;border-radius:var(--rounded-full);background:#0c1426;color:#f5faff;font-size:var(--text-sm);font-weight:500;box-shadow:0 8px 24px -8px #0b1b2b8c;animation:app-toast-in .24s cubic-bezier(.22,1,.36,1) both}@keyframes app-toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.error-boundary{background:var(--color-canvas);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.error-boundary-card{text-align:center;background:var(--color-paper);border:1px solid var(--color-hairline);border-radius:var(--rounded-lg);max-width:420px;box-shadow:var(--shadow-card);flex-direction:column;align-items:center;gap:14px;padding:32px 28px;display:flex}.error-boundary-title{font-family:var(--font-serif);color:var(--color-ink-strong);margin:0;font-size:22px;font-weight:700}.error-boundary-text{font-size:var(--text-md);color:var(--color-mute);margin:0;line-height:1.6}.error-boundary .btn-primary,.error-boundary .btn-secondary{white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--rounded-sm);border:1px solid transparent;font-size:15px;font-weight:500;letter-spacing:-.01em;text-decoration:none;display:inline-flex;transition:background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}.error-boundary .btn-primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-xs)}.error-boundary .btn-primary:hover{background:var(--color-ink-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.error-boundary .btn-secondary{background:var(--color-canvas);color:var(--color-ink);border-color:var(--color-hairline-strong)}.error-boundary .btn-secondary:hover{background:var(--color-paper);transform:translateY(-1px)}.error-boundary .btn-primary:active,.error-boundary .btn-secondary:active{transform:translateY(0)}.error-boundary-code{font-family:var(--font-serif);font-size:40px;font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--color-mute-soft);margin:0}.error-boundary-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.policy-page{min-height:100vh;background:var(--color-canvas);color:var(--color-body);padding:40px 20px 80px}.policy-wrap{max-width:760px;margin:0 auto}.policy-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.policy-brand a{font-size:var(--text-sm);color:var(--color-mute);text-decoration:none}.policy-brand a:hover{color:var(--color-ink)}.policy-card{background:var(--color-paper);border:1px solid var(--color-hairline);border-radius:18px;padding:36px 40px}.policy-card h1{font-size:24px;font-weight:800;color:var(--color-ink);margin:0 0 6px}.policy-meta{font-size:var(--text-xs);color:var(--color-mute);margin-bottom:26px}.policy-card h2{font-size:16px;font-weight:700;color:var(--color-ink);margin:26px 0 8px}.policy-card p,.policy-card li{font-size:14px;line-height:1.75;margin:0 0 8px}.policy-card ul,.policy-card ol{padding-left:20px;margin:0 0 8px}.policy-card table{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0 12px}.policy-card th,.policy-card td{border:1px solid var(--color-hairline);padding:7px 10px;text-align:left;vertical-align:top}.policy-card th{background:var(--surface-soft);color:var(--color-ink);font-weight:600;white-space:nowrap}.policy-foot{margin-top:20px;font-size:var(--text-xs);color:var(--color-mute);text-align:center}.policy-foot a{color:var(--color-mute)}@media(max-width:640px){.policy-card{padding:24px 18px}}:root{color-scheme:only light;--color-primary: #09090b;--color-on-primary: #fff;--color-ink: #09090b;--color-ink-strong: #26262b;--color-body: #3d3d43;--color-body-mid: #5d5d66;--color-mute: #6a6a74;--color-mute-soft: #8f8f97;--color-hairline: #e6e6ea;--color-hairline-strong: #d5d5db;--color-paper: #f7f7f8;--color-canvas: #fff;--surface-soft: #f2f2f4;--surface-sunken: #ebebee;--color-accent-purple: #7a3dff;--color-accent-pink: #ed52cb;--color-accent-blue: #3b89ff;--color-accent-blue-deep: #006acc;--color-accent-blue-info: #0d63d8;--color-accent-orange: #ff6b00;--color-accent-green: #00d722;--color-accent-yellow: #ffae13;--color-accent-red: #d31c2e;--color-accent-violet: #6d28d9;--color-orange-ink: #c2410c;--color-green-ink: #0f7a35;--color-warn-ink: #9a6700;--color-danger-bg: #d31c2e;--color-danger-bg-hover: #c31226;--ok: var(--color-green-ink);--warn: var(--color-warn-ink);--danger: var(--color-accent-red);--info: var(--color-accent-blue-info);--color-diff-added: var(--color-accent-blue-info);--color-diff-delete: var(--color-accent-red);--color-diff-completed: #0f7a35;--color-diff-normal: var(--color-body);--category-accent-0: var(--color-accent-purple);--category-accent-1: var(--color-accent-blue);--category-accent-2: var(--color-accent-orange);--category-accent-3: var(--color-accent-green);--category-accent-4: var(--color-accent-pink);--org-accent-0: #7a3dff;--org-accent-1: #3b89ff;--org-accent-2: #ff6b00;--org-accent-3: #00d722;--org-accent-4: #ed52cb;--org-accent-5: #0ea5e9;--org-accent-6: #14b8a6;--org-accent-7: #84cc16;--org-accent-8: #f5b800;--org-accent-9: #ee1d36;--org-accent-10: #a855f7;--org-accent-11: #f43f5e;--org-accent-12: #8d6e63;--org-accent-13: #64748b;--brand-ink-0: #1b0f3f;--brand-ink-1: #2a1470;--brand-ink-2: #4326a4;--brand-signal-0: #4636b3;--brand-signal-1: #6225b4;--brand-tint: #a78bfa;--brand-gradient: linear-gradient(120deg, var(--brand-signal-0), var(--brand-signal-1));--lead-bg: #101014;--lead-border: #ffffff17;--lead-ink: #fff;--lead-ink-soft: #ffffffb8;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-serif: var(--font-sans);--font-display: "Syne", var(--font-sans);--font-mono: "Inconsolata", ui-monospace, "SF Mono", Menlo, monospace;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-base: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 26px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--spacing-4xl: 48px;--rounded-sm: 10px;--rounded-md: 14px;--rounded-lg: 18px;--rounded-xl: 24px;--rounded-full: 9999px;--shadow-xs: 0 1px 2px #09090b0a;--shadow-sm: 0 1px 2px #09090b0a, 0 4px 10px #09090b0d;--shadow-card: 0 1px 2px #09090b0a, 0 8px 24px #09090b12;--shadow-lift: 0 2px 4px #09090b0d, 0 14px 36px #09090b1c;--shadow-modal: 0 8px 24px #09090b1f, 0 32px 80px #09090b38;--rail-width: 240px;--header-height: 64px;--tabbar-height: 60px;--topbar-height: var(--header-height);--page-w-full: 1840px;--page-w-content: 1400px;--page-w-doc: 960px;--page-gutter-x: clamp(16px, 2.5vw, 40px);--motion-fast: .12s;--motion-base: .2s;--motion-slow: .32s;--motion-ease: cubic-bezier(.2, 0, 0, 1);--motion-ease-out: cubic-bezier(.16, 1, .3, 1);--skeleton-base: var(--surface-soft);--skeleton-shine: #e9e9ec;--skel-base: var(--skeleton-base);--skel-shine: var(--skeleton-shine);--color-scrim: #09090b70;--color-lock: var(--color-mute);--focus-ring-color: var(--color-accent-blue-info);--focus-ring: 0 0 0 2px var(--color-canvas), 0 0 0 4px var(--focus-ring-color);--z-page-sticky: 30;--z-header: 100;--z-header-menu: 120;--z-overlay: 200;--z-drawer: 300;--z-modal: 400;--z-notif: 600;--z-toast: 700;--z-palette: 800;--z-confirm: 900;--z-tooltip: 1000}:root[data-theme=dark]{color-scheme:only dark;--color-primary: #ececf1;--color-on-primary: #101014;--color-ink: #f2f2f5;--color-ink-strong: #fff;--color-body: #cfcfd6;--color-body-mid: #a8a8b3;--color-mute: #9c9ca7;--color-mute-soft: #70707b;--color-hairline: #26262e;--color-hairline-strong: #3a3a45;--color-paper: #101014;--color-canvas: #17171c;--surface-soft: #1f1f26;--surface-sunken: #0b0b0e;--color-accent-blue-info: #6ba6ff;--color-accent-red: #ff7b85;--color-orange-ink: #ffa06b;--color-green-ink: #55c47c;--color-warn-ink: #e0b45c;--color-accent-violet: #b7a5ff;--color-diff-completed: #55c47c;--color-danger-bg: #c62838;--color-danger-bg-hover: #d02f3f;--lead-bg: #1d1d24;--lead-border: #ffffff1f;--shadow-xs: 0 1px 2px #00000080;--shadow-sm: 0 1px 2px #00000080, 0 4px 10px #00000073;--shadow-card: 0 1px 2px #00000080, 0 8px 24px #00000080;--shadow-lift: 0 2px 4px #00000080, 0 14px 36px #0000008c;--shadow-modal: 0 8px 24px #0000008c, 0 32px 80px #000000b3;--color-scrim: #0000009e;--skeleton-shine: #26262e}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:16px;line-height:1.62;letter-spacing:-.005em;color:var(--color-body);background:var(--color-paper);word-break:keep-all;overflow-wrap:break-word;font-feature-settings:"cv05","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-weight:600;line-height:1.2;color:var(--color-ink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font:inherit;color:inherit}img,svg{display:block;max-width:100%}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--rounded-sm)}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.tnum{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);white-space:nowrap;overflow:hidden}#rotate-guard{display:none}@media(orientation:landscape)and (max-height:500px)and (pointer:coarse){#rotate-guard{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-confirm) + 10);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans);text-align:center}}.rotate-guard-phone{width:26px;height:44px;border:3px solid;border-radius:7px;animation:rotate-guard-tilt 1.8s var(--motion-ease) infinite alternate}.rotate-guard-title{margin:0;font-size:var(--text-lg);font-weight:700}.rotate-guard-sub{margin:0;font-size:var(--text-sm);color:var(--color-body-mid)}@keyframes rotate-guard-tilt{0%{transform:rotate(-90deg)}to{transform:none}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}@keyframes block-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes skeleton-pulse{0%{background-position:120% 0}to{background-position:-120% 0}}.page,.dash{animation:page-in var(--motion-slow) var(--motion-ease-out)}.skel{display:block;border-radius:var(--rounded-sm);background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shine) 45%,var(--skeleton-base) 65%);background-size:240% 100%;animation:skeleton-pulse 1.3s ease-in-out infinite}.load-note{margin:0;padding:24px 16px;text-align:center;color:var(--color-mute);font-size:var(--text-sm)}@media(prefers-reduced-motion:reduce){.page,.dash,.skel,.rotate-guard-phone{animation:none}}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--color-hairline-strong);border-radius:var(--rounded-full);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--color-mute);background-clip:padding-box;border:3px solid #0000}*{scrollbar-width:thin;scrollbar-color:var(--color-hairline-strong) transparent}.sens-tooltip{position:fixed;z-index:var(--z-tooltip);padding:6px 10px;border-radius:var(--rounded-sm);background:#111827f0;color:#f9fafb;font-size:var(--text-xs);font-weight:600;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere;box-shadow:var(--shadow-lift);pointer-events:none;visibility:hidden;opacity:0}.sens-tooltip.is-on{visibility:visible;opacity:1;transition:opacity .12s}@media print{@page{size:A4 portrait;margin:14mm 12mm}html,body{background:#fff!important}.app-header,.mod-subtabs,.tabbar,.mobile-tabbar,.lg-toast,.sl-toast,.hr-toast,.acc-toast,[data-noprint],.page-head-actions,.acc-head-right,.hr-pagehead-right,.lg-rep-toolbar,.grid-search,.grid-pager,.grid-per,.acc-scopebar,.acc-segment,.acc-filters{display:none!important}.app-main,.page,.acc-page,.hr-page,.lg-page{max-width:none!important;margin:0!important;padding:0!important;gap:8px!important;animation:none!important}.page-head h1{font-size:15pt}.card,.grid-scroll,.hr-table-wrap{max-height:none!important;overflow:visible!important;box-shadow:none!important;border:none!important;background:#fff!important}table{width:100%!important;border-collapse:collapse!important;font-size:9pt!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}thead{display:table-header-group!important}tfoot{display:table-footer-group!important}tr{break-inside:avoid!important;page-break-inside:avoid!important}th,td{position:static!important}}
