.app-shell{background:var(--bg-canvas);flex-direction:row;width:100vw;height:100vh;display:flex;overflow:hidden}.app-shell__main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:auto}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);z-index:30;flex-direction:column;flex-shrink:0;justify-content:space-between;padding:8px 4px;transition:width .22s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.sidebar--closed{width:var(--sidebar-closed-width)}.sidebar--open{width:var(--sidebar-open-width)}.sidebar__top{flex-direction:column;gap:4px;min-width:0;display:flex}.sidebar__footer{flex-direction:column;gap:1px;margin-top:6px;padding-top:6px;display:flex}.sidebar__row{height:32px;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;min-width:0;padding:0 6px;font-family:inherit;font-size:13px;text-decoration:none;transition:background .12s,color .12s,padding .22s cubic-bezier(.4,0,.2,1),height .22s cubic-bezier(.4,0,.2,1);display:flex}.sidebar__row:hover{background:var(--bg-button-hover);color:var(--text-primary)}.sidebar__row--active{background:var(--bg-button);color:var(--text-primary)}.sidebar__row--toggle{color:var(--text-muted);height:28px;margin-bottom:14px}.sidebar__row--user{padding-left:4px}.sidebar__row--more{opacity:.3}.sidebar__row--more:hover{opacity:1}.sidebar--closed .sidebar__row{background:0 0;justify-content:center;height:auto;padding:0}.sidebar--closed .sidebar__row:hover,.sidebar--closed .sidebar__row--active{background:0 0}.sidebar--closed .sidebar__row:hover .sidebar__icon-slot{background:var(--bg-button-hover);color:var(--text-primary)}.sidebar--closed .sidebar__row--active .sidebar__icon-slot{background:var(--bg-button);color:var(--text-primary)}.sidebar--closed .sidebar__icon-slot{border-radius:12px;width:40px;height:40px}.sidebar__icon-slot{width:24px;height:24px;color:var(--text-secondary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s,width .22s cubic-bezier(.4,0,.2,1),height .22s cubic-bezier(.4,0,.2,1),border-radius .22s cubic-bezier(.4,0,.2,1);display:flex}.sidebar__icon-img{object-fit:contain;border-radius:5px;width:18px;height:18px}.sidebar__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);opacity:0;pointer-events:none;flex:1;font-weight:500;transition:opacity .16s 60ms,transform .16s 60ms;overflow:hidden;transform:translate(-4px)}.sidebar--open .sidebar__label{opacity:1;pointer-events:auto;transform:translate(0)}.sidebar--closed .sidebar__label{opacity:0;flex:0 0 0;width:0;transition:opacity .12s,transform .12s;transform:translate(-4px)}.sidebar__section-label{text-transform:none;letter-spacing:0;color:var(--text-muted);padding:14px 8px 4px;font-size:11px;font-weight:500}.sidebar__nodes{flex-direction:column;gap:4px;display:flex}.sidebar--closed .sidebar__nodes{margin-top:14px}.sidebar__user-circle{background:var(--bg-button);width:28px;height:28px;color:var(--text-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex;overflow:hidden}.sidebar__user-circle--clerk{background:0 0}.placeholder-page{text-align:center;color:var(--text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:48px;display:flex}.placeholder-page__title{color:var(--text-primary);font-size:28px;font-weight:600}.placeholder-page__sub{color:var(--text-muted);font-size:14px}
