body{-webkit-user-select:none;user-select:none}input,textarea,select,[contenteditable],[contenteditable] *,.mantine-Input-input,.selectable,.selectable *{-webkit-user-select:text;user-select:text}.app-sidebar{flex-shrink:0;width:220px;position:sticky;align-self:flex-start;overflow-y:auto;border-right:1px solid var(--mantine-color-gray-3);background-color:var(--mantine-color-body);transition:width .14s ease}.app-sidebar[data-collapsed=true]{width:64px}.app-sidebar-inner{display:flex;flex-direction:column;gap:2px;padding:12px 10px;min-height:100%}.sb-item{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:8px 10px;border:0;border-radius:var(--mantine-radius-md);background:none;color:var(--mantine-color-gray-8);font:inherit;font-size:var(--mantine-font-size-sm);font-weight:500;text-align:left;text-decoration:none;cursor:pointer;transition:background-color .12s ease,color .12s ease}.sb-item:hover{background-color:var(--mantine-color-gray-1)}.sb-item:focus-visible{outline:2px solid var(--mantine-color-blue-5);outline-offset:1px}.sb-item[aria-current=page]{background-color:var(--mantine-color-blue-0);color:var(--mantine-color-blue-7);font-weight:600}.sb-item[data-danger=true]{color:var(--mantine-color-red-7)}.sb-item[data-danger=true]:hover{background-color:var(--mantine-color-red-0)}.sb-item-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar[data-collapsed=true] .sb-item{justify-content:center;padding:8px 0}.sb-heading{padding:14px 10px 4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mantine-color-dimmed)}.sb-trailing{margin-left:auto;display:inline-flex}.sb-divider{height:1px;margin:8px 4px;background-color:var(--mantine-color-gray-3)}.sb-spacer{flex:1}.sb-collapse{color:var(--mantine-color-dimmed)}@media(prefers-reduced-motion:reduce){.app-sidebar,.sb-item{transition:none}}.fb-button-wrap{position:relative;display:inline-flex}.fb-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;border:2px solid var(--mantine-color-blue-5);opacity:0;pointer-events:none;animation:fb-ring-out 2.6s ease-out infinite}.fb-ring--2{animation-delay:.9s}.fb-ring--3{animation-delay:1.8s}@keyframes fb-ring-out{0%{transform:scale(1);opacity:.55}to{transform:scale(2.1);opacity:0}}.fb-shake{animation:fb-shake 20s ease-in-out infinite}@keyframes fb-shake{0%,12%,to{transform:translate(0) rotate(0)}2%{transform:translate(-3px) rotate(-7deg)}4%{transform:translate(3px) rotate(7deg)}6%{transform:translate(-3px) rotate(-5deg)}8%{transform:translate(3px) rotate(5deg)}10%{transform:translate(-2px) rotate(-2deg)}}@media(prefers-reduced-motion:reduce){.fb-shake{animation:none}.fb-ring{display:none}}.glo-overlay{position:fixed;top:0;left:0;right:0;z-index:3000;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}.glo-overlay.glo-visible{opacity:1;visibility:visible;transition:none}.glo-bar{position:relative;height:3px;overflow:hidden;background:color-mix(in srgb,var(--mantine-color-blue-6) 18%,transparent)}.glo-bar:before{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:var(--mantine-color-blue-6);transform:translate(-100%)}.glo-overlay.glo-visible .glo-bar:before{animation:glo-indeterminate 1.4s ease-in-out infinite}@keyframes glo-indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.glo-message{width:min(calc(100% - 32px),34rem);box-sizing:border-box;margin:.5rem auto 0;padding:.4rem .9rem;border-radius:.5rem;background:var(--mantine-color-body);color:var(--mantine-color-text);border:1px solid var(--mantine-color-default-border);text-align:center;line-height:1.4;animation:glo-message-in .2s ease-out both}.glo-message-line{margin:0;font-size:.85rem;font-weight:500}.glo-message-secondary{margin-top:.25rem;font-size:.8rem;font-weight:400;opacity:.85}@keyframes glo-message-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.glo-overlay.glo-visible .glo-bar:before{animation:none;transform:none;width:100%}.glo-overlay{transition:none}.glo-message{animation:none}}
