.btn{border-radius:var(--radius-pill);height:44px;font-size:14.5px;font-weight:var(--fw-medium);letter-spacing:-.01em;white-space:nowrap;color:var(--color-ink);transition:background-color var(--dur-fast) ease, background-position var(--dur) ease, box-shadow var(--dur-fast) ease, transform var(--dur-fast) ease, opacity var(--dur-fast) ease;justify-content:center;align-items:center;gap:8px;padding:0 20px;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;pointer-events:none}.btn--lg{height:52px;padding:0 24px;font-size:16px}.btn--sm{gap:6px;height:36px;padding:0 15px;font-size:13.5px}.btn--block{width:100%}.btn--primary{background-color:var(--color-primary);background-image:linear-gradient(180deg, var(--color-primary-hover) 0%, var(--color-primary) 50%, var(--color-primary) 100%);color:#fff;box-shadow:var(--shadow-inset), 0 1px 2px #7147ce40, 0 6px 16px -6px #7147ce8c;background-position:0 0;background-size:100% 200%}.btn--primary:hover:not(:disabled){background-position:0 100%}.btn--secondary{background:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-ring), var(--shadow-hairline)}.btn--secondary:hover:not(:disabled){background:var(--color-surface)}.btn--soft{background:var(--color-primary-wash);color:var(--color-primary)}.btn--soft:hover:not(:disabled){background:var(--color-primary-tint)}.btn--ghost{background:0 0;padding:0 12px}.btn--ghost:hover:not(:disabled){background:var(--color-surface)}.btn--dark{background:var(--color-ink);color:#fff}.btn--dark:hover:not(:disabled){background:#3a3445}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover:not(:disabled){background:#d63434}.btn__arrow{box-sizing:content-box;background:var(--color-primary-wash);color:var(--color-primary);transition:transform var(--dur) var(--ease-out), background-color var(--dur-fast) ease;border-radius:50%;margin-right:-12px;padding:5px}.btn--primary .btn__arrow,.btn--dark .btn__arrow,.btn--danger .btn__arrow{color:var(--color-ink);background:#fff}.btn--sm .btn__arrow{margin-right:-9px;padding:3px}.btn:hover .btn__arrow{transform:rotate(45deg)}.icon-btn{border-radius:var(--radius-pill);color:var(--color-ink);transition:background-color var(--dur-fast) ease, transform var(--dur-fast) ease;flex:none;place-items:center;display:inline-grid;position:relative}.icon-btn--outline{background:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-ring)}.icon-btn--outline:hover,.icon-btn--ghost:hover,.icon-btn--surface{background:var(--color-surface)}.icon-btn--surface:hover{background:var(--color-primary-wash)}.icon-btn--primary{background:var(--color-primary-wash);color:var(--color-primary)}.icon-btn--primary:hover{background:var(--color-primary-tint)}.icon-btn--dark{background:var(--color-ink);color:#fff}.icon-btn:disabled{opacity:.45}.icon-btn__badge{border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;min-width:18px;height:18px;font-size:10px;font-weight:var(--fw-strong);box-shadow:0 0 0 2px var(--color-bg);place-items:center;padding:0 5px;display:grid;position:absolute;top:-4px;right:-4px}.card{border-radius:var(--radius-lg);min-width:0;position:relative}.card--pad-none{padding:0}.card--pad-sm{padding:14px}.card--pad-md{padding:20px}.card--pad-lg{padding:28px}.card--white{background:var(--color-bg);box-shadow:var(--shadow-card)}.card--surface{background:var(--color-surface)}.card--primary{background:var(--color-primary-wash)}.card--danger{background:var(--color-danger-soft)}.card--dark{background:var(--color-ink);color:#fff}.card__header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.card__icon{border-radius:var(--radius-pill);background:var(--color-surface);width:32px;height:32px;box-shadow:inset 0 0 0 1px var(--color-line);color:var(--color-muted);flex:none;place-items:center;display:grid}.card__heading{flex:1;min-width:0}.card__title{font-size:15px;font-weight:var(--fw-strong);letter-spacing:-.01em}.card__subtitle{font-size:var(--fs-small);color:var(--color-muted)}.card__action{margin-left:auto}.badge{border-radius:var(--radius-pill);font-size:12px;font-weight:var(--fw-medium);white-space:nowrap;align-items:center;gap:5px;padding:4px 9px;line-height:1.2;display:inline-flex}.badge__dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge--neutral{background:var(--color-surface);color:var(--color-muted);box-shadow:inset 0 0 0 1px var(--color-line)}.badge--outline{background:var(--color-bg);color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ring)}.badge--primary{background:var(--color-primary-wash);color:var(--color-primary)}.badge--success{background:var(--color-success-soft);color:var(--color-success-text)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger-text)}.badge--dark{background:var(--color-ink);color:#fff}.avatar{vertical-align:middle;background:var(--color-surface);line-height:1;font-weight:var(--fw-strong);letter-spacing:0;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;display:inline-grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.field{align-content:start;gap:7px;min-width:0;display:grid}.field__label{min-height:22px;font-size:13.5px;font-weight:var(--fw-medium);align-items:center;gap:8px;display:flex}.field__optional{border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-muted);padding:2px 8px;font-size:11px;font-weight:400}.field__hint{font-size:var(--fs-small);color:var(--color-muted)}.field__error{font-size:var(--fs-small);color:var(--color-danger-text)}.input{border-radius:var(--radius-md);border:1px solid var(--color-ring);background:var(--color-bg);width:100%;height:46px;box-shadow:var(--shadow-hairline);transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;padding:0 16px;font-size:15px}.input::placeholder{color:var(--color-faint)}.input:hover{border-color:var(--color-lilac-line)}.input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 4px #7147ce24}.field.has-error .input{border-color:var(--color-danger)}textarea.input{resize:vertical;height:auto;min-height:110px;padding:12px 14px;line-height:1.5}.input-wrap{position:relative}.input-wrap__icon{color:var(--color-muted);pointer-events:none;position:absolute;top:50%;left:14px;translate:0 -50%}.input--with-icon{padding-left:42px}.input-wrap--action .input{padding-right:46px}.input-wrap__action{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--color-muted);place-items:center;display:grid;position:absolute;top:50%;right:6px;translate:0 -50%}.input-wrap__action:hover{background:var(--color-surface);color:var(--color-ink)}.search{align-items:center;min-width:0;display:flex;position:relative}.search__icon{color:var(--color-muted);pointer-events:none;position:absolute;left:14px}.search__input{border-radius:var(--radius-pill);border:1px solid var(--color-line);background:var(--color-bg);width:100%;height:44px;transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;padding:0 40px 0 42px;font-size:14.5px}.search__input::-webkit-search-cancel-button{display:none}.search__input::placeholder{color:var(--color-faint)}.search__input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 4px #7147ce1f}.search__clear{width:28px;height:28px;color:var(--color-muted);border-radius:50%;place-items:center;display:grid;position:absolute;right:8px}.search__clear:hover{background:var(--color-surface)}.tabs{--tab-bg:var(--color-bg);--tab-fg:var(--color-ink);isolation:isolate;border-radius:var(--radius-pill);background:var(--color-lilac);scrollbar-width:none;gap:2px;max-width:100%;padding:4px;display:inline-flex;position:relative;overflow-x:auto}.tabs button{z-index:1;border-radius:var(--radius-pill);height:36px;font-size:13.5px;font-weight:var(--fw-medium);color:var(--color-muted);transition:background-color var(--dur-fast) ease, color var(--dur-fast) ease;flex:none;align-items:center;gap:7px;padding:0 16px;display:inline-flex;position:relative}.tabs--block{width:100%;display:flex}.tabs.tabs--block button{white-space:nowrap;flex:auto;justify-content:center;padding-inline:6px}@media (width<=420px){.tabs.tabs--block button{padding-inline:4px;font-size:12.5px}}.tabs--sm button{height:30px;padding:0 12px;font-size:13px}.tabs button:hover{color:var(--color-ink)}.tabs button.is-active{background:var(--tab-bg);color:var(--tab-fg)}.tabs.has-thumb button.is-active{background:0 0}.tabs button svg{transition:transform var(--dur) var(--ease-out);flex:none}.tabs button.is-active svg{transform:scale(1.12)}.tabs__thumb{z-index:0;border-radius:var(--radius-pill);background:var(--tab-bg);box-shadow:var(--shadow-float);transition:transform .32s cubic-bezier(.34,1.36,.64,1),width .32s cubic-bezier(.34,1.36,.64,1),background-color .32s,box-shadow .32s;position:absolute;top:4px;bottom:4px;left:0}.tabs__count{border-radius:var(--radius-pill);background:#28242f12;padding:1px 7px;font-size:11.5px}.tabs button.is-active .tabs__count{background:var(--color-lilac)}.chips{margin:0 calc(var(--gutter) * -1) 18px;padding:2px var(--gutter);scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.chips--wrap{flex-wrap:wrap;margin:0;padding:0;overflow:visible}.chip{border-radius:var(--radius-pill);background:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-ring);white-space:nowrap;transition:background-color var(--dur-fast) ease, color var(--dur-fast) ease;flex:none;padding:7px 14px;font-size:13.5px}.chip:hover{background:var(--color-surface)}.chip svg{vertical-align:-3px;display:inline-block}.chip__count{color:var(--color-muted);margin-left:2px;font-size:12px}.chip.is-active .chip__count{color:inherit}.chip.is-active{background:var(--color-primary-wash);color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary-soft);font-weight:var(--fw-medium)}.checkbox{cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;line-height:1.45;display:inline-flex}.checkbox input{opacity:0;pointer-events:none;position:absolute}.checkbox__box{border-radius:var(--radius-xs);background:var(--color-bg);width:20px;height:20px;transition:background-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;flex:none;position:relative;box-shadow:inset 0 0 0 1.5px #c9c8dc}.checkbox.is-checked .checkbox__box{background:var(--color-primary);box-shadow:none}.checkbox.is-checked .checkbox__box:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:3px;left:7px;rotate:45deg}.checkbox input:focus-visible+.checkbox__box{outline:2px solid var(--color-primary);outline-offset:2px}.switch{border-radius:var(--radius-pill);width:42px;height:24px;transition:background-color var(--dur-fast) ease;background:#d9d9e3;flex:none;position:relative}.switch[aria-checked=true]{background:var(--color-primary)}.switch__thumb{width:18px;height:18px;transition:translate var(--dur) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.switch[aria-checked=true] .switch__thumb{translate:18px}.filter-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.filter-bar>.search{flex:1;min-width:220px;max-width:420px}.date-range{border-radius:var(--radius-pill);background:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-line);color:var(--color-muted);align-items:center;gap:8px;padding:4px 6px 4px 12px;font-size:13px;display:flex}.date-range .input{width:150px;height:36px;box-shadow:none;background:0 0;border:0;padding:0 8px;font-size:14px}.date-range__clear{border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.date-range__clear:hover{background:var(--color-surface)}.load-more{justify-content:center;margin-top:16px;display:flex}@media (width<=640px){.date-range{width:100%}.date-range .input{flex:1;width:auto;min-width:0}}.spinner{color:var(--color-muted);justify-content:center;align-items:center;gap:10px;padding:48px 16px;font-size:14px;display:flex}.skeleton{background:linear-gradient(90deg, var(--color-surface) 0%, #efeff6 50%, var(--color-surface) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.empty{text-align:center;justify-items:center;gap:8px;padding:40px 20px;display:grid}.empty__icon{background:var(--color-primary-wash);width:48px;height:48px;color:var(--color-primary);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.empty__title{font-size:15.5px;font-weight:var(--fw-medium)}.empty__text{max-width:380px;color:var(--color-muted);font-size:14px}.empty .btn{margin-top:8px}.error-state{border-radius:var(--radius-lg);background:var(--color-danger-soft);color:var(--color-danger-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;font-size:14px;display:flex}.action-list{gap:2px;display:grid}.action-list__item{border-radius:var(--radius-md);text-align:left;align-items:center;gap:12px;padding:8px;font-size:14.5px;display:flex}.action-list__item:hover:not(:disabled){background:var(--color-surface)}.action-list__icon{background:var(--color-surface);width:34px;height:34px;box-shadow:inset 0 0 0 1px var(--color-line);border-radius:50%;place-items:center;display:grid}.action-list__item.is-danger{color:var(--color-danger-text)}.action-list__item.is-danger .action-list__icon{background:var(--color-danger-soft);box-shadow:none}.dialog{border-radius:var(--radius-xl);background:var(--color-bg);width:min(520px,100vw - 32px);max-height:min(760px,100dvh - 48px);color:var(--color-ink);box-shadow:var(--shadow-raise);border:0;padding:0;overflow:hidden}.dialog--sm{width:min(420px,100vw - 32px)}.dialog--lg{width:min(720px,100vw - 32px)}.dialog[open]{animation:dialog-in .28s var(--ease-out);display:flex}.dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#28242f61}.dialog__panel{flex-direction:column;width:100%;min-height:0;display:flex}.dialog__header{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 16px 4px 24px;display:flex}.dialog__title{letter-spacing:var(--ls-tight);font-size:19px}.dialog__description{color:var(--color-muted);margin-top:4px;font-size:14px}.dialog__body{padding:16px 24px 20px;font-size:14.5px;line-height:1.55;overflow-y:auto}.dialog__footer{border-top:1px solid var(--color-line);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 24px 20px;display:flex}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}@media (width<=640px){.dialog,.dialog--sm,.dialog--lg{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100vw;max-width:100vw;max-height:92dvh;margin:auto 0 0}.dialog[open]{animation:sheet-in .32s var(--ease-out)}.dialog__footer{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.dialog__footer .btn{flex:1}}@keyframes sheet-in{0%{opacity:.4;transform:translateY(40px)}}.bulkbar{border-radius:var(--radius-pill);background:var(--color-ink);color:#fff;align-items:center;gap:8px;margin-left:auto;padding:4px 4px 4px 14px;display:flex}.bulkbar__count{white-space:nowrap;margin-right:4px;font-size:13.5px}.bulkbar .btn--secondary,.bulkbar .btn--danger{border-radius:var(--radius-pill);height:32px}.bulkbar__clear{color:#fffc;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.bulkbar__clear:hover{background:#ffffff1f}@media (width<=480px){.bulkbar .btn{padding-inline:10px}.bulkbar .btn__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.cfg{grid-template-columns:minmax(0,1fr);gap:12px;max-width:980px;display:grid}.cfg--split{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.cfg__main{gap:12px;min-width:0;display:grid}.cfg-card{gap:12px;display:grid}.cfg-card .card__header{margin-bottom:0}.cfg-card--opts{gap:0;padding:6px 20px}.cfg-card--opts .opt{border-bottom:1px solid var(--color-line);padding:14px 0}.cfg-card--opts .opt:last-child{border-bottom:0}.cfg-text{resize:vertical;height:auto;min-height:64px;padding-top:10px}.cfg-note{color:var(--color-muted);font-size:13px}.cfg-tabs{justify-self:start}.cfg-chips{flex-wrap:wrap;margin:0;padding:0;overflow:visible}.cfg-footer{z-index:5;background:linear-gradient(180deg, #fafbfa00, var(--color-page) 35%);grid-column:1/-1;justify-content:flex-end;padding:14px 0 18px;display:flex;position:sticky;bottom:0}.opt{gap:10px;min-width:0;display:grid}.opt__row{align-items:center;gap:12px;min-width:0;display:flex}.opt__row>.switch{flex:none}.opt__icon{background:var(--color-primary-wash);width:34px;height:34px;color:var(--color-primary);border-radius:50%;flex:none;place-items:center;display:grid}.opt.is-off .opt__icon{background:var(--color-surface);color:var(--color-muted)}.opt__text{flex:1;min-width:0;display:grid}.opt__text strong{font-weight:var(--fw-medium)}.opt__text span{color:var(--color-muted);font-size:12.5px}@media (width<=640px){.cfg-footer{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}.cfg-footer .btn{flex:1}}.kebab{flex:none;position:relative}.kebab__btn{width:36px;height:36px;color:var(--color-muted);transition:background-color var(--dur-fast) ease, color var(--dur-fast) ease;border-radius:50%;place-items:center;display:grid}.kebab__btn:hover,.kebab.is-open .kebab__btn{background:var(--color-surface);color:var(--color-ink)}.kebab__menu{z-index:30;border-radius:var(--radius-lg);background:var(--color-bg);min-width:220px;box-shadow:var(--shadow-float), 0 0 0 1px var(--color-line);transform-origin:100% 0;animation:kebab-in .16s var(--ease-out);padding:6px;display:grid;position:absolute;top:calc(100% + 4px);right:0}@keyframes kebab-in{0%{opacity:0;transform:scale(.94)translateY(-4px)}}.kebab__menu button{border-radius:var(--radius-sm);text-align:left;white-space:nowrap;align-items:center;gap:10px;padding:9px 10px;font-size:14px;display:flex}.kebab__menu button:hover{background:var(--color-surface)}.kebab__menu button svg{color:var(--color-muted);flex:none}.kebab__menu button.is-danger{color:var(--color-danger-text)}.kebab__menu button.is-danger svg{color:var(--color-danger)}.chat-wallpaper{background-color:#f7f9fe;background-image:url(/assets/bg_1-loVnowcg.webp);background-position:0 0;background-repeat:repeat;background-size:420px}
