/* Viewport-bound navigation: the menu scrolls, its background and account footer stay fixed. */
html,body{min-height:100%;margin:0}
.workspace{height:100dvh;min-height:0;overflow:hidden}
.sidebar{height:100dvh;min-height:0;overflow:hidden;padding-top:26px;position:relative}
.sidebar>.brand-mark,.sidebar-caption,.sidebar-footer{flex-shrink:0}
.sidebar-caption{margin:28px 16px 12px}
.sidebar nav{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:14px;scrollbar-width:thin;scrollbar-color:#38505c transparent;overscroll-behavior:contain}
.nav-item{flex-shrink:0;padding:11px 15px;min-height:41px}
.sidebar-footer{background:var(--nav);margin-top:0;padding-top:16px;padding-bottom:4px}
.workspace main{height:100dvh;overflow-y:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c5d1d7 transparent}
.auth-screen{min-height:100dvh;padding:24px;overflow:auto}
.auth-card{padding:30px 34px;gap:16px}
.auth-card h1{font-size:25px}
.auth-card .brand-mark{margin-bottom:2px}
.auth-card label{gap:6px}
.auth-card input{padding:10px 12px}
.auth-card #auth-error:empty{display:none}
.auth-links{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-top:2px}
.auth-links a{font-size:11px;white-space:nowrap}
.catalog-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.catalog-admin-card{padding:26px;display:flex;flex-direction:column;gap:16px}
.catalog-admin-card h2{font-size:19px}
.catalog-admin-card p{font-size:12px;color:var(--muted);line-height:1.8;flex:1}
.catalog-admin-number{font-size:12px;color:#1a9a9e;font-weight:700}
.catalog-admin-status{font-size:11px;color:var(--muted);padding:12px 0;border-top:1px solid var(--line)}
.catalog-upload{position:relative;border-radius:7px;padding:12px;background:var(--nav);color:white;text-align:center;cursor:pointer;font-weight:600;font-size:12px}
.catalog-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.catalog-upload:focus-within{outline:3px solid #139ca4;outline-offset:3px}
.catalog-admin-card .text-button{padding:2px 0;text-align:center}
@media(max-width:1050px){.catalog-admin-grid{grid-template-columns:1fr}.catalog-admin-card{max-width:600px}.catalog-admin-card p{flex:0}}
@media(max-width:760px){.sidebar{position:fixed;left:0;top:0;width:240px}.workspace.menu-open main{margin-left:0;min-width:0}.workspace.menu-open:after{content:'';position:fixed;inset:0 0 0 240px;z-index:40;background:#0a202733;backdrop-filter:blur(2px)}.auth-card{padding:28px;gap:15px}.auth-links{flex-wrap:wrap}}
@media(max-height:700px){.auth-screen{padding:12px}.auth-card{padding:22px 26px;gap:12px}.auth-card h1{font-size:23px;line-height:1.3}.auth-card .eyebrow{margin-bottom:0}.auth-card input{padding:9px 11px}.auth-card .brand-mark{font-size:28px}.auth-card p{font-size:11px}}
