.sidenav{position:fixed;inset:0 auto 0 0;width:var(--side-w, 240px);background:var(--side-bg);color:var(--side-text);border-right:1px solid var(--border);z-index:1200;overflow-y:auto;padding-bottom:64px;transform:translate(0);transition:transform .2s ease}.sidenav.mobile{transform:translate(-100%);box-shadow:none;pointer-events:none}.sidenav.mobile.open{transform:translate(0);box-shadow:0 0 20px #00000040;pointer-events:auto}.sidenav::-webkit-scrollbar{width:10px}.sidenav::-webkit-scrollbar-thumb{background:var(--hover);border-radius:8px}.sidenav::-webkit-scrollbar-track{background:transparent}.side-logo{display:flex;align-items:center;justify-content:center;height:55px;gap:10px;padding:8px 12px;margin-top:10px;margin-bottom:10px;margin-left:5px}.side-logo img{width:100%;height:100%;object-fit:contain;display:block}.side-logo .brand{font-weight:700;letter-spacing:.3px;color:var(--side-text);opacity:.95}.side-logo-link{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-decoration:none}.side-nav{display:flex;flex-direction:column;gap:4px;padding:12px 10px 14px}.side-link,.side-sublink,.section-title{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:7px;color:var(--side-text);text-decoration:none;font-size:14px;transition:background .15s ease,color .15s ease,transform .04s;outline:none;border:none;background:transparent;width:100%}.side-link:hover,.side-sublink:hover,.section-title:hover{background:var(--hover)}.side-link.active{background:var(--nav-active-bg);color:var(--nav-active-fg);box-shadow:none;font-weight:600}.side-link.active svg{color:var(--nav-active-fg)}.section-title{cursor:pointer;justify-content:flex-start;position:relative}.section-title .expand{margin-left:auto;color:inherit;transition:transform .18s ease}.section-title.open .expand{transform:rotate(180deg)}.section-title.active{color:var(--nav-active-fg);font-weight:700}.section-title.active svg{color:var(--nav-active-fg)}.side-sublink{padding-left:32px;border-radius:8px}.side-sublink.active{background:var(--nav-active-bg);color:var(--nav-active-fg);box-shadow:none;font-weight:600}.side-sublink.active svg{color:var(--nav-active-fg)}.nav-heading{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--muted);opacity:.9;margin:4px 12px 8px;text-transform:uppercase}.side-footer.left{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:8px}.side-footer.left .MuiIconButton-root{padding:6px}.db-group{padding-left:15px}.topbar{position:sticky;top:0;z-index:1100;display:flex;align-items:center;justify-content:space-between;height:var(--top-h);padding:0 8px;background:var(--panel, #fff);border-bottom:1px solid var(--border, #e5e7eb);-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px)}.topbar-left{display:flex;align-items:center;gap:6px}.topbar-menu{display:none}.top-tab{font-size:14px;padding:6px 10px;border-radius:999px;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer}.top-tab.active{background:var(--chip-bg, rgba(0, 0, 0, .06));border-color:var(--border, #e5e7eb)}.topbar-right{display:flex;align-items:center;gap:5px;margin-right:5px}@media(max-width:768px){.topbar{padding:0 6px}.topbar-menu{display:inline-flex}.topbar-left .top-tab{display:none}}.app-shell{display:flex;min-height:100vh}:root{--side-w: 240px;--top-h: 48px}.content{flex:1;display:flex;flex-direction:column;min-width:0;margin-left:var(--side-w, 240px);height:100dvh;overflow:hidden}.page{flex:1;padding:12px;overflow:auto;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@media(max-width:768px){.content{margin-left:0}.page{padding:10px 8px}}.mobile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1190;opacity:0;pointer-events:none;transition:opacity .2s ease}.mobile-backdrop.show{opacity:1;pointer-events:auto}@supports (padding-top: env(safe-area-inset-top)){.topbar{padding-top:env(safe-area-inset-top)}}.page{padding-top:12px;padding-bottom:24px;padding-left:clamp(12px,2vw,24px);padding-right:clamp(12px,2vw,24px);background:var(--app-bg);color:var(--text)}.page{scrollbar-width:thin;scrollbar-color:var(--hover) transparent}.page::-webkit-scrollbar{width:10px;height:10px}.page::-webkit-scrollbar-thumb{background:var(--hover);border-radius:8px;border:2px solid var(--app-bg)}.page::-webkit-scrollbar-thumb:hover{background:#ffffff59}.page::-webkit-scrollbar-track{background:transparent}.page::-webkit-scrollbar-corner{background:var(--app-bg)}.page--down{padding-top:clamp(24px,3vw,48px)}.breadcrumb{color:var(--muted);font-size:14px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.breadcrumb .crumb{color:var(--muted);text-decoration:none}.breadcrumb .crumb:hover{text-decoration:underline}.breadcrumb .current{color:var(--text);font-weight:600}.breadcrumb .sep{opacity:.7}.page-title{font-size:clamp(28px,3.4vw,40px);line-height:1.2;margin:0 0 20px;color:var(--text)}.page-desc{margin:0 0 28px;color:var(--muted);font-size:16px}.search-row{max-width:760px;display:flex;align-items:center;gap:12px}.select-placeholder{color:var(--muted)}.search-btn{background:var(--accent)!important;color:#fff!important;height:40px;padding:0 18px;text-shadow:none;box-shadow:none}.search-btn:disabled{background:var(--accent-weak)!important;color:#ffffffd9!important}.section{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.MuiDataGrid-root .MuiDataGrid-row:hover{background:var(--hover)}
