.ui-drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:100;animation:fadeIn .2s ease}.ui-drawer-panel{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:92vw;background:var(--bg);z-index:101;overflow:auto;box-shadow:var(--shadow-drawer);animation:slideIn .25s ease;display:flex;flex-direction:column}.ui-drawer-header{padding:22px 22px 14px;display:flex;flex-direction:column;gap:12px;position:sticky;top:0;background:var(--bg);z-index:2;border-bottom:1px solid var(--line)}.ui-drawer-header__row{display:flex;align-items:center;gap:12px}.ui-drawer-header__text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.ui-drawer-header__title{font:800 20px/1 var(--font-display)}.ui-drawer-header__subtitle{font:500 12px var(--font-body);color:var(--muted)}.ui-drawer-header__close{width:34px;height:34px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;font:700 14px var(--font-body);flex:none}.ui-drawer-sticky-footer{padding:14px 22px 28px;background:var(--bg)}@media (max-width: 640px){.ui-drawer-sticky-footer{position:sticky;bottom:0;padding-bottom:calc(16px + var(--safe-bottom));border-top:1px solid var(--line);box-shadow:var(--shadow-sheet-up)}}@media (max-width: 640px){.ui-drawer-panel{width:100vw;max-width:100vw;left:0;right:0;top:auto;bottom:0;height:92dvh;max-height:92dvh;border-radius:var(--r-2xl) var(--r-2xl) 0 0;animation:fadeUp .25s ease;padding-bottom:var(--safe-bottom)}.ui-drawer-header{padding-top:max(18px,var(--safe-top))}.ui-drawer-header__close{width:38px;height:38px}}.ui-toast-stack{position:fixed;left:50%;transform:translate(-50%);bottom:calc(28px + var(--safe-bottom));z-index:300;display:flex;flex-direction:column;gap:8px;align-items:center;width:min(420px,calc(100vw - 32px))}.ui-toast{background:var(--ink-card);color:var(--white);border-radius:var(--r-lg);padding:12px 18px;font:600 13px var(--font-body);box-shadow:var(--shadow-toast);animation:fadeUp .25s ease;display:flex;align-items:center;gap:10px;white-space:normal;width:100%;box-sizing:border-box}.ui-toast__dot{width:8px;height:8px;border-radius:50%;background:var(--primary-on-dark);flex:none}.ui-toast--error .ui-toast__dot{background:var(--coral)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--r-md);font-family:var(--font-body);font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s ease,opacity .15s ease,box-shadow .15s ease;padding:0 16px}.ui-btn:disabled{cursor:not-allowed;opacity:.6}.ui-btn--h32{height:32px;padding:0 12px;font-size:12px;border-radius:var(--r-sm)}.ui-btn--h40{height:40px;padding:0 16px;font-size:13px;border-radius:var(--r-md)}.ui-btn--h50{height:50px;padding:0 20px;font-size:15px;border-radius:var(--r-lg)}.ui-btn--full{width:100%}.ui-btn--primary{background:var(--primary);color:var(--on-primary)}.ui-btn--primary:hover:not(:disabled){background:var(--primary-hover)}.ui-btn--soft{background:var(--primary-tint);color:var(--primary)}.ui-btn--soft:hover:not(:disabled){background:var(--primary-tint-hover)}.ui-btn--ghost{background:var(--line-soft);color:var(--muted)}.ui-btn--ghost:hover:not(:disabled){background:var(--line)}.ui-btn--danger{background:var(--coral-tint);color:var(--coral)}.ui-btn--danger:hover:not(:disabled){background:var(--coral-tint-hover)}.ui-btn--dark{background:var(--ink);color:var(--on-ink)}.ui-btn--dark:hover:not(:disabled){background:var(--primary);color:var(--on-primary)}.ui-btn__spinner{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;opacity:.85;animation:ui-spin .7s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.ui-btn--h32{height:40px;padding:0 14px}}.ui-field{display:flex;flex-direction:column;gap:6px}.ui-field__label{font:700 11px var(--font-body);letter-spacing:1px;color:var(--muted);text-transform:uppercase}.ui-field__hint{font:500 11.5px var(--font-body);color:var(--muted)}.ui-field__error{font:600 11.5px var(--font-body);color:var(--coral)}.ui-input{height:46px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-lg);padding:0 14px;font:600 14px var(--font-body);color:var(--ink);width:100%;box-sizing:border-box;transition:border-color .15s ease}.ui-input::placeholder{color:var(--faint);font-weight:500}.ui-input:focus{border-color:var(--primary)}.ui-input:disabled{opacity:.6;cursor:not-allowed}.ui-input--error{border-color:var(--coral)}.ui-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236F6C66' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}.login{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:max(24px,var(--safe-top)) max(24px,var(--safe-right)) max(24px,var(--safe-bottom)) max(24px,var(--safe-left));box-sizing:border-box}.login__panel{width:100%;max-width:380px;background:var(--ink-card);color:var(--white);border-radius:var(--r-2xl);padding:32px 28px;display:flex;flex-direction:column;gap:22px;box-shadow:var(--shadow-dialog);animation:fadeUp .3s ease}.login__mark{width:44px;height:44px;border-radius:13px;background:var(--primary);display:flex;align-items:center;justify-content:center;font:800 18px var(--font-display)}.login__heading{display:flex;flex-direction:column;gap:2px}.login__title{font:800 24px var(--font-display);letter-spacing:-.4px}.login__subtitle{font:500 13px var(--font-body);color:var(--primary-on-dark)}.login__form{display:flex;flex-direction:column;gap:14px}.login__banner{background:var(--coral-on-dark-bg);color:var(--coral-on-dark);border-radius:var(--r-md);padding:10px 12px;font:600 12.5px/1.4 var(--font-body)}.login__error{background:var(--coral-on-dark-bg);color:var(--coral-on-dark);border-radius:var(--r-md);padding:10px 12px;font:600 12.5px var(--font-body)}.login__field{display:flex;flex-direction:column;gap:6px;font:700 11px var(--font-body);letter-spacing:.6px;color:var(--primary-on-dark);text-transform:uppercase}.login__password-row{position:relative;display:flex;align-items:center}.login__password-row .ui-input{padding-right:56px}.login__toggle-visibility{position:absolute;right:12px;font:700 11.5px var(--font-body);color:var(--primary);cursor:pointer;background:none;border:none}.ui-seg{display:flex;background:var(--line-soft);border-radius:var(--r-md);padding:3px;gap:0;min-width:0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ui-seg::-webkit-scrollbar{display:none}.ui-seg__item{display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);cursor:pointer;font:700 12.5px var(--font-body);color:var(--muted);background:transparent;transition:background .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.ui-seg__item--active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-thumb)}.ui-seg--default .ui-seg__item{height:32px;padding:0 14px}.ui-seg--compact{border-radius:10px}.ui-seg--compact .ui-seg__item{height:28px;padding:0 10px;font-size:11.5px;border-radius:7px}.ui-dialog-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:200;animation:fadeIn .2s ease}.ui-dialog-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);max-width:92vw;max-height:86vh;overflow:auto;background:var(--surface);border-radius:var(--r-2xl);box-shadow:var(--shadow-dialog);z-index:201;animation:popIn .2s ease;display:flex;flex-direction:column}.ui-dialog-header{display:flex;align-items:center;gap:12px;padding:20px 20px 0}.ui-dialog-title{flex:1;font:800 18px/1.2 var(--font-display)}.ui-dialog-close{width:30px;height:30px;border-radius:50%;background:var(--line-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;font:700 13px var(--font-body);flex:none}.ui-dialog-body{padding:16px 20px;font:500 13.5px/1.55 var(--font-body);color:var(--ink);display:flex;flex-direction:column;gap:12px}.ui-dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:0 20px 20px}@media (max-width: 640px){.ui-dialog-panel{top:auto;left:0;right:0;bottom:0;transform:none;width:100%;max-width:100%;max-height:90dvh;border-radius:var(--r-2xl) var(--r-2xl) 0 0;animation:fadeUp .2s ease}.ui-dialog-header{position:sticky;top:0;background:var(--surface);z-index:1;padding-top:max(20px,var(--safe-top))}.ui-dialog-footer{position:sticky;bottom:0;background:var(--surface);padding-bottom:calc(20px + var(--safe-bottom));flex-wrap:wrap}.ui-dialog-footer>*{flex:1}.ui-dialog-close{width:36px;height:36px}}.asst-fab{position:fixed;right:calc(24px + var(--safe-right));bottom:calc(24px + var(--safe-bottom));z-index:150;width:56px;height:56px;border-radius:50%;border:none;padding:0;background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-popover);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,transform .15s ease,box-shadow .15s ease,opacity .2s ease,visibility 0s linear 0s}.asst-fab:hover{background:var(--primary-hover);transform:scale(1.05)}.asst-fab:active{transform:scale(.95)}.asst-fab:focus-visible{outline:none;box-shadow:0 0 0 4px var(--primary-wash),var(--shadow-popover)}.asst-fab__icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,opacity .2s ease}.asst-fab__icon--close{opacity:0;transform:rotate(-90deg) scale(.6)}.asst-fab[aria-expanded=true] .asst-fab__icon--sparkle{opacity:0;transform:rotate(90deg) scale(.6)}.asst-fab[aria-expanded=true] .asst-fab__icon--close{opacity:1;transform:none}body.ui-overlay-open .asst-fab[aria-expanded=false]{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.8);transition:opacity .15s ease,transform .15s ease,visibility 0s linear .15s}.asst-widget{position:fixed;right:calc(24px + var(--safe-right));bottom:calc(92px + var(--safe-bottom));z-index:150;width:400px;max-width:calc(100vw - 48px);height:min(640px,calc(100vh - 120px));height:min(640px,calc(100dvh - 120px));background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2xl);box-shadow:var(--shadow-dialog);display:flex;flex-direction:column;transform-origin:bottom right;transform:translateY(8px) scale(.92);opacity:0;visibility:hidden;pointer-events:none;transition:transform .2s ease,opacity .18s ease,visibility 0s linear .2s}.asst-widget--open{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:transform .22s cubic-bezier(.2,.9,.3,1.15),opacity .18s ease,visibility 0s linear 0s}.asst-header{display:flex;align-items:center;gap:10px;padding:16px 16px 14px 18px;border-bottom:1px solid var(--line);flex:none}.asst-header__icon{width:32px;height:32px;border-radius:var(--r-sm);background:var(--primary-tint);color:var(--primary);display:flex;align-items:center;justify-content:center;flex:none}.asst-header__title{font:800 18px/1 var(--font-display);color:var(--ink);flex:1;min-width:0}.asst-header__actions{display:flex;align-items:center;gap:6px}.asst-header__menu-wrap{position:relative}.asst-icon-btn{width:32px;height:32px;border-radius:50%;background:var(--surface);border:1px solid var(--line);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;font:700 13px var(--font-body);flex:none}.asst-icon-btn:hover:not(:disabled){background:var(--line-soft)}.asst-icon-btn:disabled{opacity:.5;cursor:default}.asst-menu{position:absolute;top:calc(100% + 6px);right:0;width:280px;max-height:360px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-popover);padding:6px;z-index:5;animation:fadeIn .15s ease}.asst-menu__label{font:700 11px var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:6px 8px 4px}.asst-menu__empty{font:500 13px var(--font-body);color:var(--muted);padding:8px}.asst-menu__row{display:flex;align-items:center;border-radius:var(--r-sm)}.asst-menu__row:hover,.asst-menu__row--active{background:var(--primary-tint)}.asst-menu__item{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:8px;background:transparent;border:none;cursor:pointer;text-align:start;color:var(--ink)}.asst-menu__title{flex:1;min-width:0;font:600 13px var(--font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asst-menu__time{font:500 11px var(--font-body);color:var(--muted);flex:none}.asst-menu__delete{width:28px;height:28px;margin-right:4px;border-radius:50%;border:none;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.asst-menu__delete:hover{color:var(--coral);background:var(--coral-tint)}.asst-list{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.asst-row{display:flex}.asst-row--user{justify-content:flex-end}.asst-row--assistant{justify-content:flex-start}.asst-bubble{max-width:85%;padding:10px 13px;border-radius:var(--r-lg);font:500 14px/1.5 var(--font-body);overflow-wrap:anywhere;animation:fadeUp .2s ease}.asst-bubble--user{background:var(--primary);color:var(--on-primary);border-bottom-right-radius:var(--r-xs);white-space:pre-wrap}.asst-bubble--pending{opacity:.75}.asst-bubble--assistant{background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:var(--r-xs)}.asst-bubble p,.asst-bubble ul,.asst-bubble ol{margin:0}.asst-bubble p+p,.asst-bubble p+ul,.asst-bubble p+ol,.asst-bubble ul+p,.asst-bubble ol+p,.asst-bubble ul+ul,.asst-bubble ol+ol,.asst-bubble ul+ol,.asst-bubble ol+ul{margin-top:8px}.asst-bubble ul,.asst-bubble ol{padding-inline-start:20px}.asst-bubble li+li{margin-top:3px}.asst-bubble strong{font-weight:800}.asst-bubble code{font:600 12.5px ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-xs);padding:1px 5px}.asst-md__h{font-family:var(--font-display)}.asst-typing{display:flex;align-items:center;gap:8px;color:var(--muted)}.asst-typing__label{font:500 13px var(--font-body)}.asst-row--typing{flex-direction:column;align-items:flex-start;gap:4px}.asst-typing__tool{padding-left:4px;font:500 12px var(--font-body);color:var(--muted);animation:fadeUp .2s ease}.asst-bubble--live{animation:none}.asst-typing__dots{display:inline-flex;gap:4px}.asst-typing__dots span{width:6px;height:6px;border-radius:50%;background:var(--faint);animation:asstBlink 1.2s infinite ease-in-out}.asst-typing__dots span:nth-child(2){animation-delay:.15s}.asst-typing__dots span:nth-child(3){animation-delay:.3s}@keyframes asstBlink{0%,80%,to{opacity:.3;transform:none}40%{opacity:1;transform:translateY(-2px)}}.asst-note{font:500 13px var(--font-body);color:var(--muted);text-align:center;padding:12px 0}.asst-error{align-self:stretch;background:var(--coral-tint);color:var(--coral-ink);border-radius:var(--r-md);padding:10px 12px;font:600 13px/1.4 var(--font-body)}.asst-error__retry{background:none;border:none;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.asst-action{width:88%;background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--primary);border-radius:var(--r-md);padding:12px 13px;display:flex;flex-direction:column;gap:10px;animation:fadeUp .2s ease}.asst-action__summary{font:600 14px/1.45 var(--font-body);color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap}.asst-action__buttons{display:flex;justify-content:flex-end;gap:8px}.asst-action__status{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font:700 12px var(--font-body);padding:4px 10px;border-radius:var(--r-pill);background:var(--line-soft);color:var(--muted)}.asst-action--executed{border-left-color:var(--pay-paid-fg)}.asst-action--executed .asst-action__status{background:var(--pay-paid-bg);color:var(--pay-paid-fg)}.asst-action--failed{border-left-color:var(--coral)}.asst-action--failed .asst-action__status{background:var(--coral-tint);color:var(--coral-ink);border-radius:var(--r-sm);font-weight:600;line-height:1.4}.asst-action--rejected,.asst-action--expired{border-left-color:var(--line)}.asst-action--rejected .asst-action__summary,.asst-action--expired .asst-action__summary{color:var(--muted)}.asst-empty{margin:auto 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:20px 8px}.asst-empty__icon{width:52px;height:52px;border-radius:var(--r-lg);background:var(--primary-tint);color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.asst-empty__title{font:800 18px var(--font-display);color:var(--ink)}.asst-empty__sub{font:500 13px/1.5 var(--font-body);color:var(--muted);max-width:300px}.asst-empty__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}.asst-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r-pill);padding:8px 13px;font:600 13px var(--font-body);cursor:pointer}.asst-chip:disabled{opacity:.5;cursor:default}.asst-chip:hover:not(:disabled){background:var(--primary-tint);border-color:var(--primary-tint-hover);color:var(--primary)}.asst-quota{flex:none;margin:0 14px 6px;font:600 12px/1.4 var(--font-body);color:var(--muted);text-align:center}.asst-quota--out{color:var(--ink)}.asst-composer{flex:none;display:flex;align-items:flex-end;gap:8px;margin:0 12px 12px;padding:8px 8px 8px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl)}.asst-composer:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-wash)}.asst-composer__input{flex:1;min-width:0;resize:none;border:none;outline:none;background:transparent;color:var(--ink);font:500 14px/1.45 var(--font-body);padding:6px 0;max-height:160px;overflow-y:auto}.asst-composer__input::placeholder{color:var(--faint)}.asst-composer__input:disabled{opacity:.6}.asst-composer__send{width:34px;height:34px;border-radius:50%;border:none;background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.asst-composer__send:hover:not(:disabled){background:var(--primary-hover)}.asst-composer__send:disabled{background:var(--line);color:var(--muted);cursor:default}@media (max-width: 640px){.asst-widget{top:0;right:0;bottom:0;left:0;width:auto;max-width:none;height:auto;border:none;border-radius:0;box-shadow:none;transform-origin:bottom center;transform:translateY(16px)}.asst-widget--open{transform:none}.asst-fab[aria-expanded=true]{display:none}.asst-header{padding-top:max(14px,var(--safe-top))}.asst-composer{margin-bottom:calc(12px + var(--safe-bottom))}.asst-menu{position:fixed;top:calc(max(14px,var(--safe-top)) + 50px);left:16px;right:16px;width:auto}.asst-composer__input{font-size:16px}}@media (prefers-reduced-motion: reduce){.asst-widget,.asst-widget--open{transform:none;transition:opacity .12s ease,visibility 0s linear .12s}.asst-widget--open{transition:opacity .12s ease}.asst-fab,.asst-fab__icon,body.ui-overlay-open .asst-fab[aria-expanded=false]{transition:none}.asst-fab:hover,.asst-fab:active,body.ui-overlay-open .asst-fab[aria-expanded=false]{transform:none}.asst-typing__dots span{animation:none}}.shell{min-height:100dvh;display:flex;background:var(--bg);color:var(--ink);font-family:var(--font-body)}.shell-sidebar{width:224px;flex:none;background:var(--ink-card);color:var(--white);display:flex;flex-direction:column;padding:22px 14px 18px;gap:24px;position:sticky;top:0;height:100dvh;box-sizing:border-box;outline:none}.shell-scrim{display:none}.shell-sidebar__close{display:none;width:30px;height:30px;border-radius:50%;background:#ffffff1a;color:var(--white);align-items:center;justify-content:center;font:700 13px var(--font-body);flex:none;margin-left:auto}.shell-logo{display:flex;align-items:center;gap:10px;padding:0 6px}.shell-logo__mark{width:36px;height:36px;border-radius:11px;background:var(--primary);display:flex;align-items:center;justify-content:center;font:800 14px var(--font-display);flex:none}.shell-logo__text{display:flex;flex-direction:column}.shell-logo__name{font:800 15px var(--font-display);letter-spacing:-.2px}.shell-logo__tag{font:700 9.5px var(--font-body);letter-spacing:1.4px;color:var(--primary-on-dark)}.shell-nav{display:flex;flex-direction:column;gap:2px}.shell-nav__item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;cursor:pointer;color:var(--on-dark-soft);background:transparent;transition:background .15s ease,color .15s ease;width:100%;text-align:left;font-family:inherit}.shell-nav__item:hover:not(.shell-nav__item--active){background:#ffffff14}.shell-nav__item--active{background:var(--primary);color:var(--white)}.shell-nav__label{flex:1;font:700 13.5px var(--font-body)}.shell-nav__badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;color:var(--white);display:flex;align-items:center;justify-content:center;font:800 10.5px var(--font-body);box-sizing:border-box}.shell-spacer{flex:1}.shell-signout{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#ffffff0f;color:var(--white);font:700 12.5px var(--font-body);cursor:pointer;width:100%;text-align:left;font-family:inherit}.shell-signout:hover{background:#ffffff1f}.shell-user{display:flex;align-items:center;gap:10px;padding:6px 6px 0}.shell-user__avatar{width:36px;height:36px;border-radius:50%;background:var(--white);color:var(--primary);display:flex;align-items:center;justify-content:center;font:800 12px var(--font-display);flex:none}.shell-user__text{flex:1;display:flex;flex-direction:column;min-width:0}.shell-user__name{font:700 13px var(--font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-user__role{font:500 11px var(--font-body);color:var(--faint)}.shell-theme{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 6px 0 12px;margin-bottom:-14px}.shell-theme__label{font:700 11px var(--font-body);letter-spacing:.4px;color:var(--faint)}.shell-theme__track{display:flex;gap:2px;padding:3px;border-radius:10px;background:#ffffff0f}.shell-theme__btn{width:30px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:var(--on-dark-soft);transition:background .15s ease,color .15s ease}.shell-theme__btn:hover:not(.shell-theme__btn--active){background:#ffffff14;color:var(--white)}.shell-theme__btn--active{background:var(--primary);color:var(--on-primary)}.shell-theme__btn:focus-visible{outline:2px solid var(--primary-on-dark);outline-offset:1px}@media (max-width: 1024px){.shell-theme__btn{width:38px;height:34px}}.shell-main{flex:1;min-width:0;display:flex;flex-direction:column}.shell-topbar{display:flex;align-items:center;gap:14px;padding:18px 28px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:3;flex-wrap:wrap}.shell-topbar__title{display:flex;flex-direction:column;gap:2px;min-width:160px}.shell-topbar__h1{font:800 22px/1 var(--font-display);letter-spacing:-.4px}.shell-topbar__sub{font:500 12px var(--font-body);color:var(--muted)}.shell-topbar__spacer{flex:1}.shell-hamburger{display:none;width:40px;height:40px;border-radius:12px;background:var(--surface);border:1px solid var(--line);align-items:center;justify-content:center;cursor:pointer;flex:none}.shell-topbar__branch{display:contents}.shell-topbar__branch-scroll{min-width:0}.shell-search-toggle{display:none;width:40px;height:40px;border-radius:12px;background:var(--surface);border:1px solid var(--line);align-items:center;justify-content:center;cursor:pointer;flex:none}.shell-topbar-search-row{display:none}.shell-search{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:12px;padding:0 12px;height:40px;border:1px solid var(--line);min-width:200px;flex:1;max-width:320px}.shell-search input{flex:1;border:none;background:transparent;font:500 13px var(--font-body);color:var(--ink);min-width:0}.shell-bell{width:40px;height:40px;border-radius:12px;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;flex:none}.shell-bell__badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--coral);color:var(--white);display:flex;align-items:center;justify-content:center;font:800 10px var(--font-body);border:2px solid var(--bg);box-sizing:border-box}.shell-content{flex:1;min-width:0;padding-bottom:calc(88px + var(--safe-bottom))}.shell-loading{padding:40px 28px;font:600 13px var(--font-body);color:var(--muted)}@media (max-width: 1024px){.shell-hamburger{display:flex}.shell-sidebar{position:fixed;top:0;left:0;width:260px;max-width:82vw;height:100dvh;transform:translate(-100%);transition:transform .25s ease;z-index:101;box-shadow:var(--shadow-drawer);padding-top:calc(20px + var(--safe-top));padding-bottom:calc(18px + var(--safe-bottom));padding-left:calc(14px + var(--safe-left))}.shell-sidebar--open{transform:translate(0)}.shell-sidebar__close{display:flex}.shell-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:100;animation:fadeIn .2s ease}.shell-topbar{padding:12px 14px;gap:10px}.shell-topbar__title{min-width:0;flex:1 1 auto}.shell-topbar__h1{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-topbar__sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-topbar__branch-scroll{order:5;flex:1 0 100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.shell-topbar__search-full{display:none}.shell-search-toggle{display:flex}.shell-topbar-search-row{display:flex;align-items:center;gap:8px;padding:0 14px 12px;border-bottom:1px solid var(--line);background:var(--bg)}.shell-topbar-search-row .shell-search{flex:1;max-width:none}.shell-search-close{width:32px;height:32px;border-radius:50%;background:var(--line-soft);display:flex;align-items:center;justify-content:center;font:700 12px var(--font-body);flex:none;cursor:pointer}}:root{color-scheme:light;--bg: #f6f4ef;--ink: #1b1d22;--ink-soft: #45474e;--white: #ffffff;--surface: #ffffff;--surface-2: #fbfaf7;--ink-card: #1b1d22;--on-primary: #ffffff;--on-ink: #ffffff;--on-dark-soft: #c9c5bd;--overlay: rgba(27, 29, 34, .4);--primary: #2456d6;--primary-hover: #1b45b5;--primary-tint: #e6edfc;--primary-on-dark: #7fa6ff;--primary-bright: #3a6be8;--primary-tint-hover: #d9e3fa;--primary-wash: rgba(36, 86, 214, .15);--coral: #f26b4e;--coral-tint: #fde9e3;--coral-tint-hover: #fbd9cf;--coral-ink: #d4533a;--coral-on-dark: #ffb3a1;--coral-on-dark-bg: rgba(242, 107, 78, .16);--amber: #b7791f;--amber-tint: #fff3d6;--amber-ink: #9a6412;--violet: #5b4fbf;--violet-tint: #e8e6f7;--muted: #6f6c66;--faint: #a39f97;--line: #e6e2da;--line-soft: #efece6;--dashed: #cfc9bf;--shadow-card: 0 2px 10px rgba(27, 29, 34, .06);--shadow-card-hover: 0 4px 14px rgba(27, 29, 34, .1);--shadow-row: 0 1px 4px rgba(27, 29, 34, .05);--shadow-drawer: -12px 0 40px rgba(27, 29, 34, .18);--shadow-toast: 0 8px 24px rgba(0, 0, 0, .25);--shadow-dialog: 0 20px 60px rgba(27, 29, 34, .25);--shadow-popover: 0 10px 28px rgba(27, 29, 34, .14);--shadow-thumb: 0 1px 3px rgba(27, 29, 34, .08);--shadow-badge: 0 1px 4px rgba(0, 0, 0, .25);--shadow-sheet-up: 0 -4px 12px rgba(27, 29, 34, .05);--font-display: "Plus Jakarta Sans", system-ui, sans-serif;--font-body: "Manrope", system-ui, sans-serif;--r-xs: 6px;--r-sm: 9px;--r-md: 12px;--r-lg: 14px;--r-xl: 16px;--r-2xl: 20px;--r-pill: 999px;--h-32: 32px;--h-40: 40px;--h-50: 50px;--pay-paid-bg: var(--primary-tint);--pay-paid-fg: var(--primary);--pay-due-bg: var(--amber-tint);--pay-due-fg: var(--amber);--pay-overdue-bg: var(--coral-tint);--pay-overdue-fg: var(--coral);--pay-trial-bg: var(--line-soft);--pay-trial-fg: var(--muted);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}:root[data-theme=dark]{color-scheme:dark;--bg: #111214;--ink: #eceae5;--ink-soft: #c9c6c0;--white: #ffffff;--surface: #1a1c20;--surface-2: #16171a;--ink-card: #262930;--on-primary: #ffffff;--on-ink: #111214;--on-dark-soft: #c9c5bd;--overlay: rgba(0, 0, 0, .6);--primary: #4775ec;--primary-hover: #3a66db;--primary-tint: #1d2a4a;--primary-on-dark: #8fb0ff;--primary-bright: #5a85f0;--primary-tint-hover: #25355c;--primary-wash: rgba(71, 117, 236, .25);--coral: #f47c62;--coral-tint: #3a2420;--coral-tint-hover: #4a2d27;--coral-ink: #ff9b85;--coral-on-dark: #ffb3a1;--coral-on-dark-bg: rgba(244, 124, 98, .18);--amber: #e0a546;--amber-tint: #352a14;--amber-ink: #f2c879;--violet: #9a8ff0;--violet-tint: #27243f;--muted: #a19d96;--faint: #6e6a64;--line: #2c2e34;--line-soft: #24262b;--dashed: #45474e;--shadow-card: 0 1px 2px rgba(0, 0, 0, .35);--shadow-card-hover: 0 4px 14px rgba(0, 0, 0, .45);--shadow-row: 0 1px 2px rgba(0, 0, 0, .3);--shadow-drawer: -12px 0 40px rgba(0, 0, 0, .55);--shadow-toast: 0 8px 24px rgba(0, 0, 0, .5);--shadow-dialog: 0 20px 60px rgba(0, 0, 0, .6);--shadow-popover: 0 10px 28px rgba(0, 0, 0, .5);--shadow-thumb: 0 1px 3px rgba(0, 0, 0, .4);--shadow-badge: 0 1px 4px rgba(0, 0, 0, .5);--shadow-sheet-up: 0 -4px 12px rgba(0, 0, 0, .3);--pay-paid-bg: var(--primary-tint);--pay-paid-fg: var(--primary-on-dark);--pay-due-bg: var(--amber-tint);--pay-due-fg: var(--amber-ink);--pay-overdue-bg: var(--coral-tint);--pay-overdue-fg: var(--coral-ink);--pay-trial-bg: var(--line-soft);--pay-trial-fg: var(--muted)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);font-family:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}html{overflow-x:hidden}@media (max-width: 640px){input:not([type=file]):not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}input,select,textarea,button{font-family:inherit;outline:none}button{border:none;background:none;cursor:pointer;color:inherit}.sc::-webkit-scrollbar{display:none}.sc{scrollbar-width:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes slideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.fade-up{animation:fadeUp .25s ease}.slide-in{animation:slideIn .25s ease}::selection{background:var(--primary-tint);color:var(--primary)}
