.shell-module__G5ujjG__shell{min-height:100dvh;display:flex}.shell-module__G5ujjG__sidebar{background:var(--sidebar-bg);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:18px;width:232px;height:100dvh;padding:16px 12px;display:flex;position:sticky;top:0}.shell-module__G5ujjG__brand{flex-direction:column;align-items:flex-start;gap:3px;padding:8px 8px 4px;display:flex}.shell-module__G5ujjG__brandFull{object-fit:contain;object-position:left center;width:auto;max-width:172px;height:28px}.shell-module__G5ujjG__brandMark{object-fit:contain;width:34px;height:34px;display:none}.shell-module__G5ujjG__brandTag{color:var(--brand-700);letter-spacing:.16em;text-transform:uppercase;padding-left:3px;font-size:10px;font-weight:700}.shell-module__G5ujjG__nav{flex-direction:column;gap:3px;display:flex}.shell-module__G5ujjG__navItem{color:var(--ink-2);border-radius:9px;align-items:center;gap:11px;padding:10px 12px;font-size:14px;font-weight:600;transition:background .12s,color .12s;display:flex}.shell-module__G5ujjG__navItem:hover{background:var(--card-2);color:var(--ink)}.shell-module__G5ujjG__navActive,.shell-module__G5ujjG__navActive:hover{background:var(--brand-50);color:var(--brand-700)}.shell-module__G5ujjG__main{flex-direction:column;flex:1;min-width:0;display:flex}.shell-module__G5ujjG__topbar{border-bottom:1px solid var(--line);background:var(--bg);z-index:10;flex-shrink:0;justify-content:flex-end;align-items:center;height:60px;padding:0 20px;display:flex;position:sticky;top:0}.shell-module__G5ujjG__topbarRight{align-items:center;gap:14px;display:flex}.shell-module__G5ujjG__who{align-items:center;gap:9px;display:flex}.shell-module__G5ujjG__whoIcon{background:var(--card-2);width:32px;height:32px;color:var(--ink-2);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.shell-module__G5ujjG__whoText{flex-direction:column;line-height:1.15;display:flex}.shell-module__G5ujjG__whoEmail{font-size:13px;font-weight:600}.shell-module__G5ujjG__whoRole{color:var(--ink-3);font-size:11px}.shell-module__G5ujjG__logout{border:1px solid var(--line);background:var(--card);width:36px;height:36px;color:var(--ink-2);cursor:pointer;border-radius:9px;place-items:center;transition:color .12s,border-color .12s;display:grid}.shell-module__G5ujjG__logout:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.shell-module__G5ujjG__logout:disabled{opacity:.5;cursor:progress}.shell-module__G5ujjG__content{flex:1;min-width:0;padding:24px}@media (max-width:720px){.shell-module__G5ujjG__sidebar{width:64px;padding:14px 8px}.shell-module__G5ujjG__navItem span{display:none}.shell-module__G5ujjG__navItem{justify-content:center}.shell-module__G5ujjG__brand{align-items:center;padding:8px 0}.shell-module__G5ujjG__brandFull,.shell-module__G5ujjG__brandTag{display:none}.shell-module__G5ujjG__brandMark{display:block}.shell-module__G5ujjG__content{padding:14px 12px}.shell-module__G5ujjG__topbar{padding:0 12px}}
.PwaInstallBanner-module__JJeFAG__banner{display:none}@media (max-width:980px){.PwaInstallBanner-module__JJeFAG__banner{bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:var(--z-drawer,110);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:12px 36px 12px 12px;animation:.25s PwaInstallBanner-module__JJeFAG__pwa-slide-up;display:block;position:fixed;left:10px;right:10px}}@keyframes PwaInstallBanner-module__JJeFAG__pwa-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.PwaInstallBanner-module__JJeFAG__close{width:26px;height:26px;color:var(--ink-3);background:var(--bg);border-radius:8px;place-items:center;display:grid;position:absolute;top:8px;right:8px}.PwaInstallBanner-module__JJeFAG__row{align-items:center;gap:10px;display:flex}.PwaInstallBanner-module__JJeFAG__logo{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:10px;flex-shrink:0;width:40px;height:40px}.PwaInstallBanner-module__JJeFAG__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.PwaInstallBanner-module__JJeFAG__title{color:var(--ink);font-size:13.5px;font-weight:700;line-height:1.25}.PwaInstallBanner-module__JJeFAG__sub{color:var(--ink-2);font-size:12px;line-height:1.45}.PwaInstallBanner-module__JJeFAG__inlineIcon{vertical-align:-2px;color:var(--brand-700);margin:0 1px;display:inline-block}.PwaInstallBanner-module__JJeFAG__installBtn{background:var(--brand);color:#fff;height:38px;font-family:var(--font-sans);border-radius:10px;flex-shrink:0;padding:0 16px;font-size:13.5px;font-weight:800}.PwaInstallBanner-module__JJeFAG__installBtn:active{background:var(--brand-600)}
.BackendDown-module__hXSYNa__screen{background:var(--bg);place-items:center;min-height:100dvh;padding:24px;display:grid}.BackendDown-module__hXSYNa__card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:520px;box-shadow:var(--shadow-md);flex-direction:column;gap:14px;padding:28px;display:flex}.BackendDown-module__hXSYNa__iconWrap{border-radius:var(--radius-sm);background:var(--danger-50);width:46px;height:46px;color:var(--danger);place-items:center;display:grid}.BackendDown-module__hXSYNa__title{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:18px;font-weight:800}.BackendDown-module__hXSYNa__body{color:var(--ink-2);margin:0;font-size:13.5px;line-height:1.65}.BackendDown-module__hXSYNa__detail{border-radius:var(--radius-sm);background:var(--bg-2);border:1px solid var(--line);color:var(--ink-3);word-break:break-all;margin:0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.BackendDown-module__hXSYNa__actions{gap:10px;margin-top:4px;display:flex}.BackendDown-module__hXSYNa__retry{border-radius:var(--radius-sm);background:var(--ink);color:var(--card);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-family:inherit;font-size:13.5px;font-weight:700;display:inline-flex}.BackendDown-module__hXSYNa__retry:hover{opacity:.9}.BackendDown-module__hXSYNa__retry:disabled{opacity:.7;cursor:default}.BackendDown-module__hXSYNa__spin{animation:.9s linear infinite BackendDown-module__hXSYNa__backendDownSpin}@keyframes BackendDown-module__hXSYNa__backendDownSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.BackendDown-module__hXSYNa__spin{animation:none}}
